summaryrefslogtreecommitdiff
path: root/asm
diff options
context:
space:
mode:
Diffstat (limited to 'asm')
-rw-r--r--asm/CARD_arm9.s1782
-rw-r--r--asm/CP_arm9.s42
-rw-r--r--asm/CTRDG_arm9.s3238
-rw-r--r--asm/DGT_arm9.s1017
-rw-r--r--asm/FS_arm9.s3011
-rw-r--r--asm/GX_arm9.s5256
-rw-r--r--asm/MATH_arm9.s320
-rw-r--r--asm/MI_arm9.s1082
-rw-r--r--asm/OS_arm9.s4759
-rw-r--r--asm/PM_arm9.s1125
-rw-r--r--asm/PXI_arm9.s266
-rw-r--r--asm/RTC_arm9.s1028
-rw-r--r--asm/SDK_AUTOLOAD_LIST.s20
-rw-r--r--asm/SND_arm9.s1655
-rw-r--r--asm/SPI_arm9.s1487
-rw-r--r--asm/STD_arm9.s17117
-rw-r--r--asm/WM_arm9.s3744
-rw-r--r--asm/arm9_itcm.s505
-rw-r--r--asm/arm9overlay.s5
-rw-r--r--asm/crt0.s283
-rw-r--r--asm/filesystem.s648
-rw-r--r--asm/rom2.s7
-rw-r--r--asm/rom2_2.s734
-rw-r--r--asm/scrcmd.s24605
-rw-r--r--asm/secure.s29
-rw-r--r--asm/unk_02000E0C.s2758
-rw-r--r--asm/unk_020023C0.s8340
-rw-r--r--asm/unk_02006864.s109321
-rw-r--r--asm/unk_02038C78.s1744
-rw-r--r--asm/unk_02046030.s142185
-rw-r--r--asm/unk_0208AC14.s42449
-rw-r--r--asm/unk_020AF030.s26835
-rw-r--r--asm/unk_10b724.s4
33 files changed, 0 insertions, 407401 deletions
diff --git a/asm/CARD_arm9.s b/asm/CARD_arm9.s
deleted file mode 100644
index 664e85f5..00000000
--- a/asm/CARD_arm9.s
+++ /dev/null
@@ -1,1782 +0,0 @@
- .include "asm/macros.inc"
- .include "global.inc"
-
- .text
-
- arm_func_start CARD_UnlockBackup
-CARD_UnlockBackup: ; 0x020D66A0
- ldr ip, _020D66AC ; =CARDi_UnlockResource
- mov r1, #0x2
- bx r12
- .balign 4
-_020D66AC: .word CARDi_UnlockResource
-
- arm_func_start CARD_LockBackup
-CARD_LockBackup: ; 0x020D66B0
- ldr ip, _020D66BC ; =CARDi_LockResource
- mov r1, #0x2
- bx r12
- .balign 4
-_020D66BC: .word CARDi_LockResource
-
- arm_func_start CARD_UnlockRom
-CARD_UnlockRom: ; 0x020D66C0
- stmdb sp!, {r4,lr}
- mov r4, r0
- bl OS_UnlockCard
- mov r0, r4
- mov r1, #0x1
- bl CARDi_UnlockResource
- ldmia sp!, {r4,lr}
- bx lr
-
- arm_func_start CARD_LockRom
-CARD_LockRom: ; 0x020D66E0
- stmdb sp!, {r4,lr}
- mov r4, r0
- mov r1, #0x1
- bl CARDi_LockResource
- mov r0, r4
- bl OS_TryLockCard
- ldmia sp!, {r4,lr}
- bx lr
-
- arm_func_start CARD_GetResultCode
-CARD_GetResultCode: ; 0x020D6700
- ldr r0, _020D6710 ; =0x021D55C0
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x0]
- bx lr
- .balign 4
-_020D6710: .word 0x021D55C0
-
- arm_func_start FUN_020D6714
-FUN_020D6714: ; 0x020D6714
- ldr r0, _020D672C ; =0x021D55C0
- ldr r0, [r0, #0x114]
- ands r0, r0, #0x4
- moveq r0, #0x1
- movne r0, #0x0
- bx lr
- .balign 4
-_020D672C: .word 0x021D55C0
-
- arm_func_start CARDi_WaitAsync
-CARDi_WaitAsync: ; 0x020D6730
- stmdb sp!, {r4-r6,lr}
- ldr r6, _020D6788 ; =0x021D55C0
- bl OS_DisableInterrupts
- ldr r1, [r6, #0x114]
- mov r5, r0
- ands r0, r1, #0x4
- beq _020D6764
- add r4, r6, #0x10c
-_020D6750:
- mov r0, r4
- bl OS_SleepThread
- ldr r0, [r6, #0x114]
- ands r0, r0, #0x4
- bne _020D6750
-_020D6764:
- mov r0, r5
- bl OS_RestoreInterrupts
-_020D676C: ; 0x020D676C
- ldr r0, [r6, #0x0]
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- moveq r0, #0x1
- movne r0, #0x0
- ldmia sp!, {r4-r6,lr}
- bx lr
- .balign 4
-_020D6788: .word 0x021D55C0
-
- arm_func_start CARD_Enable
-CARD_Enable: ; 0x020D678C
- ldr r1, _020D6798 ; =0x021D555C
- str r0, [r1, #0x0]
- bx lr
- .balign 4
-_020D6798: .word 0x021D555C
-
- arm_func_start CARD_CheckEnabled
-CARD_CheckEnabled: ; 0x020D679C
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- bl CARD_IsEnabled
-_020D67A8: ; 0x020D67A8
- cmp r0, #0x0
- addne sp, sp, #0x4
- ldmneia sp!, {lr}
- bxne lr
- bl OS_Terminate
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-
- arm_func_start CARD_IsEnabled
-CARD_IsEnabled:
- ldr r0, _020D67D4 ; =0x021D555C
- ldr r0, [r0, #0x0]
- bx lr
- .balign 4
-_020D67D4: .word 0x021D555C
-
- arm_func_start CARDi_InitCommon
-CARDi_InitCommon: ; 0x020D67D8
- stmdb sp!, {r4,lr}
- sub sp, sp, #0x8
- ldr r4, _020D68B8 ; =0x021D55C0
- ldr r1, _020D68BC ; =0x021D5560
- mvn r2, #0x2
- mov r0, #0x0
- str r2, [r4, #0x8]
- mov r2, #0x60
- str r0, [r4, #0xc]
- str r0, [r4, #0x18]
- str r1, [r4, #0x0]
- bl MIi_CpuClearFast
- ldr r0, _020D68BC ; =0x021D5560
- mov r1, #0x60
- bl DC_FlushRange
- ldr r0, _020D68C0 ; =0x027FFC40
- ldrh r0, [r0, #0x0]
- cmp r0, #0x2
- beq _020D6834
- ldr r0, _020D68C4 ; =0x027FFE00
- ldr r1, _020D68C8 ; =0x027FFA80
- mov r2, #0x160
- bl MI_CpuCopy8
-_020D6834:
- mov r2, #0x0
- str r2, [r4, #0x14]
- ldr r0, [r4, #0x14]
- mov r1, #0x4
- str r0, [r4, #0x10]
- str r2, [r4, #0x110]
- ldr r3, [r4, #0x110]
- mov r0, #0x400
- str r3, [r4, #0x10c]
- str r1, [r4, #0x108]
- str r0, [sp, #0x0]
- ldr r12, [r4, #0x108]
- ldr r1, _020D68CC ; =CARDi_TaskThread
- ldr r3, _020D68D0 ; =0x021D5BE0
- add r0, r4, #0x44
- str r12, [sp, #0x4]
- bl OS_CreateThread
- add r0, r4, #0x44
- bl OS_WakeupThreadDirect
- ldr r1, _020D68D4 ; =CARDi_OnFifoRecv
- mov r0, #0xb
- bl PXI_SetFifoRecvCallback
- ldr r0, _020D68C0 ; =0x027FFC40
- ldrh r0, [r0, #0x0]
- cmp r0, #0x2
- addeq sp, sp, #0x8
- ldmeqia sp!, {r4,lr}
- bxeq lr
- mov r0, #0x1
- bl CARD_Enable
- add sp, sp, #0x8
- ldmia sp!, {r4,lr}
- bx lr
- .balign 4
-_020D68B8: .word 0x021D55C0
-_020D68BC: .word 0x021D5560
-_020D68C0: .word 0x027FFC40
-_020D68C4: .word 0x027FFE00
-_020D68C8: .word 0x027FFA80
-_020D68CC: .word CARDi_TaskThread
-_020D68D0: .word 0x021D5BE0
-_020D68D4: .word CARDi_OnFifoRecv
-
- arm_func_start CARDi_UnlockResource
-CARDi_UnlockResource: ; 0x020D68D8
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- ldr r5, _020D6978 ; =0x021D55C0
- mov r7, r0
- mov r6, r1
- bl OS_DisableInterrupts
- mov r1, r5
- mov r4, r0
- ldr r0, [r1, #0x8]
- cmp r0, r7
- bne _020D6910
- ldr r0, [r5, #0xc]
- cmp r0, #0x0
- bne _020D6918
-_020D6910:
- bl OS_Terminate
- b _020D6958
-_020D6918:
- ldr r0, [r5, #0x18]
- cmp r0, r6
- beq _020D6928
- bl OS_Terminate
-_020D6928:
- ldr r0, [r5, #0xc]
- sub r0, r0, #0x1
- str r0, [r5, #0xc]
- ldr r0, [r5, #0xc]
- cmp r0, #0x0
- bne _020D6958
- mvn r0, #0x2
- str r0, [r5, #0x8]
- mov r1, #0x0
- add r0, r5, #0x10
- str r1, [r5, #0x18]
- bl OS_WakeupThread
-_020D6958:
- ldr r1, [r5, #0x0]
- mov r2, #0x0
- mov r0, r4
- str r2, [r1, #0x0]
- bl OS_RestoreInterrupts
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,lr}
- bx lr
- .balign 4
-_020D6978: .word 0x021D55C0
-
- arm_func_start CARDi_LockResource
-CARDi_LockResource: ; 0x020D697C
- stmdb sp!, {r4-r9,lr}
- sub sp, sp, #0x4
- ldr r5, _020D6A14 ; =0x021D55C0
- mov r7, r0
- mov r6, r1
- bl OS_DisableInterrupts
- ldr r1, [r5, #0x8]
- mov r4, r0
- cmp r1, r7
- bne _020D69B8
- ldr r0, [r5, #0x18]
- cmp r0, r6
- beq _020D69E8
- bl OS_Terminate
- b _020D69E8
-_020D69B8:
- ldr r0, [r5, #0x8]
- mvn r8, #0x2
- cmp r0, r8
- beq _020D69E0
- add r9, r5, #0x10
-_020D69CC:
- mov r0, r9
- bl OS_SleepThread
- ldr r0, [r5, #0x8]
- cmp r0, r8
- bne _020D69CC
-_020D69E0:
- str r7, [r5, #0x8]
- str r6, [r5, #0x18]
-_020D69E8:
- ldr r1, [r5, #0xc]
- mov r0, r4
- add r1, r1, #0x1
- str r1, [r5, #0xc]
- ldr r1, [r5, #0x0]
- mov r2, #0x0
- str r2, [r1, #0x0]
- bl OS_RestoreInterrupts
- add sp, sp, #0x4
- ldmia sp!, {r4-r9,lr}
- bx lr
- .balign 4
-_020D6A14: .word 0x021D55C0
-
- arm_func_start CARDi_SetTask
-CARDi_SetTask: ; 0x020D6A18
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- ldr r4, _020D6A5C ; =0x021D55C0
- mov r5, r0
- ldr r1, [r4, #0x108]
- add r0, r4, #0x44
- bl OS_SetThreadPriority
- add r0, r4, #0x44
- str r0, [r4, #0x104]
- str r5, [r4, #0x40]
- ldr r1, [r4, #0x114]
- orr r1, r1, #0x8
- str r1, [r4, #0x114]
- bl OS_WakeupThreadDirect
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
- .balign 4
-_020D6A5C: .word 0x021D55C0
-
- arm_func_start FUN_020D6A60
-FUN_020D6A60: ; 0x020D6A60
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- ldr r1, _020D6D60 ; =0x021D55C0
- mov r5, r0
- ldr r4, [r1, #0x0]
- mov r1, #0x0
- add r0, r4, #0x18
- mov r2, #0x48
- bl MI_CpuFill8
-_020D6A84: ; 0x020D6A84
- cmp r5, #0x0
- str r5, [r4, #0x4]
- mov r0, #0x3f
- addeq sp, sp, #0x4
- str r0, [r4, #0x4c]
- ldmeqia sp!, {r4-r5,lr}
- bxeq lr
- mov r0, r5, asr #0x8
- and r0, r0, #0xff
- mov r2, #0x1
- mov r3, r2, lsl r0
- and r1, r5, #0xff
- str r3, [r4, #0x18]
- mov r0, #0xff
- strb r0, [r4, #0x48]
- cmp r1, #0x1
- bne _020D6B80
- cmp r3, #0x200
- beq _020D6AE4
- cmp r3, #0x2000
- beq _020D6B04
- cmp r3, #0x10000
- beq _020D6B28
- b _020D6D38
-_020D6AE4:
- mov r0, #0x10
- str r0, [r4, #0x20]
- str r2, [r4, #0x24]
- mov r0, #0x5
- str r0, [r4, #0x28]
- mov r0, #0xf0
- strb r0, [r4, #0x48]
- b _020D6B48
-_020D6B04:
- mov r0, #0x20
- str r0, [r4, #0x20]
- mov r0, #0x2
- str r0, [r4, #0x24]
- mov r0, #0x5
- str r0, [r4, #0x28]
- mov r0, #0x0
- strb r0, [r4, #0x48]
- b _020D6B48
-_020D6B28:
- mov r0, #0x80
- str r0, [r4, #0x20]
- mov r0, #0x2
- str r0, [r4, #0x24]
- mov r0, #0xa
- str r0, [r4, #0x28]
- mov r0, #0x0
- strb r0, [r4, #0x48]
-_020D6B48:
- ldr r0, [r4, #0x20]
- add sp, sp, #0x4
- str r0, [r4, #0x1c]
- ldr r0, [r4, #0x4c]
- orr r0, r0, #0x40
- str r0, [r4, #0x4c]
- ldr r0, [r4, #0x4c]
- orr r0, r0, #0x100
- str r0, [r4, #0x4c]
- ldr r0, [r4, #0x4c]
- orr r0, r0, #0x200
- str r0, [r4, #0x4c]
- ldmia sp!, {r4-r5,lr}
- bx lr
-_020D6B80:
- cmp r1, #0x2
- bne _020D6CD8
- cmp r3, #0x100000
- bhi _020D6BB8
- cmp r3, #0x100000
- bhs _020D6BD8
- cmp r3, #0x40000
- bhi _020D6BAC
- cmp r3, #0x40000
- beq _020D6BD8
- b _020D6D38
-_020D6BAC:
- cmp r3, #0x80000
- beq _020D6BD8
- b _020D6D38
-_020D6BB8:
- cmp r3, #0x200000
- bhi _020D6BCC
- cmp r3, #0x200000
- beq _020D6C10
- b _020D6D38
-_020D6BCC:
- cmp r3, #0x800000
- beq _020D6C48
- b _020D6D38
-_020D6BD8:
- mov r0, #0x19
- str r0, [r4, #0x2c]
- mov r1, #0x12c
- str r1, [r4, #0x30]
- ldr r0, _020D6D64 ; =0x00001388
- str r1, [r4, #0x44]
- str r0, [r4, #0x3c]
- ldr r0, [r4, #0x4c]
- orr r0, r0, #0x80
- str r0, [r4, #0x4c]
- ldr r0, [r4, #0x4c]
- orr r0, r0, #0x400
- str r0, [r4, #0x4c]
- b _020D6C7C
-_020D6C10:
- mov r1, #0x3e8
- ldr r0, _020D6D68 ; =0x00000BB8
- str r1, [r4, #0x3c]
- ldr r1, _020D6D6C ; =0x00004268
- str r0, [r4, #0x40]
- ldr r0, _020D6D70 ; =0x00009C40
- str r1, [r4, #0x34]
- str r0, [r4, #0x38]
- mov r0, #0x0
- strb r0, [r4, #0x48]
- ldr r0, [r4, #0x4c]
- orr r0, r0, #0x1000
- str r0, [r4, #0x4c]
- b _020D6C7C
-_020D6C48:
- mov r1, #0x3e8
- ldr r0, _020D6D68 ; =0x00000BB8
- str r1, [r4, #0x3c]
- ldr r1, _020D6D74 ; =0x000109A0
- str r0, [r4, #0x40]
- ldr r0, _020D6D78 ; =0x00027100
- str r1, [r4, #0x34]
- str r0, [r4, #0x38]
- mov r0, #0x0
- strb r0, [r4, #0x48]
- ldr r0, [r4, #0x4c]
- orr r0, r0, #0x1000
- str r0, [r4, #0x4c]
-_020D6C7C:
- mov r0, #0x10000
- str r0, [r4, #0x1c]
- mov r0, #0x100
- str r0, [r4, #0x20]
- mov r0, #0x3
- str r0, [r4, #0x24]
- mov r0, #0x5
- str r0, [r4, #0x28]
- ldr r0, [r4, #0x4c]
- add sp, sp, #0x4
- orr r0, r0, #0x40
- str r0, [r4, #0x4c]
- ldr r0, [r4, #0x4c]
- orr r0, r0, #0x100
- str r0, [r4, #0x4c]
- ldr r0, [r4, #0x4c]
- orr r0, r0, #0x200
- str r0, [r4, #0x4c]
- ldr r0, [r4, #0x4c]
- orr r0, r0, #0x800
- str r0, [r4, #0x4c]
- ldmia sp!, {r4-r5,lr}
- bx lr
-_020D6CD8:
- cmp r1, #0x3
- bne _020D6D38
- cmp r3, #0x2000
- beq _020D6CF0
- cmp r3, #0x8000
- bne _020D6D38
-_020D6CF0:
- str r3, [r4, #0x20]
- str r3, [r4, #0x1c]
- mov r0, #0x2
- str r0, [r4, #0x24]
- mov r0, #0x0
- strb r0, [r4, #0x48]
- ldr r0, [r4, #0x4c]
- add sp, sp, #0x4
- orr r0, r0, #0x40
- str r0, [r4, #0x4c]
- ldr r0, [r4, #0x4c]
- orr r0, r0, #0x100
- str r0, [r4, #0x4c]
- ldr r0, [r4, #0x4c]
- orr r0, r0, #0x200
- str r0, [r4, #0x4c]
- ldmia sp!, {r4-r5,lr}
- bx lr
-_020D6D38:
- mov r1, #0x0
- str r1, [r4, #0x4]
- str r1, [r4, #0x18]
- ldr r0, _020D6D60 ; =0x021D55C0
- mov r1, #0x3
- ldr r0, [r0, #0x0]
- str r1, [r0, #0x0]
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
- .balign 4
-_020D6D60: .word 0x021D55C0
-_020D6D64: .word 0x00001388
-_020D6D68: .word 0x00000BB8
-_020D6D6C: .word 0x00004268
-_020D6D70: .word 0x00009C40
-_020D6D74: .word 0x000109A0
-_020D6D78: .word 0x00027100
-
- arm_func_start CARD_CancelBackupAsync
-CARD_CancelBackupAsync: ; 0x020D6D7C
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- bl OS_DisableInterrupts
- ldr r1, _020D6DA8 ; =0x021D55C0
- ldr r2, [r1, #0x114]
- orr r2, r2, #0x40
- str r2, [r1, #0x114]
- bl OS_RestoreInterrupts
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020D6DA8: .word 0x021D55C0
-
- arm_func_start CARD_TryWaitBackupAsync
-CARD_TryWaitBackupAsync: ; 0x020D6DAC
- ldr ip, _020D6DB4 ; =FUN_020D6714
- bx r12
- .balign 4
-_020D6DB4: .word FUN_020D6714
-
- arm_func_start CARD_WaitBackupAsync
-CARD_WaitBackupAsync: ; 0x020D6DB8
- ldr ip, _020D6DC0 ; =CARDi_WaitAsync
- bx r12
- .balign 4
-_020D6DC0: .word CARDi_WaitAsync
-
- arm_func_start CARD_IdentifyBackup
-CARD_IdentifyBackup: ; 0x020D6DC4
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- mov r5, r0
- ldr r0, _020D6F00 ; =0x02000C3C
- ldr r7, _020D6F04 ; =0x021D55C0
- bl OSi_ReferSymbol
-_020D6DDC: ; 0x020D6DDC
- cmp r5, #0x0
- bne _020D6DE8
- bl OS_Terminate
-_020D6DE8:
- bl CARD_CheckEnabled
- bl OS_DisableInterrupts
- ldr r1, [r7, #0x114]
- mov r4, r0
- ands r0, r1, #0x4
- beq _020D6E18
- add r6, r7, #0x10c
-_020D6E04:
- mov r0, r6
- bl OS_SleepThread
- ldr r0, [r7, #0x114]
- ands r0, r0, #0x4
- bne _020D6E04
-_020D6E18:
- ldr r0, [r7, #0x114]
- mov r1, #0x0
- orr r0, r0, #0x4
- str r0, [r7, #0x114]
- str r1, [r7, #0x38]
- mov r0, r4
- str r1, [r7, #0x3c]
- bl OS_RestoreInterrupts
- mov r0, r5
- bl FUN_020D6A60
- ldr r0, _020D6F08 ; =0x021D3498
- ldr r1, _020D6F04 ; =0x021D55C0
- ldr r2, [r0, #0x4]
- mov r0, r7
- str r2, [r1, #0x104]
- mov r1, #0x2
- mov r2, #0x1
- bl CARDi_Request
-_020D6E60: ; 0x020D6E60
- ldr r0, [r7, #0x0]
- mov r1, #0x0
- str r1, [r0, #0xc]
- ldr r0, [r7, #0x0]
- add r1, r7, #0x120
- str r1, [r0, #0x10]
- ldr r1, [r7, #0x0]
- mov r2, #0x1
- mov r0, r7
- str r2, [r1, #0x14]
- mov r1, #0x6
- bl CARDi_Request
- ldr r6, [r7, #0x38]
- ldr r5, [r7, #0x3c]
- bl OS_DisableInterrupts
- mov r4, r0
- ldr r1, [r7, #0x114]
- add r0, r7, #0x10c
- bic r1, r1, #0x4c
- str r1, [r7, #0x114]
- bl OS_WakeupThread
- ldr r0, [r7, #0x114]
- ands r0, r0, #0x10
- beq _020D6EC8
- add r0, r7, #0x44
- bl OS_WakeupThreadDirect
-_020D6EC8:
- mov r0, r4
- bl OS_RestoreInterrupts
-_020D6ED0: ; 0x020D6ED0
- cmp r6, #0x0
- beq _020D6EE0
- mov r0, r5
- blx r6
-_020D6EE0:
- ldr r0, [r7, #0x0]
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- moveq r0, #0x1
- movne r0, #0x0
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,lr}
- bx lr
- .balign 4
-_020D6F00: .word 0x02000C3C
-_020D6F04: .word 0x021D55C0
-_020D6F08: .word 0x021D3498
-
- arm_func_start CARD_GetBackupSectorSize
-CARD_GetBackupSectorSize: ; 0x020D6F0C
- ldr r0, _020D6F1C ; =0x021D55C0
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x1c]
- bx lr
- .balign 4
-_020D6F1C: .word 0x021D55C0
-
- arm_func_start CARDi_RequestStreamCommand
-CARDi_RequestStreamCommand: ; 0x020D6F20
- stmdb sp!, {r4-r10,lr}
- mov r10, r0
- ldr r6, _020D7004 ; =0x021D55C0
- ldr r0, _020D7008 ; =0x02000C3C
- mov r9, r1
- mov r8, r2
- mov r7, r3
- bl OSi_ReferSymbol
- bl OS_DisableInterrupts
- ldr r1, [r6, #0x114]
- mov r5, r0
- ands r0, r1, #0x4
- beq _020D6F6C
- add r4, r6, #0x10c
-_020D6F58:
- mov r0, r4
- bl OS_SleepThread
- ldr r0, [r6, #0x114]
- ands r0, r0, #0x4
- bne _020D6F58
-_020D6F6C:
- ldr r0, [r6, #0x114]
- ldr r1, [sp, #0x20]
- orr r0, r0, #0x4
- str r0, [r6, #0x114]
- str r7, [r6, #0x38]
- mov r0, r5
- str r1, [r6, #0x3c]
- bl OS_RestoreInterrupts
- str r10, [r6, #0x1c]
- str r9, [r6, #0x20]
- ldr r0, [sp, #0x24]
- ldr r1, [sp, #0x28]
- str r8, [r6, #0x24]
- ldr r2, [sp, #0x2c]
- str r1, [r6, #0x2c]
- ldr r1, [sp, #0x30]
- str r2, [r6, #0x30]
- str r1, [r6, #0x34]
- cmp r0, #0x0
- beq _020D6FD0
- ldr r0, _020D700C ; =CARDi_RequestStreamCommandCore
- bl CARDi_SetTask
- mov r0, #0x1
- ldmia sp!, {r4-r10,lr}
- bx lr
-_020D6FD0:
- ldr r0, _020D7010 ; =0x021D3498
- ldr r1, _020D7004 ; =0x021D55C0
- ldr r2, [r0, #0x4]
- mov r0, r6
- str r2, [r1, #0x104]
- bl CARDi_RequestStreamCommandCore
-_020D6FE8: ; 0x020D6FE8
- ldr r0, [r6, #0x0]
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- moveq r0, #0x1
- movne r0, #0x0
- ldmia sp!, {r4-r10,lr}
- bx lr
- .balign 4
-_020D7004: .word 0x021D55C0
-_020D7008: .word 0x02000C3C
-_020D700C: .word CARDi_RequestStreamCommandCore
-_020D7010: .word 0x021D3498
-
- arm_func_start CARDi_RequestStreamCommandCore
-CARDi_RequestStreamCommandCore:
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0x4
- mov r9, r0
- ldr r8, [r9, #0x2c]
- ldr r0, _020D720C ; =0x02000C3C
- ldr r7, [r9, #0x34]
- ldr r10, [r9, #0x30]
- mov r6, #0x100
- bl OSi_ReferSymbol
- cmp r8, #0xb
- bne _020D7048
- bl CARD_GetBackupSectorSize
- mov r6, r0
-_020D7048:
- mov r0, #0x1
- add r4, r9, #0x120
- mov r11, #0x9
- str r0, [sp, #0x0]
-_020D7058:
- ldr r5, [r9, #0x24]
- ldr r0, [r9, #0x0]
- cmp r6, r5
- movcc r5, r6
- str r5, [r0, #0x14]
- ldr r0, [r9, #0x114]
- ands r0, r0, #0x40
- beq _020D7094
- ldr r0, [r9, #0x114]
- mov r1, #0x7
- bic r0, r0, #0x40
- str r0, [r9, #0x114]
- ldr r0, [r9, #0x0]
- str r1, [r0, #0x0]
- b _020D71A8
-_020D7094:
- cmp r7, #0x3
- addls pc, pc, r7, lsl #0x2
- b _020D7124
-_020D70A0:
- b _020D70B0
-_020D70A4:
- b _020D70D4
-_020D70A8:
- b _020D70D4
-_020D70AC:
- b _020D710C
-_020D70B0:
- mov r1, r5
- add r0, r9, #0x120
- bl DC_InvalidateRange
- ldr r1, [r9, #0x1c]
- ldr r0, [r9, #0x0]
- str r1, [r0, #0xc]
- ldr r0, [r9, #0x0]
- str r4, [r0, #0x10]
- b _020D7124
-_020D70D4:
- ldr r0, [r9, #0x1c]
- mov r1, r4
- mov r2, r5
- bl MI_CpuCopy8
- mov r1, r5
- add r0, r9, #0x120
- bl DC_FlushRange
- bl DC_WaitWriteBufferEmpty
-_020D70F4: ; 0x020D70F4
- ldr r0, [r9, #0x0]
- str r4, [r0, #0xc]
- ldr r1, [r9, #0x20]
- ldr r0, [r9, #0x0]
- str r1, [r0, #0x10]
- b _020D7124
-_020D710C:
- ldr r1, [r9, #0x1c]
- ldr r0, [r9, #0x0]
- str r1, [r0, #0xc]
- ldr r1, [r9, #0x20]
- ldr r0, [r9, #0x0]
- str r1, [r0, #0x10]
-_020D7124:
- mov r0, r9
- mov r1, r8
- mov r2, r10
- bl CARDi_Request
-_020D7134: ; 0x020D7134
- cmp r0, #0x0
- beq _020D71A8
- cmp r7, #0x2
- bne _020D7160
- ldr r2, [sp, #0x0]
- mov r0, r9
- mov r1, r11
- bl CARDi_Request
-_020D7154: ; 0x020D7154
- cmp r0, #0x0
- bne _020D7178
- b _020D71A8
-_020D7160:
- cmp r7, #0x0
- bne _020D7178
- ldr r1, [r9, #0x20]
- mov r2, r5
- add r0, r9, #0x120
- bl MI_CpuCopy8
-_020D7178:
- ldr r0, [r9, #0x1c]
- add r0, r0, r5
- str r0, [r9, #0x1c]
- ldr r0, [r9, #0x20]
- add r0, r0, r5
- str r0, [r9, #0x20]
- ldr r0, [r9, #0x24]
- sub r0, r0, r5
- str r0, [r9, #0x24]
- ldr r0, [r9, #0x24]
- cmp r0, #0x0
- bne _020D7058
-_020D71A8:
- ldr r6, [r9, #0x38]
- ldr r5, [r9, #0x3c]
- bl OS_DisableInterrupts
- ldr r1, [r9, #0x114]
- mov r4, r0
- bic r0, r1, #0x4c
- str r0, [r9, #0x114]
- add r0, r9, #0x10c
- bl OS_WakeupThread
- ldr r0, [r9, #0x114]
- ands r0, r0, #0x10
- beq _020D71E0
- add r0, r9, #0x44
- bl OS_WakeupThreadDirect
-_020D71E0:
- mov r0, r4
- bl OS_RestoreInterrupts
-_020D71E8: ; 0x020D71E8
- cmp r6, #0x0
- addeq sp, sp, #0x4
- ldmeqia sp!, {r4-r11,lr}
- bxeq lr
- mov r0, r5
- blx r6
- add sp, sp, #0x4
- ldmia sp!, {r4-r11,lr}
- bx lr
- .balign 4
-_020D720C: .word 0x02000C3C
-
- arm_func_start CARDi_GetRomAccessor
-CARDi_GetRomAccessor: ; 0x020D7210
- ldr r0, _020D7218 ; =CARDi_ReadCard
- bx lr
- .balign 4
-_020D7218: .word CARDi_ReadCard
-
- arm_func_start CARD_WaitRomAsync
-CARD_WaitRomAsync: ; 0x020D721C
- ldr ip, _020D7224 ; =CARDi_WaitAsync
- bx r12
- .balign 4
-_020D7224: .word CARDi_WaitAsync
-
- arm_func_start CARD_Init
-CARD_Init: ; 0x020D7228
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr ip, _020D72A0 ; =0x021D55C0
- ldr r0, [r12, #0x114]
- cmp r0, #0x0
- addne sp, sp, #0x4
- ldmneia sp!, {lr}
- bxne lr
- mov r0, #0x1
- str r0, [r12, #0x114]
- mov r3, #0x0
- str r3, [r12, #0x24]
- ldr r0, [r12, #0x24]
- mvn r1, #0x0
- str r0, [r12, #0x20]
- ldr r2, [r12, #0x20]
- ldr r0, _020D72A4 ; =0x021D5BE0
- str r2, [r12, #0x1c]
- str r1, [r12, #0x28]
- str r3, [r12, #0x38]
- str r3, [r12, #0x3c]
- str r3, [r0, #0x0]
- bl CARDi_InitCommon
- bl CARDi_GetRomAccessor
- ldr r1, _020D72A8 ; =0x021D5C00
- str r0, [r1, #0x0]
- bl CARD_InitPulledOutCallback
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020D72A0: .word 0x021D55C0
-_020D72A4: .word 0x021D5BE0
-_020D72A8: .word 0x021D5C00
-
- arm_func_start CARDi_ReadRom
-CARDi_ReadRom: ; 0x020D72AC
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0x4
- ldr r6, _020D73C0 ; =0x021D55C0
- mov r10, r0
- mov r9, r1
- mov r8, r2
- mov r7, r3
- ldr fp, _020D73C4 ; =0x021D5C00
- bl CARD_CheckEnabled
- bl OS_DisableInterrupts
- ldr r1, [r6, #0x114]
- mov r5, r0
- ands r0, r1, #0x4
- beq _020D72FC
- add r4, r6, #0x10c
-_020D72E8:
- mov r0, r4
- bl OS_SleepThread
- ldr r0, [r6, #0x114]
- ands r0, r0, #0x4
- bne _020D72E8
-_020D72FC:
- ldr r1, [r6, #0x114]
- ldr r0, [sp, #0x28]
- orr r1, r1, #0x4
- str r1, [r6, #0x114]
- ldr r1, [sp, #0x2c]
- str r0, [r6, #0x38]
- mov r0, r5
- str r1, [r6, #0x3c]
- bl OS_RestoreInterrupts
- ldr r0, _020D73C8 ; =0x021D5BE0
- str r10, [r6, #0x28]
- ldr r0, [r0, #0x0]
- cmp r10, #0x3
- add r0, r9, r0
- str r0, [r6, #0x1c]
- str r8, [r6, #0x20]
- str r7, [r6, #0x24]
- bhi _020D734C
- mov r0, r10
- bl MI_StopDma
-_020D734C:
- mov r0, r11
- bl CARDi_TryReadCardDma
-_020D7354: ; 0x020D7354
- cmp r0, #0x0
- beq _020D7380
- ldr r0, [sp, #0x30]
- cmp r0, #0x0
- addne sp, sp, #0x4
- ldmneia sp!, {r4-r11,lr}
- bxne lr
- bl CARD_WaitRomAsync
- add sp, sp, #0x4
- ldmia sp!, {r4-r11,lr}
- bx lr
-_020D7380:
- ldr r0, [sp, #0x30]
- cmp r0, #0x0
- beq _020D73A0
- ldr r0, _020D73CC ; =CARDi_ReadRomSyncCore
- bl CARDi_SetTask
- add sp, sp, #0x4
- ldmia sp!, {r4-r11,lr}
- bx lr
-_020D73A0:
- ldr r1, _020D73D0 ; =0x021D3498
- mov r0, r6
- ldr r1, [r1, #0x4]
- str r1, [r6, #0x104]
- bl CARDi_ReadRomSyncCore
- add sp, sp, #0x4
- ldmia sp!, {r4-r11,lr}
- bx lr
- .balign 4
-_020D73C0: .word 0x021D55C0
-_020D73C4: .word 0x021D5C00
-_020D73C8: .word 0x021D5BE0
-_020D73CC: .word CARDi_ReadRomSyncCore
-_020D73D0: .word 0x021D3498
-
- arm_func_start CARDi_ReadRomSyncCore
-CARDi_ReadRomSyncCore: ; 0x020D73D4
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- ldr r4, _020D7478 ; =0x021D5C00
- mov r0, r4
- bl CARDi_ReadFromCache
-_020D73E8: ; 0x020D73E8
- cmp r0, #0x0
- beq _020D73FC
- ldr r1, [r4, #0x0]
- mov r0, r4
- blx r1
-_020D73FC:
- ldr r7, _020D747C ; =0x021D55C0
- bl CARDi_ReadRomIDCore
- bl CARDi_CheckPulledOutCore
-_020D7408: ; 0x020D7408
- ldr r0, [r7, #0x0]
- mov r1, #0x0
- str r1, [r0, #0x0]
- ldr r6, [r7, #0x38]
- ldr r5, [r7, #0x3c]
- bl OS_DisableInterrupts
- ldr r1, [r7, #0x114]
- mov r4, r0
- bic r0, r1, #0x4c
- str r0, [r7, #0x114]
- add r0, r7, #0x10c
- bl OS_WakeupThread
- ldr r0, [r7, #0x114]
- ands r0, r0, #0x10
- beq _020D744C
- add r0, r7, #0x44
- bl OS_WakeupThreadDirect
-_020D744C:
- mov r0, r4
- bl OS_RestoreInterrupts
-_020D7454: ; 0x020D7454
- cmp r6, #0x0
- addeq sp, sp, #0x4
- ldmeqia sp!, {r4-r7,lr}
- bxeq lr
- mov r0, r5
- blx r6
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,lr}
- bx lr
- .balign 4
-_020D7478: .word 0x021D5C00
-_020D747C: .word 0x021D55C0
-
- arm_func_start CARDi_ReadRomIDCore
-CARDi_ReadRomIDCore: ; 0x020D7480
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- mov r0, #0xb8000000
- mov r1, #0x0
- bl CARDi_SetRomOp
- ldr r1, _020D74DC ; =0x02106A50
- mov r0, #0x2000
- ldr r1, [r1, #0x0]
- rsb r0, r0, #0x0
- ldr r2, [r1, #0x60]
- ldr r1, _020D74E0 ; =0x040001A4
- bic r2, r2, #0x7000000
- orr r2, r2, #0xa7000000
- and r0, r2, r0
- str r0, [r1, #0x0]
-_020D74BC:
- ldr r0, [r1, #0x0]
- ands r0, r0, #0x800000
- beq _020D74BC
- ldr r0, _020D74E4 ; =0x04100010
- ldr r0, [r0, #0x0]
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020D74DC: .word 0x02106A50
-_020D74E0: .word 0x040001A4
-_020D74E4: .word 0x04100010
-
- arm_func_start CARDi_ReadCard
-CARDi_ReadCard: ; 0x020D74E8
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0x4
- mov r10, r0
- ldr sb, _020D75DC ; =0x021D55C0
- add r7, r10, #0x20
- ldr r5, _020D75E0 ; =0x04100010
- ldr r6, _020D75E4 ; =0x040001A4
- mov r11, #0x0
- mov r0, #0x200
- rsb r4, r0, #0x0
-_020D7510:
- ldr r0, [r9, #0x1c]
- and r1, r0, r4
- cmp r1, r0
- bne _020D7538
- ldr r8, [r9, #0x20]
- ands r0, r8, #0x3
- bne _020D7538
- ldr r0, [r9, #0x24]
- cmp r0, #0x200
- bhs _020D7540
-_020D7538:
- mov r8, r7
- str r1, [r10, #0x8]
-_020D7540:
- mov r0, r1, lsr #0x8
- orr r0, r0, #0xb7000000
- mov r1, r1, lsl #0x18
- bl CARDi_SetRomOp
- ldr r1, [r10, #0x4]
- mov r0, r11
- str r1, [r6, #0x0]
-_020D755C:
- ldr r2, [r6, #0x0]
- ands r1, r2, #0x800000
- beq _020D7578
- ldr r1, [r5, #0x0]
- cmp r0, #0x200
- strcc r1, [r8, r0, lsl #0x2]
- addcc r0, r0, #0x1
-_020D7578:
- ands r1, r2, #0x80000000
- bne _020D755C
- ldr r0, [r9, #0x20]
- cmp r8, r0
- bne _020D75C0
- ldr r2, [r9, #0x1c]
- ldr r1, [r9, #0x20]
- ldr r0, [r9, #0x24]
- add r2, r2, #0x200
- add r1, r1, #0x200
- subs r0, r0, #0x200
- str r2, [r9, #0x1c]
- str r1, [r9, #0x20]
- str r0, [r9, #0x24]
- bne _020D7510
- add sp, sp, #0x4
- ldmia sp!, {r4-r11,lr}
- bx lr
-_020D75C0:
- mov r0, r10
- bl CARDi_ReadFromCache
-_020D75C8: ; 0x020D75C8
- cmp r0, #0x0
- bne _020D7510
- add sp, sp, #0x4
- ldmia sp!, {r4-r11,lr}
- bx lr
- .balign 4
-_020D75DC: .word 0x021D55C0
-_020D75E0: .word 0x04100010
-_020D75E4: .word 0x040001A4
-
- arm_func_start CARDi_TryReadCardDma
-CARDi_TryReadCardDma:
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0x4
- ldr fp, _020D7748 ; =0x021D55C0
- mov r7, #0x0
- ldr r9, [r11, #0x20]
- mov r10, r0
- mov r6, r7
- mov r5, r7
- mov r1, r7
- ands r4, r9, #0x1f
- ldr r8, [r11, #0x24]
- bne _020D7624
- ldr r0, [r11, #0x28]
- cmp r0, #0x3
- movls r1, #0x1
-_020D7624:
- cmp r1, #0x0
- beq _020D7678
- bl OS_GetDTCMAddress
- ldr r1, _020D774C ; =0x01FF8000
- add r2, r9, r8
- cmp r2, r1
- mov r3, #0x1
- mov r1, #0x0
- bls _020D7650
- cmp r9, #0x2000000
- movcc r1, r3
-_020D7650:
- cmp r1, #0x0
- bne _020D7670
- cmp r0, r2
- bhs _020D766C
- add r0, r0, #0x4000
- cmp r0, r9
- bhi _020D7670
-_020D766C:
- mov r3, #0x0
-_020D7670:
- cmp r3, #0x0
- moveq r5, #0x1
-_020D7678:
- cmp r5, #0x0
- beq _020D7694
- ldr r1, [r11, #0x1c]
- ldr r0, _020D7750 ; =0x000001FF
- orr r1, r1, r8
- ands r0, r1, r0
- moveq r6, #0x1
-_020D7694:
- cmp r6, #0x0
- beq _020D76A4
- cmp r8, #0x0
- movne r7, #0x1
-_020D76A4:
- ldr r0, _020D7754 ; =0x02106A50
- cmp r7, #0x0
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x60]
- bic r0, r0, #0x7000000
- orr r0, r0, #0xa1000000
- str r0, [r10, #0x4]
- beq _020D7738
- bl OS_DisableInterrupts
- mov r5, r0
- mov r0, r9
- mov r1, r8
- bl IC_InvalidateRange
-_020D76D8: ; 0x020D76D8
- cmp r4, #0x0
- beq _020D7700
- sub r9, r9, r4
- mov r0, r9
- mov r1, #0x20
- bl DC_StoreRange
- add r0, r9, r8
- mov r1, #0x20
- bl DC_StoreRange
- add r8, r8, #0x20
-_020D7700:
- mov r0, r9
- mov r1, r8
- bl DC_InvalidateRange
- bl DC_WaitWriteBufferEmpty
- ldr r1, _020D7758 ; =CARDi_OnReadCard
- mov r0, #0x80000
- bl OS_SetIrqFunction
- mov r0, #0x80000
- bl OS_ResetRequestIrqMask
- mov r0, #0x80000
- bl OS_EnableIrqMask
- mov r0, r5
- bl OS_RestoreInterrupts
- bl CARDi_SetCardDma
-_020D7738:
- mov r0, r7
- add sp, sp, #0x4
- ldmia sp!, {r4-r11,lr}
- bx lr
- .balign 4
-_020D7748: .word cardi_common
-_020D774C: .word 0x01FF8000
-_020D7750: .word 0x000001FF
-_020D7754: .word 0x02106A50
-_020D7758: .word CARDi_OnReadCard
-
- arm_func_start CARDi_OnReadCard
-CARDi_OnReadCard: ; 0x020D775C
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- ldr r0, _020D7838 ; =0x021D55C0
- ldr r0, [r0, #0x28]
- bl MI_StopDma
- ldr r0, _020D7838 ; =0x021D55C0
- ldr r3, [r0, #0x1c]
- ldr r2, [r0, #0x20]
- ldr r1, [r0, #0x24]
- add r3, r3, #0x200
- add r2, r2, #0x200
- subs r1, r1, #0x200
- str r3, [r0, #0x1c]
- str r2, [r0, #0x20]
- str r1, [r0, #0x24]
- bne _020D7828
- mov r0, #0x80000
- bl OS_DisableIrqMask
- mov r0, #0x80000
- bl OS_ResetRequestIrqMask
- ldr r7, _020D7838 ; =0x021D55C0
- bl CARDi_ReadRomIDCore
- bl CARDi_CheckPulledOutCore
-_020D77B8: ; 0x020D77B8
- ldr r0, [r7, #0x0]
- mov r1, #0x0
- str r1, [r0, #0x0]
- ldr r6, [r7, #0x38]
- ldr r5, [r7, #0x3c]
- bl OS_DisableInterrupts
- ldr r1, [r7, #0x114]
- mov r4, r0
- bic r0, r1, #0x4c
- str r0, [r7, #0x114]
- add r0, r7, #0x10c
- bl OS_WakeupThread
- ldr r0, [r7, #0x114]
- ands r0, r0, #0x10
- beq _020D77FC
- add r0, r7, #0x44
- bl OS_WakeupThreadDirect
-_020D77FC:
- mov r0, r4
- bl OS_RestoreInterrupts
-_020D7804: ; 0x020D7804
- cmp r6, #0x0
- addeq sp, sp, #0x4
- ldmeqia sp!, {r4-r7,lr}
- bxeq lr
- mov r0, r5
- blx r6
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,lr}
- bx lr
-_020D7828:
- bl CARDi_SetCardDma
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,lr}
- bx lr
- .balign 4
-_020D7838: .word 0x021D55C0
-
- arm_func_start CARDi_SetCardDma
-CARDi_SetCardDma: ; 0x020D783C
- stmdb sp!, {r4,lr}
- ldr r4, _020D7884 ; =0x021D55C0
- ldr r1, _020D7888 ; =0x04100010
- ldr r0, [r4, #0x28]
- ldr r2, [r4, #0x20]
- mov r3, #0x200
- bl MIi_CardDmaCopy32
- ldr r1, [r4, #0x1c]
- mov r0, r1, lsr #0x8
- orr r0, r0, #0xb7000000
- mov r1, r1, lsl #0x18
- bl CARDi_SetRomOp
- ldr r0, _020D788C ; =0x021D5C00
- ldr r1, _020D7890 ; =0x040001A4
- ldr r0, [r0, #0x4]
- str r0, [r1, #0x0]
- ldmia sp!, {r4,lr}
- bx lr
- .balign 4
-_020D7884: .word 0x021D55C0
-_020D7888: .word 0x04100010
-_020D788C: .word 0x021D5C00
-_020D7890: .word 0x040001A4
-
- arm_func_start CARDi_SetRomOp
-CARDi_SetRomOp: ; 0x020D7894
- ldr r3, _020D790C ; =0x040001A4
-_020D7898:
- ldr r2, [r3, #0x0]
- ands r2, r2, #0x80000000
- bne _020D7898
- ldr r3, _020D7910 ; =0x040001A1
- mov r12, #0xc0
- ldr r2, _020D7914 ; =0x040001A8
- strb r12, [r3, #0x0]
- mov r12, r0, lsr #0x18
- ldr r3, _020D7918 ; =0x040001A9
- strb r12, [r2, #0x0]
- mov r12, r0, lsr #0x10
- ldr r2, _020D791C ; =0x040001AA
- strb r12, [r3, #0x0]
- mov r12, r0, lsr #0x8
- ldr r3, _020D7920 ; =0x040001AB
- strb r12, [r2, #0x0]
- ldr r2, _020D7924 ; =0x040001AC
- strb r0, [r3, #0x0]
- mov r3, r1, lsr #0x18
- ldr r0, _020D7928 ; =0x040001AD
- strb r3, [r2, #0x0]
- mov r3, r1, lsr #0x10
- ldr r2, _020D792C ; =0x040001AE
- strb r3, [r0, #0x0]
- mov r3, r1, lsr #0x8
- ldr r0, _020D7930 ; =0x040001AF
- strb r3, [r2, #0x0]
- strb r1, [r0, #0x0]
- bx lr
- .balign 4
-_020D790C: .word 0x040001A4
-_020D7910: .word 0x040001A1
-_020D7914: .word 0x040001A8
-_020D7918: .word 0x040001A9
-_020D791C: .word 0x040001AA
-_020D7920: .word 0x040001AB
-_020D7924: .word 0x040001AC
-_020D7928: .word 0x040001AD
-_020D792C: .word 0x040001AE
-_020D7930: .word 0x040001AF
-
- arm_func_start CARDi_ReadFromCache
-CARDi_ReadFromCache:
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- ldr r5, _020D79C8 ; =0x021D55C0
- mov r1, #0x200
- ldr r3, [r5, #0x1c]
- rsb r1, r1, #0x0
- ldr r2, [r0, #0x8]
- and r3, r3, r1
- cmp r3, r2
- bne _020D79AC
- ldr r2, [r5, #0x1c]
- ldr r1, [r5, #0x24]
- sub r3, r2, r3
- rsb r4, r3, #0x200
- cmp r4, r1
- movhi r4, r1
- add r0, r0, #0x20
- ldr r1, [r5, #0x20]
- mov r2, r4
- add r0, r0, r3
- bl MI_CpuCopy8
- ldr r0, [r5, #0x1c]
- add r0, r0, r4
- str r0, [r5, #0x1c]
- ldr r0, [r5, #0x20]
- add r0, r0, r4
- str r0, [r5, #0x20]
- ldr r0, [r5, #0x24]
- sub r0, r0, r4
- str r0, [r5, #0x24]
-_020D79AC:
- ldr r0, [r5, #0x24]
- cmp r0, #0x0
- movne r0, #0x1
- moveq r0, #0x0
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
- .balign 4
-_020D79C8: .word 0x021D55C0
-
- arm_func_start CARDi_Request
-CARDi_Request:
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0x4
- mov r6, r0
- ldr r0, [r6, #0x114]
- mov r5, r1
- mov r4, r2
- ands r0, r0, #0x2
- bne _020D7A44
- ldr r1, [r6, #0x114]
- mov r0, #0xb
- orr r2, r1, #0x2
- mov r1, #0x1
- str r2, [r6, #0x114]
- bl PXI_IsCallbackReady
-_020D7A04: ; 0x020D7A04
- cmp r0, #0x0
- bne _020D7A34
- mov r9, #0x64
- mov r8, #0xb
- mov r7, #0x1
-_020D7A18:
- mov r0, r9
- bl OS_SpinWait
- mov r0, r8
- mov r1, r7
- bl PXI_IsCallbackReady
-_020D7A2C: ; 0x020D7A2C
- cmp r0, #0x0
- beq _020D7A18
-_020D7A34:
- mov r0, r6
- mov r1, #0x0
- mov r2, #0x1
- bl CARDi_Request
-_020D7A44:
- ldr r0, [r6, #0x0]
- mov r1, #0x60
- bl DC_FlushRange
- bl DC_WaitWriteBufferEmpty
- mov r9, #0xb
- mov r8, #0x1
- mov r7, #0x0
- mov r11, #0x60
-_020D7A64:
- str r5, [r6, #0x4]
- ldr r0, [r6, #0x114]
- orr r0, r0, #0x20
- str r0, [r6, #0x114]
-_020D7A74:
- mov r0, r9
- mov r1, r5
- mov r2, r8
- bl PXI_SendWordByFifo
-_020D7A84: ; 0x020D7A84
- cmp r0, #0x0
- blt _020D7A74
- cmp r5, #0x0
- bne _020D7AB0
- ldr r10, [r6, #0x0]
-_020D7A98:
- mov r0, r9
- mov r1, r10
- mov r2, r8
- bl PXI_SendWordByFifo
-_020D7AA8: ; 0x020D7AA8
- cmp r0, #0x0
- blt _020D7A98
-_020D7AB0:
- bl OS_DisableInterrupts
- ldr r1, [r6, #0x114]
- mov r10, r0
- ands r0, r1, #0x20
- beq _020D7AD8
-_020D7AC4:
- mov r0, r7
- bl OS_SleepThread
- ldr r0, [r6, #0x114]
- ands r0, r0, #0x20
- bne _020D7AC4
-_020D7AD8:
- mov r0, r10
- bl OS_RestoreInterrupts
-_020D7AE0: ; 0x020D7AE0
- ldr r0, [r6, #0x0]
- mov r1, r11
- bl DC_InvalidateRange
-_020D7AEC: ; 0x020D7AEC
- ldr r0, [r6, #0x0]
- ldr r0, [r0, #0x0]
- cmp r0, #0x4
- bne _020D7B08
- sub r4, r4, #0x1
- cmp r4, #0x0
- bgt _020D7A64
-_020D7B08:
- cmp r0, #0x0
- moveq r0, #0x1
- movne r0, #0x0
- add sp, sp, #0x4
- ldmia sp!, {r4-r11,lr}
- bx lr
-
- arm_func_start CARDi_TaskThread
-CARDi_TaskThread: ; 0x020D7B20
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- ldr r5, _020D7B78 ; =0x021D55C0
- mov r6, #0x0
- add r7, r5, #0x44
-_020D7B34:
- bl OS_DisableInterrupts
- ldr r1, [r5, #0x114]
- mov r4, r0
- ands r0, r1, #0x8
- bne _020D7B60
-_020D7B48:
- mov r0, r6
- str r7, [r5, #0x104]
- bl OS_SleepThread
- ldr r0, [r5, #0x114]
- ands r0, r0, #0x8
- beq _020D7B48
-_020D7B60:
- mov r0, r4
- bl OS_RestoreInterrupts
- ldr r1, [r5, #0x40]
- mov r0, r5
- blx r1
- b _020D7B34
- .balign 4
-_020D7B78: .word 0x021D55C0
-
- arm_func_start CARDi_OnFifoRecv
-CARDi_OnFifoRecv: ; 0x020D7B7C
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- cmp r0, #0xb
- addne sp, sp, #0x4
- ldmneia sp!, {lr}
- bxne lr
- cmp r2, #0x0
- addeq sp, sp, #0x4
- ldmeqia sp!, {lr}
- bxeq lr
- ldr r1, _020D7BC8 ; =0x021D55C0
- ldr r0, [r1, #0x114]
- bic r0, r0, #0x20
- str r0, [r1, #0x114]
- ldr r0, [r1, #0x104]
- bl OS_WakeupThreadDirect
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020D7BC8: .word 0x021D55C0
-
- arm_func_start CARDi_SendtoPxi
-CARDi_SendtoPxi: ; 0x020D7BCC
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- mov r7, r0
- mov r6, r1
- mov r1, r7
- mov r0, #0xe
- mov r2, #0x0
- bl PXI_SendWordByFifo
-_020D7BEC: ; 0x020D7BEC
- cmp r0, #0x0
- addeq sp, sp, #0x4
- ldmeqia sp!, {r4-r7,lr}
- bxeq lr
- mov r5, #0xe
- mov r4, #0x0
-_020D7C04:
- mov r0, r6
- blx SVC_WaitByLoop
- mov r0, r5
- mov r1, r7
- mov r2, r4
- bl PXI_SendWordByFifo
-_020D7C1C: ; 0x020D7C1C
- cmp r0, #0x0
- bne _020D7C04
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,lr}
- bx lr
-
- arm_func_start CARDi_CheckPulledOutCore
-CARDi_CheckPulledOutCore:
- stmdb sp!, {r4,lr}
- sub sp, sp, #0x8
- ldr r1, _020D7C94 ; =0x027FFC10
- ldrh r1, [r1, #0x0]
- cmp r1, #0x0
- ldreq r1, _020D7C98 ; =0x027FF800
- ldrne r1, _020D7C9C ; =0x027FFC00
- ldr r1, [r1, #0x0]
- str r1, [sp, #0x0]
- ldr r1, [sp, #0x0]
- cmp r0, r1
- addeq sp, sp, #0x8
- ldmeqia sp!, {r4,lr}
- bxeq lr
- bl OS_DisableInterrupts
- mov r4, r0
- mov r0, #0xe
- mov r1, #0x11
- mov r2, #0x0
- bl CARDi_PulledOutCallback
- mov r0, r4
- bl OS_RestoreInterrupts
- add sp, sp, #0x8
- ldmia sp!, {r4,lr}
- bx lr
- .balign 4
-_020D7C94: .word 0x027FFC10
-_020D7C98: .word 0x027FF800
-_020D7C9C: .word 0x027FFC00
-
- arm_func_start CARD_TerminateForPulledOut
-CARD_TerminateForPulledOut: ; 0x020D7CA0
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- ldr r0, _020D7D10 ; =0x027FFFA8
- mov r5, #0x1
- ldrh r0, [r0, #0x0]
- and r0, r0, #0x8000
- movs r0, r0, asr #0xf
- beq _020D7CEC
- bl PM_ForceToPowerOff
- cmp r0, #0x4
- bne _020D7CE4
- ldr r4, _020D7D14 ; =0x000A3A47
-_020D7CD0:
- mov r0, r4
- bl OS_SpinWait
- bl PM_ForceToPowerOff
- cmp r0, #0x4
- beq _020D7CD0
-_020D7CE4:
- cmp r0, #0x0
- moveq r5, #0x0
-_020D7CEC:
- cmp r5, #0x0
- beq _020D7D00
- mov r0, #0x1
- mov r1, r0
- bl CARDi_SendtoPxi
-_020D7D00:
- bl OS_Terminate
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
- .balign 4
-_020D7D10: .word 0x027FFFA8
-_020D7D14: .word 0x000A3A47
-
- arm_func_start CARD_IsPulledOut
-CARD_IsPulledOut: ; 0x020D7D18
- ldr r0, _020D7D24 ; =0x021D5E20
- ldr r0, [r0, #0x0]
- bx lr
- .balign 4
-_020D7D24: .word 0x021D5E20
-
- arm_func_start CARDi_PulledOutCallback
-CARDi_PulledOutCallback: ; 0x020D7D28
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- and r0, r1, #0x3f
- cmp r0, #0x11
- bne _020D7D90
- ldr r2, _020D7DA0 ; =0x021D5E20
- ldr r0, [r2, #0x0]
- cmp r0, #0x0
- addne sp, sp, #0x4
- ldmneia sp!, {lr}
- bxne lr
- ldr r1, _020D7DA4 ; =0x021D5E24
- mov r0, #0x1
- ldr r1, [r1, #0x0]
- str r0, [r2, #0x0]
- cmp r1, #0x0
- beq _020D7D70
- blx r1
-_020D7D70:
- cmp r0, #0x0
- addeq sp, sp, #0x4
- ldmeqia sp!, {lr}
- bxeq lr
- bl CARD_TerminateForPulledOut
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-_020D7D90:
- bl OS_Terminate
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020D7DA0: .word 0x021D5E20
-_020D7DA4: .word 0x021D5E24
-
- arm_func_start CARD_InitPulledOutCallback
-CARD_InitPulledOutCallback: ; 0x020D7DA8
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- bl PXI_Init
- ldr r1, _020D7DD8 ; =CARDi_PulledOutCallback
- mov r0, #0xe
- bl PXI_SetFifoRecvCallback
- ldr r0, _020D7DDC ; =0x021D5E24
- mov r1, #0x0
- str r1, [r0, #0x0]
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020D7DD8: .word CARDi_PulledOutCallback
-_020D7DDC: .word 0x021D5E24
diff --git a/asm/CP_arm9.s b/asm/CP_arm9.s
deleted file mode 100644
index c756e8e2..00000000
--- a/asm/CP_arm9.s
+++ /dev/null
@@ -1,42 +0,0 @@
- .include "asm/macros.inc"
- .include "global.inc"
- .section .text
-
- arm_func_start CP_SaveContext
-CP_SaveContext: ; 0x020D3648
- ldr r1, _020D3684 ; =0x04000290
- stmdb sp!, {r4}
- ldmia r1, {r2-r4,r12}
- stmia r0!, {r2-r4,r12}
- ldrh r12, [r1, #-0x10]
- add r1, r1, #0x28
- ldmia r1, {r2-r3}
- stmia r0!, {r2-r3}
- and r12, r12, #0x3
- ldrh r2, [r1, #-0x8]
- strh r12, [r0, #0x0]
- and r2, r2, #0x1
- strh r2, [r0, #0x2]
- ldmia sp!, {r4}
- bx lr
- .balign 4
-_020D3684: .word 0x04000290
-
- arm_func_start CP_RestoreContext
-CP_RestoreContext: ; 0x020D3688
- stmdb sp!, {r4}
- ldr r1, _020D36C0 ; =0x04000290
- ldmia r0, {r2-r4,r12}
- stmia r1, {r2-r4,r12}
- ldrh r2, [r0, #0x18]
- ldrh r3, [r0, #0x1a]
- strh r2, [r1, #-0x10]
- strh r3, [r1, #0x20]
- add r0, r0, #0x10
- add r1, r1, #0x28
- ldmia r0, {r2-r3}
- stmia r1, {r2-r3}
- ldmia sp!, {r4}
- bx lr
- .balign 4
-_020D36C0: .word 0x04000290
diff --git a/asm/CTRDG_arm9.s b/asm/CTRDG_arm9.s
deleted file mode 100644
index 301ea233..00000000
--- a/asm/CTRDG_arm9.s
+++ /dev/null
@@ -1,3238 +0,0 @@
- .include "asm/macros.inc"
- .include "global.inc"
-
- .text
-
- arm_func_start CTRDG_CheckEnabled
-CTRDG_CheckEnabled:
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- bl CTRDG_IsOptionCartridge
-_020DB128: ; 0x020DB128
- cmp r0, #0x0
- addne sp, sp, #0x4
- ldmneia sp!, {lr}
- bxne lr
- bl CTRDG_IsEnabled
-_020DB13C: ; 0x020DB13C
- cmp r0, #0x0
- addne sp, sp, #0x4
- ldmneia sp!, {lr}
- bxne lr
- bl OS_Terminate
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-
- arm_func_start CTRDG_Enable
-CTRDG_Enable: ; 0x020DB15C
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r5, r0
- bl OS_DisableInterrupts
- ldr r1, _020DB1AC ; =0x021D6940
- mov r4, r0
- str r5, [r1, #0x0]
- bl CTRDG_IsOptionCartridge
-_020DB17C: ; 0x020DB17C
- cmp r0, #0x0
- bne _020DB198
- cmp r5, #0x0
- movne r1, #0x1000
- moveq r1, #0x5000
- mov r0, #0xf000
- bl OS_SetDPermissionsForProtectionRegion
-_020DB198:
- mov r0, r4
- bl OS_RestoreInterrupts
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
- .balign 4
-_020DB1AC: .word 0x021D6940
-
- arm_func_start CTRDG_IsEnabled
-CTRDG_IsEnabled:
- ldr r0, _020DB1BC ; =0x021D6940
- ldr r0, [r0, #0x0]
- bx lr
- .balign 4
-_020DB1BC: .word 0x021D6940
-
- arm_func_start CTRDGi_AccessCommon
-CTRDGi_AccessCommon: ; 0x020DB1C0
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- mov r7, r0
- mov r6, r1
- mov r5, r2
- mov r4, r3
- bl CTRDG_IsExisting
-_020DB1DC: ; 0x020DB1DC
- cmp r0, #0x0
- addeq sp, sp, #0x4
- moveq r0, #0x0
- ldmeqia sp!, {r4-r7,lr}
- bxeq lr
- bl CTRDG_CheckEnabled
- ldr r0, _020DB2BC ; =0x021D6944
- ldrh r0, [r0, #0x2]
- bl OS_LockCartridge
- cmp r4, #0x21
- bhi _020DB240
- cmp r4, #0x21
- bhs _020DB270
- cmp r4, #0x11
- bhi _020DB234
- cmp r4, #0x10
- blo _020DB294
- cmp r4, #0x10
- beq _020DB290
- cmp r4, #0x11
- beq _020DB260
- b _020DB294
-_020DB234:
- cmp r4, #0x20
- streqh r6, [r7, #0x0]
- b _020DB294
-_020DB240:
- cmp r4, #0x40
- bhi _020DB254
- cmp r4, #0x40
- streq r6, [r7, #0x0]
- b _020DB294
-_020DB254:
- cmp r4, #0x41
- beq _020DB280
- b _020DB294
-_020DB260:
- cmp r5, #0x0
- ldrneb r0, [r7, #0x0]
- strneb r0, [r5, #0x0]
- b _020DB294
-_020DB270:
- cmp r5, #0x0
- ldrneh r0, [r7, #0x0]
- strneh r0, [r5, #0x0]
- b _020DB294
-_020DB280:
- cmp r5, #0x0
- ldrne r0, [r7, #0x0]
- strne r0, [r5, #0x0]
- b _020DB294
-_020DB290:
- strb r6, [r7, #0x0]
-_020DB294:
- ldr r0, _020DB2BC ; =0x021D6944
- ldrh r0, [r0, #0x2]
- bl OS_UnlockCartridge
- bl CTRDG_IsExisting
-_020DB2A4: ; 0x020DB2A4
- cmp r0, #0x0
- movne r0, #0x1
- moveq r0, #0x0
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,lr}
- bx lr
- .balign 4
-_020DB2BC: .word 0x021D6944
-
- arm_func_start CTRDG_Read32
-CTRDG_Read32: ; 0x020DB2C0
- ldr ip, _020DB2D4 ; =CTRDGi_AccessCommon
- mov r2, r1
- mov r1, #0x0
- mov r3, #0x41
- bx r12
- .balign 4
-_020DB2D4: .word CTRDGi_AccessCommon
-
- arm_func_start CTRDGi_CopyCommon
-CTRDGi_CopyCommon: ; 0x020DB2D8
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- mov r7, r0
- mov r6, r1
- mov r5, r2
- mov r4, r3
- bl CTRDG_IsExisting
-_020DB2F4: ; 0x020DB2F4
- cmp r0, #0x0
- addeq sp, sp, #0x4
- moveq r0, #0x0
- ldmeqia sp!, {r4-r7,lr}
- bxeq lr
- bl CTRDG_CheckEnabled
- ldr r0, _020DB42C ; =0x021D6944
- ldrh r0, [r0, #0x2]
- bl OS_LockCartridge
- ldr r0, [sp, #0x18]
- ands r0, r0, #0x1
- bne _020DB338
- mov r0, r7
- bl MI_StopDma
- mov r0, r5
- mov r1, r4
- bl DC_FlushRange
-_020DB338:
- ldr r0, [sp, #0x18]
- cmp r0, #0x11
- bhi _020DB36C
- cmp r0, #0x10
- blo _020DB360
- cmp r0, #0x10
- beq _020DB38C
- cmp r0, #0x11
- beq _020DB3BC
- b _020DB404
-_020DB360:
- cmp r0, #0x1
- beq _020DB3E4
- b _020DB404
-_020DB36C:
- cmp r0, #0x20
- bhi _020DB380
- cmp r0, #0x20
- beq _020DB3A4
- b _020DB404
-_020DB380:
- cmp r0, #0x21
- beq _020DB3D0
- b _020DB404
-_020DB38C:
- mov r0, r7
- mov r1, r6
- mov r2, r5
- mov r3, r4
- bl MI_DmaCopy16
- b _020DB404
-_020DB3A4:
- mov r0, r7
- mov r1, r6
- mov r2, r5
- mov r3, r4
- bl MI_DmaCopy32
- b _020DB404
-_020DB3BC:
- mov r0, r6
- mov r1, r5
- mov r2, r4
- bl MIi_CpuCopy16
- b _020DB404
-_020DB3D0:
- mov r0, r6
- mov r1, r5
- mov r2, r4
- bl MIi_CpuCopy32
- b _020DB404
-_020DB3E4:
- cmp r4, #0x0
- mov r1, #0x0
- bls _020DB404
-_020DB3F0:
- ldrb r0, [r6], #0x1
- add r1, r1, #0x1
- cmp r1, r4
- strb r0, [r5], #0x1
- blo _020DB3F0
-_020DB404:
- ldr r0, _020DB42C ; =0x021D6944
- ldrh r0, [r0, #0x2]
- bl OS_UnlockCartridge
- bl CTRDG_IsExisting
-_020DB414: ; 0x020DB414
- cmp r0, #0x0
- movne r0, #0x1
- moveq r0, #0x0
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,lr}
- bx lr
- .balign 4
-_020DB42C: .word 0x021D6944
-
- arm_func_start CTRDG_CpuCopy32
-CTRDG_CpuCopy32: ; 0x020DB430
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- mov lr, r1
- mov r3, r2
- mov r12, #0x21
- mov r1, r0
- mov r2, lr
- mov r0, #0x0
- str r12, [sp, #0x0]
- bl CTRDGi_CopyCommon
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-
- arm_func_start CTRDG_CpuCopy16
-CTRDG_CpuCopy16: ; 0x020DB464
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- mov lr, r1
- mov r3, r2
- mov r12, #0x11
- mov r1, r0
- mov r2, lr
- mov r0, #0x0
- str r12, [sp, #0x0]
- bl CTRDGi_CopyCommon
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-
- arm_func_start CTRDG_CpuCopy8
-CTRDG_CpuCopy8: ; 0x020DB498
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- mov lr, r1
- mov r3, r2
- cmp lr, #0x8000000
- blo _020DB4DC
- ldr r2, _020DB500 ; =0x0A010000
- cmp lr, r2
- bhs _020DB4DC
- mov r12, #0x1
- mov r2, r0
- mov r0, #0x0
- str r12, [sp, #0x0]
- bl CTRDGi_CopyCommon
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-_020DB4DC:
- mov r12, #0x1
- mov r1, r0
- mov r2, lr
- mov r0, #0x0
- str r12, [sp, #0x0]
- bl CTRDGi_CopyCommon
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020DB500: .word 0x0A010000
-
- arm_func_start CTRDGi_SendtoPxi
-CTRDGi_SendtoPxi: ; 0x020DB504
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- mov r7, r0
- mov r1, r7
- mov r0, #0xd
- mov r2, #0x0
- bl PXI_SendWordByFifo
-_020DB520: ; 0x020DB520
- cmp r0, #0x0
- addeq sp, sp, #0x4
- ldmeqia sp!, {r4-r7,lr}
- bxeq lr
- mov r6, #0x1
- mov r5, #0xd
- mov r4, #0x0
-_020DB53C:
- mov r0, r6
- blx SVC_WaitByLoop
- mov r0, r5
- mov r1, r7
- mov r2, r4
- bl PXI_SendWordByFifo
-_020DB554: ; 0x020DB554
- cmp r0, #0x0
- bne _020DB53C
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,lr}
- bx lr
-
- arm_func_start CTRDGi_UnlockByProcessor
-CTRDGi_UnlockByProcessor: ; 0x020DB568
- stmdb sp!, {r4,lr}
- mov r4, r1
- ldr r1, [r4, #0x0]
- cmp r1, #0x0
- bne _020DB580
- bl OS_UnlockCartridge
-_020DB580:
- ldr r0, [r4, #0x4]
- bl OS_RestoreInterrupts
- ldmia sp!, {r4,lr}
- bx lr
-
- arm_func_start CTRDGi_LockByProcessor
-CTRDGi_LockByProcessor: ; 0x020DB590
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- mov r7, r0
- mov r6, r1
- ldr r5, _020DB60C ; =0x027FFFE8
- mov r4, #0x1
-_020DB5A8:
- bl OS_DisableInterrupts
- str r0, [r6, #0x4]
- mov r0, r5
- bl OS_ReadOwnerOfLockWord
- and r0, r0, #0x40
- str r0, [r6, #0x0]
- ldr r0, [r6, #0x0]
- cmp r0, #0x0
- addne sp, sp, #0x4
- ldmneia sp!, {r4-r7,lr}
- bxne lr
- mov r0, r7
- bl OS_TryLockCartridge
-_020DB5DC: ; 0x020DB5DC
- cmp r0, #0x0
- addeq sp, sp, #0x4
- ldmeqia sp!, {r4-r7,lr}
- bxeq lr
- ldr r0, [r6, #0x4]
- bl OS_RestoreInterrupts
- mov r0, r4
- blx SVC_WaitByLoop
- b _020DB5A8
-_020DB600: ; 0x020DB600
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,lr}
- bx lr
- .balign 4
-_020DB60C: .word 0x027FFFE8
-
- arm_func_start CTRDGi_RestoreAccessCycle
-CTRDGi_RestoreAccessCycle: ; 0x020DB610
- ldr r3, _020DB640 ; =0x04000204
- ldr r2, [r0, #0x0]
- ldrh r1, [r3, #0x0]
- bic r1, r1, #0xc
- orr r1, r1, r2, lsl #0x2
- strh r1, [r3, #0x0]
- ldrh r1, [r3, #0x0]
- ldr r2, [r0, #0x4]
- bic r0, r1, #0x10
- orr r0, r0, r2, lsl #0x4
- strh r0, [r3, #0x0]
- bx lr
- .balign 4
-_020DB640: .word 0x04000204
-
- arm_func_start CTRDGi_ChangeLatestAccessCycle
-CTRDGi_ChangeLatestAccessCycle: ; 0x020DB644
- ldr r2, _020DB688 ; =0x04000204
- ldrh r1, [r2, #0x0]
- and r1, r1, #0xc
- mov r1, r1, asr #0x2
- str r1, [r0, #0x0]
- ldrh r1, [r2, #0x0]
- and r1, r1, #0x10
- mov r1, r1, asr #0x4
- str r1, [r0, #0x4]
- ldrh r0, [r2, #0x0]
- bic r0, r0, #0xc
- orr r0, r0, #0xc
- strh r0, [r2, #0x0]
- ldrh r0, [r2, #0x0]
- bic r0, r0, #0x10
- strh r0, [r2, #0x0]
- bx lr
- .balign 4
-_020DB688: .word 0x04000204
-
- arm_func_start CTRDG_IsExisting
-CTRDG_IsExisting:
- stmdb sp!, {r4,lr}
- sub sp, sp, #0x10
- ldr r2, _020DB798 ; =0x027FFC30
- ldr r0, _020DB79C ; =0x0000FFFF
- ldrh r1, [r2, #0x0]
- mov r4, #0x1
- cmp r1, r0
- addeq sp, sp, #0x10
- moveq r0, #0x0
- ldmeqia sp!, {r4,lr}
- bxeq lr
- ldrb r0, [r2, #0x5]
- mov r0, r0, lsl #0x1e
- mov r0, r0, lsr #0x1f
- cmp r0, #0x1
- addeq sp, sp, #0x10
- moveq r0, #0x0
- ldmeqia sp!, {r4,lr}
- bxeq lr
- ldr r0, _020DB7A0 ; =0x021D6944
- add r1, sp, #0x0
- ldrh r0, [r0, #0x2]
- bl CTRDGi_LockByProcessor
- add r0, sp, #0x8
- bl CTRDGi_ChangeLatestAccessCycle
- mov r0, #0x8000000
- ldrb r2, [r0, #0xb2]
- cmp r2, #0x96
- bne _020DB714
- ldr r1, _020DB798 ; =0x027FFC30
- ldrh r0, [r0, #0xbe]
- ldrh r1, [r1, #0x0]
- cmp r1, r0
- bne _020DB75C
-_020DB714:
- cmp r2, #0x96
- beq _020DB734
- ldr r1, _020DB798 ; =0x027FFC30
- ldr r0, _020DB7A4 ; =0x0801FFFE
- ldrh r1, [r1, #0x0]
- ldrh r0, [r0, #0x0]
- cmp r1, r0
- bne _020DB75C
-_020DB734:
- ldr r2, _020DB798 ; =0x027FFC30
- mov r0, #0x8000000
- ldr r1, [r2, #0x8]
- ldr r0, [r0, #0xac]
- cmp r1, r0
- beq _020DB770
- ldrb r0, [r2, #0x5]
- mov r0, r0, lsl #0x1f
- movs r0, r0, lsr #0x1f
- beq _020DB770
-_020DB75C:
- ldr r1, _020DB798 ; =0x027FFC30
- mov r4, #0x0
- ldrb r0, [r1, #0x5]
- orr r0, r0, #0x2
- strb r0, [r1, #0x5]
-_020DB770:
- add r0, sp, #0x8
- bl CTRDGi_RestoreAccessCycle
- ldr r0, _020DB7A0 ; =0x021D6944
- add r1, sp, #0x0
- ldrh r0, [r0, #0x2]
- bl CTRDGi_UnlockByProcessor
- mov r0, r4
- add sp, sp, #0x10
- ldmia sp!, {r4,lr}
- bx lr
- .balign 4
-_020DB798: .word 0x027FFC30
-_020DB79C: .word 0x0000FFFF
-_020DB7A0: .word 0x021D6944
-_020DB7A4: .word 0x0801FFFE
-
- arm_func_start CTRDG_IsPulledOut
-CTRDG_IsPulledOut: ; 0x020DB7A8
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r2, _020DB800 ; =0x027FFC30
- ldr r0, _020DB804 ; =0x0000FFFF
- ldrh r1, [r2, #0x0]
- cmp r1, r0
- addeq sp, sp, #0x4
- moveq r0, #0x0
- ldmeqia sp!, {lr}
- bxeq lr
- ldrb r0, [r2, #0x5]
- mov r0, r0, lsl #0x1e
- movs r0, r0, lsr #0x1f
- bne _020DB7E4
- bl CTRDG_IsExisting
-_020DB7E4:
- ldr r0, _020DB800 ; =0x027FFC30
- ldrb r0, [r0, #0x5]
- mov r0, r0, lsl #0x1e
- mov r0, r0, lsr #0x1f
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020DB800: .word 0x027FFC30
-_020DB804: .word 0x0000FFFF
-
- arm_func_start CTRDGi_GetAgbMakerCodeAtInit
-CTRDGi_GetAgbMakerCodeAtInit: ; 0x020DB808
- stmdb sp!, {r4,lr}
- mov r4, #0x0
- bl CTRDGi_IsAgbCartridgeAtInit
-_020DB814: ; 0x020DB814
- cmp r0, #0x0
- ldrne r0, _020DB82C ; =0x027FFC30
- ldrneh r4, [r0, #0x6]
- mov r0, r4
- ldmia sp!, {r4,lr}
- bx lr
- .balign 4
-_020DB82C: .word 0x027FFC30
-
- arm_func_start CTRDG_GetAgbMakerCode
-CTRDG_GetAgbMakerCode: ; 0x020DB830
- stmdb sp!, {r4,lr}
- mov r4, #0x0
- bl CTRDG_IsExisting
-_020DB83C: ; 0x020DB83C
- cmp r0, #0x0
- beq _020DB84C
- bl CTRDGi_GetAgbMakerCodeAtInit
- mov r4, r0
-_020DB84C:
- mov r0, r4
- ldmia sp!, {r4,lr}
- bx lr
-
- arm_func_start CTRDGi_GetAgbGameCodeAtInit
-CTRDGi_GetAgbGameCodeAtInit: ; 0x020DB858
- stmdb sp!, {r4,lr}
- mov r4, #0x0
- bl CTRDGi_IsAgbCartridgeAtInit
-_020DB864: ; 0x020DB864
- cmp r0, #0x0
- ldrne r0, _020DB87C ; =0x027FFC30
- ldrne r4, [r0, #0x8]
- mov r0, r4
- ldmia sp!, {r4,lr}
- bx lr
- .balign 4
-_020DB87C: .word 0x027FFC30
-
- arm_func_start CTRDG_GetAgbGameCode
-CTRDG_GetAgbGameCode: ; 0x020DB880
- stmdb sp!, {r4,lr}
- mov r4, #0x0
- bl CTRDG_IsExisting
-_020DB88C: ; 0x020DB88C
- cmp r0, #0x0
- beq _020DB89C
- bl CTRDGi_GetAgbGameCodeAtInit
- mov r4, r0
-_020DB89C:
- mov r0, r4
- ldmia sp!, {r4,lr}
- bx lr
-
- arm_func_start CTRDGi_IsAgbCartridgeAtInit
-CTRDGi_IsAgbCartridgeAtInit:
- ldr r0, _020DB8BC ; =0x027FFC30
- ldrb r0, [r0, #0x5]
- mov r0, r0, lsl #0x1f
- mov r0, r0, lsr #0x1f
- bx lr
- .balign 4
-_020DB8BC: .word 0x027FFC30
-
- arm_func_start CTRDG_IsOptionCartridge
-CTRDG_IsOptionCartridge:
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- bl CTRDG_IsExisting
-_020DB8CC: ; 0x020DB8CC
- cmp r0, #0x0
- beq _020DB8EC
- bl CTRDGi_IsAgbCartridgeAtInit
-_020DB8D8: ; 0x020DB8D8
- cmp r0, #0x0
- addeq sp, sp, #0x4
- moveq r0, #0x1
- ldmeqia sp!, {lr}
- bxeq lr
-_020DB8EC:
- mov r0, #0x0
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-
- arm_func_start CTRDG_IsAgbCartridge
-CTRDG_IsAgbCartridge: ; 0x020DB8FC
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- bl CTRDG_IsExisting
-_020DB908: ; 0x020DB908
- cmp r0, #0x0
- beq _020DB928
- bl CTRDGi_IsAgbCartridgeAtInit
-_020DB914: ; 0x020DB914
- cmp r0, #0x0
- addne sp, sp, #0x4
- movne r0, #0x1
- ldmneia sp!, {lr}
- bxne lr
-_020DB928:
- mov r0, #0x0
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-
- arm_func_start CTRDGi_InitCommon
-CTRDGi_InitCommon: ; 0x020DB938
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r1, _020DB970 ; =0x021D6944
- mov r3, #0x0
- ldr r2, _020DB974 ; =0x05000001
- add r0, sp, #0x0
- str r3, [sp, #0x0]
- blx FUN_020002FE
- bl OS_GetLockID
- ldr r1, _020DB970 ; =0x021D6944
- strh r0, [r1, #0x2]
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020DB970: .word 0x021D6944
-_020DB974: .word 0x05000001
-
- arm_func_start CTRDGi_CallbackForSetPhi
-CTRDGi_CallbackForSetPhi: ; 0x020DB978
- ldr r0, _020DB988 ; =0x021D694C
- mov r1, #0x0
- str r1, [r0, #0x0]
- bx lr
- .balign 4
-_020DB988: .word 0x021D694C
-
- arm_func_start CTRDG_TerminateForPulledOut
-CTRDG_TerminateForPulledOut: ; 0x020DB98C
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- mov r0, #0x2
- bl CTRDGi_SendtoPxi
- bl OS_Terminate
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-
- arm_func_start CTRDGi_PulledOutCallback
-CTRDGi_PulledOutCallback: ; 0x020DB9AC
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- and r0, r1, #0x3f
- cmp r0, #0x11
- bne _020DBA14
- ldr r0, _020DBA24 ; =0x021D6954
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- addne sp, sp, #0x4
- ldmneia sp!, {lr}
- bxne lr
- ldr r1, _020DBA28 ; =0x021D6958
- mov r0, #0x0
- ldr r1, [r1, #0x0]
- cmp r1, #0x0
- beq _020DB9F0
- blx r1
-_020DB9F0:
- cmp r0, #0x0
- beq _020DB9FC
- bl CTRDG_TerminateForPulledOut
-_020DB9FC:
- ldr r0, _020DBA24 ; =0x021D6954
- mov r1, #0x1
- str r1, [r0, #0x0]
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-_020DBA14:
- bl OS_Terminate
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020DBA24: .word 0x021D6954
-_020DBA28: .word 0x021D6958
-
- arm_func_start CTRDGi_CallbackForInitModuleInfo
-CTRDGi_CallbackForInitModuleInfo: ; 0x020DBA2C
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- and r0, r1, #0x3f
- cmp r0, #0x1
- ldreq r0, _020DBA64 ; =0x021D6944
- moveq r1, #0x1
- streqh r1, [r0, #0x0]
- addeq sp, sp, #0x4
- ldmeqia sp!, {lr}
- bxeq lr
- bl OS_Terminate
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020DBA64: .word 0x021D6944
-
- arm_func_start CTRDGi_InitModuleInfo
-CTRDGi_InitModuleInfo: ; 0x020DBA68
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x14
- ldr r0, _020DBC50 ; =0x021D6948
- ldr r1, [r0, #0x0]
- cmp r1, #0x0
- addne sp, sp, #0x14
- ldmneia sp!, {r4-r7,lr}
- bxne lr
- ldr r1, _020DBC54 ; =0x04000300
- mov r2, #0x1
- str r2, [r0, #0x0]
- ldrh r0, [r1, #0x0]
- ands r0, r0, #0x1
- addeq sp, sp, #0x14
- ldmeqia sp!, {r4-r7,lr}
- bxeq lr
- mov r0, #0x40000
- bl OS_SetIrqMask
- ldr r3, _020DBC58 ; =0x04000208
- mov r2, #0x1
- ldrh r4, [r3, #0x0]
- ldr r1, _020DBC5C ; =0x021D6944
- mov r6, r0
- strh r2, [r3, #0x0]
- ldrh r0, [r1, #0x2]
- add r1, sp, #0x0
- bl CTRDGi_LockByProcessor
- ldr r1, _020DBC60 ; =0x04000204
- add r0, sp, #0x8
- ldrh r1, [r1, #0x0]
- and r1, r1, #0x8000
- mov r5, r1, asr #0xf
- bl CTRDGi_ChangeLatestAccessCycle
- ldr r3, _020DBC60 ; =0x04000204
- ldr r0, _020DBC64 ; =0x021D6960
- ldrh r2, [r3, #0x0]
- add r0, r0, #0x80
- mov r1, #0x40
- bic r2, r2, #0x8000
- strh r2, [r3, #0x0]
- bl DC_InvalidateRange
- ldr r2, _020DBC64 ; =0x021D6960
- ldr r1, _020DBC68 ; =0x08000080
- mov r0, #0x1
- mov r3, #0x40
- add r2, r2, #0x80
- bl MI_DmaCopy16
- ldr r2, _020DBC60 ; =0x04000204
- add r0, sp, #0x8
- ldrh r1, [r2, #0x0]
- bic r1, r1, #0x8000
- orr r1, r1, r5, lsl #0xf
- strh r1, [r2, #0x0]
- bl CTRDGi_RestoreAccessCycle
- ldr r0, _020DBC5C ; =0x021D6944
- add r1, sp, #0x0
- ldrh r0, [r0, #0x2]
- bl CTRDGi_UnlockByProcessor
- ldr r0, _020DBC6C ; =0x027FFF9B
- ldrb r0, [r0, #0x0]
- cmp r0, #0x0
- bne _020DBB70
- ldr r0, _020DBC70 ; =0x027FFF9A
- ldrb r0, [r0, #0x0]
- cmp r0, #0x0
- bne _020DBBDC
-_020DBB70:
- ldr r2, _020DBC64 ; =0x021D6960
- ldr r0, _020DBC74 ; =0x027FFC30
- ldrh r1, [r2, #0xbe]
- mov r3, #0x0
- strh r1, [r0, #0x0]
-_020DBB84:
- add r0, r2, r3
- ldrb r1, [r0, #0xb5]
- add r0, r3, #0x2700000
- add r0, r0, #0xff000
- add r3, r3, #0x1
- strb r1, [r0, #0xC32]
- cmp r3, #0x3
- blt _020DBB84
- ldrh r0, [r2, #0xb0]
- ldr r1, _020DBC74 ; =0x027FFC30
- strh r0, [r1, #0x6]
- ldr r0, [r2, #0xac]
- str r0, [r1, #0x8]
- bl CTRDG_IsExisting
-_020DBBBC: ; 0x020DBBBC
- cmp r0, #0x0
- movne r2, #0x1
- ldr r1, _020DBC6C ; =0x027FFF9B
- moveq r2, #0x0
- strb r2, [r1, #0x0]
- ldr r0, _020DBC70 ; =0x027FFF9A
- mov r1, #0x1
- strb r1, [r0, #0x0]
-_020DBBDC:
- ldr r0, _020DBC78 ; =0xFFFF0020
- ldr r1, _020DBC7C ; =0x021D6964
- mov r2, #0x9c
- bl MIi_CpuCopy32
- bl DC_FlushAll
- ldr r0, _020DBC64 ; =0x021D6960
- add r0, r0, #0xfe000000
- mov r0, r0, lsr #0x5
- mov r0, r0, lsl #0x6
- orr r0, r0, #0x1
- bl CTRDGi_SendtoPxi
- ldr r5, _020DBC5C ; =0x021D6944
- ldrh r0, [r5, #0x0]
- cmp r0, #0x1
- beq _020DBC30
- mov r7, #0x1
-_020DBC1C:
- mov r0, r7
- blx SVC_WaitByLoop
- ldrh r0, [r5, #0x0]
- cmp r0, #0x1
- bne _020DBC1C
-_020DBC30:
- ldr r2, _020DBC58 ; =0x04000208
- mov r0, r6
- ldrh r1, [r2, #0x0]
- strh r4, [r2, #0x0]
- bl OS_SetIrqMask
- add sp, sp, #0x14
- ldmia sp!, {r4-r7,lr}
- bx lr
- .balign 4
-_020DBC50: .word 0x021D6948
-_020DBC54: .word 0x04000300
-_020DBC58: .word 0x04000208
-_020DBC5C: .word 0x021D6944
-_020DBC60: .word 0x04000204
-_020DBC64: .word 0x021D6960
-_020DBC68: .word 0x08000080
-_020DBC6C: .word 0x027FFF9B
-_020DBC70: .word 0x027FFF9A
-_020DBC74: .word 0x027FFC30
-_020DBC78: .word 0xFFFF0020
-_020DBC7C: .word 0x021D6964
-
- arm_func_start CTRDG_Init
-CTRDG_Init: ; 0x020DBC80
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- ldr r0, _020DBD34 ; =0x021D6950
- ldr r1, [r0, #0x0]
- cmp r1, #0x0
- addne sp, sp, #0x4
- ldmneia sp!, {r4-r5,lr}
- bxne lr
- mov r1, #0x1
- str r1, [r0, #0x0]
- bl CTRDGi_InitCommon
- ldr r0, _020DBD38 ; =0x021D6954
- mov r1, #0x0
- str r1, [r0, #0x0]
- bl PXI_Init
- mov r5, #0xd
- mov r4, #0x1
-_020DBCC4:
- mov r0, r5
- mov r1, r4
- bl PXI_IsCallbackReady
-_020DBCD0: ; 0x020DBCD0
- cmp r0, #0x0
- beq _020DBCC4
- ldr r1, _020DBD3C ; =CTRDGi_CallbackForInitModuleInfo
- mov r0, #0xd
- bl PXI_SetFifoRecvCallback
- bl CTRDGi_InitModuleInfo
- mov r0, #0xd
- mov r1, #0x0
- bl PXI_SetFifoRecvCallback
- ldr r1, _020DBD40 ; =CTRDGi_PulledOutCallback
- mov r0, #0xd
- bl PXI_SetFifoRecvCallback
- ldr r1, _020DBD44 ; =0x021D6958
- mov r2, #0x0
- ldr r0, _020DBD48 ; =0x021D6A20
- str r2, [r1, #0x0]
- bl CTRDGi_InitTaskThread
- ldr r1, _020DBD4C ; =CTRDGi_CallbackForSetPhi
- mov r0, #0x11
- bl PXI_SetFifoRecvCallback
-_020DBD20: ; 0x020DBD20
- mov r0, #0x0
- bl CTRDG_Enable
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
- .balign 4
-_020DBD34: .word 0x021D6950
-_020DBD38: .word 0x021D6954
-_020DBD3C: .word CTRDGi_CallbackForInitModuleInfo
-_020DBD40: .word CTRDGi_PulledOutCallback
-_020DBD44: .word 0x021D6958
-_020DBD48: .word 0x021D6A20
-_020DBD4C: .word CTRDGi_CallbackForSetPhi
-
- arm_func_start CTRDG_IdentifyAgbBackup
-CTRDG_IdentifyAgbBackup: ; 0x020DBD50
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- mov r7, r0
- cmp r7, #0x1
- mov r0, #0x1
- bhi _020DBEAC
- bl OS_GetLockID
- ldr r1, _020DBED8 ; =0x021D6B0C
- strh r0, [r1, #0x0]
- ldrh r0, [r1, #0x0]
- bl OS_LockCartridge
- ldr r6, _020DBEDC ; =0x04000204
- ldr r1, _020DBEE0 ; =0x02103FE4
- ldrh r3, [r6, #0x0]
- ldrh r2, [r6, #0x0]
- ldr r0, _020DBEE4 ; =0x021D6B28
- and r4, r3, #0x3
- bic r2, r2, #0x3
- orr r2, r2, #0x3
- strh r2, [r6, #0x0]
- str r1, [r0, #0x0]
- bl CTRDGi_ReadFlashID
- ldr r2, _020DBEDC ; =0x04000204
- mov r6, r0
- ldrh r1, [r2, #0x0]
- cmp r7, #0x0
- ldreq r5, _020DBEE8 ; =0x02103FF4
- bic r1, r1, #0x3
- orr r1, r1, r4
- cmp r7, #0x1
- ldr r0, _020DBED8 ; =0x021D6B0C
- strh r1, [r2, #0x0]
- ldrh r0, [r0, #0x0]
- ldreq r5, _020DBEEC ; =0x02103FE8
- bl OS_UnlockCartridge2
- ldr r2, [r5, #0x0]
- mov r0, #0x1
- ldrh r1, [r2, #0x38]
- cmp r1, #0x0
- beq _020DBE14
- and r3, r6, #0xff
-_020DBDF4:
- ldrh r1, [r2, #0x38]
- cmp r3, r1
- moveq r0, #0x0
- beq _020DBE14
- ldr r2, [r5, #0x4]!
- ldrh r1, [r2, #0x38]
- cmp r1, #0x0
- bne _020DBDF4
-_020DBE14:
- ldr r2, [r2, #0x0]
- ldr r1, _020DBEF0 ; =0x021D6B14
- ldr r3, _020DBEF4 ; =0x021D6B34
- str r2, [r1, #0x0]
- ldr r1, [r5, #0x0]
- ldr r2, _020DBEF8 ; =0x021D6B2C
- ldr r4, [r1, #0x4]
- ldr r1, _020DBEFC ; =0x021D6B18
- str r4, [r3, #0x0]
- ldr r3, [r5, #0x0]
- ldr r6, _020DBF00 ; =0x021D6B1C
- ldr r3, [r3, #0x8]
- ldr r4, _020DBF04 ; =0x021D6B30
- str r3, [r2, #0x0]
- ldr r2, [r5, #0x0]
- ldr r3, _020DBF08 ; =0x021D6B24
- ldr r7, [r2, #0xc]
- ldr r2, _020DBEE4 ; =0x021D6B28
- str r7, [r1, #0x0]
- ldr r7, [r5, #0x0]
- ldr r1, _020DBF0C ; =0x021D6B20
- ldr r7, [r7, #0x10]
- add sp, sp, #0x4
- str r7, [r6, #0x0]
- ldr r6, [r5, #0x0]
- ldr r6, [r6, #0x14]
- str r6, [r4, #0x0]
- ldr r4, [r5, #0x0]
- ldr r4, [r4, #0x18]
- str r4, [r3, #0x0]
- ldr r3, [r5, #0x0]
- ldr r3, [r3, #0x1c]
- str r3, [r2, #0x0]
- ldr r2, [r5, #0x0]
- add r2, r2, #0x20
- str r2, [r1, #0x0]
- ldmia sp!, {r4-r7,lr}
- bx lr
-_020DBEAC:
- cmp r7, #0x2
- addne sp, sp, #0x4
- ldmneia sp!, {r4-r7,lr}
- bxne lr
- bl OS_GetLockID
- ldr r1, _020DBF10 ; =0x021D6B4C
- strh r0, [r1, #0x0]
- mov r0, #0x0
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,lr}
- bx lr
- .balign 4
-_020DBED8: .word 0x021D6B0C
-_020DBEDC: .word 0x04000204
-_020DBEE0: .word 0x02103FE4
-_020DBEE4: .word 0x021D6B28
-_020DBEE8: .word 0x02103FF4
-_020DBEEC: .word 0x02103FE8
-_020DBEF0: .word 0x021D6B14
-_020DBEF4: .word 0x021D6B34
-_020DBEF8: .word 0x021D6B2C
-_020DBEFC: .word 0x021D6B18
-_020DBF00: .word 0x021D6B1C
-_020DBF04: .word 0x021D6B30
-_020DBF08: .word 0x021D6B24
-_020DBF0C: .word 0x021D6B20
-_020DBF10: .word 0x021D6B4C
-
- arm_func_start CTRDG_WriteAndVerifyAgbFlashAsync
-CTRDG_WriteAndVerifyAgbFlashAsync: ; 0x020DBF14
- stmdb sp!, {lr}
- sub sp, sp, #0x24
- str r1, [sp, #0xc]
- strh r0, [sp, #0x20]
- str r2, [sp, #0x18]
- ldr r1, _020DBF44 ; =CTRDGi_WriteAndVerifyAgbFlashSectorCore
- add r0, sp, #0x0
- mov r2, r3
- bl CTRDGi_SetTask
- add sp, sp, #0x24
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020DBF44: .word CTRDGi_WriteAndVerifyAgbFlashSectorCore
-
- arm_func_start CTRDG_VerifyAgbFlash
-CTRDG_VerifyAgbFlash:
- stmdb sp!, {lr}
- sub sp, sp, #0x24
- strh r0, [sp, #0x20]
- add r0, sp, #0x0
- str r1, [sp, #0xc]
- str r2, [sp, #0x18]
- bl CTRDGi_VerifyAgbFlashCore
- add sp, sp, #0x24
- ldmia sp!, {lr}
- bx lr
-
- arm_func_start CTRDG_WriteAgbFlashSector
-CTRDG_WriteAgbFlashSector:
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r2, _020DBF90 ; =0x021D6B14
- ldr r2, [r2, #0x0]
- blx r2
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020DBF90: .word 0x021D6B14
-
- arm_func_start CTRDG_ReadAgbFlash
-CTRDG_ReadAgbFlash: ; 0x020DBF94
- stmdb sp!, {lr}
- sub sp, sp, #0x24
- strh r0, [sp, #0x20]
- add r0, sp, #0x0
- str r1, [sp, #0x14]
- str r2, [sp, #0x1c]
- str r3, [sp, #0x18]
- bl CTRDGi_ReadAgbFlashCore
- add sp, sp, #0x24
- ldmia sp!, {lr}
- bx lr
-
- arm_func_start CTRDGi_WriteAndVerifyAgbFlashSectorCore
-CTRDGi_WriteAndVerifyAgbFlashSectorCore: ; 0x020DBFC0
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x24
- mov r4, r0
- ldmia r4!, {r0-r3}
- add r12, sp, #0x0
- stmia r12!, {r0-r3}
- ldmia r4!, {r0-r3}
- stmia r12!, {r0-r3}
- ldr r0, [r4, #0x0]
- mov r7, #0x0
- str r0, [r12, #0x0]
- ldrh r6, [sp, #0x20]
- ldr r5, [sp, #0xc]
- ldr r4, [sp, #0x18]
-_020DBFF8:
- mov r0, r6
- mov r1, r5
- bl CTRDG_WriteAgbFlashSector
-_020DC004: ; 0x020DC004
- cmp r0, #0x0
- bne _020DC02C
- mov r0, r6
- mov r1, r5
- mov r2, r4
- bl CTRDG_VerifyAgbFlash
-_020DC01C: ; 0x020DC01C
- cmp r0, #0x0
- addeq sp, sp, #0x24
- ldmeqia sp!, {r4-r7,lr}
- bxeq lr
-_020DC02C:
- add r1, r7, #0x1
- mov r1, r1, lsl #0x10
- mov r7, r1, lsr #0x10
- cmp r7, #0x3
- blo _020DBFF8
- add sp, sp, #0x24
- ldmia sp!, {r4-r7,lr}
- bx lr
-
- arm_func_start CTRDGi_VerifyAgbFlashCore
-CTRDGi_VerifyAgbFlashCore: ; 0x020DC04C
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x24
- mov r5, r0
- ldmia r5!, {r0-r3}
- add r4, sp, #0x0
- stmia r4!, {r0-r3}
- ldmia r5!, {r0-r3}
- stmia r4!, {r0-r3}
- ldr r0, _020DC128 ; =0x021D6B0C
- ldr r1, [r5, #0x0]
- ldrh r0, [r0, #0x0]
- str r1, [r4, #0x0]
- ldrh r6, [sp, #0x20]
- ldr r5, [sp, #0xc]
- ldr r4, [sp, #0x18]
- bl OS_LockCartridge
- ldr r3, _020DC12C ; =0x04000204
- ldr r0, _020DC130 ; =0x021D6B20
- ldrh r2, [r3, #0x0]
- ldrh r1, [r3, #0x0]
- and r7, r2, #0x3
- bic r1, r1, #0x3
- orr r1, r1, #0x3
- strh r1, [r3, #0x0]
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x0]
- cmp r0, #0x20000
- bne _020DC0D4
- mov r0, r6, lsl #0xc
- mov r0, r0, lsr #0x10
- bl CTRDGi_SetFlashBankMx
- and r0, r6, #0xf
- mov r0, r0, lsl #0x10
- mov r6, r0, lsr #0x10
-_020DC0D4:
- ldr r1, _020DC130 ; =0x021D6B20
- mov r0, r5
- ldr r1, [r1, #0x0]
- mov r2, r4
- ldrh r1, [r1, #0x8]
- mov r1, r6, lsl r1
- add r1, r1, #0xa000000
- bl CTRDGi_VerifyFlashSectorCore
- ldr r3, _020DC12C ; =0x04000204
- ldr r1, _020DC128 ; =0x021D6B0C
- ldrh r2, [r3, #0x0]
- mov r4, r0
- bic r0, r2, #0x3
- orr r0, r0, r7
- strh r0, [r3, #0x0]
- ldrh r0, [r1, #0x0]
- bl OS_UnlockCartridge2
- mov r0, r4
- add sp, sp, #0x24
- ldmia sp!, {r4-r7,lr}
- bx lr
- .balign 4
-_020DC128: .word 0x021D6B0C
-_020DC12C: .word 0x04000204
-_020DC130: .word 0x021D6B20
-
- arm_func_start CTRDGi_VerifyFlashSectorCore
-CTRDGi_VerifyFlashSectorCore: ; 0x020DC134
- cmp r2, #0x0
- sub r2, r2, #0x1
- beq _020DC160
-_020DC140:
- ldrb r12, [r1], #0x1
- ldrb r3, [r0], #0x1
- cmp r12, r3
- subne r0, r1, #0x1
- bxne lr
- cmp r2, #0x0
- sub r2, r2, #0x1
- bne _020DC140
-_020DC160:
- mov r0, #0x0
- bx lr
-
- arm_func_start CTRDGi_ReadAgbFlashCore
-CTRDGi_ReadAgbFlashCore: ; 0x020DC168
- stmdb sp!, {r4-r8,lr}
- sub sp, sp, #0x28
- mov r5, r0
- ldmia r5!, {r0-r3}
- add r4, sp, #0x0
- stmia r4!, {r0-r3}
- ldmia r5!, {r0-r3}
- stmia r4!, {r0-r3}
- ldr r0, _020DC25C ; =0x021D6B0C
- ldr r1, [r5, #0x0]
- ldrh r0, [r0, #0x0]
- str r1, [r4, #0x0]
- ldrh r7, [sp, #0x20]
- ldr r6, [sp, #0x14]
- ldr r5, [sp, #0x1c]
- ldr r4, [sp, #0x18]
- bl OS_LockCartridge
- ldr r3, _020DC260 ; =0x04000204
- ldr r0, _020DC264 ; =0x021D6B20
- ldrh r2, [r3, #0x0]
- ldrh r1, [r3, #0x0]
- and r8, r2, #0x3
- bic r1, r1, #0x3
- orr r1, r1, #0x3
- strh r1, [r3, #0x0]
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x0]
- cmp r0, #0x20000
- bne _020DC1F4
- mov r0, r7, lsl #0xc
- mov r0, r0, lsr #0x10
- bl CTRDGi_SetFlashBankMx
- and r0, r7, #0xf
- mov r0, r0, lsl #0x10
- mov r7, r0, lsr #0x10
-_020DC1F4:
- ldr r0, _020DC264 ; =0x021D6B20
- cmp r4, #0x0
- ldr r0, [r0, #0x0]
- sub r4, r4, #0x1
- ldrh r0, [r0, #0x8]
- mov r0, r7, lsl r0
- add r0, r0, #0xa000000
- add r1, r6, r0
- beq _020DC22C
-_020DC218:
- ldrb r0, [r1], #0x1
- cmp r4, #0x0
- sub r4, r4, #0x1
- strb r0, [r5], #0x1
- bne _020DC218
-_020DC22C:
- ldr r2, _020DC260 ; =0x04000204
- ldr r0, _020DC25C ; =0x021D6B0C
- ldrh r1, [r2, #0x0]
- bic r1, r1, #0x3
- orr r1, r1, r8
- strh r1, [r2, #0x0]
- ldrh r0, [r0, #0x0]
- bl OS_UnlockCartridge2
- mov r0, #0x0
- add sp, sp, #0x28
- ldmia sp!, {r4-r8,lr}
- bx lr
- .balign 4
-_020DC25C: .word 0x021D6B0C
-_020DC260: .word 0x04000204
-_020DC264: .word 0x021D6B20
-
- arm_func_start CTRDGi_PollingSR1MCOMMON
-CTRDGi_PollingSR1MCOMMON: ; 0x020DC268
- stmdb sp!, {r4-r8,lr}
- mov r8, r0
- mov r7, r1
- mov r6, r2
- mov r5, #0x0
- bl StartFlashTimer
- ldr r4, _020DC318 ; =0x021D6B10
-_020DC284:
- bl CheckFlashTimer
- mov r0, r7
- bl CTRDGi_ReadSrFunc
- cmp r0, r6
- beq _020DC300
- ands r0, r0, #0x20
- beq _020DC2CC
- mov r0, r7
- bl CTRDGi_ReadSrFunc
-_020DC2A8: ; 0x020DC2A8
- cmp r6, r0
- beq _020DC300
- orr r0, r8, #0xa000
- mov r0, r0, lsl #0x10
- ldr r1, _020DC31C ; =0x0A005555
- mov r2, #0xf0
- strb r2, [r1, #0x0]
- mov r5, r0, lsr #0x10
- b _020DC300
-_020DC2CC:
- ldrh r0, [r4, #0x0]
- cmp r0, #0x0
- beq _020DC284
- mov r0, r7
- bl CTRDGi_ReadSrFunc
-_020DC2E0: ; 0x020DC2E0
- cmp r6, r0
- beq _020DC300
- orr r0, r8, #0xc000
- mov r0, r0, lsl #0x10
- ldr r1, _020DC31C ; =0x0A005555
- mov r2, #0xf0
- strb r2, [r1, #0x0]
- mov r5, r0, lsr #0x10
-_020DC300:
- bl CTRDG_IsExisting
-_020DC304: ; 0x020DC304
- cmp r0, #0x0
- moveq r5, #0x1000
- mov r0, r5
- ldmia sp!, {r4-r8,lr}
- bx lr
- .balign 4
-_020DC318: .word 0x021D6B10
-_020DC31C: .word 0x0A005555
-
- arm_func_start CTRDGi_PollingSR512kCOMMON
-CTRDGi_PollingSR512kCOMMON: ; 0x020DC320
- stmdb sp!, {r4-r8,lr}
- mov r4, r0
- mov r8, r1
- mov r7, r2
- mov r6, #0x0
- bl StartFlashTimer
- ldr r5, _020DC3A8 ; =0x021D6B10
-_020DC33C:
- mov r0, r8
- bl CTRDGi_ReadSrFunc
- cmp r0, r7
- beq _020DC390
- ldrh r0, [r5, #0x0]
- cmp r0, #0x0
- beq _020DC33C
- mov r0, r8
- bl CTRDGi_ReadSrFunc
-_020DC360: ; 0x020DC360
- cmp r7, r0
- beq _020DC390
- ldr r0, _020DC3AC ; =0x021D6B20
- ldr r0, [r0, #0x0]
- ldrh r0, [r0, #0x18]
- cmp r0, #0xc2
- ldreq r0, _020DC3B0 ; =0x0A005555
- moveq r1, #0xf0
- streqb r1, [r0, #0x0]
- orr r0, r4, #0xc000
- mov r0, r0, lsl #0x10
- mov r6, r0, lsr #0x10
-_020DC390:
- bl CTRDG_IsExisting
-_020DC394: ; 0x020DC394
- cmp r0, #0x0
- moveq r6, #0x1000
- mov r0, r6
- ldmia sp!, {r4-r8,lr}
- bx lr
- .balign 4
-_020DC3A8: .word 0x021D6B10
-_020DC3AC: .word 0x021D6B20
-_020DC3B0: .word 0x0A005555
-
- arm_func_start CTRDGi_ReadSrFunc
-CTRDGi_ReadSrFunc:
- ldrb r0, [r0, #0x0]
- bx lr
-
- arm_func_start CheckFlashTimer
-CheckFlashTimer: ; 0x020DC3BC
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- bl OS_GetTick
- ldr r3, _020DC420 ; =0x021D6B44
- ldr r2, _020DC424 ; =0x000082EA
- ldr r12, [r3, #0x0]
- ldr r3, [r3, #0x4]
- subs r12, r0, r12
- sbc r0, r1, r3
- mov r1, r0, lsl #0x6
- orr r1, r1, r12, lsr #0x1a
- mov r0, r12, lsl #0x6
- mov r3, #0x0
- bl _ll_udiv
- ldr r2, _020DC428 ; =0x021D6B3C
- ldr r3, [r2, #0x4]
- ldr r2, [r2, #0x0]
- cmp r3, r1
- cmpeq r2, r0
- ldrls r0, _020DC42C ; =0x021D6B10
- movls r1, #0x1
- strlsh r1, [r0, #0x0]
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020DC420: .word 0x021D6B44
-_020DC424: .word 0x000082EA
-_020DC428: .word 0x021D6B3C
-_020DC42C: .word 0x021D6B10
-
- arm_func_start StartFlashTimer
-StartFlashTimer: ; 0x020DC430
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r1, _020DC47C ; =0x021D6B28
- ldr r2, _020DC480 ; =0x021D6B10
- mov r3, #0x0
- ldr r1, [r1, #0x0]
- strh r3, [r2, #0x0]
- mov r0, r0, lsl #0x1
- ldrh r1, [r1, r0]
- ldr r0, _020DC484 ; =0x021D6B3C
- str r1, [r0, #0x0]
- str r3, [r0, #0x4]
- bl OS_GetTick
- ldr r2, _020DC488 ; =0x021D6B44
- str r0, [r2, #0x0]
- str r1, [r2, #0x4]
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020DC47C: .word 0x021D6B28
-_020DC480: .word 0x021D6B10
-_020DC484: .word 0x021D6B3C
-_020DC488: .word 0x021D6B44
-
- arm_func_start CTRDGi_ReadFlashID
-CTRDGi_ReadFlashID: ; 0x020DC48C
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- ldr r5, _020DC590 ; =0x04000208
- mov r0, #0x0
- ldrh r2, [r5, #0x0]
- ldr r1, _020DC594 ; =0x021D6B38
- ldr r4, _020DC598 ; =0x0A005555
- strh r0, [r5, #0x0]
- str r2, [r1, #0x0]
- mov r3, #0xaa
- ldr r2, _020DC59C ; =0x0A002AAA
- strb r3, [r4, #0x0]
- mov r3, #0x55
- strb r3, [r2, #0x0]
- mov r2, #0x90
- strb r2, [r4, #0x0]
- ldrh r2, [r5, #0x0]
- ldr r1, [r1, #0x0]
- strh r1, [r5, #0x0]
- bl StartFlashTimer
- ldr r4, _020DC5A0 ; =0x021D6B10
- ldrh r0, [r4, #0x0]
- cmp r0, #0x0
- bne _020DC4FC
-_020DC4EC:
- bl CheckFlashTimer
- ldrh r0, [r4, #0x0]
- cmp r0, #0x0
- beq _020DC4EC
-_020DC4FC:
- ldr r0, _020DC5A4 ; =0x0A000001
- bl CTRDGi_ReadSrFunc
- mov r4, r0, lsl #0x18
- mov r0, #0xa000000
- bl CTRDGi_ReadSrFunc
- ldr ip, _020DC590 ; =0x04000208
- orr r4, r0, r4, lsr #0x10
- ldrh r2, [r12, #0x0]
- mov r0, #0x0
- ldr r1, _020DC594 ; =0x021D6B38
- strh r0, [r12, #0x0]
- ldr r5, _020DC598 ; =0x0A005555
- str r2, [r1, #0x0]
- mov r3, #0xaa
- ldr r2, _020DC59C ; =0x0A002AAA
- strb r3, [r5, #0x0]
- mov r3, #0x55
- strb r3, [r2, #0x0]
- mov r2, #0xf0
- strb r2, [r5, #0x0]
- strb r2, [r5, #0x0]
- ldrh r2, [r12, #0x0]
- ldr r1, [r1, #0x0]
- strh r1, [r12, #0x0]
- bl StartFlashTimer
- ldr r5, _020DC5A0 ; =0x021D6B10
- ldrh r0, [r5, #0x0]
- cmp r0, #0x0
- bne _020DC580
-_020DC570:
- bl CheckFlashTimer
- ldrh r0, [r5, #0x0]
- cmp r0, #0x0
- beq _020DC570
-_020DC580:
- mov r0, r4
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
- .balign 4
-_020DC590: .word 0x04000208
-_020DC594: .word 0x021D6B38
-_020DC598: .word 0x0A005555
-_020DC59C: .word 0x0A002AAA
-_020DC5A0: .word 0x021D6B10
-_020DC5A4: .word 0x0A000001
-
- arm_func_start CTRDGi_SetFlashBankMx
-CTRDGi_SetFlashBankMx: ; 0x020DC5A8
- ldr r3, _020DC5D4 ; =0x0A005555
- mov r2, #0xaa
- ldr r1, _020DC5D8 ; =0x0A002AAA
- strb r2, [r3, #0x0]
- mov r2, #0x55
- strb r2, [r1, #0x0]
- mov r1, #0xb0
- strb r1, [r3, #0x0]
- mov r1, #0xa000000
- strb r0, [r1, #0x0]
- bx lr
- .balign 4
-_020DC5D4: .word 0x0A005555
-_020DC5D8: .word 0x0A002AAA
-
- arm_func_start CTRDGi_WriteFlashSectorAsyncAT
-CTRDGi_WriteFlashSectorAsyncAT: ; 0x020DC5DC
- stmdb sp!, {lr}
- sub sp, sp, #0x24
- str r1, [sp, #0xc]
- strh r0, [sp, #0x20]
- ldr r1, _020DC604 ; =CTRDGi_WriteFlashSectorCoreAT
- add r0, sp, #0x0
- bl CTRDGi_SetTask
- add sp, sp, #0x24
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020DC604: .word CTRDGi_WriteFlashSectorCoreAT
-
- arm_func_start CTRDGi_EraseFlashSectorAsyncAT
-CTRDGi_EraseFlashSectorAsyncAT: ; 0x020DC608
- stmdb sp!, {lr}
- sub sp, sp, #0x24
- mov r2, r1
- strh r0, [sp, #0x20]
- ldr r1, _020DC630 ; =CTRDGi_EraseFlashSectorCoreAT
- add r0, sp, #0x0
- bl CTRDGi_SetTask
- add sp, sp, #0x24
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020DC630: .word CTRDGi_EraseFlashSectorCoreAT
-
- arm_func_start CTRDGi_WriteFlashSectorAT
-CTRDGi_WriteFlashSectorAT: ; 0x020DC634
- stmdb sp!, {lr}
- sub sp, sp, #0x24
- strh r0, [sp, #0x20]
- add r0, sp, #0x0
- str r1, [sp, #0xc]
- bl CTRDGi_WriteFlashSectorCoreAT
- mov r0, r0, lsl #0x10
- mov r0, r0, lsr #0x10
- add sp, sp, #0x24
- ldmia sp!, {lr}
- bx lr
-
- arm_func_start CTRDGi_EraseFlashSectorAT
-CTRDGi_EraseFlashSectorAT:
- stmdb sp!, {lr}
- sub sp, sp, #0x24
- strh r0, [sp, #0x20]
- add r0, sp, #0x0
- bl CTRDGi_EraseFlashSectorCoreAT
- mov r0, r0, lsl #0x10
- mov r0, r0, lsr #0x10
- add sp, sp, #0x24
- ldmia sp!, {lr}
- bx lr
-
- arm_func_start CTRDGi_WriteFlash4KBAsyncAT
-CTRDGi_WriteFlash4KBAsyncAT: ; 0x020DC688
- stmdb sp!, {lr}
- sub sp, sp, #0x24
- str r1, [sp, #0xc]
- strh r0, [sp, #0x20]
- ldr r1, _020DC6B0 ; =CTRDGi_WriteFlash4KBCoreAT
- add r0, sp, #0x0
- bl CTRDGi_SetTask
- add sp, sp, #0x24
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020DC6B0: .word CTRDGi_WriteFlash4KBCoreAT
-
- arm_func_start CTRDGi_EraseFlash4KBAsyncAT
-CTRDGi_EraseFlash4KBAsyncAT: ; 0x020DC6B4
- stmdb sp!, {lr}
- sub sp, sp, #0x24
- mov r2, r1
- strh r0, [sp, #0x20]
- ldr r1, _020DC6DC ; =CTRDGi_EraseFlash4KBCoreAT
- add r0, sp, #0x0
- bl CTRDGi_SetTask
- add sp, sp, #0x24
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020DC6DC: .word CTRDGi_EraseFlash4KBCoreAT
-
- arm_func_start CTRDGi_EraseFlashChipAsyncAT
-CTRDGi_EraseFlashChipAsyncAT: ; 0x020DC6E0
- stmdb sp!, {lr}
- sub sp, sp, #0x24
- ldr r1, _020DC704 ; =CTRDGi_EraseFlashChipCoreAT
- mov r2, r0
- add r0, sp, #0x0
- bl CTRDGi_SetTask
- add sp, sp, #0x24
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020DC704: .word CTRDGi_EraseFlashChipCoreAT
-
- arm_func_start CTRDGi_WriteFlash4KBAT
-CTRDGi_WriteFlash4KBAT: ; 0x020DC708
- stmdb sp!, {lr}
- sub sp, sp, #0x24
- strh r0, [sp, #0x20]
- add r0, sp, #0x0
- str r1, [sp, #0xc]
- bl CTRDGi_WriteFlash4KBCoreAT
- mov r0, r0, lsl #0x10
- mov r0, r0, lsr #0x10
- add sp, sp, #0x24
- ldmia sp!, {lr}
- bx lr
-
- arm_func_start CTRDGi_EraseFlash4KBAT
-CTRDGi_EraseFlash4KBAT: ; 0x020DC734
- stmdb sp!, {lr}
- sub sp, sp, #0x24
- strh r0, [sp, #0x20]
- add r0, sp, #0x0
- bl CTRDGi_EraseFlash4KBCoreAT
- mov r0, r0, lsl #0x10
- mov r0, r0, lsr #0x10
- add sp, sp, #0x24
- ldmia sp!, {lr}
- bx lr
-
- arm_func_start CTRDGi_EraseFlashChipAT
-CTRDGi_EraseFlashChipAT: ; 0x020DC75C
- stmdb sp!, {lr}
- sub sp, sp, #0x24
- add r0, sp, #0x0
- bl CTRDGi_EraseFlashChipCoreAT
- mov r0, r0, lsl #0x10
- mov r0, r0, lsr #0x10
- add sp, sp, #0x24
- ldmia sp!, {lr}
- bx lr
-
- arm_func_start CTRDGi_WriteFlash4KBCoreAT
-CTRDGi_WriteFlash4KBCoreAT: ; 0x020DC780
- stmdb sp!, {r4-r9,lr}
- sub sp, sp, #0x24
- mov r5, r0
- ldmia r5!, {r0-r3}
- add r4, sp, #0x0
- stmia r4!, {r0-r3}
- ldmia r5!, {r0-r3}
- stmia r4!, {r0-r3}
- ldr r0, [r5, #0x0]
- str r0, [r4, #0x0]
- ldrh r0, [sp, #0x20]
- ldr r7, [sp, #0xc]
- cmp r0, #0x10
- addcs sp, sp, #0x24
- ldrhs r0, _020DC85C ; =0x000080FF
- ldmcsia sp!, {r4-r9,lr}
- bxcs lr
- ldr r1, _020DC860 ; =0x0210400C
- mov r0, r0, lsl #0x15
- ldr r1, [r1, #0x24]
- ldr r4, _020DC864 ; =0x021D6B08
- mov r8, r0, lsr #0x10
- strh r1, [r4, #0x0]
- ldrh r0, [r4, #0x0]
- cmp r0, #0x0
- beq _020DC84C
- ldr r0, _020DC868 ; =0x02104048
- ldr r6, [r0, #0x24]
- mov r5, #0x2
-_020DC7F4:
- mov r9, r5
-_020DC7F8:
- mov r0, r8
- mov r1, r7
- bl CTRDGi_WriteFlashSectorAT
- movs r12, r0
- beq _020DC81C
- sub r0, r9, #0x1
- mov r0, r0, lsl #0x10
- movs r9, r0, lsr #0x10
- bne _020DC7F8
-_020DC81C:
- cmp r12, #0x0
- bne _020DC84C
- ldrh r1, [r4, #0x0]
- add r0, r8, #0x1
- mov r0, r0, lsl #0x10
- sub r1, r1, r6
- strh r1, [r4, #0x0]
- ldrh r1, [r4, #0x0]
- add r7, r7, r6
- mov r8, r0, lsr #0x10
- cmp r1, #0x0
- bne _020DC7F4
-_020DC84C:
- mov r0, r12
- add sp, sp, #0x24
- ldmia sp!, {r4-r9,lr}
- bx lr
- .balign 4
-_020DC85C: .word 0x000080FF
-_020DC860: .word 0x0210400C
-_020DC864: .word 0x021D6B08
-_020DC868: .word 0x02104048
-
- arm_func_start CTRDGi_WriteFlashSectorCoreAT
-CTRDGi_WriteFlashSectorCoreAT: ; 0x020DC86C
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x24
- mov r5, r0
- add r4, sp, #0x0
- ldmia r5!, {r0-r3}
- stmia r4!, {r0-r3}
- ldmia r5!, {r0-r3}
- stmia r4!, {r0-r3}
- ldr r0, _020DC984 ; =0x021D6B0C
- ldr r1, [r5, #0x0]
- ldrh r0, [r0, #0x0]
- str r1, [r4, #0x0]
- ldr r4, [sp, #0xc]
- bl OS_LockCartridge
- ldr r5, _020DC988 ; =0x04000204
- ldr r1, _020DC98C ; =0x021D6B20
- ldrh r0, [r5, #0x0]
- ldr r1, [r1, #0x0]
- ldrh r2, [r5, #0x0]
- ldr r3, [r1, #0x10]
- ldr r1, _020DC990 ; =0x02104048
- bic r2, r2, #0x3
- orr r2, r2, r3
- strh r2, [r5, #0x0]
- ldr r5, _020DC994 ; =0x04000208
- ldrh lr, [sp, #0x20]
- ldrh r12, [r1, #0x28]
- ldrh r2, [r5, #0x0]
- mov r3, #0x0
- mov lr, lr, lsl r12
- strh r3, [r5, #0x0]
- ldr ip, _020DC998 ; =0x0A005555
- mov r5, #0xaa
- strb r5, [r12, #0x0]
- ldr r3, _020DC99C ; =0x0A002AAA
- mov r5, #0x55
- strb r5, [r3, #0x0]
- mov r3, #0xa0
- strb r3, [r12, #0x0]
- ldr r3, [r1, #0x24]
- and r5, r0, #0x3
- cmp r3, #0x0
- add r1, lr, #0xa000000
- beq _020DC92C
-_020DC91C:
- ldrb r0, [r4], #0x1
- subs r3, r3, #0x1
- strb r0, [r1], #0x1
- bne _020DC91C
-_020DC92C:
- ldr ip, _020DC994 ; =0x04000208
- ldr r3, _020DC9A0 ; =0x021D6B24
- ldrh r0, [r12, #0x0]
- sub r1, r1, #0x1
- mov r0, #0x1
- strh r2, [r12, #0x0]
- ldrb r2, [r4, #-0x1]
- ldr r3, [r3, #0x0]
- blx r3
- ldr r3, _020DC988 ; =0x04000204
- ldr r1, _020DC984 ; =0x021D6B0C
- ldrh r2, [r3, #0x0]
- mov r4, r0
- bic r0, r2, #0x3
- orr r0, r0, r5
- strh r0, [r3, #0x0]
- ldrh r0, [r1, #0x0]
- bl OS_UnlockCartridge2
- mov r0, r4
- add sp, sp, #0x24
- ldmia sp!, {r4-r5,lr}
- bx lr
- .balign 4
-_020DC984: .word 0x021D6B0C
-_020DC988: .word 0x04000204
-_020DC98C: .word 0x021D6B20
-_020DC990: .word 0x02104048
-_020DC994: .word 0x04000208
-_020DC998: .word 0x0A005555
-_020DC99C: .word 0x0A002AAA
-_020DC9A0: .word 0x021D6B24
-
- arm_func_start CTRDGi_EraseFlash4KBCoreAT
-CTRDGi_EraseFlash4KBCoreAT: ; 0x020DC9A4
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x24
- mov r5, r0
- ldmia r5!, {r0-r3}
- add r4, sp, #0x0
- stmia r4!, {r0-r3}
- ldmia r5!, {r0-r3}
- stmia r4!, {r0-r3}
- ldr r0, [r5, #0x0]
- str r0, [r4, #0x0]
- ldrh r0, [sp, #0x20]
- cmp r0, #0x10
- addcs sp, sp, #0x24
- ldrhs r0, _020DCA54 ; =0x000080FF
- ldmcsia sp!, {r4-r7,lr}
- bxcs lr
- mov r0, r0, lsl #0x15
- mov r5, r0, lsr #0x10
- mov r6, #0x0
- mov r4, #0x2
-_020DC9F4:
- mov r7, r4
-_020DC9F8:
- mov r0, r5
- bl CTRDGi_EraseFlashSectorAT
-_020DCA00: ; 0x020DCA00
- cmp r0, #0x0
- beq _020DCA18
- sub r1, r7, #0x1
- mov r1, r1, lsl #0x10
- movs r7, r1, lsr #0x10
- bne _020DC9F8
-_020DCA18:
- add r1, r5, #0x1
- mov r1, r1, lsl #0x10
- cmp r0, #0x0
- mov r5, r1, lsr #0x10
- addne sp, sp, #0x24
- ldmneia sp!, {r4-r7,lr}
- bxne lr
- add r1, r6, #0x1
- mov r1, r1, lsl #0x10
- mov r6, r1, lsr #0x10
- cmp r6, #0x20
- blo _020DC9F4
- add sp, sp, #0x24
- ldmia sp!, {r4-r7,lr}
- bx lr
- .balign 4
-_020DCA54: .word 0x000080FF
-
- arm_func_start CTRDGi_EraseFlashSectorCoreAT
-CTRDGi_EraseFlashSectorCoreAT: ; 0x020DCA58
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x24
- mov r5, r0
- ldmia r5!, {r0-r3}
- add r4, sp, #0x0
- stmia r4!, {r0-r3}
- ldmia r5!, {r0-r3}
- stmia r4!, {r0-r3}
- ldr r0, [r5, #0x0]
- ldr r1, _020DCB80 ; =0x02104048
- str r0, [r4, #0x0]
- ldr r0, _020DCB84 ; =0x021D6B0C
- ldrh r2, [sp, #0x20]
- ldrh r1, [r1, #0x28]
- ldrh r0, [r0, #0x0]
- mov r1, r2, lsl r1
- add r5, r1, #0xa000000
- bl OS_LockCartridge
- ldr r4, _020DCB88 ; =0x04000204
- ldr r1, _020DCB8C ; =0x021D6B20
- ldrh r0, [r4, #0x0]
- ldr r2, [r1, #0x0]
- ldrh r1, [r4, #0x0]
- ldr r2, [r2, #0x10]
- ldr r3, _020DCB90 ; =0x04000208
- bic r1, r1, #0x3
- orr r1, r1, r2
- strh r1, [r4, #0x0]
- ldrh r2, [r3, #0x0]
- mov r1, #0x0
- ldr r4, _020DCB94 ; =0x0A005555
- strh r1, [r3, #0x0]
- mov r3, #0xaa
- strb r3, [r4, #0x0]
- ldr r1, _020DCB98 ; =0x0A002AAA
- mov r3, #0x55
- strb r3, [r1, #0x0]
- mov r3, #0xa0
- strb r3, [r4, #0x0]
- ldr r1, _020DCB80 ; =0x02104048
- and r4, r0, #0x3
- ldr r1, [r1, #0x24]
- cmp r1, #0x0
- beq _020DCB18
- mov r0, #0xff
-_020DCB0C:
- strb r0, [r5], #0x1
- subs r1, r1, #0x1
- bne _020DCB0C
-_020DCB18:
- ldr ip, _020DCB90 ; =0x04000208
- ldr r3, _020DCB9C ; =0x021D6B24
- ldrh r0, [r12, #0x0]
- sub r1, r5, #0x1
- strh r2, [r12, #0x0]
- ldr r3, [r3, #0x0]
- mov r0, #0x1
- mov r2, #0xff
- blx r3
- ldr r2, _020DCB88 ; =0x04000204
- movs r5, r0
- ldrh r1, [r2, #0x0]
- andne r0, r5, #0xff00
- orrne r0, r0, #0x2
- movne r0, r0, lsl #0x10
- bic r1, r1, #0x3
- movne r5, r0, lsr #0x10
- orr r1, r1, r4
- ldr r0, _020DCB84 ; =0x021D6B0C
- strh r1, [r2, #0x0]
- ldrh r0, [r0, #0x0]
- bl OS_UnlockCartridge2
- mov r0, r5
- add sp, sp, #0x24
- ldmia sp!, {r4-r5,lr}
- bx lr
- .balign 4
-_020DCB80: .word 0x02104048
-_020DCB84: .word 0x021D6B0C
-_020DCB88: .word 0x04000204
-_020DCB8C: .word 0x021D6B20
-_020DCB90: .word 0x04000208
-_020DCB94: .word 0x0A005555
-_020DCB98: .word 0x0A002AAA
-_020DCB9C: .word 0x021D6B24
-
- arm_func_start CTRDGi_EraseFlashChipCoreAT
-CTRDGi_EraseFlashChipCoreAT: ; 0x020DCBA0
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- ldr r0, _020DCC7C ; =0x021D6B0C
- ldrh r0, [r0, #0x0]
- bl OS_LockCartridge
- ldr r4, _020DCC80 ; =0x04000204
- ldr r0, _020DCC84 ; =0x021D6B20
- ldrh r3, [r4, #0x0]
- ldr r0, [r0, #0x0]
- ldrh r1, [r4, #0x0]
- ldr r2, [r0, #0x10]
- ldr r0, _020DCC88 ; =0x04000208
- bic r1, r1, #0x3
- orr r1, r1, r2
- strh r1, [r4, #0x0]
- ldrh r4, [r0, #0x0]
- mov r2, #0x0
- ldr r1, _020DCC8C ; =0x021D6B38
- strh r2, [r0, #0x0]
- ldr lr, _020DCC90 ; =0x0A005555
- str r4, [r1, #0x0]
- mov r5, #0xaa
- ldr r4, _020DCC94 ; =0x0A002AAA
- strb r5, [lr, #0x0]
- mov r12, #0x55
- strb r12, [r4, #0x0]
- mov r2, #0x80
- strb r2, [lr, #0x0]
- strb r5, [lr, #0x0]
- strb r12, [r4, #0x0]
- mov r2, #0x10
- strb r2, [lr, #0x0]
- ldrh r2, [r0, #0x0]
- ldr r2, [r1, #0x0]
- ldr r1, _020DCC98 ; =0x021D6B24
- strh r2, [r0, #0x0]
- ldr r4, [r1, #0x0]
- mov r0, #0x3
- mov r1, #0xa000000
- mov r2, #0xff
- and r5, r3, #0x3
- blx r4
- ldr r3, _020DCC80 ; =0x04000204
- ldr r1, _020DCC7C ; =0x021D6B0C
- ldrh r2, [r3, #0x0]
- mov r4, r0
- bic r0, r2, #0x3
- orr r0, r0, r5
- strh r0, [r3, #0x0]
- ldrh r0, [r1, #0x0]
- bl OS_UnlockCartridge2
- mov r0, r4
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
- .balign 4
-_020DCC7C: .word 0x021D6B0C
-_020DCC80: .word 0x04000204
-_020DCC84: .word 0x021D6B20
-_020DCC88: .word 0x04000208
-_020DCC8C: .word 0x021D6B38
-_020DCC90: .word 0x0A005555
-_020DCC94: .word 0x0A002AAA
-_020DCC98: .word 0x021D6B24
-
- arm_func_start CTRDGi_WriteFlashSectorAsyncLE
-CTRDGi_WriteFlashSectorAsyncLE: ; 0x020DCC9C
- stmdb sp!, {lr}
- sub sp, sp, #0x24
- str r1, [sp, #0xc]
- strh r0, [sp, #0x20]
- ldr r1, _020DCCC4 ; =CTRDGi_WriteFlashSectorCoreLE
- add r0, sp, #0x0
- bl CTRDGi_SetTask
- add sp, sp, #0x24
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020DCCC4: .word CTRDGi_WriteFlashSectorCoreLE
-
- arm_func_start CTRDGi_EraseFlashSectorAsyncLE
-CTRDGi_EraseFlashSectorAsyncLE: ; 0x020DCCC8
- stmdb sp!, {lr}
- sub sp, sp, #0x24
- mov r2, r1
- strh r0, [sp, #0x20]
- ldr r1, _020DCCF0 ; =CTRDGi_EraseFlashSectorCoreLE
- add r0, sp, #0x0
- bl CTRDGi_SetTask
- add sp, sp, #0x24
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020DCCF0: .word CTRDGi_EraseFlashSectorCoreLE
-
- arm_func_start CTRDGi_EraseFlashChipAsyncLE
-CTRDGi_EraseFlashChipAsyncLE: ; 0x020DCCF4
- stmdb sp!, {lr}
- sub sp, sp, #0x24
- ldr r1, _020DCD18 ; =CTRDGi_EraseFlashChipCoreLE
- mov r2, r0
- add r0, sp, #0x0
- bl CTRDGi_SetTask
- add sp, sp, #0x24
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020DCD18: .word CTRDGi_EraseFlashChipCoreLE
-
- arm_func_start CTRDGi_WriteFlashSectorLE
-CTRDGi_WriteFlashSectorLE: ; 0x020DCD1C
- stmdb sp!, {lr}
- sub sp, sp, #0x24
- strh r0, [sp, #0x20]
- add r0, sp, #0x0
- str r1, [sp, #0xc]
- bl CTRDGi_WriteFlashSectorCoreLE
- mov r0, r0, lsl #0x10
- mov r0, r0, lsr #0x10
- add sp, sp, #0x24
- ldmia sp!, {lr}
- bx lr
-
- arm_func_start CTRDGi_EraseFlashSectorLE
-CTRDGi_EraseFlashSectorLE: ; 0x020DCD48
- stmdb sp!, {lr}
- sub sp, sp, #0x24
- strh r0, [sp, #0x20]
- add r0, sp, #0x0
- bl CTRDGi_EraseFlashSectorCoreLE
- mov r0, r0, lsl #0x10
- mov r0, r0, lsr #0x10
- add sp, sp, #0x24
- ldmia sp!, {lr}
- bx lr
-
- arm_func_start CTRDGi_EraseFlashChipLE
-CTRDGi_EraseFlashChipLE: ; 0x020DCD70
- stmdb sp!, {lr}
- sub sp, sp, #0x24
- add r0, sp, #0x0
- bl CTRDGi_EraseFlashChipCoreLE
- mov r0, r0, lsl #0x10
- mov r0, r0, lsr #0x10
- add sp, sp, #0x24
- ldmia sp!, {lr}
- bx lr
-
- arm_func_start CTRDGi_VerifyFlashErase
-CTRDGi_VerifyFlashErase: ; 0x020DCD94
- stmdb sp!, {r4-r6,lr}
- ldr r2, _020DCE14 ; =0x021D6B0C
- mov r4, r0
- ldrh r0, [r2, #0x0]
- mov r5, r1
- bl OS_LockCartridge
- ldr ip, _020DCE18 ; =0x04000204
- ldr r0, _020DCE1C ; =0x021D6B20
- ldrh r3, [r12, #0x0]
- ldr r0, [r0, #0x0]
- ldrh r1, [r12, #0x0]
- ldr r2, [r0, #0x10]
- mov r0, r4
- bic r1, r1, #0x3
- orr r1, r1, r2
- strh r1, [r12, #0x0]
- and r6, r3, #0x3
- mov r4, #0x0
- blx r5
- cmp r0, #0x0
- ldr r2, _020DCE18 ; =0x04000204
- ldr r0, _020DCE14 ; =0x021D6B0C
- ldrh r1, [r2, #0x0]
- ldrne r4, _020DCE20 ; =0x00008004
- bic r1, r1, #0x3
- orr r1, r1, r6
- strh r1, [r2, #0x0]
- ldrh r0, [r0, #0x0]
- bl OS_UnlockCartridge2
- mov r0, r4
- ldmia sp!, {r4-r6,lr}
- bx lr
- .balign 4
-_020DCE14: .word 0x021D6B0C
-_020DCE18: .word 0x04000204
-_020DCE1C: .word 0x021D6B20
-_020DCE20: .word 0x00008004
-
- arm_func_start CTRDGi_VerifyFlashCoreFF
-CTRDGi_VerifyFlashCoreFF: ; 0x020DCE24
- ldr r1, _020DCE54 ; =0x021D6B20
- ldr r1, [r1, #0x0]
- ldr r2, [r1, #0x4]
- cmp r2, #0x0
- beq _020DCE4C
-_020DCE38:
- ldrb r1, [r0], #0x1
- cmp r1, #0xff
- bne _020DCE4C
- subs r2, r2, #0x1
- bne _020DCE38
-_020DCE4C:
- mov r0, r2
- bx lr
- .balign 4
-_020DCE54: .word 0x021D6B20
-
- arm_func_start CTRDGi_WriteFlashSectorCoreLE
-CTRDGi_WriteFlashSectorCoreLE: ; 0x020DCE58
- stmdb sp!, {r4-r9,lr}
- sub sp, sp, #0x24
- mov r5, r0
- ldmia r5!, {r0-r3}
- add r4, sp, #0x0
- stmia r4!, {r0-r3}
- ldmia r5!, {r0-r3}
- stmia r4!, {r0-r3}
- ldr r0, [r5, #0x0]
- str r0, [r4, #0x0]
- ldrh r7, [sp, #0x20]
- ldr r6, [sp, #0xc]
- cmp r7, #0x10
- addcs sp, sp, #0x24
- ldrhs r0, _020DD018 ; =0x000080FF
- ldmcsia sp!, {r4-r9,lr}
- bxcs lr
- ldr r0, _020DD01C ; =0x021D6B20
- mov r9, #0x0
- ldr r0, [r0, #0x0]
- ldrh r0, [r0, #0x8]
- mov r0, r7, lsl r0
- add r4, r0, #0xa000000
- ldr r5, _020DD020 ; =CTRDGi_VerifyFlashCoreFF
-_020DCEB8:
- mov r0, r7
- bl CTRDGi_EraseFlashSectorLE
- movs r8, r0
- bne _020DCEE0
- mov r0, r4
- mov r1, r5
- bl CTRDGi_VerifyFlashErase
- mov r0, r0, lsl #0x10
- movs r8, r0, lsr #0x10
- beq _020DCF04
-_020DCEE0:
- add r0, r9, #0x1
- mov r0, r0, lsl #0x10
- cmp r9, #0x50
- mov r9, r0, lsr #0x10
- bne _020DCEB8
- add sp, sp, #0x24
- mov r0, r8
- ldmia sp!, {r4-r9,lr}
- bx lr
-_020DCF04:
- mov r5, #0x1
- cmp r9, #0x0
- movne r5, #0x6
- cmp r5, #0x1
- mov r9, #0x1
- blo _020DCF38
-_020DCF1C:
- mov r0, r7
- bl CTRDGi_EraseFlashSectorLE
- add r0, r9, #0x1
- mov r0, r0, lsl #0x10
- mov r9, r0, lsr #0x10
- cmp r9, r5
- bls _020DCF1C
-_020DCF38:
- ldr r0, _020DD024 ; =0x021D6B0C
- ldrh r0, [r0, #0x0]
- bl OS_LockCartridge
- ldr r5, _020DD028 ; =0x04000204
- ldr r1, _020DD01C ; =0x021D6B20
- ldrh r0, [r5, #0x0]
- ldr r3, [r1, #0x0]
- ldrh r2, [r5, #0x0]
- ldr r3, [r3, #0x10]
- ldr r7, _020DD02C ; =0x021D6B08
- bic r2, r2, #0x3
- orr r2, r2, r3
- strh r2, [r5, #0x0]
- ldr r1, [r1, #0x0]
- ldr sb, _020DD030 ; =0x04000208
- ldr r1, [r1, #0x4]
- mov r2, #0x0
- strh r1, [r7, #0x0]
- ldrh r3, [r9, #0x0]
- ldr r1, _020DD034 ; =0x021D6B38
- and r5, r0, #0x3
- strh r2, [r9, #0x0]
- ldrh r0, [r7, #0x0]
- str r3, [r1, #0x0]
- cmp r0, #0x0
- beq _020DCFD4
-_020DCFA0:
- mov r0, r6
- mov r1, r4
- bl CTRDGi_ProgramFlashByteLE
- movs r8, r0
- bne _020DCFD4
- ldrh r0, [r7, #0x0]
- add r6, r6, #0x1
- add r4, r4, #0x1
- sub r0, r0, #0x1
- strh r0, [r7, #0x0]
- ldrh r0, [r7, #0x0]
- cmp r0, #0x0
- bne _020DCFA0
-_020DCFD4:
- ldr r3, _020DD030 ; =0x04000208
- ldr r0, _020DD034 ; =0x021D6B38
- ldrh r1, [r3, #0x0]
- ldr r0, [r0, #0x0]
- ldr r2, _020DD028 ; =0x04000204
- strh r0, [r3, #0x0]
- ldrh r1, [r2, #0x0]
- ldr r0, _020DD024 ; =0x021D6B0C
- bic r1, r1, #0x3
- orr r1, r1, r5
- strh r1, [r2, #0x0]
- ldrh r0, [r0, #0x0]
- bl OS_UnlockCartridge2
- mov r0, r8
- add sp, sp, #0x24
- ldmia sp!, {r4-r9,lr}
- bx lr
- .balign 4
-_020DD018: .word 0x000080FF
-_020DD01C: .word 0x021D6B20
-_020DD020: .word CTRDGi_VerifyFlashCoreFF
-_020DD024: .word 0x021D6B0C
-_020DD028: .word 0x04000204
-_020DD02C: .word 0x021D6B08
-_020DD030: .word 0x04000208
-_020DD034: .word 0x021D6B38
-
- arm_func_start CTRDGi_ProgramFlashByteLE
-CTRDGi_ProgramFlashByteLE: ; 0x020DD038
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr ip, _020DD08C ; =0x0A005555
- mov r3, #0xaa
- ldr r2, _020DD090 ; =0x0A002AAA
- strb r3, [r12, #0x0]
- mov r3, #0x55
- mov lr, r0
- strb r3, [r2, #0x0]
- mov r0, #0xa0
- strb r0, [r12, #0x0]
- ldrb r2, [lr, #0x0]
- ldr r3, _020DD094 ; =0x021D6B24
- mov r0, #0x1
- strb r2, [r1, #0x0]
- ldrb r2, [lr, #0x0]
- ldr r3, [r3, #0x0]
- blx r3
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020DD08C: .word 0x0A005555
-_020DD090: .word 0x0A002AAA
-_020DD094: .word 0x021D6B24
-
- arm_func_start CTRDGi_EraseFlashSectorCoreLE
-CTRDGi_EraseFlashSectorCoreLE: ; 0x020DD098
- stmdb sp!, {r4-r6,lr}
- sub sp, sp, #0x28
- mov r5, r0
- ldmia r5!, {r0-r3}
- add r4, sp, #0x0
- stmia r4!, {r0-r3}
- ldmia r5!, {r0-r3}
- stmia r4!, {r0-r3}
- ldr r0, [r5, #0x0]
- str r0, [r4, #0x0]
- ldrh r4, [sp, #0x20]
- cmp r4, #0x10
- addcs sp, sp, #0x28
- ldrhs r0, _020DD1B8 ; =0x000080FF
- ldmcsia sp!, {r4-r6,lr}
- bxcs lr
- ldr r0, _020DD1BC ; =0x021D6B0C
- ldrh r0, [r0, #0x0]
- bl OS_LockCartridge
- ldr r6, _020DD1C0 ; =0x04000204
- ldr r1, _020DD1C4 ; =0x021D6B20
- ldrh r3, [r6, #0x0]
- ldr r0, [r1, #0x0]
- ldrh r2, [r6, #0x0]
- ldr r5, [r0, #0x10]
- ldr r0, _020DD1C8 ; =0x04000208
- bic r2, r2, #0x3
- orr r2, r2, r5
- strh r2, [r6, #0x0]
- ldr r1, [r1, #0x0]
- ldrh r5, [r0, #0x0]
- ldrh r12, [r1, #0x8]
- mov r1, #0x0
- ldr r2, _020DD1CC ; =0x021D6B38
- strh r1, [r0, #0x0]
- mov r6, r4, lsl r12
- ldr lr, _020DD1D0 ; =0x0A005555
- str r5, [r2, #0x0]
- mov r5, #0xaa
- ldr r4, _020DD1D4 ; =0x0A002AAA
- strb r5, [lr, #0x0]
- mov r12, #0x55
- strb r12, [r4, #0x0]
- mov r1, #0x80
- strb r1, [lr, #0x0]
- strb r5, [lr, #0x0]
- strb r12, [r4, #0x0]
- add r1, r6, #0xa000000
- mov r4, #0x30
- strb r4, [r1, #0x0]
- ldrh r4, [r0, #0x0]
- ldr r4, [r2, #0x0]
- ldr r2, _020DD1D8 ; =0x021D6B24
- strh r4, [r0, #0x0]
- ldr r4, [r2, #0x0]
- mov r0, #0x2
- mov r2, #0xff
- and r5, r3, #0x3
- blx r4
- ldr r3, _020DD1C0 ; =0x04000204
- ldr r1, _020DD1BC ; =0x021D6B0C
- ldrh r2, [r3, #0x0]
- mov r4, r0
- bic r0, r2, #0x3
- orr r0, r0, r5
- strh r0, [r3, #0x0]
- ldrh r0, [r1, #0x0]
- bl OS_UnlockCartridge2
- mov r0, r4
- add sp, sp, #0x28
- ldmia sp!, {r4-r6,lr}
- bx lr
- .balign 4
-_020DD1B8: .word 0x000080FF
-_020DD1BC: .word 0x021D6B0C
-_020DD1C0: .word 0x04000204
-_020DD1C4: .word 0x021D6B20
-_020DD1C8: .word 0x04000208
-_020DD1CC: .word 0x021D6B38
-_020DD1D0: .word 0x0A005555
-_020DD1D4: .word 0x0A002AAA
-_020DD1D8: .word 0x021D6B24
-
- arm_func_start CTRDGi_EraseFlashChipCoreLE
-CTRDGi_EraseFlashChipCoreLE: ; 0x020DD1DC
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- ldr r0, _020DD2B8 ; =0x021D6B0C
- ldrh r0, [r0, #0x0]
- bl OS_LockCartridge
- ldr r4, _020DD2BC ; =0x04000204
- ldr r0, _020DD2C0 ; =0x021D6B20
- ldrh r3, [r4, #0x0]
- ldr r0, [r0, #0x0]
- ldrh r1, [r4, #0x0]
- ldr r2, [r0, #0x10]
- ldr r0, _020DD2C4 ; =0x04000208
- bic r1, r1, #0x3
- orr r1, r1, r2
- strh r1, [r4, #0x0]
- ldrh r4, [r0, #0x0]
- mov r2, #0x0
- ldr r1, _020DD2C8 ; =0x021D6B38
- strh r2, [r0, #0x0]
- ldr lr, _020DD2CC ; =0x0A005555
- str r4, [r1, #0x0]
- mov r5, #0xaa
- ldr r4, _020DD2D0 ; =0x0A002AAA
- strb r5, [lr, #0x0]
- mov r12, #0x55
- strb r12, [r4, #0x0]
- mov r2, #0x80
- strb r2, [lr, #0x0]
- strb r5, [lr, #0x0]
- strb r12, [r4, #0x0]
- mov r2, #0x10
- strb r2, [lr, #0x0]
- ldrh r2, [r0, #0x0]
- ldr r2, [r1, #0x0]
- ldr r1, _020DD2D4 ; =0x021D6B24
- strh r2, [r0, #0x0]
- ldr r4, [r1, #0x0]
- mov r0, #0x3
- mov r1, #0xa000000
- mov r2, #0xff
- and r5, r3, #0x3
- blx r4
- ldr r3, _020DD2BC ; =0x04000204
- ldr r1, _020DD2B8 ; =0x021D6B0C
- ldrh r2, [r3, #0x0]
- mov r4, r0
- bic r0, r2, #0x3
- orr r0, r0, r5
- strh r0, [r3, #0x0]
- ldrh r0, [r1, #0x0]
- bl OS_UnlockCartridge2
- mov r0, r4
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
- .balign 4
-_020DD2B8: .word 0x021D6B0C
-_020DD2BC: .word 0x04000204
-_020DD2C0: .word 0x021D6B20
-_020DD2C4: .word 0x04000208
-_020DD2C8: .word 0x021D6B38
-_020DD2CC: .word 0x0A005555
-_020DD2D0: .word 0x0A002AAA
-_020DD2D4: .word 0x021D6B24
-
- arm_func_start CTRDGi_WriteFlashSectorAsyncMX
-CTRDGi_WriteFlashSectorAsyncMX: ; 0x020DD2D8
- stmdb sp!, {lr}
- sub sp, sp, #0x24
- str r1, [sp, #0xc]
- strh r0, [sp, #0x20]
- ldr r1, _020DD300 ; =CTRDGi_WriteFlashSectorCoreMX
- add r0, sp, #0x0
- bl CTRDGi_SetTask
- add sp, sp, #0x24
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020DD300: .word CTRDGi_WriteFlashSectorCoreMX
-
- arm_func_start CTRDGi_EraseFlashSectorAsyncMX
-CTRDGi_EraseFlashSectorAsyncMX: ; 0x020DD304
- stmdb sp!, {lr}
- sub sp, sp, #0x24
- mov r2, r1
- strh r0, [sp, #0x20]
- ldr r1, _020DD32C ; =CTRDGi_EraseFlashSectorCoreMX
- add r0, sp, #0x0
- bl CTRDGi_SetTask
- add sp, sp, #0x24
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020DD32C: .word CTRDGi_EraseFlashSectorCoreMX
-
- arm_func_start CTRDGi_EraseFlashChipAsyncMX
-CTRDGi_EraseFlashChipAsyncMX: ; 0x020DD330
- stmdb sp!, {lr}
- sub sp, sp, #0x24
- ldr r1, _020DD354 ; =CTRDGi_EraseFlashChipCoreMX
- mov r2, r0
- add r0, sp, #0x0
- bl CTRDGi_SetTask
- add sp, sp, #0x24
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020DD354: .word CTRDGi_EraseFlashChipCoreMX
-
- arm_func_start CTRDGi_WriteFlashSectorMX
-CTRDGi_WriteFlashSectorMX: ; 0x020DD358
- stmdb sp!, {lr}
- sub sp, sp, #0x24
- strh r0, [sp, #0x20]
- add r0, sp, #0x0
- str r1, [sp, #0xc]
- bl CTRDGi_WriteFlashSectorCoreMX
- mov r0, r0, lsl #0x10
- mov r0, r0, lsr #0x10
- add sp, sp, #0x24
- ldmia sp!, {lr}
- bx lr
-
- arm_func_start CTRDGi_EraseFlashSectorMX
-CTRDGi_EraseFlashSectorMX: ; 0x020DD384
- stmdb sp!, {lr}
- sub sp, sp, #0x24
- strh r0, [sp, #0x20]
- add r0, sp, #0x0
- bl CTRDGi_EraseFlashSectorCoreMX
- mov r0, r0, lsl #0x10
- mov r0, r0, lsr #0x10
- add sp, sp, #0x24
- ldmia sp!, {lr}
- bx lr
-
- arm_func_start CTRDGi_EraseFlashChipMX
-CTRDGi_EraseFlashChipMX: ; 0x020DD3AC
- stmdb sp!, {lr}
- sub sp, sp, #0x24
- add r0, sp, #0x0
- bl CTRDGi_EraseFlashChipCoreMX
- mov r0, r0, lsl #0x10
- mov r0, r0, lsr #0x10
- add sp, sp, #0x24
- ldmia sp!, {lr}
- bx lr
-
- arm_func_start CTRDGi_WriteFlashSectorCoreMX
-CTRDGi_WriteFlashSectorCoreMX: ; 0x020DD3D0
- stmdb sp!, {r4-r8,lr}
- sub sp, sp, #0x28
- mov r5, r0
- ldmia r5!, {r0-r3}
- add r4, sp, #0x0
- stmia r4!, {r0-r3}
- ldmia r5!, {r0-r3}
- stmia r4!, {r0-r3}
- ldr r0, _020DD540 ; =0x021D6B20
- ldr r1, [r5, #0x0]
- ldr r0, [r0, #0x0]
- str r1, [r4, #0x0]
- ldrh r5, [sp, #0x20]
- ldrh r0, [r0, #0xa]
- ldr r4, [sp, #0xc]
- cmp r5, r0
- addcs sp, sp, #0x28
- ldrhs r0, _020DD544 ; =0x000080FF
- ldmcsia sp!, {r4-r8,lr}
- bxcs lr
- mov r0, r5
- bl CTRDGi_EraseFlashSectorMX
- movs r6, r0
- addne sp, sp, #0x28
- ldmneia sp!, {r4-r8,lr}
- bxne lr
- ldr r0, _020DD548 ; =0x021D6B0C
- ldrh r0, [r0, #0x0]
- bl OS_LockCartridge
- ldr r7, _020DD54C ; =0x04000204
- ldr r0, _020DD540 ; =0x021D6B20
- ldrh r3, [r7, #0x0]
- ldr r2, [r0, #0x0]
- ldrh r1, [r7, #0x0]
- mov r0, r5, lsl #0xc
- ldr r2, [r2, #0x10]
- bic r1, r1, #0x3
- orr r1, r1, r2
- mov r0, r0, lsr #0x10
- strh r1, [r7, #0x0]
- and r7, r3, #0x3
- bl CTRDGi_SetFlashBankMx
- ldr r0, _020DD540 ; =0x021D6B20
- and r1, r5, #0xf
- ldr r3, [r0, #0x0]
- mov r0, r1, lsl #0x10
- ldr r2, [r3, #0x4]
- ldr r8, _020DD550 ; =0x021D6B08
- ldr r1, _020DD554 ; =0x04000208
- strh r2, [r8, #0x0]
- ldrh r3, [r3, #0x8]
- mov r5, r0, lsr #0x10
- ldrh r2, [r1, #0x0]
- mov r0, #0x0
- mov r3, r5, lsl r3
- strh r0, [r1, #0x0]
- ldrh r1, [r8, #0x0]
- ldr r0, _020DD558 ; =0x021D6B38
- add r5, r3, #0xa000000
- str r2, [r0, #0x0]
- cmp r1, #0x0
- beq _020DD4FC
-_020DD4C8:
- mov r0, r4
- mov r1, r5
- bl CTRDGi_ProgramFlashByteMX
- movs r6, r0
- bne _020DD4FC
- ldrh r0, [r8, #0x0]
- add r4, r4, #0x1
- add r5, r5, #0x1
- sub r0, r0, #0x1
- strh r0, [r8, #0x0]
- ldrh r0, [r8, #0x0]
- cmp r0, #0x0
- bne _020DD4C8
-_020DD4FC:
- ldr r3, _020DD554 ; =0x04000208
- ldr r0, _020DD558 ; =0x021D6B38
- ldrh r1, [r3, #0x0]
- ldr r0, [r0, #0x0]
- ldr r2, _020DD54C ; =0x04000204
- strh r0, [r3, #0x0]
- ldrh r1, [r2, #0x0]
- ldr r0, _020DD548 ; =0x021D6B0C
- bic r1, r1, #0x3
- orr r1, r1, r7
- strh r1, [r2, #0x0]
- ldrh r0, [r0, #0x0]
- bl OS_UnlockCartridge2
- mov r0, r6
- add sp, sp, #0x28
- ldmia sp!, {r4-r8,lr}
- bx lr
- .balign 4
-_020DD540: .word 0x021D6B20
-_020DD544: .word 0x000080FF
-_020DD548: .word 0x021D6B0C
-_020DD54C: .word 0x04000204
-_020DD550: .word 0x021D6B08
-_020DD554: .word 0x04000208
-_020DD558: .word 0x021D6B38
-
- arm_func_start CTRDGi_ProgramFlashByteMX
-CTRDGi_ProgramFlashByteMX: ; 0x020DD55C
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr ip, _020DD5B0 ; =0x0A005555
- mov r3, #0xaa
- ldr r2, _020DD5B4 ; =0x0A002AAA
- strb r3, [r12, #0x0]
- mov r3, #0x55
- mov lr, r0
- strb r3, [r2, #0x0]
- mov r0, #0xa0
- strb r0, [r12, #0x0]
- ldrb r2, [lr, #0x0]
- ldr r3, _020DD5B8 ; =0x021D6B24
- mov r0, #0x1
- strb r2, [r1, #0x0]
- ldrb r2, [lr, #0x0]
- ldr r3, [r3, #0x0]
- blx r3
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020DD5B0: .word 0x0A005555
-_020DD5B4: .word 0x0A002AAA
-_020DD5B8: .word 0x021D6B24
-
- arm_func_start CTRDGi_EraseFlashSectorCoreMX
-CTRDGi_EraseFlashSectorCoreMX: ; 0x020DD5BC
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0x34
- mov r5, r0
- ldmia r5!, {r0-r3}
- add r4, sp, #0x10
- stmia r4!, {r0-r3}
- ldmia r5!, {r0-r3}
- stmia r4!, {r0-r3}
- ldr r0, _020DD748 ; =0x021D6B20
- ldr r1, [r5, #0x0]
- ldr r0, [r0, #0x0]
- str r1, [r4, #0x0]
- ldrh r4, [sp, #0x30]
- ldrh r0, [r0, #0xa]
- cmp r4, r0
- addcs sp, sp, #0x34
- ldrhs r0, _020DD74C ; =0x000080FF
- ldmcsia sp!, {r4-r11,lr}
- bxcs lr
- ldr r0, _020DD750 ; =0x021D6B0C
- ldrh r0, [r0, #0x0]
- bl OS_LockCartridge
- ldr r5, _020DD754 ; =0x04000204
- ldr r0, _020DD748 ; =0x021D6B20
- ldrh r3, [r5, #0x0]
- ldr r2, [r0, #0x0]
- ldrh r1, [r5, #0x0]
- mov r0, r4, lsl #0xc
- ldr r2, [r2, #0x10]
- bic r1, r1, #0x3
- orr r1, r1, r2
- strh r1, [r5, #0x0]
- and r1, r3, #0x3
- mov r0, r0, lsr #0x10
- str r1, [sp, #0x0]
- bl CTRDGi_SetFlashBankMx
- and r0, r4, #0xf
- mov r0, r0, lsl #0x10
- mov r9, r0, lsr #0x10
- mov r0, #0x2
- mov r10, #0x0
- str r0, [sp, #0x8]
- mov r0, #0xff
- ldr r8, _020DD758 ; =0x04000208
- mov r11, r10
- mov r7, #0xaa
- mov r6, #0x55
- mov r5, #0x80
- mov r4, #0x30
- str r0, [sp, #0xc]
-_020DD684:
- ldr r0, _020DD748 ; =0x021D6B20
- ldrh r12, [r8, #0x0]
- ldr r0, [r0, #0x0]
- ldr r3, _020DD75C ; =0x021D6B38
- ldrh r1, [r0, #0x8]
- ldr r0, [sp, #0x8]
- ldr r2, [sp, #0xc]
- strh r11, [r8, #0x0]
- str r12, [r3, #0x0]
- ldr r3, _020DD760 ; =0x0A005555
- mov r1, r9, lsl r1
- strb r7, [r3, #0x0]
- ldr r3, _020DD764 ; =0x0A002AAA
- add r1, r1, #0xa000000
- strb r6, [r3, #0x0]
- ldr r3, _020DD760 ; =0x0A005555
- strb r5, [r3, #0x0]
- strb r7, [r3, #0x0]
- ldr r3, _020DD764 ; =0x0A002AAA
- strb r6, [r3, #0x0]
- strb r4, [r1, #0x0]
- ldrh r3, [r8, #0x0]
- ldr r3, _020DD75C ; =0x021D6B38
- ldr r3, [r3, #0x0]
- strh r3, [r8, #0x0]
- ldr r3, _020DD768 ; =0x021D6B24
- ldr r3, [r3, #0x0]
- blx r3
- str r0, [sp, #0x4]
- ands r0, r0, #0xa000
- beq _020DD714
- cmp r10, #0x0
- addeq r0, r10, #0x1
- moveq r0, r0, lsl #0x10
- moveq r10, r0, lsr #0x10
- beq _020DD684
-_020DD714:
- ldr r2, _020DD754 ; =0x04000204
- ldr r1, _020DD750 ; =0x021D6B0C
- ldrh r0, [r2, #0x0]
- bic r3, r0, #0x3
- ldr r0, [sp, #0x0]
- orr r0, r3, r0
- strh r0, [r2, #0x0]
- ldrh r0, [r1, #0x0]
- bl OS_UnlockCartridge2
- ldr r0, [sp, #0x4]
- add sp, sp, #0x34
- ldmia sp!, {r4-r11,lr}
- bx lr
- .balign 4
-_020DD748: .word 0x021D6B20
-_020DD74C: .word 0x000080FF
-_020DD750: .word 0x021D6B0C
-_020DD754: .word 0x04000204
-_020DD758: .word 0x04000208
-_020DD75C: .word 0x021D6B38
-_020DD760: .word 0x0A005555
-_020DD764: .word 0x0A002AAA
-_020DD768: .word 0x021D6B24
-
- arm_func_start CTRDGi_EraseFlashChipCoreMX
-CTRDGi_EraseFlashChipCoreMX: ; 0x020DD76C
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- ldr r0, _020DD848 ; =0x021D6B0C
- ldrh r0, [r0, #0x0]
- bl OS_LockCartridge
- ldr r4, _020DD84C ; =0x04000204
- ldr r0, _020DD850 ; =0x021D6B20
- ldrh r3, [r4, #0x0]
- ldr r0, [r0, #0x0]
- ldrh r1, [r4, #0x0]
- ldr r2, [r0, #0x10]
- ldr r0, _020DD854 ; =0x04000208
- bic r1, r1, #0x3
- orr r1, r1, r2
- strh r1, [r4, #0x0]
- ldrh r4, [r0, #0x0]
- mov r2, #0x0
- ldr r1, _020DD858 ; =0x021D6B38
- strh r2, [r0, #0x0]
- ldr lr, _020DD85C ; =0x0A005555
- str r4, [r1, #0x0]
- mov r5, #0xaa
- ldr r4, _020DD860 ; =0x0A002AAA
- strb r5, [lr, #0x0]
- mov r12, #0x55
- strb r12, [r4, #0x0]
- mov r2, #0x80
- strb r2, [lr, #0x0]
- strb r5, [lr, #0x0]
- strb r12, [r4, #0x0]
- mov r2, #0x10
- strb r2, [lr, #0x0]
- ldrh r2, [r0, #0x0]
- ldr r2, [r1, #0x0]
- ldr r1, _020DD864 ; =0x021D6B24
- strh r2, [r0, #0x0]
- ldr r4, [r1, #0x0]
- mov r0, #0x3
- mov r1, #0xa000000
- mov r2, #0xff
- and r5, r3, #0x3
- blx r4
- ldr r3, _020DD84C ; =0x04000204
- ldr r1, _020DD848 ; =0x021D6B0C
- ldrh r2, [r3, #0x0]
- mov r4, r0
- bic r0, r2, #0x3
- orr r0, r0, r5
- strh r0, [r3, #0x0]
- ldrh r0, [r1, #0x0]
- bl OS_UnlockCartridge2
- mov r0, r4
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
- .balign 4
-_020DD848: .word 0x021D6B0C
-_020DD84C: .word 0x04000204
-_020DD850: .word 0x021D6B20
-_020DD854: .word 0x04000208
-_020DD858: .word 0x021D6B38
-_020DD85C: .word 0x0A005555
-_020DD860: .word 0x0A002AAA
-_020DD864: .word 0x021D6B24
-
- arm_func_start FUN_020DD868
-FUN_020DD868: ; 0x020DD868
- stmdb sp!, {lr}
- sub sp, sp, #0x24
- str r1, [sp, #0xc]
- strh r0, [sp, #0x20]
- ldr r1, _020DD890 ; =FUN_020DD8C0
- add r0, sp, #0x0
- bl CTRDGi_SetTask
- add sp, sp, #0x24
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020DD890: .word FUN_020DD8C0
-
- arm_func_start FUN_020DD894
-FUN_020DD894: ; 0x020DD894
- stmdb sp!, {lr}
- sub sp, sp, #0x24
- strh r0, [sp, #0x20]
- add r0, sp, #0x0
- str r1, [sp, #0xc]
- bl FUN_020DD8C0
- mov r0, r0, lsl #0x10
- mov r0, r0, lsr #0x10
- add sp, sp, #0x24
- ldmia sp!, {lr}
- bx lr
-
- arm_func_start FUN_020DD8C0
-FUN_020DD8C0: ; 0x020DD8C0
- stmdb sp!, {r4-r8,lr}
- sub sp, sp, #0x28
- mov r5, r0
- ldmia r5!, {r0-r3}
- add r4, sp, #0x0
- stmia r4!, {r0-r3}
- ldmia r5!, {r0-r3}
- stmia r4!, {r0-r3}
- ldr r0, _020DD9E8 ; =0x021D6B20
- ldr r1, [r5, #0x0]
- ldr r0, [r0, #0x0]
- str r1, [r4, #0x0]
- ldrh r5, [sp, #0x20]
- ldrh r0, [r0, #0xa]
- ldr r4, [sp, #0xc]
- cmp r5, r0
- addcs sp, sp, #0x28
- ldrhs r0, _020DD9EC ; =0x000080FF
- ldmcsia sp!, {r4-r8,lr}
- bxcs lr
- mov r0, r5
- bl CTRDGi_EraseFlashSectorLE
- movs r6, r0
- addne sp, sp, #0x28
- ldmneia sp!, {r4-r8,lr}
- bxne lr
- ldr r0, _020DD9F0 ; =0x021D6B0C
- ldrh r0, [r0, #0x0]
- bl OS_LockCartridge
- ldr r7, _020DD9F4 ; =0x04000204
- ldr r0, _020DD9E8 ; =0x021D6B20
- ldrh r3, [r7, #0x0]
- ldr r2, [r0, #0x0]
- ldrh r1, [r7, #0x0]
- ldr r2, [r2, #0x10]
- ldr r8, _020DD9F8 ; =0x021D6B08
- bic r1, r1, #0x3
- orr r1, r1, r2
- strh r1, [r7, #0x0]
- ldr r1, [r0, #0x0]
- and r7, r3, #0x3
- ldr r0, [r1, #0x4]
- strh r0, [r8, #0x0]
- ldrh r1, [r1, #0x8]
- ldrh r0, [r8, #0x0]
- mov r1, r5, lsl r1
- cmp r0, #0x0
- add r5, r1, #0xa000000
- beq _020DD9B8
-_020DD984:
- mov r0, r4
- mov r1, r5
- bl CTRDGi_ProgramFlashByteLE
- movs r6, r0
- bne _020DD9B8
- ldrh r0, [r8, #0x0]
- add r4, r4, #0x1
- add r5, r5, #0x1
- sub r0, r0, #0x1
- strh r0, [r8, #0x0]
- ldrh r0, [r8, #0x0]
- cmp r0, #0x0
- bne _020DD984
-_020DD9B8:
- ldr r2, _020DD9F4 ; =0x04000204
- ldr r0, _020DD9F0 ; =0x021D6B0C
- ldrh r1, [r2, #0x0]
- bic r1, r1, #0x3
- orr r1, r1, r7
- strh r1, [r2, #0x0]
- ldrh r0, [r0, #0x0]
- bl OS_UnlockCartridge2
- mov r0, r6
- add sp, sp, #0x28
- ldmia sp!, {r4-r8,lr}
- bx lr
- .balign 4
-_020DD9E8: .word 0x021D6B20
-_020DD9EC: .word 0x000080FF
-_020DD9F0: .word 0x021D6B0C
-_020DD9F4: .word 0x04000204
-_020DD9F8: .word 0x021D6B08
-
- arm_func_start CTRDGi_SetTask
-CTRDGi_SetTask: ; 0x020DD9FC
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- ldr r3, _020DDAA8 ; =0x021D6B50
- mov r7, r0
- mov r4, r1
- mov r6, r2
- ldr r5, [r3, #0x0]
- bl CTRDGi_IsTaskAvailable
-_020DDA1C: ; 0x020DDA1C
- cmp r0, #0x0
- bne _020DDA28
- bl OS_Terminate
-_020DDA28:
- ldr r0, _020DDAAC ; =0x021D6B54
- ldrb r0, [r0, #0x22]
- cmp r0, #0x0
- beq _020DDA3C
- bl OS_Terminate
-_020DDA3C:
- bl OS_DisableInterrupts
- mov r1, #0x1
- strb r1, [r7, #0x22]
- str r4, [r7, #0x0]
- add r1, r5, #0xc4
- cmp r7, r1
- mov r4, r0
- ldreq r0, _020DDAA8 ; =0x021D6B50
- str r6, [r7, #0x4]
- moveq r1, #0x0
- streq r1, [r0, #0x0]
- ldr ip, _020DDAAC ; =0x021D6B54
- ldmia r7!, {r0-r3}
- mov r6, r12
- stmia r12!, {r0-r3}
- ldmia r7!, {r0-r3}
- stmia r12!, {r0-r3}
- ldr r1, [r7, #0x0]
- mov r0, r5
- str r1, [r12, #0x0]
- str r6, [r5, #0xc0]
- bl OS_WakeupThreadDirect
- mov r0, r4
- bl OS_RestoreInterrupts
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,lr}
- bx lr
- .balign 4
-_020DDAA8: .word 0x021D6B50
-_020DDAAC: .word 0x021D6B54
-
- arm_func_start CTRDGi_TaskThread
-CTRDGi_TaskThread: ; 0x020DDAB0
- stmdb sp!, {r4-r10,lr}
- sub sp, sp, #0x28
- ldr r6, _020DDB94 ; =0x021D6B54
- ldr r5, _020DDB98 ; =0x021D6B50
- mov r4, r0
- add r9, sp, #0x0
- mov r8, #0x0
- mov r7, #0x24
-_020DDAD0:
- mov r0, r9
- mov r1, r8
- mov r2, r7
- bl MI_CpuFill8
- bl OS_DisableInterrupts
- ldr r1, [r4, #0xc0]
- mov r10, r0
- cmp r1, #0x0
- bne _020DDB08
-_020DDAF4:
- mov r0, r8
- bl OS_SleepThread
- ldr r0, [r4, #0xc0]
- cmp r0, #0x0
- beq _020DDAF4
-_020DDB08:
- ldr lr, [r4, #0xc0]
- add r12, sp, #0x0
- ldmia lr!, {r0-r3}
- stmia r12!, {r0-r3}
- ldmia lr!, {r0-r3}
- stmia r12!, {r0-r3}
- ldr r1, [lr, #0x0]
- mov r0, r10
- str r1, [r12, #0x0]
- bl OS_RestoreInterrupts
- ldr r1, [sp, #0x0]
- cmp r1, #0x0
- beq _020DDB48
- mov r0, r9
- blx r1
- str r0, [sp, #0x8]
-_020DDB48:
- bl OS_DisableInterrupts
- ldr r1, [sp, #0x4]
- mov r10, r0
- strb r8, [r6, #0x22]
- cmp r1, #0x0
- beq _020DDB68
- mov r0, r9
- blx r1
-_020DDB68:
- ldr r0, [r5, #0x0]
- cmp r0, #0x0
- beq _020DDB84
- mov r0, r10
- str r8, [r4, #0xc0]
- bl OS_RestoreInterrupts
- b _020DDAD0
-_020DDB84:
- bl OS_ExitThread
- add sp, sp, #0x28
- ldmia sp!, {r4-r10,lr}
- bx lr
- .balign 4
-_020DDB94: .word 0x021D6B54
-_020DDB98: .word 0x021D6B50
-
- arm_func_start CTRDGi_InitTaskInfo
-CTRDGi_InitTaskInfo:
- ldr ip, _020DDBAC ; =MI_CpuFill8
- mov r1, #0x0
- mov r2, #0x24
- bx r12
- .balign 4
-_020DDBAC: .word MI_CpuFill8
-
- arm_func_start CTRDGi_IsTaskAvailable
-CTRDGi_IsTaskAvailable:
- ldr r0, _020DDBC8 ; =0x021D6B50
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- movne r0, #0x1
- moveq r0, #0x0
- bx lr
- .balign 4
-_020DDBC8: .word 0x021D6B50
-
- arm_func_start CTRDGi_InitTaskThread
-CTRDGi_InitTaskThread: ; 0x020DDBCC
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0xc
- mov r5, r0
- bl OS_DisableInterrupts
- ldr r1, _020DDC4C ; =0x021D6B50
- mov r4, r0
- ldr r0, [r1, #0x0]
- cmp r0, #0x0
- bne _020DDC38
- add r0, r5, #0xc4
- str r5, [r1, #0x0]
- bl CTRDGi_InitTaskInfo
- ldr r0, _020DDC50 ; =0x021D6B54
- bl CTRDGi_InitTaskInfo
-_020DDC04: ; 0x020DDC04
- mov r0, #0x0
- str r0, [r5, #0xc0]
- mov r2, #0x400
- ldr r1, _020DDC54 ; =CTRDGi_TaskThread
- ldr r3, _020DDC58 ; =0x021D6F78
- mov r0, r5
- str r2, [sp, #0x0]
- mov r2, #0x14
- str r2, [sp, #0x4]
- mov r2, r5
- bl OS_CreateThread
- mov r0, r5
- bl OS_WakeupThreadDirect
-_020DDC38:
- mov r0, r4
- bl OS_RestoreInterrupts
- add sp, sp, #0xc
- ldmia sp!, {r4-r5,lr}
- bx lr
- .balign 4
-_020DDC4C: .word 0x021D6B50
-_020DDC50: .word 0x021D6B54
-_020DDC54: .word CTRDGi_TaskThread
-_020DDC58: .word 0x021D6F78
diff --git a/asm/DGT_arm9.s b/asm/DGT_arm9.s
deleted file mode 100644
index d5ef358d..00000000
--- a/asm/DGT_arm9.s
+++ /dev/null
@@ -1,1017 +0,0 @@
- .include "asm/macros.inc"
- .include "global.inc"
-
- .text
-
- arm_func_start ProcessBlock
-ProcessBlock: ; 0x020D2798
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0x4
- add r3, r0, #0x18
- ldr r5, [r0, #0x0]
- ldr r4, [r0, #0x4]
- ldr lr, [r0, #0x8]
- ldr r12, [r0, #0xc]
- ldr r2, _020D2B78 ; =0x02106900
- mov r8, r3
- mov r7, #0x0
-_020D27C0:
- mvn r1, r4
- and r6, r4, lr
- and r1, r1, r12
- orr r1, r6, r1
- ldr r6, [r8, #0x0]
- add r1, r5, r1
- ldr r5, [r2, #0x0]
- add r1, r6, r1
- add r5, r5, r1
- mov r1, r5, lsl #0x7
- orr r1, r1, r5, lsr #0x19
- add r5, r4, r1
- mvn r1, r5
- and r6, r5, r4
- and r1, r1, lr
- orr r1, r6, r1
- ldr r6, [r8, #0x4]
- add r1, r12, r1
- ldr r9, [r2, #0x4]
- add r1, r6, r1
- add r6, r9, r1
- mov r1, r6, lsl #0xc
- orr r1, r1, r6, lsr #0x14
- add r12, r5, r1
- mvn r1, r12
- and r6, r12, r5
- and r1, r1, r4
- orr r6, r6, r1
- add r1, r8, #0xc
- ldr r9, [r8, #0x8]
- add r6, lr, r6
- add r6, r9, r6
- ldr r9, [r2, #0x8]
- ldr r1, [r1, #0x0]
- add r10, r9, r6
- add r6, r2, #0xc
- ldr r6, [r6, #0x0]
- mov r9, r10, lsl #0x11
- orr r9, r9, r10, lsr #0xf
- add lr, r12, r9
- add r2, r2, #0x10
- add r8, r8, #0x10
- and r10, lr, r12
- mvn r9, lr
- and r9, r9, r5
- orr r9, r10, r9
- add r4, r4, r9
- add r1, r1, r4
- add r4, r6, r1
- mov r1, r4, lsl #0x16
- orr r1, r1, r4, lsr #0xa
- add r4, lr, r1
- add r7, r7, #0x1
- cmp r7, #0x4
- blt _020D27C0
- ldr r6, _020D2B7C ; =0x02106840
- mov r1, #0x0
-_020D28A4:
- mvn r7, r12
- ldr r9, [r6, #0x0]
- and r8, r4, r12
- and r7, lr, r7
- orr r7, r8, r7
- ldr r8, [r3, r9, lsl #0x2]
- add r5, r5, r7
- ldr r7, [r2, #0x0]
- add r5, r8, r5
- add r7, r7, r5
- mov r5, r7, lsl #0x5
- orr r5, r5, r7, lsr #0x1b
- add r5, r4, r5
- mvn r8, lr
- ldr r7, [r6, #0x4]
- and r9, r5, lr
- and r8, r4, r8
- orr r10, r9, r8
- mvn r8, r4
- ldr r9, [r6, #0x8]
- ldr r11, [r3, r7, lsl #0x2]
- add r7, r12, r10
- add r10, r11, r7
- add r7, r6, #0xc
- ldr r9, [r3, r9, lsl #0x2]
- and r8, r5, r8
- ldr r7, [r7, #0x0]
- ldr r11, [r2, #0x4]
- ldr r7, [r3, r7, lsl #0x2]
- add r11, r11, r10
- mov r10, r11, lsl #0x9
- orr r10, r10, r11, lsr #0x17
- add r12, r5, r10
- ldr r10, [r2, #0x8]
- and r11, r12, r4
- orr r8, r11, r8
- add r8, lr, r8
- add r8, r9, r8
- add r10, r10, r8
- add r8, r2, #0xc
- ldr r8, [r8, #0x0]
- mov r9, r10, lsl #0xe
- orr r9, r9, r10, lsr #0x12
- add lr, r12, r9
- add r2, r2, #0x10
- add r6, r6, #0x10
- and r10, lr, r5
- mvn r9, r5
- and r9, r12, r9
- orr r9, r10, r9
- add r4, r4, r9
- add r4, r7, r4
- add r7, r8, r4
- mov r4, r7, lsl #0x14
- orr r4, r4, r7, lsr #0xc
- add r4, lr, r4
- add r1, r1, #0x1
- cmp r1, #0x4
- blt _020D28A4
- mov r7, #0x0
-_020D2994:
- ldr r8, [r6, #0x0]
- eor r1, r4, lr
- eor r1, r12, r1
- add r1, r5, r1
- ldr r8, [r3, r8, lsl #0x2]
- ldr r5, [r2, #0x0]
- add r1, r8, r1
- add r5, r5, r1
- mov r1, r5, lsl #0x4
- orr r1, r1, r5, lsr #0x1c
- add r5, r4, r1
- ldr r8, [r6, #0x4]
- eor r1, r5, r4
- eor r1, lr, r1
- ldr r8, [r3, r8, lsl #0x2]
- add r1, r12, r1
- ldr r9, [r6, #0x8]
- ldr r10, [r2, #0x4]
- add r1, r8, r1
- add r8, r10, r1
- mov r1, r8, lsl #0xb
- orr r1, r1, r8, lsr #0x15
- add r12, r5, r1
- eor r8, r12, r5
- eor r8, r4, r8
- ldr r9, [r3, r9, lsl #0x2]
- add r8, lr, r8
- add r9, r9, r8
- ldr r10, [r2, #0x8]
- add r1, r2, #0xc
- ldr r8, [r6, #0xc]
- add r10, r10, r9
- ldr r9, [r3, r8, lsl #0x2]
- mov r8, r10, lsl #0x10
- orr r8, r8, r10, lsr #0x10
- add lr, r12, r8
- eor r8, lr, r12
- eor r8, r5, r8
- add r4, r4, r8
- add r7, r7, #0x1
- ldr r1, [r1, #0x0]
- add r4, r9, r4
- add r4, r1, r4
- mov r1, r4, lsl #0x17
- orr r1, r1, r4, lsr #0x9
- add r2, r2, #0x10
- add r6, r6, #0x10
- add r4, lr, r1
- cmp r7, #0x4
- blt _020D2994
- mov r10, #0x0
-_020D2A60:
- mvn r1, r12
- ldr r7, [r6, #0x0]
- orr r1, r4, r1
- eor r1, lr, r1
- ldr r7, [r3, r7, lsl #0x2]
- add r1, r5, r1
- ldr r5, [r2, #0x0]
- add r1, r7, r1
- add r5, r5, r1
- mov r1, r5, lsl #0x6
- orr r1, r1, r5, lsr #0x1a
- add r5, r4, r1
- mvn r1, lr
- ldr r7, [r6, #0x4]
- orr r1, r5, r1
- eor r1, r4, r1
- ldr r8, [r6, #0x8]
- ldr r7, [r3, r7, lsl #0x2]
- add r1, r12, r1
- ldr r9, [r2, #0x4]
- add r1, r7, r1
- add r9, r9, r1
- mov r7, r9, lsl #0xa
- add r1, r6, #0xc
- orr r9, r7, r9, lsr #0x16
- ldr r1, [r1, #0x0]
- add r7, r2, #0xc
- add r12, r5, r9
- ldr r8, [r3, r8, lsl #0x2]
- ldr r7, [r7, #0x0]
- ldr r1, [r3, r1, lsl #0x2]
- ldr r9, [r2, #0x8]
- mvn r11, r4
- orr r11, r12, r11
- eor r11, r5, r11
- add r11, lr, r11
- add r8, r8, r11
- add r9, r9, r8
- mov r8, r9, lsl #0xf
- orr r8, r8, r9, lsr #0x11
- add lr, r12, r8
- add r2, r2, #0x10
- add r6, r6, #0x10
- mvn r8, r5
- orr r8, lr, r8
- eor r8, r12, r8
- add r4, r4, r8
- add r1, r1, r4
- add r4, r7, r1
- mov r1, r4, lsl #0x15
- orr r1, r1, r4, lsr #0xb
- add r4, lr, r1
- add r10, r10, #0x1
- cmp r10, #0x4
- blt _020D2A60
- ldr r1, [r0, #0x0]
- add r1, r1, r5
- str r1, [r0, #0x0]
- ldr r1, [r0, #0x4]
- add r1, r1, r4
- str r1, [r0, #0x4]
- ldr r1, [r0, #0x8]
- add r1, r1, lr
- str r1, [r0, #0x8]
- ldr r1, [r0, #0xc]
- add r1, r1, r12
- str r1, [r0, #0xc]
- add sp, sp, #0x4
- ldmia sp!, {r4-r11,lr}
- bx lr
- .balign 4
-_020D2B78: .word Unk_02106900 ; = 0x02106900
-_020D2B7C: .word Unk_02106840 ; = 0x02106840
-
- arm_func_start DGT_Hash1GetDigest_R
-DGT_Hash1GetDigest_R: ; 0x020D2B80
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- mov r6, r1
- ldr r1, [r6, #0x14]
- ldr r3, [r6, #0x10]
- mov r7, r0
- mov r4, r1, lsl #0x3
- ldr r1, _020D2C40 ; =0x0210683C
- mov r0, r6
- mov r2, #0x1
- orr r4, r4, r3, lsr #0x1d
- mov r5, r3, lsl #0x3
- bl DGT_Hash1SetSource
- ldr r0, [r6, #0x10]
- mov r1, #0x0
- and r3, r0, #0x3f
- rsb r2, r3, #0x40
- cmp r2, #0x8
- bhs _020D2BE8
- add r0, r6, #0x18
- add r0, r0, r3
- bl MI_CpuFill8
- mov r0, r6
- bl ProcessBlock
- mov r3, #0x0
- mov r2, #0x40
-_020D2BE8:
- cmp r2, #0x8
- bls _020D2C04
- add r0, r6, #0x18
- add r0, r0, r3
- sub r2, r2, #0x8
- mov r1, #0x0
- bl MI_CpuFill8
-_020D2C04:
- str r5, [r6, #0x50]
- mov r0, r6
- str r4, [r6, #0x54]
- bl ProcessBlock
- mov r0, r6
- mov r1, r7
- mov r2, #0x10
- bl MI_CpuCopy8
- mov r0, r6
- mov r1, #0x0
- mov r2, #0x58
- bl MI_CpuFill8
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,lr}
- bx lr
- .balign 4
-_020D2C40: .word Unk_0210683C ; = 0x0210683C
-
- arm_func_start DGT_Hash1SetSource
-DGT_Hash1SetSource: ; 0x020D2C44
- stmdb sp!, {r4-r9,lr}
- sub sp, sp, #0x4
- mov r8, r0
- add r12, r8, #0x10
- ldr r4, [r8, #0x10]
- mov r6, r2
- and r3, r4, #0x3f
- ldr r0, [r12, #0x4]
- adds r4, r4, r6
- str r4, [r8, #0x10]
- adc r0, r0, #0x0
- rsb r5, r3, #0x40
- mov r7, r1
- str r0, [r12, #0x4]
- cmp r5, r6
- bls _020D2CB0
- cmp r6, #0x0
- addeq sp, sp, #0x4
- ldmeqia sp!, {r4-r9,lr}
- bxeq lr
- add r1, r8, #0x18
- mov r0, r7
- add r1, r1, r3
- bl MI_CpuCopy8
- add sp, sp, #0x4
- ldmia sp!, {r4-r9,lr}
- bx lr
-_020D2CB0:
- add r1, r8, #0x18
- mov r0, r7
- mov r2, r5
- add r1, r1, r3
- bl MI_CpuCopy8
- mov r0, r8
- bl ProcessBlock
- sub r6, r6, r5
- mov r4, r6, lsr #0x6
- cmp r4, #0x0
- add r9, r7, r5
- ble _020D2D10
- add r7, r8, #0x18
- mov r5, #0x40
-_020D2CE8:
- mov r0, r9
- mov r1, r7
- mov r2, r5
- bl MI_CpuCopy8
- mov r0, r8
- add r9, r9, #0x40
- bl ProcessBlock
- sub r4, r4, #0x1
- cmp r4, #0x0
- bgt _020D2CE8
-_020D2D10:
- ands r2, r6, #0x3f
- addeq sp, sp, #0x4
- ldmeqia sp!, {r4-r9,lr}
- bxeq lr
- mov r0, r9
- add r1, r8, #0x18
- bl MI_CpuCopy8
- add sp, sp, #0x4
- ldmia sp!, {r4-r9,lr}
- bx lr
-
- arm_func_start DGT_Hash1Reset
-DGT_Hash1Reset: ; 0x020D2D38
- ldr r2, _020D2D68 ; =0x67452301
- ldr r1, _020D2D6C ; =0xEFCDAB89
- str r2, [r0, #0x0]
- ldr r2, _020D2D70 ; =0x98BADCFE
- str r1, [r0, #0x4]
- ldr r1, _020D2D74 ; =0x10325476
- str r2, [r0, #0x8]
- str r1, [r0, #0xc]
- mov r1, #0x0
- str r1, [r0, #0x10]
- str r1, [r0, #0x14]
- bx lr
- .balign 4
-_020D2D68: .word 0x67452301
-_020D2D6C: .word 0xEFCDAB89
-_020D2D70: .word 0x98BADCFE
-_020D2D74: .word 0x10325476
-
- arm_func_start MATH_CalcHMACSHA1
-MATH_CalcHMACSHA1: ; 0x020D2D78
- stmdb sp!, {r4-r8,lr}
- sub sp, sp, #0xa0
- ldr lr, _020D2E00 ; =0x02106A04
- add r12, sp, #0x1c
- mov r8, r0
- mov r7, r1
- mov r6, r2
- mov r5, r3
- mov r4, r12
- ldmia lr!, {r0-r3}
- stmia r12!, {r0-r3}
- ldmia lr, {r0-r2}
- stmia r12, {r0-r2}
- add lr, sp, #0x38
- add r12, sp, #0x8
- str lr, [sp, #0x24]
- ldr lr, _020D2E04 ; =MATH_SHA1Init
- str r12, [sp, #0x28]
- ldr ip, _020D2E08 ; =MATH_SHA1Update
- str lr, [sp, #0x2c]
- ldr lr, _020D2E0C ; =MATH_SHA1GetHash
- str r12, [sp, #0x30]
- ldr r12, [sp, #0xb8]
- str lr, [sp, #0x34]
- str r12, [sp, #0x0]
- mov r3, r5
- mov r0, r8
- mov r1, r7
- mov r2, r6
- str r4, [sp, #0x4]
- bl MATHi_CalcHMAC
- add sp, sp, #0xa0
- ldmia sp!, {r4-r8,lr}
- bx lr
- .balign 4
-_020D2E00: .word Unk_02106A04 ; = 0x02106A04
-_020D2E04: .word MATH_SHA1Init
-_020D2E08: .word MATH_SHA1Update
-_020D2E0C: .word MATH_SHA1GetHash
-
- arm_func_start MATH_SHA1GetHash
-MATH_SHA1GetHash: ; 0x020D2E10
- stmdb sp!, {r0-r3}
- stmdb sp!, {r4-r6,lr}
- ldr r0, [sp, #0x10]
- mov r6, r1
- ldr r3, [r0, #0x1c]
- add r5, r0, #0x20
- ands r1, r3, #0x3
- mov r0, r3, asr #0x2
- moveq r1, #0x0
- streq r1, [r5, r0, lsl #0x2]
- ldr r2, [sp, #0x10]
- mov r1, #0x80
- add r4, r2, #0x20
- strb r1, [r4, r3]
- add r3, r3, #0x1
- ands r1, r3, #0x3
- beq _020D2E68
- mov r2, #0x0
-_020D2E58:
- strb r2, [r4, r3]
- add r3, r3, #0x1
- ands r1, r3, #0x3
- bne _020D2E58
-_020D2E68:
- ldr r1, [sp, #0x10]
- add r0, r0, #0x1
- ldr r1, [r1, #0x1c]
- cmp r1, #0x38
- blt _020D2EB4
- cmp r0, #0x10
- bge _020D2E98
- mov r1, #0x0
-_020D2E88:
- str r1, [r5, r0, lsl #0x2]
- add r0, r0, #0x1
- cmp r0, #0x10
- blt _020D2E88
-_020D2E98:
- ldr r1, _020D3008 ; =0x02106A00
- ldr r0, [sp, #0x10]
- ldr r3, [r1, #0x0]
- mov r1, r5
- mov r2, #0x40
- blx r3
- mov r0, #0x0
-_020D2EB4:
- cmp r0, #0xe
- bge _020D2ED0
- mov r1, #0x0
-_020D2EC0:
- str r1, [r5, r0, lsl #0x2]
- add r0, r0, #0x1
- cmp r0, #0xe
- blt _020D2EC0
-_020D2ED0:
- ldr r0, [sp, #0x10]
- mov r1, r5
- ldr r2, [r0, #0x14]
- ldr r3, _020D3008 ; =0x02106A00
- strb r2, [r4, #0x3f]
- mov r0, r2, lsr #0x8
- strb r0, [r4, #0x3e]
- mov r0, r2, lsr #0x10
- strb r0, [r4, #0x3d]
- mov r0, r2, lsr #0x18
- strb r0, [r4, #0x3c]
- ldr r0, [sp, #0x10]
- mov r2, #0x40
- ldr r5, [r0, #0x18]
- strb r5, [r4, #0x3b]
- mov r0, r5, lsr #0x8
- strb r0, [r4, #0x3a]
- mov r0, r5, lsr #0x10
- strb r0, [r4, #0x39]
- mov r0, r5, lsr #0x18
- strb r0, [r4, #0x38]
- ldr r0, [sp, #0x10]
- ldr r3, [r3, #0x0]
- blx r3
- ldr r0, [sp, #0x10]
- add r1, sp, #0x10
- ldr r3, [r0, #0x0]
- mov r0, #0x0
- mov r2, r3, lsr #0x18
- strb r2, [r6, #0x0]
- mov r2, r3, lsr #0x10
- strb r2, [r6, #0x1]
- mov r2, r3, lsr #0x8
- strb r2, [r6, #0x2]
- strb r3, [r6, #0x3]
- ldr r3, [sp, #0x10]
- mov r2, #0x4
- ldr r4, [r3, #0x4]
- mov r3, r4, lsr #0x18
- strb r3, [r6, #0x4]
- mov r3, r4, lsr #0x10
- strb r3, [r6, #0x5]
- mov r3, r4, lsr #0x8
- strb r3, [r6, #0x6]
- strb r4, [r6, #0x7]
- ldr r3, [sp, #0x10]
- ldr r4, [r3, #0x8]
- mov r3, r4, lsr #0x18
- strb r3, [r6, #0x8]
- mov r3, r4, lsr #0x10
- strb r3, [r6, #0x9]
- mov r3, r4, lsr #0x8
- strb r3, [r6, #0xa]
- strb r4, [r6, #0xb]
- ldr r3, [sp, #0x10]
- ldr r4, [r3, #0xc]
- mov r3, r4, lsr #0x18
- strb r3, [r6, #0xc]
- mov r3, r4, lsr #0x10
- strb r3, [r6, #0xd]
- mov r3, r4, lsr #0x8
- strb r3, [r6, #0xe]
- strb r4, [r6, #0xf]
- ldr r3, [sp, #0x10]
- ldr r4, [r3, #0x10]
- mov r3, r4, lsr #0x18
- strb r3, [r6, #0x10]
- mov r3, r4, lsr #0x10
- strb r3, [r6, #0x11]
- mov r3, r4, lsr #0x8
- strb r3, [r6, #0x12]
- strb r4, [r6, #0x13]
- ldr r3, [sp, #0x10]
- str r0, [r3, #0x1c]
- bl MIi_CpuClear32
- ldmia sp!, {r4-r6,lr}
- add sp, sp, #0x10
- bx lr
- .balign 4
-_020D3008: .word Unk_02106A00 ; = 0x02106A00
-
- arm_func_start MATH_SHA1Update
-MATH_SHA1Update: ; 0x020D300C
- stmdb sp!, {r4-r8,lr}
- mov r8, r0
- movs r6, r2
- mov r7, r1
- add r5, r8, #0x20
- ldmeqia sp!, {r4-r8,lr}
- bxeq lr
- ldr r0, [r8, #0x14]
- add r1, r0, r6, lsl #0x3
- cmp r1, r0
- ldrcc r0, [r8, #0x18]
- addcc r0, r0, #0x1
- strcc r0, [r8, #0x18]
- ldr r0, [r8, #0x18]
- add r0, r0, r6, lsr #0x1d
- str r0, [r8, #0x18]
- str r1, [r8, #0x14]
- ldr r1, [r8, #0x1c]
- cmp r1, #0x0
- beq _020D30CC
- add r0, r1, r6
- cmp r0, #0x40
- blo _020D30A8
- rsb r4, r1, #0x40
- mov r0, r7
- mov r2, r4
- add r1, r5, r1
- bl MI_CpuCopy8
- ldr r1, _020D3164 ; =0x02106A00
- mov r0, r8
- ldr r3, [r1, #0x0]
- mov r1, r5
- mov r2, #0x40
- sub r6, r6, r4
- add r7, r7, r4
- blx r3
- mov r0, #0x0
- str r0, [r8, #0x1c]
- b _020D30CC
-_020D30A8:
- mov r0, r7
- mov r2, r6
- add r1, r5, r1
- bl MI_CpuCopy8
- ldr r0, [r8, #0x1c]
- add r0, r0, r6
- str r0, [r8, #0x1c]
- ldmia sp!, {r4-r8,lr}
- bx lr
-_020D30CC:
- cmp r6, #0x40
- blo _020D313C
- bic r4, r6, #0x3f
- sub r6, r6, r4
- ands r0, r7, #0x3
- bne _020D3104
- ldr r1, _020D3164 ; =0x02106A00
- mov r0, r8
- ldr r3, [r1, #0x0]
- mov r1, r7
- mov r2, r4
- blx r3
- add r7, r7, r4
- b _020D313C
-_020D3104:
- mov r0, r7
- mov r1, r5
- mov r2, #0x40
- bl MI_CpuCopy8
- ldr r1, _020D3164 ; =0x02106A00
- mov r0, r8
- ldr r3, [r1, #0x0]
- mov r1, r5
- mov r2, #0x40
- add r7, r7, #0x40
- blx r3
- sub r4, r4, #0x40
- cmp r4, #0x0
- bgt _020D3104
-_020D313C:
- str r6, [r8, #0x1c]
- cmp r6, #0x0
- ldmeqia sp!, {r4-r8,lr}
- bxeq lr
- mov r0, r7
- mov r1, r5
- mov r2, r6
- bl MI_CpuCopy8
- ldmia sp!, {r4-r8,lr}
- bx lr
- .balign 4
-_020D3164: .word Unk_02106A00 ; = 0x02106A00
-
- arm_func_start MATH_SHA1Init
-MATH_SHA1Init: ; 0x020D3168
- ldr r1, _020D31A4 ; =0x67452301
- ldr r2, _020D31A8 ; =0xEFCDAB89
- str r1, [r0, #0x0]
- ldr r1, _020D31AC ; =0x98BADCFE
- str r2, [r0, #0x4]
- ldr r2, _020D31B0 ; =0x10325476
- str r1, [r0, #0x8]
- ldr r1, _020D31B4 ; =0xC3D2E1F0
- str r2, [r0, #0xc]
- str r1, [r0, #0x10]
- mov r1, #0x0
- str r1, [r0, #0x14]
- str r1, [r0, #0x18]
- str r1, [r0, #0x1c]
- bx lr
- .balign 4
-_020D31A4: .word 0x67452301
-_020D31A8: .word 0xEFCDAB89
-_020D31AC: .word 0x98BADCFE
-_020D31B0: .word 0x10325476
-_020D31B4: .word 0xC3D2E1F0
-
- arm_func_start MATHi_CalcHMAC
-MATHi_CalcHMAC: ; 0x020D31B8
- stmdb sp!, {r4-r9,lr}
- sub sp, sp, #0xc4
- ldr r5, [sp, #0xe0]
- ldr r4, [sp, #0xe4]
- movs r9, r0
- mov r8, r1
- mov r7, r2
- mov r6, r3
- addeq sp, sp, #0xc4
- ldmeqia sp!, {r4-r9,lr}
- bxeq lr
- cmp r8, #0x0
- addeq sp, sp, #0xc4
- ldmeqia sp!, {r4-r9,lr}
- bxeq lr
- cmp r7, #0x0
- addeq sp, sp, #0xc4
- ldmeqia sp!, {r4-r9,lr}
- bxeq lr
- cmp r6, #0x0
- addeq sp, sp, #0xc4
- ldmeqia sp!, {r4-r9,lr}
- bxeq lr
- cmp r5, #0x0
- addeq sp, sp, #0xc4
- ldmeqia sp!, {r4-r9,lr}
- bxeq lr
- cmp r4, #0x0
- addeq sp, sp, #0xc4
- ldmeqia sp!, {r4-r9,lr}
- bxeq lr
- ldr r0, [r4, #0x4]
- cmp r5, r0
- ble _020D3278
- ldr r0, [r4, #0x8]
- ldr r1, [r4, #0x10]
- blx r1
- ldr r0, [r4, #0x8]
- ldr r3, [r4, #0x14]
- mov r1, r6
- mov r2, r5
- blx r3
- ldr r0, [r4, #0x8]
- ldr r2, [r4, #0x18]
- add r1, sp, #0x0
- blx r2
- ldr r5, [r4, #0x0]
- add r6, sp, #0x0
-_020D3278:
- cmp r5, #0x0
- mov r0, #0x0
- ble _020D32A0
- add r2, sp, #0x40
-_020D3288:
- ldrb r1, [r6, r0]
- add r0, r0, #0x1
- cmp r0, r5
- eor r1, r1, #0x36
- strb r1, [r2], #0x1
- blt _020D3288
-_020D32A0:
- ldr r1, [r4, #0x4]
- cmp r0, r1
- bge _020D32CC
- add r1, sp, #0x40
- add r3, r1, r0
- mov r2, #0x36
-_020D32B8:
- strb r2, [r3], #0x1
- ldr r1, [r4, #0x4]
- add r0, r0, #0x1
- cmp r0, r1
- blt _020D32B8
-_020D32CC:
- ldr r0, [r4, #0x8]
- ldr r1, [r4, #0x10]
- blx r1
- ldr r0, [r4, #0x8]
- ldr r2, [r4, #0x4]
- ldr r3, [r4, #0x14]
- add r1, sp, #0x40
- blx r3
- ldr r0, [r4, #0x8]
- ldr r3, [r4, #0x14]
- mov r1, r8
- mov r2, r7
- blx r3
- ldr r0, [r4, #0x8]
- ldr r1, [r4, #0xc]
- ldr r2, [r4, #0x18]
- blx r2
- cmp r5, #0x0
- mov r2, #0x0
- ble _020D3338
- add r1, sp, #0x80
-_020D3320:
- ldrb r0, [r6, r2]
- add r2, r2, #0x1
- cmp r2, r5
- eor r0, r0, #0x5c
- strb r0, [r1], #0x1
- blt _020D3320
-_020D3338:
- ldr r0, [r4, #0x4]
- cmp r2, r0
- bge _020D3364
- add r0, sp, #0x80
- add r3, r0, r2
- mov r1, #0x5c
-_020D3350:
- strb r1, [r3], #0x1
- ldr r0, [r4, #0x4]
- add r2, r2, #0x1
- cmp r2, r0
- blt _020D3350
-_020D3364:
- ldr r0, [r4, #0x8]
- ldr r1, [r4, #0x10]
- blx r1
- ldr r0, [r4, #0x8]
- ldr r2, [r4, #0x4]
- ldr r3, [r4, #0x14]
- add r1, sp, #0x80
- blx r3
- ldr r0, [r4, #0x8]
- ldr r1, [r4, #0xc]
- ldr r2, [r4, #0x0]
- ldr r3, [r4, #0x14]
- blx r3
- ldr r0, [r4, #0x8]
- ldr r2, [r4, #0x18]
- mov r1, r9
- blx r2
- add sp, sp, #0xc4
- ldmia sp!, {r4-r9,lr}
- bx lr
- .balign 4
-_020D33B4: .word 0x00FF00FF
-_020D33B8: .word 0x5A827999
-_020D33BC: .word 0x6ED9EBA1
-_020D33C0: .word 0x8F1BBCDC
-_020D33C4: .word 0xCA62C1D6
-
- arm_func_start DGTi_hash2_arm4_small
-DGTi_hash2_arm4_small: ; 0x020D33C8
- stmdb sp!, {r4-r12,lr}
- ldmia r0, {r3,r9-r12}
- sub sp, sp, #0x84
- str r2, [sp, #0x80]
-_020D33D8:
- ldr r8, _020D33B8 ; =0x5A827999
- ldr r7, _020D33B4 ; =0x00FF00FF
- mov r6, sp
- mov r5, #0x0
-_020D33E8:
- ldr r4, [r1], #0x4
- add r2, r8, r12
- add r2, r2, r3, ror #0x1B
- and lr, r4, r7
- and r4, r7, r4, ror #0x18
- orr r4, r4, lr, ror #0x8
- str r4, [r6, #0x40]
- str r4, [r6], #0x4
- add r2, r2, r4
- eor r4, r10, r11
- and r4, r4, r9
- eor r4, r4, r11
- add r2, r2, r4
- mov r9, r9, ror #0x2
- mov r12, r11
- mov r11, r10
- mov r10, r9
- mov r9, r3
- mov r3, r2
- add r5, r5, #0x4
- cmp r5, #0x40
- blt _020D33E8
- mov r7, #0x0
- mov r6, sp
-_020D3448:
- ldr r2, [r6, #0x0]
- ldr r5, [r6, #0x8]
- ldr r4, [r6, #0x20]
- ldr lr, [r6, #0x34]
- eor r2, r2, r5
- eor r4, r4, lr
- eor r2, r2, r4
- mov r2, r2, ror #0x1F
- str r2, [r6, #0x40]
- str r2, [r6], #0x4
- add r2, r2, r12
- add r2, r2, r8
- add r2, r2, r3, ror #0x1B
- eor r4, r10, r11
- and r4, r4, r9
- eor r4, r4, r11
- add r2, r2, r4
- mov r9, r9, ror #0x2
- mov r12, r11
- mov r11, r10
- mov r10, r9
- mov r9, r3
- mov r3, r2
- add r7, r7, #0x4
- cmp r7, #0x10
- blt _020D3448
- ldr r8, _020D33BC ; =0x6ED9EBA1
- mov r7, #0x0
-_020D34B8:
- ldr r2, [r6, #0x0]
- ldr r4, [r6, #0x8]
- ldr lr, [r6, #0x20]
- ldr r5, [r6, #0x34]
- eor r2, r2, r4
- eor lr, lr, r5
- eor r2, r2, lr
- mov r2, r2, ror #0x1F
- str r2, [r6, #0x40]
- str r2, [r6], #0x4
- add r2, r2, r12
- add r2, r2, r8
- add r2, r2, r3, ror #0x1B
- eor lr, r9, r10
- eor lr, lr, r11
- add r2, r2, lr
- mov r9, r9, ror #0x2
- mov r12, r11
- mov r11, r10
- mov r10, r9
- mov r9, r3
- mov r3, r2
- add r7, r7, #0x1
- cmp r7, #0xc
- moveq r6, sp
- cmp r7, #0x14
- blt _020D34B8
- ldr r8, _020D33C0 ; =0x8F1BBCDC
- mov r7, #0x0
-_020D352C:
- ldr r2, [r6, #0x0]
- ldr lr, [r6, #0x8]
- ldr r5, [r6, #0x20]
- ldr r4, [r6, #0x34]
- eor r2, r2, lr
- eor r5, r5, r4
- eor r2, r2, r5
- mov r2, r2, ror #0x1F
- str r2, [r6, #0x40]
- str r2, [r6], #0x4
- add r2, r2, r12
- add r2, r2, r8
- add r2, r2, r3, ror #0x1B
- orr r5, r9, r10
- and r5, r5, r11
- and r4, r9, r10
- orr r5, r5, r4
- add r2, r2, r5
- mov r9, r9, ror #0x2
- mov r12, r11
- mov r11, r10
- mov r10, r9
- mov r9, r3
- mov r3, r2
- add r7, r7, #0x1
- cmp r7, #0x8
- moveq r6, sp
- cmp r7, #0x14
- blt _020D352C
- ldr r8, _020D33C4 ; =0xCA62C1D6
- mov r7, #0x0
-_020D35A8:
- ldr r2, [r6, #0x0]
- ldr r5, [r6, #0x8]
- ldr r4, [r6, #0x20]
- ldr lr, [r6, #0x34]
- eor r2, r2, r5
- eor r4, r4, lr
- eor r2, r2, r4
- mov r2, r2, ror #0x1F
- str r2, [r6, #0x40]
- str r2, [r6], #0x4
- add r2, r2, r12
- add r2, r2, r8
- add r2, r2, r3, ror #0x1B
- eor r4, r9, r10
- eor r4, r4, r11
- add r2, r2, r4
- mov r9, r9, ror #0x2
- mov r12, r11
- mov r11, r10
- mov r10, r9
- mov r9, r3
- mov r3, r2
- add r7, r7, #0x1
- cmp r7, #0x4
- moveq r6, sp
- cmp r7, #0x14
- blt _020D35A8
- ldmia r0, {r2,r4,r6-r7,lr}
- add r3, r3, r2
- add r9, r9, r4
- add r10, r10, r6
- add r11, r11, r7
- add r12, r12, lr
- stmia r0, {r3,r9-r12}
- ldr lr, [sp, #0x80]
- subs lr, lr, #0x40
- str lr, [sp, #0x80]
- bgt _020D33D8
- add sp, sp, #0x84
- ldmia sp!, {r4-r12,pc}
diff --git a/asm/FS_arm9.s b/asm/FS_arm9.s
deleted file mode 100644
index 8fcbff7a..00000000
--- a/asm/FS_arm9.s
+++ /dev/null
@@ -1,3011 +0,0 @@
- .include "asm/macros.inc
- .include "global.inc"
- .section .text
-
- arm_func_start FSi_TranslateCommand
-FSi_TranslateCommand:
- stmdb sp!, {r4-r8,lr}
- mov r8, r0
- ldr r0, [r8, #0xc]
- mov r7, r1
- mov r1, #0x1
- ldr r5, [r8, #0x8]
- mov r4, r1, lsl r7
- ands r0, r0, #0x4
- moveq r1, #0x0
- cmp r1, #0x0
- ldrne r0, [r5, #0x1c]
- orrne r0, r0, #0x200
- strne r0, [r5, #0x1c]
- ldreq r0, [r5, #0x1c]
- orreq r0, r0, #0x100
- streq r0, [r5, #0x1c]
- ldr r0, [r5, #0x58]
- ands r0, r0, r4
- beq _020CFFE4
- ldr r2, [r5, #0x54]
- mov r0, r8
- mov r1, r7
- blx r2
- mov r6, r0
- cmp r6, #0x8
- addls pc, pc, r6, lsl #0x2
- b _020CFFE8
-_020CFFA0:
- b _020CFFC4
- b _020CFFC4
- b _020CFFE8
- b _020CFFE8
- b _020CFFC4
- b _020CFFE8
- b _020CFFE8
- b _020CFFE8
- b _020CFFCC
-_020CFFC4:
- str r6, [r8, #0x14]
- b _020CFFE8
-_020CFFCC:
- ldr r1, [r5, #0x58]
- mvn r0, r4
- and r0, r1, r0
- str r0, [r5, #0x58]
- mov r6, #0x7
- b _020CFFE8
-_020CFFE4:
- mov r6, #0x7
-_020CFFE8:
- cmp r6, #0x7
- bne _020D0004
- ldr r1, _020D00AC ; =0x02103F80
- mov r0, r8
- ldr r1, [r1, r7, lsl #0x2]
- blx r1
- mov r6, r0
-_020D0004:
- cmp r6, #0x6
- bne _020D0060
- ldr r0, [r8, #0xc]
- ands r0, r0, #0x4
- movne r0, #0x1
- moveq r0, #0x0
- cmp r0, #0x0
- beq _020D00A0
- bl OS_DisableInterrupts
- ldr r1, [r5, #0x1c]
- mov r4, r0
- ands r0, r1, #0x200
- beq _020D0050
- add r6, r5, #0xc
-_020D003C:
- mov r0, r6
- bl OS_SleepThread
- ldr r0, [r5, #0x1c]
- ands r0, r0, #0x200
- bne _020D003C
-_020D0050:
- mov r0, r4
- ldr r6, [r8, #0x14]
- bl OS_RestoreInterrupts
- b _020D00A0
-_020D0060:
- ldr r0, [r8, #0xc]
- ands r0, r0, #0x4
- movne r0, #0x1
- moveq r0, #0x0
- cmp r0, #0x0
- ldrne r0, [r5, #0x1c]
- bicne r0, r0, #0x200
- strne r0, [r5, #0x1c]
- strne r6, [r8, #0x14]
- bne _020D00A0
- ldr r1, [r5, #0x1c]
- mov r0, r8
- bic r2, r1, #0x100
- mov r1, r6
- str r2, [r5, #0x1c]
- bl FSi_ReleaseCommand
-_020D00A0:
- mov r0, r6
- ldmia sp!, {r4-r8,lr}
- bx lr
- .balign 4
-_020D00AC: .word 0x02103F80
-
- arm_func_start FSi_ReleaseCommand
-FSi_ReleaseCommand:
- stmdb sp!, {r4-r6,lr}
- mov r6, r0
- mov r5, r1
- bl OS_DisableInterrupts
- ldr r1, [r6, #0x0]
- mov r4, r0
- ldr r0, [r6, #0x4]
- cmp r1, #0x0
- strne r0, [r1, #0x4]
- cmp r0, #0x0
- strne r1, [r0, #0x0]
- mov r0, #0x0
- str r0, [r6, #0x0]
- ldr r1, [r6, #0x0]
- add r0, r6, #0x18
- str r1, [r6, #0x4]
- ldr r1, [r6, #0xc]
- bic r1, r1, #0x4f
- str r1, [r6, #0xc]
- str r5, [r6, #0x14]
- bl OS_WakeupThread
- mov r0, r4
- bl OS_RestoreInterrupts
- ldmia sp!, {r4-r6,lr}
- bx lr
-
- arm_func_start FSi_CloseFileCommand
-FSi_CloseFileCommand: ; 0x020D0114
- mov r0, #0x0
- bx lr
-
- arm_func_start FSi_OpenFileDirectCommand
-FSi_OpenFileDirectCommand: ; 0x020D011C
- ldr r1, [r0, #0x30]
- str r1, [r0, #0x24]
- ldr r1, [r0, #0x30]
- str r1, [r0, #0x2c]
- ldr r1, [r0, #0x34]
- str r1, [r0, #0x28]
- ldr r1, [r0, #0x38]
- str r1, [r0, #0x20]
- mov r0, #0x0
- bx lr
-
- arm_func_start FSi_OpenFileFastCommand
-FSi_OpenFileFastCommand: ; 0x020D0144
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x14
- mov r5, r0
- ldr r1, [r5, #0x8]
- ldr r4, [r5, #0x34]
- ldr r0, [r1, #0x30]
- mov r2, r4, lsl #0x3
- cmp r2, r0
- addcs sp, sp, #0x14
- movcs r0, #0x1
- ldmcsia sp!, {r4-r5,lr}
- bxcs lr
- str r1, [sp, #0x8]
- ldr r1, [r1, #0x2c]
- add r0, sp, #0x8
- add r3, r1, r2
- add r1, sp, #0x0
- mov r2, #0x8
- str r3, [sp, #0xc]
- bl FSi_ReadTable
-_020D0194:
- cmp r0, #0
- addne sp, sp, #0x14
- ldmneia sp!, {r4-r5,lr}
- bxne lr
- ldr r1, [sp]
- mov r0, r5
- str r1, [r5, #0x30]
- ldr r2, [sp, #0x4]
- mov r1, #7
- str r2, [r5, #0x34]
- str r4, [r5, #0x38]
- bl FSi_TranslateCommand
- add sp, sp, #0x14
- ldmia sp!, {r4-r5,lr}
- bx lr
-
- arm_func_start FSi_GetPathCommand
-FSi_GetPathCommand: ; 0x020D01D0
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0xe4
- mov r4, r0
- ldr r1, [r4, #0x8]
- add r0, sp, #0x98
- add r11, r4, #0x30
- str r1, [sp, #0x0]
- bl FS_InitFile
- ldr r0, [r4, #0x8]
- str r0, [sp, #0xa0]
- ldr r0, [r4, #0xc]
- ands r0, r0, #0x20
- movne r0, #0x1
- moveq r0, #0x0
- cmp r0, #0x0
- ldrneh r5, [r4, #0x24]
- movne r4, #0x10000
- bne _020D02BC
- ldrh r0, [r11, #0x8]
- ldr r4, [r4, #0x20]
- cmp r0, #0x0
- ldrneh r5, [r11, #0xa]
- bne _020D02BC
- mov r10, #0x0
- mov r9, r10
- mov r5, #0x10000
- add r8, sp, #0x98
- mov r6, #0x3
- mov r7, #0x1
-_020D0244:
- mov r0, r8
- mov r1, r10
- bl FSi_SeekDirDirect
- add r2, sp, #0x4
- cmp r10, #0x0
- mov r0, r8
- mov r1, r6
- ldreq r9, [sp, #0xc4]
- str r2, [sp, #0xc8]
- str r7, [sp, #0xcc]
- bl FSi_TranslateCommand
-_020D0270:
- cmp r0, #0x0
- bne _020D02A8
-_020D0278:
- ldr r0, [sp, #0x10]
- cmp r0, #0x0
- bne _020D0294
- ldr r0, [sp, #0x8]
- cmp r0, r4
- ldreqh r5, [sp, #0xbc]
- beq _020D02A8
-_020D0294:
- mov r0, r8
- mov r1, r6
- bl FSi_TranslateCommand
- cmp r0, #0x0
- beq _020D0278
-_020D02A8:
- cmp r5, #0x10000
- bne _020D02BC
- add sl, sl, #0x1
- cmp sl, r9
- bcc _020D0244
-_020D02BC:
- cmp r5, #0x10000
- moveq r0, #0x0
- streqh r0, [r11, #0x8]
- addeq sp, sp, #0xe4
- moveq r0, #0x1
- ldmeqia sp!, {r4-r11,lr}
- bxeq lr
- ldrh r0, [r11, #0x8]
- cmp r0, #0x0
- bne _020D03B8
- ldr r0, [sp, #0x0]
- mov r1, #0x0
- ldr r0, [r0, #0x0]
- cmp r0, #0xff
- addls r9, r1, #0x1
- bls _020D0308
- cmp r0, #0xff00
- addls r9, r1, #0x2
- addhi r9, r1, #0x3
-_020D0308:
- cmp r4, #0x10000
- ldrne r0, [sp, #0x14]
- add r9, r9, #0x2
- addne r9, r9, r0
- mov r10, r5
- cmp r5, #0x0
- beq _020D03AC
- add r0, sp, #0x98
- mov r1, r5
- bl FSi_SeekDirDirect
- add r8, sp, #0x98
- mov r6, #0x3
- mov r7, #0x1
-_020D033C:
- ldr r1, [sp, #0xc4]
- mov r0, r8
- bl FSi_SeekDirDirect
- add r2, sp, #0x4
- mov r0, r8
- mov r1, r6
- str r2, [sp, #0xc8]
- str r7, [sp, #0xcc]
- bl FSi_TranslateCommand
-_020D0360:
- cmp r0, #0x0
- bne _020D03A0
-_020D0368:
- ldr r0, [sp, #0x10]
- cmp r0, #0x0
- beq _020D038C
- ldrh r0, [sp, #0x8]
- cmp r0, sl
- ldreq r0, [sp, #0x14]
- addeq r0, r0, #0x1
- addeq r9, r9, r0
- beq _020D03A0
-_020D038C:
- mov r0, r8
- mov r1, r6
- bl FSi_TranslateCommand
- cmp r0, #0x0
- beq _020D0368
-_020D03A0:
- ldrh sl, [sp, #0xbc]
- cmp sl, #0x0
- bne _020D033C
-_020D03AC:
- add r0, r9, #0x1
- strh r0, [r11, #0x8]
- strh r5, [r11, #0xa]
-_020D03B8:
- ldr r7, [r11, #0x0]
- cmp r7, #0x0
- addeq sp, sp, #0xe4
- moveq r0, #0x0
- ldmeqia sp!, {r4-r11,lr}
- bxeq lr
- ldrh r6, [r11, #0x8]
- ldr r0, [r11, #0x4]
- cmp r0, r6
- addcc sp, sp, #0xe4
- movcc r0, #0x1
- ldmccia sp!, {r4-r11,lr}
- bxcc lr
- ldr r0, [sp, #0x0]
- mov r9, #0x0
- ldr r0, [r0, #0x0]
- cmp r0, #0xff
- movls r8, #0x1
- bls _020D0410
- cmp r0, #0xff00
- movls r8, #0x2
- movhi r8, #0x3
-_020D0410:
- ldr r0, [sp, #0x0]
- mov r1, r7
- mov r2, r8
- bl MI_CpuCopy8
- add r1, r9, r8
- ldr r0, _020D058C ; =0x0210682C
- add r1, r7, r1
- mov r2, #0x2
- bl MI_CpuCopy8
- add r0, sp, #0x98
- mov r1, r5
- bl FSi_SeekDirDirect
- cmp r4, #0x10000
- beq _020D04C4
- add r3, sp, #0x4
- mov r2, #0x0
- add r0, sp, #0x98
- mov r1, #0x3
- str r3, [sp, #0xc8]
- str r2, [sp, #0xcc]
- bl FSi_TranslateCommand
-_020D0464:
- cmp r0, #0x0
- bne _020D04A0
- add r9, sp, #0x98
- mov r8, #0x3
-_020D0474:
- ldr r0, [sp, #0x10]
- cmp r0, #0x0
- bne _020D048C
- ldr r0, [sp, #0x8]
- cmp r0, r4
- beq _020D04A0
-_020D048C:
- mov r0, r9
- mov r1, r8
- bl FSi_TranslateCommand
- cmp r0, #0x0
- beq _020D0474
-_020D04A0:
- ldr r0, [sp, #0x14]
- add r1, r7, r6
- add r4, r0, #0x1
- add r0, sp, #0x18
- mov r2, r4
- sub r1, r1, r4
- bl MI_CpuCopy8
- sub r6, r6, r4
- b _020D04D4
-_020D04C4:
- add r0, r7, r6
- mov r1, #0x0
- strb r1, [r0, #-0x1]
- sub r6, r6, #0x1
-_020D04D4:
- cmp r5, #0x0
- beq _020D057C
- add r10, sp, #0x98
- add r11, sp, #0x4
- mov r4, #0x3
- mov r9, #0x0
- mov r8, #0x2f
-_020D04F0:
- ldr r1, [sp, #0xc4]
- mov r0, r10
- bl FSi_SeekDirDirect
- add r2, r7, r6
- mov r0, r10
- mov r1, r4
- str r11, [sp, #0xc8]
- str r9, [sp, #0xcc]
- strb r8, [r2, #-0x1]
- sub r6, r6, #0x1
- bl FSi_TranslateCommand
-_020D051C:
- cmp r0, #0x0
- bne _020D0570
-_020D0524:
- ldr r0, [sp, #0x10]
- cmp r0, #0x0
- beq _020D055C
- ldrh r0, [sp, #0x8]
- cmp r0, r5
- bne _020D055C
- ldr r5, [sp, #0x14]
- add r1, r7, r6
- add r0, sp, #0x18
- mov r2, r5
- sub r1, r1, r5
- bl MI_CpuCopy8
- sub r6, r6, r5
- b _020D0570
-_020D055C:
- mov r0, sl
- mov r1, r4
- bl FSi_TranslateCommand
- cmp r0, #0x0
- beq _020D0524
-_020D0570:
- ldrh r5, [sp, #0xbc]
- cmp r5, #0x0
- bne _020D04F0
-_020D057C:
- mov r0, #0x0
- add sp, sp, #0xe4
- ldmia sp!, {r4-r11,lr}
- bx lr
- .balign 4
-_020D058C: .word 0x0210682C
-
- arm_func_start FSi_FindPathCommand
-FSi_FindPathCommand: ; 0x020D0590
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0x9c
- mov r10, r0
- ldr r2, [r10, #0x40]
- ldr r9, [r10, #0x3c]
- mov r1, #0x2
- str r2, [sp, #0x0]
- bl FSi_TranslateCommand
- ldrb r1, [r9, #0x0]
- cmp r1, #0x0
- beq _020D0780
- mov r0, #0x2
- add r11, sp, #0x1c
- mov r4, #0x3
- mov r5, #0x1
- mov r6, #0x0
- str r0, [sp, #0x4]
-_020D05D4:
- mov r7, r6
- b _020D05E0
-_020D05DC:
- add r7, r7, #0x1
-_020D05E0:
- ldrb r8, [r9, r7]
- mov r0, r6
- cmp r8, #0x0
- beq _020D0600
- cmp r8, #0x2f
- beq _020D0600
- cmp r8, #0x5c
- movne r0, r5
-_020D0600:
- cmp r0, #0x0
- bne _020D05DC
- cmp r8, #0x0
- bne _020D061C
- ldr r0, [sp, #0x0]
- cmp r0, #0x0
- beq _020D0620
-_020D061C:
- mov r8, r5
-_020D0620:
- cmp r7, #0x0
- addeq sp, sp, #0x9c
- moveq r0, #0x1
- ldmeqia sp!, {r4-r11,lr}
- bxeq lr
- cmp r1, #0x2e
- bne _020D068C
- cmp r7, #0x1
- addeq r9, r9, #0x1
- beq _020D0764
- ldrb r0, [r9, #0x1]
- cmp r7, #0x2
- moveq r1, r5
- movne r1, r6
- cmp r0, #0x2e
- moveq r0, r5
- movne r0, r6
- ands r0, r1, r0
- beq _020D068C
- ldrh r0, [r10, #0x24]
- cmp r0, #0x0
- beq _020D0684
- ldr r1, [r10, #0x2c]
- mov r0, r10
- bl FSi_SeekDirDirect
-_020D0684:
- add r9, r9, #0x2
- b _020D0764
-_020D068C:
- cmp r7, #0x7f
- addgt sp, sp, #0x9c
- movgt r0, #0x1
- ldmgtia sp!, {r4-r11,lr}
- bxgt lr
- add r0, sp, #0x8
- str r0, [r10, #0x30]
- str r6, [r10, #0x34]
-_020D06AC:
- mov r0, r10
- mov r1, r4
- bl FSi_TranslateCommand
-_020D06B8:
- cmp r0, #0x0
- addne sp, sp, #0x9c
- movne r0, #0x1
- ldmneia sp!, {r4-r11,lr}
- bxne lr
- ldr r0, [sp, #0x14]
- cmp r8, r0
- bne _020D06AC
- ldr r0, [sp, #0x18]
- cmp r7, r0
- bne _020D06AC
- mov r0, r9
- mov r1, fp
- mov r2, r7
- bl FSi_StrNICmp
- cmp r0, #0x0
- bne _020D06AC
- cmp r8, #0x0
- beq _020D0728
- add r0, sp, #0x8
- add r3, sl, #0x30
- ldmia r0, {r0, r1, r2}
- stmia r3, {r0, r1, r2}
- ldr r1, [sp, #0x4]
- mov r0, sl
- add r9, r9, r7
- bl FSi_TranslateCommand
- b _020D0764
-_020D0728:
- ldr r0, [sp]
- cmp r0, #0x0
- addne sp, sp, #0x9c
- movne r0, #0x1
- ldmneia sp!, {r4-r11,lr}
- bxne lr
- ldr r3, [sl, #0x44]
- ldr r2, [sp, #0x8]
- ldr r1, [sp, #0xC]
- add sp, sp, #0x9c
- str r2, [r3]
- str r1, [r3, #0x4]
- mov r0, #0x0
- ldmia sp!, {r4-r11,lr}
- bx lr
-_020D0764:
- ldrb r0, [r9, #0x0]
- cmp r0, #0x0
- movne r0, r5
- moveq r0, r6
- ldrb r1, [r9, r0]!
- cmp r1, #0x0
- bne _020D05D4
-_020D0780:
- ldr r0, [sp, #0x0]
- cmp r0, #0x0
- moveq r0, #0x1
- addne r0, r10, #0x20
- ldrne r3, [r10, #0x44]
- ldmneia r0, {r0-r2}
- stmneia r3, {r0-r2}
- movne r0, #0x0
- add sp, sp, #0x9c
- ldmia sp!, {r4-r11,lr}
- bx lr
-
- arm_func_start FSi_ReadDirCommand
-FSi_ReadDirCommand: ; 0x020D07AC
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0xc
- mov r5, r0
- ldr r4, [r5, #0x30]
- ldr r1, [r5, #0x8]
- add r0, sp, #0x4
- str r1, [sp, #0x4]
- ldr r3, [r5, #0x28]
- add r1, sp, #0x0
- mov r2, #0x1
- str r3, [sp, #0x8]
- bl FSi_ReadTable
-_020D07DC:
- cmp r0, #0x0
- addne sp, sp, #0xC
- ldmneia sp!, {r4-r5,lr}
- bxne lr
- ldrb r1, [sp]
- and r2, r1, #0x7F
- mov r1, r1, asr #0x7
- str r2, [r4, #0x10]
- and r1, r1, #0x1
- str r1, [r4, #0xC]
- ldr r2, [r4, #0x10]
- cmp r2, #0x0
- addeq sp, sp, #0xC
- moveq r0, #0x1
- ldmeqia sp!, {r4-r5,lr}
- bxeq lr
- ldr r1, [r5, #0x34]
- cmp r1, #0x0
- bne _020D0858
- add r0, sp, #0x4
- add r1, r4, #0x14
- bl FSi_ReadTable
- cmp r0, #0x0
- addne sp, sp, #0xC
- ldmneia sp!, {r4-r5,lr}
- bxne lr
- ldr r1, [r4, #0x10]
- mov r2, #0x0
- add r1, r4, r1
- strb r2, [r1, #0x14]
- b _020D0864
-_020D0858:
- ldr r1, [sp, #0x8]
- add r1, r1, r2
- str r1, [sp, #0x8]
-_020D0864:
- ldr r1, [r4, #0xC]
- cmp r1, #0x0
- beq _020D08B8
- add r0, sp, #0x4
- add r1, sp, #0x2
- mov r2, #0x2
- bl FSi_ReadTable
- cmp r0, #0x0
- addne sp, sp, #0xC
- ldmneia sp!, {r4-r5,lr}
- bxne lr
- ldr r2, [r5, #0x8]
- ldr r1, _020D08E8
- str r2, [r4]
- ldrh r3, [sp, #0x2]
- mov r2, #0x0
- and r1, r3, r1
- strh r1, [r4, #0x4]
- strh r2, [r4, #0x6]
- str r2, [r4, #0x8]
- b _020D08D4
-_020D08B8:
- ldr r1, [r5, #0x8]
- str r1, [r4]
- ldrh r1, [r5, #0x26]
- str r1, [r4, #0x4]
- ldrh r1, [r5, #0x26]
- add r1, r1, #0x1
- strh r1, [r5, #0x26]
-_020D08D4:
- ldr r1, [sp, #0x8]
- str r1, [r5, #0x28]
- add sp, sp, #0xC
- ldmia sp!, {r4-r5,lr}
- bx lr
-_020D08E8: .word 0x00000FFF
-
- arm_func_start FSi_SeekDirCommand
-FSi_SeekDirCommand: ; 0x020D08EC
- stmdb sp!, {r4-r6,lr}
- sub sp, sp, #0x10
- mov r6, r0
- ldr r5, [r6, #0x8]
- add r4, r6, #0x30
- str r5, [sp, #0x8]
- ldrh r1, [r4, #0x4]
- ldr r2, [r5, #0x34]
- add r0, sp, #0x8
- add r3, r2, r1, lsl #0x3
- add r1, sp, #0x0
- mov r2, #0x8
- str r3, [sp, #0xc]
- bl FSi_ReadTable
- movs r3, r0
- bne _020D0978
- add r12, r6, #0x20
- ldmia r4, {r0-r2}
- stmia r12, {r0-r2}
- ldrh r0, [r4, #0x6]
- cmp r0, #0x0
- bne _020D0968
- ldr r0, [r4, #0x8]
- cmp r0, #0x0
- bne _020D0968
- ldrh r0, [sp, #0x4]
- strh r0, [r6, #0x26]
- ldr r1, [r5, #0x34]
- ldr r0, [sp, #0x0]
- add r0, r1, r0
- str r0, [r6, #0x28]
-_020D0968:
- ldrh r1, [sp, #0x6]
- ldr r0, _020D0988 ; =0x00000FFF
- and r0, r1, r0
- str r0, [r6, #0x2c]
-_020D0978:
- mov r0, r3
- add sp, sp, #0x10
- ldmia sp!, {r4-r6,lr}
- bx lr
- .balign 4
-_020D0988: .word 0x00000FFF
-
- arm_func_start FSi_WriteFileCommand
-FSi_WriteFileCommand: ; 0x020D098C
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r2, [r0, #0x2c]
- ldr r3, [r0, #0x38]
- ldr lr, [r0, #0x8]
- ldr r1, [r0, #0x30]
- add r12, r2, r3
- str r12, [r0, #0x2c]
- ldr r12, [lr, #0x4c]
- mov r0, lr
- blx r12
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-
- arm_func_start FSi_ReadFileCommand
-FSi_ReadFileCommand: ; 0x020D09C4
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r2, [r0, #0x2c]
- ldr r3, [r0, #0x38]
- ldr lr, [r0, #0x8]
- ldr r1, [r0, #0x30]
- add r12, r2, r3
- str r12, [r0, #0x2c]
- ldr r12, [lr, #0x48]
- mov r0, lr
- blx r12
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-
- arm_func_start FSi_SeekDirDirect
-FSi_SeekDirDirect: ; 0x020D09FC
- ldr r3, [r0, #0xc]
- mov r2, #0x0
- orr r3, r3, #0x4
- str r3, [r0, #0xc]
- ldr r3, [r0, #0x8]
- ldr ip, _020D0A2C ; =FSi_TranslateCommand
- str r3, [r0, #0x30]
- str r2, [r0, #0x38]
- strh r2, [r0, #0x36]
- strh r1, [r0, #0x34]
- mov r1, #0x2
- bx r12
- .balign 4
-_020D0A2C: .word FSi_TranslateCommand
-
- arm_func_start FSi_ReadTable
-FSi_ReadTable:
- stmdb sp!, {r4-r8,lr}
- mov r7, r0
- ldr r5, [r7, #0x0]
- mov r6, r2
- ldr r2, [r5, #0x1c]
- mov r0, r5
- orr r2, r2, #0x200
- str r2, [r5, #0x1c]
- ldr r2, [r7, #0x4]
- ldr r4, [r5, #0x50]
- mov r3, r6
- blx r4
- cmp r0, #0x0
- beq _020D0A7C
- cmp r0, #0x1
- beq _020D0A7C
- cmp r0, #0x6
- beq _020D0A8C
- b _020D0AC8
-_020D0A7C:
- ldr r1, [r5, #0x1c]
- bic r1, r1, #0x200
- str r1, [r5, #0x1c]
- b _020D0AC8
-_020D0A8C:
- bl OS_DisableInterrupts
- ldr r1, [r5, #0x1c]
- mov r4, r0
- ands r0, r1, #0x200
- beq _020D0AB8
- add r8, r5, #0xc
-_020D0AA4:
- mov r0, r8
- bl OS_SleepThread
- ldr r0, [r5, #0x1c]
- ands r0, r0, #0x200
- bne _020D0AA4
-_020D0AB8:
- mov r0, r4
- bl OS_RestoreInterrupts
- ldr r0, [r5, #0x24]
- ldr r0, [r0, #0x14]
-_020D0AC8:
- ldr r1, [r7, #0x4]
- add r1, r1, r6
- str r1, [r7, #0x4]
- ldmia sp!, {r4-r8,lr}
- bx lr
-
- arm_func_start FSi_StrNICmp
-FSi_StrNICmp: ; 0x020D0ADC
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- cmp r2, #0x0
- mov lr, #0x0
- bls _020D0B30
-_020D0AF0:
- ldrb r12, [r0, lr]
- ldrb r3, [r1, lr]
- sub r12, r12, #0x41
- cmp r12, #0x19
- sub r3, r3, #0x41
- addls r12, r12, #0x20
- cmp r3, #0x19
- addls r3, r3, #0x20
- cmp r12, r3
- addne sp, sp, #0x4
- subne r0, r12, r3
- ldmneia sp!, {lr}
- bxne lr
- add lr, lr, #0x1
- cmp lr, r2
- blo _020D0AF0
-_020D0B30:
- mov r0, #0x0
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-
- arm_func_start FS_NotifyArchiveAsyncEnd
-FS_NotifyArchiveAsyncEnd: ; 0x020D0B40
- stmdb sp!, {r4-r6,lr}
- mov r4, r0
- ldr r0, [r4, #0x1c]
- mov r6, r1
- ands r0, r0, #0x100
- beq _020D0B8C
- ldr r2, [r4, #0x1c]
- ldr r0, [r4, #0x24]
- bic r2, r2, #0x100
- str r2, [r4, #0x1c]
- bl FSi_ReleaseCommand
- mov r0, r4
- bl FSi_NextCommand
-_020D0B74:
- cmp r0, #0x0
- ldmeqia sp!, {r4-r6,lr}
- bxeq lr
- bl FSi_ExecuteAsyncCommand
- ldmia sp!, {r4-r6,lr}
- bx lr
-_020D0B8C:
- ldr r5, [r4, #0x24]
- bl OS_DisableInterrupts
- str r6, [r5, #0x14]
- ldr r1, [r4, #0x1c]
- mov r5, r0
- bic r1, r1, #0x200
- add r0, r4, #0xc
- str r1, [r4, #0x1c]
- bl OS_WakeupThread
- mov r0, r5
- bl OS_RestoreInterrupts
- ldmia sp!, {r4-r6,lr}
- bx lr
-
- arm_func_start FS_SetArchiveProc
-FS_SetArchiveProc: ; 0x020D0BC0
- cmp r2, #0x0
- moveq r1, #0x0
- beq _020D0BD4
- cmp r1, #0x0
- moveq r2, #0x0
-_020D0BD4:
- str r1, [r0, #0x54]
- str r2, [r0, #0x58]
- bx lr
-
- arm_func_start FS_ResumeArchive
-FS_ResumeArchive:
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- mov r4, r0
- mov r6, #0x0
- bl OS_DisableInterrupts
- ldr r1, [r4, #0x1c]
- mov r5, r0
- ands r0, r1, #0x8
- movne r0, #0x1
- moveq r0, r6
- cmp r0, #0x0
- moveq r7, #0x1
- movne r7, #0x0
- cmp r7, #0x0
- bne _020D0C34
- ldr r1, [r4, #0x1c]
- mov r0, r4
- bic r1, r1, #0x8
- str r1, [r4, #0x1c]
- bl FSi_NextCommand
- mov r6, r0
-_020D0C34:
- mov r0, r5
- bl OS_RestoreInterrupts
-_020D0C3C:
- cmp r6, #0x0
- beq _020D0C4C
- mov r0, r6
- bl FSi_ExecuteAsyncCommand
-_020D0C4C:
- mov r0, r7
- add sp, sp, #0x4
- ldmia sp!, {r4-r7, lr}
- bx lr
-
- arm_func_start FS_SuspendArchive
-FS_SuspendArchive: ; 0x020D0C5C
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- mov r6, r0
- bl OS_DisableInterrupts
- ldr r1, [r6, #0x1c]
- mov r4, r0
- ands r0, r1, #0x8
- movne r0, #0x1
- moveq r0, #0x0
- cmp r0, #0x0
- moveq r5, #0x1
- movne r5, #0x0
- cmp r5, #0x0
- beq _020D0CD4
- ldr r0, [r6, #0x1c]
- ands r0, r0, #0x10
- beq _020D0CC8
- ldr r0, [r6, #0x1c]
- orr r0, r0, #0x40
- str r0, [r6, #0x1c]
- add r7, r6, #0x14
-_020D0CB0:
- mov r0, r7
- bl OS_SleepThread
- ldr r0, [r6, #0x1c]
- ands r0, r0, #0x40
- bne _020D0CB0
- b _020D0CD4
-_020D0CC8:
- ldr r0, [r6, #0x1c]
- orr r0, r0, #0x8
- str r0, [r6, #0x1c]
-_020D0CD4:
- mov r0, r4
- bl OS_RestoreInterrupts
- mov r0, r5
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,lr}
- bx lr
-
- arm_func_start FS_UnloadArchiveTables
-FS_UnloadArchiveTables: ; 0x020D0CEC
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r5, r0
- ldr r0, [r5, #0x1c]
- mov r4, #0x0
- ands r0, r0, #0x2
- movne r0, #0x1
- moveq r0, r4
- cmp r0, #0x0
- beq _020D0D74
- mov r0, r5
- bl FS_SuspendArchive
- ldr r1, [r5, #0x1c]
- ands r1, r1, #0x4
- movne r1, #0x1
- moveq r1, #0x0
- cmp r1, #0x0
- beq _020D0D64
- ldr r2, [r5, #0x1c]
- mov r1, #0x0
- bic r2, r2, #0x4
- str r2, [r5, #0x1c]
- ldr r4, [r5, #0x44]
- str r1, [r5, #0x44]
- ldr r1, [r5, #0x3c]
- str r1, [r5, #0x2c]
- ldr r1, [r5, #0x40]
- str r1, [r5, #0x34]
- ldr r1, [r5, #0x48]
- str r1, [r5, #0x50]
-_020D0D64:
- cmp r0, #0x0
- beq _020D0D74
- mov r0, r5
- bl FS_ResumeArchive
-_020D0D74:
- mov r0, r4
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
-
- arm_func_start FUN_020D0D84
-FUN_020D0D84: ; 0x020D0D84
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4c
- mov r7, r0
- ldr r3, [r7, #0x30]
- ldr r0, [r7, #0x38]
- mov r6, r1
- add r0, r3, r0
- add r0, r0, #0x20
- add r0, r0, #0x1f
- bic r5, r0, #0x1f
- cmp r5, r2
- bhi _020D0E9C
- add r1, r6, #0x1f
- add r0, sp, #0x4
- bic r4, r1, #0x1f
- bl FS_InitFile
- ldr r2, [r7, #0x2c]
- mvn r0, #0x0
- str r0, [sp, #0x0]
- ldr r3, [r7, #0x30]
- add r0, sp, #0x4
- mov r1, r7
- add r3, r2, r3
- bl FS_OpenFileDirect
-_020D0DE4:
- cmp r0, #0x0
- beq _020D0E1C
- ldr r2, [r7, #0x30]
- add r0, sp, #0x4
- mov r1, r4
- bl FS_ReadFile
- cmp r0, #0x0
- bge _020D0E14
- ldr r2, [r7, #0x30]
- mov r0, r4
- mov r1, #0x0
- bl MI_CpuFill8
-_020D0E14:
- add r0, sp, #0x4
- bl FS_CloseFile
-_020D0E1C:
- str r4, [r7, #0x2C]
- ldr ip, [r7, #0x30]
- ldr r2, [r7, #0x34]
- mvn r0, #0x0
- str r0, [sp]
- ldr r3, [r7, #0x38]
- add r0, sp, #0x4
- mov r1, r7
- add r3, r2, r3
- add r4, r4, ip
- bl FS_OpenFileDirect
- cmp r0, #0x0
- beq _020D0E80
- ldr r2, [r7, #0x38]
- add r0, sp, #0x4
- mov r1, r4
- bl FS_ReadFile
- cmp r0, #0x0
- bge _020D0E78
- ldr r2, [r7, #0x38]
- mov r0, r4
- mov r1, #0x0
- bl MI_CpuFill8
-_020D0E78:
- add r0, sp, #0x4
- bl FS_CloseFile
-_020D0E80:
- str r4, [r7, #0x34]
- ldr r0, _020D0EAC
- str r6, [r7, #0x44]
- str r0, [r7, #0x50]
- ldr r0, [r7, #0x1C]
- orr r0, r0, #0x4
- str r0, [r7, #0x1C]
-_020D0E9C:
- mov r0, r5
- add sp, sp, #0x4C
- ldmia sp!, {r4-r7,lr}
- bx lr
-_020D0EAC:
- .word FSi_ReadMemoryCore
-
- arm_func_start FUN_020D0EB0
-FUN_020D0EB0: ; 0x020D0EB0
- stmdb sp!, {r4-r8,lr}
- mov r5, r0
- bl OS_DisableInterrupts
- ldr r1, [r5, #0x1c]
- mov r4, r0
- ands r0, r1, #0x2
- movne r0, #0x1
- moveq r0, #0x0
- cmp r0, #0x0
- beq _020D0F64
- mov r0, r5
- ldr r1, [r5, #0x1c]
- bl FS_SuspendArchive
- ldr r1, [r5, #0x1c]
- mov r7, r0
- orr r0, r1, #0x80
- str r0, [r5, #0x1c]
- ldr r0, [r5, #0x24]
- cmp r0, #0x0
- beq _020D0F1C
- mov r6, #0x3
-_020D0F04:
- ldr r8, [r0, #0x4]
- mov r1, r6
- bl FSi_ReleaseCommand
- mov r0, r8
- cmp r8, #0x0
- bne _020D0F04
-_020D0F1C:
- mov r0, #0x0
- str r0, [r5, #0x24]
- cmp r7, #0x0
- beq _020D0F34
- mov r0, r5
- bl FS_ResumeArchive
-_020D0F34:
- mov r0, #0x0
- str r0, [r5, #0x28]
- str r0, [r5, #0x2c]
- str r0, [r5, #0x30]
- str r0, [r5, #0x34]
- str r0, [r5, #0x38]
- str r0, [r5, #0x40]
- ldr r0, [r5, #0x40]
- str r0, [r5, #0x3c]
- ldr r0, [r5, #0x1c]
- bic r0, r0, #0xa2
- str r0, [r5, #0x1c]
-_020D0F64:
- mov r0, r4
- bl OS_RestoreInterrupts
- mov r0, #0x1
- ldmia sp!, {r4-r8,lr}
- bx lr
-
- arm_func_start FS_LoadArchive
-FS_LoadArchive: ; 0x020D0F78
- str r1, [r0, #0x28]
- str r3, [r0, #0x30]
- str r2, [r0, #0x3c]
- ldr r1, [r0, #0x3c]
- ldr r2, [sp, #0x4]
- str r1, [r0, #0x2c]
- str r2, [r0, #0x38]
- ldr r1, [sp, #0x0]
- ldr r2, [sp, #0x8]
- str r1, [r0, #0x40]
- ldr r1, [r0, #0x40]
- cmp r2, #0x0
- str r1, [r0, #0x34]
- ldreq r2, _020D0FE8 ; =FSi_ReadMemCallback
- ldr r1, [sp, #0xc]
- str r2, [r0, #0x48]
- cmp r1, #0x0
- ldreq r1, _020D0FEC ; =FSi_WriteMemCallback
- str r1, [r0, #0x4c]
- ldr r2, [r0, #0x48]
- mov r1, #0x0
- str r2, [r0, #0x50]
- str r1, [r0, #0x44]
- ldr r1, [r0, #0x1c]
- orr r1, r1, #0x2
- str r1, [r0, #0x1c]
- mov r0, #0x1
- bx lr
- .balign 4
-_020D0FE8: .word FSi_ReadMemCallback
-_020D0FEC: .word FSi_WriteMemCallback
-
- arm_func_start FUN_020D0FF0
-FUN_020D0FF0: ; 0x020D0FF0
- stmdb sp!, {r4,lr}
- mov r4, r0
- ldr r0, [r4, #0x0]
- cmp r0, #0x0
- ldmeqia sp!, {r4,lr}
- bxeq lr
- bl OS_DisableInterrupts
- ldr r2, [r4, #0x4]
- mov r3, #0x0
- cmp r2, #0x0
- ldrne r1, [r4, #0x8]
- strne r1, [r2, #0x8]
- ldr r2, [r4, #0x8]
- cmp r2, #0x0
- ldrne r1, [r4, #0x4]
- strne r1, [r2, #0x4]
- str r3, [r4, #0x0]
- str r3, [r4, #0x8]
- ldr r1, [r4, #0x8]
- ldr r2, _020D1080 ; =0x021D53EC
- str r1, [r4, #0x4]
- ldr r1, [r4, #0x1c]
- bic r1, r1, #0x1
- str r1, [r4, #0x1c]
- ldr r1, [r2, #0x0]
- cmp r1, r4
- bne _020D1074
- ldr r1, _020D1084 ; =0x021D53E8
- str r3, [r2, #0x8]
- ldr r1, [r1, #0x0]
- strh r3, [r2, #0x6]
- str r1, [r2, #0x0]
- strh r3, [r2, #0x4]
-_020D1074:
- bl OS_RestoreInterrupts
- ldmia sp!, {r4,lr}
- bx lr
- .balign 4
-_020D1080: .word 0x021D53EC
-_020D1084: .word 0x021D53E8
-
- arm_func_start FS_RegisterArchiveName
-FS_RegisterArchiveName: ; 0x020D1088
- stmdb sp!, {r4-r8,lr}
- mov r6, r1
- mov r5, r2
- mov r7, r0
- mov r8, #0x0
- bl OS_DisableInterrupts
- mov r4, r0
- mov r0, r6
- mov r1, r5
- bl FS_FindArchive
-_020D10B0:
- cmp r0, #0x0
- bne _020D112C
- ldr r1, _020D1140
- ldr r2, [r1]
- cmp r2, #0x0
- bne _020D10E8
- ldr r0, _020D1144
- mov r2, r8
- str r7, [r1]
- str r7, [r0]
- str r2, [r0, #0x8]
- strh r2, [r0, #0x6]
- strh r2, [r0, #0x4]
- b _020D110C
-_020D10E8:
- ldr r0, [r2, #0x4]
- cmp r0, #0x0
- beq _020D1104
-_020D10F4:
- mov r2, r0
- ldr r0, [r0, #0x4]
- cmp r0, #0x0
- bne _020D10F4
-_020D1104:
- str r7, [r2, #0x4]
- str r2, [r7, #0x8]
-_020D110C:
- mov r0, r6
- mov r1, r5
- bl FSi_GetPackedName
- str r0, [r7]
- ldr r0, [r7, #0x1C]
- mov r8, #0x1
- orr r0, r0, #0x1
- str r0, [r7, #0x1C]
-_020D112C:
- mov r0, r4
- bl OS_RestoreInterrupts
- mov r0, r8
- ldmia sp!, {r4-r8,lr}
- bx lr
-_020D1140: .word 0x021D53E8
-_020D1144: .word 0x021D53EC
-
- arm_func_start FS_FindArchive
-FS_FindArchive:
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- bl FSi_GetPackedName
- mov r5, r0
- bl OS_DisableInterrupts
- ldr r1, _020D1194 ; =0x021D53E8
- ldr r4, [r1, #0x0]
- b _020D116C
-_020D1168:
- ldr r4, [r4, #0x4]
-_020D116C:
- cmp r4, #0x0
- beq _020D1180
- ldr r1, [r4, #0x0]
- cmp r1, r5
- bne _020D1168
-_020D1180:
- bl OS_RestoreInterrupts
- mov r0, r4
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
- .balign 4
-_020D1194: .word 0x021D53E8
-
- arm_func_start FS_InitArchive
-FS_InitArchive: ; 0x020D1198
- stmdb sp!, {r4,lr}
- mov r1, #0x0
- mov r2, #0x5c
- mov r4, r0
- bl MI_CpuFill8
- mov r1, #0x0
- str r1, [r4, #0x10]
- ldr r0, [r4, #0x10]
- str r0, [r4, #0xc]
- str r1, [r4, #0x18]
- ldr r0, [r4, #0x18]
- str r0, [r4, #0x14]
- ldmia sp!, {r4,lr}
- bx lr
-
- arm_func_start FSi_SendCommand
-FSi_SendCommand:
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- mov r7, r0
- ldr r6, [r7, #0x8]
- mov r2, #0x1
- str r1, [r7, #0x10]
- mov r0, #0x2
- str r0, [r7, #0x14]
- ldr r0, [r7, #0xc]
- mov r5, r2, lsl r1
- orr r0, r0, #0x1
- str r0, [r7, #0xc]
- bl OS_DisableInterrupts
- ldr r1, [r6, #0x1c]
- mov r4, r0
- ands r0, r1, #0x80
- beq _020D1238
- mov r0, r7
- mov r1, #0x3
- bl FSi_ReleaseCommand
- mov r0, r4
- bl OS_RestoreInterrupts
- add sp, sp, #0x4
- mov r0, #0x0
- ldmia sp!, {r4-r7,lr}
- bx lr
-_020D1238:
- ands r0, r5, #0x1fc
- ldrne r0, [r7, #0xc]
- add r2, r6, #0x20
- orrne r0, r0, #0x4
- strne r0, [r7, #0xc]
- ldr r1, [r7, #0x0]
- ldr r0, [r7, #0x4]
- cmp r1, #0x0
- strne r0, [r1, #0x4]
- cmp r0, #0x0
- strne r1, [r0, #0x0]
- ldr r0, [r2, #0x4]
- cmp r0, #0x0
- beq _020D1280
-_020D1270:
- mov r2, r0
- ldr r0, [r0, #0x4]
- cmp r0, #0x0
- bne _020D1270
-_020D1280:
- str r7, [r2, #0x4]
- str r2, [r7, #0x0]
- mov r1, #0x0
- str r1, [r7, #0x4]
- ldr r0, [r6, #0x1c]
- ands r0, r0, #0x8
- movne r1, #0x1
- cmp r1, #0x0
- bne _020D132C
- ldr r0, [r6, #0x1c]
- ands r0, r0, #0x10
- bne _020D132C
- ldr r1, [r6, #0x1c]
- mov r0, r4
- orr r1, r1, #0x10
- str r1, [r6, #0x1c]
- bl OS_RestoreInterrupts
- ldr r0, [r6, #0x58]
- ands r0, r0, #0x200
- beq _020D12E0
- ldr r2, [r6, #0x54]
- mov r0, r7
- mov r1, #0x9
- blx r2
-_020D12E0:
- bl OS_DisableInterrupts
- ldr r1, [r7, #0xc]
- orr r1, r1, #0x40
- str r1, [r7, #0xc]
- ldr r1, [r7, #0xc]
- ands r1, r1, #0x4
- movne r1, #0x1
- moveq r1, #0x0
- cmp r1, #0x0
- bne _020D1324
- bl OS_RestoreInterrupts
- mov r0, r7
- bl FSi_ExecuteAsyncCommand
- add sp, sp, #0x4
- mov r0, #0x1
- ldmia sp!, {r4-r7,lr}
- bx lr
-_020D1324:
- bl OS_RestoreInterrupts
- b _020D1378
-_020D132C:
- ldr r0, [r7, #0xc]
- ands r0, r0, #0x4
- movne r0, #0x1
- moveq r0, #0x0
- cmp r0, #0x0
- bne _020D135C
- mov r0, r4
- bl OS_RestoreInterrupts
- add sp, sp, #0x4
- mov r0, #0x1
- ldmia sp!, {r4-r7,lr}
- bx lr
-_020D135C:
- add r0, r7, #0x18
- bl OS_SleepThread
- ldr r0, [r7, #0xc]
- ands r0, r0, #0x40
- beq _020D135C
- mov r0, r4
- bl OS_RestoreInterrupts
-_020D1378:
- mov r0, r7
- bl FSi_ExecuteSyncCommand
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,lr}
- bx lr
-
- arm_func_start FSi_ExecuteSyncCommand
-FSi_ExecuteSyncCommand: ; 0x020D138C
- stmdb sp!, {r4,lr}
- mov r4, r0
- ldr r1, [r4, #0x10]
- bl FSi_TranslateCommand
- mov r1, r0
- mov r0, r4
- bl FSi_ReleaseCommand
- ldr r0, [r4, #0x8]
- bl FSi_NextCommand
-_020D13B0:
- cmp r0, #0x0
- beq _020D13BC
- bl FSi_ExecuteAsyncCommand
-_020D13BC:
- ldr r0, [r4, #0x14]
- cmp r0, #0x0
- moveq r0, #0x1
- movne r0, #0x0
- ldmia sp!, {r4,lr}
- bx lr
-
- arm_func_start FSi_ExecuteAsyncCommand
-FSi_ExecuteAsyncCommand: ; 0x020D13D4
- stmdb sp!, {r4-r8,lr}
- movs r6, r0
- ldr r5, [r6, #0x8]
- ldmeqia sp!, {r4-r8,lr}
- bxeq lr
- mov r7, #0x0
- mov r8, #0x1
-_020D13F0:
- bl OS_DisableInterrupts
- ldr r1, [r6, #0xc]
- mov r4, r0
- orr r0, r1, #0x40
- str r0, [r6, #0xc]
- ldr r0, [r6, #0xc]
- ands r0, r0, #0x4
- movne r0, r8
- moveq r0, r7
- cmp r0, #0x0
- beq _020D1434
- add r0, r6, #0x18
- bl OS_WakeupThread
- mov r0, r4
- bl OS_RestoreInterrupts
- ldmia sp!, {r4-r8,lr}
- bx lr
-_020D1434:
- ldr r1, [r6, #0xc]
- mov r0, r4
- orr r1, r1, #0x8
- str r1, [r6, #0xc]
- bl OS_RestoreInterrupts
- ldr r1, [r6, #0x10]
- mov r0, r6
- bl FSi_TranslateCommand
- cmp r0, #0x6
- ldmeqia sp!, {r4-r8,lr}
- bxeq lr
- mov r0, r5
- bl FSi_NextCommand
- movs r6, r0
- bne _020D13F0
- ldmia sp!, {r4-r8,lr}
- bx lr
-
- arm_func_start FSi_NextCommand
-FSi_NextCommand:
- stmdb sp!, {r4-r9,lr}
- sub sp, sp, #0x4c
- mov r6, r0
- bl OS_DisableInterrupts
- ldr r1, [r6, #0x1c]
- mov r5, r0
- ands r0, r1, #0x20
- beq _020D1500
- ldr r0, [r6, #0x1c]
- bic r0, r0, #0x20
- str r0, [r6, #0x1c]
- ldr r0, [r6, #0x24]
- cmp r0, #0x0
- beq _020D1500
- mov r8, #0x0
- mov r9, #0x1
- mov r7, #0x3
-_020D14BC:
- ldr r1, [r0, #0xc]
- ldr r4, [r0, #0x4]
- ands r1, r1, #0x2
- movne r1, r9
- moveq r1, r8
- cmp r1, #0x0
- beq _020D14F4
- ldr r1, [r6, #0x24]
- cmp r1, r0
- mov r1, r7
- streq r4, [r6, #0x24]
- bl FSi_ReleaseCommand
-_020D14EC:
- cmp r4, #0x0
- ldreq r4, [r6, #0x24]
-_020D14F4:
- mov r0, r4
- cmp r4, #0x0
- bne _020D14BC
-_020D1500:
- ldr r0, [r6, #0x1c]
- ands r0, r0, #0x40
- bne _020D15EC
- ldr r0, [r6, #0x1c]
- ands r0, r0, #0x8
- movne r0, #0x1
- moveq r0, #0x0
- cmp r0, #0x0
- bne _020D15EC
- ldr r4, [r6, #0x24]
- cmp r4, #0x0
- beq _020D15EC
- ldr r0, [r6, #0x1c]
- ands r0, r0, #0x10
- movne r0, #0x1
- moveq r0, #0x0
- cmp r0, #0x0
- moveq r7, #0x1
- movne r7, #0x0
- cmp r7, #0x0
- ldrne r0, [r6, #0x1c]
- orrne r0, r0, #0x10
- strne r0, [r6, #0x1c]
- mov r0, r5
- bl OS_RestoreInterrupts
-_020D1564:
- cmp r7, #0x0
- beq _020D1588
- ldr r0, [r6, #0x58]
- ands r0, r0, #0x200
- beq _020D1588
- ldr r2, [r6, #0x54]
- mov r0, r4
- mov r1, #0x9
- blx r2
-_020D1588:
- bl OS_DisableInterrupts
- ldr r1, [r4, #0xC]
- mov r5, r0
- orr r0, r1, #0x40
- str r0, [r4, #0xC]
- ldr r0, [r4, #0xC]
- ands r0, r0, #0x4
- movne r0, #0x1
- moveq r0, #0x0
- cmp r0, #0x0
- beq _020D15D4
- add r0, r4, #0x18
- bl OS_WakeupThread
- mov r0, r5
- bl OS_RestoreInterrupts
- add sp, sp, #0x4c
- mov r0, #0x0
- ldmia sp!, {r4-r9, lr}
- bx lr
-_020D15D4:
- mov r0, r5
- bl OS_RestoreInterrupts
- add sp, sp, #0x4c
- mov r0, r4
- ldmia sp!, {r4-r9, lr}
- bx lr
-_020D15EC:
- ldr r0, [r6, #0x1c]
- ands r0, r0, #0x10
- beq _020D162C
- ldr r0, [r6, #0x1c]
- bic r0, r0, #0x10
- str r0, [r6, #0x1c]
- ldr r0, [r6, #0x58]
- ands r0, r0, #0x400
- beq _020D162C
- add r0, sp, #0x0
- bl FS_InitFile
- str r6, [sp, #0x8]
- ldr r2, [r6, #0x54]
- add r0, sp, #0x0
- mov r1, #0xa
- blx r2
-_020D162C:
- ldr r0, [r6, #0x1c]
- ands r0, r0, #0x40
- beq _020D1658
- ldr r1, [r6, #0x1c]
- add r0, r6, #0x14
- bic r1, r1, #0x40
- str r1, [r6, #0x1c]
- ldr r1, [r6, #0x1c]
- orr r1, r1, #0x8
- str r1, [r6, #0x1c]
- bl OS_WakeupThread
-_020D1658:
- mov r0, r5
- bl OS_RestoreInterrupts
-_020D1660:
- mov r0, #0x0
- add sp, sp, #0x4c
- ldmia sp!, {r4-r9, lr}
- bx lr
-
- arm_func_start FSi_ReadMemoryCore
-FSi_ReadMemoryCore: ; 0x020D1670
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- mov r0, r2
- mov r2, r3
- bl MI_CpuCopy8
-_020D1684:
- mov r0, #0x0
- add sp, sp, #0x4
- ldmfd sp!, {lr}
- bx lr
-
- arm_func_start FSi_WriteMemCallback
-FSi_WriteMemCallback: ; 0x020D1694
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r12, [r0, #0x28]
- mov r0, r1
- add r1, r12, r2
- mov r2, r3
- bl MI_CpuCopy8
-_020D16B0:
- mov r0, #0x0
- add sp, sp, #0x4
- ldmfd sp!, {lr}
- bx lr
-
- arm_func_start FSi_ReadMemCallback
-FSi_ReadMemCallback: ; 0x020D16C0
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r0, [r0, #0x28]
- add r0, r0, r2
- mov r2, r3
- bl MI_CpuCopy8
-_020D16D8:
- mov r0, #0x0
- add sp, sp, #0x4
- ldmfd sp!, {lr}
- bx lr
-
- arm_func_start FSi_GetPackedName
-FSi_GetPackedName: ; 0x020D16E8
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- cmp r1, #0x3
- mov lr, #0x0
- bgt _020D173C
- mov r12, lr
- cmp r1, #0x0
- ble _020D173C
- mov r3, lr
-_020D170C:
- ldrb r2, [r0, r12]
- cmp r2, #0x0
- beq _020D173C
- sub r2, r2, #0x41
- cmp r2, #0x19
- addls r2, r2, #0x61
- addhi r2, r2, #0x41
- add r12, r12, #0x1
- orr lr, lr, r2, lsl r3
- cmp r12, r1
- add r3, r3, #0x8
- blt _020D170C
-_020D173C:
- mov r0, lr
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-
- arm_func_start FS_ChangeDir
-FS_ChangeDir: ; 0x020D174C
- stmdb sp!, {r4,lr}
- sub sp, sp, #0x58
- mov r4, r0
- add r0, sp, #0xc
- bl FS_InitFile
- add r0, sp, #0xc
- add r3, sp, #0x0
- mov r1, r4
- mov r2, #0x0
- bl FSi_FindPath
-_020D1774:
- cmp r0, #0x0
- moveq r0, #0x0
- addne r0, sp, #0x0
- ldrne r3, _020D179C
- ldmneia r0, {r0, r1, r2}
- stmneia r3, {r0, r1, r2}
- movne r0, #0x1
- add sp, sp, #0x58
- ldmia sp!, {r4, lr}
- bx lr
-_020D179C: .word 0x021D53EC
-
- arm_func_start FS_SeekFile
-FS_SeekFile: ; 0x020D17A0
- cmp r2, #0x0
- beq _020D17BC
- cmp r2, #0x1
- beq _020D17C8
- cmp r2, #0x2
- beq _020D17D4
- b _020D17E0
-_020D17BC:
- ldr r2, [r0, #0x24]
- add r1, r1, r2
- b _020D17E8
-_020D17C8:
- ldr r2, [r0, #0x2c]
- add r1, r1, r2
- b _020D17E8
-_020D17D4:
- ldr r2, [r0, #0x28]
- add r1, r1, r2
- b _020D17E8
-_020D17E0:
- mov r0, #0x0
- bx lr
-_020D17E8:
- ldr r2, [r0, #0x24]
- cmp r1, r2
- movlt r1, r2
- ldr r2, [r0, #0x28]
- cmp r1, r2
- movgt r1, r2
- str r1, [r0, #0x2c]
- mov r0, #0x1
- bx lr
-
- arm_func_start FS_ReadFile
-FS_ReadFile: ; 0x020D180C
- ldr ip, _020D1818 ; =FUN_020D1AAC
- mov r3, #0x0
- bx r12
- .balign 4
-_020D1818: .word FUN_020D1AAC
-
- arm_func_start FS_ReadFileAsync
-FS_ReadFileAsync: ; 0x020D181C
- ldr ip, _020D1828 ; =FUN_020D1AAC
- mov r3, #0x1
- bx r12
- .balign 4
-_020D1828: .word FUN_020D1AAC
-
- arm_func_start FS_WaitAsync
-FS_WaitAsync: ; 0x020D182C
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- mov r6, r0
- mov r5, #0x0
- bl OS_DisableInterrupts
- ldr r1, [r6, #0xc]
- mov r4, r0
- ands r0, r1, #0x1
- movne r0, #0x1
- moveq r0, r5
- cmp r0, #0x0
- beq _020D18BC
- ldr r0, [r6, #0xc]
- ands r0, r0, #0x44
- moveq r5, #0x1
- movne r5, #0x0
- cmp r5, #0x0
- beq _020D189C
- ldr r0, [r6, #0xc]
- orr r0, r0, #0x4
- str r0, [r6, #0xc]
- add r7, r6, #0x18
-_020D1884:
- mov r0, r7
- bl OS_SleepThread
- ldr r0, [r6, #0xc]
- ands r0, r0, #0x40
- beq _020D1884
- b _020D18BC
-_020D189C:
- add r0, r6, #0x18
- bl OS_SleepThread
- ldr r0, [r6, #0xc]
- ands r0, r0, #0x1
- movne r0, #0x1
- moveq r0, #0x0
- cmp r0, #0x0
- bne _020D189C
-_020D18BC:
- mov r0, r4
- bl OS_RestoreInterrupts
-_020D18C4:
- cmp r5, #0x0
- beq _020D18E0
- mov r0, r6
- bl FSi_ExecuteSyncCommand
- add sp, sp, #4
- ldmia sp!, {r4-r7,lr}
- bx lr
-_020D18E0:
- ldr r0, [r6, #0x14]
- cmp r0, #0x0
- moveq r0, #0x1
- movne r0, #0x0
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,lr}
- bx lr
-
- arm_func_start FS_CloseFile
-FS_CloseFile: ; 0x020D18FC
- stmdb sp!, {r4,lr}
- mov r1, #0x8
- mov r4, r0
- bl FSi_SendCommand
-_020D190C:
- cmp r0, #0x0
- moveq r0, #0x0
- ldmeqia sp!, {r4,lr}
- bxeq lr
- mov r0, #0x0
- str r0, [r4, #0x8]
- mov r0, #0xE
- str r0, [r4, #0x10]
- ldr r1, [r4, #0xC]
- mov r0, #0x1
- bic r1, r1, #0x30
- str r1, [r4, #0xC]
- ldmia sp!, {r4,lr}
- bx lr
-
- arm_func_start FS_OpenFile
-FS_OpenFile: ; 0x020D1944
- stmdb sp!, {r4,lr}
- sub sp, sp, #0x8
- mov r4, r0
- add r0, sp, #0x0
- bl FS_ConvertPathToFileID
-_020D1958:
- cmp r0, #0x0
- beq _020D1984
- add r1, sp, #0x0
- mov r0, r4
- ldmia r1, {r1, r2}
- bl FS_OpenFileFast
- cmp r0, #0x0
- addne sp, sp, #0x8
- movne r0, #0x1
- ldmneia sp!, {r4, lr}
- bxne lr
-_020D1984:
- mov r0, #0x0
- add sp, sp, #0x8
- ldmia sp!, {r4, lr}
- bx lr
-
- arm_func_start FS_OpenFileFast
-FS_OpenFileFast:
- stmdb sp!, {r0-r3}
- stmdb sp!, {r4,lr}
- ldr r1, [sp, #0xc]
- mov r4, r0
- cmp r1, #0x0
- moveq r0, #0x0
- ldmeqia sp!, {r4,lr}
- addeq sp, sp, #0x10
- bxeq lr
- str r1, [r4, #0x8]
- ldr r3, [sp, #0xc]
- ldr r2, [sp, #0x10]
- mov r1, #0x6
- str r3, [r4, #0x30]
- str r2, [r4, #0x34]
- bl FSi_SendCommand
-_020D19D4:
- cmp r0, #0x0
- moveq r0, #0x0
- ldmeqia sp!, {r4, lr}
- addeq sp, sp, #0x10
- bxeq lr
- ldr r1, [r4, #0xC]
- mov r0, #0x1
- orr r1, r1, #0x10
- str r1, [r4, #0xC]
- ldr r1, [r4, #0xC]
- bic r1, r1, #0x20
- str r1, [r4, #0xC]
- ldmia sp!, {r4, lr}
- add sp, sp, #0x10
- bx lr
-
- arm_func_start FS_OpenFileDirect
-FS_OpenFileDirect:
- stmdb sp!, {r4,lr}
- mov r4, r0
- str r1, [r4, #0x8]
- ldr r12, [sp, #0x8]
- mov r1, #0x7
- str r12, [r4, #0x38]
- str r2, [r4, #0x30]
- str r3, [r4, #0x34]
- bl FSi_SendCommand
-_020D1A34:
- cmp r0, #0x0
- moveq r0, #0x0
- ldmeqia sp!, {r4, lr}
- bxeq lr
- ldr r1, [r4, #0xC]
- mov r0, #0x1
- orr r1, r1, #0x10
- str r1, [r4, #0xC]
- ldr r1, [r4, #0xC]
- bic r1, r1, #0x20
- str r1, [r4, #0xC]
- ldmia sp!, {r4, lr}
- bx lr
-
- arm_func_start FS_ConvertPathToFileID
-FS_ConvertPathToFileID:
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4c
- mov r5, r0
- add r0, sp, #0x0
- mov r4, r1
- bl FS_InitFile
-_020D1A80:
- add r0, sp, #0x0
- mov r1, r4
- mov r2, r5
- mov r3, #0x0
- bl FSi_FindPath
- cmp r0, #0x0
- movne r0, #0x1
- moveq r0, #0x0
- add sp, sp, #0x4C
- ldmia sp!, {r4-r5, lr}
- bx lr
-
- arm_func_start FUN_020D1AAC
-FUN_020D1AAC: ; 0x020D1AAC
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- mov r7, r0
- ldr r4, [r7, #0x2c]
- ldr r0, [r7, #0x28]
- mov r6, r2
- str r1, [r7, #0x30]
- sub r0, r0, r4
- cmp r6, r0
- movgt r6, r0
- cmp r6, #0x0
- movlt r6, #0x0
- str r2, [r7, #0x34]
- mov r5, r3
- str r6, [r7, #0x38]
- cmp r5, #0x0
- ldreq r0, [r7, #0xc]
- mov r1, #0x0
- orreq r0, r0, #0x4
- streq r0, [r7, #0xc]
- mov r0, r7
- bl FSi_SendCommand
-_020D1B04:
- cmp r5, #0x0
- bne _020D1B24
- mov r0, r7
- bl FS_WaitAsync
- cmp r0, #0x0
- ldrne r0, [r7, #0x2C]
- subne r6, r0, r4
- mvneq r6, #0x0
-_020D1B24:
- mov r0, r6
- add sp, sp, #0x4
- ldmia sp!, {r4-r7, lr}
- bx lr
-
- arm_func_start FSi_FindPath
-FSi_FindPath:
- stmdb sp!, {r4-r8,lr}
- sub sp, sp, #0x10
- mov r7, r1
- ldrb r1, [r7, #0x0]
- mov r8, r0
- mov r6, r2
- mov r5, r3
- cmp r1, #0x2f
- beq _020D1B60
- cmp r1, #0x5c
- bne _020D1B84
-_020D1B60:
- ldr r0, _020D1C90 ; =0x021D53EC
- mov r1, #0x0
- ldr r0, [r0, #0x0]
- strh r1, [sp, #0x4]
- str r0, [sp, #0x0]
- str r1, [sp, #0x8]
- strh r1, [sp, #0x6]
- add r7, r7, #0x1
- b _020D1C40
-_020D1B84:
- ldr r0, _020D1C90 ; =0x021D53EC
- add r3, sp, #0x0
- ldmia r0, {r0-r2}
- stmia r3, {r0-r2}
- mov r4, #0x0
-_020D1B98:
- ldrb r0, [r7, r4]
- cmp r0, #0x0
- beq _020D1C40
- cmp r0, #0x2f
- beq _020D1C40
- cmp r0, #0x5c
- beq _020D1C40
- cmp r0, #0x3a
- bne _020D1C34
- mov r0, r7
- mov r1, r4
- bl FS_FindArchive
-_020D1BC8:
- cmp r0, #0x0
- addeq sp, sp, #0x10
- moveq r0, #0x0
- ldmeqia sp!, {r4-r8,lr}
- bxeq lr
- ldr r1, [r0, #0x1C]
- ands r1, r1, #0x2
- movne r1, #0x1
- moveq r1, #0x0
- cmp r1, #0x0
- addeq sp, sp, #0x10
- moveq r0, #0x0
- ldmeqia sp!, {r4-r8,lr}
- bxeq lr
- mov r1, #0x0
- str r0, [sp]
- str r1, [sp, #0x8]
- strh r1, [sp, #0x6]
- strh r1, [sp, #0x4]
- add r0, r4, #0x1
- ldrb r0, [r7, r0]!
- cmp r0, #0x2f
- beq _020D1C2C
- cmp r0, #0x5c
- bne _020D1C40
-_020D1C2C:
- add r7, r7, #0x1
- b _020D1C40
-_020D1C34:
- add r4, r4, #0x1
- cmp r4, #0x3
- ble _020D1B98
-_020D1C40:
- ldr r1, [sp, #0x0]
- add r0, sp, #0x0
- str r1, [r8, #0x8]
- str r7, [r8, #0x3c]
- add r3, r8, #0x30
- ldmia r0, {r0-r2}
- stmia r3, {r0-r2}
- cmp r5, #0x0
- movne r0, #0x1
- strne r0, [r8, #0x40]
- strne r5, [r8, #0x44]
- moveq r0, #0x0
- streq r0, [r8, #0x40]
- mov r0, r8
- mov r1, #0x4
- streq r6, [r8, #0x44]
- bl FSi_SendCommand
- add sp, sp, #0x10
- ldmia sp!, {r4-r8,lr}
- bx lr
- .balign 4
-_020D1C90: .word 0x021D53EC
-
- arm_func_start FS_InitFile
-FS_InitFile:
- mov r3, #0x0
- str r3, [r0, #0x0]
- ldr r2, [r0, #0x0]
- mov r1, #0xe
- str r2, [r0, #0x4]
- str r3, [r0, #0x1c]
- ldr r2, [r0, #0x1c]
- str r2, [r0, #0x18]
- str r3, [r0, #0x8]
- str r1, [r0, #0x10]
- str r3, [r0, #0xc]
- bx lr
-
- arm_func_start FS_IsAvailable
-FS_IsAvailable: ; 0x020D1CC4
- ldr r0, _020D1CD0 ; =0x021D53F8
- ldr r0, [r0, #0x0]
- bx lr
- .balign 4
-_020D1CD0: .word 0x021D53F8
-
- arm_func_start FS_Init
-FS_Init: ; 0x020D1CD4
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r1, _020D1D0C ; =0x021D53F8
- ldr r2, [r1, #0x0]
- cmp r2, #0x0
- addne sp, sp, #0x4
- ldmneia sp!, {lr}
- bxne lr
- mov r2, #0x1
- str r2, [r1, #0x0]
- bl FSi_InitRom
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020D1D0C: .word 0x021D53F8
-
- arm_func_start FS_TryLoadTable
-FS_TryLoadTable: ; 0x020D1D10
- ldr ip, _020D1D28 ; =FUN_020D0D84
- mov r3, r0
- mov r2, r1
- ldr r0, _020D1D2C ; =0x021D5414
- mov r1, r3
- bx r12
- .balign 4
-_020D1D28: .word FUN_020D0D84
-_020D1D2C: .word 0x021D5414
-
- arm_func_start FS_SetDefaultDMA
-FS_SetDefaultDMA: ; 0x020D1D30
- stmdb sp!, {r4-r6,lr}
- mov r6, r0
- bl OS_DisableInterrupts
- mov r5, r0
- ldr r1, _020D1D7C ; =0x021D5400
- ldr r0, _020D1D80 ; =0x021D5414
- ldr r4, [r1, #0x0]
- bl FS_SuspendArchive
- ldr r1, _020D1D7C ; =0x021D5400
- cmp r0, #0x0
- str r6, [r1, #0x0]
- beq _020D1D68
- ldr r0, _020D1D80 ; =0x021D5414
- bl FS_ResumeArchive
-_020D1D68:
- mov r0, r5
- bl OS_RestoreInterrupts
- mov r0, r4
- ldmia sp!, {r4-r6,lr}
- bx lr
- .balign 4
-_020D1D7C: .word 0x021D5400
-_020D1D80: .word 0x021D5414
-
- arm_func_start FSi_InitRom
-FSi_InitRom: ; 0x020D1D84
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x14
- ldr r1, _020D1EE8 ; =0x021D5400
- str r0, [r1, #0x0]
- bl OS_GetLockID
- ldr r3, _020D1EEC ; =0x021D53FC
- ldr r2, _020D1EF0 ; =0x021D5404
- mov r12, #0x0
- ldr r1, _020D1EF4 ; =0x021D540C
- str r0, [r3, #0x0]
- str r12, [r2, #0x0]
- str r12, [r2, #0x4]
- str r12, [r1, #0x0]
- str r12, [r1, #0x4]
- bl CARD_Init
- ldr r0, _020D1EF8 ; =0x021D5414
- bl FS_InitArchive
- ldr r0, _020D1EF8 ; =0x021D5414
- ldr r1, _020D1EFC ; =0x02106830
- mov r2, #0x3
- bl FS_RegisterArchiveName
- ldr r0, _020D1F00 ; =0x027FFC40
- ldrh r0, [r0, #0x0]
- cmp r0, #0x2
- bne _020D1E4C
- ldr ip, _020D1EF0 ; =0x021D5404
- mvn r2, #0x0
- ldr r3, _020D1EF4 ; =0x021D540C
- mov lr, #0x0
- ldr r0, _020D1EF8 ; =0x021D5414
- ldr r1, _020D1F04 ; =FSi_EmptyArchiveProc
- str r2, [r12, #0x0]
- str lr, [r12, #0x4]
- str r2, [r3, #0x0]
- str lr, [r3, #0x4]
- bl FS_SetArchiveProc
- mov r1, #0x0
- str r1, [sp, #0x0]
- ldr r0, _020D1F08 ; =FSi_ReadDummyCallback
- str r1, [sp, #0x4]
- str r0, [sp, #0x8]
- ldr ip, _020D1F0C ; =FSi_WriteDummyCallback
- ldr r0, _020D1EF8 ; =0x021D5414
- mov r2, r1
- mov r3, r1
- str r12, [sp, #0xc]
- bl FS_LoadArchive
- add sp, sp, #0x14
- ldmia sp!, {r4-r5,lr}
- bx lr
-_020D1E4C:
- ldr r5, _020D1F10 ; =0x027FFE40
- ldr r0, _020D1EF8 ; =0x021D5414
- ldr r1, _020D1F14 ; =FSi_RomArchiveProc
- ldr r2, _020D1F18 ; =0x00000602
- ldr r4, _020D1F1C ; =0x027FFE48
- bl FS_SetArchiveProc
- ldr r1, [r5, #0x0]
- mvn r0, #0x0
- cmp r1, r0
- addeq sp, sp, #0x14
- ldmeqia sp!, {r4-r5,lr}
- bxeq lr
- cmp r1, #0x0
- addeq sp, sp, #0x14
- ldmeqia sp!, {r4-r5,lr}
- bxeq lr
- ldr r2, [r4, #0x0]
- cmp r2, r0
- addeq sp, sp, #0x14
- ldmeqia sp!, {r4-r5,lr}
- bxeq lr
- cmp r2, #0x0
- addeq sp, sp, #0x14
- ldmeqia sp!, {r4-r5,lr}
- bxeq lr
- str r1, [sp, #0x0]
- ldr r0, [r5, #0x4]
- ldr r1, _020D1F20 ; =FSi_ReadRomCallback
- str r0, [sp, #0x4]
- ldr r0, _020D1F0C ; =FSi_WriteDummyCallback
- str r1, [sp, #0x8]
- str r0, [sp, #0xc]
- ldr r3, [r4, #0x4]
- ldr r0, _020D1EF8 ; =0x021D5414
- mov r1, #0x0
- bl FS_LoadArchive
- add sp, sp, #0x14
- ldmia sp!, {r4-r5,lr}
- bx lr
- .balign 4
-_020D1EE8: .word 0x021D5400
-_020D1EEC: .word 0x021D53FC
-_020D1EF0: .word 0x021D5404
-_020D1EF4: .word 0x021D540C
-_020D1EF8: .word 0x021D5414
-_020D1EFC: .word 0x02106830
-_020D1F00: .word 0x027FFC40
-_020D1F04: .word FSi_EmptyArchiveProc
-_020D1F08: .word FSi_ReadDummyCallback
-_020D1F0C: .word FSi_WriteDummyCallback
-_020D1F10: .word 0x027FFE40
-_020D1F14: .word FSi_RomArchiveProc
-_020D1F18: .word 0x00000602
-_020D1F1C: .word 0x027FFE48
-_020D1F20: .word FSi_ReadRomCallback
-
- arm_func_start FSi_EmptyArchiveProc
-FSi_EmptyArchiveProc: ; 0x020D1F24
- mov r0, #0x4
- bx lr
-
- arm_func_start FSi_ReadDummyCallback
-FSi_ReadDummyCallback: ; 0x020D1F2C
- mov r0, #0x1
- bx lr
-
- arm_func_start FSi_RomArchiveProc
-FSi_RomArchiveProc: ; 0x020D1F34
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- cmp r1, #0x1
- beq _020D1FA0
- cmp r1, #0x9
- beq _020D1F58
- cmp r1, #0xa
- beq _020D1F7C
- b _020D1FB0
-_020D1F58:
- ldr r0, _020D1FC0 ; =0x021D53FC
- ldr r0, [r0, #0x0]
- mov r0, r0, lsl #0x10
- mov r0, r0, lsr #0x10
- bl CARD_LockRom
- add sp, sp, #0x4
- mov r0, #0x0
- ldmia sp!, {lr}
- bx lr
-_020D1F7C:
- ldr r0, _020D1FC0 ; =0x021D53FC
- ldr r0, [r0, #0x0]
- mov r0, r0, lsl #0x10
- mov r0, r0, lsr #0x10
- bl CARD_UnlockRom
- add sp, sp, #0x4
- mov r0, #0x0
- ldmia sp!, {lr}
- bx lr
-_020D1FA0:
- add sp, sp, #0x4
- mov r0, #0x4
- ldmia sp!, {lr}
- bx lr
-_020D1FB0:
- mov r0, #0x8
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020D1FC0: .word 0x021D53FC
-
- arm_func_start FSi_WriteDummyCallback
-FSi_WriteDummyCallback: ; 0x020D1FC4
- mov r0, #0x1
- bx lr
-
- arm_func_start FSi_ReadRomCallback
-FSi_ReadRomCallback: ; 0x020D1FCC
- stmdb sp!, {lr}
- sub sp, sp, #0xc
- ldr ip, _020D2010 ; =FSi_OnRomReadDone
- mov lr, r1
- str r12, [sp, #0x0]
- str r0, [sp, #0x4]
- mov r1, #0x1
- ldr r0, _020D2014 ; =0x021D5400
- str r1, [sp, #0x8]
- mov r1, r2
- ldr r0, [r0, #0x0]
- mov r2, lr
- bl CARDi_ReadRom
- mov r0, #0x6
- add sp, sp, #0xc
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020D2010: .word FSi_OnRomReadDone
-_020D2014: .word 0x021D5400
-
- arm_func_start FSi_OnRomReadDone
-FSi_OnRomReadDone: ; 0x020D2018
- stmdb sp!, {r4,lr}
- mov r4, r0
- bl CARD_IsPulledOut
-_020D2024:
- cmp r0, #0x0
- movne r1, #0x5
- moveq r1, #0x0
- mov r0, r4
- bl FS_NotifyArchiveAsyncEnd
- ldmia sp!, {r4,lr}
- bx lr
-
-
- arm_func_start FS_UnloadOverlay
-FS_UnloadOverlay: ; 0x020D2040
- stmdb sp!, {lr}
- sub sp, sp, #0x2c
- mov r3, r0
- mov r2, r1
- add r0, sp, #0x0
- mov r1, r3
- bl FS_LoadOverlayInfo
-_020D205C:
- cmp r0, #0x0
- beq _020D2074
- add r0, sp, #0x0
- bl FS_UnloadOverlayImage
- cmp r0, #0x0
- bne _020D2084
-_020D2074:
- add sp, sp, #0x2c
- mov r0, #0x0
- ldmfd sp!, {lr}
- bx lr
-_020D2084:
- mov r0, #0x1
- add sp, sp, #0x2c
- ldmfd sp!, {lr}
- bx lr
-
- arm_func_start FS_LoadOverlay
-FS_LoadOverlay: ; 0x020D2094
- stmdb sp!, {lr}
- sub sp, sp, #0x2c
- mov r3, r0
- mov r2, r1
- add r0, sp, #0x0
- mov r1, r3
- bl FS_LoadOverlayInfo
-_020D20B0:
- cmp r0, #0x0
- beq _020D20C8
- add r0, sp, #0x0
- bl FS_LoadOverlayImage
- cmp r0, #0x0
- bne _020D20D8
-_020D20C8:
- add sp, sp, #0x2c
- mov r0, #0x0
- ldmfd sp!, {lr}
- bx lr
-_020D20D8:
- add r0, sp, #0x0
- bl FS_StartOverlay
- mov r0, #0x1
- add sp, sp, #0x2c
- ldmfd sp!, {lr}
- bx lr
-
- arm_func_start FS_UnloadOverlayImage
-FS_UnloadOverlayImage: ; 0x020D20F0
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- bl FS_EndOverlay
- mov r0, #0x1
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-
- arm_func_start FS_EndOverlay
-FS_EndOverlay: ; 0x020D210C
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0x4
- ldr r8, _020D220C ; =0x021D74C8
- mov r11, r0
- mov r9, #0x0
-_020D2120:
- ldr r1, [r11, #0x8]
- ldr r0, [r11, #0xc]
- ldr r5, [r11, #0x4]
- add r0, r1, r0
- mov r7, r9
- mov r6, r9
- add r4, r5, r0
- bl OS_DisableInterrupts
- ldr lr, [r8, #0x0]
- mov r10, r9
- mov r12, lr
- cmp lr, #0x0
- beq _020D21C4
-_020D2154:
- ldr r2, [r12, #0x8]
- ldr r3, [r12, #0x0]
- cmp r2, #0x0
- ldr r1, [r12, #0x4]
- bne _020D2178
- cmp r1, r5
- blo _020D2178
- cmp r1, r4
- blo _020D2188
-_020D2178:
- cmp r2, r5
- blo _020D21B4
- cmp r2, r4
- bhs _020D21B4
-_020D2188:
- cmp r6, #0x0
- strne r12, [r6, #0x0]
- moveq r7, r12
- cmp lr, r12
- streq r3, [r8, #0x0]
- moveq lr, r3
- str r9, [r12, #0x0]
- cmp r10, #0x0
- mov r6, r12
- strne r3, [r10, #0x0]
- b _020D21B8
-_020D21B4:
- mov r10, r12
-_020D21B8:
- mov r12, r3
- cmp r3, #0x0
- bne _020D2154
-_020D21C4:
- bl OS_RestoreInterrupts
-_020D21C8:
- cmp r7, #0x0
- addeq sp, sp, #0x4
- ldmeqia sp!, {r4-r11, lr}
- bxeq lr
-_020D21D8:
- ldr r1, [r7, #0x4]
- ldr r4, [r7]
- cmp r1, #0x0
- beq _020D21F0
- ldr r0, [r7, #0x8]
- blx r1
-_020D21F0:
- mov r7, r4
- cmp r4, #0x0
- bne _020D21D8
- b _020D2120
- add sp, sp, #0x4
- ldmia sp!, {r4-r11, lr}
- bx lr
-_020D220C: .word 0x021D74C8
-
- arm_func_start FS_StartOverlay
-FS_StartOverlay: ; 0x020D2210
- stmdb sp!, {r4-r6,lr}
- mov r5, r0
- bl FSi_GetOverlayBinarySize
- ldr r1, _020D2300 ; =0x027FFC40
- mov r4, r0
- ldrh r0, [r1, #0x0]
- cmp r0, #0x2
- bne _020D22A4
- ldrb r1, [r5, #0x1f]
- mov r0, #0x0
- ands r1, r1, #0x2
- beq _020D2280
- ldr r1, _020D2304 ; =0x02106F84
- ldr r3, _020D2308 ; =0x02106F84
- ldr r2, _020D230C ; =0x66666667
- sub r12, r1, r3
- smull r1, lr, r2, r12
- mov lr, lr, asr #0x3
- mov r1, r12, lsr #0x1f
- ldr r2, [r5, #0x0]
- add lr, r1, lr
- cmp r2, lr
- bhs _020D2280
- mov r0, #0x14
- mla r0, r2, r0, r3
- ldr r1, [r5, #0x4]
- mov r2, r4
- bl FSi_CompareDigest
-_020D2280:
- cmp r0, #0x0
- bne _020D22A4
- ldr r0, [r5, #0x4]
- mov r2, r4
- mov r1, #0x0
- bl MI_CpuFill8
- bl OS_Terminate
- ldmia sp!, {r4-r6,lr}
- bx lr
-_020D22A4:
- ldrb r0, [r5, #0x1f]
- ands r0, r0, #0x1
- beq _020D22BC
- ldr r0, [r5, #0x4]
- add r0, r0, r4
- bl MIi_UncompressBackward
-_020D22BC:
- ldr r0, [r5, #0x4]
- ldr r1, [r5, #0x8]
- bl DC_FlushRange
- ldr r6, [r5, #0x10]
- ldr r4, [r5, #0x14]
- cmp r6, r4
- ldmcsia sp!, {r4-r6,lr}
- bxcs lr
-_020D22DC:
- ldr r0, [r6, #0x0]
- cmp r0, #0x0
- beq _020D22EC
- blx r0
-_020D22EC:
- add r6, r6, #0x4
- cmp r6, r4
- blo _020D22DC
- ldmia sp!, {r4-r6,lr}
- bx lr
- .balign 4
-_020D2300: .word 0x027FFC40
-_020D2304: .word 0x02106F84
-_020D2308: .word 0x02106F84
-_020D230C: .word 0x66666667
-
- arm_func_start FSi_CompareDigest
-FSi_CompareDigest:
- stmdb sp!, {r4-r6,lr}
- sub sp, sp, #0x58
- mov r4, r0
- mov r6, r1
- mov r5, r2
- add r0, sp, #0x4
- mov r1, #0x0
- mov r2, #0x14
- bl MI_CpuFill8
- ldr r0, _020D23AC ; =0x02106834
- ldr r1, _020D23B0 ; =0x02106838
- ldr r0, [r0, #0x0]
- ldr r2, [r1, #0x0]
- add r1, sp, #0x18
- bl MI_CpuCopy8
- ldr r3, _020D23B0 ; =0x02106838
- mov r1, r6
- ldr r12, [r3, #0x0]
- mov r2, r5
- add r0, sp, #0x4
- add r3, sp, #0x18
- str r12, [sp, #0x0]
- bl MATH_CalcHMACSHA1
- add r2, sp, #0x4
- mov r3, #0x0
-_020D2374:
- ldr r1, [r2, #0x0]
- ldr r0, [r4, r3]
- cmp r1, r0
- bne _020D2394
- add r3, r3, #0x4
- cmp r3, #0x14
- add r2, r2, #0x4
- blo _020D2374
-_020D2394:
- cmp r3, #0x14
- moveq r0, #0x1
- movne r0, #0x0
- add sp, sp, #0x58
- ldmia sp!, {r4-r6,lr}
- bx lr
- .balign 4
-_020D23AC: .word 0x02106834
-_020D23B0: .word 0x02106838
-
- arm_func_start FS_LoadOverlayImage
-FS_LoadOverlayImage: ; 0x020D23B4
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x54
- mov r5, r0
- add r0, sp, #0x8
- bl FS_InitFile
-_020D23C8:
- add r0, sp, #0x0
- mov r1, r5
- bl FS_GetOverlayFileID
- add r1, sp, #0x0
- add r0, sp, #0x8
- ldmia r1, {r1, r2}
- bl FS_OpenFileFast
- cmp r0, #0x0
- addeq sp, sp, #0x54
- moveq r0, #0x0
- ldmeqia sp!, {r4-r5, lr}
- bxeq lr
- mov r0, r5
- bl FSi_GetOverlayBinarySize
- mov r4, r0
- mov r0, r5
- bl FS_ClearOverlayImage
- ldr r1, [r5, #0x4]
- add r0, sp, #0x8
- mov r2, r4
- bl FS_ReadFile
- cmp r4, r0
- beq _020D243C
- add r0, sp, #0x8
- bl FS_CloseFile
- add sp, sp, #0x54
- mov r0, #0x0
- ldmia sp!, {r4-r5, lr}
- bx lr
-_020D243C:
- add r0, sp, #0x8
- bl FS_CloseFile
- mov r0, #0x1
- add sp, sp, #0x54
- ldmia sp!, {r4-r5, lr}
- bx lr
-
- arm_func_start FS_LoadOverlayImageAsync
-FS_LoadOverlayImageAsync: ; 0x020D2454
- stmdb sp!, {r4-r6,lr}
- sub sp, sp, #0x8
- mov r5, r1
- mov r6, r0
- mov r0, r5
- bl FS_InitFile
-_020D246C:
- add r0, sp, #0x0
- mov r1, r6
- bl FS_GetOverlayFileID
- add r1, sp, #0x0
- mov r0, r5
- ldmia r1, {r1, r2}
- bl FS_OpenFileFast
- cmp r0, #0x0
- addeq sp, sp, #0x8
- moveq r0, #0x0
- ldmeqia sp!, {r4-r6, lr}
- bxeq lr
- mov r0, r6
- bl FSi_GetOverlayBinarySize
- mov r4, r0
- mov r0, r6
- bl FS_ClearOverlayImage
- ldr r1, [r6, #0x4]
- mov r0, r5
- mov r2, r4
- bl FS_ReadFileAsync
- cmp r4, r0
- addeq sp, sp, #0x8
- moveq r0, #0x1
- ldmeqia sp!, {r4-r6, lr}
- bxeq lr
- mov r0, r5
- bl FS_CloseFile
- mov r0, #0x0
- add sp, sp, #0x8
- ldmia sp!, {r4-r6, lr}
- bx lr
-
- arm_func_start FS_LoadOverlayInfo
-FS_LoadOverlayInfo:
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x64
- movs r4, r1
- mov r5, r0
- ldreq r0, _020D25EC ; =0x021D5404
- ldrne r0, _020D25F0 ; =0x021D540C
- ldr r3, [r0, #0x0]
- cmp r3, #0x0
- beq _020D25A8
- ldr r0, [r0, #0x4]
- mov r2, r2, lsl #0x5
- cmp r2, r0
- addcs sp, sp, #0x64
- movcs r0, #0x0
- ldmcsia sp!, {r4-r5,lr}
- bxcs lr
- add r0, r3, r2
- mov r1, r5
- mov r2, #0x20
- bl MI_CpuCopy8
- add r0, sp, #0x18
- str r4, [r5, #0x20]
- bl FS_InitFile
- add r0, sp, #0x10
- mov r1, r5
- bl FS_GetOverlayFileID
- add r1, sp, #0x10
- add r0, sp, #0x18
- ldmia r1, {r1-r2}
- bl FS_OpenFileFast
-_020D2564:
- cmp r0, #0x0
- addeq sp, sp, #0x64
- moveq r0, #0x0
- ldmeqia sp!, {r4-r5,lr}
- bxeq lr
- ldr r1, [sp, #0x3c]
- add r0, sp, #0x18
- str r1, [r5, #0x24]
- ldr r2, [sp, #0x40]
- ldr r1, [sp, #0x3c]
- sub r1, r2, r1
- str r1, [r5, #0x28]
- bl FS_CloseFile
- add sp, sp, #0x64
- mov r0, #0x1
- ldmia sp!, {r4-r5,lr}
- bx lr
-_020D25A8:
- ldr r1, _020D25F4 ; =0x027FFE50
- ldr ip, _020D25F8 ; =0x027FFE58
- ldr r0, [r1, #0x0]
- ldr r3, _020D25FC ; =0x021D5414
- str r0, [sp, #0x0]
- ldr r1, [r1, #0x4]
- mov r0, r5
- str r1, [sp, #0x4]
- ldr r5, [r12, #0x0]
- mov r1, r4
- str r5, [sp, #0x8]
- ldr r4, [r12, #0x4]
- str r4, [sp, #0xc]
- bl FSi_LoadOverlayInfoCore
- add sp, sp, #0x64
- ldmia sp!, {r4-r5,lr}
- bx lr
- .balign 4
-_020D25EC: .word 0x021D5404
-_020D25F0: .word 0x021D540C
-_020D25F4: .word 0x027FFE50
-_020D25F8: .word 0x027FFE58
-_020D25FC: .word 0x021D5414
-
- arm_func_start FSi_LoadOverlayInfoCore
-FSi_LoadOverlayInfoCore: ; 0x020D2600
- stmdb sp!, {r4-r9,lr}
- sub sp, sp, #0x54
- movs r9, r1
- ldreq r5, [sp, #0x74]
- ldreq r6, [sp, #0x70]
- ldrne r5, [sp, #0x7c]
- ldrne r6, [sp, #0x78]
- mov r7, r2, lsl #0x5
- cmp r7, r5
- mov r4, r0
- mov r8, r3
- addcs sp, sp, #0x54
- movcs r0, #0x0
- ldmcsia sp!, {r4-r9,lr}
- bxcs lr
- add r0, sp, #0xc
- bl FS_InitFile
- mvn r12, #0x0
- add r0, sp, #0xc
- mov r1, r8
- add r2, r6, r7
- add r3, r6, r5
- str r12, [sp, #0x0]
- bl FS_OpenFileDirect
-_020D2660:
- cmp r0, #0
- addeq sp, sp, #0x54
- moveq r0, #0
- ldmeqia sp!, {r4-r9, lr}
- bxeq lr
- add r0, sp, #12
- mov r1, r4
- mov r2, #32
- bl FS_ReadFile
- cmp r0, #32
- beq _020D26A4
- add r0, sp, #12
- bl FS_CloseFile
- add sp, sp, #0x54
- mov r0, #0x0
- ldmia sp!, {r4-r9, lr}
- bx lr
-_020D26A4:
- add r0, sp, #0xC
- bl FS_CloseFile
- add r0, sp, #0x4
- mov r1, r4
- str r9, [r4, #0x20]
- bl FS_GetOverlayFileID
- add r1, sp, #0x4
- add r0, sp, #0xC
- ldmia r1, {r1, r2}
- bl FS_OpenFileFast
- cmp r0, #0x0
- addeq sp, sp, #0x54
- moveq r0, #0x0
- ldmeqia sp!, {r4-r9, lr}
- bxeq lr
- ldr r1, [sp, #0x30]
- add r0, sp, #0xC
- str r1, [r4, #0x24]
- ldr r2, [sp, #0x34]
- ldr r1, [sp, #0x30]
- sub r1, r2, r1
- str r1, [r4, #0x28]
- bl FS_CloseFile
- mov r0, #0x1
- add sp, sp, #0x54
- ldmia sp!, {r4-r9, lr}
- bx lr
-
- arm_func_start FS_GetOverlayFileID
-FS_GetOverlayFileID: ; 0x020D2710
- sub sp, sp, #0x8
- ldr r2, _020D2734 ; =0x021D5414
- str r2, [sp, #0x0]
- ldr r1, [r1, #0x18]
- str r1, [sp, #0x4]
- str r2, [r0, #0x0]
- str r1, [r0, #0x4]
- add sp, sp, #0x8
- bx lr
- .balign 4
-_020D2734: .word 0x021D5414
-
- arm_func_start FS_ClearOverlayImage
-FS_ClearOverlayImage: ; 0x020D2738
- stmdb sp!, {r4-r6,lr}
- ldr r5, [r0, #0x8]
- ldr r1, [r0, #0xc]
- ldr r6, [r0, #0x4]
- add r4, r5, r1
- mov r0, r6
- mov r1, r4
- bl IC_InvalidateRange
- mov r0, r6
- mov r1, r4
- bl DC_InvalidateRange
- add r0, r6, r5
- sub r2, r4, r5
- mov r1, #0x0
- bl MI_CpuFill8
- ldmia sp!, {r4-r6,lr}
- bx lr
-
- arm_func_start FSi_GetOverlayBinarySize
-FSi_GetOverlayBinarySize: ; 0x020D277C
- ldrb r1, [r0, #0x1f]
- ands r1, r1, #0x1
- ldrne r0, [r0, #0x1c]
- movne r0, r0, lsl #0x8
- movne r0, r0, lsr #0x8
- ldreq r0, [r0, #0x8]
- bx lr
diff --git a/asm/GX_arm9.s b/asm/GX_arm9.s
deleted file mode 100644
index 59a548b2..00000000
--- a/asm/GX_arm9.s
+++ /dev/null
@@ -1,5256 +0,0 @@
- .include "asm/macros.inc"
- .include "global.inc"
-
- .text
-
- arm_func_start GXx_SetMasterBrightness_
-GXx_SetMasterBrightness_: ; 0x020C5978
- cmp r1, #0x0
- moveq r1, #0x0
- streqh r1, [r0, #0x0]
- bxeq lr
- cmp r1, #0x0
- orrgt r1, r1, #0x4000
- strgth r1, [r0, #0x0]
- rsble r1, r1, #0x0
- orrle r1, r1, #0x8000
- strleh r1, [r0, #0x0]
- bx lr
-
- arm_func_start GXS_SetGraphicsMode
-GXS_SetGraphicsMode: ; 0x020C59A4
- ldr r2, _020C59BC ; =0x04001000
- ldr r1, [r2, #0x0]
- bic r1, r1, #0x7
- orr r0, r1, r0
- str r0, [r2, #0x0]
- bx lr
- .balign 4
-_020C59BC: .word 0x04001000
-
- arm_func_start GX_SetGraphicsMode
-GX_SetGraphicsMode: ; 0x020C59C0
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r3, _020C5A28 ; =0x02106810
- mov lr, #0x4000000
- ldrh r12, [r3, #0x0]
- ldr lr, [lr, #0x0]
- ldr r3, _020C5A2C ; =0x021D33C0
- cmp r12, #0x0
- strh r0, [r3, #0x0]
- ldr r3, _020C5A30 ; =0xFFF0FFF0
- moveq r0, #0x0
- and r3, lr, r3
- orr r0, r3, r0, lsl #0x10
- orr r0, r1, r0
- orr r1, r0, r2, lsl #0x3
- mov r12, #0x4000000
- ldr r0, _020C5A2C ; =0x021D33C0
- str r1, [r12, #0x0]
- ldrh r0, [r0, #0x0]
- cmp r0, #0x0
- ldreq r0, _020C5A28 ; =0x02106810
- moveq r1, #0x0
- streqh r1, [r0, #0x0]
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020C5A28: .word 0x02106810
-_020C5A2C: .word 0x021D33C0
-_020C5A30: .word 0xFFF0FFF0
-
- arm_func_start GX_DispOn
-GX_DispOn: ; 0x020C5A34
- ldr r0, _020C5A78 ; =0x021D33C0
- ldr r1, _020C5A7C ; =0x02106810
- ldrh r2, [r0, #0x0]
- mov r0, #0x1
- strh r0, [r1, #0x0]
- cmp r2, #0x0
- moveq r1, #0x4000000
- ldreq r0, [r1, #0x0]
- orreq r0, r0, #0x10000
- streq r0, [r1, #0x0]
- bxeq lr
- mov r1, #0x4000000
- ldr r0, [r1, #0x0]
- bic r0, r0, #0x30000
- orr r0, r0, r2, lsl #0x10
- str r0, [r1, #0x0]
- bx lr
- .balign 4
-_020C5A78: .word 0x021D33C0
-_020C5A7C: .word 0x02106810
-
- arm_func_start GX_DispOff
-GX_DispOff: ; 0x020C5A80
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- mov lr, #0x4000000
- ldr r12, [lr, #0x0]
- ldr r1, _020C5AC0 ; =0x02106810
- and r2, r12, #0x30000
- mov r3, #0x0
- ldr r0, _020C5AC4 ; =0x021D33C0
- mov r2, r2, lsr #0x10
- strh r3, [r1, #0x0]
- strh r2, [r0, #0x0]
- bic r0, r12, #0x30000
- str r0, [lr, #0x0]
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020C5AC0: .word 0x02106810
-_020C5AC4: .word 0x021D33C0
-
- arm_func_start GX_VBlankIntr
-GX_VBlankIntr: ; 0x020C5AC8
- ldr r2, _020C5AF4 ; =0x04000004
- cmp r0, #0x0
- ldrh r0, [r2, #0x0]
- ldrneh r1, [r2, #0x0]
- and r0, r0, #0x8
- orrne r1, r1, #0x8
- strneh r1, [r2, #0x0]
- ldreqh r1, [r2, #0x0]
- biceq r1, r1, #0x8
- streqh r1, [r2, #0x0]
- bx lr
- .balign 4
-_020C5AF4: .word 0x04000004
-
- arm_func_start GX_HBlankIntr
-GX_HBlankIntr: ; 0x020C5AF8
- ldr r2, _020C5B24 ; =0x04000004
- cmp r0, #0x0
- ldrh r0, [r2, #0x0]
- ldrneh r1, [r2, #0x0]
- and r0, r0, #0x10
- orrne r1, r1, #0x10
- strneh r1, [r2, #0x0]
- ldreqh r1, [r2, #0x0]
- biceq r1, r1, #0x10
- streqh r1, [r2, #0x0]
- bx lr
- .balign 4
-_020C5B24: .word 0x04000004
-
- arm_func_start GX_Init
-GX_Init: ; 0x020C5B28
- stmdb sp!, {r4-r6,lr}
- ldr r3, _020C5C68 ; =0x04000304
- ldr r0, _020C5C6C ; =0xFFFFFDF1
- ldrh r2, [r3, #0x0]
- ldr r1, _020C5C70 ; =0x0000020E
- orr r2, r2, #0x8000
- strh r2, [r3, #0x0]
- ldrh r2, [r3, #0x0]
- and r0, r2, r0
- orr r0, r0, r1
- strh r0, [r3, #0x0]
- ldrh r0, [r3, #0x0]
- orr r0, r0, #0x1
- strh r0, [r3, #0x0]
- bl GX_InitGXState
- ldr r5, _020C5C74 ; =0x021D33BC
- ldrh r0, [r5, #0x0]
- cmp r0, #0x0
- bne _020C5B9C
- mvn r4, #0x2
-_020C5B78:
- bl OS_GetLockID
- mov r6, r0
- cmp r6, r4
- bne _020C5B8C
- bl OS_Terminate
-_020C5B8C:
- strh r6, [r5, #0x0]
- ldrh r0, [r5, #0x0]
- cmp r0, #0x0
- beq _020C5B78
-_020C5B9C:
- ldr r0, _020C5C78 ; =0x04000004
- mov r2, #0x0
- strh r2, [r0, #0x0]
- mov r1, #0x4000000
- ldr r0, _020C5C7C ; =0x02106814
- str r2, [r1, #0x0]
- ldr r0, [r0, #0x0]
- mvn r1, #0x0
- cmp r0, r1
- beq _020C5BF4
- ldr r1, _020C5C80 ; =0x04000008
- mov r3, #0x60
- bl MI_DmaFill32
- ldr r1, _020C5C84 ; =0x0400006C
- mov r2, #0x0
- ldr r0, _020C5C7C ; =0x02106814
- strh r2, [r1, #0x0]
- ldr r0, [r0, #0x0]
- ldr r1, _020C5C88 ; =0x04001000
- mov r3, #0x70
- bl MI_DmaFill32
- b _020C5C1C
-_020C5BF4:
- ldr r1, _020C5C80 ; =0x04000008
- mov r0, r2
- mov r2, #0x60
- bl MIi_CpuClear32
- ldr r3, _020C5C84 ; =0x0400006C
- mov r0, #0x0
- ldr r1, _020C5C88 ; =0x04001000
- mov r2, #0x70
- strh r0, [r3, #0x0]
- bl MIi_CpuClear32
-_020C5C1C:
- ldr r1, _020C5C8C ; =0x04000020
- mov r2, #0x100
- ldr r0, _020C5C90 ; =0x04000026
- strh r2, [r1, #0x0]
- ldr r1, _020C5C94 ; =0x04000030
- strh r2, [r0, #0x0]
- ldr r0, _020C5C98 ; =0x04000036
- strh r2, [r1, #0x0]
- ldr r1, _020C5C9C ; =0x04001020
- strh r2, [r0, #0x0]
- ldr r0, _020C5CA0 ; =0x04001026
- strh r2, [r1, #0x0]
- ldr r1, _020C5CA4 ; =0x04001030
- strh r2, [r0, #0x0]
- ldr r0, _020C5CA8 ; =0x04001036
- strh r2, [r1, #0x0]
- strh r2, [r0, #0x0]
- ldmia sp!, {r4-r6,lr}
- bx lr
- .balign 4
-_020C5C68: .word 0x04000304
-_020C5C6C: .word 0xFFFFFDF1
-_020C5C70: .word 0x0000020E
-_020C5C74: .word 0x021D33BC
-_020C5C78: .word 0x04000004
-_020C5C7C: .word 0x02106814
-_020C5C80: .word 0x04000008
-_020C5C84: .word 0x0400006C
-_020C5C88: .word 0x04001000
-_020C5C8C: .word 0x04000020
-_020C5C90: .word 0x04000026
-_020C5C94: .word 0x04000030
-_020C5C98: .word 0x04000036
-_020C5C9C: .word 0x04001020
-_020C5CA0: .word 0x04001026
-_020C5CA4: .word 0x04001030
-_020C5CA8: .word 0x04001036
-
- arm_func_start GX_InitGXState
-GX_InitGXState: ; 0x020C5CAC
- ldr r0, _020C5D14 ; =0x021D33C4
- mov r3, #0x0
- ldr r2, _020C5D18 ; =0x04000240
- strh r3, [r0, #0x0]
- strh r3, [r0, #0x2]
- strh r3, [r0, #0x4]
- strh r3, [r0, #0x6]
- strh r3, [r0, #0x8]
- strh r3, [r0, #0xa]
- strh r3, [r0, #0xc]
- strh r3, [r0, #0xe]
- strh r3, [r0, #0x10]
- strh r3, [r0, #0x12]
- strh r3, [r0, #0x14]
- strh r3, [r0, #0x16]
- strh r3, [r0, #0x18]
- ldr r1, _020C5D1C ; =0x04000244
- str r3, [r2, #0x0]
- ldr r0, _020C5D20 ; =0x04000245
- strb r3, [r1, #0x0]
- ldr r1, _020C5D24 ; =0x04000246
- strb r3, [r0, #0x0]
- ldr r0, _020C5D28 ; =0x04000248
- strb r3, [r1, #0x0]
- strh r3, [r0, #0x0]
- bx lr
- .balign 4
-_020C5D14: .word 0x021D33C4
-_020C5D18: .word 0x04000240
-_020C5D1C: .word 0x04000244
-_020C5D20: .word 0x04000245
-_020C5D24: .word 0x04000246
-_020C5D28: .word 0x04000248
-
- arm_func_start GX_GetBankForSubOBJExtPltt
-GX_GetBankForSubOBJExtPltt: ; 0x020C5D2C
- ldr r0, _020C5D38 ; =0x021D33C4
- ldrh r0, [r0, #0x18]
- bx lr
- .balign 4
-_020C5D38: .word 0x021D33C4
-
- arm_func_start GX_GetBankForSubBGExtPltt
-GX_GetBankForSubBGExtPltt: ; 0x020C5D3C
- ldr r0, _020C5D48 ; =0x021D33C4
- ldrh r0, [r0, #0x16]
- bx lr
- .balign 4
-_020C5D48: .word 0x021D33C4
-
- arm_func_start GX_GetBankForSubOBJ
-GX_GetBankForSubOBJ: ; 0x020C5D4C
- ldr r0, _020C5D58 ; =0x021D33C4
- ldrh r0, [r0, #0x14]
- bx lr
- .balign 4
-_020C5D58: .word 0x021D33C4
-
- arm_func_start GX_GetBankForSubBGExtPltt_2
-GX_GetBankForSubBGExtPltt_2: ; 0x020C5D5C
- ldr r0, _020C5D68 ; =0x021D33C4
- ldrh r0, [r0, #0x12]
- bx lr
- .balign 4
-_020C5D68: .word 0x021D33C4
-
- arm_func_start GX_GetBankForLCDC
-GX_GetBankForLCDC: ; 0x020C5D6C
- ldr r0, _020C5D78 ; =0x021D33C4
- ldrh r0, [r0, #0x0]
- bx lr
- .balign 4
-_020C5D78: .word 0x021D33C4
-
- arm_func_start GX_GetBankForTexPltt
-GX_GetBankForTexPltt: ; 0x020C5D7C
- ldr r0, _020C5D88 ; =0x021D33C4
-
- arm_func_start FUN_020C5D80
-FUN_020C5D80: ; 0x020C5D80
- ldrh r0, [r0, #0xa]
- bx lr
- .balign 4
-_020C5D88: .word 0x021D33C4
-
- arm_func_start FUN_020C5D8C
-FUN_020C5D8C: ; 0x020C5D8C
- ldr r0, _020C5D98 ; =0x021D33C4
- ldrh r0, [r0, #0x8]
- bx lr
- .balign 4
-_020C5D98: .word 0x021D33C4
-
- arm_func_start GX_GetBankForOBJExtPltt
-GX_GetBankForOBJExtPltt: ; 0x020C5D9C
- ldr r0, _020C5DA8 ; =0x021D33C4
- ldrh r0, [r0, #0x10]
- bx lr
- .balign 4
-_020C5DA8: .word 0x021D33C4
-
- arm_func_start GX_GetBankForBGExtPltt
-GX_GetBankForBGExtPltt: ; 0x020C5DAC
- ldr r0, _020C5DB8 ; =0x021D33C4
- ldrh r0, [r0, #0xe]
- bx lr
- .balign 4
-_020C5DB8: .word 0x021D33C4
-
- arm_func_start GX_GetBankForOBJ
-GX_GetBankForOBJ: ; 0x020C5DBC
- ldr r0, _020C5DC8 ; =0x021D33C4
- ldrh r0, [r0, #0x4]
- bx lr
- .balign 4
-_020C5DC8: .word 0x021D33C4
-
- arm_func_start GX_GetBankForBGExtPltt_2
-GX_GetBankForBGExtPltt_2: ; 0x020C5DCC
- ldr r0, _020C5DD8 ; =0x021D33C4
- ldrh r0, [r0, #0x2]
- bx lr
- .balign 4
-_020C5DD8: .word 0x021D33C4
-
- arm_func_start GX_DisableBankForSubOBJExtPltt
-GX_DisableBankForSubOBJExtPltt: ; 0x020C5DDC
- ldr r2, _020C5DF8 ; =0x04001000
- ldr ip, _020C5DFC ; =FUN_020C5F28
- ldr r1, [r2, #0x0]
- ldr r0, _020C5E00 ; =0x021D33DC
- bic r1, r1, #0x80000000
- str r1, [r2, #0x0]
- bx r12
- .balign 4
-_020C5DF8: .word 0x04001000
-_020C5DFC: .word FUN_020C5F28
-_020C5E00: .word 0x021D33DC
-
- arm_func_start FUN_020C5E04
-FUN_020C5E04: ; 0x020C5E04
- ldr r2, _020C5E20 ; =0x04001000
- ldr ip, _020C5E24 ; =FUN_020C5F28
- ldr r1, [r2, #0x0]
- ldr r0, _020C5E28 ; =0x021D33DA
- bic r1, r1, #0x40000000
- str r1, [r2, #0x0]
- bx r12
- .balign 4
-_020C5E20: .word 0x04001000
-_020C5E24: .word FUN_020C5F28
-_020C5E28: .word 0x021D33DA
-
- arm_func_start GX_DisableBankForSubOBJExtPltt_2
-GX_DisableBankForSubOBJExtPltt_2: ; 0x020C5E2C
- ldr ip, _020C5E38 ; =FUN_020C5F28
- ldr r0, _020C5E3C ; =0x021D33D8
- bx r12
- .balign 4
-_020C5E38: .word FUN_020C5F28
-_020C5E3C: .word 0x021D33D8
-
- arm_func_start GX_DisableBankForSubBGExtPltt
-GX_DisableBankForSubBGExtPltt: ; 0x020C5E40
- ldr ip, _020C5E4C ; =FUN_020C5F28
- ldr r0, _020C5E50 ; =0x021D33D6
- bx r12
- .balign 4
-_020C5E4C: .word FUN_020C5F28
-_020C5E50: .word 0x021D33D6
-
- arm_func_start GX_DisableBankForLCDC
-GX_DisableBankForLCDC: ; 0x020C5E54
- ldr ip, _020C5E60 ; =FUN_020C5F28
- ldr r0, _020C5E64 ; =0x021D33C4
- bx r12
- .balign 4
-_020C5E60: .word FUN_020C5F28
-_020C5E64: .word 0x021D33C4
-
- arm_func_start GX_DisableBankForARM7
-GX_DisableBankForARM7: ; 0x020C5E68
- ldr ip, _020C5E74 ; =FUN_020C5F28
- ldr r0, _020C5E78 ; =0x021D33CA
- bx r12
- .balign 4
-_020C5E74: .word FUN_020C5F28
-_020C5E78: .word 0x021D33CA
-
- arm_func_start GX_DisableBankForClearImage
-GX_DisableBankForClearImage: ; 0x020C5E7C
- ldr ip, _020C5E88 ; =FUN_020C5F28
- ldr r0, _020C5E8C ; =0x021D33D0
- bx r12
- .balign 4
-_020C5E88: .word FUN_020C5F28
-_020C5E8C: .word 0x021D33D0
-
- arm_func_start GX_DisableBankForTexPltt
-GX_DisableBankForTexPltt: ; 0x020C5E90
- ldr ip, _020C5E9C ; =FUN_020C5F28
- ldr r0, _020C5EA0 ; =0x021D33CE
- bx r12
- .balign 4
-_020C5E9C: .word FUN_020C5F28
-_020C5EA0: .word 0x021D33CE
-
- arm_func_start GX_DisableBankForTexPltt_2
-GX_DisableBankForTexPltt_2: ; 0x020C5EA4
- ldr ip, _020C5EB0 ; =FUN_020C5F28
- ldr r0, _020C5EB4 ; =0x021D33CC
- bx r12
- .balign 4
-_020C5EB0: .word FUN_020C5F28
-_020C5EB4: .word 0x021D33CC
-
- arm_func_start GX_DisableBankForOBJExtPltt
-GX_DisableBankForOBJExtPltt: ; 0x020C5EB8
- mov r2, #0x4000000
- ldr r1, [r2, #0x0]
- ldr ip, _020C5ED4 ; =FUN_020C5F28
- bic r1, r1, #0x80000000
- ldr r0, _020C5ED8 ; =0x021D33D4
- str r1, [r2, #0x0]
- bx r12
- .balign 4
-_020C5ED4: .word FUN_020C5F28
-_020C5ED8: .word 0x021D33D4
-
- arm_func_start GX_DisableBankForBGExtPltt
-GX_DisableBankForBGExtPltt: ; 0x020C5EDC
- mov r2, #0x4000000
- ldr r1, [r2, #0x0]
- ldr ip, _020C5EF8 ; =FUN_020C5F28
- bic r1, r1, #0x40000000
- ldr r0, _020C5EFC ; =0x021D33D2
- str r1, [r2, #0x0]
- bx r12
- .balign 4
-_020C5EF8: .word FUN_020C5F28
-_020C5EFC: .word 0x021D33D2
-
- arm_func_start GX_DisableBankForOBJExtPltt_2
-GX_DisableBankForOBJExtPltt_2: ; 0x020C5F00
- ldr ip, _020C5F0C ; =FUN_020C5F28
- ldr r0, _020C5F10 ; =0x021D33C8
- bx r12
- .balign 4
-_020C5F0C: .word FUN_020C5F28
-_020C5F10: .word 0x021D33C8
-
- arm_func_start disableBankForX_
-disableBankForX_: ; 0x020C5F14
- ldr ip, _020C5F20 ; =FUN_020C5F28
- ldr r0, _020C5F24 ; =0x021D33C6
- bx r12
- .balign 4
-_020C5F20: .word FUN_020C5F28
-_020C5F24: .word 0x021D33C6
-
- arm_func_start FUN_020C5F28
-FUN_020C5F28: ; 0x020C5F28
- stmdb sp!, {r4,lr}
- ldrh r4, [r0, #0x0]
- mov r1, #0x0
- strh r1, [r0, #0x0]
- ands r0, r4, #0x1
- ldrne r0, _020C5FE4 ; =0x04000240
- strneb r1, [r0, #0x0]
- ands r0, r4, #0x2
- ldrne r0, _020C5FE8 ; =0x04000241
- movne r1, #0x0
- strneb r1, [r0, #0x0]
- ands r0, r4, #0x4
- ldrne r0, _020C5FEC ; =0x04000242
- movne r1, #0x0
- strneb r1, [r0, #0x0]
- ands r0, r4, #0x8
- ldrne r0, _020C5FF0 ; =0x04000243
- movne r1, #0x0
- strneb r1, [r0, #0x0]
- ands r0, r4, #0x10
- ldrne r0, _020C5FF4 ; =0x04000244
- movne r1, #0x0
- strneb r1, [r0, #0x0]
- ands r0, r4, #0x20
- ldrne r0, _020C5FF8 ; =0x04000245
- movne r1, #0x0
- strneb r1, [r0, #0x0]
- ands r0, r4, #0x40
- ldrne r0, _020C5FFC ; =0x04000246
- movne r1, #0x0
- strneb r1, [r0, #0x0]
- ands r0, r4, #0x80
- ldrne r0, _020C6000 ; =0x04000248
- movne r1, #0x0
- strneb r1, [r0, #0x0]
- ands r0, r4, #0x100
- ldrne r0, _020C6004 ; =0x04000249
- movne r1, #0x0
- strneb r1, [r0, #0x0]
- ldr r1, _020C6008 ; =0x021D33BC
- mov r0, r4, lsl #0x10
- ldrh r1, [r1, #0x0]
- mov r0, r0, lsr #0x10
- bl OSi_UnlockVram
- mov r0, r4
- ldmia sp!, {r4,lr}
- bx lr
- .balign 4
-_020C5FE4: .word 0x04000240
-_020C5FE8: .word 0x04000241
-_020C5FEC: .word 0x04000242
-_020C5FF0: .word 0x04000243
-_020C5FF4: .word 0x04000244
-_020C5FF8: .word 0x04000245
-_020C5FFC: .word 0x04000246
-_020C6000: .word 0x04000248
-_020C6004: .word 0x04000249
-_020C6008: .word 0x021D33BC
-
- arm_func_start GX_ResetBankForSubOBJ
-GX_ResetBankForSubOBJ: ; 0x020C600C
- ldr r2, _020C6028 ; =0x04001000
- ldr ip, _020C602C ; =FUN_020C6130
- ldr r1, [r2, #0x0]
- ldr r0, _020C6030 ; =0x021D33DC
- bic r1, r1, #0x80000000
- str r1, [r2, #0x0]
- bx r12
- .balign 4
-_020C6028: .word 0x04001000
-_020C602C: .word FUN_020C6130
-_020C6030: .word 0x021D33DC
-
- arm_func_start FUN_020C6034
-FUN_020C6034: ; 0x020C6034
- ldr r2, _020C6050 ; =0x04001000
- ldr ip, _020C6054 ; =FUN_020C6130
- ldr r1, [r2, #0x0]
- ldr r0, _020C6058 ; =0x021D33DA
- bic r1, r1, #0x40000000
- str r1, [r2, #0x0]
- bx r12
- .balign 4
-_020C6050: .word 0x04001000
-_020C6054: .word FUN_020C6130
-_020C6058: .word 0x021D33DA
-
- arm_func_start FUN_020C605C
-FUN_020C605C: ; 0x020C605C
- ldr ip, _020C6068 ; =FUN_020C6130
- ldr r0, _020C606C ; =0x021D33D8
- bx r12
- .balign 4
-_020C6068: .word FUN_020C6130
-_020C606C: .word 0x021D33D8
-
- arm_func_start GX_ResetBankForSubBG
-GX_ResetBankForSubBG: ; 0x020C6070
- ldr ip, _020C607C ; =FUN_020C6130
- ldr r0, _020C6080 ; =0x021D33D6
- bx r12
- .balign 4
-_020C607C: .word FUN_020C6130
-_020C6080: .word 0x021D33D6
-
- arm_func_start GX_ResetBankForClearImage
-GX_ResetBankForClearImage: ; 0x020C6084
- ldr ip, _020C6090 ; =FUN_020C6130
- ldr r0, _020C6094 ; =0x021D33D0
- bx r12
- .balign 4
-_020C6090: .word FUN_020C6130
-_020C6094: .word 0x021D33D0
-
- arm_func_start GX_ResetBankForTexPltt
-GX_ResetBankForTexPltt: ; 0x020C6098
- ldr ip, _020C60A4 ; =FUN_020C6130
- ldr r0, _020C60A8 ; =0x021D33CE
- bx r12
- .balign 4
-_020C60A4: .word FUN_020C6130
-_020C60A8: .word 0x021D33CE
-
- arm_func_start GX_ResetBankForTex
-GX_ResetBankForTex: ; 0x020C60AC
- ldr ip, _020C60B8 ; =FUN_020C6130
- ldr r0, _020C60BC ; =0x021D33CC
- bx r12
- .balign 4
-_020C60B8: .word FUN_020C6130
-_020C60BC: .word 0x021D33CC
-
- arm_func_start GX_ResetBankForOBJExtPltt
-GX_ResetBankForOBJExtPltt: ; 0x020C60C0
- mov r2, #0x4000000
- ldr r1, [r2, #0x0]
- ldr ip, _020C60DC ; =FUN_020C6130
- bic r1, r1, #0x80000000
- ldr r0, _020C60E0 ; =0x021D33D4
- str r1, [r2, #0x0]
- bx r12
- .balign 4
-_020C60DC: .word FUN_020C6130
-_020C60E0: .word 0x021D33D4
-
- arm_func_start GX_ResetBankForBGExtPltt
-GX_ResetBankForBGExtPltt: ; 0x020C60E4
- mov r2, #0x4000000
- ldr r1, [r2, #0x0]
- ldr ip, _020C6100 ; =FUN_020C6130
- bic r1, r1, #0x40000000
- ldr r0, _020C6104 ; =0x021D33D2
- str r1, [r2, #0x0]
- bx r12
- .balign 4
-_020C6100: .word FUN_020C6130
-_020C6104: .word 0x021D33D2
-
- arm_func_start GX_ResetBankForOBJ
-GX_ResetBankForOBJ: ; 0x020C6108
- ldr ip, _020C6114 ; =FUN_020C6130
- ldr r0, _020C6118 ; =0x021D33C8
- bx r12
- .balign 4
-_020C6114: .word FUN_020C6130
-_020C6118: .word 0x021D33C8
-
- arm_func_start GX_ResetBankForBG
-GX_ResetBankForBG: ; 0x020C611C
- ldr ip, _020C6128 ; =FUN_020C6130
- ldr r0, _020C612C ; =0x021D33C6
- bx r12
- .balign 4
-_020C6128: .word FUN_020C6130
-_020C612C: .word 0x021D33C6
-
- arm_func_start FUN_020C6130
-FUN_020C6130: ; 0x020C6130
- stmdb sp!, {r4,lr}
- ldrh r4, [r0, #0x0]
- mov r2, #0x0
- ldr r1, _020C6164 ; =0x021D33C4
- strh r2, [r0, #0x0]
- ldrh r2, [r1, #0x0]
- mov r0, r4
- orr r2, r2, r4
- strh r2, [r1, #0x0]
- bl GX_VRAMCNT_SetLCDC_
- mov r0, r4
- ldmia sp!, {r4,lr}
- bx lr
- .balign 4
-_020C6164: .word 0x021D33C4
-
- arm_func_start GX_SetBankForSubOBJExtPltt
-GX_SetBankForSubOBJExtPltt: ; 0x020C6168
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r1, _020C61E8 ; =0x021D33C4
- mvn r12, r0
- ldrh r2, [r1, #0x18]
- ldrh r3, [r1, #0x0]
- cmp r0, #0x0
- strh r0, [r1, #0x18]
- orr r2, r3, r2
- and r2, r12, r2
- strh r2, [r1, #0x0]
- beq _020C61C0
- cmp r0, #0x100
- bne _020C61D0
- ldr r3, _020C61EC ; =0x04001000
- ldr r0, _020C61F0 ; =0x04000249
- ldr r2, [r3, #0x0]
- mov r1, #0x83
- orr r2, r2, #0x80000000
- str r2, [r3, #0x0]
- strb r1, [r0, #0x0]
- b _020C61D0
-_020C61C0:
- ldr r1, _020C61EC ; =0x04001000
- ldr r0, [r1, #0x0]
- bic r0, r0, #0x80000000
- str r0, [r1, #0x0]
-_020C61D0:
- ldr r0, _020C61E8 ; =0x021D33C4
- ldrh r0, [r0, #0x0]
- bl GX_VRAMCNT_SetLCDC_
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020C61E8: .word 0x021D33C4
-_020C61EC: .word 0x04001000
-_020C61F0: .word 0x04000249
-
- arm_func_start GX_SetBankForSubBGExtPltt
-GX_SetBankForSubBGExtPltt: ; 0x020C61F4
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r1, _020C6274 ; =0x021D33C4
- mvn r12, r0
- ldrh r2, [r1, #0x16]
- ldrh r3, [r1, #0x0]
- cmp r0, #0x0
- strh r0, [r1, #0x16]
- orr r2, r3, r2
- and r2, r12, r2
- strh r2, [r1, #0x0]
- beq _020C624C
- cmp r0, #0x80
- bne _020C625C
- ldr r3, _020C6278 ; =0x04001000
- ldr r0, _020C627C ; =0x04000248
- ldr r2, [r3, #0x0]
- mov r1, #0x82
- orr r2, r2, #0x40000000
- str r2, [r3, #0x0]
- strb r1, [r0, #0x0]
- b _020C625C
-_020C624C:
- ldr r1, _020C6278 ; =0x04001000
- ldr r0, [r1, #0x0]
- bic r0, r0, #0x40000000
- str r0, [r1, #0x0]
-_020C625C:
- ldr r0, _020C6274 ; =0x021D33C4
- ldrh r0, [r0, #0x0]
- bl GX_VRAMCNT_SetLCDC_
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020C6274: .word 0x021D33C4
-_020C6278: .word 0x04001000
-_020C627C: .word 0x04000248
-
- arm_func_start GX_SetBankForSubOBJ
-GX_SetBankForSubOBJ: ; 0x020C6280
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r1, _020C62F0 ; =0x021D33C4
- mvn r12, r0
- ldrh r2, [r1, #0x14]
- ldrh r3, [r1, #0x0]
- cmp r0, #0x0
- strh r0, [r1, #0x14]
- orr r2, r3, r2
- and r2, r12, r2
- strh r2, [r1, #0x0]
- beq _020C62D8
- cmp r0, #0x8
- beq _020C62CC
- cmp r0, #0x100
- ldreq r0, _020C62F4 ; =0x04000249
- moveq r1, #0x82
- streqb r1, [r0, #0x0]
- b _020C62D8
-_020C62CC:
- ldr r0, _020C62F8 ; =0x04000243
- mov r1, #0x84
- strb r1, [r0, #0x0]
-_020C62D8:
- ldr r0, _020C62F0 ; =0x021D33C4
- ldrh r0, [r0, #0x0]
- bl GX_VRAMCNT_SetLCDC_
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020C62F0: .word 0x021D33C4
-_020C62F4: .word 0x04000249
-_020C62F8: .word 0x04000243
-
- arm_func_start GX_SetBankForSubBG
-GX_SetBankForSubBG: ; 0x020C62FC
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r1, _020C6398 ; =0x021D33C4
- mvn r12, r0
- ldrh r2, [r1, #0x12]
- ldrh r3, [r1, #0x0]
- cmp r0, #0x80
- strh r0, [r1, #0x12]
- orr r2, r3, r2
- and r2, r12, r2
- strh r2, [r1, #0x0]
- bgt _020C6360
- cmp r0, #0x80
- bge _020C6374
- cmp r0, #0x4
- bgt _020C6380
- cmp r0, #0x0
- blt _020C6380
- cmp r0, #0x0
- beq _020C6380
- cmp r0, #0x4
- ldreq r0, _020C639C ; =0x04000242
- moveq r1, #0x84
- streqb r1, [r0, #0x0]
- b _020C6380
-_020C6360:
- cmp r0, #0x180
- bne _020C6380
- ldr r0, _020C63A0 ; =0x04000249
- mov r1, #0x81
- strb r1, [r0, #0x0]
-_020C6374:
- ldr r0, _020C63A4 ; =0x04000248
- mov r1, #0x81
- strb r1, [r0, #0x0]
-_020C6380:
- ldr r0, _020C6398 ; =0x021D33C4
- ldrh r0, [r0, #0x0]
- bl GX_VRAMCNT_SetLCDC_
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020C6398: .word 0x021D33C4
-_020C639C: .word 0x04000242
-_020C63A0: .word 0x04000249
-_020C63A4: .word 0x04000248
-
- arm_func_start GX_SetBankForLCDC
-GX_SetBankForLCDC: ; 0x020C63A8
- ldr r1, _020C63C0 ; =0x021D33C4
- ldr ip, _020C63C4 ; =GX_VRAMCNT_SetLCDC_
- ldrh r2, [r1, #0x0]
- orr r2, r2, r0
- strh r2, [r1, #0x0]
- bx r12
- .balign 4
-_020C63C0: .word 0x021D33C4
-_020C63C4: .word GX_VRAMCNT_SetLCDC_
-
- arm_func_start GX_SetBankForARM7
-GX_SetBankForARM7: ; 0x020C63C8
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r1, _020C6474 ; =0x021D33C4
- mvn r12, r0
- ldrh r2, [r1, #0x6]
- ldrh r3, [r1, #0x0]
- cmp r0, #0x8
- strh r0, [r1, #0x6]
- orr r2, r3, r2
- and r2, r12, r2
- strh r2, [r1, #0x0]
- bgt _020C642C
- cmp r0, #0x8
- bge _020C6450
- cmp r0, #0x4
- bgt _020C645C
- cmp r0, #0x0
- blt _020C645C
- cmp r0, #0x0
- beq _020C645C
- cmp r0, #0x4
- ldreq r0, _020C6478 ; =0x04000242
- moveq r1, #0x82
- streqb r1, [r0, #0x0]
- b _020C645C
-_020C642C:
- cmp r0, #0xc
- bne _020C645C
- ldr r1, _020C647C ; =0x04000243
- mov r2, #0x8a
- strb r2, [r1, #0x0]
- ldr r0, _020C6478 ; =0x04000242
- mov r1, #0x82
- strb r1, [r0, #0x0]
- b _020C645C
-_020C6450:
- ldr r0, _020C647C ; =0x04000243
- mov r1, #0x82
- strb r1, [r0, #0x0]
-_020C645C:
- ldr r0, _020C6474 ; =0x021D33C4
- ldrh r0, [r0, #0x0]
- bl GX_VRAMCNT_SetLCDC_
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020C6474: .word 0x021D33C4
-_020C6478: .word 0x04000242
-_020C647C: .word 0x04000243
-
- arm_func_start GX_SetBankForClearImage
-GX_SetBankForClearImage: ; 0x020C6480
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r1, _020C65A8 ; =0x021D33C4
- mvn r12, r0
- ldrh r2, [r1, #0xc]
- ldrh r3, [r1, #0x0]
- cmp r0, #0xc
- strh r0, [r1, #0xc]
- orr r2, r3, r2
- and r2, r12, r2
- strh r2, [r1, #0x0]
- addls pc, pc, r0, lsl #0x2
- b _020C6590
-_020C64B4: ; 0x020C64B4
- b _020C6540
-_020C64B8: ; 0x020C64B8
- b _020C6554
-_020C64BC: ; 0x020C64BC
- b _020C64F4
-_020C64C0: ; 0x020C64C0
- b _020C64E8
-_020C64C4: ; 0x020C64C4
- b _020C6574
-_020C64C8: ; 0x020C64C8
- b _020C6590
-_020C64CC: ; 0x020C64CC
- b _020C6590
-_020C64D0: ; 0x020C64D0
- b _020C6590
-_020C64D4: ; 0x020C64D4
- b _020C6520
-_020C64D8: ; 0x020C64D8
- b _020C6590
-_020C64DC: ; 0x020C64DC
- b _020C6590
-_020C64E0: ; 0x020C64E0
- b _020C6590
-_020C64E4: ; 0x020C64E4
- b _020C6514
-_020C64E8:
- ldr r0, _020C65AC ; =0x04000240
- mov r1, #0x93
- strb r1, [r0, #0x0]
-_020C64F4:
- ldr r0, _020C65B0 ; =0x04000241
- mov r2, #0x9b
- ldr r1, _020C65B4 ; =0x04000060
- strb r2, [r0, #0x0]
- ldrh r0, [r1, #0x0]
- orr r0, r0, #0x4000
- strh r0, [r1, #0x0]
- b _020C6590
-_020C6514:
- ldr r0, _020C65B8 ; =0x04000242
- mov r1, #0x93
- strb r1, [r0, #0x0]
-_020C6520:
- ldr r0, _020C65BC ; =0x04000243
- mov r2, #0x9b
- ldr r1, _020C65B4 ; =0x04000060
- strb r2, [r0, #0x0]
- ldrh r0, [r1, #0x0]
- orr r0, r0, #0x4000
- strh r0, [r1, #0x0]
- b _020C6590
-_020C6540:
- ldr r1, _020C65B4 ; =0x04000060
- ldrh r0, [r1, #0x0]
- bic r0, r0, #0x4000
- strh r0, [r1, #0x0]
- b _020C6590
-_020C6554:
- ldr r0, _020C65AC ; =0x04000240
- mov r2, #0x9b
- ldr r1, _020C65B4 ; =0x04000060
- strb r2, [r0, #0x0]
- ldrh r0, [r1, #0x0]
- orr r0, r0, #0x4000
- strh r0, [r1, #0x0]
- b _020C6590
-_020C6574:
- ldr r0, _020C65B8 ; =0x04000242
- mov r2, #0x9b
- ldr r1, _020C65B4 ; =0x04000060
- strb r2, [r0, #0x0]
- ldrh r0, [r1, #0x0]
- orr r0, r0, #0x4000
- strh r0, [r1, #0x0]
-_020C6590:
- ldr r0, _020C65A8 ; =0x021D33C4
- ldrh r0, [r0, #0x0]
- bl GX_VRAMCNT_SetLCDC_
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020C65A8: .word 0x021D33C4
-_020C65AC: .word 0x04000240
-_020C65B0: .word 0x04000241
-_020C65B4: .word 0x04000060
-_020C65B8: .word 0x04000242
-_020C65BC: .word 0x04000243
-
- arm_func_start GX_SetBankForTexPltt
-GX_SetBankForTexPltt: ; 0x020C65C0
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r1, _020C66A4 ; =0x021D33C4
- mvn r12, r0
- ldrh r2, [r1, #0xa]
- ldrh r3, [r1, #0x0]
- cmp r0, #0x30
- strh r0, [r1, #0xa]
- orr r2, r3, r2
- and r2, r12, r2
- strh r2, [r1, #0x0]
- bgt _020C661C
- cmp r0, #0x30
- bge _020C6674
- cmp r0, #0x10
- bgt _020C6610
- cmp r0, #0x10
- bge _020C6680
- cmp r0, #0x0
- b _020C668C
-_020C6610:
- cmp r0, #0x20
- beq _020C6658
- b _020C668C
-_020C661C:
- cmp r0, #0x60
- bgt _020C6640
- cmp r0, #0x60
- bge _020C664C
- cmp r0, #0x40
- ldreq r0, _020C66A8 ; =0x04000246
- moveq r1, #0x83
- streqb r1, [r0, #0x0]
- b _020C668C
-_020C6640:
- cmp r0, #0x70
- beq _020C6668
- b _020C668C
-_020C664C:
- ldr r0, _020C66A8 ; =0x04000246
- mov r1, #0x8b
- strb r1, [r0, #0x0]
-_020C6658:
- ldr r0, _020C66AC ; =0x04000245
- mov r1, #0x83
- strb r1, [r0, #0x0]
- b _020C668C
-_020C6668:
- ldr r0, _020C66A8 ; =0x04000246
- mov r1, #0x9b
- strb r1, [r0, #0x0]
-_020C6674:
- ldr r0, _020C66AC ; =0x04000245
- mov r1, #0x93
- strb r1, [r0, #0x0]
-_020C6680:
- ldr r0, _020C66B0 ; =0x04000244
- mov r1, #0x83
- strb r1, [r0, #0x0]
-_020C668C:
- ldr r0, _020C66A4 ; =0x021D33C4
- ldrh r0, [r0, #0x0]
- bl GX_VRAMCNT_SetLCDC_
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020C66A4: .word 0x021D33C4
-_020C66A8: .word 0x04000246
-_020C66AC: .word 0x04000245
-_020C66B0: .word 0x04000244
-
- arm_func_start GX_SetBankForTex
-GX_SetBankForTex: ; 0x020C66B4
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r1, _020C689C ; =0x021D33C4
- mvn r12, r0
- ldrh r2, [r1, #0x8]
- ldrh r3, [r1, #0x0]
- cmp r0, #0x0
- strh r0, [r1, #0x8]
- orr r2, r3, r2
- and r2, r12, r2
- strh r2, [r1, #0x0]
- bne _020C66FC
- ldr r2, _020C68A0 ; =0x04000060
- ldr r0, _020C68A4 ; =0x0000CFFE
- ldrh r1, [r2, #0x0]
- and r0, r1, r0
- strh r0, [r2, #0x0]
- b _020C6884
-_020C66FC:
- ldr r2, _020C68A0 ; =0x04000060
- cmp r0, #0xf
- ldrh r1, [r2, #0x0]
- bic r1, r1, #0x3000
- orr r1, r1, #0x1
- strh r1, [r2, #0x0]
- addls pc, pc, r0, lsl #0x2
- b _020C6884
-_020C671C: ; 0x020C671C
- b _020C6884
-_020C6720: ; 0x020C6720
- b _020C6878
-_020C6724: ; 0x020C6724
- b _020C6844
-_020C6728: ; 0x020C6728
- b _020C686C
-_020C672C: ; 0x020C672C
- b _020C681C
-_020C6730: ; 0x020C6730
- b _020C675C
-_020C6734: ; 0x020C6734
- b _020C6838
-_020C6738: ; 0x020C6738
- b _020C6860
-_020C673C: ; 0x020C673C
- b _020C6800
-_020C6740: ; 0x020C6740
- b _020C6778
-_020C6744: ; 0x020C6744
- b _020C6794
-_020C6748: ; 0x020C6748
- b _020C67B0
-_020C674C: ; 0x020C674C
- b _020C6810
-_020C6750: ; 0x020C6750
- b _020C67D8
-_020C6754: ; 0x020C6754
- b _020C682C
-_020C6758: ; 0x020C6758
- b _020C6854
-_020C675C:
- ldr r1, _020C68A8 ; =0x04000240
- mov r2, #0x83
- ldr r0, _020C68AC ; =0x04000242
- strb r2, [r1, #0x0]
- mov r1, #0x8b
- strb r1, [r0, #0x0]
- b _020C6884
-_020C6778:
- ldr r1, _020C68A8 ; =0x04000240
- mov r2, #0x83
- ldr r0, _020C68B0 ; =0x04000243
- strb r2, [r1, #0x0]
- mov r1, #0x8b
- strb r1, [r0, #0x0]
- b _020C6884
-_020C6794:
- ldr r1, _020C68B4 ; =0x04000241
- mov r2, #0x83
- ldr r0, _020C68B0 ; =0x04000243
- strb r2, [r1, #0x0]
- mov r1, #0x8b
- strb r1, [r0, #0x0]
- b _020C6884
-_020C67B0:
- ldr r0, _020C68A8 ; =0x04000240
- mov r2, #0x83
- ldr r1, _020C68B4 ; =0x04000241
- strb r2, [r0, #0x0]
- mov r2, #0x8b
- ldr r0, _020C68B0 ; =0x04000243
- strb r2, [r1, #0x0]
- mov r1, #0x93
- strb r1, [r0, #0x0]
- b _020C6884
-_020C67D8:
- ldr r0, _020C68A8 ; =0x04000240
- mov r2, #0x83
- ldr r1, _020C68AC ; =0x04000242
- strb r2, [r0, #0x0]
- mov r2, #0x8b
- ldr r0, _020C68B0 ; =0x04000243
- strb r2, [r1, #0x0]
- mov r1, #0x93
- strb r1, [r0, #0x0]
- b _020C6884
-_020C6800:
- ldr r0, _020C68B0 ; =0x04000243
- mov r1, #0x83
- strb r1, [r0, #0x0]
- b _020C6884
-_020C6810:
- ldr r0, _020C68B0 ; =0x04000243
- mov r1, #0x8b
- strb r1, [r0, #0x0]
-_020C681C:
- ldr r0, _020C68AC ; =0x04000242
- mov r1, #0x83
- strb r1, [r0, #0x0]
- b _020C6884
-_020C682C:
- ldr r0, _020C68B0 ; =0x04000243
- mov r1, #0x93
- strb r1, [r0, #0x0]
-_020C6838:
- ldr r0, _020C68AC ; =0x04000242
- mov r1, #0x8b
- strb r1, [r0, #0x0]
-_020C6844:
- ldr r0, _020C68B4 ; =0x04000241
- mov r1, #0x83
- strb r1, [r0, #0x0]
- b _020C6884
-_020C6854:
- ldr r0, _020C68B0 ; =0x04000243
- mov r1, #0x9b
- strb r1, [r0, #0x0]
-_020C6860:
- ldr r0, _020C68AC ; =0x04000242
- mov r1, #0x93
- strb r1, [r0, #0x0]
-_020C686C:
- ldr r0, _020C68B4 ; =0x04000241
- mov r1, #0x8b
- strb r1, [r0, #0x0]
-_020C6878:
- ldr r0, _020C68A8 ; =0x04000240
- mov r1, #0x83
- strb r1, [r0, #0x0]
-_020C6884:
- ldr r0, _020C689C ; =0x021D33C4
- ldrh r0, [r0, #0x0]
- bl GX_VRAMCNT_SetLCDC_
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020C689C: .word 0x021D33C4
-_020C68A0: .word 0x04000060
-_020C68A4: .word 0x0000CFFE
-_020C68A8: .word 0x04000240
-_020C68AC: .word 0x04000242
-_020C68B0: .word 0x04000243
-_020C68B4: .word 0x04000241
-
- arm_func_start GX_SetBankForOBJExtPltt
-GX_SetBankForOBJExtPltt: ; 0x020C68B8
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r1, _020C6964 ; =0x021D33C4
- mvn r12, r0
- ldrh r2, [r1, #0x10]
- ldrh r3, [r1, #0x0]
- cmp r0, #0x0
- strh r0, [r1, #0x10]
- orr r2, r3, r2
- and r2, r12, r2
- strh r2, [r1, #0x0]
- beq _020C693C
- cmp r0, #0x20
- beq _020C68FC
- cmp r0, #0x40
- beq _020C691C
- b _020C694C
-_020C68FC:
- mov r2, #0x4000000
- ldr r1, [r2, #0x0]
- ldr r0, _020C6968 ; =0x04000245
- orr r1, r1, #0x80000000
- str r1, [r2, #0x0]
- mov r1, #0x85
- strb r1, [r0, #0x0]
- b _020C694C
-_020C691C:
- mov r2, #0x4000000
- ldr r1, [r2, #0x0]
- ldr r0, _020C696C ; =0x04000246
- orr r1, r1, #0x80000000
- str r1, [r2, #0x0]
- mov r1, #0x85
- strb r1, [r0, #0x0]
- b _020C694C
-_020C693C:
- mov r1, #0x4000000
- ldr r0, [r1, #0x0]
- bic r0, r0, #0x80000000
- str r0, [r1, #0x0]
-_020C694C:
- ldr r0, _020C6964 ; =0x021D33C4
- ldrh r0, [r0, #0x0]
- bl GX_VRAMCNT_SetLCDC_
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020C6964: .word 0x021D33C4
-_020C6968: .word 0x04000245
-_020C696C: .word 0x04000246
-
- arm_func_start GX_SetBankForBGExtPltt
-GX_SetBankForBGExtPltt: ; 0x020C6970
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r1, _020C6A74 ; =0x021D33C4
- mvn r12, r0
- ldrh r2, [r1, #0xe]
- ldrh r3, [r1, #0x0]
- cmp r0, #0x20
- strh r0, [r1, #0xe]
- orr r2, r3, r2
- and r2, r12, r2
- strh r2, [r1, #0x0]
- bgt _020C69D4
- cmp r0, #0x20
- bge _020C6A40
- cmp r0, #0x0
- bgt _020C69C8
- cmp r0, #0x0
- moveq r1, #0x4000000
- ldreq r0, [r1, #0x0]
- biceq r0, r0, #0x40000000
- streq r0, [r1, #0x0]
- b _020C6A5C
-_020C69C8:
- cmp r0, #0x10
- beq _020C69F4
- b _020C6A5C
-_020C69D4:
- cmp r0, #0x40
- bgt _020C69E8
- cmp r0, #0x40
- beq _020C6A14
- b _020C6A5C
-_020C69E8:
- cmp r0, #0x60
- beq _020C6A34
- b _020C6A5C
-_020C69F4:
- mov r2, #0x4000000
- ldr r1, [r2, #0x0]
- ldr r0, _020C6A78 ; =0x04000244
- orr r1, r1, #0x40000000
- str r1, [r2, #0x0]
- mov r1, #0x84
- strb r1, [r0, #0x0]
- b _020C6A5C
-_020C6A14:
- mov r2, #0x4000000
- ldr r1, [r2, #0x0]
- ldr r0, _020C6A7C ; =0x04000246
- orr r1, r1, #0x40000000
- str r1, [r2, #0x0]
- mov r1, #0x8c
- strb r1, [r0, #0x0]
- b _020C6A5C
-_020C6A34:
- ldr r0, _020C6A7C ; =0x04000246
- mov r1, #0x8c
- strb r1, [r0, #0x0]
-_020C6A40:
- ldr r0, _020C6A80 ; =0x04000245
- mov r1, #0x84
- strb r1, [r0, #0x0]
- mov r1, #0x4000000
- ldr r0, [r1, #0x0]
- orr r0, r0, #0x40000000
- str r0, [r1, #0x0]
-_020C6A5C:
- ldr r0, _020C6A74 ; =0x021D33C4
- ldrh r0, [r0, #0x0]
- bl GX_VRAMCNT_SetLCDC_
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020C6A74: .word 0x021D33C4
-_020C6A78: .word 0x04000244
-_020C6A7C: .word 0x04000246
-_020C6A80: .word 0x04000245
-
- arm_func_start GX_SetBankForOBJ
-GX_SetBankForOBJ: ; 0x020C6A84
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r1, _020C6BD8 ; =0x021D33C4
- mvn r12, r0
- ldrh r2, [r1, #0x4]
- ldrh r3, [r1, #0x0]
- cmp r0, #0x30
- strh r0, [r1, #0x4]
- orr r2, r3, r2
- and r2, r12, r2
- strh r2, [r1, #0x0]
- bgt _020C6AF4
- cmp r0, #0x30
- bge _020C6B70
- cmp r0, #0x10
- bgt _020C6AE8
- cmp r0, #0x10
- bge _020C6B7C
- cmp r0, #0x3
- addls pc, pc, r0, lsl #0x2
- b _020C6BC0
-_020C6AD8: ; 0x020C6AD8
- b _020C6BC0
-_020C6ADC: ; 0x020C6ADC
- b _020C6B44
-_020C6AE0: ; 0x020C6AE0
- b _020C6B54
-_020C6AE4: ; 0x020C6AE4
- b _020C6B38
-_020C6AE8:
- cmp r0, #0x20
- beq _020C6BB4
- b _020C6BC0
-_020C6AF4:
- cmp r0, #0x50
- bgt _020C6B18
- cmp r0, #0x50
- bge _020C6B8C
- cmp r0, #0x40
- ldreq r0, _020C6BDC ; =0x04000246
- moveq r1, #0x82
- streqb r1, [r0, #0x0]
- b _020C6BC0
-_020C6B18:
- cmp r0, #0x60
- bgt _020C6B2C
- cmp r0, #0x60
- beq _020C6BA8
- b _020C6BC0
-_020C6B2C:
- cmp r0, #0x70
- beq _020C6B64
- b _020C6BC0
-_020C6B38:
- ldr r0, _020C6BE0 ; =0x04000241
- mov r1, #0x8a
- strb r1, [r0, #0x0]
-_020C6B44:
- ldr r0, _020C6BE4 ; =0x04000240
- mov r1, #0x82
- strb r1, [r0, #0x0]
- b _020C6BC0
-_020C6B54:
- ldr r0, _020C6BE0 ; =0x04000241
- mov r1, #0x82
- strb r1, [r0, #0x0]
- b _020C6BC0
-_020C6B64:
- ldr r0, _020C6BDC ; =0x04000246
- mov r1, #0x9a
- strb r1, [r0, #0x0]
-_020C6B70:
- ldr r0, _020C6BE8 ; =0x04000245
- mov r1, #0x92
- strb r1, [r0, #0x0]
-_020C6B7C:
- ldr r0, _020C6BEC ; =0x04000244
- mov r1, #0x82
- strb r1, [r0, #0x0]
- b _020C6BC0
-_020C6B8C:
- ldr r1, _020C6BDC ; =0x04000246
- mov r2, #0x92
- ldr r0, _020C6BEC ; =0x04000244
- strb r2, [r1, #0x0]
- mov r1, #0x82
- strb r1, [r0, #0x0]
- b _020C6BC0
-_020C6BA8:
- ldr r0, _020C6BDC ; =0x04000246
- mov r1, #0x8a
- strb r1, [r0, #0x0]
-_020C6BB4:
- ldr r0, _020C6BE8 ; =0x04000245
- mov r1, #0x82
- strb r1, [r0, #0x0]
-_020C6BC0:
- ldr r0, _020C6BD8 ; =0x021D33C4
- ldrh r0, [r0, #0x0]
- bl GX_VRAMCNT_SetLCDC_
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020C6BD8: .word 0x021D33C4
-_020C6BDC: .word 0x04000246
-_020C6BE0: .word 0x04000241
-_020C6BE4: .word 0x04000240
-_020C6BE8: .word 0x04000245
-_020C6BEC: .word 0x04000244
-
- arm_func_start GX_SetBankForBG
-GX_SetBankForBG: ; 0x020C6BF0
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r1, _020C6E88 ; =0x021D33C4
- mvn r12, r0
- ldrh r2, [r1, #0x2]
- ldrh r3, [r1, #0x0]
- cmp r0, #0x40
- strh r0, [r1, #0x2]
- orr r2, r3, r2
- and r2, r12, r2
- strh r2, [r1, #0x0]
- bgt _020C6CCC
- cmp r0, #0x40
- bge _020C6E64
- cmp r0, #0x20
- bgt _020C6CC0
- cmp r0, #0x0
- addge pc, pc, r0, lsl #0x2
- b _020C6E70
-_020C6C3C: ; 0x020C6C3C
- b _020C6E70
-_020C6C40: ; 0x020C6C40
- b _020C6D6C
-_020C6C44: ; 0x020C6C44
- b _020C6D38
-_020C6C48: ; 0x020C6C48
- b _020C6D60
-_020C6C4C: ; 0x020C6C4C
- b _020C6D10
-_020C6C50: ; 0x020C6C50
- b _020C6DB0
-_020C6C54: ; 0x020C6C54
- b _020C6D2C
-_020C6C58: ; 0x020C6C58
- b _020C6D54
-_020C6C5C: ; 0x020C6C5C
- b _020C6CF4
-_020C6C60: ; 0x020C6C60
- b _020C6DCC
-_020C6C64: ; 0x020C6C64
- b _020C6DE8
-_020C6C68: ; 0x020C6C68
- b _020C6D7C
-_020C6C6C: ; 0x020C6C6C
- b _020C6D04
-_020C6C70: ; 0x020C6C70
- b _020C6DA4
-_020C6C74: ; 0x020C6C74
- b _020C6D20
-_020C6C78: ; 0x020C6C78
- b _020C6D48
-_020C6C7C: ; 0x020C6C7C
- b _020C6E1C
-_020C6C80: ; 0x020C6C80
- b _020C6E70
-_020C6C84: ; 0x020C6C84
- b _020C6E70
-_020C6C88: ; 0x020C6C88
- b _020C6E70
-_020C6C8C: ; 0x020C6C8C
- b _020C6E70
-_020C6C90: ; 0x020C6C90
- b _020C6E70
-_020C6C94: ; 0x020C6C94
- b _020C6E70
-_020C6C98: ; 0x020C6C98
- b _020C6E70
-_020C6C9C: ; 0x020C6C9C
- b _020C6E70
-_020C6CA0: ; 0x020C6CA0
- b _020C6E70
-_020C6CA4: ; 0x020C6CA4
- b _020C6E70
-_020C6CA8: ; 0x020C6CA8
- b _020C6E70
-_020C6CAC: ; 0x020C6CAC
- b _020C6E70
-_020C6CB0: ; 0x020C6CB0
- b _020C6E70
-_020C6CB4: ; 0x020C6CB4
- b _020C6E70
-_020C6CB8: ; 0x020C6CB8
- b _020C6E70
-_020C6CBC: ; 0x020C6CBC
- b _020C6E54
-_020C6CC0:
- cmp r0, #0x30
- beq _020C6E10
- b _020C6E70
-_020C6CCC:
- cmp r0, #0x60
- bgt _020C6CE8
- cmp r0, #0x60
- bge _020C6E48
- cmp r0, #0x50
- beq _020C6E2C
- b _020C6E70
-_020C6CE8:
- cmp r0, #0x70
- beq _020C6E04
- b _020C6E70
-_020C6CF4:
- ldr r0, _020C6E8C ; =0x04000243
- mov r1, #0x81
- strb r1, [r0, #0x0]
- b _020C6E70
-_020C6D04:
- ldr r0, _020C6E8C ; =0x04000243
- mov r1, #0x89
- strb r1, [r0, #0x0]
-_020C6D10:
- ldr r0, _020C6E90 ; =0x04000242
- mov r1, #0x81
- strb r1, [r0, #0x0]
- b _020C6E70
-_020C6D20:
- ldr r0, _020C6E8C ; =0x04000243
- mov r1, #0x91
- strb r1, [r0, #0x0]
-_020C6D2C:
- ldr r0, _020C6E90 ; =0x04000242
- mov r1, #0x89
- strb r1, [r0, #0x0]
-_020C6D38:
- ldr r0, _020C6E94 ; =0x04000241
- mov r1, #0x81
- strb r1, [r0, #0x0]
- b _020C6E70
-_020C6D48:
- ldr r0, _020C6E8C ; =0x04000243
- mov r1, #0x99
- strb r1, [r0, #0x0]
-_020C6D54:
- ldr r0, _020C6E90 ; =0x04000242
- mov r1, #0x91
- strb r1, [r0, #0x0]
-_020C6D60:
- ldr r0, _020C6E94 ; =0x04000241
- mov r1, #0x89
- strb r1, [r0, #0x0]
-_020C6D6C:
- ldr r0, _020C6E98 ; =0x04000240
- mov r1, #0x81
- strb r1, [r0, #0x0]
- b _020C6E70
-_020C6D7C:
- ldr r0, _020C6E98 ; =0x04000240
- mov r2, #0x81
- ldr r1, _020C6E94 ; =0x04000241
- strb r2, [r0, #0x0]
- mov r2, #0x89
- ldr r0, _020C6E8C ; =0x04000243
- strb r2, [r1, #0x0]
- mov r1, #0x91
- strb r1, [r0, #0x0]
- b _020C6E70
-_020C6DA4:
- ldr r0, _020C6E8C ; =0x04000243
- mov r1, #0x91
- strb r1, [r0, #0x0]
-_020C6DB0:
- ldr r1, _020C6E98 ; =0x04000240
- mov r2, #0x81
- ldr r0, _020C6E90 ; =0x04000242
- strb r2, [r1, #0x0]
- mov r1, #0x89
- strb r1, [r0, #0x0]
- b _020C6E70
-_020C6DCC:
- ldr r1, _020C6E98 ; =0x04000240
- mov r2, #0x81
- ldr r0, _020C6E8C ; =0x04000243
- strb r2, [r1, #0x0]
- mov r1, #0x89
- strb r1, [r0, #0x0]
- b _020C6E70
-_020C6DE8:
- ldr r1, _020C6E94 ; =0x04000241
- mov r2, #0x81
- ldr r0, _020C6E8C ; =0x04000243
- strb r2, [r1, #0x0]
- mov r1, #0x89
- strb r1, [r0, #0x0]
- b _020C6E70
-_020C6E04:
- ldr r0, _020C6E9C ; =0x04000246
- mov r1, #0x99
- strb r1, [r0, #0x0]
-_020C6E10:
- ldr r0, _020C6EA0 ; =0x04000245
- mov r1, #0x91
- strb r1, [r0, #0x0]
-_020C6E1C:
- ldr r0, _020C6EA4 ; =0x04000244
- mov r1, #0x81
- strb r1, [r0, #0x0]
- b _020C6E70
-_020C6E2C:
- ldr r1, _020C6E9C ; =0x04000246
- mov r2, #0x91
- ldr r0, _020C6EA4 ; =0x04000244
- strb r2, [r1, #0x0]
- mov r1, #0x81
- strb r1, [r0, #0x0]
- b _020C6E70
-_020C6E48:
- ldr r0, _020C6E9C ; =0x04000246
- mov r1, #0x89
- strb r1, [r0, #0x0]
-_020C6E54:
- ldr r0, _020C6EA0 ; =0x04000245
- mov r1, #0x81
- strb r1, [r0, #0x0]
- b _020C6E70
-_020C6E64:
- ldr r0, _020C6E9C ; =0x04000246
- mov r1, #0x81
- strb r1, [r0, #0x0]
-_020C6E70:
- ldr r0, _020C6E88 ; =0x021D33C4
- ldrh r0, [r0, #0x0]
- bl GX_VRAMCNT_SetLCDC_
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020C6E88: .word 0x021D33C4
-_020C6E8C: .word 0x04000243
-_020C6E90: .word 0x04000242
-_020C6E94: .word 0x04000241
-_020C6E98: .word 0x04000240
-_020C6E9C: .word 0x04000246
-_020C6EA0: .word 0x04000245
-_020C6EA4: .word 0x04000244
-
- arm_func_start GX_VRAMCNT_SetLCDC_
-GX_VRAMCNT_SetLCDC_: ; 0x020C6EA8
- ands r1, r0, #0x1
- ldrne r1, _020C6F3C ; =0x04000240
- movne r2, #0x80
- strneb r2, [r1, #0x0]
- ands r1, r0, #0x2
- ldrne r1, _020C6F40 ; =0x04000241
- movne r2, #0x80
- strneb r2, [r1, #0x0]
- ands r1, r0, #0x4
- ldrne r1, _020C6F44 ; =0x04000242
- movne r2, #0x80
- strneb r2, [r1, #0x0]
- ands r1, r0, #0x8
- ldrne r1, _020C6F48 ; =0x04000243
- movne r2, #0x80
- strneb r2, [r1, #0x0]
- ands r1, r0, #0x10
- ldrne r1, _020C6F4C ; =0x04000244
- movne r2, #0x80
- strneb r2, [r1, #0x0]
- ands r1, r0, #0x20
- ldrne r1, _020C6F50 ; =0x04000245
- movne r2, #0x80
- strneb r2, [r1, #0x0]
- ands r1, r0, #0x40
- ldrne r1, _020C6F54 ; =0x04000246
- movne r2, #0x80
- strneb r2, [r1, #0x0]
- ands r1, r0, #0x80
- ldrne r1, _020C6F58 ; =0x04000248
- movne r2, #0x80
- strneb r2, [r1, #0x0]
- ands r0, r0, #0x100
- ldrne r0, _020C6F5C ; =0x04000249
- movne r1, #0x80
- strneb r1, [r0, #0x0]
- bx lr
- .balign 4
-_020C6F3C: .word 0x04000240
-_020C6F40: .word 0x04000241
-_020C6F44: .word 0x04000242
-_020C6F48: .word 0x04000243
-_020C6F4C: .word 0x04000244
-_020C6F50: .word 0x04000245
-_020C6F54: .word 0x04000246
-_020C6F58: .word 0x04000248
-_020C6F5C: .word 0x04000249
-
- arm_func_start G2S_GetBG3CharPtr
-G2S_GetBG3CharPtr: ; 0x020C6F60
- ldr r1, _020C6FA8 ; =0x04001000
- ldr r0, _020C6FAC ; =0x0400100E
- ldr r1, [r1, #0x0]
- ldrh r2, [r0, #0x0]
- and r0, r1, #0x7
- cmp r0, #0x3
- blt _020C6F8C
- cmp r0, #0x6
- bge _020C6FA0
- ands r0, r2, #0x80
- bne _020C6FA0
-_020C6F8C:
- and r0, r2, #0x3c
- mov r0, r0, lsr #0x2
- mov r0, r0, lsl #0xe
- add r0, r0, #0x6200000
- bx lr
-_020C6FA0:
- mov r0, #0x0
- bx lr
- .balign 4
-_020C6FA8: .word 0x04001000
-_020C6FAC: .word 0x0400100E
-
- arm_func_start G2_GetBG3CharPtr
-G2_GetBG3CharPtr: ; 0x020C6FB0
- mov r0, #0x4000000
- ldr r1, [r0, #0x0]
- ldr r0, _020C700C ; =0x0400000E
- and r1, r1, #0x7
- cmp r1, #0x3
- ldrh r2, [r0, #0x0]
- blt _020C6FDC
- cmp r1, #0x6
- bge _020C7004
- ands r0, r2, #0x80
- bne _020C7004
-_020C6FDC:
- mov r0, #0x4000000
- ldr r1, [r0, #0x0]
- and r0, r2, #0x3c
- and r1, r1, #0x7000000
- mov r1, r1, lsr #0x18
- mov r1, r1, lsl #0x10
- add r1, r1, #0x6000000
- mov r0, r0, lsr #0x2
- add r0, r1, r0, lsl #0xe
- bx lr
-_020C7004:
- mov r0, #0x0
- bx lr
- .balign 4
-_020C700C: .word 0x0400000E
-
- arm_func_start G2S_GetBG2CharPtr
-G2S_GetBG2CharPtr: ; 0x020C7010
- ldr r1, _020C7050 ; =0x04001000
- ldr r0, _020C7054 ; =0x0400100C
- ldr r1, [r1, #0x0]
- ldrh r2, [r0, #0x0]
- and r0, r1, #0x7
- cmp r0, #0x5
- blt _020C7034
- ands r0, r2, #0x80
- bne _020C7048
-_020C7034:
- and r0, r2, #0x3c
- mov r0, r0, lsr #0x2
- mov r0, r0, lsl #0xe
- add r0, r0, #0x6200000
- bx lr
-_020C7048:
- mov r0, #0x0
- bx lr
- .balign 4
-_020C7050: .word 0x04001000
-_020C7054: .word 0x0400100C
-
- arm_func_start G2_GetBG2CharPtr
-G2_GetBG2CharPtr: ; 0x020C7058
- mov r0, #0x4000000
- ldr r1, [r0, #0x0]
- ldr r0, _020C70AC ; =0x0400000C
- and r1, r1, #0x7
- cmp r1, #0x5
- ldrh r2, [r0, #0x0]
- blt _020C707C
- ands r0, r2, #0x80
- bne _020C70A4
-_020C707C:
- mov r0, #0x4000000
- ldr r1, [r0, #0x0]
- and r0, r2, #0x3c
- and r1, r1, #0x7000000
- mov r1, r1, lsr #0x18
- mov r1, r1, lsl #0x10
- add r1, r1, #0x6000000
- mov r0, r0, lsr #0x2
- add r0, r1, r0, lsl #0xe
- bx lr
-_020C70A4:
- mov r0, #0x0
- bx lr
- .balign 4
-_020C70AC: .word 0x0400000C
-
- arm_func_start G2S_GetBG1CharPtr
-G2S_GetBG1CharPtr: ; 0x020C70B0
- ldr r0, _020C70CC ; =0x0400100A
- ldrh r0, [r0, #0x0]
- and r0, r0, #0x3c
- mov r0, r0, asr #0x2
- mov r0, r0, lsl #0xe
- add r0, r0, #0x6200000
- bx lr
- .balign 4
-_020C70CC: .word 0x0400100A
-
- arm_func_start G2_GetBG1CharPtr
-G2_GetBG1CharPtr: ; 0x020C70D0
- ldr r1, _020C7100 ; =0x0400000A
- mov r0, #0x4000000
- ldrh r1, [r1, #0x0]
- ldr r0, [r0, #0x0]
- and r0, r0, #0x7000000
- mov r0, r0, lsr #0x18
- and r1, r1, #0x3c
- mov r0, r0, lsl #0x10
- mov r1, r1, asr #0x2
- add r0, r0, #0x6000000
- add r0, r0, r1, lsl #0xe
- bx lr
- .balign 4
-_020C7100: .word 0x0400000A
-
- arm_func_start G2S_GetBG0CharPtr
-G2S_GetBG0CharPtr: ; 0x020C7104
- ldr r0, _020C7120 ; =0x04001008
- ldrh r0, [r0, #0x0]
- and r0, r0, #0x3c
- mov r0, r0, asr #0x2
- mov r0, r0, lsl #0xe
- add r0, r0, #0x6200000
- bx lr
- .balign 4
-_020C7120: .word 0x04001008
-
- arm_func_start G2_GetBG0CharPtr
-G2_GetBG0CharPtr: ; 0x020C7124
- ldr r1, _020C7154 ; =0x04000008
- mov r0, #0x4000000
- ldrh r1, [r1, #0x0]
- ldr r0, [r0, #0x0]
- and r0, r0, #0x7000000
- mov r0, r0, lsr #0x18
- and r1, r1, #0x3c
- mov r0, r0, lsl #0x10
- mov r1, r1, asr #0x2
- add r0, r0, #0x6000000
- add r0, r0, r1, lsl #0xe
- bx lr
- .balign 4
-_020C7154: .word 0x04000008
-
- arm_func_start G2S_GetBG3ScrPtr
-G2S_GetBG3ScrPtr: ; 0x020C7158
- ldr r1, _020C71D0 ; =0x04001000
- ldr r0, _020C71D4 ; =0x0400100E
- ldr r1, [r1, #0x0]
- ldrh r2, [r0, #0x0]
- and r3, r1, #0x7
- cmp r3, #0x6
- and r0, r2, #0x1f00
- mov r1, r0, lsr #0x8
- addls pc, pc, r3, lsl #0x2
- b _020C71C8
-_020C7180: ; 0x020C7180
- b _020C719C
-_020C7184: ; 0x020C7184
- b _020C719C
-_020C7188: ; 0x020C7188
- b _020C719C
-_020C718C: ; 0x020C718C
- b _020C71A8
-_020C7190: ; 0x020C7190
- b _020C71A8
-_020C7194: ; 0x020C7194
- b _020C71A8
-_020C7198: ; 0x020C7198
- b _020C71C0
-_020C719C:
- mov r0, r1, lsl #0xb
- add r0, r0, #0x6200000
- bx lr
-_020C71A8:
- ands r0, r2, #0x80
- movne r0, r1, lsl #0xe
- addne r0, r0, #0x6200000
- moveq r0, r1, lsl #0xb
- addeq r0, r0, #0x6200000
- bx lr
-_020C71C0:
- mov r0, #0x0
- bx lr
-_020C71C8:
- mov r0, #0x0
- bx lr
- .balign 4
-_020C71D0: .word 0x04001000
-_020C71D4: .word 0x0400100E
-
- arm_func_start G2_GetBG3ScrPtr
-G2_GetBG3ScrPtr: ; 0x020C71D8
- ldr r0, _020C7260 ; =0x0400000E
- mov r2, #0x4000000
- ldr r1, [r2, #0x0]
- ldrh r3, [r0, #0x0]
- ldr r0, [r2, #0x0]
- and r12, r1, #0x7
- and r0, r0, #0x38000000
- mov r1, r0, lsr #0x1b
- and r0, r3, #0x1f00
- mov r2, r1, lsl #0x10
- cmp r12, #0x6
- mov r1, r0, lsr #0x8
- addls pc, pc, r12, lsl #0x2
- b _020C7258
-_020C7210:
- b _020C722C
-_020C7214:
- b _020C722C
-_020C7218:
- b _020C722C
-_020C721C:
- b _020C7238
-_020C7220:
- b _020C7238
-_020C7224:
- b _020C7238
-_020C7228:
- b _020C7250
-_020C722C:
- add r0, r2, #0x6000000
- add r0, r0, r1, lsl #0xb
- bx lr
-_020C7238:
- ands r0, r3, #0x80
- movne r0, r1, lsl #0xe
- addne r0, r0, #0x6000000
- addeq r0, r2, #0x6000000
- addeq r0, r0, r1, lsl #0xb
- bx lr
-_020C7250:
- mov r0, #0x0
- bx lr
-_020C7258:
- mov r0, #0x0
- bx lr
- .balign 4
-_020C7260: .word 0x0400000E
-
- arm_func_start G2S_GetBG2ScrPtr
-G2S_GetBG2ScrPtr: ; 0x020C7264
- ldr r1, _020C72DC ; =0x04001000
- ldr r0, _020C72E0 ; =0x0400100C
- ldr r1, [r1, #0x0]
- ldrh r2, [r0, #0x0]
- and r3, r1, #0x7
- cmp r3, #0x6
- and r0, r2, #0x1f00
- mov r1, r0, lsr #0x8
- addls pc, pc, r3, lsl #0x2
- b _020C72D4
-_020C728C: ; 0x020C728C
- b _020C72A8
-_020C7290: ; 0x020C7290
- b _020C72A8
-_020C7294: ; 0x020C7294
- b _020C72A8
-_020C7298: ; 0x020C7298
- b _020C72A8
-_020C729C: ; 0x020C729C
- b _020C72A8
-_020C72A0: ; 0x020C72A0
- b _020C72B4
-_020C72A4: ; 0x020C72A4
- b _020C72CC
-_020C72A8:
- mov r0, r1, lsl #0xb
- add r0, r0, #0x6200000
- bx lr
-_020C72B4:
- ands r0, r2, #0x80
- movne r0, r1, lsl #0xe
- addne r0, r0, #0x6200000
- moveq r0, r1, lsl #0xb
- addeq r0, r0, #0x6200000
- bx lr
-_020C72CC:
- mov r0, #0x0
- bx lr
-_020C72D4:
- mov r0, #0x0
- bx lr
- .balign 4
-_020C72DC: .word 0x04001000
-_020C72E0: .word 0x0400100C
-
- arm_func_start G2_GetBG2ScrPtr
-G2_GetBG2ScrPtr: ; 0x020C72E4
- ldr r0, _020C736C ; =0x0400000C
- mov r2, #0x4000000
- ldr r1, [r2, #0x0]
- ldrh r3, [r0, #0x0]
- ldr r0, [r2, #0x0]
- and r12, r1, #0x7
- and r0, r0, #0x38000000
- mov r1, r0, lsr #0x1b
- and r0, r3, #0x1f00
- mov r2, r1, lsl #0x10
- cmp r12, #0x6
- mov r1, r0, lsr #0x8
- addls pc, pc, r12, lsl #0x2
- b _020C7364
-_020C731C:
- b _020C7338
-_020C7320:
- b _020C7338
-_020C7324:
- b _020C7338
-_020C7328:
- b _020C7338
-_020C732C:
- b _020C7338
-_020C7330:
- b _020C7344
-_020C7334:
- b _020C735C
-_020C7338:
- add r0, r2, #0x6000000
- add r0, r0, r1, lsl #0xb
- bx lr
-_020C7344:
- ands r0, r3, #0x80
- movne r0, r1, lsl #0xe
- addne r0, r0, #0x6000000
- addeq r0, r2, #0x6000000
- addeq r0, r0, r1, lsl #0xb
- bx lr
-_020C735C:
- mov r0, #0x6000000
- bx lr
-_020C7364:
- mov r0, #0x0
- bx lr
- .balign 4
-_020C736C: .word 0x0400000C
-
- arm_func_start G2S_GetBG1ScrPtr
-G2S_GetBG1ScrPtr: ; 0x020C7370
- ldr r0, _020C738C ; =0x0400100A
- ldrh r0, [r0, #0x0]
- and r0, r0, #0x1f00
- mov r0, r0, asr #0x8
- mov r0, r0, lsl #0xb
- add r0, r0, #0x6200000
- bx lr
- .balign 4
-_020C738C: .word 0x0400100A
-
- arm_func_start G2_GetBG1ScrPtr
-G2_GetBG1ScrPtr: ; 0x020C7390
- ldr r1, _020C73C0 ; =0x0400000A
- mov r0, #0x4000000
- ldrh r1, [r1, #0x0]
- ldr r0, [r0, #0x0]
- and r0, r0, #0x38000000
- mov r0, r0, lsr #0x1b
- and r1, r1, #0x1f00
- mov r0, r0, lsl #0x10
- mov r1, r1, asr #0x8
- add r0, r0, #0x6000000
- add r0, r0, r1, lsl #0xb
- bx lr
- .balign 4
-_020C73C0: .word 0x0400000A
-
- arm_func_start G2S_GetBG0ScrPtr
-G2S_GetBG0ScrPtr: ; 0x020C73C4
- ldr r0, _020C73E0 ; =0x04001008
- ldrh r0, [r0, #0x0]
- and r0, r0, #0x1f00
- mov r0, r0, asr #0x8
- mov r0, r0, lsl #0xb
- add r0, r0, #0x6200000
- bx lr
- .balign 4
-_020C73E0: .word 0x04001008
-
- arm_func_start G2_GetBG0ScrPtr
-G2_GetBG0ScrPtr: ; 0x020C73E4
- ldr r1, _020C7414 ; =0x04000008
- mov r0, #0x4000000
- ldrh r1, [r1, #0x0]
- ldr r0, [r0, #0x0]
- and r0, r0, #0x38000000
- mov r0, r0, lsr #0x1b
- and r1, r1, #0x1f00
- mov r0, r0, lsl #0x10
- mov r1, r1, asr #0x8
- add r0, r0, #0x6000000
- add r0, r0, r1, lsl #0xb
- bx lr
- .balign 4
-_020C7414: .word 0x04000008
-
- arm_func_start G2x_ChangeBlendBrightness_
-G2x_ChangeBlendBrightness_: ; 0x020C7418
- cmp r1, #0x0
- ldrh r3, [r0, #0x0]
- bge _020C7444
- and r2, r3, #0xc0
- cmp r2, #0x80
- biceq r2, r3, #0xc0
- orreq r2, r2, #0xc0
- streqh r2, [r0, #0x0]
- rsb r1, r1, #0x0
- strh r1, [r0, #0x4]
- bx lr
-_020C7444:
- and r2, r3, #0xc0
- cmp r2, #0xc0
- biceq r2, r3, #0xc0
- orreq r2, r2, #0x80
- streqh r2, [r0, #0x0]
- strh r1, [r0, #0x4]
- bx lr
-
- arm_func_start G2x_SetBlendBrightnessExt_
-G2x_SetBlendBrightnessExt_: ; 0x020C7460
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr lr, [sp, #0x8]
- ldr r12, [sp, #0xc]
- orr r3, r3, lr, lsl #0x8
- cmp r12, #0x0
- orrge r1, r1, #0x80
- strh r3, [r0, #0x2]
- orrge r1, r1, r2, lsl #0x8
- strgeh r1, [r0, #0x0]
- strgeh r12, [r0, #0x4]
- addge sp, sp, #0x4
- ldmgeia sp!, {lr}
- bxge lr
- orr r1, r1, #0xc0
- orr r1, r1, r2, lsl #0x8
- strh r1, [r0, #0x0]
- rsb r1, r12, #0x0
- strh r1, [r0, #0x4]
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-
- arm_func_start G2x_SetBlendBrightness_
-G2x_SetBlendBrightness_: ; 0x020C74B8
- cmp r2, #0x0
- orrlt r1, r1, #0xc0
- strlth r1, [r0, #0x0]
- rsblt r1, r2, #0x0
- strlth r1, [r0, #0x4]
- orrge r1, r1, #0x80
- strgeh r1, [r0, #0x0]
- strgeh r2, [r0, #0x4]
- bx lr
-
- arm_func_start G2x_SetBlendAlpha_
-G2x_SetBlendAlpha_: ; 0x020C74DC
- ldr r12, [sp, #0x0]
- orr r1, r1, #0x40
- orr r2, r1, r2, lsl #0x8
- orr r1, r3, r12, lsl #0x8
- orr r1, r2, r1, lsl #0x10
- str r1, [r0, #0x0]
- bx lr
-
- arm_func_start G2x_SetBGyAffine_
-G2x_SetBGyAffine_: ; 0x020C74F8
- stmdb sp!, {r4-r6,lr}
- ldr r5, [r1, #0x0]
- ldr r4, [r1, #0x4]
- mov r12, r5, lsl #0xc
- mov lr, r4, lsl #0xc
- mov r5, r12, asr #0x10
- mov r4, lr, asr #0x10
- mov r12, r5, lsl #0x10
- mov lr, r4, lsl #0x10
- mov r5, r12, lsr #0x10
- mov r4, lr, lsr #0x10
- orr r4, r5, r4, lsl #0x10
- str r4, [r0, #0x0]
- ldr r5, [r1, #0x8]
- ldr r4, [r1, #0xc]
- mov r12, r5, lsl #0xc
- mov lr, r4, lsl #0xc
- mov r5, r12, asr #0x10
- mov r4, lr, asr #0x10
- mov r12, r5, lsl #0x10
- mov lr, r4, lsl #0x10
- ldr r4, [sp, #0x14]
- ldr r6, [sp, #0x10]
- mov r12, r12, lsr #0x10
- mov r5, lr, lsr #0x10
- orr r5, r12, r5, lsl #0x10
- str r5, [r0, #0x4]
- ldr r12, [r1, #0x4]
- sub r5, r4, r3
- ldr r4, [r1, #0xc]
- mul lr, r12, r5
- mul r5, r4, r5
- ldr r12, [r1, #0x0]
- sub r6, r6, r2
- ldr r4, [r1, #0x8]
- mla r1, r12, r6, lr
- mla r5, r4, r6, r5
- add r1, r1, r2, lsl #0xc
- add r2, r5, r3, lsl #0xc
- mov r1, r1, asr #0x4
- str r1, [r0, #0x8]
- mov r1, r2, asr #0x4
- str r1, [r0, #0xc]
- ldmia sp!, {r4-r6,lr}
- bx lr
-
- arm_func_start G3B_End
-G3B_End: ; 0x020C75AC
- ldr r1, [r0, #0x0]
- mov r2, #0x41
- str r2, [r1, #0x0]
- ldr r1, [r0, #0x4]
- str r1, [r0, #0x0]
- ldr r1, [r0, #0x0]
- add r1, r1, #0x4
- str r1, [r0, #0x4]
- bx lr
-
- arm_func_start G3B_Begin
-G3B_Begin: ; 0x020C75D0
- ldr r2, [r0, #0x0]
- mov r3, #0x40
- str r3, [r2, #0x0]
- ldr r2, [r0, #0x4]
- str r1, [r2, #0x0]
- ldr r1, [r0, #0x4]
- add r1, r1, #0x4
- str r1, [r0, #0x0]
- ldr r1, [r0, #0x0]
- add r1, r1, #0x4
- str r1, [r0, #0x4]
- bx lr
-
- arm_func_start G3B_LightColor
-G3B_LightColor: ; 0x020C7600
- ldr r3, [r0, #0x0]
- mov r12, #0x33
- str r12, [r3, #0x0]
- ldr r3, [r0, #0x4]
- orr r1, r2, r1, lsl #0x1e
- str r1, [r3, #0x0]
- ldr r1, [r0, #0x4]
- add r1, r1, #0x4
- str r1, [r0, #0x0]
- ldr r1, [r0, #0x0]
- add r1, r1, #0x4
- str r1, [r0, #0x4]
- bx lr
-
- arm_func_start G3B_LightVector
-G3B_LightVector: ; 0x020C7634
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- ldr ip, _020C7694 ; =0x000003FF
- ldrsh r4, [sp, #0x10]
- ldr lr, [r0, #0x0]
- mov r5, #0x32
- str r5, [lr, #0x0]
- and lr, r12, r2, asr #0x3
- and r2, r12, r3, asr #0x3
- and r3, r12, r4, asr #0x3
- orr r2, lr, r2, lsl #0xa
- orr r3, r2, r3, lsl #0x14
- ldr r2, [r0, #0x4]
- orr r1, r3, r1, lsl #0x1e
- str r1, [r2, #0x0]
- ldr r1, [r0, #0x4]
- add r1, r1, #0x4
- str r1, [r0, #0x0]
- ldr r1, [r0, #0x0]
- add r1, r1, #0x4
- str r1, [r0, #0x4]
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
- .balign 4
-_020C7694: .word 0x000003FF
-
- arm_func_start G3B_MaterialColorSpecEmi
-G3B_MaterialColorSpecEmi: ; 0x020C7698
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r12, [r0, #0x0]
- mov lr, #0x31
- cmp r3, #0x0
- movne r3, #0x1
- str lr, [r12, #0x0]
- orr r2, r1, r2, lsl #0x10
- moveq r3, #0x0
- ldr r1, [r0, #0x4]
- orr r2, r2, r3, lsl #0xf
- str r2, [r1, #0x0]
- ldr r1, [r0, #0x4]
- add r1, r1, #0x4
- str r1, [r0, #0x0]
- ldr r1, [r0, #0x0]
- add r1, r1, #0x4
- str r1, [r0, #0x4]
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-
- arm_func_start G3B_MaterialColorDiffAmb
-G3B_MaterialColorDiffAmb: ; 0x020C76EC
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r12, [r0, #0x0]
- mov lr, #0x30
- cmp r3, #0x0
- movne r3, #0x1
- str lr, [r12, #0x0]
- orr r2, r1, r2, lsl #0x10
- moveq r3, #0x0
- ldr r1, [r0, #0x4]
- orr r2, r2, r3, lsl #0xf
- str r2, [r1, #0x0]
- ldr r1, [r0, #0x4]
- add r1, r1, #0x4
- str r1, [r0, #0x0]
- ldr r1, [r0, #0x0]
- add r1, r1, #0x4
- str r1, [r0, #0x4]
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-
- arm_func_start G3B_PolygonAttr
-G3B_PolygonAttr: ; 0x020C7740
- orr r1, r1, r2, lsl #0x4
- ldr r2, [r0, #0x0]
- mov r12, #0x29
- str r12, [r2, #0x0]
- ldr r2, [sp, #0x8]
- orr r1, r1, r3, lsl #0x6
- ldr r3, [sp, #0x0]
- orr r1, r2, r1
- ldr r12, [sp, #0x4]
- orr r2, r1, r3, lsl #0x18
- ldr r1, [r0, #0x4]
- orr r2, r2, r12, lsl #0x10
- str r2, [r1, #0x0]
- ldr r1, [r0, #0x4]
- add r1, r1, #0x4
- str r1, [r0, #0x0]
- ldr r1, [r0, #0x0]
- add r1, r1, #0x4
- str r1, [r0, #0x4]
- bx lr
-
- arm_func_start G3B_Vtx
-G3B_Vtx: ; 0x020C7790
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r12, [r0, #0x0]
- mov lr, #0x23
- str lr, [r12, #0x0]
- mov r1, r1, lsl #0x10
- mov r2, r2, lsl #0x10
- mov lr, r1, lsr #0x10
- mov r12, r2, lsr #0x10
- mov r1, r3, lsl #0x10
- ldr r2, [r0, #0x4]
- orr r3, lr, r12, lsl #0x10
- str r3, [r2, #0x0]
- ldr r2, [r0, #0x4]
- mov r1, r1, lsr #0x10
- str r1, [r2, #0x4]
- ldr r1, [r0, #0x4]
- add r1, r1, #0x8
- str r1, [r0, #0x0]
- ldr r1, [r0, #0x0]
- add r1, r1, #0x4
- str r1, [r0, #0x4]
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-
- arm_func_start G3B_Normal
-G3B_Normal: ; 0x020C77F4
- stmdb sp!, {r4,lr}
- ldr ip, _020C7844 ; =0x000003FF
- ldr lr, [r0, #0x0]
- mov r4, #0x21
- str r4, [lr, #0x0]
- and lr, r12, r1, asr #0x3
- and r1, r12, r2, asr #0x3
- and r3, r12, r3, asr #0x3
- orr r2, lr, r1, lsl #0xa
- ldr r1, [r0, #0x4]
- orr r2, r2, r3, lsl #0x14
- str r2, [r1, #0x0]
- ldr r1, [r0, #0x4]
- add r1, r1, #0x4
- str r1, [r0, #0x0]
- ldr r1, [r0, #0x0]
- add r1, r1, #0x4
- str r1, [r0, #0x4]
- ldmia sp!, {r4,lr}
- bx lr
- .balign 4
-_020C7844: .word 0x000003FF
-
- arm_func_start G3B_Color
-G3B_Color: ; 0x020C7848
- ldr r2, [r0, #0x0]
- mov r3, #0x20
- str r3, [r2, #0x0]
- ldr r2, [r0, #0x4]
- str r1, [r2, #0x0]
- ldr r1, [r0, #0x4]
- add r1, r1, #0x4
- str r1, [r0, #0x0]
- ldr r1, [r0, #0x0]
- add r1, r1, #0x4
- str r1, [r0, #0x4]
- bx lr
-
- arm_func_start G3B_LoadMtx44
-G3B_LoadMtx44: ; 0x020C7878
- stmdb sp!, {r4,lr}
- mov r4, r0
- bl G3BS_LoadMtx44
- ldr r0, [r4, #0x4]
- add r0, r0, #0x40
- str r0, [r4, #0x0]
- ldr r0, [r4, #0x0]
- add r0, r0, #0x4
- str r0, [r4, #0x4]
- ldmia sp!, {r4,lr}
- bx lr
-
- arm_func_start G3B_PopMtx
-G3B_PopMtx: ; 0x020C78A4
- ldr r2, [r0, #0x0]
- mov r3, #0x12
- str r3, [r2, #0x0]
- ldr r2, [r0, #0x4]
- str r1, [r2, #0x0]
- ldr r1, [r0, #0x4]
- add r1, r1, #0x4
- str r1, [r0, #0x0]
- ldr r1, [r0, #0x0]
- add r1, r1, #0x4
- str r1, [r0, #0x4]
- bx lr
-
- arm_func_start G3B_PushMtx
-G3B_PushMtx: ; 0x020C78D4
- ldr r1, [r0, #0x0]
- mov r2, #0x11
- str r2, [r1, #0x0]
- ldr r1, [r0, #0x4]
- str r1, [r0, #0x0]
- ldr r1, [r0, #0x0]
- add r1, r1, #0x4
- str r1, [r0, #0x4]
- bx lr
-
- arm_func_start G3BS_LoadMtx44
-G3BS_LoadMtx44: ; 0x020C78F8
- mov r3, r0
- ldr r0, [r3, #0x0]
- mov r2, #0x16
- str r2, [r0, #0x0]
- mov r0, r1
- ldr ip, _020C7918 ; =MI_Copy64B
- ldr r1, [r3, #0x4]
- bx r12
- .balign 4
-_020C7918: .word MI_Copy64B
-
- arm_func_start G3_MultMtx33
-G3_MultMtx33: ; 0x020C791C
- ldr r1, _020C7930 ; =0x04000400
- mov r2, #0x1a
- ldr ip, _020C7934 ; =MI_Copy36B
- str r2, [r1, #0x0]
- bx r12
- .balign 4
-_020C7930: .word 0x04000400
-_020C7934: .word MI_Copy36B
-
- arm_func_start G3_MultMtx43
-G3_MultMtx43:
- ldr r1, _020C794C ; =0x04000400
- mov r2, #0x19
- ldr ip, _020C7950 ; =GX_SendFifo48B
- str r2, [r1, #0x0]
- bx r12
- .balign 4
-_020C794C: .word 0x04000400
-_020C7950: .word GX_SendFifo48B
-
- arm_func_start G3_LoadMtx43
-G3_LoadMtx43: ; 0x020C7954
- ldr r1, _020C7968 ; =0x04000400
- mov r2, #0x17
- ldr ip, _020C796C ; =GX_SendFifo48B
- str r2, [r1, #0x0]
- bx r12
- .balign 4
-_020C7968: .word 0x04000400
-_020C796C: .word GX_SendFifo48B
-
- arm_func_start GXi_NopClearFifo128_
-GXi_NopClearFifo128_: ; 0x020C7970
- mov r1, #0x0
- mov r2, #0x0
- mov r3, #0x0
- mov r12, #0x0
- stmia r0, {r1-r3,r12}
- stmia r0, {r1-r3,r12}
- stmia r0, {r1-r3,r12}
- stmia r0, {r1-r3,r12}
- stmia r0, {r1-r3,r12}
- stmia r0, {r1-r3,r12}
- stmia r0, {r1-r3,r12}
- stmia r0, {r1-r3,r12}
- stmia r0, {r1-r3,r12}
- stmia r0, {r1-r3,r12}
- stmia r0, {r1-r3,r12}
- stmia r0, {r1-r3,r12}
- stmia r0, {r1-r3,r12}
- stmia r0, {r1-r3,r12}
- stmia r0, {r1-r3,r12}
- stmia r0, {r1-r3,r12}
- stmia r0, {r1-r3,r12}
- stmia r0, {r1-r3,r12}
- stmia r0, {r1-r3,r12}
- stmia r0, {r1-r3,r12}
- stmia r0, {r1-r3,r12}
- stmia r0, {r1-r3,r12}
- stmia r0, {r1-r3,r12}
- stmia r0, {r1-r3,r12}
- stmia r0, {r1-r3,r12}
- stmia r0, {r1-r3,r12}
- stmia r0, {r1-r3,r12}
- stmia r0, {r1-r3,r12}
- stmia r0, {r1-r3,r12}
- stmia r0, {r1-r3,r12}
- stmia r0, {r1-r3,r12}
- stmia r0, {r1-r3,r12}
- bx lr
-
- arm_func_start G3X_SetHOffset
-G3X_SetHOffset: ; 0x020C7A04
- ldr r1, _020C7A10 ; =0x04000010
- str r0, [r1, #0x0]
- bx lr
- .balign 4
-_020C7A10: .word 0x04000010
-
- arm_func_start G3X_GetBoxTestResult
-G3X_GetBoxTestResult: ; 0x020C7A14
- ldr r2, _020C7A38 ; =0x04000600
- ldr r1, [r2, #0x0]
- ands r1, r1, #0x1
- ldreq r1, [r2, #0x0]
- mvnne r0, #0x0
- andeq r1, r1, #0x2
- streq r1, [r0, #0x0]
- moveq r0, #0x0
- bx lr
- .balign 4
-_020C7A38: .word 0x04000600
-
- arm_func_start G3X_GetMtxStackLevelPJ
-G3X_GetMtxStackLevelPJ:
- ldr r2, _020C7A64 ; =0x04000600
- ldr r1, [r2, #0x0]
- ands r1, r1, #0x4000
- ldreq r1, [r2, #0x0]
- mvnne r0, #0x0
- andeq r1, r1, #0x2000
- moveq r1, r1, lsr #0xd
- streq r1, [r0, #0x0]
- moveq r0, #0x0
- bx lr
- .balign 4
-_020C7A64: .word 0x04000600
-
- arm_func_start G3X_GetMtxStackLevelPV
-G3X_GetMtxStackLevelPV:
- ldr r2, _020C7A90 ; =0x04000600
- ldr r1, [r2, #0x0]
- ands r1, r1, #0x4000
- ldreq r1, [r2, #0x0]
- mvnne r0, #0x0
- andeq r1, r1, #0x1f00
- moveq r1, r1, lsr #0x8
- streq r1, [r0, #0x0]
- moveq r0, #0x0
- bx lr
- .balign 4
-_020C7A90: .word 0x04000600
-
- arm_func_start G3X_InitTable
-G3X_InitTable: ; 0x020C7A94
- stmdb sp!, {lr}
- sub sp, sp, #0xc
- ldr r0, _020C7B2C ; =0x02106814
- mvn r1, #0x0
- ldr r0, [r0, #0x0]
- cmp r0, r1
- beq _020C7AE4
- mov r2, #0x0
- str r2, [sp, #0x0]
- ldr r1, _020C7B30 ; =0x04000330
- mov r3, #0x10
- str r2, [sp, #0x4]
- bl MI_DmaFill32Async
- ldr r0, _020C7B2C ; =0x02106814
- ldr r1, _020C7B34 ; =0x04000360
- ldr r0, [r0, #0x0]
- mov r2, #0x0
- mov r3, #0x60
- bl MI_DmaFill32
- b _020C7B04
-_020C7AE4:
- ldr r1, _020C7B30 ; =0x04000330
- mov r0, #0x0
- mov r2, #0x10
- bl MIi_CpuClear32
- ldr r1, _020C7B34 ; =0x04000360
- mov r0, #0x0
- mov r2, #0x60
- bl MIi_CpuClear32
-_020C7B04:
- mov r2, #0x0
- ldr r0, _020C7B38 ; =0x040004D0
- mov r1, r2
-_020C7B10:
- add r2, r2, #0x1
- str r1, [r0, #0x0]
- cmp r2, #0x20
- blt _020C7B10
- add sp, sp, #0xc
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020C7B2C: .word 0x02106814
-_020C7B30: .word 0x04000330
-_020C7B34: .word 0x04000360
-_020C7B38: .word 0x040004D0
-
- arm_func_start G3X_SetClearColor
-G3X_SetClearColor: ; 0x020C7B3C
- orr r0, r0, r1, lsl #0x10
- ldr r12, [sp, #0x0]
- orr r3, r0, r3, lsl #0x18
- cmp r12, #0x0
- ldr r1, _020C7B64 ; =0x04000350
- orrne r3, r3, #0x8000
- ldr r0, _020C7B68 ; =0x04000354
- str r3, [r1, #0x0]
- strh r2, [r0, #0x0]
- bx lr
- .balign 4
-_020C7B64: .word 0x04000350
-_020C7B68: .word 0x04000354
-
- arm_func_start G3X_SetFogTable
-G3X_SetFogTable: ; 0x020C7B6C
- ldr ip, _020C7B78 ; =0x020CE2C4
- ldr r1, _020C7B7C ; =0x04000360
- bx r12
- .balign 4
-_020C7B78: .word 0x020CE2C4
-_020C7B7C: .word 0x04000360
-
- arm_func_start G3X_SetEdgeColorTable
-G3X_SetEdgeColorTable: ; 0x020C7B80
- ldr ip, _020C7B90 ; =MIi_CpuCopy16
- ldr r1, _020C7B94 ; =0x04000330
- mov r2, #0x10
- bx r12
- .balign 4
-_020C7B90: .word MIi_CpuCopy16
-_020C7B94: .word 0x04000330
-
- arm_func_start G3X_GetVectorMtx
-G3X_GetVectorMtx:
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r2, _020C7BD8 ; =0x04000600
- mov r1, r0
- ldr r0, [r2, #0x0]
- ands r0, r0, #0x8000000
- addne sp, sp, #0x4
- mvnne r0, #0x0
- ldmneia sp!, {lr}
- bxne lr
- ldr r0, _020C7BDC ; =0x04000680
- bl MI_Copy36B
-_020C7BC8: ; 0x020C7BC8
- mov r0, #0x0
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020C7BD8: .word 0x04000600
-_020C7BDC: .word 0x04000680
-
- arm_func_start G3X_GetClipMtx
-G3X_GetClipMtx:
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r2, _020C7C20 ; =0x04000600
- mov r1, r0
- ldr r0, [r2, #0x0]
- ands r0, r0, #0x8000000
- addne sp, sp, #0x4
- mvnne r0, #0x0
- ldmneia sp!, {lr}
- bxne lr
- ldr r0, _020C7C24 ; =0x04000640
- bl MI_Copy64B
-_020C7C10: ; 0x020C7C10
- mov r0, #0x0
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020C7C20: .word 0x04000600
-_020C7C24: .word 0x04000640
-
- arm_func_start G3X_SetFog
-G3X_SetFog: ; 0x020C7C28
- cmp r0, #0x0
- ldreq r2, _020C7C70 ; =0x04000060
- ldreq r0, _020C7C74 ; =0x0000CF7F
- ldreqh r1, [r2, #0x0]
- andeq r0, r1, r0
- streqh r0, [r2, #0x0]
- bxeq lr
- ldr r0, _020C7C78 ; =0x0400035C
- ldr ip, _020C7C70 ; =0x04000060
- strh r3, [r0, #0x0]
- mov r0, r2, lsl #0x8
- orr r0, r0, r1, lsl #0x6
- ldrh r3, [r12, #0x0]
- orr r0, r0, #0x80
- bic r1, r3, #0x3f40
- orr r0, r1, r0
- strh r0, [r12, #0x0]
- bx lr
- .balign 4
-_020C7C70: .word 0x04000060
-_020C7C74: .word 0x0000CF7F
-_020C7C78: .word 0x0400035C
-
- arm_func_start G3X_ResetMtxStack_2
-G3X_ResetMtxStack_2: ; 0x020C7C7C
- stmdb sp!, {r4,lr}
- sub sp, sp, #0x8
- ldr r1, _020C7D18 ; =0x04000600
- ldr r0, [r1, #0x0]
- orr r0, r0, #0x8000
- str r0, [r1, #0x0]
- add r4, sp, #0x0
-_020C7C98:
- mov r0, r4
- bl G3X_GetMtxStackLevelPV
-_020C7CA0: ; 0x020C7CA0
- cmp r0, #0x0
- bne _020C7C98
- add r4, sp, #0x4
-_020C7CAC:
- mov r0, r4
- bl G3X_GetMtxStackLevelPJ
-_020C7CB4: ; 0x020C7CB4
- cmp r0, #0x0
- bne _020C7CAC
- ldr r2, _020C7D1C ; =0x04000440
- mov r1, #0x3
- str r1, [r2, #0x0]
- ldr r0, _020C7D20 ; =0x04000454
- mov r1, #0x0
- str r1, [r0, #0x0]
- str r1, [r2, #0x0]
- ldr r1, [sp, #0x4]
- cmp r1, #0x0
- ldrne r0, _020C7D24 ; =0x04000448
- strne r1, [r0, #0x0]
- ldr r0, _020C7D1C ; =0x04000440
- mov r1, #0x2
- str r1, [r0, #0x0]
- ldr r2, [sp, #0x0]
- ldr r1, _020C7D24 ; =0x04000448
- ldr r0, _020C7D20 ; =0x04000454
- str r2, [r1, #0x0]
- mov r1, #0x0
- str r1, [r0, #0x0]
- add sp, sp, #0x8
- ldmia sp!, {r4,lr}
- bx lr
- .balign 4
-_020C7D18: .word 0x04000600
-_020C7D1C: .word 0x04000440
-_020C7D20: .word 0x04000454
-_020C7D24: .word 0x04000448
-
- arm_func_start G3X_InitMtxStack
-G3X_InitMtxStack: ; 0x020C7D28
- stmdb sp!, {r4,lr}
- sub sp, sp, #0x8
- ldr r1, _020C7DC8 ; =0x04000600
- ldr r0, [r1, #0x0]
- orr r0, r0, #0x8000
- str r0, [r1, #0x0]
- add r4, sp, #0x0
-_020C7D44:
- mov r0, r4
- bl G3X_GetMtxStackLevelPV
-_020C7D4C: ; 0x020C7D4C
- cmp r0, #0x0
- bne _020C7D44
- add r4, sp, #0x4
-_020C7D58:
- mov r0, r4
- bl G3X_GetMtxStackLevelPJ
-_020C7D60: ; 0x020C7D60
- cmp r0, #0x0
- bne _020C7D58
- ldr r2, _020C7DCC ; =0x04000440
- mov r1, #0x3
- str r1, [r2, #0x0]
- ldr r0, _020C7DD0 ; =0x04000454
- mov r1, #0x0
- str r1, [r0, #0x0]
- str r1, [r2, #0x0]
- ldr r1, [sp, #0x4]
- ldr r2, _020C7DD0 ; =0x04000454
- cmp r1, #0x0
- ldrne r0, _020C7DD4 ; =0x04000448
- mov r3, #0x0
- strne r1, [r0, #0x0]
- ldr r0, _020C7DCC ; =0x04000440
- str r3, [r2, #0x0]
- mov r1, #0x2
- str r1, [r0, #0x0]
- ldr r1, [sp, #0x0]
- ldr r0, _020C7DD4 ; =0x04000448
- str r1, [r0, #0x0]
- str r3, [r2, #0x0]
- add sp, sp, #0x8
- ldmia sp!, {r4,lr}
- bx lr
- .balign 4
-_020C7DC8: .word 0x04000600
-_020C7DCC: .word 0x04000440
-_020C7DD0: .word 0x04000454
-_020C7DD4: .word 0x04000448
-
- arm_func_start G3X_ClearFifo
-G3X_ClearFifo: ; 0x020C7DD8
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r0, _020C7E04 ; =0x04000400
- bl GXi_NopClearFifo128_
- ldr r1, _020C7E08 ; =0x04000600
-_020C7DEC:
- ldr r0, [r1, #0x0]
- ands r0, r0, #0x8000000
- bne _020C7DEC
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020C7E04: .word 0x04000400
-_020C7E08: .word 0x04000600
-
- arm_func_start G3X_ResetMtxStack
-G3X_ResetMtxStack: ; 0x020C7E0C
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r2, _020C7E7C ; =0x04000600
-_020C7E18:
- ldr r0, [r2, #0x0]
- ands r0, r0, #0x8000000
- bne _020C7E18
- ldr r0, [r2, #0x0]
- ldr r1, _020C7E80 ; =0x04000060
- orr r0, r0, #0x8000
- str r0, [r2, #0x0]
- ldrh r0, [r1, #0x0]
- orr r0, r0, #0x2000
- strh r0, [r1, #0x0]
- ldrh r0, [r1, #0x0]
- orr r0, r0, #0x1000
- strh r0, [r1, #0x0]
- bl G3X_ResetMtxStack_2
- ldr r2, _020C7E84 ; =0x001F0080
- ldr r0, _020C7E88 ; =0x040004A4
- ldr r1, _020C7E8C ; =0x040004A8
- str r2, [r0, #0x0]
- mov r2, #0x0
- ldr r0, _020C7E90 ; =0x040004AC
- str r2, [r1, #0x0]
- str r2, [r0, #0x0]
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020C7E7C: .word 0x04000600
-_020C7E80: .word 0x04000060
-_020C7E84: .word 0x001F0080
-_020C7E88: .word 0x040004A4
-_020C7E8C: .word 0x040004A8
-_020C7E90: .word 0x040004AC
-
- arm_func_start G3X_Init
-G3X_Init: ; 0x020C7E94
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- bl G3X_ClearFifo
- ldr r0, _020C7FAC ; =0x04000504
- mov r1, #0x0
- str r1, [r0, #0x0]
- ldr r1, _020C7FB0 ; =0x04000600
-_020C7EB0:
- ldr r0, [r1, #0x0]
- ands r0, r0, #0x8000000
- bne _020C7EB0
- ldr r0, _020C7FB4 ; =0x04000060
- mov r3, #0x0
- strh r3, [r0, #0x0]
- ldr r2, _020C7FB8 ; =0x04000010
- str r3, [r1, #0x0]
- str r3, [r2, #0x0]
- ldrh r12, [r0, #0x0]
- ldr r2, _020C7FBC ; =0xFFFFCFFD
- ldr r3, _020C7FC0 ; =0x0000CFFB
- orr r12, r12, #0x2000
- strh r12, [r0, #0x0]
- ldrh r12, [r0, #0x0]
- orr r12, r12, #0x1000
- strh r12, [r0, #0x0]
- ldrh r12, [r0, #0x0]
- and r2, r12, r2
- strh r2, [r0, #0x0]
- ldrh r2, [r0, #0x0]
- bic r2, r2, #0x3000
- orr r2, r2, #0x10
- strh r2, [r0, #0x0]
- ldrh r2, [r0, #0x0]
- and r2, r2, r3
- strh r2, [r0, #0x0]
- ldr r0, [r1, #0x0]
- orr r0, r0, #0x8000
- str r0, [r1, #0x0]
- ldr r0, [r1, #0x0]
- bic r0, r0, #0xc0000000
- orr r0, r0, #0x80000000
- str r0, [r1, #0x0]
- bl G3X_InitMtxStack
- ldr r0, _020C7FC4 ; =0x04000350
- mov r3, #0x0
- ldr r2, _020C7FC8 ; =0x00007FFF
- ldr r1, _020C7FCC ; =0x04000354
- str r3, [r0, #0x0]
- ldr r0, _020C7FD0 ; =0x04000356
- strh r2, [r1, #0x0]
- ldr r1, _020C7FD4 ; =0x04000358
- strh r3, [r0, #0x0]
- ldr r0, _020C7FD8 ; =0x0400035C
- str r3, [r1, #0x0]
- ldr r1, _020C7FDC ; =0x04000008
- strh r3, [r0, #0x0]
- ldrh r0, [r1, #0x0]
- bic r0, r0, #0x3
- strh r0, [r1, #0x0]
- bl G3X_InitTable
- ldr r2, _020C7FE0 ; =0x001F0080
- ldr r0, _020C7FE4 ; =0x040004A4
- ldr r1, _020C7FE8 ; =0x040004A8
- str r2, [r0, #0x0]
- mov r2, #0x0
- ldr r0, _020C7FEC ; =0x040004AC
- str r2, [r1, #0x0]
- str r2, [r0, #0x0]
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020C7FAC: .word 0x04000504
-_020C7FB0: .word 0x04000600
-_020C7FB4: .word 0x04000060
-_020C7FB8: .word 0x04000010
-_020C7FBC: .word 0xFFFFCFFD
-_020C7FC0: .word 0x0000CFFB
-_020C7FC4: .word 0x04000350
-_020C7FC8: .word 0x00007FFF
-_020C7FCC: .word 0x04000354
-_020C7FD0: .word 0x04000356
-_020C7FD4: .word 0x04000358
-_020C7FD8: .word 0x0400035C
-_020C7FDC: .word 0x04000008
-_020C7FE0: .word 0x001F0080
-_020C7FE4: .word 0x040004A4
-_020C7FE8: .word 0x040004A8
-_020C7FEC: .word 0x040004AC
-
- arm_func_start G3_RotZ
-G3_RotZ: ; 0x020C7FF0
- ldr r3, _020C8028 ; =0x04000468
- mov r2, #0x0
- str r1, [r3, #0x0]
- str r0, [r3, #0x0]
- str r2, [r3, #0x0]
- rsb r0, r0, #0x0
- str r0, [r3, #0x0]
- str r1, [r3, #0x0]
- str r2, [r3, #0x0]
- str r2, [r3, #0x0]
- str r2, [r3, #0x0]
- mov r0, #0x1000
- str r0, [r3, #0x0]
- bx lr
- .balign 4
-_020C8028: .word 0x04000468
-
- arm_func_start G3_RotY
-G3_RotY: ; 0x020C802C
- ldr ip, _020C8064 ; =0x04000468
- mov r3, #0x0
- str r1, [r12, #0x0]
- str r3, [r12, #0x0]
- rsb r2, r0, #0x0
- str r2, [r12, #0x0]
- str r3, [r12, #0x0]
- mov r2, #0x1000
- str r2, [r12, #0x0]
- str r3, [r12, #0x0]
- str r0, [r12, #0x0]
- str r3, [r12, #0x0]
- str r1, [r12, #0x0]
- bx lr
- .balign 4
-_020C8064: .word 0x04000468
-
- arm_func_start G3_RotX
-G3_RotX: ; 0x020C8068
- ldr r3, _020C80A0 ; =0x04000468
- mov r2, #0x1000
- str r2, [r3, #0x0]
- mov r2, #0x0
- str r2, [r3, #0x0]
- str r2, [r3, #0x0]
- str r2, [r3, #0x0]
- str r1, [r3, #0x0]
- str r0, [r3, #0x0]
- str r2, [r3, #0x0]
- rsb r0, r0, #0x0
- str r0, [r3, #0x0]
- str r1, [r3, #0x0]
- bx lr
- .balign 4
-_020C80A0: .word 0x04000468
-
- arm_func_start G3i_LookAt_
-G3i_LookAt_: ; 0x020C80A4
- stmdb sp!, {r4-r9,lr}
- sub sp, sp, #0x24
- mov r9, r0
- ldr r6, [r9, #0x0]
- ldr r5, [r2, #0x0]
- add r0, sp, #0x0
- sub r5, r6, r5
- str r5, [sp, #0x0]
- ldr r7, [r9, #0x4]
- ldr r6, [r2, #0x4]
- mov r5, r1
- sub r1, r7, r6
- str r1, [sp, #0x4]
- ldr r6, [r9, #0x8]
- ldr r2, [r2, #0x8]
- mov r1, r0
- sub r2, r6, r2
- mov r8, r3
- str r2, [sp, #0x8]
- ldr r7, [sp, #0x40]
- bl VEC_Normalize
- add r1, sp, #0x0
- add r2, sp, #0xc
- mov r0, r5
- bl VEC_CrossProduct
- add r0, sp, #0xc
- mov r1, r0
- bl VEC_Normalize
-_020C8114: ; 0x020C8114
- add r0, sp, #0x0
- add r1, sp, #0xc
- add r2, sp, #0x18
- bl VEC_CrossProduct
-_020C8124: ; 0x020C8124
- cmp r8, #0x0
- beq _020C8184
- ldr r0, _020C8234 ; =0x04000440
- mov r1, #0x2
- str r1, [r0, #0x0]
- ldr r0, [sp, #0xc]
- ldr r4, _020C8238 ; =0x0400045C
- str r0, [r4, #0x0]
- ldr r0, [sp, #0x18]
- str r0, [r4, #0x0]
- ldr r0, [sp, #0x0]
- str r0, [r4, #0x0]
- ldr r0, [sp, #0x10]
- str r0, [r4, #0x0]
- ldr r0, [sp, #0x1c]
- str r0, [r4, #0x0]
- ldr r0, [sp, #0x4]
- str r0, [r4, #0x0]
- ldr r0, [sp, #0x14]
- str r0, [r4, #0x0]
- ldr r0, [sp, #0x20]
- str r0, [r4, #0x0]
- ldr r0, [sp, #0x8]
- str r0, [r4, #0x0]
-_020C8184:
- add r1, sp, #0xc
- mov r0, r9
- bl VEC_DotProduct
- rsb r6, r0, #0x0
- add r1, sp, #0x18
- mov r0, r9
- bl VEC_DotProduct
- rsb r5, r0, #0x0
- add r1, sp, #0x0
- mov r0, r9
- bl VEC_DotProduct
-_020C81B0: ; 0x020C81B0
- cmp r8, #0x0
- strne r6, [r4, #0x0]
- rsb r0, r0, #0x0
- strne r5, [r4, #0x0]
- strne r0, [r4, #0x0]
- cmp r7, #0x0
- addeq sp, sp, #0x24
- ldmeqia sp!, {r4-r9,lr}
- bxeq lr
- ldr r1, [sp, #0xc]
- str r1, [r7, #0x0]
- ldr r1, [sp, #0x18]
- str r1, [r7, #0x4]
- ldr r1, [sp, #0x0]
- str r1, [r7, #0x8]
- ldr r1, [sp, #0x10]
- str r1, [r7, #0xc]
- ldr r1, [sp, #0x1c]
- str r1, [r7, #0x10]
- ldr r1, [sp, #0x4]
- str r1, [r7, #0x14]
- ldr r1, [sp, #0x14]
- str r1, [r7, #0x18]
- ldr r1, [sp, #0x20]
- str r1, [r7, #0x1c]
- ldr r1, [sp, #0x8]
- str r1, [r7, #0x20]
- str r6, [r7, #0x24]
- str r5, [r7, #0x28]
- str r0, [r7, #0x2c]
- add sp, sp, #0x24
- ldmia sp!, {r4-r9,lr}
- bx lr
- .balign 4
-_020C8234: .word 0x04000440
-_020C8238: .word 0x0400045C
-
- arm_func_start G3i_OrthoW_
-G3i_OrthoW_: ; 0x020C823C
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0x34
- str r2, [sp, #0x8]
- str r0, [sp, #0x0]
- ldr r0, [sp, #0x8]
- mov r2, r3
- ldr r7, [sp, #0x64]
- sub r0, r2, r0
- str r3, [sp, #0xc]
- str r1, [sp, #0x4]
- ldr r8, [sp, #0x60]
- ldr r6, [sp, #0x68]
- bl FX_InvAsync
-_020C8270: ; 0x020C8270
- cmp r7, #0x0
- ldrne r0, _020C8528 ; =0x04000440
- movne r1, #0x0
- ldrne r4, _020C852C ; =0x04000458
- strne r1, [r0, #0x0]
- cmp r6, #0x0
- beq _020C82B8
- mov r0, #0x0
- str r0, [r6, #0x4]
- str r0, [r6, #0x8]
- str r0, [r6, #0xc]
- str r0, [r6, #0x10]
- str r0, [r6, #0x18]
- str r0, [r6, #0x1c]
- str r0, [r6, #0x20]
- str r0, [r6, #0x24]
- str r0, [r6, #0x2c]
- str r8, [r6, #0x3c]
-_020C82B8:
- bl FX_GetDivResultFx64c
- mov r5, r0
- str r1, [sp, #0x14]
- ldr sb, _020C8530 ; =0x04000290
- mov r3, #0x0
- ldr r1, [sp, #0x0]
- ldr r0, [sp, #0x4]
- str r3, [r9, #0x0]
- mov r2, #0x1000
- sub r1, r1, r0
- ldr r0, _020C8534 ; =0x04000298
- str r2, [r9, #0x4]
- str r1, [r0, #0x0]
- cmp r8, #0x1000
- str r3, [r0, #0x4]
- beq _020C8318
- mov r9, r8, asr #0x1f
- umull r0, r1, r5, r8
- mla r1, r5, r9, r1
- ldr r5, [sp, #0x14]
- mla r1, r5, r8, r1
- bl _ll_sdiv
- mov r5, r0
- str r1, [sp, #0x14]
-_020C8318:
- ldr r0, [sp, #0x14]
- mov r2, r5, lsl #0xd
- mov r1, r0, lsl #0xd
- mov r0, #0x80000000
- adds r0, r2, r0
- orr r1, r1, r5, lsr #0x13
- adc r1, r1, #0x0
- cmp r7, #0x0
- mov r0, #0x0
- strne r1, [r4, #0x0]
- strne r0, [r4, #0x0]
- strne r0, [r4, #0x0]
- strne r0, [r4, #0x0]
- strne r0, [r4, #0x0]
- cmp r6, #0x0
- strne r1, [r6, #0x0]
- bl FX_GetDivResultFx64c
- mov r11, r0
- str r1, [sp, #0x2c]
- ldr r0, _020C8530 ; =0x04000290
- mov r3, #0x0
- mov r2, #0x1000
- str r3, [r0, #0x0]
- str r2, [r0, #0x4]
- ldr r9, [sp, #0x58]
- ldr r1, [sp, #0x5c]
- ldr r0, _020C8534 ; =0x04000298
- sub r1, r9, r1
- str r1, [r0, #0x0]
- cmp r8, #0x1000
- str r3, [r0, #0x4]
- beq _020C83B8
- mov r9, r8, asr #0x1f
- umull r0, r1, r11, r8
- mla r1, r11, r9, r1
- ldr r9, [sp, #0x2c]
- mla r1, r9, r8, r1
- bl _ll_sdiv
- mov r11, r0
- str r1, [sp, #0x2c]
-_020C83B8:
- ldr r0, [sp, #0x2c]
- mov r3, r11, lsl #0xd
- mov r2, r0, lsl #0xd
- mov r0, #0x80000000
- orr r2, r2, r11, lsr #0x13
- adds r0, r3, r0
- adc r0, r2, #0x0
- cmp r7, #0x0
- mov r1, #0x0
- strne r0, [r4, #0x0]
- strne r1, [r4, #0x0]
- strne r1, [r4, #0x0]
- strne r1, [r4, #0x0]
- strne r1, [r4, #0x0]
- cmp r6, #0x0
- strne r0, [r6, #0x14]
- bl FX_GetDivResultFx64c
- cmp r8, #0x1000
- beq _020C8428
- mov r9, r8, asr #0x1f
- mov r2, #0x1000
- mov r3, #0x0
- umull r12, r10, r0, r8
- mla r10, r0, r9, r10
- mov r0, r12
- mla r10, r1, r8, r10
- mov r1, r10
- bl _ll_sdiv
-_020C8428:
- mov r9, r1, lsl #0xd
- mov r10, r0, lsl #0xd
- mov r2, #0x80000000
- orr r9, r9, r0, lsr #0x13
- adds r2, r10, r2
- adc r2, r9, #0x0
- cmp r7, #0x0
- mov r3, #0x0
- strne r2, [r4, #0x0]
- strne r3, [r4, #0x0]
- cmp r6, #0x0
- strne r2, [r6, #0x28]
- ldr r3, [sp, #0xc]
- ldr r2, [sp, #0x8]
- add r9, r3, r2
- rsb lr, r9, #0x0
- ldr r3, [sp, #0x0]
- ldr r2, [sp, #0x4]
- ldr r9, [sp, #0x5c]
- add r2, r3, r2
- ldr r3, [sp, #0x58]
- rsb r12, r2, #0x0
- add r3, r9, r3
- mov r9, r12, asr #0x1f
- str r9, [sp, #0x20]
- mov r9, r3, asr #0x1f
- str r9, [sp, #0x24]
- umull r10, r9, r5, lr
- mov r2, lr, asr #0x1f
- str r2, [sp, #0x1c]
- str r10, [sp, #0x18]
- ldr r10, [sp, #0x1c]
- mov r2, #0x80000000
- mla r9, r5, r10, r9
- ldr r5, [sp, #0x14]
- mla r9, r5, lr, r9
- ldr r5, [sp, #0x18]
- adds r5, r5, r2
- adc r10, r9, #0x0
- ldr r5, [sp, #0x20]
- umull lr, r9, r11, r12
- mla r9, r11, r5, r9
- ldr r5, [sp, #0x2c]
- mla r9, r5, r12, r9
- adds r5, lr, r2
- adc r5, r9, #0x0
- umull r11, r9, r0, r3
- adds r2, r11, r2
- ldr r2, [sp, #0x24]
- mla r9, r0, r2, r9
- mla r9, r1, r3, r9
- adc r0, r9, #0x0
- cmp r7, #0x0
- strne r10, [r4, #0x0]
- strne r5, [r4, #0x0]
- strne r0, [r4, #0x0]
- strne r8, [r4, #0x0]
- cmp r6, #0x0
- strne r10, [r6, #0x30]
- strne r5, [r6, #0x34]
- strne r0, [r6, #0x38]
- add sp, sp, #0x34
- ldmia sp!, {r4-r11,lr}
- bx lr
- .balign 4
-_020C8528: .word 0x04000440
-_020C852C: .word 0x04000458
-_020C8530: .word 0x04000290
-_020C8534: .word 0x04000298
-
- arm_func_start G3i_PerspectiveW_
-G3i_PerspectiveW_: ; 0x020C8538
- stmdb sp!, {r4-r10,lr}
- mov r5, r0
- mov r0, r1
- mov r1, r5
- ldr r6, [sp, #0x24]
- mov r9, r2
- mov r8, r3
- ldr r5, [sp, #0x2c]
- bl FX_Div
- mov r7, r0
- cmp r6, #0x1000
- mulne r1, r7, r6
- movne r0, r1, asr #0xb
- addne r0, r1, r0, lsr #0x14
- movne r7, r0, asr #0xc
- ldr r0, [sp, #0x28]
- ldr r2, _020C8718 ; =0x04000290
- cmp r0, #0x0
- mov r3, #0x0
- str r3, [r2, #0x0]
- ldr r1, _020C871C ; =0x04000298
- str r7, [r2, #0x4]
- str r9, [r1, #0x0]
- ldrne r0, _020C8720 ; =0x04000440
- str r3, [r1, #0x4]
- ldrne r4, _020C8724 ; =0x04000458
- strne r3, [r0, #0x0]
- cmp r5, #0x0
- beq _020C85E4
- mov r1, #0x0
- str r1, [r5, #0x4]
- str r1, [r5, #0x8]
- str r1, [r5, #0xc]
- str r1, [r5, #0x10]
- str r1, [r5, #0x18]
- str r1, [r5, #0x1c]
- str r1, [r5, #0x20]
- str r1, [r5, #0x24]
- rsb r0, r6, #0x0
- str r0, [r5, #0x2c]
- str r1, [r5, #0x30]
- str r1, [r5, #0x34]
- str r1, [r5, #0x3c]
-_020C85E4:
- bl FX_GetDivResult
- ldr r3, [sp, #0x20]
- ldr r1, [sp, #0x28]
- ldr sb, _020C8718 ; =0x04000290
- mov r12, #0x0
- str r12, [r9, #0x0]
- mov r10, #0x1000
- ldr r2, _020C871C ; =0x04000298
- str r10, [r9, #0x4]
- sub r3, r8, r3
- str r3, [r2, #0x0]
- str r12, [r2, #0x4]
- cmp r1, #0x0
- beq _020C8644
- str r0, [r4, #0x0]
- str r12, [r4, #0x0]
- str r12, [r4, #0x0]
- str r12, [r4, #0x0]
- str r12, [r4, #0x0]
- str r7, [r4, #0x0]
- str r12, [r4, #0x0]
- str r12, [r4, #0x0]
- str r12, [r4, #0x0]
- str r12, [r4, #0x0]
-_020C8644:
- cmp r5, #0x0
- strne r0, [r5, #0x0]
- strne r7, [r5, #0x14]
- bl FX_GetDivResultFx64c
- cmp r6, #0x1000
- beq _020C8680
- mov r2, r6, asr #0x1f
- umull r7, r3, r0, r6
- mla r3, r0, r2, r3
- mla r3, r1, r6, r3
- mov r0, r7
- mov r1, r3
- mov r2, #0x1000
- mov r3, #0x0
- bl _ll_sdiv
-_020C8680:
- ldr r3, [sp, #0x20]
- mov r10, r8, lsl #0x1
- add r12, r3, r8
- mov r2, r12, asr #0x1f
- umull r7, lr, r0, r12
- mla lr, r0, r2, lr
- mov r9, #0x80000000
- smull r3, r2, r10, r3
- mla lr, r1, r12, lr
- adds r7, r7, r9
- mov r8, #0x800
- adc r7, lr, #0x0
- adds r3, r3, r8
- adc r2, r2, #0x0
- mov r3, r3, lsr #0xc
- orr r3, r3, r2, lsl #0x14
- umull r10, r8, r0, r3
- mov r2, r3, asr #0x1f
- adds r9, r10, r9
- mla r8, r0, r2, r8
- mla r8, r1, r3, r8
- ldr r0, [sp, #0x28]
- adc r2, r8, #0x0
- cmp r0, #0x0
- mov r0, #0x0
- beq _020C8704
- str r7, [r4, #0x0]
- rsb r1, r6, #0x0
- str r1, [r4, #0x0]
- str r0, [r4, #0x0]
- str r0, [r4, #0x0]
- str r2, [r4, #0x0]
- str r0, [r4, #0x0]
-_020C8704:
- cmp r5, #0x0
- strne r7, [r5, #0x28]
- strne r2, [r5, #0x38]
- ldmia sp!, {r4-r10,lr}
- bx lr
- .balign 4
-_020C8718: .word 0x04000290
-_020C871C: .word 0x04000298
-_020C8720: .word 0x04000440
-_020C8724: .word 0x04000458
-
- arm_func_start GXS_EndLoadOBJExtPltt
-GXS_EndLoadOBJExtPltt: ; 0x020C8728
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r0, _020C876C ; =0x02106814
- mvn r1, #0x0
- ldr r0, [r0, #0x0]
- cmp r0, r1
- beq _020C8748
- bl MI_WaitDma
-_020C8748:
- ldr r0, _020C8770 ; =0x021D33F8
- ldr r0, [r0, #0x0]
- bl GX_SetBankForSubOBJExtPltt
- ldr r0, _020C8770 ; =0x021D33F8
- mov r1, #0x0
- str r1, [r0, #0x0]
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020C876C: .word 0x02106814
-_020C8770: .word 0x021D33F8
-
- arm_func_start GXS_LoadOBJExtPltt
-GXS_LoadOBJExtPltt: ; 0x020C8774
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0xc
- ldr r3, _020C87E0 ; =0x02106814
- mvn r12, #0x0
- ldr lr, [r3, #0x0]
- mov r5, r0
- mov r4, r1
- mov r3, r2
- cmp lr, r12
- beq _020C87C8
- ldr r2, _020C87E4 ; =0x068A0000
- mov r12, #0x0
- str r12, [sp, #0x0]
- mov r0, lr
- mov r1, r5
- add r2, r4, r2
- str r12, [sp, #0x4]
- bl MI_DmaCopy32Async
- add sp, sp, #0xc
- ldmia sp!, {r4-r5,lr}
- bx lr
-_020C87C8:
- ldr r1, _020C87E4 ; =0x068A0000
- add r1, r4, r1
- bl MIi_CpuCopy32
- add sp, sp, #0xc
- ldmia sp!, {r4-r5,lr}
- bx lr
- .balign 4
-_020C87E0: .word 0x02106814
-_020C87E4: .word 0x068A0000
-
- arm_func_start GXS_BeginLoadOBJExtPltt
-GXS_BeginLoadOBJExtPltt: ; 0x020C87E8
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- bl GX_ResetBankForSubOBJ
- ldr r1, _020C8808 ; =0x021D33F8
- str r0, [r1, #0x0]
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020C8808: .word 0x021D33F8
-
- arm_func_start GXS_EndLoadBGExtPltt
-GXS_EndLoadBGExtPltt: ; 0x020C880C
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r0, _020C8850 ; =0x02106814
- mvn r1, #0x0
- ldr r0, [r0, #0x0]
- cmp r0, r1
- beq _020C882C
- bl MI_WaitDma
-_020C882C:
- ldr r0, _020C8854 ; =0x021D33E0
- ldr r0, [r0, #0x0]
- bl GX_SetBankForSubBGExtPltt
- ldr r0, _020C8854 ; =0x021D33E0
- mov r1, #0x0
- str r1, [r0, #0x0]
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020C8850: .word 0x02106814
-_020C8854: .word 0x021D33E0
-
- arm_func_start GXS_LoadBGExtPltt
-GXS_LoadBGExtPltt: ; 0x020C8858
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0xc
- ldr r3, _020C88C4 ; =0x02106814
- mvn r12, #0x0
- ldr lr, [r3, #0x0]
- mov r5, r0
- mov r4, r1
- mov r3, r2
- cmp lr, r12
- beq _020C88AC
- ldr r2, _020C88C8 ; =0x06898000
- mov r12, #0x0
- str r12, [sp, #0x0]
- mov r0, lr
- mov r1, r5
- add r2, r4, r2
- str r12, [sp, #0x4]
- bl MI_DmaCopy32Async
- add sp, sp, #0xc
- ldmia sp!, {r4-r5,lr}
- bx lr
-_020C88AC:
- ldr r1, _020C88C8 ; =0x06898000
- add r1, r4, r1
- bl MIi_CpuCopy32
- add sp, sp, #0xc
- ldmia sp!, {r4-r5,lr}
- bx lr
- .balign 4
-_020C88C4: .word 0x02106814
-_020C88C8: .word 0x06898000
-
- arm_func_start GXS_BeginLoadBGExtPltt
-GXS_BeginLoadBGExtPltt: ; 0x020C88CC
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- bl FUN_020C6034
- ldr r1, _020C88EC ; =0x021D33E0
- str r0, [r1, #0x0]
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020C88EC: .word 0x021D33E0
-
- arm_func_start GX_EndLoadOBJExtPltt
-GX_EndLoadOBJExtPltt: ; 0x020C88F0
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r0, _020C893C ; =0x02106814
- mvn r1, #0x0
- ldr r0, [r0, #0x0]
- cmp r0, r1
- beq _020C8910
- bl MI_WaitDma
-_020C8910:
- ldr r0, _020C8940 ; =0x021D33E8
- ldr r0, [r0, #0x0]
- bl GX_SetBankForOBJExtPltt
- ldr r1, _020C8940 ; =0x021D33E8
- mov r2, #0x0
- ldr r0, _020C8944 ; =0x021D33E4
- str r2, [r1, #0x0]
- str r2, [r0, #0x0]
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020C893C: .word 0x02106814
-_020C8940: .word 0x021D33E8
-_020C8944: .word 0x021D33E4
-
- arm_func_start GX_LoadOBJExtPltt
-GX_LoadOBJExtPltt: ; 0x020C8948
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0xc
- ldr ip, _020C89B4 ; =0x021D33E4
- ldr r3, _020C89B8 ; =0x02106814
- ldr r4, [r12, #0x0]
- ldr lr, [r3, #0x0]
- mvn r12, #0x0
- mov r5, r0
- mov r3, r2
- cmp lr, r12
- add r4, r4, r1
- beq _020C89A0
- mov r12, #0x0
- str r12, [sp, #0x0]
- mov r0, lr
- mov r1, r5
- mov r2, r4
- str r12, [sp, #0x4]
- bl MI_DmaCopy32Async
- add sp, sp, #0xc
- ldmia sp!, {r4-r5,lr}
- bx lr
-_020C89A0:
- mov r1, r4
- bl MIi_CpuCopy32
- add sp, sp, #0xc
- ldmia sp!, {r4-r5,lr}
- bx lr
- .balign 4
-_020C89B4: .word 0x021D33E4
-_020C89B8: .word 0x02106814
-
- arm_func_start GX_BeginLoadOBJExtPltt
-GX_BeginLoadOBJExtPltt: ; 0x020C89BC
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- bl GX_ResetBankForOBJExtPltt
- ldr r1, _020C8A1C ; =0x021D33E8
- cmp r0, #0x0
- str r0, [r1, #0x0]
- addeq sp, sp, #0x4
- ldmeqia sp!, {lr}
- bxeq lr
- cmp r0, #0x20
- beq _020C8A04
- cmp r0, #0x40
- ldreq r1, _020C8A20 ; =0x06894000
- ldreq r0, _020C8A24 ; =0x021D33E4
- add sp, sp, #0x4
- streq r1, [r0, #0x0]
- ldmia sp!, {lr}
- bx lr
-_020C8A04:
- ldr r1, _020C8A28 ; =0x06890000
- ldr r0, _020C8A24 ; =0x021D33E4
- str r1, [r0, #0x0]
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020C8A1C: .word 0x021D33E8
-_020C8A20: .word 0x06894000
-_020C8A24: .word 0x021D33E4
-_020C8A28: .word 0x06890000
-
- arm_func_start GX_EndLoadBGExtPltt
-GX_EndLoadBGExtPltt: ; 0x020C8A2C
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r0, _020C8A80 ; =0x02106814
- mvn r1, #0x0
- ldr r0, [r0, #0x0]
- cmp r0, r1
- beq _020C8A4C
- bl MI_WaitDma
-_020C8A4C:
- ldr r0, _020C8A84 ; =0x021D33F4
- ldr r0, [r0, #0x0]
- bl GX_SetBankForBGExtPltt
- ldr r2, _020C8A84 ; =0x021D33F4
- mov r3, #0x0
- ldr r1, _020C8A88 ; =0x021D33F0
- ldr r0, _020C8A8C ; =0x021D33EC
- str r3, [r2, #0x0]
- str r3, [r1, #0x0]
- str r3, [r0, #0x0]
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020C8A80: .word 0x02106814
-_020C8A84: .word 0x021D33F4
-_020C8A88: .word 0x021D33F0
-_020C8A8C: .word 0x021D33EC
-
- arm_func_start GX_LoadBGExtPltt
-GX_LoadBGExtPltt: ; 0x020C8A90
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0xc
- ldr lr, _020C8B04 ; =0x021D33F0
- ldr ip, _020C8B08 ; =0x021D33EC
- ldr r3, _020C8B0C ; =0x02106814
- ldr lr, [lr, #0x0]
- ldr r4, [r12, #0x0]
- add r5, lr, r1
- ldr lr, [r3, #0x0]
- mvn r12, #0x0
- mov r1, r0
- mov r3, r2
- cmp lr, r12
- sub r4, r5, r4
- beq _020C8AF0
- mov r12, #0x0
- str r12, [sp, #0x0]
- mov r0, lr
- mov r2, r4
- str r12, [sp, #0x4]
- bl MI_DmaCopy32Async
- add sp, sp, #0xc
- ldmia sp!, {r4-r5,lr}
- bx lr
-_020C8AF0:
- mov r1, r4
- bl MIi_CpuCopy32
- add sp, sp, #0xc
- ldmia sp!, {r4-r5,lr}
- bx lr
- .balign 4
-_020C8B04: .word 0x021D33F0
-_020C8B08: .word 0x021D33EC
-_020C8B0C: .word 0x02106814
-
- arm_func_start GX_BeginLoadBGExtPltt
-GX_BeginLoadBGExtPltt: ; 0x020C8B10
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- bl GX_ResetBankForBGExtPltt
- ldr r1, _020C8BFC ; =0x021D33F4
- cmp r0, #0x20
- str r0, [r1, #0x0]
- bgt _020C8B60
- cmp r0, #0x20
- bge _020C8BD8
- cmp r0, #0x0
- bgt _020C8B4C
- add sp, sp, #0x4
- cmp r0, #0x0
- ldmia sp!, {lr}
- bx lr
-_020C8B4C:
- cmp r0, #0x10
- beq _020C8B90
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-_020C8B60:
- cmp r0, #0x40
- bgt _020C8B7C
- cmp r0, #0x40
- beq _020C8BB4
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-_020C8B7C:
- cmp r0, #0x60
- beq _020C8BD8
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-_020C8B90:
- ldr r3, _020C8C00 ; =0x06880000
- ldr r1, _020C8C04 ; =0x021D33F0
- ldr r0, _020C8C08 ; =0x021D33EC
- mov r2, #0x0
- str r3, [r1, #0x0]
- str r2, [r0, #0x0]
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-_020C8BB4:
- ldr r3, _020C8C0C ; =0x06894000
- ldr r1, _020C8C04 ; =0x021D33F0
- ldr r0, _020C8C08 ; =0x021D33EC
- mov r2, #0x4000
- str r3, [r1, #0x0]
- str r2, [r0, #0x0]
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-_020C8BD8:
- ldr r3, _020C8C10 ; =0x06890000
- ldr r1, _020C8C04 ; =0x021D33F0
- ldr r0, _020C8C08 ; =0x021D33EC
- mov r2, #0x0
- str r3, [r1, #0x0]
- str r2, [r0, #0x0]
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020C8BFC: .word 0x021D33F4
-_020C8C00: .word 0x06880000
-_020C8C04: .word 0x021D33F0
-_020C8C08: .word 0x021D33EC
-_020C8C0C: .word 0x06894000
-_020C8C10: .word 0x06890000
-
- arm_func_start GXS_LoadBG3Char
-GXS_LoadBG3Char: ; 0x020C8C14
- stmdb sp!, {r4-r6,lr}
- mov r6, r0
- mov r5, r1
- mov r4, r2
- bl G2S_GetBG3CharPtr
- ldr r1, _020C8C78 ; =0x02106814
- mov r12, r0
- ldr r0, [r1, #0x0]
- mvn r1, #0x0
- cmp r0, r1
- beq _020C8C60
- cmp r4, #0x30
- bls _020C8C60
- mov r1, r6
- mov r3, r4
- add r2, r12, r5
- bl MI_DmaCopy32
- ldmia sp!, {r4-r6,lr}
- bx lr
-_020C8C60:
- mov r0, r6
- mov r2, r4
- add r1, r12, r5
- bl MIi_CpuCopy32
- ldmia sp!, {r4-r6,lr}
- bx lr
- .balign 4
-_020C8C78: .word 0x02106814
-
- arm_func_start GX_LoadBG3Char
-GX_LoadBG3Char: ; 0x020C8C7C
- stmdb sp!, {r4-r6,lr}
- mov r6, r0
- mov r5, r1
- mov r4, r2
- bl G2_GetBG3CharPtr
- ldr r1, _020C8CE0 ; =0x02106814
- mov r12, r0
- ldr r0, [r1, #0x0]
- mvn r1, #0x0
- cmp r0, r1
- beq _020C8CC8
- cmp r4, #0x30
- bls _020C8CC8
- mov r1, r6
- mov r3, r4
- add r2, r12, r5
- bl MI_DmaCopy32
- ldmia sp!, {r4-r6,lr}
- bx lr
-_020C8CC8:
- mov r0, r6
- mov r2, r4
- add r1, r12, r5
- bl MIi_CpuCopy32
- ldmia sp!, {r4-r6,lr}
- bx lr
- .balign 4
-_020C8CE0: .word 0x02106814
-
- arm_func_start GXS_LoadBG2Char
-GXS_LoadBG2Char: ; 0x020C8CE4
- stmdb sp!, {r4-r6,lr}
- mov r6, r0
- mov r5, r1
- mov r4, r2
- bl G2S_GetBG2CharPtr
- ldr r1, _020C8D48 ; =0x02106814
- mov r12, r0
- ldr r0, [r1, #0x0]
- mvn r1, #0x0
- cmp r0, r1
- beq _020C8D30
- cmp r4, #0x30
- bls _020C8D30
- mov r1, r6
- mov r3, r4
- add r2, r12, r5
- bl MI_DmaCopy32
- ldmia sp!, {r4-r6,lr}
- bx lr
-_020C8D30:
- mov r0, r6
- mov r2, r4
- add r1, r12, r5
- bl MIi_CpuCopy32
- ldmia sp!, {r4-r6,lr}
- bx lr
- .balign 4
-_020C8D48: .word 0x02106814
-
- arm_func_start GX_LoadBG2Char
-GX_LoadBG2Char: ; 0x020C8D4C
- stmdb sp!, {r4-r6,lr}
- mov r6, r0
- mov r5, r1
- mov r4, r2
- bl G2_GetBG2CharPtr
- ldr r1, _020C8DB0 ; =0x02106814
- mov r12, r0
- ldr r0, [r1, #0x0]
- mvn r1, #0x0
- cmp r0, r1
- beq _020C8D98
- cmp r4, #0x30
- bls _020C8D98
- mov r1, r6
- mov r3, r4
- add r2, r12, r5
- bl MI_DmaCopy32
- ldmia sp!, {r4-r6,lr}
- bx lr
-_020C8D98:
- mov r0, r6
- mov r2, r4
- add r1, r12, r5
- bl MIi_CpuCopy32
- ldmia sp!, {r4-r6,lr}
- bx lr
- .balign 4
-_020C8DB0: .word 0x02106814
-
- arm_func_start GXS_LoadBG1Char
-GXS_LoadBG1Char: ; 0x020C8DB4
- stmdb sp!, {r4-r6,lr}
- mov r6, r0
- mov r5, r1
- mov r4, r2
- bl G2S_GetBG1CharPtr
- ldr r1, _020C8E18 ; =0x02106814
- mov r12, r0
- ldr r0, [r1, #0x0]
- mvn r1, #0x0
- cmp r0, r1
- beq _020C8E00
- cmp r4, #0x30
- bls _020C8E00
- mov r1, r6
- mov r3, r4
- add r2, r12, r5
- bl MI_DmaCopy32
- ldmia sp!, {r4-r6,lr}
- bx lr
-_020C8E00:
- mov r0, r6
- mov r2, r4
- add r1, r12, r5
- bl MIi_CpuCopy32
- ldmia sp!, {r4-r6,lr}
- bx lr
- .balign 4
-_020C8E18: .word 0x02106814
-
- arm_func_start GX_LoadBG1Char
-GX_LoadBG1Char: ; 0x020C8E1C
- stmdb sp!, {r4-r6,lr}
- mov r6, r0
- mov r5, r1
- mov r4, r2
- bl G2_GetBG1CharPtr
- ldr r1, _020C8E80 ; =0x02106814
- mov r12, r0
- ldr r0, [r1, #0x0]
- mvn r1, #0x0
- cmp r0, r1
- beq _020C8E68
- cmp r4, #0x30
- bls _020C8E68
- mov r1, r6
- mov r3, r4
- add r2, r12, r5
- bl MI_DmaCopy32
- ldmia sp!, {r4-r6,lr}
- bx lr
-_020C8E68:
- mov r0, r6
- mov r2, r4
- add r1, r12, r5
- bl MIi_CpuCopy32
- ldmia sp!, {r4-r6,lr}
- bx lr
- .balign 4
-_020C8E80: .word 0x02106814
-
- arm_func_start GXS_LoadBG0Char
-GXS_LoadBG0Char: ; 0x020C8E84
- stmdb sp!, {r4-r6,lr}
- mov r6, r0
- mov r5, r1
- mov r4, r2
- bl G2S_GetBG0CharPtr
- ldr r1, _020C8EE8 ; =0x02106814
- mov r12, r0
- ldr r0, [r1, #0x0]
- mvn r1, #0x0
- cmp r0, r1
- beq _020C8ED0
- cmp r4, #0x30
- bls _020C8ED0
- mov r1, r6
- mov r3, r4
- add r2, r12, r5
- bl MI_DmaCopy32
- ldmia sp!, {r4-r6,lr}
- bx lr
-_020C8ED0:
- mov r0, r6
- mov r2, r4
- add r1, r12, r5
- bl MIi_CpuCopy32
- ldmia sp!, {r4-r6,lr}
- bx lr
- .balign 4
-_020C8EE8: .word 0x02106814
-
- arm_func_start GX_LoadBG0Char
-GX_LoadBG0Char: ; 0x020C8EEC
- stmdb sp!, {r4-r6,lr}
- mov r6, r0
- mov r5, r1
- mov r4, r2
- bl G2_GetBG0CharPtr
- ldr r1, _020C8F50 ; =0x02106814
- mov r12, r0
- ldr r0, [r1, #0x0]
- mvn r1, #0x0
- cmp r0, r1
- beq _020C8F38
- cmp r4, #0x30
- bls _020C8F38
- mov r1, r6
- mov r3, r4
- add r2, r12, r5
- bl MI_DmaCopy32
- ldmia sp!, {r4-r6,lr}
- bx lr
-_020C8F38:
- mov r0, r6
- mov r2, r4
- add r1, r12, r5
- bl MIi_CpuCopy32
- ldmia sp!, {r4-r6,lr}
- bx lr
- .balign 4
-_020C8F50: .word 0x02106814
-
- arm_func_start GXS_LoadBG3Scr
-GXS_LoadBG3Scr: ; 0x020C8F54
- stmdb sp!, {r4-r6,lr}
- mov r6, r0
- mov r5, r1
- mov r4, r2
- bl G2S_GetBG3ScrPtr
- ldr r1, _020C8FB8 ; =0x02106814
- mov r12, r0
- ldr r0, [r1, #0x0]
- mvn r1, #0x0
- cmp r0, r1
- beq _020C8FA0
- cmp r4, #0x1c
- bls _020C8FA0
- mov r1, r6
- mov r3, r4
- add r2, r12, r5
- bl MI_DmaCopy16
- ldmia sp!, {r4-r6,lr}
- bx lr
-_020C8FA0:
- mov r0, r6
- mov r2, r4
- add r1, r12, r5
- bl MIi_CpuCopy16
- ldmia sp!, {r4-r6,lr}
- bx lr
- .balign 4
-_020C8FB8: .word 0x02106814
-
- arm_func_start GX_LoadBG3Scr
-GX_LoadBG3Scr: ; 0x020C8FBC
- stmdb sp!, {r4-r6,lr}
- mov r6, r0
- mov r5, r1
- mov r4, r2
- bl G2_GetBG3ScrPtr
- ldr r1, _020C9020 ; =0x02106814
- mov r12, r0
- ldr r0, [r1, #0x0]
- mvn r1, #0x0
- cmp r0, r1
- beq _020C9008
- cmp r4, #0x1c
- bls _020C9008
- mov r1, r6
- mov r3, r4
- add r2, r12, r5
- bl MI_DmaCopy16
- ldmia sp!, {r4-r6,lr}
- bx lr
-_020C9008:
- mov r0, r6
- mov r2, r4
- add r1, r12, r5
- bl MIi_CpuCopy16
- ldmia sp!, {r4-r6,lr}
- bx lr
- .balign 4
-_020C9020: .word 0x02106814
-
- arm_func_start GXS_LoadBG2Scr
-GXS_LoadBG2Scr: ; 0x020C9024
- stmdb sp!, {r4-r6,lr}
- mov r6, r0
- mov r5, r1
- mov r4, r2
- bl G2S_GetBG2ScrPtr
- ldr r1, _020C9088 ; =0x02106814
- mov r12, r0
- ldr r0, [r1, #0x0]
- mvn r1, #0x0
- cmp r0, r1
- beq _020C9070
- cmp r4, #0x1c
- bls _020C9070
- mov r1, r6
- mov r3, r4
- add r2, r12, r5
- bl MI_DmaCopy16
- ldmia sp!, {r4-r6,lr}
- bx lr
-_020C9070:
- mov r0, r6
- mov r2, r4
- add r1, r12, r5
- bl MIi_CpuCopy16
- ldmia sp!, {r4-r6,lr}
- bx lr
- .balign 4
-_020C9088: .word 0x02106814
-
- arm_func_start GX_LoadBG2Scr
-GX_LoadBG2Scr: ; 0x020C908C
- stmdb sp!, {r4-r6,lr}
- mov r6, r0
- mov r5, r1
- mov r4, r2
- bl G2_GetBG2ScrPtr
- ldr r1, _020C90F0 ; =0x02106814
- mov r12, r0
- ldr r0, [r1, #0x0]
- mvn r1, #0x0
- cmp r0, r1
- beq _020C90D8
- cmp r4, #0x1c
- bls _020C90D8
- mov r1, r6
- mov r3, r4
- add r2, r12, r5
- bl MI_DmaCopy16
- ldmia sp!, {r4-r6,lr}
- bx lr
-_020C90D8:
- mov r0, r6
- mov r2, r4
- add r1, r12, r5
- bl MIi_CpuCopy16
- ldmia sp!, {r4-r6,lr}
- bx lr
- .balign 4
-_020C90F0: .word 0x02106814
-
- arm_func_start GXS_LoadBG1Scr
-GXS_LoadBG1Scr: ; 0x020C90F4
- stmdb sp!, {r4-r6,lr}
- mov r6, r0
- mov r5, r1
- mov r4, r2
- bl G2S_GetBG1ScrPtr
- ldr r1, _020C9158 ; =0x02106814
- mov r12, r0
- ldr r0, [r1, #0x0]
- mvn r1, #0x0
- cmp r0, r1
- beq _020C9140
- cmp r4, #0x1c
- bls _020C9140
- mov r1, r6
- mov r3, r4
- add r2, r12, r5
- bl MI_DmaCopy16
- ldmia sp!, {r4-r6,lr}
- bx lr
-_020C9140:
- mov r0, r6
- mov r2, r4
- add r1, r12, r5
- bl MIi_CpuCopy16
- ldmia sp!, {r4-r6,lr}
- bx lr
- .balign 4
-_020C9158: .word 0x02106814
-
- arm_func_start GX_LoadBG1Scr
-GX_LoadBG1Scr: ; 0x020C915C
- stmdb sp!, {r4-r6,lr}
- mov r6, r0
- mov r5, r1
- mov r4, r2
- bl G2_GetBG1ScrPtr
- ldr r1, _020C91C0 ; =0x02106814
- mov r12, r0
- ldr r0, [r1, #0x0]
- mvn r1, #0x0
- cmp r0, r1
- beq _020C91A8
- cmp r4, #0x1c
- bls _020C91A8
- mov r1, r6
- mov r3, r4
- add r2, r12, r5
- bl MI_DmaCopy16
- ldmia sp!, {r4-r6,lr}
- bx lr
-_020C91A8:
- mov r0, r6
- mov r2, r4
- add r1, r12, r5
- bl MIi_CpuCopy16
- ldmia sp!, {r4-r6,lr}
- bx lr
- .balign 4
-_020C91C0: .word 0x02106814
-
- arm_func_start GXS_LoadBG0Scr
-GXS_LoadBG0Scr: ; 0x020C91C4
- stmdb sp!, {r4-r6,lr}
- mov r6, r0
- mov r5, r1
- mov r4, r2
- bl G2S_GetBG0ScrPtr
- ldr r1, _020C9228 ; =0x02106814
- mov r12, r0
- ldr r0, [r1, #0x0]
- mvn r1, #0x0
- cmp r0, r1
- beq _020C9210
- cmp r4, #0x1c
- bls _020C9210
- mov r1, r6
- mov r3, r4
- add r2, r12, r5
- bl MI_DmaCopy16
- ldmia sp!, {r4-r6,lr}
- bx lr
-_020C9210:
- mov r0, r6
- mov r2, r4
- add r1, r12, r5
- bl MIi_CpuCopy16
- ldmia sp!, {r4-r6,lr}
- bx lr
- .balign 4
-_020C9228: .word 0x02106814
-
- arm_func_start GX_LoadBG0Scr
-GX_LoadBG0Scr: ; 0x020C922C
- stmdb sp!, {r4-r6,lr}
- mov r6, r0
- mov r5, r1
- mov r4, r2
- bl G2_GetBG0ScrPtr
- ldr r1, _020C9290 ; =0x02106814
- mov r12, r0
- ldr r0, [r1, #0x0]
- mvn r1, #0x0
- cmp r0, r1
- beq _020C9278
- cmp r4, #0x1c
- bls _020C9278
- mov r1, r6
- mov r3, r4
- add r2, r12, r5
- bl MI_DmaCopy16
- ldmia sp!, {r4-r6,lr}
- bx lr
-_020C9278:
- mov r0, r6
- mov r2, r4
- add r1, r12, r5
- bl MIi_CpuCopy16
- ldmia sp!, {r4-r6,lr}
- bx lr
- .balign 4
-_020C9290: .word 0x02106814
-
- arm_func_start GXS_LoadOBJ
-GXS_LoadOBJ: ; 0x020C9294
- stmdb sp!, {r4,lr}
- ldr r3, _020C92F0 ; =0x02106814
- mov r4, r0
- ldr r0, [r3, #0x0]
- mvn r12, #0x0
- mov lr, r1
- mov r3, r2
- cmp r0, r12
- mov r12, #0x6600000
- beq _020C92D8
- cmp r3, #0x30
- bls _020C92D8
- mov r1, r4
- add r2, r12, lr
- bl MI_DmaCopy32
- ldmia sp!, {r4,lr}
- bx lr
-_020C92D8:
- mov r0, r4
- mov r2, r3
- add r1, r12, lr
- bl MIi_CpuCopy32
- ldmia sp!, {r4,lr}
- bx lr
- .balign 4
-_020C92F0: .word 0x02106814
-
- arm_func_start GX_LoadOBJ
-GX_LoadOBJ: ; 0x020C92F4
- stmdb sp!, {r4,lr}
- ldr r3, _020C9350 ; =0x02106814
- mov r4, r0
- ldr r0, [r3, #0x0]
- mvn r12, #0x0
- mov lr, r1
- mov r3, r2
- cmp r0, r12
- mov r12, #0x6400000
- beq _020C9338
- cmp r3, #0x30
- bls _020C9338
- mov r1, r4
- add r2, r12, lr
- bl MI_DmaCopy32
- ldmia sp!, {r4,lr}
- bx lr
-_020C9338:
- mov r0, r4
- mov r2, r3
- add r1, r12, lr
- bl MIi_CpuCopy32
- ldmia sp!, {r4,lr}
- bx lr
- .balign 4
-_020C9350: .word 0x02106814
-
- arm_func_start GXS_LoadOAM
-GXS_LoadOAM: ; 0x020C9354
- stmdb sp!, {r4,lr}
- ldr r3, _020C93B4 ; =0x02106814
- mov r4, r0
- ldr r0, [r3, #0x0]
- mvn r12, #0x0
- mov lr, r1
- mov r3, r2
- cmp r0, r12
- beq _020C9398
- cmp r3, #0x30
- bls _020C9398
- ldr r2, _020C93B8 ; =0x07000400
- mov r1, r4
- add r2, lr, r2
- bl MI_DmaCopy32
- ldmia sp!, {r4,lr}
- bx lr
-_020C9398:
- ldr r1, _020C93B8 ; =0x07000400
- mov r0, r4
- mov r2, r3
- add r1, lr, r1
- bl MIi_CpuCopy32
- ldmia sp!, {r4,lr}
- bx lr
- .balign 4
-_020C93B4: .word 0x02106814
-_020C93B8: .word 0x07000400
-
- arm_func_start GX_LoadOAM
-GX_LoadOAM: ; 0x020C93BC
- stmdb sp!, {r4,lr}
- ldr r3, _020C9414 ; =0x02106814
- mov r4, r0
- ldr r0, [r3, #0x0]
- mvn r12, #0x0
- mov lr, r1
- mov r3, r2
- cmp r0, r12
- beq _020C93FC
- cmp r3, #0x30
- bls _020C93FC
- mov r1, r4
- add r2, lr, #0x7000000
- bl MI_DmaCopy32
- ldmia sp!, {r4,lr}
- bx lr
-_020C93FC:
- mov r0, r4
- mov r2, r3
- add r1, lr, #0x7000000
- bl MIi_CpuCopy32
- ldmia sp!, {r4,lr}
- bx lr
- .balign 4
-_020C9414: .word 0x02106814
-
- arm_func_start GXS_LoadOBJPltt
-GXS_LoadOBJPltt: ; 0x020C9418
- stmdb sp!, {r4,lr}
- ldr r3, _020C9478 ; =0x02106814
- mov r4, r0
- ldr r0, [r3, #0x0]
- mvn r12, #0x0
- mov lr, r1
- mov r3, r2
- cmp r0, r12
- beq _020C945C
- cmp r3, #0x1c
- bls _020C945C
- ldr r2, _020C947C ; =0x05000600
- mov r1, r4
- add r2, lr, r2
- bl MI_DmaCopy16
- ldmia sp!, {r4,lr}
- bx lr
-_020C945C:
- ldr r1, _020C947C ; =0x05000600
- mov r0, r4
- mov r2, r3
- add r1, lr, r1
- bl MIi_CpuCopy16
- ldmia sp!, {r4,lr}
- bx lr
- .balign 4
-_020C9478: .word 0x02106814
-_020C947C: .word 0x05000600
-
- arm_func_start GX_LoadOBJPltt
-GX_LoadOBJPltt: ; 0x020C9480
- stmdb sp!, {r4,lr}
- ldr r3, _020C94E0 ; =0x02106814
- mov r4, r0
- ldr r0, [r3, #0x0]
- mvn r12, #0x0
- mov lr, r1
- mov r3, r2
- cmp r0, r12
- beq _020C94C4
- cmp r3, #0x1c
- bls _020C94C4
- ldr r2, _020C94E4 ; =0x05000200
- mov r1, r4
- add r2, lr, r2
- bl MI_DmaCopy16
- ldmia sp!, {r4,lr}
- bx lr
-_020C94C4:
- ldr r1, _020C94E4 ; =0x05000200
- mov r0, r4
- mov r2, r3
- add r1, lr, r1
- bl MIi_CpuCopy16
- ldmia sp!, {r4,lr}
- bx lr
- .balign 4
-_020C94E0: .word 0x02106814
-_020C94E4: .word 0x05000200
-
- arm_func_start GXS_LoadBGPltt
-GXS_LoadBGPltt: ; 0x020C94E8
- stmdb sp!, {r4,lr}
- ldr r3, _020C9548 ; =0x02106814
- mov r4, r0
- ldr r0, [r3, #0x0]
- mvn r12, #0x0
- mov lr, r1
- mov r3, r2
- cmp r0, r12
- beq _020C952C
- cmp r3, #0x1c
- bls _020C952C
- ldr r2, _020C954C ; =0x05000400
- mov r1, r4
- add r2, lr, r2
- bl MI_DmaCopy16
- ldmia sp!, {r4,lr}
- bx lr
-_020C952C:
- ldr r1, _020C954C ; =0x05000400
- mov r0, r4
- mov r2, r3
- add r1, lr, r1
- bl MIi_CpuCopy16
- ldmia sp!, {r4,lr}
- bx lr
- .balign 4
-_020C9548: .word 0x02106814
-_020C954C: .word 0x05000400
-
- arm_func_start GX_LoadBGPltt
-GX_LoadBGPltt: ; 0x020C9550
- stmdb sp!, {r4,lr}
- ldr r3, _020C95A8 ; =0x02106814
- mov r4, r0
- ldr r0, [r3, #0x0]
- mvn r12, #0x0
- mov lr, r1
- mov r3, r2
- cmp r0, r12
- beq _020C9590
- cmp r3, #0x1c
- bls _020C9590
- mov r1, r4
- add r2, lr, #0x5000000
- bl MI_DmaCopy16
- ldmia sp!, {r4,lr}
- bx lr
-_020C9590:
- mov r0, r4
- mov r2, r3
- add r1, lr, #0x5000000
- bl MIi_CpuCopy16
- ldmia sp!, {r4,lr}
- bx lr
- .balign 4
-_020C95A8: .word 0x02106814
-
- arm_func_start GX_EndLoadClearImage
-GX_EndLoadClearImage: ; 0x020C95AC
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r0, _020C95F8 ; =0x02106814
- mvn r1, #0x0
- ldr r0, [r0, #0x0]
- cmp r0, r1
- beq _020C95CC
- bl MI_WaitDma
-_020C95CC:
- ldr r0, _020C95FC ; =0x021D33FC
- ldr r0, [r0, #0x0]
- bl GX_SetBankForClearImage
- ldr r1, _020C95FC ; =0x021D33FC
- mov r2, #0x0
- ldr r0, _020C9600 ; =0x021D340C
- str r2, [r1, #0x0]
- str r2, [r0, #0x0]
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020C95F8: .word 0x02106814
-_020C95FC: .word 0x021D33FC
-_020C9600: .word 0x021D340C
-
- arm_func_start GX_LoadClearImageDepth
-GX_LoadClearImageDepth: ; 0x020C9604
- stmdb sp!, {r4,lr}
- sub sp, sp, #0x8
- ldr r3, _020C9670 ; =0x021D340C
- ldr r2, _020C9674 ; =0x02106814
- ldr r12, [r3, #0x0]
- ldr lr, [r2, #0x0]
- mvn r2, #0x0
- mov r4, r0
- mov r3, r1
- cmp lr, r2
- add r2, r12, #0x20000
- beq _020C9658
- mov r12, #0x0
- str r12, [sp, #0x0]
- mov r0, lr
- mov r1, r4
- str r12, [sp, #0x4]
- bl MI_DmaCopy32Async
- add sp, sp, #0x8
- ldmia sp!, {r4,lr}
- bx lr
-_020C9658:
- mov r1, r2
- mov r2, r3
- bl MIi_CpuCopy32
- add sp, sp, #0x8
- ldmia sp!, {r4,lr}
- bx lr
- .balign 4
-_020C9670: .word 0x021D340C
-_020C9674: .word 0x02106814
-
- arm_func_start GX_LoadClearImageColor
-GX_LoadClearImageColor: ; 0x020C9678
- stmdb sp!, {r4,lr}
- sub sp, sp, #0x8
- ldr r2, _020C96E0 ; =0x02106814
- ldr ip, _020C96E4 ; =0x021D340C
- ldr lr, [r2, #0x0]
- mvn r2, #0x0
- mov r4, r0
- mov r3, r1
- cmp lr, r2
- ldr r2, [r12, #0x0]
- beq _020C96C8
- mov r12, #0x0
- str r12, [sp, #0x0]
- mov r0, lr
- mov r1, r4
- str r12, [sp, #0x4]
- bl MI_DmaCopy32Async
- add sp, sp, #0x8
- ldmia sp!, {r4,lr}
- bx lr
-_020C96C8:
- mov r1, r2
- mov r2, r3
- bl MIi_CpuCopy32
- add sp, sp, #0x8
- ldmia sp!, {r4,lr}
- bx lr
- .balign 4
-_020C96E0: .word 0x02106814
-_020C96E4: .word 0x021D340C
-
- arm_func_start GX_BeginLoadClearImage
-GX_BeginLoadClearImage: ; 0x020C96E8
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- bl GX_ResetBankForClearImage
- ldr r1, _020C979C ; =0x021D33FC
- cmp r0, #0xc
- str r0, [r1, #0x0]
- addls pc, pc, r0, lsl #0x2
- b _020C9790
-_020C9708:
- b _020C9790
-_020C970C:
- b _020C976C
-_020C9710:
- b _020C973C
-_020C9714:
- b _020C973C
-_020C9718:
- b _020C9784
-_020C971C:
- b _020C9790
-_020C9720:
- b _020C9790
-_020C9724:
- b _020C9790
-_020C9728:
- b _020C9754
-_020C972C:
- b _020C9790
-_020C9730:
- b _020C9790
-_020C9734:
- b _020C9790
-_020C9738:
- b _020C9754
-_020C973C:
- ldr r0, _020C97A0 ; =0x021D340C
- mov r1, #0x6800000
- str r1, [r0, #0x0]
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-_020C9754:
- ldr r1, _020C97A4 ; =0x06840000
- ldr r0, _020C97A0 ; =0x021D340C
- add sp, sp, #0x4
- str r1, [r0, #0x0]
- ldmia sp!, {lr}
- bx lr
-_020C976C:
- ldr r1, _020C97A8 ; =0x067E0000
- ldr r0, _020C97A0 ; =0x021D340C
- add sp, sp, #0x4
- str r1, [r0, #0x0]
- ldmia sp!, {lr}
- bx lr
-_020C9784:
- ldr r1, _020C97AC ; =0x06820000
- ldr r0, _020C97A0 ; =0x021D340C
- str r1, [r0, #0x0]
-_020C9790:
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020C979C: .word 0x021D33FC
-_020C97A0: .word 0x021D340C
-_020C97A4: .word 0x06840000
-_020C97A8: .word 0x067E0000
-_020C97AC: .word 0x06820000
-
- arm_func_start GX_EndLoadTexPltt
-GX_EndLoadTexPltt: ; 0x020C97B0
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r0, _020C97FC ; =0x02106814
- mvn r1, #0x0
- ldr r0, [r0, #0x0]
- cmp r0, r1
- beq _020C97D0
- bl MI_WaitDma
-_020C97D0:
- ldr r0, _020C9800 ; =0x021D3408
- ldr r0, [r0, #0x0]
- bl GX_SetBankForTexPltt
- ldr r1, _020C9800 ; =0x021D3408
- mov r2, #0x0
- ldr r0, _020C9804 ; =0x021D3404
- str r2, [r1, #0x0]
- str r2, [r0, #0x0]
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020C97FC: .word 0x02106814
-_020C9800: .word 0x021D3408
-_020C9804: .word 0x021D3404
-
- arm_func_start GX_LoadTexPltt
-GX_LoadTexPltt: ; 0x020C9808
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0xc
- ldr ip, _020C9874 ; =0x021D3404
- ldr r3, _020C9878 ; =0x02106814
- ldr r4, [r12, #0x0]
- ldr lr, [r3, #0x0]
- mvn r12, #0x0
- mov r5, r0
- mov r3, r2
- cmp lr, r12
- add r4, r4, r1
- beq _020C9860
- mov r12, #0x0
- str r12, [sp, #0x0]
- mov r0, lr
- mov r1, r5
- mov r2, r4
- str r12, [sp, #0x4]
- bl MI_DmaCopy32Async
- add sp, sp, #0xc
- ldmia sp!, {r4-r5,lr}
- bx lr
-_020C9860:
- mov r1, r4
- bl MIi_CpuCopy32
- add sp, sp, #0xc
- ldmia sp!, {r4-r5,lr}
- bx lr
- .balign 4
-_020C9874: .word 0x021D3404
-_020C9878: .word 0x02106814
-
- arm_func_start GX_BeginLoadTexPltt
-GX_BeginLoadTexPltt: ; 0x020C987C
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- bl GX_ResetBankForTexPltt
- mov r3, r0, asr #0x4
- ldr r2, _020C98B8 ; =0x021D3408
- ldr r1, _020C98BC ; =0x02103B3C
- mov r3, r3, lsl #0x1
- ldrh r3, [r1, r3]
- ldr r1, _020C98C0 ; =0x021D3404
- str r0, [r2, #0x0]
- mov r0, r3, lsl #0xc
- str r0, [r1, #0x0]
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020C98B8: .word 0x021D3408
-_020C98BC: .word 0x02103B3C
-_020C98C0: .word 0x021D3404
-
- arm_func_start GX_EndLoadTex
-GX_EndLoadTex: ; 0x020C98C4
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r0, _020C9920 ; =0x02106814
- mvn r1, #0x0
- ldr r0, [r0, #0x0]
- cmp r0, r1
- beq _020C98E4
- bl MI_WaitDma
-_020C98E4:
- ldr r0, _020C9924 ; =0x021D3410
- ldr r0, [r0, #0x0]
- bl GX_SetBankForTex
- ldr r3, _020C9928 ; =0x021D3418
- mov r12, #0x0
- ldr r2, _020C992C ; =0x021D3414
- ldr r1, _020C9930 ; =0x021D3400
- ldr r0, _020C9924 ; =0x021D3410
- str r12, [r3, #0x0]
- str r12, [r2, #0x0]
- str r12, [r1, #0x0]
- str r12, [r0, #0x0]
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020C9920: .word 0x02106814
-_020C9924: .word 0x021D3410
-_020C9928: .word 0x021D3418
-_020C992C: .word 0x021D3414
-_020C9930: .word 0x021D3400
-
- arm_func_start GX_LoadTex
-GX_LoadTex: ; 0x020C9934
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0xc
- ldr r3, _020C9A88 ; =0x021D3414
- mov r7, r0
- ldr r5, [r3, #0x0]
- mov r6, r2
- cmp r5, #0x0
- ldreq r0, _020C9A8C ; =0x021D3400
- ldreq r0, [r0, #0x0]
- addeq r2, r0, r1
- beq _020C9A34
- ldr r0, _020C9A90 ; =0x021D3418
- add r2, r1, r6
- ldr r4, [r0, #0x0]
- cmp r2, r4
- ldrlo r0, _020C9A8C ; =0x021D3400
- ldrcc r0, [r0, #0x0]
- addcc r2, r0, r1
- blo _020C9A34
- cmp r1, r4
- addcs r0, r5, r1
- subcs r2, r0, r4
- bhs _020C9A34
- ldr r2, _020C9A8C ; =0x021D3400
- ldr r0, _020C9A94 ; =0x02106814
- ldr r3, [r2, #0x0]
- ldr r0, [r0, #0x0]
- mvn r2, #0x0
- cmp r0, r2
- sub r4, r4, r1
- add r2, r3, r1
- beq _020C99CC
- cmp r4, #0x30
- bls _020C99CC
- mov r1, r7
- mov r3, r4
- bl MI_DmaCopy32
- b _020C99DC
-_020C99CC:
- mov r1, r2
- mov r0, r7
- mov r2, r4
- bl MIi_CpuCopy32
-_020C99DC:
- ldr r0, _020C9A94 ; =0x02106814
- mvn r1, #0x0
- ldr r0, [r0, #0x0]
- cmp r0, r1
- beq _020C9A18
- mov r12, #0x0
- str r12, [sp, #0x0]
- mov r2, r5
- add r1, r7, r4
- sub r3, r6, r4
- str r12, [sp, #0x4]
- bl MI_DmaCopy32Async
- add sp, sp, #0xc
- ldmia sp!, {r4-r7,lr}
- bx lr
-_020C9A18:
- mov r1, r5
- add r0, r7, r4
- sub r2, r6, r4
- bl MIi_CpuCopy32
- add sp, sp, #0xc
- ldmia sp!, {r4-r7,lr}
- bx lr
-_020C9A34:
- ldr r0, _020C9A94 ; =0x02106814
- mvn r1, #0x0
- ldr r0, [r0, #0x0]
- cmp r0, r1
- beq _020C9A6C
- mov r4, #0x0
- str r4, [sp, #0x0]
- mov r1, r7
- mov r3, r6
- str r4, [sp, #0x4]
- bl MI_DmaCopy32Async
- add sp, sp, #0xc
- ldmia sp!, {r4-r7,lr}
- bx lr
-_020C9A6C:
- mov r1, r2
- mov r0, r7
- mov r2, r6
- bl MIi_CpuCopy32
- add sp, sp, #0xc
- ldmia sp!, {r4-r7,lr}
- bx lr
- .balign 4
-_020C9A88: .word 0x021D3414
-_020C9A8C: .word 0x021D3400
-_020C9A90: .word 0x021D3418
-_020C9A94: .word 0x02106814
-
- arm_func_start GX_BeginLoadTex
-GX_BeginLoadTex: ; 0x020C9A98
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- bl GX_ResetBankForTex
- mov r1, #0x6
- mul r12, r0, r1
- ldr r3, _020C9AFC ; =0x02103B4C
- ldr r2, _020C9B00 ; =0x02103B4E
- ldr r1, _020C9B04 ; =0x02103B50
- ldrh r5, [r3, r12]
- ldrh r4, [r2, r12]
- ldrh lr, [r1, r12]
- ldr ip, _020C9B08 ; =0x021D3410
- ldr r3, _020C9B0C ; =0x021D3400
- mov r5, r5, lsl #0xc
- ldr r2, _020C9B10 ; =0x021D3414
- mov r4, r4, lsl #0xc
- ldr r1, _020C9B14 ; =0x021D3418
- mov lr, lr, lsl #0xc
- str r0, [r12, #0x0]
- str r5, [r3, #0x0]
- str r4, [r2, #0x0]
- str lr, [r1, #0x0]
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
- .balign 4
-_020C9AFC: .word 0x02103B4C
-_020C9B00: .word 0x02103B4E
-_020C9B04: .word 0x02103B50
-_020C9B08: .word 0x021D3410
-_020C9B0C: .word 0x021D3400
-_020C9B10: .word 0x021D3414
-_020C9B14: .word 0x021D3418
-
- arm_func_start G3_EndMakeDL
-G3_EndMakeDL: ; 0x020C9B18
- ldr r3, [r0, #0x0]
- ldr r2, [r0, #0x8]
- cmp r2, r3
- moveq r0, #0x0
- bxeq lr
- and r1, r3, #0x3
- cmp r1, #0x3
- addls pc, pc, r1, lsl #0x2
- b _020C9B8C
-_020C9B3C:
- b _020C9B4C
-_020C9B40:
- b _020C9B54
-_020C9B44:
- b _020C9B64
-_020C9B48:
- b _020C9B78
-_020C9B4C:
- sub r0, r3, r2
- bx lr
-_020C9B54:
- add r1, r3, #0x1
- str r1, [r0, #0x0]
- mov r1, #0x0
- strb r1, [r3, #0x0]
-_020C9B64:
- ldr r3, [r0, #0x0]
- mov r1, #0x0
- add r2, r3, #0x1
- str r2, [r0, #0x0]
- strb r1, [r3, #0x0]
-_020C9B78:
- ldr r3, [r0, #0x0]
- mov r1, #0x0
- add r2, r3, #0x1
- str r2, [r0, #0x0]
- strb r1, [r3, #0x0]
-_020C9B8C:
- ldr r1, [r0, #0x10]
- cmp r1, #0x0
- beq _020C9BB0
- ldr r3, [r0, #0x4]
- mov r1, #0x0
- add r2, r3, #0x4
- str r2, [r0, #0x4]
- str r1, [r3, #0x0]
- str r1, [r0, #0x10]
-_020C9BB0:
- ldr r1, [r0, #0x4]
- str r1, [r0, #0x0]
- ldr r1, [r0, #0x0]
- ldr r0, [r0, #0x8]
- sub r0, r1, r0
- bx lr
-
- arm_func_start G3_BeginMakeDL
-G3_BeginMakeDL: ; 0x020C9BC8
- str r2, [r0, #0xc]
- str r1, [r0, #0x8]
- str r1, [r0, #0x0]
- add r1, r1, #0x4
- str r1, [r0, #0x4]
- mov r1, #0x0
- str r1, [r0, #0x10]
- bx lr
-
- arm_func_start GX_SendFifo48B
-GX_SendFifo48B: ; 0x020C9BE8
- ldmia r0!, {r2-r3,r12}
- stmia r1, {r2-r3,r12}
- ldmia r0!, {r2-r3,r12}
- stmia r1, {r2-r3,r12}
- ldmia r0!, {r2-r3,r12}
- stmia r1, {r2-r3,r12}
- ldmia r0!, {r2-r3,r12}
- stmia r1, {r2-r3,r12}
- bx lr
diff --git a/asm/MATH_arm9.s b/asm/MATH_arm9.s
deleted file mode 100644
index 02dcfbcf..00000000
--- a/asm/MATH_arm9.s
+++ /dev/null
@@ -1,320 +0,0 @@
- .include "asm/macros.inc"
- .include "global.inc"
-
- .text
-
- arm_func_start MATH_CountPopulation
-MATH_CountPopulation: ; 0x020DDC5C
- ldr r1, _020DDC94 ; =0x55555555
- ldr r2, _020DDC98 ; =0x33333333
- and r1, r1, r0, lsr #0x1
- sub r0, r0, r1
- and r1, r0, r2
- and r0, r2, r0, lsr #0x2
- add r1, r1, r0
- ldr r0, _020DDC9C ; =0x0F0F0F0F
- add r1, r1, r1, lsr #0x4
- and r0, r1, r0
- add r0, r0, r0, lsr #0x8
- add r0, r0, r0, lsr #0x10
- and r0, r0, #0xff
- bx lr
- .balign 4
-_020DDC94: .word 0x55555555
-_020DDC98: .word 0x33333333
-_020DDC9C: .word 0x0F0F0F0F
-
- arm_func_start MATH_CalcSHA1
-MATH_CalcSHA1: ; 0x020DDCA0
- stmdb sp!, {r4-r6,lr}
- sub sp, sp, #0x68
- mov r6, r0
- add r0, sp, #0x0
- mov r5, r1
- mov r4, r2
- bl MATH_SHA1Init
-_020DDCBC: ; 0x020DDCBC
- add r0, sp, #0x0
- mov r1, r5
- mov r2, r4
- bl MATH_SHA1Update
-_020DDCCC: ; 0x020DDCCC
- add r0, sp, #0x0
- mov r1, r6
- bl MATH_SHA1GetHash
- add sp, sp, #0x68
- ldmia sp!, {r4-r6,lr}
- bx lr
-
- arm_func_start MATH_CalcMD5
-MATH_CalcMD5: ; 0x020DDCE4
- stmdb sp!, {r4-r6,lr}
- sub sp, sp, #0x58
- mov r6, r0
- add r0, sp, #0x0
- mov r5, r1
- mov r4, r2
- bl DGT_Hash1Reset
-_020DDD00: ; 0x020DDD00
- add r0, sp, #0x0
- mov r1, r5
- mov r2, r4
- bl DGT_Hash1SetSource
- add r1, sp, #0x0
- mov r0, r6
- bl DGT_Hash1GetDigest_R
- add sp, sp, #0x58
- ldmia sp!, {r4-r6,lr}
- bx lr
-
- arm_func_start MATH_CalcCRC32
-MATH_CalcCRC32: ; 0x020DDD28
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- mov lr, r1
- mvn r12, #0x0
- mov r3, r2
- add r1, sp, #0x0
- mov r2, lr
- str r12, [sp, #0x0]
- bl MATHi_CRC32UpdateRev
-_020DDD4C: ; 0x020DDD4C
- ldr r0, [sp, #0x0]
- mvn r0, r0
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-
- arm_func_start MATH_CalcCRC16CCITT
-MATH_CalcCRC16CCITT: ; 0x020DDD60
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr ip, _020DDD94 ; =0x0000FFFF
- mov lr, r1
- mov r3, r2
- add r1, sp, #0x0
- mov r2, lr
- strh r12, [sp, #0x0]
- bl MATHi_CRC16Update
- ldrh r0, [sp, #0x0]
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020DDD94: .word 0x0000FFFF
-
- arm_func_start MATH_CalcCRC16
-MATH_CalcCRC16: ; 0x020DDD98
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- mov lr, r1
- mov r12, #0x0
- mov r3, r2
- add r1, sp, #0x0
- mov r2, lr
- strh r12, [sp, #0x0]
- bl MATHi_CRC16UpdateRev
- ldrh r0, [sp, #0x0]
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-
- arm_func_start MATH_CalcCRC8
-MATH_CalcCRC8: ; 0x020DDDCC
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- mov lr, r1
- mov r12, #0x0
- mov r3, r2
- add r1, sp, #0x0
- mov r2, lr
- strb r12, [sp, #0x0]
- bl MATHi_CRC8Update
-_020DDDF0: ; 0x020DDDF0
- ldrb r0, [sp, #0x0]
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-
- arm_func_start MATHi_CRC32UpdateRev
-MATHi_CRC32UpdateRev:
- stmdb sp!, {r4,lr}
- cmp r3, #0x0
- ldr r4, [r1, #0x0]
- mov lr, #0x0
- bls _020DDE38
-_020DDE14:
- ldrb r12, [r2, #0x0]
- add lr, lr, #0x1
- cmp lr, r3
- eor r12, r4, r12
- and r12, r12, #0xff
- ldr r12, [r0, r12, lsl #0x2]
- add r2, r2, #0x1
- eor r4, r12, r4, lsr #0x8
- blo _020DDE14
-_020DDE38:
- str r4, [r1, #0x0]
- ldmia sp!, {r4,lr}
- bx lr
-
- arm_func_start MATHi_CRC32InitTableRev
-MATHi_CRC32InitTableRev: ; 0x020DDE44
- stmdb sp!, {r4,lr}
- mov lr, #0x0
- mov r3, lr
-_020DDE50:
- mov r4, lr
- mov r12, r3
-_020DDE58:
- ands r2, r4, #0x1
- eorne r4, r1, r4, lsr #0x1
- add r12, r12, #0x1
- moveq r4, r4, lsr #0x1
- cmp r12, #0x8
- blo _020DDE58
- str r4, [r0, lr, lsl #0x2]
- add lr, lr, #0x1
- cmp lr, #0x100
- blo _020DDE50
- ldmia sp!, {r4,lr}
- bx lr
-
- arm_func_start MATHi_CRC16UpdateRev
-MATHi_CRC16UpdateRev: ; 0x020DDE88
- stmdb sp!, {r4,lr}
- cmp r3, #0x0
- ldrh r4, [r1, #0x0]
- mov lr, #0x0
- bls _020DDEC4
-_020DDE9C:
- ldrb r12, [r2, #0x0]
- add lr, lr, #0x1
- cmp lr, r3
- eor r12, r4, r12
- and r12, r12, #0xff
- mov r12, r12, lsl #0x1
- ldrh r12, [r0, r12]
- add r2, r2, #0x1
- eor r4, r12, r4, lsr #0x8
- blo _020DDE9C
-_020DDEC4:
- strh r4, [r1, #0x0]
- ldmia sp!, {r4,lr}
- bx lr
-
- arm_func_start MATHi_CRC16Update
-MATHi_CRC16Update: ; 0x020DDED0
- stmdb sp!, {r4,lr}
- cmp r3, #0x0
- ldrh r4, [r1, #0x0]
- mov lr, #0x0
- bls _020DDF0C
-_020DDEE4:
- ldrb r12, [r2, #0x0]
- add lr, lr, #0x1
- cmp lr, r3
- eor r12, r12, r4, lsr #0x8
- and r12, r12, #0xff
- mov r12, r12, lsl #0x1
- ldrh r12, [r0, r12]
- add r2, r2, #0x1
- eor r4, r12, r4, lsl #0x8
- blo _020DDEE4
-_020DDF0C:
- strh r4, [r1, #0x0]
- ldmia sp!, {r4,lr}
- bx lr
-
- arm_func_start MATHi_CRC16InitTableRev
-MATHi_CRC16InitTableRev: ; 0x020DDF18
- stmdb sp!, {r4,lr}
- mov lr, #0x0
- mov r3, lr
-_020DDF24:
- mov r4, lr
- mov r12, r3
-_020DDF2C:
- ands r2, r4, #0x1
- eorne r4, r1, r4, lsr #0x1
- add r12, r12, #0x1
- moveq r4, r4, lsr #0x1
- cmp r12, #0x8
- blo _020DDF2C
- mov r2, lr, lsl #0x1
- add lr, lr, #0x1
- strh r4, [r0, r2]
- cmp lr, #0x100
- blo _020DDF24
- ldmia sp!, {r4,lr}
- bx lr
-
- arm_func_start MATHi_CRC16InitTable
-MATHi_CRC16InitTable: ; 0x020DDF60
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r4, #0x0
- mov r12, r4
- mov r3, r4
-_020DDF74:
- mov r5, r12
- mov lr, r3
-_020DDF7C:
- ands r2, r5, #0x8000
- eorne r5, r1, r5, lsl #0x1
- add lr, lr, #0x1
- moveq r5, r5, lsl #0x1
- cmp lr, #0x8
- blo _020DDF7C
- mov r2, r4, lsl #0x1
- add r4, r4, #0x1
- strh r5, [r0, r2]
- cmp r4, #0x100
- add r12, r12, #0x100
- blo _020DDF74
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
-
- arm_func_start MATHi_CRC8Update
-MATHi_CRC8Update:
- stmdb sp!, {r4,lr}
- cmp r3, #0x0
- ldrb r4, [r1, #0x0]
- mov lr, #0x0
- bls _020DDFEC
-_020DDFCC:
- ldrb r12, [r2, #0x0]
- add lr, lr, #0x1
- cmp lr, r3
- eor r12, r4, r12
- and r12, r12, #0xff
- add r2, r2, #0x1
- ldrb r4, [r0, r12]
- blo _020DDFCC
-_020DDFEC:
- strb r4, [r1, #0x0]
- ldmia sp!, {r4,lr}
- bx lr
-
- arm_func_start MATHi_CRC8InitTable
-MATHi_CRC8InitTable: ; 0x020DDFF8
- stmdb sp!, {r4,lr}
- mov lr, #0x0
- mov r3, lr
-_020DE004:
- mov r4, lr
- mov r12, r3
-_020DE00C:
- ands r2, r4, #0x80
- eorne r4, r1, r4, lsl #0x1
- add r12, r12, #0x1
- moveq r4, r4, lsl #0x1
- cmp r12, #0x8
- blo _020DE00C
- strb r4, [r0, lr]
- add lr, lr, #0x1
- cmp lr, #0x100
- blo _020DE004
- ldmia sp!, {r4,lr}
- bx lr
diff --git a/asm/MI_arm9.s b/asm/MI_arm9.s
deleted file mode 100644
index 82747b38..00000000
--- a/asm/MI_arm9.s
+++ /dev/null
@@ -1,1082 +0,0 @@
- .include "asm/macros.inc"
- .include "global.inc"
- .section .text
-
-
- arm_func_start MI_SetWramBank
-MI_SetWramBank:
- ldr r1, _020CD870 ; =0x04000247
- strb r0, [r1, #0x0]
- bx lr
- .balign 4
-_020CD870: .word 0x04000247
-
- arm_func_start MIi_CheckDma0SourceAddress
-MIi_CheckDma0SourceAddress:
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- cmp r0, #0x0
- addne sp, sp, #0x4
- ldmneia sp!, {lr}
- bxne lr
- cmp r3, #0x0
- and r0, r1, #0xff000000
- beq _020CD8A4
- cmp r3, #0x800000
- subeq r1, r1, r2
- b _020CD8A8
-_020CD8A4:
- add r1, r1, r2
-_020CD8A8:
- cmp r0, #0x4000000
- beq _020CD8D4
- cmp r0, #0x8000000
- bhs _020CD8D4
- and r0, r1, #0xff000000
- cmp r0, #0x4000000
- beq _020CD8D4
- cmp r0, #0x8000000
- addcc sp, sp, #0x4
- ldmccia sp!, {lr}
- bxcc lr
-_020CD8D4:
- bl OS_Terminate
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-
- arm_func_start MIi_CheckAnotherAutoDMA
-MIi_CheckAnotherAutoDMA: ; 0x020CD8E4
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- ldr r4, _020CD994 ; =0x040000B8
- mov r7, r0
- mov r6, r1
- mov r5, #0x0
-_020CD8FC:
- cmp r5, r7
- beq _020CD978
- ldr r1, [r4, #0x0]
- ands r0, r1, #0x80000000
- beq _020CD978
- and r0, r1, #0x38000000
- cmp r0, r6
- beq _020CD978
- cmp r0, #0x8000000
- bne _020CD92C
- cmp r6, #0x10000000
- beq _020CD978
-_020CD92C:
- cmp r0, #0x10000000
- bne _020CD93C
- cmp r6, #0x8000000
- beq _020CD978
-_020CD93C:
- cmp r0, #0x18000000
- beq _020CD974
- cmp r0, #0x20000000
- beq _020CD974
- cmp r0, #0x28000000
- beq _020CD974
- cmp r0, #0x30000000
- beq _020CD974
- cmp r0, #0x38000000
- beq _020CD974
- cmp r0, #0x8000000
- beq _020CD974
- cmp r0, #0x10000000
- bne _020CD978
-_020CD974:
- bl OS_Terminate
-_020CD978:
- add r5, r5, #0x1
- cmp r5, #0x3
- add r4, r4, #0xc
- blt _020CD8FC
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,lr}
- bx lr
- .balign 4
-_020CD994: .word 0x040000B8
-
- arm_func_start MI_StopDma
-MI_StopDma: ; 0x020CD998
- stmdb sp!, {r4,lr}
- mov r4, r0
- bl OS_DisableInterrupts
- mov r1, #0x6
- mul r1, r4, r1
- add r1, r1, #0x5
- mov r1, r1, lsl #0x1
- add r1, r1, #0x4000000
- ldrh r2, [r1, #0xb0]
- cmp r4, #0x0
- bic r2, r2, #0x3a00
- strh r2, [r1, #0xb0]
- ldrh r2, [r1, #0xb0]
- bic r2, r2, #0x8000
- strh r2, [r1, #0xb0]
- ldrh r2, [r1, #0xb0]
- ldrh r1, [r1, #0xb0]
- bne _020CDA08
- mov r1, #0xc
- mul r12, r4, r1
- ldr r1, _020CDA14 ; =0x040000B0
- add r2, r12, #0x4000000
- mov r3, #0x0
- str r3, [r2, #0xb0]
- add r2, r12, r1
- ldr r1, _020CDA18 ; =0x81400001
- str r3, [r2, #0x4]
- str r1, [r2, #0x8]
-_020CDA08:
- bl OS_RestoreInterrupts
- ldmia sp!, {r4,lr}
- bx lr
- .balign 4
-_020CDA14: .word 0x040000B0
-_020CDA18: .word 0x81400001
-
- arm_func_start MI_WaitDma
-MI_WaitDma:
- stmdb sp!, {r4,lr}
- mov r4, r0
- bl OS_DisableInterrupts
- mov r1, #0x3
- mul r2, r4, r1
- ldr r1, _020CDA84 ; =0x040000B0
- add r2, r2, #0x2
- add r2, r1, r2, lsl #0x2
-_020CDA3C:
- ldr r1, [r2, #0x0]
- ands r1, r1, #0x80000000
- bne _020CDA3C
- cmp r4, #0x0
- bne _020CDA78
- mov r1, #0xc
- mul r12, r4, r1
- ldr r1, _020CDA84 ; =0x040000B0
- add r2, r12, #0x4000000
- mov r3, #0x0
- str r3, [r2, #0xb0]
- add r2, r12, r1
- ldr r1, _020CDA88 ; =0x81400001
- str r3, [r2, #0x4]
- str r1, [r2, #0x8]
-_020CDA78:
- bl OS_RestoreInterrupts
- ldmia sp!, {r4,lr}
- bx lr
- .balign 4
-_020CDA84: .word 0x040000B0
-_020CDA88: .word 0x81400001
-
- arm_func_start MI_DmaCopy32Async
-MI_DmaCopy32Async: ; 0x020CDA8C
- stmdb sp!, {r4-r8,lr}
- mov r5, r3
- mov r6, r2
- mov r2, r5
- mov r3, #0x0
- mov r8, r0
- mov r7, r1
- ldr r4, [sp, #0x18]
- bl MIi_CheckDma0SourceAddress
-_020CDAB0:
- cmp r5, #0x0
- bne _020CDAD4
- cmp r4, #0x0
- ldmeqia sp!, {r4-r8, lr}
- bxeq lr
- ldr r0, [sp, #0x1C]
- blx r4
- ldmia sp!, {r4-r8, lr}
- bx lr
-_020CDAD4:
- mov r0, r8
- bl MI_WaitDma
- cmp r4, #0x0
- beq _020CDB14
- ldr r2, [sp, #0x1C]
- mov r0, r8
- mov r1, r4
- bl OSi_EnterDmaCallback
- mov r3, r5, lsr #0x2
- mov r0, r8
- mov r1, r7
- mov r2, r6
- orr r3, r3, #0xc4000000
- bl MIi_DmaSetParams
- ldmia sp!, {r4-r8, lr}
- bx lr
-_020CDB14:
- mov r3, r5, lsr #0x2
- mov r0, r8
- mov r1, r7
- mov r2, r6
- orr r3, r3, #0x84000000
- bl MIi_DmaSetParams
- ldmia sp!, {r4-r8, lr}
- bx lr
-
- arm_func_start MI_DmaFill32Async
-MI_DmaFill32Async: ; 0x020CDB34
- stmdb sp!, {r4-r8,lr}
- movs r4, r3
- mov r7, r0
- mov r6, r1
- mov r5, r2
- ldr r8, [sp, #0x18]
- bne _020CDB6C
- cmp r8, #0x0
- ldmeqia sp!, {r4-r8,lr}
- bxeq lr
- ldr r0, [sp, #0x1c]
- blx r8
- ldmia sp!, {r4-r8,lr}
- bx lr
-_020CDB6C:
- bl MI_WaitDma
-_020CDB70:
- cmp r8, #0x0
- beq _020CDBC8
- ldr r2, [sp, #0x1C]
- mov r0, r7
- mov r1, r8
- bl OSi_EnterDmaCallback
- bl OS_DisableInterrupts
- mov r3, r4, lsr #2
- ldr r1, _20CDC08
- mov r2, r7, lsl #2
- add r2, r2, #0x4000000
- str r5, [r2, #0xE0]
- mov r4, r0
- add r1, r1, r7, lsl #0x2
- mov r0, r7
- mov r2, r6
- orr r3, r3, #0xc5000000
- bl MIi_DmaSetParams_noInt
- mov r0, r4
- bl OS_RestoreInterrupts
- ldmia sp!, {r4-r8,lr}
- bx lr
-_020CDBC8:
- bl OS_DisableInterrupts
- ldr r1, _20CDC08
- mov r2, r7, lsl #0x2
- mov r3, r4, lsr #0x2
- mov r4, r0
- add ip, r2, #0x4000000
- mov r0, r7
- mov r2, r6
- add r1, r1, r7, lsl #0x2
- orr r3, r3, #0x85000000
- str r5, [ip, #0xE0]
- bl MIi_DmaSetParams_noInt
- mov r0, r4
- bl OS_RestoreInterrupts
- ldmia sp!, {r4-r8,lr}
- bx lr
-_20CDC08: .word 0x040000E0
-
- arm_func_start MI_DmaCopy16
-MI_DmaCopy16: ; 0x020CDC0C
- stmdb sp!, {r4-r8,lr}
- movs r5, r3
- mov r8, r0
- mov r7, r1
- mov r6, r2
- ldmeqia sp!, {r4-r8,lr}
- bxeq lr
- mov r2, r5
- mov r3, #0x0
- bl MIi_CheckDma0SourceAddress
- mov r0, #0x3
- mul r1, r8, r0
- ldr r0, _020CDC80 ; =0x040000B0
- add r1, r1, #0x2
- add r4, r0, r1, lsl #0x2
-_020CDC48:
- ldr r0, [r4, #0x0]
- ands r0, r0, #0x80000000
- bne _020CDC48
- mov r3, r5, lsr #0x1
- mov r0, r8
- mov r1, r7
- mov r2, r6
- orr r3, r3, #0x80000000
- bl MIi_DmaSetParams_wait
-_020CDC6C:
- ldr r0, [r4]
- ands r0, r0, #0x80000000
- bne _020CDC6C
- ldmia sp!, {r4-r8,lr}
- bx lr
-_020CDC80: .word 0x040000B0
-
- arm_func_start MI_DmaCopy32
-MI_DmaCopy32: ; 0x020CDC84
- stmdb sp!, {r4-r8,lr}
- mov r5, r3
- mov r6, r2
- mov r2, r5
- mov r3, #0x0
- mov r8, r0
- mov r7, r1
- bl MIi_CheckDma0SourceAddress
-_020CDCA4:
- cmp r5, #0x0
- ldmeqia sp!, {r4-r8,lr}
- bxeq lr
- mov r0, #0x3
- mul r1, r8, r0
- ldr r0, _020CDCFC
- add r1, r1, #0x2
- add r4, r0, r1, lsl #0x2
-_020CDCC4:
- ldr r0, [r4]
- ands r0, r0, #0x80000000
- bne _020CDCC4
- mov r3, r5, lsr #0x2
- mov r0, r8
- mov r1, r7
- mov r2, r6
- orr r3, r3, #0x84000000
- bl MIi_DmaSetParams_wait
-_020CDCE8:
- ldr r0, [r4]
- ands r0, r0, #0x80000000
- bne _020CDCE8
- ldmia sp!, {r4-r8,lr}
- bx lr
-_020CDCFC: .word 0x040000B0
-
- arm_func_start MI_DmaFill32
-MI_DmaFill32: ; 0x020CDD00
- stmdb sp!, {r4-r8,lr}
- movs r4, r3
- mov r8, r0
- mov r7, r1
- mov r6, r2
- ldmeqia sp!, {r4-r8,lr}
- bxeq lr
- mov r0, #0x3
- mul r1, r8, r0
- ldr r0, _020CDD88 ; =0x040000B0
- add r1, r1, #0x2
- add r5, r0, r1, lsl #0x2
-_020CDD30:
- ldr r0, [r5, #0x0]
- ands r0, r0, #0x80000000
- bne _020CDD30
- bl OS_DisableInterrupts
- ldr r1, _020CDD8C ; =0x040000E0
- mov r2, r8, lsl #0x2
- mov r3, r4, lsr #0x2
- mov r4, r0
- add r12, r2, #0x4000000
- mov r0, r8
- mov r2, r7
- add r1, r1, r8, lsl #0x2
- orr r3, r3, #0x85000000
- str r6, [r12, #0xe0]
- bl MIi_DmaSetParams_wait_noInt
- mov r0, r4
- bl OS_RestoreInterrupts
-_020CDD74:
- ldr r0, [r5]
- ands r0, r0, #0x80000000
- bne _020CDD74
- ldmia sp!, {r4-r8,lr}
- bx lr
-_020CDD88: .word 0x040000B0
-_020CDD8C: .word 0x040000E0
-
- arm_func_start MI_HBlankDmaCopy16
-MI_HBlankDmaCopy16: ; 0x020CDD90
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- mov r6, r1
- mov r7, r0
- mov r4, r3
- mov r1, #0x10000000
- mov r5, r2
- bl MIi_CheckAnotherAutoDMA
- mov r0, r7
- mov r1, r6
- mov r2, r4
- mov r3, #0x0
- bl MIi_CheckDma0SourceAddress
-_020CDDC4:
- cmp r4, #0x0
- addeq sp, sp, #0x4
- ldmeqia sp!, {r4-r7, lr}
- bxeq lr
- mov r0, r7
- bl MI_WaitDma
- ldr r3, _020CDE00
- mov r0, r7
- mov r1, r6
- mov r2, r5
- orr r3, r3, r4, lsr #0x1
- bl MIi_DmaSetParams
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,lr}
- bx lr
-_020CDE00: .word 0x92600000
-
- arm_func_start MI_HBlankDmaCopy32
-MI_HBlankDmaCopy32: ; 0x020CDE04
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- mov r6, r1
- mov r7, r0
- mov r4, r3
- mov r1, #0x10000000
- mov r5, r2
- bl MIi_CheckAnotherAutoDMA
- mov r0, r7
- mov r1, r6
- mov r2, r4
- mov r3, #0x0
- bl MIi_CheckDma0SourceAddress
-_020CDE38:
- cmp r4, #0x0
- addeq sp, sp, #0x4
- ldmeqia sp!, {r4-r7,lr}
- bxeq lr
- mov r0, r7
- bl MI_WaitDma
- ldr r3, _020CDE74
- mov r0, r7
- mov r1, r6
- mov r2, r5
- orr r3, r3, r4, lsr #0x2
- bl MIi_DmaSetParams
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,lr}
- bx lr
-_020CDE74: .word 0x96600000
-
- arm_func_start MIi_DMAFastCallback
-MIi_DMAFastCallback: ; 0x020CDE78
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r0, _020CDEB4 ; =0x021D37FC
- mov r2, #0x0
- ldr r1, [r0, #0x10]
- str r2, [r0, #0x0]
- cmp r1, #0x0
- addeq sp, sp, #0x4
- ldr r0, [r0, #0x14]
- ldmeqia sp!, {lr}
- bxeq lr
- blx r1
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020CDEB4: .word 0x021D37FC
-
- arm_func_start MI_SendGXCommandAsyncFast
-MI_SendGXCommandAsyncFast: ; 0x020CDEB8
- stmdb sp!, {r4-r6,lr}
- movs r4, r2
- mov r6, r0
- mov r5, r1
- bne _020CDEE8
- cmp r3, #0x0
- ldmeqia sp!, {r4-r6,lr}
- bxeq lr
- ldr r0, [sp, #0x10]
- blx r3
- ldmia sp!, {r4-r6,lr}
- bx lr
-_020CDEE8:
- ldr r2, _020CDF6C ; =0x021D37FC
- ldr r0, [r2, #0x0]
- cmp r0, #0x0
- bne _020CDEE8
- ldr r12, [sp, #0x10]
- mov lr, #0x1
- mov r0, r6
- mov r1, #0x38000000
- str lr, [r2, #0x0]
- str r6, [r2, #0x4]
- str r3, [r2, #0x10]
- str r12, [r2, #0x14]
- bl MIi_CheckAnotherAutoDMA
- mov r0, r6
- mov r1, r5
- mov r2, r4
- mov r3, #0x0
- bl MIi_CheckDma0SourceAddress
- mov r0, r6
- bl MI_WaitDma
- mov r0, r6
- ldr r1, _020CDF70 ; =MIi_DMAFastCallback
- mov r2, #0x0
- bl OSi_EnterDmaCallback
- mov r0, r6
- mov r1, r5
- ldr r2, _020CDF74 ; =0x04000400
- mov r3, #0x3c00000
- rsb r3, r3, #0x0
- orr r3, r3, r4, lsr #0x2
- bl MIi_DmaSetParams
- ldmia sp!, {r4-r6,lr}
- bx lr
- .balign 4
-_020CDF6C: .word 0x021D37FC
-_020CDF70: .word MIi_DMAFastCallback
-_020CDF74: .word 0x04000400
-
- arm_func_start MIi_DMACallback
-MIi_DMACallback: ; 0x020CDF78
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- mov r0, #0x200000
- bl OS_DisableIrqMask
- ldr r2, _020CDFE4 ; =0x04000600
- ldr r0, _020CDFE8 ; =0x021D37FC
- ldr r1, [r2, #0x0]
- ldr r3, [r0, #0x18]
- bic r1, r1, #0xc0000000
- orr r1, r1, r3, lsl #0x1e
- str r1, [r2, #0x0]
- ldr r1, [r0, #0x1c]
- mov r0, #0x200000
- bl OS_SetIrqFunction
- ldr r0, _020CDFE8 ; =0x021D37FC
- mov r2, #0x0
- ldr r1, [r0, #0x10]
- str r2, [r0, #0x0]
- cmp r1, #0x0
- addeq sp, sp, #0x4
- ldr r0, [r0, #0x14]
- ldmeqia sp!, {lr}
- bxeq lr
- blx r1
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020CDFE4: .word 0x04000600
-_020CDFE8: .word 0x021D37FC
-
- arm_func_start MIi_FIFOCallback
-MIi_FIFOCallback: ; 0x020CDFEC
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- ldr r0, _020CE0A4 ; =0x021D37FC
- ldr r4, [r0, #0xc]
- cmp r4, #0x0
- addeq sp, sp, #0x4
- ldmeqia sp!, {r4-r5,lr}
- bxeq lr
- ldr r0, _020CE0A4 ; =0x021D37FC
- cmp r4, #0x1d8
- ldr r5, [r0, #0x8]
- movcs r4, #0x1d8
- ldr r2, [r0, #0xc]
- add r1, r5, r4
- subs r2, r2, r4
- str r2, [r0, #0xc]
- str r1, [r0, #0x8]
- bne _020CE078
- ldr r0, [r0, #0x4]
- ldr r1, _020CE0A8 ; =MIi_DMACallback
- mov r2, #0x0
- bl OSi_EnterDmaCallback
- mov r0, #0x3bc00000
- rsb r3, r0, #0x0
- ldr r1, _020CE0A4 ; =0x021D37FC
- ldr r2, _020CE0AC ; =0x04000400
- ldr r0, [r1, #0x4]
- mov r1, r5
- orr r3, r3, r4, lsr #0x2
- bl MIi_DmaSetParams
- mov r0, #0x200000
- bl OS_ResetRequestIrqMask
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
-_020CE078:
- ldr r3, _020CE0B0 ; =0x84400000
- ldr r0, [r0, #0x4]
- ldr r2, _020CE0AC ; =0x04000400
- mov r1, r5
- orr r3, r3, r4, lsr #0x2
- bl MIi_DmaSetParams
- mov r0, #0x200000
- bl OS_ResetRequestIrqMask
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
- .balign 4
-_020CE0A4: .word 0x021D37FC
-_020CE0A8: .word MIi_DMACallback
-_020CE0AC: .word 0x04000400
-_020CE0B0: .word 0x84400000
-
- arm_func_start MI_SendGXCommandAsync
-MI_SendGXCommandAsync: ; 0x020CE0B4
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r4, r0
- cmp r2, #0x0
- bne _020CE0EC
- cmp r3, #0x0
- addeq sp, sp, #0x4
- ldmeqia sp!, {r4-r5,lr}
- bxeq lr
- ldr r0, [sp, #0x10]
- blx r3
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
-_020CE0EC:
- ldr r0, _020CE1BC ; =0x021D37FC
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- bne _020CE0EC
- ldr r5, _020CE1C0 ; =0x04000600
-_020CE100:
- ldr r0, [r5, #0x0]
- and r0, r0, #0x7000000
- mov r0, r0, lsr #0x18
- ands r0, r0, #0x2
- beq _020CE100
- ldr ip, _020CE1BC ; =0x021D37FC
- ldr lr, [sp, #0x10]
- str r3, [r12, #0x10]
- mov r5, #0x1
- mov r0, r4
- mov r3, #0x0
- str r5, [r12, #0x0]
- str r4, [r12, #0x4]
- str r1, [r12, #0x8]
- str r2, [r12, #0xc]
- str lr, [r12, #0x14]
- bl MIi_CheckDma0SourceAddress
- mov r0, r4
- bl MI_WaitDma
- bl OS_DisableInterrupts
- ldr r1, _020CE1C0 ; =0x04000600
- mov r4, r0
- ldr r0, [r1, #0x0]
- ldr r1, _020CE1BC ; =0x021D37FC
- and r0, r0, #0xc0000000
- mov r2, r0, lsr #0x1e
- mov r0, #0x200000
- str r2, [r1, #0x18]
- bl OS_GetIrqFunction
- ldr r1, _020CE1BC ; =0x021D37FC
- ldr r2, _020CE1C0 ; =0x04000600
- str r0, [r1, #0x1c]
- ldr r0, [r2, #0x0]
- ldr r1, _020CE1C4 ; =MIi_FIFOCallback
- bic r0, r0, #0xc0000000
- orr r3, r0, #0x40000000
- mov r0, #0x200000
- str r3, [r2, #0x0]
- bl OS_SetIrqFunction
- mov r0, #0x200000
- bl OS_EnableIrqMask
- bl MIi_FIFOCallback
- mov r0, r4
- bl OS_RestoreInterrupts
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
- .balign 4
-_020CE1BC: .word 0x021D37FC
-_020CE1C0: .word 0x04000600
-_020CE1C4: .word MIi_FIFOCallback
-
- arm_func_start MIi_CpuClear16
-MIi_CpuClear16: ; 0x020CE1C8
- mov r3, #0x0
-_020CE1CC:
- cmp r3, r2
- strlth r0, [r1, r3]
- addlt r3, r3, #0x2
- blt _020CE1CC
- bx lr
-
- arm_func_start MIi_CpuCopy16
-MIi_CpuCopy16: ; 0x020CE1E0
- mov r12, #0x0
-_020CE1E4:
- cmp r12, r2
- ldrlth r3, [r0, r12]
- strlth r3, [r1, r12]
- addlt r12, r12, #0x2
- blt _020CE1E4
- bx lr
-
- arm_func_start MIi_CpuClear32
-MIi_CpuClear32: ; 0x020CE1FC
- add r12, r1, r2
-_020CE200:
- cmp r1, r12
- stmltia r1!, {r0}
- blt _020CE200
- bx lr
-
- arm_func_start MIi_CpuCopy32
-MIi_CpuCopy32: ; 0x020CE210
- add r12, r1, r2
-_020CE214:
- cmp r1, r12
- ldmltia r0!, {r2}
- stmltia r1!, {r2}
- blt _020CE214
- bx lr
-
- arm_func_start MIi_CpuSend32
-MIi_CpuSend32: ; 0x020CE228
- add r12, r0, r2
-_020CE22C:
- cmp r0, r12
- ldmltia r0!, {r2}
- strlt r2, [r1, #0x0]
- blt _020CE22C
- bx lr
-
- arm_func_start MIi_CpuClearFast
-MIi_CpuClearFast: ; 0x020CE240
- stmdb sp!, {r4-r9}
- add r9, r1, r2
- mov r12, r2, lsr #0x5
- add r12, r1, r12, lsl #0x5
- mov r2, r0
- mov r3, r2
- mov r4, r2
- mov r5, r2
- mov r6, r2
- mov r7, r2
- mov r8, r2
-_020CE26C:
- cmp r1, r12
- stmltia r1!, {r0,r2-r8}
- blt _020CE26C
-_020CE278:
- cmp r1, r9
- stmltia r1!, {r0}
- blt _020CE278
- ldmia sp!, {r4-r9}
- bx lr
-
- arm_func_start MIi_CpuCopyFast
-MIi_CpuCopyFast: ; 0x020CE28C
- stmdb sp!, {r4-r10}
- add r10, r1, r2
- mov r12, r2, lsr #0x5
- add r12, r1, r12, lsl #0x5
-_020CE29C:
- cmp r1, r12
- ldmltia r0!, {r2-r9}
- stmltia r1!, {r2-r9}
- blt _020CE29C
-_020CE2AC:
- cmp r1, r10
- ldmltia r0!, {r2}
- stmltia r1!, {r2}
- blt _020CE2AC
- ldmia sp!, {r4-r10}
- bx lr
-
- arm_func_start FUN_020CE2C4
-FUN_020CE2C4:
- ldmia r0!, {r2, r3, ip}
- stmia r1!, {r2, r3, ip}
- ldmia r0!, {r2, r3, ip}
- stmia r1!, {r2, r3, ip}
- ldmia r0!, {r2, r3}
- stmia r1!, {r2, r3}
- bx lr
-
- arm_func_start MI_Copy36B
-MI_Copy36B: ; 0x020CE2E0
- ldmia r0!, {r2-r3,r12}
- stmia r1!, {r2-r3,r12}
- ldmia r0!, {r2-r3,r12}
- stmia r1!, {r2-r3,r12}
- ldmia r0!, {r2-r3,r12}
- stmia r1!, {r2-r3,r12}
- bx lr
-
- arm_func_start MI_Copy48B
-MI_Copy48B: ; 0x020CE2FC
- ldmia r0!, {r2-r3,r12}
- stmia r1!, {r2-r3,r12}
- ldmia r0!, {r2-r3,r12}
- stmia r1!, {r2-r3,r12}
- ldmia r0!, {r2-r3,r12}
- stmia r1!, {r2-r3,r12}
- ldmia r0!, {r2-r3,r12}
- stmia r1!, {r2-r3,r12}
- bx lr
-
- arm_func_start MI_Copy64B
-MI_Copy64B: ; 0x020CE320
- ldmia r0!, {r2-r3,r12}
- stmia r1!, {r2-r3,r12}
- ldmia r0!, {r2-r3,r12}
- stmia r1!, {r2-r3,r12}
- ldmia r0!, {r2-r3,r12}
- stmia r1!, {r2-r3,r12}
- ldmia r0!, {r2-r3,r12}
- stmia r1!, {r2-r3,r12}
- ldmia r0, {r0,r2-r3,r12}
- stmia r1!, {r0,r2-r3,r12}
- bx lr
-
- arm_func_start MI_CpuFill8
-MI_CpuFill8: ; 0x020CE34C
- cmp r2, #0x0
- bxeq lr
- tst r0, #0x1
- beq _020CE378
- ldrh r12, [r0, #-0x1]
- and r12, r12, #0xff
- orr r3, r12, r1, lsl #0x8
- strh r3, [r0, #-0x1]
- add r0, r0, #0x1
- subs r2, r2, #0x1
- bxeq lr
-_020CE378:
- cmp r2, #0x2
- blo _020CE3C0
- orr r1, r1, r1, lsl #0x8
- tst r0, #0x2
- beq _020CE398
- strh r1, [r0], #0x2
- subs r2, r2, #0x2
- bxeq lr
-_020CE398:
- orr r1, r1, r1, lsl #0x10
- bics r3, r2, #0x3
- beq _020CE3B8
- sub r2, r2, r3
- add r12, r3, r0
-_020CE3AC:
- str r1, [r0], #0x4
- cmp r0, r12
- blo _020CE3AC
-_020CE3B8:
- tst r2, #0x2
- strneh r1, [r0], #0x2
-_020CE3C0:
- tst r2, #0x1
- bxeq lr
- ldrh r3, [r0, #0x0]
- and r3, r3, #0xff00
- and r1, r1, #0xff
- orr r1, r1, r3
- strh r1, [r0, #0x0]
- bx lr
-
- arm_func_start MI_CpuCopy8
-MI_CpuCopy8:
- cmp r2, #0x0
- bxeq lr
- tst r1, #0x1
- beq _020CE420
- ldrh r12, [r1, #-0x1]
- and r12, r12, #0xff
- tst r0, #0x1
- ldrneh r3, [r0, #-0x1]
- movne r3, r3, lsr #0x8
- ldreqh r3, [r0, #0x0]
- orr r3, r12, r3, lsl #0x8
- strh r3, [r1, #-0x1]
- add r0, r0, #0x1
- add r1, r1, #0x1
- subs r2, r2, #0x1
- bxeq lr
-_020CE420:
- eor r12, r1, r0
- tst r12, #0x1
- beq _020CE474
- bic r0, r0, #0x1
- ldrh r12, [r0], #0x2
- mov r3, r12, lsr #0x8
- subs r2, r2, #0x2
- blo _020CE458
-_020CE440:
- ldrh r12, [r0], #0x2
- orr r12, r3, r12, lsl #0x8
- strh r12, [r1], #0x2
- mov r3, r12, lsr #0x10
- subs r2, r2, #0x2
- bhs _020CE440
-_020CE458:
- tst r2, #0x1
- bxeq lr
- ldrh r12, [r1, #0x0]
- and r12, r12, #0xff00
- orr r12, r12, r3
- strh r12, [r1, #0x0]
- bx lr
-_020CE474:
- tst r12, #0x2
- beq _020CE4A0
- bics r3, r2, #0x1
- beq _020CE4EC
- sub r2, r2, r3
- add r12, r3, r1
-_020CE48C:
- ldrh r3, [r0], #0x2
- strh r3, [r1], #0x2
- cmp r1, r12
- blo _020CE48C
- b _020CE4EC
-_020CE4A0:
- cmp r2, #0x2
- blo _020CE4EC
- tst r1, #0x2
- beq _020CE4C0
- ldrh r3, [r0], #0x2
- strh r3, [r1], #0x2
- subs r2, r2, #0x2
- bxeq lr
-_020CE4C0:
- bics r3, r2, #0x3
- beq _020CE4E0
- sub r2, r2, r3
- add r12, r3, r1
-_020CE4D0:
- ldr r3, [r0], #0x4
- str r3, [r1], #0x4
- cmp r1, r12
- blo _020CE4D0
-_020CE4E0:
- tst r2, #0x2
- ldrneh r3, [r0], #0x2
- strneh r3, [r1], #0x2
-_020CE4EC:
- tst r2, #0x1
- bxeq lr
- ldrh r2, [r1, #0x0]
- ldrh r0, [r0, #0x0]
- and r2, r2, #0xff00
- and r0, r0, #0xff
- orr r0, r2, r0
- strh r0, [r1, #0x0]
- bx lr
-
- thumb_func_start MI_Zero36B
-MI_Zero36B: ; 0x020CE510
- mov r1, #0x0
- mov r2, #0x0
- mov r3, #0x0
- stmia r0!, {r1-r3}
- stmia r0!, {r1-r3}
- stmia r0!, {r1-r3}
- bx lr
-
- arm_func_start MI_SwapWord
-MI_SwapWord: ; 0x020CE520
- swp r0, r0, [r1]
- bx lr
-
- arm_func_start MI_UncompressLZ8
-MI_UncompressLZ8: ; 0x020CE528
- stmdb sp!, {r4-r6,lr}
- ldr r5, [r0], #0x4
- mov r2, r5, lsr #0x8
-_020CE534:
- cmp r2, #0x0
- ble _020CE5B4
- ldrb lr, [r0], #0x1
- mov r4, #0x8
-_020CE544:
- subs r4, r4, #0x1
- blt _020CE534
- tst lr, #0x80
- bne _020CE568
- ldrb r6, [r0], #0x1
- .word 0xE1416096
- add r1, r1, #0x1
- sub r2, r2, #0x1
- b _020CE5A4
-_020CE568:
- ldrb r5, [r0, #0x0]
- mov r6, #0x3
- add r3, r6, r5, asr #0x4
- ldrb r6, [r0], #0x1
- and r5, r6, #0xf
- mov r12, r5, lsl #0x8
- ldrb r6, [r0], #0x1
- orr r5, r6, r12
- add r12, r5, #0x1
- sub r2, r2, r3
-_020CE590:
- ldrb r5, [r1, -r12]
- .word 0xE1415095
- add r1, r1, #0x1
- subs r3, r3, #0x1
- bgt _020CE590
-_020CE5A4:
- cmp r2, #0x0
- movgt lr, lr, lsl #0x1
- bgt _020CE544
- b _020CE534
-_020CE5B4:
- ldmia sp!, {r4-r6,lr}
- bx lr
-
- arm_func_start MIi_CardDmaCopy32
-MIi_CardDmaCopy32: ; 0x020CE5BC
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- mov r5, r1
- mov r6, r0
- mov r7, r3
- mvn r1, #0x0
- mov r4, r2
- bl MIi_CheckAnotherAutoDMA
- mov r0, r6
- mov r1, r5
- mov r2, r7
- mov r3, #0x1000000
- bl MIi_CheckDma0SourceAddress
-_020CE5F0:
- cmp r7, #0x0
- addeq sp, sp, #0x4
- ldmeqia sp!, {r4-r7, lr}
- bxeq lr
- mov r0, #0x3
- mul r1, r6, r0
- ldr r0, _020CE640
- add r1, r1, #0x2
- add r1, r0, r1, lsl #0x2
-_020CE614:
- ldr r0, [r1]
- ands r0, r0, #0x80000000
- bne _020CE614
- ldr r3, _020CE644
- mov r0, r6
- mov r1, r5
- mov r2, r4
- bl MIi_DmaSetParams
- add sp, sp, #0x4
- ldmia sp!, {r4-r7, lr}
- bx lr
-_020CE640: .word 0x040000B0
-_020CE644: .word 0xAf000001
-
- arm_func_start MI_Init
-MI_Init: ; 0x020CE648
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- mov r0, #0x3
- bl MI_SetWramBank
- mov r0, #0x0
- bl MI_StopDma
- add sp, sp, #0x4
- ldmfd sp!, {lr}
- bx lr
-
diff --git a/asm/OS_arm9.s b/asm/OS_arm9.s
deleted file mode 100644
index 1323e376..00000000
--- a/asm/OS_arm9.s
+++ /dev/null
@@ -1,4759 +0,0 @@
- .include "asm/macros.inc"
- .include "global.inc"
- .extern isInitialized
-
- .section .dtcm
- .balign 16, 0
- .global OS_IRQTable
-OS_IRQTable: ; 027E0000 ;10b6a0
- .word OS_IrqDummy
- .word OS_IrqDummy
- .word OS_IrqDummy
- .word OSi_IrqTimer0
- .word OSi_IrqTimer1
- .word OSi_IrqTimer2
- .word OSi_IrqTimer3
- .word OS_IrqDummy
- .word OSi_IrqDma0
- .word OSi_IrqDma1
- .word OSi_IrqDma2
- .word OSi_IrqDma3
- .word OS_IrqDummy
- .word OS_IrqDummy
- .word OS_IrqDummy
- .word OS_IrqDummy
- .word OS_IrqDummy
- .word OS_IrqDummy
- .word OS_IrqDummy
- .word OS_IrqDummy
- .word OS_IrqDummy
- .word OS_IrqDummy
- .balign 16, 0
-
- .global OSi_IrqThreadQueue
-OSi_IrqThreadQueue: ; 027E0060
-
- .section .text
-
- arm_func_start OS_WaitIrq
-OS_WaitIrq:
- stmdb sp!, {r4-r6,lr}
- mov r5, r0
- mov r4, r1
- bl OS_DisableInterrupts
- cmp r5, #0x0
- beq _020C9C3C
- ldr r1, _020C9C80 ; =0x027E0000
- mvn r2, r4
- add r1, r1, #0x3000
- ldr r3, [r1, #0xff8]
- and r2, r3, r2
- str r2, [r1, #0xff8]
-_020C9C3C:
- bl OS_RestoreInterrupts
- ldr r1, _020C9C80 ; =0x027E0000
- add r0, r1, #0x3000
- ldr r0, [r0, #0xff8]
- ands r0, r4, r0
- ldmneia sp!, {r4-r6,lr}
- bxne lr
- ldr r0, _020C9C84 ; =0x00003FF8
- add r6, r1, r0
- ldr r5, _020C9C88 ; =0x027E0060
-_020C9C64:
- mov r0, r5
- bl OS_SleepThread
- ldr r0, [r6, #0x0]
- ands r0, r4, r0
- beq _020C9C64
- ldmia sp!, {r4-r6,lr}
- bx lr
- .balign 4
-_020C9C80: .word 0x027E0000
-_020C9C84: .word 0x00003FF8
-_020C9C88: .word 0x027E0060
-
- arm_func_start OSi_IrqTimer3
-OSi_IrqTimer3: ; 0x020C9C8C
- ldr ip, _020C9C98 ; =OSi_IrqCallback
- mov r0, #0x7
- bx r12
- .balign 4
-_020C9C98: .word OSi_IrqCallback
-
- arm_func_start OSi_IrqTimer2
-OSi_IrqTimer2: ; 0x020C9C9C
- ldr ip, _020C9CA8 ; =OSi_IrqCallback
- mov r0, #0x6
- bx r12
- .balign 4
-_020C9CA8: .word OSi_IrqCallback
-
- arm_func_start OSi_IrqTimer1
-OSi_IrqTimer1: ; 0x020C9CAC
- ldr ip, _020C9CB8 ; =OSi_IrqCallback
- mov r0, #0x5
- bx r12
- .balign 4
-_020C9CB8: .word OSi_IrqCallback
-
- arm_func_start OSi_IrqTimer0
-OSi_IrqTimer0: ; 0x020C9CBC
- ldr ip, _020C9CC8 ; =OSi_IrqCallback
- mov r0, #0x4
- bx r12
- .balign 4
-_020C9CC8: .word OSi_IrqCallback
-
- arm_func_start OSi_IrqDma3
-OSi_IrqDma3: ; 0x020C9CCC
- ldr ip, _020C9CD8 ; =OSi_IrqCallback
- mov r0, #0x3
- bx r12
- .balign 4
-_020C9CD8: .word OSi_IrqCallback
-
- arm_func_start OSi_IrqDma2
-OSi_IrqDma2: ; 0x020C9CDC
- ldr ip, _020C9CE8 ; =OSi_IrqCallback
- mov r0, #0x2
- bx r12
- .balign 4
-_020C9CE8: .word OSi_IrqCallback
-
- arm_func_start OSi_IrqDma1
-OSi_IrqDma1: ; 0x020C9CEC
- ldr ip, _020C9CF8 ; =OSi_IrqCallback
- mov r0, #0x1
- bx r12
- .balign 4
-_020C9CF8: .word OSi_IrqCallback
-
- arm_func_start OSi_IrqDma0
-OSi_IrqDma0: ; 0x020C9CFC
- ldr ip, _020C9D08 ; =OSi_IrqCallback
- mov r0, #0x0
- bx r12
- .balign 4
-_020C9D08: .word OSi_IrqCallback
-
- arm_func_start OSi_IrqCallback
-OSi_IrqCallback: ; 0x020C9D0C
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r1, #0xc
- mul r4, r0, r1
- ldr r2, _020C9D94 ; =OSi_IrqCallbackInfo
- ldr r3, _020C9D98 ; =0x02106818
- mov r0, r0, lsl #0x1
- ldr r1, [r2, r4]
- ldrh r3, [r3, r0]
- mov r5, #0x1
- mov r0, #0x0
- str r0, [r2, r4]
- cmp r1, #0x0
- mov r5, r5, lsl r3
- beq _020C9D54
- ldr r0, _020C9D9C ; =0x021D3424
- ldr r0, [r0, r4]
- blx r1
-_020C9D54:
- ldr r0, _020C9DA0 ; =0x027E0000
- ldr r1, _020C9DA4 ; =0x021D3420
- add r0, r0, #0x3000
- ldr r2, [r0, #0xff8]
- orr r2, r2, r5
- str r2, [r0, #0xff8]
- ldr r0, [r1, r4]
- cmp r0, #0x0
- addne sp, sp, #0x4
- ldmneia sp!, {r4-r5,lr}
- bxne lr
- mov r0, r5
- bl OS_DisableIrqMask
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
- .balign 4
-_020C9D94: .word OSi_IrqCallbackInfo
-_020C9D98: .word OSi_IrqCallbackInfoIndex
-_020C9D9C: .word OSi_IrqCallbackInfo + 8
-_020C9DA0: .word SDK_AUTOLOAD_DTCM_START
-_020C9DA4: .word OSi_IrqCallbackInfo + 4
-
- arm_func_start OS_IrqDummy
-OS_IrqDummy: ; 0x020C9DA8
- bx lr
-
- arm_func_start OS_SetIrqStackChecker
-OS_SetIrqStackChecker: ; 0x020C9DAC
- ldr ip, _020C9DD0 ; =0x027E0000
- ldr r3, _020C9DD4 ; =0xFDDB597D
- add r0, r12, #0x3000
- ldr r2, _020C9DD8 ; =0x7BF9DD5B
- ldr r1, _020C9DDC ; =0x00000400
- str r3, [r0, #0xf7c]
- add r0, r12, #0x3f80
- str r2, [r0, -r1]
- bx lr
- .balign 4
-_020C9DD0: .word 0x027E0000
-_020C9DD4: .word 0xFDDB597D
-_020C9DD8: .word 0x7BF9DD5B
-_020C9DDC: .word 0x00000400
-
- arm_func_start OS_ResetRequestIrqMask
-OS_ResetRequestIrqMask: ; 0x020C9DE0
- ldr ip, _020C9E0C ; =0x04000208
- mov r1, #0x0
- ldrh r3, [r12, #0x0]
- ldr r2, _020C9E10 ; =0x04000214
- strh r1, [r12, #0x0]
- ldr r1, [r2, #0x0]
- str r0, [r2, #0x0]
- ldrh r0, [r12, #0x0]
- mov r0, r1
- strh r3, [r12, #0x0]
- bx lr
- .balign 4
-_020C9E0C: .word 0x04000208
-_020C9E10: .word 0x04000214
-
- arm_func_start OS_DisableIrqMask
-OS_DisableIrqMask: ; 0x020C9E14
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr lr, _020C9E54 ; =0x04000208
- mov r3, #0x0
- ldrh r12, [lr, #0x0]
- ldr r2, _020C9E58 ; =0x04000210
- mvn r1, r0
- strh r3, [lr, #0x0]
- ldr r0, [r2, #0x0]
- and r1, r0, r1
- str r1, [r2, #0x0]
- ldrh r1, [lr, #0x0]
- strh r12, [lr, #0x0]
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020C9E54: .word 0x04000208
-_020C9E58: .word 0x04000210
-
- arm_func_start OS_EnableIrqMask
-OS_EnableIrqMask: ; 0x020C9E5C
- ldr ip, _020C9E8C ; =0x04000208
- mov r1, #0x0
- ldrh r3, [r12, #0x0]
- ldr r2, _020C9E90 ; =0x04000210
- strh r1, [r12, #0x0]
- ldr r1, [r2, #0x0]
- orr r0, r1, r0
- str r0, [r2, #0x0]
- ldrh r0, [r12, #0x0]
- mov r0, r1
- strh r3, [r12, #0x0]
- bx lr
- .balign 4
-_020C9E8C: .word 0x04000208
-_020C9E90: .word 0x04000210
-
- arm_func_start OS_SetIrqMask
-OS_SetIrqMask: ; 0x020C9E94
- ldr ip, _020C9EC0 ; =0x04000208
- mov r1, #0x0
- ldrh r3, [r12, #0x0]
- ldr r2, _020C9EC4 ; =0x04000210
- strh r1, [r12, #0x0]
- ldr r1, [r2, #0x0]
- str r0, [r2, #0x0]
- ldrh r0, [r12, #0x0]
- mov r0, r1
- strh r3, [r12, #0x0]
- bx lr
- .balign 4
-_020C9EC0: .word 0x04000208
-_020C9EC4: .word 0x04000210
-
- arm_func_start OSi_EnterTimerCallback
-OSi_EnterTimerCallback: ; 0x020C9EC8
- stmdb sp!, {r4,lr}
- mov r3, #0xc
- mul r4, r0, r3
- ldr ip, _020C9F08 ; =0x021D344C
- add r0, r0, #0x3
- mov r3, #0x1
- mov r0, r3, lsl r0
- ldr r3, _020C9F0C ; =0x021D3454
- str r1, [r12, r4]
- str r2, [r3, r4]
- bl OS_EnableIrqMask
- ldr r0, _020C9F10 ; =0x021D3450
- mov r1, #0x1
- str r1, [r0, r4]
- ldmia sp!, {r4,lr}
- bx lr
- .balign 4
-_020C9F08: .word OSi_IrqCallbackInfo+0x30
-_020C9F0C: .word OSi_IrqCallbackInfo+0x38
-_020C9F10: .word OSi_IrqCallbackInfo+0x34
-
- arm_func_start OSi_EnterDmaCallback
-OSi_EnterDmaCallback: ; 0x020C9F14
- stmdb sp!, {r4-r6,lr}
- mov r3, #0xc
- mul r6, r0, r3
- ldr ip, _020C9F54 ; =OSi_IrqCallbackInfo
- add r4, r0, #0x8
- mov r5, #0x1
- mov r0, r5, lsl r4
- ldr r3, _020C9F58 ; =0x021D3424
- str r1, [r12, r6]
- str r2, [r3, r6]
- bl OS_EnableIrqMask
- and r1, r0, r5, lsl r4
- ldr r0, _020C9F5C ; =0x021D3420
- str r1, [r0, r6]
- ldmia sp!, {r4-r6,lr}
- bx lr
- .balign 4
-_020C9F54: .word OSi_IrqCallbackInfo
-_020C9F58: .word OSi_IrqCallbackInfo + 8
-_020C9F5C: .word OSi_IrqCallbackInfo + 4
-
- arm_func_start OS_GetIrqFunction
-OS_GetIrqFunction: ; 0x020C9F60
- ldr r2, _020C9FE4 ; =0x027E0000
- mov r3, #0x0
-_020C9F68:
- ands r1, r0, #0x1
- beq _020C9FC8
- cmp r3, #0x8
- blt _020C9F98
- cmp r3, #0xb
- bgt _020C9F98
- sub r1, r3, #0x8
- mov r0, #0xc
- mul r2, r1, r0
- ldr r0, _020C9FE8 ; =OSi_IrqCallbackInfo
- ldr r0, [r0, r2]
- bx lr
-_020C9F98:
- cmp r3, #0x3
- blt _020C9FC0
- cmp r3, #0x6
- bgt _020C9FC0
- add r1, r3, #0x1
- mov r0, #0xc
- mul r2, r1, r0
- ldr r0, _020C9FE8 ; =OSi_IrqCallbackInfo
- ldr r0, [r0, r2]
- bx lr
-_020C9FC0:
- ldr r0, [r2, #0x0]
- bx lr
-_020C9FC8:
- add r3, r3, #0x1
- cmp r3, #0x16
- mov r0, r0, lsr #0x1
- add r2, r2, #0x4
- blt _020C9F68
- mov r0, #0x0
- bx lr
- .balign 4
-_020C9FE4: .word 0x027E0000
-_020C9FE8: .word OSi_IrqCallbackInfo
-
- arm_func_start OS_SetIrqFunction
-OS_SetIrqFunction: ; 0x020C9FEC
- stmdb sp!, {r4-r8,lr}
- mov r8, #0x0
- ldr lr, _020CA074 ; =0x027E0000
- ldr r5, _020CA078 ; =OSi_IrqCallbackInfo
- mov r6, r8
- mov r12, r8
- mov r3, #0x1
- mov r2, #0xc
-_020CA00C:
- ands r4, r0, #0x1
- beq _020CA05C
- mov r7, r6
- cmp r8, #0x8
- blt _020CA030
- cmp r8, #0xb
- suble r4, r8, #0x8
- mlale r7, r4, r2, r5
- ble _020CA04C
-_020CA030:
- cmp r8, #0x3
- blt _020CA048
- cmp r8, #0x6
- addle r4, r8, #0x1
- mlale r7, r4, r2, r5
- ble _020CA04C
-_020CA048:
- str r1, [lr, r8, lsl #0x2]
-_020CA04C:
- cmp r7, #0x0
- strne r1, [r7, #0x0]
- strne r12, [r7, #0x8]
- strne r3, [r7, #0x4]
-_020CA05C:
- add r8, r8, #0x1
- cmp r8, #0x16
- mov r0, r0, lsr #0x1
- blt _020CA00C
- ldmia sp!, {r4-r8,lr}
- bx lr
- .balign 4
-_020CA074: .word 0x027E0000
-_020CA078: .word OSi_IrqCallbackInfo
-
- arm_func_start OS_InitIrqTable
-OS_InitIrqTable: ; 0x020CA07C
- ldr r0, _020CA090 ; =0x027E0060
- mov r1, #0x0
- str r1, [r0, #0x4]
- str r1, [r0, #0x0]
- bx lr
- .balign 4
-_020CA090: .word 0x027E0060
-
- arm_func_start OS_UnlockCartridge
-OS_UnlockCartridge: ; 0x020CA094
- ldr r1, _020CA09C ; =OS_UnlockCartridge2
- bx r1
- .balign 4
-_020CA09C: .word OS_UnlockCartridge2
-
- arm_func_start OS_GetLockID
-OS_GetLockID: ; 0x020CA0A0
- ldr r3, _020CA0F0 ; =0x027FFFB0
- ldr r1, [r3, #0x0]
- clz r2, r1
- cmp r2, #0x20
- movne r0, #0x40
- bne _020CA0D4
- add r3, r3, #0x4
- ldr r1, [r3, #0x0]
- clz r2, r1
- cmp r2, #0x20
- ldr r0, _020CA0F4 ; =0xFFFFFFFD
- bxeq lr
- mov r0, #0x60
-_020CA0D4:
- add r0, r0, r2
- mov r1, #0x80000000
- mov r1, r1, lsr r2
- ldr r2, [r3, #0x0]
- bic r2, r2, r1
- str r2, [r3, #0x0]
- bx lr
- .balign 4
-_020CA0F0: .word 0x027FFFB0
-_020CA0F4: .word 0xFFFFFFFD
-
- arm_func_start OS_ReleaseLockID
-OS_ReleaseLockID: ; 0x020CA0F8
- ldr r3, _020CA124 ; =0x027FFFB0
- cmp r0, #0x60
- addpl r3, r3, #0x4
- subpl r0, r0, #0x60
- submi r0, r0, #0x40
- mov r1, #0x80000000
- mov r1, r1, lsr r0
- ldr r2, [r3, #0x0]
- orr r2, r2, r1
- str r2, [r3, #0x0]
- bx lr
- .balign 4
-_020CA124: .word 0x027FFFB0
-
- arm_func_start OS_ReadOwnerOfLockWord
-OS_ReadOwnerOfLockWord: ; 0x020CA128
- ldrh r0, [r0, #0x4]
- bx lr
-
- arm_func_start OSi_FreeCardBus
-OSi_FreeCardBus: ; 0x020CA130
- ldr r1, _020CA144 ; =0x04000204
- ldrh r0, [r1, #0x0]
- orr r0, r0, #0x800
- strh r0, [r1, #0x0]
- bx lr
- .balign 4
-_020CA144: .word 0x04000204
-
- arm_func_start OSi_AllocateCardBus
-OSi_AllocateCardBus: ; 0x020CA148
- ldr r1, _020CA15C ; =0x04000204
- ldrh r0, [r1, #0x0]
- bic r0, r0, #0x800
- strh r0, [r1, #0x0]
- bx lr
- .balign 4
-_020CA15C: .word 0x04000204
-
- arm_func_start OS_UnlockCard
-OS_UnlockCard: ; 0x020CA160
- ldr ip, _020CA170 ; =OS_UnlockByWord
- ldr r1, _020CA174 ; =0x027FFFE0
- ldr r2, _020CA178 ; =OSi_FreeCardBus
- bx r12
- .balign 4
-_020CA170: .word OS_UnlockByWord
-_020CA174: .word 0x027FFFE0
-_020CA178: .word OSi_FreeCardBus
-
- arm_func_start OS_TryLockCard
-OS_TryLockCard: ; 0x020CA17C
- ldr ip, _020CA18C ; =OS_TryLockByWord
- ldr r1, _020CA190 ; =0x027FFFE0
- ldr r2, _020CA194 ; =OSi_AllocateCardBus
- bx r12
- .balign 4
-_020CA18C: .word OS_TryLockByWord
-_020CA190: .word 0x027FFFE0
-_020CA194: .word OSi_AllocateCardBus
-
- arm_func_start OSi_FreeCartridgeBus
-OSi_FreeCartridgeBus: ; 0x020CA198
- ldr r1, _020CA1AC ; =0x04000204
- ldrh r0, [r1, #0x0]
- orr r0, r0, #0x80
- strh r0, [r1, #0x0]
- bx lr
- .balign 4
-_020CA1AC: .word 0x04000204
-
- arm_func_start OSi_AllocateCartridgeBus
-OSi_AllocateCartridgeBus: ; 0x020CA1B0
- ldr r1, _020CA1C4 ; =0x04000204
- ldrh r0, [r1, #0x0]
- bic r0, r0, #0x80
- strh r0, [r1, #0x0]
- bx lr
- .balign 4
-_020CA1C4: .word 0x04000204
-
- arm_func_start OS_TryLockCartridge
-OS_TryLockCartridge: ; 0x020CA1C8
- ldr ip, _020CA1DC ; =OSi_DoTryLockByWord
- ldr r1, _020CA1E0 ; =0x027FFFE8
- ldr r2, _020CA1E4 ; =OSi_AllocateCartridgeBus
- mov r3, #0x1
- bx r12
- .balign 4
-_020CA1DC: .word OSi_DoTryLockByWord
-_020CA1E0: .word 0x027FFFE8
-_020CA1E4: .word OSi_AllocateCartridgeBus
-
- arm_func_start OS_UnlockCartridge2
-OS_UnlockCartridge2: ; 0x020CA1E8
- ldr ip, _020CA1FC ; =FUN_020CA2B8
- ldr r1, _020CA200 ; =0x027FFFE8
- ldr r2, _020CA204 ; =OSi_FreeCartridgeBus
- mov r3, #0x1
- bx r12
- .balign 4
-_020CA1FC: .word FUN_020CA2B8
-_020CA200: .word 0x027FFFE8
-_020CA204: .word OSi_FreeCartridgeBus
-
- arm_func_start OS_LockCartridge
-OS_LockCartridge: ; 0x020CA208
- ldr ip, _020CA21C ; =FUN_020CA358
- ldr r1, _020CA220 ; =0x027FFFE8
- ldr r2, _020CA224 ; =OSi_AllocateCartridgeBus
- mov r3, #0x1
- bx r12
- .balign 4
-_020CA21C: .word FUN_020CA358
-_020CA220: .word 0x027FFFE8
-_020CA224: .word OSi_AllocateCartridgeBus
-
- arm_func_start OSi_DoTryLockByWord
-OSi_DoTryLockByWord:
- stmdb sp!, {r4-r9,lr}
- sub sp, sp, #0x4
- movs r6, r3
- mov r9, r0
- mov r8, r1
- mov r7, r2
- beq _020CA250
- bl OS_DisableInterrupts_IrqAndFiq
- mov r5, r0
- b _020CA258
-_020CA250:
- bl OS_DisableInterrupts
- mov r5, r0
-_020CA258:
- mov r0, r9
- mov r1, r8
- bl MI_SwapWord
- movs r4, r0
- bne _020CA27C
- cmp r7, #0x0
- beq _020CA278
- blx r7
-_020CA278:
- strh r9, [r8, #0x4]
-_020CA27C:
- cmp r6, #0x0
- beq _020CA290
- mov r0, r5
- bl OS_RestoreInterrupts_IrqAndFiq
- b _020CA298
-_020CA290:
- mov r0, r5
- bl OS_RestoreInterrupts
-_020CA298:
- mov r0, r4
- add sp, sp, #0x4
- ldmia sp!, {r4-r9,lr}
- bx lr
-
- arm_func_start OS_UnlockByWord
-OS_UnlockByWord: ; 0x020CA2A8
- ldr ip, _020CA2B4 ; =FUN_020CA2B8
- mov r3, #0x0
- bx r12
- .balign 4
-_020CA2B4: .word FUN_020CA2B8
-
- arm_func_start FUN_020CA2B8
-FUN_020CA2B8: ; 0x020CA2B8
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- mov r7, r1
- ldrh r1, [r7, #0x4]
- mov r6, r2
- mov r5, r3
- cmp r0, r1
- addne sp, sp, #0x4
- mvnne r0, #0x1
- ldmneia sp!, {r4-r7,lr}
- bxne lr
- cmp r5, #0x0
- beq _020CA2F8
- bl OS_DisableInterrupts_IrqAndFiq
- mov r4, r0
- b _020CA300
-_020CA2F8:
- bl OS_DisableInterrupts
- mov r4, r0
-_020CA300:
- mov r0, #0x0
- strh r0, [r7, #0x4]
- cmp r6, #0x0
- beq _020CA314
- blx r6
-_020CA314:
- mov r0, #0x0
- str r0, [r7, #0x0]
- cmp r5, #0x0
- beq _020CA330
- mov r0, r4
- bl OS_RestoreInterrupts_IrqAndFiq
- b _020CA338
-_020CA330:
- mov r0, r4
- bl OS_RestoreInterrupts
-_020CA338:
- mov r0, #0x0
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,lr}
- bx lr
-
- arm_func_start OS_TryLockByWord
-OS_TryLockByWord: ; 0x020CA348
- ldr ip, _020CA354 ; =FUN_020CA358
- mov r3, #0x0
- bx r12
- .balign 4
-_020CA354: .word FUN_020CA358
-
- arm_func_start FUN_020CA358
-FUN_020CA358: ; 0x020CA358
- stmdb sp!, {r4-r8,lr}
- mov r8, r0
- mov r7, r1
- mov r6, r2
- mov r5, r3
- bl OSi_DoTryLockByWord
- cmp r0, #0x0
- ldmleia sp!, {r4-r8,lr}
- bxle lr
- mov r4, #0x400
-_020CA380:
- mov r0, r4
- blx SVC_WaitByLoop
- mov r0, r8
- mov r1, r7
- mov r2, r6
- mov r3, r5
- bl OSi_DoTryLockByWord
- cmp r0, #0x0
- bgt _020CA380
- ldmia sp!, {r4-r8,lr}
- bx lr
-
- arm_func_start OS_InitLock
-OS_InitLock: ; 0x020CA3AC
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- ldr r0, _020CA484 ; =isInitialized
- ldr r1, [r0, #0x0]
- cmp r1, #0x0
- addne sp, sp, #0x4
- ldmneia sp!, {r4-r5,lr}
- bxne lr
- mov r2, #0x1
- ldr r1, _020CA488 ; =0x027FFFF0
- str r2, [r0, #0x0]
- mov r2, #0x0
- mov r0, #0x7e
- str r2, [r1, #0x0]
- bl OS_TryLockByWord
- ldr r5, _020CA488 ; =0x027FFFF0
- ldrh r0, [r5, #0x6]
- cmp r0, #0x0
- beq _020CA410
- mov r4, #0x400
-_020CA3FC:
- mov r0, r4
- blx SVC_WaitByLoop
- ldrh r0, [r5, #0x6]
- cmp r0, #0x0
- bne _020CA3FC
-_020CA410:
- ldr r2, _020CA48C ; =0x027FFFB0
- mvn r12, #0x0
- mov r0, #0x10000
- ldr r3, _020CA490 ; =0x027FFFB4
- ldr r1, _020CA494 ; =0x027FFFC0
- str r12, [r2, #0x0]
- rsb r12, r0, #0x0
- mov r0, #0x0
- mov r2, #0x28
- str r12, [r3, #0x0]
- bl MIi_CpuClear32
- ldr ip, _020CA498 ; =0x04000204
- ldr r1, _020CA488 ; =0x027FFFF0
- ldrh r3, [r12, #0x0]
- mov r0, #0x7e
- mov r2, #0x0
- orr r3, r3, #0x800
- strh r3, [r12, #0x0]
- ldrh r3, [r12, #0x0]
- orr r3, r3, #0x80
- strh r3, [r12, #0x0]
- bl OS_UnlockByWord
- ldr r1, _020CA488 ; =0x027FFFF0
- mov r0, #0x7f
- mov r2, #0x0
- bl OS_TryLockByWord
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
- .balign 4
-_020CA484: .word isInitialized
-_020CA488: .word 0x027FFFF0
-_020CA48C: .word 0x027FFFB0
-_020CA490: .word 0x027FFFB4
-_020CA494: .word 0x027FFFC0
-_020CA498: .word 0x04000204
-
- arm_func_start OS_VSNPrintf
-OS_VSNPrintf: ; 0x020CA49C
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0x64
- mov r9, r2
- str r1, [sp, #0x54]
- str r0, [sp, #0x5c]
- str r0, [sp, #0x58]
- ldrsb r0, [r9, #0x0]
- str r1, [sp, #0x0]
- mov r11, r3
- cmp r0, #0x0
- beq _020CAD18
- mov r0, #0xa
- str r0, [sp, #0xc]
- mov r0, #0x0
- str r0, [sp, #0x4]
- mov r0, #0x20
- str r0, [sp, #0x1c]
- mov r0, #0x30
- str r0, [sp, #0x20]
- mvn r0, #0x0
- str r0, [sp, #0x8]
- mov r0, #0x57
- str r0, [sp, #0x10]
- mov r0, #0x8
- str r0, [sp, #0x14]
- mov r0, #0x37
- str r0, [sp, #0x18]
- mov r0, #0x10
- str r0, [sp, #0x24]
- mov r0, #0x1
- str r0, [sp, #0x28]
- mov r0, #0x2b
- str r0, [sp, #0x34]
- mov r0, #0x2d
- str r0, [sp, #0x30]
- mov r0, #0x2
- str r0, [sp, #0x2c]
-_020CA530:
- ldrsb r1, [r9, #0x0]
- and r0, r1, #0xff
- eor r0, r0, #0x20
- sub r0, r0, #0xa1
- cmp r0, #0x3c
- bhs _020CA56C
- add r0, sp, #0x54
- bl string_put_char
- ldrsb r1, [r9, #0x1]!
- cmp r1, #0x0
- beq _020CAD0C
- add r0, sp, #0x54
- add r9, r9, #0x1
- bl string_put_char
- b _020CAD0C
-_020CA56C:
- cmp r1, #0x25
- beq _020CA584
- add r0, sp, #0x54
- add r9, r9, #0x1
- bl string_put_char
- b _020CAD0C
-_020CA584:
- ldr r6, [sp, #0x4]
- ldr r5, [sp, #0x8]
- ldr r2, [sp, #0xc]
- ldr r0, [sp, #0x10]
- mov r10, r6
- mov r3, r9
-_020CA59C:
- ldrsb r4, [r9, #0x1]!
- cmp r4, #0x20
- bgt _020CA5B4
- cmp r4, #0x20
- beq _020CA5F4
- b _020CA60C
-_020CA5B4:
- cmp r4, #0x30
- bgt _020CA60C
- cmp r4, #0x2b
- blt _020CA60C
- cmp r4, #0x2b
- beq _020CA5E0
- cmp r4, #0x2d
- beq _020CA5FC
- cmp r4, #0x30
- beq _020CA604
- b _020CA60C
-_020CA5E0:
- ldrsb r1, [r9, #-0x1]
- cmp r1, #0x20
- bne _020CA60C
- orr r6, r6, #0x2
- b _020CA59C
-_020CA5F4:
- orr r6, r6, #0x1
- b _020CA59C
-_020CA5FC:
- orr r6, r6, #0x8
- b _020CA59C
-_020CA604:
- orr r6, r6, #0x10
- b _020CA59C
-_020CA60C:
- cmp r4, #0x2a
- bne _020CA640
- add r11, r11, #0x4
- ldr r10, [r11, #-0x4]
- add r9, r9, #0x1
- cmp r10, #0x0
- rsblt r10, r10, #0x0
- orrlt r6, r6, #0x8
- b _020CA654
-_020CA630:
- ldrsb r4, [r9], #0x1
- mov r1, #0xa
- mla r1, r10, r1, r4
- sub r10, r1, #0x30
-_020CA640:
- ldrsb r1, [r9, #0x0]
- cmp r1, #0x30
- blt _020CA654
- cmp r1, #0x39
- ble _020CA630
-_020CA654:
- ldrsb r1, [r9, #0x0]
- cmp r1, #0x2e
- bne _020CA6AC
- ldrsb r1, [r9, #0x1]!
- ldr r5, [sp, #0x4]
- cmp r1, #0x2a
- bne _020CA698
- add r11, r11, #0x4
- ldr r5, [r11, #-0x4]
- add r9, r9, #0x1
- cmp r5, #0x0
- ldrlt r5, [sp, #0x8]
- b _020CA6AC
-_020CA688:
- ldrsb r4, [r9], #0x1
- mov r1, #0xa
- mla r1, r5, r1, r4
- sub r5, r1, #0x30
-_020CA698:
- ldrsb r1, [r9, #0x0]
- cmp r1, #0x30
- blt _020CA6AC
- cmp r1, #0x39
- ble _020CA688
-_020CA6AC:
- ldrsb r1, [r9, #0x0]
- cmp r1, #0x68
- beq _020CA6C4
- cmp r1, #0x6c
- beq _020CA6DC
- b _020CA6F0
-_020CA6C4:
- ldrsb r1, [r9, #0x1]!
- cmp r1, #0x68
- orrne r6, r6, #0x40
- addeq r9, r9, #0x1
- orreq r6, r6, #0x100
- b _020CA6F0
-_020CA6DC:
- ldrsb r1, [r9, #0x1]!
- cmp r1, #0x6c
- orrne r6, r6, #0x20
- addeq r9, r9, #0x1
- orreq r6, r6, #0x80
-_020CA6F0:
- ldrsb r1, [r9, #0x0]
- cmp r1, #0x69
- bgt _020CA740
- cmp r1, #0x63
- blt _020CA720
- cmp r1, #0x63
- beq _020CA7B4
- cmp r1, #0x64
- beq _020CA96C
- cmp r1, #0x69
- beq _020CA96C
- b _020CA950
-_020CA720:
- cmp r1, #0x25
- bgt _020CA734
- cmp r1, #0x25
- beq _020CA934
- b _020CA950
-_020CA734:
- cmp r1, #0x58
- beq _020CA7A0
- b _020CA950
-_020CA740:
- cmp r1, #0x6e
- bgt _020CA754
- cmp r1, #0x6e
- beq _020CA8DC
- b _020CA950
-_020CA754:
- sub r1, r1, #0x6f
- cmp r1, #0x9
- addls pc, pc, r1, lsl #0x2
- b _020CA950
-_020CA764:
- b _020CA78C
- b _020CA7A8
- b _020CA950
- b _020CA950
- b _020CA828
- b _020CA950
- b _020CA798
- b _020CA950
- b _020CA950
- b _020CA964
-_020CA78C:
- ldr r2, [sp, #0x14]
- orr r6, r6, #0x1000
- b _020CA96C
-_020CA798:
- orr r6, r6, #0x1000
- b _020CA96C
-_020CA7A0:
- ldr r0, [sp, #0x18]
- b _020CA964
-_020CA7A8:
- orr r6, r6, #0x4
- ldr r5, [sp, #0x14]
- b _020CA964
-_020CA7B4:
- cmp r5, #0x0
- bge _020CA950
- ands r0, r6, #0x8
- add r11, r11, #0x4
- ldr r4, [r11, #-0x4]
- beq _020CA7F0
- mov r0, r4, lsl #0x18
- mov r1, r0, asr #0x18
- add r0, sp, #0x54
- bl string_put_char
- ldr r1, [sp, #0x1c]
- sub r2, r10, #0x1
- add r0, sp, #0x54
- bl string_fill_char
- b _020CA820
-_020CA7F0:
- ands r0, r6, #0x10
- ldrne r0, [sp, #0x20]
- sub r2, r10, #0x1
- ldreq r0, [sp, #0x1c]
- mov r0, r0, lsl #0x18
- mov r1, r0, asr #0x18
- add r0, sp, #0x54
- bl string_fill_char
- mov r0, r4, lsl #0x18
- mov r1, r0, asr #0x18
- add r0, sp, #0x54
- bl string_put_char
-_020CA820:
- add r9, r9, #0x1
- b _020CAD0C
-_020CA828:
- add fp, fp, #0x4
- cmp r5, #0x0
- ldr r7, [sp, #0x4]
- ldr r4, [fp, #-0x4]
- bge _020CA860
- ldrsb r0, [r4]
- cmp r0, #0x0
- beq _020CA874
-_020CA848:
- add r7, r7, #0x1
- ldrsb r0, [r4, r7]
- cmp r0, #0x0
- bne _020CA848
- b _020CA874
-_020CA85C:
- add r7, r7, #0x1
-_020CA860:
- cmp r7, r5
- bge _020CA874
- ldrsb r0, [r4, r7]
- cmp r0, #0x0
- bne _020CA85C
-_020CA874:
- ands r0, r6, #0x8
- sub sl, sl, r7
- beq _020CA8A4
- mov r1, r4
- mov r2, r7
- add r0, sp, #0x54
- bl string_put_string
- ldr r1, [sp, #0x1C]
- mov r2, sl
- add r0, sp, #0x54
- bl string_fill_char
- b _020CA8D4
-_020CA8A4:
- ands r0, r6, #0x10
- ldrne r0, [sp, #0x20]
- mov r2, sl
- ldreq r0, [sp, #0x1C]
- mov r0, r0, lsl #0x18
- mov r1, r0, asr #0x18
- add r0, sp, #0x54
- bl string_fill_char
- mov r1, r4
- mov r2, r7
- add r0, sp, #0x54
- bl string_put_string
-_020CA8D4:
- add r9, r9, #0x1
- b _020CAD0C
-_020CA8DC:
- ands r0, r6, #0x100
- ldr r1, [sp, #0x58]
- ldr r0, [sp, #0x5c]
- sub r2, r1, r0
- bne _020CA92C
- ands r0, r6, #0x40
- addne r11, r11, #0x4
- ldrne r0, [r11, #-0x4]
- strneh r2, [r0, #0x0]
- bne _020CA92C
- ands r0, r6, #0x80
- addeq r11, r11, #0x4
- ldreq r0, [r11, #-0x4]
- streq r2, [r0, #0x0]
- beq _020CA92C
- add r11, r11, #0x4
- ldr r0, [r11, #-0x4]
- mov r1, r2, asr #0x1f
- str r2, [r0, #0x0]
- str r1, [r0, #0x4]
-_020CA92C:
- add r9, r9, #0x1
- b _020CAD0C
-_020CA934:
- add r0, r3, #0x1
- cmp r0, r9
- bne _020CA950
- add r0, sp, #0x54
- add r9, r9, #0x1
- bl string_put_char
- b _020CAD0C
-_020CA950:
- add r0, sp, #0x54
- mov r1, r3
- sub r2, r9, r3
- bl string_put_string
- b _020CAD0C
-_020CA964:
- ldr r2, [sp, #0x24]
- orr r6, r6, #0x1000
-_020CA96C:
- ands r1, r6, #0x8
- bicne r6, r6, #0x10
- cmp r5, #0x0
- bicge r6, r6, #0x10
- ldrlt r5, [sp, #0x28]
- ldr r7, [sp, #0x4]
- ands r1, r6, #0x1000
- beq _020CAA20
- ands r1, r6, #0x100
- addne r11, r11, #0x4
- ldrneb r4, [r11, #-0x4]
- movne r1, #0x0
- bne _020CA9D0
- ands r1, r6, #0x40
- addne r11, r11, #0x4
- ldrneh r4, [r11, #-0x4]
- movne r1, #0x0
- bne _020CA9D0
- ands r1, r6, #0x80
- addne r11, r11, #0x8
- ldrne r1, [r11, #-0x4]
- ldrne r4, [r11, #-0x8]
- addeq r11, r11, #0x4
- ldreq r4, [r11, #-0x4]
- moveq r1, #0x0
-_020CA9D0:
- bic r6, r6, #0x3
- ands r3, r6, #0x4
- beq _020CAAD8
- cmp r2, #0x10
- bne _020CAA0C
- mov r3, #0x0
- cmp r1, r3
- cmpeq r4, r3
- beq _020CAAD8
- ldr r3, [sp, #0x20]
- ldr r7, [sp, #0x2c]
- strb r3, [sp, #0x39]
- add r3, r0, #0x21
- strb r3, [sp, #0x38]
- b _020CAAD8
-_020CAA0C:
- cmp r2, #0x8
- ldreq r3, [sp, #0x20]
- ldreq r7, [sp, #0x28]
- streqb r3, [sp, #0x38]
- b _020CAAD8
-_020CAA20:
- ands r1, r6, #0x100
- addne r11, r11, #0x4
- ldrnesb r4, [r11, #-0x4]
- movne r1, r4, asr #0x1f
- bne _020CAA64
- ands r1, r6, #0x40
- addne r11, r11, #0x4
- ldrnesh r4, [r11, #-0x4]
- movne r1, r4, asr #0x1f
- bne _020CAA64
- ands r1, r6, #0x80
- addne r11, r11, #0x8
- ldrne r4, [r11, #-0x8]
- ldrne r1, [r11, #-0x4]
- addeq r11, r11, #0x4
- ldreq r4, [r11, #-0x4]
- moveq r1, r4, asr #0x1f
-_020CAA64:
- mov r3, #0x0
- and r8, r3, #0x0
- cmp r8, r3
- and r8, r1, #0x80000000
- cmpeq r8, r3
- beq _020CAAA0
- ldr r7, [sp, #0x30]
- mvn r4, r4
- strb r7, [sp, #0x38]
- mvn r7, r1
- mov r1, #0x1
- adds r4, r4, r1
- adc r1, r7, r3
- ldr r7, [sp, #0x28]
- b _020CAAD8
-_020CAAA0:
- cmp r1, r3
- cmpeq r4, r3
- bne _020CAAB4
- cmp r5, #0x0
- beq _020CAAD8
-_020CAAB4:
- ands r3, r6, #0x2
- ldrne r3, [sp, #0x34]
- ldrne r7, [sp, #0x28]
- strneb r3, [sp, #0x38]
- bne _020CAAD8
- ands r3, r6, #0x1
- ldrne r3, [sp, #0x1c]
- ldrne r7, [sp, #0x28]
- strneb r3, [sp, #0x38]
-_020CAAD8:
- cmp r2, #0x8
- ldr r8, [sp, #0x4]
- beq _020CAAF8
- cmp r2, #0xa
- beq _020CAB40
- cmp r2, #0x10
- beq _020CABDC
- b _020CAC28
-_020CAAF8:
- mov r0, #0x0
- cmp r1, r0
- cmpeq r4, r0
- beq _020CAC28
-_020CAB08:
- and r0, r4, #0x7
- add r3, r0, #0x30
- add r0, sp, #0x3a
- strb r3, [r0, r8]
- mov r4, r4, lsr #0x3
- mov r2, #0x0
- mov r0, r1, lsr #0x3
- orr r4, r4, r1, lsl #0x1d
- cmp r0, r2
- cmpeq r4, r2
- mov r1, r0
- add r8, r8, #0x1
- bne _020CAB08
- b _020CAC28
-_020CAB40:
- mov r0, #0x0
- cmp r0, r0
- cmpeq r1, r0
- bne _020CAB8C
- cmp r4, #0x0
- beq _020CAC28
-_020CAB58:
- ldr r0, _020CAD60 ; =0xCCCCCCCD
- umull r1, r0, r4, r0
- movs r0, r0, lsr #0x3
- mov r1, #0xa
- mul r1, r0, r1
- sub r1, r4, r1
- mov r4, r0
- add r1, r1, #0x30
- add r0, sp, #0x3a
- strb r1, [r0, r8]
- add r8, r8, #0x1
- bne _020CAB58
- b _020CAC28
-_020CAB8C:
- cmp r1, r0
- cmpeq r4, r0
- beq _020CAC28
-_020CAB98:
- ldr r2, [sp, #0xc]
- ldr r3, [sp, #0x4]
- mov r0, r4
- bl _ll_udiv
- mov r3, #0xa
- umull r3, r12, r0, r3
- subs r3, r4, r3
- mov r2, #0x0
- add r4, r3, #0x30
- add r3, sp, #0x3a
- strb r4, [r3, r8]
- cmp r1, r2
- cmpeq r0, r2
- mov r4, r0
- add r8, r8, #0x1
- bne _020CAB98
- b _020CAC28
-_020CABDC:
- mov r2, #0x0
- cmp r1, r2
- cmpeq r4, r2
- beq _020CAC28
-_020CABEC:
- and r3, r4, #0xf
- cmp r3, #0xa
- mov r4, r4, lsr #0x4
- addlt r3, r3, #0x30
- mov r2, r1, lsr #0x4
- orr r4, r4, r1, lsl #0x1c
- mov r1, r2
- addge r3, r3, r0
- add r2, sp, #0x3a
- strb r3, [r2, r8]
- mov r2, #0x0
- cmp r1, r2
- add r8, r8, #0x1
- cmpeq r4, r2
- bne _020CABEC
-_020CAC28:
- cmp r7, #0x0
- ble _020CAC4C
- ldrsb r0, [sp, #0x38]
- cmp r0, #0x30
- ldreq r1, [sp, #0x20]
- addeq r0, sp, #0x3a
- streqb r1, [r0, r8]
- ldreq r7, [sp, #0x4]
- addeq r8, r8, #0x1
-_020CAC4C:
- sub r5, r5, r8
- ands r0, r6, #0x10
- beq _020CAC68
- sub r0, r10, r8
- sub r0, r0, r7
- cmp r5, r0
- movlt r5, r0
-_020CAC68:
- cmp r5, #0x0
- subgt r10, r10, r5
- add r0, r7, r8
- ands r6, r6, #0x8
- sub r10, r10, r0
- bne _020CAC90
- ldr r1, [sp, #0x1c]
- add r0, sp, #0x54
- mov r2, r10
- bl string_fill_char
-_020CAC90:
- cmp r7, #0x0
- ble _020CACB8
- add r0, sp, #0x38
- add r4, r0, r7
-_020CACA0:
- ldrsb r1, [r4, #-0x1]!
- sub r7, r7, #0x1
- add r0, sp, #0x54
- bl string_put_char
-_020CACB0:
- cmp r7, #0x0
- bgt _020CACA0
-_020CACB8:
- ldr r1, [sp, #0x20]
- mov r2, r5
- add r0, sp, #0x54
- bl string_fill_char
-_020CACC8:
- cmp r8, #0x0
- ble _020CACF0
- add r0, sp, #0x3A
- add r4, r0, r8
-_020CACD8:
- ldrsb r1, [r4, #-0x1]!
- sub r8, r8, #0x1
- add r0, sp, #0x54
- bl string_put_char
- cmp r8, #0x0
- bgt _020CACD8
-_020CACF0:
- cmp r6, #0x0
- beq _020CAD08
- ldr r1, [sp, #0x1C]
- mov r2, sl
- add r0, sp, #0x54
- bl string_fill_char
-_020CAD08:
- add r9, r9, #0x1
-_020CAD0C:
- ldrsb r0, [r9, #0x0]
- cmp r0, #0x0
- bne _020CA530
-_020CAD18:
- ldr r0, [sp, #0x54]
- cmp r0, #0x0
- ldrne r0, [sp, #0x58]
- movne r1, #0x0
- strneb r1, [r0, #0x0]
- bne _020CAD48
- ldr r0, [sp, #0x0]
- cmp r0, #0x0
- ldrne r1, [sp, #0x5c]
- movne r2, #0x0
- addne r0, r1, r0
- strneb r2, [r0, #-0x1]
-_020CAD48:
- ldr r1, [sp, #0x58]
- ldr r0, [sp, #0x5c]
- sub r0, r1, r0
- add sp, sp, #0x64
- ldmia sp!, {r4-r11,lr}
- bx lr
- .balign 4
-_020CAD60: .word 0xCCCCCCCD
-
- arm_func_start OS_SNPrintf
-OS_SNPrintf: ; 0x020CAD64
- stmdb sp!, {r0-r3}
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- add r3, sp, #0x10
- bic r3, r3, #0x3
- ldr r2, [sp, #0x10]
- add r3, r3, #0x4
- bl OS_VSNPrintf
- add sp, sp, #0x4
- ldmia sp!, {lr}
- add sp, sp, #0x10
- bx lr
-
- arm_func_start OS_VSPrintf
-OS_VSPrintf: ; 0x020CAD94
- ldr ip, _020CADA8 ; =OS_VSNPrintf
- mov r3, r2
- mov r2, r1
- mvn r1, #0x80000000
- bx r12
- .balign 4
-_020CADA8: .word OS_VSNPrintf
-
- arm_func_start OS_SPrintf
-OS_SPrintf: ; 0x020CADAC
- stmdb sp!, {r0-r3}
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- add r2, sp, #0xc
- bic r2, r2, #0x3
- ldr r1, [sp, #0xc]
- add r2, r2, #0x4
- bl OS_VSPrintf
- add sp, sp, #0x4
- ldmia sp!, {lr}
- add sp, sp, #0x10
- bx lr
-
- arm_func_start string_put_string
-string_put_string: ; 0x020CADDC
- stmdb sp!, {r4,lr}
- cmp r2, #0x0
- ldmleia sp!, {r4,lr}
- bxle lr
- ldr lr, [r0, #0x0]
- mov r4, #0x0
- cmp lr, r2
- movhi lr, r2
- cmp lr, #0x0
- bls _020CAE1C
-_020CAE04:
- ldrsb r12, [r1, r4]
- ldr r3, [r0, #0x4]
- strb r12, [r3, r4]
- add r4, r4, #0x1
- cmp r4, lr
- blo _020CAE04
-_020CAE1C:
- ldr r1, [r0, #0x0]
- sub r1, r1, lr
- str r1, [r0, #0x0]
- ldr r1, [r0, #0x4]
- add r1, r1, r2
- str r1, [r0, #0x4]
- ldmia sp!, {r4,lr}
- bx lr
-
- arm_func_start string_fill_char
-string_fill_char:
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- cmp r2, #0x0
- addle sp, sp, #0x4
- ldmleia sp!, {lr}
- bxle lr
- ldr r12, [r0, #0x0]
- mov lr, #0x0
- cmp r12, r2
- movhi r12, r2
- cmp r12, #0x0
- bls _020CAE80
-_020CAE6C:
- ldr r3, [r0, #0x4]
- strb r1, [r3, lr]
- add lr, lr, #0x1
- cmp lr, r12
- blo _020CAE6C
-_020CAE80:
- ldr r1, [r0, #0x0]
- sub r1, r1, r12
- str r1, [r0, #0x0]
- ldr r1, [r0, #0x4]
- add r1, r1, r2
- str r1, [r0, #0x4]
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-
- arm_func_start string_put_char
-string_put_char:
- ldr r2, [r0, #0x0]
- cmp r2, #0x0
- ldrne r2, [r0, #0x4]
- strneb r1, [r2, #0x0]
- ldrne r1, [r0, #0x0]
- subne r1, r1, #0x1
- strne r1, [r0, #0x0]
- ldr r1, [r0, #0x4]
- add r1, r1, #0x1
- str r1, [r0, #0x4]
- bx lr
-
- arm_func_start OS_IsThreadAvailable
-OS_IsThreadAvailable: ; 0x020CAED0
- ldr r0, _020CAEDC ; =OSi_IsThreadInitialized
- ldr r0, [r0, #0x0]
- bx lr
- .balign 4
-_020CAEDC: .word OSi_IsThreadInitialized
-
- arm_func_start OS_SetThreadDestructor
-OS_SetThreadDestructor:
- str r1, [r0, #0xb4]
- bx lr
-
- arm_func_start OS_EnableScheduler
-OS_EnableScheduler: ; 0x020CAEE8
- stmdb sp!, {r4,lr}
- bl OS_DisableInterrupts
- ldr r1, _020CAF1C ; =OSi_RescheduleCount
- mov r4, #0x0
- ldr r3, [r1, #0x0]
- cmp r3, #0x0
- subne r2, r3, #0x1
- movne r4, r3
- strne r2, [r1, #0x0]
- bl OS_RestoreInterrupts
- mov r0, r4
- ldmia sp!, {r4,lr}
- bx lr
- .balign 4
-_020CAF1C: .word OSi_RescheduleCount
-
- arm_func_start OS_DisableScheduler
-OS_DisableScheduler: ; 0x020CAF20
- stmdb sp!, {r4,lr}
- bl OS_DisableInterrupts
- ldr r2, _020CAF54 ; =OSi_RescheduleCount
- mvn r1, #0x0
- ldr r3, [r2, #0x0]
- cmp r3, r1
- addcc r1, r3, #0x1
- movcc r4, r3
- strcc r1, [r2, #0x0]
- bl OS_RestoreInterrupts
- mov r0, r4
- ldmia sp!, {r4,lr}
- bx lr
- .balign 4
-_020CAF54: .word OSi_RescheduleCount
-
- arm_func_start OSi_IdleThreadProc
-OSi_IdleThreadProc: ; 0x020CAF58
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- bl OS_EnableInterrupts
-_020CAF64:
- bl OS_Halt
- b _020CAF64
-
- arm_func_start OS_SetSwitchThreadCallback
-OS_SetSwitchThreadCallback: ; 0x020CAF6C
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r5, r0
- bl OS_DisableInterrupts
- ldr r1, _020CAF9C ; =OSi_ThreadInfo
- ldr r4, [r1, #0xc]
- str r5, [r1, #0xc]
- bl OS_RestoreInterrupts
- mov r0, r4
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
- .balign 4
-_020CAF9C: .word OSi_ThreadInfo
-
- arm_func_start OSi_SleepAlarmCallback
-OSi_SleepAlarmCallback: ; 0x020CAFA0
- ldr r2, [r0, #0x0]
- mov r1, #0x0
- str r1, [r0, #0x0]
- ldr ip, _020CAFBC ; =OS_WakeupThreadDirect
- mov r0, r2
- str r1, [r2, #0xb0]
- bx r12
- .balign 4
-_020CAFBC: .word OS_WakeupThreadDirect
-
- arm_func_start OS_Sleep
-OS_Sleep: ; 0x020CAFC0
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x34
- mov r4, r0
- add r0, sp, #0x8
- bl OS_CreateAlarm
- ldr r0, _020CB060 ; =OSi_CurrentThreadPtr
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x0]
- str r0, [sp, #0x4]
- bl OS_DisableInterrupts
- ldr r1, _020CB064 ; =0x000082EA
- mov r2, #0x0
- umull r5, r3, r4, r1
- mla r3, r4, r2, r3
- mla r3, r2, r1, r3
- mov r1, r5, lsr #0x6
- mov r4, r0
- ldr r5, [sp, #0x4]
- add r0, sp, #0x8
- add r2, sp, #0x4
- str r0, [r5, #0xb0]
- str r2, [sp, #0x0]
- mov r2, r3, lsr #0x6
- orr r1, r1, r3, lsl #0x1a
- ldr r3, _020CB068 ; =OSi_SleepAlarmCallback
- bl OS_SetAlarm
- ldr r0, [sp, #0x4]
- cmp r0, #0x0
- beq _020CB04C
- mov r5, #0x0
-_020CB038:
- mov r0, r5
- bl OS_SleepThread
- ldr r0, [sp, #0x4]
- cmp r0, #0x0
- bne _020CB038
-_020CB04C:
- mov r0, r4
- bl OS_RestoreInterrupts
- add sp, sp, #0x34
- ldmia sp!, {r4-r5,lr}
- bx lr
- .balign 4
-_020CB060: .word OSi_CurrentThreadPtr
-_020CB064: .word 0x000082EA
-_020CB068: .word OSi_SleepAlarmCallback
-
- arm_func_start OS_GetThreadPriority
-OS_GetThreadPriority: ; 0x020CB06C
- ldr r0, [r0, #0x70]
- bx lr
-
- arm_func_start OS_SetThreadPriority
-OS_SetThreadPriority: ; 0x020CB074
- stmdb sp!, {r4-r8,lr}
- ldr r2, _020CB120 ; =OSi_ThreadInfo
- mov r6, r0
- mov r5, r1
- ldr r8, [r2, #0x8]
- mov r7, #0x0
- bl OS_DisableInterrupts
- mov r4, r0
- b _020CB0A0
-_020CB098:
- mov r7, r8
- ldr r8, [r8, #0x68]
-_020CB0A0:
- cmp r8, #0x0
- beq _020CB0B0
- cmp r8, r6
- bne _020CB098
-_020CB0B0:
- cmp r8, #0x0
- beq _020CB0C4
- ldr r0, _020CB124 ; =OSi_IdleThread
- cmp r8, r0
- bne _020CB0D8
-_020CB0C4:
- mov r0, r4
- bl OS_RestoreInterrupts
-_020CB0CC:
- mov r0, #0x0
- ldmia sp!, {r4-r8,lr}
- bx lr
-_020CB0D8:
- ldr r0, [r8, #0x70]
- cmp r0, r5
- beq _020CB10C
- cmp r7, #0x0
- ldreq r1, [r6, #0x68]
- ldreq r0, _020CB120 ; =OSi_ThreadInfo
- streq r1, [r0, #0x8]
- ldrne r0, [r6, #0x68]
- strne r0, [r7, #0x68]
- mov r0, r6
- str r5, [r6, #0x70]
- bl OSi_InsertThreadToList
- bl OSi_RescheduleThread
-_020CB10C:
- mov r0, r4
- bl OS_RestoreInterrupts
- mov r0, #0x1
- ldmia sp!, {r4-r8,lr}
- bx lr
- .balign 4
-_020CB120: .word OSi_ThreadInfo
-_020CB124: .word OSi_IdleThread
-
- arm_func_start OS_YieldThread
-OS_YieldThread: ; 0x020CB128
- stmdb sp!, {r4-r8,lr}
- ldr r0, _020CB1E0 ; =OSi_ThreadInfo
- mov r7, #0x0
- mov r6, r7
- mov r5, r7
- ldr r8, [r0, #0x4]
- bl OS_DisableInterrupts
- ldr r1, _020CB1E0 ; =OSi_ThreadInfo
- mov r4, r0
- ldr r2, [r1, #0x8]
- mov r0, r7
- cmp r2, #0x0
- beq _020CB188
- ldr r1, [r8, #0x70]
-_020CB160:
- cmp r2, r8
- moveq r7, r0
- ldr r0, [r2, #0x70]
- cmp r1, r0
- moveq r6, r2
- mov r0, r2
- ldr r2, [r2, #0x68]
- addeq r5, r5, #0x1
- cmp r2, #0x0
- bne _020CB160
-_020CB188:
- cmp r5, #0x1
- ble _020CB198
- cmp r6, r8
- bne _020CB1A8
-_020CB198:
- mov r0, r4
- bl OS_RestoreInterrupts
- ldmia sp!, {r4-r8,lr}
- bx lr
-_020CB1A8:
- cmp r7, #0x0
- ldreq r1, [r8, #0x68]
- ldreq r0, _020CB1E0 ; =OSi_ThreadInfo
- streq r1, [r0, #0x8]
- ldrne r0, [r8, #0x68]
- strne r0, [r7, #0x68]
- ldr r0, [r6, #0x68]
- str r0, [r8, #0x68]
- str r8, [r6, #0x68]
- bl OSi_RescheduleThread
- mov r0, r4
- bl OS_RestoreInterrupts
- ldmia sp!, {r4-r8,lr}
- bx lr
- .balign 4
-_020CB1E0: .word OSi_ThreadInfo
-
- arm_func_start OS_RescheduleThread
-OS_RescheduleThread: ; 0x020CB1E4
- stmdb sp!, {r4,lr}
- bl OS_DisableInterrupts
- mov r4, r0
- bl OSi_RescheduleThread
- mov r0, r4
- bl OS_RestoreInterrupts
- ldmia sp!, {r4,lr}
- bx lr
-
- arm_func_start OS_SelectThread
-OS_SelectThread: ; 0x020CB204
- ldr r0, _020CB22C ; =OSi_ThreadInfo
- ldr r0, [r0, #0x8]
- b _020CB214
-_020CB210:
- ldr r0, [r0, #0x68]
-_020CB214:
- cmp r0, #0x0
- bxeq lr
- ldr r1, [r0, #0x64]
- cmp r1, #0x1
- bne _020CB210
- bx lr
- .balign 4
-_020CB22C: .word OSi_ThreadInfo
-
- arm_func_start OS_WakeupThreadDirect
-OS_WakeupThreadDirect: ; 0x020CB230
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r5, r0
- bl OS_DisableInterrupts
- mov r1, #0x1
- mov r4, r0
- str r1, [r5, #0x64]
- bl OSi_RescheduleThread
- mov r0, r4
- bl OS_RestoreInterrupts
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
-
- arm_func_start OS_WakeupThread
-OS_WakeupThread: ; 0x020CB264
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- mov r5, r0
- bl OS_DisableInterrupts
- ldr r1, [r5, #0x0]
- mov r4, r0
- cmp r1, #0x0
- beq _020CB2D0
- cmp r1, #0x0
- beq _020CB2BC
- mov r7, #0x1
- mov r6, #0x0
-_020CB294:
- mov r0, r5
- bl OSi_RemoveLinkFromQueue
- str r7, [r0, #0x64]
- str r6, [r0, #0x78]
- str r6, [r0, #0x80]
- ldr r1, [r0, #0x80]
- str r1, [r0, #0x7c]
- ldr r0, [r5, #0x0]
- cmp r0, #0x0
- bne _020CB294
-_020CB2BC:
- mov r0, #0x0
- str r0, [r5, #0x4]
- ldr r0, [r5, #0x4]
- str r0, [r5, #0x0]
- bl OSi_RescheduleThread
-_020CB2D0:
- mov r0, r4
- bl OS_RestoreInterrupts
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,lr}
- bx lr
-
- arm_func_start OS_SleepThread
-OS_SleepThread:
- stmdb sp!, {r4-r6,lr}
- mov r6, r0
- bl OS_DisableInterrupts
- ldr r1, _020CB334 ; =OSi_CurrentThreadPtr
- mov r5, r0
- ldr r0, [r1, #0x0]
- cmp r6, #0x0
- ldr r4, [r0, #0x0]
- beq _020CB318
- mov r0, r6
- mov r1, r4
- str r6, [r4, #0x78]
- bl OSi_InsertLinkToQueue
-_020CB318:
- mov r0, #0x0
- str r0, [r4, #0x64]
- bl OSi_RescheduleThread
- mov r0, r5
- bl OS_RestoreInterrupts
- ldmia sp!, {r4-r6,lr}
- bx lr
- .balign 4
-_020CB334: .word OSi_CurrentThreadPtr
-
- arm_func_start OS_IsThreadTerminated
-OS_IsThreadTerminated: ; 0x020CB338
- ldr r0, [r0, #0x64]
- cmp r0, #0x2
- moveq r0, #0x1
- movne r0, #0x0
- bx lr
-
- arm_func_start OS_JoinThread
-OS_JoinThread: ; 0x020CB34C
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r5, r0
- bl OS_DisableInterrupts
- ldr r1, [r5, #0x64]
- mov r4, r0
- cmp r1, #0x2
- beq _020CB374
- add r0, r5, #0x9c
- bl OS_SleepThread
-_020CB374:
- mov r0, r4
- bl OS_RestoreInterrupts
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
-
- arm_func_start OSi_CancelThreadAlarmForSleep
-OSi_CancelThreadAlarmForSleep: ; 0x020CB388
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r0, [r0, #0xb0]
- cmp r0, #0x0
- addeq sp, sp, #0x4
- ldmeqia sp!, {lr}
- bxeq lr
- bl OS_CancelAlarm
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-
- arm_func_start OS_DestroyThread
-OS_DestroyThread: ; 0x020CB3B4
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r5, r0
- bl OS_DisableInterrupts
- ldr r1, _020CB438 ; =OSi_ThreadInfo
- mov r4, r0
- ldr r0, [r1, #0x4]
- cmp r0, r5
- bne _020CB3DC
- bl OSi_ExitThread_Destroy
-_020CB3DC:
- bl OS_DisableScheduler
- mov r0, r5
- bl OSi_UnlockAllMutex
- mov r0, r5
- bl OSi_CancelThreadAlarmForSleep
- ldr r0, [r5, #0x78]
- cmp r0, #0x0
- beq _020CB404
- mov r1, r5
- bl OSi_RemoveSpecifiedLinkFromQueue
-_020CB404:
- mov r0, r5
- bl OSi_RemoveThreadFromList
- mov r1, #0x2
- add r0, r5, #0x9c
- str r1, [r5, #0x64]
- bl OS_WakeupThread
- bl OS_EnableScheduler
- mov r0, r4
- bl OS_RestoreInterrupts
- bl OS_RescheduleThread
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
- .balign 4
-_020CB438: .word OSi_ThreadInfo
-
- arm_func_start OSi_ExitThread_Destroy
-OSi_ExitThread_Destroy: ; 0x020CB43C
- stmdb sp!, {r4,lr}
- ldr r0, _020CB498 ; =OSi_CurrentThreadPtr
- ldr r0, [r0, #0x0]
- ldr r4, [r0, #0x0]
- bl OS_DisableScheduler
- mov r0, r4
- bl OSi_UnlockAllMutex
- ldr r0, [r4, #0x78]
- cmp r0, #0x0
- beq _020CB46C
- mov r1, r4
- bl OSi_RemoveSpecifiedLinkFromQueue
-_020CB46C:
- mov r0, r4
- bl OSi_RemoveThreadFromList
- mov r1, #0x2
- add r0, r4, #0x9c
- str r1, [r4, #0x64]
- bl OS_WakeupThread
- bl OS_EnableScheduler
- bl OS_RescheduleThread
- bl OS_Terminate
- ldmia sp!, {r4,lr}
- bx lr
- .balign 4
-_020CB498: .word OSi_CurrentThreadPtr
-
- arm_func_start OSi_ExitThread_Destroy2
-OSi_ExitThread_Destroy2: ; 0x020CB49C
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r1, _020CB4DC ; =OSi_CurrentThreadPtr
- ldr r1, [r1, #0x0]
- ldr r3, [r1, #0x0]
- ldr r2, [r3, #0xb4]
- cmp r2, #0x0
- beq _020CB4CC
- mov r1, #0x0
- str r1, [r3, #0xb4]
- blx r2
- bl OS_DisableInterrupts
-_020CB4CC:
- bl OSi_ExitThread_Destroy
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020CB4DC: .word OSi_CurrentThreadPtr
-
- arm_func_start OSi_ExitThread_ArgSpecified
-OSi_ExitThread_ArgSpecified: ; 0x020CB4E0
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- ldr r2, _020CB548 ; =OSi_StackForDestructor
- mov r5, r0
- ldr r2, [r2, #0x0]
- mov r4, r1
- cmp r2, #0x0
- beq _020CB534
- ldr r1, _020CB54C ; =OSi_ExitThread_Destroy2
- bl OS_InitContext
- str r4, [r5, #0x4]
- ldr r1, [r5, #0x0]
- mov r0, r5
- orr r1, r1, #0x80
- str r1, [r5, #0x0]
- mov r1, #0x1
- str r1, [r5, #0x64]
- bl OS_LoadContext
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
-_020CB534:
- mov r0, r4
- bl OSi_ExitThread_Destroy2
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
- .balign 4
-_020CB548: .word OSi_StackForDestructor
-_020CB54C: .word OSi_ExitThread_Destroy2
-
- arm_func_start OS_ExitThread
-OS_ExitThread: ; 0x020CB550
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- bl OS_DisableInterrupts
- ldr r0, _020CB578 ; =OSi_ThreadInfo
- mov r1, #0x0
- ldr r0, [r0, #0x4]
- bl OSi_ExitThread_ArgSpecified
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020CB578: .word OSi_ThreadInfo
-
- arm_func_start OS_CreateThread
-OS_CreateThread: ; 0x020CB57C
- stmdb sp!, {r4-r8,lr}
- mov r8, r0
- mov r5, r1
- mov r7, r2
- mov r6, r3
- bl OS_DisableInterrupts
- mov r4, r0
- bl OSi_GetUnusedThreadId
- ldr r2, [sp, #0x1c]
- mov r1, #0x0
- str r2, [r8, #0x70]
- str r0, [r8, #0x6c]
- str r1, [r8, #0x64]
- str r1, [r8, #0x74]
- mov r0, r8
- bl OSi_InsertThreadToList
- mov r1, r5
- str r6, [r8, #0x94]
- ldr r0, [sp, #0x18]
- mov r12, #0x0
- sub r5, r6, r0
- sub r2, r6, #0x4
- str r5, [r8, #0x90]
- str r12, [r8, #0x98]
- ldr r3, _020CB678 ; =0xFDDB597D
- ldr r0, [r8, #0x94]
- ldr r6, _020CB67C ; =0x7BF9DD5B
- str r3, [r0, #-0x4]
- ldr r3, [r8, #0x90]
- mov r0, r8
- str r6, [r3, #0x0]
- str r12, [r8, #0xa0]
- ldr r3, [r8, #0xa0]
- str r3, [r8, #0x9c]
- bl OS_InitContext
- str r7, [r8, #0x4]
- add r1, r5, #0x4
- ldr r2, _020CB680 ; =OS_ExitThread
- mov r0, #0x0
- str r2, [r8, #0x3c]
- ldr r2, [sp, #0x18]
- sub r2, r2, #0x8
- bl MIi_CpuClear32
- mov r1, #0x0
- str r1, [r8, #0x84]
- str r1, [r8, #0x88]
- str r1, [r8, #0x8c]
- mov r0, r8
- bl OS_SetThreadDestructor
-_020CB640:
- mov r0, #0x0
- str r0, [r8, #0x78]
- str r0, [r8, #0x80]
- ldr r2, [r8, #0x80]
- add r1, r8, #0xA4
- str r2, [r8, #0x7C]
- mov r2, #0xC
- bl MIi_CpuClear32
- mov r0, r4
- mov r1, #0x0
- str r1, [r8, #0xB0]
- bl OS_RestoreInterrupts
- ldmia sp!, {r4-r8, lr}
- bx lr
-_020CB678: .word 0xFDDB597D
-_020CB67C: .word 0x7BF9DD5B
-_020CB680: .word OS_ExitThread
-
- arm_func_start OS_InitThread
-OS_InitThread: ; 0x020CB684
- stmdb sp!, {r4-r6,lr}
- sub sp, sp, #0x8
- ldr r3, _020CB7A4 ; =OSi_IsThreadInitialized
- ldr r0, [r3, #0x0]
- cmp r0, #0x0
- addne sp, sp, #0x8
- ldmneia sp!, {r4-r6,lr}
- bxne lr
- ldr ip, _020CB7A8 ; =0x00000000
- ldr r1, _020CB7AC ; =0x021D3568
- mov lr, #0x0
- ldr r0, _020CB7B0 ; =OSi_ThreadInfo
- mov r6, #0x1
- mov r4, #0x10
- str r1, [r0, #0x8]
- str r1, [r0, #0x4]
- cmp r12, #0x0
- ldrle r0, _020CB7B4 ; =0x027E0080
- str r4, [r1, #0x70]
- suble r4, r0, r12
- str lr, [r1, #0x6c]
- str r6, [r1, #0x64]
- str lr, [r1, #0x68]
- str lr, [r1, #0x74]
- ldrgt r1, _020CB7B8 ; =0x027E0000
- ldrgt r0, _020CB7BC ; =0x00000400
- addgt r1, r1, #0x3f80
- subgt r0, r1, r0
- subgt r4, r0, r12
- ldr r1, _020CB7B8 ; =0x027E0000
- ldr r5, _020CB7C0 ; =0x021D349C
- ldr r2, _020CB7C4 ; =OSi_CurrentThreadPtr
- ldr r0, _020CB7BC ; =0x00000400
- str r5, [r2, #0x0]
- ldr r2, _020CB7AC ; =0x021D3568
- add r1, r1, #0x3f80
- str r6, [r3, #0x0]
- sub r3, r1, r0
- mov r0, #0x0
- ldr r1, _020CB7C8 ; =0xFDDB597D
- str r3, [r2, #0x94]
- str r4, [r2, #0x90]
- str r0, [r2, #0x98]
- str r1, [r3, #-0x4]
- ldr r3, [r2, #0x90]
- ldr ip, _020CB7CC ; =0x7BF9DD5B
- ldr r1, _020CB7B0 ; =OSi_ThreadInfo
- str r12, [r3, #0x0]
- ldr r3, _020CB7D0 ; =0x027FFFA0
- str r0, [r2, #0xa0]
- str r0, [r2, #0x9c]
- strh r0, [r1, #0x0]
- strh r0, [r1, #0x2]
- str r1, [r3, #0x0]
- bl OS_SetSwitchThreadCallback
- mov r2, #0xc8
- str r2, [sp, #0x0]
- mov r12, #0x1f
- ldr r0, _020CB7D4 ; =OSi_IdleThread
- ldr r1, _020CB7D8 ; =OSi_IdleThreadProc
- ldr r3, _020CB7DC ; =OSi_Initialized
- mov r2, #0x0
- str r12, [sp, #0x4]
- bl OS_CreateThread
- ldr r0, _020CB7D4 ; =OSi_IdleThread
- mov r2, #0x20
- mov r1, #0x1
- str r2, [r0, #0x70]
- str r1, [r0, #0x64]
- add sp, sp, #0x8
- ldmia sp!, {r4-r6,lr}
- bx lr
- .balign 4
-_020CB7A4: .word OSi_IsThreadInitialized
-_020CB7A8: .word SDK_SYS_STACKSIZE
-_020CB7AC: .word OSi_LauncherThread
-_020CB7B0: .word OSi_ThreadInfo
-_020CB7B4: .word SDK_SECTION_ARENA_DTCM_START
-_020CB7B8: .word SDK_AUTOLOAD_DTCM_START
-_020CB7BC: .word SDK_IRQ_STACKSIZE
-_020CB7C0: .word OSi_ThreadInfo+4
-_020CB7C4: .word OSi_CurrentThreadPtr
-_020CB7C8: .word 0xFDDB597D
-_020CB7CC: .word 0x7BF9DD5B
-_020CB7D0: .word 0x027FFFA0
-_020CB7D4: .word OSi_IdleThread
-_020CB7D8: .word OSi_IdleThreadProc
-_020CB7DC: .word OSi_IdleThreadStack+0xc8
-
- arm_func_start OSi_RescheduleThread
-OSi_RescheduleThread: ; 0x020CB7E0
- stmdb sp!, {r4-r6,lr}
- ldr r0, _020CB8BC ; =OSi_RescheduleCount
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- ldmneia sp!, {r4-r6,lr}
- bxne lr
- ldr r4, _020CB8C0 ; =OSi_ThreadInfo
- ldrh r0, [r4, #0x2]
- cmp r0, #0x0
- bne _020CB814
- bl OS_GetProcMode
- cmp r0, #0x12
- bne _020CB824
-_020CB814:
- mov r0, #0x1
- strh r0, [r4, #0x0]
- ldmia sp!, {r4-r6,lr}
- bx lr
-_020CB824:
- ldr r0, _020CB8C4 ; =OSi_CurrentThreadPtr
- ldr r0, [r0, #0x0]
- ldr r6, [r0, #0x0]
- bl OS_SelectThread
- mov r5, r0
- cmp r6, r5
- ldmeqia sp!, {r4-r6,lr}
- bxeq lr
- cmp r5, #0x0
- ldmeqia sp!, {r4-r6,lr}
- bxeq lr
- ldr r0, [r6, #0x64]
- cmp r0, #0x2
- beq _020CB870
- mov r0, r6
- bl OS_SaveContext
-_020CB864:
- cmp r0, #0x0
- ldmneia sp!, {r4-r6,lr}
- bxne lr
-_020CB870:
- ldr r0, _020CB8C8 ; =0x021D348C
- ldr r2, [r0, #0x0]
- cmp r2, #0x0
- beq _020CB88C
- mov r0, r6
- mov r1, r5
- blx r2
-_020CB88C:
- ldr r2, [r4, #0xc]
- cmp r2, #0x0
- beq _020CB8A4
- mov r0, r6
- mov r1, r5
- blx r2
-_020CB8A4:
- ldr r1, _020CB8C0 ; =OSi_ThreadInfo
- mov r0, r5
- str r5, [r1, #0x4]
- bl OS_LoadContext
- ldmia sp!, {r4-r6,lr}
- bx lr
- .balign 4
-_020CB8BC: .word OSi_RescheduleCount
-_020CB8C0: .word OSi_ThreadInfo
-_020CB8C4: .word OSi_CurrentThreadPtr
-_020CB8C8: .word OSi_SystemCallbackInSwitchThread
-
- arm_func_start OSi_RemoveThreadFromList
-OSi_RemoveThreadFromList: ; 0x020CB8CC
- ldr r1, _020CB910 ; =OSi_ThreadInfo
- mov r2, #0x0
- ldr r1, [r1, #0x8]
- b _020CB8E4
-_020CB8DC:
- mov r2, r1
- ldr r1, [r1, #0x68]
-_020CB8E4:
- cmp r1, #0x0
- beq _020CB8F4
- cmp r1, r0
- bne _020CB8DC
-_020CB8F4:
- cmp r2, #0x0
- ldreq r1, [r0, #0x68]
- ldreq r0, _020CB910 ; =OSi_ThreadInfo
- streq r1, [r0, #0x8]
- ldrne r0, [r0, #0x68]
- strne r0, [r2, #0x68]
- bx lr
- .balign 4
-_020CB910: .word OSi_ThreadInfo
-
- arm_func_start OSi_InsertThreadToList
-OSi_InsertThreadToList: ; 0x020CB914
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r1, _020CB978 ; =OSi_ThreadInfo
- mov r12, #0x0
- ldr r3, [r1, #0x8]
- mov lr, r3
- b _020CB938
-_020CB930:
- mov r12, lr
- ldr lr, [lr, #0x68]
-_020CB938:
- cmp lr, #0x0
- beq _020CB950
- ldr r2, [lr, #0x70]
- ldr r1, [r0, #0x70]
- cmp r2, r1
- blo _020CB930
-_020CB950:
- cmp r12, #0x0
- ldreq r1, _020CB978 ; =OSi_ThreadInfo
- streq r3, [r0, #0x68]
- streq r0, [r1, #0x8]
- ldrne r1, [r12, #0x68]
- strne r1, [r0, #0x68]
- strne r0, [r12, #0x68]
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020CB978: .word OSi_ThreadInfo
-
- arm_func_start OSi_RemoveMutexLinkFromQueue
-OSi_RemoveMutexLinkFromQueue: ; 0x020CB97C
- ldr r2, [r0, #0x0]
- cmp r2, #0x0
- beq _020CB9A4
- ldr r1, [r2, #0x10]
- str r1, [r0, #0x0]
- cmp r1, #0x0
- movne r0, #0x0
- strne r0, [r1, #0x14]
- moveq r1, #0x0
- streq r1, [r0, #0x4]
-_020CB9A4:
- mov r0, r2
- bx lr
-
- arm_func_start OSi_RemoveSpecifiedLinkFromQueue
-OSi_RemoveSpecifiedLinkFromQueue: ; 0x020CB9AC
- ldr r2, [r0, #0x0]
- mov r12, r2
- cmp r2, #0x0
- beq _020CB9F8
-_020CB9BC:
- cmp r12, r1
- ldr r3, [r12, #0x80]
- bne _020CB9EC
- cmp r2, r12
- ldr r2, [r12, #0x7c]
- streq r3, [r0, #0x0]
- strne r3, [r2, #0x80]
- ldr r1, [r0, #0x4]
- cmp r1, r12
- streq r2, [r0, #0x4]
- strne r2, [r3, #0x7c]
- b _020CB9F8
-_020CB9EC:
- mov r12, r3
- cmp r3, #0x0
- bne _020CB9BC
-_020CB9F8:
- mov r0, r12
- bx lr
-
- arm_func_start OSi_RemoveLinkFromQueue
-OSi_RemoveLinkFromQueue: ; 0x020CBA00
- ldr r2, [r0, #0x0]
- cmp r2, #0x0
- beq _020CBA2C
- ldr r1, [r2, #0x80]
- str r1, [r0, #0x0]
- cmp r1, #0x0
- movne r0, #0x0
- strne r0, [r1, #0x7c]
- moveq r1, #0x0
- streq r1, [r0, #0x4]
- streq r1, [r2, #0x78]
-_020CBA2C:
- mov r0, r2
- bx lr
-
- arm_func_start OSi_InsertLinkToQueue
-OSi_InsertLinkToQueue:
- ldr r12, [r0, #0x0]
- b _020CBA48
-_020CBA3C:
- cmp r12, r1
- bxeq lr
- ldr r12, [r12, #0x80]
-_020CBA48:
- cmp r12, #0x0
- beq _020CBA60
- ldr r3, [r12, #0x70]
- ldr r2, [r1, #0x70]
- cmp r3, r2
- bls _020CBA3C
-_020CBA60:
- cmp r12, #0x0
- bne _020CBA8C
- ldr r2, [r0, #0x4]
- cmp r2, #0x0
- streq r1, [r0, #0x0]
- strne r1, [r2, #0x80]
- str r2, [r1, #0x7c]
- mov r2, #0x0
- str r2, [r1, #0x80]
- str r1, [r0, #0x4]
- bx lr
-_020CBA8C:
- ldr r2, [r12, #0x7c]
- cmp r2, #0x0
- streq r1, [r0, #0x0]
- strne r1, [r2, #0x80]
- str r2, [r1, #0x7c]
- str r12, [r1, #0x80]
- str r1, [r12, #0x7c]
- bx lr
-
- arm_func_start OSi_GetUnusedThreadId
-OSi_GetUnusedThreadId: ; 0x020CBAAC
- ldr r1, _020CBAC0 ; =OSi_ThreadIdCount
- ldr r0, [r1, #0x0]
- add r0, r0, #0x1
- str r0, [r1, #0x0]
- bx lr
- .balign 4
-_020CBAC0: .word OSi_ThreadIdCount
-
- arm_func_start OS_InitContext
-OS_InitContext: ; 0x020CBAC4
- add r1, r1, #0x4
- str r1, [r0, #0x40]
- str r2, [r0, #0x44]
- sub r2, r2, #0x40
- tst r2, #0x4
- subne r2, r2, #0x4
- str r2, [r0, #0x38]
- ands r1, r1, #0x1
- movne r1, #0x3f
- moveq r1, #0x1f
- str r1, [r0, #0x0]
- mov r1, #0x0
- str r1, [r0, #0x4]
- str r1, [r0, #0x8]
- str r1, [r0, #0xc]
- str r1, [r0, #0x10]
- str r1, [r0, #0x14]
- str r1, [r0, #0x18]
- str r1, [r0, #0x1c]
- str r1, [r0, #0x20]
- str r1, [r0, #0x24]
- str r1, [r0, #0x28]
- str r1, [r0, #0x2c]
- str r1, [r0, #0x30]
- str r1, [r0, #0x34]
- str r1, [r0, #0x3c]
- bx lr
-
- arm_func_start OS_SaveContext
-OS_SaveContext:
- stmdb sp!, {r0,lr}
- add r0, r0, #0x48
- ldr r1, _020CBB78 ; =CP_SaveContext
- blx r1
- ldmia sp!, {r0,lr}
- add r1, r0, #0x0
- mrs r2, cpsr
- str r2, [r1], #0x4
- mov r0, #0xd3
- msr cpsr_c, r0
- str sp, [r1, #0x40]
- msr cpsr_c, r2
- mov r0, #0x1
- stmia r1, {r0-lr}
- add r0, pc, #0x8 ; =_020CBB78
- str r0, [r1, #0x3c]
- mov r0, #0x0
- bx lr
- .balign 4
-_020CBB78: .word CP_SaveContext
-
- arm_func_start OS_LoadContext
-OS_LoadContext: ; 0x020CBB7C
- stmdb sp!, {r0,lr}
- add r0, r0, #0x48
- ldr r1, _020CBBBC ; =CP_RestoreContext
- blx r1
- ldmia sp!, {r0,lr}
- mrs r1, cpsr
- bic r1, r1, #0x1f
- orr r1, r1, #0xd3
- msr cpsr_c, r1
- ldr r1, [r0], #0x4
- msr spsr_fsxc, r1
- ldr sp, [r0, #0x40]
- ldr lr, [r0, #0x3c]
- ldmia r0, {r0-lr}^
- mov r0, r0
- subs pc, lr, #0x4
- .balign 4
-_020CBBBC: .word CP_RestoreContext
-
- arm_func_start OS_GetConsoleType
-OS_GetConsoleType: ; 0x020CBBC0
- ldr r0, _020CBBD0 ; =0x82000001
- ldr r1, _020CBBD4 ; =0x02106828
- str r0, [r1, #0x0]
- bx lr
- .balign 4
-_020CBBD0: .word 0x82000001
-_020CBBD4: .word 0x02106828
-
- arm_func_start OS_IsRunOnEmulator
-OS_IsRunOnEmulator:
- mov r0, #0x0
- bx lr
-
- arm_func_start OS_ReadMessage
-OS_ReadMessage: ; 0x020CBBE0
- stmdb sp!, {r4-r8,lr}
- mov r6, r0
- mov r5, r1
- mov r7, r2
- bl OS_DisableInterrupts
- ldr r1, [r6, #0x1c]
- mov r4, r0
- cmp r1, #0x0
- bne _020CBC3C
- and r8, r7, #0x1
- add r7, r6, #0x8
-_020CBC0C:
- cmp r8, #0x0
- bne _020CBC28
- mov r0, r4
- bl OS_RestoreInterrupts
-_020CBC1C:
- mov r0, #0x0
- ldmia sp!, {r4-r8,lr}
- bx lr
-_020CBC28:
- mov r0, r7
- bl OS_SleepThread
- ldr r0, [r6, #0x1c]
- cmp r0, #0x0
- beq _020CBC0C
-_020CBC3C:
- cmp r5, #0x0
- ldrne r1, [r6, #0x10]
- ldrne r0, [r6, #0x18]
- ldrne r0, [r1, r0, lsl #0x2]
- strne r0, [r5, #0x0]
- mov r0, r4
- bl OS_RestoreInterrupts
- mov r0, #0x1
- ldmia sp!, {r4-r8,lr}
- bx lr
-
- arm_func_start OS_JamMessage
-OS_JamMessage: ; 0x020CBC64
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- mov r6, r0
- mov r5, r1
- mov r7, r2
- bl OS_DisableInterrupts
- ldr r1, [r6, #0x14]
- ldr r2, [r6, #0x1c]
- mov r4, r0
- cmp r1, r2
- bgt _020CBCCC
- and r7, r7, #0x1
-_020CBC94:
- cmp r7, #0x0
- bne _020CBCB4
- mov r0, r4
- bl OS_RestoreInterrupts
- add sp, sp, #0x4
- mov r0, #0x0
- ldmia sp!, {r4-r7,lr}
- bx lr
-_020CBCB4:
- mov r0, r6
- bl OS_SleepThread
- ldr r1, [r6, #0x14]
- ldr r0, [r6, #0x1c]
- cmp r1, r0
- ble _020CBC94
-_020CBCCC:
- ldr r0, [r6, #0x18]
- add r0, r0, r1
- sub r0, r0, #0x1
- bl _s32_div_f
- str r1, [r6, #0x18]
- ldr r2, [r6, #0x10]
- ldr r1, [r6, #0x18]
- add r0, r6, #0x8
- str r5, [r2, r1, lsl #0x2]
- ldr r1, [r6, #0x1c]
- add r1, r1, #0x1
- str r1, [r6, #0x1c]
- bl OS_WakeupThread
- mov r0, r4
- bl OS_RestoreInterrupts
- mov r0, #0x1
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,lr}
- bx lr
-
- arm_func_start OS_ReceiveMessage
-OS_ReceiveMessage: ; 0x020CBD18
- stmdb sp!, {r4-r8,lr}
- mov r6, r0
- mov r5, r1
- mov r7, r2
- bl OS_DisableInterrupts
- ldr r1, [r6, #0x1c]
- mov r4, r0
- cmp r1, #0x0
- bne _020CBD74
- and r8, r7, #0x1
- add r7, r6, #0x8
-_020CBD44:
- cmp r8, #0x0
- bne _020CBD60
- mov r0, r4
- bl OS_RestoreInterrupts
-_020CBD54:
- mov r0, #0x0
- ldmia sp!, {r4-r8,lr}
- bx lr
-_020CBD60:
- mov r0, r7
- bl OS_SleepThread
- ldr r0, [r6, #0x1c]
- cmp r0, #0x0
- beq _020CBD44
-_020CBD74:
- cmp r5, #0x0
- ldrne r1, [r6, #0x10]
- ldrne r0, [r6, #0x18]
- ldrne r0, [r1, r0, lsl #0x2]
- strne r0, [r5, #0x0]
- ldr r0, [r6, #0x18]
- ldr r1, [r6, #0x14]
- add r0, r0, #0x1
- bl _s32_div_f
- str r1, [r6, #0x18]
- ldr r1, [r6, #0x1c]
- mov r0, r6
- sub r1, r1, #0x1
- str r1, [r6, #0x1c]
- bl OS_WakeupThread
- mov r0, r4
- bl OS_RestoreInterrupts
- mov r0, #0x1
- ldmia sp!, {r4-r8,lr}
- bx lr
-
- arm_func_start OS_SendMessage
-OS_SendMessage: ; 0x020CBDC4
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- mov r6, r0
- mov r5, r1
- mov r7, r2
- bl OS_DisableInterrupts
- ldr r2, [r6, #0x1c]
- ldr r1, [r6, #0x14]
- mov r4, r0
- cmp r1, r2
- bgt _020CBE2C
- and r7, r7, #0x1
-_020CBDF4:
- cmp r7, #0x0
- bne _020CBE14
- mov r0, r4
- bl OS_RestoreInterrupts
- add sp, sp, #0x4
- mov r0, #0x0
- ldmia sp!, {r4-r7,lr}
- bx lr
-_020CBE14:
- mov r0, r6
- bl OS_SleepThread
- ldr r2, [r6, #0x1c]
- ldr r1, [r6, #0x14]
- cmp r1, r2
- ble _020CBDF4
-_020CBE2C:
- ldr r0, [r6, #0x18]
- add r0, r0, r2
- bl _s32_div_f
- ldr r2, [r6, #0x10]
- add r0, r6, #0x8
- str r5, [r2, r1, lsl #0x2]
- ldr r1, [r6, #0x1c]
- add r1, r1, #0x1
- str r1, [r6, #0x1c]
- bl OS_WakeupThread
- mov r0, r4
- bl OS_RestoreInterrupts
- mov r0, #0x1
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,lr}
- bx lr
-
- arm_func_start OS_InitMessageQueue
-OS_InitMessageQueue: ; 0x020CBE6C
- mov r12, #0x0
- str r12, [r0, #0x4]
- ldr r3, [r0, #0x4]
- str r3, [r0, #0x0]
- str r12, [r0, #0xc]
- ldr r3, [r0, #0xc]
- str r3, [r0, #0x8]
- str r1, [r0, #0x10]
- str r2, [r0, #0x14]
- str r12, [r0, #0x18]
- str r12, [r0, #0x1c]
- bx lr
-
- arm_func_start OSi_DequeueItem
-OSi_DequeueItem: ; 0x020CBE9C
- ldr r2, [r1, #0x10]
- ldr r1, [r1, #0x14]
- cmp r2, #0x0
- streq r1, [r0, #0x8c]
- strne r1, [r2, #0x14]
- cmp r1, #0x0
- streq r2, [r0, #0x88]
- strne r2, [r1, #0x10]
- bx lr
-
- arm_func_start OSi_EnqueueTail
-OSi_EnqueueTail: ; 0x020CBEC0
- ldr r2, [r0, #0x8c]
- cmp r2, #0x0
- streq r1, [r0, #0x88]
- strne r1, [r2, #0x10]
- str r2, [r1, #0x14]
- mov r2, #0x0
- str r2, [r1, #0x10]
- str r1, [r0, #0x8c]
- bx lr
-
- arm_func_start OS_TryLockMutex
-OS_TryLockMutex: ; 0x020CBEE4
- stmdb sp!, {r4-r6,lr}
- mov r5, r0
- bl OS_DisableInterrupts
- ldr r2, [r5, #0x8]
- ldr r1, _020CBF54 ; =OSi_ThreadInfo
- mov r4, r0
- cmp r2, #0x0
- ldr r0, [r1, #0x4]
- bne _020CBF28
- str r0, [r5, #0x8]
- ldr r2, [r5, #0xc]
- mov r1, r5
- add r2, r2, #0x1
- str r2, [r5, #0xc]
- bl OSi_EnqueueTail
- mov r6, #0x1
- b _020CBF40
-_020CBF28:
- cmp r2, r0
- ldreq r0, [r5, #0xc]
- moveq r6, #0x1
- addeq r0, r0, #0x1
- streq r0, [r5, #0xc]
- movne r6, #0x0
-_020CBF40:
- mov r0, r4
- bl OS_RestoreInterrupts
- mov r0, r6
- ldmia sp!, {r4-r6,lr}
- bx lr
- .balign 4
-_020CBF54: .word OSi_ThreadInfo
-
- arm_func_start OSi_UnlockAllMutex
-OSi_UnlockAllMutex: ; 0x020CBF58
- stmdb sp!, {r4-r6,lr}
- mov r6, r0
- ldr r0, [r6, #0x88]
- cmp r0, #0x0
- ldmeqia sp!, {r4-r6,lr}
- bxeq lr
- add r5, r6, #0x88
- mov r4, #0x0
-_020CBF78:
- mov r0, r5
- bl OSi_RemoveMutexLinkFromQueue
- str r4, [r0, #0xc]
- str r4, [r0, #0x8]
- bl OS_WakeupThread
- ldr r0, [r6, #0x88]
- cmp r0, #0x0
- bne _020CBF78
- ldmia sp!, {r4-r6,lr}
- bx lr
-
- arm_func_start OS_UnlockMutex
-OS_UnlockMutex: ; 0x020CBFA0
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r5, r0
- bl OS_DisableInterrupts
- ldr r1, _020CC00C ; =OSi_ThreadInfo
- mov r4, r0
- ldr r0, [r1, #0x4]
- ldr r1, [r5, #0x8]
- cmp r1, r0
- bne _020CBFF8
- ldr r1, [r5, #0xc]
- sub r1, r1, #0x1
- str r1, [r5, #0xc]
- ldr r1, [r5, #0xc]
- cmp r1, #0x0
- bne _020CBFF8
- mov r1, r5
- bl OSi_DequeueItem
- mov r1, #0x0
- mov r0, r5
- str r1, [r5, #0x8]
- bl OS_WakeupThread
-_020CBFF8:
- mov r0, r4
- bl OS_RestoreInterrupts
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
- .balign 4
-_020CC00C: .word OSi_ThreadInfo
-
- arm_func_start OS_LockMutex
-OS_LockMutex: ; 0x020CC010
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- mov r5, r0
- bl OS_DisableInterrupts
- ldr r1, _020CC098 ; =OSi_ThreadInfo
- mov r4, r0
- ldr r7, [r1, #0x4]
- mov r6, #0x0
-_020CC030:
- ldr r0, [r5, #0x8]
- cmp r0, #0x0
- bne _020CC05C
- str r7, [r5, #0x8]
- ldr r1, [r5, #0xc]
- mov r0, r7
- add r2, r1, #0x1
- mov r1, r5
- str r2, [r5, #0xc]
- bl OSi_EnqueueTail
- b _020CC084
-_020CC05C:
- cmp r0, r7
- ldreq r0, [r5, #0xc]
- addeq r0, r0, #0x1
- streq r0, [r5, #0xc]
- beq _020CC084
- mov r0, r5
- str r5, [r7, #0x84]
- bl OS_SleepThread
- str r6, [r7, #0x84]
- b _020CC030
-_020CC084:
- mov r0, r4
- bl OS_RestoreInterrupts
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,lr}
- bx lr
- .balign 4
-_020CC098: .word OSi_ThreadInfo
-
- arm_func_start OS_InitMutex
-OS_InitMutex: ; 0x020CC09C
- mov r2, #0x0
- str r2, [r0, #0x4]
- ldr r1, [r0, #0x4]
- str r1, [r0, #0x0]
- str r2, [r0, #0x8]
- str r2, [r0, #0xc]
- bx lr
-
- arm_func_start DC_InvalidateAll
-DC_InvalidateAll: ; 0x020CC0B8
- mov r0, #0x0
- mcr p15, 0x0, r0, c7, c6, 0x0
- bx lr
-
- arm_func_start DC_StoreAll
-DC_StoreAll: ; 0x020CC0C4
- mov r1, #0x0
-_020CC0C8:
- mov r0, #0x0
-_020CC0CC:
- orr r2, r1, r0
- mcr p15, 0x0, r2, c7, c10, 0x2
- add r0, r0, #0x20
- cmp r0, #0x400
- blt _020CC0CC
- add r1, r1, #0x40000000
- cmp r1, #0x0
- bne _020CC0C8
- bx lr
-
- arm_func_start DC_FlushAll
-DC_FlushAll: ; 0x020CC0F0
- mov r12, #0x0
- mov r1, #0x0
-_020CC0F8:
- mov r0, #0x0
-_020CC0FC:
- orr r2, r1, r0
- mcr p15, 0x0, r12, c7, c10, 0x4
- mcr p15, 0x0, r2, c7, c14, 0x2
- add r0, r0, #0x20
- cmp r0, #0x400
- blt _020CC0FC
- add r1, r1, #0x40000000
- cmp r1, #0x0
- bne _020CC0F8
- bx lr
-
- arm_func_start DC_InvalidateRange
-DC_InvalidateRange: ; 0x020CC124
- add r1, r1, r0
- bic r0, r0, #0x1f
-_020CC12C:
- mcr p15, 0x0, r0, c7, c6, 0x1
- add r0, r0, #0x20
- cmp r0, r1
- blt _020CC12C
- bx lr
-
- arm_func_start DC_StoreRange
-DC_StoreRange: ; 0x020CC140
- add r1, r1, r0
- bic r0, r0, #0x1f
-_020CC148:
- mcr p15, 0x0, r0, c7, c10, 0x1
- add r0, r0, #0x20
- cmp r0, r1
- blt _020CC148
- bx lr
-
- arm_func_start DC_FlushRange
-DC_FlushRange: ; 0x020CC15C
- mov r12, #0x0
- add r1, r1, r0
- bic r0, r0, #0x1f
-_020CC168:
- mcr p15, 0x0, r12, c7, c10, 0x4
- mcr p15, 0x0, r0, c7, c14, 0x1
- add r0, r0, #0x20
- cmp r0, r1
- blt _020CC168
- bx lr
-
- arm_func_start DC_WaitWriteBufferEmpty
-DC_WaitWriteBufferEmpty: ; 0x020CC180
- mov r0, #0x0
- mcr p15, 0x0, r0, c7, c10, 0x4
- bx lr
-
- arm_func_start IC_InvalidateAll
-IC_InvalidateAll: ; 0x020CC18C
- mov r0, #0x0
- mcr p15, 0x0, r0, c7, c5, 0x0
- bx lr
-
- arm_func_start IC_InvalidateRange
-IC_InvalidateRange:
- add r1, r1, r0
- bic r0, r0, #0x1f
-_020CC1A0:
- mcr p15, 0x0, r0, c7, c5, 0x1
- add r0, r0, #0x20
- cmp r0, r1
- blt _020CC1A0
- bx lr
-
- arm_func_start OS_Init
-OS_Init: ; 0x020CC1B4
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- bl OS_InitArena
- bl PXI_Init
- bl OS_InitLock
- bl OS_InitArenaEx
- bl OS_InitIrqTable
- bl OS_SetIrqStackChecker
- bl OS_InitException
- bl MI_Init
- bl OS_InitVAlarm
- bl OSi_InitVramExclusive
- bl OS_InitThread
- bl OS_InitReset
- bl CTRDG_Init
- bl CARD_Init
- bl PM_Init
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-
- arm_func_start OS_AllocFromArenaHi
-OS_AllocFromArenaHi: ; 0x020CC204
- stmdb sp!, {r4-r6,lr}
- mov r4, r0
- mov r6, r1
- mov r5, r2
- bl OS_GetArenaHi
-_020CC218:
- cmp r0, #0x0
- moveq r0, #0x0
- ldmeqia sp!, {r4-r6,lr}
- bxeq lr
- sub r1, r5, #0x1
- mvn r2, r1
- and r0, r0, r2
- sub r1, r0, r6
- mov r0, r4
- and r5, r1, r2
- bl OS_GetArenaLo
- cmp r5, r0
- movcc r0, #0x0
- ldmccia sp!, {r4-r6, lr}
- bxcc lr
- mov r0, r4
- mov r1, r5
- bl OS_SetArenaHi
- mov r0, r5
- ldmia sp!, {r4-r6,lr}
- bx lr
-
- arm_func_start OS_AllocFromArenaLo
-OS_AllocFromArenaLo: ; 0x020CC26C
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- mov r7, r0
- mov r6, r1
- mov r5, r2
- bl OS_GetArenaLo
-_020CC284:
- cmp r0, #0x0
- addeq sp, sp, #0x4
- moveq r0, #0x0
- ldmeqia sp!, {r4-r7, lr}
- bxeq lr
- add r0, r0, r5
- sub r1, r5, #0x1
- mvn r2, r1
- sub r0, r0, #0x1
- and r4, r2, r0
- add r0, r4, r6
- add r0, r0, r5
- sub r1, r0, #0x1
- mov r0, r7
- and r5, r2, r1
- bl OS_GetArenaHi
- cmp r5, r0
- addhi sp, sp, #0x4
- movhi r0, #0x0
- ldmhiia sp!, {r4-r7, lr}
- bxhi lr
- mov r0, r7
- mov r1, r5
- bl OS_SetArenaLo
- mov r0, r4
- add sp, sp, #0x4
- ldmia sp!, {r4-r7, lr}
- bx lr
-
- arm_func_start OS_SetArenaLo
-OS_SetArenaLo: ; 0x020CC2F4
- mov r0, r0, lsl #0x2
- add r0, r0, #0x2700000
- add r0, r0, #0xff000
- str r1, [r0, #0xda0]
- bx lr
-
- arm_func_start OS_SetArenaHi
-OS_SetArenaHi:
- mov r0, r0, lsl #0x2
- add r0, r0, #0x2700000
- add r0, r0, #0xff000
- str r1, [r0, #0xdc4]
- bx lr
-
- arm_func_start OS_GetInitArenaLo
-OS_GetInitArenaLo: ; 0x020CC31C
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- cmp r0, #0x6
- addls pc, pc, r0, lsl #0x2
- b _020CC3DC
-_020CC330:
- b _020CC34C
- b _020CC3DC
- b _020CC35C
- b _020CC39C
- b _020CC3AC
- b _020CC3BC
- b _020CC3CC
-_020CC34C:
- add sp, sp, #0x4
- ldr r0, _020CC3EC ; =0x0225FFA0
- ldmfd sp!, {lr}
- bx lr
-_020CC35C:
- ldr r0, _020CC3F0 ; =OSi_MainExArenaEnabled
- ldr r0, [r0]
- cmp r0, #0x0
- beq _020CC37C
- bl OS_GetConsoleType
- and r0, r0, #0x3
- cmp r0, #0x1
- bne _020CC38C
-_020CC37C:
- add sp, sp, #0x4
- mov r0, #0x0
- ldmfd sp!, {lr}
- bx lr
-_020CC38C:
- add sp, sp, #0x4
- ldr r0, _020CC3F4 ; =0x023E0000
- ldmfd sp!, {lr}
- bx lr
-_020CC39C:
- add sp, sp, #0x4
- ldr r0, _020CC3F8 ; =0x01FF8720
- ldmfd sp!, {lr}
- bx lr
-_020CC3AC:
- add sp, sp, #0x4
- ldr r0, _020CC3FC ; =0x027E0080
- ldmfd sp!, {lr}
- bx lr
-_020CC3BC:
- add sp, sp, #0x4
- ldr r0, _020CC400 ; =0x027FF000
- ldmfd sp!, {lr}
- bx lr
-_020CC3CC:
- add sp, sp, #0x4
- ldr r0, _020CC404 ; =0x037F8000
- ldmfd sp!, {lr}
- bx lr
-_020CC3DC:
- mov r0, #0x0
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-_020CC3EC: .word SDK_MAIN_ARENA_LO
-_020CC3F0: .word OSi_MainExArenaEnabled
-_020CC3F4: .word SDK_SECTION_ARENA_EX_START
-_020CC3F8: .word SDK_SECTION_ARENA_ITCM_START
-_020CC3FC: .word SDK_SECTION_ARENA_DTCM_START
-_020CC400: .word 0x027FF000
-_020CC404: .word 0x037F8000
-
- arm_func_start OS_GetInitArenaHi
-OS_GetInitArenaHi: ; 0x020CC408
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- cmp r0, #0x6
- addls pc, pc, r0, lsl #0x2
- b _020CC508
-_020CC41C:
- b _020CC438
- b _020CC508
- b _020CC448
- b _020CC488
- b _020CC498
- b _020CC4E8
- b _020CC4F8
-_020CC438:
- add sp, sp, #0x4
- ldr r0, _020CC518 ; =0x023E0000
- ldmfd sp!, {lr}
- bx lr
-_020CC448:
- ldr r0, _020CC51C ; =OSi_MainExArenaEnabled
- ldr r0, [r0]
- cmp r0, #0x0
- beq _020CC468
- bl OS_GetConsoleType
- and r0, r0, #0x3
- cmp r0, #0x1
- bne _020CC478
-_020CC468:
- add sp, sp, #0x4
- mov r0, #0x0
- ldmfd sp!, {lr}
- bx lr
-_020CC478:
- add sp, sp, #0x4
- mov r0, #0x2700000
- ldmfd sp!, {lr}
- bx lr
-_020CC488:
- add sp, sp, #0x4
- mov r0, #0x2000000
- ldmfd sp!, {lr}
- bx lr
-_020CC498:
- ldr r0, _020CC520 ; =0x027E0000
- ldr r1, _020CC524 ; =0x00000000
- ldr r2, _020CC528 ; =0x00000400
- add r3, r0, #0x3f80
- cmp r1, #0x0
- sub r2, r3, r2
- bne _020CC4CC
- ldr r1, _020CC52C ; =0x027E0080
- add sp, sp, #0x4
- cmp r0, r1
- movcc r0, r1
- ldmfd sp!, {lr}
- bx lr
-_020CC4CC:
- cmp r1, #0x0
- ldrlt r0, _020CC52C ; =0x027E0080
- add sp, sp, #0x4
- sublt r0, r0, r1
- subge r0, r2, r1
- ldmfd sp!, {lr}
- bx lr
-_020CC4E8:
- add sp, sp, #0x4
- ldr r0, _020CC530 ; =0x027FF680
- ldmfd sp!, {lr}
- bx lr
-_020CC4F8:
- add sp, sp, #0x4
- ldr r0, _020CC534 ; =0x037F8000
- ldmfd sp!, {lr}
- bx lr
-_020CC508:
- mov r0, #0x0
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-_020CC518: .word 0x023E0000
-_020CC51C: .word OSi_MainExArenaEnabled
-_020CC520: .word 0x027E0000
-_020CC524: .word 0x00000000
-_020CC528: .word 0x00000400
-_020CC52C: .word 0x027E0080
-_020CC530: .word 0x027FF680
-_020CC534: .word 0x037F8000
-
- arm_func_start OS_GetArenaLo
-OS_GetArenaLo:
- mov r0, r0, lsl #0x2
- add r0, r0, #0x2700000
- add r0, r0, #0xff000
- ldr r0, [r0, #0xda0]
- bx lr
-
- arm_func_start OS_GetArenaHi
-OS_GetArenaHi:
- mov r0, r0, lsl #0x2
- add r0, r0, #0x2700000
- add r0, r0, #0xff000
- ldr r0, [r0, #0xdc4]
- bx lr
-
- arm_func_start OS_InitArenaEx
-OS_InitArenaEx: ; 0x020CC560
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- mov r0, #0x2
- bl OS_GetInitArenaHi
- mov r1, r0
- mov r0, #0x2
- bl OS_SetArenaHi
- mov r0, #0x2
- bl OS_GetInitArenaLo
- mov r1, r0
- mov r0, #0x2
- bl OS_SetArenaLo
- ldr r0, _020CC5D4 ; =OSi_MainExArenaEnabled
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- beq _020CC5B8
- bl OS_GetConsoleType
- and r0, r0, #0x3
- cmp r0, #0x1
- addne sp, sp, #0x4
- ldmneia sp!, {lr}
- bxne lr
-_020CC5B8:
- ldr r0, _020CC5D8 ; =0x0200002B
- bl OS_SetProtectionRegion1
- ldr r0, _020CC5DC ; =0x023E0021
- bl OS_SetProtectionRegion2
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020CC5D4: .word OSi_MainExArenaEnabled
-_020CC5D8: .word 0x0200002B
-_020CC5DC: .word 0x023E0021
-
- arm_func_start OS_InitArena
-OS_InitArena: ; 0x020CC5E0
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r1, _020CC6F4 ; =OSi_Initialized
- ldr r0, [r1, #0x0]
- cmp r0, #0x0
- addne sp, sp, #0x4
- ldmneia sp!, {lr}
- bxne lr
- mov r2, #0x1
- mov r0, #0x0
- str r2, [r1, #0x0]
- bl OS_GetInitArenaHi
- mov r1, r0
- mov r0, #0x0
- bl OS_SetArenaHi
-_020CC61C:
- mov r0, #0x0
- bl OS_GetInitArenaLo
- mov r1, r0
- mov r0, #0x0
- bl OS_SetArenaLo
- mov r0, #0x2
- mov r1, #0x0
- bl OS_SetArenaLo
- mov r0, #0x2
- mov r1, #0x0
- bl OS_SetArenaHi
- mov r0, #0x3
- bl OS_GetInitArenaHi
- mov r1, r0
- mov r0, #0x3
- bl OS_SetArenaHi
- mov r0, #0x3
- bl OS_GetInitArenaLo
- mov r1, r0
- mov r0, #0x3
- bl OS_SetArenaLo
- mov r0, #0x4
- bl OS_GetInitArenaHi
- mov r1, r0
- mov r0, #0x4
- bl OS_SetArenaHi
- mov r0, #0x4
- bl OS_GetInitArenaLo
- mov r1, r0
- mov r0, #0x4
- bl OS_SetArenaLo
- mov r0, #0x5
- bl OS_GetInitArenaHi
- mov r1, r0
- mov r0, #0x5
- bl OS_SetArenaHi
- mov r0, #0x5
- bl OS_GetInitArenaLo
- mov r1, r0
- mov r0, #0x5
- bl OS_SetArenaLo
- mov r0, #0x6
- bl OS_GetInitArenaHi
- mov r1, r0
- mov r0, #0x6
- bl OS_SetArenaHi
- mov r0, #0x6
- bl OS_GetInitArenaLo
- mov r1, r0
- mov r0, #0x6
- bl OS_SetArenaLo
- add sp, sp, #0x4
- ldmfd sp!, {lr}
- bx lr
-_020CC6F4: .word OSi_Initialized
-
- arm_func_start OS_FreeToHeap
-OS_FreeToHeap: ; 0x020CC6F8
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- mov r7, r0
- mov r5, r1
- mov r4, r2
- bl OS_DisableInterrupts
- ldr r1, _020CC768 ; =OSi_HeapInfo
- mov r6, r0
- ldr r0, [r1, r7, lsl #0x2]
- cmp r5, #0x0
- ldrlt r5, [r0, #0x0]
- ldr r1, [r0, #0x10]
- mov r0, #0xc
- mla r7, r5, r0, r1
- sub r4, r4, #0x20
- ldr r0, [r7, #0x8]
- mov r1, r4
- bl DLExtract
- str r0, [r7, #0x8]
- ldr r0, [r7, #0x4]
- mov r1, r4
- bl DLInsert
- str r0, [r7, #0x4]
- mov r0, r6
- bl OS_RestoreInterrupts
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,lr}
- bx lr
- .balign 4
-_020CC768: .word OSi_HeapInfo
-
- arm_func_start OS_AllocFromHeap
-OS_AllocFromHeap: ; 0x020CC76C
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- mov r6, r0
- mov r5, r1
- mov r7, r2
- bl OS_DisableInterrupts
- ldr r1, _020CC894 ; =OSi_HeapInfo
- mov r4, r0
- ldr r1, [r1, r6, lsl #0x2]
- cmp r1, #0x0
- bne _020CC7AC
- bl OS_RestoreInterrupts
- add sp, sp, #0x4
- mov r0, #0x0
- ldmia sp!, {r4-r7,lr}
- bx lr
-_020CC7AC:
- cmp r5, #0x0
- ldrlt r5, [r1, #0x0]
- ldr r1, [r1, #0x10]
- mov r0, #0xc
- mla r6, r5, r0, r1
- ldr r0, [r6, #0x4]
- add r1, r7, #0x20
- add r1, r1, #0x1f
- mov r5, r0
- cmp r0, #0x0
- bic r7, r1, #0x1f
- beq _020CC7F4
-_020CC7DC:
- ldr r1, [r5, #0x8]
- cmp r7, r1
- ble _020CC7F4
- ldr r5, [r5, #0x4]
- cmp r5, #0x0
- bne _020CC7DC
-_020CC7F4:
- cmp r5, #0x0
- bne _020CC814
- mov r0, r4
- bl OS_RestoreInterrupts
- add sp, sp, #0x4
- mov r0, #0x0
- ldmia sp!, {r4-r7,lr}
- bx lr
-_020CC814:
- ldr r1, [r5, #0x8]
- sub r1, r1, r7
- cmp r1, #0x40
- bhs _020CC834
- mov r1, r5
- bl DLExtract
- str r0, [r6, #0x4]
- b _020CC86C
-_020CC834:
- str r7, [r5, #0x8]
- add r2, r5, r7
- str r1, [r2, #0x8]
- ldr r0, [r5, #0x0]
- str r0, [r5, r7]
- ldr r0, [r5, #0x4]
- str r0, [r2, #0x4]
- ldr r0, [r2, #0x4]
- cmp r0, #0x0
- strne r2, [r0, #0x0]
- ldr r0, [r2, #0x0]
- cmp r0, #0x0
- strne r2, [r0, #0x4]
- streq r2, [r6, #0x4]
-_020CC86C:
- ldr r0, [r6, #0x8]
- mov r1, r5
- bl DLAddFront
- str r0, [r6, #0x8]
- mov r0, r4
- bl OS_RestoreInterrupts
- add r0, r5, #0x20
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,lr}
- bx lr
- .balign 4
-_020CC894: .word OSi_HeapInfo
-
- arm_func_start DLInsert
-DLInsert: ; 0x020CC898
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- mov r12, r0
- cmp r0, #0x0
- mov lr, #0x0
- beq _020CC8C8
-_020CC8B0:
- cmp r1, r12
- bls _020CC8C8
- mov lr, r12
- ldr r12, [r12, #0x4]
- cmp r12, #0x0
- bne _020CC8B0
-_020CC8C8:
- str r12, [r1, #0x4]
- str lr, [r1, #0x0]
- cmp r12, #0x0
- beq _020CC908
- str r1, [r12, #0x0]
- ldr r3, [r1, #0x8]
- add r2, r1, r3
- cmp r2, r12
- bne _020CC908
- ldr r2, [r12, #0x8]
- add r2, r3, r2
- str r2, [r1, #0x8]
- ldr r12, [r12, #0x4]
- str r12, [r1, #0x4]
- cmp r12, #0x0
- strne r1, [r12, #0x0]
-_020CC908:
- cmp lr, #0x0
- beq _020CC950
- str r1, [lr, #0x4]
- ldr r2, [lr, #0x8]
- add r3, lr, r2
- cmp r3, r1
- addne sp, sp, #0x4
- ldmneia sp!, {lr}
- bxne lr
- ldr r1, [r1, #0x8]
- add sp, sp, #0x4
- add r1, r2, r1
- str r1, [lr, #0x8]
- str r12, [lr, #0x4]
- cmp r12, #0x0
- strne lr, [r12, #0x0]
- ldmia sp!, {lr}
- bx lr
-_020CC950:
- mov r0, r1
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-
- arm_func_start DLExtract
-DLExtract: ; 0x020CC960
- ldr r3, [r1, #0x4]
- cmp r3, #0x0
- ldrne r2, [r1, #0x0]
- strne r2, [r3, #0x0]
- ldr r2, [r1, #0x0]
- cmp r2, #0x0
- ldreq r0, [r1, #0x4]
- ldrne r1, [r1, #0x4]
- strne r1, [r2, #0x4]
- bx lr
-
- arm_func_start DLAddFront
-DLAddFront: ; 0x020CC988
- str r0, [r1, #0x4]
- mov r2, #0x0
- str r2, [r1, #0x0]
- cmp r0, #0x0
- strne r1, [r0, #0x0]
- mov r0, r1
- bx lr
-
- arm_func_start OS_GetDTCMAddress
-OS_GetDTCMAddress: ; 0x020CC9A4
- mrc p15, 0x0, r0, c9, c1, 0x0
- ldr r1, _020CC9B4 ; =0xFFFFF000
- and r0, r0, r1
- bx lr
- .balign 4
-_020CC9B4: .word 0xFFFFF000
-
- arm_func_start OS_EnableProtectionUnit
-OS_EnableProtectionUnit: ; 0x020CC9B8
- mrc p15, 0x0, r0, c1, c0, 0x0
- orr r0, r0, #0x1
- mcr p15, 0x0, r0, c1, c0, 0x0
- bx lr
-
- arm_func_start OS_DisableProtectionUnit
-OS_DisableProtectionUnit: ; 0x020CC9C8
- mrc p15, 0x0, r0, c1, c0, 0x0
- bic r0, r0, #0x1
- mcr p15, 0x0, r0, c1, c0, 0x0
- bx lr
-
- arm_func_start OS_SetDPermissionsForProtectionRegion
-OS_SetDPermissionsForProtectionRegion: ; 0x020CC9D8
- mrc p15, 0x0, r2, c5, c0, 0x2
- bic r2, r2, r0
- orr r2, r2, r1
- mcr p15, 0x0, r2, c5, c0, 0x2
- bx lr
-
- arm_func_start OS_SetProtectionRegion1
-OS_SetProtectionRegion1: ; 0x020CC9EC
- mcr p15, 0x0, r0, c6, c1, 0x0
- bx lr
-
- arm_func_start OS_SetProtectionRegion2
-OS_SetProtectionRegion2: ; 0x020CC9F4
- mcr p15, 0x0, r0, c6, c2, 0x0
- bx lr
-
- arm_func_start OSi_ExceptionHandler
-OSi_ExceptionHandler: ; 0x020CC9FC
- ldr ip, _020CCA68 ; =OSi_DebuggerHandler
- ldr r12, [r12, #0x0]
- cmp r12, #0x0
- movne lr, pc
- bxne r12
- ldr ip, _020CCA6C ; =0x02000000
- stmdb r12!, {r0-r3,sp-lr}
- and r0, sp, #0x1
- mov sp, r12
- mrs r1, cpsr
- and r1, r1, #0x1f
- teq r1, #0x17
- bne _020CCA38
- bl OSi_GetAndDisplayContext
- b _020CCA44
-_020CCA38:
- teq r1, #0x1b
- bne _020CCA44
- bl OSi_GetAndDisplayContext
-_020CCA44:
- ldr ip, _020CCA68 ; =OSi_DebuggerHandler
- ldr r12, [r12, #0x0]
- cmp r12, #0x0
-_020CCA50:
- beq _020CCA50
-_020CCA54:
- mov r0, r0
- b _020CCA54
-_020CCA5C:
- ldmia sp!, {r0-r3,ip,lr}
- mov sp, ip
- bx lr
-_020CCA68: .word OSi_DebuggerHandler
-_020CCA6C: .word 0x02000000
-
- arm_func_start OSi_GetAndDisplayContext
-OSi_GetAndDisplayContext: ; 0x020CCA70
- stmdb sp!, {r0,lr}
- bl OSi_SetExContext
- bl OSi_DisplayExContext
- ldmia sp!, {r0,lr}
- bx lr
-
- arm_func_start OSi_SetExContext
-OSi_SetExContext: ; 0x020CCA84
- ldr r1, _020CCB10 ; =OSi_ExContext
- mrs r2, cpsr
- str r2, [r1, #0x74]
- str r0, [r1, #0x6c]
- ldr r0, [r12, #0x0]
- str r0, [r1, #0x4]
- ldr r0, [r12, #0x4]
- str r0, [r1, #0x8]
- ldr r0, [r12, #0x8]
- str r0, [r1, #0xc]
- ldr r0, [r12, #0xc]
- str r0, [r1, #0x10]
- ldr r2, [r12, #0x10]
- bic r2, r2, #0x1
- add r0, r1, #0x14
- stmia r0, {r4-r11}
- str r12, [r1, #0x70]
- ldr r0, [r2, #0x0]
- str r0, [r1, #0x64]
- ldr r3, [r2, #0x4]
- str r3, [r1, #0x0]
- ldr r0, [r2, #0x8]
- str r0, [r1, #0x34]
- ldr r0, [r2, #0xc]
- str r0, [r1, #0x40]
- mrs r0, cpsr
- orr r3, r3, #0x80
- bic r3, r3, #0x20
- msr cpsr_fsxc, r3
- str sp, [r1, #0x38]
- str lr, [r1, #0x3c]
- mrs r2, spsr
- str r2, [r1, #0x7c]
- msr cpsr_fsxc, r0
- bx lr
- .balign 4
-_020CCB10: .word OSi_ExContext
-
- arm_func_start OSi_DisplayExContext
-OSi_DisplayExContext: ; 0x020CCB14
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r0, _020CCB70 ; =OSi_UserExceptionHandler
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- addeq sp, sp, #0x4
- ldmeqia sp!, {lr}
- bxeq lr
- mov r0, sp
- ldr r1, _020CCB74 ; =0x0000009F
- msr cpsr_fsxc, r1
- mov sp, r0
- bl OS_EnableProtectionUnit
- ldr r1, _020CCB78 ; =OSi_UserExceptionHandlerArg
- ldr r0, _020CCB70 ; =OSi_UserExceptionHandler
- ldr r1, [r1, #0x0]
- ldr r2, [r0, #0x0]
- ldr r0, _020CCB7C ; =OSi_ExContext
- blx r2
- bl OS_DisableProtectionUnit
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020CCB70: .word OSi_UserExceptionHandler
-_020CCB74: .word 0x0000009F
-_020CCB78: .word OSi_UserExceptionHandlerArg
-_020CCB7C: .word OSi_ExContext
-
- arm_func_start OS_InitException
-OS_InitException: ; 0x020CCB80
- ldr r0, _020CCBDC ; =0x027FFD9C
- ldr r1, [r0, #0x0]
- cmp r1, #0x2600000
- blo _020CCBA0
- cmp r1, #0x2800000
- ldrlo r0, _020CCBE0 ; =OSi_DebuggerHandler
- strcc r1, [r0, #0x0]
- blo _020CCBAC
-_020CCBA0:
- ldr r0, _020CCBE0 ; =OSi_DebuggerHandler
- mov r1, #0x0
- str r1, [r0, #0x0]
-_020CCBAC:
- ldr r0, _020CCBE0 ; =OSi_DebuggerHandler
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- ldreq r2, _020CCBE4 ; =OSi_ExceptionHandler
- ldreq r1, _020CCBDC ; =0x027FFD9C
- ldreq r0, _020CCBE8 ; =0x027E3000
- streq r2, [r1, #0x0]
- streq r2, [r0, #0xfdc]
- ldr r0, _020CCBEC ; =OSi_UserExceptionHandler
- mov r1, #0x0
- str r1, [r0, #0x0]
- bx lr
- .balign 4
-_020CCBDC: .word 0x027FFD9C
-_020CCBE0: .word OSi_DebuggerHandler
-_020CCBE4: .word OSi_ExceptionHandler
-_020CCBE8: .word 0x027E3000
-_020CCBEC: .word OSi_UserExceptionHandler
-
- arm_func_start OSi_SetTimerReserved
-OSi_SetTimerReserved: ; 0x020CCBF0
- ldr r1, _020CCC08 ; =OSi_TimerReserved
- mov r2, #0x1
- ldrh r3, [r1, #0x0]
- orr r0, r3, r2, lsl r0
- strh r0, [r1, #0x0]
- bx lr
- .balign 4
-_020CCC08: .word OSi_TimerReserved
-
- arm_func_start OS_GetTickLo
-OS_GetTickLo: ; 0x020CCC0C
- ldr r0, _020CCC18 ; =0x04000100
- ldrh r0, [r0, #0x0]
- bx lr
- .balign 4
-_020CCC18: .word 0x04000100
-
- arm_func_start OS_GetTick
-OS_GetTick: ; 0x020CCC1C
- stmdb sp!, {lr}
- sub sp, sp, #0xc
- bl OS_DisableInterrupts
- ldr r1, _020CCCBC ; =0x04000100
- ldr r3, _020CCCC0 ; =OSi_TickCounter
- ldrh r12, [r1, #0x0]
- ldr r2, _020CCCC4 ; =0x0000FFFF
- mvn r1, #0x0
- strh r12, [sp, #0x0]
- ldr r12, [r3, #0x0]
- ldr r3, [r3, #0x4]
- and r1, r12, r1
- and r2, r3, r2
- str r1, [sp, #0x4]
- ldr r1, _020CCCC8 ; =0x04000214
- str r2, [sp, #0x8]
- ldr r1, [r1, #0x0]
- ands r1, r1, #0x8
- beq _020CCC90
- ldrh r1, [sp, #0x0]
- ands r1, r1, #0x8000
- bne _020CCC90
- ldr r3, [sp, #0x4]
- mov r1, #0x1
- ldr r2, [sp, #0x8]
- adds r3, r3, r1
- adc r1, r2, #0x0
- str r3, [sp, #0x4]
- str r1, [sp, #0x8]
-_020CCC90:
- bl OS_RestoreInterrupts
- ldr r2, [sp, #0x4]
- ldr r1, [sp, #0x8]
- ldrh r0, [sp, #0x0]
- mov r1, r1, lsl #0x10
- orr r1, r1, r2, lsr #0x10
- orr r1, r1, r0, asr #0x1f
- orr r0, r0, r2, lsl #0x10
- add sp, sp, #0xc
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020CCCBC: .word 0x04000100
-_020CCCC0: .word OSi_TickCounter
-_020CCCC4: .word 0x0000FFFF
-_020CCCC8: .word 0x04000214
-
- arm_func_start OSi_CountUpTick
-OSi_CountUpTick: ; 0x020CCCCC
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r2, _020CCD40 ; =OSi_TickCounter
- ldr r1, _020CCD44 ; =OSi_NeedResetTimer
- ldr r12, [r2, #0x0]
- mov r0, #0x1
- ldr r3, [r2, #0x4]
- adds r12, r12, r0
- ldr r0, [r1, #0x0]
- adc r3, r3, #0x0
- str r12, [r2, #0x0]
- str r3, [r2, #0x4]
- cmp r0, #0x0
- mov r3, #0x0
- beq _020CCD24
- ldr r2, _020CCD48 ; =0x04000102
- ldr r0, _020CCD4C ; =0x04000100
- strh r3, [r2, #0x0]
- strh r3, [r0, #0x0]
- mov r0, #0xc1
- strh r0, [r2, #0x0]
- str r3, [r1, #0x0]
-_020CCD24:
- mov r0, #0x0
- ldr r1, _020CCD50 ; =OSi_CountUpTick
- mov r2, r0
- bl OSi_EnterTimerCallback
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020CCD40: .word OSi_TickCounter
-_020CCD44: .word OSi_NeedResetTimer
-_020CCD48: .word 0x04000102
-_020CCD4C: .word 0x04000100
-_020CCD50: .word OSi_CountUpTick
-
- arm_func_start OS_IsTickAvailable
-OS_IsTickAvailable: ; 0x020CCD54
- ldr r0, _020CCD60 ; =OSi_UseTick
- ldrh r0, [r0, #0x0]
- bx lr
- .balign 4
-_020CCD60: .word OSi_UseTick
-
- arm_func_start OS_InitTick
-OS_InitTick: ; 0x020CCD64
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r1, _020CCDE8 ; =OSi_UseTick
- ldrh r0, [r1, #0x0]
- cmp r0, #0x0
- addne sp, sp, #0x4
- ldmneia sp!, {lr}
- bxne lr
- mov r2, #0x1
- mov r0, #0x0
- strh r2, [r1, #0x0]
- bl OSi_SetTimerReserved
- ldr r0, _020CCDEC ; =OSi_TickCounter
- mov r2, #0x0
- str r2, [r0, #0x0]
- ldr r3, _020CCDF0 ; =0x04000102
- str r2, [r0, #0x4]
- ldr r0, _020CCDF4 ; =0x04000100
- strh r2, [r3, #0x0]
- ldr r1, _020CCDF8 ; =OSi_CountUpTick
- strh r2, [r0, #0x0]
- mov r2, #0xc1
- mov r0, #0x8
- strh r2, [r3, #0x0]
- bl OS_SetIrqFunction
- mov r0, #0x8
- bl OS_EnableIrqMask
- ldr r0, _020CCDFC ; =OSi_NeedResetTimer
- mov r1, #0x0
- str r1, [r0, #0x0]
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020CCDE8: .word OSi_UseTick
-_020CCDEC: .word OSi_TickCounter
-_020CCDF0: .word 0x04000102
-_020CCDF4: .word 0x04000100
-_020CCDF8: .word OSi_CountUpTick
-_020CCDFC: .word OSi_NeedResetTimer
-
- arm_func_start OSi_AlarmHandler
-OSi_AlarmHandler: ; 0x020CCE00
- stmdb sp!, {r0,lr}
- bl OSi_ArrangeTimer
- ldmia sp!, {r0,lr}
- bx lr
-
- arm_func_start OSi_ArrangeTimer
-OSi_ArrangeTimer: ; 0x020CCE10
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- ldr r1, _020CCF1C ; =0x04000106
- mov r2, #0x0
- mov r0, #0x10
- strh r2, [r1, #0x0]
- bl OS_DisableIrqMask
- ldr r0, _020CCF20 ; =0x027E0000
- add r0, r0, #0x3000
- ldr r1, [r0, #0xff8]
- orr r1, r1, #0x10
- str r1, [r0, #0xff8]
- bl OS_GetTick
- ldr r2, _020CCF24 ; =OSi_AlarmQueue
- ldr r4, [r2, #0x0]
- cmp r4, #0x0
- addeq sp, sp, #0x4
- ldmeqia sp!, {r4-r5,lr}
- bxeq lr
- ldr r3, [r4, #0x10]
- ldr r12, [r4, #0xc]
- cmp r1, r3
- cmpeq r0, r12
- bhs _020CCE84
- mov r0, r4
- bl OSi_SetTimer
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
-_020CCE84:
- ldr r1, [r4, #0x18]
- cmp r1, #0x0
- moveq r0, #0x0
- streq r0, [r2, #0x4]
- str r1, [r2, #0x0]
- movne r0, #0x0
- strne r0, [r1, #0x14]
- ldr r2, [r4, #0x1c]
- ldr r1, [r4, #0x20]
- mov r0, #0x0
- cmp r1, r0
- ldr r5, [r4, #0x0]
- cmpeq r2, r0
- streq r0, [r4, #0x0]
- cmp r5, #0x0
- beq _020CCECC
- ldr r0, [r4, #0x4]
- blx r5
-_020CCECC:
- ldr r2, [r4, #0x1c]
- ldr r0, [r4, #0x20]
- mov r1, #0x0
- cmp r0, r1
- cmpeq r2, r1
- beq _020CCEF4
- mov r0, r4
- mov r2, r1
- str r5, [r4, #0x0]
- bl OSi_InsertAlarm
-_020CCEF4:
- ldr r0, _020CCF24 ; =OSi_AlarmQueue
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- addeq sp, sp, #0x4
- ldmeqia sp!, {r4-r5,lr}
- bxeq lr
- bl OSi_SetTimer
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
- .balign 4
-_020CCF1C: .word 0x04000106
-_020CCF20: .word 0x027E0000
-_020CCF24: .word OSi_AlarmQueue
-
- arm_func_start OS_CancelAlarm
-OS_CancelAlarm: ; 0x020CCF28
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r5, r0
- bl OS_DisableInterrupts
- ldr r1, [r5, #0x0]
- mov r4, r0
- cmp r1, #0x0
- bne _020CCF58
- bl OS_RestoreInterrupts
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
-_020CCF58:
- ldr r0, [r5, #0x18]
- cmp r0, #0x0
- ldreq r2, [r5, #0x14]
- ldreq r1, _020CCFBC ; =OSi_AlarmQueue
- streq r2, [r1, #0x4]
- ldrne r1, [r5, #0x14]
- strne r1, [r0, #0x14]
- ldr r1, [r5, #0x14]
- cmp r1, #0x0
- strne r0, [r1, #0x18]
- bne _020CCF98
- ldr r1, _020CCFBC ; =OSi_AlarmQueue
- cmp r0, #0x0
- str r0, [r1, #0x0]
- beq _020CCF98
- bl OSi_SetTimer
-_020CCF98:
- mov r1, #0x0
- str r1, [r5, #0x0]
- str r1, [r5, #0x1c]
- mov r0, r4
- str r1, [r5, #0x20]
- bl OS_RestoreInterrupts
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
- .balign 4
-_020CCFBC: .word OSi_AlarmQueue
-
- arm_func_start OS_SetAlarm
-OS_SetAlarm: ; 0x020CCFC0
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- movs r6, r0
- mov r5, r1
- mov r4, r2
- mov r7, r3
- beq _020CCFE8
- ldr r0, [r6, #0x0]
- cmp r0, #0x0
- beq _020CCFEC
-_020CCFE8:
- bl OS_Terminate
-_020CCFEC:
- bl OS_DisableInterrupts
- mov r1, #0x0
- str r1, [r6, #0x1c]
- str r1, [r6, #0x20]
- str r7, [r6, #0x0]
- ldr r1, [sp, #0x18]
- mov r7, r0
- str r1, [r6, #0x4]
- bl OS_GetTick
- adds r3, r5, r0
- adc r2, r4, r1
- mov r0, r6
- mov r1, r3
- bl OSi_InsertAlarm
- mov r0, r7
- bl OS_RestoreInterrupts
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,lr}
- bx lr
-
- arm_func_start OSi_InsertAlarm
-OSi_InsertAlarm: ; 0x020CD038
- stmdb sp!, {r4-r8,lr}
- mov r8, r0
- ldr r4, [r8, #0x1c]
- ldr r3, [r8, #0x20]
- mov r0, #0x0
- cmp r3, r0
- mov r7, r1
- mov r6, r2
- cmpeq r4, r0
- beq _020CD0B4
- bl OS_GetTick
- ldr r6, [r8, #0x28]
- ldr r7, [r8, #0x24]
- cmp r6, r1
- cmpeq r7, r0
- bhs _020CD0B4
- ldr r5, [r8, #0x1c]
- ldr r4, [r8, #0x20]
- subs r0, r0, r7
- mov r2, r5
- mov r3, r4
- sbc r1, r1, r6
- bl _ll_udiv
- mov r2, #0x1
- adds r2, r0, r2
- adc r0, r1, #0x0
- umull r3, r1, r5, r2
- mla r1, r5, r0, r1
- mla r1, r4, r2, r1
- adds r7, r7, r3
- adc r6, r6, r1
-_020CD0B4:
- str r7, [r8, #0xc]
- ldr r0, _020CD174 ; =OSi_AlarmQueue
- str r6, [r8, #0x10]
- ldr r4, [r0, #0x0]
- cmp r4, #0x0
- beq _020CD134
- mov r1, #0x0
-_020CD0D0:
- ldr r2, [r4, #0xc]
- ldr r0, [r4, #0x10]
- subs r3, r7, r2
- sbc r2, r6, r0
- subs r0, r3, r1
- sbcs r0, r2, r1
- bge _020CD128
- ldr r0, [r4, #0x14]
- str r0, [r8, #0x14]
- str r8, [r4, #0x14]
- str r4, [r8, #0x18]
- ldr r0, [r8, #0x14]
- cmp r0, #0x0
- strne r8, [r0, #0x18]
- ldmneia sp!, {r4-r8,lr}
- bxne lr
- ldr r1, _020CD174 ; =OSi_AlarmQueue
- mov r0, r8
- str r8, [r1, #0x0]
- bl OSi_SetTimer
- ldmia sp!, {r4-r8,lr}
- bx lr
-_020CD128:
- ldr r4, [r4, #0x18]
- cmp r4, #0x0
- bne _020CD0D0
-_020CD134:
- ldr r1, _020CD174 ; =OSi_AlarmQueue
- mov r0, #0x0
- str r0, [r8, #0x18]
- ldr r0, [r1, #0x4]
- str r8, [r1, #0x4]
- str r0, [r8, #0x14]
- cmp r0, #0x0
- strne r8, [r0, #0x18]
- ldmneia sp!, {r4-r8,lr}
- bxne lr
- mov r0, r8
- str r8, [r1, #0x4]
- str r8, [r1, #0x0]
- bl OSi_SetTimer
- ldmia sp!, {r4-r8,lr}
- bx lr
- .balign 4
-_020CD174: .word OSi_AlarmQueue
-
- arm_func_start OS_CreateAlarm
-OS_CreateAlarm: ; 0x020CD178
- mov r1, #0x0
- str r1, [r0, #0x0]
- str r1, [r0, #0x8]
- bx lr
-
- arm_func_start OS_IsAlarmAvailable
-OS_IsAlarmAvailable: ; 0x020CD188
- ldr r0, _020CD194 ; =OSi_UseAlarm
- ldrh r0, [r0, #0x0]
- bx lr
- .balign 4
-_020CD194: .word OSi_UseAlarm
-
- arm_func_start OS_InitAlarm
-OS_InitAlarm: ; 0x020CD198
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r1, _020CD1E8 ; =OSi_UseAlarm
- ldrh r0, [r1, #0x0]
- cmp r0, #0x0
- addne sp, sp, #0x4
- ldmneia sp!, {lr}
- bxne lr
- mov r0, #0x1
- strh r0, [r1, #0x0]
- bl OSi_SetTimerReserved
- ldr r1, _020CD1EC ; =OSi_AlarmQueue
- mov r2, #0x0
- mov r0, #0x10
- str r2, [r1, #0x0]
- str r2, [r1, #0x4]
- bl OS_DisableIrqMask
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020CD1E8: .word OSi_UseAlarm
-_020CD1EC: .word OSi_AlarmQueue
-
- arm_func_start OSi_SetTimer
-OSi_SetTimer: ; 0x020CD1F0
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r4, r0
- bl OS_GetTick
- ldr r3, _020CD27C ; =0x04000106
- mov r2, #0x0
- strh r2, [r3, #0x0]
- ldr r12, [r4, #0xc]
- ldr r3, [r4, #0x10]
- subs r5, r12, r0
- sbc r4, r3, r1
- ldr r1, _020CD280 ; =OSi_AlarmHandler
- mov r0, #0x1
- bl OSi_EnterTimerCallback
- mov r2, #0x0
- subs r0, r5, r2
- sbcs r0, r4, r2
- ldrlt r2, _020CD284 ; =0x0000FFFE
- blt _020CD254
- mov r0, #0x10000
- subs r0, r5, r0
- sbcs r0, r4, r2
- mvnlt r0, r5
- movlt r0, r0, lsl #0x10
- movlt r2, r0, lsr #0x10
-_020CD254:
- ldr r0, _020CD288 ; =0x04000104
- ldr r1, _020CD27C ; =0x04000106
- strh r2, [r0, #0x0]
- mov r2, #0xc1
- mov r0, #0x10
- strh r2, [r1, #0x0]
- bl OS_EnableIrqMask
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
- .balign 4
-_020CD27C: .word 0x04000106
-_020CD280: .word OSi_AlarmHandler
-_020CD284: .word 0x0000FFFE
-_020CD288: .word 0x04000104
-
- arm_func_start OS_InitVAlarm
-OS_InitVAlarm: ; 0x020CD28C
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r2, _020CD2EC ; =OSi_UseVAlarm
- ldrh r0, [r2, #0x0]
- cmp r0, #0x0
- addne sp, sp, #0x4
- ldmneia sp!, {lr}
- bxne lr
- ldr r1, _020CD2F0 ; =OSi_VAlarmQueue
- mov r3, #0x0
- mov r12, #0x1
- mov r0, #0x4
- strh r12, [r2, #0x0]
- str r3, [r1, #0x0]
- str r3, [r1, #0x4]
- bl OS_DisableIrqMask
- ldr r1, _020CD2F4 ; =OSi_VFrameCount
- mov r2, #0x0
- ldr r0, _020CD2F8 ; =OSi_PreviousVCount
- str r2, [r1, #0x0]
- str r2, [r0, #0x0]
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020CD2EC: .word OSi_UseVAlarm
-_020CD2F0: .word OSi_VAlarmQueue
-_020CD2F4: .word OSi_VFrameCount
-_020CD2F8: .word OSi_PreviousVCount
-
- arm_func_start OS_EnableInterrupts
-OS_EnableInterrupts: ; 0x020CD2FC
- mrs r0, cpsr
- bic r1, r0, #0x80
- msr cpsr_c, r1
- and r0, r0, #0x80
- bx lr
-
- arm_func_start OS_DisableInterrupts
-OS_DisableInterrupts:
- mrs r0, cpsr
- orr r1, r0, #0x80
- msr cpsr_c, r1
- and r0, r0, #0x80
- bx lr
-
- arm_func_start OS_RestoreInterrupts
-OS_RestoreInterrupts:
- mrs r1, cpsr
- bic r2, r1, #0x80
- orr r2, r2, r0
- msr cpsr_c, r2
- and r0, r1, #0x80
- bx lr
-
- arm_func_start OS_DisableInterrupts_IrqAndFiq
-OS_DisableInterrupts_IrqAndFiq: ; 0x020CD33C
- mrs r0, cpsr
- orr r1, r0, #0xc0
- msr cpsr_c, r1
- and r0, r0, #0xc0
- bx lr
-
- arm_func_start OS_RestoreInterrupts_IrqAndFiq
-OS_RestoreInterrupts_IrqAndFiq: ; 0x020CD350
- mrs r1, cpsr
- bic r2, r1, #0xc0
- orr r2, r2, r0
- msr cpsr_c, r2
- and r0, r1, #0xc0
- bx lr
-
- arm_func_start OS_GetCpsrIrq
-OS_GetCpsrIrq: ; 0x020CD368
- mrs r0, cpsr
- and r0, r0, #0x80
- bx lr
-
- arm_func_start OS_GetProcMode
-OS_GetProcMode: ; 0x020CD374
- mrs r0, cpsr
- and r0, r0, #0x1f
- bx lr
-
- arm_func_start OS_SpinWait
-OS_SpinWait:
- subs r0, r0, #0x4
- bhs OS_SpinWait
- bx lr
-
- arm_func_start OS_WaitVBlankIntr
-OS_WaitVBlankIntr: ; 0x020CD38C
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- mov r0, #0x1
- blx SVC_WaitByLoop
- mov r0, #0x1
- mov r1, r0
- bl OS_WaitIrq
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-
- arm_func_start OS_ResetSystem
-OS_ResetSystem: ; 0x020CD3B4
- stmdb sp!, {r4,lr}
- ldr r1, _020CD42C ; =0x027FFC40
- mov r4, r0
- ldrh r0, [r1, #0x0]
- cmp r0, #0x2
- bne _020CD3D0
- bl OS_Terminate
-_020CD3D0:
- bl OS_GetLockID
- mov r0, r0, lsl #0x10
- mov r0, r0, lsr #0x10
- bl CARD_LockRom
-_020CD3E0:
- mov r0, #0x0
- bl MI_StopDma
- mov r0, #0x1
- bl MI_StopDma
- mov r0, #0x2
- bl MI_StopDma
- mov r0, #0x3
- bl MI_StopDma
- mov r0, #0x40000
- bl OS_SetIrqMask
- mvn r0, #0x0
- bl OS_ResetRequestIrqMask
- ldr r1, _020CD430
- mov r0, #0x10
- str r4, [r1]
- bl OSi_SendToPxi
- bl OSi_DoResetSystem
- ldmia sp!, {r4, lr}
- bx lr
-_020CD42C: .word 0x027FFC40
-_020CD430: .word 0x027FFC20
-
- arm_func_start OSi_SendToPxi
-OSi_SendToPxi: ; 0x020CD434
- stmdb sp!, {r4-r6,lr}
- mov r6, r0, lsl #0x8
- mov r5, #0xc
- mov r4, #0x0
-_020CD444:
- mov r0, r5
- mov r1, r6
- mov r2, r4
- bl PXI_SendWordByFifo
-_020CD454:
- cmp r0, #0x0
- bne _020CD444
- ldmia sp!, {r4-r6, lr}
- bx lr
-
- arm_func_start OSi_CommonCallback
-OSi_CommonCallback: ; OSi_CommonCallback
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- and r0, r1, #0x7f00
- mov r0, r0, lsl #0x8
- mov r0, r0, lsr #0x10
- cmp r0, #0x10
- ldreq r0, _020CD4A4 ; =OSi_IsResetOccurred
- moveq r1, #0x1
- streqh r1, [r0, #0x0]
- addeq sp, sp, #0x4
- ldmeqia sp!, {lr}
- bxeq lr
- bl OS_Terminate
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020CD4A4: .word OSi_IsResetOccurred
-
- arm_func_start OS_InitReset
-OS_InitReset: ; 0x020CD4A8
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- ldr r0, _020CD508 ; =0x021D37DC
- ldrh r1, [r0, #0x0]
- cmp r1, #0x0
- addne sp, sp, #0x4
- ldmneia sp!, {r4-r5,lr}
- bxne lr
- mov r1, #0x1
- strh r1, [r0, #0x0]
- bl PXI_Init
- mov r5, #0xc
- mov r4, #0x1
-_020CD4DC:
- mov r0, r5
- mov r1, r4
- bl PXI_IsCallbackReady
-_020CD4E8:
- cmp r0, #0x0
- beq _020CD4DC
- ldr r1, _020CD50C
- mov r0, #0xC
- bl PXI_SetFifoRecvCallback
- add sp, sp, #0x4
- ldmia sp!, {r4-r5, lr}
- bx lr
-_020CD508: .word OSi_IsInitReset
-_020CD50C: .word OSi_CommonCallback
-
- arm_func_start OS_GetOwnerRtcOffset
-OS_GetOwnerRtcOffset: ; 0x020CD510
- ldr r1, _020CD520 ; =0x027FFC80
- ldr r0, [r1, #0x68]
- ldr r1, [r1, #0x6c]
- bx lr
- .balign 4
-_020CD520: .word 0x027FFC80
-
- arm_func_start OS_GetOwnerInfo
-OS_GetOwnerInfo: ; 0x020CD524
- stmdb sp!, {r4,lr}
- ldr ip, _020CD59C ; =0x027FFC80
- mov r4, r0
- ldrh r2, [r12, #0x64]
- add r0, r12, #0x6
- add r1, r4, #0x4
- mov r2, r2, lsl #0x1d
- mov r2, r2, lsr #0x1d
- strb r2, [r4, #0x0]
- ldrb r3, [r12, #0x2]
- mov r2, #0x14
- mov r3, r3, lsl #0x1c
- mov r3, r3, lsr #0x1c
- strb r3, [r4, #0x1]
- ldrb r3, [r12, #0x3]
- strb r3, [r4, #0x2]
- ldrb r3, [r12, #0x4]
- strb r3, [r4, #0x3]
- ldrb r3, [r12, #0x1a]
- strh r3, [r4, #0x18]
- ldrb r3, [r12, #0x50]
- strh r3, [r4, #0x4e]
- bl MIi_CpuCopy16
- ldr r0, _020CD59C ; =0x027FFC80
- add r1, r4, #0x1a
- add r0, r0, #0x1c
- mov r2, #0x34
- bl MIi_CpuCopy16
- ldmia sp!, {r4,lr}
- bx lr
- .balign 4
-_020CD59C: .word 0x027FFC80
-
- arm_func_start OS_GetMacAddress
-OS_GetMacAddress: ; 0x020CD5A0
- ldr ip, _020CD5B4 ; =MI_CpuCopy8
- mov r1, r0
- ldr r0, _020CD5B8 ; =0x027FFCF4
- mov r2, #0x6
- bx r12
- .balign 4
-_020CD5B4: .word MI_CpuCopy8
-_020CD5B8: .word 0x027FFCF4
-
- arm_func_start OsCountZeroBits
-OsCountZeroBits: ; 0x020CD5BC
- clz r0, r0
- bx lr
-
- arm_func_start OSi_UnlockVram
-OSi_UnlockVram: ; 0x020CD5C4
- stmdb sp!, {r4-r10,lr}
- mov r5, r0
- mov r10, r1
- bl OS_DisableInterrupts
- ldr r4, _020CD640 ; =OSi_vramExclusive
- ldr r1, _020CD644 ; =0x000001FF
- ldr r2, [r4, #0x0]
- mov r8, r0
- and r0, r5, r2
- and r9, r0, r1
- ldr r6, _020CD648 ; =OSi_vramLockId
- mov r7, #0x1
- mov r5, #0x0
-_020CD5F8:
- mov r0, r9
- bl OsCountZeroBits
- rsbs r2, r0, #0x1f
- bmi _020CD630
- mov r1, r2, lsl #0x1
- ldrh r0, [r6, r1]
- mvn r2, r7, lsl r2
- cmp r10, r0
- ldreq r0, [r4, #0x0]
- and r9, r9, r2
- andeq r0, r0, r2
- streqh r5, [r6, r1]
- streq r0, [r4, #0x0]
- b _020CD5F8
-_020CD630:
- mov r0, r8
- bl OS_RestoreInterrupts
- ldmia sp!, {r4-r10,lr}
- bx lr
- .balign 4
-_020CD640: .word OSi_vramExclusive
-_020CD644: .word 0x000001FF
-_020CD648: .word OSi_vramLockId
-
- arm_func_start OSi_TryLockVram
-OSi_TryLockVram: ; 0x020CD64C
- stmdb sp!, {r4-r9,lr}
- sub sp, sp, #0x4
- mov r6, r0
- mov r8, r1
- bl OS_DisableInterrupts
- ldr r1, _020CD714 ; =OSi_vramExclusive
- mov r7, r0
- ldr r0, [r1, #0x0]
- and r5, r6, r0
- ldr sb, _020CD718 ; =OSi_vramLockId
- mov r4, #0x1
-_020CD678:
- mov r0, r5
- bl OsCountZeroBits
- rsbs r1, r0, #0x1f
- bmi _020CD6B8
- mov r0, r1, lsl #0x1
- ldrh r0, [r9, r0]
- mvn r1, r4, lsl r1
- cmp r8, r0
- and r5, r5, r1
- beq _020CD678
- mov r0, r7
- bl OS_RestoreInterrupts
- add sp, sp, #0x4
- mov r0, #0x0
- ldmia sp!, {r4-r9,lr}
- bx lr
-_020CD6B8:
- ldr r0, _020CD71C ; =0x000001FF
- and r6, r6, r0
- ldr r4, _020CD718 ; =OSi_vramLockId
- ldr sb, _020CD714 ; =OSi_vramExclusive
- mov r5, #0x1
-_020CD6CC:
- mov r0, r6
- bl OsCountZeroBits
- rsbs r1, r0, #0x1f
- bmi _020CD6FC
- ldr r0, [r9, #0x0]
- mvn r2, r5, lsl r1
- orr r0, r0, r5, lsl r1
- mov r1, r1, lsl #0x1
- strh r8, [r4, r1]
- str r0, [r9, #0x0]
- and r6, r6, r2
- b _020CD6CC
-_020CD6FC:
- mov r0, r7
- bl OS_RestoreInterrupts
- mov r0, #0x1
- add sp, sp, #0x4
- ldmia sp!, {r4-r9,lr}
- bx lr
- .balign 4
-_020CD714: .word OSi_vramExclusive
-_020CD718: .word OSi_vramLockId
-_020CD71C: .word 0x000001FF
-
- arm_func_start OSi_InitVramExclusive
-OSi_InitVramExclusive: ; 0x020CD720
- ldr r0, _020CD74C ; =OSi_vramExclusive
- mov r3, #0x0
- str r3, [r0, #0x0]
- ldr r0, _020CD750 ; =OSi_vramLockId
- mov r2, r3
-_020CD734:
- mov r1, r3, lsl #0x1
- add r3, r3, #0x1
- strh r2, [r0, r1]
- cmp r3, #0x9
- blt _020CD734
- bx lr
- .balign 4
-_020CD74C: .word OSi_vramExclusive
-_020CD750: .word OSi_vramLockId
-
- arm_func_start OS_GetLowEntropyData
-OS_GetLowEntropyData: ; 0x020CD754
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- ldr r1, _020CD82C ; =0x04000006
- ldr r2, _020CD830 ; =0x027FFC00
- ldrh r7, [r1, #0x0]
- add r4, r2, #0x80
- mov r6, r0
- add r5, r4, #0x74
- bl OS_GetTickLo
- orr r0, r0, r7, lsl #0x10
- str r0, [r6, #0x0]
- ldr r1, _020CD834 ; =OSi_TickCounter
- ldr r0, _020CD830 ; =0x027FFC00
- ldr r3, [r1, #0x0]
- ldrh r5, [r5, #0x4]
- ldr r2, [r1, #0x4]
- ldr r2, _020CD838 ; =0x04000600
- eor r3, r3, r5, lsl #0x10
- str r3, [r6, #0x4]
- ldr r3, [r1, #0x0]
- ldr r3, [r1, #0x4]
- ldr r1, [r4, #0x74]
- ldr r4, [r0, #0x3c]
- eor r1, r3, r1
- eor r1, r4, r1
- str r1, [r6, #0x8]
- ldr r3, [r6, #0x8]
- ldr r2, [r2, #0x0]
- add r1, r0, #0x300
- eor r2, r3, r2
- str r2, [r6, #0x8]
- ldr r2, [r0, #0x1e8]
- ldr r3, _020CD83C ; =0x04000130
- str r2, [r6, #0xc]
- ldr r4, [r0, #0x1ec]
- ldr r2, _020CD840 ; =0x027FFFA8
- str r4, [r6, #0x10]
- ldrh r4, [r1, #0x94]
- ldr r0, [r0, #0x390]
- eor r0, r0, r4, lsl #0x10
- str r0, [r6, #0x14]
- ldrh r4, [r1, #0xaa]
- ldrh r0, [r1, #0xac]
- orr r0, r0, r4, lsl #0x10
- str r0, [r6, #0x18]
- ldrh r3, [r3, #0x0]
- ldrh r0, [r2, #0x0]
- ldrh r1, [r1, #0x98]
- orr r0, r3, r0
- orr r0, r0, r1, lsl #0x10
- str r0, [r6, #0x1c]
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,lr}
- bx lr
- .balign 4
-_020CD82C: .word 0x04000006
-_020CD830: .word 0x027FFC00
-_020CD834: .word OSi_TickCounter
-_020CD838: .word 0x04000600
-_020CD83C: .word 0x04000130
-_020CD840: .word 0x027FFFA8
-
- arm_func_start OS_Halt
-OS_Halt: ; 0x020CD844
- mov r0, #0x0
- mcr p15, 0x0, r0, c7, c0, 0x4
- bx lr
-
- arm_func_start OS_Terminate
-OS_Terminate: ; 0x020CD850
- stmdb sp!, {lr}
- sub sp, sp, #0x4
-_020CD858:
- bl OS_DisableInterrupts
- bl OS_Halt
- b _020CD858
diff --git a/asm/PM_arm9.s b/asm/PM_arm9.s
deleted file mode 100644
index 331c0fa9..00000000
--- a/asm/PM_arm9.s
+++ /dev/null
@@ -1,1125 +0,0 @@
- .include "asm/macros.inc"
- .include "global.inc"
-
- .text
-
- arm_func_start PM_DeletePostSleepCallback
-PM_DeletePostSleepCallback: ; 0x020D4AE8
- ldr ip, _020D4AF8 ; =0x020D4B78
- mov r1, r0
- ldr r0, _020D4AFC ; =0x021D54E0
- bx r12
- .balign 4
-_020D4AF8: .word 0x020D4B78
-_020D4AFC: .word 0x021D54E0
-
- arm_func_start PM_DeletePreSleepCallback
-PM_DeletePreSleepCallback: ; 0x020D4B00
- ldr ip, _020D4B10 ; =0x020D4B78
- mov r1, r0
- ldr r0, _020D4B14 ; =0x021D54D8
- bx r12
- .balign 4
-_020D4B10: .word 0x020D4B78
-_020D4B14: .word 0x021D54D8
-
- arm_func_start PM_AppendPostSleepCallback
-PM_AppendPostSleepCallback: ; 0x020D4B18
- ldr ip, _020D4B28 ; =FUN_020D4BC4
- mov r1, r0
- ldr r0, _020D4B2C ; =0x021D54E0
- bx r12
- .balign 4
-_020D4B28: .word FUN_020D4BC4
-_020D4B2C: .word 0x021D54E0
-
- arm_func_start PM_PrependPreSleepCallback
-PM_PrependPreSleepCallback: ; 0x020D4B30
- ldr ip, _020D4B40 ; =FUN_020D4C0C
- mov r1, r0
- ldr r0, _020D4B44 ; =0x021D54D8
- bx r12
- .balign 4
-_020D4B40: .word FUN_020D4C0C
-_020D4B44: .word 0x021D54D8
-
- arm_func_start PMi_ExecuteList
-PMi_ExecuteList: ; 0x020D4B48
- stmdb sp!, {r4,lr}
- movs r4, r0
- ldmeqia sp!, {r4,lr}
- bxeq lr
-_020D4B58:
- ldr r0, [r4, #0x4]
- ldr r1, [r4, #0x0]
- blx r1
- ldr r4, [r4, #0x8]
- cmp r4, #0x0
- bne _020D4B58
- ldmia sp!, {r4,lr}
- bx lr
-
- arm_func_start FUN_020D4B78
-FUN_020D4B78:
- cmp r0, #0x0
- bxeq lr
- ldr r3, [r0]
- mov r2, r3
- cmp r3, #0x0
- bxeq lr
-_020D4B90:
- cmp r3, r1
- bne _020D4BB0
- cmp r3, r2
- ldreq r1, [r3, #0x8]
- streq r1, [r0]
- ldrne r0, [r3, #0x8]
- strne r0, [r2, #0x8]
- bx lr
-_020D4BB0:
- mov r2, r3
- ldr r3, [r3, #0x8]
- cmp r3, #0x0
- bne _020D4B90
- bx lr
-
- arm_func_start FUN_020D4BC4
-FUN_020D4BC4: ; 0x020D4BC4
- cmp r0, #0x0
- bxeq lr
- ldr r2, [r0, #0x0]
- cmp r2, #0x0
- moveq r2, #0x0
- streq r2, [r1, #0x8]
- streq r1, [r0, #0x0]
- bxeq lr
- ldr r0, [r2, #0x8]
- cmp r0, #0x0
- beq _020D4C00
-_020D4BF0:
- mov r2, r0
- ldr r0, [r0, #0x8]
- cmp r0, #0x0
- bne _020D4BF0
-_020D4C00:
- str r0, [r1, #0x8]
- str r1, [r2, #0x8]
- bx lr
-
- arm_func_start FUN_020D4C0C
-FUN_020D4C0C: ; 0x020D4C0C
- cmp r0, #0x0
- ldrne r2, [r0, #0x0]
- strne r2, [r1, #0x8]
- strne r1, [r0, #0x0]
- bx lr
-
- arm_func_start PM_GetLEDPattern
-PM_GetLEDPattern: ; 0x020D4C20
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r1, _020D4C58 ; =0x020D587C
- add r2, sp, #0x0
- bl PM_GetLEDPatternAsync
-_020D4C34:
- cmp r0, #0x0
- addne sp, sp, #0x4
- ldmnefd sp!, {lr}
- bxne lr
- bl PMi_WaitBusy
- ldr r0, [sp]
- add sp, sp, #0x4
- ldmfd sp!, {lr}
- bx lr
-_020D4C58: .word 0x020D587C
-
- arm_func_start PM_GetLEDPatternAsync
-PM_GetLEDPatternAsync:
- stmdb sp!, {r4-r6,lr}
- mov r6, r0
- mov r5, r1
- mov r4, r2
- bl PMi_Lock
-_020D4C70:
- cmp r0, #0x0
- moveq r0, #0x1
- ldmeqia sp!, {r4-r6,lr}
- bxeq lr
- ldr r1, _020D4CA4
- ldr r0, _020D4CA8
- str r5, [r1, #0x4]
- str r4, [r1, #0x8]
- str r6, [r1, #0xC]
- bl PMi_SendPxiData
- mov r0, #0x0
- ldmia sp!, {r4-r6,lr}
- bx lr
-_020D4CA4: .word 0x021D54E4
-_020D4CA8: .word 0x03006700
-
- arm_func_start PMi_SendLEDPatternCommand
-PMi_SendLEDPatternCommand: ; 0x020D4CAC
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r1, _020D4CE4 ; =0x020D587C
- add r2, sp, #0x0
- bl PMi_SendLEDPatternCommandAsync
-_020D4CC0:
- cmp r0, #0x0
- addne sp, sp, #0x4
- ldmnefd sp!, {lr}
- bxne lr
- bl PMi_WaitBusy
- ldr r0, [sp]
- add sp, sp, #0x4
- ldmfd sp!, {lr}
- bx lr
-_020D4CE4: .word 0x020D587C
-
- arm_func_start PMi_SendLEDPatternCommandAsync
-PMi_SendLEDPatternCommandAsync:
- stmdb sp!, {r4-r6,lr}
- mov r6, r0
- mov r5, r1
- mov r4, r2
- bl PMi_Lock
-_020D4CFC:
- cmp r0, #0x0
- moveq r0, #0x1
- ldmeqia sp!, {r4-r6,lr}
- bxeq lr
- ldr r0, _020D4D34
- ldr r1, _020D4D38
- and r2, r6, #0xff
- orr r0, r2, r0
- str r5, [r1, #0x4]
- str r4, [r1, #0x8]
- bl PMi_SendPxiData
- mov r0, #0x0
- ldmia sp!, {r4-r6,lr}
- bx lr
-_020D4D34: .word 0x03006600
-_020D4D38: .word 0x021D54E4
-
- arm_func_start PM_GetLCDPower
-PM_GetLCDPower: ; 0x020D4D3C
- ldr r0, _020D4D54 ; =0x04000304
- ldrh r0, [r0, #0x0]
- ands r0, r0, #0x1
- movne r0, #0x1
- moveq r0, #0x0
- bx lr
- .balign 4
-_020D4D54: .word 0x04000304
-
- arm_func_start PM_SetLCDPower
-PM_SetLCDPower: ; 0x020D4D58
- ldr ip, _020D4D74 ; =PMi_SetLCDPower
- mov r1, #0x0
- cmp r0, #0x1
- movne r0, #0x0
- mov r2, r1
- mov r3, #0x1
- bx r12
- .balign 4
-_020D4D74: .word PMi_SetLCDPower
-
- arm_func_start PMi_SetLCDPower
-PMi_SetLCDPower: ; 0x020D4D78
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- cmp r0, #0x0
- beq _020D4E00
- cmp r0, #0x1
- bne _020D4E4C
- cmp r2, #0x0
- bne _020D4DC0
- ldr r2, _020D4E5C ; =0x027FFC3C
- ldr r0, _020D4E60 ; =0x021D54DC
- ldr r2, [r2, #0x0]
- ldr r0, [r0, #0x0]
- sub r0, r2, r0
- cmp r0, #0x7
- addls sp, sp, #0x4
- movls r0, #0x0
- ldmlsia sp!, {lr}
- bxls lr
-_020D4DC0:
- cmp r1, #0x0
- beq _020D4DEC
- cmp r3, #0x0
- beq _020D4DDC
- mov r0, r1
- bl PMi_SetLED
- b _020D4DEC
-_020D4DDC:
- mov r0, r1
- mov r1, #0x0
- mov r2, r1
- bl PMi_SetLEDAsync
-_020D4DEC:
- ldr r1, _020D4E64 ; =0x04000304
- ldrh r0, [r1, #0x0]
- orr r0, r0, #0x1
- strh r0, [r1, #0x0]
- b _020D4E4C
-_020D4E00:
- ldr lr, _020D4E64 ; =0x04000304
- ldr r2, _020D4E5C ; =0x027FFC3C
- ldrh r12, [lr, #0x0]
- ldr r0, _020D4E60 ; =0x021D54DC
- cmp r1, #0x0
- bic r12, r12, #0x1
- strh r12, [lr, #0x0]
- ldr r2, [r2, #0x0]
- str r2, [r0, #0x0]
- beq _020D4E4C
- cmp r3, #0x0
- beq _020D4E3C
- mov r0, r1
- bl PMi_SetLED
- b _020D4E4C
-_020D4E3C:
- mov r0, r1
- mov r1, #0x0
- mov r2, r1
- bl PMi_SetLEDAsync
-_020D4E4C:
- mov r0, #0x1
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020D4E5C: .word 0x027FFC3C
-_020D4E60: .word 0x021D54DC
-_020D4E64: .word 0x04000304
-
- arm_func_start PM_GoSleepMode
-PM_GoSleepMode: ; 0x020D4E68
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0x1c
- ldr r3, _020D5084 ; =0x021D54D8
- mov r10, r0
- ldr r0, [r3, #0x0]
- mov r9, r1
- mov r11, r2
- mov r8, #0x0
- bl PMi_ExecuteList
- ldr r1, _020D5088 ; =0x04000208
- mov r0, r8
- ldrh r4, [r1, #0x0]
- strh r0, [r1, #0x0]
- bl OS_DisableInterrupts
-_020D4EA0:
- str r0, [sp]
- ldr r0, _020D508C
- bl OS_DisableIrqMask
- str r0, [sp, #0x4]
- mov r0, #0x40000
- bl OS_SetIrqMask
- ldr r0, [sp]
- bl OS_RestoreInterrupts
- ldr r2, _020D5088
- mov r1, #0x1
- ldrh r0, [r2]
- ands r0, sl, #0x8
- strh r1, [r2]
- beq _020D4EE8
- ldr r0, _020D5090
- ldrh r0, [r0]
- cmp r0, #0x2
- biceq sl, sl, #0x8
-_020D4EE8:
- ands r0, sl, #0x10
- beq _020D4EFC
- bl CTRDG_IsExisting
- cmp r0, #0x0
- biceq sl, sl, #0x10
-_020D4EFC:
- ldr r0, _020D5094
- mov r1, #0x4000000
- ldr r7, [r1]
- ldr r6, [r0]
- bl PM_GetLCDPower
- str r0, [sp, #0x8]
- add r0, sp, #0xC
- add r1, sp, #0x10
- bl PM_GetBackLight
- mov r0, #0x2
- mov r1, #0x0
- bl PM_SetBackLight
- ldr r2, _020D5098
- ldr r0, [r2]
- str r0, [sp, #0x14]
-_020D4F38:
- ldr r1, [r2]
- ldr r0, [sp, #0x14]
- cmp r0, r1
- beq _020D4F38
- ldr r0, [r2]
- mov r2, #0x4000000
- str r0, [sp, #0x14]
- ldr r0, [r2]
- ldr r1, _020D5094
- bic r0, r0, #0x30000
- str r0, [r2]
- ldr r0, [r1]
- bic r0, r0, #0x10000
- str r0, [r1]
- ldr r2, _020D5098
-_020D4F74:
- ldr r1, [r2]
- ldr r0, [sp, #0x14]
- cmp r0, r1
- beq _020D4F74
- ldr r0, [r2]
- str r0, [sp, #0x14]
- ldr r2, _020D5098
-_020D4F90:
- ldr r1, [r2]
- ldr r0, [sp, #0x14]
- cmp r0, r1
- beq _020D4F90
- ldr r0, [sp, #0xC]
- ldr r1, [sp, #0x10]
- orr r0, sl, r0, lsl #0x5
- orr r0, r0, r1, lsl #0x6
- mov r0, r0, lsl #0x10
- mov r5, r0, lsr #0x10
- orr r0, r9, fp
- mov r0, r0, lsl #0x10
- mov r9, r0, lsr #0x10
-_020D4FC4:
- mov r0, r5
- mov r1, r9
- bl PMi_SendSleepStart
- cmp r0, #0x0
- bne _020D4FC4
- bl OS_Halt
- ldr r0, _020D509C
- bl OS_SpinWait
- ands r0, sl, #0x8
- beq _020D4FFC
- ldr r0, _020D50A0
- ldr r0, [r0]
- ands r0, r0, #0x100000
- movne r8, #0x1
-_020D4FFC:
- cmp r8, #0x0
- bne _020D5040
- ldr r0, [sp, #0x8]
- cmp r0, #0x1
- bne _020D5028
- mov r0, #0x1
- mov r1, r0
- mov r2, r0
- mov r3, #0x0
- bl PMi_SetLCDPower
- b _020D5030
-_020D5028:
- mov r0, #0x1
- bl PMi_SetLED
-_020D5030:
- mov r1, #0x4000000
- ldr r0, _020D5094
- str r7, [r1]
- str r6, [r0]
-_020D5040:
- bl OS_DisableInterrupts
- ldr r0, [sp, #0x4]
- bl OS_SetIrqMask
- ldr r0, [sp]
- bl OS_RestoreInterrupts
- ldr r1, _020D5088
- cmp r8, #0x0
- ldrh r0, [r1]
- strh r4, [r1]
- beq _020D506C
- bl PM_ForceToPowerOff
-_020D506C:
- ldr r0, _020D50A4
- ldr r0, [r0]
- bl PMi_ExecuteList
- add sp, sp, #0x1C
- ldmia sp!, {r4-r11, lr}
- bx lr
-_020D5084: .word 0x021D54D8
-_020D5088: .word 0x04000208
-_020D508C: .word 0x003FFFFF
-_020D5090: .word 0x027FFC40
-_020D5094: .word 0x04001000
-_020D5098: .word 0x027FFC3C
-_020D509C: .word 0x00996A00
-_020D50A0: .word 0x04000214
-_020D50A4: .word 0x021D54E0
-
-
- arm_func_start PMi_SendPxiData
-PMi_SendPxiData: ; 0x020D50A8
- stmdb sp!, {r4-r6,lr}
- mov r6, r0
- mov r5, #0x8
- mov r4, #0x0
-_020D50B8:
- mov r0, r5
- mov r1, r6
- mov r2, r4
- bl PXI_SendWordByFifo
-_020D50C8:
- cmp r0, #0
- bne _020D50B8
- ldmia sp!, {r4-r6, lr}
- bx lr
-
- arm_func_start PM_GetBackLight
-PM_GetBackLight: ; 0x020D50D8
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r4, r1
- mov r5, r0
- add r1, sp, #0x0
- mov r0, #0x0
- bl PMi_ReadRegister
-_020D50F4:
- cmp r0, #0x0
- addne sp, sp, #0x4
- ldmneia sp!, {r4-r5,lr}
- bxne lr
- cmp r5, #0x0
- beq _020D5120
- ldrh r1, [sp]
- ands r1, r1, #0x8
- movne r1, #0x1
- moveq r1, #0x0
- str r1, [r5]
-_020D5120:
- cmp r4, #0x0
- addeq sp, sp, #0x4
- ldmeqia sp!, {r4-r5,lr}
- bxeq lr
- ldrh r1, [sp]
- ands r1, r1, #0x4
- movne r1, #0x1
- moveq r1, #0x0
- str r1, [r4]
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
-
- arm_func_start PM_SetAmpGain
-PM_SetAmpGain: ; 0x020D5150
- ldr ip, _020D5164 ; =FUN_020D53DC
- mov r0, r0, lsl #0x10
- mov r1, r0, lsr #0x10
- mov r0, #0x3
- bx r12
- .balign 4
-_020D5164: .word FUN_020D53DC
-
- arm_func_start PM_SetAmp
-PM_SetAmp: ; 0x020D5168
- ldr ip, _020D517C ; =FUN_020D53DC
- mov r0, r0, lsl #0x10
- mov r1, r0, lsr #0x10
- mov r0, #0x2
- bx r12
- .balign 4
-_020D517C: .word FUN_020D53DC
-
- arm_func_start PM_ForceToPowerOff
-PM_ForceToPowerOff: ; 0x020D5180
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r0, _020D51B8 ; =PMi_DummyCallback
- add r1, sp, #0x0
- bl PM_ForceToPowerOffAsync
-_020D5194: ; 0x020D5194
- cmp r0, #0x0
- addne sp, sp, #0x4
- ldmneia sp!, {lr}
- bxne lr
- bl PMi_WaitBusy
-_020D51A8: ; 0x020D51A8
- ldr r0, [sp, #0x0]
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020D51B8: .word PMi_DummyCallback
-
- arm_func_start PM_ForceToPowerOffAsync
-PM_ForceToPowerOffAsync:
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0xc
- mov r7, r0
- ldr r0, _020D5268 ; =0x00996A00
- mov r6, r1
- bl OS_SpinWait
- bl PM_GetLCDPower
- cmp r0, #0x1
- beq _020D524C
- add r0, sp, #0x0
- add r1, sp, #0x4
- bl PM_GetBackLight
-_020D51EC: ; 0x020D51EC
- ldr r0, [sp, #0x0]
- cmp r0, #0x0
- beq _020D5204
- mov r0, #0x0
- mov r1, r0
- bl PM_SetBackLight
-_020D5204:
- ldr r0, [sp, #0x4]
- cmp r0, #0x0
- beq _020D521C
- mov r0, #0x1
- mov r1, #0x0
- bl PM_SetBackLight
-_020D521C:
- mov r0, #0x1
- bl PM_SetLCDPower
-_020D5224: ; 0x020D5224
- cmp r0, #0x0
- bne _020D524C
- ldr r5, _020D5268 ; =0x00996A00
- mov r4, #0x1
-_020D5234:
- mov r0, r5
- bl OS_SpinWait
- mov r0, r4
- bl PM_SetLCDPower
-_020D5244: ; 0x020D5244
- cmp r0, #0x0
- beq _020D5234
-_020D524C:
- mov r1, r7
- mov r2, r6
- mov r0, #0xe
- bl PM_SendUtilityCommandAsync
- add sp, sp, #0xc
- ldmia sp!, {r4-r7,lr}
- bx lr
- .balign 4
-_020D5268: .word 0x00996A00
-
- arm_func_start PM_SetBackLight
-PM_SetBackLight: ; 0x020D526C
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r2, _020D52A4 ; =PMi_DummyCallback
- add r3, sp, #0x0
- bl PM_SetBackLightAsync
-_020D5280: ; 0x020D5280
- cmp r0, #0x0
- addne sp, sp, #0x4
- ldmneia sp!, {lr}
- bxne lr
- bl PMi_WaitBusy
-_020D5294: ; 0x020D5294
- ldr r0, [sp, #0x0]
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020D52A4: .word PMi_DummyCallback
-
- arm_func_start PM_SetBackLightAsync
-PM_SetBackLightAsync:
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- cmp r0, #0x0
- mov r12, #0x0
- bne _020D52D0
- cmp r1, #0x1
- moveq r12, #0x6
- cmp r1, #0x0
- moveq r12, #0x7
- b _020D5304
-_020D52D0:
- cmp r0, #0x1
- bne _020D52EC
- cmp r1, #0x1
- moveq r12, #0x4
- cmp r1, #0x0
- moveq r12, #0x5
- b _020D5304
-_020D52EC:
- cmp r0, #0x2
- bne _020D5304
- cmp r1, #0x1
- moveq r12, #0x8
- cmp r1, #0x0
- moveq r12, #0x9
-_020D5304:
- cmp r12, #0x0
- addeq sp, sp, #0x4
- ldreq r0, _020D5334 ; =0x0000FFFF
- ldmeqia sp!, {lr}
- bxeq lr
- mov r1, r2
- mov r0, r12
- mov r2, r3
- bl PM_SendUtilityCommandAsync
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020D5334: .word 0x0000FFFF
-
- arm_func_start PMi_SetLED
-PMi_SetLED: ; 0x020D5338
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r1, _020D5370 ; =PMi_DummyCallback
- add r2, sp, #0x0
- bl PMi_SetLEDAsync
-_020D534C: ; 0x020D534C
- cmp r0, #0x0
- addne sp, sp, #0x4
- ldmneia sp!, {lr}
- bxne lr
- bl PMi_WaitBusy
-_020D5360: ; 0x020D5360
- ldr r0, [sp, #0x0]
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020D5370: .word PMi_DummyCallback
-
- arm_func_start PMi_SetLEDAsync
-PMi_SetLEDAsync:
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- cmp r0, #0x1
- beq _020D5398
- cmp r0, #0x2
- beq _020D53A8
- cmp r0, #0x3
- beq _020D53A0
- b _020D53B0
-_020D5398:
- mov r0, #0x1
- b _020D53B4
-_020D53A0:
- mov r0, #0x2
- b _020D53B4
-_020D53A8:
- mov r0, #0x3
- b _020D53B4
-_020D53B0:
- mov r0, #0x0
-_020D53B4:
- cmp r0, #0x0
- addeq sp, sp, #0x4
- ldreq r0, _020D53D8 ; =0x0000FFFF
- ldmeqia sp!, {lr}
- bxeq lr
- bl PM_SendUtilityCommandAsync
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020D53D8: .word 0x0000FFFF
-
- arm_func_start FUN_020D53DC
-FUN_020D53DC: ; 0x020D53DC
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r2, _020D5414 ; =PMi_DummyCallback
- add r3, sp, #0x0
- bl PMi_WriteRegisterAsync
-_020D53F0: ; 0x020D53F0
- cmp r0, #0x0
- addne sp, sp, #0x4
- ldmneia sp!, {lr}
- bxne lr
- bl PMi_WaitBusy
-_020D5404: ; 0x020D5404
- ldr r0, [sp, #0x0]
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020D5414: .word PMi_DummyCallback
-
- arm_func_start PMi_WriteRegisterAsync
-PMi_WriteRegisterAsync:
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- mov r7, r0
- mov r4, r1
- mov r6, r2
- mov r5, r3
- bl PMi_Lock
-_020D5434: ; 0x020D5434
- cmp r0, #0x0
- addeq sp, sp, #0x4
- moveq r0, #0x1
- ldmeqia sp!, {r4-r7,lr}
- bxeq lr
- ldr r0, _020D5488 ; =0x02006400
- ldr r1, _020D548C ; =0x021D54E4
- and r2, r7, #0xff
- orr r0, r2, r0
- str r6, [r1, #0x4]
- str r5, [r1, #0x8]
- bl PMi_SendPxiData
- ldr r0, _020D5490 ; =0x0000FFFF
- ldr r1, _020D5494 ; =0x01010000
- and r0, r4, r0
- orr r0, r0, r1
- bl PMi_SendPxiData
-_020D5478: ; 0x020D5478
- mov r0, #0x0
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,lr}
- bx lr
- .balign 4
-_020D5488: .word 0x02006400
-_020D548C: .word 0x021D54E4
-_020D5490: .word 0x0000FFFF
-_020D5494: .word 0x01010000
-
- arm_func_start PMi_ReadRegister
-PMi_ReadRegister:
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r2, _020D54D0 ; =PMi_DummyCallback
- add r3, sp, #0x0
- bl PMi_ReadRegisterAsync
-_020D54AC: ; 0x020D54AC
- cmp r0, #0x0
- addne sp, sp, #0x4
- ldmneia sp!, {lr}
- bxne lr
- bl PMi_WaitBusy
-_020D54C0: ; 0x020D54C0
- ldr r0, [sp, #0x0]
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020D54D0: .word PMi_DummyCallback
-
- arm_func_start PMi_ReadRegisterAsync
-PMi_ReadRegisterAsync:
- stmdb sp!, {r4-r8,lr}
- mov r7, r0
- mov r6, r1
- mov r5, r2
- mov r4, r3
- bl PMi_Lock
-_020D54EC: ; 0x020D54EC
- cmp r0, #0x0
- moveq r0, #0x1
- ldmeqia sp!, {r4-r8,lr}
- bxeq lr
- ldr ip, _020D553C ; =0x021D550C
- ldr r1, _020D5540 ; =0x021D54E4
- ldr r0, _020D5544 ; =0x03006500
- and r2, r7, #0xff
- mov lr, r7, lsl #0x3
- mov r8, #0x0
- ldr r3, _020D5548 ; =0x021D5510
- strh r8, [r12, lr]
- orr r0, r2, r0
- str r5, [r1, #0x4]
- str r4, [r1, #0x8]
- str r6, [r3, r7, lsl #0x3]
- bl PMi_SendPxiData
- mov r0, r8
- ldmia sp!, {r4-r8,lr}
- bx lr
- .balign 4
-_020D553C: .word 0x021D550C
-_020D5540: .word 0x021D54E4
-_020D5544: .word 0x03006500
-_020D5548: .word 0x021D5510
-
- arm_func_start PM_SendUtilityCommandAsync
-PM_SendUtilityCommandAsync: ; 0x020D554C
- stmdb sp!, {r4-r6,lr}
- mov r4, r0
- mov r6, r1
- mov r5, r2
- bl PMi_Lock
-_020D5560: ; 0x020D5560
- cmp r0, #0x0
- moveq r0, #0x1
- ldmeqia sp!, {r4-r6,lr}
- bxeq lr
- mov r2, r4, lsr #0x10
- ldr r1, _020D55B0 ; =0x021D54E4
- ldr r0, _020D55B4 ; =0x02006300
- and r2, r2, #0xff
- orr r0, r2, r0
- str r6, [r1, #0x4]
- str r5, [r1, #0x8]
- bl PMi_SendPxiData
- ldr r0, _020D55B8 ; =0x0000FFFF
- ldr r1, _020D55BC ; =0x01010000
- and r0, r4, r0
- orr r0, r0, r1
- bl PMi_SendPxiData
-_020D55A4: ; 0x020D55A4
- mov r0, #0x0
- ldmia sp!, {r4-r6,lr}
- bx lr
- .balign 4
-_020D55B0: .word 0x021D54E4
-_020D55B4: .word 0x02006300
-_020D55B8: .word 0x0000FFFF
-_020D55BC: .word 0x01010000
-
- arm_func_start PMi_SendSleepStart
-PMi_SendSleepStart: ; 0x020D55C0
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r5, r0
- mov r4, r1
- bl PMi_Lock
-_020D55D4: ; 0x020D55D4
- cmp r0, #0x0
- addeq sp, sp, #0x4
- moveq r0, #0x1
- ldmeqia sp!, {r4-r5,lr}
- bxeq lr
- ldr r1, _020D5660 ; =0x021D54D0
- mov r2, #0x0
- ldr r0, _020D5664 ; =0x03006000
- str r2, [r1, #0x0]
- bl PMi_SendPxiData
- ldr r1, _020D5660 ; =0x021D54D0
-_020D5600:
- ldr r0, [r1, #0x0]
- cmp r0, #0x0
- beq _020D5600
- mov r0, #0x0
- ldr ip, _020D5668 ; =0x021D54D4
- str r0, [r1, #0x0]
- mov r2, r0
- mov r3, r0
- mov r1, #0x2
- str r0, [r12, #0x0]
- bl PMi_SetLCDPower
- ldr r0, _020D566C ; =0x02006100
- and r1, r5, #0xff
- orr r0, r1, r0
- bl PMi_SendPxiData
- ldr r0, _020D5670 ; =0x0000FFFF
- ldr r1, _020D5674 ; =0x01010000
- and r0, r4, r0
- orr r0, r0, r1
- bl PMi_SendPxiData
-_020D5650: ; 0x020D5650
- mov r0, #0x0
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
- .balign 4
-_020D5660: .word 0x021D54D0
-_020D5664: .word 0x03006000
-_020D5668: .word 0x021D54D4
-_020D566C: .word 0x02006100
-_020D5670: .word 0x0000FFFF
-_020D5674: .word 0x01010000
-
- arm_func_start PMi_CommonCallback
-PMi_CommonCallback: ; 0x020D5678
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- cmp r2, #0x0
- beq _020D569C
- mov r0, #0x2
- bl PMi_CallCallbackAndUnlock
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-_020D569C:
- and r0, r1, #0x7f00
- mov r0, r0, lsl #0x8
- and r1, r1, #0xff
- mov r2, r0, lsr #0x10
- mov r0, r1, lsl #0x10
- cmp r2, #0x70
- mov r0, r0, lsr #0x10
- blo _020D56FC
- cmp r2, #0x74
- bhi _020D56FC
- ldr r1, _020D5750 ; =0x021D5510
- sub r2, r2, #0x70
- and r0, r0, #0xff
- ldr r1, [r1, r2, lsl #0x3]
- mov r0, r0, lsl #0x10
- mov r0, r0, lsr #0x10
- cmp r1, #0x0
- strneh r0, [r1, #0x0]
- mov r1, r2, lsl #0x3
- ldr r0, _020D5754 ; =0x021D550C
- mov r2, #0x1
- strh r2, [r0, r1]
- mov r0, #0x0
- b _020D5740
-_020D56FC:
- cmp r2, #0x60
- ldreq r1, _020D5758 ; =0x021D54D0
- moveq r2, #0x1
- streq r2, [r1, #0x0]
- beq _020D5740
- cmp r2, #0x62
- ldreq r1, _020D575C ; =0x021D54D4
- moveq r2, #0x1
- streq r2, [r1, #0x0]
- beq _020D5740
- cmp r2, #0x67
- bne _020D5740
- ldr r1, _020D5760 ; =0x021D54E4
- ldr r1, [r1, #0xc]
- cmp r1, #0x0
- strne r0, [r1, #0x0]
- mov r0, #0x0
-_020D5740:
- bl PMi_CallCallbackAndUnlock
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020D5750: .word 0x021D5510
-_020D5754: .word 0x021D550C
-_020D5758: .word 0x021D54D0
-_020D575C: .word 0x021D54D4
-_020D5760: .word 0x021D54E4
-
- arm_func_start PM_Init
-PM_Init: ; 0x020D5764
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- ldr r1, _020D580C ; =0x021D54CC
- ldrh r0, [r1, #0x0]
- cmp r0, #0x0
- addne sp, sp, #0x4
- ldmneia sp!, {r4-r5,lr}
- bxne lr
- ldr r0, _020D5810 ; =0x021D54E4
- mov r2, #0x0
- mov r3, #0x1
- strh r3, [r1, #0x0]
- str r2, [r0, #0x0]
- str r2, [r0, #0x4]
- bl PXI_Init
- mov r5, #0x8
- mov r4, #0x1
-_020D57A8:
- mov r0, r5
- mov r1, r4
- bl PXI_IsCallbackReady
-_020D57B4: ; 0x020D57B4
- cmp r0, #0x0
- beq _020D57A8
- ldr r1, _020D5814 ; =PMi_CommonCallback
- mov r0, #0x8
- bl PXI_SetFifoRecvCallback
- mov r3, #0x0
- ldr r0, _020D5818 ; =0x021D550C
- mov r2, r3
-_020D57D4:
- mov r1, r3, lsl #0x3
- add r3, r3, #0x1
- strh r2, [r0, r1]
- cmp r3, #0x5
- blt _020D57D4
- ldr r0, _020D581C ; =0x021D54F4
- bl OS_InitMutex
- ldr r1, _020D5820 ; =0x027FFC3C
- ldr r0, _020D5824 ; =0x021D54DC
- ldr r1, [r1, #0x0]
- str r1, [r0, #0x0]
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
- .balign 4
-_020D580C: .word 0x021D54CC
-_020D5810: .word 0x021D54E4
-_020D5814: .word PMi_CommonCallback
-_020D5818: .word 0x021D550C
-_020D581C: .word 0x021D54F4
-_020D5820: .word 0x027FFC3C
-_020D5824: .word 0x021D54DC
-
- arm_func_start PMi_CallCallbackAndUnlock
-PMi_CallCallbackAndUnlock: ; 0x020D5828
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r2, _020D5878 ; =0x021D54E4
- ldr r1, [r2, #0x0]
- ldr r12, [r2, #0x4]
- cmp r1, #0x0
- movne r3, #0x0
- strne r3, [r2, #0x0]
- cmp r12, #0x0
- addeq sp, sp, #0x4
- ldr r1, [r2, #0x8]
- ldmeqia sp!, {lr}
- bxeq lr
- ldr r2, _020D5878 ; =0x021D54E4
- mov r3, #0x0
- str r3, [r2, #0x4]
- blx r12
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020D5878: .word 0x021D54E4
-
- arm_func_start PMi_DummyCallback
-PMi_DummyCallback: ; 0x020D587C
- str r0, [r1, #0x0]
- bx lr
-
- arm_func_start PMi_WaitBusy
-PMi_WaitBusy:
- stmdb sp!, {r4,lr}
- ldr r4, _020D58C0 ; =0x021D54E4
- ldr r0, [r4, #0x0]
- cmp r0, #0x0
- ldmeqia sp!, {r4,lr}
- bxeq lr
-_020D589C:
- bl OS_GetCpsrIrq
- cmp r0, #0x80
- bne _020D58AC
- bl PXIi_HandlerRecvFifoNotEmpty
-_020D58AC:
- ldr r0, [r4, #0x0]
- cmp r0, #0x0
- bne _020D589C
- ldmia sp!, {r4,lr}
- bx lr
- .balign 4
-_020D58C0: .word 0x021D54E4
-
- arm_func_start PMi_Lock
-PMi_Lock:
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- bl OS_DisableInterrupts
- ldr r1, _020D5910 ; =0x021D54E4
- ldr r2, [r1, #0x0]
- cmp r2, #0x0
- beq _020D58F4
- bl OS_RestoreInterrupts
- add sp, sp, #0x4
- mov r0, #0x0
- ldmia sp!, {lr}
- bx lr
-_020D58F4:
- mov r2, #0x1
- str r2, [r1, #0x0]
- bl OS_RestoreInterrupts
- mov r0, #0x1
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020D5910: .word 0x021D54E4
diff --git a/asm/PXI_arm9.s b/asm/PXI_arm9.s
deleted file mode 100644
index ab3af5de..00000000
--- a/asm/PXI_arm9.s
+++ /dev/null
@@ -1,266 +0,0 @@
- .include "asm/macros.inc"
- .include "global.inc"
- .section .text
-
- arm_func_start PXI_Init
-PXI_Init: ; 0x020CFBB0
- ldr ip, _020CFBB8 ; =PXI_InitFifo
- bx r12
- .balign 4
-_020CFBB8: .word PXI_InitFifo
-
- arm_func_start PXIi_HandlerRecvFifoNotEmpty
-PXIi_HandlerRecvFifoNotEmpty: ; 0x020CFBBC
- stmdb sp!, {r4-r10,lr}
- sub sp, sp, #0x8
- ldr sl, _020CFCD4 ; =0x04000184
- ldr r5, _020CFCD8 ; =0x021D5368
- ldr r4, _020CFCDC ; =0x04000188
- mov r7, #0x4100000
- mov r6, #0x0
- mvn r8, #0x3
- mvn r9, #0x2
-_020CFBE0:
- ldrh r0, [r10, #0x0]
- ands r0, r0, #0x4000
- ldrneh r0, [r10, #0x0]
- movne r1, r9
- orrne r0, r0, #0xc000
- strneh r0, [r10, #0x0]
- bne _020CFC28
- bl OS_DisableInterrupts
- ldrh r1, [r10, #0x0]
- ands r1, r1, #0x100
- beq _020CFC18
- bl OS_RestoreInterrupts
- mov r1, r8
- b _020CFC28
-_020CFC18:
- ldr r1, [r7, #0x0]
- str r1, [sp, #0x0]
- bl OS_RestoreInterrupts
- mov r1, r6
-_020CFC28:
- cmp r1, r8
- addeq sp, sp, #0x8
- ldmeqia sp!, {r4-r10,lr}
- bxeq lr
- mvn r0, #0x2
- cmp r1, r0
- beq _020CFBE0
- ldr r1, [sp, #0x0]
- mov r0, r1, lsl #0x1b
- movs r0, r0, lsr #0x1b
- beq _020CFBE0
- ldr r3, [r5, r0, lsl #0x2]
- cmp r3, #0x0
- beq _020CFC74
- mov r2, r1, lsl #0x1a
- mov r1, r1, lsr #0x6
- mov r2, r2, lsr #0x1f
- blx r3
- b _020CFBE0
-_020CFC74:
- mov r0, r1, lsl #0x1a
- movs r0, r0, lsr #0x1f
- bne _020CFBE0
- orr r0, r1, #0x20
- str r0, [sp, #0x0]
- ldrh r0, [r10, #0x0]
- ands r0, r0, #0x4000
- ldrneh r0, [r10, #0x0]
- orrne r0, r0, #0xc000
- strneh r0, [r10, #0x0]
- bne _020CFBE0
- bl OS_DisableInterrupts
- ldrh r1, [r10, #0x0]
- ands r1, r1, #0x2
- beq _020CFCB8
- bl OS_RestoreInterrupts
- b _020CFBE0
-_020CFCB8:
- ldr r1, [sp, #0x0]
- str r1, [r4, #0x0]
- bl OS_RestoreInterrupts
- b _020CFBE0
-_020CFCC8:
- add sp, sp, #0x8
- ldmia sp!, {r4-r10, lr}
- bx lr
-_020CFCD4: .word 0x04000184
-_020CFCD8: .word 0x021D5368
-_020CFCDC: .word 0x04000188
-
- arm_func_start PXI_SendWordByFifo
-PXI_SendWordByFifo:
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r3, [sp, #0x0]
- and r0, r0, #0x1f
- bic r3, r3, #0x1f
- orr r12, r3, r0
- bic r3, r12, #0x20
- and r0, r2, #0x1
- orr r3, r3, r0, lsl #0x5
- str r12, [sp, #0x0]
- and r2, r3, #0x3f
- bic r0, r1, #0xfc000000
- orr r0, r2, r0, lsl #0x6
- str r3, [sp, #0x0]
- ldr r2, _020CFD8C ; =0x04000184
- str r0, [sp, #0x0]
- ldrh r0, [r2, #0x0]
- ands r0, r0, #0x4000
- ldrneh r1, [r2, #0x0]
- addne sp, sp, #0x4
- mvnne r0, #0x0
- orrne r1, r1, #0xc000
- strneh r1, [r2, #0x0]
- ldmneia sp!, {lr}
- bxne lr
- bl OS_DisableInterrupts
- ldr r1, _020CFD8C ; =0x04000184
- ldrh r1, [r1, #0x0]
- ands r1, r1, #0x2
- beq _020CFD6C
- bl OS_RestoreInterrupts
- add sp, sp, #0x4
- mvn r0, #0x1
- ldmia sp!, {lr}
- bx lr
-_020CFD6C:
- ldr r2, [sp, #0x0]
- ldr r1, _020CFD90 ; =0x04000188
- str r2, [r1, #0x0]
- bl OS_RestoreInterrupts
-_020CFD7C:
- mov r0, #0x0
- add sp, sp, #0x4
- ldmfd sp!, {lr}
- bx lr
-_020CFD8C: .word 0x04000184
-_020CFD90: .word 0x04000188
-
- arm_func_start PXI_IsCallbackReady
-PXI_IsCallbackReady:
- ldr r2, _020CFDB8 ; =0x027FFC00
- mov r3, #0x1
- add r1, r2, r1, lsl #0x2
- mov r2, r3, lsl r0
- ldr r0, [r1, #0x388]
- ands r0, r2, r0
- moveq r3, #0x0
- mov r0, r3
- bx lr
- .balign 4
-_020CFDB8: .word 0x027FFC00
-
- arm_func_start PXI_SetFifoRecvCallback
-PXI_SetFifoRecvCallback: ; 0x020CFDBC
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r4, r0
- mov r5, r1
- bl OS_DisableInterrupts
- ldr r1, _020CFE20 ; =0x021D5368
- cmp r5, #0x0
- str r5, [r1, r4, lsl #0x2]
- beq _020CFDF8
- ldr r3, _020CFE24 ; =0x027FFC00
- mov r1, #0x1
- ldr r2, [r3, #0x388]
- orr r1, r2, r1, lsl r4
- str r1, [r3, #0x388]
- b _020CFE10
-_020CFDF8:
- ldr r3, _020CFE24 ; =0x027FFC00
- mov r1, #0x1
- mvn r1, r1, lsl r4
- ldr r2, [r3, #0x388]
- and r1, r2, r1
- str r1, [r3, #0x388]
-_020CFE10:
- bl OS_RestoreInterrupts
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
- .balign 4
-_020CFE20: .word 0x021D5368
-_020CFE24: .word 0x027FFC00
-
- arm_func_start PXI_InitFifo
-PXI_InitFifo: ; 0x020CFE28
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- bl OS_DisableInterrupts
- ldr r1, _020CFF18 ; =0x021D5364
- mov r4, r0
- ldrh r0, [r1, #0x0]
- cmp r0, #0x0
- bne _020CFF04
- mov r2, #0x1
- ldr r0, _020CFF1C ; =0x027FFC00
- strh r2, [r1, #0x0]
- mov r2, #0x0
- str r2, [r0, #0x388]
- ldr r0, _020CFF20 ; =0x021D5368
- mov r1, r2
-_020CFE64:
- str r1, [r0, r2, lsl #0x2]
- add r2, r2, #0x1
- cmp r2, #0x20
- blt _020CFE64
- ldr r2, _020CFF24 ; =0x0000C408
- ldr r1, _020CFF28 ; =0x04000184
- mov r0, #0x40000
- strh r2, [r1, #0x0]
- bl OS_ResetRequestIrqMask
- ldr r1, _020CFF2C ; =PXIi_HandlerRecvFifoNotEmpty
- mov r0, #0x40000
- bl OS_SetIrqFunction
- mov r0, #0x40000
- bl OS_EnableIrqMask
- mov r12, #0x0
- ldr r3, _020CFF30 ; =0x04000180
- mov r1, r12
- mov r2, #0x3e8
-_020CFEAC:
- ldrh r0, [r3, #0x0]
- ands lr, r0, #0xf
- mov r0, lr, lsl #0x8
- strh r0, [r3, #0x0]
- bne _020CFEC8
- cmp r12, #0x4
- bgt _020CFF04
-_020CFEC8:
- ldrh r0, [r3, #0x0]
- mov r5, r2
- and r0, r0, #0xf
- cmp r0, lr
- bne _020CFEFC
-_020CFEDC:
- cmp r5, #0x0
- movle r12, r1
- ble _020CFEFC
- ldrh r0, [r3, #0x0]
- sub r5, r5, #0x1
- and r0, r0, #0xf
- cmp r0, lr
- beq _020CFEDC
-_020CFEFC:
- add r12, r12, #0x1
- b _020CFEAC
-_020CFF04:
- mov r0, r4
- bl OS_RestoreInterrupts
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
- .balign 4
-_020CFF18: .word 0x021D5364
-_020CFF1C: .word 0x027FFC00
-_020CFF20: .word 0x021D5368
-_020CFF24: .word 0x0000C408
-_020CFF28: .word 0x04000184
-_020CFF2C: .word PXIi_HandlerRecvFifoNotEmpty
-_020CFF30: .word 0x04000180
diff --git a/asm/RTC_arm9.s b/asm/RTC_arm9.s
deleted file mode 100644
index 8116f8de..00000000
--- a/asm/RTC_arm9.s
+++ /dev/null
@@ -1,1028 +0,0 @@
- .include "asm/macros.inc"
- .include "global.inc"
-
- .text
-
- arm_func_start RtcWaitBusy
-RtcWaitBusy: ; 0x020D5914
- ldr ip, _020D5928 ; =0x021D5538
-_020D5918:
- ldr r0, [r12, #0x0]
- cmp r0, #0x1
- beq _020D5918
- bx lr
- .balign 4
-_020D5928: .word 0x021D5538
-
- arm_func_start RtcGetResultCallback
-RtcGetResultCallback: ; 0x020D592C
- ldr r1, _020D5938 ; =0x021D5538
- str r0, [r1, #0x20]
- bx lr
- .balign 4
-_020D5938: .word 0x021D5538
-
- arm_func_start RtcBCD2HEX
-RtcBCD2HEX: ; 0x020D593C
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r5, #0x0
- mov r3, r5
- mov r2, r5
-_020D5950:
- mov r1, r0, lsr r2
- and r1, r1, #0xf
- cmp r1, #0xa
- addcs sp, sp, #0x4
- movcs r0, #0x0
- ldmcsia sp!, {r4-r5,lr}
- bxcs lr
- add r3, r3, #0x1
- cmp r3, #0x8
- add r2, r2, #0x4
- blt _020D5950
- mov r12, #0x0
- mov lr, r12
- mov r4, #0x1
- mov r2, #0xa
-_020D598C:
- mov r1, r0, lsr lr
- and r3, r1, #0xf
- mul r1, r4, r2
- mla r5, r4, r3, r5
- add r12, r12, #0x1
- mov r4, r1
- cmp r12, #0x8
- add lr, lr, #0x4
- blt _020D598C
- mov r0, r5
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
-
- arm_func_start RtcCommonCallback
-RtcCommonCallback: ; 0x020D59C0
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- cmp r2, #0x0
- beq _020D5A30
- ldr r0, _020D5F30 ; =0x021D5538
- ldr r2, _020D5F30 ; =0x021D5538
- ldr r1, [r0, #0x18]
- ldr r4, [r2, #0x4]
- cmp r1, #0x0
- movne r1, #0x0
- strne r1, [r0, #0x18]
- ldr r0, _020D5F30 ; =0x021D5538
- ldr r1, [r0, #0x0]
- cmp r1, #0x0
- movne r1, #0x0
- strne r1, [r0, #0x0]
- cmp r4, #0x0
- addeq sp, sp, #0x4
- ldmeqia sp!, {r4-r5,lr}
- bxeq lr
- ldr r1, [r2, #0x10]
- mov r3, #0x0
- mov r0, #0x6
- str r3, [r2, #0x4]
- blx r4
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
-_020D5A30:
- and r0, r1, #0x7f00
- mov r0, r0, lsr #0x8
- and r0, r0, #0xff
- cmp r0, #0x30
- and r2, r1, #0xff
- bne _020D5A70
- ldr r0, _020D5F30 ; =0x021D5538
- ldr r0, [r0, #0x1c]
- cmp r0, #0x0
- addeq sp, sp, #0x4
- ldmeqia sp!, {r4-r5,lr}
- bxeq lr
- blx r0
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
-_020D5A70:
- cmp r2, #0x0
- bne _020D5E88
- ldr r0, _020D5F30 ; =0x021D5538
- mov r5, #0x0
- ldr r1, [r0, #0x14]
- cmp r1, #0xf
- addls pc, pc, r1, lsl #0x2
- b _020D5E74
-_020D5A90:
- b _020D5AD0
-_020D5A94:
- b _020D5B24
-_020D5A98:
- b _020D5B74
-_020D5A9C:
- b _020D5ED0
-_020D5AA0:
- b _020D5ED0
-_020D5AA4:
- b _020D5ED0
-_020D5AA8:
- b _020D5C1C
-_020D5AAC:
- b _020D5C4C
-_020D5AB0:
- b _020D5C70
-_020D5AB4:
- b _020D5D14
-_020D5AB8:
- b _020D5DC8
-_020D5ABC:
- b _020D5ED0
-_020D5AC0:
- b _020D5ED0
-_020D5AC4:
- b _020D5ED0
-_020D5AC8:
- b _020D5ED0
-_020D5ACC:
- b _020D5ED0
-_020D5AD0:
- ldr r1, _020D5F34 ; =0x027FFDE8
- ldr r4, [r0, #0x8]
- ldrb r0, [r1, #0x0]
- bl RtcBCD2HEX
- ldr r1, _020D5F34 ; =0x027FFDE8
- str r0, [r4, #0x0]
- ldr r0, [r1, #0x0]
- mov r0, r0, lsl #0x13
- mov r0, r0, lsr #0x1b
- bl RtcBCD2HEX
- ldr r1, _020D5F34 ; =0x027FFDE8
- str r0, [r4, #0x4]
- ldr r0, [r1, #0x0]
- mov r0, r0, lsl #0xa
- mov r0, r0, lsr #0x1a
- bl RtcBCD2HEX
- str r0, [r4, #0x8]
- mov r0, r4
- bl RTC_GetDayOfWeek
- str r0, [r4, #0xc]
- b _020D5ED0
-_020D5B24:
- ldr r1, _020D5F38 ; =0x027FFDEC
- ldr r4, [r0, #0x8]
- ldr r0, [r1, #0x0]
- mov r0, r0, lsl #0x1a
- mov r0, r0, lsr #0x1a
- bl RtcBCD2HEX
- ldr r1, _020D5F38 ; =0x027FFDEC
- str r0, [r4, #0x0]
- ldr r0, [r1, #0x0]
- mov r0, r0, lsl #0x11
- mov r0, r0, lsr #0x19
- bl RtcBCD2HEX
- ldr r1, _020D5F38 ; =0x027FFDEC
- str r0, [r4, #0x4]
- ldr r0, [r1, #0x0]
- mov r0, r0, lsl #0x9
- mov r0, r0, lsr #0x19
- bl RtcBCD2HEX
- str r0, [r4, #0x8]
- b _020D5ED0
-_020D5B74:
- ldr r1, _020D5F34 ; =0x027FFDE8
- ldr r4, [r0, #0x8]
- ldr r0, [r1, #0x0]
- and r0, r0, #0xff
- bl RtcBCD2HEX
- ldr r1, _020D5F34 ; =0x027FFDE8
- str r0, [r4, #0x0]
- ldr r0, [r1, #0x0]
- mov r0, r0, lsl #0x13
- mov r0, r0, lsr #0x1b
- bl RtcBCD2HEX
- ldr r1, _020D5F34 ; =0x027FFDE8
- str r0, [r4, #0x4]
- ldr r0, [r1, #0x0]
- mov r0, r0, lsl #0xa
- mov r0, r0, lsr #0x1a
- bl RtcBCD2HEX
- str r0, [r4, #0x8]
- mov r0, r4
- bl RTC_GetDayOfWeek
- ldr r1, _020D5F38 ; =0x027FFDEC
- str r0, [r4, #0xc]
- ldr r0, [r1, #0x0]
- ldr r1, _020D5F30 ; =0x021D5538
- mov r0, r0, lsl #0x1a
- mov r0, r0, lsr #0x1a
- ldr r4, [r1, #0xc]
- bl RtcBCD2HEX
- ldr r1, _020D5F38 ; =0x027FFDEC
- str r0, [r4, #0x0]
- ldr r0, [r1, #0x0]
- mov r0, r0, lsl #0x11
- mov r0, r0, lsr #0x19
- bl RtcBCD2HEX
- ldr r1, _020D5F38 ; =0x027FFDEC
- str r0, [r4, #0x4]
- ldr r0, [r1, #0x0]
- mov r0, r0, lsl #0x9
- mov r0, r0, lsr #0x19
- bl RtcBCD2HEX
- str r0, [r4, #0x8]
- b _020D5ED0
-_020D5C1C:
- ldr r1, _020D5F3C ; =0x027FFDEA
- ldr r2, [r0, #0x8]
- ldrh r0, [r1, #0x0]
- mov r0, r0, lsl #0x1c
- mov r0, r0, lsr #0x1c
- cmp r0, #0x4
- bne _020D5C44
- mov r0, #0x1
- str r0, [r2, #0x0]
- b _020D5ED0
-_020D5C44:
- str r5, [r2, #0x0]
- b _020D5ED0
-_020D5C4C:
- ldr r1, _020D5F3C ; =0x027FFDEA
- ldr r2, [r0, #0x8]
- ldrh r0, [r1, #0x0]
- mov r0, r0, lsl #0x19
- movs r0, r0, lsr #0x1f
- movne r0, #0x1
- strne r0, [r2, #0x0]
- streq r5, [r2, #0x0]
- b _020D5ED0
-_020D5C70:
- ldr r1, _020D5F38 ; =0x027FFDEC
- ldr r4, [r0, #0x8]
- ldr r0, [r1, #0x0]
- mov r0, r0, lsl #0x1d
- mov r0, r0, lsr #0x1d
- str r0, [r4, #0x0]
- ldr r0, [r1, #0x0]
- mov r0, r0, lsl #0x12
- mov r0, r0, lsr #0x1a
- bl RtcBCD2HEX
- ldr r1, _020D5F38 ; =0x027FFDEC
- str r0, [r4, #0x4]
- ldr r0, [r1, #0x0]
- mov r0, r0, lsl #0x9
- mov r0, r0, lsr #0x19
- bl RtcBCD2HEX
- str r0, [r4, #0x8]
- mov r1, r5
- ldr r0, _020D5F38 ; =0x027FFDEC
- str r1, [r4, #0xc]
- ldr r0, [r0, #0x0]
- mov r0, r0, lsl #0x18
- movs r0, r0, lsr #0x1f
- ldrne r0, [r4, #0xc]
- addne r0, r0, #0x1
- strne r0, [r4, #0xc]
- ldr r0, _020D5F38 ; =0x027FFDEC
- ldr r0, [r0, #0x0]
- mov r0, r0, lsl #0x10
- movs r0, r0, lsr #0x1f
- ldrne r0, [r4, #0xc]
- addne r0, r0, #0x2
- strne r0, [r4, #0xc]
- ldr r0, _020D5F38 ; =0x027FFDEC
- ldr r0, [r0, #0x0]
- mov r0, r0, lsl #0x8
- movs r0, r0, lsr #0x1f
- ldrne r0, [r4, #0xc]
- addne r0, r0, #0x4
- strne r0, [r4, #0xc]
- b _020D5ED0
-_020D5D14:
- ldr r3, [r0, #0x18]
- cmp r3, #0x0
- bne _020D5DC0
- ldr r1, [r0, #0x8]
- ldr r1, [r1, #0x0]
- cmp r1, #0x1
- bne _020D5D7C
- ldr r2, _020D5F3C ; =0x027FFDEA
- ldrh r1, [r2, #0x0]
- mov r1, r1, lsl #0x1c
- mov r1, r1, lsr #0x1c
- cmp r1, #0x4
- beq _020D5ED0
- add r1, r3, #0x1
- str r1, [r0, #0x18]
- ldrh r0, [r2, #0x0]
- bic r0, r0, #0xf
- orr r0, r0, #0x4
- strh r0, [r2, #0x0]
- bl RTCi_WriteRawStatus2Async
-_020D5D64: ; 0x020D5D64
- cmp r0, #0x0
- moveq r1, r5
- ldreq r0, _020D5F30 ; =0x021D5538
- moveq r5, #0x3
- streq r1, [r0, #0x18]
- b _020D5ED0
-_020D5D7C:
- ldr r2, _020D5F3C ; =0x027FFDEA
- ldrh r1, [r2, #0x0]
- mov r1, r1, lsl #0x1c
- movs r1, r1, lsr #0x1c
- beq _020D5ED0
- add r1, r3, #0x1
- str r1, [r0, #0x18]
- ldrh r0, [r2, #0x0]
- bic r0, r0, #0xf
- strh r0, [r2, #0x0]
- bl RTCi_WriteRawStatus2Async
-_020D5DA8: ; 0x020D5DA8
- cmp r0, #0x0
- moveq r1, r5
- ldreq r0, _020D5F30 ; =0x021D5538
- moveq r5, #0x3
- streq r1, [r0, #0x18]
- b _020D5ED0
-_020D5DC0:
- str r5, [r0, #0x18]
- b _020D5ED0
-_020D5DC8:
- ldr r3, [r0, #0x18]
- cmp r3, #0x0
- bne _020D5E6C
- ldr r1, [r0, #0x8]
- ldr r1, [r1, #0x0]
- cmp r1, #0x1
- bne _020D5E28
- ldr r2, _020D5F3C ; =0x027FFDEA
- ldrh r1, [r2, #0x0]
- mov r1, r1, lsl #0x19
- movs r1, r1, lsr #0x1f
- bne _020D5ED0
- add r1, r3, #0x1
- str r1, [r0, #0x18]
- ldrh r0, [r2, #0x0]
- orr r0, r0, #0x40
- strh r0, [r2, #0x0]
- bl RTCi_WriteRawStatus2Async
-_020D5E10: ; 0x020D5E10
- cmp r0, #0x0
- moveq r1, r5
- ldreq r0, _020D5F30 ; =0x021D5538
- moveq r5, #0x3
- streq r1, [r0, #0x18]
- b _020D5ED0
-_020D5E28:
- ldr r2, _020D5F3C ; =0x027FFDEA
- ldrh r1, [r2, #0x0]
- mov r1, r1, lsl #0x19
- movs r1, r1, lsr #0x1f
- beq _020D5ED0
- add r1, r3, #0x1
- str r1, [r0, #0x18]
- ldrh r0, [r2, #0x0]
- bic r0, r0, #0x40
- strh r0, [r2, #0x0]
- bl RTCi_WriteRawStatus2Async
-_020D5E54: ; 0x020D5E54
- cmp r0, #0x0
- moveq r1, r5
- ldreq r0, _020D5F30 ; =0x021D5538
- moveq r5, #0x3
- streq r1, [r0, #0x18]
- b _020D5ED0
-_020D5E6C:
- str r5, [r0, #0x18]
- b _020D5ED0
-_020D5E74:
- ldr r0, _020D5F30 ; =0x021D5538
- mov r1, #0x0
- str r1, [r0, #0x18]
- mov r5, #0x4
- b _020D5ED0
-_020D5E88:
- ldr r0, _020D5F30 ; =0x021D5538
- mov r1, #0x0
- str r1, [r0, #0x18]
- cmp r2, #0x4
- addls pc, pc, r2, lsl #0x2
- b _020D5ECC
-_020D5EA0:
- b _020D5ECC
-_020D5EA4:
- b _020D5EB4
-_020D5EA8:
- b _020D5EBC
-_020D5EAC:
- b _020D5EC4
-_020D5EB0:
- b _020D5ECC
-_020D5EB4:
- mov r5, #0x4
- b _020D5ED0
-_020D5EBC:
- mov r5, #0x5
- b _020D5ED0
-_020D5EC4:
- mov r5, #0x1
- b _020D5ED0
-_020D5ECC:
- mov r5, #0x6
-_020D5ED0:
- ldr r0, _020D5F30 ; =0x021D5538
- ldr r1, [r0, #0x18]
- cmp r1, #0x0
- addne sp, sp, #0x4
- ldmneia sp!, {r4-r5,lr}
- bxne lr
- ldr r2, _020D5F30 ; =0x021D5538
- ldr r1, [r0, #0x0]
- ldr r4, [r2, #0x4]
- cmp r1, #0x0
- movne r1, #0x0
- strne r1, [r0, #0x0]
- cmp r4, #0x0
- addeq sp, sp, #0x4
- ldmeqia sp!, {r4-r5,lr}
- bxeq lr
- ldr r1, [r2, #0x10]
- mov r3, #0x0
- mov r0, r5
- str r3, [r2, #0x4]
- blx r4
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
- .balign 4
-_020D5F30: .word 0x021D5538
-_020D5F34: .word 0x027FFDE8
-_020D5F38: .word 0x027FFDEC
-_020D5F3C: .word 0x027FFDEA
-
- arm_func_start RTC_GetDateTimeAsync
-RTC_GetDateTimeAsync: ; 0x020D5F40
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- mov r7, r0
- mov r6, r1
- mov r5, r2
- mov r4, r3
- bl OS_DisableInterrupts
- ldr r1, _020D5FCC ; =0x021D5538
- ldr r2, [r1, #0x0]
- cmp r2, #0x0
- beq _020D5F80
- bl OS_RestoreInterrupts
- add sp, sp, #0x4
- mov r0, #0x1
- ldmia sp!, {r4-r7,lr}
- bx lr
-_020D5F80:
- mov r2, #0x1
- str r2, [r1, #0x0]
- bl OS_RestoreInterrupts
- ldr r0, _020D5FCC ; =0x021D5538
- mov r2, #0x2
- mov r1, #0x0
- str r2, [r0, #0x14]
- str r1, [r0, #0x18]
- str r7, [r0, #0x8]
- str r6, [r0, #0xc]
- str r5, [r0, #0x4]
- str r4, [r0, #0x10]
- bl RTCi_ReadRawDateTimeAsync
-_020D5FB4: ; 0x020D5FB4
- cmp r0, #0x0
- movne r0, #0x0
- moveq r0, #0x3
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,lr}
- bx lr
- .balign 4
-_020D5FCC: .word 0x021D5538
-
- arm_func_start RTC_GetTime
-RTC_GetTime: ; 0x020D5FD0
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r1, _020D600C ; =RtcGetResultCallback
- mov r2, #0x0
- bl RTC_GetTimeAsync
- ldr r1, _020D6010 ; =0x021D5538
- cmp r0, #0x0
- str r0, [r1, #0x20]
- bne _020D5FF8
- bl RtcWaitBusy
-_020D5FF8:
- ldr r0, _020D6010 ; =0x021D5538
- ldr r0, [r0, #0x20]
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020D600C: .word RtcGetResultCallback
-_020D6010: .word 0x021D5538
-
- arm_func_start RTC_GetTimeAsync
-RTC_GetTimeAsync: ; 0x020D6014
- stmdb sp!, {r4-r6,lr}
- mov r6, r0
- mov r5, r1
- mov r4, r2
- bl OS_DisableInterrupts
- ldr r1, _020D608C ; =0x021D5538
- ldr r2, [r1, #0x0]
- cmp r2, #0x0
- beq _020D6048
- bl OS_RestoreInterrupts
- mov r0, #0x1
- ldmia sp!, {r4-r6,lr}
- bx lr
-_020D6048:
- mov r2, #0x1
- str r2, [r1, #0x0]
- bl OS_RestoreInterrupts
- ldr r0, _020D608C ; =0x021D5538
- mov r2, #0x1
- mov r1, #0x0
- str r2, [r0, #0x14]
- str r1, [r0, #0x18]
- str r6, [r0, #0x8]
- str r5, [r0, #0x4]
- str r4, [r0, #0x10]
- bl RTCi_ReadRawTimeAsync
-_020D6078: ; 0x020D6078
- cmp r0, #0x0
- movne r0, #0x0
- moveq r0, #0x3
- ldmia sp!, {r4-r6,lr}
- bx lr
- .balign 4
-_020D608C: .word 0x021D5538
-
- arm_func_start RTC_GetDate
-RTC_GetDate: ; 0x020D6090
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r1, _020D60CC ; =RtcGetResultCallback
- mov r2, #0x0
- bl RTC_GetDateAsync
- ldr r1, _020D60D0 ; =0x021D5538
- cmp r0, #0x0
- str r0, [r1, #0x20]
- bne _020D60B8
- bl RtcWaitBusy
-_020D60B8:
- ldr r0, _020D60D0 ; =0x021D5538
- ldr r0, [r0, #0x20]
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020D60CC: .word RtcGetResultCallback
-_020D60D0: .word 0x021D5538
-
- arm_func_start RTC_GetDateAsync
-RTC_GetDateAsync: ; 0x020D60D4
- stmdb sp!, {r4-r6,lr}
- mov r6, r0
- mov r5, r1
- mov r4, r2
- bl OS_DisableInterrupts
- ldr r1, _020D6148 ; =0x021D5538
- ldr r2, [r1, #0x0]
- cmp r2, #0x0
- beq _020D6108
- bl OS_RestoreInterrupts
- mov r0, #0x1
- ldmia sp!, {r4-r6,lr}
- bx lr
-_020D6108:
- mov r2, #0x1
- str r2, [r1, #0x0]
- bl OS_RestoreInterrupts
- ldr r0, _020D6148 ; =0x021D5538
- mov r1, #0x0
- str r1, [r0, #0x14]
- str r1, [r0, #0x18]
- str r6, [r0, #0x8]
- str r5, [r0, #0x4]
- str r4, [r0, #0x10]
- bl RTCi_ReadRawDateAsync
-_020D6134: ; 0x020D6134
- cmp r0, #0x0
- movne r0, #0x0
- moveq r0, #0x3
- ldmia sp!, {r4-r6,lr}
- bx lr
- .balign 4
-_020D6148: .word 0x021D5538
-
- arm_func_start RTC_Init
-RTC_Init: ; 0x020D614C
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- ldr r1, _020D61C8 ; =0x021D5534
- ldrh r0, [r1, #0x0]
- cmp r0, #0x0
- addne sp, sp, #0x4
- ldmneia sp!, {r4-r5,lr}
- bxne lr
- ldr r0, _020D61CC ; =0x021D5538
- mov r2, #0x0
- mov r3, #0x1
- strh r3, [r1, #0x0]
- str r2, [r0, #0x0]
- str r2, [r0, #0x4]
- str r2, [r0, #0x1c]
- str r2, [r0, #0x8]
- str r2, [r0, #0xc]
- bl PXI_Init
- mov r5, #0x5
- mov r4, #0x1
-_020D619C:
- mov r0, r5
- mov r1, r4
- bl PXI_IsCallbackReady
-_020D61A8: ; 0x020D61A8
- cmp r0, #0x0
- beq _020D619C
- ldr r1, _020D61D0 ; =RtcCommonCallback
- mov r0, #0x5
- bl PXI_SetFifoRecvCallback
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
- .balign 4
-_020D61C8: .word 0x021D5534
-_020D61CC: .word 0x021D5538
-_020D61D0: .word RtcCommonCallback
-
- arm_func_start FUN_020D61D4
-FUN_020D61D4: ; 0x020D61D4
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- mov r0, r0, lsl #0x8
- and r1, r0, #0x7f00
- mov r0, #0x5
- mov r2, #0x0
- bl PXI_SendWordByFifo
-_020D61F0: ; 0x020D61F0
- cmp r0, #0x0
- movge r0, #0x1
- movlt r0, #0x0
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-
- arm_func_start RTCi_WriteRawStatus2Async
-RTCi_WriteRawStatus2Async:
- ldr ip, _020D6214 ; =FUN_020D61D4
- mov r0, #0x27
- bx r12
- .balign 4
-_020D6214: .word FUN_020D61D4
-
- arm_func_start RTCi_ReadRawTimeAsync
-RTCi_ReadRawTimeAsync:
- ldr ip, _020D6224 ; =FUN_020D61D4
- mov r0, #0x12
- bx r12
- .balign 4
-_020D6224: .word FUN_020D61D4
-
- arm_func_start RTCi_ReadRawDateAsync
-RTCi_ReadRawDateAsync:
- ldr ip, _020D6234 ; =FUN_020D61D4
- mov r0, #0x11
- bx r12
- .balign 4
-_020D6234: .word FUN_020D61D4
-
- arm_func_start RTCi_ReadRawDateTimeAsync
-RTCi_ReadRawDateTimeAsync:
- ldr ip, _020D6244 ; =FUN_020D61D4
- mov r0, #0x10
- bx r12
- .balign 4
-_020D6244: .word FUN_020D61D4
-
- arm_func_start RTC_GetDayOfWeek
-RTC_GetDayOfWeek: ; 0x020D6248
- stmdb sp!, {r4-r6,lr}
- ldr r1, [r0, #0x4]
- ldr r2, [r0, #0x0]
- sub r3, r1, #0x2
- cmp r3, #0x1
- add lr, r2, #0x7d0
- ldr r4, _020D630C ; =0x51EB851F
- sublt lr, lr, #0x1
- ldr r12, [r0, #0x8]
- smull r0, r2, r4, lr
- addlt r3, r3, #0xc
- mov r1, #0x1a
- mul r0, r3, r1
- smull r1, r3, r4, lr
- ldr r5, _020D6310 ; =0x66666667
- sub r0, r0, #0x2
- smull r4, r1, r5, r0
- mov r4, lr, lsr #0x1f
- mov r2, r2, asr #0x5
- mov r3, r3, asr #0x5
- add r3, r4, r3
- ldr r5, _020D6314 ; =0x00000064
- add r2, r4, r2
- smull r2, r4, r5, r2
- sub r2, lr, r2
- mov r1, r1, asr #0x2
- mov r0, r0, lsr #0x1f
- add r1, r0, r1
- mov r4, r2, asr #0x1
- add r0, r12, r1
- add r1, r2, r4, lsr #0x1e
- add r2, r2, r0
- mov r6, r3, asr #0x1
- add r0, r3, r6, lsr #0x1e
- add r1, r2, r1, asr #0x2
- add r1, r1, r0, asr #0x2
- mov r0, #0x5
- mla r4, r3, r0, r1
- ldr r3, _020D6318 ; =0x92492493
- mov r1, r4, lsr #0x1f
- smull r2, r0, r3, r4
- add r0, r4, r0
- mov r0, r0, asr #0x2
- ldr r2, _020D631C ; =0x00000007
- add r0, r1, r0
- smull r0, r1, r2, r0
- sub r0, r4, r0
- ldmia sp!, {r4-r6,lr}
- bx lr
- .balign 4
-_020D630C: .word 0x51EB851F
-_020D6310: .word 0x66666667
-_020D6314: .word 0x00000064
-_020D6318: .word 0x92492493
-_020D631C: .word 0x00000007
-
- arm_func_start RTC_ConvertSecondToDateTime
-RTC_ConvertSecondToDateTime: ; 0x020D6320
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- mov r5, r2
- mov r12, #0x0
- mov r4, r3
- subs r2, r5, r12
- sbcs r2, r4, r12
- mov r7, r0
- mov r6, r1
- movlt r5, r12
- movlt r4, r12
- blt _020D6364
- ldr r1, _020D63B0 ; =0xBC19137F
- subs r0, r1, r5
- sbcs r0, r12, r4
- movlt r5, r1
- movlt r4, r12
-_020D6364:
- ldr r2, _020D63B4 ; =0x00015180
- mov r0, r5
- mov r1, r4
- mov r3, #0x0
- bl _ll_mod
- mov r1, r0
- mov r0, r6
- bl RTCi_ConvertSecondToTime
- ldr r2, _020D63B4 ; =0x00015180
- mov r0, r5
- mov r1, r4
- mov r3, #0x0
- bl _ll_sdiv
- mov r1, r0
- mov r0, r7
- bl RTC_ConvertDayToDate
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,lr}
- bx lr
- .balign 4
-_020D63B0: .word 0xBC19137F
-_020D63B4: .word 0x00015180
-
- arm_func_start RTCi_ConvertSecondToTime
-RTCi_ConvertSecondToTime: ; 0x020D63B8
- stmdb sp!, {r4-r6,lr}
- ldr r2, _020D6448 ; =0x0001517F
- cmp r1, #0x0
- movlt r1, #0x0
- cmp r1, r2
- ldr ip, _020D644C ; =0x88888889
- movgt r1, r2
- smull r2, r3, r12, r1
- smull r2, lr, r12, r1
- ldr r5, _020D6450 ; =0x91A2B3C5
- add r3, r1, r3
- smull r4, r2, r5, r1
- mov r5, r1, lsr #0x1f
- mov r3, r3, asr #0x5
- add r3, r5, r3
- smull r4, r6, r12, r3
- add lr, r1, lr
- mov lr, lr, asr #0x5
- add r6, r3, r6
- add r2, r1, r2
- ldr r4, _020D6454 ; =0x0000003C
- add lr, r5, lr
- smull r12, lr, r4, lr
- sub lr, r1, r12
- mov r2, r2, asr #0xb
- mov r6, r6, asr #0x5
- mov r1, r3, lsr #0x1f
- add r6, r1, r6
- smull r1, r12, r4, r6
- str lr, [r0, #0x8]
- sub r6, r3, r1
- str r6, [r0, #0x4]
- add r2, r5, r2
- str r2, [r0, #0x0]
- ldmia sp!, {r4-r6,lr}
- bx lr
- .balign 4
-_020D6448: .word 0x0001517F
-_020D644C: .word 0x88888889
-_020D6450: .word 0x91A2B3C5
-_020D6454: .word 0x0000003C
-
- arm_func_start RTC_ConvertDayToDate
-RTC_ConvertDayToDate: ; 0x020D6458
- stmdb sp!, {r4,lr}
- ldr r2, _020D6560 ; =0x00008EAC
- cmp r1, #0x0
- movlt r1, #0x0
- cmp r1, r2
- movgt r1, r2
- ldr r3, _020D6564 ; =0x92492493
- add lr, r1, #0x6
- smull r2, r4, r3, lr
- add r4, lr, r4
- mov r4, r4, asr #0x2
- mov r2, lr, lsr #0x1f
- ldr ip, _020D6568 ; =0x00000007
- add r4, r2, r4
- smull r2, r3, r12, r4
- sub r4, lr, r2
- ldr r2, _020D656C ; =0x0000016D
- ldr r3, _020D6570 ; =0x0000016E
- str r4, [r0, #0xc]
- mov lr, #0x0
-_020D64A8:
- ands r12, lr, #0x3
- moveq r12, r3
- movne r12, r2
- mov r4, r1
- subs r1, r1, r12
- movmi r1, r4
- bmi _020D64D0
- add lr, lr, #0x1
- cmp lr, #0x63
- blo _020D64A8
-_020D64D0:
- ldr r2, _020D656C ; =0x0000016D
- str lr, [r0, #0x0]
- cmp r1, r2
- movgt r1, r2
- ands r2, lr, #0x3
- bne _020D6518
- cmp r1, #0x3c
- bge _020D6514
- cmp r1, #0x1f
- movlt r2, #0x1
- subge r1, r1, #0x1f
- movge r2, #0x2
- str r2, [r0, #0x4]
- add r1, r1, #0x1
- str r1, [r0, #0x8]
- ldmia sp!, {r4,lr}
- bx lr
-_020D6514:
- sub r1, r1, #0x1
-_020D6518:
- ldr r3, _020D6574 ; =0x02106A20
- mov r4, #0xb
-_020D6520:
- ldr r2, [r3, r4, lsl #0x2]
- mov r12, r4, lsl #0x2
- cmp r1, r2
- blt _020D6550
- add r2, r4, #0x1
- str r2, [r0, #0x4]
- ldr r2, [r3, r12]
- sub r1, r1, r2
- add r1, r1, #0x1
- str r1, [r0, #0x8]
- ldmia sp!, {r4,lr}
- bx lr
-_020D6550:
- subs r4, r4, #0x1
- bpl _020D6520
- ldmia sp!, {r4,lr}
- bx lr
- .balign 4
-_020D6560: .word 0x00008EAC
-_020D6564: .word 0x92492493
-_020D6568: .word 0x00000007
-_020D656C: .word 0x0000016D
-_020D6570: .word 0x0000016E
-_020D6574: .word 0x02106A20
-
- arm_func_start RTC_ConvertDateTimeToSecond
-RTC_ConvertDateTimeToSecond: ; 0x020D6578
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r5, r1
- bl RTC_ConvertDateToDay
- mov r4, r0
- mvn r0, #0x0
- cmp r4, r0
- addeq sp, sp, #0x4
- moveq r1, r0
- ldmeqia sp!, {r4-r5,lr}
- bxeq lr
- mov r0, r5
- bl RTCi_ConvertTimeToSecond
- mvn r2, #0x0
- cmp r0, r2
- moveq r1, r2
- beq _020D65DC
- ldr r1, _020D65EC ; =0x00015180
- mov r2, #0x0
- umull r12, r3, r4, r1
- mla r3, r4, r2, r3
- mov r2, r4, asr #0x1f
- mla r3, r2, r1, r3
- adds r2, r0, r12
- adc r1, r3, r0, asr #0x1f
-_020D65DC:
- mov r0, r2
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
- .balign 4
-_020D65EC: .word 0x00015180
-
- arm_func_start RTCi_ConvertTimeToSecond
-RTCi_ConvertTimeToSecond: ; 0x020D65F0
- ldr r3, [r0, #0x4]
- ldr r2, [r0, #0x0]
- mov r1, #0x3c
- mla r3, r2, r1, r3
- ldr r0, [r0, #0x8]
- mla r0, r3, r1, r0
- bx lr
-
- arm_func_start RTC_ConvertDateToDay
-RTC_ConvertDateToDay: ; 0x020D660C
- ldr r3, [r0, #0x0]
- cmp r3, #0x64
- bhs _020D665C
- ldr r2, [r0, #0x4]
- cmp r2, #0x1
- blo _020D665C
- cmp r2, #0xc
- bhi _020D665C
- ldr r1, [r0, #0x8]
- cmp r1, #0x1
- blo _020D665C
- cmp r1, #0x1f
- bhi _020D665C
- ldr r0, [r0, #0xc]
- cmp r0, #0x7
- bge _020D665C
- cmp r2, #0x1
- blo _020D665C
- cmp r2, #0xc
- bls _020D6664
-_020D665C:
- mvn r0, #0x0
- bx lr
-_020D6664:
- ldr r0, _020D6698 ; =0x02106A1C
- sub r1, r1, #0x1
- ldr r0, [r0, r2, lsl #0x2]
- cmp r2, #0x3
- add r2, r1, r0
- blo _020D6684
- ands r0, r3, #0x3
- addeq r2, r2, #0x1
-_020D6684:
- ldr r0, _020D669C ; =0x0000016D
- add r1, r3, #0x3
- mla r0, r3, r0, r2
- add r0, r0, r1, lsr #0x2
- bx lr
- .balign 4
-_020D6698: .word 0x02106A1C
-_020D669C: .word 0x0000016D
diff --git a/asm/SDK_AUTOLOAD_LIST.s b/asm/SDK_AUTOLOAD_LIST.s
deleted file mode 100644
index 8043d616..00000000
--- a/asm/SDK_AUTOLOAD_LIST.s
+++ /dev/null
@@ -1,20 +0,0 @@
- .include "asm/macros.inc"
- .section .data
-
- .global SDK_AUTOLOAD_LIST
-SDK_AUTOLOAD_LIST: ; 0x02107700
- .word 0x01FF8000
- .word 0x00000700
- .word 0x00000000
-
- .word 0x027e0000
- .word 0x00000060
- .word 0x00000020
-
- .word 0x02400000
- .word 0x00000000
- .word 0x00000000
-
- .global SDK_AUTOLOAD_LIST_END
-SDK_AUTOLOAD_LIST_END:
-
diff --git a/asm/SND_arm9.s b/asm/SND_arm9.s
deleted file mode 100644
index 99351712..00000000
--- a/asm/SND_arm9.s
+++ /dev/null
@@ -1,1655 +0,0 @@
- .include "asm/macros.inc"
- .include "global.inc"
- .section .text
-
- arm_func_start PushCommand_impl
-PushCommand_impl: ; 0x020CE66C
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- mov r7, r0
- mov r0, #0x1
- mov r6, r1
- mov r5, r2
- mov r4, r3
- bl SND_AllocCommand
-_020CE68C:
- cmp r0, #0x0
- addeq sp, sp, #0x4
- ldmeqia sp!, {r4-r7, lr}
- bxeq lr
- str r7, [r0, #0x4]
- str r6, [r0, #0x8]
- str r5, [r0, #0xc]
- ldr r1, [sp, #0x18]
- str r4, [r0, #0x10]
- str r1, [r0, #0x14]
- bl SND_PushCommand
- add sp, sp, #0x4
- ldmia sp!, {r4-r7, lr}
- bx lr
-
- arm_func_start SNDi_SetTrackParam
-SNDi_SetTrackParam: ; 0x020CE6C4
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r12, [sp, #0x8]
- mov lr, r2
- str r3, [sp, #0x0]
- mov r2, r1
- orr r1, r0, r12, lsl #0x18
- mov r3, lr
- mov r0, #0x7
- bl PushCommand_impl
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-
- arm_func_start FUN_020CE6F8
-FUN_020CE6F8: ; 0x020CE6F8
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- mov lr, r1
- mov r12, r2
- str r3, [sp, #0x0]
- mov r1, r0
- mov r2, lr
- mov r3, r12
- mov r0, #0x6
- bl PushCommand_impl
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-
- arm_func_start SND_ResetMasterPan
-SND_ResetMasterPan: ; 0x020CE72C
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- mov r2, #0x0
- mov r3, r2
- mov r0, #0x18
- mvn r1, #0x0
- str r2, [sp, #0x0]
- bl PushCommand_impl
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-
- arm_func_start SND_SetMasterPan
-SND_SetMasterPan: ; 0x020CE758
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- mov r2, #0x0
- mov r1, r0
- mov r3, r2
- mov r0, #0x18
- str r2, [sp, #0x0]
- bl PushCommand_impl
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-
- arm_func_start SND_SetOutputSelector
-SND_SetOutputSelector: ; 0x020CE784
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- mov lr, r1
- mov r12, r2
- str r3, [sp, #0x0]
- mov r1, r0
- mov r2, lr
- mov r3, r12
- mov r0, #0x19
- bl PushCommand_impl
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-
- arm_func_start SND_InvalidateWaveData
-SND_InvalidateWaveData: ; 0x020CE7B8
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- mov r2, r1
- mov r3, #0x0
- mov r1, r0
- mov r0, #0x20
- str r3, [sp, #0x0]
- bl PushCommand_impl
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-
- arm_func_start SND_InvalidateBankData
-SND_InvalidateBankData: ; 0x020CE7E4
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- mov r2, r1
- mov r3, #0x0
- mov r1, r0
- mov r0, #0x1f
- str r3, [sp, #0x0]
- bl PushCommand_impl
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-
- arm_func_start SND_InvalidateSeqData
-SND_InvalidateSeqData: ; 0x020CE810
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- mov r2, r1
- mov r3, #0x0
- mov r1, r0
- mov r0, #0x1e
- str r3, [sp, #0x0]
- bl PushCommand_impl
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-
- arm_func_start SND_SetupChannelPcm
-SND_SetupChannelPcm: ; 0x020CE83C
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- ldr r12, [sp, #0x18]
- mov r3, r3, lsl #0x1a
- orr r4, r3, r1, lsl #0x18
- ldr r5, [sp, #0x24]
- mov r3, r12, lsl #0x18
- ldr r1, [sp, #0x1c]
- ldr r12, [sp, #0x10]
- orr r4, r4, r5, lsl #0x10
- orr r4, r12, r4
- ldr lr, [sp, #0x20]
- orr r3, r3, r1, lsl #0x16
- ldr r12, [sp, #0x14]
- orr r1, r0, lr, lsl #0x10
- orr r3, r12, r3
- mov r0, #0xe
- str r4, [sp, #0x0]
- bl PushCommand_impl
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
-
- arm_func_start SND_SetChannelPan
-SND_SetChannelPan: ; 0x020CE894
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- mov r2, r1
- mov r3, #0x0
- mov r1, r0
- mov r0, #0x15
- str r3, [sp, #0x0]
- bl PushCommand_impl
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-
- arm_func_start SND_SetChannelVolume
-SND_SetChannelVolume: ; 0x020CE8C0
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- mov lr, r1
- mov r3, r2
- mov r12, #0x0
- mov r1, r0
- mov r2, lr
- mov r0, #0x14
- str r12, [sp, #0x0]
- bl PushCommand_impl
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-
- arm_func_start SND_SetChannelTimer
-SND_SetChannelTimer: ; 0x020CE8F4
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- mov r2, r1
- mov r3, #0x0
- mov r1, r0
- mov r0, #0x13
- str r3, [sp, #0x0]
- bl PushCommand_impl
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-
- arm_func_start SND_UnlockChannel
-SND_UnlockChannel: ; 0x020CE920
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- mov r2, r1
- mov r3, #0x0
- mov r1, r0
- mov r0, #0x1b
- str r3, [sp, #0x0]
- bl PushCommand_impl
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-
- arm_func_start SND_LockChannel
-SND_LockChannel: ; 0x020CE94C
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- mov r2, r1
- mov r3, #0x0
- mov r1, r0
- mov r0, #0x1a
- str r3, [sp, #0x0]
- bl PushCommand_impl
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-
- arm_func_start SND_SetupAlarm
-SND_SetupAlarm: ; 0x020CE978
- stmdb sp!, {r4-r6,lr}
- sub sp, sp, #0x8
- mov r4, r2
- mov r5, r1
- ldr r2, [sp, #0x18]
- mov r6, r0
- mov r1, r3
- bl SNDi_SetAlarmHandler
-_020CE998:
- str r0, [sp]
- mov r1, r6
- mov r2, r5
- mov r3, r4
- mov r0, #0x12
- bl PushCommand_impl
- add sp, sp, #0x8
- ldmia sp!, {r4-r6, lr}
- bx lr
-
- arm_func_start SND_SetupCapture
-SND_SetupCapture: ; 0x020CE9BC
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- mov r0, r0, lsl #0x1f
- orr r0, r0, r1, lsl #0x1e
- ldr r12, [sp, #0x8]
- mov r1, r2
- orr r0, r0, r12, lsl #0x1d
- ldr r2, [sp, #0xc]
- mov lr, #0x0
- orr r0, r0, r2, lsl #0x1c
- ldr r12, [sp, #0x10]
- mov r2, r3
- orr r3, r0, r12, lsl #0x1b
- mov r0, #0x11
- str lr, [sp, #0x0]
- bl PushCommand_impl
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-
- arm_func_start SND_StopTimer
-SND_StopTimer: ; 0x020CEA08
- stmdb sp!, {r4-r9,lr}
- sub sp, sp, #0x4
- mov r7, r2
- mov r9, r0
- mov r8, r1
- mov r6, r3
- mov r4, r7
- mov r5, #0x0
- b _020CEA44
-_020CEA2C:
- ands r0, r4, #0x1
- beq _020CEA3C
- mov r0, r5
- bl SNDi_IncAlarmId
-_020CEA3C:
- add r5, r5, #0x1
- mov r4, r4, lsr #0x1
-_020CEA44:
- cmp r5, #0x8
- bge _020CEA54
- cmp r4, #0x0
- bne _020CEA2C
-_020CEA54:
- mov r1, r9
- mov r2, r8
- mov r3, r7
- mov r0, #0xd
- str r6, [sp, #0x0]
- bl PushCommand_impl
- add sp, sp, #0x4
- ldmia sp!, {r4-r9,lr}
- bx lr
-
- arm_func_start SND_StartTimer
-SND_StartTimer: ; 0x020CEA78
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- mov lr, r1
- mov r12, r2
- str r3, [sp, #0x0]
- mov r1, r0
- mov r2, lr
- mov r3, r12
- mov r0, #0xc
- bl PushCommand_impl
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-
- arm_func_start SND_SetTrackAllocatableChannel
-SND_SetTrackAllocatableChannel: ; 0x020CEAAC
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- mov lr, r1
- mov r3, r2
- mov r12, #0x0
- mov r1, r0
- mov r2, lr
- mov r0, #0x9
- str r12, [sp, #0x0]
- bl PushCommand_impl
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-
- arm_func_start SND_SetTrackPan
-SND_SetTrackPan: ; 0x020CEAE0
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- mov r3, r2
- mov r12, #0x1
- mov r2, #0x9
- str r12, [sp, #0x0]
- bl SNDi_SetTrackParam
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-
- arm_func_start SND_SetTrackPitch
-SND_SetTrackPitch: ; 0x020CEB08
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- mov r3, r2
- mov r12, #0x2
- mov r2, #0xc
- str r12, [sp, #0x0]
- bl SNDi_SetTrackParam
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-
- arm_func_start SND_SetPlayerChannelPriority
-SND_SetPlayerChannelPriority: ; 0x020CEB30
- ldr ip, _020CEB44 ; =FUN_020CE6F8
- mov r2, r1
- mov r1, #0x4
- mov r3, #0x1
- bx r12
- .balign 4
-_020CEB44: .word FUN_020CE6F8
-
- arm_func_start SND_SetPlayerVolume
-SND_SetPlayerVolume: ; 0x020CEB48
- ldr ip, _020CEB5C ; =FUN_020CE6F8
- mov r2, r1
- mov r1, #0x6
- mov r3, #0x2
- bx r12
- .balign 4
-_020CEB5C: .word FUN_020CE6F8
-
- arm_func_start SND_PauseSeq
-SND_PauseSeq: ; 0x020CEB60
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- mov r2, r1
- mov r3, #0x0
- mov r1, r0
- mov r0, #0x4
- str r3, [sp, #0x0]
- bl PushCommand_impl
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-
- arm_func_start SND_StartPreparedSeq
-SND_StartPreparedSeq: ; 0x020CEB8C
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- mov r2, #0x0
- mov r1, r0
- mov r3, r2
- mov r0, #0x3
- str r2, [sp, #0x0]
- bl PushCommand_impl
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-
- arm_func_start SND_PrepareSeq
-SND_PrepareSeq: ; 0x020CEBB8
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- mov lr, r1
- mov r12, r2
- str r3, [sp, #0x0]
- mov r1, r0
- mov r2, lr
- mov r3, r12
- mov r0, #0x2
- bl PushCommand_impl
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-
- arm_func_start SND_StopSeq
-SND_StopSeq: ; 0x020CEBEC
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- mov r2, #0x0
- mov r1, r0
- mov r3, r2
- mov r0, #0x1
- str r2, [sp, #0x0]
- bl PushCommand_impl
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-
- arm_func_start SNDi_UnlockMutex
-SNDi_UnlockMutex: ; 0x020CEC18
- ldr ip, _020CEC24 ; =OS_UnlockMutex
- ldr r0, _020CEC28 ; =0x021D3820
- bx r12
- .balign 4
-_020CEC24: .word OS_UnlockMutex
-_020CEC28: .word 0x021D3820
-
- arm_func_start SNDi_LockMutex
-SNDi_LockMutex: ; 0x020CEC2C
- ldr ip, _020CEC38 ; =OS_LockMutex
- ldr r0, _020CEC3C ; =0x021D3820
- bx r12
- .balign 4
-_020CEC38: .word OS_LockMutex
-_020CEC3C: .word 0x021D3820
-
- arm_func_start SND_Init
-SND_Init: ; 0x020CEC40
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r1, _020CEC84 ; =0x021D381C
- ldr r0, [r1, #0x0]
- cmp r0, #0x0
- addne sp, sp, #0x4
- ldmneia sp!, {lr}
- bxne lr
- ldr r0, _020CEC88 ; =0x021D3820
- mov r2, #0x1
- str r2, [r1, #0x0]
- bl OS_InitMutex
- bl SND_CommandInit
- bl SND_AlarmInit
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020CEC84: .word 0x021D381C
-_020CEC88: .word 0x021D3820
-
- arm_func_start IsCommandAvailable
-IsCommandAvailable:
- stmdb sp!, {r4,lr}
- bl OS_IsRunOnEmulator
-_020CEC94:
- cmp r0, #0x0
- moveq r0, #0x1
- ldmeqia sp!, {r4, lr}
- bxeq lr
- bl OS_DisableInterrupts
- ldr r1, _020CECD0
- mov r2, #0x10
- str r2, [r1]
- ldr r4, [r1]
- bl OS_RestoreInterrupts
- cmp r4, #0x0
- movne r0, #0x1
- moveq r0, #0x0
- ldmia sp!, {r4, lr}
- bx lr
-_020CECD0: .word 0x04FFF200
-
- arm_func_start AllocCommand
-AllocCommand: ; 0x020CECD4
- stmdb sp!, {r4,lr}
- bl OS_DisableInterrupts
- ldr r1, _020CED24 ; =0x021D3838
- ldr r4, [r1, #0x0]
- cmp r4, #0x0
- bne _020CECFC
- bl OS_RestoreInterrupts
-_020CECF0:
- mov r0, #0x0
- ldmia sp!, {r4, lr}
- bx lr
-_020CECFC:
- ldr r2, [r4, #0x0]
- str r2, [r1, #0x0]
- cmp r2, #0x0
- ldreq r1, _020CED28 ; =0x021D3848
- moveq r2, #0x0
- streq r2, [r1, #0x0]
- bl OS_RestoreInterrupts
- mov r0, r4
- ldmia sp!, {r4,lr}
- bx lr
- .balign 4
-_020CED24: .word 0x021D3838
-_020CED28: .word 0x021D3848
-
- arm_func_start RequestCommandProc
-RequestCommandProc: ; 0x020CED2C
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r5, #0x7
- mov r4, #0x0
-_020CED3C:
- mov r0, r5
- mov r1, r4
- mov r2, r4
- bl PXI_SendWordByFifo
-_020CED4C:
- cmp r0, #0
- blt _020CED3C
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
-
- arm_func_start InitPXI
-InitPXI: ; 0x020CED60
- stmdb sp!, {r4-r6,lr}
- ldr r1, _020CEDC8 ; =PxiFifoCallback
- mov r0, #0x7
- bl PXI_SetFifoRecvCallback
- bl IsCommandAvailable
-_020CED74:
- cmp r0, #0x0
- ldmeqia sp!, {r4-r6, lr}
- bxeq lr
- mov r0, #0x7
- mov r1, #0x1
- bl PXI_IsCallbackReady
- cmp r0, #0x0
- ldmneia sp!, {r4-r6, lr}
- bxne lr
- mov r6, #0x64
- mov r5, #0x7
- mov r4, #0x1
-_020CEDA4:
- mov r0, r6
- bl OS_SpinWait
- mov r0, r5
- mov r1, r4
- bl PXI_IsCallbackReady
- cmp r0, #0x0
- beq _020CEDA4
- ldmia sp!, {r4-r6, lr}
- bx lr
-_020CEDC8: .word PxiFifoCallback
-
- arm_func_start PxiFifoCallback
-PxiFifoCallback: ; 0x020CEDCC
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r5, r1
- bl OS_DisableInterrupts
- mov r4, r0
- mov r0, r5
- bl SNDi_CallAlarmHandler
- mov r0, r4
- bl OS_RestoreInterrupts
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
-
- arm_func_start SND_CountWaitingCommand
-SND_CountWaitingCommand: ; 0x020CEDFC
- stmdb sp!, {r4,lr}
- bl SND_CountFreeCommand
- mov r4, r0
- bl SND_CountReservedCommand
- rsb r1, r4, #0x100
- sub r0, r1, r0
- ldmia sp!, {r4,lr}
- bx lr
-
- arm_func_start SND_CountReservedCommand
-SND_CountReservedCommand: ; 0x020CEE1C
- stmdb sp!, {r4,lr}
- bl OS_DisableInterrupts
- ldr r1, _020CEE58 ; =0x021D3840
- mov r4, #0x0
- ldr r1, [r1, #0x0]
- cmp r1, #0x0
- beq _020CEE48
-_020CEE38:
- ldr r1, [r1, #0x0]
- add r4, r4, #0x1
- cmp r1, #0x0
- bne _020CEE38
-_020CEE48:
- bl OS_RestoreInterrupts
- mov r0, r4
- ldmia sp!, {r4,lr}
- bx lr
- .balign 4
-_020CEE58: .word 0x021D3840
-
- arm_func_start SND_CountFreeCommand
-SND_CountFreeCommand: ; 0x020CEE5C
- stmdb sp!, {r4,lr}
- bl OS_DisableInterrupts
- ldr r1, _020CEE98 ; =0x021D3838
- mov r4, #0x0
- ldr r1, [r1, #0x0]
- cmp r1, #0x0
- beq _020CEE88
-_020CEE78:
- ldr r1, [r1, #0x0]
- add r4, r4, #0x1
- cmp r1, #0x0
- bne _020CEE78
-_020CEE88:
- bl OS_RestoreInterrupts
- mov r0, r4
- ldmia sp!, {r4,lr}
- bx lr
- .balign 4
-_020CEE98: .word 0x021D3838
-
- arm_func_start SND_IsFinishedCommandTag
-SND_IsFinishedCommandTag:
- stmdb sp!, {r4,lr}
- mov r4, r0
- bl OS_DisableInterrupts
- ldr r1, _020CEEEC ; =0x021D383C
- ldr r1, [r1, #0x0]
- cmp r4, r1
- bls _020CEECC
- sub r1, r4, r1
- cmp r1, #0x80000000
- movcc r4, #0x0
- movcs r4, #0x1
- b _020CEEDC
-_020CEECC:
- sub r1, r1, r4
- cmp r1, #0x80000000
- movcc r4, #0x1
- movcs r4, #0x0
-_020CEEDC:
- bl OS_RestoreInterrupts
- mov r0, r4
- ldmia sp!, {r4,lr}
- bx lr
- .balign 4
-_020CEEEC: .word 0x021D383C
-
- arm_func_start SND_GetCurrentCommandTag
-SND_GetCurrentCommandTag: ; 0x020CEEF0
- stmdb sp!, {r4,lr}
- bl OS_DisableInterrupts
- ldr r1, _020CEF24 ; =0x021D3840
- ldr r1, [r1, #0x0]
- cmp r1, #0x0
- ldreq r1, _020CEF28 ; =0x021D383C
- ldreq r4, [r1, #0x0]
- ldrne r1, _020CEF2C ; =0x021D3858
- ldrne r4, [r1, #0x0]
- bl OS_RestoreInterrupts
- mov r0, r4
- ldmia sp!, {r4,lr}
- bx lr
- .balign 4
-_020CEF24: .word 0x021D3840
-_020CEF28: .word 0x021D383C
-_020CEF2C: .word 0x021D3858
-
- arm_func_start SND_WaitForCommandProc
-SND_WaitForCommandProc: ; 0x020CEF30
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r5, r0
- bl SND_IsFinishedCommandTag
-_020CEF40:
- cmp r0, #0x0
- addne sp, sp, #0x4
- ldmneia sp!, {r4-r5, lr}
- bxne lr
- mov r4, #0x0
-_020CEF54:
- mov r0, r4
- bl SND_RecvCommandReply
- cmp r0, #0x0
- bne _020CEF54
- mov r0, r5
- bl SND_IsFinishedCommandTag
- cmp r0, #0x0
- addne sp, sp, #0x4
- ldmneia sp!, {r4-r5, lr}
- bxne lr
- bl RequestCommandProc
- mov r0, r5
- bl SND_IsFinishedCommandTag
- cmp r0, #0x0
- addne sp, sp, #0x4
- ldmneia sp!, {r4-r5, lr}
- bxne lr
- mov r4, #0x1
-_020CEF9C:
- mov r0, r4
- bl SND_RecvCommandReply
- mov r0, r5
- bl SND_IsFinishedCommandTag
- cmp r0, #0x0
- beq _020CEF9C
- add sp, sp, #0x4
- ldmia sp!, {r4-r5, lr}
- bx lr
-
- arm_func_start SND_FlushCommand
-SND_FlushCommand: ; 0x020CEFC0
- stmdb sp!, {r4-r9,lr}
- sub sp, sp, #0x4
- mov r5, r0
- bl OS_DisableInterrupts
- ldr r1, _020CF164 ; =0x021D3840
- mov r4, r0
- ldr r1, [r1, #0x0]
- cmp r1, #0x0
- bne _020CEFF8
- bl OS_RestoreInterrupts
- add sp, sp, #0x4
- mov r0, #0x1
- ldmia sp!, {r4-r9,lr}
- bx lr
-_020CEFF8:
- ldr r1, _020CF168 ; =0x021D3854
- ldr r1, [r1, #0x0]
- cmp r1, #0x8
- blt _020CF03C
- ands r1, r5, #0x1
- bne _020CF024
- bl OS_RestoreInterrupts
- add sp, sp, #0x4
- mov r0, #0x0
- ldmia sp!, {r4-r9,lr}
- bx lr
-_020CF024:
- mov r0, #0x1
- bl SND_RecvCommandReply
- ldr r0, _020CF168 ; =0x021D3854
- ldr r0, [r0, #0x0]
- cmp r0, #0x8
- bge _020CF024
-_020CF03C:
- ldr r0, _020CF16C ; =0x021D3B00
- mov r1, #0x1800
- bl DC_FlushRange
- ldr r1, _020CF164 ; =0x021D3840
- mov r0, #0x7
- ldr r1, [r1, #0x0]
- mov r2, #0x0
- bl PXI_SendWordByFifo
-_020CF05C:
- cmp r0, #0x0
- bge _020CF0E0
- ands r0, r5, #0x1
- bne _020CF084
- mov r0, r4
- bl OS_RestoreInterrupts
- add sp, sp, #0x4
- mov r0, #0x0
- ldmia sp!, {r4-r9, lr}
- bx lr
-_020CF084:
- ldr r1, _020CF164
- mov r0, #0x7
- ldr r1, [r1]
- mov r2, #0x0
- bl PXI_SendWordByFifo
- cmp r0, #0x0
- bge _020CF0E0
- ldr r6, _020CF164
- mov r9, #0x64
- mov r8, #0x7
- mov r7, #0x0
-_020CF0B0:
- mov r0, r4
- bl OS_RestoreInterrupts
- mov r0, r9
- bl OS_SpinWait
- bl OS_DisableInterrupts
- mov r4, r0
- mov r0, r8
- ldr r1, [r6]
- mov r2, r7
- bl PXI_SendWordByFifo
- cmp r0, #0x0
- blt _020CF0B0
-_020CF0E0:
- ands r0, r5, #0x2
- beq _020CF0EC
- bl RequestCommandProc
-_020CF0EC:
- ldr r0, _020CF170
- ldr r1, _020CF164
- ldr r3, [r0]
- ldr r5, [r1]
- add r1, r3, #0x1
- ldr r2, _020CF174
- str r1, [r0]
- str r5, [r2, r3, lsl #2]
- cmp r1, #0x8
- movgt r1, #0x0
- ldr r2, _020CF168
- strgt r1, [r0]
- ldr r1, _020CF178
- ldr r3, [r2]
- ldr r0, [r1]
- add ip, r3, #0x1
- add r6, r0, #0x1
- ldr r5, _020CF164
- mov lr, #0x0
- ldr r3, _020CF17C
- mov r0, r4
- str lr, [r5]
- str lr, [r3]
- str ip, [r2]
- str r6, [r1]
- bl OS_RestoreInterrupts
- mov r0, #0x1
- add sp, sp, #0x4
- ldmia sp!, {r4-r9, lr}
- bx lr
-_020CF164: .word 0x021D3840
-_020CF168: .word 0x021D3854
-_020CF16C: .word 0x021D3B00
-_020CF170: .word 0x021D3850
-_020CF174: .word 0x021D385C
-_020CF178: .word 0x021D3858
-_020CF17C: .word 0x021D3844
-
- arm_func_start SND_PushCommand
-SND_PushCommand: ; 0x020CF180
- stmdb sp!, {r4,lr}
- mov r4, r0
- bl OS_DisableInterrupts
- ldr r2, _020CF1C0 ; =0x021D3844
- ldr r1, [r2, #0x0]
- cmp r1, #0x0
- ldreq r1, _020CF1C4 ; =0x021D3840
- streq r4, [r2, #0x0]
- streq r4, [r1, #0x0]
- strne r4, [r1, #0x0]
- strne r4, [r2, #0x0]
- mov r1, #0x0
- str r1, [r4, #0x0]
- bl OS_RestoreInterrupts
- ldmia sp!, {r4,lr}
- bx lr
- .balign 4
-_020CF1C0: .word 0x021D3844
-_020CF1C4: .word 0x021D3840
-
- arm_func_start SND_AllocCommand
-SND_AllocCommand:
- stmdb sp!, {r4,lr}
- mov r4, r0
- bl IsCommandAvailable
-_020CF1D4:
- cmp r0, #0x0
- moveq r0, #0x0
- ldmeqia sp!, {r4,lr}
- bxeq lr
- bl AllocCommand
- cmp r0, #0x0
- ldmneia sp!, {r4,lr}
- bxne lr
- ands r0, r4, #0x1
- moveq r0, #0x0
- ldmeqia sp!, {r4,lr}
- bxeq lr
- bl SND_CountWaitingCommand
- cmp r0, #0x0
- ble _020CF238
- mov r4, #0x0
-_020CF214:
- mov r0, r4
- bl SND_RecvCommandReply
- cmp r0, #0x0
- bne _020CF214
- bl AllocCommand
- cmp r0, #0x0
- beq _020CF240
- ldmia sp!, {r4,lr}
- bx lr
-_020CF238:
- mov r0, #0x1
- bl SND_FlushCommand
-_020CF240:
- bl RequestCommandProc
- mov r4, #0x1
-_020CF248:
- mov r0, r4
- bl SND_RecvCommandReply
- bl AllocCommand
- cmp r0, #0x0
- beq _020CF248
- ldmia sp!, {r4,lr}
- bx lr
-
- arm_func_start SND_RecvCommandReply
-SND_RecvCommandReply: ; 0x020CF264
- stmdb sp!, {r4-r6,lr}
- mov r4, r0
- bl OS_DisableInterrupts
- mov r5, r0
- ands r0, r4, #0x1
- beq _020CF2C0
- bl SNDi_GetFinishedCommandTag
- ldr r4, _020CF380 ; =0x021D383C
- ldr r1, [r4, #0x0]
- cmp r1, r0
- bne _020CF2E8
- mov r6, #0x64
-_020CF294:
- mov r0, r5
- bl OS_RestoreInterrupts
- mov r0, r6
- bl OS_SpinWait
- bl OS_DisableInterrupts
- mov r5, r0
- bl SNDi_GetFinishedCommandTag
- ldr r1, [r4, #0x0]
- cmp r1, r0
- beq _020CF294
- b _020CF2E8
-_020CF2C0:
- bl SNDi_GetFinishedCommandTag
- ldr r1, _020CF380 ; =0x021D383C
- ldr r1, [r1, #0x0]
- cmp r1, r0
- bne _020CF2E8
- mov r0, r5
- bl OS_RestoreInterrupts
-_020CF2DC:
- mov r0, #0x0
- ldmia sp!, {r4-r6, lr}
- bx lr
-_020CF2E8:
- ldr r0, _020CF384 ; =0x021D384C
- ldr r2, _020CF388 ; =0x021D385C
- ldr r3, [r0, #0x0]
- add r1, r3, #0x1
- ldr r4, [r2, r3, lsl #0x2]
- str r1, [r0, #0x0]
- cmp r1, #0x8
- movgt r1, #0x0
- strgt r1, [r0, #0x0]
- ldr r0, [r4, #0x0]
- mov r1, r4
- cmp r0, #0x0
- beq _020CF32C
-_020CF31C:
- ldr r1, [r1, #0x0]
- ldr r0, [r1, #0x0]
- cmp r0, #0x0
- bne _020CF31C
-_020CF32C:
- ldr r0, _020CF38C ; =0x021D3848
- ldr r3, _020CF390 ; =0x021D3854
- ldr r0, [r0, #0x0]
- ldr r2, _020CF380 ; =0x021D383C
- cmp r0, #0x0
- strne r4, [r0, #0x0]
- ldreq r0, _020CF394 ; =0x021D3838
- ldr lr, [r3, #0x0]
- streq r4, [r0, #0x0]
- ldr ip, _020CF38C ; =0x021D3848
- sub r6, lr, #0x1
- ldr r0, [r2, #0x0]
- str r1, [r12, #0x0]
- add lr, r0, #0x1
- mov r0, r5
- str r6, [r3, #0x0]
- str lr, [r2, #0x0]
- bl OS_RestoreInterrupts
- mov r0, r4
- ldmia sp!, {r4-r6,lr}
- bx lr
- .balign 4
-_020CF380: .word 0x021D383C
-_020CF384: .word 0x021D384C
-_020CF388: .word 0x021D385C
-_020CF38C: .word 0x021D3848
-_020CF390: .word 0x021D3854
-_020CF394: .word 0x021D3838
-
- arm_func_start SND_CommandInit
-SND_CommandInit: ; 0x020CF398
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0x4
- bl InitPXI
- ldr r3, _020CF478 ; =0x021D3B00
- ldr r0, _020CF47C ; =0x021D3838
- mov r4, #0x0
- str r3, [r0, #0x0]
- mov r1, r3
- mov r0, #0x18
-_020CF3BC:
- add r4, r4, #0x1
- mla r2, r4, r0, r1
- cmp r4, #0xff
- str r2, [r3], #0x18
- blt _020CF3BC
- ldr r7, _020CF480 ; =0x021D4B00
- mov r10, #0x0
- ldr r5, _020CF484 ; =0x021D3840
- ldr r4, _020CF488 ; =0x021D3844
- ldr lr, _020CF48C ; =0x021D3854
- ldr ip, _020CF490 ; =0x021D384C
- ldr r3, _020CF494 ; =0x021D3850
- ldr r1, _020CF498 ; =0x021D383C
- ldr sb, _020CF49C ; =0x021D52E8
- ldr r6, _020CF4A0 ; =0x021D3848
- ldr r2, _020CF4A4 ; =0x021D3858
- mov r8, #0x1
- ldr r0, _020CF4A8 ; =0x021D3880
- ldr fp, _020CF4AC ; =0x021D5360
- str r9, [r6, #0x0]
- str r10, [r7, #0x7e8]
- str r10, [r5, #0x0]
- str r10, [r4, #0x0]
- str r10, [lr, #0x0]
- str r10, [r12, #0x0]
- str r10, [r3, #0x0]
- str r8, [r2, #0x0]
- str r10, [r1, #0x0]
- str r0, [r11, #0x0]
- bl SNDi_InitSharedWork
- mov r0, r8
- bl SND_AllocCommand
-_020CF43C:
- cmp r0, #0x0
- addeq sp, sp, #0x4
- ldmeqia sp!, {r4-r11, lr}
- bxeq lr
- mov r2, #0x1D
- mov r1, fp
- str r2, [r0, #0x4]
- ldr r1, [r1]
- str r1, [r0, #0x8]
- bl SND_PushCommand
- mov r0, r8
- bl SND_FlushCommand
- add sp, sp, #0x4
- ldmia sp!, {r4-r11, lr}
- bx lr
-_020CF478: .word 0x021D3B00
-_020CF47C: .word 0x021D3838
-_020CF480: .word 0x021D4B00
-_020CF484: .word 0x021D3840
-_020CF488: .word 0x021D3844
-_020CF48C: .word 0x021D3854
-_020CF490: .word 0x021D384C
-_020CF494: .word 0x021D3850
-_020CF498: .word 0x021D383C
-_020CF49C: .word 0x021D52E8
-_020CF4A0: .word 0x021D3848
-_020CF4A4: .word 0x021D3858
-_020CF4A8: .word 0x021D3880
-_020CF4AC: .word 0x021D5360
-
- arm_func_start SNDi_CallAlarmHandler
-SNDi_CallAlarmHandler: ; 0x020CF4B0
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r3, _020CF50C ; =0x021D5300
- and r2, r0, #0xff
- mov r1, #0xc
- mla r3, r2, r1, r3
- mov r1, r0, asr #0x8
- ldrb r0, [r3, #0x8]
- and r1, r1, #0xff
- cmp r1, r0
- addne sp, sp, #0x4
- ldmneia sp!, {lr}
- bxne lr
- ldr r1, [r3, #0x0]
- cmp r1, #0x0
- addeq sp, sp, #0x4
- ldmeqia sp!, {lr}
- bxeq lr
- ldr r0, [r3, #0x4]
- blx r1
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020CF50C: .word 0x021D5300
-
- arm_func_start SNDi_SetAlarmHandler
-SNDi_SetAlarmHandler:
- mov r3, #0xc
- mul r3, r0, r3
- ldr r0, _020CF53C ; =0x021D5300
- str r1, [r0, r3]
- add r1, r0, r3
- str r2, [r1, #0x4]
- ldrb r0, [r1, #0x8]
- add r0, r0, #0x1
- strb r0, [r1, #0x8]
- ldrb r0, [r1, #0x8]
- bx lr
- .balign 4
-_020CF53C: .word 0x021D5300
-
- arm_func_start SNDi_IncAlarmId
-SNDi_IncAlarmId: ; 0x020CF540
- ldr r2, _020CF55C ; =0x021D5300
- mov r1, #0xc
- mla r1, r0, r1, r2
- ldrb r0, [r1, #0x8]
- add r0, r0, #0x1
- strb r0, [r1, #0x8]
- bx lr
- .balign 4
-_020CF55C: .word 0x021D5300
-
- arm_func_start SND_AlarmInit
-SND_AlarmInit: ; 0x020CF560
- ldr r1, _020CF58C ; =0x021D5300
- mov r2, #0x0
- mov r0, r2
-_020CF56C:
- str r0, [r1, #0x0]
- str r0, [r1, #0x4]
- add r2, r2, #0x1
- strb r0, [r1, #0x8]
- cmp r2, #0x8
- add r1, r1, #0xc
- blt _020CF56C
- bx lr
- .balign 4
-_020CF58C: .word 0x021D5300
-
- arm_func_start SNDi_InitSharedWork
-SNDi_InitSharedWork: ; 0x020CF590
- stmdb sp!, {r4,lr}
- mov r4, #0x0
- str r4, [r0, #0x4]
- strh r4, [r0, #0x8]
- strh r4, [r0, #0xa]
- mov r12, r0
- str r4, [r0, #0x0]
- mov r3, r4
- mvn r2, #0x0
-_020CF5B4:
- mov lr, r3
- str r3, [r12, #0x40]
-_020CF5BC:
- add r1, r12, lr, lsl #0x1
- add lr, lr, #0x1
- strh r2, [r1, #0x20]
- cmp lr, #0x10
- blt _020CF5BC
- add r4, r4, #0x1
- cmp r4, #0x10
- add r12, r12, #0x24
- blt _020CF5B4
- mov r3, #0x0
- mvn r2, #0x0
-_020CF5E8:
- add r1, r0, r3, lsl #0x1
- add r1, r1, #0x200
- add r3, r3, #0x1
- strh r2, [r1, #0x60]
- cmp r3, #0x10
- blt _020CF5E8
- mov r1, #0x280
- bl DC_FlushRange
- ldmia sp!, {r4,lr}
- bx lr
-
- arm_func_start SNDi_GetFinishedCommandTag
-SNDi_GetFinishedCommandTag: ; 0x020CF610
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r0, _020CF640 ; =0x021D5360
- mov r1, #0x4
- ldr r0, [r0, #0x0]
- bl DC_InvalidateRange
- ldr r0, _020CF640 ; =0x021D5360
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x0]
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020CF640: .word 0x021D5360
-
- arm_func_start SND_GetPlayerTickCounter
-SND_GetPlayerTickCounter: ; 0x020CF644
- stmdb sp!, {r4,lr}
- mov r1, #0x24
- mul r4, r0, r1
- ldr r0, _020CF680 ; =0x021D5360
- mov r1, #0x4
- ldr r0, [r0, #0x0]
- add r0, r0, #0x40
- add r0, r0, r4
- bl DC_InvalidateRange
- ldr r0, _020CF680 ; =0x021D5360
- ldr r0, [r0, #0x0]
- add r0, r0, r4
- ldr r0, [r0, #0x40]
- ldmia sp!, {r4,lr}
- bx lr
- .balign 4
-_020CF680: .word 0x021D5360
-
- arm_func_start SND_GetChannelStatus
-SND_GetChannelStatus: ; 0x020CF684
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r0, _020CF6B8 ; =0x021D5360
- mov r1, #0x2
- ldr r0, [r0, #0x0]
- add r0, r0, #0x8
- bl DC_InvalidateRange
- ldr r0, _020CF6B8 ; =0x021D5360
- ldr r0, [r0, #0x0]
- ldrh r0, [r0, #0x8]
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020CF6B8: .word 0x021D5360
-
- arm_func_start SND_GetPlayerStatus
-SND_GetPlayerStatus: ; 0x020CF6BC
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r0, _020CF6F0 ; =0x021D5360
- mov r1, #0x4
- ldr r0, [r0, #0x0]
- add r0, r0, #0x4
- bl DC_InvalidateRange
- ldr r0, _020CF6F0 ; =0x021D5360
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x4]
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020CF6F0: .word 0x021D5360
-
- arm_func_start SND_CalcChannelVolume
-SND_CalcChannelVolume: ; 0x020CF6F4
- ldr r1, _020CF75C ; =0xFFFFFD2D
- cmp r0, r1
- movlt r0, r1
- blt _020CF70C
- cmp r0, #0x0
- movgt r0, #0x0
-_020CF70C:
- ldr r1, _020CF760 ; =0x000002D3
- ldr r2, _020CF764 ; =0x02103CAC
- add r3, r0, r1
- mvn r1, #0xef
- cmp r0, r1
- ldrb r2, [r2, r3]
- movlt r0, #0x3
- blt _020CF74C
- mvn r1, #0x77
- cmp r0, r1
- movlt r0, #0x2
- blt _020CF74C
- mvn r1, #0x3b
- cmp r0, r1
- movlt r0, #0x1
- movge r0, #0x0
-_020CF74C:
- orr r0, r2, r0, lsl #0x8
- mov r0, r0, lsl #0x10
- mov r0, r0, lsr #0x10
- bx lr
- .balign 4
-_020CF75C: .word 0xFFFFFD2D
-_020CF760: .word 0x000002D3
-_020CF764: .word 0x02103CAC
-
- arm_func_start SND_GetWaveDataAddress
-SND_GetWaveDataAddress: ; 0x020CF768
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r5, r0
- mov r4, r1
- bl SNDi_LockMutex
- add r0, r5, r4, lsl #0x2
- ldr r4, [r0, #0x3c]
- cmp r4, #0x0
- beq _020CF798
- cmp r4, #0x2000000
- addcc r4, r5, r4
- b _020CF79C
-_020CF798:
- mov r4, #0x0
-_020CF79C:
- bl SNDi_UnlockMutex
- mov r0, r4
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
-
- arm_func_start SND_SetWaveDataAddress
-SND_SetWaveDataAddress: ; 0x020CF7B0
- stmdb sp!, {r4-r6,lr}
- mov r6, r0
- mov r5, r1
- mov r4, r2
- bl SNDi_LockMutex
- add r0, r6, #0x3c
- add r2, r6, r5, lsl #0x2
- add r0, r0, r5, lsl #0x2
- mov r1, #0x4
- str r4, [r2, #0x3c]
- bl DC_StoreRange
- bl SNDi_UnlockMutex
- ldmia sp!, {r4-r6,lr}
- bx lr
-
- arm_func_start SND_GetWaveDataCount
-SND_GetWaveDataCount: ; 0x020CF7E8
- ldr r0, [r0, #0x38]
- bx lr
-
- arm_func_start SND_GetNextInstData
-SND_GetNextInstData: ; 0x020CF7F0
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- ldr r4, [r2, #0x0]
- ldr r3, [r0, #0x38]
- cmp r4, r3
- bhs _020CF9B8
- mov r12, #0x0
-_020CF80C:
- add r3, r0, r4, lsl #0x2
- ldr r4, [r3, #0x3c]
- strb r4, [r1, #0x0]
- ldrb r3, [r1, #0x0]
- cmp r3, #0x10
- bgt _020CF850
- cmp r3, #0x10
- bge _020CF8A8
- cmp r3, #0x5
- addls pc, pc, r3, lsl #0x2
- b _020CF998
-_020CF838:
- b _020CF998
- b _020CF85C
- b _020CF85C
- b _020CF85C
- b _020CF85C
- b _020CF85C
-_020CF850:
- cmp r3, #0x11
- beq _020CF924
- b _020CF998
-_020CF85C:
- mov r3, r4, lsr #0x8
- add r5, r0, r4, lsr #0x8
- ldrh r4, [r0, r3]
- ldrh r3, [r5, #0x2]
- add sp, sp, #0x4
- mov r0, #0x1
- strh r4, [r1, #0x2]
- strh r3, [r1, #0x4]
- ldrh r4, [r5, #0x4]
- ldrh r3, [r5, #0x6]
- strh r4, [r1, #0x6]
- strh r3, [r1, #0x8]
- ldrh r3, [r5, #0x8]
- strh r3, [r1, #0xA]
- ldr r1, [r2]
- add r1, r1, #0x1
- str r1, [r2]
- ldmia sp!, {r4-r5,lr}
- bx lr
-_020CF8A8:
- add r5, r0, r4, lsr #0x8
- b _020CF904
-_020CF8B0:
- mov r0, #0xc
- mla r12, lr, r0, r5
- ldrh r4, [r12, #0x2]
- ldrh r3, [r12, #0x4]
- add sp, sp, #0x4
- mov r0, #0x1
- strh r4, [r1, #0x0]
- strh r3, [r1, #0x2]
- ldrh r4, [r12, #0x6]
- ldrh r3, [r12, #0x8]
- strh r4, [r1, #0x4]
- strh r3, [r1, #0x6]
- ldrh r4, [r12, #0xa]
- ldrh r3, [r12, #0xc]
- strh r4, [r1, #0x8]
- strh r3, [r1, #0xa]
- ldr r1, [r2, #0x4]
- add r1, r1, #0x1
- str r1, [r2, #0x4]
- ldmia sp!, {r4-r5,lr}
- bx lr
-_020CF904:
- ldrb r4, [r5, #0x1]
- ldrb r3, [r5, #0x0]
- ldr lr, [r2, #0x4]
- sub r3, r4, r3
- add r3, r3, #0x1
- cmp lr, r3
- blo _020CF8B0
- b _020CF998
-_020CF924:
- add r4, r0, r4, lsr #0x8
- b _020CF98C
-_020CF92C:
- ldrb lr, [r4, r3]
- cmp lr, #0x0
- beq _020CF998
- mov r0, #0xc
- mla lr, r3, r0, r4
- ldrh r12, [lr, #0x8]
- ldrh r3, [lr, #0xa]
- add sp, sp, #0x4
- mov r0, #0x1
- strh r12, [r1, #0x0]
- strh r3, [r1, #0x2]
- ldrh r12, [lr, #0xc]
- ldrh r3, [lr, #0xe]
- strh r12, [r1, #0x4]
- strh r3, [r1, #0x6]
- ldrh r12, [lr, #0x10]
- ldrh r3, [lr, #0x12]
- strh r12, [r1, #0x8]
- strh r3, [r1, #0xa]
- ldr r1, [r2, #0x4]
- add r1, r1, #0x1
- str r1, [r2, #0x4]
- ldmia sp!, {r4-r5,lr}
- bx lr
-_020CF98C:
- ldr r3, [r2, #0x4]
- cmp r3, #0x8
- blo _020CF92C
-_020CF998:
- ldr r3, [r2, #0x0]
- add r3, r3, #0x1
- str r3, [r2, #0x0]
- str r12, [r2, #0x4]
- ldr r4, [r2, #0x0]
- ldr r3, [r0, #0x38]
- cmp r4, r3
- blo _020CF80C
-_020CF9B8:
- mov r0, #0x0
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
-
- arm_func_start SND_GetFirstInstDataPos
-SND_GetFirstInstDataPos: ; 0x020CF9C8
- sub sp, sp, #0x8
- mov r1, #0x0
- str r1, [sp, #0x0]
- str r1, [sp, #0x4]
- str r1, [r0, #0x0]
- str r1, [r0, #0x4]
- add sp, sp, #0x8
- bx lr
-
- arm_func_start SND_DestroyWaveArc
-SND_DestroyWaveArc: ; 0x020CF9E8
- stmdb sp!, {r4-r6,lr}
- mov r4, r0
- bl SNDi_LockMutex
- ldr r0, [r4, #0x18]
- cmp r0, #0x0
- beq _020CFA28
- mov r5, #0x0
- mov r4, #0x8
-_020CFA08:
- ldr r6, [r0, #0x4]
- mov r1, r4
- str r5, [r0, #0x0]
- str r5, [r0, #0x4]
- bl DC_StoreRange
- mov r0, r6
- cmp r6, #0x0
- bne _020CFA08
-_020CFA28:
- bl SNDi_UnlockMutex
- ldmia sp!, {r4-r6,lr}
- bx lr
-
- arm_func_start SND_DestroyBank
-SND_DestroyBank: ; 0x020CFA34
- stmdb sp!, {r4-r8,lr}
- mov r7, r0
- bl SNDi_LockMutex
- add r5, r7, #0x18
- mov r6, #0x0
- mov r8, #0x8
- mov r4, #0x3c
-_020CFA50:
- add r1, r7, r6, lsl #0x3
- ldr r0, [r1, #0x18]
- cmp r0, #0x0
- beq _020CFAB8
- ldr r3, [r0, #0x18]
- cmp r5, r3
- bne _020CFA80
- ldr r2, [r1, #0x1c]
- mov r1, r4
- str r2, [r0, #0x18]
- bl DC_StoreRange
- b _020CFAB8
-_020CFA80:
- cmp r3, #0x0
- beq _020CFAA0
-_020CFA88:
- ldr r0, [r3, #0x4]
- cmp r5, r0
- beq _020CFAA0
- mov r3, r0
- cmp r0, #0x0
- bne _020CFA88
-_020CFAA0:
- add r0, r7, r6, lsl #0x3
- ldr r2, [r0, #0x1c]
- mov r0, r3
- mov r1, r8
- str r2, [r3, #0x4]
- bl DC_StoreRange
-_020CFAB8:
- add r6, r6, #0x1
- cmp r6, #0x4
- add r5, r5, #0x8
- blt _020CFA50
- bl SNDi_UnlockMutex
- ldmia sp!, {r4-r8,lr}
- bx lr
-
- arm_func_start SND_AssignWaveArc
-SND_AssignWaveArc: ; 0x020CFAD4
- stmdb sp!, {r4-r6,lr}
- mov r6, r0
- mov r5, r1
- mov r4, r2
- bl SNDi_LockMutex
- add r3, r6, r5, lsl #0x3
- ldr r2, [r3, #0x18]
- mov r12, r5, lsl #0x3
- cmp r2, #0x0
- beq _020CFB70
- cmp r4, r2
- bne _020CFB10
- bl SNDi_UnlockMutex
- ldmia sp!, {r4-r6,lr}
- bx lr
-_020CFB10:
- add r1, r6, #0x18
- ldr r0, [r2, #0x18]
- add r12, r1, r12
- cmp r12, r0
- bne _020CFB3C
- ldr r0, [r3, #0x1c]
- mov r1, #0x3c
- str r0, [r2, #0x18]
- ldr r0, [r3, #0x18]
- bl DC_StoreRange
- b _020CFB70
-_020CFB3C:
- cmp r0, #0x0
- beq _020CFB5C
-_020CFB44:
- ldr r1, [r0, #0x4]
- cmp r12, r1
- beq _020CFB5C
- mov r0, r1
- cmp r1, #0x0
- bne _020CFB44
-_020CFB5C:
- add r1, r6, r5, lsl #0x3
- ldr r2, [r1, #0x1c]
- mov r1, #0x8
- str r2, [r0, #0x4]
- bl DC_StoreRange
-_020CFB70:
- add r0, r6, #0x18
- ldr r1, [r4, #0x18]
- add r0, r0, r5, lsl #0x3
- str r0, [r4, #0x18]
- add r0, r6, r5, lsl #0x3
- str r1, [r0, #0x1c]
- str r4, [r0, #0x18]
- bl SNDi_UnlockMutex
- mov r0, r6
- mov r1, #0x3c
- bl DC_StoreRange
- mov r0, r4
- mov r1, #0x3c
- bl DC_StoreRange
- ldmia sp!, {r4-r6,lr}
- bx lr
diff --git a/asm/SPI_arm9.s b/asm/SPI_arm9.s
deleted file mode 100644
index 915bb22c..00000000
--- a/asm/SPI_arm9.s
+++ /dev/null
@@ -1,1487 +0,0 @@
- .include "asm/macros.inc"
- .include "global.inc"
- .section .text
-
- arm_func_start TP_CheckError
-TP_CheckError: ; 0x020D36C4
- ldr r1, _020D36D4 ; =0x021D5474
- ldrh r1, [r1, #0x34]
- and r0, r1, r0
- bx lr
- .balign 4
-_020D36D4: .word 0x021D5474
-
- arm_func_start TP_WaitBusy
-TP_WaitBusy: ; 0x020D36D8
- ldr r1, _020D36EC ; =0x021D5474
-_020D36DC:
- ldrh r2, [r1, #0x36]
- ands r2, r2, r0
- bne _020D36DC
- bx lr
- .balign 4
-_020D36EC: .word 0x021D5474
-
- arm_func_start TP_GetCalibratedPoint
-TP_GetCalibratedPoint: ; 0x020D36F0
- stmdb sp!, {r4-r6,lr}
- ldr r2, _020D3818 ; =0x021D5474
- ldrh r2, [r2, #0x30]
- cmp r2, #0x0
- bne _020D372C
- ldrh r3, [r1, #0x0]
- ldrh r2, [r1, #0x2]
- strh r3, [r0, #0x0]
- strh r2, [r0, #0x2]
- ldrh r2, [r1, #0x4]
- ldrh r1, [r1, #0x6]
- strh r2, [r0, #0x4]
- strh r1, [r0, #0x6]
- ldmia sp!, {r4-r6,lr}
- bx lr
-_020D372C:
- ldrh r3, [r1, #0x4]
- ldr r2, _020D381C ; =0x021D548C
- strh r3, [r0, #0x4]
- ldrh r3, [r1, #0x6]
- strh r3, [r0, #0x6]
- ldrh r3, [r1, #0x4]
- cmp r3, #0x0
- moveq r1, #0x0
- streqh r1, [r0, #0x0]
- streqh r1, [r0, #0x2]
- ldmeqia sp!, {r4-r6,lr}
- bxeq lr
- ldrh r4, [r1, #0x0]
- ldr r3, [r2, #0x0]
- ldr lr, [r2, #0x8]
- mov r12, r4, lsl #0x2
- mov r4, r12, asr #0x1f
- subs r12, r12, r3
- sbc r3, r4, r3, asr #0x1f
- umull r6, r5, lr, r12
- mla r5, lr, r3, r5
- mov r3, lr, asr #0x1f
- mla r5, r3, r12, r5
- mov r3, r6, lsr #0x16
- orr r3, r3, r5, lsl #0xa
- strh r3, [r0, #0x0]
- ldrsh r3, [r0, #0x0]
- cmp r3, #0x0
- movlt r3, #0x0
- strlth r3, [r0, #0x0]
- blt _020D37B4
- cmp r3, #0xff
- movgt r3, #0xff
- strgth r3, [r0, #0x0]
-_020D37B4:
- ldrh r3, [r1, #0x2]
- ldr r1, [r2, #0xc]
- ldr r12, [r2, #0x14]
- mov r3, r3, lsl #0x2
- mov r2, r3, asr #0x1f
- subs r3, r3, r1
- sbc r1, r2, r1, asr #0x1f
- umull r4, lr, r12, r3
- mla lr, r12, r1, lr
- mov r1, r12, asr #0x1f
- mla lr, r1, r3, lr
- mov r1, r4, lsr #0x16
- orr r1, r1, lr, lsl #0xa
- strh r1, [r0, #0x2]
- ldrsh r1, [r0, #0x2]
- cmp r1, #0x0
- movlt r1, #0x0
- strlth r1, [r0, #0x2]
- ldmltia sp!, {r4-r6,lr}
- bxlt lr
- cmp r1, #0xbf
- movgt r1, #0xbf
- strgth r1, [r0, #0x2]
- ldmia sp!, {r4-r6,lr}
- bx lr
- .balign 4
-_020D3818: .word 0x021D5474
-_020D381C: .word 0x021D548C
-
- arm_func_start TP_CalcCalibrateParam
-TP_CalcCalibrateParam:
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0x4
- mov r6, r1
- mov r7, r0
- mov r5, r2
- mov r4, r3
- cmp r6, #0x1000
- bhs _020D3860
- cmp r5, #0x1000
- bhs _020D3860
- ldrh r8, [sp, #0x2c]
- cmp r8, #0x1000
- bhs _020D3860
- ldrh r3, [sp, #0x30]
- cmp r3, #0x1000
- blo _020D3870
-_020D3860:
- add sp, sp, #0x4
- mov r0, #0x1
- ldmia sp!, {r4-r11,lr}
- bx lr
-_020D3870:
- cmp r4, #0x100
- bhs _020D389C
- ldrh r2, [sp, #0x34]
- cmp r2, #0x100
- bhs _020D389C
- ldrh r1, [sp, #0x28]
- cmp r1, #0xc0
- bhs _020D389C
- ldrh r0, [sp, #0x38]
- cmp r0, #0xc0
- blo _020D38AC
-_020D389C:
- add sp, sp, #0x4
- mov r0, #0x1
- ldmia sp!, {r4-r11,lr}
- bx lr
-_020D38AC:
- cmp r4, r2
- beq _020D38CC
- cmp r1, r0
- beq _020D38CC
- cmp r6, r8
- beq _020D38CC
- cmp r5, r3
- bne _020D38DC
-_020D38CC:
- add sp, sp, #0x4
- mov r0, #0x1
- ldmia sp!, {r4-r11,lr}
- bx lr
-_020D38DC:
- bl OS_DisableInterrupts
- ldrh r1, [sp, #0x2c]
- ldr r3, _020D3A80 ; =0x04000280
- ldr fp, _020D3A84 ; =0x04000290
- str r1, [sp, #0x0]
- ldr r2, [sp, #0x0]
- ldrh r1, [sp, #0x34]
- sub r9, r6, r2
- mov r2, #0x0
- mov r12, r9, lsl #0x8
- strh r2, [r3, #0x0]
- str r12, [r11, #0x0]
- ldrh r8, [sp, #0x30]
- ldrh r10, [sp, #0x38]
- ldrh r9, [sp, #0x28]
- ldr fp, _020D3A88 ; =0x04000298
- sub r12, r4, r1
- str r12, [r11, #0x0]
- str r2, [r11, #0x4]
- sub r11, r5, r8
- sub r2, r9, r10
-_020D3930:
- ldrh r12, [r3, #0x0]
- ands r12, r12, #0x8000
- bne _020D3930
- ldr ip, _020D3A8C ; =0x040002A0
- mov r11, r11, lsl #0x8
- ldr lr, [r12, #0x0]
- mov r12, #0x0
- strh r12, [r3, #0x0]
- ldr r3, _020D3A84 ; =0x04000290
- cmp lr, #0x8000
- str r11, [r3, #0x0]
- ldr r3, _020D3A88 ; =0x04000298
- str r2, [r3, #0x0]
- mov r2, r3
- str r12, [r2, #0x4]
- bge _020D3980
- mov r2, #0x8000
- rsb r2, r2, #0x0
- cmp lr, r2
- bge _020D3994
-_020D3980:
- bl OS_RestoreInterrupts
- add sp, sp, #0x4
- mov r0, #0x1
- ldmia sp!, {r4-r11,lr}
- bx lr
-_020D3994:
- strh lr, [r7, #0x4]
- ldrsh r11, [r7, #0x4]
- add r3, r4, r1
- ldr r1, [sp, #0x0]
- add r4, r6, r1
- mul r1, r11, r3
- mov r3, r4, lsl #0x8
- sub r1, r3, r1
- mov r1, r1, lsl #0x9
- mov r1, r1, asr #0x10
- cmp r1, #0x8000
- bge _020D39CC
- cmp r1, r2
- bge _020D39E0
-_020D39CC:
- bl OS_RestoreInterrupts
- add sp, sp, #0x4
- mov r0, #0x1
- ldmia sp!, {r4-r11,lr}
- bx lr
-_020D39E0:
- ldr r2, _020D3A80 ; =0x04000280
- strh r1, [r7, #0x0]
-_020D39E8:
- ldrh r1, [r2, #0x0]
- ands r1, r1, #0x8000
- bne _020D39E8
- ldr r1, _020D3A8C ; =0x040002A0
- ldr r4, [r1, #0x0]
- bl OS_RestoreInterrupts
- cmp r4, #0x8000
- bge _020D3A18
- mov r0, #0x8000
- rsb r1, r0, #0x0
- cmp r4, r1
- bge _020D3A28
-_020D3A18:
- add sp, sp, #0x4
- mov r0, #0x1
- ldmia sp!, {r4-r11,lr}
- bx lr
-_020D3A28:
- strh r4, [r7, #0x6]
- ldrsh r2, [r7, #0x6]
- add r0, r9, r10
- add r3, r5, r8
- mul r0, r2, r0
- mov r2, r3, lsl #0x8
- sub r0, r2, r0
- mov r0, r0, lsl #0x9
- mov r0, r0, asr #0x10
- cmp r0, #0x8000
- bge _020D3A5C
- cmp r0, r1
- bge _020D3A6C
-_020D3A5C:
- add sp, sp, #0x4
- mov r0, #0x1
- ldmia sp!, {r4-r11,lr}
- bx lr
-_020D3A6C:
- strh r0, [r7, #0x2]
- mov r0, #0x0
- add sp, sp, #0x4
- ldmia sp!, {r4-r11,lr}
- bx lr
- .balign 4
-_020D3A80: .word 0x04000280
-_020D3A84: .word 0x04000290
-_020D3A88: .word 0x04000298
-_020D3A8C: .word 0x040002A0
-
- arm_func_start TP_GetLatestIndexInAuto
-TP_GetLatestIndexInAuto: ; 0x020D3A90
- ldr r0, _020D3A9C ; =0x021D5474
- ldrh r0, [r0, #0xc]
- bx lr
- .balign 4
-_020D3A9C: .word 0x021D5474
-
- arm_func_start TP_GetLatestRawPointInAuto
-TP_GetLatestRawPointInAuto: ; 0x020D3AA0
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r1, #0x3
- ldr lr, _020D3C10 ; =0x021D5474
- strh r1, [r0, #0x6]
- ldrh r1, [lr, #0xe]
- ldrh r3, [lr, #0xc]
- cmp r1, #0x1
- beq _020D3AD0
- ldrh r1, [lr, #0x14]
- cmp r1, #0x1
- bne _020D3B0C
-_020D3AD0:
- ldr r1, _020D3C10 ; =0x021D5474
- mov r2, r3, lsl #0x3
- ldr r1, [r1, #0x10]
- add sp, sp, #0x4
- add r3, r1, r3, lsl #0x3
- ldrh r2, [r1, r2]
- ldrh r1, [r3, #0x2]
- strh r2, [r0, #0x0]
- strh r1, [r0, #0x2]
- ldrh r2, [r3, #0x4]
- ldrh r1, [r3, #0x6]
- strh r2, [r0, #0x4]
- strh r1, [r0, #0x6]
- ldmia sp!, {r4-r5,lr}
- bx lr
-_020D3B0C:
- add r1, r0, #0x6
- mov r12, #0x0
- b _020D3BE0
-_020D3B18:
- subs r5, r3, r12
- ldr r2, [lr, #0x10]
- addmi r5, r5, r4
- add r2, r2, r5, lsl #0x3
- ldrh r4, [r2, #0x4]
- cmp r4, #0x0
- bne _020D3B60
- ldrh r3, [r2, #0x0]
- ldrh r1, [r2, #0x2]
- add sp, sp, #0x4
- strh r3, [r0, #0x0]
- strh r1, [r0, #0x2]
- ldrh r3, [r2, #0x4]
- ldrh r1, [r2, #0x6]
- strh r3, [r0, #0x4]
- strh r1, [r0, #0x6]
- ldmia sp!, {r4-r5,lr}
- bx lr
-_020D3B60:
- ldrh r4, [r0, #0x6]
- ands r4, r4, #0x1
- beq _020D3B90
- ldrh r4, [r2, #0x6]
- ands r4, r4, #0x1
- bne _020D3B90
- ldrh r4, [r2, #0x0]
- cmp r12, #0x0
- strh r4, [r0, #0x0]
- ldrneh r4, [r1, #0x0]
- bicne r4, r4, #0x1
- strneh r4, [r1, #0x0]
-_020D3B90:
- ldrh r4, [r0, #0x6]
- ands r4, r4, #0x2
- beq _020D3BC0
- ldrh r4, [r2, #0x6]
- ands r4, r4, #0x2
- bne _020D3BC0
- ldrh r2, [r2, #0x2]
- cmp r12, #0x0
- strh r2, [r0, #0x2]
- ldrneh r2, [r1, #0x0]
- bicne r2, r2, #0x2
- strneh r2, [r1, #0x0]
-_020D3BC0:
- ldrh r2, [r0, #0x6]
- cmp r2, #0x0
- moveq r1, #0x1
- streqh r1, [r0, #0x4]
- addeq sp, sp, #0x4
- ldmeqia sp!, {r4-r5,lr}
- bxeq lr
- add r12, r12, #0x1
-_020D3BE0:
- ldrh r2, [lr, #0xe]
- cmp r12, r2
- bge _020D3BFC
- ldrh r4, [lr, #0x14]
- sub r2, r4, #0x1
- cmp r12, r2
- blt _020D3B18
-_020D3BFC:
- mov r1, #0x1
- strh r1, [r0, #0x4]
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
- .balign 4
-_020D3C10: .word 0x021D5474
-
- arm_func_start TP_RequestAutoSamplingStopAsync
-TP_RequestAutoSamplingStopAsync: ; 0x020D3C14
- stmdb sp!, {r4,lr}
- bl OS_DisableInterrupts
- mov r4, r0
- ldr r1, _020D3CB0 ; =0x03000200
- mov r0, #0x6
- mov r2, #0x0
- bl PXI_SendWordByFifo
-_020D3C30:
- cmp r0, #0x0
- movge r0, #0x1
- movlt r0, #0x0
- cmp r0, #0x0
- bne _020D3C84
- mov r0, r4
- bl OS_RestoreInterrupts
- ldr r0, _020D3CB4
- ldrh r1, [r0, #0x34]
- ldr r3, [r0]
- orr r1, r1, #0x4
- strh r1, [r0, #0x34]
- cmp r3, #0x0
- ldmeqia sp!, {r4, lr}
- bxeq lr
- mov r0, #0x2
- mov r1, #0x4
- mov r2, #0x0
- blx r3
- ldmia sp!, {r4, lr}
- bx lr
-_020D3C84:
- ldr r1, _020D3CB4
- mov r0, r4
- ldrh r2, [r1, #0x36]
- orr r2, r2, #0x4
- strh r2, [r1, #0x36]
- ldrh r2, [r1, #0x34]
- bic r2, r2, #0x4
- strh r2, [r1, #0x34]
- bl OS_RestoreInterrupts
- ldmia sp!, {r4, lr}
- bx lr
-_020D3CB0: .word 0x03000200
-_020D3CB4: .word 0x021D5474
-
- arm_func_start TP_RequestAutoSamplingStartAsync
-TP_RequestAutoSamplingStartAsync: ; 0x020D3CB8
- stmdb sp!, {r4-r6,lr}
- ldr r4, _020D3DC0 ; =0x021D5474
- mov r5, r1
- mov r12, #0x0
- mov r6, r0
- str r2, [r4, #0x10]
- strh r12, [r4, #0xc]
- strh r5, [r4, #0xe]
- strh r3, [r4, #0x14]
- cmp r3, #0x0
- bls _020D3D00
- mov r1, r12
-_020D3CE8:
- ldr r0, [r4, #0x10]
- add r0, r0, r12, lsl #0x3
- add r12, r12, #0x1
- strh r1, [r0, #0x4]
- cmp r12, r3
- blo _020D3CE8
-_020D3D00:
- bl OS_DisableInterrupts
- mov r4, r0
- ldr r0, _020D3DC4 ; =0x02000100
- and r1, r5, #0xff
- orr r1, r1, r0
- mov r0, #0x6
- mov r2, #0x0
- bl PXI_SendWordByFifo
-_020D3D20:
- cmp r0, #0x0
- movlt r0, #0x0
- blt _020D3D4C
- ldr r1, _020D3DC8
- mov r0, #0x6
- orr r1, r6, r1
- mov r2, #0x0
- bl PXI_SendWordByFifo
- cmp r0, #0x0
- movlt r0, #0x0
- movge r0, #0x1
-_020D3D4C:
- ands r0, r0, #0xFF
- bne _020D3D94
- mov r0, r4
- bl OS_RestoreInterrupts
- ldr r0, _020D3DC0
- ldrh r1, [r0, #0x34]
- ldr r3, [r0]
- orr r1, r1, #0x2
- strh r1, [r0, #0x34]
- cmp r3, #0x0
- ldmeqia sp!, {r4-r6, lr}
- bxeq lr
- mov r0, #0x1
- mov r1, #0x4
- mov r2, #0x0
- blx r3
- ldmia sp!, {r4-r6, lr}
- bx lr
-_020D3D94:
- ldr r1, _020D3DC0
- mov r0, r4
- ldrh r2, [r1, #0x36]
- orr r2, r2, #0x2
- strh r2, [r1, #0x36]
- ldrh r2, [r1, #0x34]
- bic r2, r2, #0x2
- strh r2, [r1, #0x34]
- bl OS_RestoreInterrupts
- ldmia sp!, {r4-r6, lr}
- bx lr
-_020D3DC0: .word 0x021D5474
-_020D3DC4: .word 0x02000100
-_020D3DC8: .word 0x01010000
-
- arm_func_start TP_WaitRawResult
-TP_WaitRawResult: ; 0x020D3DCC
- stmdb sp!, {r4,lr}
- mov r4, r0
- mov r0, #0x1
- bl TP_WaitBusy
- ldr r1, _020D3E20 ; =0x021D5474
- ldrh r0, [r1, #0x34]
- ands r0, r0, #0x1
- movne r0, #0x1
- ldmneia sp!, {r4,lr}
- bxne lr
- ldrh r3, [r1, #0x4]
- ldrh r2, [r1, #0x6]
- mov r0, #0x0
- strh r3, [r4, #0x0]
- strh r2, [r4, #0x2]
- ldrh r2, [r1, #0x8]
- ldrh r1, [r1, #0xa]
- strh r2, [r4, #0x4]
- strh r1, [r4, #0x6]
- ldmia sp!, {r4,lr}
- bx lr
- .balign 4
-_020D3E20: .word 0x021D5474
-
- arm_func_start TP_RequestSamplingAsync
-TP_RequestSamplingAsync: ; 0x020D3E24
- stmdb sp!, {r4,lr}
- bl OS_DisableInterrupts
- mov r4, r0
- mov r0, #0x6
- mov r1, #0x3000000
- mov r2, #0x0
- bl PXI_SendWordByFifo
-_020D3E40:
- cmp r0, #0x0
- movge r0, #0x1
- movlt r0, #0x0
- cmp r0, #0x0
- bne _020D3E94
- mov r0, r4
- bl OS_RestoreInterrupts
- ldr r0, _20D3EC0
- ldrh r1, [r0, #0x34]
- ldr r3, [r0]
- orr r1, r1, #0x1
- strh r1, [r0, #0x34]
- cmp r3, #0x0
- ldmeqia sp!, {r4, lr}
- bxeq lr
- mov r0, #0x0
- mov r2, r0
- mov r1, #0x4
- blx r3
- ldmia sp!, {r4, lr}
- bx lr
-_020D3E94:
- ldr r1, _20D3EC0
- mov r0, r4
- ldrh r2, [r1, #0x36]
- orr r2, r2, #0x1
- strh r2, [r1, #0x36]
- ldrh r2, [r1, #0x34]
- bic r2, r2, #0x1
- strh r2, [r1, #0x34]
- bl OS_RestoreInterrupts
- ldmia sp!, {r4, lr}
- bx lr
-_20D3EC0: .word 0x021D5474
-
- arm_func_start TP_SetCalibrateParam
-TP_SetCalibrateParam: ; 0x020D3EC4
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- movs r4, r0
- ldreq r0, _020D3FF8 ; =0x021D5474
- moveq r1, #0x0
- streqh r1, [r0, #0x30]
- addeq sp, sp, #0x4
- ldmeqia sp!, {r4-r5,lr}
- bxeq lr
- bl OS_DisableInterrupts
- ldrsh lr, [r4, #0x4]
- cmp lr, #0x0
- beq _020D3F50
- ldr r5, _020D3FFC ; =0x04000280
- mov r12, #0x0
- ldr r2, _020D4000 ; =0x04000290
- strh r12, [r5, #0x0]
- mov r3, #0x10000000
- ldr r1, _020D4004 ; =0x04000298
- str r3, [r2, #0x0]
- str lr, [r1, #0x0]
- str r12, [r1, #0x4]
- ldrsh r2, [r4, #0x0]
- ldr r1, _020D3FF8 ; =0x021D5474
- str r2, [r1, #0x18]
- ldrsh r2, [r4, #0x4]
- str r2, [r1, #0x1c]
-_020D3F30:
- ldrh r1, [r5, #0x0]
- ands r1, r1, #0x8000
- bne _020D3F30
- ldr r2, _020D4008 ; =0x040002A0
- ldr r1, _020D3FF8 ; =0x021D5474
- ldr r2, [r2, #0x0]
- str r2, [r1, #0x20]
- b _020D3F64
-_020D3F50:
- ldr r1, _020D3FF8 ; =0x021D5474
- mov r2, #0x0
- str r2, [r1, #0x18]
- str r2, [r1, #0x1c]
- str r2, [r1, #0x20]
-_020D3F64:
- ldrsh r5, [r4, #0x6]
- cmp r5, #0x0
- beq _020D3FC8
- ldr ip, _020D3FFC ; =0x04000280
- mov lr, #0x0
- ldr r2, _020D4000 ; =0x04000290
- strh lr, [r12, #0x0]
- mov r3, #0x10000000
- ldr r1, _020D4004 ; =0x04000298
- str r3, [r2, #0x0]
- str r5, [r1, #0x0]
- str lr, [r1, #0x4]
- ldrsh r2, [r4, #0x2]
- ldr r1, _020D3FF8 ; =0x021D5474
- str r2, [r1, #0x24]
- ldrsh r2, [r4, #0x6]
- str r2, [r1, #0x28]
-_020D3FA8:
- ldrh r1, [r12, #0x0]
- ands r1, r1, #0x8000
- bne _020D3FA8
- ldr r2, _020D4008 ; =0x040002A0
- ldr r1, _020D3FF8 ; =0x021D5474
- ldr r2, [r2, #0x0]
- str r2, [r1, #0x2c]
- b _020D3FDC
-_020D3FC8:
- ldr r1, _020D3FF8 ; =0x021D5474
- mov r2, #0x0
- str r2, [r1, #0x24]
- str r2, [r1, #0x28]
- str r2, [r1, #0x2c]
-_020D3FDC:
- bl OS_RestoreInterrupts
- ldr r0, _020D3FF8 ; =0x021D5474
- mov r1, #0x1
- strh r1, [r0, #0x30]
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
- .balign 4
-_020D3FF8: .word 0x021D5474
-_020D3FFC: .word 0x04000280
-_020D4000: .word 0x04000290
-_020D4004: .word 0x04000298
-_020D4008: .word 0x040002A0
-
- arm_func_start TP_GetUserInfo
-TP_GetUserInfo: ; 0x020D400C
- stmdb sp!, {r4-r6,lr}
- sub sp, sp, #0x18
- ldr ip, _020D40B4 ; =0x027FFC80
- mov r4, r0
- ldrh r1, [r12, #0x58]
- ldrh r2, [r12, #0x5a]
- ldrb r3, [r12, #0x5c]
- cmp r1, #0x0
- ldrb lr, [r12, #0x5d]
- ldrh r6, [r12, #0x5e]
- ldrh r5, [r12, #0x60]
- ldrb r0, [r12, #0x62]
- ldrb r12, [r12, #0x63]
- bne _020D405C
- cmp r6, #0x0
- bne _020D405C
- cmp r2, #0x0
- bne _020D405C
- cmp r5, #0x0
- beq _020D4080
-_020D405C:
- str lr, [sp, #0x0]
- str r6, [sp, #0x4]
- str r5, [sp, #0x8]
- str r0, [sp, #0xc]
- mov r0, r4
- str r12, [sp, #0x10]
- bl TP_CalcCalibrateParam
-_020D4078:
- cmp r0, #0
- beq _020D40A4
-_020D4080:
- mov r0, #0x0
- strh r0, [r4, #0x0]
- strh r0, [r4, #0x2]
- strh r0, [r4, #0x4]
- strh r0, [r4, #0x6]
- add sp, sp, #0x18
- mov r0, #0x1
- ldmia sp!, {r4-r6,lr}
- bx lr
-_020D40A4:
- mov r0, #0x1
- add sp, sp, #0x18
- ldmia sp!, {r4-r6,lr}
- bx lr
-_020D40B4: .word 0x027FFC80
-
- arm_func_start TP_Init
-TP_Init: ; 0x020D40B8
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- ldr r0, _020D413C ; =0x021D5470
- ldrh r1, [r0, #0x0]
- cmp r1, #0x0
- addne sp, sp, #0x4
- ldmneia sp!, {r4-r5,lr}
- bxne lr
- mov r1, #0x1
- strh r1, [r0, #0x0]
- bl PXI_Init
- ldr r0, _020D4140 ; =0x021D5474
- mov r1, #0x0
- strh r1, [r0, #0x32]
- strh r1, [r0, #0x36]
- strh r1, [r0, #0xc]
- str r1, [r0, #0x0]
- str r1, [r0, #0x10]
- strh r1, [r0, #0x30]
- strh r1, [r0, #0x34]
- mov r5, #0x6
- mov r4, #0x1
-_020D4110:
- mov r0, r5
- mov r1, r4
- bl PXI_IsCallbackReady
-_020D411C:
- cmp r0, #0x0
- beq _020D4110
- ldr r1, _020D4144
- mov r0, #0x6
- bl PXI_SetFifoRecvCallback
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
-_020D413C: .word 0x021D5470 ; initial$7594
-_020D4140: .word 0x021D5474 ; tpState
-_020D4144: .word TPi_TpCallback
-
- arm_func_start TPi_TpCallback
-TPi_TpCallback: ; 0x020D4148
- stmdb sp!, {r4,lr}
- sub sp, sp, #0x8
- mov r0, r1, lsl #0x10
- mov r3, r0, lsr #0x10
- and r0, r3, #0x7f00
- mov r0, r0, lsl #0x8
- cmp r2, #0x0
- mov r0, r0, lsr #0x10
- beq _020D41AC
- ldr r1, _020D43FC ; =0x021D5474
- mov r2, #0x1
- ldrh r4, [r1, #0x34]
- ldr r3, [r1, #0x0]
- orr r2, r4, r2, lsl r0
- cmp r3, #0x0
- strh r2, [r1, #0x34]
- addeq sp, sp, #0x8
- ldmeqia sp!, {r4,lr}
- bxeq lr
- mov r1, #0x4
- mov r2, #0x0
- blx r3
- add sp, sp, #0x8
- ldmia sp!, {r4,lr}
- bx lr
-_020D41AC:
- cmp r0, #0x10
- bne _020D427C
- ldr r1, _020D43FC ; =0x021D5474
- ldrh r3, [r1, #0xc]
- ldrh r2, [r1, #0x14]
- add r3, r3, #0x1
- strh r3, [r1, #0xc]
- ldrh r3, [r1, #0xc]
- cmp r3, r2
- movcs r2, #0x0
- strcsh r2, [r1, #0xc]
- ldr r1, _020D4400 ; =0x027FFFAA
- ldr r2, _020D43FC ; =0x021D5474
- ldrh r3, [r1, #0x0]
- ldr r1, _020D4404 ; =0x027FFFAC
- ldrh r12, [r2, #0xc]
- strh r3, [sp, #0x0]
- ldrh r1, [r1, #0x0]
- ldr r4, [r2, #0x10]
- mov lr, r12, lsl #0x3
- strh r1, [sp, #0x2]
- ldr r3, [sp, #0x0]
- add r1, r4, r12, lsl #0x3
- mov r3, r3, lsl #0x14
- mov r3, r3, lsr #0x14
- strh r3, [r4, lr]
- ldr r3, [sp, #0x0]
- mov r3, r3, lsl #0x8
- mov r3, r3, lsr #0x14
- strh r3, [r1, #0x2]
- ldr r3, [sp, #0x0]
- mov r3, r3, lsl #0x7
- mov r3, r3, lsr #0x1f
- and r3, r3, #0xff
- strh r3, [r1, #0x4]
- ldr r3, [sp, #0x0]
- mov r3, r3, lsl #0x5
- mov r3, r3, lsr #0x1e
- and r3, r3, #0xff
- strh r3, [r1, #0x6]
- ldr r3, [r2, #0x0]
- cmp r3, #0x0
- addeq sp, sp, #0x8
- ldmeqia sp!, {r4,lr}
- bxeq lr
- ldrh r2, [r2, #0xc]
- mov r1, #0x0
- and r2, r2, #0xff
- blx r3
- add sp, sp, #0x8
- ldmia sp!, {r4,lr}
- bx lr
-_020D427C:
- ands r1, r1, #0x1000000
- addeq sp, sp, #0x8
- ldmeqia sp!, {r4,lr}
- bxeq lr
- and r1, r3, #0xff
- cmp r1, #0x4
- addls pc, pc, r1, lsl #0x2
- b _020D43EC
-_020D429C:
- b _020D42B0
- b _020D43EC
- b _020D4390
- b _020D4398
- b _020D4388
-_020D42B0:
- cmp r0, #0x0
- beq _020D42D4
- cmp r0, #0x1
- beq _020D4338
- cmp r0, #0x2
- ldreq r1, _020D43FC
- moveq r2, #0x0
- streqh r2, [r1, #0x32]
- b _020D4344
-_020D42D4:
- ldr r1, _020D4400
- ldr r3, _020D4404
- ldrh ip, [r1]
- ldr r1, _020D43FC
- mov r2, #0x0
- strh ip, [sp, #0x4]
- ldrh r3, [r3]
- strh r3, [sp, #0x6]
- ldr ip, [sp, #0x4]
- strh r2, [r1, #0x32]
- mov r3, ip, lsl #0x7
- mov r2, ip, lsl #0x5
- mov lr, ip, lsl #0x14
- mov ip, ip, lsl #0x8
- mov r3, r3, lsr #0x1F
- mov r2, r2, lsr #0x1E
- mov lr, lr, lsr #0x14
- mov ip, ip, lsr #0x14
- and r3, r3, #0xFF
- and r2, r2, #0xFF
- strh lr, [r1, #0x4]
- strh ip, [r1, #0x6]
- strh r3, [r1, #0x8]
- strh r2, [r1, #0xA]
- b _020D4344
-_020D4338:
- ldr r1, _020D43FC
- mov r2, #0x2
- strh r2, [r1, #0x32]
-_020D4344:
- ldr r1, _020D43FC
- mov r2, #0x1
- ldrh ip, [r1, #0x36]
- mvn r2, r2, lsl r0
- ldr r3, [r1]
- and r2, ip, r2
- cmp r3, #0x0
- strh r2, [r1, #0x36]
- addeq sp, sp, #0x8
- ldmeqia sp!, {r4, lr}
- bxeq lr
- mov r1, #0x0
- mov r2, r1
- blx r3
- add sp, sp, #0x8
- ldmia sp!, {r4, lr}
- bx lr
-_020D4388:
- mov r4, #0x3
- b _020D439C
-_020D4390:
- mov r4, #0x1
- b _020D439C
-_020D4398:
- mov r4, #0x2
-_020D439C:
- ldr r1, _020D43FC
- mov lr, #0x1
- ldrh ip, [r1, #0x34]
- ldr r3, [r1]
- mvn r2, lr, lsl r0
- orr ip, ip, lr, lsl r0
- strh ip, [r1, #0x34]
- ldrh ip, [r1, #0x36]
- cmp r3, #0x0
- addeq sp, sp, #0x8
- and r2, ip, r2
- strh r2, [r1, #0x36]
- ldmeqia sp!, {r4, lr}
- bxeq lr
- and r1, r4, #0xff
- mov r2, #0x0
- blx r3
- add sp, sp, #0x8
- ldmia sp!, {r4, lr}
- bx lr
-_020D43EC:
- bl OS_Terminate
- add sp, sp, #0x8
- ldmia sp!, {r4,lr}
- bx lr
- .balign 4
-_020D43FC: .word 0x021D5474
-_020D4400: .word 0x027FFFAA
-_020D4404: .word 0x027FFFAC
-
- arm_func_start MicWaitBusy
-MicWaitBusy: ; 0x020D4408
- ldr ip, _020D441C ; =0x021D54B0
-_020D440C:
- ldr r0, [r12, #0x0]
- cmp r0, #0x1
- beq _020D440C
- bx lr
- .balign 4
-_020D441C: .word 0x021D54B0
-
- arm_func_start MicGetResultCallback
-MicGetResultCallback: ; 0x020D4420
- ldr r1, _020D442C ; =0x021D54B0
- str r0, [r1, #0xc]
- bx lr
- .balign 4
-_020D442C: .word 0x021D54B0
-
- arm_func_start MicStopAutoSampling
-MicStopAutoSampling:
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r1, _020D4460 ; =0x03004200
- mov r0, #0x9
- mov r2, #0x0
- bl PXI_SendWordByFifo
-_020D4448:
- cmp r0, #0x0
- movge r0, #0x1
- movlt r0, #0x0
- add sp, sp, #4
- ldmfd sp!, {lr}
- bx lr
-_020D4460: .word 0x03004200
-
- arm_func_start MicStartAutoSampling
-MicStartAutoSampling: ; 0x020D4464
- stmdb sp!, {r4-r6,lr}
- ldr ip, _020D4584 ; =0x02004100
- mov r6, r0
- mov r5, r1
- mov r4, r2
- orr r1, r3, r12
- mov r0, #0x9
- mov r2, #0x0
- bl PXI_SendWordByFifo
-_020D4488:
- cmp r0, #0x0
- movlt r0, #0x0
- ldmltia sp!, {r4-r6, lr}
- bxlt lr
- mov r0, r6, lsr #0x10
- orr r1, r0, #0x10000
- mov r0, #0x9
- mov r2, #0x0
- bl PXI_SendWordByFifo
- cmp r0, #0x0
- movlt r0, #0x0
- ldmltia sp!, {r4-r6, lr}
- bxlt lr
- ldr r1, _020D4588
- mov r0, #0x9
- and r1, r6, r1
- orr r1, r1, #0x20000
- mov r2, #0x0
- bl PXI_SendWordByFifo
- cmp r0, #0x0
- movlt r0, #0x0
- ldmltia sp!, {r4-r6, lr}
- bxlt lr
- mov r0, r5, lsr #0x10
- orr r1, r0, #0x30000
- mov r0, #0x9
- mov r2, #0x0
- bl PXI_SendWordByFifo
- cmp r0, #0x0
- movlt r0, #0x0
- ldmltia sp!, {r4-r6, lr}
- bxlt lr
- ldr r1, _020D4588
- mov r0, #0x9
- and r1, r5, r1
- orr r1, r1, #0x40000
- mov r2, #0x0
- bl PXI_SendWordByFifo
- cmp r0, #0x0
- movlt r0, #0x0
- ldmltia sp!, {r4-r6, lr}
- bxlt lr
- mov r0, r4, lsr #0x10
- orr r1, r0, #0x50000
- mov r0, #0x9
- mov r2, #0x0
- bl PXI_SendWordByFifo
- cmp r0, #0x0
- movlt r0, #0x0
- ldmltia sp!, {r4-r6, lr}
- bxlt lr
- ldr r0, _020D4588
- ldr r1, _020D458C
- and r0, r4, r0
- orr r1, r0, r1
- mov r0, #0x9
- mov r2, #0x0
- bl PXI_SendWordByFifo
- cmp r0, #0x0
- movge r0, #0x1
- movlt r0, #0x0
- ldmia sp!, {r4-r6, lr}
- bx lr
-_020D4584: .word 0x02004100
-_020D4588: .word 0x0000FFFF
-_020D458C: .word 0x01060000
-
- arm_func_start MicDoSampling
-MicDoSampling: ; 0x020D4590
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r1, _020D45C4 ; =0x03004000
- mov r2, #0x0
- orr r1, r0, r1
- mov r0, #0x9
- bl PXI_SendWordByFifo
-_020D45AC:
- cmp r0, #0x0
- movge r0, #0x1
- movlt r0, #0x0
- add sp, sp, #0x4
- ldmfd sp!, {lr}
- bx lr
-_020D45C4: .word 0x03004000
-
- arm_func_start MicCommonCallback
-MicCommonCallback: ; 0x020D45C8
- stmdb sp!, {r4,lr}
- mov r4, r1
- cmp r2, #0x0
- beq _020D4610
- ldr r0, _020D4700 ; =0x021D54B0
- ldr r2, _020D4700 ; =0x021D54B0
- ldr r1, [r0, #0x0]
- ldr r12, [r2, #0x4]
- cmp r1, #0x0
- movne r1, #0x0
- strne r1, [r0, #0x0]
- cmp r12, #0x0
- beq _020D4610
- ldr r1, [r2, #0x8]
- mov r3, #0x0
- mov r0, #0x6
- str r3, [r2, #0x4]
- blx r12
-_020D4610:
- and r0, r4, #0xff
- mov r1, r0, lsl #0x10
- and r2, r4, #0x7f00
- mov r0, r2, lsl #0x8
- mov r1, r1, lsr #0x10
- cmp r1, #0x4
- mov r2, r0, lsr #0x10
- addls pc, pc, r1, lsl #0x2
- b _020D4670
-_020D4634:
- b _020D4648
- b _020D4650
- b _020D4658
- b _020D4660
- b _020D4668
-_020D4648:
- mov r0, #0x0
- b _020D4674
-_020D4650:
- mov r0, #0x4
- b _020D4674
-_020D4658:
- mov r0, #0x2
- b _020D4674
-_020D4660:
- mov r0, #0x5
- b _020D4674
-_020D4668:
- mov r0, #0x1
- b _020D4674
-_020D4670:
- mov r0, #0x6
-_020D4674:
- cmp r2, #0x51
- bne _020D46A0
- ldr r1, _020D4700 ; =0x021D54B0
- ldr r2, [r1, #0x10]
- cmp r2, #0x0
- ldmeqia sp!, {r4,lr}
- bxeq lr
- ldr r1, [r1, #0x14]
- blx r2
- ldmia sp!, {r4,lr}
- bx lr
-_020D46A0:
- cmp r2, #0x40
- bne _020D46C0
- ldr r1, _020D4700 ; =0x021D54B0
- ldr r2, [r1, #0x18]
- cmp r2, #0x0
- ldrne r1, _020D4704 ; =0x027FFF94
- ldrneh r1, [r1, #0x0]
- strneh r1, [r2, #0x0]
-_020D46C0:
- ldr r1, _020D4700 ; =0x021D54B0
- ldr r2, [r1, #0x0]
- cmp r2, #0x0
- movne r2, #0x0
- strne r2, [r1, #0x0]
- ldr r2, _020D4700 ; =0x021D54B0
- ldr r4, [r2, #0x4]
- cmp r4, #0x0
- ldmeqia sp!, {r4,lr}
- bxeq lr
- ldr r1, [r2, #0x8]
- mov r3, #0x0
- str r3, [r2, #0x4]
- blx r4
- ldmia sp!, {r4,lr}
- bx lr
- .balign 4
-_020D4700: .word 0x021D54B0
-_020D4704: .word 0x027FFF94
-
- arm_func_start MIC_GetLastSamplingAddress
-MIC_GetLastSamplingAddress: ; 0x020D4708
- ldr r0, _020D4714 ; =0x027FFF90
- ldr r0, [r0, #0x0]
- bx lr
- .balign 4
-_020D4714: .word 0x027FFF90
-
- arm_func_start MIC_StopAutoSampling
-MIC_StopAutoSampling: ; 0x020D4718
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r0, _020D4754 ; =MicGetResultCallback
- mov r1, #0x0
- bl MIC_StopAutoSamplingAsync
- ldr r1, _020D4758 ; =0x021D54B0
- cmp r0, #0x0
- str r0, [r1, #0xc]
- bne _020D4740
- bl MicWaitBusy
-_020D4740:
- ldr r0, _020D4758 ; =0x021D54B0
- ldr r0, [r0, #0xc]
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020D4754: .word MicGetResultCallback
-_020D4758: .word 0x021D54B0
-
- arm_func_start MIC_StopAutoSamplingAsync
-MIC_StopAutoSamplingAsync: ; 0x020D475C
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r5, r0
- mov r4, r1
- bl OS_DisableInterrupts
- ldr r1, _020D47C8 ; =0x021D54B0
- ldr r2, [r1, #0x0]
- cmp r2, #0x0
- beq _020D4794
- bl OS_RestoreInterrupts
- add sp, sp, #0x4
- mov r0, #0x1
- ldmia sp!, {r4-r5,lr}
- bx lr
-_020D4794:
- mov r2, #0x1
- str r2, [r1, #0x0]
- bl OS_RestoreInterrupts
- ldr r0, _020D47C8 ; =0x021D54B0
- str r5, [r0, #0x4]
- str r4, [r0, #0x8]
- bl MicStopAutoSampling
-_020D47B0:
- cmp r0, #0x0
- movne r0, #0x0
- moveq r0, #0x3
- add sp, sp, #0x4
- ldmia sp!, {r4-r5, lr}
- bx lr
-_020D47C8: .word 0x021D54B0
-
- arm_func_start MIC_StartAutoSampling
-MIC_StartAutoSampling: ; 0x020D47CC
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r1, _020D4808 ; =MicGetResultCallback
- mov r2, #0x0
- bl MIC_StartAutoSamplingAsync
- ldr r1, _020D480C ; =0x021D54B0
- cmp r0, #0x0
- str r0, [r1, #0xc]
- bne _020D47F4
- bl MicWaitBusy
-_020D47F4:
- ldr r0, _020D480C ; =0x021D54B0
- ldr r0, [r0, #0xc]
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020D4808: .word MicGetResultCallback
-_020D480C: .word 0x021D54B0
-
- arm_func_start MIC_StartAutoSamplingAsync
-MIC_StartAutoSamplingAsync: ; 0x020D4810
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- mov r7, r0
- ldr r0, [r7, #0x4]
- mov r6, r1
- ands r0, r0, #0x1f
- mov r5, r2
- addne sp, sp, #0x4
- movne r0, #0x2
- ldmneia sp!, {r4-r7,lr}
- bxne lr
- ldr r1, [r7, #0x8]
- ands r0, r1, #0x1f
- addne sp, sp, #0x4
- movne r0, #0x2
- ldmneia sp!, {r4-r7,lr}
- bxne lr
- cmp r1, #0x0
- addeq sp, sp, #0x4
- moveq r0, #0x2
- ldmeqia sp!, {r4-r7,lr}
- bxeq lr
- ldr r0, [r7, #0xc]
- cmp r0, #0x400
- addcc sp, sp, #0x4
- movcc r0, #0x2
- ldmccia sp!, {r4-r7,lr}
- bxcc lr
- ldr r0, [r7, #0x0]
- cmp r0, #0x5
- addls pc, pc, r0, lsl #0x2
- b _020D48D8
-_020D4890:
- b _020D48A8
- b _020D48B0
- b _020D48B8
- b _020D48C0
- b _020D48C8
- b _020D48D0
-_020D48A8:
- mov r1, #0x0
- b _020D48E8
-_020D48B0:
- mov r1, #0x1
- b _020D48E8
-_020D48B8:
- mov r1, #0x2
- b _020D48E8
-_020D48C0:
- mov r1, #0x3
- b _020D48E8
-_020D48C8:
- mov r1, #0x5
- b _020D48E8
-_020D48D0:
- mov r1, #0x7
- b _020D48E8
-_020D48D8:
- add sp, sp, #0x4
- mov r0, #0x2
- ldmia sp!, {r4-r7,lr}
- bx lr
-_020D48E8:
- ldr r0, [r7, #0x10]
- cmp r0, #0x0
- orrne r0, r1, #0x10
- andne r0, r0, #0xff
- andeq r0, r1, #0xff
- and r4, r0, #0xff
- bl OS_DisableInterrupts
- ldr r1, _020D497C
- ldr r2, [r1]
- cmp r2, #0x0
- beq _020D4928
- bl OS_RestoreInterrupts
- add sp, sp, #0x4
- mov r0, #0x1
- ldmia sp!, {r4-r7,lr}
- bx lr
-_020D4928:
- mov r2, #0x1
- str r2, [r1]
- bl OS_RestoreInterrupts
- ldr r0, _020D497C
- mov r3, r4
- str r6, [r0, #0x4]
- str r5, [r0, #0x8]
- ldr r1, [r7, #0x14]
- str r1, [r0, #0x10]
- ldr r1, [r7, #0x18]
- str r1, [r0, #0x14]
- ldr r0, [r7, #0x4]
- ldr r1, [r7, #0x8]
- ldr r2, [r7, #0xC]
- bl MicStartAutoSampling
- cmp r0, #0x0
- movne r0, #0x0
- moveq r0, #0x3
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,lr}
- bx lr
-_020D497C: .word 0x021D54B0
-
- arm_func_start MIC_DoSamplingAsync
-MIC_DoSamplingAsync: ; 0x020D4980
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- cmp r0, #0x6
- mov r7, r1
- mov r6, r2
- mov r5, r3
- addge sp, sp, #0x4
- movge r0, #0x2
- ldmgeia sp!, {r4-r7,lr}
- bxge lr
- cmp r0, #0x3
- addls pc, pc, r0, lsl #0x2
- b _020D49E4
-_020D49B4:
- b _020D49C4
- b _020D49CC
- b _020D49D4
- b _020D49DC
-_020D49C4:
- mov r4, #0x0
- b _020D49F4
-_020D49CC:
- mov r4, #0x1
- b _020D49F4
-_020D49D4:
- mov r4, #0x2
- b _020D49F4
-_020D49DC:
- mov r4, #0x3
- b _020D49F4
-_020D49E4:
- add sp, sp, #0x4
- mov r0, #0x2
- ldmia sp!, {r4-r7,lr}
- bx lr
-_020D49F4:
- bl OS_DisableInterrupts
- ldr r1, _020D4A58
- ldr r2, [r1]
- cmp r2, #0x0
- beq _020D4A1C
- bl OS_RestoreInterrupts
- add sp, sp, #0x4
- mov r0, #0x1
- ldmia sp!, {r4-r7,lr}
- bx lr
-_020D4A1C:
- mov r2, #0x1
- str r2, [r1]
- bl OS_RestoreInterrupts
- ldr r1, _020D4A58
- mov r0, r4
- str r6, [r1, #0x4]
- str r5, [r1, #0x8]
- str r7, [r1, #0x18]
- bl MicDoSampling
- cmp r0, #0x0
- movne r0, #0x0
- moveq r0, #0x3
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,lr}
- bx lr
-_020D4A58: .word 0x021D54B0
-
- arm_func_start MIC_Init
-MIC_Init: ; 0x020D4A5C
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- ldr r1, _020D4AD8 ; =0x021D54AC
- ldrh r0, [r1, #0x0]
- cmp r0, #0x0
- addne sp, sp, #0x4
- ldmneia sp!, {r4-r5,lr}
- bxne lr
- ldr r0, _020D4ADC ; =0x021D54B0
- mov r2, #0x0
- mov r3, #0x1
- strh r3, [r1, #0x0]
- str r2, [r0, #0x0]
- str r2, [r0, #0x4]
- bl PXI_Init
- mov r5, #0x9
- mov r4, #0x1
-_020D4AA0:
- mov r0, r5
- mov r1, r4
- bl PXI_IsCallbackReady
-_020D4AAC:
- cmp r0, #0x0
- beq _020D4AA0
- ldr r2, _020D4AE0
- mov r3, #0x0
- ldr r1, _020D4AE4
- mov r0, #0x9
- str r3, [r2]
- bl PXI_SetFifoRecvCallback
- add sp, sp, #0x4
- ldmia sp!, {r4-r5, lr}
- bx lr
-_020D4AD8: .word 0x021D54AC
-_020D4ADC: .word 0x021D54B0
-_020D4AE0: .word 0x027FFF90
-_020D4AE4: .word MicCommonCallback
diff --git a/asm/STD_arm9.s b/asm/STD_arm9.s
deleted file mode 100644
index b38ac8e4..00000000
--- a/asm/STD_arm9.s
+++ /dev/null
@@ -1,17117 +0,0 @@
- .include "asm/macros.inc"
- .include "global.inc"
-
- .text
-
- arm_func_start STD_CompareNString
-STD_CompareNString: ; 0x020DE03C
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- cmp r2, #0x0
- beq _020DE080
- cmp r2, #0x0
- mov lr, #0x0
- ble _020DE080
-_020DE058:
- ldrb r12, [r0, lr]
- ldrb r3, [r1, lr]
- cmp r12, r3
- addne sp, sp, #0x4
- subne r0, r12, r3
- ldmneia sp!, {lr}
- bxne lr
- add lr, lr, #0x1
- cmp lr, r2
- blt _020DE058
-_020DE080:
- mov r0, #0x0
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-
- arm_func_start STD_CompareString
-STD_CompareString: ; 0x020DE090
- b _020DE09C
-_020DE094:
- add r0, r0, #0x1
- add r1, r1, #0x1
-_020DE09C:
- ldrsb r2, [r1, #0x0]
- ldrsb r3, [r0, #0x0]
- cmp r3, r2
- bne _020DE0B4
- cmp r3, #0x0
- bne _020DE094
-_020DE0B4:
- sub r0, r3, r2
- bx lr
-
- arm_func_start STD_GetStringLength
-STD_GetStringLength: ; 0x020DE0BC
- ldrsb r1, [r0, #0x0]
- mov r2, #0x0
- cmp r1, #0x0
- beq _020DE0DC
-_020DE0CC:
- add r2, r2, #0x1
- ldrsb r1, [r0, r2]
- cmp r1, #0x0
- bne _020DE0CC
-_020DE0DC:
- mov r0, r2
- bx lr
-
- arm_func_start STD_CopyLString
-STD_CopyLString: ; 0x020DE0E4
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- sub r12, r2, #0x1
- cmp r12, #0x0
- mov lr, #0x0
- ble _020DE120
-_020DE0FC:
- ldrsb r3, [r1, #0x0]
- strb r3, [r0, lr]
- ldrsb r3, [r1, #0x0]
- cmp r3, #0x0
- beq _020DE120
- add lr, lr, #0x1
- cmp lr, r12
- add r1, r1, #0x1
- blt _020DE0FC
-_020DE120:
- sub r3, r2, #0x1
- cmp lr, r3
- blt _020DE138
- cmp r2, #0x0
- movne r2, #0x0
- strneb r2, [r0, lr]
-_020DE138:
- mov r0, r1
- bl STD_GetStringLength
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-
- arm_func_start abort
-abort: ; 0x020DE14C
- stmdb sp!, {r3,lr}
- mov r0, #0x1
- bl raise
- ldr r1, _020DE16C ; =0x021D6F78
- mov r0, #0x1
- str r0, [r1, #0xc]
- bl exit
- ldmia sp!, {r3,pc}
- .balign 4
-_020DE16C: .word 0x021D6F78
-
- arm_func_start exit
-exit: ; 0x020DE170
- stmdb sp!, {r4,lr}
- ldr r1, _020DE1B8 ; =0x021D6F78
- mov r4, r0
- ldr r0, [r1, #0xc]
- cmp r0, #0x0
- bne _020DE1AC
- bl __destroy_global_chain
- ldr r0, _020DE1B8 ; =0x021D6F78
- ldr r0, [r0, #0x4]
- cmp r0, #0x0
- beq _020DE1AC
- blx r0
- ldr r0, _020DE1B8 ; =0x021D6F78
- mov r1, #0x0
- str r1, [r0, #0x4]
-_020DE1AC:
- mov r0, r4
- bl __exit
- ldmia sp!, {r4,pc}
- .balign 4
-_020DE1B8: .word 0x021D6F78
-
- arm_func_start __exit
-__exit: ; 0x020DE1BC
- stmdb sp!, {r3-r5,lr}
- ldr r0, _020DE2CC ; =0x021D70D0
- bl OS_TryLockMutex
-_020DE1C8: ; 0x020DE1C8
- cmp r0, #0x0
- bne _020DE1F4
- ldr r0, _020DE2D0 ; =0x021D3498
- ldr r1, _020DE2D4 ; =0x021D7088
- ldr r2, [r0, #0x4]
- ldr r0, _020DE2D8 ; =0x021D70AC
- ldr r3, [r2, #0x6c]
- mov r2, #0x1
- str r3, [r1, #0x0]
- str r2, [r0, #0x0]
- b _020DE24C
-_020DE1F4:
- ldr r0, _020DE2D0 ; =0x021D3498
- ldr r1, _020DE2D4 ; =0x021D7088
- ldr r0, [r0, #0x4]
- ldr r1, [r1, #0x0]
- ldr r0, [r0, #0x6c]
- cmp r1, r0
- bne _020DE224
- ldr r0, _020DE2D8 ; =0x021D70AC
- ldr r1, [r0, #0x0]
- add r1, r1, #0x1
- str r1, [r0, #0x0]
- b _020DE24C
-_020DE224:
- ldr r0, _020DE2CC ; =0x021D70D0
- bl OS_LockMutex
- ldr r0, _020DE2D0 ; =0x021D3498
- ldr r1, _020DE2D4 ; =0x021D7088
- ldr r2, [r0, #0x4]
- ldr r0, _020DE2D8 ; =0x021D70AC
- ldr r3, [r2, #0x6c]
- mov r2, #0x1
- str r3, [r1, #0x0]
- str r2, [r0, #0x0]
-_020DE24C:
- ldr r4, _020DE2DC ; =0x021D6F78
- ldr r0, [r4, #0x8]
- cmp r0, #0x0
- ble _020DE280
- ldr r5, _020DE2E0 ; =0x021D6F88
-_020DE260:
- ldr r0, [r4, #0x8]
- sub r1, r0, #0x1
- ldr r0, [r5, r1, lsl #0x2]
- str r1, [r4, #0x8]
- blx r0
- ldr r0, [r4, #0x8]
- cmp r0, #0x0
- bgt _020DE260
-_020DE280:
- ldr r0, _020DE2D8 ; =0x021D70AC
- ldr r1, [r0, #0x0]
- subs r1, r1, #0x1
- str r1, [r0, #0x0]
- bne _020DE29C
- ldr r0, _020DE2CC ; =0x021D70D0
- bl OS_UnlockMutex
-_020DE29C:
- ldr r0, _020DE2DC ; =0x021D6F78
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- beq _020DE2BC
- blx r0
- ldr r0, _020DE2DC ; =0x021D6F78
- mov r1, #0x0
- str r1, [r0, #0x0]
-_020DE2BC:
- mov r0, #0x0
- bl fflush
- bl _ExitProcess
- ldmia sp!, {r3-r5,pc}
- .balign 4
-_020DE2CC: .word 0x021D70D0
-_020DE2D0: .word 0x021D3498
-_020DE2D4: .word 0x021D7088
-_020DE2D8: .word 0x021D70AC
-_020DE2DC: .word 0x021D6F78
-_020DE2E0: .word 0x021D6F88
-
- arm_func_start nan
-nan: ; 0x020DE2E4
- ldr r0, _020DE2F4 ; =0x02106B78
- ldr ip, _020DE2F8 ; =_f2d
- ldr r0, [r0, #0x0]
- bx r12
- .balign 4
-_020DE2F4: .word 0x02106B78
-_020DE2F8: .word _f2d
-
- arm_func_start __flush_line_buffered_output_files
-__flush_line_buffered_output_files:
- stmdb sp!, {r3-r9,lr}
- ldr r0, _020DE384 ; =0x02106A58
- mov r4, #0x0
- mov r5, #0x1
- mov r8, r0
- mvn r9, #0x0
- mov r7, r4
- mov r6, #0x4c
-_020DE31C:
- ldr r1, [r0, #0x4]
- mov r2, r1, lsl #0x16
- movs r2, r2, lsr #0x1d
- beq _020DE35C
- mov r1, r1, lsl #0x19
- mov r1, r1, lsr #0x1e
- tst r1, #0x1
- beq _020DE35C
- ldr r1, [r0, #0x8]
- mov r1, r1, lsl #0x1d
- mov r1, r1, lsr #0x1d
- cmp r1, #0x1
- bne _020DE35C
- bl fflush
-_020DE354: ; 0x020DE354
- cmp r0, #0x0
- movne r4, r9
-_020DE35C:
- cmp r5, #0x3
- movge r0, r7
- bge _020DE374
- mul r0, r5, r6
- add r5, r5, #0x1
- add r0, r8, r0
-_020DE374:
- cmp r0, #0x0
- bne _020DE31C
- mov r0, r4
- ldmia sp!, {r3-r9,pc}
- .balign 4
-_020DE384: .word 0x02106A58
-
- arm_func_start __flush_all
-__flush_all: ; 0x020DE388
- stmdb sp!, {r3-r9,lr}
- ldr r0, _020DE3EC ; =0x02106A58
- mov r4, #0x0
- mov r5, #0x1
- mov r8, r0
- mvn r9, #0x0
- mov r7, r4
- mov r6, #0x4c
-_020DE3A8:
- ldr r1, [r0, #0x4]
- mov r1, r1, lsl #0x16
- movs r1, r1, lsr #0x1d
- beq _020DE3C4
- bl fflush
-_020DE3BC: ; 0x020DE3BC
- cmp r0, #0x0
- movne r4, r9
-_020DE3C4:
- cmp r5, #0x3
- movge r0, r7
- bge _020DE3DC
- mul r0, r5, r6
- add r5, r5, #0x1
- add r0, r8, r0
-_020DE3DC:
- cmp r0, #0x0
- bne _020DE3A8
- mov r0, r4
- ldmia sp!, {r3-r9,pc}
- .balign 4
-_020DE3EC: .word 0x02106A58
-
- arm_func_start abs
-abs: ; 0x020DE3F0
- cmp r0, #0x0
- rsblt r0, r0, #0x0
- bx lr
-
- arm_func_start __msl_assertion_failed
-__msl_assertion_failed: ; 0x020DE3FC
- stmdb sp!, {r3-r4,lr}
- sub sp, sp, #0x4
- mov r4, r0
- mov lr, r1
- mov r12, r2
- str r3, [sp, #0x0]
- ldr r0, _020DE434 ; =0x02106B3C
- mov r1, r4
- mov r2, lr
- mov r3, r12
- bl printf
- bl abort
- add sp, sp, #0x4
- ldmia sp!, {r3-r4,pc}
- .balign 4
-_020DE434: .word 0x02106B3C
-
- arm_func_start __convert_from_newlines
-__convert_from_newlines:
- bx lr
-
- arm_func_start __convert_to_newlines
-__convert_to_newlines:
- bx lr
-
- arm_func_start __prep_buffer
-__prep_buffer:
- ldr r1, [r0, #0x1c]
- str r1, [r0, #0x24]
- ldr r3, [r0, #0x20]
- str r3, [r0, #0x28]
- ldr r2, [r0, #0x18]
- ldr r1, [r0, #0x2c]
- and r1, r2, r1
- sub r1, r3, r1
- str r1, [r0, #0x28]
- ldr r1, [r0, #0x18]
- str r1, [r0, #0x34]
- bx lr
-
- arm_func_start __load_buffer
-__load_buffer:
- stmdb sp!, {r4-r6,lr}
- mov r5, r2
- mov r4, r0
- mov r6, r1
- bl __prep_buffer
- cmp r5, #0x1
- ldreq r0, [r4, #0x20]
- add r2, r4, #0x28
- streq r0, [r4, #0x28]
- ldr r0, [r4, #0x0]
- ldr r1, [r4, #0x1c]
- ldr r3, [r4, #0x48]
- ldr r12, [r4, #0x3c]
- blx r12
- cmp r0, #0x2
- moveq r1, #0x0
- streq r1, [r4, #0x28]
- cmp r6, #0x0
- ldrne r1, [r4, #0x28]
- strne r1, [r6, #0x0]
- cmp r0, #0x0
- ldmneia sp!, {r4-r6,pc}
-_020DE4C8: ; 0x020DE4C8
- ldr r1, [r4, #0x18]
- ldr r0, [r4, #0x28]
- add r0, r1, r0
- str r0, [r4, #0x18]
- ldr r0, [r4, #0x4]
- mov r0, r0, lsl #0x13
- movs r0, r0, lsr #0x1f
- bne _020DE4F4
- ldr r0, [r4, #0x1c]
- add r1, r4, #0x28
- bl __convert_to_newlines
-_020DE4F4:
- mov r0, #0x0
- ldmia sp!, {r4-r6,pc}
-
- arm_func_start __flush_buffer
-__flush_buffer:
- stmdb sp!, {r3-r5,lr}
- mov r5, r0
- ldr r2, [r5, #0x24]
- ldr r0, [r5, #0x1c]
- mov r4, r1
- subs r0, r2, r0
- beq _020DE574
- str r0, [r5, #0x28]
- ldr r0, [r5, #0x4]
- mov r0, r0, lsl #0x13
- movs r0, r0, lsr #0x1f
- bne _020DE538
- ldr r0, [r5, #0x1c]
- add r1, r5, #0x28
- bl __convert_from_newlines
-_020DE538:
- ldr r0, [r5, #0x0]
- ldr r1, [r5, #0x1c]
- ldr r3, [r5, #0x48]
- ldr r12, [r5, #0x40]
- add r2, r5, #0x28
- blx r12
- cmp r4, #0x0
- ldrne r1, [r5, #0x28]
- strne r1, [r4, #0x0]
- cmp r0, #0x0
- ldmneia sp!, {r3-r5,pc}
-_020DE564: ; 0x020DE564
- ldr r1, [r5, #0x18]
- ldr r0, [r5, #0x28]
- add r0, r1, r0
- str r0, [r5, #0x18]
-_020DE574:
- mov r0, r5
- bl __prep_buffer
-_020DE57C: ; 0x020DE57C
- mov r0, #0x0
- ldmia sp!, {r3-r5,pc}
-
- arm_func_start fread
-fread: ; 0x020DE584
- stmdb sp!, {r4-r10,lr}
- ldr r4, _020DE67C ; =0x02106A58
- mov r7, r3
- cmp r7, r4
- moveq r6, #0x2
- mov r10, r0
- movne r6, #0x5
- mov r0, #0x18
- mul r4, r6, r0
- ldr r5, _020DE680 ; =0x021D70D0
- mov r9, r1
- add r0, r5, r4
- mov r8, r2
- bl OS_TryLockMutex
-_020DE5BC: ; 0x020DE5BC
- cmp r0, #0x0
- bne _020DE5E8
- ldr r0, _020DE684 ; =0x021D3498
- ldr r2, _020DE688 ; =0x021D7088
- ldr r1, [r0, #0x4]
- ldr r0, _020DE68C ; =0x021D70AC
- ldr r3, [r1, #0x6c]
- mov r1, #0x1
- str r3, [r2, r6, lsl #0x2]
- str r1, [r0, r6, lsl #0x2]
- b _020DE640
-_020DE5E8:
- ldr r0, _020DE684 ; =0x021D3498
- ldr r1, _020DE688 ; =0x021D7088
- ldr r0, [r0, #0x4]
- ldr r1, [r1, r6, lsl #0x2]
- ldr r0, [r0, #0x6c]
- cmp r1, r0
- bne _020DE618
- ldr r1, _020DE68C ; =0x021D70AC
- ldr r0, [r1, r6, lsl #0x2]
- add r0, r0, #0x1
- str r0, [r1, r6, lsl #0x2]
- b _020DE640
-_020DE618:
- add r0, r5, r4
- bl OS_LockMutex
- ldr r0, _020DE684 ; =0x021D3498
- ldr r2, _020DE688 ; =0x021D7088
- ldr r1, [r0, #0x4]
- ldr r0, _020DE68C ; =0x021D70AC
- ldr r3, [r1, #0x6c]
- mov r1, #0x1
- str r3, [r2, r6, lsl #0x2]
- str r1, [r0, r6, lsl #0x2]
-_020DE640:
- mov r0, r10
- mov r1, r9
- mov r2, r8
- mov r3, r7
- bl __fread
- ldr r1, _020DE68C ; =0x021D70AC
- mov r7, r0
- ldr r0, [r1, r6, lsl #0x2]
- subs r0, r0, #0x1
- str r0, [r1, r6, lsl #0x2]
- bne _020DE674
- add r0, r5, r4
- bl OS_UnlockMutex
-_020DE674:
- mov r0, r7
- ldmia sp!, {r4-r10,pc}
- .balign 4
-_020DE67C: .word 0x02106A58
-_020DE680: .word 0x021D70D0
-_020DE684: .word 0x021D3498
-_020DE688: .word 0x021D7088
-_020DE68C: .word 0x021D70AC
-
- arm_func_start __fread
-__fread: ; 0x020DE690
- stmdb sp!, {r3-r10,lr}
- sub sp, sp, #0x4
- mov r7, r3
- mov r9, r0
- mov r8, r1
- mov r0, r7
- mov r1, #0x0
- mov r4, r2
- bl fwide
-_020DE6B4: ; 0x020DE6B4
- cmp r0, #0x0
- bne _020DE6C8
- mov r0, r7
- mvn r1, #0x0
- bl fwide
-_020DE6C8:
- muls r4, r8, r4
- beq _020DE6EC
- ldrb r0, [r7, #0xd]
- cmp r0, #0x0
- bne _020DE6EC
- ldr r1, [r7, #0x4]
- mov r0, r1, lsl #0x16
- movs r0, r0, lsr #0x1d
- bne _020DE6F8
-_020DE6EC:
- add sp, sp, #0x4
- mov r0, #0x0
- ldmia sp!, {r3-r10,pc}
-_020DE6F8:
- mov r0, r1, lsl #0x13
- movs r0, r0, lsr #0x1f
- movne r0, r1, lsl #0x19
- movne r0, r0, lsr #0x1e
- ldr r1, [r7, #0x8]
- cmpne r0, #0x2
- mov r6, #0x1
- mov r0, r1, lsl #0x1d
- movne r6, #0x0
- movs r0, r0, lsr #0x1d
- bne _020DE74C
- ldr r0, [r7, #0x4]
- mov r0, r0, lsl #0x1b
- mov r0, r0, lsr #0x1d
- tst r0, #0x1
- beq _020DE74C
- bic r0, r1, #0x7
- orr r0, r0, #0x2
- str r0, [r7, #0x8]
- mov r0, #0x0
- str r0, [r7, #0x28]
-_020DE74C:
- ldr r0, [r7, #0x8]
- mov r0, r0, lsl #0x1d
- mov r0, r0, lsr #0x1d
- cmp r0, #0x2
- bhs _020DE778
- mov r0, #0x1
- strb r0, [r7, #0xd]
- mov r0, #0x0
- add sp, sp, #0x4
- str r0, [r7, #0x28]
- ldmia sp!, {r3-r10,pc}
-_020DE778:
- ldr r0, [r7, #0x4]
- mov r0, r0, lsl #0x19
- mov r0, r0, lsr #0x1e
- tst r0, #0x1
- beq _020DE7B0
- bl __flush_line_buffered_output_files
-_020DE790: ; 0x020DE790
- cmp r0, #0x0
- beq _020DE7B0
- mov r0, #0x1
- strb r0, [r7, #0xd]
- mov r0, #0x0
- add sp, sp, #0x4
- str r0, [r7, #0x28]
- ldmia sp!, {r3-r10,pc}
-_020DE7B0:
- cmp r4, #0x0
- mov r5, #0x0
- beq _020DE874
- ldr r0, [r7, #0x8]
- mov r0, r0, lsl #0x1d
- mov r0, r0, lsr #0x1d
- cmp r0, #0x3
- blo _020DE874
- mov r10, r5
-_020DE7D4:
- mov r0, r7
- mov r1, r10
- bl fwide
- cmp r0, #0x1
- ldr r0, [r7, #0x8]
- bne _020DE808
- mov r0, r0, lsl #0x1d
- add r0, r7, r0, lsr #0x1c
- ldrh r0, [r0, #0xe]
- add r5, r5, #0x2
- sub r4, r4, #0x2
- strh r0, [r9], #0x2
- b _020DE820
-_020DE808:
- mov r0, r0, lsl #0x1d
- add r0, r7, r0, lsr #0x1d
- ldrb r0, [r0, #0xf]
- add r5, r5, #0x1
- sub r4, r4, #0x1
- strb r0, [r9], #0x1
-_020DE820:
- ldr r1, [r7, #0x8]
- cmp r4, #0x0
- mov r0, r1, lsl #0x1d
- mov r0, r0, lsr #0x1d
- sub r0, r0, #0x1
- bic r1, r1, #0x7
- and r0, r0, #0x7
- orr r0, r1, r0
- str r0, [r7, #0x8]
- beq _020DE85C
- ldr r0, [r7, #0x8]
- mov r0, r0, lsl #0x1d
- mov r0, r0, lsr #0x1d
- cmp r0, #0x3
- bhs _020DE7D4
-_020DE85C:
- ldr r0, [r7, #0x8]
- mov r0, r0, lsl #0x1d
- mov r0, r0, lsr #0x1d
- cmp r0, #0x2
- ldreq r0, [r7, #0x30]
- streq r0, [r7, #0x28]
-_020DE874:
- cmp r4, #0x0
- beq _020DE938
- ldr r0, [r7, #0x28]
- cmp r0, #0x0
- cmpeq r6, #0x0
- beq _020DE938
- mov r10, #0x0
-_020DE890:
- ldr r0, [r7, #0x28]
- cmp r0, #0x0
- bne _020DE8E4
- mov r0, r7
- mov r1, r10
- mov r2, r10
- bl __load_buffer
-_020DE8AC: ; 0x020DE8AC
- cmp r0, #0x0
- beq _020DE8E4
- cmp r0, #0x1
- mov r0, #0x1
- streqb r0, [r7, #0xd]
- beq _020DE8D4
- ldr r1, [r7, #0x8]
- bic r1, r1, #0x7
- str r1, [r7, #0x8]
- strb r0, [r7, #0xc]
-_020DE8D4:
- mov r0, #0x0
- str r0, [r7, #0x28]
- mov r4, #0x0
- b _020DE938
-_020DE8E4:
- ldr r0, [r7, #0x28]
- str r0, [sp, #0x0]
- cmp r0, r4
- strhi r4, [sp, #0x0]
- ldr r1, [r7, #0x24]
- ldr r2, [sp, #0x0]
- mov r0, r9
- bl memcpy
- ldr r2, [sp, #0x0]
- ldr r0, [r7, #0x24]
- subs r4, r4, r2
- add r0, r0, r2
- str r0, [r7, #0x24]
- ldr r1, [r7, #0x28]
- ldr r0, [sp, #0x0]
- add r9, r9, r2
- sub r0, r1, r0
- add r5, r5, r2
- str r0, [r7, #0x28]
- cmpne r6, #0x0
- bne _020DE890
-_020DE938:
- cmp r4, #0x0
- beq _020DE9C4
- cmp r6, #0x0
- bne _020DE9C4
- ldr r6, [r7, #0x1c]
- ldr r10, [r7, #0x20]
- add r1, sp, #0x0
- str r9, [r7, #0x1c]
- mov r0, r7
- mov r2, #0x1
- str r4, [r7, #0x20]
- bl __load_buffer
-_020DE968: ; 0x020DE968
- cmp r0, #0x0
- beq _020DE9A4
- cmp r0, #0x1
- mov r0, #0x1
- bne _020DE98C
- strb r0, [r7, #0xd]
- mov r0, #0x0
- str r0, [r7, #0x28]
- b _020DE9A4
-_020DE98C:
- ldr r1, [r7, #0x8]
- bic r1, r1, #0x7
- str r1, [r7, #0x8]
- strb r0, [r7, #0xc]
- mov r0, #0x0
- str r0, [r7, #0x28]
-_020DE9A4:
- ldr r1, [sp, #0x0]
- mov r0, r7
- str r6, [r7, #0x1c]
- str r10, [r7, #0x20]
- add r5, r5, r1
- bl __prep_buffer
-_020DE9BC: ; 0x020DE9BC
- mov r0, #0x0
- str r0, [r7, #0x28]
-_020DE9C4:
- mov r0, r5
- mov r1, r8
- bl _u32_div_f
- add sp, sp, #0x4
- ldmia sp!, {r3-r10,pc}
-
- arm_func_start __fwrite
-__fwrite:
- stmdb sp!, {r3-r11,lr}
- sub sp, sp, #0x8
- mov r9, r3
- mov r10, r0
- str r1, [sp, #0x0]
- mov r0, r9
- mov r1, #0x0
- mov r4, r2
- bl fwide
-_020DE9FC: ; 0x020DE9FC
- cmp r0, #0x0
- bne _020DEA10
- mov r0, r9
- mvn r1, #0x0
- bl fwide
-_020DEA10:
- ldr r0, [sp, #0x0]
- muls r5, r0, r4
- beq _020DEA38
- ldrb r0, [r9, #0xd]
- cmp r0, #0x0
- bne _020DEA38
- ldr r1, [r9, #0x4]
- mov r0, r1, lsl #0x16
- movs r0, r0, lsr #0x1d
- bne _020DEA44
-_020DEA38:
- add sp, sp, #0x8
- mov r0, #0x0
- ldmia sp!, {r3-r11,pc}
-_020DEA44:
- mov r0, r1, lsl #0x13
- movs r0, r0, lsr #0x1f
- movne r0, r1, lsl #0x19
- movne r0, r0, lsr #0x1e
- cmpne r0, #0x2
- ldr r1, [r9, #0x8]
- cmpne r0, #0x1
- mov r8, #0x1
- mov r0, r1, lsl #0x1d
- movne r8, #0x0
- movs r0, r0, lsr #0x1d
- bne _020DEA9C
- ldr r0, [r9, #0x4]
- mov r0, r0, lsl #0x1b
- mov r0, r0, lsr #0x1d
- tst r0, #0x2
- beq _020DEA9C
- bic r0, r1, #0x7
- orr r1, r0, #0x1
- mov r0, r9
- str r1, [r9, #0x8]
- bl __prep_buffer
-_020DEA9C:
- ldr r0, [r9, #0x8]
- mov r0, r0, lsl #0x1d
- mov r0, r0, lsr #0x1d
- cmp r0, #0x1
- beq _020DEAC8
- mov r0, #0x1
- strb r0, [r9, #0xd]
- mov r0, #0x0
- add sp, sp, #0x8
- str r0, [r9, #0x28]
- ldmia sp!, {r3-r11,pc}
-_020DEAC8:
- cmp r5, #0x0
- mov r6, #0x0
- beq _020DEBF0
- ldr r0, [r9, #0x1c]
- ldr r2, [r9, #0x24]
- cmp r2, r0
- cmpeq r8, #0x0
- beq _020DEBF0
- ldr r1, [r9, #0x20]
- sub r0, r2, r0
- sub r0, r1, r0
- str r0, [r9, #0x28]
- mov r11, #0xa
- mov r4, #0x0
-_020DEB00:
- ldr r0, [r9, #0x28]
- mov r7, r4
- str r0, [sp, #0x4]
- cmp r0, r5
- strhi r5, [sp, #0x4]
- ldr r0, [r9, #0x4]
- mov r0, r0, lsl #0x19
- mov r0, r0, lsr #0x1e
- cmp r0, #0x1
- bne _020DEB50
- ldr r2, [sp, #0x4]
- cmp r2, #0x0
- beq _020DEB50
- mov r0, r10
- mov r1, r11
- bl __memrchr
- movs r7, r0
- addne r0, r7, #0x1
- subne r0, r0, r10
- strne r0, [sp, #0x4]
-_020DEB50:
- ldr r2, [sp, #0x4]
- cmp r2, #0x0
- beq _020DEB90
- ldr r0, [r9, #0x24]
- mov r1, r10
- bl memcpy
- ldr r2, [sp, #0x4]
- ldr r0, [r9, #0x24]
- add r10, r10, r2
- add r0, r0, r2
- str r0, [r9, #0x24]
- ldr r1, [r9, #0x28]
- ldr r0, [sp, #0x4]
- sub r5, r5, r2
- sub r0, r1, r0
- str r0, [r9, #0x28]
-_020DEB90:
- ldr r0, [r9, #0x28]
- cmp r0, #0x0
- beq _020DEBB4
- cmp r7, #0x0
- bne _020DEBB4
- ldr r0, [r9, #0x4]
- mov r0, r0, lsl #0x19
- movs r0, r0, lsr #0x1e
- bne _020DEBDC
-_020DEBB4:
- mov r0, r9
- mov r1, #0x0
- bl __flush_buffer
-_020DEBC0: ; 0x020DEBC0
- cmp r0, #0x0
- beq _020DEBDC
- mov r0, #0x1
- strb r0, [r9, #0xd]
- mov r5, #0x0
- str r5, [r9, #0x28]
- b _020DEBF0
-_020DEBDC:
- ldr r0, [sp, #0x4]
- cmp r5, #0x0
- add r6, r6, r0
- cmpne r8, #0x0
- bne _020DEB00
-_020DEBF0:
- cmp r5, #0x0
- beq _020DEC5C
- cmp r8, #0x0
- bne _020DEC5C
- ldr r4, [r9, #0x1c]
- ldr r7, [r9, #0x20]
- add r2, r10, r5
- str r10, [r9, #0x1c]
- str r5, [r9, #0x20]
- add r1, sp, #0x4
- mov r0, r9
- str r2, [r9, #0x24]
- bl __flush_buffer
-_020DEC24: ; 0x020DEC24
- cmp r0, #0x0
- ldreq r0, [sp, #0x4]
- addeq r6, r6, r0
- beq _020DEC44
- mov r0, #0x1
- strb r0, [r9, #0xd]
- mov r0, #0x0
- str r0, [r9, #0x28]
-_020DEC44:
- str r4, [r9, #0x1c]
- mov r0, r9
- str r7, [r9, #0x20]
- bl __prep_buffer
-_020DEC54: ; 0x020DEC54
- mov r0, #0x0
- str r0, [r9, #0x28]
-_020DEC5C:
- ldr r0, [r9, #0x4]
- ldr r1, [sp, #0x0]
- mov r0, r0, lsl #0x19
- mov r0, r0, lsr #0x1e
- cmp r0, #0x2
- movne r0, #0x0
- strne r0, [r9, #0x28]
- mov r0, r6
- bl _u32_div_f
- add sp, sp, #0x8
- ldmia sp!, {r3-r11,pc}
-
- arm_func_start fclose
-fclose: ; 0x020DEC88
- stmdb sp!, {r3-r5,lr}
- movs r5, r0
- mvneq r0, #0x0
- ldmeqia sp!, {r3-r5,pc}
-_020DEC98: ; 0x020DEC98
- ldr r1, [r5, #0x4]
- mov r1, r1, lsl #0x16
- movs r1, r1, lsr #0x1d
- moveq r0, #0x0
- ldmeqia sp!, {r3-r5,pc}
-_020DECAC: ; 0x020DECAC
- bl fflush
- mov r4, r0
- ldr r0, [r5, #0x0]
- ldr r1, [r5, #0x44]
- blx r1
- ldr r1, [r5, #0x4]
- mov r2, #0x0
- bic r1, r1, #0x380
- str r1, [r5, #0x4]
- str r2, [r5, #0x0]
- ldr r1, [r5, #0x8]
- mov r1, r1, lsl #0x1c
- movs r1, r1, lsr #0x1f
- subne r0, r2, #0x1
- ldmneia sp!, {r3-r5,pc}
-_020DECE8: ; 0x020DECE8
- cmp r4, #0x0
- cmpeq r0, #0x0
- movne r2, #0x1
- rsb r0, r2, #0x0
- ldmia sp!, {r3-r5,pc}
-
- arm_func_start fflush
-fflush:
- stmdb sp!, {r4,lr}
- movs r4, r0
- bne _020DED10
- bl __flush_all
- ldmia sp!, {r4,pc}
-_020DED10:
- ldrb r0, [r4, #0xd]
- cmp r0, #0x0
- bne _020DED2C
- ldr r0, [r4, #0x4]
- mov r1, r0, lsl #0x16
- movs r1, r1, lsr #0x1d
- bne _020DED34
-_020DED2C:
- mvn r0, #0x0
- ldmia sp!, {r4,pc}
-_020DED34:
- mov r0, r0, lsl #0x1b
- mov r0, r0, lsr #0x1d
- cmp r0, #0x1
- moveq r0, #0x0
- ldmeqia sp!, {r4,pc}
-_020DED48: ; 0x020DED48
- ldr r0, [r4, #0x8]
- mov r1, r0, lsl #0x1d
- mov r1, r1, lsr #0x1d
- cmp r1, #0x3
- biccs r0, r0, #0x7
- orrcs r0, r0, #0x2
- strcs r0, [r4, #0x8]
- ldr r0, [r4, #0x8]
- mov r0, r0, lsl #0x1d
- mov r0, r0, lsr #0x1d
- cmp r0, #0x2
- moveq r0, #0x0
- streq r0, [r4, #0x28]
- ldr r0, [r4, #0x8]
- mov r1, r0, lsl #0x1d
- mov r1, r1, lsr #0x1d
- cmp r1, #0x1
- beq _020DEDA0
- bic r0, r0, #0x7
- str r0, [r4, #0x8]
- mov r0, #0x0
- ldmia sp!, {r4,pc}
-_020DEDA0:
- mov r0, r4
- mov r1, #0x0
- bl __flush_buffer
-_020DEDAC: ; 0x020DEDAC
- cmp r0, #0x0
- mov r0, #0x0
- beq _020DEDCC
- mov r1, #0x1
- strb r1, [r4, #0xd]
- str r0, [r4, #0x28]
- sub r0, r0, #0x1
- ldmia sp!, {r4,pc}
-_020DEDCC:
- ldr r1, [r4, #0x8]
- bic r1, r1, #0x7
- str r1, [r4, #0x8]
- str r0, [r4, #0x18]
- str r0, [r4, #0x28]
- ldmia sp!, {r4,pc}
-
- arm_func_start _ftell
-_ftell: ; 0x020DEDE4
- ldr r1, [r0, #0x4]
- mov r1, r1, lsl #0x16
- mov r1, r1, lsr #0x1d
- and r1, r1, #0xff
- add r1, r1, #0xff
- and r1, r1, #0xff
- cmp r1, #0x1
- bhi _020DEE10
- ldrb r1, [r0, #0xd]
- cmp r1, #0x0
- beq _020DEE24
-_020DEE10:
- ldr r0, _020DEE5C ; =0x021D74A8
- mov r1, #0x28
- str r1, [r0, #0x0]
- sub r0, r1, #0x29
- bx lr
-_020DEE24:
- ldr r1, [r0, #0x8]
- mov r1, r1, lsl #0x1d
- movs r12, r1, lsr #0x1d
- ldreq r0, [r0, #0x18]
- bxeq lr
- ldr r2, [r0, #0x24]
- ldr r1, [r0, #0x1c]
- ldr r3, [r0, #0x34]
- sub r0, r2, r1
- cmp r12, #0x3
- add r0, r3, r0
- subcs r1, r12, #0x2
- subcs r0, r0, r1
- bx lr
- .balign 4
-_020DEE5C: .word 0x021D74A8
-
- arm_func_start ftell
-ftell: ; 0x020DEE60
- stmdb sp!, {r3-r7,lr}
- ldr r1, _020DEF60 ; =0x02106A58
- mov r7, r0
- cmp r7, r1
- moveq r6, #0x2
- beq _020DEE98
- ldr r0, _020DEF64 ; =0x02106AA4
- cmp r7, r0
- moveq r6, #0x3
- beq _020DEE98
- ldr r0, _020DEF68 ; =0x02106AF0
- cmp r7, r0
- moveq r6, #0x4
- movne r6, #0x5
-_020DEE98:
- mov r0, #0x18
- mul r4, r6, r0
- ldr r5, _020DEF6C ; =0x021D70D0
- add r0, r5, r4
- bl OS_TryLockMutex
-_020DEEAC: ; 0x020DEEAC
- cmp r0, #0x0
- bne _020DEED8
- ldr r0, _020DEF70 ; =0x021D3498
- ldr r2, _020DEF74 ; =0x021D7088
- ldr r1, [r0, #0x4]
- ldr r0, _020DEF78 ; =0x021D70AC
- ldr r3, [r1, #0x6c]
- mov r1, #0x1
- str r3, [r2, r6, lsl #0x2]
- str r1, [r0, r6, lsl #0x2]
- b _020DEF30
-_020DEED8:
- ldr r0, _020DEF70 ; =0x021D3498
- ldr r1, _020DEF74 ; =0x021D7088
- ldr r0, [r0, #0x4]
- ldr r1, [r1, r6, lsl #0x2]
- ldr r0, [r0, #0x6c]
- cmp r1, r0
- bne _020DEF08
- ldr r1, _020DEF78 ; =0x021D70AC
- ldr r0, [r1, r6, lsl #0x2]
- add r0, r0, #0x1
- str r0, [r1, r6, lsl #0x2]
- b _020DEF30
-_020DEF08:
- add r0, r5, r4
- bl OS_LockMutex
- ldr r0, _020DEF70 ; =0x021D3498
- ldr r2, _020DEF74 ; =0x021D7088
- ldr r1, [r0, #0x4]
- ldr r0, _020DEF78 ; =0x021D70AC
- ldr r3, [r1, #0x6c]
- mov r1, #0x1
- str r3, [r2, r6, lsl #0x2]
- str r1, [r0, r6, lsl #0x2]
-_020DEF30:
- mov r0, r7
- bl _ftell
- ldr r1, _020DEF78 ; =0x021D70AC
- mov r7, r0
- ldr r0, [r1, r6, lsl #0x2]
- subs r0, r0, #0x1
- str r0, [r1, r6, lsl #0x2]
- bne _020DEF58
- add r0, r5, r4
- bl OS_UnlockMutex
-_020DEF58:
- mov r0, r7
- ldmia sp!, {r3-r7,pc}
- .balign 4
-_020DEF60: .word 0x02106A58
-_020DEF64: .word 0x02106AA4
-_020DEF68: .word 0x02106AF0
-_020DEF6C: .word 0x021D70D0
-_020DEF70: .word 0x021D3498
-_020DEF74: .word 0x021D7088
-_020DEF78: .word 0x021D70AC
-
- arm_func_start _fseek
-_fseek: ; 0x020DEF7C
- stmdb sp!, {r0-r3}
- stmdb sp!, {r3-r5,lr}
- mov r5, r0
- ldr r1, [r5, #0x4]
- mov r4, r2
- mov r1, r1, lsl #0x16
- mov r1, r1, lsr #0x1d
- and r1, r1, #0xff
- cmp r1, #0x1
- ldreqb r1, [r5, #0xd]
- cmpeq r1, #0x0
- beq _020DEFC8
- ldr r0, _020DF160 ; =0x021D74A8
- mov r1, #0x28
- str r1, [r0, #0x0]
- sub r0, r1, #0x29
- ldmia sp!, {r3-r5,lr}
- add sp, sp, #0x10
- bx lr
-_020DEFC8:
- ldr r1, [r5, #0x8]
- mov r1, r1, lsl #0x1d
- mov r1, r1, lsr #0x1d
- cmp r1, #0x1
- bne _020DF018
- mov r1, #0x0
- bl __flush_buffer
-_020DEFE4: ; 0x020DEFE4
- cmp r0, #0x0
- beq _020DF018
- mov r0, #0x1
- strb r0, [r5, #0xd]
- mov r2, #0x0
- ldr r0, _020DF160 ; =0x021D74A8
- mov r1, #0x28
- str r2, [r5, #0x28]
- str r1, [r0, #0x0]
- sub r0, r1, #0x29
- ldmia sp!, {r3-r5,lr}
- add sp, sp, #0x10
- bx lr
-_020DF018:
- cmp r4, #0x1
- bne _020DF038
- mov r0, r5
- mov r4, #0x0
- bl _ftell
- ldr r1, [sp, #0x14]
- add r0, r1, r0
- str r0, [sp, #0x14]
-_020DF038:
- cmp r4, #0x2
- beq _020DF0CC
- ldr r0, [r5, #0x4]
- mov r0, r0, lsl #0x1b
- mov r0, r0, lsr #0x1d
- cmp r0, #0x3
- beq _020DF0CC
- ldr r0, [r5, #0x8]
- mov r0, r0, lsl #0x1d
- mov r0, r0, lsr #0x1d
- sub r0, r0, #0x2
- cmp r0, #0x1
- bhi _020DF0CC
- ldr r2, [sp, #0x14]
- ldr r0, [r5, #0x18]
- cmp r2, r0
- bhs _020DF088
- ldr r0, [r5, #0x34]
- cmp r2, r0
- bhs _020DF098
-_020DF088:
- ldr r0, [r5, #0x8]
- bic r0, r0, #0x7
- str r0, [r5, #0x8]
- b _020DF0D8
-_020DF098:
- ldr r1, [r5, #0x1c]
- sub r0, r2, r0
- add r0, r1, r0
- str r0, [r5, #0x24]
- ldr r1, [r5, #0x18]
- ldr r0, [sp, #0x14]
- sub r0, r1, r0
- str r0, [r5, #0x28]
- ldr r0, [r5, #0x8]
- bic r0, r0, #0x7
- orr r0, r0, #0x2
- str r0, [r5, #0x8]
- b _020DF0D8
-_020DF0CC:
- ldr r0, [r5, #0x8]
- bic r0, r0, #0x7
- str r0, [r5, #0x8]
-_020DF0D8:
- ldr r0, [r5, #0x8]
- mov r0, r0, lsl #0x1d
- movs r0, r0, lsr #0x1d
- bne _020DF150
- ldr r12, [r5, #0x38]
- cmp r12, #0x0
- beq _020DF13C
- ldr r0, [r5, #0x0]
- ldr r3, [r5, #0x48]
- add r1, sp, #0x14
- mov r2, r4
- blx r12
- cmp r0, #0x0
- beq _020DF13C
- mov r0, #0x1
- strb r0, [r5, #0xd]
- mov r2, #0x0
- ldr r0, _020DF160 ; =0x021D74A8
- mov r1, #0x28
- str r2, [r5, #0x28]
- str r1, [r0, #0x0]
- sub r0, r1, #0x29
- ldmia sp!, {r3-r5,lr}
- add sp, sp, #0x10
- bx lr
-_020DF13C:
- mov r1, #0x0
- strb r1, [r5, #0xc]
- ldr r0, [sp, #0x14]
- str r0, [r5, #0x18]
- str r1, [r5, #0x28]
-_020DF150:
- mov r0, #0x0
- ldmia sp!, {r3-r5,lr}
- add sp, sp, #0x10
- bx lr
- .balign 4
-_020DF160: .word 0x021D74A8
-
- arm_func_start fseek
-fseek:
- stmdb sp!, {r3-r9,lr}
- ldr r3, _020DF274 ; =0x02106A58
- mov r9, r0
- cmp r9, r3
- mov r8, r1
- mov r7, r2
- moveq r6, #0x2
- beq _020DF1A4
- ldr r0, _020DF278 ; =0x02106AA4
- cmp r9, r0
- moveq r6, #0x3
- beq _020DF1A4
- ldr r0, _020DF27C ; =0x02106AF0
- cmp r9, r0
- moveq r6, #0x4
- movne r6, #0x5
-_020DF1A4:
- mov r0, #0x18
- mul r4, r6, r0
- ldr r5, _020DF280 ; =0x021D70D0
- add r0, r5, r4
- bl OS_TryLockMutex
-_020DF1B8: ; 0x020DF1B8
- cmp r0, #0x0
- bne _020DF1E4
- ldr r0, _020DF284 ; =0x021D3498
- ldr r2, _020DF288 ; =0x021D7088
- ldr r1, [r0, #0x4]
- ldr r0, _020DF28C ; =0x021D70AC
- ldr r3, [r1, #0x6c]
- mov r1, #0x1
- str r3, [r2, r6, lsl #0x2]
- str r1, [r0, r6, lsl #0x2]
- b _020DF23C
-_020DF1E4:
- ldr r0, _020DF284 ; =0x021D3498
- ldr r1, _020DF288 ; =0x021D7088
- ldr r0, [r0, #0x4]
- ldr r1, [r1, r6, lsl #0x2]
- ldr r0, [r0, #0x6c]
- cmp r1, r0
- bne _020DF214
- ldr r1, _020DF28C ; =0x021D70AC
- ldr r0, [r1, r6, lsl #0x2]
- add r0, r0, #0x1
- str r0, [r1, r6, lsl #0x2]
- b _020DF23C
-_020DF214:
- add r0, r5, r4
- bl OS_LockMutex
- ldr r0, _020DF284 ; =0x021D3498
- ldr r2, _020DF288 ; =0x021D7088
- ldr r1, [r0, #0x4]
- ldr r0, _020DF28C ; =0x021D70AC
- ldr r3, [r1, #0x6c]
- mov r1, #0x1
- str r3, [r2, r6, lsl #0x2]
- str r1, [r0, r6, lsl #0x2]
-_020DF23C:
- mov r0, r9
- mov r1, r8
- mov r2, r7
- bl _fseek
- ldr r1, _020DF28C ; =0x021D70AC
- mov r7, r0
- ldr r0, [r1, r6, lsl #0x2]
- subs r0, r0, #0x1
- str r0, [r1, r6, lsl #0x2]
- bne _020DF26C
- add r0, r5, r4
- bl OS_UnlockMutex
-_020DF26C:
- mov r0, r7
- ldmia sp!, {r3-r9,pc}
- .balign 4
-_020DF274: .word 0x02106A58
-_020DF278: .word 0x02106AA4
-_020DF27C: .word 0x02106AF0
-_020DF280: .word 0x021D70D0
-_020DF284: .word 0x021D3498
-_020DF288: .word 0x021D7088
-_020DF28C: .word 0x021D70AC
-
- arm_func_start rewind
-rewind: ; 0x020DF290
- stmdb sp!, {r4,lr}
- mov r1, #0x0
- mov r4, r0
- mov r2, r1
- strb r1, [r4, #0xd]
- bl fseek
-_020DF2A8: ; 0x020DF2A8
- mov r0, #0x0
- strb r0, [r4, #0xd]
- ldmia sp!, {r4,pc}
-
- arm_func_start mbtowc
-mbtowc:
- stmdb sp!, {r3,lr}
- ldr r3, _020DF2CC ; =0x02106C98
- ldr r3, [r3, #0x8]
- ldr r3, [r3, #0x0]
- blx r3
- ldmia sp!, {r3,pc}
- .balign 4
-_020DF2CC: .word 0x02106C98
-
- arm_func_start __mbtowc_noconv
-__mbtowc_noconv: ; 0x020DF2D0
- cmp r1, #0x0
- moveq r0, #0x0
- bxeq lr
- cmp r2, #0x0
- mvneq r0, #0x0
- bxeq lr
- cmp r0, #0x0
- ldrneb r2, [r1, #0x0]
- strneh r2, [r0, #0x0]
- ldrsb r0, [r1, #0x0]
- cmp r0, #0x0
- moveq r0, #0x0
- movne r0, #0x1
- bx lr
-
- arm_func_start __wctomb_noconv
-__wctomb_noconv: ; 0x020DF308
- cmp r0, #0x0
- moveq r0, #0x0
- strneb r1, [r0, #0x0]
- movne r0, #0x1
- bx lr
-
- arm_func_start wctomb
-wctomb: ; 0x020DF31C
- stmdb sp!, {r3,lr}
- ldr r2, _020DF334 ; =0x02106C98
- ldr r2, [r2, #0x8]
- ldr r2, [r2, #0x4]
- blx r2
- ldmia sp!, {r3,pc}
- .balign 4
-_020DF334: .word 0x02106C98
-
- arm_func_start mbstowcs
-mbstowcs: ; 0x020DF338
- stmdb sp!, {r4-r8,lr}
- mov r7, r1
- mov r8, r0
- mov r0, r7
- mov r6, r2
- bl strlen
- mov r5, r0
- cmp r8, #0x0
- mov r4, #0x0
- beq _020DF3B8
- cmp r6, #0x0
- bls _020DF3B8
-_020DF368:
- ldrsb r0, [r7, #0x0]
- cmp r0, #0x0
- beq _020DF3A0
- mov r0, r8
- mov r1, r7
- mov r2, r5
- bl mbtowc
-_020DF384: ; 0x020DF384
- cmp r0, #0x0
- add r8, r8, #0x2
- addgt r7, r7, r0
- subgt r5, r5, r0
- bgt _020DF3AC
- mvn r0, #0x0
- ldmia sp!, {r4-r8,pc}
-_020DF3A0:
- mov r0, #0x0
- strh r0, [r8, #0x0]
- b _020DF3B8
-_020DF3AC:
- add r4, r4, #0x1
- cmp r4, r6
- blo _020DF368
-_020DF3B8:
- mov r0, r4
- ldmia sp!, {r4-r8,pc}
-
- arm_func_start wcstombs
-wcstombs:
- stmdb sp!, {r3-r9,lr}
- movs r4, r0
- mov r9, r1
- cmpne r9, #0x0
- mov r8, r2
- mov r7, #0x0
- moveq r0, #0x0
- ldmeqia sp!, {r3-r9,pc}
-_020DF3E0: ; 0x020DF3E0
- add r6, sp, #0x0
-_020DF3E4:
- ldrh r1, [r9, #0x0]
- cmp r1, #0x0
- moveq r0, #0x0
- streqb r0, [r4, r7]
- beq _020DF430
- mov r0, r6
- add r9, r9, #0x2
- bl wctomb
- mov r5, r0
- add r0, r7, r5
- cmp r0, r8
- bhi _020DF430
- mov r1, r6
- mov r2, r5
- add r0, r4, r7
- bl strncpy
- add r7, r7, r5
- cmp r7, r8
- bls _020DF3E4
-_020DF430:
- mov r0, r7
- ldmia sp!, {r3-r9,pc}
-
- arm_func_start memcpy
-memcpy: ; 0x020DF438
- mov r12, r0
- cmp r2, #0x0
- bxeq lr
-_020DF444:
- ldrsb r3, [r1], #0x1
- subs r2, r2, #0x1
- strb r3, [r12], #0x1
- bne _020DF444
- bx lr
-
- arm_func_start memmove
-memmove: ; 0x020DF458
- cmp r1, r0
- blo _020DF480
- mov r12, r0
- cmp r2, #0x0
- bxeq lr
-_020DF46C:
- ldrsb r3, [r1], #0x1
- subs r2, r2, #0x1
- strb r3, [r12], #0x1
- bne _020DF46C
- bx lr
-_020DF480:
- cmp r2, #0x0
- add r3, r1, r2
- add r12, r0, r2
- bxeq lr
-_020DF490:
- ldrsb r1, [r3, #-0x1]!
- subs r2, r2, #0x1
- strb r1, [r12, #-0x1]!
- bne _020DF490
- bx lr
-
- arm_func_start Call_FillMemWithValue
-Call_FillMemWithValue: ; 0x020DF4A4
- stmdb sp!, {r4,lr}
- mov r4, r0
- bl __fill_mem
- mov r0, r4
- ldmia sp!, {r4,pc}
-
- arm_func_start memchr
-memchr:
- cmp r2, #0x0
- and r3, r1, #0xff
- beq _020DF4DC
-_020DF4C4:
- ldrb r1, [r0], #0x1
- cmp r1, r3
- subeq r0, r0, #0x1
- bxeq lr
- subs r2, r2, #0x1
- bne _020DF4C4
-_020DF4DC:
- mov r0, #0x0
- bx lr
-
- arm_func_start __memrchr
-__memrchr: ; 0x020DF4E4
- cmp r2, #0x0
- and r3, r1, #0xff
- add r0, r0, r2
- beq _020DF508
-_020DF4F4:
- ldrb r1, [r0, #-0x1]!
- cmp r1, r3
- bxeq lr
- subs r2, r2, #0x1
- bne _020DF4F4
-_020DF508:
- mov r0, #0x0
- bx lr
-
- arm_func_start memcmp
-memcmp: ; 0x020DF510
- cmp r2, #0x0
- beq _020DF548
-_020DF518:
- ldrb r12, [r0], #0x1
- ldrb r3, [r1], #0x1
- cmp r12, r3
- beq _020DF540
- ldrb r2, [r0, #-0x1]
- ldrb r0, [r1, #-0x1]
- cmp r2, r0
- mvncc r0, #0x0
- movcs r0, #0x1
- bx lr
-_020DF540:
- subs r2, r2, #0x1
- bne _020DF518
-_020DF548:
- mov r0, #0x0
- bx lr
-
- arm_func_start __fill_mem
-__fill_mem: ; 0x020DF550
- cmp r2, #0x20
- and r3, r1, #0xff
- blo _020DF5E4
- rsb r1, r0, #0x0
- ands r12, r1, #0x3
- beq _020DF57C
- sub r2, r2, r12
- and r1, r3, #0xff
-_020DF570:
- strb r1, [r0], #0x1
- subs r12, r12, #0x1
- bne _020DF570
-_020DF57C:
- cmp r3, #0x0
- beq _020DF594
- mov r1, r3, lsl #0x10
- orr r1, r1, r3, lsl #0x18
- orr r1, r1, r3, lsl #0x8
- orr r3, r3, r1
-_020DF594:
- movs r1, r2, lsr #0x5
- beq _020DF5C8
-_020DF59C:
- str r3, [r0, #0x0]
- str r3, [r0, #0x4]
- str r3, [r0, #0x8]
- str r3, [r0, #0xc]
- str r3, [r0, #0x10]
- str r3, [r0, #0x14]
- str r3, [r0, #0x18]
- str r3, [r0, #0x1c]
- add r0, r0, #0x20
- subs r1, r1, #0x1
- bne _020DF59C
-_020DF5C8:
- and r1, r2, #0x1f
- movs r1, r1, lsr #0x2
- beq _020DF5E0
-_020DF5D4:
- str r3, [r0], #0x4
- subs r1, r1, #0x1
- bne _020DF5D4
-_020DF5E0:
- and r2, r2, #0x3
-_020DF5E4:
- cmp r2, #0x0
- bxeq lr
- and r1, r3, #0xff
-_020DF5F0:
- strb r1, [r0], #0x1
- subs r2, r2, #0x1
- bne _020DF5F0
- bx lr
-
- arm_func_start parse_format_printf
-parse_format_printf: ; 0x020DF600
- stmdb sp!, {r4-r8,lr}
- sub sp, sp, #0x10
- ldrsb r3, [r0, #0x1]
- mov r4, #0x0
- mov r5, #0x1
- mov lr, r2
- strb r5, [sp, #0x0]
- strb r4, [sp, #0x1]
- strb r4, [sp, #0x2]
- strb r4, [sp, #0x3]
- strb r4, [sp, #0x4]
- str r4, [sp, #0x8]
- str r4, [sp, #0xc]
- cmp r3, #0x25
- add r12, r0, #0x1
- bne _020DF65C
- add r0, sp, #0x0
- strb r3, [sp, #0x5]
- ldmia r0, {r0-r3}
- stmia lr, {r0-r3}
- add sp, sp, #0x10
- add r0, r12, #0x1
- ldmia sp!, {r4-r8,pc}
-_020DF65C:
- mov r2, #0x2
- mov r0, r4
- mov r5, r2
- mov r6, r4
- mov r7, #0x1
-_020DF670:
- mov r8, r7
- cmp r3, #0x2b
- bgt _020DF6A0
- bge _020DF6C8
- cmp r3, #0x23
- bgt _020DF6F8
- cmp r3, #0x20
- blt _020DF6F8
- beq _020DF6D0
- cmp r3, #0x23
- beq _020DF6E0
- b _020DF6F8
-_020DF6A0:
- cmp r3, #0x30
- bgt _020DF6F8
- cmp r3, #0x2d
- blt _020DF6F8
- beq _020DF6C0
- cmp r3, #0x30
- beq _020DF6E8
- b _020DF6F8
-_020DF6C0:
- strb r6, [sp, #0x0]
- b _020DF6FC
-_020DF6C8:
- strb r7, [sp, #0x1]
- b _020DF6FC
-_020DF6D0:
- ldrb r4, [sp, #0x1]
- cmp r4, #0x1
- strneb r5, [sp, #0x1]
- b _020DF6FC
-_020DF6E0:
- strb r7, [sp, #0x3]
- b _020DF6FC
-_020DF6E8:
- ldrb r4, [sp, #0x0]
- cmp r4, #0x0
- strneb r2, [sp, #0x0]
- b _020DF6FC
-_020DF6F8:
- mov r8, r0
-_020DF6FC:
- cmp r8, #0x0
- ldrnesb r3, [r12, #0x1]!
- bne _020DF670
- cmp r3, #0x2a
- bne _020DF744
- ldr r0, [r1, #0x0]
- add r0, r0, #0x4
- str r0, [r1, #0x0]
- ldr r0, [r0, #-0x4]
- str r0, [sp, #0x8]
- cmp r0, #0x0
- bge _020DF73C
- rsb r0, r0, #0x0
- mov r2, #0x0
- strb r2, [sp, #0x0]
- str r0, [sp, #0x8]
-_020DF73C:
- ldrsb r3, [r12, #0x1]!
- b _020DF794
-_020DF744:
- ldr r4, _020DFB88 ; =0x0210430C
- mov r5, #0x0
- mov r0, #0xa
- b _020DF768
-_020DF754:
- ldr r2, [sp, #0x8]
- sub r3, r3, #0x30
- mla r6, r2, r0, r3
- ldrsb r3, [r12, #0x1]!
- str r6, [sp, #0x8]
-_020DF768:
- cmp r3, #0x0
- blt _020DF778
- cmp r3, #0x80
- blt _020DF780
-_020DF778:
- mov r2, r5
- b _020DF78C
-_020DF780:
- mov r2, r3, lsl #0x1
- ldrh r2, [r4, r2]
- and r2, r2, #0x8
-_020DF78C:
- cmp r2, #0x0
- bne _020DF754
-_020DF794:
- ldr r2, [sp, #0x8]
- ldr r0, _020DFB8C ; =0x000001FD
- cmp r2, r0
- ble _020DF7C4
- mov r1, #0xff
- add r0, sp, #0x0
- strb r1, [sp, #0x5]
- ldmia r0, {r0-r3}
- stmia lr, {r0-r3}
- add sp, sp, #0x10
- add r0, r12, #0x1
- ldmia sp!, {r4-r8,pc}
-_020DF7C4:
- cmp r3, #0x2e
- bne _020DF858
- ldrsb r3, [r12, #0x1]!
- mov r0, #0x1
- strb r0, [sp, #0x2]
- cmp r3, #0x2a
- bne _020DF808
- ldr r0, [r1, #0x0]
- add r0, r0, #0x4
- str r0, [r1, #0x0]
- ldr r0, [r0, #-0x4]
- ldrsb r3, [r12, #0x1]!
- str r0, [sp, #0xc]
- cmp r0, #0x0
- movlt r0, #0x0
- strltb r0, [sp, #0x2]
- b _020DF858
-_020DF808:
- ldr r2, _020DFB88 ; =0x0210430C
- mov r4, #0x0
- mov r0, #0xa
- b _020DF82C
-_020DF818:
- ldr r1, [sp, #0xc]
- sub r3, r3, #0x30
- mla r5, r1, r0, r3
- ldrsb r3, [r12, #0x1]!
- str r5, [sp, #0xc]
-_020DF82C:
- cmp r3, #0x0
- blt _020DF83C
- cmp r3, #0x80
- blt _020DF844
-_020DF83C:
- mov r1, r4
- b _020DF850
-_020DF844:
- mov r1, r3, lsl #0x1
- ldrh r1, [r2, r1]
- and r1, r1, #0x8
-_020DF850:
- cmp r1, #0x0
- bne _020DF818
-_020DF858:
- cmp r3, #0x6c
- mov r0, #0x1
- bgt _020DF890
- cmp r3, #0x68
- blt _020DF884
- beq _020DF8AC
- cmp r3, #0x6a
- beq _020DF8F8
- cmp r3, #0x6c
- beq _020DF8C8
- b _020DF91C
-_020DF884:
- cmp r3, #0x4c
- beq _020DF8EC
- b _020DF91C
-_020DF890:
- cmp r3, #0x74
- bgt _020DF8A0
- beq _020DF904
- b _020DF91C
-_020DF8A0:
- cmp r3, #0x7a
- beq _020DF910
- b _020DF91C
-_020DF8AC:
- ldrsb r1, [r12, #0x1]
- mov r2, #0x2
- strb r2, [sp, #0x4]
- cmp r1, #0x68
- streqb r0, [sp, #0x4]
- ldreqsb r3, [r12, #0x1]!
- b _020DF920
-_020DF8C8:
- ldrsb r1, [r12, #0x1]
- mov r2, #0x3
- strb r2, [sp, #0x4]
- cmp r1, #0x6c
- bne _020DF920
- mov r1, #0x4
- strb r1, [sp, #0x4]
- ldrsb r3, [r12, #0x1]!
- b _020DF920
-_020DF8EC:
- mov r1, #0x9
- strb r1, [sp, #0x4]
- b _020DF920
-_020DF8F8:
- mov r1, #0x6
- strb r1, [sp, #0x4]
- b _020DF920
-_020DF904:
- mov r1, #0x8
- strb r1, [sp, #0x4]
- b _020DF920
-_020DF910:
- mov r1, #0x7
- strb r1, [sp, #0x4]
- b _020DF920
-_020DF91C:
- mov r0, #0x0
-_020DF920:
- cmp r0, #0x0
- ldrnesb r3, [r12, #0x1]!
- strb r3, [sp, #0x5]
- cmp r3, #0x61
- bgt _020DF974
- bge _020DFA5C
- cmp r3, #0x47
- bgt _020DF968
- subs r0, r3, #0x41
- addpl pc, pc, r0, lsl #0x2
- b _020DFB68
-_020DF94C: ; 0x020DF94C
- b _020DFA5C
-_020DF950: ; 0x020DF950
- b _020DFB68
-_020DF954: ; 0x020DF954
- b _020DFB68
-_020DF958: ; 0x020DF958
- b _020DFB68
-_020DF95C: ; 0x020DF95C
- b _020DFAA4
-_020DF960: ; 0x020DF960
- b _020DFA24
-_020DF964: ; 0x020DF964
- b _020DFA94
-_020DF968:
- cmp r3, #0x58
- beq _020DF9E8
- b _020DFB68
-_020DF974:
- cmp r3, #0x63
- bgt _020DF984
- beq _020DFB04
- b _020DFB68
-_020DF984:
- sub r0, r3, #0x64
- cmp r0, #0x14
- addls pc, pc, r0, lsl #0x2
- b _020DFB68
-_020DF994:
- b _020DF9E8
-_020DF998:
- b _020DFAA4
-_020DF99C:
- b _020DFA24
-_020DF9A0:
- b _020DFA94
-_020DF9A4:
- b _020DFB68
-_020DF9A8:
- b _020DF9E8
-_020DF9AC:
- b _020DFB68
-_020DF9B0:
- b _020DFB68
-_020DF9B4:
- b _020DFB68
-_020DF9B8:
- b _020DFB68
-_020DF9BC:
- b _020DFB54
-_020DF9C0:
- b _020DF9E8
-_020DF9C4:
- b _020DFAE0
-_020DF9C8:
- b _020DFB68
-_020DF9CC:
- b _020DFB68
-_020DF9D0:
- b _020DFB30
-_020DF9D4:
- b _020DFB68
-_020DF9D8:
- b _020DF9E8
-_020DF9DC:
- b _020DFB68
-_020DF9E0:
- b _020DFB68
-_020DF9E4:
- b _020DF9E8
-_020DF9E8:
- ldrb r0, [sp, #0x4]
- cmp r0, #0x9
- moveq r0, #0xff
- streqb r0, [sp, #0x5]
- beq _020DFB70
- ldrb r0, [sp, #0x2]
- cmp r0, #0x0
- moveq r0, #0x1
- streq r0, [sp, #0xc]
- beq _020DFB70
- ldrb r0, [sp, #0x0]
- cmp r0, #0x2
- moveq r0, #0x1
- streqb r0, [sp, #0x0]
- b _020DFB70
-_020DFA24:
- ldrb r0, [sp, #0x4]
- cmp r0, #0x2
- cmpne r0, #0x6
- cmpne r0, #0x7
- cmpne r0, #0x8
- cmpne r0, #0x4
- moveq r0, #0xff
- streqb r0, [sp, #0x5]
- beq _020DFB70
- ldrb r0, [sp, #0x2]
- cmp r0, #0x0
- moveq r0, #0x6
- streq r0, [sp, #0xc]
- b _020DFB70
-_020DFA5C:
- ldrb r0, [sp, #0x2]
- cmp r0, #0x0
- moveq r0, #0xd
- streq r0, [sp, #0xc]
- ldrb r0, [sp, #0x4]
- cmp r0, #0x2
- cmpne r0, #0x6
- cmpne r0, #0x7
- cmpne r0, #0x8
- cmpne r0, #0x4
- cmpne r0, #0x1
- moveq r0, #0xff
- streqb r0, [sp, #0x5]
- b _020DFB70
-_020DFA94:
- ldr r0, [sp, #0xc]
- cmp r0, #0x0
- moveq r0, #0x1
- streq r0, [sp, #0xc]
-_020DFAA4:
- ldrb r0, [sp, #0x4]
- cmp r0, #0x2
- cmpne r0, #0x6
- cmpne r0, #0x7
- cmpne r0, #0x8
- cmpne r0, #0x4
- cmpne r0, #0x1
- moveq r0, #0xff
- streqb r0, [sp, #0x5]
- beq _020DFB70
- ldrb r0, [sp, #0x2]
- cmp r0, #0x0
- moveq r0, #0x6
- streq r0, [sp, #0xc]
- b _020DFB70
-_020DFAE0:
- mov r3, #0x78
- mov r2, #0x1
- mov r1, #0x3
- mov r0, #0x8
- strb r3, [sp, #0x5]
- strb r2, [sp, #0x3]
- strb r1, [sp, #0x4]
- str r0, [sp, #0xc]
- b _020DFB70
-_020DFB04:
- ldrb r1, [sp, #0x4]
- cmp r1, #0x3
- moveq r0, #0x5
- streqb r0, [sp, #0x4]
- beq _020DFB70
- ldrb r0, [sp, #0x2]
- cmp r0, #0x0
- cmpeq r1, #0x0
- movne r0, #0xff
- strneb r0, [sp, #0x5]
- b _020DFB70
-_020DFB30:
- ldrb r0, [sp, #0x4]
- cmp r0, #0x3
- moveq r0, #0x5
- streqb r0, [sp, #0x4]
- beq _020DFB70
- cmp r0, #0x0
- movne r0, #0xff
- strneb r0, [sp, #0x5]
- b _020DFB70
-_020DFB54:
- ldrb r0, [sp, #0x4]
- cmp r0, #0x9
- moveq r0, #0xff
- streqb r0, [sp, #0x5]
- b _020DFB70
-_020DFB68:
- mov r0, #0xff
- strb r0, [sp, #0x5]
-_020DFB70:
- add r0, sp, #0x0
- ldmia r0, {r0-r3}
- stmia lr, {r0-r3}
- add r0, r12, #0x1
- add sp, sp, #0x10
- ldmia sp!, {r4-r8,pc}
- .balign 4
-_020DFB88: .word 0x0210430C
-_020DFB8C: .word 0x000001FD
-
- arm_func_start long2str
-long2str: ; 0x020DFB90
- stmdb sp!, {r0-r3}
- stmdb sp!, {r3-r11,lr}
- sub sp, sp, #0x10
- movs r10, r0
- mov r0, #0x0
- mov r5, r1
- str r0, [sp, #0xc]
- ldr r7, [sp, #0x4c]
- mov r6, r0
- strb r0, [r5, #-0x1]!
- ldrb r0, [sp, #0x43]
- str r1, [sp, #0x0]
- ldrb r8, [sp, #0x45]
- str r0, [sp, #0x4]
- ldr r0, [sp, #0x48]
- ldrb r11, [sp, #0x41]
- str r0, [sp, #0x8]
- cmpeq r7, #0x0
- bne _020DFC04
- ldr r0, [sp, #0x4]
- cmp r0, #0x0
- beq _020DFBF0
- cmp r8, #0x6f
- beq _020DFC04
-_020DFBF0:
- add sp, sp, #0x10
- mov r0, r5
- ldmia sp!, {r3-r11,lr}
- add sp, sp, #0x10
- bx lr
-_020DFC04:
- cmp r8, #0x69
- bgt _020DFC2C
- bge _020DFC60
- cmp r8, #0x58
- bgt _020DFC20
- beq _020DFC8C
- b _020DFC94
-_020DFC20:
- cmp r8, #0x64
- beq _020DFC60
- b _020DFC94
-_020DFC2C:
- cmp r8, #0x6f
- bgt _020DFC40
- moveq r4, #0x8
- moveq r11, #0x0
- b _020DFC94
-_020DFC40:
- cmp r8, #0x78
- bgt _020DFC94
- cmp r8, #0x75
- blt _020DFC94
- beq _020DFC80
- cmp r8, #0x78
- beq _020DFC8C
- b _020DFC94
-_020DFC60:
- cmp r10, #0x0
- mov r4, #0xa
- bge _020DFC94
- mov r0, #0x1
- cmp r10, #0x80000000
- rsbne r10, r10, #0x0
- str r0, [sp, #0xc]
- b _020DFC94
-_020DFC80:
- mov r4, #0xa
- mov r11, #0x0
- b _020DFC94
-_020DFC8C:
- mov r4, #0x10
- mov r11, #0x0
-_020DFC94:
- mov r0, r10
- mov r1, r4
- bl _u32_div_f
- mov r9, r1
- mov r0, r10
- mov r1, r4
- bl _u32_div_f
- cmp r9, #0xa
- mov r10, r0
- addlt r9, r9, #0x30
- blt _020DFCCC
- cmp r8, #0x78
- addeq r9, r9, #0x57
- addne r9, r9, #0x37
-_020DFCCC:
- cmp r10, #0x0
- strb r9, [r5, #-0x1]!
- add r6, r6, #0x1
- bne _020DFC94
- cmp r4, #0x8
- bne _020DFD00
- ldr r0, [sp, #0x4]
- cmp r0, #0x0
- ldrnesb r0, [r5, #0x0]
- cmpne r0, #0x30
- movne r0, #0x30
- strneb r0, [r5, #-0x1]!
- addne r6, r6, #0x1
-_020DFD00:
- ldrb r0, [sp, #0x40]
- cmp r0, #0x2
- bne _020DFD34
- ldr r0, [sp, #0xc]
- ldr r7, [sp, #0x8]
- cmp r0, #0x0
- cmpeq r11, #0x0
- subne r7, r7, #0x1
- cmp r4, #0x10
- bne _020DFD34
- ldr r0, [sp, #0x4]
- cmp r0, #0x0
- subne r7, r7, #0x2
-_020DFD34:
- ldr r0, [sp, #0x0]
- sub r1, r0, r5
- ldr r0, _020DFDD8 ; =0x000001FD
- add r1, r7, r1
- cmp r1, r0
- addgt sp, sp, #0x10
- movgt r0, #0x0
- ldmgtia sp!, {r3-r11,lr}
- addgt sp, sp, #0x10
- bxgt lr
- cmp r6, r7
- bge _020DFD78
- mov r0, #0x30
-_020DFD68:
- add r6, r6, #0x1
- cmp r6, r7
- strb r0, [r5, #-0x1]!
- blt _020DFD68
-_020DFD78:
- cmp r4, #0x10
- bne _020DFD94
- ldr r0, [sp, #0x4]
- cmp r0, #0x0
- movne r0, #0x30
- strneb r8, [r5, #-0x1]
- strneb r0, [r5, #-0x2]!
-_020DFD94:
- ldr r0, [sp, #0xc]
- cmp r0, #0x0
- movne r0, #0x2d
- strneb r0, [r5, #-0x1]!
- bne _020DFDC4
- cmp r11, #0x1
- moveq r0, #0x2b
- streqb r0, [r5, #-0x1]!
- beq _020DFDC4
- cmp r11, #0x2
- moveq r0, #0x20
- streqb r0, [r5, #-0x1]!
-_020DFDC4:
- mov r0, r5
- add sp, sp, #0x10
- ldmia sp!, {r3-r11,lr}
- add sp, sp, #0x10
- bx lr
- .balign 4
-_020DFDD8: .word 0x000001FD
-
- arm_func_start longlong2str
-longlong2str: ; 0x020DFDDC
- stmdb sp!, {r0-r3}
- stmdb sp!, {r3-r11,lr}
- sub sp, sp, #0x18
- mov r9, r1
- mov r1, #0x0
- mov r10, r0
- mov r6, r2
- mov r0, r1
- strb r0, [r6, #-0x1]!
- ldr r0, [sp, #0x58]
- cmp r9, #0x0
- str r0, [sp, #0x10]
- ldrb r0, [sp, #0x4f]
- cmpeq r10, #0x0
- str r2, [sp, #0x0]
- str r0, [sp, #0x4]
- ldr r0, [sp, #0x54]
- str r1, [sp, #0x14]
- str r0, [sp, #0x8]
- ldrb r0, [sp, #0x4d]
- mov r7, r1
- ldrb r8, [sp, #0x51]
- str r0, [sp, #0xc]
- ldreq r0, [sp, #0x10]
- cmpeq r0, #0x0
- bne _020DFE6C
- ldr r0, [sp, #0x4]
- cmp r0, #0x0
- beq _020DFE58
- cmp r8, #0x6f
- beq _020DFE6C
-_020DFE58:
- add sp, sp, #0x18
- mov r0, r6
- ldmia sp!, {r3-r11,lr}
- add sp, sp, #0x10
- bx lr
-_020DFE6C:
- cmp r8, #0x69
- bgt _020DFE94
- bge _020DFEC4
- cmp r8, #0x58
- bgt _020DFE88
- beq _020DFF18
- b _020DFF24
-_020DFE88:
- cmp r8, #0x64
- beq _020DFEC4
- b _020DFF24
-_020DFE94:
- cmp r8, #0x6f
- bgt _020DFEA4
- beq _020DFEF8
- b _020DFF24
-_020DFEA4:
- cmp r8, #0x78
- bgt _020DFF24
- cmp r8, #0x75
- blt _020DFF24
- beq _020DFF08
- cmp r8, #0x78
- beq _020DFF18
- b _020DFF24
-_020DFEC4:
- subs r0, r10, #0x0
- sbcs r0, r9, #0x0
- mov r11, #0xa
- mov r5, #0x0
- bge _020DFF24
- cmp r9, #0x80000000
- cmpeq r10, r5
- beq _020DFEEC
- rsbs r10, r10, #0x0
- rsc r9, r9, #0x0
-_020DFEEC:
- mov r0, #0x1
- str r0, [sp, #0x14]
- b _020DFF24
-_020DFEF8:
- mov r5, #0x0
- str r5, [sp, #0xc]
- mov r11, #0x8
- b _020DFF24
-_020DFF08:
- mov r5, #0x0
- str r5, [sp, #0xc]
- mov r11, #0xa
- b _020DFF24
-_020DFF18:
- mov r5, #0x0
- str r5, [sp, #0xc]
- mov r11, #0x10
-_020DFF24:
- mov r0, r10
- mov r1, r9
- mov r2, r11
- mov r3, r5
- bl _ull_mod
- mov r4, r0
- mov r0, r10
- mov r1, r9
- mov r2, r11
- mov r3, r5
- bl _ll_udiv
- mov r10, r0
- cmp r4, #0xa
- mov r9, r1
- addlt r0, r4, #0x30
- blt _020DFF70
- cmp r8, #0x78
- addeq r0, r4, #0x57
- addne r0, r4, #0x37
-_020DFF70:
- strb r0, [r6, #-0x1]!
- mov r0, #0x0
- cmp r9, r0
- cmpeq r10, r0
- add r7, r7, #0x1
- bne _020DFF24
- cmp r5, #0x0
- cmpeq r11, #0x8
- bne _020DFFB0
- ldr r0, [sp, #0x4]
- cmp r0, #0x0
- ldrnesb r0, [r6, #0x0]
- cmpne r0, #0x30
- movne r0, #0x30
- strneb r0, [r6, #-0x1]!
- addne r7, r7, #0x1
-_020DFFB0:
- ldrb r0, [sp, #0x4c]
- cmp r0, #0x2
- bne _020E0000
- ldr r0, [sp, #0x8]
- str r0, [sp, #0x10]
- ldr r0, [sp, #0x14]
- cmp r0, #0x0
- ldreq r0, [sp, #0xc]
- cmpeq r0, #0x0
- ldrne r0, [sp, #0x10]
- subne r0, r0, #0x1
- strne r0, [sp, #0x10]
- cmp r5, #0x0
- cmpeq r11, #0x10
- bne _020E0000
- ldr r0, [sp, #0x4]
- cmp r0, #0x0
- ldrne r0, [sp, #0x10]
- subne r0, r0, #0x2
- strne r0, [sp, #0x10]
-_020E0000:
- ldr r0, [sp, #0x0]
- ldr r1, _020E00B8 ; =0x000001FD
- sub r2, r0, r6
- ldr r0, [sp, #0x10]
- add r0, r0, r2
- cmp r0, r1
- addgt sp, sp, #0x18
- movgt r0, #0x0
- ldmgtia sp!, {r3-r11,lr}
- addgt sp, sp, #0x10
- bxgt lr
- ldr r0, [sp, #0x10]
- cmp r7, r0
- bge _020E0050
- mov r1, #0x30
-_020E003C:
- ldr r0, [sp, #0x10]
- add r7, r7, #0x1
- cmp r7, r0
- strb r1, [r6, #-0x1]!
- blt _020E003C
-_020E0050:
- cmp r5, #0x0
- cmpeq r11, #0x10
- bne _020E0070
- ldr r0, [sp, #0x4]
- cmp r0, #0x0
- movne r0, #0x30
- strneb r8, [r6, #-0x1]
- strneb r0, [r6, #-0x2]!
-_020E0070:
- ldr r0, [sp, #0x14]
- cmp r0, #0x0
- movne r0, #0x2d
- strneb r0, [r6, #-0x1]!
- bne _020E00A4
- ldr r0, [sp, #0xc]
- cmp r0, #0x1
- moveq r0, #0x2b
- streqb r0, [r6, #-0x1]!
- beq _020E00A4
- cmp r0, #0x2
- moveq r0, #0x20
- streqb r0, [r6, #-0x1]!
-_020E00A4:
- mov r0, r6
- add sp, sp, #0x18
- ldmia sp!, {r3-r11,lr}
- add sp, sp, #0x10
- bx lr
- .balign 4
-_020E00B8: .word 0x000001FD
-
- arm_func_start double2hex
-double2hex: ; 0x020E00BC
- stmdb sp!, {r0-r3}
- stmdb sp!, {r3-r10,lr}
- sub sp, sp, #0x44
- ldr r7, [sp, #0x80]
- ldr r0, _020E056C ; =0x000001FD
- mov r8, r2
- cmp r7, r0
- ldrb r6, [sp, #0x79]
- ldrb r5, [sp, #0x77]
- ldrb r4, [sp, #0x75]
- ldr r1, [sp, #0x68]
- ldr r2, [sp, #0x6c]
- addgt sp, sp, #0x44
- movgt r0, #0x0
- ldmgtia sp!, {r3-r10,lr}
- addgt sp, sp, #0x10
- bxgt lr
- mov r10, #0x0
- mov r9, #0x20
- add r0, sp, #0x8
- add r3, sp, #0xc
- strb r10, [sp, #0x8]
- strh r9, [sp, #0xa]
- bl __num2dec_internal2
- ldr r0, [sp, #0x68]
- ldr r1, [sp, #0x6c]
- bl fabs
- mov r2, r0
- mov r0, r10
- mov r3, r1
- mov r1, r0
- bl _deq
- bne _020E0188
- ldr r3, _020E0570 ; =0x02106DA0
- sub r0, r8, #0x6
- ldrb r2, [r3, #0x0]
- ldrb r1, [r3, #0x1]
- add sp, sp, #0x44
- strb r2, [r8, #-0x6]
- strb r1, [r0, #0x1]
- ldrb r2, [r3, #0x2]
- ldrb r1, [r3, #0x3]
- strb r2, [r0, #0x2]
- strb r1, [r0, #0x3]
- ldrb r2, [r3, #0x4]
- ldrb r1, [r3, #0x5]
- strb r2, [r0, #0x4]
- strb r1, [r0, #0x5]
- ldmia sp!, {r3-r10,lr}
- add sp, sp, #0x10
- bx lr
-_020E0188:
- ldrb r0, [sp, #0x11]
- cmp r0, #0x49
- bne _020E0298
- ldrsb r0, [sp, #0xc]
- cmp r0, #0x0
- beq _020E0224
- cmp r6, #0x41
- sub r0, r8, #0x5
- bne _020E01E8
- ldr r3, _020E0574 ; =0x02106DA8
- add sp, sp, #0x44
- ldrb r2, [r3, #0x0]
- ldrb r1, [r3, #0x1]
- strb r2, [r0, #0x0]
- strb r1, [r0, #0x1]
- ldrb r2, [r3, #0x2]
- ldrb r1, [r3, #0x3]
- strb r2, [r0, #0x2]
- strb r1, [r0, #0x3]
- ldrb r1, [r3, #0x4]
- strb r1, [r0, #0x4]
- ldmia sp!, {r3-r10,lr}
- add sp, sp, #0x10
- bx lr
-_020E01E8:
- ldr r3, _020E0578 ; =0x02106DB0
- add sp, sp, #0x44
- ldrb r2, [r3, #0x0]
- ldrb r1, [r3, #0x1]
- strb r2, [r0, #0x0]
- strb r1, [r0, #0x1]
- ldrb r2, [r3, #0x2]
- ldrb r1, [r3, #0x3]
- strb r2, [r0, #0x2]
- strb r1, [r0, #0x3]
- ldrb r1, [r3, #0x4]
- strb r1, [r0, #0x4]
- ldmia sp!, {r3-r10,lr}
- add sp, sp, #0x10
- bx lr
-_020E0224:
- cmp r6, #0x41
- sub r0, r8, #0x4
- bne _020E0264
- ldr r3, _020E057C ; =0x02106DB8
- add sp, sp, #0x44
- ldrb r2, [r3, #0x0]
- ldrb r1, [r3, #0x1]
- strb r2, [r0, #0x0]
- strb r1, [r0, #0x1]
- ldrb r2, [r3, #0x2]
- ldrb r1, [r3, #0x3]
- strb r2, [r0, #0x2]
- strb r1, [r0, #0x3]
- ldmia sp!, {r3-r10,lr}
- add sp, sp, #0x10
- bx lr
-_020E0264:
- ldr r3, _020E0580 ; =0x02106DBC
- add sp, sp, #0x44
- ldrb r2, [r3, #0x0]
- ldrb r1, [r3, #0x1]
- strb r2, [r0, #0x0]
- strb r1, [r0, #0x1]
- ldrb r2, [r3, #0x2]
- ldrb r1, [r3, #0x3]
- strb r2, [r0, #0x2]
- strb r1, [r0, #0x3]
- ldmia sp!, {r3-r10,lr}
- add sp, sp, #0x10
- bx lr
-_020E0298:
- cmp r0, #0x4e
- bne _020E03A4
- ldrsb r0, [sp, #0xc]
- cmp r0, #0x0
- beq _020E0330
- cmp r6, #0x41
- sub r0, r8, #0x5
- bne _020E02F4
- ldr r3, _020E0584 ; =0x02106DC0
- add sp, sp, #0x44
- ldrb r2, [r3, #0x0]
- ldrb r1, [r3, #0x1]
- strb r2, [r0, #0x0]
- strb r1, [r0, #0x1]
- ldrb r2, [r3, #0x2]
- ldrb r1, [r3, #0x3]
- strb r2, [r0, #0x2]
- strb r1, [r0, #0x3]
- ldrb r1, [r3, #0x4]
- strb r1, [r0, #0x4]
- ldmia sp!, {r3-r10,lr}
- add sp, sp, #0x10
- bx lr
-_020E02F4:
- ldr r3, _020E0588 ; =0x02106DC8
- add sp, sp, #0x44
- ldrb r2, [r3, #0x0]
- ldrb r1, [r3, #0x1]
- strb r2, [r0, #0x0]
- strb r1, [r0, #0x1]
- ldrb r2, [r3, #0x2]
- ldrb r1, [r3, #0x3]
- strb r2, [r0, #0x2]
- strb r1, [r0, #0x3]
- ldrb r1, [r3, #0x4]
- strb r1, [r0, #0x4]
- ldmia sp!, {r3-r10,lr}
- add sp, sp, #0x10
- bx lr
-_020E0330:
- cmp r6, #0x41
- sub r0, r8, #0x4
- bne _020E0370
- ldr r3, _020E058C ; =0x02106DD0
- add sp, sp, #0x44
- ldrb r2, [r3, #0x0]
- ldrb r1, [r3, #0x1]
- strb r2, [r0, #0x0]
- strb r1, [r0, #0x1]
- ldrb r2, [r3, #0x2]
- ldrb r1, [r3, #0x3]
- strb r2, [r0, #0x2]
- strb r1, [r0, #0x3]
- ldmia sp!, {r3-r10,lr}
- add sp, sp, #0x10
- bx lr
-_020E0370:
- ldr r3, _020E0590 ; =0x02106DD4
- add sp, sp, #0x44
- ldrb r2, [r3, #0x0]
- ldrb r1, [r3, #0x1]
- strb r2, [r0, #0x0]
- strb r1, [r0, #0x1]
- ldrb r2, [r3, #0x2]
- ldrb r1, [r3, #0x3]
- strb r2, [r0, #0x2]
- strb r1, [r0, #0x3]
- ldmia sp!, {r3-r10,lr}
- add sp, sp, #0x10
- bx lr
-_020E03A4:
- mov r3, r10
- mov r1, #0x1
- mov r0, #0x64
- add r9, sp, #0x68
- strb r1, [sp, #0x34]
- strb r1, [sp, #0x35]
- strb r3, [sp, #0x36]
- strb r3, [sp, #0x37]
- strb r3, [sp, #0x38]
- str r3, [sp, #0x3c]
- str r1, [sp, #0x40]
- strb r0, [sp, #0x39]
-_020E03D4:
- rsb r1, r3, #0x7
- ldrsb r2, [r9, r3]
- ldrsb r0, [r9, r1]
- strb r0, [r9, r3]
- add r3, r3, #0x1
- strb r2, [r9, r1]
- cmp r3, #0x4
- blt _020E03D4
- ldrb r0, [sp, #0x69]
- ldrb r1, [sp, #0x68]
- ldr sb, _020E0594 ; =0x000007FF
- mov r0, r0, lsl #0x11
- orr r1, r0, r1, lsl #0x19
- add r0, sp, #0x34
- and lr, r9, r1, lsr #0x15
- sub r12, sp, #0x8
- ldmia r0, {r0-r3}
- stmia r12, {r0-r3}
- rsb r0, r9, #0x400
- mov r1, r8
- add r0, lr, r0
- ldmia r12, {r2-r3}
- bl long2str
- cmp r6, #0x61
- moveq r1, #0x70
- movne r1, #0x50
- strb r1, [r0, #-0x1]!
- mov r1, r7, lsl #0x2
- mov lr, r7
- cmp r7, #0x1
- add r8, r1, #0xb
- add r12, sp, #0x68
- blt _020E04E4
- mov r9, #0x30
-_020E045C:
- cmp r8, #0x40
- bge _020E04CC
- ldrb r1, [r12, r8, asr #0x3]
- and r2, r8, #0x7
- rsb r3, r2, #0x7
- mov r2, r1, asr r3
- sub r10, r8, #0x4
- bic r1, r8, #0x7
- bic r10, r10, #0x7
- cmp r1, r10
- add r10, r12, r8, asr #0x3
- and r1, r2, #0xff
- beq _020E04A0
- ldrb r2, [r10, #-0x1]
- mov r2, r2, lsl #0x8
- orr r1, r1, r2, asr r3
- and r1, r1, #0xff
-_020E04A0:
- and r1, r1, #0xf
- cmp r1, #0xa
- addcc r1, r1, #0x30
- andcc r1, r1, #0xff
- blo _020E04D0
- cmp r6, #0x61
- addeq r1, r1, #0x57
- andeq r1, r1, #0xff
- addne r1, r1, #0x37
- andne r1, r1, #0xff
- b _020E04D0
-_020E04CC:
- mov r1, r9
-_020E04D0:
- sub lr, lr, #0x1
- cmp lr, #0x1
- strb r1, [r0, #-0x1]!
- sub r8, r8, #0x4
- bge _020E045C
-_020E04E4:
- cmp r7, #0x0
- cmpeq r5, #0x0
- movne r1, #0x2e
- strneb r1, [r0, #-0x1]!
- mov r1, #0x31
- strb r1, [r0, #-0x1]
- cmp r6, #0x61
- moveq r1, #0x78
- movne r1, #0x58
- strb r1, [r0, #-0x2]!
- mov r1, #0x30
- strb r1, [r0, #-0x1]!
- ldrsb r1, [sp, #0xc]
- cmp r1, #0x0
- movne r1, #0x2d
- strneb r1, [r0, #-0x1]!
- addne sp, sp, #0x44
- ldmneia sp!, {r3-r10,lr}
- addne sp, sp, #0x10
- bxne lr
- cmp r4, #0x1
- moveq r1, #0x2b
- streqb r1, [r0, #-0x1]!
- addeq sp, sp, #0x44
- ldmeqia sp!, {r3-r10,lr}
- addeq sp, sp, #0x10
- bxeq lr
- cmp r4, #0x2
- moveq r1, #0x20
- streqb r1, [r0, #-0x1]!
- add sp, sp, #0x44
- ldmia sp!, {r3-r10,lr}
- add sp, sp, #0x10
- bx lr
- .balign 4
-_020E056C: .word 0x000001FD
-_020E0570: .word 0x02106DA0
-_020E0574: .word 0x02106DA8
-_020E0578: .word 0x02106DB0
-_020E057C: .word 0x02106DB8
-_020E0580: .word 0x02106DBC
-_020E0584: .word 0x02106DC0
-_020E0588: .word 0x02106DC8
-_020E058C: .word 0x02106DD0
-_020E0590: .word 0x02106DD4
-_020E0594: .word 0x000007FF
-
- arm_func_start round_decimal
-round_decimal: ; 0x020E0598
- stmdb sp!, {r4,lr}
- cmp r1, #0x0
- bge _020E05C0
-_020E05A4:
- mov r1, #0x0
- strh r1, [r0, #0x2]
- mov r1, #0x1
- strb r1, [r0, #0x4]
- mov r1, #0x30
- strb r1, [r0, #0x5]
- ldmia sp!, {r4,pc}
-_020E05C0:
- ldrb lr, [r0, #0x4]
- cmp r1, lr
- ldmgeia sp!, {r4,pc}
-_020E05CC: ; 0x020E05CC
- add r12, r0, #0x5
- add r2, r12, r1
- add r2, r2, #0x1
- ldrsb r3, [r2, #-0x1]!
- sub r3, r3, #0x30
- mov r3, r3, lsl #0x18
- mov r3, r3, asr #0x18
- cmp r3, #0x5
- bne _020E0620
- add r12, r12, lr
-_020E05F4:
- sub r12, r12, #0x1
- cmp r12, r2
- bls _020E060C
- ldrsb r3, [r12, #0x0]
- cmp r3, #0x30
- beq _020E05F4
-_020E060C:
- cmp r12, r2
- ldreqsb r3, [r2, #-0x1]
- andeq r4, r3, #0x1
- movne r4, #0x1
- b _020E0628
-_020E0620:
- movgt r4, #0x1
- movle r4, #0x0
-_020E0628:
- cmp r1, #0x0
- beq _020E0684
- mov r12, #0x0
- mov lr, #0x1
-_020E0638:
- ldrsb r3, [r2, #-0x1]!
- sub r3, r3, #0x30
- add r3, r3, r4
- mov r3, r3, lsl #0x18
- mov r3, r3, asr #0x18
- cmp r3, #0x9
- movgt r4, lr
- movle r4, r12
- cmp r4, #0x0
- bne _020E0668
- cmp r3, #0x0
- bne _020E0670
-_020E0668:
- sub r1, r1, #0x1
- b _020E067C
-_020E0670:
- add r3, r3, #0x30
- strb r3, [r2, #0x0]
- b _020E0684
-_020E067C:
- cmp r1, #0x0
- bne _020E0638
-_020E0684:
- cmp r4, #0x0
- beq _020E06AC
- ldrsh r3, [r0, #0x2]
- mov r2, #0x1
- mov r1, #0x31
- add r3, r3, #0x1
- strh r3, [r0, #0x2]
- strb r2, [r0, #0x4]
- strb r1, [r0, #0x5]
- ldmia sp!, {r4,pc}
-_020E06AC:
- cmp r1, #0x0
- beq _020E05A4
- strb r1, [r0, #0x4]
- ldmia sp!, {r4,pc}
-
- arm_func_start float2str
-float2str: ; 0x020E06BC
- stmdb sp!, {r0-r3}
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0x2c
- ldr r7, [sp, #0x68]
- ldr r3, _020E0DF4 ; =0x000001FD
- ldrb r6, [sp, #0x61]
- ldrb r5, [sp, #0x5f]
- ldrb r4, [sp, #0x5d]
- cmp r7, r3
- mov r10, r0
- mov r8, r1
- mov r9, r2
- addgt sp, sp, #0x2c
- movgt r0, #0x0
- ldmgtia sp!, {r4-r11,lr}
- addgt sp, sp, #0x10
- bxgt lr
- mov r12, #0x0
- mov r11, #0x20
- add r0, sp, #0x0
- add r3, sp, #0x4
- mov r1, r10
- mov r2, r8
- strb r12, [sp, #0x0]
- strh r11, [sp, #0x2]
- bl __num2dec_internal2
- ldrb r0, [sp, #0x8]
- add r1, sp, #0x9
- add r0, r1, r0
- b _020E074C
-_020E0734:
- ldrb r2, [sp, #0x8]
- ldrsh r1, [sp, #0x6]
- sub r2, r2, #0x1
- add r1, r1, #0x1
- strb r2, [sp, #0x8]
- strh r1, [sp, #0x6]
-_020E074C:
- ldrb r1, [sp, #0x8]
- cmp r1, #0x1
- bls _020E0764
- ldrsb r1, [r0, #-0x1]!
- cmp r1, #0x30
- beq _020E0734
-_020E0764:
- ldrb r0, [sp, #0x9]
- cmp r0, #0x30
- beq _020E0784
- cmp r0, #0x49
- beq _020E0790
- cmp r0, #0x4e
- beq _020E08F0
- b _020E0A44
-_020E0784:
- mov r0, #0x0
- strh r0, [sp, #0x6]
- b _020E0A44
-_020E0790:
- mov r2, #0x0
- mov r0, r10
- mov r1, r8
- mov r3, r2
- bl _dls
- bhs _020E0854
- cmp r6, #0x0
- sub r0, r9, #0x5
- blt _020E07BC
- cmp r6, #0x80
- blt _020E07C4
-_020E07BC:
- mov r1, #0x0
- b _020E07D4
-_020E07C4:
- ldr r1, _020E0DF8 ; =0x0210430C
- mov r2, r6, lsl #0x1
- ldrh r1, [r1, r2]
- and r1, r1, #0x200
-_020E07D4:
- cmp r1, #0x0
- beq _020E0818
- ldr r3, _020E0DFC ; =0x02106DA8
- add sp, sp, #0x2c
- ldrb r2, [r3, #0x0]
- ldrb r1, [r3, #0x1]
- strb r2, [r0, #0x0]
- strb r1, [r0, #0x1]
- ldrb r2, [r3, #0x2]
- ldrb r1, [r3, #0x3]
- strb r2, [r0, #0x2]
- strb r1, [r0, #0x3]
- ldrb r1, [r3, #0x4]
- strb r1, [r0, #0x4]
- ldmia sp!, {r4-r11,lr}
- add sp, sp, #0x10
- bx lr
-_020E0818:
- ldr r3, _020E0E00 ; =0x02106DB0
- add sp, sp, #0x2c
- ldrb r2, [r3, #0x0]
- ldrb r1, [r3, #0x1]
- strb r2, [r0, #0x0]
- strb r1, [r0, #0x1]
- ldrb r2, [r3, #0x2]
- ldrb r1, [r3, #0x3]
- strb r2, [r0, #0x2]
- strb r1, [r0, #0x3]
- ldrb r1, [r3, #0x4]
- strb r1, [r0, #0x4]
- ldmia sp!, {r4-r11,lr}
- add sp, sp, #0x10
- bx lr
-_020E0854:
- cmp r6, #0x0
- sub r0, r9, #0x4
- blt _020E0868
- cmp r6, #0x80
- blt _020E0870
-_020E0868:
- mov r1, #0x0
- b _020E0880
-_020E0870:
- ldr r1, _020E0DF8 ; =0x0210430C
- mov r2, r6, lsl #0x1
- ldrh r1, [r1, r2]
- and r1, r1, #0x200
-_020E0880:
- cmp r1, #0x0
- beq _020E08BC
- ldr r3, _020E0E04 ; =0x02106DB8
- add sp, sp, #0x2c
- ldrb r2, [r3, #0x0]
- ldrb r1, [r3, #0x1]
- strb r2, [r0, #0x0]
- strb r1, [r0, #0x1]
- ldrb r2, [r3, #0x2]
- ldrb r1, [r3, #0x3]
- strb r2, [r0, #0x2]
- strb r1, [r0, #0x3]
- ldmia sp!, {r4-r11,lr}
- add sp, sp, #0x10
- bx lr
-_020E08BC:
- ldr r3, _020E0E08 ; =0x02106DBC
- add sp, sp, #0x2c
- ldrb r2, [r3, #0x0]
- ldrb r1, [r3, #0x1]
- strb r2, [r0, #0x0]
- strb r1, [r0, #0x1]
- ldrb r2, [r3, #0x2]
- ldrb r1, [r3, #0x3]
- strb r2, [r0, #0x2]
- strb r1, [r0, #0x3]
- ldmia sp!, {r4-r11,lr}
- add sp, sp, #0x10
- bx lr
-_020E08F0:
- ldrsb r0, [sp, #0x4]
- cmp r0, #0x0
- beq _020E09A8
- cmp r6, #0x0
- sub r0, r9, #0x5
- blt _020E0910
- cmp r6, #0x80
- blt _020E0918
-_020E0910:
- mov r1, #0x0
- b _020E0928
-_020E0918:
- ldr r1, _020E0DF8 ; =0x0210430C
- mov r2, r6, lsl #0x1
- ldrh r1, [r1, r2]
- and r1, r1, #0x200
-_020E0928:
- cmp r1, #0x0
- beq _020E096C
- ldr r3, _020E0E0C ; =0x02106DC0
- add sp, sp, #0x2c
- ldrb r2, [r3, #0x0]
- ldrb r1, [r3, #0x1]
- strb r2, [r0, #0x0]
- strb r1, [r0, #0x1]
- ldrb r2, [r3, #0x2]
- ldrb r1, [r3, #0x3]
- strb r2, [r0, #0x2]
- strb r1, [r0, #0x3]
- ldrb r1, [r3, #0x4]
- strb r1, [r0, #0x4]
- ldmia sp!, {r4-r11,lr}
- add sp, sp, #0x10
- bx lr
-_020E096C:
- ldr r3, _020E0E10 ; =0x02106DC8
- add sp, sp, #0x2c
- ldrb r2, [r3, #0x0]
- ldrb r1, [r3, #0x1]
- strb r2, [r0, #0x0]
- strb r1, [r0, #0x1]
- ldrb r2, [r3, #0x2]
- ldrb r1, [r3, #0x3]
- strb r2, [r0, #0x2]
- strb r1, [r0, #0x3]
- ldrb r1, [r3, #0x4]
- strb r1, [r0, #0x4]
- ldmia sp!, {r4-r11,lr}
- add sp, sp, #0x10
- bx lr
-_020E09A8:
- cmp r6, #0x0
- sub r0, r9, #0x4
- blt _020E09BC
- cmp r6, #0x80
- blt _020E09C4
-_020E09BC:
- mov r1, #0x0
- b _020E09D4
-_020E09C4:
- ldr r1, _020E0DF8 ; =0x0210430C
- mov r2, r6, lsl #0x1
- ldrh r1, [r1, r2]
- and r1, r1, #0x200
-_020E09D4:
- cmp r1, #0x0
- beq _020E0A10
- ldr r3, _020E0E14 ; =0x02106DD0
- add sp, sp, #0x2c
- ldrb r2, [r3, #0x0]
- ldrb r1, [r3, #0x1]
- strb r2, [r0, #0x0]
- strb r1, [r0, #0x1]
- ldrb r2, [r3, #0x2]
- ldrb r1, [r3, #0x3]
- strb r2, [r0, #0x2]
- strb r1, [r0, #0x3]
- ldmia sp!, {r4-r11,lr}
- add sp, sp, #0x10
- bx lr
-_020E0A10:
- ldr r3, _020E0E18 ; =0x02106DD4
- add sp, sp, #0x2c
- ldrb r2, [r3, #0x0]
- ldrb r1, [r3, #0x1]
- strb r2, [r0, #0x0]
- strb r1, [r0, #0x1]
- ldrb r2, [r3, #0x2]
- ldrb r1, [r3, #0x3]
- strb r2, [r0, #0x2]
- strb r1, [r0, #0x3]
- ldmia sp!, {r4-r11,lr}
- add sp, sp, #0x10
- bx lr
-_020E0A44:
- ldrb r0, [sp, #0x8]
- ldrsh r1, [sp, #0x6]
- sub r8, r9, #0x1
- sub r0, r0, #0x1
- add r0, r1, r0
- strh r0, [sp, #0x6]
- mov r0, #0x0
- strb r0, [r8, #0x0]
- cmp r6, #0x65
- bgt _020E0A98
- bge _020E0B24
- cmp r6, #0x47
- bgt _020E0DE0
- cmp r6, #0x45
- blt _020E0DE0
- beq _020E0B24
- cmp r6, #0x46
- beq _020E0C6C
- cmp r6, #0x47
- beq _020E0AB0
- b _020E0DE0
-_020E0A98:
- cmp r6, #0x66
- bgt _020E0AA8
- beq _020E0C6C
- b _020E0DE0
-_020E0AA8:
- cmp r6, #0x67
- bne _020E0DE0
-_020E0AB0:
- ldrb r0, [sp, #0x8]
- cmp r0, r7
- ble _020E0AC8
- add r0, sp, #0x4
- mov r1, r7
- bl round_decimal
-_020E0AC8:
- ldrsh r2, [sp, #0x6]
- mvn r0, #0x3
- cmp r2, r0
- blt _020E0AE0
- cmp r2, r7
- blt _020E0B00
-_020E0AE0:
- cmp r5, #0x0
- ldreqb r0, [sp, #0x8]
- subne r7, r7, #0x1
- subeq r7, r0, #0x1
- cmp r6, #0x67
- moveq r6, #0x65
- movne r6, #0x45
- b _020E0B24
-_020E0B00:
- cmp r5, #0x0
- addne r0, r2, #0x1
- subne r7, r7, r0
- bne _020E0C6C
- ldrb r1, [sp, #0x8]
- add r0, r2, #0x1
- subs r7, r1, r0
- movmi r7, #0x0
- b _020E0C6C
-_020E0B24:
- ldrb r0, [sp, #0x8]
- add r1, r7, #0x1
- cmp r0, r1
- ble _020E0B3C
- add r0, sp, #0x4
- bl round_decimal
-_020E0B3C:
- ldrsh lr, [sp, #0x6]
- mov r11, #0x2b
- mov r10, #0x0
- cmp lr, #0x0
- rsblt lr, lr, #0x0
- movlt r11, #0x2d
- ldr r3, _020E0E1C ; =0x66666667
- mov r0, #0xa
- b _020E0B90
-_020E0B60:
- mov r1, lr, lsr #0x1f
- smull r2, r12, r3, lr
- add r12, r1, r12, asr #0x2
- smull r1, r2, r0, r12
- sub r12, lr, r1
- add r1, r12, #0x30
- strb r1, [r8, #-0x1]!
- mov r2, lr
- smull r1, lr, r3, r2
- mov r1, r2, lsr #0x1f
- add lr, r1, lr, asr #0x2
- add r10, r10, #0x1
-_020E0B90:
- cmp lr, #0x0
- bne _020E0B60
- cmp r10, #0x2
- blt _020E0B60
- strb r11, [r8, #-0x1]
- strb r6, [r8, #-0x2]!
- sub r1, r9, r8
- ldr r0, _020E0DF4 ; =0x000001FD
- add r1, r7, r1
- cmp r1, r0
- addgt sp, sp, #0x2c
- movgt r0, #0x0
- ldmgtia sp!, {r4-r11,lr}
- addgt sp, sp, #0x10
- bxgt lr
- ldrb r1, [sp, #0x8]
- add r0, r7, #0x1
- cmp r1, r0
- bge _020E0BFC
- add r0, r7, #0x2
- sub r0, r0, r1
- subs r1, r0, #0x1
- beq _020E0BFC
- mov r0, #0x30
-_020E0BF0:
- strb r0, [r8, #-0x1]!
- subs r1, r1, #0x1
- bne _020E0BF0
-_020E0BFC:
- ldrb r1, [sp, #0x8]
- add r0, sp, #0x9
- add r2, r0, r1
- subs r1, r1, #0x1
- beq _020E0C20
-_020E0C10:
- ldrsb r0, [r2, #-0x1]!
- subs r1, r1, #0x1
- strb r0, [r8, #-0x1]!
- bne _020E0C10
-_020E0C20:
- cmp r7, #0x0
- cmpeq r5, #0x0
- movne r0, #0x2e
- strneb r0, [r8, #-0x1]!
- ldrb r0, [sp, #0x9]
- strb r0, [r8, #-0x1]!
- ldrsb r0, [sp, #0x4]
- cmp r0, #0x0
- movne r0, #0x2d
- strneb r0, [r8, #-0x1]!
- bne _020E0DE0
- cmp r4, #0x1
- moveq r0, #0x2b
- streqb r0, [r8, #-0x1]!
- beq _020E0DE0
- cmp r4, #0x2
- moveq r0, #0x20
- streqb r0, [r8, #-0x1]!
- b _020E0DE0
-_020E0C6C:
- ldrsh r3, [sp, #0x6]
- ldrb r2, [sp, #0x8]
- sub r0, r2, r3
- subs r1, r0, #0x1
- movmi r1, #0x0
- cmp r1, r7
- ble _020E0CAC
- sub r1, r1, r7
- add r0, sp, #0x4
- sub r1, r2, r1
- bl round_decimal
- ldrsh r3, [sp, #0x6]
- ldrb r2, [sp, #0x8]
- sub r0, r2, r3
- subs r1, r0, #0x1
- movmi r1, #0x0
-_020E0CAC:
- adds r0, r3, #0x1
- movmi r0, #0x0
- ldr r3, _020E0DF4 ; =0x000001FD
- add r6, r0, r1
- cmp r6, r3
- addgt sp, sp, #0x2c
- movgt r0, #0x0
- ldmgtia sp!, {r4-r11,lr}
- addgt sp, sp, #0x10
- bxgt lr
- add r3, sp, #0x9
- sub r6, r7, r1
- cmp r6, #0x0
- add r2, r3, r2
- mov r9, #0x0
- ble _020E0D00
- mov r3, #0x30
-_020E0CF0:
- add r9, r9, #0x1
- cmp r9, r6
- strb r3, [r8, #-0x1]!
- blt _020E0CF0
-_020E0D00:
- mov r6, #0x0
- b _020E0D14
-_020E0D08:
- ldrsb r3, [r2, #-0x1]!
- add r6, r6, #0x1
- strb r3, [r8, #-0x1]!
-_020E0D14:
- cmp r6, r1
- ldrltb r3, [sp, #0x8]
- cmplt r6, r3
- blt _020E0D08
- cmp r6, r1
- bge _020E0D40
- mov r3, #0x30
-_020E0D30:
- add r6, r6, #0x1
- cmp r6, r1
- strb r3, [r8, #-0x1]!
- blt _020E0D30
-_020E0D40:
- cmp r7, #0x0
- cmpeq r5, #0x0
- movne r1, #0x2e
- strneb r1, [r8, #-0x1]!
- cmp r0, #0x0
- beq _020E0DA8
- ldrb r1, [sp, #0x8]
- mov r5, #0x0
- sub r1, r0, r1
- cmp r1, #0x0
- ble _020E0D88
- mov r3, #0x30
-_020E0D70:
- strb r3, [r8, #-0x1]!
- ldrb r1, [sp, #0x8]
- add r5, r5, #0x1
- sub r1, r0, r1
- cmp r5, r1
- blt _020E0D70
-_020E0D88:
- cmp r5, r0
- bge _020E0DB0
-_020E0D90:
- ldrsb r1, [r2, #-0x1]!
- add r5, r5, #0x1
- cmp r5, r0
- strb r1, [r8, #-0x1]!
- blt _020E0D90
- b _020E0DB0
-_020E0DA8:
- mov r0, #0x30
- strb r0, [r8, #-0x1]!
-_020E0DB0:
- ldrsb r0, [sp, #0x4]
- cmp r0, #0x0
- movne r0, #0x2d
- strneb r0, [r8, #-0x1]!
- bne _020E0DE0
- cmp r4, #0x1
- moveq r0, #0x2b
- streqb r0, [r8, #-0x1]!
- beq _020E0DE0
- cmp r4, #0x2
- moveq r0, #0x20
- streqb r0, [r8, #-0x1]!
-_020E0DE0:
- mov r0, r8
- add sp, sp, #0x2c
- ldmia sp!, {r4-r11,lr}
- add sp, sp, #0x10
- bx lr
- .balign 4
-_020E0DF4: .word 0x000001FD
-_020E0DF8: .word 0x0210430C
-_020E0DFC: .word 0x02106DA8
-_020E0E00: .word 0x02106DB0
-_020E0E04: .word 0x02106DB8
-_020E0E08: .word 0x02106DBC
-_020E0E0C: .word 0x02106DC0
-_020E0E10: .word 0x02106DC8
-_020E0E14: .word 0x02106DD0
-_020E0E18: .word 0x02106DD4
-_020E0E1C: .word 0x66666667
-
- arm_func_start __pformatter
-__pformatter:
- stmdb sp!, {r0-r3}
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0x22c
- mov r3, #0x20
- mov r11, r2
- strb r3, [sp, #0x19]
- ldrsb r2, [r11, #0x0]
- mov r9, r0
- mov r8, r1
- cmp r2, #0x0
- mov r10, #0x0
- beq _020E1628
-_020E0E50:
- mov r0, r11
- mov r1, #0x25
- bl strchr
- str r0, [sp, #0xc]
- cmp r0, #0x0
- bne _020E0EA4
- mov r0, r11
- bl strlen
- movs r2, r0
- add r10, r10, r2
- beq _020E1628
- mov r0, r8
- mov r1, r11
- blx r9
- cmp r0, #0x0
- bne _020E1628
- add sp, sp, #0x22c
- mvn r0, #0x0
- ldmia sp!, {r4-r11,lr}
- add sp, sp, #0x10
- bx lr
-_020E0EA4:
- subs r2, r0, r11
- add r10, r10, r2
- beq _020E0ED4
- mov r0, r8
- mov r1, r11
- blx r9
- cmp r0, #0x0
- addeq sp, sp, #0x22c
- mvneq r0, #0x0
- ldmeqia sp!, {r4-r11,lr}
- addeq sp, sp, #0x10
- bxeq lr
-_020E0ED4:
- ldr r0, [sp, #0xc]
- add r1, sp, #0x25c
- add r2, sp, #0x1c
- bl parse_format_printf
- ldrb r1, [sp, #0x21]
- mov r11, r0
- cmp r1, #0x61
- bgt _020E0F40
- bge _020E12A4
- cmp r1, #0x47
- bgt _020E0F34
- subs r0, r1, #0x41
- addpl pc, pc, r0, lsl #0x2
- b _020E0F28
-_020E0F0C: ; 0x020E0F0C
- b _020E12A4
-_020E0F10: ; 0x020E0F10
- b _020E148C
-_020E0F14: ; 0x020E0F14
- b _020E148C
-_020E0F18: ; 0x020E0F18
- b _020E148C
-_020E0F1C: ; 0x020E0F1C
- b _020E123C
-_020E0F20: ; 0x020E0F20
- b _020E123C
-_020E0F24: ; 0x020E0F24
- b _020E123C
-_020E0F28:
- cmp r1, #0x25
- beq _020E1478
- b _020E148C
-_020E0F34:
- cmp r1, #0x58
- beq _020E1100
- b _020E148C
-_020E0F40:
- cmp r1, #0x75
- bgt _020E0FA8
- subs r0, r1, #0x64
- addpl pc, pc, r0, lsl #0x2
- b _020E0F9C
-_020E0F54: ; 0x020E0F54
- b _020E0FC0
-_020E0F58: ; 0x020E0F58
- b _020E123C
-_020E0F5C: ; 0x020E0F5C
- b _020E123C
-_020E0F60: ; 0x020E0F60
- b _020E123C
-_020E0F64: ; 0x020E0F64
- b _020E148C
-_020E0F68: ; 0x020E0F68
- b _020E0FC0
-_020E0F6C: ; 0x020E0F6C
- b _020E148C
-_020E0F70: ; 0x020E0F70
- b _020E148C
-_020E0F74: ; 0x020E0F74
- b _020E148C
-_020E0F78: ; 0x020E0F78
- b _020E148C
-_020E0F7C: ; 0x020E0F7C
- b _020E13CC
-_020E0F80: ; 0x020E0F80
- b _020E1100
-_020E0F84: ; 0x020E0F84
- b _020E148C
-_020E0F88: ; 0x020E0F88
- b _020E148C
-_020E0F8C: ; 0x020E0F8C
- b _020E148C
-_020E0F90: ; 0x020E0F90
- b _020E130C
-_020E0F94: ; 0x020E0F94
- b _020E148C
-_020E0F98: ; 0x020E0F98
- b _020E1100
-_020E0F9C:
- cmp r1, #0x63
- beq _020E1458
- b _020E148C
-_020E0FA8:
- cmp r1, #0x78
- bgt _020E0FB8
- beq _020E1100
- b _020E148C
-_020E0FB8:
- cmp r1, #0xff
- b _020E148C
-_020E0FC0:
- ldrb r0, [sp, #0x20]
- cmp r0, #0x3
- bne _020E0FE0
- ldr r1, [sp, #0x25c]
- add r1, r1, #0x4
- str r1, [sp, #0x25c]
- ldr r5, [r1, #-0x4]
- b _020E1078
-_020E0FE0:
- cmp r0, #0x4
- bne _020E1008
- ldr r1, [sp, #0x25c]
- add r2, r1, #0x8
- str r2, [sp, #0x25c]
- ldr r1, [r2, #-0x8]
- str r1, [sp, #0x10]
- ldr r1, [r2, #-0x4]
- str r1, [sp, #0x14]
- b _020E1078
-_020E1008:
- cmp r0, #0x6
- bne _020E1030
- ldr r1, [sp, #0x25c]
- add r2, r1, #0x8
- str r2, [sp, #0x25c]
- ldr r1, [r2, #-0x8]
- str r1, [sp, #0x10]
- ldr r1, [r2, #-0x4]
- str r1, [sp, #0x14]
- b _020E1078
-_020E1030:
- cmp r0, #0x7
- bne _020E104C
- ldr r1, [sp, #0x25c]
- add r1, r1, #0x4
- str r1, [sp, #0x25c]
- ldr r5, [r1, #-0x4]
- b _020E1078
-_020E104C:
- cmp r0, #0x8
- bne _020E1068
- ldr r1, [sp, #0x25c]
- add r1, r1, #0x4
- str r1, [sp, #0x25c]
- ldr r5, [r1, #-0x4]
- b _020E1078
-_020E1068:
- ldr r1, [sp, #0x25c]
- add r1, r1, #0x4
- str r1, [sp, #0x25c]
- ldr r5, [r1, #-0x4]
-_020E1078:
- cmp r0, #0x2
- moveq r1, r5, lsl #0x10
- moveq r5, r1, asr #0x10
- cmp r0, #0x1
- moveq r1, r5, lsl #0x18
- moveq r5, r1, asr #0x18
- cmp r0, #0x4
- cmpne r0, #0x6
- add r0, sp, #0x1c
- bne _020E10CC
- sub r4, sp, #0x4
- ldmia r0, {r0-r3}
- stmia r4, {r0-r3}
- ldr r3, [r4, #0x0]
- ldr r0, [sp, #0x10]
- ldr r1, [sp, #0x14]
- add r2, sp, #0x22c
- bl longlong2str
- movs r7, r0
- beq _020E148C
- b _020E10F0
-_020E10CC:
- sub r4, sp, #0x8
- ldmia r0, {r0-r3}
- stmia r4, {r0-r3}
- add r1, sp, #0x22c
- mov r0, r5
- ldmia r4, {r2-r3}
- bl long2str
- movs r7, r0
- beq _020E148C
-_020E10F0:
- add r0, sp, #0x200
- add r0, r0, #0x2b
- sub r6, r0, r7
- b _020E14D8
-_020E1100:
- ldrb r0, [sp, #0x20]
- cmp r0, #0x3
- bne _020E1120
- ldr r1, [sp, #0x25c]
- add r1, r1, #0x4
- str r1, [sp, #0x25c]
- ldr r5, [r1, #-0x4]
- b _020E11B8
-_020E1120:
- cmp r0, #0x4
- bne _020E1148
- ldr r1, [sp, #0x25c]
- add r2, r1, #0x8
- str r2, [sp, #0x25c]
- ldr r1, [r2, #-0x8]
- str r1, [sp, #0x10]
- ldr r1, [r2, #-0x4]
- str r1, [sp, #0x14]
- b _020E11B8
-_020E1148:
- cmp r0, #0x6
- bne _020E1170
- ldr r1, [sp, #0x25c]
- add r2, r1, #0x8
- str r2, [sp, #0x25c]
- ldr r1, [r2, #-0x8]
- str r1, [sp, #0x10]
- ldr r1, [r2, #-0x4]
- str r1, [sp, #0x14]
- b _020E11B8
-_020E1170:
- cmp r0, #0x7
- bne _020E118C
- ldr r1, [sp, #0x25c]
- add r1, r1, #0x4
- str r1, [sp, #0x25c]
- ldr r5, [r1, #-0x4]
- b _020E11B8
-_020E118C:
- cmp r0, #0x8
- bne _020E11A8
- ldr r1, [sp, #0x25c]
- add r1, r1, #0x4
- str r1, [sp, #0x25c]
- ldr r5, [r1, #-0x4]
- b _020E11B8
-_020E11A8:
- ldr r1, [sp, #0x25c]
- add r1, r1, #0x4
- str r1, [sp, #0x25c]
- ldr r5, [r1, #-0x4]
-_020E11B8:
- cmp r0, #0x2
- moveq r1, r5, lsl #0x10
- moveq r5, r1, lsr #0x10
- cmp r0, #0x1
- andeq r5, r5, #0xff
- cmp r0, #0x4
- cmpne r0, #0x6
- add r0, sp, #0x1c
- bne _020E1208
- sub r4, sp, #0x4
- ldmia r0, {r0-r3}
- stmia r4, {r0-r3}
- ldr r3, [r4, #0x0]
- ldr r0, [sp, #0x10]
- ldr r1, [sp, #0x14]
- add r2, sp, #0x22c
- bl longlong2str
- movs r7, r0
- beq _020E148C
- b _020E122C
-_020E1208:
- sub r4, sp, #0x8
- ldmia r0, {r0-r3}
- stmia r4, {r0-r3}
- add r1, sp, #0x22c
- mov r0, r5
- ldmia r4, {r2-r3}
- bl long2str
- movs r7, r0
- beq _020E148C
-_020E122C:
- add r0, sp, #0x200
- add r0, r0, #0x2b
- sub r6, r0, r7
- b _020E14D8
-_020E123C:
- ldrb r0, [sp, #0x20]
- cmp r0, #0x9
- ldrne r0, [sp, #0x25c]
- addne r0, r0, #0x8
- strne r0, [sp, #0x25c]
- bne _020E1260
- ldr r0, [sp, #0x25c]
- add r0, r0, #0x8
- str r0, [sp, #0x25c]
-_020E1260:
- ldr r7, [r0, #-0x8]
- ldr r6, [r0, #-0x4]
- add r0, sp, #0x1c
- sub r4, sp, #0x4
- ldmia r0, {r0-r3}
- stmia r4, {r0-r3}
- ldr r3, [r4, #0x0]
- mov r0, r7
- mov r1, r6
- add r2, sp, #0x22c
- bl float2str
- movs r7, r0
- beq _020E148C
- add r0, sp, #0x200
- add r0, r0, #0x2b
- sub r6, r0, r7
- b _020E14D8
-_020E12A4:
- ldrb r0, [sp, #0x20]
- cmp r0, #0x9
- ldrne r0, [sp, #0x25c]
- addne r0, r0, #0x8
- strne r0, [sp, #0x25c]
- bne _020E12C8
- ldr r0, [sp, #0x25c]
- add r0, r0, #0x8
- str r0, [sp, #0x25c]
-_020E12C8:
- ldr r7, [r0, #-0x8]
- ldr r6, [r0, #-0x4]
- add r0, sp, #0x1c
- sub r4, sp, #0x4
- ldmia r0, {r0-r3}
- stmia r4, {r0-r3}
- ldr r3, [r4, #0x0]
- mov r0, r7
- mov r1, r6
- add r2, sp, #0x22c
- bl double2hex
- movs r7, r0
- beq _020E148C
- add r0, sp, #0x200
- add r0, r0, #0x2b
- sub r6, r0, r7
- b _020E14D8
-_020E130C:
- ldrb r0, [sp, #0x20]
- cmp r0, #0x5
- bne _020E134C
- ldr r0, [sp, #0x25c]
- mov r2, #0x200
- add r0, r0, #0x4
- str r0, [sp, #0x25c]
- ldr r1, [r0, #-0x4]
- add r0, sp, #0x2c
- cmp r1, #0x0
- ldreq r1, _020E163C ; =0x02106DD8
- bl wcstombs
-_020E133C: ; 0x020E133C
- cmp r0, #0x0
- blt _020E148C
- add r7, sp, #0x2c
- b _020E135C
-_020E134C:
- ldr r0, [sp, #0x25c]
- add r0, r0, #0x4
- str r0, [sp, #0x25c]
- ldr r7, [r0, #-0x4]
-_020E135C:
- ldrb r0, [sp, #0x1f]
- cmp r7, #0x0
- ldreq r7, _020E1640 ; =0x02106DDC
- cmp r0, #0x0
- beq _020E1390
- ldrb r0, [sp, #0x1e]
- ldrb r6, [r7], #0x1
- cmp r0, #0x0
- beq _020E14D8
- ldr r0, [sp, #0x28]
- cmp r6, r0
- movgt r6, r0
- b _020E14D8
-_020E1390:
- ldrb r0, [sp, #0x1e]
- cmp r0, #0x0
- beq _020E13BC
- ldr r6, [sp, #0x28]
- mov r0, r7
- mov r2, r6
- mov r1, #0x0
- bl memchr
-_020E13B0: ; 0x020E13B0
- cmp r0, #0x0
- subne r6, r0, r7
- b _020E14D8
-_020E13BC:
- mov r0, r7
- bl strlen
- mov r6, r0
- b _020E14D8
-_020E13CC:
- ldr r1, [sp, #0x25c]
- ldrb r0, [sp, #0x20]
- add r1, r1, #0x4
- str r1, [sp, #0x25c]
- ldr r1, [r1, #-0x4]
- cmp r0, #0x8
- addls pc, pc, r0, lsl #0x2
- b _020E161C
-_020E13EC:
- b _020E1410
-_020E13F0:
- b _020E161C
-_020E13F4:
- b _020E1418
-_020E13F8:
- b _020E1420
-_020E13FC:
- b _020E1448
-_020E1400:
- b _020E161C
-_020E1404:
- b _020E1428
-_020E1408:
- b _020E1438
-_020E140C:
- b _020E1440
-_020E1410:
- str r10, [r1, #0x0]
- b _020E161C
-_020E1418:
- strh r10, [r1, #0x0]
- b _020E161C
-_020E1420:
- str r10, [r1, #0x0]
- b _020E161C
-_020E1428:
- str r10, [r1, #0x0]
- mov r0, r10, asr #0x1f
- str r0, [r1, #0x4]
- b _020E161C
-_020E1438:
- str r10, [r1, #0x0]
- b _020E161C
-_020E1440:
- str r10, [r1, #0x0]
- b _020E161C
-_020E1448:
- str r10, [r1, #0x0]
- mov r0, r10, asr #0x1f
- str r0, [r1, #0x4]
- b _020E161C
-_020E1458:
- ldr r0, [sp, #0x25c]
- add r7, sp, #0x2c
- add r0, r0, #0x4
- str r0, [sp, #0x25c]
- ldr r0, [r0, #-0x4]
- mov r6, #0x1
- strb r0, [sp, #0x2c]
- b _020E14D8
-_020E1478:
- mov r0, #0x25
- strb r0, [sp, #0x2c]
- add r7, sp, #0x2c
- mov r6, #0x1
- b _020E14D8
-_020E148C:
- ldr r0, [sp, #0xc]
- bl strlen
- movs r4, r0
- beq _020E14C4
- ldr r1, [sp, #0xc]
- mov r0, r8
- mov r2, r4
- blx r9
- cmp r0, #0x0
- addeq sp, sp, #0x22c
- mvneq r0, #0x0
- ldmeqia sp!, {r4-r11,lr}
- addeq sp, sp, #0x10
- bxeq lr
-_020E14C4:
- add sp, sp, #0x22c
- add r0, r10, r4
- ldmia sp!, {r4-r11,lr}
- add sp, sp, #0x10
- bx lr
-_020E14D8:
- ldrb r0, [sp, #0x1c]
- mov r4, r6
- cmp r0, #0x0
- beq _020E158C
- cmp r0, #0x2
- moveq r0, #0x30
- movne r0, #0x20
- strb r0, [sp, #0x19]
- ldrsb r0, [r7, #0x0]
- cmp r0, #0x2b
- cmpne r0, #0x2d
- cmpne r0, #0x20
- bne _020E1548
- ldrsb r0, [sp, #0x19]
- cmp r0, #0x30
- bne _020E1548
- mov r0, r8
- mov r1, r7
- mov r2, #0x1
- blx r9
- cmp r0, #0x0
- addeq sp, sp, #0x22c
- mvneq r0, #0x0
- ldmeqia sp!, {r4-r11,lr}
- addeq sp, sp, #0x10
- bxeq lr
- add r7, r7, #0x1
- sub r6, r6, #0x1
-_020E1548:
- ldr r0, [sp, #0x24]
- cmp r4, r0
- bge _020E158C
-_020E1554:
- mov r0, r8
- add r1, sp, #0x19
- mov r2, #0x1
- blx r9
- cmp r0, #0x0
- addeq sp, sp, #0x22c
- mvneq r0, #0x0
- ldmeqia sp!, {r4-r11,lr}
- addeq sp, sp, #0x10
- bxeq lr
- ldr r0, [sp, #0x24]
- add r4, r4, #0x1
- cmp r4, r0
- blt _020E1554
-_020E158C:
- cmp r6, #0x0
- beq _020E15BC
- mov r0, r8
- mov r1, r7
- mov r2, r6
- blx r9
- cmp r0, #0x0
- addeq sp, sp, #0x22c
- mvneq r0, #0x0
- ldmeqia sp!, {r4-r11,lr}
- addeq sp, sp, #0x10
- bxeq lr
-_020E15BC:
- ldrb r0, [sp, #0x1c]
- cmp r0, #0x0
- bne _020E1618
- ldr r0, [sp, #0x24]
- cmp r4, r0
- bge _020E1618
- mov r6, #0x20
- add r7, sp, #0x18
-_020E15DC:
- mov r0, r8
- mov r1, r7
- mov r2, #0x1
- strb r6, [sp, #0x18]
- blx r9
- cmp r0, #0x0
- addeq sp, sp, #0x22c
- mvneq r0, #0x0
- ldmeqia sp!, {r4-r11,lr}
- addeq sp, sp, #0x10
- bxeq lr
- ldr r0, [sp, #0x24]
- add r4, r4, #0x1
- cmp r4, r0
- blt _020E15DC
-_020E1618:
- add r10, r10, r4
-_020E161C:
- ldrsb r0, [r11, #0x0]
- cmp r0, #0x0
- bne _020E0E50
-_020E1628:
- mov r0, r10
- add sp, sp, #0x22c
- ldmia sp!, {r4-r11,lr}
- add sp, sp, #0x10
- bx lr
- .balign 4
-_020E163C: .word 0x02106DD8
-_020E1640: .word 0x02106DDC
-
- arm_func_start __FileWrite
-__FileWrite: ; 0x020E1644
- stmdb sp!, {r3-r5,lr}
- mov r5, r0
- mov r0, r1
- mov r3, r5
- mov r1, #0x1
- mov r4, r2
- bl __fwrite
-_020E1660: ; 0x020E1660
- cmp r4, r0
- movne r5, #0x0
- mov r0, r5
- ldmia sp!, {r3-r5,pc}
-
- arm_func_start __StringWrite
-__StringWrite: ; 0x020E1670
- stmdb sp!, {r3-r5,lr}
- mov r4, r0
- ldr r3, [r4, #0x8]
- mov r5, r2
- ldr r2, [r4, #0x4]
- add r0, r3, r5
- cmp r0, r2
- ldr r0, [r4, #0x0]
- subhi r5, r2, r3
- mov r2, r5
- add r0, r0, r3
- bl memcpy
- ldr r1, [r4, #0x8]
- mov r0, #0x1
- add r1, r1, r5
- str r1, [r4, #0x8]
- ldmia sp!, {r3-r5,pc}
-
- arm_func_start printf
-printf: ; 0x020E16B4
- stmdb sp!, {r0-r3}
- stmdb sp!, {r4,lr}
- ldr r0, _020E17B4 ; =0x02106AA4
- mvn r1, #0x0
- bl fwide
-_020E16C8: ; 0x020E16C8
- cmp r0, #0x0
- mvnge r0, #0x0
- ldmgeia sp!, {r4,lr}
- addge sp, sp, #0x10
- bxge lr
- ldr r0, _020E17B8 ; =0x021D7118
- bl OS_TryLockMutex
-_020E16E4: ; 0x020E16E4
- cmp r0, #0x0
- bne _020E1710
- ldr r0, _020E17BC ; =0x021D3498
- ldr r1, _020E17C0 ; =0x021D7088
- ldr r2, [r0, #0x4]
- ldr r0, _020E17C4 ; =0x021D70AC
- ldr r3, [r2, #0x6c]
- mov r2, #0x1
- str r3, [r1, #0xc]
- str r2, [r0, #0xc]
- b _020E1768
-_020E1710:
- ldr r0, _020E17BC ; =0x021D3498
- ldr r1, _020E17C0 ; =0x021D7088
- ldr r0, [r0, #0x4]
- ldr r1, [r1, #0xc]
- ldr r0, [r0, #0x6c]
- cmp r1, r0
- bne _020E1740
- ldr r0, _020E17C4 ; =0x021D70AC
- ldr r1, [r0, #0xc]
- add r1, r1, #0x1
- str r1, [r0, #0xc]
- b _020E1768
-_020E1740:
- ldr r0, _020E17B8 ; =0x021D7118
- bl OS_LockMutex
- ldr r0, _020E17BC ; =0x021D3498
- ldr r1, _020E17C0 ; =0x021D7088
- ldr r2, [r0, #0x4]
- ldr r0, _020E17C4 ; =0x021D70AC
- ldr r3, [r2, #0x6c]
- mov r2, #0x1
- str r3, [r1, #0xc]
- str r2, [r0, #0xc]
-_020E1768:
- add r0, sp, #0x8
- bic r3, r0, #0x3
- ldr r2, [sp, #0x8]
- ldr r0, _020E17C8 ; =__FileWrite
- ldr r1, _020E17B4 ; =0x02106AA4
- add r3, r3, #0x4
- bl __pformatter
- ldr r1, _020E17C4 ; =0x021D70AC
- mov r4, r0
- ldr r0, [r1, #0xc]
- subs r0, r0, #0x1
- str r0, [r1, #0xc]
- bne _020E17A4
- ldr r0, _020E17B8 ; =0x021D7118
- bl OS_UnlockMutex
-_020E17A4:
- mov r0, r4
- ldmia sp!, {r4,lr}
- add sp, sp, #0x10
- bx lr
- .balign 4
-_020E17B4: .word 0x02106AA4
-_020E17B8: .word 0x021D7118
-_020E17BC: .word 0x021D3498
-_020E17C0: .word 0x021D7088
-_020E17C4: .word 0x021D70AC
-_020E17C8: .word __FileWrite
-
- arm_func_start vsnprintf
-vsnprintf: ; 0x020E17CC
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0xc
- mov r5, r0
- mov r4, r1
- mov r12, #0x0
- ldr r0, _020E1830 ; =__StringWrite
- add r1, sp, #0x0
- str r5, [sp, #0x0]
- str r4, [sp, #0x4]
- str r12, [sp, #0x8]
- bl __pformatter
-_020E17F8: ; 0x020E17F8
- cmp r5, #0x0
- addeq sp, sp, #0xc
- ldmeqia sp!, {r4-r5,pc}
-_020E1804: ; 0x020E1804
- cmp r0, r4
- movcc r1, #0x0
- addcc sp, sp, #0xc
- strccb r1, [r5, r0]
- ldmccia sp!, {r4-r5,pc}
-_020E1818: ; 0x020E1818
- cmp r4, #0x0
- addne r1, r5, r4
- movne r2, #0x0
- strneb r2, [r1, #-0x1]
- add sp, sp, #0xc
- ldmia sp!, {r4-r5,pc}
- .balign 4
-_020E1830: .word __StringWrite
-
- arm_func_start snprintf
-snprintf: ; 0x020E1834
- stmdb sp!, {r0-r3}
- stmdb sp!, {r3,lr}
- add r3, sp, #0x10
- bic r3, r3, #0x3
- ldr r2, [sp, #0x10]
- add r3, r3, #0x4
- bl vsnprintf
- ldmia sp!, {r3,lr}
- add sp, sp, #0x10
- bx lr
-
- arm_func_start sprintf
-sprintf: ; 0x020E185C
- stmdb sp!, {r0-r3}
- stmdb sp!, {r3,lr}
- add r1, sp, #0xc
- bic r1, r1, #0x3
- add r3, r1, #0x4
- ldr r2, [sp, #0xc]
- mvn r1, #0x0
- bl vsnprintf
- ldmia sp!, {r3,lr}
- add sp, sp, #0x10
- bx lr
-
- arm_func_start qsort
-qsort: ; 0x020E1888
- stmdb sp!, {r3-r11,lr}
- sub sp, sp, #0x10
- mov r9, r1
- cmp r9, #0x2
- mov r10, r0
- mov r8, r2
- mov r7, r3
- addcc sp, sp, #0x10
- ldmccia sp!, {r3-r11,pc}
-_020E18AC: ; 0x020E18AC
- mov r0, r9, lsr #0x1
- add r11, r0, #0x1
- sub r0, r11, #0x1
- mla r0, r8, r0, r10
- sub r2, r9, #0x1
- str r0, [sp, #0xc]
- mla r0, r8, r2, r10
- str r0, [sp, #0x8]
- mul r0, r11, r8
- mvn r1, #0x0
- str r0, [sp, #0x4]
- mul r0, r8, r1
- str r0, [sp, #0x0]
-_020E18E0:
- cmp r11, #0x1
- bls _020E1908
- ldr r0, [sp, #0x4]
- sub r11, r11, #0x1
- sub r0, r0, r8
- str r0, [sp, #0x4]
- ldr r0, [sp, #0xc]
- sub r0, r0, r8
- str r0, [sp, #0xc]
- b _020E1950
-_020E1908:
- mov r2, r8
- ldr r4, [sp, #0x8]
- ldr r3, [sp, #0xc]
- cmp r8, #0x0
- beq _020E1934
-_020E191C:
- ldrsb r0, [r4, #0x0]
- ldrsb r1, [r3, #0x0]
- subs r2, r2, #0x1
- strb r0, [r3], #0x1
- strb r1, [r4], #0x1
- bne _020E191C
-_020E1934:
- sub r9, r9, #0x1
- cmp r9, #0x1
- addeq sp, sp, #0x10
- ldmeqia sp!, {r3-r11,pc}
-_020E1944: ; 0x020E1944
- ldr r0, [sp, #0x8]
- sub r0, r0, r8
- str r0, [sp, #0x8]
-_020E1950:
- ldr r1, [sp, #0x4]
- ldr r0, [sp, #0x0]
- mov r4, r11
- add r0, r1, r0
- cmp r9, r11, lsl #0x1
- add r5, r10, r0
- blo _020E18E0
-_020E196C:
- mov r4, r4, lsl #0x1
- sub r0, r4, #0x1
- mov r6, r5
- mla r5, r8, r0, r10
- cmp r9, r4
- bls _020E199C
- mov r0, r5
- add r1, r5, r8
- blx r7
- cmp r0, #0x0
- addlt r4, r4, #0x1
- addlt r5, r5, r8
-_020E199C:
- mov r0, r6
- mov r1, r5
- blx r7
- cmp r0, #0x0
- bge _020E18E0
- mov r2, r8
- mov r3, r5
- cmp r8, #0x0
- beq _020E19D8
-_020E19C0:
- ldrsb r1, [r6, #0x0]
- ldrsb r0, [r3, #0x0]
- subs r2, r2, #0x1
- strb r0, [r6], #0x1
- strb r1, [r3], #0x1
- bne _020E19C0
-_020E19D8:
- cmp r9, r4, lsl #0x1
- bhs _020E196C
- b _020E18E0
-_020E19E4: ; 0x020E19E4
- add sp, sp, #0x10
- ldmia sp!, {r3-r11,pc}
-
- arm_func_start rand
-rand: ; 0x020E19EC
- ldr r2, _020E1A14 ; =0x02106DE0
- ldr r0, _020E1A18 ; =0x41C64E6D
- ldr r3, [r2, #0x0]
- ldr r1, _020E1A1C ; =0x00007FFF
- mul r0, r3, r0
- add r0, r0, #0x39
- add r0, r0, #0x3000
- str r0, [r2, #0x0]
- and r0, r1, r0, lsr #0x10
- bx lr
- .balign 4
-_020E1A14: .word 0x02106DE0
-_020E1A18: .word 0x41C64E6D
-_020E1A1C: .word 0x00007FFF
-
- arm_func_start srand
-srand: ; 0x020E1A20
- ldr r1, _020E1A2C ; =0x02106DE0
- str r0, [r1, #0x0]
- bx lr
- .balign 4
-_020E1A2C: .word 0x02106DE0
-
- arm_func_start parse_format_scanf
-parse_format_scanf: ; 0x020E1A30
- stmdb sp!, {r3-r7,lr}
- sub sp, sp, #0x28
- ldr r6, _020E1F20 ; =0x0210440C
- add r5, sp, #0x0
- mov r7, r0
- mov lr, r1
- mov r4, r5
- ldmia r6!, {r0-r3}
- stmia r5!, {r0-r3}
- ldmia r6!, {r0-r3}
- stmia r5!, {r0-r3}
- ldmia r6, {r0-r1}
- stmia r5, {r0-r1}
- ldrsb r0, [r7, #0x1]
- add r12, r7, #0x1
- cmp r0, #0x25
- bne _020E1A9C
- strb r0, [sp, #0x3]
- ldmia r4!, {r0-r3}
- stmia lr!, {r0-r3}
- ldmia r4!, {r0-r3}
- stmia lr!, {r0-r3}
- ldmia r4, {r0-r1}
- stmia lr, {r0-r1}
- add sp, sp, #0x28
- add r0, r12, #0x1
- ldmia sp!, {r3-r7,pc}
-_020E1A9C:
- cmp r0, #0x2a
- moveq r0, #0x1
- streqb r0, [sp, #0x0]
- ldreqsb r0, [r12, #0x1]!
- cmp r0, #0x0
- blt _020E1ABC
- cmp r0, #0x80
- blt _020E1AC4
-_020E1ABC:
- mov r1, #0x0
- b _020E1AD4
-_020E1AC4:
- ldr r1, _020E1F24 ; =0x0210430C
- mov r2, r0, lsl #0x1
- ldrh r1, [r1, r2]
- and r1, r1, #0x8
-_020E1AD4:
- cmp r1, #0x0
- beq _020E1B74
- mov r1, #0x0
- ldr r3, _020E1F24 ; =0x0210430C
- str r1, [sp, #0x4]
- mov r4, r1
- mov r1, #0xa
-_020E1AF0:
- ldr r2, [sp, #0x4]
- sub r0, r0, #0x30
- mla r0, r2, r1, r0
- str r0, [sp, #0x4]
- ldrsb r0, [r12, #0x1]!
- cmp r0, #0x0
- blt _020E1B14
- cmp r0, #0x80
- blt _020E1B1C
-_020E1B14:
- mov r2, r4
- b _020E1B28
-_020E1B1C:
- mov r2, r0, lsl #0x1
- ldrh r2, [r3, r2]
- and r2, r2, #0x8
-_020E1B28:
- cmp r2, #0x0
- bne _020E1AF0
- ldr r1, [sp, #0x4]
- cmp r1, #0x0
- bne _020E1B6C
- mov r0, #0xff
- add r4, sp, #0x0
- strb r0, [sp, #0x3]
- ldmia r4!, {r0-r3}
- stmia lr!, {r0-r3}
- ldmia r4!, {r0-r3}
- stmia lr!, {r0-r3}
- ldmia r4, {r0-r1}
- stmia lr, {r0-r1}
- add sp, sp, #0x28
- add r0, r12, #0x1
- ldmia sp!, {r3-r7,pc}
-_020E1B6C:
- mov r1, #0x1
- strb r1, [sp, #0x1]
-_020E1B74:
- cmp r0, #0x6c
- mov r1, #0x1
- bgt _020E1BAC
- cmp r0, #0x68
- blt _020E1BA0
- beq _020E1BC8
- cmp r0, #0x6a
- beq _020E1C14
- cmp r0, #0x6c
- beq _020E1BE4
- b _020E1C38
-_020E1BA0:
- cmp r0, #0x4c
- beq _020E1C08
- b _020E1C38
-_020E1BAC:
- cmp r0, #0x74
- bgt _020E1BBC
- beq _020E1C2C
- b _020E1C38
-_020E1BBC:
- cmp r0, #0x7a
- beq _020E1C20
- b _020E1C38
-_020E1BC8:
- mov r2, #0x2
- strb r2, [sp, #0x2]
- ldrsb r2, [r12, #0x1]
- cmp r2, #0x68
- streqb r1, [sp, #0x2]
- ldreqsb r0, [r12, #0x1]!
- b _020E1C3C
-_020E1BE4:
- mov r2, #0x3
- strb r2, [sp, #0x2]
- ldrsb r2, [r12, #0x1]
- cmp r2, #0x6c
- bne _020E1C3C
- mov r0, #0x7
- strb r0, [sp, #0x2]
- ldrsb r0, [r12, #0x1]!
- b _020E1C3C
-_020E1C08:
- mov r2, #0x9
- strb r2, [sp, #0x2]
- b _020E1C3C
-_020E1C14:
- mov r2, #0x4
- strb r2, [sp, #0x2]
- b _020E1C3C
-_020E1C20:
- mov r2, #0x5
- strb r2, [sp, #0x2]
- b _020E1C3C
-_020E1C2C:
- mov r2, #0x6
- strb r2, [sp, #0x2]
- b _020E1C3C
-_020E1C38:
- mov r1, #0x0
-_020E1C3C:
- cmp r1, #0x0
- ldrnesb r0, [r12, #0x1]!
- strb r0, [sp, #0x3]
- cmp r0, #0x5b
- bgt _020E1C90
- bge _020E1DE0
- cmp r0, #0x47
- bgt _020E1C84
- subs r1, r0, #0x41
- addpl pc, pc, r1, lsl #0x2
- b _020E1EF0
-_020E1C68: ; 0x020E1C68
- b _020E1D1C
-_020E1C6C: ; 0x020E1C6C
- b _020E1EF0
-_020E1C70: ; 0x020E1C70
- b _020E1EF0
-_020E1C74: ; 0x020E1C74
- b _020E1EF0
-_020E1C78: ; 0x020E1C78
- b _020E1D1C
-_020E1C7C: ; 0x020E1C7C
- b _020E1D1C
-_020E1C80: ; 0x020E1C80
- b _020E1D1C
-_020E1C84:
- cmp r0, #0x58
- beq _020E1D08
- b _020E1EF0
-_020E1C90:
- cmp r0, #0x61
- bgt _020E1CA0
- beq _020E1D1C
- b _020E1EF0
-_020E1CA0:
- sub r0, r0, #0x63
- cmp r0, #0x15
- addls pc, pc, r0, lsl #0x2
- b _020E1EF0
-_020E1CB0:
- b _020E1D6C
-_020E1CB4:
- b _020E1D08
-_020E1CB8:
- b _020E1D1C
-_020E1CBC:
- b _020E1D1C
-_020E1CC0:
- b _020E1D1C
-_020E1CC4:
- b _020E1EF0
-_020E1CC8:
- b _020E1D08
-_020E1CCC:
- b _020E1EF0
-_020E1CD0:
- b _020E1EF0
-_020E1CD4:
- b _020E1EF0
-_020E1CD8:
- b _020E1EF0
-_020E1CDC:
- b _020E1EF8
-_020E1CE0:
- b _020E1D08
-_020E1CE4:
- b _020E1D58
-_020E1CE8:
- b _020E1EF0
-_020E1CEC:
- b _020E1EF0
-_020E1CF0:
- b _020E1D90
-_020E1CF4:
- b _020E1EF0
-_020E1CF8:
- b _020E1D08
-_020E1CFC:
- b _020E1EF0
-_020E1D00:
- b _020E1EF0
-_020E1D04:
- b _020E1D08
-_020E1D08:
- ldrb r0, [sp, #0x2]
- cmp r0, #0x9
- moveq r0, #0xff
- streqb r0, [sp, #0x3]
- b _020E1EF8
-_020E1D1C:
- ldrb r1, [sp, #0x2]
- cmp r1, #0x1
- cmpne r1, #0x2
- beq _020E1D3C
- add r0, r1, #0xfc
- and r0, r0, #0xff
- cmp r0, #0x3
- bhi _020E1D48
-_020E1D3C:
- mov r0, #0xff
- strb r0, [sp, #0x3]
- b _020E1EF8
-_020E1D48:
- cmp r1, #0x3
- moveq r0, #0x8
- streqb r0, [sp, #0x2]
- b _020E1EF8
-_020E1D58:
- mov r1, #0x3
- mov r0, #0x78
- strb r1, [sp, #0x2]
- strb r0, [sp, #0x3]
- b _020E1EF8
-_020E1D6C:
- ldrb r0, [sp, #0x2]
- cmp r0, #0x3
- moveq r0, #0xa
- streqb r0, [sp, #0x2]
- beq _020E1EF8
- cmp r0, #0x0
- movne r0, #0xff
- strneb r0, [sp, #0x3]
- b _020E1EF8
-_020E1D90:
- ldrb r0, [sp, #0x2]
- cmp r0, #0x3
- moveq r0, #0xa
- streqb r0, [sp, #0x2]
- beq _020E1DB0
- cmp r0, #0x0
- movne r0, #0xff
- strneb r0, [sp, #0x3]
-_020E1DB0:
- add r2, sp, #0x8
- mov r1, #0x20
- mov r0, #0xff
-_020E1DBC:
- sub r1, r1, #0x1
- cmp r1, #0x0
- strb r0, [r2], #0x1
- bgt _020E1DBC
- mov r1, #0xc1
- mov r0, #0xfe
- strb r1, [sp, #0x9]
- strb r0, [sp, #0xc]
- b _020E1EF8
-_020E1DE0:
- ldrb r0, [sp, #0x2]
- cmp r0, #0x3
- moveq r0, #0xa
- streqb r0, [sp, #0x2]
- beq _020E1E00
- cmp r0, #0x0
- movne r0, #0xff
- strneb r0, [sp, #0x3]
-_020E1E00:
- ldrsb r2, [r12, #0x1]!
- mov r1, #0x0
- cmp r2, #0x5e
- ldreqsb r2, [r12, #0x1]!
- moveq r1, #0x1
- cmp r2, #0x5d
- bne _020E1EA8
- ldrb r0, [sp, #0x13]
- orr r0, r0, #0x20
- strb r0, [sp, #0x13]
- ldrsb r2, [r12, #0x1]!
- b _020E1EA8
-_020E1E30:
- add r0, sp, #0x0
- and r3, r2, #0xff
- add r6, r0, r3, asr #0x3
- ldrb r5, [r6, #0x8]
- and r3, r2, #0x7
- mov r4, #0x1
- orr r3, r5, r4, lsl r3
- strb r3, [r6, #0x8]
- ldrsb r3, [r12, #0x1]
- cmp r3, #0x2d
- bne _020E1EA4
- ldrsb r7, [r12, #0x2]
- cmp r7, #0x0
- cmpne r7, #0x5d
- beq _020E1EA4
- add r2, r2, #0x1
- cmp r2, r7
- bgt _020E1E9C
-_020E1E78:
- and r3, r2, #0xff
- add r6, r0, r3, asr #0x3
- ldrb r5, [r6, #0x8]
- and r3, r2, #0x7
- add r2, r2, #0x1
- orr r3, r5, r4, lsl r3
- strb r3, [r6, #0x8]
- cmp r2, r7
- ble _020E1E78
-_020E1E9C:
- ldrsb r2, [r12, #0x3]!
- b _020E1EA8
-_020E1EA4:
- ldrsb r2, [r12, #0x1]!
-_020E1EA8:
- cmp r2, #0x0
- cmpne r2, #0x5d
- bne _020E1E30
- cmp r2, #0x0
- moveq r0, #0xff
- streqb r0, [sp, #0x3]
- beq _020E1EF8
- cmp r1, #0x0
- beq _020E1EF8
- add r2, sp, #0x8
- mov r1, #0x20
-_020E1ED4:
- ldrb r0, [r2, #0x0]
- sub r1, r1, #0x1
- cmp r1, #0x0
- mvn r0, r0
- strb r0, [r2], #0x1
- bgt _020E1ED4
- b _020E1EF8
-_020E1EF0:
- mov r0, #0xff
- strb r0, [sp, #0x3]
-_020E1EF8:
- add r4, sp, #0x0
- ldmia r4!, {r0-r3}
- stmia lr!, {r0-r3}
- ldmia r4!, {r0-r3}
- stmia lr!, {r0-r3}
- ldmia r4, {r0-r1}
- stmia lr, {r0-r1}
- add r0, r12, #0x1
- add sp, sp, #0x28
- ldmia sp!, {r3-r7,pc}
- .balign 4
-_020E1F20: .word 0x0210440C
-_020E1F24: .word 0x0210430C
-
- arm_func_start __sformatter
-__sformatter: ; 0x020E1F28
- stmdb sp!, {r3-r11,lr}
- sub sp, sp, #0x88
- ldrsb r5, [r2, #0x0]
- str r2, [sp, #0xc]
- mov r2, #0x0
- mov r9, r0
- mov r0, r2
- str r2, [sp, #0x20]
- mov r8, r1
- str r3, [sp, #0x10]
- str r0, [sp, #0x24]
- cmp r5, #0x0
- ldr r10, [sp, #0xb0]
- str r0, [sp, #0x30]
- mov r4, r2
- str r0, [sp, #0x44]
- str r0, [sp, #0x40]
- beq _020E2C3C
-_020E1F70:
- cmp r5, #0x0
- mov r0, #0x1
- blt _020E1F84
- cmp r5, #0x80
- movlt r0, #0x0
-_020E1F84:
- cmp r0, #0x0
- movne r0, #0x0
- bne _020E1FA0
- mov r1, r5, lsl #0x1
- ldr r0, _020E2C74 ; =0x0210430C
- ldrh r0, [r0, r1]
- and r0, r0, #0x100
-_020E1FA0:
- cmp r0, #0x0
- beq _020E2060
- mov r2, #0x0
- ldr r1, _020E2C74 ; =0x0210430C
- mov r12, r2
- mov r3, #0x1
-_020E1FB8:
- ldr r0, [sp, #0xc]
- ldrsb r5, [r0, #0x1]!
- str r0, [sp, #0xc]
- mov r0, r3
- cmp r5, #0x0
- blt _020E1FD8
- cmp r5, #0x80
- movlt r0, r2
-_020E1FD8:
- cmp r0, #0x0
- movne r0, r12
- moveq r0, r5, lsl #0x1
- ldreqh r0, [r1, r0]
- andeq r0, r0, #0x100
- cmp r0, #0x0
- bne _020E1FB8
- ldr r0, [sp, #0x30]
- cmp r0, #0x0
- bne _020E2C2C
- ldr r5, _020E2C74 ; =0x0210430C
- b _020E200C
-_020E2008:
- add r4, r4, #0x1
-_020E200C:
- mov r1, #0x0
- mov r0, r8
- mov r2, r1
- blx r9
- strb r0, [sp, #0x50]
- ldrsb r1, [sp, #0x50]
- cmp r1, #0x0
- blt _020E2034
- cmp r1, #0x80
- blt _020E203C
-_020E2034:
- mov r0, #0x0
- b _020E2048
-_020E203C:
- mov r0, r1, lsl #0x1
- ldrh r0, [r5, r0]
- and r0, r0, #0x100
-_020E2048:
- cmp r0, #0x0
- bne _020E2008
- mov r0, r8
- mov r2, #0x1
- blx r9
- b _020E2C2C
-_020E2060:
- cmp r5, #0x25
- beq _020E20D8
- ldr r0, [sp, #0x30]
- cmp r0, #0x0
- bne _020E20D8
- mov r0, r8
- mov r1, #0x0
- mov r2, r1
- blx r9
- strb r0, [sp, #0x50]
- and r0, r5, #0xff
- ldrsb r1, [sp, #0x50]
- cmp r0, r1
- beq _020E20C4
- mov r0, r8
- mov r2, #0x1
- blx r9
- cmp r10, #0x0
- beq _020E2C3C
- mov r0, #0x1
- str r0, [sp, #0x30]
- ldr r0, [sp, #0xc]
- add r0, r0, #0x1
- str r0, [sp, #0xc]
- b _020E2C2C
-_020E20C4:
- ldr r0, [sp, #0xc]
- add r4, r4, #0x1
- add r0, r0, #0x1
- str r0, [sp, #0xc]
- b _020E2C2C
-_020E20D8:
- ldr r0, [sp, #0xc]
- add r1, sp, #0x60
- bl parse_format_scanf
- str r0, [sp, #0xc]
- ldrb r0, [sp, #0x60]
- cmp r0, #0x0
- bne _020E2114
- ldrb r0, [sp, #0x63]
- cmp r0, #0x25
- beq _020E2114
- ldr r0, [sp, #0x10]
- add r0, r0, #0x4
- str r0, [sp, #0x10]
- ldr r5, [r0, #-0x4]
- b _020E2118
-_020E2114:
- mov r5, #0x0
-_020E2118:
- ldrb r0, [sp, #0x63]
- cmp r0, #0x6e
- beq _020E2158
- ldr r0, [sp, #0x30]
- cmp r0, #0x0
- bne _020E2158
- mov r0, r8
- mov r1, #0x0
- mov r2, #0x2
- blx r9
- cmp r0, #0x0
- beq _020E2158
- cmp r10, #0x0
- beq _020E2C3C
- mov r0, #0x1
- str r0, [sp, #0x30]
-_020E2158:
- ldrb r1, [sp, #0x63]
- cmp r1, #0x5b
- bgt _020E21B0
- bge _020E2984
- cmp r1, #0x47
- bgt _020E21A4
- subs r0, r1, #0x41
- addpl pc, pc, r0, lsl #0x2
- b _020E2198
-_020E217C: ; 0x020E217C
- b _020E2600
-_020E2180: ; 0x020E2180
- b _020E2C3C
-_020E2184: ; 0x020E2184
- b _020E2C3C
-_020E2188: ; 0x020E2188
- b _020E2C3C
-_020E218C: ; 0x020E218C
- b _020E2600
-_020E2190: ; 0x020E2190
- b _020E2600
-_020E2194: ; 0x020E2194
- b _020E2600
-_020E2198:
- cmp r1, #0x25
- beq _020E287C
- b _020E2C3C
-_020E21A4:
- cmp r1, #0x58
- beq _020E243C
- b _020E2C3C
-_020E21B0:
- cmp r1, #0x78
- bgt _020E2228
- subs r0, r1, #0x63
- addpl pc, pc, r0, lsl #0x2
- b _020E221C
-_020E21C4: ; 0x020E21C4
- b _020E26C4
-_020E21C8: ; 0x020E21C8
- b _020E2230
-_020E21CC: ; 0x020E21CC
- b _020E2600
-_020E21D0: ; 0x020E21D0
- b _020E2600
-_020E21D4: ; 0x020E21D4
- b _020E2600
-_020E21D8: ; 0x020E21D8
- b _020E2C3C
-_020E21DC: ; 0x020E21DC
- b _020E2238
-_020E21E0: ; 0x020E21E0
- b _020E2C3C
-_020E21E4: ; 0x020E21E4
- b _020E2C3C
-_020E21E8: ; 0x020E21E8
- b _020E2C3C
-_020E21EC: ; 0x020E21EC
- b _020E2C3C
-_020E21F0: ; 0x020E21F0
- b _020E2BC8
-_020E21F4: ; 0x020E21F4
- b _020E242C
-_020E21F8: ; 0x020E21F8
- b _020E2C3C
-_020E21FC: ; 0x020E21FC
- b _020E2C3C
-_020E2200: ; 0x020E2200
- b _020E2C3C
-_020E2204: ; 0x020E2204
- b _020E2908
-_020E2208: ; 0x020E2208
- b _020E2C3C
-_020E220C: ; 0x020E220C
- b _020E2434
-_020E2210: ; 0x020E2210
- b _020E2C3C
-_020E2214: ; 0x020E2214
- b _020E2C3C
-_020E2218: ; 0x020E2218
- b _020E243C
-_020E221C:
- cmp r1, #0x61
- beq _020E2600
- b _020E2C3C
-_020E2228:
- cmp r1, #0xff
- b _020E2C3C
-_020E2230:
- mov r0, #0xa
- b _020E223C
-_020E2238:
- mov r0, #0x0
-_020E223C:
- ldr r1, [sp, #0x30]
- cmp r1, #0x0
- beq _020E225C
- mov r0, #0x0
- str r0, [sp, #0x1c]
- str r0, [sp, #0x20]
- str r0, [sp, #0x24]
- b _020E2364
-_020E225C:
- ldrb r1, [sp, #0x62]
- add r2, sp, #0x5c
- cmp r1, #0x7
- cmpne r1, #0x4
- add r1, sp, #0x58
- bne _020E22A0
- str r2, [sp, #0x0]
- str r1, [sp, #0x4]
- add r1, sp, #0x54
- str r1, [sp, #0x8]
- ldr r1, [sp, #0x64]
- mov r2, r9
- mov r3, r8
- bl __strtoull
- str r0, [sp, #0x34]
- str r1, [sp, #0x18]
- b _020E22C4
-_020E22A0:
- str r2, [sp, #0x0]
- str r1, [sp, #0x4]
- add r1, sp, #0x54
- str r1, [sp, #0x8]
- ldr r1, [sp, #0x64]
- mov r2, r9
- mov r3, r8
- bl __strtoul
- str r0, [sp, #0x3c]
-_020E22C4:
- ldr r0, [sp, #0x5c]
- cmp r0, #0x0
- bne _020E22F4
- cmp r10, #0x0
- beq _020E2C3C
- mov r0, #0x1
- str r0, [sp, #0x30]
- mov r0, #0x0
- str r0, [sp, #0x1c]
- str r0, [sp, #0x20]
- str r0, [sp, #0x24]
- b _020E2364
-_020E22F4:
- add r4, r4, r0
- ldrb r0, [sp, #0x62]
- cmp r0, #0x7
- cmpne r0, #0x4
- bne _020E2344
- ldr r0, [sp, #0x58]
- cmp r0, #0x0
- beq _020E2330
- ldr r0, [sp, #0x34]
- rsbs r0, r0, #0x0
- str r0, [sp, #0x20]
- ldr r0, [sp, #0x18]
- rsc r0, r0, #0x0
- str r0, [sp, #0x24]
- b _020E2364
-_020E2330:
- ldr r0, [sp, #0x34]
- str r0, [sp, #0x20]
- ldr r0, [sp, #0x18]
- str r0, [sp, #0x24]
- b _020E2364
-_020E2344:
- ldr r0, [sp, #0x58]
- cmp r0, #0x0
- ldreq r0, [sp, #0x3c]
- streq r0, [sp, #0x1c]
- beq _020E2364
- ldr r0, [sp, #0x3c]
- rsb r0, r0, #0x0
- str r0, [sp, #0x1c]
-_020E2364:
- cmp r5, #0x0
- beq _020E241C
- ldrb r0, [sp, #0x62]
- cmp r0, #0x7
- addls pc, pc, r0, lsl #0x2
- b _020E2408
-_020E237C:
- b _020E239C
-_020E2380:
- b _020E23A8
-_020E2384:
- b _020E23B4
-_020E2388:
- b _020E23C0
-_020E238C:
- b _020E23CC
-_020E2390:
- b _020E23E0
-_020E2394:
- b _020E23EC
-_020E2398:
- b _020E23F8
-_020E239C:
- ldr r0, [sp, #0x1c]
- str r0, [r5, #0x0]
- b _020E2408
-_020E23A8:
- ldr r0, [sp, #0x1c]
- strb r0, [r5, #0x0]
- b _020E2408
-_020E23B4:
- ldr r0, [sp, #0x1c]
- strh r0, [r5, #0x0]
- b _020E2408
-_020E23C0:
- ldr r0, [sp, #0x1c]
- str r0, [r5, #0x0]
- b _020E2408
-_020E23CC:
- ldr r0, [sp, #0x20]
- str r0, [r5, #0x0]
- ldr r0, [sp, #0x24]
- str r0, [r5, #0x4]
- b _020E2408
-_020E23E0:
- ldr r0, [sp, #0x1c]
- str r0, [r5, #0x0]
- b _020E2408
-_020E23EC:
- ldr r0, [sp, #0x1c]
- str r0, [r5, #0x0]
- b _020E2408
-_020E23F8:
- ldr r0, [sp, #0x20]
- str r0, [r5, #0x0]
- ldr r0, [sp, #0x24]
- str r0, [r5, #0x4]
-_020E2408:
- ldr r0, [sp, #0x30]
- cmp r0, #0x0
- ldreq r0, [sp, #0x44]
- addeq r0, r0, #0x1
- streq r0, [sp, #0x44]
-_020E241C:
- ldr r0, [sp, #0x40]
- add r0, r0, #0x1
- str r0, [sp, #0x40]
- b _020E2C2C
-_020E242C:
- mov r0, #0x8
- b _020E2440
-_020E2434:
- mov r0, #0xa
- b _020E2440
-_020E243C:
- mov r0, #0x10
-_020E2440:
- ldr r1, [sp, #0x30]
- cmp r1, #0x0
- beq _020E2460
- mov r0, #0x0
- str r0, [sp, #0x3c]
- str r0, [sp, #0x34]
- str r0, [sp, #0x18]
- b _020E2538
-_020E2460:
- ldrb r1, [sp, #0x62]
- add r2, sp, #0x5c
- cmp r1, #0x7
- cmpne r1, #0x4
- add r1, sp, #0x58
- bne _020E24A4
- str r2, [sp, #0x0]
- str r1, [sp, #0x4]
- add r1, sp, #0x54
- str r1, [sp, #0x8]
- ldr r1, [sp, #0x64]
- mov r2, r9
- mov r3, r8
- bl __strtoull
- str r0, [sp, #0x34]
- str r1, [sp, #0x18]
- b _020E24C8
-_020E24A4:
- str r2, [sp, #0x0]
- str r1, [sp, #0x4]
- add r1, sp, #0x54
- str r1, [sp, #0x8]
- ldr r1, [sp, #0x64]
- mov r2, r9
- mov r3, r8
- bl __strtoul
- str r0, [sp, #0x3c]
-_020E24C8:
- ldr r0, [sp, #0x5c]
- cmp r0, #0x0
- bne _020E24F8
- cmp r10, #0x0
- beq _020E2C3C
- mov r0, #0x1
- str r0, [sp, #0x30]
- mov r0, #0x0
- str r0, [sp, #0x3c]
- str r0, [sp, #0x34]
- str r0, [sp, #0x18]
- b _020E2538
-_020E24F8:
- add r4, r4, r0
- ldr r0, [sp, #0x58]
- cmp r0, #0x0
- beq _020E2538
- ldrb r0, [sp, #0x62]
- cmp r0, #0x7
- ldrne r0, [sp, #0x3c]
- rsbne r0, r0, #0x0
- strne r0, [sp, #0x3c]
- bne _020E2538
- ldr r0, [sp, #0x34]
- rsbs r0, r0, #0x0
- str r0, [sp, #0x34]
- ldr r0, [sp, #0x18]
- rsc r0, r0, #0x0
- str r0, [sp, #0x18]
-_020E2538:
- cmp r5, #0x0
- beq _020E25F0
- ldrb r0, [sp, #0x62]
- cmp r0, #0x7
- addls pc, pc, r0, lsl #0x2
- b _020E25DC
-_020E2550:
- b _020E2570
-_020E2554:
- b _020E257C
-_020E2558:
- b _020E2588
-_020E255C:
- b _020E2594
-_020E2560:
- b _020E25A0
-_020E2564:
- b _020E25B4
-_020E2568:
- b _020E25C0
-_020E256C:
- b _020E25CC
-_020E2570:
- ldr r0, [sp, #0x3c]
- str r0, [r5, #0x0]
- b _020E25DC
-_020E257C:
- ldr r0, [sp, #0x3c]
- strb r0, [r5, #0x0]
- b _020E25DC
-_020E2588:
- ldr r0, [sp, #0x3c]
- strh r0, [r5, #0x0]
- b _020E25DC
-_020E2594:
- ldr r0, [sp, #0x3c]
- str r0, [r5, #0x0]
- b _020E25DC
-_020E25A0:
- ldr r0, [sp, #0x34]
- str r0, [r5, #0x0]
- ldr r0, [sp, #0x18]
- str r0, [r5, #0x4]
- b _020E25DC
-_020E25B4:
- ldr r0, [sp, #0x3c]
- str r0, [r5, #0x0]
- b _020E25DC
-_020E25C0:
- ldr r0, [sp, #0x3c]
- str r0, [r5, #0x0]
- b _020E25DC
-_020E25CC:
- ldr r0, [sp, #0x34]
- str r0, [r5, #0x0]
- ldr r0, [sp, #0x18]
- str r0, [r5, #0x4]
-_020E25DC:
- ldr r0, [sp, #0x30]
- cmp r0, #0x0
- ldreq r0, [sp, #0x44]
- addeq r0, r0, #0x1
- streq r0, [sp, #0x44]
-_020E25F0:
- ldr r0, [sp, #0x40]
- add r0, r0, #0x1
- str r0, [sp, #0x40]
- b _020E2C2C
-_020E2600:
- ldr r0, [sp, #0x30]
- cmp r0, #0x0
- beq _020E261C
- ldr r0, _020E2C78 ; =0x02106B78
- ldr r0, [r0, #0x0]
- bl _f2d
- b _020E2668
-_020E261C:
- add r0, sp, #0x54
- str r0, [sp, #0x0]
- ldr r0, [sp, #0x64]
- mov r1, r9
- mov r2, r8
- add r3, sp, #0x5c
- bl __strtold
- ldr r2, [sp, #0x5c]
- cmp r2, #0x0
- bne _020E2664
- cmp r10, #0x0
- beq _020E2C3C
- mov r0, #0x1
- str r0, [sp, #0x30]
- ldr r0, _020E2C78 ; =0x02106B78
- ldr r0, [r0, #0x0]
- bl _f2d
-_020E2660: ; 0x020E2660
- b _020E2668
-_020E2664:
- add r4, r4, r2
-_020E2668:
- cmp r5, #0x0
- beq _020E26B4
- ldrb r2, [sp, #0x62]
- cmp r2, #0x0
- beq _020E2690
- cmp r2, #0x8
- beq _020E269C
- cmp r2, #0x9
- stmeqia r5, {r0-r1}
- b _020E26A0
-_020E2690:
- bl _d2f
-_020E2694: ; 0x020E2694
- str r0, [r5, #0x0]
- b _020E26A0
-_020E269C:
- stmia r5, {r0-r1}
-_020E26A0:
- ldr r0, [sp, #0x30]
- cmp r0, #0x0
- ldreq r0, [sp, #0x44]
- addeq r0, r0, #0x1
- streq r0, [sp, #0x44]
-_020E26B4:
- ldr r0, [sp, #0x40]
- add r0, r0, #0x1
- str r0, [sp, #0x40]
- b _020E2C2C
-_020E26C4:
- ldrb r0, [sp, #0x61]
- cmp r0, #0x0
- moveq r0, #0x1
- streq r0, [sp, #0x64]
- cmp r5, #0x0
- beq _020E280C
- cmp r10, #0x0
- beq _020E26F8
- ldr r0, [sp, #0x10]
- mov r7, #0x1
- add r0, r0, #0x4
- ldr r11, [r0, #-0x4]
- str r0, [sp, #0x10]
-_020E26F8:
- ldr r0, [sp, #0x30]
- mov r1, #0x0
- cmp r0, #0x0
- str r1, [sp, #0x5c]
- beq _020E2718
- cmp r11, #0x0
- strneb r1, [r5, #0x0]
- b _020E2C2C
-_020E2718:
- mvn r0, #0x0
- str r5, [sp, #0x2c]
- str r0, [sp, #0x48]
- b _020E2760
-_020E2728:
- ldrb r0, [sp, #0x62]
- strb r6, [sp, #0x50]
- cmp r0, #0xa
- ldrnesb r0, [sp, #0x50]
- strneb r0, [r5], #0x1
- bne _020E2754
- mov r0, r5
- add r1, sp, #0x50
- mov r2, #0x1
- bl mbtowc
- add r5, r5, #0x1
-_020E2754:
- ldr r0, [sp, #0x5c]
- add r1, r0, #0x1
- str r1, [sp, #0x5c]
-_020E2760:
- ldr r0, [sp, #0x64]
- cmp r0, #0x0
- sub r0, r0, #0x1
- str r0, [sp, #0x64]
- beq _020E27B0
- cmp r10, #0x0
- beq _020E2790
- cmp r11, r1
- movhi r7, #0x1
- movls r7, #0x0
- cmp r7, #0x0
- beq _020E27B0
-_020E2790:
- mov r1, #0x0
- mov r0, r8
- mov r2, r1
- blx r9
- mov r6, r0
- ldr r0, [sp, #0x48]
- cmp r6, r0
- bne _020E2728
-_020E27B0:
- strb r6, [sp, #0x50]
- ldr r0, [sp, #0x5c]
- cmp r0, #0x0
- beq _020E27D0
- cmp r10, #0x0
- beq _020E27F8
- cmp r7, #0x0
- bne _020E27F8
-_020E27D0:
- cmp r10, #0x0
- beq _020E2C3C
- mov r0, #0x1
- cmp r11, #0x0
- str r0, [sp, #0x30]
- beq _020E2C2C
- ldr r0, [sp, #0x2c]
- mov r1, #0x0
- strb r1, [r0, #0x0]
- b _020E2C2C
-_020E27F8:
- add r4, r4, r0
- ldr r0, [sp, #0x44]
- add r0, r0, #0x1
- str r0, [sp, #0x44]
- b _020E286C
-_020E280C:
- mov r0, #0x0
- str r0, [sp, #0x5c]
- mvn r5, #0x0
- b _020E282C
-_020E281C:
- strb r6, [sp, #0x50]
- ldr r0, [sp, #0x5c]
- add r0, r0, #0x1
- str r0, [sp, #0x5c]
-_020E282C:
- ldr r0, [sp, #0x64]
- cmp r0, #0x0
- sub r0, r0, #0x1
- str r0, [sp, #0x64]
- beq _020E285C
- mov r1, #0x0
- mov r0, r8
- mov r2, r1
- blx r9
- mov r6, r0
- cmp r6, r5
- bne _020E281C
-_020E285C:
- strb r6, [sp, #0x50]
- ldr r0, [sp, #0x5c]
- cmp r0, #0x0
- beq _020E2C3C
-_020E286C:
- ldr r0, [sp, #0x40]
- add r0, r0, #0x1
- str r0, [sp, #0x40]
- b _020E2C2C
-_020E287C:
- ldr r0, [sp, #0x30]
- cmp r0, #0x0
- bne _020E2C2C
- ldr r5, _020E2C74 ; =0x0210430C
- b _020E2894
-_020E2890:
- add r4, r4, #0x1
-_020E2894:
- mov r1, #0x0
- mov r0, r8
- mov r2, r1
- blx r9
- strb r0, [sp, #0x50]
- ldrsb r1, [sp, #0x50]
- cmp r1, #0x0
- blt _020E28BC
- cmp r1, #0x80
- blt _020E28C4
-_020E28BC:
- mov r0, #0x0
- b _020E28D0
-_020E28C4:
- mov r0, r1, lsl #0x1
- ldrh r0, [r5, r0]
- and r0, r0, #0x100
-_020E28D0:
- cmp r0, #0x0
- bne _020E2890
- cmp r1, #0x25
- beq _020E2900
- mov r0, r8
- mov r2, #0x1
- blx r9
- cmp r10, #0x0
- beq _020E2C3C
- mov r0, #0x1
- str r0, [sp, #0x30]
- b _020E2C2C
-_020E2900:
- add r4, r4, #0x1
- b _020E2C2C
-_020E2908:
- ldr r0, [sp, #0x30]
- cmp r0, #0x0
- bne _020E2984
- mov r1, #0x0
- mov r0, r8
- mov r2, r1
- blx r9
- strb r0, [sp, #0x50]
- b _020E2944
-_020E292C:
- mov r1, #0x0
- mov r0, r8
- mov r2, r1
- add r4, r4, #0x1
- blx r9
- strb r0, [sp, #0x50]
-_020E2944:
- ldrsb r1, [sp, #0x50]
- cmp r1, #0x0
- blt _020E2958
- cmp r1, #0x80
- blt _020E2960
-_020E2958:
- mov r0, #0x0
- b _020E2970
-_020E2960:
- ldr r0, _020E2C74 ; =0x0210430C
- mov r2, r1, lsl #0x1
- ldrh r0, [r0, r2]
- and r0, r0, #0x100
-_020E2970:
- cmp r0, #0x0
- bne _020E292C
- mov r0, r8
- mov r2, #0x1
- blx r9
-_020E2984:
- cmp r5, #0x0
- beq _020E2B00
- cmp r10, #0x0
- beq _020E29AC
- ldr r0, [sp, #0x10]
- mov r7, #0x1
- add r0, r0, #0x4
- str r0, [sp, #0x10]
- ldr r0, [r0, #-0x4]
- sub r11, r0, #0x1
-_020E29AC:
- ldr r0, [sp, #0x30]
- mov r1, #0x0
- cmp r0, #0x0
- str r1, [sp, #0x5c]
- beq _020E29CC
- cmp r11, #0x0
- strneb r1, [r5, #0x0]
- b _020E2C2C
-_020E29CC:
- mvn r0, #0x0
- str r5, [sp, #0x28]
- str r0, [sp, #0x4c]
- b _020E2A30
-_020E29DC:
- strb r6, [sp, #0x50]
- ldrsb r1, [sp, #0x50]
- add r2, sp, #0x60
- and r3, r1, #0xff
- add r2, r2, r3, asr #0x3
- ldrb r3, [r2, #0x8]
- and r0, r1, #0x7
- mov r2, #0x1
- tst r3, r2, lsl r0
- beq _020E2A80
- ldrb r0, [sp, #0x62]
- cmp r0, #0xa
- strneb r1, [r5], #0x1
- bne _020E2A24
- mov r0, r5
- add r1, sp, #0x50
- bl mbtowc
- add r5, r5, #0x2
-_020E2A24:
- ldr r0, [sp, #0x5c]
- add r1, r0, #0x1
- str r1, [sp, #0x5c]
-_020E2A30:
- ldr r0, [sp, #0x64]
- cmp r0, #0x0
- sub r0, r0, #0x1
- str r0, [sp, #0x64]
- beq _020E2A80
- cmp r10, #0x0
- beq _020E2A60
- cmp r11, r1
- movcs r7, #0x1
- movcc r7, #0x0
- cmp r7, #0x0
- beq _020E2A80
-_020E2A60:
- mov r1, #0x0
- mov r0, r8
- mov r2, r1
- blx r9
- mov r6, r0
- ldr r0, [sp, #0x4c]
- cmp r6, r0
- bne _020E29DC
-_020E2A80:
- strb r6, [sp, #0x50]
- ldr r0, [sp, #0x5c]
- cmp r0, #0x0
- beq _020E2AA0
- cmp r10, #0x0
- beq _020E2AD8
- cmp r7, #0x0
- bne _020E2AD8
-_020E2AA0:
- mov r0, r8
- ldrsb r1, [sp, #0x50]
- mov r2, #0x1
- blx r9
- cmp r10, #0x0
- beq _020E2C3C
- mov r0, #0x1
- cmp r11, #0x0
- str r0, [sp, #0x30]
- beq _020E2C2C
- ldr r0, [sp, #0x28]
- mov r1, #0x0
- strb r1, [r0, #0x0]
- b _020E2C2C
-_020E2AD8:
- add r4, r4, r0
- ldrb r0, [sp, #0x62]
- cmp r0, #0xa
- mov r0, #0x0
- streqh r0, [r5, #0x0]
- strneb r0, [r5, #0x0]
- ldr r0, [sp, #0x44]
- add r0, r0, #0x1
- str r0, [sp, #0x44]
- b _020E2B9C
-_020E2B00:
- mov r0, #0x0
- str r0, [sp, #0x5c]
- mvn r5, #0x0
- b _020E2B44
-_020E2B10:
- strb r6, [sp, #0x50]
- ldrsb r1, [sp, #0x50]
- and r0, r1, #0x7
- and r2, r1, #0xff
- add r1, sp, #0x60
- add r1, r1, r2, asr #0x3
- ldrb r2, [r1, #0x8]
- mov r1, #0x1
- tst r2, r1, lsl r0
- beq _020E2B74
- ldr r0, [sp, #0x5c]
- add r0, r0, #0x1
- str r0, [sp, #0x5c]
-_020E2B44:
- ldr r0, [sp, #0x64]
- cmp r0, #0x0
- sub r0, r0, #0x1
- str r0, [sp, #0x64]
- beq _020E2B74
- mov r1, #0x0
- mov r0, r8
- mov r2, r1
- blx r9
- mov r6, r0
- cmp r6, r5
- bne _020E2B10
-_020E2B74:
- strb r6, [sp, #0x50]
- ldr r0, [sp, #0x5c]
- cmp r0, #0x0
- bne _020E2B98
- mov r0, r8
- ldrsb r1, [sp, #0x50]
- mov r2, #0x1
- blx r9
- b _020E2C2C
-_020E2B98:
- add r4, r4, r0
-_020E2B9C:
- ldr r0, [sp, #0x64]
- cmp r0, #0x0
- blt _020E2BB8
- mov r0, r8
- ldrsb r1, [sp, #0x50]
- mov r2, #0x1
- blx r9
-_020E2BB8:
- ldr r0, [sp, #0x40]
- add r0, r0, #0x1
- str r0, [sp, #0x40]
- b _020E2C2C
-_020E2BC8:
- cmp r5, #0x0
- beq _020E2C2C
- ldrb r0, [sp, #0x62]
- cmp r0, #0x7
- addls pc, pc, r0, lsl #0x2
- b _020E2C2C
-_020E2BE0:
- b _020E2C00
-_020E2BE4:
- b _020E2C18
-_020E2BE8:
- b _020E2C08
-_020E2BEC:
- b _020E2C10
-_020E2BF0:
- b _020E2C2C
-_020E2BF4:
- b _020E2C2C
-_020E2BF8:
- b _020E2C2C
-_020E2BFC:
- b _020E2C20
-_020E2C00:
- str r4, [r5, #0x0]
- b _020E2C2C
-_020E2C08:
- strh r4, [r5, #0x0]
- b _020E2C2C
-_020E2C10:
- str r4, [r5, #0x0]
- b _020E2C2C
-_020E2C18:
- strb r4, [r5, #0x0]
- b _020E2C2C
-_020E2C20:
- str r4, [r5, #0x0]
- mov r0, r4, asr #0x1f
- str r0, [r5, #0x4]
-_020E2C2C:
- ldr r0, [sp, #0xc]
- ldrsb r5, [r0, #0x0]
- cmp r5, #0x0
- bne _020E1F70
-_020E2C3C:
- mov r0, r8
- mov r1, #0x0
- mov r2, #0x2
- blx r9
- cmp r0, #0x0
- beq _020E2C68
- ldr r0, [sp, #0x40]
- cmp r0, #0x0
- addeq sp, sp, #0x88
- mvneq r0, #0x0
- ldmeqia sp!, {r3-r11,pc}
-_020E2C68:
- ldr r0, [sp, #0x44]
- add sp, sp, #0x88
- ldmia sp!, {r3-r11,pc}
- .balign 4
-_020E2C74: .word 0x0210430C
-_020E2C78: .word 0x02106B78
-
- arm_func_start __StringRead
-__StringRead: ; 0x020E2C7C
- cmp r2, #0x0
- beq _020E2C98
- cmp r2, #0x1
- beq _020E2CC8
- cmp r2, #0x2
- beq _020E2CF0
- b _020E2CF8
-_020E2C98:
- ldr r1, [r0, #0x0]
- ldrsb r2, [r1, #0x0]
- cmp r2, #0x0
- bne _020E2CB8
- mov r1, #0x1
- str r1, [r0, #0x4]
- sub r0, r1, #0x2
- bx lr
-_020E2CB8:
- add r1, r1, #0x1
- str r1, [r0, #0x0]
- and r0, r2, #0xff
- bx lr
-_020E2CC8:
- ldr r2, [r0, #0x4]
- cmp r2, #0x0
- movne r2, #0x0
- strne r2, [r0, #0x4]
- bne _020E2CE8
- ldr r2, [r0, #0x0]
- sub r2, r2, #0x1
- str r2, [r0, #0x0]
-_020E2CE8:
- mov r0, r1
- bx lr
-_020E2CF0:
- ldr r0, [r0, #0x4]
- bx lr
-_020E2CF8:
- mov r0, #0x0
- bx lr
-
- arm_func_start vsscanf
-vsscanf: ; 0x020E2D00
- stmdb sp!, {lr}
- sub sp, sp, #0xc
- str r0, [sp, #0x4]
- cmp r0, #0x0
- ldrnesb r0, [r0, #0x0]
- mov lr, r1
- mov r3, r2
- cmpne r0, #0x0
- addeq sp, sp, #0xc
- mvneq r0, #0x0
- ldmeqia sp!, {pc}
- mov r12, #0x0
- str r12, [sp, #0x8]
- ldr r0, _020E2D50 ; =__StringRead
- add r1, sp, #0x4
- mov r2, lr
- str r12, [sp, #0x0]
- bl __sformatter
- add sp, sp, #0xc
- ldmia sp!, {pc}
- .balign 4
-_020E2D50: .word __StringRead
-
- arm_func_start sscanf
-sscanf: ; 0x020E2D54
- stmdb sp!, {r0-r3}
- stmdb sp!, {r3,lr}
- add r2, sp, #0xc
- bic r2, r2, #0x3
- ldr r1, [sp, #0xc]
- add r2, r2, #0x4
- bl vsscanf
- ldmia sp!, {r3,lr}
- add sp, sp, #0x10
- bx lr
-
- arm_func_start raise
-raise: ; 0x020E2D7C
- stmdb sp!, {r3-r5,lr}
- mov r5, r0
- cmp r5, #0x1
- blt _020E2D94
- cmp r5, #0x7
- ble _020E2D9C
-_020E2D94:
- mvn r0, #0x0
- ldmia sp!, {r3-r5,pc}
-_020E2D9C:
- ldr r0, _020E2E98 ; =0x021D7178
- bl OS_TryLockMutex
-_020E2DA4: ; 0x020E2DA4
- cmp r0, #0x0
- bne _020E2DD0
- ldr r0, _020E2E9C ; =0x021D3498
- ldr r1, _020E2EA0 ; =0x021D7088
- ldr r2, [r0, #0x4]
- ldr r0, _020E2EA4 ; =0x021D70AC
- ldr r3, [r2, #0x6c]
- mov r2, #0x1
- str r3, [r1, #0x1c]
- str r2, [r0, #0x1c]
- b _020E2E28
-_020E2DD0:
- ldr r0, _020E2E9C ; =0x021D3498
- ldr r1, _020E2EA0 ; =0x021D7088
- ldr r0, [r0, #0x4]
- ldr r1, [r1, #0x1c]
- ldr r0, [r0, #0x6c]
- cmp r1, r0
- bne _020E2E00
- ldr r0, _020E2EA4 ; =0x021D70AC
- ldr r1, [r0, #0x1c]
- add r1, r1, #0x1
- str r1, [r0, #0x1c]
- b _020E2E28
-_020E2E00:
- ldr r0, _020E2E98 ; =0x021D7178
- bl OS_LockMutex
- ldr r0, _020E2E9C ; =0x021D3498
- ldr r1, _020E2EA0 ; =0x021D7088
- ldr r2, [r0, #0x4]
- ldr r0, _020E2EA4 ; =0x021D70AC
- ldr r3, [r2, #0x6c]
- mov r2, #0x1
- str r3, [r1, #0x1c]
- str r2, [r0, #0x1c]
-_020E2E28:
- ldr r1, _020E2EA8 ; =0x021D74AC
- sub r2, r5, #0x1
- ldr r4, [r1, r2, lsl #0x2]
- cmp r4, #0x1
- movne r0, #0x0
- strne r0, [r1, r2, lsl #0x2]
- ldr r0, _020E2EA4 ; =0x021D70AC
- ldr r1, [r0, #0x1c]
- subs r1, r1, #0x1
- str r1, [r0, #0x1c]
- bne _020E2E5C
- ldr r0, _020E2E98 ; =0x021D7178
- bl OS_UnlockMutex
-_020E2E5C:
- cmp r4, #0x1
- beq _020E2E70
- cmp r4, #0x0
- cmpeq r5, #0x1
- bne _020E2E78
-_020E2E70:
- mov r0, #0x0
- ldmia sp!, {r3-r5,pc}
-_020E2E78:
- cmp r4, #0x0
- bne _020E2E88
- mov r0, #0x0
- bl exit
-_020E2E88:
- mov r0, r5
- blx r4
- mov r0, #0x0
- ldmia sp!, {r3-r5,pc}
- .balign 4
-_020E2E98: .word 0x021D7178
-_020E2E9C: .word 0x021D3498
-_020E2EA0: .word 0x021D7088
-_020E2EA4: .word 0x021D70AC
-_020E2EA8: .word 0x021D74AC
-
- arm_func_start strlen
-strlen: ; 0x020E2EAC
- mvn r2, #0x0
-_020E2EB0:
- ldrsb r1, [r0], #0x1
- add r2, r2, #0x1
- cmp r1, #0x0
- bne _020E2EB0
- mov r0, r2
- bx lr
-
- arm_func_start strcpy
-strcpy: ; 0x020E2EC8
- stmdb sp!, {r3-r5,lr}
- and r4, r1, #0x3
- and r3, r0, #0x3
- mov r2, r0
- cmp r3, r4
- bne _020E2F64
- cmp r4, #0x0
- beq _020E2F20
- ldrb r3, [r1, #0x0]
- strb r3, [r0, #0x0]
- cmp r3, #0x0
- ldmeqia sp!, {r3-r5,pc}
-_020E2EF8: ; 0x020E2EF8
- rsbs r4, r4, #0x3
- beq _020E2F18
-_020E2F00:
- ldrb r3, [r1, #0x1]!
- cmp r3, #0x0
- strb r3, [r2, #0x1]!
- ldmeqia sp!, {r3-r5,pc}
-_020E2F10: ; 0x020E2F10
- subs r4, r4, #0x1
- bne _020E2F00
-_020E2F18:
- add r2, r2, #0x1
- add r1, r1, #0x1
-_020E2F20:
- ldr r5, [r1, #0x0]
- ldr r3, _020E2F88 ; =0xFEFEFEFF
- mvn r4, r5
- add lr, r5, r3
- ldr ip, _020E2F8C ; =0x80808080
- and r4, lr, r4
- tst r4, r12
- bne _020E2F64
- sub r2, r2, #0x4
-_020E2F44:
- str r5, [r2, #0x4]!
- ldr r5, [r1, #0x4]!
- add r4, r5, r3
- mvn lr, r5
- and lr, r4, lr
- tst lr, r12
- beq _020E2F44
- add r2, r2, #0x4
-_020E2F64:
- ldrb r3, [r1, #0x0]
- strb r3, [r2, #0x0]
- cmp r3, #0x0
- ldmeqia sp!, {r3-r5,pc}
-_020E2F74:
- ldrb r3, [r1, #0x1]!
- cmp r3, #0x0
- strb r3, [r2, #0x1]!
- bne _020E2F74
- ldmia sp!, {r3-r5,pc}
- .balign 4
-_020E2F88: .word 0xFEFEFEFF
-_020E2F8C: .word 0x80808080
-
- arm_func_start strncpy
-strncpy: ; 0x020E2F90
- stmdb sp!, {r3,lr}
- mov lr, r0
- cmp r2, #0x0
- ldmeqia sp!, {r3,pc}
-_020E2FA0:
- ldrsb r3, [r1], #0x1
- mov r12, lr
- strb r3, [lr], #0x1
- ldrsb r3, [r12, #0x0]
- cmp r3, #0x0
- bne _020E2FD4
- subs r2, r2, #0x1
- ldmeqia sp!, {r3,pc}
-_020E2FC0: ; 0x020E2FC0
- mov r1, #0x0
-_020E2FC4:
- strb r1, [lr], #0x1
- subs r2, r2, #0x1
- bne _020E2FC4
- ldmia sp!, {r3,pc}
-_020E2FD4:
- subs r2, r2, #0x1
- bne _020E2FA0
- ldmia sp!, {r3,pc}
-
- arm_func_start strcat
-strcat: ; 0x020E2FE0
- mov r3, r0
-_020E2FE4:
- ldrsb r2, [r3], #0x1
- cmp r2, #0x0
- bne _020E2FE4
- sub r3, r3, #0x1
-_020E2FF4:
- ldrsb r2, [r1], #0x1
- mov r12, r3
- strb r2, [r3], #0x1
- ldrsb r2, [r12, #0x0]
- cmp r2, #0x0
- bne _020E2FF4
- bx lr
-
- arm_func_start strncat
-strncat: ; 0x020E3010
- stmdb sp!, {r3,lr}
- mov r12, r0
-_020E3018:
- ldrsb r3, [r12], #0x1
- cmp r3, #0x0
- bne _020E3018
- cmp r2, #0x0
- sub r12, r12, #0x1
- beq _020E3054
-_020E3030:
- ldrsb r3, [r1], #0x1
- mov lr, r12
- strb r3, [r12], #0x1
- ldrsb r3, [lr, #0x0]
- cmp r3, #0x0
- subeq r12, r12, #0x1
- beq _020E3054
- subs r2, r2, #0x1
- bne _020E3030
-_020E3054:
- mov r1, #0x0
- strb r1, [r12, #0x0]
- ldmia sp!, {r3,pc}
-
- arm_func_start strcmp
-strcmp: ; 0x020E3060
- stmdb sp!, {r4,lr}
- ldrb r2, [r0, #0x0]
- ldrb r3, [r1, #0x0]
- subs r3, r2, r3
- movne r0, r3
- ldmneia sp!, {r4,pc}
-_020E3078: ; 0x020E3078
- and r4, r0, #0x3
- and r3, r1, #0x3
- cmp r3, r4
- bne _020E313C
- cmp r4, #0x0
- beq _020E30D4
- cmp r2, #0x0
- moveq r0, #0x0
- ldmeqia sp!, {r4,pc}
-_020E309C: ; 0x020E309C
- rsbs r4, r4, #0x3
- beq _020E30CC
-_020E30A4:
- ldrb r3, [r0, #0x1]!
- ldrb r2, [r1, #0x1]!
- subs r2, r3, r2
- movne r0, r2
- ldmneia sp!, {r4,pc}
-_020E30B8: ; 0x020E30B8
- cmp r3, #0x0
- moveq r0, #0x0
- ldmeqia sp!, {r4,pc}
-_020E30C4: ; 0x020E30C4
- subs r4, r4, #0x1
- bne _020E30A4
-_020E30CC:
- add r0, r0, #0x1
- add r1, r1, #0x1
-_020E30D4:
- ldr r2, [r0, #0x0]
- ldr r3, _020E316C ; =0xFEFEFEFF
- mvn r4, r2
- add lr, r2, r3
- ldr ip, _020E3170 ; =0x80808080
- and r4, lr, r4
- tst r4, r12
- ldr r4, [r1, #0x0]
- bne _020E3128
- cmp r2, r4
- bne _020E311C
-_020E3100:
- ldr r2, [r0, #0x4]!
- ldr r4, [r1, #0x4]!
- add lr, r2, r3
- tst lr, r12
- bne _020E3128
- cmp r2, r4
- beq _020E3100
-_020E311C:
- sub r0, r0, #0x1
- sub r1, r1, #0x1
- b _020E313C
-_020E3128:
- ldrb r2, [r0, #0x0]
- ldrb r3, [r1, #0x0]
- subs r3, r2, r3
- movne r0, r3
- ldmneia sp!, {r4,pc}
-_020E313C:
- cmp r2, #0x0
- moveq r0, #0x0
- ldmeqia sp!, {r4,pc}
-_020E3148:
- ldrb r3, [r0, #0x1]!
- ldrb r2, [r1, #0x1]!
- subs r2, r3, r2
- movne r0, r2
- ldmneia sp!, {r4,pc}
-_020E315C: ; 0x020E315C
- cmp r3, #0x0
- bne _020E3148
- mov r0, #0x0
- ldmia sp!, {r4,pc}
- .balign 4
-_020E316C: .word 0xFEFEFEFF
-_020E3170: .word 0x80808080
-
- arm_func_start strncmp
-strncmp: ; 0x020E3174
- cmp r2, #0x0
- beq _020E31A0
-_020E317C:
- ldrb r12, [r1], #0x1
- ldrb r3, [r0], #0x1
- cmp r3, r12
- subne r0, r3, r12
- bxne lr
- cmp r3, #0x0
- beq _020E31A0
- subs r2, r2, #0x1
- bne _020E317C
-_020E31A0:
- mov r0, #0x0
- bx lr
-
- arm_func_start strchr
-strchr: ; 0x020E31A8
- ldrsb r2, [r0], #0x1
- mov r1, r1, lsl #0x18
- mov r1, r1, asr #0x18
- cmp r2, #0x0
- beq _020E31D4
-_020E31BC:
- cmp r2, r1
- subeq r0, r0, #0x1
- bxeq lr
- ldrsb r2, [r0], #0x1
- cmp r2, #0x0
- bne _020E31BC
-_020E31D4:
- cmp r1, #0x0
- movne r0, #0x0
- subeq r0, r0, #0x1
- bx lr
-
- arm_func_start strspn
-strspn: ; 0x020E31E4
- stmdb sp!, {r4,lr}
- sub sp, sp, #0x20
- add r12, sp, #0x0
- mov r3, #0x8
- mov r2, #0x0
-_020E31F8:
- strb r2, [r12, #0x0]
- strb r2, [r12, #0x1]
- strb r2, [r12, #0x2]
- strb r2, [r12, #0x3]
- add r12, r12, #0x4
- subs r3, r3, #0x1
- bne _020E31F8
- ldrb r3, [r1, #0x0]
- add r4, r1, #0x1
- cmp r3, #0x0
- beq _020E3254
- add lr, sp, #0x0
- mov r2, #0x1
-_020E322C:
- and r12, r3, #0xff
- and r1, r3, #0x7
- mov r1, r2, lsl r1
- ldrb r3, [lr, r12, asr #0x3]
- and r1, r1, #0xff
- orr r1, r3, r1
- strb r1, [lr, r12, asr #0x3]
- ldrb r3, [r4], #0x1
- cmp r3, #0x0
- bne _020E322C
-_020E3254:
- ldrb r1, [r0, #0x0]
- add r4, r0, #0x1
- cmp r1, #0x0
- beq _020E3294
- add r12, sp, #0x0
- mov r2, #0x1
-_020E326C:
- and r3, r1, #0xff
- and r1, r1, #0x7
- mov r1, r2, lsl r1
- ldrb r3, [r12, r3, asr #0x3]
- and r1, r1, #0xff
- tst r3, r1
- bne _020E3294
- ldrb r1, [r4], #0x1
- cmp r1, #0x0
- bne _020E326C
-_020E3294:
- sub r0, r4, r0
- sub r0, r0, #0x1
- add sp, sp, #0x20
- ldmia sp!, {r4,pc}
-
- arm_func_start strstr
-strstr: ; 0x020E32A4
- stmdb sp!, {r4,lr}
- cmp r1, #0x0
- ldrneb r2, [r1, #0x0]
- cmpne r2, #0x0
- ldmeqia sp!, {r4,pc}
-_020E32B8: ; 0x020E32B8
- ldrb r3, [r0, #0x0]
- add r4, r0, #0x1
- cmp r3, #0x0
- beq _020E3308
-_020E32C8:
- cmp r3, r2
- bne _020E32FC
- mov lr, r4
- add r12, r1, #0x1
-_020E32D8:
- ldrb r3, [r12], #0x1
- ldrb r0, [lr], #0x1
- cmp r0, r3
- bne _020E32F0
- cmp r0, #0x0
- bne _020E32D8
-_020E32F0:
- cmp r3, #0x0
- subeq r0, r4, #0x1
- ldmeqia sp!, {r4,pc}
-_020E32FC:
- ldrb r3, [r4], #0x1
- cmp r3, #0x0
- bne _020E32C8
-_020E3308:
- mov r0, #0x0
- ldmia sp!, {r4,pc}
-
- arm_func_start __strtold
-__strtold: ; 0x020E3310
- stmdb sp!, {r3-r11,lr}
- sub sp, sp, #0xa8
- ldr r4, [sp, #0xd0]
- mov r10, #0x0
- str r4, [sp, #0xd0]
- str r0, [sp, #0x0]
- add r6, sp, #0x80
- mov r9, r1
- mov r8, r2
- str r3, [sp, #0x4]
- mov r4, r10
- str r10, [sp, #0x2c]
- mov r5, #0x1
- mov r0, #0x4
-_020E3348:
- strh r10, [r6, #0x0]
- strh r10, [r6, #0x2]
- strh r10, [r6, #0x4]
- strh r10, [r6, #0x6]
- add r6, r6, #0x8
- subs r0, r0, #0x1
- bne _020E3348
- mov r0, #0x0
- str r0, [sp, #0x28]
- strh r10, [r6, #0x0]
- strh r10, [r6, #0x2]
- ldr r2, [sp, #0x28]
- ldr r1, [sp, #0xd0]
- strh r10, [r6, #0x4]
- str r2, [r1, #0x0]
- mov r1, r2
- mov r0, r8
- str r1, [sp, #0x24]
- str r1, [sp, #0x20]
- str r1, [sp, #0x1c]
- str r1, [sp, #0x18]
- str r1, [sp, #0x10]
- str r1, [sp, #0xc]
- str r1, [sp, #0x8]
- add r4, r4, #0x1
- blx r9
- mov r1, r0
- ldr r7, _020E42F0 ; =0x02104439
- add r0, sp, #0x4d
- mov r6, #0x4
-_020E33C0:
- ldrb r3, [r7, #0x0]
- ldrb r2, [r7, #0x1]
- add r7, r7, #0x2
- strb r3, [r0, #0x0]
- strb r2, [r0, #0x1]
- add r0, r0, #0x2
- subs r6, r6, #0x1
- bne _020E33C0
- ldrb r3, [r7, #0x0]
- ldr r2, _020E42F4 ; =0x02104434
- strb r3, [r0, #0x0]
- ldrb r3, [r2, #0x1]
- ldrb r0, [r2, #0x2]
- ldrb r6, [r2, #0x0]
- strb r3, [sp, #0x31]
- strb r0, [sp, #0x32]
- ldrb r3, [r2, #0x3]
- ldrb r0, [r2, #0x4]
- strb r6, [sp, #0x30]
- strb r3, [sp, #0x33]
- strb r0, [sp, #0x34]
- b _020E4104
-_020E3418:
- cmp r5, #0x100
- bgt _020E3490
- bge _020E3B98
- cmp r5, #0x20
- bgt _020E3474
- bge _020E3A6C
- cmp r5, #0x8
- bgt _020E3468
- cmp r5, #0x0
- addge pc, pc, r5, lsl #0x2
- b _020E4104
-_020E3444: ; 0x020E3444
- b _020E4104
-_020E3448: ; 0x020E3448
- b _020E34D4
-_020E344C: ; 0x020E344C
- b _020E38B8
-_020E3450: ; 0x020E3450
- b _020E4104
-_020E3454: ; 0x020E3454
- b _020E3968
-_020E3458: ; 0x020E3458
- b _020E4104
-_020E345C: ; 0x020E345C
- b _020E4104
-_020E3460: ; 0x020E3460
- b _020E4104
-_020E3464: ; 0x020E3464
- b _020E3990
-_020E3468:
- cmp r5, #0x10
- beq _020E3A34
- b _020E4104
-_020E3474:
- cmp r5, #0x40
- bgt _020E3484
- beq _020E3AF8
- b _020E4104
-_020E3484:
- cmp r5, #0x80
- beq _020E3B44
- b _020E4104
-_020E3490:
- cmp r5, #0x2000
- bgt _020E34B8
- bge _020E36EC
- cmp r5, #0x200
- bgt _020E34AC
- beq _020E3BF8
- b _020E4104
-_020E34AC:
- cmp r5, #0x400
- beq _020E3C20
- b _020E4104
-_020E34B8:
- cmp r5, #0x4000
- bgt _020E34C8
- beq _020E35F4
- b _020E4104
-_020E34C8:
- cmp r5, #0x8000
- beq _020E3C98
- b _020E4104
-_020E34D4:
- cmp r1, #0x0
- blt _020E34E4
- cmp r1, #0x80
- blt _020E34EC
-_020E34E4:
- mov r0, #0x0
- b _020E34FC
-_020E34EC:
- mov r2, r1, lsl #0x1
- ldr r0, _020E42F8 ; =0x0210430C
- ldrh r0, [r0, r2]
- and r0, r0, #0x100
-_020E34FC:
- cmp r0, #0x0
- beq _020E3528
- mov r1, #0x0
- mov r0, r8
- mov r2, r1
- blx r9
- mov r1, r0
- ldr r0, [sp, #0x2c]
- add r0, r0, #0x1
- str r0, [sp, #0x2c]
- b _020E4104
-_020E3528:
- cmp r1, #0x0
- blt _020E3538
- cmp r1, #0x80
- blt _020E3540
-_020E3538:
- mov r0, r1
- b _020E3548
-_020E3540:
- ldr r0, _020E42FC ; =0x0210428C
- ldrb r0, [r0, r1]
-_020E3548:
- cmp r0, #0x49
- bgt _020E3574
- bge _020E35AC
- cmp r0, #0x2d
- bgt _020E35EC
- cmp r0, #0x2b
- blt _020E35EC
- beq _020E3588
- cmp r0, #0x2d
- beq _020E3580
- b _020E35EC
-_020E3574:
- cmp r0, #0x4e
- beq _020E35CC
- b _020E35EC
-_020E3580:
- mov r0, #0x1
- str r0, [sp, #0x28]
-_020E3588:
- mov r1, #0x0
- mov r0, r8
- mov r2, r1
- add r4, r4, #0x1
- blx r9
- mov r1, r0
- mov r0, #0x1
- str r0, [sp, #0x18]
- b _020E4104
-_020E35AC:
- add r4, r4, #0x1
- mov r0, r8
- mov r1, #0x0
- mov r2, r1
- blx r9
- mov r1, r0
- mov r5, #0x4000
- b _020E4104
-_020E35CC:
- add r4, r4, #0x1
- mov r0, r8
- mov r1, #0x0
- mov r2, r1
- blx r9
- mov r1, r0
- mov r5, #0x2000
- b _020E4104
-_020E35EC:
- mov r5, #0x2
- b _020E4104
-_020E35F4:
- mov r5, #0x1
- add r7, sp, #0x4d
- add r0, sp, #0x76
- mov r6, #0x4
-_020E3604:
- ldrb r3, [r7, #0x0]
- ldrb r2, [r7, #0x1]
- add r7, r7, #0x2
- strb r3, [r0, #0x0]
- strb r2, [r0, #0x1]
- add r0, r0, #0x2
- subs r6, r6, #0x1
- bne _020E3604
- ldrb r2, [r7, #0x0]
- add r6, sp, #0x77
- ldr r7, _020E42FC ; =0x0210428C
- strb r2, [r0, #0x0]
- b _020E3658
-_020E3638:
- mov r1, #0x0
- mov r0, r8
- mov r2, r1
- add r6, r6, #0x1
- add r5, r5, #0x1
- add r4, r4, #0x1
- blx r9
- mov r1, r0
-_020E3658:
- cmp r5, #0x8
- bge _020E3688
- cmp r1, #0x0
- blt _020E3670
- cmp r1, #0x80
- blt _020E3678
-_020E3670:
- mov r2, r1
- b _020E367C
-_020E3678:
- ldrb r2, [r7, r1]
-_020E367C:
- ldrsb r0, [r6, #0x0]
- cmp r0, r2
- beq _020E3638
-_020E3688:
- cmp r5, #0x3
- cmpne r5, #0x8
- bne _020E36E4
- ldr r0, [sp, #0x28]
- cmp r0, #0x0
- beq _020E36B8
- ldr r1, _020E4300 ; =0x02106B74
- mov r0, #0x0
- ldr r1, [r1, #0x0]
- bl _fsub
- bl _f2d
- b _020E36C4
-_020E36B8:
- ldr r0, _020E4300 ; =0x02106B74
- ldr r0, [r0, #0x0]
- bl _f2d
-_020E36C4:
- ldr r2, [sp, #0x2c]
- add r3, r2, r5
- ldr r2, [sp, #0x18]
- add r3, r2, r3
- ldr r2, [sp, #0x4]
- add sp, sp, #0xa8
- str r3, [r2, #0x0]
- ldmia sp!, {r3-r11,pc}
-_020E36E4:
- mov r5, #0x1000
- b _020E4104
-_020E36EC:
- ldrb r3, [sp, #0x30]
- ldrb r0, [sp, #0x32]
- ldrb r2, [sp, #0x31]
- strb r3, [sp, #0x40]
- strb r0, [sp, #0x42]
- ldrb r3, [sp, #0x33]
- ldrb r0, [sp, #0x34]
- strb r2, [sp, #0x41]
- mov r5, #0x1
- strb r0, [sp, #0x44]
- mov r6, #0x0
- add r2, sp, #0x56
- strb r3, [sp, #0x43]
- mov r0, #0x8
-_020E3724:
- strb r6, [r2, #0x0]
- strb r6, [r2, #0x1]
- strb r6, [r2, #0x2]
- strb r6, [r2, #0x3]
- add r2, r2, #0x4
- subs r0, r0, #0x1
- bne _020E3724
- add r7, sp, #0x41
- b _020E3768
-_020E3748:
- mov r1, #0x0
- mov r0, r8
- mov r2, r1
- add r7, r7, #0x1
- add r5, r5, #0x1
- add r4, r4, #0x1
- blx r9
- mov r1, r0
-_020E3768:
- cmp r5, #0x4
- bge _020E379C
- cmp r1, #0x0
- blt _020E3780
- cmp r1, #0x80
- blt _020E3788
-_020E3780:
- mov r2, r1
- b _020E3790
-_020E3788:
- ldr r0, _020E42FC ; =0x0210428C
- ldrb r2, [r0, r1]
-_020E3790:
- ldrsb r0, [r7, #0x0]
- cmp r0, r2
- beq _020E3748
-_020E379C:
- sub r0, r5, #0x3
- cmp r0, #0x1
- bhi _020E38B0
- cmp r5, #0x4
- bne _020E3854
- ldr r7, _020E42F8 ; =0x0210430C
- b _020E37DC
-_020E37B8:
- add r0, sp, #0x56
- strb r1, [r0, r6]
- mov r1, #0x0
- mov r0, r8
- mov r2, r1
- add r6, r6, #0x1
- add r4, r4, #0x1
- blx r9
- mov r1, r0
-_020E37DC:
- cmp r6, #0x20
- bge _020E3844
- cmp r1, #0x0
- blt _020E37F4
- cmp r1, #0x80
- blt _020E37FC
-_020E37F4:
- mov r0, #0x0
- b _020E3808
-_020E37FC:
- mov r0, r1, lsl #0x1
- ldrh r0, [r7, r0]
- and r0, r0, #0x8
-_020E3808:
- cmp r0, #0x0
- bne _020E37B8
- cmp r1, #0x0
- blt _020E3820
- cmp r1, #0x80
- blt _020E3828
-_020E3820:
- mov r0, #0x0
- b _020E3834
-_020E3828:
- mov r0, r1, lsl #0x1
- ldrh r0, [r7, r0]
- and r0, r0, #0x1
-_020E3834:
- cmp r0, #0x0
- bne _020E37B8
- cmp r1, #0x2e
- beq _020E37B8
-_020E3844:
- cmp r1, #0x29
- movne r5, #0x1000
- bne _020E4104
- add r6, r6, #0x1
-_020E3854:
- add r0, sp, #0x56
- mov r1, #0x0
- strb r1, [r0, r6]
- ldr r1, [sp, #0x28]
- cmp r1, #0x0
- beq _020E3888
- bl nan
- mov r2, r0
- mov r0, #0x0
- mov r3, r1
- mov r1, r0
- bl _dsub
-_020E3884: ; 0x020E3884
- b _020E388C
-_020E3888:
- bl nan
-_020E388C:
- ldr r2, [sp, #0x2c]
- add r2, r2, r5
- add r3, r6, r2
- ldr r2, [sp, #0x18]
- add r3, r2, r3
- ldr r2, [sp, #0x4]
- add sp, sp, #0xa8
- str r3, [r2, #0x0]
- ldmia sp!, {r3-r11,pc}
-_020E38B0:
- mov r5, #0x1000
- b _020E4104
-_020E38B8:
- cmp r1, #0x2e
- bne _020E38E0
- mov r5, #0x10
- add r4, r4, #0x1
- mov r0, r8
- mov r1, #0x0
- mov r2, r1
- blx r9
- mov r1, r0
- b _020E4104
-_020E38E0:
- cmp r1, #0x0
- blt _020E38F0
- cmp r1, #0x80
- blt _020E38F8
-_020E38F0:
- mov r0, #0x0
- b _020E3908
-_020E38F8:
- mov r2, r1, lsl #0x1
- ldr r0, _020E42F8 ; =0x0210430C
- ldrh r0, [r0, r2]
- and r0, r0, #0x8
-_020E3908:
- cmp r0, #0x0
- moveq r5, #0x1000
- beq _020E4104
- cmp r1, #0x30
- bne _020E3960
- add r4, r4, #0x1
- mov r0, r8
- mov r1, #0x0
- mov r2, r1
- blx r9
- cmp r0, #0x0
- mov r1, r0
- blt _020E394C
- cmp r0, #0x80
- bge _020E394C
- ldr r2, _020E42FC ; =0x0210428C
- ldrb r0, [r2, r0]
-_020E394C:
- cmp r0, #0x58
- moveq r5, #0x8000
- moveq r10, #0x1
- movne r5, #0x4
- b _020E4104
-_020E3960:
- mov r5, #0x8
- b _020E4104
-_020E3968:
- cmp r1, #0x30
- movne r5, #0x8
- bne _020E4104
- mov r1, #0x0
- mov r0, r8
- mov r2, r1
- add r4, r4, #0x1
- blx r9
- mov r1, r0
- b _020E4104
-_020E3990:
- cmp r1, #0x0
- blt _020E39A0
- cmp r1, #0x80
- blt _020E39A8
-_020E39A0:
- mov r0, #0x0
- b _020E39B8
-_020E39A8:
- mov r2, r1, lsl #0x1
- ldr r0, _020E42F8 ; =0x0210430C
- ldrh r0, [r0, r2]
- and r0, r0, #0x8
-_020E39B8:
- cmp r0, #0x0
- bne _020E39EC
- cmp r1, #0x2e
- movne r5, #0x40
- bne _020E4104
- mov r1, #0x0
- mov r0, r8
- mov r2, r1
- mov r5, #0x20
- add r4, r4, #0x1
- blx r9
- mov r1, r0
- b _020E4104
-_020E39EC:
- ldrb r2, [sp, #0x84]
- cmp r2, #0x14
- ldrcs r0, [sp, #0x1c]
- addcs r0, r0, #0x1
- strcs r0, [sp, #0x1c]
- bhs _020E3A18
- add r0, r2, #0x1
- strb r0, [sp, #0x84]
- add r0, sp, #0x80
- add r0, r0, r2
- strb r1, [r0, #0x5]
-_020E3A18:
- add r4, r4, #0x1
- mov r0, r8
- mov r1, #0x0
- mov r2, r1
- blx r9
- mov r1, r0
- b _020E4104
-_020E3A34:
- cmp r1, #0x0
- blt _020E3A44
- cmp r1, #0x80
- blt _020E3A4C
-_020E3A44:
- mov r0, #0x0
- b _020E3A5C
-_020E3A4C:
- mov r2, r1, lsl #0x1
- ldr r0, _020E42F8 ; =0x0210430C
- ldrh r0, [r0, r2]
- and r0, r0, #0x8
-_020E3A5C:
- cmp r0, #0x0
- moveq r5, #0x1000
- movne r5, #0x20
- b _020E4104
-_020E3A6C:
- cmp r1, #0x0
- blt _020E3A7C
- cmp r1, #0x80
- blt _020E3A84
-_020E3A7C:
- mov r0, #0x0
- b _020E3A94
-_020E3A84:
- mov r2, r1, lsl #0x1
- ldr r0, _020E42F8 ; =0x0210430C
- ldrh r0, [r0, r2]
- and r0, r0, #0x8
-_020E3A94:
- cmp r0, #0x0
- moveq r5, #0x40
- beq _020E4104
- ldrb r3, [sp, #0x84]
- cmp r3, #0x14
- bhs _020E3ADC
- cmp r1, #0x30
- cmpeq r3, #0x0
- beq _020E3AD0
- ldrb r2, [sp, #0x84]
- add r0, sp, #0x80
- add r0, r0, r3
- add r2, r2, #0x1
- strb r2, [sp, #0x84]
- strb r1, [r0, #0x5]
-_020E3AD0:
- ldr r0, [sp, #0x1c]
- sub r0, r0, #0x1
- str r0, [sp, #0x1c]
-_020E3ADC:
- add r4, r4, #0x1
- mov r0, r8
- mov r1, #0x0
- mov r2, r1
- blx r9
- mov r1, r0
- b _020E4104
-_020E3AF8:
- cmp r1, #0x0
- blt _020E3B08
- cmp r1, #0x80
- blt _020E3B10
-_020E3B08:
- mov r0, r1
- b _020E3B18
-_020E3B10:
- ldr r0, _020E42FC ; =0x0210428C
- ldrb r0, [r0, r1]
-_020E3B18:
- cmp r0, #0x45
- movne r5, #0x800
- bne _020E4104
- mov r1, #0x0
- mov r0, r8
- mov r2, r1
- mov r5, #0x80
- add r4, r4, #0x1
- blx r9
- mov r1, r0
- b _020E4104
-_020E3B44:
- cmp r1, #0x2b
- bne _020E3B68
- add r4, r4, #0x1
- mov r0, r8
- mov r1, #0x0
- mov r2, r1
- blx r9
- mov r1, r0
- b _020E3B90
-_020E3B68:
- cmp r1, #0x2d
- bne _020E3B90
- mov r1, #0x0
- mov r0, r8
- mov r2, r1
- add r4, r4, #0x1
- blx r9
- mov r1, r0
- mov r0, #0x1
- str r0, [sp, #0x24]
-_020E3B90:
- mov r5, #0x100
- b _020E4104
-_020E3B98:
- cmp r1, #0x0
- blt _020E3BA8
- cmp r1, #0x80
- blt _020E3BB0
-_020E3BA8:
- mov r0, #0x0
- b _020E3BC0
-_020E3BB0:
- mov r2, r1, lsl #0x1
- ldr r0, _020E42F8 ; =0x0210430C
- ldrh r0, [r0, r2]
- and r0, r0, #0x8
-_020E3BC0:
- cmp r0, #0x0
- moveq r5, #0x1000
- beq _020E4104
- cmp r1, #0x30
- movne r5, #0x400
- bne _020E4104
- mov r1, #0x0
- mov r0, r8
- mov r2, r1
- mov r5, #0x200
- add r4, r4, #0x1
- blx r9
- mov r1, r0
- b _020E4104
-_020E3BF8:
- cmp r1, #0x30
- movne r5, #0x400
- bne _020E4104
- mov r1, #0x0
- mov r0, r8
- mov r2, r1
- add r4, r4, #0x1
- blx r9
- mov r1, r0
- b _020E4104
-_020E3C20:
- cmp r1, #0x0
- blt _020E3C30
- cmp r1, #0x80
- blt _020E3C38
-_020E3C30:
- mov r0, #0x0
- b _020E3C48
-_020E3C38:
- mov r2, r1, lsl #0x1
- ldr r0, _020E42F8 ; =0x0210430C
- ldrh r0, [r0, r2]
- and r0, r0, #0x8
-_020E3C48:
- cmp r0, #0x0
- moveq r5, #0x800
- beq _020E4104
- ldr r0, [sp, #0x20]
- sub r2, r1, #0x30
- mov r1, #0xa
- mla r0, r1, r0, r2
- ldr r1, _020E4304 ; =0x00007FFF
- str r0, [sp, #0x20]
- cmp r0, r1
- ldrgt r0, [sp, #0xd0]
- movgt r1, #0x1
- strgt r1, [r0, #0x0]
- mov r1, #0x0
- mov r0, r8
- mov r2, r1
- add r4, r4, #0x1
- blx r9
- mov r1, r0
- b _020E4104
-_020E3C98:
- cmp r10, #0x20
- bgt _020E3CE8
- bge _020E3FBC
- cmp r10, #0x8
- bgt _020E3CDC
- cmp r10, #0x0
- addge pc, pc, r10, lsl #0x2
- b _020E4104
-_020E3CB8: ; 0x020E3CB8
- b _020E4104
-_020E3CBC: ; 0x020E3CBC
- b _020E3D0C
-_020E3CC0: ; 0x020E3CC0
- b _020E3D5C
-_020E3CC4: ; 0x020E3CC4
- b _020E4104
-_020E3CC8: ; 0x020E3CC8
- b _020E3D84
-_020E3CCC: ; 0x020E3CCC
- b _020E4104
-_020E3CD0: ; 0x020E3CD0
- b _020E4104
-_020E3CD4: ; 0x020E3CD4
- b _020E4104
-_020E3CD8: ; 0x020E3CD8
- b _020E3E94
-_020E3CDC:
- cmp r10, #0x10
- beq _020E3F70
- b _020E4104
-_020E3CE8:
- cmp r10, #0x80
- bgt _020E3D00
- bge _020E4064
- cmp r10, #0x40
- beq _020E4004
- b _020E4104
-_020E3D00:
- cmp r10, #0x100
- beq _020E408C
- b _020E4104
-_020E3D0C:
- mov r1, #0x0
- add r0, sp, #0x45
- str r0, [sp, #0x14]
- 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 r0, r8
- mov r2, r1
- str r1, [sp, #0x8]
- mov r11, r1
- mov r10, #0x2
- add r4, r4, #0x1
- blx r9
- mov r1, r0
- b _020E4104
-_020E3D5C:
- cmp r1, #0x30
- movne r10, #0x4
- bne _020E4104
- mov r1, #0x0
- mov r0, r8
- mov r2, r1
- add r4, r4, #0x1
- blx r9
- mov r1, r0
- b _020E4104
-_020E3D84:
- cmp r1, #0x0
- blt _020E3D94
- cmp r1, #0x80
- blt _020E3D9C
-_020E3D94:
- mov r0, #0x0
- b _020E3DAC
-_020E3D9C:
- mov r2, r1, lsl #0x1
- ldr r0, _020E42F8 ; =0x0210430C
- ldrh r0, [r0, r2]
- and r0, r0, #0x400
-_020E3DAC:
- cmp r0, #0x0
- bne _020E3DE0
- cmp r1, #0x2e
- movne r10, #0x10
- bne _020E4104
- mov r1, #0x0
- mov r0, r8
- mov r2, r1
- mov r10, #0x8
- add r4, r4, #0x1
- blx r9
- mov r1, r0
- b _020E4104
-_020E3DE0:
- ldr r2, [sp, #0x8]
- mov r0, #0xe
- cmp r2, r0
- bhs _020E3E78
- mov r0, r2
- add r0, r0, #0x1
- str r0, [sp, #0x8]
- ldr r0, [sp, #0x14]
- add r2, r11, r11, lsr #0x1f
- cmp r1, #0x0
- ldrb r0, [r0, r2, asr #0x1]
- blt _020E3E20
- cmp r1, #0x80
- bge _020E3E20
- ldr r2, _020E42FC ; =0x0210428C
- ldrb r1, [r2, r1]
-_020E3E20:
- cmp r1, #0x41
- subge r1, r1, #0x37
- sublt r1, r1, #0x30
- mov r2, r11, lsr #0x1f
- and r3, r1, #0xff
- rsb r1, r2, r11, lsl #0x1f
- adds r1, r2, r1, ror #0x1f
- moveq r1, r3, lsl #0x4
- add r2, r11, r11, lsr #0x1f
- orrne r0, r0, r3
- andeq r1, r1, #0xff
- orreq r0, r0, r1
- ldr r1, [sp, #0x14]
- add r11, r11, #0x1
- strb r0, [r1, r2, asr #0x1]
- mov r1, #0x0
- mov r0, r8
- mov r2, r1
- add r4, r4, #0x1
- blx r9
- mov r1, r0
- b _020E4104
-_020E3E78:
- add r4, r4, #0x1
- mov r0, r8
- mov r1, #0x0
- mov r2, r1
- blx r9
- mov r1, r0
- b _020E4104
-_020E3E94:
- cmp r1, #0x0
- blt _020E3EA4
- cmp r1, #0x80
- blt _020E3EAC
-_020E3EA4:
- mov r0, #0x0
- b _020E3EBC
-_020E3EAC:
- mov r2, r1, lsl #0x1
- ldr r0, _020E42F8 ; =0x0210430C
- ldrh r0, [r0, r2]
- and r0, r0, #0x400
-_020E3EBC:
- cmp r0, #0x0
- moveq r10, #0x10
- beq _020E4104
- ldr r2, [sp, #0x8]
- mov r0, #0xe
- cmp r2, r0
- bhs _020E3F54
- ldr r0, [sp, #0x14]
- add r2, r11, r11, lsr #0x1f
- cmp r1, #0x0
- ldrb r0, [r0, r2, asr #0x1]
- blt _020E3EFC
- cmp r1, #0x80
- bge _020E3EFC
- ldr r2, _020E42FC ; =0x0210428C
- ldrb r1, [r2, r1]
-_020E3EFC:
- cmp r1, #0x41
- subge r1, r1, #0x37
- sublt r1, r1, #0x30
- mov r2, r11, lsr #0x1f
- and r3, r1, #0xff
- rsb r1, r2, r11, lsl #0x1f
- adds r1, r2, r1, ror #0x1f
- moveq r1, r3, lsl #0x4
- add r2, r11, r11, lsr #0x1f
- orrne r0, r0, r3
- andeq r1, r1, #0xff
- orreq r0, r0, r1
- ldr r1, [sp, #0x14]
- add r11, r11, #0x1
- strb r0, [r1, r2, asr #0x1]
- mov r1, #0x0
- mov r0, r8
- mov r2, r1
- add r4, r4, #0x1
- blx r9
- mov r1, r0
- b _020E4104
-_020E3F54:
- add r4, r4, #0x1
- mov r0, r8
- mov r1, #0x0
- mov r2, r1
- blx r9
- mov r1, r0
- b _020E4104
-_020E3F70:
- cmp r1, #0x0
- blt _020E3F80
- cmp r1, #0x80
- blt _020E3F88
-_020E3F80:
- mov r0, r1
- b _020E3F90
-_020E3F88:
- ldr r0, _020E42FC ; =0x0210428C
- ldrb r0, [r0, r1]
-_020E3F90:
- cmp r0, #0x50
- movne r5, #0x800
- bne _020E4104
- mov r1, #0x0
- mov r0, r8
- mov r2, r1
- mov r10, #0x20
- add r4, r4, #0x1
- blx r9
- mov r1, r0
- b _020E4104
-_020E3FBC:
- cmp r1, #0x2d
- moveq r0, #0x1
- streq r0, [sp, #0xc]
- beq _020E3FE4
- cmp r1, #0x2b
- beq _020E3FE4
- mov r0, r8
- mov r2, #0x1
- blx r9
- sub r4, r4, #0x1
-_020E3FE4:
- mov r10, #0x40
- add r4, r4, #0x1
- mov r0, r8
- mov r1, #0x0
- mov r2, r1
- blx r9
- mov r1, r0
- b _020E4104
-_020E4004:
- cmp r1, #0x0
- blt _020E4014
- cmp r1, #0x80
- blt _020E401C
-_020E4014:
- mov r0, #0x0
- b _020E402C
-_020E401C:
- mov r2, r1, lsl #0x1
- ldr r0, _020E42F8 ; =0x0210430C
- ldrh r0, [r0, r2]
- and r0, r0, #0x8
-_020E402C:
- cmp r0, #0x0
- moveq r5, #0x1000
- beq _020E4104
- cmp r1, #0x30
- movne r10, #0x100
- bne _020E4104
- mov r1, #0x0
- mov r0, r8
- mov r2, r1
- mov r10, #0x80
- add r4, r4, #0x1
- blx r9
- mov r1, r0
- b _020E4104
-_020E4064:
- cmp r1, #0x30
- movne r10, #0x100
- bne _020E4104
- mov r1, #0x0
- mov r0, r8
- mov r2, r1
- add r4, r4, #0x1
- blx r9
- mov r1, r0
- b _020E4104
-_020E408C:
- cmp r1, #0x0
- blt _020E409C
- cmp r1, #0x80
- blt _020E40A4
-_020E409C:
- mov r0, #0x0
- b _020E40B4
-_020E40A4:
- mov r2, r1, lsl #0x1
- ldr r0, _020E42F8 ; =0x0210430C
- ldrh r0, [r0, r2]
- and r0, r0, #0x8
-_020E40B4:
- cmp r0, #0x0
- moveq r5, #0x800
- beq _020E4104
- ldr r0, [sp, #0x10]
- sub r2, r1, #0x30
- mov r1, #0xa
- mla r0, r1, r0, r2
- str r0, [sp, #0x10]
- ldr r1, _020E4304 ; =0x00007FFF
- ldr r0, [sp, #0x20]
- add r4, r4, #0x1
- cmp r0, r1
- ldrgt r0, [sp, #0xd0]
- movgt r1, #0x1
- strgt r1, [r0, #0x0]
- mov r1, #0x0
- mov r0, r8
- mov r2, r1
- blx r9
- mov r1, r0
-_020E4104:
- ldr r0, [sp, #0x0]
- cmp r4, r0
- bgt _020E4124
- mvn r0, #0x0
- cmp r1, r0
- beq _020E4124
- tst r5, #0x1800
- beq _020E3418
-_020E4124:
- cmp r5, #0x8000
- beq _020E4140
- ldr r0, _020E4308 ; =0x00000E2C
- tst r5, r0
- moveq r0, #0x1
- movne r0, #0x0
- b _020E4164
-_020E4140:
- sub r0, r4, #0x1
- cmp r0, #0x2
- ble _020E4158
- ldr r0, _020E430C ; =0x0000018E
- tst r10, r0
- bne _020E4160
-_020E4158:
- mov r0, #0x1
- b _020E4164
-_020E4160:
- mov r0, #0x0
-_020E4164:
- cmp r0, #0x0
- movne r2, #0x0
- ldrne r0, [sp, #0x4]
- bne _020E4184
- ldr r0, [sp, #0x2c]
- sub r2, r4, #0x1
- add r2, r2, r0
- ldr r0, [sp, #0x4]
-_020E4184:
- str r2, [r0, #0x0]
- mov r0, r8
- mov r2, #0x1
- blx r9
- cmp r10, #0x0
- bne _020E4388
- ldr r0, [sp, #0x24]
- ldrb r2, [sp, #0x84]
- cmp r0, #0x0
- ldrne r0, [sp, #0x20]
- rsbne r0, r0, #0x0
- strne r0, [sp, #0x20]
- add r0, sp, #0x85
- add r1, r0, r2
- b _020E41CC
-_020E41C0:
- ldr r0, [sp, #0x1c]
- add r0, r0, #0x1
- str r0, [sp, #0x1c]
-_020E41CC:
- cmp r2, #0x0
- sub r2, r2, #0x1
- beq _020E41E4
- ldrb r0, [r1, #-0x1]!
- cmp r0, #0x30
- beq _020E41C0
-_020E41E4:
- add r0, r2, #0x1
- strb r0, [sp, #0x84]
- ands r2, r0, #0xff
- bne _020E4208
- add r1, r2, #0x1
- strb r1, [sp, #0x84]
- add r0, sp, #0x85
- mov r1, #0x30
- strb r1, [r0, r2]
-_020E4208:
- ldr r1, [sp, #0x20]
- ldr r0, [sp, #0x1c]
- mov r2, #0x8000
- add r0, r1, r0
- rsb r2, r2, #0x0
- str r0, [sp, #0x20]
- cmp r0, r2
- blt _020E4230
- cmp r0, r2, lsr #0x11
- ble _020E423C
-_020E4230:
- ldr r0, [sp, #0xd0]
- mov r1, #0x1
- str r1, [r0, #0x0]
-_020E423C:
- ldr r0, [sp, #0xd0]
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- beq _020E4298
- ldr r0, [sp, #0x24]
- cmp r0, #0x0
- movne r0, #0x0
- addne sp, sp, #0xa8
- movne r1, r0
- ldmneia sp!, {r3-r11,pc}
-_020E4264: ; 0x020E4264
- ldr r0, [sp, #0x28]
- cmp r0, #0x0
- ldreq r1, _020E4310 ; =0x02106B7C
- addeq sp, sp, #0xa8
- ldmeqia r1, {r0-r1}
- ldmeqia sp!, {r3-r11,pc}
-_020E427C: ; 0x020E427C
- ldr r1, _020E4310 ; =0x02106B7C
- mov r0, #0x0
- ldmia r1, {r2-r3}
- mov r1, r0
- bl _dsub
- add sp, sp, #0xa8
- ldmia sp!, {r3-r11,pc}
-_020E4298:
- ldr r1, [sp, #0x20]
- add r0, sp, #0x80
- strh r1, [sp, #0x82]
- bl __dec2num
- mov r4, r0
- mov r6, r1
- mov r0, #0x0
- mov r1, r0
- mov r2, r4
- mov r3, r6
- bl _dneq
- beq _020E4318
- mov r0, r4
- mov r1, r6
- mov r2, #0x0
- mov r3, #0x100000
- bl _dls
- bhs _020E4318
- ldr r0, [sp, #0xd0]
- mov r1, #0x1
- str r1, [r0, #0x0]
- b _020E4344
- .balign 4
-_020E42F0: .word 0x02104439
-_020E42F4: .word 0x02104434
-_020E42F8: .word 0x0210430C
-_020E42FC: .word 0x0210428C
-_020E4300: .word 0x02106B74
-_020E4304: .word 0x00007FFF
-_020E4308: .word 0x00000E2C
-_020E430C: .word 0x0000018E
-_020E4310: .word 0x02106B7C
-_020E4314: .word 0x7FEFFFFF
-_020E4318:
- ldr r3, _020E4314 ; =0x7FEFFFFF
- mov r0, r4
- mov r1, r6
- mvn r2, #0x0
- bl _dgr
- bls _020E4344
- ldr r0, [sp, #0xd0]
- mov r2, #0x1
- ldr r1, _020E4310 ; =0x02106B7C
- str r2, [r0, #0x0]
- ldmia r1, {r4,r6}
-_020E4344:
- ldr r0, [sp, #0x28]
- cmp r0, #0x0
- beq _020E4378
- ldr r0, _020E4308 ; =0x00000E2C
- tst r5, r0
- beq _020E4378
- mov r0, #0x0
- mov r1, r0
- mov r2, r4
- mov r3, r6
- bl _dsub
- mov r4, r0
- mov r6, r1
-_020E4378:
- add sp, sp, #0xa8
- mov r0, r4
- mov r1, r6
- ldmia sp!, {r3-r11,pc}
-_020E4388:
- ldr r0, [sp, #0xc]
- add r4, sp, #0x38
- cmp r0, #0x0
- ldrne r0, [sp, #0x10]
- ldrb r3, [sp, #0x45]
- rsbne r0, r0, #0x0
- strne r0, [sp, #0x10]
- ldr r1, [sp, #0x10]
- ldr r0, [sp, #0x8]
- mov r2, #0x0
- add r0, r1, r0, lsl #0x2
- str r0, [sp, #0x10]
- mov r1, #0x80
- b _020E43D0
-_020E43C0:
- ldr r0, [sp, #0x10]
- add r2, r2, #0x1
- sub r0, r0, #0x1
- str r0, [sp, #0x10]
-_020E43D0:
- cmp r2, #0x4
- bhs _020E43E0
- tst r3, r1, asr r2
- beq _020E43C0
-_020E43E0:
- adds r5, r2, #0x1
- beq _020E442C
- add r0, sp, #0x4c
- add r3, sp, #0x45
- str r0, [sp, #0x14]
- mov r1, #0x0
- cmp r0, r3
- blo _020E442C
- rsb r6, r5, #0x8
-_020E4404:
- ldr r0, [sp, #0x14]
- ldrb r0, [r0, #0x0]
- orr r2, r1, r0, lsl r5
- mov r1, r0, asr r6
- ldr r0, [sp, #0x14]
- and r1, r1, #0xff
- strb r2, [r0], #-0x1
- str r0, [sp, #0x14]
- cmp r0, r3
- bhs _020E4404
-_020E442C:
- mov r2, #0x0
- mov r6, r2
- strb r2, [r4, #0x0]
- strb r2, [r4, #0x1]
- strb r2, [r4, #0x2]
- strb r2, [r4, #0x3]
- strb r2, [r4, #0x4]
- strb r2, [r4, #0x5]
- strb r2, [r4, #0x6]
- strb r2, [r4, #0x7]
- mov r3, #0xc
- mov r7, #0x1
- mov r0, #0xff
- add r1, sp, #0x45
-_020E4464:
- add r5, r2, #0x8
- cmp r5, #0x34
- ldrb r5, [r1, r6]
- rsbhi r8, r2, #0x34
- and r11, r3, #0x7
- andhi r5, r5, r0, lsl r8
- andhi r5, r5, #0xff
- mov r8, r5, asr r11
- and r9, r8, #0xff
- ldrb r10, [r4, r7]
- rsb r8, r11, #0x8
- mov r5, r5, lsl r8
- orr r9, r10, r9
- strb r9, [r4, r7]
- add r7, r7, #0x1
- add r2, r2, #0x8
- ldrb r8, [r4, r7]
- and r5, r5, #0xff
- cmp r2, #0x34
- orr r5, r8, r5
- strb r5, [r4, r7]
- add r3, r3, #0x8
- add r6, r6, #0x1
- blo _020E4464
- ldr r0, [sp, #0x10]
- mov r1, #0x800
- add r0, r0, #0xfe
- add r2, r0, #0x300
- rsb r1, r1, #0x0
- tst r2, r1
- beq _020E44FC
- ldr r2, [sp, #0xd0]
- mov r3, #0x1
- mov r0, #0x0
- add sp, sp, #0xa8
- mov r1, r0
- str r3, [r2, #0x0]
- ldmia sp!, {r3-r11,pc}
-_020E44FC:
- ldrb r0, [r4, #0x1]
- mov r2, r2, lsl #0x15
- ldrb r1, [r4, #0x0]
- orr r0, r0, r2, lsr #0x11
- strb r0, [r4, #0x1]
- ldr r0, [sp, #0x28]
- orr r1, r1, r2, lsr #0x19
- cmp r0, #0x0
- andne r0, r1, #0xff
- strb r1, [r4, #0x0]
- orrne r0, r0, #0x80
- strneb r0, [r4, #0x0]
- mov r3, #0x0
-_020E4530:
- rsb r1, r3, #0x7
- ldrb r2, [r4, r3]
- ldrb r0, [r4, r1]
- strb r0, [r4, r3]
- add r3, r3, #0x1
- strb r2, [r4, r1]
- cmp r3, #0x4
- blt _020E4530
- ldmia r4, {r0-r1}
- add sp, sp, #0xa8
- ldmia sp!, {r3-r11,pc}
-
- arm_func_start strtold
-strtold: ; 0x020E455C
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x14
- mov r7, r0
- mov r0, #0x0
- mov r6, r1
- str r0, [sp, #0x8]
- add r4, sp, #0xc
- str r7, [sp, #0x4]
- ldr r1, _020E4630 ; =__StringRead
- add r2, sp, #0x4
- add r3, sp, #0x10
- sub r0, r0, #0x80000001
- str r4, [sp, #0x0]
- bl __strtold
- mov r5, r1
- mov r4, r0
- cmp r6, #0x0
- ldrne r0, [sp, #0x10]
- mov r1, r5
- addne r0, r7, r0
- strne r0, [r6, #0x0]
- mov r0, r4
- bl fabs
- ldr r2, [sp, #0xc]
- mov r6, r0
- mov r7, r1
- cmp r2, #0x0
- bne _020E4614
- mov r0, #0x0
- mov r1, r0
- mov r2, r4
- mov r3, r5
- bl _dneq
- beq _020E4620
- mov r0, r6
- mov r1, r7
- mov r2, #0x0
- mov r3, #0x100000
- bl _dls
- blo _020E4614
- ldr r3, _020E4634 ; =0x7FEFFFFF
- mov r0, r6
- mov r1, r7
- mvn r2, #0x0
- bl _dgr
- bls _020E4620
-_020E4614:
- ldr r0, _020E4638 ; =0x021D74A8
- mov r1, #0x22
- str r1, [r0, #0x0]
-_020E4620:
- mov r0, r4
- mov r1, r5
- add sp, sp, #0x14
- ldmia sp!, {r4-r7,pc}
- .balign 4
-_020E4630: .word __StringRead
-_020E4634: .word 0x7FEFFFFF
-_020E4638: .word 0x021D74A8
-
- arm_func_start atod
-atod: ; 0x020E463C
- ldr ip, _020E4648 ; =strtold
- mov r1, #0x0
- bx r12
- .balign 4
-_020E4648: .word strtold
-
- arm_func_start __strtoul
-__strtoul:
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0xc
- ldr r4, [sp, #0x38]
- movs r9, r0
- ldr r0, [sp, #0x34]
- str r4, [sp, #0x38]
- mov r4, #0x0
- str r0, [sp, #0x34]
- ldr r0, [sp, #0x38]
- str r1, [sp, #0x0]
- str r4, [r0, #0x0]
- mov r0, r4
- str r0, [sp, #0x4]
- ldr r0, [sp, #0x34]
- mov r1, r4
- str r1, [r0, #0x0]
- ldr r0, [sp, #0x30]
- str r4, [sp, #0x8]
- mov r8, r2
- mov r7, r3
- mov r5, r4
- mov r10, r4
- str r0, [sp, #0x30]
- mov r4, #0x1
- bmi _020E46CC
- cmp r9, #0x1
- beq _020E46CC
- cmp r9, #0x24
- bgt _020E46CC
- ldr r0, [sp, #0x0]
- cmp r0, #0x1
- bge _020E46D4
-_020E46CC:
- mov r4, #0x40
- b _020E46F0
-_020E46D4:
- ldr r1, [sp, #0x8]
- mov r0, r7
- mov r3, r1
- mov r2, r1
- add r5, r3, #0x1
- blx r8
- mov r6, r0
-_020E46F0:
- cmp r9, #0x0
- beq _020E4708
- mov r1, r9
- mvn r0, #0x0
- bl _u32_div_f
- str r0, [sp, #0x4]
-_020E4708:
- mvn r11, #0x0
- b _020E49C8
-_020E4710:
- cmp r4, #0x8
- bgt _020E4748
- cmp r4, #0x0
- addge pc, pc, r4, lsl #0x2
- b _020E49C8
-_020E4724: ; 0x020E4724
- b _020E49C8
-_020E4728: ; 0x020E4728
- b _020E4754
-_020E472C: ; 0x020E472C
- b _020E4800
-_020E4730: ; 0x020E4730
- b _020E49C8
-_020E4734: ; 0x020E4734
- b _020E483C
-_020E4738: ; 0x020E4738
- b _020E49C8
-_020E473C: ; 0x020E473C
- b _020E49C8
-_020E4740: ; 0x020E4740
- b _020E49C8
-_020E4744: ; 0x020E4744
- b _020E487C
-_020E4748:
- cmp r4, #0x10
- beq _020E487C
- b _020E49C8
-_020E4754:
- cmp r6, #0x0
- blt _020E4764
- cmp r6, #0x80
- blt _020E476C
-_020E4764:
- mov r0, #0x0
- b _020E477C
-_020E476C:
- ldr r0, _020E4A2C ; =0x0210430C
- mov r1, r6, lsl #0x1
- ldrh r0, [r0, r1]
- and r0, r0, #0x100
-_020E477C:
- cmp r0, #0x0
- beq _020E47A8
- mov r1, #0x0
- mov r0, r7
- mov r2, r1
- blx r8
- mov r6, r0
- ldr r0, [sp, #0x8]
- add r0, r0, #0x1
- str r0, [sp, #0x8]
- b _020E49C8
-_020E47A8:
- cmp r6, #0x2b
- bne _020E47CC
- mov r1, #0x0
- mov r0, r7
- mov r2, r1
- add r5, r5, #0x1
- blx r8
- mov r6, r0
- b _020E47F8
-_020E47CC:
- cmp r6, #0x2d
- bne _020E47F8
- mov r1, #0x0
- mov r0, r7
- mov r2, r1
- add r5, r5, #0x1
- blx r8
- mov r6, r0
- ldr r0, [sp, #0x34]
- mov r1, #0x1
- str r1, [r0, #0x0]
-_020E47F8:
- mov r4, #0x2
- b _020E49C8
-_020E4800:
- cmp r9, #0x0
- cmpne r9, #0x10
- bne _020E4834
- cmp r6, #0x30
- bne _020E4834
- mov r1, #0x0
- mov r0, r7
- mov r2, r1
- mov r4, #0x4
- add r5, r5, #0x1
- blx r8
- mov r6, r0
- b _020E49C8
-_020E4834:
- mov r4, #0x8
- b _020E49C8
-_020E483C:
- cmp r6, #0x58
- cmpne r6, #0x78
- bne _020E486C
- mov r1, #0x0
- mov r0, r7
- mov r2, r1
- mov r9, #0x10
- mov r4, #0x8
- add r5, r5, #0x1
- blx r8
- mov r6, r0
- b _020E49C8
-_020E486C:
- cmp r9, #0x0
- moveq r9, #0x8
- mov r4, #0x10
- b _020E49C8
-_020E487C:
- ldr r0, [sp, #0x4]
- cmp r9, #0x0
- moveq r9, #0xa
- cmp r0, #0x0
- bne _020E48A0
- mov r0, r11
- mov r1, r9
- bl _u32_div_f
- str r0, [sp, #0x4]
-_020E48A0:
- cmp r6, #0x0
- blt _020E48B0
- cmp r6, #0x80
- blt _020E48B8
-_020E48B0:
- mov r0, #0x0
- b _020E48C8
-_020E48B8:
- ldr r0, _020E4A2C ; =0x0210430C
- mov r1, r6, lsl #0x1
- ldrh r0, [r0, r1]
- and r0, r0, #0x8
-_020E48C8:
- cmp r0, #0x0
- beq _020E48F0
- sub r6, r6, #0x30
- cmp r6, r9
- blt _020E4978
- cmp r4, #0x10
- moveq r4, #0x20
- movne r4, #0x40
- add r6, r6, #0x30
- b _020E49C8
-_020E48F0:
- cmp r6, #0x0
- blt _020E4900
- cmp r6, #0x80
- blt _020E4908
-_020E4900:
- mov r0, #0x0
- b _020E4918
-_020E4908:
- ldr r0, _020E4A2C ; =0x0210430C
- mov r1, r6, lsl #0x1
- ldrh r0, [r0, r1]
- and r0, r0, #0x1
-_020E4918:
- cmp r0, #0x0
- beq _020E494C
- cmp r6, #0x0
- blt _020E4930
- cmp r6, #0x80
- blt _020E4938
-_020E4930:
- mov r0, r6
- b _020E4940
-_020E4938:
- ldr r0, _020E4A30 ; =0x0210428C
- ldrb r0, [r0, r6]
-_020E4940:
- sub r0, r0, #0x37
- cmp r0, r9
- blt _020E495C
-_020E494C:
- cmp r4, #0x10
- moveq r4, #0x20
- movne r4, #0x40
- b _020E49C8
-_020E495C:
- cmp r6, #0x0
- blt _020E4974
- cmp r6, #0x80
- bge _020E4974
- ldr r0, _020E4A30 ; =0x0210428C
- ldrb r6, [r0, r6]
-_020E4974:
- sub r6, r6, #0x37
-_020E4978:
- ldr r0, [sp, #0x4]
- mov r4, #0x10
- cmp r10, r0
- ldrhi r0, [sp, #0x38]
- movhi r1, #0x1
- strhi r1, [r0, #0x0]
- mul r0, r10, r9
- mov r10, r0
- sub r0, r11, r0
- cmp r6, r0
- ldrhi r0, [sp, #0x38]
- movhi r1, #0x1
- strhi r1, [r0, #0x0]
- mov r1, #0x0
- mov r0, r7
- mov r2, r1
- add r10, r10, r6
- add r5, r5, #0x1
- blx r8
- mov r6, r0
-_020E49C8:
- ldr r0, [sp, #0x0]
- cmp r5, r0
- bgt _020E49E4
- cmp r6, r11
- beq _020E49E4
- tst r4, #0x60
- beq _020E4710
-_020E49E4:
- tst r4, #0x34
- bne _020E49FC
- ldr r0, [sp, #0x30]
- mov r10, #0x0
- str r10, [r0, #0x0]
- b _020E4A10
-_020E49FC:
- ldr r0, [sp, #0x8]
- sub r1, r5, #0x1
- add r1, r1, r0
- ldr r0, [sp, #0x30]
- str r1, [r0, #0x0]
-_020E4A10:
- mov r0, r7
- mov r1, r6
- mov r2, #0x1
- blx r8
- mov r0, r10
- add sp, sp, #0xc
- ldmia sp!, {r4-r11,pc}
- .balign 4
-_020E4A2C: .word 0x0210430C
-_020E4A30: .word 0x0210428C
-
- arm_func_start __strtoull
-__strtoull: ; 0x020E4A34
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0x1c
- ldr r4, [sp, #0x48]
- movs r9, r0
- ldr r0, [sp, #0x44]
- str r4, [sp, #0x48]
- mov r4, #0x0
- str r0, [sp, #0x44]
- ldr r0, [sp, #0x48]
- str r1, [sp, #0x0]
- str r4, [r0, #0x0]
- mov r0, r4
- str r0, [sp, #0xc]
- str r0, [sp, #0x8]
- ldr r0, [sp, #0x44]
- mov r1, r4
- str r1, [r0, #0x0]
- ldr r0, [sp, #0x40]
- str r4, [sp, #0x14]
- mov r8, r2
- mov r7, r3
- mov r5, r4
- mov r10, r4
- mov r11, r4
- str r0, [sp, #0x40]
- mov r4, #0x1
- bmi _020E4ABC
- cmp r9, #0x1
- beq _020E4ABC
- cmp r9, #0x24
- bgt _020E4ABC
- ldr r0, [sp, #0x0]
- cmp r0, #0x1
- bge _020E4AC4
-_020E4ABC:
- mov r4, #0x40
- b _020E4ADC
-_020E4AC4:
- ldr r1, [sp, #0x14]
- mov r0, r7
- mov r2, r1
- add r5, r1, #0x1
- blx r8
- mov r6, r0
-_020E4ADC:
- cmp r9, #0x0
- beq _020E4B00
- mvn r0, #0x0
- mov r1, r0
- mov r3, r9, asr #0x1f
- mov r2, r9
- bl _ll_udiv
- str r0, [sp, #0xc]
- str r1, [sp, #0x8]
-_020E4B00:
- mvn r0, #0x0
- str r0, [sp, #0x18]
- b _020E4E08
-_020E4B0C:
- cmp r4, #0x8
- bgt _020E4B44
- cmp r4, #0x0
- addge pc, pc, r4, lsl #0x2
- b _020E4E08
-_020E4B20: ; 0x020E4B20
- b _020E4E08
-_020E4B24: ; 0x020E4B24
- b _020E4B50
-_020E4B28: ; 0x020E4B28
- b _020E4BFC
-_020E4B2C: ; 0x020E4B2C
- b _020E4E08
-_020E4B30: ; 0x020E4B30
- b _020E4C38
-_020E4B34: ; 0x020E4B34
- b _020E4E08
-_020E4B38: ; 0x020E4B38
- b _020E4E08
-_020E4B3C: ; 0x020E4B3C
- b _020E4E08
-_020E4B40: ; 0x020E4B40
- b _020E4C78
-_020E4B44:
- cmp r4, #0x10
- beq _020E4C78
- b _020E4E08
-_020E4B50:
- cmp r6, #0x0
- blt _020E4B60
- cmp r6, #0x80
- blt _020E4B68
-_020E4B60:
- mov r0, #0x0
- b _020E4B78
-_020E4B68:
- ldr r0, _020E4E78 ; =0x0210430C
- mov r1, r6, lsl #0x1
- ldrh r0, [r0, r1]
- and r0, r0, #0x100
-_020E4B78:
- cmp r0, #0x0
- beq _020E4BA4
- mov r1, #0x0
- mov r0, r7
- mov r2, r1
- blx r8
- mov r6, r0
- ldr r0, [sp, #0x14]
- add r0, r0, #0x1
- str r0, [sp, #0x14]
- b _020E4E08
-_020E4BA4:
- cmp r6, #0x2b
- bne _020E4BC8
- mov r1, #0x0
- mov r0, r7
- mov r2, r1
- add r5, r5, #0x1
- blx r8
- mov r6, r0
- b _020E4BF4
-_020E4BC8:
- cmp r6, #0x2d
- bne _020E4BF4
- mov r1, #0x0
- mov r0, r7
- mov r2, r1
- add r5, r5, #0x1
- blx r8
- mov r6, r0
- ldr r0, [sp, #0x44]
- mov r1, #0x1
- str r1, [r0, #0x0]
-_020E4BF4:
- mov r4, #0x2
- b _020E4E08
-_020E4BFC:
- cmp r9, #0x0
- cmpne r9, #0x10
- bne _020E4C30
- cmp r6, #0x30
- bne _020E4C30
- mov r1, #0x0
- mov r0, r7
- mov r2, r1
- mov r4, #0x4
- add r5, r5, #0x1
- blx r8
- mov r6, r0
- b _020E4E08
-_020E4C30:
- mov r4, #0x8
- b _020E4E08
-_020E4C38:
- cmp r6, #0x58
- cmpne r6, #0x78
- bne _020E4C68
- mov r1, #0x0
- mov r0, r7
- mov r2, r1
- mov r9, #0x10
- mov r4, #0x8
- add r5, r5, #0x1
- blx r8
- mov r6, r0
- b _020E4E08
-_020E4C68:
- cmp r9, #0x0
- moveq r9, #0x8
- mov r4, #0x10
- b _020E4E08
-_020E4C78:
- ldr r1, [sp, #0x8]
- mov r0, #0x0
- cmp r9, #0x0
- moveq r9, #0xa
- cmp r1, r0
- ldr r1, [sp, #0xc]
- cmpeq r1, r0
- bne _020E4CB4
- ldr r0, [sp, #0x18]
- mov r3, r9, asr #0x1f
- mov r1, r0
- mov r2, r9
- bl _ll_udiv
- str r0, [sp, #0xc]
- str r1, [sp, #0x8]
-_020E4CB4:
- cmp r6, #0x0
- blt _020E4CC4
- cmp r6, #0x80
- blt _020E4CCC
-_020E4CC4:
- mov r0, #0x0
- b _020E4CDC
-_020E4CCC:
- ldr r0, _020E4E78 ; =0x0210430C
- mov r1, r6, lsl #0x1
- ldrh r0, [r0, r1]
- and r0, r0, #0x8
-_020E4CDC:
- cmp r0, #0x0
- beq _020E4D04
- sub r6, r6, #0x30
- cmp r6, r9
- blt _020E4D8C
- cmp r4, #0x10
- moveq r4, #0x20
- movne r4, #0x40
- add r6, r6, #0x30
- b _020E4E08
-_020E4D04:
- cmp r6, #0x0
- blt _020E4D14
- cmp r6, #0x80
- blt _020E4D1C
-_020E4D14:
- mov r0, #0x0
- b _020E4D2C
-_020E4D1C:
- ldr r0, _020E4E78 ; =0x0210430C
- mov r1, r6, lsl #0x1
- ldrh r0, [r0, r1]
- and r0, r0, #0x1
-_020E4D2C:
- cmp r0, #0x0
- beq _020E4D60
- cmp r6, #0x0
- blt _020E4D44
- cmp r6, #0x80
- blt _020E4D4C
-_020E4D44:
- mov r0, r6
- b _020E4D54
-_020E4D4C:
- ldr r0, _020E4E7C ; =0x0210428C
- ldrb r0, [r0, r6]
-_020E4D54:
- sub r0, r0, #0x37
- cmp r0, r9
- blt _020E4D70
-_020E4D60:
- cmp r4, #0x10
- moveq r4, #0x20
- movne r4, #0x40
- b _020E4E08
-_020E4D70:
- cmp r6, #0x0
- blt _020E4D88
- cmp r6, #0x80
- bge _020E4D88
- ldr r0, _020E4E7C ; =0x0210428C
- ldrb r6, [r0, r6]
-_020E4D88:
- sub r6, r6, #0x37
-_020E4D8C:
- ldr r0, [sp, #0x8]
- umull r2, r3, r10, r9
- cmp r11, r0
- ldr r0, [sp, #0xc]
- mov r4, #0x10
- cmpeq r10, r0
- ldrhi r0, [sp, #0x48]
- movhi r1, #0x1
- strhi r1, [r0, #0x0]
- mov r1, r9, asr #0x1f
- mla r3, r10, r1, r3
- mla r3, r11, r9, r3
- ldr r1, [sp, #0x18]
- mov r10, r2
- subs r2, r1, r2
- mov r0, r6, asr #0x1f
- sbc r1, r1, r3
- cmp r0, r1
- cmpeq r6, r2
- ldrhi r1, [sp, #0x48]
- movhi r2, #0x1
- strhi r2, [r1, #0x0]
- mov r1, #0x0
- mov r11, r3
- adds r10, r10, r6
- adc r11, r11, r0
- mov r0, r7
- mov r2, r1
- add r5, r5, #0x1
- blx r8
- mov r6, r0
-_020E4E08:
- ldr r0, [sp, #0x0]
- cmp r5, r0
- bgt _020E4E28
- ldr r0, [sp, #0x18]
- cmp r6, r0
- beq _020E4E28
- tst r4, #0x60
- beq _020E4B0C
-_020E4E28:
- tst r4, #0x34
- bne _020E4E44
- ldr r0, [sp, #0x40]
- mov r10, #0x0
- mov r11, r10
- str r10, [r0, #0x0]
- b _020E4E58
-_020E4E44:
- ldr r0, [sp, #0x14]
- sub r1, r5, #0x1
- add r1, r1, r0
- ldr r0, [sp, #0x40]
- str r1, [r0, #0x0]
-_020E4E58:
- mov r0, r7
- mov r1, r6
- mov r2, #0x1
- blx r8
- mov r0, r10
- mov r1, r11
- add sp, sp, #0x1c
- ldmia sp!, {r4-r11,pc}
- .balign 4
-_020E4E78: .word 0x0210430C
-_020E4E7C: .word 0x0210428C
-
- arm_func_start strtoul
-strtoul: ; 0x020E4E80
- stmdb sp!, {r3-r5,lr}
- sub sp, sp, #0x20
- mov r5, r0
- mov lr, #0x0
- mov r0, r2
- mov r4, r1
- add r2, sp, #0x1c
- str r5, [sp, #0xc]
- str lr, [sp, #0x10]
- str r2, [sp, #0x0]
- add r1, sp, #0x18
- str r1, [sp, #0x4]
- add r12, sp, #0x14
- ldr r2, _020E4F10 ; =__StringRead
- add r3, sp, #0xc
- sub r1, lr, #0x80000001
- str r12, [sp, #0x8]
- bl __strtoul
-_020E4EC8: ; 0x020E4EC8
- cmp r4, #0x0
- ldrne r1, [sp, #0x1c]
- addne r1, r5, r1
- strne r1, [r4, #0x0]
- ldr r1, [sp, #0x14]
- cmp r1, #0x0
- beq _020E4EFC
- ldr r0, _020E4F14 ; =0x021D74A8
- mov r1, #0x22
- str r1, [r0, #0x0]
- add sp, sp, #0x20
- mvn r0, #0x0
- ldmia sp!, {r3-r5,pc}
-_020E4EFC:
- ldr r1, [sp, #0x18]
- cmp r1, #0x0
- rsbne r0, r0, #0x0
- add sp, sp, #0x20
- ldmia sp!, {r3-r5,pc}
- .balign 4
-_020E4F10: .word __StringRead
-_020E4F14: .word 0x021D74A8
-
- arm_func_start strtold2
-strtold2: ; 0x020E4F18
- stmdb sp!, {r3-r5,lr}
- sub sp, sp, #0x20
- mov r5, r0
- mov lr, #0x0
- mov r0, r2
- mov r4, r1
- add r2, sp, #0x1c
- str r5, [sp, #0xc]
- str lr, [sp, #0x10]
- str r2, [sp, #0x0]
- add r1, sp, #0x18
- str r1, [sp, #0x4]
- add r12, sp, #0x14
- ldr r2, _020E4FD8 ; =__StringRead
- add r3, sp, #0xc
- sub r1, lr, #0x80000001
- str r12, [sp, #0x8]
- bl __strtoul
-_020E4F60: ; 0x020E4F60
- cmp r4, #0x0
- ldrne r1, [sp, #0x1c]
- addne r1, r5, r1
- strne r1, [r4, #0x0]
- ldr r1, [sp, #0x14]
- cmp r1, #0x0
- bne _020E4FA4
- ldr r2, [sp, #0x18]
- cmp r2, #0x0
- bne _020E4F94
- mvn r1, #0x80000000
- cmp r0, r1
- bhi _020E4FA4
-_020E4F94:
- cmp r2, #0x0
- beq _020E4FC8
- cmp r0, #0x80000000
- bls _020E4FC8
-_020E4FA4:
- ldr r0, [sp, #0x18]
- ldr r1, _020E4FDC ; =0x021D74A8
- mov r2, #0x22
- cmp r0, #0x0
- movne r0, #0x80000000
- str r2, [r1, #0x0]
- add sp, sp, #0x20
- mvneq r0, #0x80000000
- ldmia sp!, {r3-r5,pc}
-_020E4FC8:
- cmp r2, #0x0
- rsbne r0, r0, #0x0
- add sp, sp, #0x20
- ldmia sp!, {r3-r5,pc}
- .balign 4
-_020E4FD8: .word __StringRead
-_020E4FDC: .word 0x021D74A8
-
- arm_func_start atol
-atol: ; 0x020E4FE0
- ldr ip, _020E4FF0 ; =strtold
- mov r1, #0x0
- mov r2, #0xa
- bx r12
- .balign 4
-_020E4FF0: .word strtold2
-
- arm_func_start fwide
-fwide:
- cmp r0, #0x0
- beq _020E500C
- ldr r3, [r0, #0x4]
- mov r2, r3, lsl #0x16
- movs r2, r2, lsr #0x1d
- bne _020E5014
-_020E500C:
- mov r0, #0x0
- bx lr
-_020E5014:
- mov r2, r3, lsl #0x14
- movs r2, r2, lsr #0x1e
- beq _020E5034
- cmp r2, #0x1
- beq _020E505C
- cmp r2, #0x2
- moveq r1, #0x1
- b _020E5060
-_020E5034:
- cmp r1, #0x0
- ble _020E504C
- bic r2, r3, #0xc00
- orr r2, r2, #0x800
- str r2, [r0, #0x4]
- b _020E5060
-_020E504C:
- biclt r2, r3, #0xc00
- orrlt r2, r2, #0x400
- strlt r2, [r0, #0x4]
- b _020E5060
-_020E505C:
- mvn r1, #0x0
-_020E5060:
- mov r0, r1
- bx lr
-
- arm_func_start wmemcpy
-wmemcpy: ; 0x020E5068
- ldr ip, _020E5074 ; =memcpy
- mov r2, r2, lsl #0x1
- bx r12
- .balign 4
-_020E5074: .word memcpy
-
- arm_func_start wmemchr
-wmemchr:
- cmp r2, #0x0
- beq _020E5098
-_020E5080:
- ldrh r3, [r0, #0x0]
- cmp r3, r1
- bxeq lr
- add r0, r0, #0x2
- subs r2, r2, #0x1
- bne _020E5080
-_020E5098:
- mov r0, #0x0
- bx lr
-
- arm_func_start parse_format_wprintf
-parse_format_wprintf: ; 0x020E50A0
- stmdb sp!, {r4-r8,lr}
- sub sp, sp, #0x10
- ldrh r3, [r0, #0x2]
- mov r4, #0x0
- mov r5, #0x1
- mov lr, r2
- strb r5, [sp, #0x0]
- strb r4, [sp, #0x1]
- strb r4, [sp, #0x2]
- strb r4, [sp, #0x3]
- strb r4, [sp, #0x4]
- str r4, [sp, #0x8]
- str r4, [sp, #0xc]
- cmp r3, #0x25
- add r12, r0, #0x2
- bne _020E50FC
- add r0, sp, #0x0
- strh r3, [sp, #0x6]
- ldmia r0, {r0-r3}
- stmia lr, {r0-r3}
- add sp, sp, #0x10
- add r0, r12, #0x2
- ldmia sp!, {r4-r8,pc}
-_020E50FC:
- mov r2, #0x2
- mov r0, r4
- mov r5, r2
- mov r6, r4
- mov r7, #0x1
-_020E5110:
- mov r8, r7
- cmp r3, #0x2b
- bgt _020E5140
- bge _020E5168
- cmp r3, #0x23
- bgt _020E5198
- cmp r3, #0x20
- blt _020E5198
- beq _020E5170
- cmp r3, #0x23
- beq _020E5180
- b _020E5198
-_020E5140:
- cmp r3, #0x30
- bgt _020E5198
- cmp r3, #0x2d
- blt _020E5198
- beq _020E5160
- cmp r3, #0x30
- beq _020E5188
- b _020E5198
-_020E5160:
- strb r6, [sp, #0x0]
- b _020E519C
-_020E5168:
- strb r7, [sp, #0x1]
- b _020E519C
-_020E5170:
- ldrb r4, [sp, #0x1]
- cmp r4, #0x1
- strneb r5, [sp, #0x1]
- b _020E519C
-_020E5180:
- strb r7, [sp, #0x3]
- b _020E519C
-_020E5188:
- ldrb r4, [sp, #0x0]
- cmp r4, #0x0
- strneb r2, [sp, #0x0]
- b _020E519C
-_020E5198:
- mov r8, r0
-_020E519C:
- cmp r8, #0x0
- ldrneh r3, [r12, #0x2]!
- bne _020E5110
- cmp r3, #0x2a
- bne _020E51E4
- ldr r0, [r1, #0x0]
- add r0, r0, #0x4
- str r0, [r1, #0x0]
- ldr r0, [r0, #-0x4]
- str r0, [sp, #0x8]
- cmp r0, #0x0
- bge _020E51DC
- rsb r0, r0, #0x0
- mov r2, #0x0
- strb r2, [sp, #0x0]
- str r0, [sp, #0x8]
-_020E51DC:
- ldrh r3, [r12, #0x2]!
- b _020E5228
-_020E51E4:
- mov r2, #0x0
- ldr r5, _020E560C ; =0x02104544
- mov r0, #0xa
- b _020E5208
-_020E51F4:
- ldr r4, [sp, #0x8]
- sub r3, r3, #0x30
- mla r6, r4, r0, r3
- ldrh r3, [r12, #0x2]!
- str r6, [sp, #0x8]
-_020E5208:
- cmp r3, #0x80
- movcs r4, r2
- bhs _020E5220
- mov r4, r3, lsl #0x1
- ldrh r4, [r5, r4]
- and r4, r4, #0x8
-_020E5220:
- cmp r4, #0x0
- bne _020E51F4
-_020E5228:
- ldr r2, [sp, #0x8]
- ldr r0, _020E5610 ; =0x000001FD
- cmp r2, r0
- ble _020E5258
- ldr r1, _020E5614 ; =0x0000FFFF
- add r0, sp, #0x0
- strh r1, [sp, #0x6]
- ldmia r0, {r0-r3}
- stmia lr, {r0-r3}
- add sp, sp, #0x10
- add r0, r12, #0x2
- ldmia sp!, {r4-r8,pc}
-_020E5258:
- cmp r3, #0x2e
- bne _020E52E0
- ldrh r3, [r12, #0x2]!
- mov r0, #0x1
- strb r0, [sp, #0x2]
- cmp r3, #0x2a
- bne _020E529C
- ldr r0, [r1, #0x0]
- add r0, r0, #0x4
- str r0, [r1, #0x0]
- ldr r0, [r0, #-0x4]
- ldrh r3, [r12, #0x2]!
- str r0, [sp, #0xc]
- cmp r0, #0x0
- movlt r0, #0x0
- strltb r0, [sp, #0x2]
- b _020E52E0
-_020E529C:
- mov r1, #0x0
- ldr r4, _020E560C ; =0x02104544
- mov r0, #0xa
- b _020E52C0
-_020E52AC:
- ldr r2, [sp, #0xc]
- sub r3, r3, #0x30
- mla r5, r2, r0, r3
- ldrh r3, [r12, #0x2]!
- str r5, [sp, #0xc]
-_020E52C0:
- cmp r3, #0x80
- movcs r2, r1
- bhs _020E52D8
- mov r2, r3, lsl #0x1
- ldrh r2, [r4, r2]
- and r2, r2, #0x8
-_020E52D8:
- cmp r2, #0x0
- bne _020E52AC
-_020E52E0:
- cmp r3, #0x6c
- mov r0, #0x1
- bgt _020E5318
- cmp r3, #0x68
- blt _020E530C
- beq _020E5334
- cmp r3, #0x6a
- beq _020E5380
- cmp r3, #0x6c
- beq _020E5350
- b _020E53A4
-_020E530C:
- cmp r3, #0x4c
- beq _020E5374
- b _020E53A4
-_020E5318:
- cmp r3, #0x74
- bgt _020E5328
- beq _020E538C
- b _020E53A4
-_020E5328:
- cmp r3, #0x7a
- beq _020E5398
- b _020E53A4
-_020E5334:
- ldrh r1, [r12, #0x2]
- mov r2, #0x2
- strb r2, [sp, #0x4]
- cmp r1, #0x68
- streqb r0, [sp, #0x4]
- ldreqh r3, [r12, #0x2]!
- b _020E53A8
-_020E5350:
- ldrh r1, [r12, #0x2]
- mov r2, #0x3
- strb r2, [sp, #0x4]
- cmp r1, #0x6c
- bne _020E53A8
- mov r1, #0x4
- strb r1, [sp, #0x4]
- ldrh r3, [r12, #0x2]!
- b _020E53A8
-_020E5374:
- mov r1, #0x9
- strb r1, [sp, #0x4]
- b _020E53A8
-_020E5380:
- mov r1, #0x6
- strb r1, [sp, #0x4]
- b _020E53A8
-_020E538C:
- mov r1, #0x8
- strb r1, [sp, #0x4]
- b _020E53A8
-_020E5398:
- mov r1, #0x7
- strb r1, [sp, #0x4]
- b _020E53A8
-_020E53A4:
- mov r0, #0x0
-_020E53A8:
- cmp r0, #0x0
- ldrneh r3, [r12, #0x2]!
- strh r3, [sp, #0x6]
- cmp r3, #0x61
- bgt _020E53FC
- bge _020E54E0
- cmp r3, #0x47
- bgt _020E53F0
- subs r0, r3, #0x41
- addpl pc, pc, r0, lsl #0x2
- b _020E55EC
-_020E53D4: ; 0x020E53D4
- b _020E54E0
-_020E53D8: ; 0x020E53D8
- b _020E55EC
-_020E53DC: ; 0x020E53DC
- b _020E55EC
-_020E53E0: ; 0x020E53E0
- b _020E55EC
-_020E53E4: ; 0x020E53E4
- b _020E5528
-_020E53E8: ; 0x020E53E8
- b _020E54A8
-_020E53EC: ; 0x020E53EC
- b _020E5518
-_020E53F0:
- cmp r3, #0x58
- beq _020E5470
- b _020E55EC
-_020E53FC:
- cmp r3, #0x63
- bgt _020E540C
- beq _020E5588
- b _020E55EC
-_020E540C:
- sub r0, r3, #0x64
- cmp r0, #0x14
- addls pc, pc, r0, lsl #0x2
- b _020E55EC
-_020E541C:
- b _020E5470
-_020E5420:
- b _020E5528
-_020E5424:
- b _020E54A8
-_020E5428:
- b _020E5518
-_020E542C:
- b _020E55EC
-_020E5430:
- b _020E5470
-_020E5434:
- b _020E55EC
-_020E5438:
- b _020E55EC
-_020E543C:
- b _020E55EC
-_020E5440:
- b _020E55EC
-_020E5444:
- b _020E55D8
-_020E5448:
- b _020E5470
-_020E544C:
- b _020E5564
-_020E5450:
- b _020E55EC
-_020E5454:
- b _020E55EC
-_020E5458:
- b _020E55B4
-_020E545C:
- b _020E55EC
-_020E5460:
- b _020E5470
-_020E5464:
- b _020E55EC
-_020E5468:
- b _020E55EC
-_020E546C:
- b _020E5470
-_020E5470:
- ldrb r0, [sp, #0x4]
- cmp r0, #0x9
- moveq r0, #0x4
- streqb r0, [sp, #0x4]
- ldrb r0, [sp, #0x2]
- cmp r0, #0x0
- moveq r0, #0x1
- streq r0, [sp, #0xc]
- beq _020E55F4
- ldrb r0, [sp, #0x0]
- cmp r0, #0x2
- moveq r0, #0x1
- streqb r0, [sp, #0x0]
- b _020E55F4
-_020E54A8:
- ldrb r0, [sp, #0x4]
- cmp r0, #0x2
- cmpne r0, #0x6
- cmpne r0, #0x7
- cmpne r0, #0x8
- cmpne r0, #0x4
- ldreq r0, _020E5614 ; =0x0000FFFF
- streqh r0, [sp, #0x6]
- beq _020E55F4
- ldrb r0, [sp, #0x2]
- cmp r0, #0x0
- moveq r0, #0x6
- streq r0, [sp, #0xc]
- b _020E55F4
-_020E54E0:
- ldrb r0, [sp, #0x2]
- cmp r0, #0x0
- moveq r0, #0xd
- streq r0, [sp, #0xc]
- ldrb r0, [sp, #0x4]
- cmp r0, #0x2
- cmpne r0, #0x6
- cmpne r0, #0x7
- cmpne r0, #0x8
- cmpne r0, #0x4
- cmpne r0, #0x1
- ldreq r0, _020E5614 ; =0x0000FFFF
- streqh r0, [sp, #0x6]
- b _020E55F4
-_020E5518:
- ldr r0, [sp, #0xc]
- cmp r0, #0x0
- moveq r0, #0x1
- streq r0, [sp, #0xc]
-_020E5528:
- ldrb r0, [sp, #0x4]
- cmp r0, #0x2
- cmpne r0, #0x6
- cmpne r0, #0x7
- cmpne r0, #0x8
- cmpne r0, #0x4
- cmpne r0, #0x1
- ldreq r0, _020E5614 ; =0x0000FFFF
- streqh r0, [sp, #0x6]
- beq _020E55F4
- ldrb r0, [sp, #0x2]
- cmp r0, #0x0
- moveq r0, #0x6
- streq r0, [sp, #0xc]
- b _020E55F4
-_020E5564:
- mov r3, #0x3
- mov r2, #0x1
- mov r1, #0x78
- mov r0, #0x8
- strb r3, [sp, #0x4]
- strb r2, [sp, #0x3]
- strh r1, [sp, #0x6]
- str r0, [sp, #0xc]
- b _020E55F4
-_020E5588:
- ldrb r1, [sp, #0x4]
- cmp r1, #0x3
- moveq r0, #0x5
- streqb r0, [sp, #0x4]
- beq _020E55F4
- ldrb r0, [sp, #0x2]
- cmp r0, #0x0
- cmpeq r1, #0x0
- ldrne r0, _020E5614 ; =0x0000FFFF
- strneh r0, [sp, #0x6]
- b _020E55F4
-_020E55B4:
- ldrb r0, [sp, #0x4]
- cmp r0, #0x3
- moveq r0, #0x5
- streqb r0, [sp, #0x4]
- beq _020E55F4
- cmp r0, #0x0
- ldrne r0, _020E5614 ; =0x0000FFFF
- strneh r0, [sp, #0x6]
- b _020E55F4
-_020E55D8:
- ldrb r0, [sp, #0x4]
- cmp r0, #0x9
- moveq r0, #0x4
- streqb r0, [sp, #0x4]
- b _020E55F4
-_020E55EC:
- ldr r0, _020E5614 ; =0x0000FFFF
- strh r0, [sp, #0x6]
-_020E55F4:
- add r0, sp, #0x0
- ldmia r0, {r0-r3}
- stmia lr, {r0-r3}
- add r0, r12, #0x2
- add sp, sp, #0x10
- ldmia sp!, {r4-r8,pc}
- .balign 4
-_020E560C: .word 0x02104544
-_020E5610: .word 0x000001FD
-_020E5614: .word 0x0000FFFF
-
- arm_func_start long2str_wide
-long2str_wide: ; 0x020E5618
- stmdb sp!, {r0-r3}
- stmdb sp!, {r3-r11,lr}
- sub sp, sp, #0x10
- movs r10, r0
- mov r0, #0x0
- mov r5, r1
- str r0, [sp, #0xc]
- ldr r7, [sp, #0x4c]
- mov r6, r0
- strh r0, [r5, #-0x2]!
- ldrb r0, [sp, #0x43]
- str r1, [sp, #0x0]
- ldrh r8, [sp, #0x46]
- str r0, [sp, #0x4]
- ldr r0, [sp, #0x48]
- ldrb r11, [sp, #0x41]
- str r0, [sp, #0x8]
- cmpeq r7, #0x0
- bne _020E568C
- ldr r0, [sp, #0x4]
- cmp r0, #0x0
- beq _020E5678
- cmp r8, #0x6f
- beq _020E568C
-_020E5678:
- add sp, sp, #0x10
- mov r0, r5
- ldmia sp!, {r3-r11,lr}
- add sp, sp, #0x10
- bx lr
-_020E568C:
- cmp r8, #0x69
- bgt _020E56B4
- bge _020E56E8
- cmp r8, #0x58
- bgt _020E56A8
- beq _020E5714
- b _020E571C
-_020E56A8:
- cmp r8, #0x64
- beq _020E56E8
- b _020E571C
-_020E56B4:
- cmp r8, #0x6f
- bgt _020E56C8
- moveq r4, #0x8
- moveq r11, #0x0
- b _020E571C
-_020E56C8:
- cmp r8, #0x78
- bgt _020E571C
- cmp r8, #0x75
- blt _020E571C
- beq _020E5708
- cmp r8, #0x78
- beq _020E5714
- b _020E571C
-_020E56E8:
- cmp r10, #0x0
- mov r4, #0xa
- bge _020E571C
- mov r0, #0x1
- cmp r10, #0x80000000
- rsbne r10, r10, #0x0
- str r0, [sp, #0xc]
- b _020E571C
-_020E5708:
- mov r4, #0xa
- mov r11, #0x0
- b _020E571C
-_020E5714:
- mov r4, #0x10
- mov r11, #0x0
-_020E571C:
- mov r0, r10
- mov r1, r4
- bl _u32_div_f
- mov r9, r1
- mov r0, r10
- mov r1, r4
- bl _u32_div_f
- cmp r9, #0xa
- mov r10, r0
- addlt r9, r9, #0x30
- blt _020E5754
- cmp r8, #0x78
- addeq r9, r9, #0x57
- addne r9, r9, #0x37
-_020E5754:
- cmp r10, #0x0
- strh r9, [r5, #-0x2]!
- add r6, r6, #0x1
- bne _020E571C
- cmp r4, #0x8
- bne _020E5788
- ldr r0, [sp, #0x4]
- cmp r0, #0x0
- ldrneh r0, [r5, #0x0]
- cmpne r0, #0x30
- movne r0, #0x30
- strneh r0, [r5, #-0x2]!
- addne r6, r6, #0x1
-_020E5788:
- ldrb r0, [sp, #0x40]
- cmp r0, #0x2
- bne _020E57BC
- ldr r0, [sp, #0xc]
- ldr r7, [sp, #0x8]
- cmp r0, #0x0
- cmpeq r11, #0x0
- subne r7, r7, #0x1
- cmp r4, #0x10
- bne _020E57BC
- ldr r0, [sp, #0x4]
- cmp r0, #0x0
- subne r7, r7, #0x2
-_020E57BC:
- ldr r0, [sp, #0x0]
- ldr r1, _020E5864 ; =0x000001FD
- sub r0, r0, r5
- add r0, r0, r0, lsr #0x1f
- add r0, r7, r0, asr #0x1
- cmp r0, r1
- addgt sp, sp, #0x10
- movgt r0, #0x0
- ldmgtia sp!, {r3-r11,lr}
- addgt sp, sp, #0x10
- bxgt lr
- cmp r6, r7
- bge _020E5804
- mov r0, #0x30
-_020E57F4:
- add r6, r6, #0x1
- cmp r6, r7
- strh r0, [r5, #-0x2]!
- blt _020E57F4
-_020E5804:
- cmp r4, #0x10
- bne _020E5820
- ldr r0, [sp, #0x4]
- cmp r0, #0x0
- movne r0, #0x30
- strneh r8, [r5, #-0x2]
- strneh r0, [r5, #-0x4]!
-_020E5820:
- ldr r0, [sp, #0xc]
- cmp r0, #0x0
- movne r0, #0x2d
- strneh r0, [r5, #-0x2]!
- bne _020E5850
- cmp r11, #0x1
- moveq r0, #0x2b
- streqh r0, [r5, #-0x2]!
- beq _020E5850
- cmp r11, #0x2
- moveq r0, #0x20
- streqh r0, [r5, #-0x2]!
-_020E5850:
- mov r0, r5
- add sp, sp, #0x10
- ldmia sp!, {r3-r11,lr}
- add sp, sp, #0x10
- bx lr
- .balign 4
-_020E5864: .word 0x000001FD
-
- arm_func_start longlong2str_wide
-longlong2str_wide: ; 0x020E5868
- stmdb sp!, {r0-r3}
- stmdb sp!, {r3-r11,lr}
- sub sp, sp, #0x18
- mov r9, r1
- mov r1, #0x0
- mov r10, r0
- mov r6, r2
- mov r0, r1
- strh r0, [r6, #-0x2]!
- ldr r0, [sp, #0x58]
- cmp r9, #0x0
- str r0, [sp, #0x10]
- ldrb r0, [sp, #0x4f]
- cmpeq r10, #0x0
- str r2, [sp, #0x0]
- str r0, [sp, #0x4]
- ldr r0, [sp, #0x54]
- str r1, [sp, #0x14]
- str r0, [sp, #0x8]
- ldrb r0, [sp, #0x4d]
- mov r7, r1
- ldrh r8, [sp, #0x52]
- str r0, [sp, #0xc]
- ldreq r0, [sp, #0x10]
- cmpeq r0, #0x0
- bne _020E58F8
- ldr r0, [sp, #0x4]
- cmp r0, #0x0
- beq _020E58E4
- cmp r8, #0x6f
- beq _020E58F8
-_020E58E4:
- add sp, sp, #0x18
- mov r0, r6
- ldmia sp!, {r3-r11,lr}
- add sp, sp, #0x10
- bx lr
-_020E58F8:
- cmp r8, #0x69
- bgt _020E5920
- bge _020E5950
- cmp r8, #0x58
- bgt _020E5914
- beq _020E59A4
- b _020E59B0
-_020E5914:
- cmp r8, #0x64
- beq _020E5950
- b _020E59B0
-_020E5920:
- cmp r8, #0x6f
- bgt _020E5930
- beq _020E5984
- b _020E59B0
-_020E5930:
- cmp r8, #0x78
- bgt _020E59B0
- cmp r8, #0x75
- blt _020E59B0
- beq _020E5994
- cmp r8, #0x78
- beq _020E59A4
- b _020E59B0
-_020E5950:
- subs r0, r10, #0x0
- sbcs r0, r9, #0x0
- mov r11, #0xa
- mov r5, #0x0
- bge _020E59B0
- cmp r9, #0x80000000
- cmpeq r10, r5
- beq _020E5978
- rsbs r10, r10, #0x0
- rsc r9, r9, #0x0
-_020E5978:
- mov r0, #0x1
- str r0, [sp, #0x14]
- b _020E59B0
-_020E5984:
- mov r5, #0x0
- str r5, [sp, #0xc]
- mov r11, #0x8
- b _020E59B0
-_020E5994:
- mov r5, #0x0
- str r5, [sp, #0xc]
- mov r11, #0xa
- b _020E59B0
-_020E59A4:
- mov r5, #0x0
- str r5, [sp, #0xc]
- mov r11, #0x10
-_020E59B0:
- mov r0, r10
- mov r1, r9
- mov r2, r11
- mov r3, r5
- bl _ull_mod
- mov r4, r0
- mov r0, r10
- mov r1, r9
- mov r2, r11
- mov r3, r5
- bl _ll_udiv
- mov r10, r0
- cmp r4, #0xa
- mov r9, r1
- addlt r0, r4, #0x30
- blt _020E59FC
- cmp r8, #0x78
- addeq r0, r4, #0x57
- addne r0, r4, #0x37
-_020E59FC:
- strh r0, [r6, #-0x2]!
- mov r0, #0x0
- cmp r9, r0
- cmpeq r10, r0
- add r7, r7, #0x1
- bne _020E59B0
- cmp r5, #0x0
- cmpeq r11, #0x8
- bne _020E5A3C
- ldr r0, [sp, #0x4]
- cmp r0, #0x0
- ldrneh r0, [r6, #0x0]
- cmpne r0, #0x30
- movne r0, #0x30
- strneh r0, [r6, #-0x2]!
- addne r7, r7, #0x1
-_020E5A3C:
- ldrb r0, [sp, #0x4c]
- cmp r0, #0x2
- bne _020E5A8C
- ldr r0, [sp, #0x8]
- str r0, [sp, #0x10]
- ldr r0, [sp, #0x14]
- cmp r0, #0x0
- ldreq r0, [sp, #0xc]
- cmpeq r0, #0x0
- ldrne r0, [sp, #0x10]
- subne r0, r0, #0x1
- strne r0, [sp, #0x10]
- cmp r5, #0x0
- cmpeq r11, #0x10
- bne _020E5A8C
- ldr r0, [sp, #0x4]
- cmp r0, #0x0
- ldrne r0, [sp, #0x10]
- subne r0, r0, #0x2
- strne r0, [sp, #0x10]
-_020E5A8C:
- ldr r0, [sp, #0x0]
- ldr r2, _020E5B48 ; =0x000001FD
- sub r0, r0, r6
- add r1, r0, r0, lsr #0x1f
- ldr r0, [sp, #0x10]
- add r0, r0, r1, asr #0x1
- cmp r0, r2
- addgt sp, sp, #0x18
- movgt r0, #0x0
- ldmgtia sp!, {r3-r11,lr}
- addgt sp, sp, #0x10
- bxgt lr
- ldr r0, [sp, #0x10]
- cmp r7, r0
- bge _020E5AE0
- mov r1, #0x30
-_020E5ACC:
- ldr r0, [sp, #0x10]
- add r7, r7, #0x1
- cmp r7, r0
- strh r1, [r6, #-0x2]!
- blt _020E5ACC
-_020E5AE0:
- cmp r5, #0x0
- cmpeq r11, #0x10
- bne _020E5B00
- ldr r0, [sp, #0x4]
- cmp r0, #0x0
- movne r0, #0x30
- strneh r8, [r6, #-0x2]
- strneh r0, [r6, #-0x4]!
-_020E5B00:
- ldr r0, [sp, #0x14]
- cmp r0, #0x0
- movne r0, #0x2d
- strneh r0, [r6, #-0x2]!
- bne _020E5B34
- ldr r0, [sp, #0xc]
- cmp r0, #0x1
- moveq r0, #0x2b
- streqh r0, [r6, #-0x2]!
- beq _020E5B34
- cmp r0, #0x2
- moveq r0, #0x20
- streqh r0, [r6, #-0x2]!
-_020E5B34:
- mov r0, r6
- add sp, sp, #0x18
- ldmia sp!, {r3-r11,lr}
- add sp, sp, #0x10
- bx lr
- .balign 4
-_020E5B48: .word 0x000001FD
-
- arm_func_start double2hex_wide
-double2hex_wide: ; 0x020E5B4C
- stmdb sp!, {r0-r3}
- stmdb sp!, {r3-r10,lr}
- sub sp, sp, #0x44
- ldr r7, [sp, #0x80]
- ldr r0, _020E5EB8 ; =0x000001FD
- mov r8, r2
- cmp r7, r0
- ldrh r6, [sp, #0x7a]
- ldrb r5, [sp, #0x77]
- ldrb r4, [sp, #0x75]
- ldr r1, [sp, #0x68]
- ldr r2, [sp, #0x6c]
- addgt sp, sp, #0x44
- movgt r0, #0x0
- ldmgtia sp!, {r3-r10,lr}
- addgt sp, sp, #0x10
- bxgt lr
- mov r10, #0x0
- mov r9, #0x20
- add r0, sp, #0x8
- add r3, sp, #0xc
- strb r10, [sp, #0x8]
- strh r9, [sp, #0xa]
- bl __num2dec_internal2
- ldr r0, [sp, #0x68]
- ldr r1, [sp, #0x6c]
- bl fabs
- mov r2, r0
- mov r0, r10
- mov r3, r1
- mov r1, r0
- bl _deq
- bne _020E5BF4
- sub r4, r8, #0xc
- ldr r1, _020E5EBC ; =0x02106DE4
- mov r0, r4
- bl wcscpy
- add sp, sp, #0x44
- mov r0, r4
- ldmia sp!, {r3-r10,lr}
- add sp, sp, #0x10
- bx lr
-_020E5BF4:
- ldrb r0, [sp, #0x11]
- cmp r0, #0x49
- bne _020E5C74
- ldrsb r0, [sp, #0xc]
- cmp r0, #0x0
- beq _020E5C38
- cmp r6, #0x41
- sub r4, r8, #0xa
- bne _020E5C28
- ldr r1, _020E5EC0 ; =0x02106DF0
- mov r0, r4
- bl wcscpy
- b _020E5C60
-_020E5C28:
- ldr r1, _020E5EC4 ; =0x02106DFC
- mov r0, r4
- bl wcscpy
- b _020E5C60
-_020E5C38:
- cmp r6, #0x41
- sub r4, r8, #0x8
- bne _020E5C54
- ldr r1, _020E5EC8 ; =0x02106E08
- mov r0, r4
- bl wcscpy
- b _020E5C60
-_020E5C54:
- ldr r1, _020E5ECC ; =0x02106E10
- mov r0, r4
- bl wcscpy
-_020E5C60:
- add sp, sp, #0x44
- mov r0, r4
- ldmia sp!, {r3-r10,lr}
- add sp, sp, #0x10
- bx lr
-_020E5C74:
- cmp r0, #0x4e
- bne _020E5CF0
- ldrsb r0, [sp, #0xc]
- cmp r0, #0x0
- beq _020E5CB4
- cmp r6, #0x41
- sub r4, r8, #0xa
- bne _020E5CA4
- ldr r1, _020E5ED0 ; =0x02106E18
- mov r0, r4
- bl wcscpy
- b _020E5CDC
-_020E5CA4:
- ldr r1, _020E5ED4 ; =0x02106E24
- mov r0, r4
- bl wcscpy
- b _020E5CDC
-_020E5CB4:
- cmp r6, #0x41
- sub r4, r8, #0x8
- bne _020E5CD0
- ldr r1, _020E5ED8 ; =0x02106E30
- mov r0, r4
- bl wcscpy
- b _020E5CDC
-_020E5CD0:
- ldr r1, _020E5EDC ; =0x02106E38
- mov r0, r4
- bl wcscpy
-_020E5CDC:
- add sp, sp, #0x44
- mov r0, r4
- ldmia sp!, {r3-r10,lr}
- add sp, sp, #0x10
- bx lr
-_020E5CF0:
- mov r3, r10
- mov r1, #0x1
- mov r0, #0x64
- add r9, sp, #0x68
- strb r1, [sp, #0x34]
- strb r1, [sp, #0x35]
- strb r3, [sp, #0x36]
- strb r3, [sp, #0x37]
- strb r3, [sp, #0x38]
- str r3, [sp, #0x3c]
- str r1, [sp, #0x40]
- strh r0, [sp, #0x3a]
-_020E5D20:
- rsb r1, r3, #0x7
- ldrsb r2, [r9, r3]
- ldrsb r0, [r9, r1]
- strb r0, [r9, r3]
- add r3, r3, #0x1
- strb r2, [r9, r1]
- cmp r3, #0x4
- blt _020E5D20
- ldrb r0, [sp, #0x69]
- ldrb r1, [sp, #0x68]
- ldr sb, _020E5EE0 ; =0x000007FF
- mov r0, r0, lsl #0x11
- orr r1, r0, r1, lsl #0x19
- add r0, sp, #0x34
- and lr, r9, r1, lsr #0x15
- sub r12, sp, #0x8
- ldmia r0, {r0-r3}
- stmia r12, {r0-r3}
- rsb r0, r9, #0x400
- mov r1, r8
- add r0, lr, r0
- ldmia r12, {r2-r3}
- bl long2str_wide
- cmp r6, #0x61
- moveq r1, #0x70
- movne r1, #0x50
- strh r1, [r0, #-0x2]!
- mov r1, r7, lsl #0x2
- mov lr, r7
- cmp r7, #0x1
- add r8, r1, #0xb
- add r12, sp, #0x68
- blt _020E5E30
- mov r9, #0x30
-_020E5DA8:
- cmp r8, #0x40
- bge _020E5E18
- ldrb r1, [r12, r8, asr #0x3]
- and r2, r8, #0x7
- rsb r3, r2, #0x7
- mov r2, r1, asr r3
- sub r10, r8, #0x4
- bic r1, r8, #0x7
- bic r10, r10, #0x7
- cmp r1, r10
- add r10, r12, r8, asr #0x3
- and r1, r2, #0xff
- beq _020E5DEC
- ldrb r2, [r10, #-0x1]
- mov r2, r2, lsl #0x8
- orr r1, r1, r2, asr r3
- and r1, r1, #0xff
-_020E5DEC:
- and r1, r1, #0xf
- cmp r1, #0xa
- addcc r1, r1, #0x30
- andcc r1, r1, #0xff
- blo _020E5E1C
- cmp r6, #0x61
- addeq r1, r1, #0x57
- andeq r1, r1, #0xff
- addne r1, r1, #0x37
- andne r1, r1, #0xff
- b _020E5E1C
-_020E5E18:
- mov r1, r9
-_020E5E1C:
- sub lr, lr, #0x1
- cmp lr, #0x1
- strh r1, [r0, #-0x2]!
- sub r8, r8, #0x4
- bge _020E5DA8
-_020E5E30:
- cmp r7, #0x0
- cmpeq r5, #0x0
- movne r1, #0x2e
- strneh r1, [r0, #-0x2]!
- mov r1, #0x31
- strh r1, [r0, #-0x2]
- cmp r6, #0x61
- moveq r1, #0x78
- movne r1, #0x58
- strh r1, [r0, #-0x4]!
- mov r1, #0x30
- strh r1, [r0, #-0x2]!
- ldrsb r1, [sp, #0xc]
- cmp r1, #0x0
- movne r1, #0x2d
- strneh r1, [r0, #-0x2]!
- addne sp, sp, #0x44
- ldmneia sp!, {r3-r10,lr}
- addne sp, sp, #0x10
- bxne lr
- cmp r4, #0x1
- moveq r1, #0x2b
- streqh r1, [r0, #-0x2]!
- addeq sp, sp, #0x44
- ldmeqia sp!, {r3-r10,lr}
- addeq sp, sp, #0x10
- bxeq lr
- cmp r4, #0x2
- moveq r1, #0x20
- streqh r1, [r0, #-0x2]!
- add sp, sp, #0x44
- ldmia sp!, {r3-r10,lr}
- add sp, sp, #0x10
- bx lr
- .balign 4
-_020E5EB8: .word 0x000001FD
-_020E5EBC: .word 0x02106DE4
-_020E5EC0: .word 0x02106DF0
-_020E5EC4: .word 0x02106DFC
-_020E5EC8: .word 0x02106E08
-_020E5ECC: .word 0x02106E10
-_020E5ED0: .word 0x02106E18
-_020E5ED4: .word 0x02106E24
-_020E5ED8: .word 0x02106E30
-_020E5EDC: .word 0x02106E38
-_020E5EE0: .word 0x000007FF
-
- arm_func_start round_decimal_wide
-round_decimal_wide: ; 0x020E5EE4
- stmdb sp!, {r4,lr}
- cmp r1, #0x0
- bge _020E5F0C
-_020E5EF0:
- mov r1, #0x0
- strh r1, [r0, #0x2]
- mov r1, #0x1
- strb r1, [r0, #0x4]
- mov r1, #0x30
- strb r1, [r0, #0x5]
- ldmia sp!, {r4,pc}
-_020E5F0C:
- ldrb lr, [r0, #0x4]
- cmp r1, lr
- ldmgeia sp!, {r4,pc}
-_020E5F18: ; 0x020E5F18
- add r12, r0, #0x5
- add r2, r12, r1
- add r2, r2, #0x1
- ldrsb r3, [r2, #-0x1]!
- sub r3, r3, #0x30
- mov r3, r3, lsl #0x18
- mov r3, r3, asr #0x18
- cmp r3, #0x5
- bne _020E5F6C
- add r12, r12, lr
-_020E5F40:
- sub r12, r12, #0x1
- cmp r12, r2
- bls _020E5F58
- ldrsb r3, [r12, #0x0]
- cmp r3, #0x30
- beq _020E5F40
-_020E5F58:
- cmp r12, r2
- ldreqsb r3, [r2, #-0x1]
- andeq r4, r3, #0x1
- movne r4, #0x1
- b _020E5F74
-_020E5F6C:
- movgt r4, #0x1
- movle r4, #0x0
-_020E5F74:
- cmp r1, #0x0
- beq _020E5FD0
- mov r12, #0x0
- mov lr, #0x1
-_020E5F84:
- ldrsb r3, [r2, #-0x1]!
- sub r3, r3, #0x30
- add r3, r3, r4
- mov r3, r3, lsl #0x18
- mov r3, r3, asr #0x18
- cmp r3, #0x9
- movgt r4, lr
- movle r4, r12
- cmp r4, #0x0
- bne _020E5FB4
- cmp r3, #0x0
- bne _020E5FBC
-_020E5FB4:
- sub r1, r1, #0x1
- b _020E5FC8
-_020E5FBC:
- add r3, r3, #0x30
- strb r3, [r2, #0x0]
- b _020E5FD0
-_020E5FC8:
- cmp r1, #0x0
- bne _020E5F84
-_020E5FD0:
- cmp r4, #0x0
- beq _020E5FF8
- ldrsh r3, [r0, #0x2]
- mov r2, #0x1
- mov r1, #0x31
- add r3, r3, #0x1
- strh r3, [r0, #0x2]
- strb r2, [r0, #0x4]
- strb r1, [r0, #0x5]
- ldmia sp!, {r4,pc}
-_020E5FF8:
- cmp r1, #0x0
- beq _020E5EF0
- strb r1, [r0, #0x4]
- ldmia sp!, {r4,pc}
-
- arm_func_start float2str_wide
-float2str_wide: ; 0x020E6008
- stmdb sp!, {r0-r3}
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0x22c
- mov r10, r0
- add r0, sp, #0x250
- ldr r7, [sp, #0x268]
- ldr r3, _020E6628 ; =0x000001FD
- ldrh r6, [r0, #0x12]
- cmp r7, r3
- ldrb r5, [sp, #0x25f]
- ldrb r4, [sp, #0x25d]
- mov r8, r1
- mov r9, r2
- addgt sp, sp, #0x22c
- movgt r0, #0x0
- ldmgtia sp!, {r4-r11,lr}
- addgt sp, sp, #0x10
- bxgt lr
- mov r12, #0x0
- mov r11, #0x20
- add r0, sp, #0x0
- add r3, sp, #0x4
- mov r1, r10
- mov r2, r8
- strb r12, [sp, #0x0]
- strh r11, [sp, #0x2]
- bl __num2dec_internal2
- ldrb r0, [sp, #0x8]
- add r1, sp, #0x9
- add r0, r1, r0
- b _020E609C
-_020E6084:
- ldrb r2, [sp, #0x8]
- ldrsh r1, [sp, #0x6]
- sub r2, r2, #0x1
- add r1, r1, #0x1
- strb r2, [sp, #0x8]
- strh r1, [sp, #0x6]
-_020E609C:
- ldrb r1, [sp, #0x8]
- cmp r1, #0x1
- bls _020E60B4
- ldrsb r1, [r0, #-0x1]!
- cmp r1, #0x30
- beq _020E6084
-_020E60B4:
- ldrb r0, [sp, #0x9]
- cmp r0, #0x30
- beq _020E60D4
- cmp r0, #0x49
- beq _020E60E0
- cmp r0, #0x4e
- beq _020E6198
- b _020E6244
-_020E60D4:
- mov r0, #0x0
- strh r0, [sp, #0x6]
- b _020E6244
-_020E60E0:
- mov r2, #0x0
- mov r0, r10
- mov r1, r8
- mov r3, r2
- bl _dls
- bhs _020E6140
- cmp r6, #0x80
- sub r4, r9, #0xa
- movcs r0, #0x0
- bhs _020E6118
- ldr r0, _020E662C ; =0x02104544
- mov r1, r6, lsl #0x1
- ldrh r0, [r0, r1]
- and r0, r0, #0x200
-_020E6118:
- cmp r0, #0x0
- beq _020E6130
- ldr r1, _020E6630 ; =0x02106DF0
- mov r0, r4
- bl wcscpy
- b _020E6184
-_020E6130:
- ldr r1, _020E6634 ; =0x02106DFC
- mov r0, r4
- bl wcscpy
- b _020E6184
-_020E6140:
- cmp r6, #0x80
- sub r4, r9, #0x8
- movcs r0, #0x0
- bhs _020E6160
- ldr r0, _020E662C ; =0x02104544
- mov r1, r6, lsl #0x1
- ldrh r0, [r0, r1]
- and r0, r0, #0x200
-_020E6160:
- cmp r0, #0x0
- beq _020E6178
- ldr r1, _020E6638 ; =0x02106E08
- mov r0, r4
- bl wcscpy
- b _020E6184
-_020E6178:
- ldr r1, _020E663C ; =0x02106E10
- mov r0, r4
- bl wcscpy
-_020E6184:
- add sp, sp, #0x22c
- mov r0, r4
- ldmia sp!, {r4-r11,lr}
- add sp, sp, #0x10
- bx lr
-_020E6198:
- ldrsb r0, [sp, #0x4]
- cmp r0, #0x0
- beq _020E61EC
- cmp r6, #0x80
- sub r4, r9, #0xa
- movcs r0, #0x0
- bhs _020E61C4
- ldr r0, _020E662C ; =0x02104544
- mov r1, r6, lsl #0x1
- ldrh r0, [r0, r1]
- and r0, r0, #0x200
-_020E61C4:
- cmp r0, #0x0
- beq _020E61DC
- ldr r1, _020E6640 ; =0x02106E18
- mov r0, r4
- bl wcscpy
- b _020E6230
-_020E61DC:
- ldr r1, _020E6644 ; =0x02106E24
- mov r0, r4
- bl wcscpy
- b _020E6230
-_020E61EC:
- cmp r6, #0x80
- sub r4, r9, #0x8
- movcs r0, #0x0
- bhs _020E620C
- ldr r0, _020E662C ; =0x02104544
- mov r1, r6, lsl #0x1
- ldrh r0, [r0, r1]
- and r0, r0, #0x200
-_020E620C:
- cmp r0, #0x0
- beq _020E6224
- ldr r1, _020E6648 ; =0x02106E30
- mov r0, r4
- bl wcscpy
- b _020E6230
-_020E6224:
- ldr r1, _020E664C ; =0x02106E38
- mov r0, r4
- bl wcscpy
-_020E6230:
- add sp, sp, #0x22c
- mov r0, r4
- ldmia sp!, {r4-r11,lr}
- add sp, sp, #0x10
- bx lr
-_020E6244:
- ldrb r1, [sp, #0x8]
- ldrsh r2, [sp, #0x6]
- add r0, sp, #0x200
- sub r1, r1, #0x1
- add r0, r0, #0x2a
- add r1, r2, r1
- sub r8, r0, #0x1
- strh r1, [sp, #0x6]
- mov r0, #0x0
- strb r0, [r8, #0x0]
- cmp r6, #0x65
- bgt _020E62A0
- bge _020E632C
- cmp r6, #0x47
- bgt _020E65EC
- cmp r6, #0x45
- blt _020E65EC
- beq _020E632C
- cmp r6, #0x46
- beq _020E6478
- cmp r6, #0x47
- beq _020E62B8
- b _020E65EC
-_020E62A0:
- cmp r6, #0x66
- bgt _020E62B0
- beq _020E6478
- b _020E65EC
-_020E62B0:
- cmp r6, #0x67
- bne _020E65EC
-_020E62B8:
- ldrb r0, [sp, #0x8]
- cmp r0, r7
- ble _020E62D0
- add r0, sp, #0x4
- mov r1, r7
- bl round_decimal_wide
-_020E62D0:
- ldrsh r2, [sp, #0x6]
- mvn r0, #0x3
- cmp r2, r0
- blt _020E62E8
- cmp r2, r7
- blt _020E6308
-_020E62E8:
- cmp r5, #0x0
- ldreqb r0, [sp, #0x8]
- subne r7, r7, #0x1
- subeq r7, r0, #0x1
- cmp r6, #0x67
- moveq r6, #0x65
- movne r6, #0x45
- b _020E632C
-_020E6308:
- cmp r5, #0x0
- addne r0, r2, #0x1
- subne r7, r7, r0
- bne _020E6478
- ldrb r1, [sp, #0x8]
- add r0, r2, #0x1
- subs r7, r1, r0
- movmi r7, #0x0
- b _020E6478
-_020E632C:
- ldrb r0, [sp, #0x8]
- add r1, r7, #0x1
- cmp r0, r1
- ble _020E6344
- add r0, sp, #0x4
- bl round_decimal_wide
-_020E6344:
- ldrsh lr, [sp, #0x6]
- mov r11, #0x2b
- mov r10, #0x0
- cmp lr, #0x0
- rsblt lr, lr, #0x0
- movlt r11, #0x2d
- ldr r3, _020E6650 ; =0x66666667
- mov r0, #0xa
- b _020E6398
-_020E6368:
- mov r1, lr, lsr #0x1f
- smull r2, r12, r3, lr
- add r12, r1, r12, asr #0x2
- smull r1, r2, r0, r12
- sub r12, lr, r1
- add r1, r12, #0x30
- strb r1, [r8, #-0x1]!
- mov r2, lr
- smull r1, lr, r3, r2
- mov r1, r2, lsr #0x1f
- add lr, r1, lr, asr #0x2
- add r10, r10, #0x1
-_020E6398:
- cmp lr, #0x0
- bne _020E6368
- cmp r10, #0x2
- blt _020E6368
- add r0, sp, #0x2a
- strb r11, [r8, #-0x1]
- strb r6, [r8, #-0x2]!
- sub r1, r0, r8
- ldr r0, _020E6628 ; =0x000001FD
- add r1, r1, r7
- cmp r1, r0
- addgt sp, sp, #0x22c
- movgt r0, #0x0
- ldmgtia sp!, {r4-r11,lr}
- addgt sp, sp, #0x10
- bxgt lr
- ldrb r1, [sp, #0x8]
- add r0, r7, #0x1
- cmp r1, r0
- bge _020E6408
- add r0, r7, #0x2
- sub r0, r0, r1
- subs r1, r0, #0x1
- beq _020E6408
- mov r0, #0x30
-_020E63FC:
- strb r0, [r8, #-0x1]!
- subs r1, r1, #0x1
- bne _020E63FC
-_020E6408:
- ldrb r1, [sp, #0x8]
- add r0, sp, #0x9
- add r2, r0, r1
- subs r1, r1, #0x1
- beq _020E642C
-_020E641C:
- ldrsb r0, [r2, #-0x1]!
- subs r1, r1, #0x1
- strb r0, [r8, #-0x1]!
- bne _020E641C
-_020E642C:
- cmp r7, #0x0
- cmpeq r5, #0x0
- movne r0, #0x2e
- strneb r0, [r8, #-0x1]!
- ldrb r0, [sp, #0x9]
- strb r0, [r8, #-0x1]!
- ldrsb r0, [sp, #0x4]
- cmp r0, #0x0
- movne r0, #0x2d
- strneb r0, [r8, #-0x1]!
- bne _020E65EC
- cmp r4, #0x1
- moveq r0, #0x2b
- streqb r0, [r8, #-0x1]!
- beq _020E65EC
- cmp r4, #0x2
- moveq r0, #0x20
- streqb r0, [r8, #-0x1]!
- b _020E65EC
-_020E6478:
- ldrsh r3, [sp, #0x6]
- ldrb r2, [sp, #0x8]
- sub r0, r2, r3
- subs r1, r0, #0x1
- movmi r1, #0x0
- cmp r1, r7
- ble _020E64B8
- sub r1, r1, r7
- add r0, sp, #0x4
- sub r1, r2, r1
- bl round_decimal_wide
- ldrsh r3, [sp, #0x6]
- ldrb r2, [sp, #0x8]
- sub r0, r2, r3
- subs r1, r0, #0x1
- movmi r1, #0x0
-_020E64B8:
- adds r0, r3, #0x1
- movmi r0, #0x0
- ldr r3, _020E6628 ; =0x000001FD
- add r6, r0, r1
- cmp r6, r3
- addgt sp, sp, #0x22c
- movgt r0, #0x0
- ldmgtia sp!, {r4-r11,lr}
- addgt sp, sp, #0x10
- bxgt lr
- add r3, sp, #0x9
- sub r6, r7, r1
- cmp r6, #0x0
- add r2, r3, r2
- mov r10, #0x0
- ble _020E650C
- mov r3, #0x30
-_020E64FC:
- add r10, r10, #0x1
- cmp r10, r6
- strb r3, [r8, #-0x1]!
- blt _020E64FC
-_020E650C:
- mov r6, #0x0
- b _020E6520
-_020E6514:
- ldrsb r3, [r2, #-0x1]!
- add r6, r6, #0x1
- strb r3, [r8, #-0x1]!
-_020E6520:
- cmp r6, r1
- ldrltb r3, [sp, #0x8]
- cmplt r6, r3
- blt _020E6514
- cmp r6, r1
- bge _020E654C
- mov r3, #0x30
-_020E653C:
- add r6, r6, #0x1
- cmp r6, r1
- strb r3, [r8, #-0x1]!
- blt _020E653C
-_020E654C:
- cmp r7, #0x0
- cmpeq r5, #0x0
- movne r1, #0x2e
- strneb r1, [r8, #-0x1]!
- cmp r0, #0x0
- beq _020E65B4
- ldrb r1, [sp, #0x8]
- mov r5, #0x0
- sub r1, r0, r1
- cmp r1, #0x0
- ble _020E6594
- mov r3, #0x30
-_020E657C:
- strb r3, [r8, #-0x1]!
- ldrb r1, [sp, #0x8]
- add r5, r5, #0x1
- sub r1, r0, r1
- cmp r5, r1
- blt _020E657C
-_020E6594:
- cmp r5, r0
- bge _020E65BC
-_020E659C:
- ldrsb r1, [r2, #-0x1]!
- add r5, r5, #0x1
- cmp r5, r0
- strb r1, [r8, #-0x1]!
- blt _020E659C
- b _020E65BC
-_020E65B4:
- mov r0, #0x30
- strb r0, [r8, #-0x1]!
-_020E65BC:
- ldrsb r0, [sp, #0x4]
- cmp r0, #0x0
- movne r0, #0x2d
- strneb r0, [r8, #-0x1]!
- bne _020E65EC
- cmp r4, #0x1
- moveq r0, #0x2b
- streqb r0, [r8, #-0x1]!
- beq _020E65EC
- cmp r4, #0x2
- moveq r0, #0x20
- streqb r0, [r8, #-0x1]!
-_020E65EC:
- mov r0, r8
- bl strlen
- sub r1, r9, r0, lsl #0x1
- mov r0, r8
- sub r4, r1, #0x2
- bl strlen
- mov r2, r0
- mov r0, r4
- mov r1, r8
- bl mbstowcs
- mov r0, r4
- add sp, sp, #0x22c
- ldmia sp!, {r4-r11,lr}
- add sp, sp, #0x10
- bx lr
- .balign 4
-_020E6628: .word 0x000001FD
-_020E662C: .word 0x02104544
-_020E6630: .word 0x02106DF0
-_020E6634: .word 0x02106DFC
-_020E6638: .word 0x02106E08
-_020E663C: .word 0x02106E10
-_020E6640: .word 0x02106E18
-_020E6644: .word 0x02106E24
-_020E6648: .word 0x02106E30
-_020E664C: .word 0x02106E38
-_020E6650: .word 0x66666667
-
- arm_func_start __wpformatter
-__wpformatter:
- stmdb sp!, {r0-r3}
- stmdb sp!, {r3-r11,lr}
- sub sp, sp, #0x430
- mov r3, #0x20
- mov r11, r2
- strh r3, [sp, #0x1c]
- ldrh r2, [r11, #0x0]
- mov r9, r0
- mov r8, r1
- cmp r2, #0x0
- mov r4, #0x0
- beq _020E6F24
-_020E6684:
- mov r0, r11
- mov r1, #0x25
- bl wcschr
- str r0, [sp, #0xc]
- cmp r0, #0x0
- bne _020E66D8
- mov r0, r11
- bl wcslen
- movs r2, r0
- add r4, r4, r2
- beq _020E6F24
- mov r0, r8
- mov r1, r11
- blx r9
- cmp r0, #0x0
- bne _020E6F24
- add sp, sp, #0x430
- mvn r0, #0x0
- ldmia sp!, {r3-r11,lr}
- add sp, sp, #0x10
- bx lr
-_020E66D8:
- sub r0, r0, r11
- add r0, r0, r0, lsr #0x1f
- movs r2, r0, asr #0x1
- add r4, r4, r2
- beq _020E6710
- mov r0, r8
- mov r1, r11
- blx r9
- cmp r0, #0x0
- addeq sp, sp, #0x430
- mvneq r0, #0x0
- ldmeqia sp!, {r3-r11,lr}
- addeq sp, sp, #0x10
- bxeq lr
-_020E6710:
- add r1, sp, #0x400
- ldr r0, [sp, #0xc]
- add r1, r1, #0x64
- add r2, sp, #0x20
- bl parse_format_wprintf
- ldrh r1, [sp, #0x26]
- mov r11, r0
- cmp r1, #0x61
- bgt _020E6780
- bge _020E6AEC
- cmp r1, #0x47
- bgt _020E6774
- subs r0, r1, #0x41
- addpl pc, pc, r0, lsl #0x2
- b _020E6768
-_020E674C: ; 0x020E674C
- b _020E6AEC
-_020E6750: ; 0x020E6750
- b _020E6D90
-_020E6754: ; 0x020E6754
- b _020E6D90
-_020E6758: ; 0x020E6758
- b _020E6D90
-_020E675C: ; 0x020E675C
- b _020E6A7C
-_020E6760: ; 0x020E6760
- b _020E6A7C
-_020E6764: ; 0x020E6764
- b _020E6A7C
-_020E6768:
- cmp r1, #0x25
- beq _020E6D7C
- b _020E6D90
-_020E6774:
- cmp r1, #0x58
- beq _020E6940
- b _020E6D90
-_020E6780:
- cmp r1, #0x75
- bgt _020E67E8
- subs r0, r1, #0x64
- addpl pc, pc, r0, lsl #0x2
- b _020E67DC
-_020E6794: ; 0x020E6794
- b _020E6804
-_020E6798: ; 0x020E6798
- b _020E6A7C
-_020E679C: ; 0x020E679C
- b _020E6A7C
-_020E67A0: ; 0x020E67A0
- b _020E6A7C
-_020E67A4: ; 0x020E67A4
- b _020E6D90
-_020E67A8: ; 0x020E67A8
- b _020E6804
-_020E67AC: ; 0x020E67AC
- b _020E6D90
-_020E67B0: ; 0x020E67B0
- b _020E6D90
-_020E67B4: ; 0x020E67B4
- b _020E6D90
-_020E67B8: ; 0x020E67B8
- b _020E6D90
-_020E67BC: ; 0x020E67BC
- b _020E6C98
-_020E67C0: ; 0x020E67C0
- b _020E6940
-_020E67C4: ; 0x020E67C4
- b _020E6D90
-_020E67C8: ; 0x020E67C8
- b _020E6D90
-_020E67CC: ; 0x020E67CC
- b _020E6D90
-_020E67D0: ; 0x020E67D0
- b _020E6B5C
-_020E67D4: ; 0x020E67D4
- b _020E6D90
-_020E67D8: ; 0x020E67D8
- b _020E6940
-_020E67DC:
- cmp r1, #0x63
- beq _020E6D24
- b _020E6D90
-_020E67E8:
- cmp r1, #0x78
- bgt _020E67F8
- beq _020E6940
- b _020E6D90
-_020E67F8:
- ldr r0, _020E6F38 ; =0x0000FFFF
- cmp r1, r0
- b _020E6D90
-_020E6804:
- ldrb r0, [sp, #0x24]
- cmp r0, #0x3
- bne _020E6824
- ldr r1, [sp, #0x464]
- add r1, r1, #0x4
- str r1, [sp, #0x464]
- ldr r10, [r1, #-0x4]
- b _020E68BC
-_020E6824:
- cmp r0, #0x4
- bne _020E684C
- ldr r1, [sp, #0x464]
- add r2, r1, #0x8
- str r2, [sp, #0x464]
- ldr r1, [r2, #-0x8]
- str r1, [sp, #0x10]
- ldr r1, [r2, #-0x4]
- str r1, [sp, #0x14]
- b _020E68BC
-_020E684C:
- cmp r0, #0x6
- bne _020E6874
- ldr r1, [sp, #0x464]
- add r2, r1, #0x8
- str r2, [sp, #0x464]
- ldr r1, [r2, #-0x8]
- str r1, [sp, #0x10]
- ldr r1, [r2, #-0x4]
- str r1, [sp, #0x14]
- b _020E68BC
-_020E6874:
- cmp r0, #0x7
- bne _020E6890
- ldr r1, [sp, #0x464]
- add r1, r1, #0x4
- str r1, [sp, #0x464]
- ldr r10, [r1, #-0x4]
- b _020E68BC
-_020E6890:
- cmp r0, #0x8
- bne _020E68AC
- ldr r1, [sp, #0x464]
- add r1, r1, #0x4
- str r1, [sp, #0x464]
- ldr r10, [r1, #-0x4]
- b _020E68BC
-_020E68AC:
- ldr r1, [sp, #0x464]
- add r1, r1, #0x4
- str r1, [sp, #0x464]
- ldr r10, [r1, #-0x4]
-_020E68BC:
- cmp r0, #0x2
- moveq r1, r10, lsl #0x10
- moveq r10, r1, asr #0x10
- cmp r0, #0x4
- cmpne r0, #0x6
- add r0, sp, #0x20
- bne _020E6904
- sub r5, sp, #0x4
- ldmia r0, {r0-r3}
- stmia r5, {r0-r3}
- ldr r3, [r5, #0x0]
- ldr r0, [sp, #0x10]
- ldr r1, [sp, #0x14]
- add r2, sp, #0x430
- bl longlong2str_wide
- movs r6, r0
- beq _020E6D90
- b _020E6928
-_020E6904:
- sub r5, sp, #0x8
- ldmia r0, {r0-r3}
- stmia r5, {r0-r3}
- add r1, sp, #0x430
- mov r0, r10
- ldmia r5, {r2-r3}
- bl long2str_wide
- movs r6, r0
- beq _020E6D90
-_020E6928:
- add r0, sp, #0x400
- add r0, r0, #0x2e
- sub r0, r0, r6
- add r0, r0, r0, lsr #0x1f
- mov r7, r0, asr #0x1
- b _020E6DDC
-_020E6940:
- ldrb r0, [sp, #0x24]
- cmp r0, #0x3
- bne _020E6960
- ldr r1, [sp, #0x464]
- add r1, r1, #0x4
- str r1, [sp, #0x464]
- ldr r10, [r1, #-0x4]
- b _020E69F8
-_020E6960:
- cmp r0, #0x4
- bne _020E6988
- ldr r1, [sp, #0x464]
- add r2, r1, #0x8
- str r2, [sp, #0x464]
- ldr r1, [r2, #-0x8]
- str r1, [sp, #0x10]
- ldr r1, [r2, #-0x4]
- str r1, [sp, #0x14]
- b _020E69F8
-_020E6988:
- cmp r0, #0x6
- bne _020E69B0
- ldr r1, [sp, #0x464]
- add r2, r1, #0x8
- str r2, [sp, #0x464]
- ldr r1, [r2, #-0x8]
- str r1, [sp, #0x10]
- ldr r1, [r2, #-0x4]
- str r1, [sp, #0x14]
- b _020E69F8
-_020E69B0:
- cmp r0, #0x7
- bne _020E69CC
- ldr r1, [sp, #0x464]
- add r1, r1, #0x4
- str r1, [sp, #0x464]
- ldr r10, [r1, #-0x4]
- b _020E69F8
-_020E69CC:
- cmp r0, #0x8
- bne _020E69E8
- ldr r1, [sp, #0x464]
- add r1, r1, #0x4
- str r1, [sp, #0x464]
- ldr r10, [r1, #-0x4]
- b _020E69F8
-_020E69E8:
- ldr r1, [sp, #0x464]
- add r1, r1, #0x4
- str r1, [sp, #0x464]
- ldr r10, [r1, #-0x4]
-_020E69F8:
- cmp r0, #0x2
- moveq r1, r10, lsl #0x10
- moveq r10, r1, lsr #0x10
- cmp r0, #0x4
- cmpne r0, #0x6
- add r0, sp, #0x20
- bne _020E6A40
- sub r5, sp, #0x4
- ldmia r0, {r0-r3}
- stmia r5, {r0-r3}
- ldr r3, [r5, #0x0]
- ldr r0, [sp, #0x10]
- ldr r1, [sp, #0x14]
- add r2, sp, #0x430
- bl longlong2str_wide
- movs r6, r0
- beq _020E6D90
- b _020E6A64
-_020E6A40:
- sub r5, sp, #0x8
- ldmia r0, {r0-r3}
- stmia r5, {r0-r3}
- add r1, sp, #0x430
- mov r0, r10
- ldmia r5, {r2-r3}
- bl long2str_wide
- movs r6, r0
- beq _020E6D90
-_020E6A64:
- add r0, sp, #0x400
- add r0, r0, #0x2e
- sub r0, r0, r6
- add r0, r0, r0, lsr #0x1f
- mov r7, r0, asr #0x1
- b _020E6DDC
-_020E6A7C:
- ldrb r0, [sp, #0x24]
- cmp r0, #0x9
- ldrne r0, [sp, #0x464]
- addne r0, r0, #0x8
- strne r0, [sp, #0x464]
- bne _020E6AA0
- ldr r0, [sp, #0x464]
- add r0, r0, #0x8
- str r0, [sp, #0x464]
-_020E6AA0:
- ldr r7, [r0, #-0x8]
- ldr r6, [r0, #-0x4]
- add r0, sp, #0x20
- sub r5, sp, #0x4
- ldmia r0, {r0-r3}
- stmia r5, {r0-r3}
- ldr r3, [r5, #0x0]
- mov r0, r7
- mov r1, r6
- add r2, sp, #0x430
- bl float2str_wide
- movs r6, r0
- beq _020E6D90
- add r0, sp, #0x400
- add r0, r0, #0x2e
- sub r0, r0, r6
- add r0, r0, r0, lsr #0x1f
- mov r7, r0, asr #0x1
- b _020E6DDC
-_020E6AEC:
- ldrb r0, [sp, #0x24]
- cmp r0, #0x9
- ldrne r0, [sp, #0x464]
- addne r0, r0, #0x8
- strne r0, [sp, #0x464]
- bne _020E6B10
- ldr r0, [sp, #0x464]
- add r0, r0, #0x8
- str r0, [sp, #0x464]
-_020E6B10:
- ldr r7, [r0, #-0x8]
- ldr r6, [r0, #-0x4]
- add r0, sp, #0x20
- sub r5, sp, #0x4
- ldmia r0, {r0-r3}
- stmia r5, {r0-r3}
- ldr r3, [r5, #0x0]
- mov r0, r7
- mov r1, r6
- add r2, sp, #0x430
- bl double2hex_wide
- movs r6, r0
- beq _020E6D90
- add r0, sp, #0x400
- add r0, r0, #0x2e
- sub r0, r0, r6
- add r0, r0, r0, lsr #0x1f
- mov r7, r0, asr #0x1
- b _020E6DDC
-_020E6B5C:
- ldrb r0, [sp, #0x24]
- cmp r0, #0x5
- bne _020E6BF8
- ldr r0, [sp, #0x464]
- add r0, r0, #0x4
- str r0, [sp, #0x464]
- ldr r6, [r0, #-0x4]
- ldrb r0, [sp, #0x23]
- cmp r6, #0x0
- ldreq r6, _020E6F3C ; =0x02106E40
- cmp r0, #0x0
- beq _020E6BB0
- ldrh r1, [r6], #0x2
- ldrb r0, [sp, #0x22]
- and r7, r1, #0xff
- cmp r0, #0x0
- beq _020E6DDC
- ldr r0, [sp, #0x2c]
- cmp r7, r0
- movgt r7, r0
- b _020E6DDC
-_020E6BB0:
- ldrb r0, [sp, #0x22]
- cmp r0, #0x0
- beq _020E6BE8
- ldr r7, [sp, #0x2c]
- mov r0, r6
- mov r2, r7
- mov r1, #0x0
- bl wmemchr
-_020E6BD0: ; 0x020E6BD0
- cmp r0, #0x0
- beq _020E6DDC
- sub r0, r0, r6
- add r0, r0, r0, lsr #0x1f
- mov r7, r0, asr #0x1
- b _020E6DDC
-_020E6BE8:
- mov r0, r6
- bl wcslen
- mov r7, r0
- b _020E6DDC
-_020E6BF8:
- ldr r0, [sp, #0x464]
- add r0, r0, #0x4
- str r0, [sp, #0x464]
- ldr r5, [r0, #-0x4]
- ldrb r0, [sp, #0x23]
- cmp r5, #0x0
- ldreq r5, _020E6F40 ; =0x02106E44
- cmp r0, #0x0
- beq _020E6C40
- ldrh r1, [r6, #0x0]
- ldrb r0, [sp, #0x22]
- and r6, r1, #0xff
- cmp r0, #0x0
- beq _020E6C78
- ldr r0, [sp, #0x2c]
- cmp r6, r0
- movgt r6, r0
- b _020E6C78
-_020E6C40:
- ldrb r0, [sp, #0x22]
- cmp r0, #0x0
- beq _020E6C6C
- ldr r6, [sp, #0x2c]
- mov r0, r5
- mov r2, r6
- mov r1, #0x0
- bl memchr
-_020E6C60: ; 0x020E6C60
- cmp r0, #0x0
- subne r6, r0, r5
- b _020E6C78
-_020E6C6C:
- mov r0, r5
- bl strlen
- mov r6, r0
-_020E6C78:
- add r0, sp, #0x30
- mov r1, r5
- mov r2, r6
- bl mbstowcs
- movs r7, r0
- bmi _020E6D90
- add r6, sp, #0x30
- b _020E6DDC
-_020E6C98:
- ldr r1, [sp, #0x464]
- ldrb r0, [sp, #0x24]
- add r1, r1, #0x4
- str r1, [sp, #0x464]
- ldr r6, [r1, #-0x4]
- cmp r0, #0x8
- addls pc, pc, r0, lsl #0x2
- b _020E6F18
-_020E6CB8:
- b _020E6CDC
-_020E6CBC:
- b _020E6F18
-_020E6CC0:
- b _020E6CE4
-_020E6CC4:
- b _020E6CEC
-_020E6CC8:
- b _020E6D14
-_020E6CCC:
- b _020E6F18
-_020E6CD0:
- b _020E6CF4
-_020E6CD4:
- b _020E6D04
-_020E6CD8:
- b _020E6D0C
-_020E6CDC:
- str r4, [r6, #0x0]
- b _020E6F18
-_020E6CE4:
- strh r4, [r6, #0x0]
- b _020E6F18
-_020E6CEC:
- str r4, [r6, #0x0]
- b _020E6F18
-_020E6CF4:
- str r4, [r6, #0x0]
- mov r0, r4, asr #0x1f
- str r0, [r6, #0x4]
- b _020E6F18
-_020E6D04:
- str r4, [r6, #0x0]
- b _020E6F18
-_020E6D0C:
- str r4, [r6, #0x0]
- b _020E6F18
-_020E6D14:
- str r4, [r6, #0x0]
- mov r0, r4, asr #0x1f
- str r0, [r6, #0x4]
- b _020E6F18
-_020E6D24:
- ldrb r0, [sp, #0x24]
- add r6, sp, #0x30
- cmp r0, #0x5
- bne _020E6D50
- ldr r0, [sp, #0x464]
- mov r7, #0x1
- add r0, r0, #0x4
- str r0, [sp, #0x464]
- ldr r0, [r0, #-0x4]
- strh r0, [r6, #0x0]
- b _020E6DDC
-_020E6D50:
- ldr r0, [sp, #0x464]
- add r1, sp, #0x18
- add r0, r0, #0x4
- str r0, [sp, #0x464]
- ldr r3, [r0, #-0x4]
- mov r0, r6
- mov r2, #0x1
- strb r3, [sp, #0x18]
- bl mbtowc
- mov r7, r0
- b _020E6DDC
-_020E6D7C:
- mov r0, #0x25
- strh r0, [sp, #0x30]
- add r6, sp, #0x30
- mov r7, #0x1
- b _020E6DDC
-_020E6D90:
- ldr r0, [sp, #0xc]
- bl wcslen
- movs r5, r0
- beq _020E6DC8
- ldr r1, [sp, #0xc]
- mov r0, r8
- mov r2, r5
- blx r9
- cmp r0, #0x0
- addeq sp, sp, #0x430
- mvneq r0, #0x0
- ldmeqia sp!, {r3-r11,lr}
- addeq sp, sp, #0x10
- bxeq lr
-_020E6DC8:
- add sp, sp, #0x430
- add r0, r4, r5
- ldmia sp!, {r3-r11,lr}
- add sp, sp, #0x10
- bx lr
-_020E6DDC:
- ldrb r0, [sp, #0x20]
- mov r5, r7
- cmp r0, #0x0
- beq _020E6E8C
- cmp r0, #0x2
- moveq r1, #0x30
- movne r1, #0x20
- strh r1, [sp, #0x1c]
- ldrh r0, [r6, #0x0]
- cmp r0, #0x2b
- cmpne r0, #0x2d
- cmpne r0, #0x20
- bne _020E6E48
- cmp r1, #0x30
- bne _020E6E48
- mov r0, r8
- mov r1, r6
- mov r2, #0x1
- blx r9
- cmp r0, #0x0
- addeq sp, sp, #0x430
- mvneq r0, #0x0
- ldmeqia sp!, {r3-r11,lr}
- addeq sp, sp, #0x10
- bxeq lr
- add r6, r6, #0x2
- sub r7, r7, #0x1
-_020E6E48:
- ldr r0, [sp, #0x28]
- cmp r5, r0
- bge _020E6E8C
-_020E6E54:
- mov r0, r8
- add r1, sp, #0x1c
- mov r2, #0x1
- blx r9
- cmp r0, #0x0
- addeq sp, sp, #0x430
- mvneq r0, #0x0
- ldmeqia sp!, {r3-r11,lr}
- addeq sp, sp, #0x10
- bxeq lr
- ldr r0, [sp, #0x28]
- add r5, r5, #0x1
- cmp r5, r0
- blt _020E6E54
-_020E6E8C:
- cmp r7, #0x0
- beq _020E6EBC
- mov r0, r8
- mov r1, r6
- mov r2, r7
- blx r9
- cmp r0, #0x0
- addeq sp, sp, #0x430
- mvneq r0, #0x0
- ldmeqia sp!, {r3-r11,lr}
- addeq sp, sp, #0x10
- bxeq lr
-_020E6EBC:
- ldrb r0, [sp, #0x20]
- cmp r0, #0x0
- bne _020E6F14
- ldr r0, [sp, #0x28]
- cmp r5, r0
- bge _020E6F14
- mov r7, #0x20
-_020E6ED8:
- mov r0, r8
- add r1, sp, #0x1a
- mov r2, #0x1
- strh r7, [sp, #0x1a]
- blx r9
- cmp r0, #0x0
- addeq sp, sp, #0x430
- mvneq r0, #0x0
- ldmeqia sp!, {r3-r11,lr}
- addeq sp, sp, #0x10
- bxeq lr
- ldr r0, [sp, #0x28]
- add r5, r5, #0x1
- cmp r5, r0
- blt _020E6ED8
-_020E6F14:
- add r4, r4, r5
-_020E6F18:
- ldrh r0, [r11, #0x0]
- cmp r0, #0x0
- bne _020E6684
-_020E6F24:
- mov r0, r4
- add sp, sp, #0x430
- ldmia sp!, {r3-r11,lr}
- add sp, sp, #0x10
- bx lr
- .balign 4
-_020E6F38: .word 0x0000FFFF
-_020E6F3C: .word 0x02106E40
-_020E6F40: .word 0x02106E44
-
- arm_func_start __wStringWrite
-__wStringWrite: ; 0x020E6F44
- stmdb sp!, {r3-r5,lr}
- mov r4, r0
- ldr r3, [r4, #0x8]
- mov r5, r2
- ldr r2, [r4, #0x4]
- add r0, r3, r5
- cmp r0, r2
- ldr r0, [r4, #0x0]
- subhi r5, r2, r3
- mov r2, r5
- add r0, r0, r3, lsl #0x1
- bl wmemcpy
- ldr r1, [r4, #0x8]
- add r1, r1, r5
- str r1, [r4, #0x8]
- ldmia sp!, {r3-r5,pc}
-
- arm_func_start swprintf
-swprintf: ; 0x020E6F84
- stmdb sp!, {r0-r3}
- stmdb sp!, {r3,lr}
- add r3, sp, #0x10
- bic r3, r3, #0x3
- ldr r2, [sp, #0x10]
- add r3, r3, #0x4
- bl vswprintf
- ldmia sp!, {r3,lr}
- add sp, sp, #0x10
- bx lr
-
- arm_func_start vswprintf
-vswprintf: ; 0x020E6FAC
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0xc
- mov r5, r0
- mov r4, r1
- mov r12, #0x0
- ldr r0, _020E7018 ; =__wStringWrite
- add r1, sp, #0x0
- str r5, [sp, #0x0]
- str r4, [sp, #0x4]
- str r12, [sp, #0x8]
- bl __wpformatter
-_020E6FD8: ; 0x020E6FD8
- cmp r0, #0x0
- addlt sp, sp, #0xc
- ldmltia sp!, {r4-r5,pc}
-_020E6FE4: ; 0x020E6FE4
- cmp r0, r4
- bhs _020E7000
- mov r1, r0, lsl #0x1
- mov r2, #0x0
- add sp, sp, #0xc
- strh r2, [r5, r1]
- ldmia sp!, {r4-r5,pc}
-_020E7000:
- mov r1, #0x0
- add r0, r5, r4, lsl #0x1
- strh r1, [r0, #-0x2]
- sub r0, r1, #0x1
- add sp, sp, #0xc
- ldmia sp!, {r4-r5,pc}
- .balign 4
-_020E7018: .word __wStringWrite
-
- arm_func_start wcslen
-wcslen: ; 0x020E701C
- mvn r2, #0x0
-_020E7020:
- ldrh r1, [r0], #0x2
- add r2, r2, #0x1
- cmp r1, #0x0
- bne _020E7020
- mov r0, r2
- bx lr
-
- arm_func_start wcscpy
-wcscpy: ; 0x020E7038
- mov r3, r0
-_020E703C:
- ldrh r2, [r1], #0x2
- mov r12, r3
- strh r2, [r3], #0x2
- ldrh r2, [r12, #0x0]
- cmp r2, #0x0
- bne _020E703C
- bx lr
-
- arm_func_start wcschr
-wcschr: ; 0x020E7058
- ldrh r2, [r0], #0x2
- cmp r2, #0x0
- beq _020E707C
-_020E7064:
- cmp r2, r1
- subeq r0, r0, #0x2
- bxeq lr
- ldrh r2, [r0], #0x2
- cmp r2, #0x0
- bne _020E7064
-_020E707C:
- cmp r1, #0x0
- movne r0, #0x0
- subeq r0, r0, #0x2
- bx lr
-
- arm_func_start __ieee754_pow
-__ieee754_pow: ; 0x020E708C
- stmdb sp!, {r0-r3}
- stmdb sp!, {r3-r11,lr}
- sub sp, sp, #0x80
- ldr r8, [sp, #0xb4]
- ldr r6, [sp, #0xac]
- ldr r0, [sp, #0xb0]
- bic r9, r8, #0x80000000
- orrs r1, r9, r0
- ldr r7, [sp, #0xa8]
- bic r4, r6, #0x80000000
- addeq sp, sp, #0x80
- moveq r0, #0x0
- ldreq r1, _020E7638 ; =0x3FF00000
- ldmeqia sp!, {r3-r11,lr}
- addeq sp, sp, #0x10
- bxeq lr
- ldr r1, _020E763C ; =0x7FF00000
- cmp r4, r1
- bgt _020E70FC
- bne _020E70E4
- cmp r7, #0x0
- bne _020E70FC
-_020E70E4:
- ldr r1, _020E763C ; =0x7FF00000
- cmp r9, r1
- bgt _020E70FC
- bne _020E7120
- cmp r0, #0x0
- beq _020E7120
-_020E70FC:
- ldr r0, [sp, #0xa8]
- ldr r1, [sp, #0xac]
- ldr r2, [sp, #0xb0]
- ldr r3, [sp, #0xb4]
- bl _dadd
- add sp, sp, #0x80
- ldmia sp!, {r3-r11,lr}
- add sp, sp, #0x10
- bx lr
-_020E7120:
- cmp r6, #0x0
- mov r5, #0x0
- bge _020E7188
- ldr r1, _020E7640 ; =0x43400000
- cmp r9, r1
- movge r5, #0x2
- bge _020E7188
- sub r1, r1, #0x3500000
- cmp r9, r1
- blt _020E7188
- ldr r1, _020E7644 ; =0xFFFFFC01
- add r1, r1, r9, asr #0x14
- cmp r1, #0x14
- ble _020E7170
- rsb r2, r1, #0x34
- mov r1, r0, lsr r2
- cmp r0, r1, lsl r2
- andeq r1, r1, #0x1
- rsbeq r5, r1, #0x2
- b _020E7188
-_020E7170:
- cmp r0, #0x0
- rsbeq r2, r1, #0x14
- moveq r1, r9, asr r2
- cmpeq r9, r1, lsl r2
- andeq r1, r1, #0x1
- rsbeq r5, r1, #0x2
-_020E7188:
- cmp r0, #0x0
- bne _020E72E4
- ldr r1, _020E763C ; =0x7FF00000
- cmp r9, r1
- bne _020E723C
- add r0, r4, #0x100000
- add r0, r0, #0xc0000000
- orrs r0, r0, r7
- bne _020E71D0
- ldr r0, [sp, #0xb0]
- ldr r1, [sp, #0xb4]
- mov r2, r0
- mov r3, r1
- bl _dsub
- add sp, sp, #0x80
- ldmia sp!, {r3-r11,lr}
- add sp, sp, #0x10
- bx lr
-_020E71D0:
- sub r0, r1, #0x40000000
- cmp r4, r0
- blt _020E7200
- cmp r8, #0x0
- ldrge r0, [sp, #0xb0]
- ldrge r1, [sp, #0xb4]
- movlt r0, #0x0
- add sp, sp, #0x80
- movlt r1, r0
- ldmia sp!, {r3-r11,lr}
- add sp, sp, #0x10
- bx lr
-_020E7200:
- cmp r8, #0x0
- mov r0, #0x0
- addge sp, sp, #0x80
- movge r1, r0
- ldmgeia sp!, {r3-r11,lr}
- addge sp, sp, #0x10
- bxge lr
- ldr r2, [sp, #0xb0]
- ldr r3, [sp, #0xb4]
- mov r1, r0
- bl _dsub
- add sp, sp, #0x80
- ldmia sp!, {r3-r11,lr}
- add sp, sp, #0x10
- bx lr
-_020E723C:
- sub r0, r1, #0x40000000
- cmp r9, r0
- bne _020E7288
- cmp r8, #0x0
- ldrge r0, [sp, #0xa8]
- ldrge r1, [sp, #0xac]
- addge sp, sp, #0x80
- ldmgeia sp!, {r3-r11,lr}
- addge sp, sp, #0x10
- bxge lr
- ldr r2, [sp, #0xa8]
- ldr r3, [sp, #0xac]
- sub r1, r1, #0x40000000
- mov r0, #0x0
- bl _ddiv
- add sp, sp, #0x80
- ldmia sp!, {r3-r11,lr}
- add sp, sp, #0x10
- bx lr
-_020E7288:
- cmp r8, #0x40000000
- bne _020E72B4
- ldr r0, [sp, #0xa8]
- ldr r1, [sp, #0xac]
- mov r2, r0
- mov r3, r1
- bl _dmul
- add sp, sp, #0x80
- ldmia sp!, {r3-r11,lr}
- add sp, sp, #0x10
- bx lr
-_020E72B4:
- ldr r0, _020E7648 ; =0x3FE00000
- cmp r8, r0
- bne _020E72E4
- cmp r6, #0x0
- blt _020E72E4
- ldr r0, [sp, #0xa8]
- ldr r1, [sp, #0xac]
- bl _dsqrt
- add sp, sp, #0x80
- ldmia sp!, {r3-r11,lr}
- add sp, sp, #0x10
- bx lr
-_020E72E4:
- ldr r0, [sp, #0xa8]
- ldr r1, [sp, #0xac]
- bl fabs
- str r0, [sp, #0x70]
- str r1, [sp, #0x74]
- cmp r7, #0x0
- bne _020E73E8
- ldr r0, _020E763C ; =0x7FF00000
- cmp r4, r0
- cmpne r4, #0x0
- subne r0, r0, #0x40000000
- cmpne r4, r0
- bne _020E73E8
- ldr r2, [sp, #0x70]
- ldr r3, [sp, #0x74]
- str r2, [sp, #0x78]
- str r3, [sp, #0x7c]
- cmp r8, #0x0
- bge _020E7344
- ldr r1, _020E7638 ; =0x3FF00000
- mov r0, #0x0
- bl _ddiv
- str r0, [sp, #0x78]
- str r1, [sp, #0x7c]
-_020E7344:
- cmp r6, #0x0
- bge _020E73D0
- add r0, r4, #0x100000
- add r0, r0, #0xc0000000
- orrs r0, r0, r5
- bne _020E73AC
- ldr r0, [sp, #0x78]
- ldr r1, [sp, #0x7c]
- mov r2, r0
- mov r3, r1
- bl _dsub
- mov r4, r0
- mov r5, r1
- ldr r0, [sp, #0x78]
- ldr r1, [sp, #0x7c]
- mov r2, r0
- mov r3, r1
- bl _dsub
- mov r2, r0
- mov r3, r1
- mov r0, r4
- mov r1, r5
- bl _ddiv
- str r0, [sp, #0x78]
- str r1, [sp, #0x7c]
- b _020E73D0
-_020E73AC:
- cmp r5, #0x1
- bne _020E73D0
- mov r0, #0x0
- ldr r2, [sp, #0x78]
- ldr r3, [sp, #0x7c]
- mov r1, r0
- bl _dsub
- str r0, [sp, #0x78]
- str r1, [sp, #0x7c]
-_020E73D0:
- ldr r0, [sp, #0x78]
- ldr r1, [sp, #0x7c]
- add sp, sp, #0x80
- ldmia sp!, {r3-r11,lr}
- add sp, sp, #0x10
- bx lr
-_020E73E8:
- mov r0, r6, asr #0x1f
- add r7, r0, #0x1
- orrs r0, r7, r5
- bne _020E7420
- ldr r0, _020E764C ; =0x02106B78
- ldr r1, _020E7650 ; =0x021D74A8
- ldr r0, [r0, #0x0]
- mov r2, #0x21
- str r2, [r1, #0x0]
- bl _f2d
- add sp, sp, #0x80
- ldmia sp!, {r3-r11,lr}
- add sp, sp, #0x10
- bx lr
-_020E7420:
- ldr r3, _020E7654 ; =0x41E00000
- cmp r9, r3
- ble _020E7724
- add r0, r3, #0x2100000
- cmp r9, r0
- ble _020E7490
- ldr r1, _020E7658 ; =0x3FEFFFFF
- cmp r4, r1
- bgt _020E7464
- cmp r8, #0x0
- mov r0, #0x0
- addlt r1, r1, #0x40000001
- add sp, sp, #0x80
- movge r1, r0
- ldmia sp!, {r3-r11,lr}
- add sp, sp, #0x10
- bx lr
-_020E7464:
- add r0, r1, #0x1
- cmp r4, r0
- blt _020E7490
- cmp r8, #0x0
- mov r0, #0x0
- addgt r1, r1, #0x40000001
- add sp, sp, #0x80
- movle r1, r0
- ldmia sp!, {r3-r11,lr}
- add sp, sp, #0x10
- bx lr
-_020E7490:
- ldr r2, _020E7658 ; =0x3FEFFFFF
- cmp r4, r2
- bge _020E74BC
- cmp r8, #0x0
- mov r0, #0x0
- addlt r1, r2, #0x40000001
- add sp, sp, #0x80
- movge r1, r0
- ldmia sp!, {r3-r11,lr}
- add sp, sp, #0x10
- bx lr
-_020E74BC:
- add r0, r2, #0x1
- cmp r4, r0
- ble _020E74E8
- cmp r8, #0x0
- mov r0, #0x0
- addgt r1, r2, #0x40000001
- add sp, sp, #0x80
- movle r1, r0
- ldmia sp!, {r3-r11,lr}
- add sp, sp, #0x10
- bx lr
-_020E74E8:
- ldr r0, [sp, #0xa8]
- ldr r1, [sp, #0xac]
- add r3, r2, #0x1
- mov r2, #0x0
- bl _dsub
- mov r2, r0
- mov r3, r1
- str r0, [sp, #0x50]
- str r1, [sp, #0x54]
- bl _dmul
- mov r6, r1
- mov r4, r0
- ldr r2, [sp, #0x50]
- ldr r3, [sp, #0x54]
- ldr r1, _020E765C ; =0x3FD00000
- mov r0, #0x0
- bl _dmul
- mov r2, r0
- mov r3, r1
- ldr r0, _020E7660 ; =0x55555555
- sub r1, r0, #0x15800000
- bl _dsub
- mov r2, r0
- mov r3, r1
- ldr r0, [sp, #0x50]
- ldr r1, [sp, #0x54]
- bl _dmul
- mov r2, r0
- mov r3, r1
- mov r0, #0x0
- ldr r1, _020E7648 ; =0x3FE00000
- bl _dsub
- mov r2, r0
- mov r0, r4
- mov r3, r1
- mov r1, r6
- bl _dmul
- mov r6, r0
- mov r8, r1
- mov r0, #0x60000000
- ldr r1, _020E7664 ; =0x3FF71547
- ldr r2, [sp, #0x50]
- ldr r3, [sp, #0x54]
- bl _dmul
- mov r4, r0
- mov r9, r1
- ldr r0, _020E7668 ; =0xF85DDF44
- ldr r1, _020E766C ; =0x3E54AE0B
- ldr r2, [sp, #0x50]
- ldr r3, [sp, #0x54]
- bl _dmul
- mov r11, r0
- mov r10, r1
- ldr r0, _020E7670 ; =0x652B82FE
- ldr r1, _020E7664 ; =0x3FF71547
- mov r2, r6
- mov r3, r8
- bl _dmul
- mov r2, r0
- mov r3, r1
- mov r0, r11
- mov r1, r10
- bl _dsub
- mov r6, r0
- mov r8, r1
- mov r0, r4
- mov r1, r9
- mov r2, r6
- mov r3, r8
- bl _dadd
- mov r2, r4
- mov r3, r9
- str r1, [sp, #0x5c]
- mov r0, #0x0
- str r0, [sp, #0x58]
- bl _dsub
- mov r2, r0
- mov r0, r6
- mov r3, r1
- mov r1, r8
- bl _dsub
- mov r4, r0
- mov r8, r1
- b _020E7C80
- .balign 4
-_020E7638: .word 0x3FF00000
-_020E763C: .word 0x7FF00000
-_020E7640: .word 0x43400000
-_020E7644: .word 0xFFFFFC01
-_020E7648: .word 0x3FE00000
-_020E764C: .word 0x02106B78
-_020E7650: .word 0x021D74A8
-_020E7654: .word 0x41E00000
-_020E7658: .word 0x3FEFFFFF
-_020E765C: .word 0x3FD00000
-_020E7660: .word 0x55555555
-_020E7664: .word 0x3FF71547
-_020E7668: .word 0xF85DDF44
-_020E766C: .word 0x3E54AE0B
-_020E7670: .word 0x652B82FE
-_020E7674: .word 0x0003988E
-_020E7678: .word 0x000BB67A
-_020E767C: .word 0x02104754
-_020E7680: .word 0x4A454EEF
-_020E7684: .word 0x3FCA7E28
-_020E7688: .word 0x93C9DB65
-_020E768C: .word 0x3FCD864A
-_020E7690: .word 0xA91D4101
-_020E7694: .word 0x3FD17460
-_020E7698: .word 0x518F264D
-_020E769C: .word 0x3FD55555
-_020E76A0: .word 0xDB6FABFF
-_020E76A4: .word 0x3FDB6DB6
-_020E76A8: .word 0x33333303
-_020E76AC: .word 0x3FE33333
-_020E76B0: .word 0x40080000
-_020E76B4: .word 0x3FEEC709
-_020E76B8: .word 0x145B01F5
-_020E76BC: .word 0xBE3E2FE0
-_020E76C0: .word 0xDC3A03FD
-_020E76C4: .word 0x02104764
-_020E76C8: .word 0x02104744
-_020E76CC: .word 0x40900000
-_020E76D0: .word 0x8800759C
-_020E76D4: .word 0x7E37E43C
-_020E76D8: .word 0x3C971547
-_020E76DC: .word 0x3F6F3400
-_020E76E0: .word 0xC2F8F359
-_020E76E4: .word 0x01A56E1F
-_020E76E8: .word 0x3FE62E43
-_020E76EC: .word 0xFEFA39EF
-_020E76F0: .word 0x3FE62E42
-_020E76F4: .word 0x0CA86C39
-_020E76F8: .word 0xBE205C61
-_020E76FC: .word 0x72BEA4D0
-_020E7700: .word 0x3E663769
-_020E7704: .word 0xC5D26BF1
-_020E7708: .word 0xBEBBBD41
-_020E770C: .word 0xAF25DE2C
-_020E7710: .word 0x3F11566A
-_020E7714: .word 0x16BEBD93
-_020E7718: .word 0xBF66C16C
-_020E771C: .word 0x5555553E
-_020E7720: .word 0x3FC55555
-_020E7724:
- cmp r4, #0x100000
- mov r6, #0x0
- bge _020E7754
- ldr r0, [sp, #0x70]
- ldr r1, [sp, #0x74]
- mov r2, r6
- add r3, r3, #0x1600000
- bl _dmul
- mov r4, r1
- str r0, [sp, #0x70]
- str r4, [sp, #0x74]
- sub r6, r6, #0x35
-_020E7754:
- ldr r0, _020E7644 ; =0xFFFFFC01
- ldr r1, _020E7674 ; =0x0003988E
- and r2, r4, r0, lsr #0xc
- add r0, r0, r4, asr #0x14
- orr r9, r2, #0xff00000
- cmp r2, r1
- add r6, r6, r0
- orr r9, r9, #0x30000000
- movle r8, #0x0
- ble _020E7794
- ldr r0, _020E7678 ; =0x000BB67A
- cmp r2, r0
- movlt r8, #0x1
- addge r6, r6, #0x1
- subge r9, r9, #0x100000
- movge r8, #0x0
-_020E7794:
- ldr r2, _020E767C ; =0x02104754
- ldr r0, [sp, #0x70]
- add r1, r2, r8, lsl #0x3
- ldr r3, [r1, #0x4]
- ldr r2, [r2, r8, lsl #0x3]
- mov r1, r9
- str r9, [sp, #0x74]
- bl _dsub
- ldr r2, _020E767C ; =0x02104754
- mov r10, r0
- add r3, r2, r8, lsl #0x3
- mov r4, r1
- ldr r0, [sp, #0x70]
- ldr r2, [r2, r8, lsl #0x3]
- ldr r3, [r3, #0x4]
- mov r1, r9
- bl _dadd
- mov r3, r1
- mov r2, r0
- ldr r1, _020E7638 ; =0x3FF00000
- mov r0, #0x0
- bl _ddiv
- str r1, [sp, #0x24]
- mov r11, r0
- ldr r3, [sp, #0x24]
- mov r0, r10
- mov r1, r4
- mov r2, r11
- bl _dmul
- mov r2, r9, asr #0x1
- orr r2, r2, #0x20000000
- mov r9, r1
- add r2, r2, #0x80000
- add r1, r2, r8, lsl #0x12
- ldr r2, _020E767C ; =0x02104754
- str r0, [sp, #0x28]
- add r3, r2, r8, lsl #0x3
- mov r0, #0x0
- ldr r2, [r2, r8, lsl #0x3]
- ldr r3, [r3, #0x4]
- str r9, [sp, #0x4c]
- str r1, [sp, #0x44]
- str r0, [sp, #0x48]
- str r0, [sp, #0x40]
- bl _dsub
- mov r2, r0
- mov r3, r1
- ldr r0, [sp, #0x70]
- ldr r1, [sp, #0x74]
- bl _dsub
- str r0, [sp, #0x2c]
- str r1, [sp, #0x1c]
- ldr r0, [sp, #0x48]
- ldr r2, [sp, #0x40]
- ldr r3, [sp, #0x44]
- mov r1, r9
- bl _dmul
- mov r2, r0
- mov r3, r1
- mov r0, r10
- mov r1, r4
- bl _dsub
- mov r10, r0
- mov r4, r1
- ldr r2, [sp, #0x2c]
- ldr r3, [sp, #0x1c]
- ldr r0, [sp, #0x48]
- mov r1, r9
- bl _dmul
- mov r2, r0
- mov r3, r1
- mov r0, r10
- mov r1, r4
- bl _dsub
- mov r3, r1
- mov r2, r0
- ldr r1, [sp, #0x24]
- mov r0, r11
- bl _dmul
- str r0, [sp, #0x30]
- ldr r0, [sp, #0x28]
- str r1, [sp, #0x14]
- mov r1, r9
- mov r2, r0
- mov r3, r9
- bl _dmul
- mov r4, r0
- mov r10, r1
- mov r2, r4
- mov r3, r10
- bl _dmul
- str r0, [sp, #0x34]
- mov r11, r1
- ldr r0, _020E7680 ; =0x4A454EEF
- ldr r1, _020E7684 ; =0x3FCA7E28
- mov r2, r4
- mov r3, r10
- bl _dmul
- mov r2, r0
- mov r3, r1
- ldr r0, _020E7688 ; =0x93C9DB65
- ldr r1, _020E768C ; =0x3FCD864A
- bl _dadd
- mov r2, r0
- mov r3, r1
- mov r0, r4
- mov r1, r10
- bl _dmul
- mov r2, r0
- mov r3, r1
- ldr r0, _020E7690 ; =0xA91D4101
- ldr r1, _020E7694 ; =0x3FD17460
- bl _dadd
- mov r2, r0
- mov r3, r1
- mov r0, r4
- mov r1, r10
- bl _dmul
- mov r2, r0
- mov r3, r1
- ldr r0, _020E7698 ; =0x518F264D
- ldr r1, _020E769C ; =0x3FD55555
- bl _dadd
- mov r2, r0
- mov r3, r1
- mov r0, r4
- mov r1, r10
- bl _dmul
- mov r2, r0
- mov r3, r1
- ldr r0, _020E76A0 ; =0xDB6FABFF
- ldr r1, _020E76A4 ; =0x3FDB6DB6
- bl _dadd
- mov r2, r0
- mov r3, r1
- mov r0, r4
- mov r1, r10
- bl _dmul
- mov r2, r0
- mov r3, r1
- ldr r0, _020E76A8 ; =0x33333303
- ldr r1, _020E76AC ; =0x3FE33333
- bl _dadd
- mov r2, r0
- mov r3, r1
- ldr r0, [sp, #0x34]
- mov r1, r11
- bl _dmul
- mov r4, r0
- mov r10, r1
- ldr r0, [sp, #0x48]
- ldr r2, [sp, #0x28]
- mov r1, r9
- mov r3, r9
- bl _dadd
- mov r2, r0
- mov r3, r1
- ldr r0, [sp, #0x30]
- ldr r1, [sp, #0x14]
- bl _dmul
- mov r2, r0
- mov r3, r1
- mov r0, r4
- mov r1, r10
- bl _dadd
- mov r4, r0
- ldr r0, [sp, #0x48]
- mov r10, r1
- mov r1, r9
- mov r2, r0
- mov r3, r1
- bl _dmul
- str r1, [sp, #0xc]
- mov r11, r0
- ldr r1, _020E76B0 ; =0x40080000
- ldr r3, [sp, #0xc]
- mov r0, #0x0
- mov r2, r11
- bl _dadd
- mov r2, r4
- mov r3, r10
- bl _dadd
-_020E7A6C: ; 0x020E7A6C
- mov r0, #0x0
- ldr r3, _020E76B0 ; =0x40080000
- mov r2, r0
- str r1, [sp, #0x44]
- str r0, [sp, #0x40]
- bl _dsub
- ldr r3, [sp, #0xc]
- mov r2, r11
- bl _dsub
- mov r2, r0
- mov r3, r1
- mov r0, r4
- mov r1, r10
- bl _dsub
- str r0, [sp, #0x38]
- str r1, [sp, #0x4]
- ldr r0, [sp, #0x48]
- ldr r2, [sp, #0x40]
- ldr r3, [sp, #0x44]
- mov r1, r9
- bl _dmul
- mov r4, r0
- mov r10, r1
- ldr r0, [sp, #0x30]
- ldr r1, [sp, #0x14]
- ldr r2, [sp, #0x40]
- ldr r3, [sp, #0x44]
- bl _dmul
- str r0, [sp, #0x3c]
- mov r11, r1
- ldr r0, [sp, #0x38]
- ldr r1, [sp, #0x4]
- ldr r2, [sp, #0x28]
- mov r3, r9
- bl _dmul
- mov r2, r0
- mov r3, r1
- ldr r0, [sp, #0x3c]
- mov r1, r11
- bl _dadd
- mov r9, r0
- mov r11, r1
- mov r0, r4
- mov r1, r10
- mov r2, r9
- mov r3, r11
- bl _dadd
-_020E7B28: ; 0x020E7B28
- mov r0, #0x0
- mov r2, r4
- mov r3, r10
- str r1, [sp, #0x6c]
- str r0, [sp, #0x68]
- bl _dsub
- mov r2, r0
- mov r3, r1
- mov r0, r9
- mov r1, r11
- bl _dsub
- mov r10, r1
- mov r11, r0
- ldr r1, _020E76B4 ; =0x3FEEC709
- ldr r2, [sp, #0x68]
- ldr r3, [sp, #0x6c]
- mov r0, #0xe0000000
- bl _dmul
- mov r4, r0
- mov r9, r1
- ldr r0, _020E76B8 ; =0x145B01F5
- ldr r1, _020E76BC ; =0xBE3E2FE0
- ldr r2, [sp, #0x68]
- ldr r3, [sp, #0x6c]
- bl _dmul
- mov r2, r11
- mov r3, r10
- mov r11, r0
- mov r10, r1
- ldr r0, _020E76C0 ; =0xDC3A03FD
- ldr r1, _020E76B4 ; =0x3FEEC709
- bl _dmul
- mov r2, r0
- mov r3, r1
- mov r0, r11
- mov r1, r10
- bl _dadd
- mov r2, r0
- mov r3, r1
- ldr r0, _020E76C4 ; =0x02104764
- add r1, r0, r8, lsl #0x3
- ldr r0, [r0, r8, lsl #0x3]
- ldr r1, [r1, #0x4]
- bl _dadd
- mov r11, r0
- mov r10, r1
- mov r0, r6
- bl _dflt
- str r0, [sp, #0x50]
- str r1, [sp, #0x54]
- mov r0, r4
- mov r1, r9
- mov r2, r11
- mov r3, r10
- bl _dadd
- ldr r2, _020E76C8 ; =0x02104744
- add r3, r2, r8, lsl #0x3
- ldr r2, [r2, r8, lsl #0x3]
- ldr r3, [r3, #0x4]
- bl _dadd
- mov r2, r0
- mov r3, r1
- ldr r0, [sp, #0x50]
- ldr r1, [sp, #0x54]
- bl _dadd
- str r1, [sp, #0x5c]
- mov r0, #0x0
- str r0, [sp, #0x58]
- ldr r2, [sp, #0x50]
- ldr r3, [sp, #0x54]
- bl _dsub
- ldr r2, _020E76C8 ; =0x02104744
- add r3, r2, r8, lsl #0x3
- ldr r2, [r2, r8, lsl #0x3]
- ldr r3, [r3, #0x4]
- bl _dsub
- mov r2, r4
- mov r3, r9
- bl _dsub
- mov r2, r0
- mov r0, r11
- mov r3, r1
- mov r1, r10
- bl _dsub
- mov r4, r0
- mov r8, r1
-_020E7C80:
- sub r0, r5, #0x1
- ldr r1, [sp, #0xb4]
- orrs r0, r7, r0
- ldr r5, _020E7638 ; =0x3FF00000
- mov r2, #0x0
- ldr r0, [sp, #0xb0]
- mov r3, r1
- mov r6, #0x0
- subeq r5, r5, #0x80000000
- str r1, [sp, #0x64]
- str r2, [sp, #0x60]
- bl _dsub
- mov r2, r0
- mov r3, r1
- ldr r0, [sp, #0x58]
- ldr r1, [sp, #0x5c]
- bl _dmul
- mov r7, r0
- mov r9, r1
- ldr r0, [sp, #0xb0]
- ldr r1, [sp, #0xb4]
- mov r2, r4
- mov r3, r8
- bl _dmul
- mov r2, r0
- mov r3, r1
- mov r0, r7
- mov r1, r9
- bl _dadd
- mov r7, r0
- mov r8, r1
- ldr r0, [sp, #0x60]
- ldr r1, [sp, #0x64]
- ldr r2, [sp, #0x58]
- ldr r3, [sp, #0x5c]
- bl _dmul
- mov r2, r0
- mov r3, r1
- mov r0, r7
- mov r1, r8
- str r2, [sp, #0x68]
- str r3, [sp, #0x6c]
- bl _dadd
- mov r9, r1
- ldr r2, _020E76CC ; =0x40900000
- str r0, [sp, #0x78]
- str r9, [sp, #0x7c]
- cmp r9, r2
- blt _020E7E0C
- add r1, r9, #0xf700000
- add r1, r1, #0xb0000000
- orrs r0, r1, r0
- beq _020E7D8C
- ldr r0, _020E76D0 ; =0x8800759C
- ldr r1, _020E76D4 ; =0x7E37E43C
- mov r2, r6
- mov r3, r5
- bl _dmul
- mov r2, r0
- mov r3, r1
- ldr r0, _020E76D0 ; =0x8800759C
- ldr r1, _020E76D4 ; =0x7E37E43C
- bl _dmul
- add sp, sp, #0x80
- ldmia sp!, {r3-r11,lr}
- add sp, sp, #0x10
- bx lr
-_020E7D8C:
- ldr r0, _020E7670 ; =0x652B82FE
- ldr r1, _020E76D8 ; =0x3C971547
- mov r2, r7
- mov r3, r8
- bl _dadd
- mov r4, r0
- mov r10, r1
- ldr r0, [sp, #0x78]
- ldr r2, [sp, #0x68]
- ldr r3, [sp, #0x6c]
- mov r1, r9
- bl _dsub
- mov r2, r0
- mov r3, r1
- mov r0, r4
- mov r1, r10
- bl _dgr
- bls _020E7EC0
- ldr r0, _020E76D0 ; =0x8800759C
- ldr r1, _020E76D4 ; =0x7E37E43C
- mov r2, r6
- mov r3, r5
- bl _dmul
- mov r2, r0
- mov r3, r1
- ldr r0, _020E76D0 ; =0x8800759C
- ldr r1, _020E76D4 ; =0x7E37E43C
- bl _dmul
- add sp, sp, #0x80
- ldmia sp!, {r3-r11,lr}
- add sp, sp, #0x10
- bx lr
-_020E7E0C:
- bic r3, r9, #0x80000000
- add r2, r2, #0xcc00
- cmp r3, r2
- blt _020E7EC0
- ldr r2, _020E76DC ; =0x3F6F3400
- add r2, r9, r2
- orrs r2, r2, r0
- beq _020E7E64
- ldr r0, _020E76E0 ; =0xC2F8F359
- ldr r1, _020E76E4 ; =0x01A56E1F
- mov r2, r6
- mov r3, r5
- bl _dmul
- mov r2, r0
- mov r3, r1
- ldr r0, _020E76E0 ; =0xC2F8F359
- ldr r1, _020E76E4 ; =0x01A56E1F
- bl _dmul
- add sp, sp, #0x80
- ldmia sp!, {r3-r11,lr}
- add sp, sp, #0x10
- bx lr
-_020E7E64:
- ldr r2, [sp, #0x68]
- ldr r3, [sp, #0x6c]
- bl _dsub
- mov r2, r0
- mov r3, r1
- mov r0, r7
- mov r1, r8
- bl _dleq
- bhi _020E7EC0
- ldr r0, _020E76E0 ; =0xC2F8F359
- ldr r1, _020E76E4 ; =0x01A56E1F
- mov r2, r6
- mov r3, r5
- bl _dmul
- mov r2, r0
- mov r3, r1
- ldr r0, _020E76E0 ; =0xC2F8F359
- ldr r1, _020E76E4 ; =0x01A56E1F
- bl _dmul
- add sp, sp, #0x80
- ldmia sp!, {r3-r11,lr}
- add sp, sp, #0x10
- bx lr
-_020E7EC0:
- ldr r0, _020E7644 ; =0xFFFFFC01
- bic r3, r9, #0x80000000
- ldr r1, _020E7648 ; =0x3FE00000
- add r2, r0, r3, asr #0x14
- cmp r3, r1
- mov r4, #0x0
- ble _020E7F3C
- mov r1, #0x100000
- add r2, r2, #0x1
- add r2, r9, r1, asr r2
- bic r3, r2, #0x80000000
- add r0, r0, r3, asr #0x14
- sub r3, r1, #0x1
- mvn r3, r3, asr r0
- sub r1, r1, #0x1
- and r1, r2, r1
- and r2, r2, r3
- str r2, [sp, #0x54]
- str r4, [sp, #0x50]
- orr r1, r1, #0x100000
- rsb r0, r0, #0x14
- mov r4, r1, asr r0
- cmp r9, #0x0
- ldr r0, [sp, #0x68]
- ldr r1, [sp, #0x6c]
- ldr r2, [sp, #0x50]
- ldr r3, [sp, #0x54]
- rsblt r4, r4, #0x0
- bl _dsub
- str r0, [sp, #0x68]
- str r1, [sp, #0x6c]
-_020E7F3C:
- ldr r2, [sp, #0x68]
- ldr r3, [sp, #0x6c]
- mov r0, r7
- mov r1, r8
- bl _dadd
- mov r3, r1
- mov r0, #0x0
- ldr r1, _020E76E8 ; =0x3FE62E43
- mov r2, r0
- str r3, [sp, #0x54]
- str r0, [sp, #0x50]
- bl _dmul
- mov r9, r0
- mov r10, r1
- ldr r0, [sp, #0x50]
- ldr r1, [sp, #0x54]
- ldr r2, [sp, #0x68]
- ldr r3, [sp, #0x6c]
- bl _dsub
- mov r2, r0
- mov r0, r7
- mov r3, r1
- mov r1, r8
- bl _dsub
- mov r2, r0
- mov r3, r1
- ldr r0, _020E76EC ; =0xFEFA39EF
- ldr r1, _020E76F0 ; =0x3FE62E42
- bl _dmul
- mov r7, r0
- mov r8, r1
- ldr r0, _020E76F4 ; =0x0CA86C39
- ldr r1, _020E76F8 ; =0xBE205C61
- ldr r2, [sp, #0x50]
- ldr r3, [sp, #0x54]
- bl _dmul
- mov r2, r0
- mov r0, r7
- mov r3, r1
- mov r1, r8
- bl _dadd
- mov r7, r0
- mov r8, r1
- mov r0, r9
- mov r1, r10
- mov r2, r7
- mov r3, r8
- bl _dadd
- mov r2, r9
- mov r3, r10
- str r0, [sp, #0x78]
- str r1, [sp, #0x7c]
- bl _dsub
- mov r2, r0
- mov r3, r1
- mov r0, r7
- mov r1, r8
- bl _dsub
- mov r8, r0
- mov r9, r1
- ldr r0, [sp, #0x78]
- ldr r1, [sp, #0x7c]
- mov r2, r0
- mov r3, r1
- bl _dmul
- mov r2, r0
- str r2, [sp, #0x50]
- mov r3, r1
- str r3, [sp, #0x54]
- ldr r0, _020E76FC ; =0x72BEA4D0
- ldr r1, _020E7700 ; =0x3E663769
- bl _dmul
- mov r2, r0
- mov r3, r1
- ldr r0, _020E7704 ; =0xC5D26BF1
- ldr r1, _020E7708 ; =0xBEBBBD41
- bl _dadd
- mov r2, r0
- mov r3, r1
- ldr r0, [sp, #0x50]
- ldr r1, [sp, #0x54]
- bl _dmul
- mov r2, r0
- mov r3, r1
- ldr r0, _020E770C ; =0xAF25DE2C
- ldr r1, _020E7710 ; =0x3F11566A
- bl _dadd
- mov r2, r0
- mov r3, r1
- ldr r0, [sp, #0x50]
- ldr r1, [sp, #0x54]
- bl _dmul
- mov r2, r0
- mov r3, r1
- ldr r0, _020E7714 ; =0x16BEBD93
- ldr r1, _020E7718 ; =0xBF66C16C
- bl _dadd
- mov r2, r0
- mov r3, r1
- ldr r0, [sp, #0x50]
- ldr r1, [sp, #0x54]
- bl _dmul
- mov r2, r0
- mov r3, r1
- ldr r0, _020E771C ; =0x5555553E
- ldr r1, _020E7720 ; =0x3FC55555
- bl _dadd
- mov r2, r0
- mov r3, r1
- ldr r0, [sp, #0x50]
- ldr r1, [sp, #0x54]
- bl _dmul
- mov r2, r0
- mov r3, r1
- ldr r0, [sp, #0x78]
- ldr r1, [sp, #0x7c]
- bl _dsub
- mov r2, r0
- str r2, [sp, #0x58]
- mov r3, r1
- str r3, [sp, #0x5c]
- ldr r0, [sp, #0x78]
- ldr r1, [sp, #0x7c]
- bl _dmul
- mov r7, r0
- mov r10, r1
- ldr r0, [sp, #0x58]
- ldr r1, [sp, #0x5c]
- mov r2, #0x0
- mov r3, #0x40000000
- bl _dsub
- mov r2, r0
- mov r0, r7
- mov r3, r1
- mov r1, r10
- bl _ddiv
- mov r7, r0
- mov r10, r1
- ldr r0, [sp, #0x78]
- ldr r1, [sp, #0x7c]
- mov r2, r8
- mov r3, r9
- bl _dmul
- mov r2, r0
- mov r0, r8
- mov r3, r1
- mov r1, r9
- bl _dadd
- mov r2, r0
- mov r0, r7
- mov r3, r1
- mov r1, r10
- bl _dsub
- ldr r2, [sp, #0x78]
- ldr r3, [sp, #0x7c]
- bl _dsub
- mov r3, r1
- mov r2, r0
- ldr r1, _020E7638 ; =0x3FF00000
- mov r0, #0x0
- bl _dsub
- add r3, r1, r4, lsl #0x14
- mov r2, r3, asr #0x14
- str r0, [sp, #0x78]
- cmp r2, #0x0
- str r1, [sp, #0x7c]
- addgt r0, sp, #0x78
- strgt r3, [r0, #0x4]
- bgt _020E81F0
- mov r2, r4
- bl scalbn
- str r0, [sp, #0x78]
- str r1, [sp, #0x7c]
-_020E81F0:
- ldr r2, [sp, #0x78]
- ldr r3, [sp, #0x7c]
- mov r0, r6
- mov r1, r5
- bl _dmul
- add sp, sp, #0x80
- ldmia sp!, {r3-r11,lr}
- add sp, sp, #0x10
- bx lr
-
- arm_func_start copysign
-copysign: ; 0x020E8214
- stmdb sp!, {r0-r3}
- ldr r1, [sp, #0x4]
- ldr r0, [sp, #0xc]
- bic r1, r1, #0x80000000
- and r0, r0, #0x80000000
- orr r1, r1, r0
- ldr r0, [sp, #0x0]
- str r1, [sp, #0x4]
- add sp, sp, #0x10
- bx lr
-
- arm_func_start fabs
-fabs: ; 0x020E823C
- stmdb sp!, {r0-r3}
- add r2, sp, #0x0
- ldr r1, [r2, #0x4]
- ldr r0, [sp, #0x0]
- bic r1, r1, #0x80000000
- str r1, [r2, #0x4]
- add sp, sp, #0x10
- bx lr
-
- arm_func_start frexp
-frexp: ; 0x020E825C
- stmdb sp!, {r0-r3}
- stmdb sp!, {r4,lr}
- ldr r1, [sp, #0xc]
- ldr r0, _020E8308 ; =0x7FF00000
- mov r4, r2
- bic r3, r1, #0x80000000
- mov r2, #0x0
- str r2, [r4, #0x0]
- cmp r3, r0
- ldr r0, [sp, #0x8]
- bge _020E8290
- orrs r0, r3, r0
- bne _020E82A4
-_020E8290:
- ldr r0, [sp, #0x8]
- ldr r1, [sp, #0xc]
- ldmia sp!, {r4,lr}
- add sp, sp, #0x10
- bx lr
-_020E82A4:
- cmp r3, #0x100000
- bge _020E82D0
- ldr r0, [sp, #0x8]
- ldr r1, [sp, #0xc]
- ldr r3, _020E830C ; =0x43500000
- bl _dmul
- mvn r2, #0x35
- str r0, [sp, #0x8]
- str r1, [sp, #0xc]
- str r2, [r4, #0x0]
- bic r3, r1, #0x80000000
-_020E82D0:
- ldr r2, _020E8310 ; =0x800FFFFF
- ldr r0, _020E8314 ; =0xFFFFFC02
- and r1, r1, r2
- orr r1, r1, #0xfe00000
- orr r1, r1, #0x30000000
- ldr r2, [r4, #0x0]
- add r0, r0, r3, asr #0x14
- add r2, r2, r0
- ldr r0, [sp, #0x8]
- str r2, [r4, #0x0]
- str r1, [sp, #0xc]
- ldmia sp!, {r4,lr}
- add sp, sp, #0x10
- bx lr
- .balign 4
-_020E8308: .word 0x7FF00000
-_020E830C: .word 0x43500000
-_020E8310: .word 0x800FFFFF
-_020E8314: .word 0xFFFFFC02
-
- arm_func_start ldexp
-ldexp: ; 0x020E8318
- stmdb sp!, {r0-r3}
- stmdb sp!, {r4,lr}
- ldr r0, [sp, #0x8]
- ldr r1, [sp, #0xc]
- mov r4, r2
- bl __fpclassifyf
- cmp r0, #0x2
- ble _020E8350
- mov r0, #0x0
- ldr r2, [sp, #0x8]
- ldr r3, [sp, #0xc]
- mov r1, r0
- bl _deq
- bne _020E8364
-_020E8350:
- ldr r0, [sp, #0x8]
- ldr r1, [sp, #0xc]
- ldmia sp!, {r4,lr}
- add sp, sp, #0x10
- bx lr
-_020E8364:
- ldr r3, [sp, #0xc]
- ldr r0, _020E8538 ; =0x7FF00000
- ldr r1, [sp, #0x8]
- and r0, r3, r0
- movs r12, r0, asr #0x14
- bne _020E83F0
- bic r0, r3, #0x80000000
- orrs r0, r1, r0
- ldreq r0, [sp, #0x8]
- ldreq r1, [sp, #0xc]
- ldmeqia sp!, {r4,lr}
- addeq sp, sp, #0x10
- bxeq lr
- ldr r0, [sp, #0x8]
- ldr r1, [sp, #0xc]
- ldr r3, _020E853C ; =0x43500000
- mov r2, #0x0
- bl _dmul
- mov r3, r1
- ldr r1, _020E8538 ; =0x7FF00000
- ldr ip, _020E8540 ; =0xFFFF3CB0
- and r1, r3, r1
- mov r2, r0
- mov r0, r1, asr #0x14
- str r2, [sp, #0x8]
- str r3, [sp, #0xc]
- cmp r4, r12
- sub r12, r0, #0x36
- bge _020E83F0
- ldr r0, _020E8544 ; =0xC2F8F359
- ldr r1, _020E8548 ; =0x01A56E1F
- bl _dmul
- ldmia sp!, {r4,lr}
- add sp, sp, #0x10
- bx lr
-_020E83F0:
- ldr r0, _020E854C ; =0x000007FF
- cmp r12, r0
- bne _020E841C
- ldr r0, [sp, #0x8]
- ldr r1, [sp, #0xc]
- mov r2, r0
- mov r3, r1
- bl _dadd
- ldmia sp!, {r4,lr}
- add sp, sp, #0x10
- bx lr
-_020E841C:
- add r2, r12, r4
- sub r0, r0, #0x1
- cmp r2, r0
- ble _020E8460
- ldr r2, [sp, #0x8]
- ldr r3, [sp, #0xc]
- ldr r0, _020E8550 ; =0x8800759C
- ldr r1, _020E8554 ; =0x7E37E43C
- bl copysign
- mov r2, r0
- mov r3, r1
- ldr r0, _020E8550 ; =0x8800759C
- ldr r1, _020E8554 ; =0x7E37E43C
- bl _dmul
- ldmia sp!, {r4,lr}
- add sp, sp, #0x10
- bx lr
-_020E8460:
- cmp r2, #0x0
- ble _020E8488
- ldr r1, _020E8558 ; =0x800FFFFF
- ldr r0, [sp, #0x8]
- and r1, r3, r1
- orr r1, r1, r2, lsl #0x14
- str r1, [sp, #0xc]
- ldmia sp!, {r4,lr}
- add sp, sp, #0x10
- bx lr
-_020E8488:
- mvn r0, #0x35
- cmp r2, r0
- bgt _020E8508
- ldr r0, _020E855C ; =0x0000C350
- cmp r4, r0
- ble _020E84D4
- ldr r2, [sp, #0x8]
- ldr r3, [sp, #0xc]
- ldr r0, _020E8550 ; =0x8800759C
- ldr r1, _020E8554 ; =0x7E37E43C
- bl copysign
- mov r2, r0
- mov r3, r1
- ldr r0, _020E8550 ; =0x8800759C
- ldr r1, _020E8554 ; =0x7E37E43C
- bl _dmul
- ldmia sp!, {r4,lr}
- add sp, sp, #0x10
- bx lr
-_020E84D4:
- ldr r2, [sp, #0x8]
- ldr r3, [sp, #0xc]
- ldr r0, _020E8544 ; =0xC2F8F359
- ldr r1, _020E8548 ; =0x01A56E1F
- bl copysign
- mov r2, r0
- mov r3, r1
- ldr r0, _020E8544 ; =0xC2F8F359
- ldr r1, _020E8548 ; =0x01A56E1F
- bl _dmul
- ldmia sp!, {r4,lr}
- add sp, sp, #0x10
- bx lr
-_020E8508:
- ldr r0, _020E8558 ; =0x800FFFFF
- add r1, r2, #0x36
- and r0, r3, r0
- orr r3, r0, r1, lsl #0x14
- ldr r2, [sp, #0x8]
- ldr r1, _020E8560 ; =0x3C900000
- mov r0, #0x0
- str r3, [sp, #0xc]
- bl _dmul
- ldmia sp!, {r4,lr}
- add sp, sp, #0x10
- bx lr
- .balign 4
-_020E8538: .word 0x7FF00000
-_020E853C: .word 0x43500000
-_020E8540: .word 0xFFFF3CB0
-_020E8544: .word 0xC2F8F359
-_020E8548: .word 0x01A56E1F
-_020E854C: .word 0x000007FF
-_020E8550: .word 0x8800759C
-_020E8554: .word 0x7E37E43C
-_020E8558: .word 0x800FFFFF
-_020E855C: .word 0x0000C350
-_020E8560: .word 0x3C900000
-
- arm_func_start pow
-pow: ; 0x020E8564
- ldr ip, _020E856C ; =__ieee754_pow
- bx r12
- .balign 4
-_020E856C: .word __ieee754_pow
-
- arm_func_start __must_round
-__must_round: ; 0x020E8570
- add r3, r0, #0x5
- ldrb r2, [r3, r1]
- add r12, r3, r1
- cmp r2, #0x5
- movhi r0, #0x1
- bxhi lr
- mvncc r0, #0x0
- bxcc lr
- ldrb r2, [r0, #0x4]
- add r12, r12, #0x1
- add r3, r3, r2
- cmp r12, r3
- bhs _020E85C0
-_020E85A4:
- ldrb r2, [r12, #0x0]
- cmp r2, #0x0
- movne r0, #0x1
- bxne lr
- add r12, r12, #0x1
- cmp r12, r3
- blo _020E85A4
-_020E85C0:
- sub r1, r1, #0x1
- add r0, r0, r1
- ldrb r0, [r0, #0x5]
- tst r0, #0x1
- movne r0, #0x1
- mvneq r0, #0x0
- bx lr
-
- arm_func_start __dorounddecup
-__dorounddecup: ; 0x020E85DC
- add r3, r0, #0x5
- add r1, r3, r1
- sub r12, r1, #0x1
- mov r1, #0x0
-_020E85EC:
- ldrb r2, [r12, #0x0]
- cmp r2, #0x9
- addcc r0, r2, #0x1
- strccb r0, [r12, #0x0]
- bxcc lr
- cmp r12, r3
- bne _020E8620
- mov r1, #0x1
- strb r1, [r12, #0x0]
- ldrsh r1, [r0, #0x2]
- add r1, r1, #0x1
- strh r1, [r0, #0x2]
- bx lr
-_020E8620:
- strb r1, [r12], #-0x1
- b _020E85EC
-_020E8628: ; 0x020E8628
- bx lr
-
- arm_func_start __rounddec
-__rounddec: ; 0x020E862C
- stmdb sp!, {r3-r5,lr}
- mov r4, r1
- mov r5, r0
- cmp r4, #0x0
- ldmleia sp!, {r3-r5,pc}
-_020E8640: ; 0x020E8640
- ldrb r2, [r5, #0x4]
- cmp r4, r2
- ldmgeia sp!, {r3-r5,pc}
-_020E864C: ; 0x020E864C
- bl __must_round
- strb r4, [r5, #0x4]
- cmp r0, #0x0
- ldmltia sp!, {r3-r5,pc}
-_020E865C: ; 0x020E865C
- mov r0, r5
- mov r1, r4
- bl __dorounddecup
- ldmia sp!, {r3-r5,pc}
-
- arm_func_start __ull2dec
-__ull2dec: ; 0x020E866C
- stmdb sp!, {r3-r11,lr}
- mov r10, r0
- mov r0, #0x0
- mov r8, r2
- strb r0, [r10, #0x0]
- mov r9, r1
- cmp r8, #0x0
- strb r0, [r10, #0x4]
- cmpeq r9, #0x0
- beq _020E86F8
- mov r6, #0xa
- mov r11, r0
- mov r5, r0
- mov r4, r0
-_020E86A4:
- ldrb r1, [r10, #0x4]
- mov r0, r9
- mov r2, r6
- add r3, r1, #0x1
- mov r7, r1
- strb r3, [r10, #0x4]
- mov r1, r8
- mov r3, r11
- bl _ull_mod
- add r1, r10, r7
- strb r0, [r1, #0x5]
- mov r0, r9
- mov r1, r8
- mov r2, #0xa
- mov r3, #0x0
- bl _ll_udiv
- mov r8, r1
- mov r9, r0
- cmp r8, r5
- cmpeq r9, r4
- bne _020E86A4
-_020E86F8:
- ldrb r0, [r10, #0x4]
- add r2, r10, #0x5
- add r0, r2, r0
- sub r3, r0, #0x1
- cmp r2, r3
- bhs _020E8728
-_020E8710:
- ldrb r0, [r3, #0x0]
- ldrb r1, [r2, #0x0]
- strb r0, [r2], #0x1
- strb r1, [r3], #-0x1
- cmp r2, r3
- blo _020E8710
-_020E8728:
- ldrb r0, [r10, #0x4]
- sub r0, r0, #0x1
- strh r0, [r10, #0x2]
- ldmia sp!, {r3-r11,pc}
-
- arm_func_start __timesdec
-__timesdec: ; 0x020E8738
- stmdb sp!, {r3-r11,lr}
- sub sp, sp, #0x40
- ldrb r6, [r1, #0x4]
- ldrb r5, [r2, #0x4]
- mov r4, #0x0
- add r3, sp, #0x0
- add r5, r6, r5
- sub r5, r5, #0x1
- add r3, r3, r5
- add r6, r3, #0x1
- mov r7, r6
- strb r4, [r0, #0x0]
- cmp r5, #0x0
- ble _020E8800
- add lr, r1, #0x5
- add r11, r2, #0x5
-_020E8778:
- ldrb r3, [r2, #0x4]
- sub r10, r3, #0x1
- sub r3, r5, r10
- subs r9, r3, #0x1
- ldrb r3, [r1, #0x4]
- movmi r9, #0x0
- submi r10, r5, #0x1
- add r8, r10, #0x1
- sub r3, r3, r9
- cmp r8, r3
- movgt r8, r3
- add r10, r11, r10
- add r9, lr, r9
- cmp r8, #0x0
- ble _020E87CC
-_020E87B4:
- ldrb r12, [r9], #0x1
- ldrb r3, [r10], #-0x1
- sub r8, r8, #0x1
- cmp r8, #0x0
- mla r4, r12, r3, r4
- bgt _020E87B4
-_020E87CC:
- ldr r3, _020E88B8 ; =0xCCCCCCCD
- sub r5, r5, #0x1
- umull r8, r9, r4, r3
- mov r9, r9, lsr #0x3
- cmp r5, #0x0
- mov r10, #0xa
- umull r8, r9, r10, r9
- sub r9, r4, r8
- strb r9, [r6, #-0x1]!
- mov r8, r4
- umull r3, r4, r8, r3
- mov r4, r4, lsr #0x3
- bgt _020E8778
-_020E8800:
- ldrsh r3, [r1, #0x2]
- ldrsh r1, [r2, #0x2]
- cmp r4, #0x0
- add r1, r3, r1
- strh r1, [r0, #0x2]
- beq _020E8828
- strb r4, [r6, #-0x1]!
- ldrsh r1, [r0, #0x2]
- add r1, r1, #0x1
- strh r1, [r0, #0x2]
-_020E8828:
- mov r3, #0x0
- b _020E8840
-_020E8830:
- ldrb r2, [r6], #0x1
- add r1, r0, r3
- add r3, r3, #0x1
- strb r2, [r1, #0x5]
-_020E8840:
- cmp r3, #0x20
- bge _020E8850
- cmp r6, r7
- blo _020E8830
-_020E8850:
- cmp r6, r7
- addcs sp, sp, #0x40
- strb r3, [r0, #0x4]
- ldmcsia sp!, {r3-r11,pc}
-_020E8860: ; 0x020E8860
- ldrb r1, [r6, #0x0]
- cmp r1, #0x5
- addcc sp, sp, #0x40
- ldmccia sp!, {r3-r11,pc}
-_020E8870: ; 0x020E8870
- bne _020E88A8
- add r2, r6, #0x1
- cmp r2, r7
- bhs _020E8898
-_020E8880:
- ldrb r1, [r2, #0x0]
- cmp r1, #0x0
- bne _020E88A8
- add r2, r2, #0x1
- cmp r2, r7
- blo _020E8880
-_020E8898:
- ldrb r1, [r6, #-0x1]
- tst r1, #0x1
- addeq sp, sp, #0x40
- ldmeqia sp!, {r3-r11,pc}
-_020E88A8:
- ldrb r1, [r0, #0x4]
- bl __dorounddecup
- add sp, sp, #0x40
- ldmia sp!, {r3-r11,pc}
- .balign 4
-_020E88B8: .word 0xCCCCCCCD
-
- arm_func_start __str2dec
-__str2dec: ; 0x020E88BC
- stmdb sp!, {r3,lr}
- strh r2, [r0, #0x2]
- mov r12, #0x0
- strb r12, [r0, #0x0]
- b _020E88E4
-_020E88D0:
- ldrsb r3, [r1], #0x1
- add r2, r0, r12
- add r12, r12, #0x1
- sub r3, r3, #0x30
- strb r3, [r2, #0x5]
-_020E88E4:
- cmp r12, #0x20
- bge _020E88F8
- ldrsb r2, [r1, #0x0]
- cmp r2, #0x0
- bne _020E88D0
-_020E88F8:
- strb r12, [r0, #0x4]
- ldrsb r2, [r1, #0x0]
- cmp r2, #0x0
- ldmeqia sp!, {r3,pc}
-_020E8908: ; 0x020E8908
- cmp r2, #0x5
- ldmltia sp!, {r3,pc}
-_020E8910: ; 0x020E8910
- bgt _020E894C
- ldrsb r2, [r1, #0x1]
- add r1, r1, #0x1
- cmp r2, #0x0
- beq _020E8938
-_020E8924:
- cmp r2, #0x30
- bne _020E894C
- ldrsb r2, [r1, #0x1]!
- cmp r2, #0x0
- bne _020E8924
-_020E8938:
- sub r1, r12, #0x1
- add r1, r0, r1
- ldrb r1, [r1, #0x5]
- tst r1, #0x1
- ldmeqia sp!, {r3,pc}
-_020E894C:
- ldrb r1, [r0, #0x4]
- bl __dorounddecup
- ldmia sp!, {r3,pc}
-
- arm_func_start __two_exp
-__two_exp: ; 0x020E8958
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4c
- mov r4, r1
- mvn r2, #0x34
- mov r5, r0
- cmp r4, r2
- bgt _020E8988
- bge _020E8A54
- sub r0, r2, #0xb
- cmp r4, r0
- beq _020E8A3C
- b _020E8BE4
-_020E8988:
- add r1, r4, #0x20
- cmp r1, #0x28
- addls pc, pc, r1, lsl #0x2
- b _020E8BE4
-_020E8998:
- b _020E8A68
-_020E899C:
- b _020E8BE4
-_020E89A0:
- b _020E8BE4
-_020E89A4:
- b _020E8BE4
-_020E89A8:
- b _020E8BE4
-_020E89AC:
- b _020E8BE4
-_020E89B0:
- b _020E8BE4
-_020E89B4:
- b _020E8BE4
-_020E89B8:
- b _020E8BE4
-_020E89BC:
- b _020E8BE4
-_020E89C0:
- b _020E8BE4
-_020E89C4:
- b _020E8BE4
-_020E89C8:
- b _020E8BE4
-_020E89CC:
- b _020E8BE4
-_020E89D0:
- b _020E8BE4
-_020E89D4:
- b _020E8BE4
-_020E89D8:
- b _020E8A7C
-_020E89DC:
- b _020E8BE4
-_020E89E0:
- b _020E8BE4
-_020E89E4:
- b _020E8BE4
-_020E89E8:
- b _020E8BE4
-_020E89EC:
- b _020E8BE4
-_020E89F0:
- b _020E8BE4
-_020E89F4:
- b _020E8BE4
-_020E89F8:
- b _020E8A90
-_020E89FC:
- b _020E8AA4
-_020E8A00:
- b _020E8AB8
-_020E8A04:
- b _020E8ACC
-_020E8A08:
- b _020E8AE0
-_020E8A0C:
- b _020E8AF4
-_020E8A10:
- b _020E8B08
-_020E8A14:
- b _020E8B1C
-_020E8A18:
- b _020E8B30
-_020E8A1C:
- b _020E8B44
-_020E8A20:
- b _020E8B58
-_020E8A24:
- b _020E8B6C
-_020E8A28:
- b _020E8B80
-_020E8A2C:
- b _020E8B94
-_020E8A30:
- b _020E8BA8
-_020E8A34:
- b _020E8BBC
-_020E8A38:
- b _020E8BD0
-_020E8A3C:
- ldr r1, _020E8C88 ; =0x02106E88
- mov r0, r5
- mvn r2, #0x13
- bl __str2dec
- add sp, sp, #0x4c
- ldmia sp!, {r4-r5,pc}
-_020E8A54:
- ldr r1, _020E8C8C ; =0x02106EB8
- add r2, r2, #0x25
- bl __str2dec
- add sp, sp, #0x4c
- ldmia sp!, {r4-r5,pc}
-_020E8A68:
- ldr r1, _020E8C90 ; =0x02106EE0
- add r2, r2, #0x2b
- bl __str2dec
- add sp, sp, #0x4c
- ldmia sp!, {r4-r5,pc}
-_020E8A7C:
- ldr r1, _020E8C94 ; =0x02106EF8
- add r2, r2, #0x30
- bl __str2dec
- add sp, sp, #0x4c
- ldmia sp!, {r4-r5,pc}
-_020E8A90:
- ldr r1, _020E8C98 ; =0x02106F08
- add r2, r2, #0x32
- bl __str2dec
- add sp, sp, #0x4c
- ldmia sp!, {r4-r5,pc}
-_020E8AA4:
- ldr r1, _020E8C9C ; =0x02106F10
- add r2, r2, #0x32
- bl __str2dec
- add sp, sp, #0x4c
- ldmia sp!, {r4-r5,pc}
-_020E8AB8:
- ldr r1, _020E8CA0 ; =0x02106F18
- add r2, r2, #0x33
- bl __str2dec
- add sp, sp, #0x4c
- ldmia sp!, {r4-r5,pc}
-_020E8ACC:
- ldr r1, _020E8CA4 ; =0x02106F20
- add r2, r2, #0x33
- bl __str2dec
- add sp, sp, #0x4c
- ldmia sp!, {r4-r5,pc}
-_020E8AE0:
- ldr r1, _020E8CA8 ; =0x02106F28
- add r2, r2, #0x33
- bl __str2dec
- add sp, sp, #0x4c
- ldmia sp!, {r4-r5,pc}
-_020E8AF4:
- ldr r1, _020E8CAC ; =0x02106F2C
- add r2, r2, #0x34
- bl __str2dec
- add sp, sp, #0x4c
- ldmia sp!, {r4-r5,pc}
-_020E8B08:
- ldr r1, _020E8CB0 ; =0x02106F30
- add r2, r2, #0x34
- bl __str2dec
- add sp, sp, #0x4c
- ldmia sp!, {r4-r5,pc}
-_020E8B1C:
- ldr r1, _020E8CB4 ; =0x02106F34
- add r2, r2, #0x34
- bl __str2dec
- add sp, sp, #0x4c
- ldmia sp!, {r4-r5,pc}
-_020E8B30:
- ldr r1, _020E8CB8 ; =0x02106F38
- mov r2, #0x0
- bl __str2dec
- add sp, sp, #0x4c
- ldmia sp!, {r4-r5,pc}
-_020E8B44:
- ldr r1, _020E8CBC ; =0x02106F3C
- mov r2, #0x0
- bl __str2dec
- add sp, sp, #0x4c
- ldmia sp!, {r4-r5,pc}
-_020E8B58:
- ldr r1, _020E8CC0 ; =0x02106F40
- mov r2, #0x0
- bl __str2dec
- add sp, sp, #0x4c
- ldmia sp!, {r4-r5,pc}
-_020E8B6C:
- ldr r1, _020E8CC4 ; =0x02106F44
- mov r2, #0x0
- bl __str2dec
- add sp, sp, #0x4c
- ldmia sp!, {r4-r5,pc}
-_020E8B80:
- ldr r1, _020E8CC8 ; =0x02106F48
- mov r2, #0x1
- bl __str2dec
- add sp, sp, #0x4c
- ldmia sp!, {r4-r5,pc}
-_020E8B94:
- ldr r1, _020E8CCC ; =0x02106F4C
- mov r2, #0x1
- bl __str2dec
- add sp, sp, #0x4c
- ldmia sp!, {r4-r5,pc}
-_020E8BA8:
- ldr r1, _020E8CD0 ; =0x02106F50
- mov r2, #0x1
- bl __str2dec
- add sp, sp, #0x4c
- ldmia sp!, {r4-r5,pc}
-_020E8BBC:
- ldr r1, _020E8CD4 ; =0x02106F54
- mov r2, #0x2
- bl __str2dec
- add sp, sp, #0x4c
- ldmia sp!, {r4-r5,pc}
-_020E8BD0:
- ldr r1, _020E8CD8 ; =0x02106F58
- mov r2, #0x2
- bl __str2dec
- add sp, sp, #0x4c
- ldmia sp!, {r4-r5,pc}
-_020E8BE4:
- and r0, r4, #0x80000000
- add r1, r4, r0, lsr #0x1f
- add r0, sp, #0x26
- mov r1, r1, asr #0x1
- bl __two_exp
- add r1, sp, #0x26
- mov r0, r5
- mov r2, r1
- bl __timesdec
- tst r4, #0x1
- addeq sp, sp, #0x4c
- ldmeqia sp!, {r4-r5,pc}
-_020E8C14: ; 0x020E8C14
- add r3, sp, #0x0
- mov r12, r5
- mov r2, #0x9
-_020E8C20:
- ldrh r1, [r12, #0x0]
- ldrh r0, [r12, #0x2]
- add r12, r12, #0x4
- subs r2, r2, #0x1
- strh r1, [r3, #0x0]
- strh r0, [r3, #0x2]
- add r3, r3, #0x4
- bne _020E8C20
- ldrh r0, [r12, #0x0]
- cmp r4, #0x0
- strh r0, [r3, #0x0]
- add r0, sp, #0x26
- ble _020E8C64
- ldr r1, _020E8CBC ; =0x02106F3C
- mov r2, #0x0
- bl __str2dec
- b _020E8C70
-_020E8C64:
- ldr r1, _020E8CB4 ; =0x02106F34
- mvn r2, #0x0
- bl __str2dec
-_020E8C70:
- add r1, sp, #0x0
- add r2, sp, #0x26
- mov r0, r5
- bl __timesdec
- add sp, sp, #0x4c
- ldmia sp!, {r4-r5,pc}
- .balign 4
-_020E8C88: .word 0x02106E88
-_020E8C8C: .word 0x02106EB8
-_020E8C90: .word 0x02106EE0
-_020E8C94: .word 0x02106EF8
-_020E8C98: .word 0x02106F08
-_020E8C9C: .word 0x02106F10
-_020E8CA0: .word 0x02106F18
-_020E8CA4: .word 0x02106F20
-_020E8CA8: .word 0x02106F28
-_020E8CAC: .word 0x02106F2C
-_020E8CB0: .word 0x02106F30
-_020E8CB4: .word 0x02106F34
-_020E8CB8: .word 0x02106F38
-_020E8CBC: .word 0x02106F3C
-_020E8CC0: .word 0x02106F40
-_020E8CC4: .word 0x02106F44
-_020E8CC8: .word 0x02106F48
-_020E8CCC: .word 0x02106F4C
-_020E8CD0: .word 0x02106F50
-_020E8CD4: .word 0x02106F54
-_020E8CD8: .word 0x02106F58
-
- arm_func_start __equals_dec
-__equals_dec:
- stmdb sp!, {r4,lr}
- ldrb r3, [r0, #0x5]
- cmp r3, #0x0
- bne _020E8D00
- ldrb r0, [r1, #0x5]
- cmp r0, #0x0
- moveq r0, #0x1
- movne r0, #0x0
- ldmia sp!, {r4,pc}
-_020E8D00:
- ldrb r2, [r1, #0x5]
- cmp r2, #0x0
- bne _020E8D1C
- cmp r3, #0x0
- moveq r0, #0x1
- movne r0, #0x0
- ldmia sp!, {r4,pc}
-_020E8D1C:
- ldrsh r3, [r0, #0x2]
- ldrsh r2, [r1, #0x2]
- cmp r3, r2
- bne _020E8DB4
- ldrb r4, [r0, #0x4]
- ldrb r2, [r1, #0x4]
- mov r12, #0x0
- mov lr, r4
- cmp r4, r2
- movgt lr, r2
- cmp lr, #0x0
- ble _020E8D74
-_020E8D4C:
- add r3, r0, r12
- add r2, r1, r12
- ldrb r3, [r3, #0x5]
- ldrb r2, [r2, #0x5]
- cmp r3, r2
- movne r0, #0x0
- ldmneia sp!, {r4,pc}
-_020E8D68: ; 0x020E8D68
- add r12, r12, #0x1
- cmp r12, lr
- blt _020E8D4C
-_020E8D74:
- cmp lr, r4
- moveq r0, r1
- ldrb r1, [r0, #0x4]
- cmp r12, r1
- bge _020E8DAC
-_020E8D88:
- add r1, r0, r12
- ldrb r1, [r1, #0x5]
- cmp r1, #0x0
- movne r0, #0x0
- ldmneia sp!, {r4,pc}
-_020E8D9C: ; 0x020E8D9C
- ldrb r1, [r0, #0x4]
- add r12, r12, #0x1
- cmp r12, r1
- blt _020E8D88
-_020E8DAC:
- mov r0, #0x1
- ldmia sp!, {r4,pc}
-_020E8DB4:
- mov r0, #0x0
- ldmia sp!, {r4,pc}
-
- arm_func_start __less_dec
-__less_dec:
- stmdb sp!, {r3-r5,lr}
- ldrb r2, [r0, #0x5]
- cmp r2, #0x0
- bne _020E8DE0
- ldrb r0, [r1, #0x5]
- cmp r0, #0x0
- movne r0, #0x1
- moveq r0, #0x0
- ldmia sp!, {r3-r5,pc}
-_020E8DE0:
- ldrb r2, [r1, #0x5]
- cmp r2, #0x0
- moveq r0, #0x0
- ldmeqia sp!, {r3-r5,pc}
-_020E8DF0: ; 0x020E8DF0
- ldrsh r3, [r1, #0x2]
- ldrsh r2, [r0, #0x2]
- cmp r2, r3
- bne _020E8E90
- ldrb r5, [r0, #0x4]
- ldrb r4, [r1, #0x4]
- mov r12, #0x0
- mov lr, r5
- cmp r5, r4
- movgt lr, r4
- cmp lr, #0x0
- ble _020E8E54
-_020E8E20:
- add r3, r1, r12
- add r2, r0, r12
- ldrb r3, [r3, #0x5]
- ldrb r2, [r2, #0x5]
- cmp r2, r3
- movcc r0, #0x1
- ldmccia sp!, {r3-r5,pc}
-_020E8E3C: ; 0x020E8E3C
- cmp r3, r2
- movcc r0, #0x0
- ldmccia sp!, {r3-r5,pc}
-_020E8E48: ; 0x020E8E48
- add r12, r12, #0x1
- cmp r12, lr
- blt _020E8E20
-_020E8E54:
- cmp lr, r5
- bne _020E8E88
- cmp r12, r4
- bge _020E8E88
-_020E8E64:
- add r0, r1, r12
- ldrb r0, [r0, #0x5]
- cmp r0, #0x0
- movne r0, #0x1
- ldmneia sp!, {r3-r5,pc}
-_020E8E78: ; 0x020E8E78
- ldrb r0, [r1, #0x4]
- add r12, r12, #0x1
- cmp r12, r0
- blt _020E8E64
-_020E8E88:
- mov r0, #0x0
- ldmia sp!, {r3-r5,pc}
-_020E8E90:
- movlt r0, #0x1
- movge r0, #0x0
- ldmia sp!, {r3-r5,pc}
-
- arm_func_start __minus_dec
-__minus_dec: ; 0x020E8E9C
- stmdb sp!, {r3-r7,lr}
- mov r6, r0
- mov r5, #0x9
-_020E8EA8:
- ldrh r4, [r1, #0x0]
- ldrh r3, [r1, #0x2]
- add r1, r1, #0x4
- subs r5, r5, #0x1
- strh r4, [r6, #0x0]
- strh r3, [r6, #0x2]
- add r6, r6, #0x4
- bne _020E8EA8
- ldrh r1, [r1, #0x0]
- strh r1, [r6, #0x0]
- ldrb r1, [r2, #0x5]
- cmp r1, #0x0
- ldmeqia sp!, {r3-r7,pc}
-_020E8EDC: ; 0x020E8EDC
- ldrb r7, [r0, #0x4]
- ldrb r3, [r2, #0x4]
- ldrsh r4, [r0, #0x2]
- mov r1, r7
- cmp r7, r3
- movlt r1, r3
- ldrsh r3, [r2, #0x2]
- sub r6, r4, r3
- add r1, r1, r6
- cmp r1, #0x20
- movgt r1, #0x20
- cmp r7, r1
- bge _020E8F34
- mov r4, #0x0
-_020E8F14:
- ldrb r5, [r0, #0x4]
- add r3, r0, r7
- add r5, r5, #0x1
- strb r5, [r0, #0x4]
- strb r4, [r3, #0x5]
- ldrb r7, [r0, #0x4]
- cmp r7, r1
- blt _020E8F14
-_020E8F34:
- ldrb r4, [r2, #0x4]
- add r3, r0, #0x5
- add r12, r3, r1
- add r4, r4, r6
- cmp r4, r1
- addlt r12, r3, r4
- sub r4, r12, r3
- add r1, r2, #0x5
- sub r4, r4, r6
- add lr, r1, r4
- mov r4, lr
- b _020E8FC8
-_020E8F64:
- ldrb r7, [r12, #-0x1]!
- ldrb r5, [lr, #-0x1]!
- cmp r7, r5
- bhs _020E8FB8
- ldrb r7, [r12, #-0x1]
- sub r5, r12, #0x1
- cmp r7, #0x0
- bne _020E8F90
-_020E8F84:
- ldrb r7, [r5, #-0x1]!
- cmp r7, #0x0
- beq _020E8F84
-_020E8F90:
- cmp r5, r12
- beq _020E8FB8
-_020E8F98:
- ldrb r7, [r5, #0x0]
- sub r7, r7, #0x1
- strb r7, [r5, #0x0]
- ldrb r7, [r5, #0x1]!
- cmp r5, r12
- add r7, r7, #0xa
- strb r7, [r5, #0x0]
- bne _020E8F98
-_020E8FB8:
- ldrb r7, [r12, #0x0]
- ldrb r5, [lr, #0x0]
- sub r5, r7, r5
- strb r5, [r12, #0x0]
-_020E8FC8:
- cmp r12, r3
- cmphi lr, r1
- bhi _020E8F64
- ldrb r5, [r2, #0x4]
- sub lr, r4, r1
- cmp lr, r5
- bge _020E90A4
- ldrb r1, [r4, #0x0]
- mov r7, #0x0
- cmp r1, #0x5
- movcc r7, #0x1
- blo _020E9040
- bne _020E9040
- add r1, r2, #0x5
- add r2, r1, r5
- add r4, r4, #0x1
- cmp r4, r2
- bhs _020E9028
-_020E9010:
- ldrb r1, [r4, #0x0]
- cmp r1, #0x0
- bne _020E90A4
- add r4, r4, #0x1
- cmp r4, r2
- blo _020E9010
-_020E9028:
- add r1, r3, lr
- add r2, r1, r6
- ldrb r1, [r2, #-0x1]
- sub r12, r2, #0x1
- tst r1, #0x1
- movne r7, #0x1
-_020E9040:
- cmp r7, #0x0
- beq _020E90A4
- ldrb r1, [r12, #0x0]
- cmp r1, #0x1
- bhs _020E9098
- ldrb r1, [r12, #-0x1]
- sub r2, r12, #0x1
- cmp r1, #0x0
- bne _020E9070
-_020E9064:
- ldrb r1, [r2, #-0x1]!
- cmp r1, #0x0
- beq _020E9064
-_020E9070:
- cmp r2, r12
- beq _020E9098
-_020E9078:
- ldrb r1, [r2, #0x0]
- sub r1, r1, #0x1
- strb r1, [r2, #0x0]
- ldrb r1, [r2, #0x1]!
- cmp r2, r12
- add r1, r1, #0xa
- strb r1, [r2, #0x0]
- bne _020E9078
-_020E9098:
- ldrb r1, [r12, #0x0]
- sub r1, r1, #0x1
- strb r1, [r12, #0x0]
-_020E90A4:
- ldrb r1, [r3, #0x0]
- mov r5, r3
- cmp r1, #0x0
- bne _020E90C0
-_020E90B4:
- ldrb r1, [r5, #0x1]!
- cmp r1, #0x0
- beq _020E90B4
-_020E90C0:
- cmp r5, r3
- bls _020E9108
- ldrsh r1, [r0, #0x2]
- sub r2, r5, r3
- and r4, r2, #0xff
- sub r1, r1, r4
- strh r1, [r0, #0x2]
- ldrb r1, [r0, #0x4]
- add r2, r3, r1
- cmp r5, r2
- bhs _020E90FC
-_020E90EC:
- ldrb r1, [r5], #0x1
- cmp r5, r2
- strb r1, [r3], #0x1
- blo _020E90EC
-_020E90FC:
- ldrb r1, [r0, #0x4]
- sub r1, r1, r4
- strb r1, [r0, #0x4]
-_020E9108:
- ldrb r1, [r0, #0x4]
- add r2, r0, #0x5
- add r3, r2, r1
- cmp r3, r2
- bls _020E9130
-_020E911C:
- ldrb r1, [r3, #-0x1]!
- cmp r1, #0x0
- bne _020E9130
- cmp r3, r2
- bhi _020E911C
-_020E9130:
- sub r1, r3, r2
- add r1, r1, #0x1
- strb r1, [r0, #0x4]
- ldmia sp!, {r3-r7,pc}
-
- arm_func_start __num2dec_internal
-__num2dec_internal:
- stmdb sp!, {r4-r8,lr}
- sub sp, sp, #0x58
- mov r8, r1
- mov r6, r2
- mov r7, r0
- mov r0, r8
- mov r1, r6
- bl __signbitf
-_020E9160: ; 0x020E9160
- cmp r0, #0x0
- movne r1, #0x1
- moveq r1, #0x0
- mov r4, r1, lsl #0x18
- mov r0, #0x0
- mov r1, r0
- mov r2, r8
- mov r3, r6
- mov r5, r4, asr #0x18
- bl _deq
- bne _020E91AC
- strb r5, [r7, #0x0]
- mov r1, #0x0
- strh r1, [r7, #0x2]
- mov r0, #0x1
- strb r0, [r7, #0x4]
- add sp, sp, #0x58
- strb r1, [r7, #0x5]
- ldmia sp!, {r4-r8,pc}
-_020E91AC:
- mov r0, r8
- mov r1, r6
- bl __fpclassifyf
- cmp r0, #0x2
- bgt _020E91F8
- strb r5, [r7, #0x0]
- mov r2, #0x0
- strh r2, [r7, #0x2]
- mov r2, #0x1
- mov r0, r8
- mov r1, r6
- strb r2, [r7, #0x4]
- bl __fpclassifyf
- cmp r0, #0x1
- moveq r0, #0x4e
- movne r0, #0x49
- add sp, sp, #0x58
- strb r0, [r7, #0x5]
- ldmia sp!, {r4-r8,pc}
-_020E91F8:
- cmp r5, #0x0
- beq _020E921C
- mov r0, #0x0
- mov r1, r0
- mov r2, r8
- mov r3, r6
- bl _dsub
- mov r8, r0
- mov r6, r1
-_020E921C:
- add r2, sp, #0x8
- mov r0, r8
- mov r1, r6
- bl frexp
- mov r4, r0
- mov r6, r1
- orr r12, r4, #0x0
- rsbs r2, r12, #0x0
- orr r3, r6, #0x100000
- rsc r1, r3, #0x0
- mov r0, #0x0
- and r3, r3, r1
- sub r1, r0, #0x1
- and r12, r12, r2
- mov r2, r1
- adds r0, r12, r1
- adc r1, r3, r2
- str r4, [sp, #0x0]
- str r6, [sp, #0x4]
- bl __msl_generic_count_bits64
- rsb r8, r0, #0x35
- ldr r1, [sp, #0x8]
- add r0, sp, #0xc
- sub r1, r1, r8
- bl __two_exp
- mov r0, r4
- mov r1, r6
- mov r2, r8
- bl ldexp
- bl _ll_ufrom_d
- mov r2, r1
- mov r1, r0
- add r0, sp, #0x32
- bl __ull2dec
- mov r0, r7
- add r1, sp, #0x32
- add r2, sp, #0xc
- bl __timesdec
- strb r5, [r7, #0x0]
- add sp, sp, #0x58
- ldmia sp!, {r4-r8,pc}
-
- arm_func_start __num2dec_internal2
-__num2dec_internal2: ; 0x020E92C0
- stmdb sp!, {r3-r5,lr}
- mov r4, r3
- ldrsh r5, [r0, #0x2]
- mov r0, r4
- bl __num2dec_internal
- ldrb r0, [r4, #0x5]
- cmp r0, #0x9
- ldmhiia sp!, {r3-r5,pc}
-_020E92E0: ; 0x020E92E0
- cmp r5, #0x20
- movgt r5, #0x20
- mov r0, r4
- mov r1, r5
- bl __rounddec
- ldrb r0, [r4, #0x4]
- cmp r0, r5
- bge _020E9324
- mov r1, #0x0
-_020E9304:
- ldrb r2, [r4, #0x4]
- add r0, r4, r0
- add r2, r2, #0x1
- strb r2, [r4, #0x4]
- strb r1, [r0, #0x5]
- ldrb r0, [r4, #0x4]
- cmp r0, r5
- blt _020E9304
-_020E9324:
- ldrsh r1, [r4, #0x2]
- sub r0, r0, #0x1
- mov r2, #0x0
- sub r0, r1, r0
- strh r0, [r4, #0x2]
- ldrb r0, [r4, #0x4]
- cmp r0, #0x0
- ldmleia sp!, {r3-r5,pc}
-_020E9344:
- add r1, r4, r2
- ldrb r0, [r1, #0x5]
- add r2, r2, #0x1
- add r0, r0, #0x30
- strb r0, [r1, #0x5]
- ldrb r0, [r4, #0x4]
- cmp r2, r0
- blt _020E9344
- ldmia sp!, {r3-r5,pc}
-
- arm_func_start __dec2num
-__dec2num: ; 0x020E9368
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0xfc
- mov r4, r0
- ldrb r0, [r4, #0x4]
- cmp r0, #0x0
- bne _020E93A8
- ldrsb r0, [r4, #0x0]
- mov r2, #0x0
- cmp r0, #0x0
- ldreq r3, _020E996C ; =0x3FF00000
- mov r0, #0x0
- ldrne r3, _020E9970 ; =0xBFF00000
- mov r1, r0
- bl copysign
- add sp, sp, #0xfc
- ldmia sp!, {r4-r11,pc}
-_020E93A8:
- ldrb r0, [r4, #0x5]
- cmp r0, #0x30
- beq _020E93C8
- cmp r0, #0x49
- beq _020E93F0
- cmp r0, #0x4e
- beq _020E9424
- b _020E946C
-_020E93C8:
- ldrsb r0, [r4, #0x0]
- mov r2, #0x0
- cmp r0, #0x0
- ldreq r3, _020E996C ; =0x3FF00000
- mov r0, #0x0
- ldrne r3, _020E9970 ; =0xBFF00000
- mov r1, r0
- bl copysign
- add sp, sp, #0xfc
- ldmia sp!, {r4-r11,pc}
-_020E93F0:
- ldrsb r0, [r4, #0x0]
- mov r5, #0x0
- cmp r0, #0x0
- ldreq r4, _020E996C ; =0x3FF00000
- ldr r0, _020E9974 ; =0x02106B74
- ldrne r4, _020E9970 ; =0xBFF00000
- ldr r0, [r0, #0x0]
- bl _f2d
- mov r2, r5
- mov r3, r4
- bl copysign
- add sp, sp, #0xfc
- ldmia sp!, {r4-r11,pc}
-_020E9424:
- ldr r1, _020E9978 ; =0x7FF00000
- add r3, sp, #0x10
- mov r2, #0x0
- str r2, [r3, #0x0]
- str r1, [r3, #0x4]
- ldrsb r0, [r4, #0x0]
- cmp r0, #0x0
- beq _020E9454
- orr r0, r1, #0x80000000
- orr r1, r2, r2
- str r1, [r3, #0x0]
- str r0, [r3, #0x4]
-_020E9454:
- ldmia r3, {r0-r1}
- orr r0, r0, #0x0
- orr r1, r1, #0x80000
- stmia r3, {r0-r1}
- add sp, sp, #0xfc
- ldmia sp!, {r4-r11,pc}
-_020E946C:
- add r3, sp, #0xd6
- mov r5, r4
- mov r2, #0x9
-_020E9478:
- ldrh r1, [r5, #0x0]
- ldrh r0, [r5, #0x2]
- add r5, r5, #0x4
- subs r2, r2, #0x1
- strh r1, [r3, #0x0]
- strh r0, [r3, #0x2]
- add r3, r3, #0x4
- bne _020E9478
- ldrh r0, [r5, #0x0]
- add r1, sp, #0xdb
- strh r0, [r3, #0x0]
- ldrb r0, [sp, #0xda]
- add r5, r1, r0
- cmp r1, r5
- bhs _020E94C8
-_020E94B4:
- ldrb r0, [r1, #0x0]
- sub r0, r0, #0x30
- strb r0, [r1], #0x1
- cmp r1, r5
- blo _020E94B4
-_020E94C8:
- ldrb r1, [sp, #0xda]
- ldrsh r2, [sp, #0xd8]
- add r0, sp, #0xb0
- sub r1, r1, #0x1
- add r1, r2, r1
- strh r1, [sp, #0xd8]
- ldr r1, _020E997C ; =0x02106F5C
- mov r2, #0x134
- ldrsh r11, [sp, #0xd8]
- bl __str2dec
- add r0, sp, #0xb0
- add r1, sp, #0xd6
- bl __less_dec
-_020E94FC: ; 0x020E94FC
- cmp r0, #0x0
- beq _020E9538
- ldrsb r0, [r4, #0x0]
- mov r5, #0x0
- cmp r0, #0x0
- ldreq r4, _020E996C ; =0x3FF00000
- ldr r0, _020E9974 ; =0x02106B74
- ldrne r4, _020E9970 ; =0xBFF00000
- ldr r0, [r0, #0x0]
- bl _f2d
- mov r2, r5
- mov r3, r4
- bl copysign
- add sp, sp, #0xfc
- ldmia sp!, {r4-r11,pc}
-_020E9538:
- add r1, sp, #0xdb
- ldrb r0, [r1, #0x0]
- add r8, r1, #0x1
- bl _dfltu
- str r0, [sp, #0x8]
- str r1, [sp, #0xc]
- cmp r8, r5
- bhs _020E9610
-_020E9558:
- sub r0, r5, r8
- mov r1, r0, lsr #0x1f
- rsb r0, r1, r0, lsl #0x1d
- adds r7, r1, r0, ror #0x1d
- moveq r7, #0x8
- mov r6, #0x0
- mov r2, #0x0
- cmp r7, #0x0
- ble _020E9594
- mov r0, #0xa
-_020E9580:
- ldrb r1, [r8], #0x1
- add r2, r2, #0x1
- cmp r2, r7
- mla r6, r0, r6, r1
- blt _020E9580
-_020E9594:
- ldr r0, _020E9980 ; =0x02106E48
- ldr r1, [sp, #0xc]
- add r3, r0, r7, lsl #0x3
- ldr r2, [r3, #-0x8]
- ldr r0, [sp, #0x8]
- ldr r3, [r3, #-0x4]
- bl _dmul
- mov r4, r0
- mov r9, r1
- mov r0, r6
- bl _dfltu
- mov r2, r0
- mov r3, r1
- mov r0, r4
- mov r1, r9
- bl _dadd
-_020E95D4: ; 0x020E95D4
- cmp r6, #0x0
- mov r6, r0
- mov r10, r1
- beq _020E95FC
- mov r0, r4
- mov r1, r9
- mov r2, r6
- mov r3, r10
- bl _deq
- beq _020E9610
-_020E95FC:
- str r6, [sp, #0x8]
- str r10, [sp, #0xc]
- cmp r8, r5
- sub r11, r11, r7
- blo _020E9558
-_020E9610:
- cmp r11, #0x0
- bge _020E9654
- rsb r0, r11, #0x0
- bl _dflt
- mov r3, r1
- mov r2, r0
- ldr r1, _020E9984 ; =0x40140000
- mov r0, #0x0
- bl pow
- mov r2, r0
- mov r3, r1
- ldr r0, [sp, #0x8]
- ldr r1, [sp, #0xc]
- bl _ddiv
- str r0, [sp, #0x8]
- str r1, [sp, #0xc]
- b _020E968C
-_020E9654:
- mov r0, r11
- bl _dflt
- mov r3, r1
- mov r2, r0
- ldr r1, _020E9984 ; =0x40140000
- mov r0, #0x0
- bl pow
- mov r2, r0
- mov r3, r1
- ldr r0, [sp, #0x8]
- ldr r1, [sp, #0xc]
- bl _dmul
- str r0, [sp, #0x8]
- str r1, [sp, #0xc]
-_020E968C:
- ldr r0, [sp, #0x8]
- ldr r1, [sp, #0xc]
- mov r2, r11
- bl ldexp
- str r0, [sp, #0x8]
- str r1, [sp, #0xc]
- bl __fpclassifyf
- cmp r0, #0x2
- bne _020E96C0
- ldr r0, _020E9988 ; =0x7FEFFFFF
- mvn r1, #0x0
- str r1, [sp, #0x8]
- str r0, [sp, #0xc]
-_020E96C0:
- ldr r1, [sp, #0x8]
- ldr r2, [sp, #0xc]
- add r0, sp, #0x8a
- add r4, sp, #0x0
- mov r5, #0x0
- bl __num2dec_internal
- add r0, sp, #0x8a
- add r1, sp, #0xd6
- bl __equals_dec
-_020E96E4: ; 0x020E96E4
- cmp r0, #0x0
- bne _020E9934
- add r0, sp, #0x8a
- add r1, sp, #0xd6
- bl __less_dec
-_020E96F8: ; 0x020E96F8
- cmp r0, #0x0
- movne r5, #0x1
- ldr r1, [sp, #0x8]
- ldr r0, [sp, #0xc]
- cmp r5, #0x0
- moveq r6, #0x1
- str r1, [sp, #0x0]
- str r0, [sp, #0x4]
- movne r6, #0x0
-_020E971C:
- cmp r6, #0x0
- bne _020E9744
- ldmia r4, {r0-r1}
- adds r0, r0, #0x1
- adc r1, r1, #0x0
- stmia r4, {r0-r1}
- bl __fpclassifyf
- cmp r0, #0x2
- beq _020E9934
- b _020E975C
-_020E9744:
- ldr r1, [r4, #0x0]
- ldr r0, [r4, #0x4]
- subs r1, r1, #0x1
- sbc r0, r0, #0x0
- str r1, [r4, #0x0]
- str r0, [r4, #0x4]
-_020E975C:
- ldr r1, [sp, #0x0]
- ldr r2, [sp, #0x4]
- add r0, sp, #0x64
- bl __num2dec_internal
-_020E976C: ; 0x020E976C
- cmp r5, #0x0
- beq _020E9788
- add r0, sp, #0x64
- add r1, sp, #0xd6
- bl __less_dec
-_020E9780: ; 0x020E9780
- cmp r0, #0x0
- beq _020E98AC
-_020E9788:
- cmp r5, #0x0
- bne _020E9864
- add r0, sp, #0xd6
- add r1, sp, #0x64
- bl __less_dec
-_020E979C: ; 0x020E979C
- cmp r0, #0x0
- bne _020E9864
- add r3, sp, #0x8a
- add r5, sp, #0x3e
- mov r2, #0x9
-_020E97B0:
- ldrh r1, [r3, #0x0]
- ldrh r0, [r3, #0x2]
- add r3, r3, #0x4
- strh r1, [r5, #0x0]
- strh r0, [r5, #0x2]
- add r5, r5, #0x4
- subs r2, r2, #0x1
- bne _020E97B0
- ldrh r0, [r3, #0x0]
- add r3, sp, #0x64
- add r4, sp, #0x8a
- strh r0, [r5, #0x0]
- mov r2, #0x9
-_020E97E4:
- ldrh r1, [r3, #0x0]
- ldrh r0, [r3, #0x2]
- add r3, r3, #0x4
- strh r1, [r4, #0x0]
- strh r0, [r4, #0x2]
- add r4, r4, #0x4
- subs r2, r2, #0x1
- bne _020E97E4
- ldrh r0, [r3, #0x0]
- add r3, sp, #0x3e
- add r5, sp, #0x64
- strh r0, [r4, #0x0]
- mov r2, #0x9
-_020E9818:
- ldrh r1, [r3, #0x0]
- ldrh r0, [r3, #0x2]
- add r3, r3, #0x4
- strh r1, [r5, #0x0]
- strh r0, [r5, #0x2]
- add r5, r5, #0x4
- subs r2, r2, #0x1
- bne _020E9818
- ldrh r4, [r3, #0x0]
- ldr r3, [sp, #0x8]
- ldr r1, [sp, #0x0]
- ldr r2, [sp, #0xc]
- ldr r0, [sp, #0x4]
- strh r4, [r5, #0x0]
- str r1, [sp, #0x8]
- str r0, [sp, #0xc]
- str r3, [sp, #0x0]
- str r2, [sp, #0x4]
- b _020E98AC
-_020E9864:
- add r7, sp, #0x64
- add r3, sp, #0x8a
- mov r2, #0x9
-_020E9870:
- ldrh r1, [r7, #0x0]
- ldrh r0, [r7, #0x2]
- add r7, r7, #0x4
- strh r1, [r3, #0x0]
- strh r0, [r3, #0x2]
- add r3, r3, #0x4
- subs r2, r2, #0x1
- bne _020E9870
- ldrh r2, [r7, #0x0]
- ldr r1, [sp, #0x0]
- ldr r0, [sp, #0x4]
- strh r2, [r3, #0x0]
- str r1, [sp, #0x8]
- str r0, [sp, #0xc]
- b _020E971C
-_020E98AC:
- add r0, sp, #0x3e
- add r1, sp, #0xd6
- add r2, sp, #0x8a
- bl __minus_dec
- add r0, sp, #0x18
- add r1, sp, #0x64
- add r2, sp, #0xd6
- bl __minus_dec
- add r0, sp, #0x3e
- add r1, sp, #0x18
- bl __equals_dec
-_020E98D8: ; 0x020E98D8
- cmp r0, #0x0
- beq _020E9910
- ldr r1, [sp, #0x8]
- ldr r0, [sp, #0xc]
- and r1, r1, #0x1
- and r0, r0, #0x0
- cmp r0, #0x0
- cmpeq r1, #0x0
- beq _020E9934
- ldr r1, [sp, #0x0]
- ldr r0, [sp, #0x4]
- str r1, [sp, #0x8]
- str r0, [sp, #0xc]
- b _020E9934
-_020E9910:
- add r0, sp, #0x3e
- add r1, sp, #0x18
- bl __less_dec
-_020E991C: ; 0x020E991C
- cmp r0, #0x0
- bne _020E9934
- ldr r1, [sp, #0x0]
- ldr r0, [sp, #0x4]
- str r1, [sp, #0x8]
- str r0, [sp, #0xc]
-_020E9934:
- ldrsb r0, [sp, #0xd6]
- cmp r0, #0x0
- beq _020E995C
- mov r0, #0x0
- ldr r2, [sp, #0x8]
- ldr r3, [sp, #0xc]
- mov r1, r0
- bl _dsub
- str r0, [sp, #0x8]
- str r1, [sp, #0xc]
-_020E995C:
- ldr r0, [sp, #0x8]
- ldr r1, [sp, #0xc]
- add sp, sp, #0xfc
- ldmia sp!, {r4-r11,pc}
- .balign 4
-_020E996C: .word 0x3FF00000
-_020E9970: .word 0xBFF00000
-_020E9974: .word 0x02106B74
-_020E9978: .word 0x7FF00000
-_020E997C: .word 0x02106F5C
-_020E9980: .word 0x02106E48
-_020E9984: .word 0x40140000
-_020E9988: .word 0x7FEFFFFF
-
- arm_func_start __msl_generic_count_bits64
-__msl_generic_count_bits64: ; 0x020E998C
- mov r3, r0, lsr #0x1
- ldr r2, _020E9A14 ; =0x55555555
- orr r3, r3, r1, lsl #0x1f
- and r3, r3, r2
- subs r12, r0, r3
- and r2, r2, r1, lsr #0x1
- ldr r0, _020E9A18 ; =0x33333333
- sbc r3, r1, r2
- mov r1, r12, lsr #0x2
- orr r1, r1, r3, lsl #0x1e
- and r2, r12, r0
- and r1, r1, r0
- adds r2, r2, r1
- and r1, r3, r0
- and r0, r0, r3, lsr #0x2
- adc r1, r1, r0
- mov r0, r2, lsr #0x4
- orr r0, r0, r1, lsl #0x1c
- adds r2, r2, r0
- ldr r0, _020E9A1C ; =0x0F0F0F0F
- adc r1, r1, r1, lsr #0x4
- and r3, r2, r0
- and r2, r1, r0
- mov r0, r3, lsr #0x8
- orr r0, r0, r2, lsl #0x18
- adds r1, r3, r0
- adc r2, r2, r2, lsr #0x8
- mov r0, r1, lsr #0x10
- orr r0, r0, r2, lsl #0x10
- adds r1, r1, r0
- adc r0, r2, r2, lsr #0x10
- adds r0, r1, r0
- and r0, r0, #0xff
- bx lr
- .balign 4
-_020E9A14: .word 0x55555555
-_020E9A18: .word 0x33333333
-_020E9A1C: .word 0x0F0F0F0F
-
- arm_func_start __signbitf
-__signbitf:
- stmdb sp!, {r0-r3}
- ldr r0, [sp, #0x4]
- and r0, r0, #0x80000000
- add sp, sp, #0x10
- bx lr
-
- arm_func_start __fpclassifyf
-__fpclassifyf: ; 0x020E9A34
- stmdb sp!, {r0-r3}
- ldr r2, [sp, #0x4]
- ldr r0, _020E9A9C ; =0x7FF00000
- ands r1, r2, r0
- beq _020E9A70
- cmp r1, r0
- bne _020E9A90
- ldr r0, _020E9AA0 ; =0x000FFFFF
- tst r2, r0
- ldreq r0, [sp, #0x0]
- add sp, sp, #0x10
- cmpeq r0, #0x0
- movne r0, #0x1
- moveq r0, #0x2
- bx lr
-_020E9A70:
- ldr r0, _020E9AA0 ; =0x000FFFFF
- tst r2, r0
- ldreq r0, [sp, #0x0]
- add sp, sp, #0x10
- cmpeq r0, #0x0
- movne r0, #0x5
- moveq r0, #0x3
- bx lr
-_020E9A90:
- mov r0, #0x4
- add sp, sp, #0x10
- bx lr
- .balign 4
-_020E9A9C: .word 0x7FF00000
-_020E9AA0: .word 0x000FFFFF
-
- arm_func_start scalbn
-scalbn: ; 0x020E9AA4
- stmdb sp!, {r3-r4,lr}
- sub sp, sp, #0x4
- mov r4, r2
- add r2, sp, #0x0
- bl frexp
- ldr r2, [sp, #0x0]
- add r2, r2, r4
- str r2, [sp, #0x0]
- bl ldexp
- add sp, sp, #0x4
- ldmia sp!, {r3-r4,pc}
-
- arm_func_start stricmp
-stricmp: ; 0x020E9AD0
- stmdb sp!, {r3,lr}
- ldr r3, _020E9B34 ; =0x0210420C
-_020E9AD8:
- ldrb r2, [r0], #0x1
- cmp r2, #0x0
- blt _020E9AF0
- cmp r2, #0x80
- bge _020E9AF0
- ldrb r2, [r3, r2]
-_020E9AF0:
- ldrb lr, [r1], #0x1
- and r12, r2, #0xff
- cmp lr, #0x0
- blt _020E9B0C
- cmp lr, #0x80
- bge _020E9B0C
- ldrb lr, [r3, lr]
-_020E9B0C:
- and r2, lr, #0xff
- cmp r12, r2
- mvncc r0, #0x0
- ldmccia sp!, {r3,pc}
-_020E9B1C: ; 0x020E9B1C
- movhi r0, #0x1
- ldmhiia sp!, {r3,pc}
-_020E9B24: ; 0x020E9B24
- cmp r12, #0x0
- bne _020E9AD8
- mov r0, #0x0
- ldmia sp!, {r3,pc}
- .balign 4
-_020E9B34: .word 0x0210420C
-
- arm_func_start strnicmp
-strnicmp: ; 0x020E9B38
- ldr ip, _020E9B40 ; =stricmp
- bx r12
- .balign 4
-_020E9B40: .word stricmp
-
- arm_func_start _dadd
-_dadd:
- stmdb sp!, {r4,lr}
- eors r12, r1, r3
- eormi r3, r3, #0x80000000
- bmi _020EA5DC
-_020E9B54:
- subs r12, r0, r2
- sbcs lr, r1, r3
- bhs _020E9B70
- adds r2, r2, r12
- adc r3, r3, lr
- subs r0, r0, r12
- sbc r1, r1, lr
-_020E9B70:
- mov lr, #0x80000000
- mov r12, r1, lsr #0x14
- orr r1, lr, r1, lsl #0xb
- orr r1, r1, r0, lsr #0x15
- mov r0, r0, lsl #0xb
- movs r4, r12, lsl #0x15
- cmnne r4, #0x200000
- beq _020E9C6C
- mov r4, r3, lsr #0x14
- orr r3, lr, r3, lsl #0xb
- orr r3, r3, r2, lsr #0x15
- mov r2, r2, lsl #0xb
- movs lr, r4, lsl #0x15
- beq _020E9CB4
-_020E9BA8:
- subs r4, r12, r4
- beq _020E9C00
- cmp r4, #0x20
- ble _020E9BE4
- cmp r4, #0x38
- movge r4, #0x3f
- sub r4, r4, #0x20
- rsb lr, r4, #0x20
- orrs lr, r2, r3, lsl lr
- mov r2, r3, lsr r4
- orrne r2, r2, #0x1
- adds r0, r0, r2
- adcs r1, r1, #0x0
- blo _020E9C28
- b _020E9C0C
-_020E9BE4:
- rsb lr, r4, #0x20
- movs lr, r2, lsl lr
- rsb lr, r4, #0x20
- mov r2, r2, lsr r4
- orr r2, r2, r3, lsl lr
- mov r3, r3, lsr r4
- orrne r2, r2, #0x1
-_020E9C00:
- adds r0, r0, r2
- adcs r1, r1, r3
- blo _020E9C28
-_020E9C0C:
- add r12, r12, #0x1
- and r4, r0, #0x1
- movs r1, r1, rrx
- orr r0, r4, r0, rrx
- mov lr, r12, lsl #0x15
- cmn lr, #0x200000
- beq _020E9E38
-_020E9C28:
- movs r2, r0, lsl #0x15
- mov r0, r0, lsr #0xb
- orr r0, r0, r1, lsl #0x15
- add r1, r1, r1
- mov r1, r1, lsr #0xc
- orr r1, r1, r12, lsl #0x14
- tst r2, #0x80000000
- ldmeqia sp!, {r4,lr}
- bxeq lr
- movs r2, r2, lsl #0x1
- andeqs r2, r0, #0x1
- ldmeqia sp!, {r4,lr}
- bxeq lr
- adds r0, r0, #0x1
- adc r1, r1, #0x0
- ldmia sp!, {r4,lr}
- bx lr
-_020E9C6C:
- cmp r12, #0x800
- movge lr, #0x80000000
- movlt lr, #0x0
- bics r12, r12, #0x800
- beq _020E9CD8
- orrs r4, r0, r1, lsl #0x1
- bne _020E9E14
- mov r4, r3, lsr #0x14
- mov r3, r3, lsl #0xb
- orr r3, r3, r2, lsr #0x15
- mov r2, r2, lsl #0xb
- movs r4, r4, lsl #0x15
- beq _020E9E00
- cmn r4, #0x200000
- bne _020E9E00
- orrs r4, r2, r3, lsl #0x1
- beq _020E9E00
- b _020E9E14
-_020E9CB4:
- cmp r4, #0x800
- movge lr, #0x80000000
- movlt lr, #0x0
- bic r12, r12, #0x800
- bics r4, r4, #0x800
- beq _020E9D44
- orrs r4, r2, r3, lsl #0x1
- bne _020E9E14
- b _020E9E00
-_020E9CD8:
- orrs r4, r0, r1, lsl #0x1
- beq _020E9D18
- mov r12, #0x1
- bic r1, r1, #0x80000000
- mov r4, r3, lsr #0x14
- mov r3, r3, lsl #0xb
- orr r3, r3, r2, lsr #0x15
- mov r2, r2, lsl #0xb
- movs r4, r4, lsl #0x15
- cmnne r4, #0x200000
- mov r4, r4, lsr #0x15
- orr r4, r4, lr, lsr #0x14
- beq _020E9CB4
- orr r3, r3, #0x80000000
- orr r12, r12, lr, lsr #0x14
- b _020E9BA8
-_020E9D18:
- mov r12, r3, lsr #0x14
- mov r1, r3, lsl #0xb
- orr r1, r1, r2, lsr #0x15
- mov r0, r2, lsl #0xb
- movs r4, r12, lsl #0x15
- beq _020E9DCC
- cmn r4, #0x200000
- bne _020E9DCC
- orrs r4, r0, r1, lsl #0x1
- beq _020E9E00
- b _020E9E18
-_020E9D44:
- orrs r4, r2, r3, lsl #0x1
- beq _020E9DDC
- mov r4, #0x1
- bic r3, r3, #0x80000000
- cmp r1, #0x0
- bpl _020E9D68
- orr r12, r12, lr, lsr #0x14
- orr r4, r4, lr, lsr #0x14
- b _020E9BA8
-_020E9D68:
- adds r0, r0, r2
- adcs r1, r1, r3
- blo _020E9D88
- add r12, r12, #0x1
- and r4, r0, #0x1
- movs r1, r1, rrx
- mov r0, r0, rrx
- orr r0, r0, r4
-_020E9D88:
- cmp r1, #0x0
- subges r12, r12, #0x1
- movs r2, r0, lsl #0x15
- mov r0, r0, lsr #0xb
- orr r0, r0, r1, lsl #0x15
- add r1, r1, r1
- orr r1, lr, r1, lsr #0xc
- orr r1, r1, r12, lsl #0x14
- ldmeqia sp!, {r4,lr}
- bxeq lr
- tst r2, #0x80000000
- ldmeqia sp!, {r4,lr}
- bxeq lr
- movs r2, r2, lsl #0x1
- andeqs r2, r0, #0x1
- ldmeqia sp!, {r4,lr}
- bxeq lr
-_020E9DCC:
- mov r1, r3
- mov r0, r2
- ldmia sp!, {r4,lr}
- bx lr
-_020E9DDC:
- cmp r1, #0x0
- subges r12, r12, #0x1
- mov r0, r0, lsr #0xb
- orr r0, r0, r1, lsl #0x15
- add r1, r1, r1
- orr r1, lr, r1, lsr #0xc
- orr r1, r1, r12, lsl #0x14
- ldmia sp!, {r4,lr}
- bx lr
-_020E9E00:
- ldr r1, _020E9E58 ; =0x7FF00000
- orr r1, lr, r1
- mov r0, #0x0
- ldmia sp!, {r4,lr}
- bx lr
-_020E9E14:
- mov r1, r3
-_020E9E18:
- mvn r0, #0x0
- bic r1, r0, #0x80000000
- ldmia sp!, {r4,lr}
- bx lr
-_020E9E28: ; 0x020E9E28
- mvn r0, #0x0
- bic r1, r0, #0x80000000
- ldmia sp!, {r4,lr}
- bx lr
-_020E9E38:
- cmp r12, #0x800
- movge lr, #0x80000000
- movlt lr, #0x0
- ldr r1, _020E9E58 ; =0x7FF00000
- orr r1, lr, r1
- mov r0, #0x0
- ldmia sp!, {r4,lr}
- bx lr
- .balign 4
-_020E9E58: .word 0x7FF00000
-
- arm_func_start _d2f
-_d2f:
- and r2, r1, #0x80000000
- mov r12, r1, lsr #0x14
- bics r12, r12, #0x800
- beq _020E9ED4
- mov r3, r12, lsl #0x15
- cmn r3, #0x200000
- bhs _020E9EB8
- subs r12, r12, #0x380
- bls _020E9EE4
- cmp r12, #0xff
- bge _020E9F54
- mov r1, r1, lsl #0xc
- orr r3, r2, r1, lsr #0x9
- orr r3, r3, r0, lsr #0x1d
- movs r1, r0, lsl #0x3
- orr r0, r3, r12, lsl #0x17
- bxeq lr
- tst r1, #0x80000000
- bxeq lr
- movs r1, r1, lsl #0x1
- andeqs r1, r0, #0x1
- addne r0, r0, #0x1
- bx lr
-_020E9EB8:
- orrs r3, r0, r1, lsl #0xc
- bne _020E9ECC
- mov r0, #0xff000000
- orr r0, r2, r0, lsr #0x1
- bx lr
-_020E9ECC:
- mvn r0, #0x80000000
- bx lr
-_020E9ED4:
- orrs r3, r0, r1, lsl #0xc
- bne _020E9F4C
- mov r0, r2
- bx lr
-_020E9EE4:
- cmn r12, #0x17
- beq _020E9F38
- bmi _020E9F4C
- mov r1, r1, lsl #0xb
- orr r1, r1, #0x80000000
- mov r3, r1, lsr #0x8
- orr r3, r3, r0, lsr #0x1d
- rsb r12, r12, #0x1
- movs r1, r0, lsl #0x3
- orr r0, r2, r3, lsr r12
- rsb r12, r12, #0x20
- mov r3, r3, lsl r12
- orrne r3, r3, #0x1
- movs r1, r3
- bxeq lr
- tst r1, #0x80000000
- bxeq lr
- movs r1, r1, lsl #0x1
- andeqs r1, r0, #0x1
- addne r0, r0, #0x1
- bx lr
-_020E9F38:
- orr r0, r0, r1, lsl #0xc
- movs r1, r0
- mov r0, r2
- addne r0, r0, #0x1
- bx lr
-_020E9F4C:
- mov r0, r2
- bx lr
-_020E9F54:
- mov r0, #0xff000000
- orr r0, r2, r0, lsr #0x1
- bx lr
-
- arm_func_start _dfix
-_dfix: ; 0x020E9F60
- bic r3, r1, #0x80000000
- ldr r2, _020E9FA8 ; =0x0000041E
- subs r2, r2, r3, lsr #0x14
- ble _020E9F9C
- cmp r2, #0x20
- bge _020E9F94
- mov r3, r1, lsl #0xb
- orr r3, r3, #0x80000000
- orr r3, r3, r0, lsr #0x15
- cmp r1, #0x0
- mov r0, r3, lsr r2
- rsbmi r0, r0, #0x0
- bx lr
-_020E9F94:
- mov r0, #0x0
- bx lr
-_020E9F9C:
- mvn r0, r1, asr #0x1f
- add r0, r0, #0x80000000
- bx lr
- .balign 4
-_020E9FA8: .word 0x0000041E
-
- arm_func_start _ll_ufrom_d
-_ll_ufrom_d: ; 0x020E9FAC
- tst r1, #0x80000000
- bne _020EA010
- ldr r2, _020EA034 ; =0x0000043E
- subs r2, r2, r1, lsr #0x14
- blt _020EA028
- cmp r2, #0x40
- bge _020EA004
- mov r12, r1, lsl #0xb
- orr r12, r12, #0x80000000
- orr r12, r12, r0, lsr #0x15
- cmp r2, #0x20
- ble _020E9FEC
- sub r2, r2, #0x20
- mov r1, #0x0
- mov r0, r12, lsr r2
- bx lr
-_020E9FEC:
- mov r3, r0, lsl #0xb
- mov r1, r12, lsr r2
- mov r0, r3, lsr r2
- rsb r2, r2, #0x20
- orr r0, r0, r12, lsl r2
- bx lr
-_020EA004:
- mov r1, #0x0
- mov r0, #0x0
- bx lr
-_020EA010:
- cmn r1, #0x100000
- cmpeq r0, #0x0
- bhi _020EA028
- mov r1, #0x0
- mov r0, #0x0
- bx lr
-_020EA028:
- mvn r1, #0x0
- mvn r0, #0x0
- bx lr
- .balign 4
-_020EA034: .word 0x0000043E
-
- arm_func_start _dflt
-_dflt: ; 0x020EA038
- ands r2, r0, #0x80000000
- rsbmi r0, r0, #0x0
- cmp r0, #0x0
- mov r1, #0x0
- bxeq lr
- mov r3, #0x400
- add r3, r3, #0x1e
- clz r12, r0
- movs r0, r0, lsl r12
- sub r3, r3, r12
- movs r1, r0
- mov r0, r1, lsl #0x15
- add r1, r1, r1
- orr r1, r2, r1, lsr #0xc
- orr r1, r1, r3, lsl #0x14
- bx lr
-
- arm_func_start _dfltu
-_dfltu: ; 0x020EA078
- cmp r0, #0x0
- mov r1, #0x0
- bxeq lr
- mov r3, #0x400
- add r3, r3, #0x1e
- bmi _020EA09C
- clz r12, r0
- movs r0, r0, lsl r12
- sub r3, r3, r12
-_020EA09C:
- mov r1, r0
- mov r0, r1, lsl #0x15
- add r1, r1, r1
- mov r1, r1, lsr #0xc
- orr r1, r1, r3, lsl #0x14
- bx lr
-
- arm_func_start _dmul
-_dmul: ; 0x020EA0B4
- stmdb sp!, {r4-r7,lr}
- eor lr, r1, r3
- and lr, lr, #0x80000000
- mov r12, r1, lsr #0x14
- mov r1, r1, lsl #0xb
- orr r1, r1, r0, lsr #0x15
- mov r0, r0, lsl #0xb
- movs r6, r12, lsl #0x15
- cmnne r6, #0x200000
- beq _020EA1BC
- orr r1, r1, #0x80000000
- bic r12, r12, #0x800
- mov r4, r3, lsr #0x14
- mov r3, r3, lsl #0xb
- orr r3, r3, r2, lsr #0x15
- mov r2, r2, lsl #0xb
- movs r5, r4, lsl #0x15
- cmnne r5, #0x200000
- beq _020EA204
- orr r3, r3, #0x80000000
- bic r4, r4, #0x800
-_020EA108:
- add r12, r4, r12
- umull r5, r4, r0, r2
- umull r7, r6, r0, r3
- adds r4, r7, r4
- adc r6, r6, #0x0
- umull r7, r0, r1, r2
- adds r4, r7, r4
- adcs r0, r0, r6
- umull r7, r2, r1, r3
- adc r1, r2, #0x0
- adds r0, r0, r7
- adc r1, r1, #0x0
- orrs r4, r4, r5
- orrne r0, r0, #0x1
- cmp r1, #0x0
- blt _020EA154
- sub r12, r12, #0x1
- adds r0, r0, r0
- adc r1, r1, r1
-_020EA154:
- add r12, r12, #0x2
- subs r12, r12, #0x400
- bmi _020EA2F0
- beq _020EA2F0
- mov r6, r12, lsl #0x14
- cmn r6, #0x100000
- bmi _020EA3F0
- movs r2, r0, lsl #0x15
- mov r0, r0, lsr #0xb
- orr r0, r0, r1, lsl #0x15
- add r1, r1, r1
- orr r1, lr, r1, lsr #0xc
- orr r1, r1, r12, lsl #0x14
- ldmeqia sp!, {r4-r7,lr}
- bxeq lr
- tst r2, #0x80000000
- ldmeqia sp!, {r4-r7,lr}
- bxeq lr
- movs r2, r2, lsl #0x1
- andeqs r2, r0, #0x1
- ldmeqia sp!, {r4-r7,lr}
- bxeq lr
- adds r0, r0, #0x1
- adc r1, r1, #0x0
- ldmia sp!, {r4-r7,lr}
- bx lr
-_020EA1BC:
- bics r12, r12, #0x800
- beq _020EA218
- orrs r6, r0, r1, lsl #0x1
- bne _020EA3A4
- mov r4, r3, lsr #0x14
- mov r3, r3, lsl #0xb
- orr r3, r3, r2, lsr #0x15
- mov r2, r2, lsl #0xb
- movs r5, r4, lsl #0x15
- beq _020EA1F8
- cmn r5, #0x200000
- bne _020EA390
- orrs r5, r2, r3, lsl #0x1
- beq _020EA390
- b _020EA3A4
-_020EA1F8:
- orrs r5, r3, r2
- beq _020EA3B8
- b _020EA390
-_020EA204:
- bics r4, r4, #0x800
- beq _020EA2AC
- orrs r6, r2, r3, lsl #0x1
- bne _020EA3A4
- b _020EA390
-_020EA218:
- orrs r6, r0, r1, lsl #0x1
- beq _020EA280
- mov r12, #0x1
- cmp r1, #0x0
- bne _020EA23C
- sub r12, r12, #0x20
- movs r1, r0
- mov r0, #0x0
- bmi _020EA258
-_020EA23C:
- clz r6, r1
- movs r1, r1, lsl r6
- rsb r6, r6, #0x20
- orr r1, r1, r0, lsr r6
- rsb r6, r6, #0x20
- mov r0, r0, lsl r6
- sub r12, r12, r6
-_020EA258:
- mov r4, r3, lsr #0x14
- mov r3, r3, lsl #0xb
- orr r3, r3, r2, lsr #0x15
- mov r2, r2, lsl #0xb
- movs r5, r4, lsl #0x15
- cmnne r5, #0x200000
- beq _020EA204
- orr r3, r3, #0x80000000
- bic r4, r4, #0x800
- b _020EA108
-_020EA280:
- mov r4, r3, lsr #0x14
- mov r3, r3, lsl #0xb
- orr r3, r3, r2, lsr #0x15
- mov r2, r2, lsl #0xb
- movs r5, r4, lsl #0x15
- beq _020EA404
- cmn r5, #0x200000
- bne _020EA404
- orrs r6, r2, r3, lsl #0x1
- beq _020EA3B8
- b _020EA3A4
-_020EA2AC:
- orrs r5, r2, r3, lsl #0x1
- beq _020EA404
- mov r4, #0x1
- cmp r3, #0x0
- bne _020EA2D0
- sub r4, r4, #0x20
- movs r3, r2
- mov r2, #0x0
- bmi _020EA108
-_020EA2D0:
- clz r6, r3
- movs r3, r3, lsl r6
- rsb r6, r6, #0x20
- orr r3, r3, r2, lsr r6
- rsb r6, r6, #0x20
- mov r2, r2, lsl r6
- sub r4, r4, r6
- b _020EA108
-_020EA2F0:
- cmn r12, #0x34
- beq _020EA388
- bmi _020EA3E0
- mov r2, r1
- mov r3, r0
- add r4, r12, #0x34
- cmp r4, #0x20
- movge r2, r3
- movge r3, #0x0
- subge r4, r4, #0x20
- rsb r5, r4, #0x20
- mov r2, r2, lsl r4
- orr r2, r2, r3, lsr r5
- movs r3, r3, lsl r4
- orrne r2, r2, #0x1
- rsb r12, r12, #0xc
- cmp r12, #0x20
- movge r0, r1
- movge r1, #0x0
- subge r12, r12, #0x20
- rsb r4, r12, #0x20
- mov r0, r0, lsr r12
- orr r0, r0, r1, lsl r4
- orr r1, lr, r1, lsr r12
- cmp r2, #0x0
- ldmeqia sp!, {r4-r7,lr}
- bxeq lr
- tst r2, #0x80000000
- ldmeqia sp!, {r4-r7,lr}
- bxeq lr
- movs r2, r2, lsl #0x1
- andeqs r2, r0, #0x1
- ldmeqia sp!, {r4-r7,lr}
- bxeq lr
- adds r0, r0, #0x1
- adc r1, r1, #0x0
- ldmia sp!, {r4-r7,lr}
- bx lr
-_020EA388:
- orr r0, r0, r1, lsl #0x1
- b _020EA3C8
-_020EA390:
- ldr r1, _020EA414 ; =0x7FF00000
- orr r1, lr, r1
- mov r0, #0x0
- ldmia sp!, {r4-r7,lr}
- bx lr
-_020EA3A4:
- mov r1, r3
- mvn r0, #0x0
- bic r1, r0, #0x80000000
- ldmia sp!, {r4-r7,lr}
- bx lr
-_020EA3B8:
- mvn r0, #0x0
- bic r1, r0, #0x80000000
- ldmia sp!, {r4-r7,lr}
- bx lr
-_020EA3C8:
- movs r2, r0
- mov r1, lr
- mov r0, #0x0
- addne r0, r0, #0x1
- ldmia sp!, {r4-r7,lr}
- bx lr
-_020EA3E0:
- mov r1, lr
- mov r0, #0x0
- ldmia sp!, {r4-r7,lr}
- bx lr
-_020EA3F0:
- ldr r1, _020EA414 ; =0x7FF00000
- orr r1, lr, r1
- mov r0, #0x0
- ldmia sp!, {r4-r7,lr}
- bx lr
-_020EA404:
- mov r1, lr
- mov r0, #0x0
- ldmia sp!, {r4-r7,lr}
- bx lr
- .balign 4
-_020EA414: .word 0x7FF00000
-
- arm_func_start _dsqrt
-_dsqrt: ; 0x020EA418
- stmdb sp!, {r4-r6,lr}
- ldr r2, _020EA5A8 ; =0x7FF00000
- cmp r1, r2
- bhs _020EA564
- movs r12, r1, lsr #0x14
- beq _020EA510
- bic r1, r1, r2
- orr r1, r1, #0x100000
-_020EA438:
- movs r12, r12, asr #0x1
- bhs _020EA44C
- sub r12, r12, #0x1
- movs r0, r0, lsl #0x1
- adc r1, r1, r1
-_020EA44C:
- movs r3, r0, lsl #0x1
- adc r1, r1, r1
- mov r2, #0x0
- mov r4, #0x0
- mov lr, #0x200000
-_020EA460:
- add r6, r4, lr
- cmp r6, r1
- addle r4, r6, lr
- suble r1, r1, r6
- addle r2, r2, lr
- movs r3, r3, lsl #0x1
- adc r1, r1, r1
- movs lr, lr, lsr #0x1
- bne _020EA460
- mov r0, #0x0
- mov r5, #0x0
- cmp r1, r4
- cmpeq r3, #0x80000000
- blo _020EA4A8
- subs r3, r3, #0x80000000
- sbc r1, r1, r4
- add r4, r4, #0x1
- mov r0, #0x80000000
-_020EA4A8:
- movs r3, r3, lsl #0x1
- adc r1, r1, r1
- mov lr, #0x40000000
-_020EA4B4:
- add r6, r5, lr
- cmp r4, r1
- cmpeq r6, r3
- bhi _020EA4D4
- add r5, r6, lr
- subs r3, r3, r6
- sbc r1, r1, r4
- add r0, r0, lr
-_020EA4D4:
- movs r3, r3, lsl #0x1
- adc r1, r1, r1
- movs lr, lr, lsr #0x1
- bne _020EA4B4
- orrs r1, r1, r3
- biceq r0, r0, #0x1
- movs r1, r2, lsr #0x1
- movs r0, r0, rrx
- adcs r0, r0, #0x0
- adc r1, r1, #0x0
- add r1, r1, #0x20000000
- sub r1, r1, #0x100000
- add r1, r1, r12, lsl #0x14
- ldmia sp!, {r4-r6,lr}
- bx lr
-_020EA510:
- cmp r1, #0x0
- bne _020EA540
- cmp r0, #0x0
- ldmeqia sp!, {r4-r6,lr}
- bxeq lr
- mvn r12, #0x13
- clz r5, r0
- movs r0, r0, lsl r5
- sub r12, r12, r5
- mov r1, r0, lsr #0xb
- mov r0, r0, lsl #0x15
- b _020EA438
-_020EA540:
- clz r2, r1
- movs r1, r1, lsl r2
- rsb r2, r2, #0x2b
- mov r1, r1, lsr #0xb
- orr r1, r1, r0, lsr r2
- rsb r2, r2, #0x20
- mov r0, r0, lsl r2
- rsb r12, r2, #0x1
- b _020EA438
-_020EA564:
- tst r1, #0x80000000
- beq _020EA580
- bics r3, r1, #0x80000000
- cmpeq r0, #0x0
- ldmeqia sp!, {r4-r6,lr}
- bxeq lr
- b _020EA58C
-_020EA580:
- orrs r2, r0, r1, lsl #0xc
- ldmeqia sp!, {r4-r6,lr}
- bxeq lr
-_020EA58C:
- ldr r2, _020EA5AC ; =0x7FF80000
- orr r1, r1, r2
- ldr r3, _020EA5B0 ; =0x021D74A8
- mov r4, #0x21
- str r4, [r3, #0x0]
- ldmia sp!, {r4-r6,lr}
- bx lr
- .balign 4
-_020EA5A8: .word 0x7FF00000
-_020EA5AC: .word 0x7FF80000
-_020EA5B0: .word 0x021D74A8
-
- arm_func_start _drsb
-_drsb: ; 0x020EA5B4
- eor r1, r1, r3
- eor r3, r1, r3
- eor r1, r1, r3
- eor r0, r0, r2
- eor r2, r0, r2
- eor r0, r0, r2
-
- arm_func_start _dsub
-_dsub:
- stmdb sp!, {r4,lr}
- eors r12, r1, r3
- eormi r3, r3, #0x80000000
- bmi _020E9B54
-_020EA5DC:
- subs r12, r0, r2
- sbcs lr, r1, r3
- bhs _020EA5FC
- eor lr, lr, #0x80000000
- adds r2, r2, r12
- adc r3, r3, lr
- subs r0, r0, r12
- sbc r1, r1, lr
-_020EA5FC:
- mov lr, #0x80000000
- mov r12, r1, lsr #0x14
- orr r1, lr, r1, lsl #0xb
- orr r1, r1, r0, lsr #0x15
- mov r0, r0, lsl #0xb
- movs r4, r12, lsl #0x15
- cmnne r4, #0x200000
- beq _020EA800
- mov r4, r3, lsr #0x14
- orr r3, lr, r3, lsl #0xb
- orr r3, r3, r2, lsr #0x15
- mov r2, r2, lsl #0xb
- movs lr, r4, lsl #0x15
- beq _020EA848
-_020EA634:
- subs r4, r12, r4
- beq _020EA6DC
- cmp r4, #0x20
- ble _020EA670
- cmp r4, #0x38
- movge r4, #0x3f
- sub r4, r4, #0x20
- rsb lr, r4, #0x20
- orrs lr, r2, r3, lsl lr
- mov r2, r3, lsr r4
- orrne r2, r2, #0x1
- subs r0, r0, r2
- sbcs r1, r1, #0x0
- bmi _020EA698
- b _020EA788
-_020EA670:
- rsb lr, r4, #0x20
- movs lr, r2, lsl lr
- rsb lr, r4, #0x20
- mov r2, r2, lsr r4
- orr r2, r2, r3, lsl lr
- mov r3, r3, lsr r4
- orrne r2, r2, #0x1
- subs r0, r0, r2
- sbcs r1, r1, r3
- bpl _020EA788
-_020EA698:
- movs r2, r0, lsl #0x15
- mov r0, r0, lsr #0xb
- orr r0, r0, r1, lsl #0x15
- add r1, r1, r1
- mov r1, r1, lsr #0xc
- orr r1, r1, r12, lsl #0x14
- tst r2, #0x80000000
- ldmeqia sp!, {r4,lr}
- bxeq lr
- movs r2, r2, lsl #0x1
- andeqs r2, r0, #0x1
- ldmeqia sp!, {r4,lr}
- bxeq lr
- adds r0, r0, #0x1
- adc r1, r1, #0x0
- ldmia sp!, {r4,lr}
- bx lr
-_020EA6DC:
- subs r0, r0, r2
- sbc r1, r1, r3
- orrs lr, r1, r0
- beq _020EA96C
- mov lr, r12, lsl #0x14
- and lr, lr, #0x80000000
- bic r12, r12, #0x800
- cmp r1, #0x0
- bmi _020EA764
- bne _020EA714
- sub r12, r12, #0x20
- movs r1, r0
- mov r0, #0x0
- bmi _020EA730
-_020EA714:
- clz r4, r1
- movs r1, r1, lsl r4
- rsb r4, r4, #0x20
- orr r1, r1, r0, lsr r4
- rsb r4, r4, #0x20
- mov r0, r0, lsl r4
- sub r12, r12, r4
-_020EA730:
- cmp r12, #0x0
- bgt _020EA76C
- rsb r12, r12, #0xc
- cmp r12, #0x20
- movge r0, r1
- movge r1, #0x0
- subge r12, r12, #0x20
- rsb r4, r12, #0x20
- mov r0, r0, lsr r12
- orr r0, r0, r1, lsl r4
- orr r1, lr, r1, lsr r12
- ldmia sp!, {r4,lr}
- bx lr
-_020EA764:
- cmp r1, #0x0
- subges r12, r12, #0x1
-_020EA76C:
- mov r0, r0, lsr #0xb
- orr r0, r0, r1, lsl #0x15
- add r1, r1, r1
- orr r1, lr, r1, lsr #0xc
- orr r1, r1, r12, lsl #0x14
- ldmia sp!, {r4,lr}
- bx lr
-_020EA788:
- mov lr, r12, lsl #0x14
- and lr, lr, #0x80000000
- bic r12, r12, #0x800
- cmp r1, #0x0
- bne _020EA7AC
- sub r12, r12, #0x20
- movs r1, r0
- mov r0, #0x0
- bmi _020EA7C8
-_020EA7AC:
- clz r4, r1
- movs r1, r1, lsl r4
- rsb r4, r4, #0x20
- orr r1, r1, r0, lsr r4
- rsb r4, r4, #0x20
- mov r0, r0, lsl r4
- sub r12, r12, r4
-_020EA7C8:
- cmp r12, #0x0
- orrgt r12, r12, lr, lsr #0x14
- bgt _020EA698
- rsb r12, r12, #0xc
- cmp r12, #0x20
- movge r0, r1
- movge r1, #0x0
- subge r12, r12, #0x20
- rsb r4, r12, #0x20
- mov r0, r0, lsr r12
- orr r0, r0, r1, lsl r4
- orr r1, lr, r1, lsr r12
- ldmia sp!, {r4,lr}
- bx lr
-_020EA800:
- cmp r12, #0x800
- movge lr, #0x80000000
- movlt lr, #0x0
- bics r12, r12, #0x800
- beq _020EA86C
- orrs r4, r0, r1, lsl #0x1
- bne _020EA948
- mov r4, r3, lsr #0x14
- mov r3, r3, lsl #0xb
- orr r3, r3, r2, lsr #0x15
- mov r2, r2, lsl #0xb
- movs r4, r4, lsl #0x15
- beq _020EA934
- cmn r4, #0x200000
- bne _020EA934
- orrs r4, r2, r3, lsl #0x1
- beq _020EA95C
- b _020EA948
-_020EA848:
- cmp r4, #0x800
- movge lr, #0x80000000
- movlt lr, #0x0
- bic r12, r12, #0x800
- bics r4, r4, #0x800
- beq _020EA8E4
- orrs r4, r2, r3, lsl #0x1
- bne _020EA948
- b _020EA934
-_020EA86C:
- orrs r4, r0, r1, lsl #0x1
- beq _020EA8AC
- mov r12, #0x1
- bic r1, r1, #0x80000000
- mov r4, r3, lsr #0x14
- mov r3, r3, lsl #0xb
- orr r3, r3, r2, lsr #0x15
- mov r2, r2, lsl #0xb
- movs r4, r4, lsl #0x15
- cmnne r4, #0x200000
- mov r4, r4, lsr #0x15
- orr r4, r4, lr, lsr #0x14
- beq _020EA848
- orr r3, r3, #0x80000000
- orr r12, r12, lr, lsr #0x14
- b _020EA634
-_020EA8AC:
- mov r12, r3, lsr #0x14
- mov r1, r3, lsl #0xb
- orr r1, r1, r2, lsr #0x15
- mov r0, r2, lsl #0xb
- movs r4, r12, lsl #0x15
- beq _020EA8D8
- cmn r4, #0x200000
- bne _020EA900
- orrs r4, r0, r1, lsl #0x1
- bne _020EA94C
- b _020EA934
-_020EA8D8:
- orrs r4, r0, r1, lsl #0x1
- beq _020EA96C
- b _020EA900
-_020EA8E4:
- orrs r4, r2, r3, lsl #0x1
- beq _020EA910
- mov r4, #0x1
- bic r3, r3, #0x80000000
- orr r12, r12, lr, lsr #0x14
- orr r4, r4, lr, lsr #0x14
- b _020EA634
-_020EA900:
- mov r1, r3
- mov r0, r2
- ldmia sp!, {r4,lr}
- bx lr
-_020EA910:
- cmp r1, #0x0
- subges r12, r12, #0x1
- mov r0, r0, lsr #0xb
- orr r0, r0, r1, lsl #0x15
- add r1, r1, r1
- orr r1, lr, r1, lsr #0xc
- orr r1, r1, r12, lsl #0x14
- ldmia sp!, {r4,lr}
- bx lr
-_020EA934:
- ldr r1, _020EA97C ; =0x7FF00000
- orr r1, lr, r1
- mov r0, #0x0
- ldmia sp!, {r4,lr}
- bx lr
-_020EA948:
- mov r1, r3
-_020EA94C:
- mvn r0, #0x0
- bic r1, r0, #0x80000000
- ldmia sp!, {r4,lr}
- bx lr
-_020EA95C:
- mvn r0, #0x0
- bic r1, r0, #0x80000000
- ldmia sp!, {r4,lr}
- bx lr
-_020EA96C:
- mov r1, #0x0
- mov r0, #0x0
- ldmia sp!, {r4,lr}
- bx lr
- .balign 4
-_020EA97C: .word 0x7FF00000
-
- arm_func_start _fadd
-_fadd: ; 0x020EA980
- eors r2, r0, r1
- eormi r1, r1, #0x80000000
- bmi _020EB7BC
-_020EA98C:
- subs r12, r0, r1
- subcc r0, r0, r12
- addcc r1, r1, r12
- mov r2, #0x80000000
- mov r3, r0, lsr #0x17
- orr r0, r2, r0, lsl #0x8
- ands r12, r3, #0xff
- cmpne r12, #0xff
- beq _020EAA20
- mov r12, r1, lsr #0x17
- orr r1, r2, r1, lsl #0x8
- ands r2, r12, #0xff
- beq _020EAA60
-_020EA9C0:
- subs r12, r3, r12
- beq _020EA9D8
- rsb r2, r12, #0x20
- movs r2, r1, lsl r2
- mov r1, r1, lsr r12
- orrne r1, r1, #0x1
-_020EA9D8:
- adds r0, r0, r1
- blo _020EA9F8
- and r1, r0, #0x1
- orr r0, r1, r0, rrx
- add r3, r3, #0x1
- and r2, r3, #0xff
- cmp r2, #0xff
- beq _020EAB68
-_020EA9F8:
- ands r1, r0, #0xff
- add r0, r0, r0
- mov r0, r0, lsr #0x9
- orr r0, r0, r3, lsl #0x17
- tst r1, #0x80
- bxeq lr
- ands r1, r1, #0x7f
- andeqs r1, r0, #0x1
- addne r0, r0, #0x1
- bx lr
-_020EAA20:
- cmp r3, #0x100
- movge r2, #0x80000000
- movlt r2, #0x0
- ands r3, r3, #0xff
- beq _020EAA84
- movs r0, r0, lsl #0x1
- bne _020EAB94
- mov r12, r1, lsr #0x17
- mov r1, r1, lsl #0x9
- ands r12, r12, #0xff
- beq _020EAB88
- cmp r12, #0xff
- blt _020EAB88
- cmp r1, #0x0
- beq _020EAB88
- b _020EAB94
-_020EAA60:
- cmp r3, #0x100
- movge r2, #0x80000000
- movlt r2, #0x0
- and r3, r3, #0xff
- ands r12, r12, #0xff
- beq _020EAAE0
-_020EAA78:
- movs r1, r1, lsl #0x1
- bne _020EAB94
- b _020EAB88
-_020EAA84:
- movs r0, r0, lsl #0x1
- beq _020EAABC
- mov r3, #0x1
- mov r0, r0, lsr #0x1
- mov r12, r1, lsr #0x17
- mov r1, r1, lsl #0x8
- ands r12, r12, #0xff
- beq _020EAAE0
- cmp r12, #0xff
- beq _020EAA78
- orr r1, r1, #0x80000000
- orr r3, r3, r2, lsr #0x17
- orr r12, r12, r2, lsr #0x17
- b _020EA9C0
-_020EAABC:
- mov r3, r1, lsr #0x17
- mov r0, r1, lsl #0x9
- ands r3, r3, #0xff
- beq _020EAB48
- cmp r3, #0xff
- blt _020EAB48
- cmp r0, #0x0
- beq _020EAB88
- b _020EAB80
-_020EAAE0:
- movs r1, r1, lsl #0x1
- beq _020EAB50
- mov r1, r1, lsr #0x1
- mov r12, #0x1
- orr r3, r3, r2, lsr #0x17
- orr r12, r12, r2, lsr #0x17
- cmp r0, #0x0
- bmi _020EA9C0
- adds r0, r0, r1
- blo _020EAB14
- and r1, r0, #0x1
- orr r0, r1, r0, rrx
- add r12, r12, #0x1
-_020EAB14:
- cmp r0, #0x0
- subge r12, r12, #0x1
- ands r1, r0, #0xff
- add r0, r0, r0
- mov r0, r0, lsr #0x9
- orr r0, r0, r12, lsl #0x17
- bxeq lr
- tst r1, #0x80
- bxeq lr
- ands r1, r1, #0x7f
- andeqs r1, r0, #0x1
- addne r0, r0, #0x1
- bx lr
-_020EAB48:
- mov r0, r1
- bx lr
-_020EAB50:
- cmp r0, #0x0
- subges r3, r3, #0x1
- add r0, r0, r0
- orr r0, r2, r0, lsr #0x9
- orr r0, r0, r3, lsl #0x17
- bx lr
-_020EAB68:
- cmp r3, #0x100
- movge r2, #0x80000000
- movlt r2, #0x0
- mov r0, #0xff000000
- orr r0, r2, r0, lsr #0x1
- bx lr
-_020EAB80:
- mvn r0, #0x80000000
- bx lr
-_020EAB88:
- mov r0, #0xff000000
- orr r0, r2, r0, lsr #0x1
- bx lr
-_020EAB94:
- mvn r0, #0x80000000
- bx lr
-_020EAB9C: ; 0x020EAB9C
- mvn r0, #0x80000000
- bx lr
-
- arm_func_start _dgr
-_dgr: ; 0x020EABA4
- mov r12, #0x200000
- cmn r12, r1, lsl #0x1
- bhs _020EAC18
- cmn r12, r3, lsl #0x1
- bhs _020EAC2C
-_020EABB8:
- orrs r12, r3, r1
- bmi _020EABE8
- cmp r1, r3
- cmpeq r0, r2
- movhi r0, #0x1
- movls r0, #0x0
- bx lr
-_020EABD4:
- mov r0, #0x0
- mrs r12, cpsr
- bic r12, r12, #0x20000000
- msr cpsr_f, r12
- bx lr
-_020EABE8:
- orr r12, r0, r12, lsl #0x1
- orrs r12, r12, r2
- moveq r0, #0x0
- mrs r12, cpsr
- bic r12, r12, #0x20000000
- msr cpsr_f, r12
- bxeq lr
- cmp r3, r1
- cmpeq r2, r0
- movhi r0, #0x1
- movls r0, #0x0
- bx lr
-_020EAC18:
- bne _020EABD4
- cmp r0, #0x0
- bhi _020EABD4
- cmn r12, r3, lsl #0x1
- blo _020EABB8
-_020EAC2C:
- bne _020EABD4
- cmp r2, #0x0
- bhi _020EABD4
- b _020EABB8
-
- arm_func_start _dleq
-_dleq: ; 0x020EAC3C
- mov r12, #0x200000
- cmn r12, r1, lsl #0x1
- bhs _020EACBC
- cmn r12, r3, lsl #0x1
- bhs _020EACD0
-_020EAC50:
- orrs r12, r3, r1
- bmi _020EAC84
- cmp r1, r3
- cmpeq r0, r2
- movls r0, #0x1
- movhi r0, #0x0
- bx lr
-_020EAC6C:
- mov r0, #0x0
- mrs r12, cpsr
- bic r12, r12, #0x40000000
- orr r12, r12, #0x20000000
- msr cpsr_f, r12
- bx lr
-_020EAC84:
- orr r12, r0, r12, lsl #0x1
- orrs r12, r12, r2
- moveq r0, #0x1
- bne _020EACA8
- mrs r12, cpsr
- bic r12, r12, #0x20000000
- orr r12, r12, #0x40000000
- msr cpsr_f, r12
- bxeq lr
-_020EACA8:
- cmp r3, r1
- cmpeq r2, r0
- movls r0, #0x1
- movhi r0, #0x0
- bx lr
-_020EACBC:
- bne _020EAC6C
- cmp r0, #0x0
- bhi _020EAC6C
- cmn r12, r3, lsl #0x1
- blo _020EAC50
-_020EACD0:
- bne _020EAC6C
- cmp r2, #0x0
- bhi _020EAC6C
- b _020EAC50
-
- arm_func_start _dls
-_dls: ; 0x020EACE0
- mov r12, #0x200000
- cmn r12, r1, lsl #0x1
- bhs _020EAD58
- cmn r12, r3, lsl #0x1
- bhs _020EAD6C
-_020EACF4:
- orrs r12, r3, r1
- bmi _020EAD24
- cmp r1, r3
- cmpeq r0, r2
- movcc r0, #0x1
- movcs r0, #0x0
- bx lr
-_020EAD10:
- mov r0, #0x0
- mrs r12, cpsr
- orr r12, r12, #0x20000000
- msr cpsr_f, r12
- bx lr
-_020EAD24:
- orr r12, r0, r12, lsl #0x1
- orrs r12, r12, r2
- moveq r0, #0x0
- bne _020EAD44
- mrs r12, cpsr
- orr r12, r12, #0x20000000
- msr cpsr_f, r12
- bxeq lr
-_020EAD44:
- cmp r3, r1
- cmpeq r2, r0
- movcc r0, #0x1
- movcs r0, #0x0
- bx lr
-_020EAD58:
- bne _020EAD10
- cmp r0, #0x0
- bhi _020EAD10
- cmn r12, r3, lsl #0x1
- blo _020EACF4
-_020EAD6C:
- bne _020EAD10
- cmp r2, #0x0
- bhi _020EAD10
- b _020EACF4
-
- arm_func_start _deq
-_deq: ; 0x020EAD7C
- mov r12, #0x200000
- cmn r12, r1, lsl #0x1
- bhs _020EADE4
- cmn r12, r3, lsl #0x1
- bhs _020EADF8
-_020EAD90:
- orrs r12, r3, r1
- bmi _020EADC0
- cmp r1, r3
- cmpeq r0, r2
- moveq r0, #0x1
- movne r0, #0x0
- bx lr
-_020EADAC:
- mov r0, #0x0
- mrs r12, cpsr
- bic r12, r12, #0x40000000
- msr cpsr_f, r12
- bx lr
-_020EADC0:
- orr r12, r0, r12, lsl #0x1
- orrs r12, r12, r2
- moveq r0, #0x1
- bxeq lr
- cmp r3, r1
- cmpeq r2, r0
- moveq r0, #0x1
- movne r0, #0x0
- bx lr
-_020EADE4:
- bne _020EADAC
- cmp r0, #0x0
- bhi _020EADAC
- cmn r12, r3, lsl #0x1
- blo _020EAD90
-_020EADF8:
- bne _020EADAC
- cmp r2, #0x0
- bhi _020EADAC
- b _020EAD90
-
- arm_func_start _dneq
-_dneq: ; 0x020EAE08
- mov r12, #0x200000
- cmn r12, r1, lsl #0x1
- bhs _020EAE70
- cmn r12, r3, lsl #0x1
- bhs _020EAE84
-_020EAE1C:
- orrs r12, r3, r1
- bmi _020EAE4C
- cmp r1, r3
- cmpeq r0, r2
- movne r0, #0x1
- moveq r0, #0x0
- bx lr
-_020EAE38:
- mov r0, #0x1
- mrs r12, cpsr
- bic r12, r12, #0x40000000
- msr cpsr_f, r12
- bx lr
-_020EAE4C:
- orr r12, r0, r12, lsl #0x1
- orrs r12, r12, r2
- moveq r0, #0x0
- bxeq lr
- cmp r3, r1
- cmpeq r2, r0
- movne r0, #0x1
- moveq r0, #0x0
- bx lr
-_020EAE70:
- bne _020EAE38
- cmp r0, #0x0
- bhi _020EAE38
- cmn r12, r3, lsl #0x1
- blo _020EAE1C
-_020EAE84:
- bne _020EAE38
- cmp r2, #0x0
- bhi _020EAE38
- b _020EAE1C
-
- arm_func_start _fgeq
-_fgeq: ; 0x020EAE94
- mov r3, #0xff000000
- cmp r3, r0, lsl #0x1
- cmpcs r3, r1, lsl #0x1
- blo _020EAEDC
- cmp r0, #0x0
- bicmi r0, r0, #0x80000000
- rsbmi r0, r0, #0x0
- cmp r1, #0x0
- bicmi r1, r1, #0x80000000
- rsbmi r1, r1, #0x0
- cmp r0, r1
- movge r0, #0x1
- movlt r0, #0x0
- mrs r12, cpsr
- biclt r12, r12, #0x20000000
- orrge r12, r12, #0x20000000
- msr cpsr_f, r12
- bx lr
-_020EAEDC:
- mov r0, #0x0
- mrs r12, cpsr
- bic r12, r12, #0x20000000
- msr cpsr_f, r12
- bx lr
-
- arm_func_start _fgr
-_fgr: ; 0x020EAEF0
- mov r3, #0xff000000
- cmp r3, r0, lsl #0x1
- cmpcs r3, r1, lsl #0x1
- blo _020EAF38
- cmp r0, #0x0
- bicmi r0, r0, #0x80000000
- rsbmi r0, r0, #0x0
- cmp r1, #0x0
- bicmi r1, r1, #0x80000000
- rsbmi r1, r1, #0x0
- cmp r0, r1
- movgt r0, #0x1
- movle r0, #0x0
- mrs r12, cpsr
- bicle r12, r12, #0x20000000
- orrgt r12, r12, #0x20000000
- msr cpsr_f, r12
- bx lr
-_020EAF38:
- mov r0, #0x0
- mrs r12, cpsr
- bic r12, r12, #0x20000000
- msr cpsr_f, r12
- bx lr
-
- arm_func_start _fleq
-_fleq: ; 0x020EAF4C
- mov r3, #0xff000000
- cmp r3, r0, lsl #0x1
- cmpcs r3, r1, lsl #0x1
- blo _020EAF9C
- cmp r0, #0x0
- bicmi r0, r0, #0x80000000
- rsbmi r0, r0, #0x0
- cmp r1, #0x0
- bicmi r1, r1, #0x80000000
- rsbmi r1, r1, #0x0
- cmp r0, r1
- movle r0, #0x1
- movgt r0, #0x0
- mrs r12, cpsr
- orrgt r12, r12, #0x20000000
- bicgt r12, r12, #0x40000000
- bicle r12, r12, #0x20000000
- orrle r12, r12, #0x40000000
- msr cpsr_f, r12
- bx lr
-_020EAF9C:
- mov r0, #0x0
- mrs r12, cpsr
- bic r12, r12, #0x40000000
- orr r12, r12, #0x20000000
- msr cpsr_f, r12
- bx lr
-
- arm_func_start _fls
-_fls: ; 0x020EAFB4
- mov r3, #0xff000000
- cmp r3, r0, lsl #0x1
- cmpcs r3, r1, lsl #0x1
- blo _020EAFFC
- cmp r0, #0x0
- bicmi r0, r0, #0x80000000
- rsbmi r0, r0, #0x0
- cmp r1, #0x0
- bicmi r1, r1, #0x80000000
- rsbmi r1, r1, #0x0
- cmp r0, r1
- movlt r0, #0x1
- movge r0, #0x0
- mrs r12, cpsr
- orrge r12, r12, #0x20000000
- biclt r12, r12, #0x20000000
- msr cpsr_f, r12
- bx lr
-_020EAFFC:
- mov r0, #0x0
- mrs r12, cpsr
- orr r12, r12, #0x20000000
- msr cpsr_f, r12
- bx lr
-
- arm_func_start _feq
-_feq: ; 0x020EB010
- mov r3, #0xff000000
- cmp r3, r0, lsl #0x1
- blo _020EB064
- cmp r3, r1, lsl #0x1
- blo _020EB064
- orr r3, r0, r1
- movs r3, r3, lsl #0x1
- moveq r0, #0x0
- bne _020EB044
- mrs r12, cpsr
- orr r12, r12, #0x40000000
- msr cpsr_f, r12
- bx lr
-_020EB044:
- cmp r0, r1
- movne r0, #0x1
- moveq r0, #0x0
- mrs r12, cpsr
- bicne r12, r12, #0x40000000
- orreq r12, r12, #0x40000000
- msr cpsr_f, r12
- bx lr
-_020EB064:
- mov r0, #0x1
- mrs r12, cpsr
- bic r12, r12, #0x40000000
- msr cpsr_f, r12
- bx lr
-
- arm_func_start _frdiv
-_frdiv: ; 0x020EB078
- eor r0, r0, r1
- eor r1, r0, r1
- eor r0, r0, r1
-
- arm_func_start _fdiv
-_fdiv: ; 0x020EB084
- stmdb sp!, {lr}
- mov r12, #0xff
- ands r3, r12, r0, lsr #0x17
- cmpne r3, #0xff
- beq _020EB258
- ands r12, r12, r1, lsr #0x17
- cmpne r12, #0xff
- beq _020EB294
- orr r1, r1, #0x800000
- orr r0, r0, #0x800000
- bic r2, r0, #0xff000000
- bic lr, r1, #0xff000000
-_020EB0B4:
- cmp r2, lr
- movcc r2, r2, lsl #0x1
- subcc r3, r3, #0x1
- teq r0, r1
- sub r0, pc, #0x94
- ldrb r1, [r0, lr, lsr #0xf]
- rsb lr, lr, #0x0
- mov r0, lr, asr #0x1
- mul r0, r1, r0
- add r0, r0, #0x80000000
- mov r0, r0, lsr #0x6
- mul r0, r1, r0
- mov r0, r0, lsr #0xe
- mul r1, lr, r0
- sub r12, r3, r12
- mov r1, r1, lsr #0xc
- mul r1, r0, r1
- mov r0, r0, lsl #0xe
- add r0, r0, r1, lsr #0xf
- umull r1, r0, r2, r0
- mov r3, r0
- orrmi r0, r0, #0x80000000
- adds r12, r12, #0x7e
- bmi _020EB35C
- cmp r12, #0xfe
- bge _020EB410
- add r0, r0, r12, lsl #0x17
- mov r12, r1, lsr #0x1c
- cmp r12, #0x7
- beq _020EB238
- add r0, r0, r1, lsr #0x1f
- ldmia sp!, {lr}
- bx lr
-_020EB138: ; not code
- .byte 0xFF, 0xFF, 0xFE, 0xFD, 0xFC, 0xFB, 0xFA, 0xF9
- .byte 0xF8, 0xF7, 0xF6, 0xF5, 0xF4, 0xF3, 0xF2, 0xF1, 0xF0, 0xF0, 0xEF, 0xEE, 0xED, 0xEC, 0xEB, 0xEA
- .byte 0xEA, 0xE9, 0xE8, 0xE7, 0xE6, 0xE6, 0xE5, 0xE4, 0xE3, 0xE2, 0xE2, 0xE1, 0xE0, 0xDF, 0xDF, 0xDE
- .byte 0xDD, 0xDC, 0xDC, 0xDB, 0xDA, 0xD9, 0xD9, 0xD8, 0xD7, 0xD7, 0xD6, 0xD5, 0xD4, 0xD4, 0xD3, 0xD2
- .byte 0xD2, 0xD1, 0xD0, 0xD0, 0xCF, 0xCE, 0xCE, 0xCD, 0xCC, 0xCC, 0xCB, 0xCB, 0xCA, 0xC9, 0xC9, 0xC8
- .byte 0xC8, 0xC7, 0xC6, 0xC6, 0xC5, 0xC5, 0xC4, 0xC3, 0xC3, 0xC2, 0xC2, 0xC1, 0xC0, 0xC0, 0xBF, 0xBF
- .byte 0xBE, 0xBE, 0xBD, 0xBD, 0xBC, 0xBC, 0xBB, 0xBA, 0xBA, 0xB9, 0xB9, 0xB8, 0xB8, 0xB7, 0xB7, 0xB6
- .byte 0xB6, 0xB5, 0xB5, 0xB4, 0xB4, 0xB3, 0xB3, 0xB2, 0xB2, 0xB1, 0xB1, 0xB0, 0xB0, 0xAF, 0xAF, 0xAF
- .byte 0xAE, 0xAE, 0xAD, 0xAD, 0xAC, 0xAC, 0xAB, 0xAB, 0xAA, 0xAA, 0xAA, 0xA9, 0xA9, 0xA8, 0xA8, 0xA7
- .byte 0xA7, 0xA7, 0xA6, 0xA6, 0xA5, 0xA5, 0xA4, 0xA4, 0xA4, 0xA3, 0xA3, 0xA2, 0xA2, 0xA2, 0xA1, 0xA1
- .byte 0xA0, 0xA0, 0xA0, 0x9F, 0x9F, 0x9E, 0x9E, 0x9E, 0x9D, 0x9D, 0x9D, 0x9C, 0x9C, 0x9B, 0x9B, 0x9B
- .byte 0x9A, 0x9A, 0x9A, 0x99, 0x99, 0x99, 0x98, 0x98, 0x98, 0x97, 0x97, 0x96, 0x96, 0x96, 0x95, 0x95
- .byte 0x95, 0x94, 0x94, 0x94, 0x93, 0x93, 0x93, 0x92, 0x92, 0x92, 0x91, 0x91, 0x91, 0x91, 0x90, 0x90
- .byte 0x90, 0x8F, 0x8F, 0x8F, 0x8E, 0x8E, 0x8E, 0x8D, 0x8D, 0x8D, 0x8C, 0x8C, 0x8C, 0x8C, 0x8B, 0x8B
- .byte 0x8B, 0x8A, 0x8A, 0x8A, 0x8A, 0x89, 0x89, 0x89, 0x88, 0x88, 0x88, 0x88, 0x87, 0x87, 0x87, 0x86
- .byte 0x86, 0x86, 0x86, 0x85, 0x85, 0x85, 0x85, 0x84, 0x84, 0x84, 0x83, 0x83, 0x83, 0x83, 0x82, 0x82
- .byte 0x82, 0x82, 0x81, 0x81, 0x81, 0x81, 0x80, 0x80
-_020EB238:
- mov r1, r3, lsl #0x1
- add r1, r1, #0x1
- rsb lr, lr, #0x0
- mul r1, lr, r1
- cmp r1, r2, lsl #0x18
- addmi r0, r0, #0x1
- ldmia sp!, {lr}
- bx lr
-_020EB258:
- eor lr, r0, r1
- and lr, lr, #0x80000000
- cmp r3, #0x0
- beq _020EB2B0
- movs r0, r0, lsl #0x9
- bne _020EB3F8
- mov r12, r1, lsr #0x17
- mov r1, r1, lsl #0x9
- ands r12, r12, #0xff
- beq _020EB3E8
- cmp r12, #0xff
- blt _020EB3E8
- cmp r1, #0x0
- beq _020EB404
- b _020EB3E0
-_020EB294:
- eor lr, r0, r1
- and lr, lr, #0x80000000
- cmp r12, #0x0
- beq _020EB314
-_020EB2A4:
- movs r1, r1, lsl #0x9
- bne _020EB3E0
- b _020EB430
-_020EB2B0:
- movs r2, r0, lsl #0x9
- beq _020EB2E4
- clz r3, r2
- movs r2, r2, lsl r3
- rsb r3, r3, #0x0
- mov r2, r2, lsr #0x8
- ands r12, r12, r1, lsr #0x17
- beq _020EB33C
- cmp r12, #0xff
- beq _020EB2A4
- orr r1, r1, #0x800000
- bic lr, r1, #0xff000000
- b _020EB0B4
-_020EB2E4:
- mov r12, r1, lsr #0x17
- mov r1, r1, lsl #0x9
- ands r12, r12, #0xff
- beq _020EB308
- cmp r12, #0xff
- blt _020EB430
- cmp r1, #0x0
- beq _020EB430
- b _020EB3E0
-_020EB308:
- cmp r1, #0x0
- beq _020EB404
- b _020EB430
-_020EB314:
- movs r12, r1, lsl #0x9
- beq _020EB3E8
- mov lr, r12
- clz r12, lr
- movs lr, lr, lsl r12
- rsb r12, r12, #0x0
- mov lr, lr, lsr #0x8
- orr r0, r0, #0x800000
- bic r2, r0, #0xff000000
- b _020EB0B4
-_020EB33C:
- movs r12, r1, lsl #0x9
- beq _020EB3E8
- mov lr, r12
- clz r12, lr
- movs lr, lr, lsl r12
- rsb r12, r12, #0x0
- mov lr, lr, lsr #0x8
- b _020EB0B4
-_020EB35C:
- and r0, r0, #0x80000000
- cmn r12, #0x18
- beq _020EB3D0
- bmi _020EB428
- add r1, r12, #0x17
- mov r2, r2, lsl r1
- rsb r12, r12, #0x0
- mov r3, r3, lsr r12
- orr r0, r0, r3
- rsb lr, lr, #0x0
- mul r1, lr, r3
- cmp r1, r2
- ldmeqia sp!, {lr}
- bxeq lr
- add r1, r1, lr
- cmp r1, r2
- beq _020EB3C4
- addmi r0, r0, #0x1
- subpl r1, r1, lr
- add r1, lr, r1, lsl #0x1
- cmp r1, r2, lsl #0x1
- and r3, r0, #0x1
- addmi r0, r0, #0x1
- addeq r0, r0, r3
- ldmia sp!, {lr}
- bx lr
-_020EB3C4:
- add r0, r0, #0x1
- ldmia sp!, {lr}
- bx lr
-_020EB3D0:
- cmn r2, lr
- addne r0, r0, #0x1
- ldmia sp!, {lr}
- bx lr
-_020EB3E0:
- mov r0, r1
- b _020EB3F8
-_020EB3E8:
- mov r0, #0xff000000
- orr r0, lr, r0, lsr #0x1
- ldmia sp!, {lr}
- bx lr
-_020EB3F8:
- mvn r0, #0x80000000
- ldmia sp!, {lr}
- bx lr
-_020EB404:
- mvn r0, #0x80000000
- ldmia sp!, {lr}
- bx lr
-_020EB410:
- tst r0, #0x80000000
- mov r0, #0xff000000
- movne r0, r0, asr #0x1
- moveq r0, r0, lsr #0x1
- ldmia sp!, {lr}
- bx lr
-_020EB428:
- ldmia sp!, {lr}
- bx lr
-_020EB430:
- mov r0, lr
- ldmia sp!, {lr}
- bx lr
-
- arm_func_start _f2d
-_f2d:
- and r2, r0, #0x80000000
- mov r12, r0, lsr #0x17
- mov r3, r0, lsl #0x9
- ands r12, r12, #0xff
- beq _020EB46C
- cmp r12, #0xff
- beq _020EB498
-_020EB458:
- add r12, r12, #0x380
- mov r0, r3, lsl #0x14
- orr r1, r2, r3, lsr #0xc
- orr r1, r1, r12, lsl #0x14
- bx lr
-_020EB46C:
- cmp r3, #0x0
- bne _020EB480
- mov r1, r2
- mov r0, #0x0
- bx lr
-_020EB480:
- mov r3, r3, lsr #0x1
- clz r12, r3
- movs r3, r3, lsl r12
- rsb r12, r12, #0x1
- add r3, r3, r3
- b _020EB458
-_020EB498:
- cmp r3, #0x0
- bhi _020EB4B0
- ldr r1, _020EB4BC ; =0x7FF00000
- orr r1, r1, r2
- mov r0, #0x0
- bx lr
-_020EB4B0:
- mvn r0, #0x0
- bic r1, r0, #0x80000000
- bx lr
- .balign 4
-_020EB4BC: .word 0x7FF00000
-
- arm_func_start _ffix
-_ffix: ; 0x020EB4C0
- bic r1, r0, #0x80000000
- mov r2, #0x9e
- subs r2, r2, r1, lsr #0x17
- ble _020EB4E8
- mov r1, r1, lsl #0x8
- orr r1, r1, #0x80000000
- cmp r0, #0x0
- mov r0, r1, lsr r2
- rsbmi r0, r0, #0x0
- bx lr
-_020EB4E8:
- mvn r0, r0, asr #0x1f
- add r0, r0, #0x80000000
- bx lr
-
- arm_func_start _ffixu
-_ffixu: ; 0x020EB4F4
- tst r0, #0x80000000
- bne _020EB518
- mov r1, #0x9e
- subs r1, r1, r0, lsr #0x17
- blt _020EB52C
- mov r2, r0, lsl #0x8
- orr r0, r2, #0x80000000
- mov r0, r0, lsr r1
- bx lr
-_020EB518:
- mov r2, #0xff000000
- cmp r2, r0, lsl #0x1
- movcs r0, #0x0
- mvncc r0, #0x0
- bx lr
-_020EB52C:
- mvn r0, #0x0
- bx lr
-
- arm_func_start _fflt
-_fflt: ; 0x020EB534
- ands r2, r0, #0x80000000
- rsbmi r0, r0, #0x0
- cmp r0, #0x0
- bxeq lr
- clz r3, r0
- movs r0, r0, lsl r3
- rsb r3, r3, #0x9e
- ands r1, r0, #0xff
- add r0, r0, r0
- orr r0, r2, r0, lsr #0x9
- orr r0, r0, r3, lsl #0x17
- bxeq lr
- tst r1, #0x80
- bxeq lr
- ands r3, r1, #0x7f
- andeqs r3, r0, #0x1
- addne r0, r0, #0x1
- bx lr
-
- arm_func_start _ffltu
-_ffltu: ; 0x020EB57C
- cmp r0, #0x0
- bxeq lr
- mov r3, #0x9e
- bmi _020EB598
- clz r12, r0
- movs r0, r0, lsl r12
- sub r3, r3, r12
-_020EB598:
- ands r2, r0, #0xff
- add r0, r0, r0
- mov r0, r0, lsr #0x9
- orr r0, r0, r3, lsl #0x17
- bxeq lr
- tst r2, #0x80
- bxeq lr
- ands r1, r2, #0x7f
- andeqs r1, r0, #0x1
- addne r0, r0, #0x1
- bx lr
-
- arm_func_start _fmul
-_fmul: ; 0x020EB5C4
- eor r2, r0, r1
- and r2, r2, #0x80000000
- mov r12, #0xff
- ands r3, r12, r0, lsr #0x17
- mov r0, r0, lsl #0x8
- cmpne r3, #0xff
- beq _020EB640
- orr r0, r0, #0x80000000
- ands r12, r12, r1, lsr #0x17
- mov r1, r1, lsl #0x8
- cmpne r12, #0xff
- beq _020EB680
- orr r1, r1, #0x80000000
-_020EB5F8:
- add r12, r3, r12
- umull r1, r3, r0, r1
- movs r0, r3
- addpl r0, r0, r0
- subpl r12, r12, #0x1
- subs r12, r12, #0x7f
- bmi _020EB70C
- cmp r12, #0xfe
- bge _020EB778
- ands r3, r0, #0xff
- orr r0, r2, r0, lsr #0x8
- add r0, r0, r12, lsl #0x17
- tst r3, #0x80
- bxeq lr
- orrs r1, r1, r3, lsl #0x19
- andeqs r3, r0, #0x1
- addne r0, r0, #0x1
- bx lr
-_020EB640:
- cmp r3, #0x0
- beq _020EB694
- movs r0, r0, lsl #0x1
- bne _020EB768
- mov r12, r1, lsr #0x17
- mov r1, r1, lsl #0x9
- ands r12, r12, #0xff
- beq _020EB674
- cmp r12, #0xff
- blt _020EB75C
- cmp r1, #0x0
- beq _020EB75C
- b _020EB768
-_020EB674:
- cmp r1, #0x0
- beq _020EB770
- b _020EB75C
-_020EB680:
- cmp r12, #0x0
- beq _020EB6F0
-_020EB688:
- movs r1, r1, lsl #0x1
- bne _020EB768
- b _020EB75C
-_020EB694:
- movs r0, r0, lsl #0x1
- beq _020EB6CC
- mov r0, r0, lsr #0x1
- clz r3, r0
- movs r0, r0, lsl r3
- rsb r3, r3, #0x1
- mov r12, r1, lsr #0x17
- mov r1, r1, lsl #0x8
- ands r12, r12, #0xff
- beq _020EB6F0
- cmp r12, #0xff
- beq _020EB688
- orr r1, r1, #0x80000000
- b _020EB5F8
-_020EB6CC:
- mov r12, r1, lsr #0x17
- mov r1, r1, lsl #0x9
- ands r12, r12, #0xff
- beq _020EB79C
- cmp r12, #0xff
- blt _020EB79C
- cmp r1, #0x0
- beq _020EB770
- b _020EB768
-_020EB6F0:
- movs r1, r1, lsl #0x1
- beq _020EB79C
- mov r1, r1, lsr #0x1
- clz r12, r1
- movs r1, r1, lsl r12
- rsb r12, r12, #0x1
- b _020EB5F8
-_020EB70C:
- cmn r12, #0x18
- beq _020EB754
- bmi _020EB794
- cmp r1, #0x0
- orrne r0, r0, #0x1
- mov r3, r0
- mov r0, r0, lsr #0x8
- rsb r12, r12, #0x0
- orr r0, r2, r0, lsr r12
- rsb r12, r12, #0x18
- movs r1, r3, lsl r12
- bxeq lr
- tst r1, #0x80000000
- bxeq lr
- movs r1, r1, lsl #0x1
- andeqs r1, r0, #0x1
- addne r0, r0, #0x1
- bx lr
-_020EB754:
- mov r0, r0, lsl #0x1
- b _020EB784
-_020EB75C:
- mov r0, #0xff000000
- orr r0, r2, r0, lsr #0x1
- bx lr
-_020EB768:
- mvn r0, #0x80000000
- bx lr
-_020EB770:
- mvn r0, #0x80000000
- bx lr
-_020EB778:
- mov r0, #0xff000000
- orr r0, r2, r0, lsr #0x1
- bx lr
-_020EB784:
- movs r1, r0
- mov r0, r2
- addne r0, r0, #0x1
- bx lr
-_020EB794:
- mov r0, r2
- bx lr
-_020EB79C:
- mov r0, r2
- bx lr
-
- arm_func_start _frsb
-_frsb: ; 0x020EB7A4
- eor r0, r0, r1
- eor r1, r0, r1
- eor r0, r0, r1
-
- arm_func_start _fsub
-_fsub: ; 0x020EB7B0
- eors r2, r0, r1
- eormi r1, r1, #0x80000000
- bmi _020EA98C
-_020EB7BC:
- subs r12, r0, r1
- eorcc r12, r12, #0x80000000
- subcc r0, r0, r12
- addcc r1, r1, r12
- mov r2, #0x80000000
- mov r3, r0, lsr #0x17
- orr r0, r2, r0, lsl #0x8
- ands r12, r3, #0xff
- cmpne r12, #0xff
- beq _020EB8D8
- mov r12, r1, lsr #0x17
- orr r1, r2, r1, lsl #0x8
- ands r2, r12, #0xff
- beq _020EB918
-_020EB7F4:
- subs r12, r3, r12
- beq _020EB83C
- rsb r2, r12, #0x20
- movs r2, r1, lsl r2
- mov r1, r1, lsr r12
- orrne r1, r1, #0x1
- subs r0, r0, r1
- bpl _020EB880
- ands r1, r0, #0xff
- add r0, r0, r0
- mov r0, r0, lsr #0x9
- orr r0, r0, r3, lsl #0x17
- tst r1, #0x80
- bxeq lr
- ands r1, r1, #0x7f
- andeqs r1, r0, #0x1
- addne r0, r0, #0x1
- bx lr
-_020EB83C:
- subs r0, r0, r1
- beq _020EB9E4
- mov r2, r3, lsl #0x17
- and r2, r2, #0x80000000
- bic r3, r3, #0x100
- clz r12, r0
- movs r0, r0, lsl r12
- sub r3, r3, r12
- cmp r3, #0x0
- bgt _020EB870
- rsb r3, r3, #0x9
- orr r0, r2, r0, lsr r3
- bx lr
-_020EB870:
- add r0, r0, r0
- orr r0, r2, r0, lsr #0x9
- orr r0, r0, r3, lsl #0x17
- bx lr
-_020EB880:
- mov r2, r3, lsl #0x17
- and r2, r2, #0x80000000
- bic r3, r3, #0x100
- clz r12, r0
- movs r0, r0, lsl r12
- sub r3, r3, r12
- cmp r3, #0x0
- bgt _020EB8AC
- rsb r3, r3, #0x9
- orr r0, r2, r0, lsr r3
- bx lr
-_020EB8AC:
- ands r1, r0, #0xff
- add r0, r0, r0
- orr r0, r2, r0, lsr #0x9
- orr r0, r0, r3, lsl #0x17
- bxeq lr
- tst r1, #0x80
- bxeq lr
- ands r1, r1, #0x7f
- andeqs r1, r0, #0x1
- addne r0, r0, #0x1
- bx lr
-_020EB8D8:
- cmp r3, #0x100
- movge r2, #0x80000000
- movlt r2, #0x0
- ands r3, r3, #0xff
- beq _020EB940
- movs r0, r0, lsl #0x1
- bne _020EBA18
- mov r12, r1, lsr #0x17
- mov r1, r1, lsl #0x9
- ands r12, r12, #0xff
- beq _020EBA0C
- cmp r12, #0xff
- blt _020EBA0C
- cmp r1, #0x0
- beq _020EBA20
- b _020EBA18
-_020EB918:
- cmp r12, #0x100
- movge r2, #0x80000000
- movlt r2, #0x0
- and r3, r3, #0xff
- ands r12, r12, #0xff
- beq _020EB9A8
-_020EB930:
- eor r2, r2, #0x80000000
- movs r1, r1, lsl #0x1
- bne _020EBA18
- b _020EBA0C
-_020EB940:
- movs r0, r0, lsl #0x1
- beq _020EB978
- mov r0, r0, lsr #0x1
- mov r3, #0x1
- mov r12, r1, lsr #0x17
- mov r1, r1, lsl #0x8
- ands r12, r12, #0xff
- beq _020EB9A8
- cmp r12, #0xff
- beq _020EB930
- orr r1, r1, #0x80000000
- orr r3, r3, r2, lsr #0x17
- orr r12, r12, r2, lsr #0x17
- b _020EB7F4
-_020EB978:
- mov r3, r1, lsr #0x17
- mov r0, r1, lsl #0x9
- ands r2, r3, #0xff
- beq _020EB99C
- cmp r2, #0xff
- blt _020EB9C4
- cmp r0, #0x0
- bne _020EBA04
- b _020EBA0C
-_020EB99C:
- cmp r0, #0x0
- beq _020EB9E4
- b _020EB9C4
-_020EB9A8:
- movs r1, r1, lsl #0x1
- beq _020EB9CC
- mov r1, r1, lsr #0x1
- mov r12, #0x1
- orr r12, r12, r2, lsr #0x17
- orr r3, r3, r2, lsr #0x17
- b _020EB7F4
-_020EB9C4:
- mov r0, r1
- bx lr
-_020EB9CC:
- cmp r0, #0x0
- subges r3, r3, #0x1
- add r0, r0, r0
- orr r0, r2, r0, lsr #0x9
- orr r0, r0, r3, lsl #0x17
- bx lr
-_020EB9E4:
- mov r0, #0x0
- bx lr
-_020EB9EC: ; 0x020EB9EC
- cmp r0, #0x0
- subges r3, r3, #0x1
- add r0, r0, r0
- mov r0, r0, lsr #0x9
- orr r0, r0, r3, lsl #0x17
- bx lr
-_020EBA04:
- mvn r0, #0x80000000
- bx lr
-_020EBA0C:
- mov r0, #0xff000000
- orr r0, r2, r0, lsr #0x1
- bx lr
-_020EBA18:
- mvn r0, #0x80000000
- bx lr
-_020EBA20:
- mvn r0, #0x80000000
- bx lr
-
- arm_func_start _ll_mod
-_ll_mod: ; 0x020EBA28
- stmdb sp!, {r4-r7,r11-r12,lr}
- mov r4, r1
- orr r4, r4, #0x1
- b _020EBA48
-
- arm_func_start _ll_sdiv
-_ll_sdiv: ; 0x020EBA38
- stmdb sp!, {r4-r7,r11-r12,lr}
- eor r4, r1, r3
- mov r4, r4, asr #0x1
- mov r4, r4, lsl #0x1
-_020EBA48:
- orrs r5, r3, r2
- bne _020EBA58
- ldmia sp!, {r4-r7,r11-r12,lr}
- bx lr
-_020EBA58:
- mov r5, r0, lsr #0x1f
- add r5, r5, r1
- mov r6, r2, lsr #0x1f
- add r6, r6, r3
- orrs r6, r5, r6
- bne _020EBA8C
- mov r1, r2
- bl _s32_div_f
- ands r4, r4, #0x1
- movne r0, r1
- mov r1, r0, asr #0x1f
- ldmia sp!, {r4-r7,r11-r12,lr}
- bx lr
-_020EBA8C:
- cmp r1, #0x0
- bge _020EBA9C
- rsbs r0, r0, #0x0
- rsc r1, r1, #0x0
-_020EBA9C:
- cmp r3, #0x0
- bge _020EBAAC
- rsbs r2, r2, #0x0
- rsc r3, r3, #0x0
-_020EBAAC:
- orrs r5, r1, r0
- beq _020EBBD0
- mov r5, #0x0
- mov r6, #0x1
- cmp r3, #0x0
- bmi _020EBAD8
-_020EBAC4:
- add r5, r5, #0x1
- adds r2, r2, r2
- adcs r3, r3, r3
- bpl _020EBAC4
- add r6, r6, r5
-_020EBAD8:
- cmp r1, #0x0
- blt _020EBAF8
-_020EBAE0:
- cmp r6, #0x1
- beq _020EBAF8
- sub r6, r6, #0x1
- adds r0, r0, r0
- adcs r1, r1, r1
- bpl _020EBAE0
-_020EBAF8:
- mov r7, #0x0
- mov r12, #0x0
- mov r11, #0x0
- b _020EBB20
-_020EBB08:
- orr r12, r12, #0x1
- subs r6, r6, #0x1
- beq _020EBB78
- adds r0, r0, r0
- adcs r1, r1, r1
- adcs r7, r7, r7
-_020EBB20:
- subs r0, r0, r2
- sbcs r1, r1, r3
- sbcs r7, r7, #0x0
- adds r12, r12, r12
- adc r11, r11, r11
- cmp r7, #0x0
- bge _020EBB08
-_020EBB3C:
- subs r6, r6, #0x1
- beq _020EBB70
- adds r0, r0, r0
- adcs r1, r1, r1
- adc r7, r7, r7
- adds r0, r0, r2
- adcs r1, r1, r3
- adc r7, r7, #0x0
- adds r12, r12, r12
- adc r11, r11, r11
- cmp r7, #0x0
- bge _020EBB08
- b _020EBB3C
-_020EBB70:
- adds r0, r0, r2
- adc r1, r1, r3
-_020EBB78:
- ands r7, r4, #0x1
- moveq r0, r12
- moveq r1, r11
- beq _020EBBB0
- subs r7, r5, #0x20
- movge r0, r1, lsr r7
- bge _020EBBD4
- rsb r7, r5, #0x20
- mov r0, r0, lsr r5
- orr r0, r0, r1, lsl r7
- mov r1, r1, lsr r5
- b _020EBBB0
-_020EBBA8: ; 0x020EBBA8
- mov r0, r1, lsr r7
- mov r1, #0x0
-_020EBBB0:
- cmp r4, #0x0
- blt _020EBBC0
- ldmia sp!, {r4-r7,r11-r12,lr}
- bx lr
-_020EBBC0:
- rsbs r0, r0, #0x0
- rsc r1, r1, #0x0
- ldmia sp!, {r4-r7,r11-r12,lr}
- bx lr
-_020EBBD0:
- mov r0, #0x0
-_020EBBD4:
- mov r1, #0x0
- cmp r4, #0x0
- blt _020EBBC0
- ldmia sp!, {r4-r7,r11-r12,lr}
- bx lr
-
- arm_func_start _ll_udiv
-_ll_udiv: ; 0x020EBBE8
- stmdb sp!, {r4-r7,r11-r12,lr}
- mov r4, #0x0
- b _020EBBFC
-
- arm_func_start _ull_mod
-_ull_mod: ; 0x020EBBF4
- stmdb sp!, {r4-r7,r11-r12,lr}
- mov r4, #0x1
-_020EBBFC:
- orrs r5, r3, r2
- bne _020EBC0C
- ldmia sp!, {r4-r7,r11-r12,lr}
- bx lr
-_020EBC0C:
- orrs r5, r1, r3
- bne _020EBAAC
- mov r1, r2
- bl _u32_div_not_0_f
-_020EBC1C: ; 0x020EBC1C
- cmp r4, #0x0
- movne r0, r1
- mov r1, #0x0
- ldmia sp!, {r4-r7,r11-r12,lr}
- bx lr
-
- arm_func_start _ll_mul
-_ll_mul: ; 0x020EBC30
- stmdb sp!, {r4-r5,lr}
- umull r5, r4, r0, r2
- mla r4, r0, r3, r4
- mla r4, r2, r1, r4
- mov r1, r4
- mov r0, r5
- ldmia sp!, {r4-r5,lr}
- bx lr
-
- arm_func_start _ll_shl
-_ll_shl: ; 0x020EBC50
- ands r2, r2, #0x3f
- bxeq lr
- subs r3, r2, #0x20
- bge _020EBC74
- rsb r3, r2, #0x20
- mov r1, r1, lsl r2
- orr r1, r1, r0, lsr r3
- mov r0, r0, lsl r2
- bx lr
-_020EBC74:
- mov r1, r0, lsl r3
- mov r0, #0x0
- bx lr
-
- arm_func_start _s32_div_f
-_s32_div_f: ; 0x020EBC80
- eor r12, r0, r1
- and r12, r12, #0x80000000
- cmp r0, #0x0
- rsblt r0, r0, #0x0
- addlt r12, r12, #0x1
- cmp r1, #0x0
- rsblt r1, r1, #0x0
- beq _020EBE78
- cmp r0, r1
- movcc r1, r0
- movcc r0, #0x0
- blo _020EBE78
- mov r2, #0x1c
- mov r3, r0, lsr #0x4
- cmp r1, r3, lsr #0xc
- suble r2, r2, #0x10
- movle r3, r3, lsr #0x10
- cmp r1, r3, lsr #0x4
- suble r2, r2, #0x8
- movle r3, r3, lsr #0x8
- cmp r1, r3
- suble r2, r2, #0x4
- movle r3, r3, lsr #0x4
- mov r0, r0, lsl r2
- rsb r1, r1, #0x0
- adds r0, r0, r0
- add r2, r2, r2, lsl #0x1
- add pc, pc, r2, lsl #0x2
- mov r0, r0
- adcs r3, r1, r3, lsl #0x1
- subcc r3, r3, r1
- adcs r0, r0, r0
- adcs r3, r1, r3, lsl #0x1
- subcc r3, r3, r1
- adcs r0, r0, r0
- adcs r3, r1, r3, lsl #0x1
- subcc r3, r3, r1
- adcs r0, r0, r0
- adcs r3, r1, r3, lsl #0x1
- subcc r3, r3, r1
- adcs r0, r0, r0
- adcs r3, r1, r3, lsl #0x1
- subcc r3, r3, r1
- adcs r0, r0, r0
- adcs r3, r1, r3, lsl #0x1
- subcc r3, r3, r1
- adcs r0, r0, r0
- adcs r3, r1, r3, lsl #0x1
- subcc r3, r3, r1
- adcs r0, r0, r0
- adcs r3, r1, r3, lsl #0x1
- subcc r3, r3, r1
- adcs r0, r0, r0
- adcs r3, r1, r3, lsl #0x1
- subcc r3, r3, r1
- adcs r0, r0, r0
- adcs r3, r1, r3, lsl #0x1
- subcc r3, r3, r1
- adcs r0, r0, r0
- adcs r3, r1, r3, lsl #0x1
- subcc r3, r3, r1
- adcs r0, r0, r0
- adcs r3, r1, r3, lsl #0x1
- subcc r3, r3, r1
- adcs r0, r0, r0
- adcs r3, r1, r3, lsl #0x1
- subcc r3, r3, r1
- adcs r0, r0, r0
- adcs r3, r1, r3, lsl #0x1
- subcc r3, r3, r1
- adcs r0, r0, r0
- adcs r3, r1, r3, lsl #0x1
- subcc r3, r3, r1
- adcs r0, r0, r0
- adcs r3, r1, r3, lsl #0x1
- subcc r3, r3, r1
- adcs r0, r0, r0
- adcs r3, r1, r3, lsl #0x1
- subcc r3, r3, r1
- adcs r0, r0, r0
- adcs r3, r1, r3, lsl #0x1
- subcc r3, r3, r1
- adcs r0, r0, r0
- adcs r3, r1, r3, lsl #0x1
- subcc r3, r3, r1
- adcs r0, r0, r0
- adcs r3, r1, r3, lsl #0x1
- subcc r3, r3, r1
- adcs r0, r0, r0
- adcs r3, r1, r3, lsl #0x1
- subcc r3, r3, r1
- adcs r0, r0, r0
- adcs r3, r1, r3, lsl #0x1
- subcc r3, r3, r1
- adcs r0, r0, r0
- adcs r3, r1, r3, lsl #0x1
- subcc r3, r3, r1
- adcs r0, r0, r0
- adcs r3, r1, r3, lsl #0x1
- subcc r3, r3, r1
- adcs r0, r0, r0
- adcs r3, r1, r3, lsl #0x1
- subcc r3, r3, r1
- adcs r0, r0, r0
- adcs r3, r1, r3, lsl #0x1
- subcc r3, r3, r1
- adcs r0, r0, r0
- adcs r3, r1, r3, lsl #0x1
- subcc r3, r3, r1
- adcs r0, r0, r0
- adcs r3, r1, r3, lsl #0x1
- subcc r3, r3, r1
- adcs r0, r0, r0
- adcs r3, r1, r3, lsl #0x1
- subcc r3, r3, r1
- adcs r0, r0, r0
- adcs r3, r1, r3, lsl #0x1
- subcc r3, r3, r1
- adcs r0, r0, r0
- adcs r3, r1, r3, lsl #0x1
- subcc r3, r3, r1
- adcs r0, r0, r0
- adcs r3, r1, r3, lsl #0x1
- subcc r3, r3, r1
- adcs r0, r0, r0
- mov r1, r3
-_020EBE78:
- ands r3, r12, #0x80000000
- rsbne r0, r0, #0x0
- ands r3, r12, #0x1
- rsbne r1, r1, #0x0
- bx lr
-
- arm_func_start _u32_div_f
-_u32_div_f: ; 0x020EBE8C
- cmp r1, #0x0
- bxeq lr
-
- arm_func_start _u32_div_not_0_f
-_u32_div_not_0_f:
- cmp r0, r1
- movcc r1, r0
- movcc r0, #0x0
- bxcc lr
- mov r2, #0x1c
- mov r3, r0, lsr #0x4
- cmp r1, r3, lsr #0xc
- suble r2, r2, #0x10
- movle r3, r3, lsr #0x10
- cmp r1, r3, lsr #0x4
- suble r2, r2, #0x8
- movle r3, r3, lsr #0x8
- cmp r1, r3
- suble r2, r2, #0x4
- movle r3, r3, lsr #0x4
- mov r0, r0, lsl r2
- rsb r1, r1, #0x0
- adds r0, r0, r0
- add r2, r2, r2, lsl #0x1
- add pc, pc, r2, lsl #0x2
- mov r0, r0
- adcs r3, r1, r3, lsl #0x1
- subcc r3, r3, r1
- adcs r0, r0, r0
- adcs r3, r1, r3, lsl #0x1
- subcc r3, r3, r1
- adcs r0, r0, r0
- adcs r3, r1, r3, lsl #0x1
- subcc r3, r3, r1
- adcs r0, r0, r0
- adcs r3, r1, r3, lsl #0x1
- subcc r3, r3, r1
- adcs r0, r0, r0
- adcs r3, r1, r3, lsl #0x1
- subcc r3, r3, r1
- adcs r0, r0, r0
- adcs r3, r1, r3, lsl #0x1
- subcc r3, r3, r1
- adcs r0, r0, r0
- adcs r3, r1, r3, lsl #0x1
- subcc r3, r3, r1
- adcs r0, r0, r0
- adcs r3, r1, r3, lsl #0x1
- subcc r3, r3, r1
- adcs r0, r0, r0
- adcs r3, r1, r3, lsl #0x1
- subcc r3, r3, r1
- adcs r0, r0, r0
- adcs r3, r1, r3, lsl #0x1
- subcc r3, r3, r1
- adcs r0, r0, r0
- adcs r3, r1, r3, lsl #0x1
- subcc r3, r3, r1
- adcs r0, r0, r0
- adcs r3, r1, r3, lsl #0x1
- subcc r3, r3, r1
- adcs r0, r0, r0
- adcs r3, r1, r3, lsl #0x1
- subcc r3, r3, r1
- adcs r0, r0, r0
- adcs r3, r1, r3, lsl #0x1
- subcc r3, r3, r1
- adcs r0, r0, r0
- adcs r3, r1, r3, lsl #0x1
- subcc r3, r3, r1
- adcs r0, r0, r0
- adcs r3, r1, r3, lsl #0x1
- subcc r3, r3, r1
- adcs r0, r0, r0
- adcs r3, r1, r3, lsl #0x1
- subcc r3, r3, r1
- adcs r0, r0, r0
- adcs r3, r1, r3, lsl #0x1
- subcc r3, r3, r1
- adcs r0, r0, r0
- adcs r3, r1, r3, lsl #0x1
- subcc r3, r3, r1
- adcs r0, r0, r0
- adcs r3, r1, r3, lsl #0x1
- subcc r3, r3, r1
- adcs r0, r0, r0
- adcs r3, r1, r3, lsl #0x1
- subcc r3, r3, r1
- adcs r0, r0, r0
- adcs r3, r1, r3, lsl #0x1
- subcc r3, r3, r1
- adcs r0, r0, r0
- adcs r3, r1, r3, lsl #0x1
- subcc r3, r3, r1
- adcs r0, r0, r0
- adcs r3, r1, r3, lsl #0x1
- subcc r3, r3, r1
- adcs r0, r0, r0
- adcs r3, r1, r3, lsl #0x1
- subcc r3, r3, r1
- adcs r0, r0, r0
- adcs r3, r1, r3, lsl #0x1
- subcc r3, r3, r1
- adcs r0, r0, r0
- adcs r3, r1, r3, lsl #0x1
- subcc r3, r3, r1
- adcs r0, r0, r0
- adcs r3, r1, r3, lsl #0x1
- subcc r3, r3, r1
- adcs r0, r0, r0
- adcs r3, r1, r3, lsl #0x1
- subcc r3, r3, r1
- adcs r0, r0, r0
- adcs r3, r1, r3, lsl #0x1
- subcc r3, r3, r1
- adcs r0, r0, r0
- adcs r3, r1, r3, lsl #0x1
- subcc r3, r3, r1
- adcs r0, r0, r0
- adcs r3, r1, r3, lsl #0x1
- subcc r3, r3, r1
- adcs r0, r0, r0
- mov r1, r3
- bx lr
-
- arm_func_start _drdiv
-_drdiv: ; 0x020EC070
- eor r1, r1, r3
- eor r3, r1, r3
- eor r1, r1, r3
- eor r0, r0, r2
- eor r2, r0, r2
- eor r0, r0, r2
-
- arm_func_start _ddiv
-_ddiv: ; 0x020EC088
- stmdb sp!, {r4-r6,lr}
- ldr lr, _020EC5C8 ; =0x00000FFE
- eor r4, r1, r3
- ands r12, lr, r1, lsr #0x13
- cmpne r12, lr
- beq _020EC434
- bic r1, r1, lr, lsl #0x14
- orr r1, r1, #0x100000
- add r12, r12, r4, lsr #0x1f
-_020EC0AC:
- ands r4, lr, r3, lsr #0x13
- cmpne r4, lr
- beq _020EC4CC
- bic r3, r3, lr, lsl #0x14
- orr r3, r3, #0x100000
-_020EC0C0:
- sub r12, r12, r4
- cmp r1, r3
- cmpeq r0, r2
- bhs _020EC0DC
- adds r0, r0, r0
- adc r1, r1, r1
- sub r12, r12, #0x2
-_020EC0DC:
- sub r4, pc, #0x24
- ldrb lr, [r4, r3, lsr #0xc]
- rsbs r2, r2, #0x0
- rsc r3, r3, #0x0
- mov r4, #0x20000000
- mla r5, lr, r3, r4
- mov r6, r3, lsl #0xa
- mov r5, r5, lsr #0x7
- mul lr, r5, lr
- orr r6, r6, r2, lsr #0x16
- mov lr, lr, lsr #0xd
- mul r5, lr, r6
- mov r6, r1, lsl #0xa
- orr r6, r6, r0, lsr #0x16
- mov r5, r5, lsr #0x10
- mul r5, lr, r5
- mov lr, lr, lsl #0xe
- add lr, lr, r5, lsr #0x10
- umull r5, r6, lr, r6
- umull r4, r5, r6, r2
- mla r5, r3, r6, r5
- mov r4, r4, lsr #0x1a
- orr r4, r4, r5, lsl #0x6
- add r4, r4, r0, lsl #0x2
- umull lr, r5, r4, lr
- mov r4, #0x0
- adds r5, r5, r6, lsl #0x18
- adc r4, r4, r6, lsr #0x8
- cmp r12, #0x800
- bge _020EC2C0
- add r12, r12, #0x7f0
- adds r12, r12, #0xc
- bmi _020EC2D8
- orr r1, r4, r12, lsl #0x1f
- bic r12, r12, #0x1
- add r1, r1, r12, lsl #0x13
- tst lr, #0x80000000
- bne _020EC1B0
- rsbs r2, r2, #0x0
- mov r4, r4, lsl #0x1
- add r4, r4, r5, lsr #0x1f
- mul lr, r2, r4
- mov r6, #0x0
- mov r4, r5, lsl #0x1
- orr r4, r4, #0x1
- umlal r6, lr, r4, r2
- rsc r3, r3, #0x0
- mla lr, r4, r3, lr
- cmp lr, r0, lsl #0x15
- bmi _020EC1B0
- mov r0, r5
- ldmia sp!, {r4-r6,lr}
- bx lr
-_020EC1B0:
- adds r0, r5, #0x1
- adc r1, r1, #0x0
- ldmia sp!, {r4-r6,lr}
- bx lr
-_020EC1C0: ; not code
- .byte 0xFF, 0xFF, 0xFE, 0xFD, 0xFC, 0xFB, 0xFA, 0xF9, 0xF8, 0xF7, 0xF6, 0xF5, 0xF4, 0xF3, 0xF2, 0xF1
- .byte 0xF0, 0xF0, 0xEF, 0xEE, 0xED, 0xEC, 0xEB, 0xEA, 0xEA, 0xE9, 0xE8, 0xE7, 0xE6, 0xE6, 0xE5, 0xE4
- .byte 0xE3, 0xE2, 0xE2, 0xE1, 0xE0, 0xDF, 0xDF, 0xDE, 0xDD, 0xDC, 0xDC, 0xDB, 0xDA, 0xD9, 0xD9, 0xD8
- .byte 0xD7, 0xD7, 0xD6, 0xD5, 0xD4, 0xD4, 0xD3, 0xD2, 0xD2, 0xD1, 0xD0, 0xD0, 0xCF, 0xCE, 0xCE, 0xCD
- .byte 0xCC, 0xCC, 0xCB, 0xCB, 0xCA, 0xC9, 0xC9, 0xC8, 0xC8, 0xC7, 0xC6, 0xC6, 0xC5, 0xC5, 0xC4, 0xC3
- .byte 0xC3, 0xC2, 0xC2, 0xC1, 0xC0, 0xC0, 0xBF, 0xBF, 0xBE, 0xBE, 0xBD, 0xBD, 0xBC, 0xBC, 0xBB, 0xBA
- .byte 0xBA, 0xB9, 0xB9, 0xB8, 0xB8, 0xB7, 0xB7, 0xB6, 0xB6, 0xB5, 0xB5, 0xB4, 0xB4, 0xB3, 0xB3, 0xB2
- .byte 0xB2, 0xB1, 0xB1, 0xB0, 0xB0, 0xAF, 0xAF, 0xAF, 0xAE, 0xAE, 0xAD, 0xAD, 0xAC, 0xAC, 0xAB, 0xAB
- .byte 0xAA, 0xAA, 0xAA, 0xA9, 0xA9, 0xA8, 0xA8, 0xA7, 0xA7, 0xA7, 0xA6, 0xA6, 0xA5, 0xA5, 0xA4, 0xA4
- .byte 0xA4, 0xA3, 0xA3, 0xA2, 0xA2, 0xA2, 0xA1, 0xA1, 0xA0, 0xA0, 0xA0, 0x9F, 0x9F, 0x9E, 0x9E, 0x9E
- .byte 0x9D, 0x9D, 0x9D, 0x9C, 0x9C, 0x9B, 0x9B, 0x9B, 0x9A, 0x9A, 0x9A, 0x99, 0x99, 0x99, 0x98, 0x98
- .byte 0x98, 0x97, 0x97, 0x96, 0x96, 0x96, 0x95, 0x95, 0x95, 0x94, 0x94, 0x94, 0x93, 0x93, 0x93, 0x92
- .byte 0x92, 0x92, 0x91, 0x91, 0x91, 0x91, 0x90, 0x90, 0x90, 0x8F, 0x8F, 0x8F, 0x8E, 0x8E, 0x8E, 0x8D
- .byte 0x8D, 0x8D, 0x8C, 0x8C, 0x8C, 0x8C, 0x8B, 0x8B, 0x8B, 0x8A, 0x8A, 0x8A, 0x8A, 0x89, 0x89, 0x89
- .byte 0x88, 0x88, 0x88, 0x88, 0x87, 0x87, 0x87, 0x86, 0x86, 0x86, 0x86, 0x85, 0x85, 0x85, 0x85, 0x84
- .byte 0x84, 0x84, 0x83, 0x83, 0x83, 0x83, 0x82, 0x82, 0x82, 0x82, 0x81, 0x81, 0x81, 0x81, 0x80, 0x80
-_020EC2C0:
- movs r1, r12, lsl #0x1f
- orr r1, r1, #0x7f000000
- orr r1, r1, #0xf00000
- mov r0, #0x0
- ldmia sp!, {r4-r6,lr}
- bx lr
-_020EC2D8:
- mvn r6, r12, asr #0x1
- cmp r6, #0x34
- bgt _020EC424
- beq _020EC400
- cmp r6, #0x14
- bge _020EC320
- rsb r6, r6, #0x13
- mov lr, r0, lsl r6
- rsb r6, r6, #0x14
- mov r0, r5, lsr r6
- rsb r6, r6, #0x20
- orr r0, r0, r4, lsl r6
- rsb r6, r6, #0x20
- mov r4, r4, lsr r6
- orr r1, r4, r12, lsl #0x1f
- mov r12, lr
- mov lr, #0x0
- b _020EC350
-_020EC320:
- rsb r6, r6, #0x33
- mov lr, r1, lsl r6
- mov r1, r12, lsl #0x1f
- rsb r6, r6, #0x20
- orr r12, lr, r0, lsr r6
- rsb r6, r6, #0x20
- mov lr, r0, lsl r6
- mov r5, r5, lsr #0x15
- orr r5, r5, r4, lsl #0xb
- rsb r6, r6, #0x1f
- mov r0, r5, lsr r6
- mov r4, #0x0
-_020EC350:
- rsbs r2, r2, #0x0
- mul r4, r2, r4
- mov r5, #0x0
- umlal r5, r4, r2, r0
- rsc r3, r3, #0x0
- mla r4, r0, r3, r4
- cmp r4, r12
- cmpeq r5, lr
- ldmeqia sp!, {r4-r6,lr}
- bxeq lr
- adds r5, r5, r2
- adc r4, r4, r3
- cmp r4, r12
- bmi _020EC3F4
- bne _020EC398
- cmp r5, lr
- beq _020EC3E4
- blo _020EC3F4
-_020EC398:
- subs r5, r5, r2
- sbc r4, r4, r3
-_020EC3A0:
- adds r5, r5, r5
- adc r4, r4, r4
- adds r5, r5, r2
- adc r4, r4, r3
- adds lr, lr, lr
- adc r12, r12, r12
- cmp r4, r12
- bmi _020EC3E4
- ldmneia sp!, {r4-r6,lr}
- bxne lr
- cmp r5, lr
- blo _020EC3E4
- ldmneia sp!, {r4-r6,lr}
- bxne lr
- tst r0, #0x1
- ldmeqia sp!, {r4-r6,lr}
- bxeq lr
-_020EC3E4:
- adds r0, r0, #0x1
- adc r1, r1, #0x0
- ldmia sp!, {r4-r6,lr}
- bx lr
-_020EC3F4:
- adds r0, r0, #0x1
- adc r1, r1, #0x0
- b _020EC3A0
-_020EC400:
- rsbs r2, r2, #0x0
- rsc r3, r3, #0x0
- cmp r1, r3
- cmpeq r0, r2
- mov r1, r12, lsl #0x1f
- mov r0, #0x0
- movne r0, #0x1
- ldmia sp!, {r4-r6,lr}
- bx lr
-_020EC424:
- mov r1, r12, lsl #0x1f
- mov r0, #0x0
- ldmia sp!, {r4-r6,lr}
- bx lr
-_020EC434:
- orrs r5, r0, r1, lsl #0x1
- beq _020EC558
- cmp r12, lr
- beq _020EC49C
- movs r1, r1, lsl #0xc
- beq _020EC478
- clz r5, r1
- movs r1, r1, lsl r5
- sub r12, r12, r5
- add r5, r12, #0x1f
- mov r1, r1, lsr #0xb
- orr r1, r1, r0, lsr r5
- rsb r5, r5, #0x20
- mov r0, r0, lsl r5
- mov r12, r12, lsl #0x1
- orr r12, r12, r4, lsr #0x1f
- b _020EC0AC
-_020EC478:
- mvn r12, #0x13
- clz r5, r0
- movs r0, r0, lsl r5
- sub r12, r12, r5
- mov r1, r0, lsr #0xb
- mov r0, r0, lsl #0x15
- mov r12, r12, lsl #0x1
- orr r12, r12, r4, lsr #0x1f
- b _020EC0AC
-_020EC49C:
- orrs r5, r0, r1, lsl #0xc
- bne _020EC580
- bic r5, r3, #0x80000000
- cmp r5, lr, lsl #0x13
- bhs _020EC4C0
- and r5, r3, #0x80000000
- eor r1, r5, r1
- ldmia sp!, {r4-r6,lr}
- bx lr
-_020EC4C0:
- orrs r5, r2, r3, lsl #0xc
- bne _020EC5A0
- b _020EC5B8
-_020EC4CC:
- orrs r5, r2, r3, lsl #0x1
- beq _020EC544
- cmp r4, lr
- beq _020EC52C
- movs r3, r3, lsl #0xc
- beq _020EC50C
- clz r5, r3
- movs r3, r3, lsl r5
- sub r4, r4, r5
- add r5, r4, #0x1f
- mov r3, r3, lsr #0xb
- orr r3, r3, r2, lsr r5
- rsb r5, r5, #0x20
- mov r2, r2, lsl r5
- mov r4, r4, lsl #0x1
- b _020EC0C0
-_020EC50C:
- mvn r4, #0x13
- clz r5, r2
- movs r2, r2, lsl r5
- sub r4, r4, r5
- mov r3, r2, lsr #0xb
- mov r2, r2, lsl #0x15
- mov r4, r4, lsl #0x1
- b _020EC0C0
-_020EC52C:
- orrs r5, r2, r3, lsl #0xc
- bne _020EC5A0
- mov r1, r12, lsl #0x1f
- mov r0, #0x0
- ldmia sp!, {r4-r6,lr}
- bx lr
-_020EC544:
- mov r1, r12, lsl #0x1f
- orr r1, r1, lr, lsl #0x13
- mov r0, #0x0
- ldmia sp!, {r4-r6,lr}
- bx lr
-_020EC558:
- orrs r5, r2, r3, lsl #0x1
- beq _020EC5B8
- bic r5, r3, #0x80000000
- cmp r5, lr, lsl #0x13
- cmpeq r2, #0x0
- bhi _020EC5A0
- eor r1, r1, r3
- and r1, r1, #0x80000000
- ldmia sp!, {r4-r6,lr}
- bx lr
-_020EC580:
- tst r1, #0x80000
- beq _020EC5B8
- bic r5, r3, #0x80000000
- cmp r5, lr, lsl #0x13
- cmpeq r2, #0x0
- bhi _020EC5A0
- ldmia sp!, {r4-r6,lr}
- bx lr
-_020EC5A0:
- tst r3, #0x80000
- beq _020EC5B8
- mov r1, r3
- mov r0, r2
- ldmia sp!, {r4-r6,lr}
- bx lr
-_020EC5B8:
- orr r1, r1, #0x7f000000
- orr r1, r1, #0xf80000
- ldmia sp!, {r4-r6,lr}
- bx lr
- .balign 4
-_020EC5C8: .word 0x00000FFE
-
- arm_func_start _fp_init
-_fp_init: ; 0x020EC5CC
- bx lr
-
- arm_func_start sys_writec
-sys_writec: ; 0x020EC5D0
- str lr, [sp, #-0x4]!
- mov r1, r0
- mov r0, #0x3
- swi 0x123456
- ldr pc, [sp], #0x4
-
- arm_func_start sys_readc
-sys_readc: ; 0x020EC5E4
- str lr, [sp, #-0x4]!
- mov r1, #0x0
- mov r0, #0x7
- swi 0x123456
- ldr pc, [sp], #0x4
-
- arm_func_start sys_exit
-sys_exit: ; 0x020EC5F8
- mov r1, #0x0
- mov r0, #0x18
- swi 0x123456
- mov pc, lr
-
- arm_func_start __read_console
-__read_console: ; 0x020EC608
- stmdb sp!, {r3-r7,lr}
- mov r6, r2
- ldr r5, [r6, #0x0]
- mov r7, r1
- cmp r5, #0x0
- mov r4, #0x0
- bls _020EC650
-_020EC624:
- bl sys_readc
- and r1, r0, #0xff
- cmp r1, #0xd
- strb r0, [r7, r4]
- cmpne r1, #0xa
- addeq r0, r4, #0x1
- streq r0, [r6, #0x0]
- beq _020EC650
- add r4, r4, #0x1
- cmp r4, r5
- blo _020EC624
-_020EC650:
- mov r0, #0x0
- ldmia sp!, {r3-r7,pc}
-
- arm_func_start __write_console
-__write_console: ; 0x020EC658
- stmdb sp!, {r4-r6,lr}
- ldr r5, [r2, #0x0]
- mov r6, r1
- cmp r5, #0x0
- mov r4, #0x0
- bls _020EC684
-_020EC670:
- add r0, r6, r4
- bl sys_writec
- add r4, r4, #0x1
- cmp r4, r5
- blo _020EC670
-_020EC684:
- mov r0, #0x0
- ldmia sp!, {r4-r6,pc}
-
- arm_func_start __close_console
-__close_console: ; 0x020EC68C
- mov r0, #0x0
- bx lr
-
- arm_func_start __call_static_initializers
-__call_static_initializers: ; 0x020EC694
- stmdb sp!, {r4,lr}
- ldr r4, _020EC6BC ; =0x02104774
- b _020EC6A8
-_020EC6A0:
- blx r0
- add r4, r4, #0x4
-_020EC6A8:
- cmp r4, #0x0
- ldrne r0, [r4, #0x0]
- cmpne r0, #0x0
- bne _020EC6A0
- ldmia sp!, {r4,pc}
- .balign 4
-_020EC6BC: .word 0x02104774
-
- arm_func_start __destroy_global_chain
-__destroy_global_chain: ; 0x020EC6C0
- stmdb sp!, {r3-r5,lr}
- ldr r4, _020EC700 ; =0x021D74C8
- ldr r2, [r4, #0x0]
- cmp r2, #0x0
- ldmeqia sp!, {r3-r5,pc}
-_020EC6D4: ; 0x020EC6D4
- mvn r5, #0x0
-_020EC6D8:
- ldr r0, [r2, #0x0]
- mov r1, r5
- str r0, [r4, #0x0]
- ldr r0, [r2, #0x8]
- ldr r2, [r2, #0x4]
- blx r2
- ldr r2, [r4, #0x0]
- cmp r2, #0x0
- bne _020EC6D8
- ldmia sp!, {r3-r5,pc}
- .balign 4
-_020EC700: .word 0x021D74C8
-
- arm_func_start _ExitProcess
-_ExitProcess: ; 0x020EC704
- ldr ip, _020EC70C ; =sys_exit
- bx r12
- .balign 4
-_020EC70C: .word sys_exit
diff --git a/asm/WM_arm9.s b/asm/WM_arm9.s
deleted file mode 100644
index cc3e7998..00000000
--- a/asm/WM_arm9.s
+++ /dev/null
@@ -1,3744 +0,0 @@
- .include "asm/macros.inc"
- .include "global.inc"
-
- .text
-
- arm_func_start WMi_GetMPReadyAIDs
-WMi_GetMPReadyAIDs: ; 0x020D7DE0
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- bl OS_DisableInterrupts
- ldr r1, _020D7E30 ; =0x021D5E2C
- mov r4, r0
- ldr r0, [r1, #0x0]
- cmp r0, #0x0
- moveq r5, #0x0
- beq _020D7E18
- ldr r5, [r0, #0x4]
- mov r1, #0x2
- add r0, r5, #0x86
- bl DC_InvalidateRange
- ldrh r5, [r5, #0x86]
-_020D7E18:
- mov r0, r4
- bl OS_RestoreInterrupts
- mov r0, r5
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
- .balign 4
-_020D7E30: .word 0x021D5E2C
-
- arm_func_start WM_GetConnectedAIDs
-WM_GetConnectedAIDs: ; 0x020D7E34
- stmdb sp!, {r4,lr}
- bl OS_DisableInterrupts
- ldr r1, _020D7E64 ; =0x021D5E2C
- ldr r1, [r1, #0x0]
- cmp r1, #0x0
- ldrne r4, [r1, #0x14c]
- moveq r4, #0x0
- bl OS_RestoreInterrupts
- mov r0, r4, lsl #0x10
- mov r0, r0, lsr #0x10
- ldmia sp!, {r4,lr}
- bx lr
- .balign 4
-_020D7E64: .word 0x021D5E2C
-
- arm_func_start WM_GetAID
-WM_GetAID: ; 0x020D7E68
- stmdb sp!, {r4,lr}
- bl OS_DisableInterrupts
- ldr r1, _020D7E98 ; =0x021D5E2C
- ldr r1, [r1, #0x0]
- cmp r1, #0x0
- addne r1, r1, #0x100
- ldrneh r4, [r1, #0x50]
- moveq r4, #0x0
- bl OS_RestoreInterrupts
- mov r0, r4
- ldmia sp!, {r4,lr}
- bx lr
- .balign 4
-_020D7E98: .word 0x021D5E2C
-
- arm_func_start WMi_GetStatusAddress
-WMi_GetStatusAddress: ; 0x020D7E9C
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- bl WMi_CheckInitialized
-_020D7EA8: ; 0x020D7EA8
- cmp r0, #0x0
- movne r0, #0x0
- ldreq r0, _020D7EC8 ; =0x021D5E2C
- ldreq r0, [r0, #0x0]
- ldreq r0, [r0, #0x4]
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020D7EC8: .word 0x021D5E2C
-
- arm_func_start WmClearFifoRecvFlag
-WmClearFifoRecvFlag: ; 0x020D7ECC
- ldr r1, _020D7EE4 ; =0x027FFF96
- ldrh r0, [r1, #0x0]
- ands r2, r0, #0x1
- bicne r0, r0, #0x1
- strneh r0, [r1, #0x0]
- bx lr
- .balign 4
-_020D7EE4: .word 0x027FFF96
-
- arm_func_start WmReceiveFifo
-WmReceiveFifo: ; 0x020D7EE8
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0xc
- ldr r0, _020D82B0 ; =0x021D5E2C
- cmp r2, #0x0
- ldr r8, [r0, #0x0]
- mov r10, r1
- addne sp, sp, #0xc
- ldmneia sp!, {r4-r11,lr}
- bxne lr
- ldr r0, [r8, #0x10]
- mov r1, #0x100
- bl DC_InvalidateRange
- ldrh r0, [r8, #0x16]
- cmp r0, #0x0
- bne _020D7F30
- ldr r0, [r8, #0x4]
- mov r1, #0x800
- bl DC_InvalidateRange
-_020D7F30:
- ldr r0, [r8, #0x10]
- cmp r10, r0
- beq _020D7F48
- mov r0, r10
- mov r1, #0x100
- bl DC_InvalidateRange
-_020D7F48:
- ldrh r0, [r10, #0x0]
- cmp r0, #0x2c
- blo _020D8000
- cmp r0, #0x80
- bne _020D7F84
- ldrh r0, [r10, #0x2]
- cmp r0, #0x13
- bne _020D7F6C
- bl OS_Terminate
-_020D7F6C:
- ldr r1, [r8, #0xc8]
- cmp r1, #0x0
- beq _020D8268
- mov r0, r10
- blx r1
- b _020D8268
-_020D7F84:
- cmp r0, #0x82
- bne _020D7FD8
- ldrh r0, [r10, #0x6]
- add r1, r8, r0, lsl #0x2
- ldr r0, [r1, #0xcc]
- cmp r0, #0x0
- beq _020D8268
- ldr r0, [r1, #0x10c]
- str r0, [r10, #0x1c]
- ldr r0, [r8, #0x14c]
- strh r0, [r10, #0x22]
- ldr r1, [r8, #0x4]
- ldr r0, [r10, #0x8]
- ldrh r1, [r1, #0x72]
- bl DC_InvalidateRange
- ldrh r1, [r10, #0x6]
- mov r0, r10
- add r1, r8, r1, lsl #0x2
- ldr r1, [r1, #0xcc]
- blx r1
- b _020D8268
-_020D7FD8:
- cmp r0, #0x81
- bne _020D8268
- mov r0, #0xf
- strh r0, [r10, #0x0]
- ldr r1, [r10, #0x1c]
- cmp r1, #0x0
- beq _020D8268
- mov r0, r10
- blx r1
- b _020D8268
-_020D8000:
- cmp r0, #0xe
- bne _020D8040
- ldrh r1, [r10, #0x4]
- ldr r0, _020D82B4 ; =0x0000FFF5
- add r0, r1, r0
- mov r0, r0, lsl #0x10
- mov r0, r0, lsr #0x10
- cmp r0, #0x1
- bhi _020D8040
- ldrh r0, [r10, #0x2]
- cmp r0, #0x0
- bne _020D8040
- ldr r1, [r8, #0x4]
- ldr r0, [r10, #0x8]
- ldrh r1, [r1, #0x72]
- bl DC_InvalidateRange
-_020D8040:
- ldrh r1, [r10, #0x0]
- cmp r1, #0x2
- bne _020D8088
- ldrh r0, [r10, #0x2]
- cmp r0, #0x0
- bne _020D8088
- add r0, r8, r1, lsl #0x2
- ldr r4, [r0, #0x18]
- bl WM_Finish
-_020D8064: ; 0x020D8064
- cmp r4, #0x0
- addeq sp, sp, #0xc
- ldmeqia sp!, {r4-r11,lr}
- bxeq lr
- mov r0, r10
- blx r4
- add sp, sp, #0xc
- ldmia sp!, {r4-r11,lr}
- bx lr
-_020D8088:
- add r0, r8, r1, lsl #0x2
- ldr r1, [r0, #0x18]
- cmp r1, #0x0
- beq _020D80B8
- mov r0, r10
- blx r1
- ldr r0, _020D82B8 ; =0x021D5E28
- ldrh r0, [r0, #0x0]
- cmp r0, #0x0
- addeq sp, sp, #0xc
- ldmeqia sp!, {r4-r11,lr}
- bxeq lr
-_020D80B8:
- ldrh r0, [r10, #0x0]
- cmp r0, #0x8
- beq _020D80CC
- cmp r0, #0xc
- bne _020D8268
-_020D80CC:
- cmp r0, #0x8
- bne _020D8100
- add r0, r10, #0xa
- str r0, [sp, #0x0]
- ldrh r0, [r10, #0x2c]
- add r11, r10, #0x14
- ldrh r7, [r10, #0x8]
- ldrh r6, [r10, #0x10]
- ldrh r4, [r10, #0x12]
- str r0, [sp, #0x4]
- ldrh r9, [r10, #0x2e]
- mov r5, #0x0
- b _020D8130
-_020D8100:
- cmp r0, #0xc
- bne _020D8130
- ldrh r0, [r10, #0x16]
- mov r6, #0x0
- ldrh r7, [r10, #0x8]
- str r0, [sp, #0x4]
- add r0, r10, #0x10
- ldrh r5, [r10, #0xa]
- ldrh r4, [r10, #0xc]
- ldrh r9, [r10, #0x18]
- mov r11, r6
- str r0, [sp, #0x0]
-_020D8130:
- cmp r7, #0x7
- beq _020D8148
- cmp r7, #0x9
- beq _020D8148
- cmp r7, #0x1a
- bne _020D8268
-_020D8148:
- cmp r7, #0x7
- ldreq r1, [r8, #0x14c]
- moveq r0, #0x1
- orreq r0, r1, r0, lsl r6
- streq r0, [r8, #0x14c]
- movne r0, #0x1
- mvnne r0, r0, lsl r6
- ldrne r1, [r8, #0x14c]
- add r3, r8, #0x100
- andne r0, r1, r0
- strne r0, [r8, #0x14c]
- ldr r0, _020D82BC ; =0x021D5E78
- mov r1, #0x0
- mov r2, #0x44
- strh r5, [r3, #0x50]
- bl MI_CpuFill8
- ldr r3, _020D82BC ; =0x021D5E78
- mov r1, #0x0
- mov r2, #0x82
- strh r2, [r3, #0x0]
- strh r7, [r3, #0x4]
- strh r6, [r3, #0x12]
- strh r5, [r3, #0x20]
- strh r1, [r3, #0x2]
- str r1, [r3, #0x8]
- str r1, [r3, #0xc]
- strh r1, [r3, #0x10]
- ldr r1, [r8, #0x14c]
- ldr r2, _020D82C0 ; =0x0000FFFF
- strh r1, [r3, #0x22]
- strh r2, [r3, #0x1a]
- ldr r0, [sp, #0x0]
- ldr r1, _020D82C4 ; =0x021D5E8C
- mov r2, #0x6
- strh r4, [r3, #0x3c]
- bl MI_CpuCopy8
-_020D81D8: ; 0x020D81D8
- cmp r11, #0x0
- beq _020D81F4
- ldr r1, _020D82C8 ; =0x021D5E9C
- mov r0, r11
- mov r2, #0x18
- bl MIi_CpuCopy16
- b _020D8204
-_020D81F4:
- ldr r1, _020D82C8 ; =0x021D5E9C
- mov r0, #0x0
- mov r2, #0x18
- bl MIi_CpuClear16
-_020D8204:
- cmp r5, #0x0
- ldreq r1, [sp, #0x4]
- ldr r0, _020D82BC ; =0x021D5E78
- movne r1, r9
- cmp r5, #0x0
- ldrne r9, [sp, #0x4]
- ldr r5, _020D82BC ; =0x021D5E78
- strh r1, [r0, #0x40]
- mov r4, #0x0
- strh r9, [r5, #0x42]
-_020D822C:
- strh r4, [r5, #0x6]
- add r2, r8, r4, lsl #0x2
- ldr r0, [r2, #0xcc]
- cmp r0, #0x0
- beq _020D8254
- ldr r1, [r2, #0x10c]
- mov r0, r5
- str r1, [r5, #0x1c]
- ldr r1, [r2, #0xcc]
- blx r1
-_020D8254:
- add r0, r4, #0x1
- mov r0, r0, lsl #0x10
- mov r4, r0, lsr #0x10
- cmp r4, #0x10
- blo _020D822C
-_020D8268:
- ldr r0, [r8, #0x10]
- mov r1, #0x100
- bl DC_InvalidateRange
- bl WmClearFifoRecvFlag
- ldr r0, [r8, #0x10]
- cmp r10, r0
- addeq sp, sp, #0xc
- ldmeqia sp!, {r4-r11,lr}
- bxeq lr
- ldrh r2, [r10, #0x0]
- mov r0, r10
- mov r1, #0x100
- orr r2, r2, #0x8000
- strh r2, [r10, #0x0]
- bl DC_StoreRange
- add sp, sp, #0xc
- ldmia sp!, {r4-r11,lr}
- bx lr
- .balign 4
-_020D82B0: .word 0x021D5E2C
-_020D82B4: .word 0x0000FFF5
-_020D82B8: .word 0x021D5E28
-_020D82BC: .word 0x021D5E78
-_020D82C0: .word 0x0000FFFF
-_020D82C4: .word 0x021D5E8C
-_020D82C8: .word 0x021D5E9C
-
- arm_func_start WMi_CheckStateEx
-WMi_CheckStateEx:
- stmdb sp!, {r0-r3}
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- bl WMi_CheckInitialized
-_020D82DC: ; 0x020D82DC
- cmp r0, #0x0
- addne sp, sp, #0x4
- ldmneia sp!, {lr}
- addne sp, sp, #0x10
- bxne lr
- ldr r0, _020D8370 ; =0x021D5E2C
- mov r1, #0x2
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x4]
- bl DC_InvalidateRange
- ldr r0, _020D8370 ; =0x021D5E2C
- add r1, sp, #0x8
- ldr r2, [r0, #0x0]
- ldr r0, [sp, #0x8]
- ldr r2, [r2, #0x4]
- cmp r0, #0x0
- bic r1, r1, #0x3
- addeq sp, sp, #0x4
- add r12, r1, #0x4
- ldrh r3, [r2, #0x0]
- mov r0, #0x3
- ldmeqia sp!, {lr}
- addeq sp, sp, #0x10
- bxeq lr
- mov r2, #0x0
-_020D8340:
- add r12, r12, #0x4
- ldr r1, [r12, #-0x4]
- cmp r1, r3
- ldr r1, [sp, #0x8]
- moveq r0, r2
- subs r1, r1, #0x1
- str r1, [sp, #0x8]
- bne _020D8340
- add sp, sp, #0x4
- ldmia sp!, {lr}
- add sp, sp, #0x10
- bx lr
- .balign 4
-_020D8370: .word 0x021D5E2C
-
- arm_func_start WMi_CheckIdle
-WMi_CheckIdle:
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- bl WMi_CheckInitialized
-_020D8380: ; 0x020D8380
- cmp r0, #0x0
- addne sp, sp, #0x4
- ldmneia sp!, {lr}
- bxne lr
- ldr r0, _020D83CC ; =0x021D5E2C
- mov r1, #0x2
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x4]
- bl DC_InvalidateRange
- ldr r0, _020D83CC ; =0x021D5E2C
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x4]
- ldrh r0, [r0, #0x0]
- cmp r0, #0x1
- movls r0, #0x3
- movhi r0, #0x0
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020D83CC: .word 0x021D5E2C
-
- arm_func_start WMi_CheckInitialized
-WMi_CheckInitialized:
- ldr r0, _020D83E8 ; =0x021D5E28
- ldrh r0, [r0, #0x0]
- cmp r0, #0x0
- movne r0, #0x0
- moveq r0, #0x3
- bx lr
- .balign 4
-_020D83E8: .word 0x021D5E28
-
- arm_func_start WMi_GetSystemWork
-WMi_GetSystemWork: ; 0x020D83EC
- ldr r0, _020D83F8 ; =0x021D5E2C
- ldr r0, [r0, #0x0]
- bx lr
- .balign 4
-_020D83F8: .word 0x021D5E2C
-
- arm_func_start WMi_SendCommandDirect
-WMi_SendCommandDirect:
- stmdb sp!, {r4-r6,lr}
- mov r6, r0
- mov r4, r1
- bl WmGetCommandBuffer4Arm7
- movs r5, r0
- moveq r0, #0x8
- ldmeqia sp!, {r4-r6,lr}
- bxeq lr
- mov r0, r6
- mov r1, r5
- mov r2, r4
- bl MI_CpuCopy8
- mov r0, r5
- mov r1, r4
- bl DC_StoreRange
- mov r1, r5
- mov r0, #0xa
- mov r2, #0x0
- bl PXI_SendWordByFifo
- mov r4, r0
- ldr r0, _020D8470 ; =0x021D5E30
- mov r1, r5
- mov r2, #0x1
- bl OS_SendMessage
-_020D845C: ; 0x020D845C
- cmp r4, #0x0
- movlt r0, #0x8
- movge r0, #0x2
- ldmia sp!, {r4-r6,lr}
- bx lr
- .balign 4
-_020D8470: .word 0x021D5E30
-
- arm_func_start WMi_SendCommand
-WMi_SendCommand:
- stmdb sp!, {r0-r3}
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r4, r0
- bl WmGetCommandBuffer4Arm7
- movs r5, r0
- addeq sp, sp, #0x4
- moveq r0, #0x8
- ldmeqia sp!, {r4-r5,lr}
- addeq sp, sp, #0x10
- bxeq lr
- strh r4, [r5, #0x0]
- ldrh r2, [sp, #0x14]
- add r0, sp, #0x14
- bic r0, r0, #0x3
- mov r3, #0x0
- cmp r2, #0x0
- add r4, r0, #0x4
- ble _020D84DC
-_020D84C0:
- add r4, r4, #0x4
- ldr r1, [r4, #-0x4]
- add r0, r5, r3, lsl #0x2
- add r3, r3, #0x1
- str r1, [r0, #0x4]
- cmp r3, r2
- blt _020D84C0
-_020D84DC:
- mov r0, r5
- mov r1, #0x100
- bl DC_StoreRange
- mov r1, r5
- mov r0, #0xa
- mov r2, #0x0
- bl PXI_SendWordByFifo
- mov r4, r0
- ldr r0, _020D8528 ; =0x021D5E30
- mov r1, r5
- mov r2, #0x1
- bl OS_SendMessage
-_020D850C: ; 0x020D850C
- cmp r4, #0x0
- movlt r0, #0x8
- movge r0, #0x2
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- add sp, sp, #0x10
- bx lr
- .balign 4
-_020D8528: .word 0x021D5E30
-
- arm_func_start WmGetCommandBuffer4Arm7
-WmGetCommandBuffer4Arm7: ; 0x020D852C
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r0, _020D859C ; =0x021D5E30
- add r1, sp, #0x0
- mov r2, #0x0
- bl OS_ReceiveMessage
-_020D8544: ; 0x020D8544
- cmp r0, #0x0
- addeq sp, sp, #0x4
- moveq r0, #0x0
- ldmeqia sp!, {lr}
- bxeq lr
- ldr r0, [sp, #0x0]
- mov r1, #0x2
- bl DC_InvalidateRange
- ldr r1, [sp, #0x0]
- ldrh r0, [r1, #0x0]
- ands r0, r0, #0x8000
- addne sp, sp, #0x4
- movne r0, r1
- ldmneia sp!, {lr}
- bxne lr
- ldr r0, _020D859C ; =0x021D5E30
- mov r2, #0x1
- bl OS_JamMessage
-_020D858C: ; 0x020D858C
- mov r0, #0x0
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020D859C: .word 0x021D5E30
-
- arm_func_start WMi_SetCallbackTable
-WMi_SetCallbackTable: ; 0x020D85A0
- ldr r2, _020D85B4 ; =0x021D5E2C
- ldr r2, [r2, #0x0]
- add r0, r2, r0, lsl #0x2
- str r1, [r0, #0x18]
- bx lr
- .balign 4
-_020D85B4: .word 0x021D5E2C
-
- arm_func_start WM_Finish
-WM_Finish:
- stmdb sp!, {r4,lr}
- bl OS_DisableInterrupts
- mov r4, r0
- bl WMi_CheckInitialized
-_020D85C8: ; 0x020D85C8
- cmp r0, #0x0
- beq _020D85E4
- mov r0, r4
- bl OS_RestoreInterrupts
- mov r0, #0x3
- ldmia sp!, {r4,lr}
- bx lr
-_020D85E4:
- mov r0, #0x1
- mov r1, #0x0
- bl WMi_CheckStateEx
-_020D85F0: ; 0x020D85F0
- cmp r0, #0x0
- ldmneia sp!, {r4,lr}
- bxne lr
- bl WmClearFifoRecvFlag
- mov r0, #0xa
- mov r1, #0x0
- bl PXI_SetFifoRecvCallback
- ldr r2, _020D8634 ; =0x021D5E2C
- mov r3, #0x0
- ldr r1, _020D8638 ; =0x021D5E28
- mov r0, r4
- str r3, [r2, #0x0]
- strh r3, [r1, #0x0]
- bl OS_RestoreInterrupts
-_020D8628: ; 0x020D8628
- mov r0, #0x0
- ldmia sp!, {r4,lr}
- bx lr
- .balign 4
-_020D8634: .word 0x021D5E2C
-_020D8638: .word 0x021D5E28
-
- arm_func_start WmInitCore
-WmInitCore:
- stmdb sp!, {r4-r10,lr}
- mov r6, r0
- mov r5, r1
- mov r7, r2
- bl OS_DisableInterrupts
- ldr r1, _020D881C ; =0x021D5E28
- mov r4, r0
- ldrh r1, [r1, #0x0]
- cmp r1, #0x0
- beq _020D8674
- bl OS_RestoreInterrupts
- mov r0, #0x3
- ldmia sp!, {r4-r10,lr}
- bx lr
-_020D8674:
- cmp r6, #0x0
- bne _020D868C
- bl OS_RestoreInterrupts
- mov r0, #0x6
- ldmia sp!, {r4-r10,lr}
- bx lr
-_020D868C:
- cmp r5, #0x3
- bls _020D86A4
- bl OS_RestoreInterrupts
- mov r0, #0x6
- ldmia sp!, {r4-r10,lr}
- bx lr
-_020D86A4:
- ands r1, r6, #0x1f
- beq _020D86BC
- bl OS_RestoreInterrupts
- mov r0, #0x6
- ldmia sp!, {r4-r10,lr}
- bx lr
-_020D86BC:
- bl PXI_Init
- mov r0, #0xa
- mov r1, #0x1
- bl PXI_IsCallbackReady
-_020D86CC: ; 0x020D86CC
- cmp r0, #0x0
- bne _020D86E8
- mov r0, r4
- bl OS_RestoreInterrupts
- mov r0, #0x4
- ldmia sp!, {r4-r10,lr}
- bx lr
-_020D86E8:
- mov r0, r6
- mov r1, r7
- bl DC_InvalidateRange
- mov r0, r5
- mov r1, r6
- mov r3, r7
- mov r2, #0x0
- bl MI_DmaFill32
- ldr r0, _020D8820 ; =0x021D5E2C
- add r1, r6, #0x200
- str r6, [r0, #0x0]
- str r1, [r6, #0x0]
- ldr r2, [r0, #0x0]
- ldr r1, [r2, #0x0]
- add r1, r1, #0x300
- str r1, [r2, #0x4]
- ldr r2, [r0, #0x0]
- ldr r1, [r2, #0x4]
- add r1, r1, #0x800
- str r1, [r2, #0xc]
- ldr r1, [r0, #0x0]
- ldr r0, [r1, #0xc]
- add r0, r0, #0x100
- str r0, [r1, #0x10]
- bl WmClearFifoRecvFlag
- ldr r1, _020D8820 ; =0x021D5E2C
- mov r3, #0x0
- ldr r0, [r1, #0x0]
- strh r5, [r0, #0x14]
- ldr r0, [r1, #0x0]
- str r3, [r0, #0x14c]
- ldr r0, [r1, #0x0]
- add r0, r0, #0x100
- strh r3, [r0, #0x50]
- mov r2, r3
-_020D8774:
- ldr r0, [r1, #0x0]
- add r0, r0, r3, lsl #0x2
- str r2, [r0, #0xcc]
- ldr r0, [r1, #0x0]
- add r0, r0, r3, lsl #0x2
- add r3, r3, #0x1
- str r2, [r0, #0x10c]
- cmp r3, #0x10
- blt _020D8774
- ldr r0, _020D8824 ; =0x021D5E30
- ldr r1, _020D8828 ; =0x021D5E50
- mov r2, #0xa
- bl OS_InitMessageQueue
- ldr sb, _020D882C ; =0x021D5EC0
- mov r10, #0x0
- ldr r6, _020D8824 ; =0x021D5E30
- mov r8, #0x8000
- mov r7, #0x2
- mov r5, #0x1
-_020D87C0:
- mov r0, r9
- mov r1, r7
- strh r8, [r9, #0x0]
- bl DC_StoreRange
- mov r0, r6
- mov r1, r9
- mov r2, r5
- bl OS_SendMessage
- add r10, r10, #0x1
- cmp r10, #0xa
- add r9, r9, #0x100
- blt _020D87C0
- ldr r1, _020D8830 ; =WmReceiveFifo
- mov r0, #0xa
- bl PXI_SetFifoRecvCallback
- ldr r1, _020D881C ; =0x021D5E28
- mov r2, #0x1
- mov r0, r4
- strh r2, [r1, #0x0]
- bl OS_RestoreInterrupts
-_020D8810: ; 0x020D8810
- mov r0, #0x0
- ldmia sp!, {r4-r10,lr}
- bx lr
- .balign 4
-_020D881C: .word 0x021D5E28
-_020D8820: .word 0x021D5E2C
-_020D8824: .word 0x021D5E30
-_020D8828: .word 0x021D5E50
-_020D882C: .word 0x021D5EC0
-_020D8830: .word WmReceiveFifo
-
- arm_func_start WM_Init
-WM_Init:
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- mov r2, #0xf00
- bl WmInitCore
-_020D8844: ; 0x020D8844
- cmp r0, #0x0
- ldreq r1, _020D8864 ; =0x021D5E2C
- moveq r2, #0x0
- ldreq r1, [r1, #0x0]
- streqh r2, [r1, #0x16]
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020D8864: .word 0x021D5E2C
-
- arm_func_start WM_GetNextTgid
-WM_GetNextTgid: ; 0x020D8868
- stmdb sp!, {lr}
- sub sp, sp, #0xc
-
- arm_func_start FUN_020D8870
-FUN_020D8870: ; 0x020D8870
- ldr r0, _020D88DC ; =0x02106A54
- ldr r0, [r0, #0x0]
- cmp r0, #0x10000
- bne _020D88B0
- bl RTC_Init
-_020D8884: ; 0x020D8884
- add r0, sp, #0x0
- bl RTC_GetTime
-_020D888C: ; 0x020D888C
- cmp r0, #0x0
- bne _020D88B0
- ldr r2, [sp, #0x8]
- ldr r0, [sp, #0x4]
- ldr r1, _020D88DC ; =0x02106A54
- add r0, r2, r0, lsl #0x8
- mov r0, r0, lsl #0x10
- mov r0, r0, lsr #0x10
- str r0, [r1, #0x0]
-_020D88B0:
- ldr r1, _020D88DC ; =0x02106A54
- ldr r0, [r1, #0x0]
- add r0, r0, #0x1
- mov r0, r0, lsl #0x10
- mov r2, r0, lsr #0x10
- mov r0, r2, lsl #0x10
- str r2, [r1, #0x0]
- mov r0, r0, lsr #0x10
- add sp, sp, #0xc
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020D88DC: .word 0x02106A54
-
- arm_func_start WM_GetOtherElements
-WM_GetOtherElements: ; 0x020D88E0
- stmdb sp!, {r4-r6,lr}
- sub sp, sp, #0x88
- ldrh r2, [r1, #0x3c]
- mov lr, r0
- cmp r2, #0x0
- beq _020D892C
- mov r0, #0x0
- add r5, sp, #0x0
- strb r0, [sp, #0x0]
- mov r4, #0x8
-_020D8908:
- ldmia r5!, {r0-r3}
- stmia lr!, {r0-r3}
- subs r4, r4, #0x1
- bne _020D8908
- ldr r0, [r5, #0x0]
- add sp, sp, #0x88
- str r0, [lr, #0x0]
- ldmia sp!, {r4-r6,lr}
- bx lr
-_020D892C:
- ldrh r0, [r1, #0x3e]
- strb r0, [sp, #0x0]
- ldrb r0, [sp, #0x0]
- cmp r0, #0x0
- bne _020D896C
- add r5, sp, #0x0
- mov r4, #0x8
-_020D8948:
- ldmia r5!, {r0-r3}
- stmia lr!, {r0-r3}
- subs r4, r4, #0x1
- bne _020D8948
- ldr r0, [r5, #0x0]
- add sp, sp, #0x88
- str r0, [lr, #0x0]
- ldmia sp!, {r4-r6,lr}
- bx lr
-_020D896C:
- cmp r0, #0x10
- movhi r0, #0x10
- strhib r0, [sp, #0x0]
- ldrh r2, [r1, #0x0]
- ldrb r3, [sp, #0x0]
- mov r0, #0x0
- mov r2, r2, lsl #0x1
- sub r4, r2, #0x40
- cmp r3, #0x0
- add r3, r1, #0x40
- mov r2, r0
- and r1, r4, #0xff
- ble _020D8A20
- add r12, sp, #0x0
-_020D89A4:
- ldrb r5, [r3, #0x0]
- add r6, r12, r2, lsl #0x3
- add r4, r3, #0x2
- strb r5, [r6, #0x4]
- ldrb r5, [r3, #0x1]
- strb r5, [r6, #0x5]
- str r4, [r6, #0x8]
- ldrb r4, [r6, #0x5]
- add r4, r4, #0x2
- and r5, r4, #0xff
- add r0, r0, r5
- and r0, r0, #0xff
- cmp r0, r1
- bls _020D8A0C
- mov r0, #0x0
- strb r0, [sp, #0x0]
- mov r4, #0x8
-_020D89E8:
- ldmia r12!, {r0-r3}
- stmia lr!, {r0-r3}
- subs r4, r4, #0x1
- bne _020D89E8
- ldr r0, [r12, #0x0]
- add sp, sp, #0x88
- str r0, [lr, #0x0]
- ldmia sp!, {r4-r6,lr}
- bx lr
-_020D8A0C:
- ldrb r4, [sp, #0x0]
- add r2, r2, #0x1
- add r3, r3, r5
- cmp r2, r4
- blt _020D89A4
-_020D8A20:
- add r4, sp, #0x0
- mov r12, #0x8
-_020D8A28:
- ldmia r4!, {r0-r3}
- stmia lr!, {r0-r3}
- subs r12, r12, #0x1
- bne _020D8A28
- ldr r0, [r4, #0x0]
- str r0, [lr, #0x0]
- add sp, sp, #0x88
- ldmia sp!, {r4-r6,lr}
- bx lr
-
- arm_func_start WM_GetDispersionScanPeriod
-WM_GetDispersionScanPeriod: ; 0x020D8A4C
- stmdb sp!, {lr}
- sub sp, sp, #0xc
- add r0, sp, #0x0
- bl OS_GetMacAddress
- mov r2, #0x0
- add r1, sp, #0x0
- mov r3, r2
-_020D8A68:
- ldrb r0, [r1, #0x0]
- add r2, r2, #0x1
- cmp r2, #0x6
- add r0, r3, r0
- mov r0, r0, lsl #0x10
- mov r3, r0, lsr #0x10
- add r1, r1, #0x1
- blt _020D8A68
- ldr r0, _020D8AE4 ; =0x027FFC3C
- mov r1, #0xd
- ldr r0, [r0, #0x0]
- ldr r2, _020D8AE8 ; =0x66666667
- add r0, r3, r0
- mov r0, r0, lsl #0x10
- mov r3, r0, lsr #0x10
- mul r0, r3, r1
- mov r0, r0, lsl #0x10
- mov r3, r0, lsr #0x10
- smull r0, r1, r2, r3
- mov r1, r1, asr #0x2
- mov r0, r3, lsr #0x1f
- ldr r2, _020D8AEC ; =0x0000000A
- add r1, r0, r1
- smull r0, r1, r2, r1
- sub r1, r3, r0
- add r0, r1, #0x1e
- mov r0, r0, lsl #0x10
- mov r0, r0, lsr #0x10
- add sp, sp, #0xc
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020D8AE4: .word 0x027FFC3C
-_020D8AE8: .word 0x66666667
-_020D8AEC: .word 0x0000000A
-
- arm_func_start WM_GetDispersionBeaconPeriod
-WM_GetDispersionBeaconPeriod: ; 0x020D8AF0
- stmdb sp!, {lr}
- sub sp, sp, #0xc
- add r0, sp, #0x0
- bl OS_GetMacAddress
- mov r2, #0x0
- add r1, sp, #0x0
- mov r3, r2
-_020D8B0C:
- ldrb r0, [r1, #0x0]
- add r2, r2, #0x1
- cmp r2, #0x6
- add r0, r3, r0
- mov r0, r0, lsl #0x10
- mov r3, r0, lsr #0x10
- add r1, r1, #0x1
- blt _020D8B0C
- ldr r0, _020D8B88 ; =0x027FFC3C
- mov r1, #0x7
- ldr r0, [r0, #0x0]
- ldr r2, _020D8B8C ; =0x66666667
- add r0, r3, r0
- mov r0, r0, lsl #0x10
- mov r3, r0, lsr #0x10
- mul r0, r3, r1
- mov r0, r0, lsl #0x10
- mov r3, r0, lsr #0x10
- smull r0, r1, r2, r3
- mov r1, r1, asr #0x3
- mov r0, r3, lsr #0x1f
- ldr r2, _020D8B90 ; =0x00000014
- add r1, r0, r1
- smull r0, r1, r2, r1
- sub r1, r3, r0
- add r0, r1, #0xc8
- mov r0, r0, lsl #0x10
- mov r0, r0, lsr #0x10
- add sp, sp, #0xc
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020D8B88: .word 0x027FFC3C
-_020D8B8C: .word 0x66666667
-_020D8B90: .word 0x00000014
-
- arm_func_start WM_GetLinkLevel
-WM_GetLinkLevel: ; 0x020D8B94
- stmdb sp!, {r4,lr}
- bl WMi_GetSystemWork
- mov r4, r0
- bl WMi_CheckInitialized
-_020D8BA4: ; 0x020D8BA4
- cmp r0, #0x0
- movne r0, #0x0
- ldmneia sp!, {r4,lr}
- bxne lr
- ldr r0, [r4, #0x4]
- mov r1, #0x2
- bl DC_InvalidateRange
- ldr r2, [r4, #0x4]
- ldrh r0, [r2, #0x0]
- cmp r0, #0x9
- beq _020D8BE4
- cmp r0, #0xa
- beq _020D8C10
- cmp r0, #0xb
- beq _020D8C10
- b _020D8C2C
-_020D8BE4:
- ldr r0, _020D8C38 ; =0x00000182
- mov r1, #0x2
- add r0, r2, r0
- bl DC_InvalidateRange
- ldr r2, [r4, #0x4]
- add r0, r2, #0x100
- ldrh r0, [r0, #0x82]
- cmp r0, #0x0
- moveq r0, #0x0
- ldmeqia sp!, {r4,lr}
- bxeq lr
-_020D8C10:
- add r0, r2, #0xbc
- mov r1, #0x2
- bl DC_InvalidateRange
- ldr r0, [r4, #0x4]
- ldrh r0, [r0, #0xbc]
- ldmia sp!, {r4,lr}
- bx lr
-_020D8C2C:
- mov r0, #0x0
- ldmia sp!, {r4,lr}
- bx lr
- .balign 4
-_020D8C38: .word 0x00000182
-
- arm_func_start WM_GetAllowedChannel
-WM_GetAllowedChannel: ; 0x020D8C3C
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- bl WMi_CheckInitialized
-_020D8C48: ; 0x020D8C48
- cmp r0, #0x0
- movne r0, #0x8000
- ldreq r0, _020D8C64 ; =0x027FFCFA
- ldreqh r0, [r0, #0x0]
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020D8C64: .word 0x027FFCFA
-
- arm_func_start WM_ReadMPData
-WM_ReadMPData: ; 0x020D8C68
- stmdb sp!, {r4-r6,lr}
- sub sp, sp, #0x40
- mov r5, r0
- mov r4, r1
- bl WMi_GetSystemWork
- mov r6, r0
- bl WMi_CheckInitialized
-_020D8C84: ; 0x020D8C84
- cmp r0, #0x0
- addne sp, sp, #0x40
- movne r0, #0x0
- ldmneia sp!, {r4-r6,lr}
- bxne lr
- cmp r4, #0x1
- blo _020D8CA8
- cmp r4, #0xf
- bls _020D8CB8
-_020D8CA8:
- add sp, sp, #0x40
- mov r0, #0x0
- ldmia sp!, {r4-r6,lr}
- bx lr
-_020D8CB8:
- ldr r2, [r6, #0x4]
- ldr r0, _020D8D68 ; =0x00000182
- mov r1, #0x2
- add r0, r2, r0
- bl DC_InvalidateRange
- ldr r0, [r6, #0x4]
- mov r1, #0x1
- add r0, r0, #0x100
- ldrh r2, [r0, #0x82]
- mov r0, r1, lsl r4
- ands r0, r2, r0
- addeq sp, sp, #0x40
- moveq r0, #0x0
- ldmeqia sp!, {r4-r6,lr}
- bxeq lr
- ldrh r0, [r5, #0x4]
- cmp r0, #0x0
- addeq sp, sp, #0x40
- moveq r0, #0x0
- ldmeqia sp!, {r4-r6,lr}
- bxeq lr
- add r0, r5, #0xa
- str r0, [sp, #0x0]
- mov r3, #0x0
- add r2, sp, #0x0
-_020D8D1C:
- ldr r0, [r2, r3, lsl #0x2]
- ldrh r1, [r0, #0x4]
- cmp r4, r1
- addeq sp, sp, #0x40
- ldmeqia sp!, {r4-r6,lr}
- bxeq lr
- add r3, r3, #0x1
- sub r0, r3, #0x1
- ldrh r1, [r5, #0x6]
- ldr r0, [r2, r0, lsl #0x2]
- add r0, r1, r0
- str r0, [r2, r3, lsl #0x2]
- ldrh r0, [r5, #0x4]
- cmp r3, r0
- blt _020D8D1C
- mov r0, #0x0
- add sp, sp, #0x40
- ldmia sp!, {r4-r6,lr}
- bx lr
- .balign 4
-_020D8D68: .word 0x00000182
-
- arm_func_start WM_GetMPReceiveBufferSize
-WM_GetMPReceiveBufferSize:
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- bl WMi_GetSystemWork
- mov r4, r0
- mov r0, #0x2
- mov r1, #0x7
- mov r2, #0x8
- bl WMi_CheckStateEx
-_020D8D8C: ; 0x020D8D8C
- cmp r0, #0x0
- addne sp, sp, #0x4
- movne r0, #0x0
- ldmneia sp!, {r4-r5,lr}
- bxne lr
- ldr r0, [r4, #0x4]
- mov r1, #0x4
- add r0, r0, #0xc
- bl DC_InvalidateRange
- ldr r1, [r4, #0x4]
- ldr r0, [r1, #0xc]
- cmp r0, #0x1
- addeq sp, sp, #0x4
- moveq r0, #0x0
- ldmeqia sp!, {r4-r5,lr}
- bxeq lr
- add r0, r1, #0x188
- mov r1, #0x2
- bl DC_InvalidateRange
- ldr r1, [r4, #0x4]
- add r0, r1, #0x100
- ldrh r0, [r0, #0x88]
- cmp r0, #0x0
- moveq r5, #0x1
- add r0, r1, #0x3e
- mov r1, #0x2
- movne r5, #0x0
- bl DC_InvalidateRange
- cmp r5, #0x1
- ldr r0, [r4, #0x4]
- addne sp, sp, #0x4
- ldrh r5, [r0, #0x3e]
- addne r0, r5, #0x51
- bicne r0, r0, #0x1f
- movne r0, r0, lsl #0x1
- ldmneia sp!, {r4-r5,lr}
- bxne lr
- add r0, r0, #0xf8
- mov r1, #0x2
- bl DC_InvalidateRange
- ldr r0, [r4, #0x4]
- add r1, r5, #0xc
- ldrh r0, [r0, #0xf8]
- mul r0, r1, r0
- add r0, r0, #0x29
- bic r0, r0, #0x1f
- mov r0, r0, lsl #0x1
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
-
- arm_func_start WM_GetMPSendBufferSize
-WM_GetMPSendBufferSize:
- stmdb sp!, {r4,lr}
- bl WMi_GetSystemWork
- mov r4, r0
- mov r0, #0x2
- mov r1, #0x7
- mov r2, #0x8
- bl WMi_CheckStateEx
-_020D8E70: ; 0x020D8E70
- cmp r0, #0x0
- movne r0, #0x0
- ldmneia sp!, {r4,lr}
- bxne lr
- ldr r0, [r4, #0x4]
- mov r1, #0x4
- add r0, r0, #0xc
- bl DC_InvalidateRange
- ldr r1, [r4, #0x4]
- ldr r0, [r1, #0xc]
- cmp r0, #0x1
- moveq r0, #0x0
- ldmeqia sp!, {r4,lr}
- bxeq lr
- add r0, r1, #0x3c
- mov r1, #0x4
- bl DC_InvalidateRange
- ldr r0, [r4, #0x4]
- ldrh r0, [r0, #0x3c]
- add r0, r0, #0x1f
- bic r0, r0, #0x1f
- ldmia sp!, {r4,lr}
- bx lr
-
- arm_func_start WM_ReadStatus
-WM_ReadStatus: ; 0x020D8ECC
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r5, r0
- bl WMi_GetSystemWork
- mov r4, r0
- bl WMi_CheckInitialized
-_020D8EE4: ; 0x020D8EE4
- cmp r0, #0x0
- addne sp, sp, #0x4
- ldmneia sp!, {r4-r5,lr}
- bxne lr
- cmp r5, #0x0
- addeq sp, sp, #0x4
- moveq r0, #0x6
- ldmeqia sp!, {r4-r5,lr}
- bxeq lr
- ldr r0, [r4, #0x4]
- mov r1, #0x7c0
- bl DC_InvalidateRange
- ldr r0, [r4, #0x4]
- mov r1, r5
- mov r2, #0x7c0
- bl MIi_CpuCopyFast
-_020D8F24: ; 0x020D8F24
- mov r0, #0x0
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
-
- arm_func_start WM_SetPortCallback
-WM_SetPortCallback:
- stmdb sp!, {r4-r8,lr}
- sub sp, sp, #0x48
- movs r5, r1
- mov r6, r0
- mov r4, r2
- beq _020D8F9C
- add r0, sp, #0x0
- mov r1, #0x0
- mov r2, #0x44
- bl MI_CpuFill8
- mov r3, #0x0
- ldr r1, _020D9010 ; =0x0000FFFF
- mov r7, #0x82
- mov r2, #0x19
- add r0, sp, #0x14
- strh r7, [sp, #0x0]
- strh r3, [sp, #0x2]
- strh r2, [sp, #0x4]
- strh r6, [sp, #0x6]
- str r3, [sp, #0x8]
- str r3, [sp, #0xc]
- strh r3, [sp, #0x10]
- strh r1, [sp, #0x1a]
- str r4, [sp, #0x1c]
- strh r3, [sp, #0x12]
- bl OS_GetMacAddress
-_020D8F9C:
- bl OS_DisableInterrupts
- mov r8, r0
- bl WMi_CheckInitialized
- movs r7, r0
- beq _020D8FC8
- mov r0, r8
- bl OS_RestoreInterrupts
- add sp, sp, #0x48
- mov r0, r7
- ldmia sp!, {r4-r8,lr}
- bx lr
-_020D8FC8:
- bl WMi_GetSystemWork
- add r0, r0, r6, lsl #0x2
- str r5, [r0, #0xcc]
- str r4, [r0, #0x10c]
- cmp r5, #0x0
- beq _020D8FF8
- bl WM_GetConnectedAIDs
- strh r0, [sp, #0x22]
- bl WM_GetAID
- strh r0, [sp, #0x20]
- add r0, sp, #0x0
- blx r5
-_020D8FF8:
- mov r0, r8
- bl OS_RestoreInterrupts
-_020D9000: ; 0x020D9000
- mov r0, #0x0
- add sp, sp, #0x48
- ldmia sp!, {r4-r8,lr}
- bx lr
- .balign 4
-_020D9010: .word 0x0000FFFF
-
- arm_func_start WM_SetIndCallback
-WM_SetIndCallback: ; 0x020D9014
- stmdb sp!, {r4-r6,lr}
- mov r6, r0
- bl OS_DisableInterrupts
- mov r5, r0
- bl WMi_CheckInitialized
- movs r4, r0
- beq _020D9044
- mov r0, r5
- bl OS_RestoreInterrupts
- mov r0, r4
- ldmia sp!, {r4-r6,lr}
- bx lr
-_020D9044:
- bl WMi_GetSystemWork
- str r6, [r0, #0xc8]
- mov r0, r5
- bl OS_RestoreInterrupts
-_020D9054: ; 0x020D9054
- mov r0, #0x0
- ldmia sp!, {r4-r6,lr}
- bx lr
-
- arm_func_start WM_Disconnect
-WM_Disconnect: ; 0x020D9060
- stmdb sp!, {r4-r6,lr}
- sub sp, sp, #0x8
- mov r6, r0
- mov r5, r1
- bl WMi_GetSystemWork
- mov r1, #0xa
- mov r4, r0
- str r1, [sp, #0x0]
- mov r12, #0xb
- mov r0, #0x5
- mov r1, #0x7
- mov r2, #0x9
- mov r3, #0x8
- str r12, [sp, #0x4]
- bl WMi_CheckStateEx
-_020D909C: ; 0x020D909C
- cmp r0, #0x0
- addne sp, sp, #0x8
- ldmneia sp!, {r4-r6,lr}
- bxne lr
- ldr r2, [r4, #0x4]
- ldrh r0, [r2, #0x0]
- cmp r0, #0x7
- beq _020D90C4
- cmp r0, #0x9
- bne _020D9120
-_020D90C4:
- cmp r5, #0x1
- blo _020D90D4
- cmp r5, #0xf
- bls _020D90E4
-_020D90D4:
- add sp, sp, #0x8
- mov r0, #0x6
- ldmia sp!, {r4-r6,lr}
- bx lr
-_020D90E4:
- ldr r0, _020D9164 ; =0x00000182
- mov r1, #0x2
- add r0, r2, r0
- bl DC_InvalidateRange
- ldr r0, [r4, #0x4]
- mov r1, #0x1
- add r0, r0, #0x100
- ldrh r2, [r0, #0x82]
- mov r0, r1, lsl r5
- ands r0, r2, r0
- bne _020D9134
- add sp, sp, #0x8
- mov r0, #0x7
- ldmia sp!, {r4-r6,lr}
- bx lr
-_020D9120:
- cmp r5, #0x0
- addne sp, sp, #0x8
- movne r0, #0x6
- ldmneia sp!, {r4-r6,lr}
- bxne lr
-_020D9134:
- mov r1, r6
- mov r0, #0xd
- bl WMi_SetCallbackTable
- mov r1, #0x1
- mov r2, r1, lsl r5
- mov r0, #0xd
- bl WMi_SendCommand
-_020D9150: ; 0x020D9150
- cmp r0, #0x0
- moveq r0, #0x2
- add sp, sp, #0x8
- ldmia sp!, {r4-r6,lr}
- bx lr
- .balign 4
-_020D9164: .word 0x00000182
-
- arm_func_start WM_StartConnectEx
-WM_StartConnectEx: ; 0x020D9168
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x2c
- mov r7, r0
- mov r6, r1
- mov r0, #0x1
- mov r1, #0x2
- mov r5, r2
- mov r4, r3
- bl WMi_CheckStateEx
-_020D918C: ; 0x020D918C
- cmp r0, #0x0
- addne sp, sp, #0x2c
- ldmneia sp!, {r4-r7,lr}
- bxne lr
- cmp r6, #0x0
- addeq sp, sp, #0x2c
- moveq r0, #0x6
- ldmeqia sp!, {r4-r7,lr}
- bxeq lr
- ldrh r1, [r6, #0x0]
- mov r0, r6
- mov r1, r1, lsl #0x1
- bl DC_StoreRange
- bl WMi_GetSystemWork
- add r1, r0, #0x100
- mov r2, #0x0
- strh r2, [r1, #0x50]
- str r2, [r0, #0x14c]
- mov r1, r7
- mov r0, #0xc
- bl WMi_SetCallbackTable
- mov r0, #0xc
- strh r0, [sp, #0x0]
- str r6, [sp, #0x4]
- cmp r5, #0x0
- beq _020D9208
- add r1, sp, #0x8
- mov r0, r5
- mov r2, #0x18
- bl MI_CpuCopy8
- b _020D9218
-_020D9208:
- add r0, sp, #0x8
- mov r1, #0x0
- mov r2, #0x18
- bl MI_CpuFill8
-_020D9218:
- ldrh r2, [sp, #0x40]
- add r0, sp, #0x0
- mov r1, #0x28
- str r4, [sp, #0x20]
- strh r2, [sp, #0x26]
- bl WMi_SendCommandDirect
-_020D9230: ; 0x020D9230
- cmp r0, #0x0
- moveq r0, #0x2
- add sp, sp, #0x2c
- ldmia sp!, {r4-r7,lr}
- bx lr
-
- arm_func_start WM_EndScan
-WM_EndScan: ; 0x020D9244
- stmdb sp!, {r4,lr}
- mov r4, r0
- mov r0, #0x1
- mov r1, #0x5
- bl WMi_CheckStateEx
-_020D9258: ; 0x020D9258
- cmp r0, #0x0
- ldmneia sp!, {r4,lr}
- bxne lr
- mov r1, r4
- mov r0, #0xb
- bl WMi_SetCallbackTable
- mov r0, #0xb
- mov r1, #0x0
- bl WMi_SendCommand
-_020D927C: ; 0x020D927C
- cmp r0, #0x0
- moveq r0, #0x2
- ldmia sp!, {r4,lr}
- bx lr
-
- arm_func_start WM_StartScanEx
-WM_StartScanEx: ; 0x020D928C
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x3c
- mov r5, r0
- mov r0, #0x3
- mov r4, r1
- mov r2, r0
- mov r1, #0x2
- mov r3, #0x5
- bl WMi_CheckStateEx
-_020D92B0: ; 0x020D92B0
- cmp r0, #0x0
- addne sp, sp, #0x3c
- ldmneia sp!, {r4-r5,lr}
- bxne lr
- cmp r4, #0x0
- addeq sp, sp, #0x3c
- moveq r0, #0x6
- ldmeqia sp!, {r4-r5,lr}
- bxeq lr
- ldr r0, [r4, #0x0]
- cmp r0, #0x0
- addeq sp, sp, #0x3c
- moveq r0, #0x6
- ldmeqia sp!, {r4-r5,lr}
- bxeq lr
- ldrh r0, [r4, #0x4]
- cmp r0, #0x400
- addhi sp, sp, #0x3c
- movhi r0, #0x6
- ldmhiia sp!, {r4-r5,lr}
- bxhi lr
- ldrh r0, [r4, #0x12]
- cmp r0, #0x20
- addhi sp, sp, #0x3c
- movhi r0, #0x6
- ldmhiia sp!, {r4-r5,lr}
- bxhi lr
- ldrh r1, [r4, #0x10]
- cmp r1, #0x0
- beq _020D934C
- cmp r1, #0x1
- beq _020D934C
- cmp r1, #0x2
- beq _020D934C
- cmp r1, #0x3
- addne sp, sp, #0x3c
- movne r0, #0x6
- ldmneia sp!, {r4-r5,lr}
- bxne lr
-_020D934C:
- ldr r0, _020D9408 ; =0x0000FFFE
- add r0, r1, r0
- mov r0, r0, lsl #0x10
- mov r0, r0, lsr #0x10
- cmp r0, #0x1
- bhi _020D937C
- ldrh r0, [r4, #0x34]
- cmp r0, #0x20
- addhi sp, sp, #0x3c
- movhi r0, #0x6
- ldmhiia sp!, {r4-r5,lr}
- bxhi lr
-_020D937C:
- mov r1, r5
- mov r0, #0x26
- bl WMi_SetCallbackTable
- mov r0, #0x26
- strh r0, [sp, #0x0]
- ldrh r2, [r4, #0x6]
- add r1, sp, #0xc
- add r0, r4, #0xa
- strh r2, [sp, #0x2]
- ldr r3, [r4, #0x0]
- mov r2, #0x6
- str r3, [sp, #0x4]
- ldrh r3, [r4, #0x4]
- strh r3, [sp, #0x8]
- ldrh r3, [r4, #0x8]
- strh r3, [sp, #0xa]
- bl MI_CpuCopy8
- ldrh r2, [r4, #0x10]
- add r1, sp, #0x16
- add r0, r4, #0x14
- strh r2, [sp, #0x12]
- ldrh r3, [r4, #0x34]
- mov r2, #0x20
- strh r3, [sp, #0x36]
- ldrh r3, [r4, #0x12]
- strh r3, [sp, #0x14]
- bl MI_CpuCopy8
-_020D93E8: ; 0x020D93E8
- add r0, sp, #0x0
- mov r1, #0x3c
- bl WMi_SendCommandDirect
-_020D93F4: ; 0x020D93F4
- cmp r0, #0x0
- moveq r0, #0x2
- add sp, sp, #0x3c
- ldmia sp!, {r4-r5,lr}
- bx lr
- .balign 4
-_020D9408: .word 0x0000FFFE
-
- arm_func_start WM_StartScan
-WM_StartScan: ; 0x020D940C
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x14
- mov r5, r0
- mov r0, #0x3
- mov r4, r1
- mov r2, r0
- mov r1, #0x2
- mov r3, #0x5
- bl WMi_CheckStateEx
-_020D9430: ; 0x020D9430
- cmp r0, #0x0
- addne sp, sp, #0x14
- ldmneia sp!, {r4-r5,lr}
- bxne lr
- cmp r4, #0x0
- addeq sp, sp, #0x14
- moveq r0, #0x6
- ldmeqia sp!, {r4-r5,lr}
- bxeq lr
- ldr r0, [r4, #0x0]
- cmp r0, #0x0
- addeq sp, sp, #0x14
- moveq r0, #0x6
- ldmeqia sp!, {r4-r5,lr}
- bxeq lr
- ldrh r0, [r4, #0x4]
- cmp r0, #0x1
- blo _020D9480
- cmp r0, #0xe
- bls _020D9490
-_020D9480:
- add sp, sp, #0x14
- mov r0, #0x6
- ldmia sp!, {r4-r5,lr}
- bx lr
-_020D9490:
- mov r1, r5
- mov r0, #0xa
- bl WMi_SetCallbackTable
- mov r0, #0xa
- strh r0, [sp, #0x0]
- ldrh r2, [r4, #0x4]
- add r0, sp, #0x0
- mov r1, #0x10
- strh r2, [sp, #0x2]
- ldr r2, [r4, #0x0]
- str r2, [sp, #0x4]
- ldrh r2, [r4, #0x6]
- strh r2, [sp, #0x8]
- ldrb r2, [r4, #0x8]
- strb r2, [sp, #0xa]
- ldrb r2, [r4, #0x9]
- strb r2, [sp, #0xb]
- ldrb r2, [r4, #0xa]
- strb r2, [sp, #0xc]
- ldrb r2, [r4, #0xb]
- strb r2, [sp, #0xd]
- ldrb r2, [r4, #0xc]
- strb r2, [sp, #0xe]
- ldrb r2, [r4, #0xd]
- strb r2, [sp, #0xf]
- bl WMi_SendCommandDirect
-_020D94F8: ; 0x020D94F8
- cmp r0, #0x0
- moveq r0, #0x2
- add sp, sp, #0x14
- ldmia sp!, {r4-r5,lr}
- bx lr
-
- arm_func_start WM_EndParent
-WM_EndParent: ; 0x020D950C
- stmdb sp!, {r4,lr}
- mov r4, r0
- mov r0, #0x1
- mov r1, #0x7
- bl WMi_CheckStateEx
-_020D9520: ; 0x020D9520
- cmp r0, #0x0
- ldmneia sp!, {r4,lr}
- bxne lr
- mov r1, r4
- mov r0, #0x9
- bl WMi_SetCallbackTable
- mov r0, #0x9
- mov r1, #0x0
- bl WMi_SendCommand
-_020D9544: ; 0x020D9544
- cmp r0, #0x0
- moveq r0, #0x2
- ldmia sp!, {r4,lr}
- bx lr
-
- arm_func_start WM_StartParent
-WM_StartParent: ; 0x020D9554
- ldr ip, _020D9560 ; =FUN_020D9564
- mov r1, #0x1
- bx r12
- .balign 4
-_020D9560: .word FUN_020D9564
-
- arm_func_start FUN_020D9564
-FUN_020D9564: ; 0x020D9564
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r5, r0
- mov r4, r1
- mov r0, #0x1
- mov r1, #0x2
- bl WMi_CheckStateEx
-_020D9580: ; 0x020D9580
- cmp r0, #0x0
- addne sp, sp, #0x4
- ldmneia sp!, {r4-r5,lr}
- bxne lr
- bl WMi_GetSystemWork
- add r1, r0, #0x100
- mov r2, #0x0
- strh r2, [r1, #0x50]
- str r2, [r0, #0x14c]
- mov r1, r5
- mov r0, #0x8
- bl WMi_SetCallbackTable
- mov r2, r4
- mov r0, #0x8
- mov r1, #0x1
- bl WMi_SendCommand
-_020D95C0: ; 0x020D95C0
- cmp r0, #0x0
- moveq r0, #0x2
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
-
- arm_func_start WmCheckParentParameter
-WmCheckParentParameter: ; 0x020D95D4
- ldrh r1, [r0, #0x4]
- cmp r1, #0x70
- movhi r0, #0x0
- bxhi lr
- ldrh r1, [r0, #0x18]
- cmp r1, #0xa
- blo _020D95F8
- cmp r1, #0x3e8
- bls _020D9600
-_020D95F8:
- mov r0, #0x0
- bx lr
-_020D9600:
- ldrh r0, [r0, #0x32]
- cmp r0, #0x1
- blo _020D9614
- cmp r0, #0xe
- bls _020D961C
-_020D9614:
- mov r0, #0x0
- bx lr
-_020D961C:
- mov r0, #0x1
- bx lr
-
- arm_func_start WM_SetParentParameter
-WM_SetParentParameter: ; 0x020D9624
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r5, r0
- mov r4, r1
- mov r0, #0x1
- mov r1, #0x2
- bl WMi_CheckStateEx
-_020D9640: ; 0x020D9640
- cmp r0, #0x0
- addne sp, sp, #0x4
- ldmneia sp!, {r4-r5,lr}
- bxne lr
- cmp r4, #0x0
- addeq sp, sp, #0x4
- moveq r0, #0x6
- ldmeqia sp!, {r4-r5,lr}
- bxeq lr
- ldrh r0, [r4, #0x4]
- cmp r0, #0x0
- beq _020D9688
- ldr r0, [r4, #0x0]
- cmp r0, #0x0
- addeq sp, sp, #0x4
- moveq r0, #0x6
- ldmeqia sp!, {r4-r5,lr}
- bxeq lr
-_020D9688:
- ldrh r1, [r4, #0x14]
- ldrh r0, [r4, #0x34]
- cmp r1, #0x0
- movne r2, #0x2a
- moveq r2, #0x0
- add r0, r0, r2
- cmp r0, #0x200
- bgt _020D96C4
- ldrh r0, [r4, #0x36]
- cmp r1, #0x0
- movne r1, #0x6
- moveq r1, #0x0
- add r0, r0, r1
- cmp r0, #0x200
- ble _020D96D4
-_020D96C4:
- add sp, sp, #0x4
- mov r0, #0x6
- ldmia sp!, {r4-r5,lr}
- bx lr
-_020D96D4:
- mov r0, r4
- bl WmCheckParentParameter
- mov r1, r5
- mov r0, #0x7
- bl WMi_SetCallbackTable
- mov r0, r4
- mov r1, #0x40
- bl DC_StoreRange
- ldrh r1, [r4, #0x4]
- cmp r1, #0x0
- beq _020D9708
- ldr r0, [r4, #0x0]
- bl DC_StoreRange
-_020D9708:
- mov r2, r4
- mov r0, #0x7
- mov r1, #0x1
- bl WMi_SendCommand
-_020D9718: ; 0x020D9718
- cmp r0, #0x0
- moveq r0, #0x2
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
-
- arm_func_start WM_End
-WM_End: ; 0x020D972C
- stmdb sp!, {r4,lr}
- mov r4, r0
- mov r0, #0x1
- mov r1, #0x2
- bl WMi_CheckStateEx
-_020D9740: ; 0x020D9740
- cmp r0, #0x0
- ldmneia sp!, {r4,lr}
- bxne lr
- mov r1, r4
- mov r0, #0x2
- bl WMi_SetCallbackTable
- mov r0, #0x2
- mov r1, #0x0
- bl WMi_SendCommand
-_020D9764: ; 0x020D9764
- cmp r0, #0x0
- moveq r0, #0x2
- ldmia sp!, {r4,lr}
- bx lr
-
- arm_func_start WM_Reset
-WM_Reset: ; 0x020D9774
- stmdb sp!, {r4,lr}
- mov r4, r0
- bl WMi_CheckIdle
-_020D9780: ; 0x020D9780
- cmp r0, #0x0
- ldmneia sp!, {r4,lr}
- bxne lr
- mov r1, r4
- mov r0, #0x1
- bl WMi_SetCallbackTable
- mov r0, #0x1
- mov r1, #0x0
- bl WMi_SendCommand
-_020D97A4: ; 0x020D97A4
- cmp r0, #0x0
- moveq r0, #0x2
- ldmia sp!, {r4,lr}
- bx lr
-
- arm_func_start WM_Initialize
-WM_Initialize: ; 0x020D97B4
- stmdb sp!, {r4,lr}
- sub sp, sp, #0x8
- mov r4, r1
- mov r1, r2
- bl WM_Init
-_020D97C8: ; 0x020D97C8
- cmp r0, #0x0
- addne sp, sp, #0x8
- ldmneia sp!, {r4,lr}
- bxne lr
- mov r1, r4
- mov r0, #0x0
- bl WMi_SetCallbackTable
- bl WMi_GetSystemWork
- mov r3, r0
- ldr r1, [r3, #0x10]
- mov r0, #0x0
- str r1, [sp, #0x0]
- ldr r2, [r3, #0x0]
- ldr r3, [r3, #0x4]
- mov r1, #0x3
- bl WMi_SendCommand
-_020D9808: ; 0x020D9808
- cmp r0, #0x0
- moveq r0, #0x2
- add sp, sp, #0x8
- ldmia sp!, {r4,lr}
- bx lr
-
- arm_func_start WM_PowerOff
-WM_PowerOff: ; 0x020D981C
- stmdb sp!, {r4,lr}
- mov r4, r0
- mov r0, #0x1
- mov r1, #0x2
- bl WMi_CheckStateEx
-_020D9830: ; 0x020D9830
- cmp r0, #0x0
- ldmneia sp!, {r4,lr}
- bxne lr
- mov r1, r4
- mov r0, #0x6
- bl WMi_SetCallbackTable
- mov r0, #0x6
- mov r1, #0x0
- bl WMi_SendCommand
-_020D9854: ; 0x020D9854
- cmp r0, #0x0
- moveq r0, #0x2
- ldmia sp!, {r4,lr}
- bx lr
-
- arm_func_start WM_PowerOn
-WM_PowerOn: ; 0x020D9864
- stmdb sp!, {r4,lr}
- mov r4, r0
- mov r0, #0x1
- mov r1, r0
- bl WMi_CheckStateEx
-_020D9878: ; 0x020D9878
- cmp r0, #0x0
- ldmneia sp!, {r4,lr}
- bxne lr
- mov r1, r4
- mov r0, #0x5
- bl WMi_SetCallbackTable
- mov r0, #0x5
- mov r1, #0x0
- bl WMi_SendCommand
-_020D989C: ; 0x020D989C
- cmp r0, #0x0
- moveq r0, #0x2
- ldmia sp!, {r4,lr}
- bx lr
-
- arm_func_start WM_Disable
-WM_Disable: ; 0x020D98AC
- stmdb sp!, {r4,lr}
- mov r4, r0
- mov r0, #0x1
- mov r1, r0
- bl WMi_CheckStateEx
-_020D98C0: ; 0x020D98C0
- cmp r0, #0x0
- ldmneia sp!, {r4,lr}
- bxne lr
- mov r1, r4
- mov r0, #0x4
- bl WMi_SetCallbackTable
- mov r0, #0x4
- mov r1, #0x0
- bl WMi_SendCommand
-_020D98E4: ; 0x020D98E4
- cmp r0, #0x0
- moveq r0, #0x2
- ldmia sp!, {r4,lr}
- bx lr
-
- arm_func_start WM_Enable
-WM_Enable: ; 0x020D98F4
- stmdb sp!, {r4,lr}
- sub sp, sp, #0x8
- mov r4, r0
- mov r0, #0x1
- mov r1, #0x0
- bl WMi_CheckStateEx
-_020D990C: ; 0x020D990C
- cmp r0, #0x0
- addne sp, sp, #0x8
- ldmneia sp!, {r4,lr}
- bxne lr
- mov r1, r4
- mov r0, #0x3
- bl WMi_SetCallbackTable
- bl WMi_GetSystemWork
- mov r3, r0
- ldr r1, [r3, #0x10]
- mov r0, #0x3
- str r1, [sp, #0x0]
- ldr r2, [r3, #0x0]
- ldr r3, [r3, #0x4]
- mov r1, r0
- bl WMi_SendCommand
-_020D994C: ; 0x020D994C
- cmp r0, #0x0
- moveq r0, #0x2
- add sp, sp, #0x8
- ldmia sp!, {r4,lr}
- bx lr
-
- arm_func_start WM_EndMP
-WM_EndMP: ; 0x020D9960
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r5, r0
- bl WMi_GetSystemWork
- mov r4, r0
- mov r0, #0x2
- mov r1, #0x9
- mov r2, #0xa
- bl WMi_CheckStateEx
-_020D9984: ; 0x020D9984
- cmp r0, #0x0
- addne sp, sp, #0x4
- ldmneia sp!, {r4-r5,lr}
- bxne lr
- ldr r0, [r4, #0x4]
- mov r1, #0x4
- add r0, r0, #0xc
- bl DC_InvalidateRange
- ldr r0, [r4, #0x4]
- ldr r0, [r0, #0xc]
- cmp r0, #0x0
- addeq sp, sp, #0x4
- moveq r0, #0x3
- ldmeqia sp!, {r4-r5,lr}
- bxeq lr
- mov r1, r5
- mov r0, #0x10
- bl WMi_SetCallbackTable
- mov r0, #0x10
- mov r1, #0x0
- bl WMi_SendCommand
-_020D99D8: ; 0x020D99D8
- cmp r0, #0x0
- moveq r0, #0x2
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
-
- arm_func_start WM_SetMPDataToPortEx
-WM_SetMPDataToPortEx: ; 0x020D99EC
- stmdb sp!, {r4-r9,lr}
- sub sp, sp, #0x14
- mov r9, r0
- mov r8, r1
- mov r7, r2
- mov r6, r3
- mov r5, #0x1
- bl WMi_GetSystemWork
- ldr r4, [r0, #0x4]
- mov r0, #0x2
- mov r1, #0x9
- mov r2, #0xa
- bl WMi_CheckStateEx
-_020D9A20: ; 0x020D9A20
- cmp r0, #0x0
- addne sp, sp, #0x14
- ldmneia sp!, {r4-r9,lr}
- bxne lr
- add r0, r4, #0x3c
- mov r1, #0x2
- bl DC_InvalidateRange
- add r0, r4, #0x188
- mov r1, #0x2
- bl DC_InvalidateRange
- add r0, r4, #0x100
- ldrh r0, [r0, #0x88]
- cmp r0, #0x0
- bne _020D9A7C
- ldr r0, _020D9B44 ; =0x00000182
- mov r1, #0x2
- add r0, r4, r0
- bl DC_InvalidateRange
- add r2, r4, #0x100
- add r0, r4, #0x86
- mov r1, #0x2
- ldrh r5, [r2, #0x82]
- bl DC_InvalidateRange
-_020D9A7C:
- cmp r7, #0x0
- addeq sp, sp, #0x14
- moveq r0, #0x6
- ldmeqia sp!, {r4-r9,lr}
- bxeq lr
- cmp r5, #0x0
- addeq sp, sp, #0x14
- moveq r0, #0x7
- ldmeqia sp!, {r4-r9,lr}
- bxeq lr
- add r0, r4, #0x7c
- mov r1, #0x2
- bl DC_InvalidateRange
- ldr r0, [r4, #0x7c]
- cmp r7, r0
- addeq sp, sp, #0x14
- moveq r0, #0x6
- ldmeqia sp!, {r4-r9,lr}
- bxeq lr
- cmp r6, #0x200
- addhi sp, sp, #0x14
- movhi r0, #0x6
- ldmhiia sp!, {r4-r9,lr}
- bxhi lr
- cmp r6, #0x0
- addeq sp, sp, #0x14
- moveq r0, #0x6
- ldmeqia sp!, {r4-r9,lr}
- bxeq lr
- mov r0, r7
- mov r1, r6
- bl DC_StoreRange
- ldrh r2, [sp, #0x30]
- ldrh r1, [sp, #0x34]
- ldrh r0, [sp, #0x38]
- str r2, [sp, #0x0]
- str r1, [sp, #0x4]
- str r0, [sp, #0x8]
- str r9, [sp, #0xc]
- mov r2, r7
- mov r3, r6
- mov r0, #0xf
- mov r1, #0x7
- str r8, [sp, #0x10]
- bl WMi_SendCommand
-_020D9B30: ; 0x020D9B30
- cmp r0, #0x0
- moveq r0, #0x2
- add sp, sp, #0x14
- ldmia sp!, {r4-r9,lr}
- bx lr
- .balign 4
-_020D9B44: .word 0x00000182
-
- arm_func_start WM_StartMP
-WM_StartMP: ; 0x020D9B48
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x24
- mov r6, r1
- mov r7, r0
- mov r5, r2
- add r1, sp, #0x8
- mov r0, #0x0
- mov r2, #0x1c
- mov r4, r3
- bl MIi_CpuClear32
- ldrh r12, [sp, #0x3c]
- mov r0, #0x3
- str r0, [sp, #0x8]
- ldrh lr, [sp, #0x38]
- strh r12, [sp, #0xc]
- strh r12, [sp, #0xe]
- mov r0, r7
- mov r1, r6
- mov r2, r5
- mov r3, r4
- add r12, sp, #0x8
- str lr, [sp, #0x0]
- str r12, [sp, #0x4]
- bl WMi_StartMP
- add sp, sp, #0x24
- ldmia sp!, {r4-r7,lr}
- bx lr
-
- arm_func_start WM_StartMPEx
-WM_StartMPEx: ; 0x020D9BB4
- stmdb sp!, {r4-r8,lr}
- sub sp, sp, #0x28
- mov r6, r1
- mov r7, r0
- mov r5, r2
- add r1, sp, #0x8
- mov r0, #0x0
- mov r2, #0x1c
- mov r4, r3
- bl MIi_CpuClear32
- ldrh lr, [sp, #0x44]
- ldr r1, [sp, #0x58]
- ldrh r12, [sp, #0x48]
- ldr r0, [sp, #0x54]
- ldr r8, _020D9C54 ; =0x00001E03
- cmp r0, #0x0
- ldr r3, [sp, #0x4c]
- ldr r2, [sp, #0x50]
- strb r1, [sp, #0x22]
- strh r12, [sp, #0x1e]
- strb r3, [sp, #0x20]
- strb r2, [sp, #0x21]
- ldrh r1, [sp, #0x40]
- str r8, [sp, #0x8]
- orrne r0, r8, #0x4
- strne r0, [sp, #0x8]
- strh lr, [sp, #0xc]
- strh lr, [sp, #0xe]
- strneh lr, [sp, #0x10]
- str r1, [sp, #0x0]
- add r12, sp, #0x8
- mov r0, r7
- mov r1, r6
- mov r2, r5
- mov r3, r4
- str r12, [sp, #0x4]
- bl WMi_StartMP
- add sp, sp, #0x28
- ldmia sp!, {r4-r8,lr}
- bx lr
- .balign 4
-_020D9C54: .word 0x00001E03
-
- arm_func_start WMi_StartMP
-WMi_StartMP: ; 0x020D9C58
- stmdb sp!, {r4-r9,lr}
- sub sp, sp, #0x34
- mov r9, r0
- mov r8, r1
- mov r7, r2
- mov r6, r3
- bl WMi_GetSystemWork
- ldr r5, [r0, #0x4]
- mov r0, #0x2
- mov r1, #0x7
- mov r2, #0x8
- bl WMi_CheckStateEx
-_020D9C88: ; 0x020D9C88
- cmp r0, #0x0
- addne sp, sp, #0x34
- ldmneia sp!, {r4-r9,lr}
- bxne lr
- add r0, r5, #0x188
- mov r1, #0x2
- bl DC_InvalidateRange
- add r0, r5, #0xc6
- mov r1, #0x2
- bl DC_InvalidateRange
- add r0, r5, #0x100
- ldrh r0, [r0, #0x88]
- cmp r0, #0x0
- beq _020D9CD8
- ldrh r0, [r5, #0xc6]
- cmp r0, #0x1
- addne sp, sp, #0x34
- movne r0, #0x3
- ldmneia sp!, {r4-r9,lr}
- bxne lr
-_020D9CD8:
- add r0, r5, #0xc
- mov r1, #0x4
- bl DC_InvalidateRange
- ldr r0, [r5, #0xc]
- cmp r0, #0x1
- addeq sp, sp, #0x34
- moveq r0, #0x3
- ldmeqia sp!, {r4-r9,lr}
- bxeq lr
- ands r0, r7, #0x3f
- addne sp, sp, #0x34
- movne r0, #0x6
- ldmneia sp!, {r4-r9,lr}
- bxne lr
- ldrh r4, [sp, #0x50]
- ands r0, r4, #0x1f
- addne sp, sp, #0x34
- movne r0, #0x6
- ldmneia sp!, {r4-r9,lr}
- bxne lr
- add r0, r5, #0x9c
- mov r1, #0x2
- bl DC_InvalidateRange
- ldrh r0, [r5, #0x9c]
- cmp r0, #0x0
- bne _020D9D70
- bl WM_GetMPReceiveBufferSize
-_020D9D44: ; 0x020D9D44
- cmp r7, r0
- addlt sp, sp, #0x34
- movlt r0, #0x6
- ldmltia sp!, {r4-r9,lr}
- bxlt lr
- bl WM_GetMPSendBufferSize
-_020D9D5C: ; 0x020D9D5C
- cmp r4, r0
- addlt sp, sp, #0x34
- movlt r0, #0x6
- ldmltia sp!, {r4-r9,lr}
- bxlt lr
-_020D9D70:
- mov r1, r9
- mov r0, #0xe
- bl WMi_SetCallbackTable
- add r1, sp, #0x0
- mov r0, #0x0
- mov r2, #0x30
- bl MIi_CpuClear32
- ldrh r3, [sp, #0x50]
- mov r4, r7, lsr #0x1
- mov r5, #0xe
- ldr r0, [sp, #0x54]
- add r1, sp, #0x14
- mov r2, #0x1c
- strh r5, [sp, #0x0]
- str r8, [sp, #0x4]
- str r4, [sp, #0x8]
- str r6, [sp, #0xc]
- str r3, [sp, #0x10]
- bl MIi_CpuCopy32
-_020D9DBC: ; 0x020D9DBC
- add r0, sp, #0x0
- mov r1, #0x30
- bl WMi_SendCommandDirect
-_020D9DC8: ; 0x020D9DC8
- cmp r0, #0x0
- moveq r0, #0x2
- add sp, sp, #0x34
- ldmia sp!, {r4-r9,lr}
- bx lr
-
- arm_func_start WM_EndDCF
-WM_EndDCF: ; 0x020D9DDC
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r5, r0
- bl WMi_GetSystemWork
- mov r4, r0
- mov r0, #0x1
- mov r1, #0xb
- bl WMi_CheckStateEx
-_020D9DFC: ; 0x020D9DFC
- cmp r0, #0x0
- addne sp, sp, #0x4
- ldmneia sp!, {r4-r5,lr}
- bxne lr
- ldr r0, [r4, #0x4]
- mov r1, #0x4
- add r0, r0, #0x10
- bl DC_InvalidateRange
- ldr r0, [r4, #0x4]
- ldr r0, [r0, #0x10]
- cmp r0, #0x0
- addeq sp, sp, #0x4
- moveq r0, #0x3
- ldmeqia sp!, {r4-r5,lr}
- bxeq lr
- mov r1, r5
- mov r0, #0x13
- bl WMi_SetCallbackTable
- mov r0, #0x13
- mov r1, #0x0
- bl WMi_SendCommand
-_020D9E50: ; 0x020D9E50
- cmp r0, #0x0
- moveq r0, #0x2
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
-
- arm_func_start WM_SetDCFData
-WM_SetDCFData: ; 0x020D9E64
- stmdb sp!, {r4-r8,lr}
- sub sp, sp, #0x10
- mov r7, r0
- mov r6, r1
- mov r5, r2
- mov r4, r3
- bl WMi_GetSystemWork
- mov r8, r0
- mov r0, #0x1
- mov r1, #0xb
- bl WMi_CheckStateEx
-_020D9E90: ; 0x020D9E90
- cmp r0, #0x0
- addne sp, sp, #0x10
- ldmneia sp!, {r4-r8,lr}
- bxne lr
- ldr r0, [r8, #0x4]
- mov r1, #0x4
- add r0, r0, #0x10
- bl DC_InvalidateRange
- ldr r0, [r8, #0x4]
- ldr r0, [r0, #0x10]
- cmp r0, #0x0
- addeq sp, sp, #0x10
- moveq r0, #0x3
- ldmeqia sp!, {r4-r8,lr}
- bxeq lr
- ldr r0, _020D9F3C ; =0x000005E4
- cmp r4, r0
- addhi sp, sp, #0x10
- movhi r0, #0x6
- ldmhiia sp!, {r4-r8,lr}
- bxhi lr
- mov r0, r5
- mov r1, r4
- bl DC_StoreRange
- mov r1, r7
- mov r0, #0x12
- bl WMi_SetCallbackTable
- add r1, sp, #0x8
- mov r0, r6
- mov r2, #0x6
- bl MI_CpuCopy8
- str r5, [sp, #0x0]
- str r4, [sp, #0x4]
- ldr r2, [sp, #0x8]
- ldr r3, [sp, #0xc]
- mov r0, #0x12
- mov r1, #0x4
- bl WMi_SendCommand
-_020D9F28: ; 0x020D9F28
- cmp r0, #0x0
- moveq r0, #0x2
- add sp, sp, #0x10
- ldmia sp!, {r4-r8,lr}
- bx lr
- .balign 4
-_020D9F3C: .word 0x000005E4
-
- arm_func_start WM_StartDCF
-WM_StartDCF: ; 0x020D9F40
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- mov r7, r0
- mov r6, r1
- mov r5, r2
- bl WMi_GetSystemWork
- mov r4, r0
- mov r0, #0x1
- mov r1, #0x8
- bl WMi_CheckStateEx
-_020D9F68: ; 0x020D9F68
- cmp r0, #0x0
- addne sp, sp, #0x4
- ldmneia sp!, {r4-r7,lr}
- bxne lr
- ldr r0, [r4, #0x4]
- mov r1, #0x4
- add r0, r0, #0x10
- bl DC_InvalidateRange
- ldr r0, [r4, #0x4]
- ldr r0, [r0, #0x10]
- cmp r0, #0x1
- addeq sp, sp, #0x4
- moveq r0, #0x3
- ldmeqia sp!, {r4-r7,lr}
- bxeq lr
- cmp r5, #0x10
- addcc sp, sp, #0x4
- movcc r0, #0x6
- ldmccia sp!, {r4-r7,lr}
- bxcc lr
- cmp r6, #0x0
- addeq sp, sp, #0x4
- moveq r0, #0x6
- ldmeqia sp!, {r4-r7,lr}
- bxeq lr
- mov r0, r6
- mov r1, r5
- bl DC_StoreRange
- mov r1, r7
- mov r0, #0x11
- bl WMi_SetCallbackTable
- mov r2, r6
- mov r3, r5
- mov r0, #0x11
- mov r1, #0x2
- bl WMi_SendCommand
-_020D9FF8: ; 0x020D9FF8
- cmp r0, #0x0
- moveq r0, #0x2
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,lr}
- bx lr
-
- arm_func_start WmGetSharedDataAddress
-WmGetSharedDataAddress: ; 0x020DA00C
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r12, #0x1
- mov r3, r12, lsl r3
- sub r3, r3, #0x1
- mov r5, r0
- and r0, r1, r3
- mov r4, r2
- bl MATH_CountPopulation
- add r1, r5, #0x800
- ldrh r1, [r1, #0x10]
- mla r0, r1, r0, r4
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
-
- arm_func_start WM_GetSharedDataAddress
-WM_GetSharedDataAddress: ; 0x020DA048
- stmdb sp!, {r4,lr}
- mov r4, r1
- ldrh lr, [r4, #0x2]
- cmp r0, #0x0
- mov r3, r2
- mov r1, #0x1
- mov r12, r1, lsl r3
- ldrh r1, [r4, #0x0]
- moveq r0, #0x0
- ldmeqia sp!, {r4,lr}
- bxeq lr
- cmp r4, #0x0
- moveq r0, #0x0
- ldmeqia sp!, {r4,lr}
- bxeq lr
- ands r2, r1, r12
- moveq r0, #0x0
- ldmeqia sp!, {r4,lr}
- bxeq lr
- ands r2, lr, r12
- moveq r0, #0x0
- ldmeqia sp!, {r4,lr}
- bxeq lr
- add r2, r4, #0x4
- bl WmGetSharedDataAddress
- ldmia sp!, {r4,lr}
- bx lr
-
- arm_func_start WmDataSharingSendDataSet
-WmDataSharingSendDataSet:
- stmdb sp!, {r4-r10,lr}
- sub sp, sp, #0x10
- mov r10, r0
- mov r9, r1
- bl OS_DisableInterrupts
- add r1, r10, #0x800
- ldrh r1, [r1, #0x8]
- mov r7, r0
- mov r1, r1, lsl #0x9
- ldrh r1, [r10, r1]
- cmp r1, #0x0
- bne _020DA210
- bl WMi_GetMPReadyAIDs
- add r1, r10, #0x800
- ldrh r6, [r1, #0x8]
- mov r5, r0
- ldrh r1, [r1, #0x18]
- add r0, r6, #0x1
- and r0, r0, #0x3
- mov r0, r0, lsl #0x10
- mov r4, r0, lsr #0x10
- cmp r1, #0x1
- addeq r0, r4, #0x1
- andeq r0, r0, #0x3
- moveq r0, r0, lsl #0x10
- moveq r8, r0, lsr #0x10
- movne r8, r4
- add r1, r10, r8, lsl #0x9
- mov r0, #0x0
- mov r2, #0x200
- bl MIi_CpuClear16
- add r0, r10, #0x800
- ldrh r3, [r0, #0xe]
- orr r2, r5, #0x1
- mov r1, r8, lsl #0x9
- and r2, r3, r2
- strh r2, [r10, r1]
- strh r4, [r0, #0x8]
- ldrh r0, [r0, #0xe]
- mov r1, r6, lsl #0x9
- cmp r9, #0x1
- strh r0, [r10, r1]
- ldreqh r0, [r10, r1]
- biceq r0, r0, #0x1
- streqh r0, [r10, r1]
- mov r0, r7
- bl OS_RestoreInterrupts
- add r3, r10, #0x800
- ldrh r1, [r3, #0xe]
- mov r4, #0x1
- ldr r0, _020DA220 ; =WmDataSharingSetDataCallback
- and r1, r1, r5
- mov r1, r1, lsl #0x10
- mov r1, r1, lsr #0x10
- str r1, [sp, #0x0]
- ldrh r5, [r3, #0x16]
- mov r1, r10
- add r2, r10, r6, lsl #0x9
- str r5, [sp, #0x4]
- str r4, [sp, #0x8]
- ldrh r3, [r3, #0x14]
- bl WM_SetMPDataToPortEx
- cmp r0, #0x7
- bne _020DA1E4
- add r0, r10, r6, lsl #0x1
- ldr r1, _020DA224 ; =0x0000FFFF
- add r0, r0, #0x800
- strh r1, [r0, #0x0]
- add r0, r10, #0x800
- ldrh r1, [r0, #0xa]
- add sp, sp, #0x10
- add r1, r1, #0x1
- and r1, r1, #0x3
- strh r1, [r0, #0xa]
- ldmia sp!, {r4-r10,lr}
- bx lr
-_020DA1E4:
- cmp r0, #0x0
- addeq sp, sp, #0x10
- ldmeqia sp!, {r4-r10,lr}
- bxeq lr
- cmp r0, #0x2
- addne r0, r10, #0x800
- movne r1, #0x5
- strneh r1, [r0, #0x1c]
- add sp, sp, #0x10
- ldmia sp!, {r4-r10,lr}
- bx lr
-_020DA210:
- bl OS_RestoreInterrupts
- add sp, sp, #0x10
- ldmia sp!, {r4-r10,lr}
- bx lr
- .balign 4
-_020DA220: .word WmDataSharingSetDataCallback
-_020DA224: .word 0x0000FFFF
-
- arm_func_start WmDataSharingReceiveData
-WmDataSharingReceiveData: ; 0x020DA228
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- mov r7, r0
- mov r3, r1
- mov r0, #0x1
- mov r0, r0, lsl r3
- add r12, r7, #0x800
- mov r0, r0, lsl #0x10
- ldrh r1, [r12, #0xe]
- mov r5, r0, lsr #0x10
- mov r6, r2
- ands r0, r1, r5
- addeq sp, sp, #0x4
- ldmeqia sp!, {r4-r7,lr}
- bxeq lr
- ldrh r4, [r12, #0x8]
- mov r0, r4, lsl #0x9
- ldrh r0, [r7, r0]
- ands r0, r5, r0
- bne _020DA2B4
- ldrh r0, [r12, #0x18]
- cmp r0, #0x1
- addne sp, sp, #0x4
- ldmneia sp!, {r4-r7,lr}
- bxne lr
- add r0, r4, #0x1
- and r0, r0, #0x3
- mov r0, r0, lsl #0x10
- mov r4, r0, lsr #0x10
- mov r0, r4, lsl #0x9
- ldrh r0, [r7, r0]
- ands r0, r5, r0
- addeq sp, sp, #0x4
- ldmeqia sp!, {r4-r7,lr}
- bxeq lr
-_020DA2B4:
- add r2, r7, r4, lsl #0x9
- mov r0, r7
- add r2, r2, #0x4
- bl WmGetSharedDataAddress
- mov r1, r0
- cmp r6, #0x0
- beq _020DA2E4
- add r0, r7, #0x800
- ldrh r2, [r0, #0x10]
- mov r0, r6
- bl MIi_CpuCopy16
- b _020DA2F4
-_020DA2E4:
- add r0, r7, #0x800
- ldrh r2, [r0, #0x10]
- mov r0, #0x0
- bl MIi_CpuClear16
-_020DA2F4:
- bl OS_DisableInterrupts
- mov r4, r4, lsl #0x9
- ldrh r3, [r7, r4]
- mvn r1, r5
- add r2, r7, #0x2
- and r1, r3, r1
- strh r1, [r7, r4]
- ldrh r1, [r2, r4]
- orr r1, r1, r5
- strh r1, [r2, r4]
- bl OS_RestoreInterrupts
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,lr}
- bx lr
-
- arm_func_start WmDataSharingReceiveCallback_Child
-WmDataSharingReceiveCallback_Child: ; 0x020DA32C
- stmdb sp!, {r4-r8,lr}
- mov r8, r0
- ldr r7, [r8, #0x1c]
- cmp r7, #0x0
- ldmeqia sp!, {r4-r8,lr}
- bxeq lr
- ldrh r0, [r8, #0x2]
- cmp r0, #0x0
- bne _020DA458
- ldrh r0, [r8, #0x4]
- cmp r0, #0x15
- bgt _020DA394
- cmp r0, #0x15
- bge _020DA3C4
- cmp r0, #0x9
- ldmgtia sp!, {r4-r8,lr}
- bxgt lr
- cmp r0, #0x7
- ldmltia sp!, {r4-r8,lr}
- bxlt lr
- cmp r0, #0x7
- ldmeqia sp!, {r4-r8,lr}
- bxeq lr
- cmp r0, #0x9
- ldmia sp!, {r4-r8,lr}
- bx lr
-_020DA394:
- cmp r0, #0x1a
- ldmgtia sp!, {r4-r8,lr}
- bxgt lr
- cmp r0, #0x19
- ldmltia sp!, {r4-r8,lr}
- bxlt lr
- cmp r0, #0x19
- ldmeqia sp!, {r4-r8,lr}
- bxeq lr
- cmp r0, #0x1a
- ldmia sp!, {r4-r8,lr}
- bx lr
-_020DA3C4:
- ldr r4, [r8, #0xc]
- ldrh r6, [r8, #0x10]
- ldrh r5, [r4, #0x0]
- bl WM_GetAID
- add r1, r7, #0x800
- ldrh r1, [r1, #0x14]
- cmp r6, r1
- beq _020DA3EC
- cmp r6, #0x200
- movhi r6, #0x200
-_020DA3EC:
- cmp r6, #0x4
- ldmccia sp!, {r4-r8,lr}
- bxcc lr
- mov r1, #0x1
- mov r0, r1, lsl r0
- ands r0, r5, r0
- ldmeqia sp!, {r4-r8,lr}
- bxeq lr
- add r0, r7, #0x800
- ldrh r1, [r0, #0x8]
- mov r0, r4
- mov r2, r6
- add r1, r7, r1, lsl #0x9
- bl MIi_CpuCopy16
- add r1, r7, #0x800
- ldrh r0, [r1, #0x8]
- ldrh r2, [r8, #0x1a]
- add r0, r7, r0, lsl #0x1
- mov r2, r2, asr #0x1
- add r0, r0, #0x800
- strh r2, [r0, #0x0]
- ldrh r0, [r1, #0x8]
- add r0, r0, #0x1
- and r0, r0, #0x3
- strh r0, [r1, #0x8]
- ldmia sp!, {r4-r8,lr}
- bx lr
-_020DA458:
- add r0, r7, #0x800
- mov r1, #0x5
- strh r1, [r0, #0x1c]
- ldmia sp!, {r4-r8,lr}
- bx lr
-
- arm_func_start WmDataSharingReceiveCallback_Parent
-WmDataSharingReceiveCallback_Parent: ; 0x020DA46C
- stmdb sp!, {r4-r6,lr}
- ldr r4, [r0, #0x1c]
- cmp r4, #0x0
- ldmeqia sp!, {r4-r6,lr}
- bxeq lr
- ldrh r1, [r0, #0x2]
- cmp r1, #0x0
- bne _020DA5C4
- ldrh r1, [r0, #0x4]
- cmp r1, #0x15
- bgt _020DA4D0
- cmp r1, #0x15
- bge _020DA504
- cmp r1, #0x9
- ldmgtia sp!, {r4-r6,lr}
- bxgt lr
- cmp r1, #0x7
- ldmltia sp!, {r4-r6,lr}
- bxlt lr
- cmp r1, #0x7
- beq _020DA528
- cmp r1, #0x9
- beq _020DA53C
- ldmia sp!, {r4-r6,lr}
- bx lr
-_020DA4D0:
- cmp r1, #0x1a
- ldmgtia sp!, {r4-r6,lr}
- bxgt lr
- cmp r1, #0x19
- ldmltia sp!, {r4-r6,lr}
- bxlt lr
- cmp r1, #0x19
- ldmeqia sp!, {r4-r6,lr}
- bxeq lr
- cmp r1, #0x1a
- beq _020DA53C
- ldmia sp!, {r4-r6,lr}
- bx lr
-_020DA504:
- ldrh r1, [r0, #0x12]
- ldr r2, [r0, #0xc]
- mov r0, r4
- bl WmDataSharingReceiveData
- mov r0, r4
- mov r1, #0x0
- bl WmDataSharingSendDataSet
- ldmia sp!, {r4-r6,lr}
- bx lr
-_020DA528:
- mov r0, r4
- mov r1, #0x0
- bl WmDataSharingSendDataSet
- ldmia sp!, {r4-r6,lr}
- bx lr
-_020DA53C:
- ldrh r5, [r0, #0x12]
- mov r6, #0x1
- bl OS_DisableInterrupts
- add r1, r4, #0x800
- ldrh lr, [r1, #0x8]
- mvn r12, r6, lsl r5
- mov r3, lr, lsl #0x9
- ldrh r2, [r4, r3]
- and r2, r2, r12
- strh r2, [r4, r3]
- ldrh r1, [r1, #0x18]
- cmp r1, #0x1
- bne _020DA58C
- add r1, lr, #0x1
- and r1, r1, #0x3
- mov r1, r1, lsl #0x10
- mov r2, r1, lsr #0x7
- ldrh r1, [r4, r2]
- and r1, r1, r12
- strh r1, [r4, r2]
-_020DA58C:
- bl OS_RestoreInterrupts
- mov r0, r4
- mov r1, #0x0
- bl WmDataSharingSendDataSet
- add r0, r4, #0x800
- ldrh r0, [r0, #0x18]
- cmp r0, #0x1
- ldmneia sp!, {r4-r6,lr}
- bxne lr
- mov r0, r4
- mov r1, #0x0
- bl WmDataSharingSendDataSet
- ldmia sp!, {r4-r6,lr}
- bx lr
-_020DA5C4:
- add r0, r4, #0x800
- mov r1, #0x5
- strh r1, [r0, #0x1c]
- ldmia sp!, {r4-r6,lr}
- bx lr
-
- arm_func_start WmDataSharingSetDataCallback
-WmDataSharingSetDataCallback: ; 0x020DA5D8
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r5, r0
- bl WMi_GetSystemWork
- ldrh r2, [r5, #0xa]
- ldr r1, _020DA6E4 ; =WmDataSharingReceiveCallback_Parent
- add r0, r0, r2, lsl #0x2
- ldr r2, [r0, #0xcc]
- ldr r4, [r0, #0x10c]
- cmp r2, r1
- beq _020DA618
- ldr r0, _020DA6E8 ; =WmDataSharingReceiveCallback_Child
- cmp r2, r0
- addne sp, sp, #0x4
- ldmneia sp!, {r4-r5,lr}
- bxne lr
-_020DA618:
- cmp r4, #0x0
- addeq sp, sp, #0x4
- ldmeqia sp!, {r4-r5,lr}
- bxeq lr
- ldr r0, [r5, #0x20]
- cmp r4, r0
- addne sp, sp, #0x4
- ldmneia sp!, {r4-r5,lr}
- bxne lr
- bl WM_GetAID
- ldrh r1, [r5, #0x2]
- cmp r1, #0x0
- bne _020DA694
- cmp r0, #0x0
- addne sp, sp, #0x4
- ldmneia sp!, {r4-r5,lr}
- bxne lr
- add r1, r4, #0x800
- ldrh r0, [r1, #0xa]
- ldrh r2, [r5, #0x1a]
- add sp, sp, #0x4
- add r0, r4, r0, lsl #0x1
- mov r2, r2, asr #0x1
- add r0, r0, #0x800
- strh r2, [r0, #0x0]
- ldrh r0, [r1, #0xa]
- add r0, r0, #0x1
- and r0, r0, #0x3
- strh r0, [r1, #0xa]
- ldmia sp!, {r4-r5,lr}
- bx lr
-_020DA694:
- cmp r1, #0xa
- bne _020DA6CC
- cmp r0, #0x0
- addne r0, r4, #0x800
- ldrneh r1, [r0, #0xa]
- add sp, sp, #0x4
- addne r1, r1, #0x3
- andne r1, r1, #0x3
- strneh r1, [r0, #0xa]
- add r0, r4, #0x800
- mov r1, #0x4
- strh r1, [r0, #0x1c]
- ldmia sp!, {r4-r5,lr}
- bx lr
-_020DA6CC:
- add r0, r4, #0x800
- mov r1, #0x5
- strh r1, [r0, #0x1c]
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
- .balign 4
-_020DA6E4: .word WmDataSharingReceiveCallback_Parent
-_020DA6E8: .word WmDataSharingReceiveCallback_Child
-
- arm_func_start WM_StepDataSharing
-WM_StepDataSharing: ; 0x020DA6EC
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0xc
- mov r10, r0
- mov r9, r1
- mov r8, r2
- mov r0, #0x2
- mov r1, #0x9
- mov r2, #0xa
- bl WMi_CheckStateEx
-_020DA710: ; 0x020DA710
- cmp r0, #0x0
- addne sp, sp, #0xc
- ldmneia sp!, {r4-r11,lr}
- bxne lr
- cmp r10, #0x0
- addeq sp, sp, #0xc
- moveq r0, #0x6
- ldmeqia sp!, {r4-r11,lr}
- bxeq lr
- cmp r9, #0x0
- addeq sp, sp, #0xc
- moveq r0, #0x6
- ldmeqia sp!, {r4-r11,lr}
- bxeq lr
- cmp r8, #0x0
- addeq sp, sp, #0xc
- moveq r0, #0x6
- ldmeqia sp!, {r4-r11,lr}
- bxeq lr
- bl WM_GetAID
- movs r4, r0
- bne _020DA770
- bl WMi_GetMPReadyAIDs
- mov r7, r0
-_020DA770:
- add r0, r10, #0x800
- ldrh r0, [r0, #0x1c]
- cmp r0, #0x5
- addeq sp, sp, #0xc
- moveq r0, #0x1
- ldmeqia sp!, {r4-r11,lr}
- bxeq lr
- cmp r0, #0x1
- beq _020DA7A8
- cmp r0, #0x4
- addne sp, sp, #0xc
- movne r0, #0x3
- ldmneia sp!, {r4-r11,lr}
- bxne lr
-_020DA7A8:
- cmp r4, #0x0
- mov r4, #0x5
- bne _020DA94C
- mov r6, #0x0
- mov r11, r6
- cmp r0, #0x4
- bne _020DA870
- add r1, r10, #0x800
- mov r3, #0x1
- strh r3, [r1, #0x1c]
- ldrh r5, [r1, #0xe]
- ldrh r2, [r1, #0x8]
- ldr r0, _020DAA64 ; =WmDataSharingSetDataCallback
- and r5, r5, r7
- mov r5, r5, lsl #0x10
- mov r5, r5, lsr #0x10
- str r5, [sp, #0x0]
- ldrh r5, [r1, #0x16]
- add r2, r2, #0x3
- and r2, r2, #0x3
- str r5, [sp, #0x4]
- str r3, [sp, #0x8]
- mov r2, r2, lsl #0x10
- mov r5, r2, lsr #0x10
- ldrh r3, [r1, #0x14]
- mov r1, r10
- add r2, r10, r5, lsl #0x9
- bl WM_SetMPDataToPortEx
- cmp r0, #0x7
- bne _020DA848
- add r0, r10, r5, lsl #0x1
- ldr r1, _020DAA68 ; =0x0000FFFF
- add r0, r0, #0x800
- strh r1, [r0, #0x0]
- add r0, r10, #0x800
- ldrh r1, [r0, #0xa]
- add r1, r1, #0x1
- and r1, r1, #0x3
- strh r1, [r0, #0xa]
- b _020DA870
-_020DA848:
- cmp r0, #0x0
- beq _020DA870
- cmp r0, #0x2
- addne r0, r10, #0x800
- movne r1, r4
- strneh r1, [r0, #0x1c]
- addne sp, sp, #0xc
- movne r0, #0x1
- ldmneia sp!, {r4-r11,lr}
- bxne lr
-_020DA870:
- add r0, r10, #0x800
- ldrh r2, [r0, #0xc]
- ldrh r1, [r0, #0xa]
- cmp r2, r1
- beq _020DA908
- mov r4, r2, lsl #0x9
- ldrh r3, [r10, r4]
- mov r1, r8
- mov r2, #0x200
- orr r3, r3, #0x1
- strh r3, [r10, r4]
- ldrh r0, [r0, #0xc]
- add r0, r10, r0, lsl #0x9
- bl MIi_CpuCopy16
- add r1, r10, #0x800
- ldrh r0, [r1, #0xc]
- mov r6, #0x1
- mov r4, #0x0
- add r0, r10, r0, lsl #0x1
- add r0, r0, #0x800
- ldrh r0, [r0, #0x0]
- strh r0, [r1, #0x1a]
- ldrh r0, [r1, #0xc]
- add r0, r0, #0x1
- and r0, r0, #0x3
- strh r0, [r1, #0xc]
- ldrh r0, [r1, #0x18]
- cmp r0, #0x0
- bne _020DA904
- cmp r7, #0x0
- beq _020DA904
- ldrh r0, [r1, #0x8]
- mov r0, r0, lsl #0x9
- ldrh r0, [r10, r0]
- cmp r0, #0x1
- moveq r11, r6
- beq _020DA908
-_020DA904:
- mov r11, #0x0
-_020DA908:
- mov r0, r10
- mov r1, #0x0
- bl WmDataSharingSendDataSet
-_020DA914: ; 0x020DA914
- cmp r6, #0x0
- beq _020DAA54
- mov r0, r10
- mov r2, r9
- mov r1, #0x0
- bl WmDataSharingReceiveData
- add r0, r10, #0x800
- ldrh r0, [r0, #0x18]
- cmp r0, #0x0
- bne _020DAA54
- mov r0, r10
- mov r1, r11
- bl WmDataSharingSendDataSet
- b _020DAA54
-_020DA94C:
- cmp r0, #0x4
- mov r0, #0x0
- addeq r1, r10, #0x800
- moveq r0, #0x1
- streqh r0, [r1, #0x1c]
- beq _020DA9D0
- add r1, r10, #0x800
- ldrh r2, [r1, #0xc]
- ldrh r1, [r1, #0x8]
- cmp r2, r1
- beq _020DA9D0
- mov r2, r2, lsl #0x9
- ldrh r1, [r10, r2]
- ands r3, r1, #0x1
- orreq r1, r1, #0x1
- streqh r1, [r10, r2]
- beq _020DA9D0
- mov r1, r8
- add r0, r10, r2
- mov r2, #0x200
- bl MIi_CpuCopy16
- add r2, r10, #0x800
- ldrh r1, [r2, #0xc]
- mov r0, #0x1
- mov r4, #0x0
- add r1, r10, r1, lsl #0x1
- add r1, r1, #0x800
- ldrh r1, [r1, #0x0]
- strh r1, [r2, #0x1a]
- ldrh r1, [r2, #0xc]
- add r1, r1, #0x1
- and r1, r1, #0x3
- strh r1, [r2, #0xc]
-_020DA9D0:
- cmp r0, #0x0
- beq _020DAA54
- add r0, r10, #0x800
- ldrh r1, [r0, #0xa]
- ldrh r2, [r0, #0x10]
- mov r0, r9
- add r1, r10, r1, lsl #0x9
- add r7, r1, #0x20
- mov r1, r7
- bl MIi_CpuCopy16
- add r3, r10, #0x800
- ldrh r1, [r3, #0xe]
- mov r5, #0x1
- ldr r0, _020DAA64 ; =WmDataSharingSetDataCallback
- str r1, [sp, #0x0]
- ldrh r6, [r3, #0x16]
- mov r1, r10
- mov r2, r7
- str r6, [sp, #0x4]
- str r5, [sp, #0x8]
- ldrh r3, [r3, #0x10]
- bl WM_SetMPDataToPortEx
- add r1, r10, #0x800
- ldrh r2, [r1, #0xa]
- cmp r0, #0x2
- add r2, r2, #0x1
- and r2, r2, #0x3
- strh r2, [r1, #0xa]
- beq _020DAA54
- cmp r0, #0x0
- movne r0, #0x5
- strneh r0, [r1, #0x1c]
- movne r4, r5
-_020DAA54:
- mov r0, r4
- add sp, sp, #0xc
- ldmia sp!, {r4-r11,lr}
- bx lr
- .balign 4
-_020DAA64: .word WmDataSharingSetDataCallback
-_020DAA68: .word 0x0000FFFF
-
- arm_func_start WM_EndDataSharing
-WM_EndDataSharing: ; 0x020DAA6C
- stmdb sp!, {r4,lr}
- movs r4, r0
- moveq r0, #0x6
- ldmeqia sp!, {r4,lr}
- bxeq lr
- add r0, r4, #0x800
- ldrh r1, [r0, #0xe]
- cmp r1, #0x0
- moveq r0, #0x3
- ldmeqia sp!, {r4,lr}
- bxeq lr
- ldrh r0, [r0, #0x16]
- mov r1, #0x0
- mov r2, r1
- bl WM_SetPortCallback
- add r1, r4, #0x800
- mov r0, #0x0
- strh r0, [r1, #0xe]
- strh r0, [r1, #0x1c]
- ldmia sp!, {r4,lr}
- bx lr
-
- arm_func_start WM_StartDataSharing
-WM_StartDataSharing: ; 0x020DAAC0
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0xc
- mov r10, r0
- mov r7, r1
- mov r6, r2
- mov r0, #0x2
- mov r1, #0x9
- mov r2, #0xa
- mov r5, r3
- mov r9, #0x1
- bl WMi_CheckStateEx
-_020DAAEC: ; 0x020DAAEC
- cmp r0, #0x0
- addne sp, sp, #0xc
- ldmneia sp!, {r4-r11,lr}
- bxne lr
- cmp r10, #0x0
- addeq sp, sp, #0xc
- moveq r0, #0x6
- ldmeqia sp!, {r4-r11,lr}
- bxeq lr
- cmp r7, #0x10
- addcs sp, sp, #0xc
- movcs r0, #0x6
- ldmcsia sp!, {r4-r11,lr}
- bxcs lr
- cmp r6, #0x0
- addeq sp, sp, #0xc
- moveq r0, #0x6
- ldmeqia sp!, {r4-r11,lr}
- bxeq lr
- bl WM_GetAID
- movs r4, r0
- bne _020DAB4C
- bl WMi_GetMPReadyAIDs
- mov r9, r0
-_020DAB4C:
- mov r1, r10
- mov r0, #0x0
- mov r2, #0x820
- bl MIi_CpuClearFast
- add r0, r10, #0x800
- mov r2, #0x0
- strh r2, [r0, #0x8]
- strh r2, [r0, #0xa]
- strh r2, [r0, #0xc]
- strh r5, [r0, #0x10]
- strh r7, [r0, #0x16]
- strh r2, [r0, #0xe]
- mov r0, #0x1
- ldr r1, [sp, #0x30]
- orr r0, r6, r0, lsl r4
- cmp r1, #0x0
- mov r0, r0, lsl #0x10
- movne r2, #0x1
- add r1, r10, #0x800
- strh r2, [r1, #0x18]
- mov r0, r0, lsr #0x10
- strh r0, [r1, #0xe]
- bl MATH_CountPopulation
- add r3, r10, #0x800
- mul r1, r5, r0
- strh r0, [r3, #0x12]
- strh r1, [r3, #0x14]
- ldrh r0, [r3, #0x14]
- cmp r0, #0x1fc
- movhi r0, #0x0
- strhih r0, [r3, #0xe]
- addhi sp, sp, #0xc
- movhi r0, #0x6
- ldmhiia sp!, {r4-r11,lr}
- bxhi lr
- add r0, r0, #0x4
- strh r0, [r3, #0x14]
- mov r0, #0x1
- strh r0, [r3, #0x1c]
- cmp r4, #0x0
- bne _020DAD04
- orr r2, r9, #0x1
- mov r4, #0x0
-_020DABF8:
- ldrh r1, [r3, #0xe]
- mov r0, r4, lsl #0x9
- add r4, r4, #0x1
- and r1, r1, r2
- strh r1, [r10, r0]
- cmp r4, #0x4
- blt _020DABF8
- ldr r1, _020DAD2C ; =WmDataSharingReceiveCallback_Parent
- mov r0, r7
- mov r2, r10
- bl WM_SetPortCallback
- mov r8, r10
- mov r7, #0x0
- mov r4, #0x2
- mov r6, #0x1
- ldr fp, _020DAD30 ; =WmDataSharingSetDataCallback
- ldr r5, _020DAD34 ; =0x0000FFFF
- b _020DACE4
-_020DAC40:
- add r12, r10, #0x800
- ldrh r2, [r12, #0x8]
- mov r0, r11
- mov r1, r10
- add r2, r2, #0x1
- and r2, r2, #0x3
- strh r2, [r12, #0x8]
- ldrh r3, [r12, #0xe]
- mov r2, r8
- and r3, r3, r9
- mov r3, r3, lsl #0x10
- mov r3, r3, lsr #0x10
- str r3, [sp, #0x0]
- ldrh r3, [r12, #0x16]
- str r3, [sp, #0x4]
- str r6, [sp, #0x8]
- ldrh r3, [r12, #0x14]
- bl WM_SetMPDataToPortEx
- cmp r0, #0x7
- bne _020DACB4
- add r0, r10, r7, lsl #0x1
- add r0, r0, #0x800
- strh r5, [r0, #0x0]
- add r0, r10, #0x800
- ldrh r1, [r0, #0xa]
- add r1, r1, #0x1
- and r1, r1, #0x3
- strh r1, [r0, #0xa]
- b _020DACDC
-_020DACB4:
- cmp r0, #0x0
- beq _020DACDC
- cmp r0, #0x2
- addne r0, r10, #0x800
- movne r1, #0x5
- strneh r1, [r0, #0x1c]
- addne sp, sp, #0xc
- movne r0, #0x1
- ldmneia sp!, {r4-r11,lr}
- bxne lr
-_020DACDC:
- add r8, r8, #0x200
- add r7, r7, #0x1
-_020DACE4:
- add r0, r10, #0x800
- ldrh r0, [r0, #0x18]
- cmp r0, #0x1
- movne r0, r6
- moveq r0, r4
- cmp r7, r0
- blt _020DAC40
- b _020DAD1C
-_020DAD04:
- ldr r1, _020DAD38 ; =WmDataSharingReceiveCallback_Child
- mov r4, #0x3
- mov r0, r7
- mov r2, r10
- strh r4, [r3, #0xa]
- bl WM_SetPortCallback
-_020DAD1C:
- mov r0, #0x0
- add sp, sp, #0xc
- ldmia sp!, {r4-r11,lr}
- bx lr
- .balign 4
-_020DAD2C: .word WmDataSharingReceiveCallback_Parent
-_020DAD30: .word WmDataSharingSetDataCallback
-_020DAD34: .word 0x0000FFFF
-_020DAD38: .word WmDataSharingReceiveCallback_Child
-
- arm_func_start WM_EndKeySharing
-WM_EndKeySharing: ; 0x020DAD3C
- ldr ip, _020DAD44 ; =WM_EndDataSharing
- bx r12
- .balign 4
-_020DAD44: .word WM_EndDataSharing
-
- arm_func_start WM_StartKeySharing
-WM_StartKeySharing: ; 0x020DAD48
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r2, _020DAD70 ; =0x0000FFFF
- mov r12, #0x1
- mov r3, #0x2
- str r12, [sp, #0x0]
- bl WM_StartDataSharing
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020DAD70: .word 0x0000FFFF
-
- arm_func_start WM_SetEntry
-WM_SetEntry: ; 0x020DAD74
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r5, r0
- mov r4, r1
- mov r0, #0x2
- mov r1, #0x7
- mov r2, #0x9
- bl WMi_CheckStateEx
-_020DAD94: ; 0x020DAD94
- cmp r0, #0x0
- addne sp, sp, #0x4
- ldmneia sp!, {r4-r5,lr}
- bxne lr
- mov r1, r5
- mov r0, #0x21
- bl WMi_SetCallbackTable
- mov r2, r4
- mov r0, #0x21
- mov r1, #0x1
- bl WMi_SendCommand
-_020DADC0: ; 0x020DADC0
- cmp r0, #0x0
- moveq r0, #0x2
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
-
- arm_func_start WM_MeasureChannel
-WM_MeasureChannel: ; 0x020DADD4
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0xc
- mov r7, r0
- mov r6, r1
- mov r5, r2
- mov r4, r3
- bl WMi_GetSystemWork
- mov r0, #0x1
- mov r1, #0x2
- bl WMi_CheckStateEx
-_020DADFC: ; 0x020DADFC
- cmp r0, #0x0
- addne sp, sp, #0xc
- ldmneia sp!, {r4-r7,lr}
- bxne lr
- mov r1, r7
- mov r0, #0x1e
- bl WMi_SetCallbackTable
- ldrh r2, [sp, #0x20]
- mov r3, #0x1e
- add r0, sp, #0x0
- mov r1, #0xa
- strh r3, [sp, #0x0]
- strh r6, [sp, #0x2]
- strh r5, [sp, #0x4]
- strh r4, [sp, #0x6]
- strh r2, [sp, #0x8]
- bl WMi_SendCommandDirect
-_020DAE40: ; 0x020DAE40
- cmp r0, #0x0
- moveq r0, #0x2
- add sp, sp, #0xc
- ldmia sp!, {r4-r7,lr}
- bx lr
-
- arm_func_start WM_SetLifeTime
-WM_SetLifeTime: ; 0x020DAE54
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0xc
- mov r7, r0
- mov r6, r1
- mov r5, r2
- mov r4, r3
- bl WMi_CheckIdle
-_020DAE70: ; 0x020DAE70
- cmp r0, #0x0
- addne sp, sp, #0xc
- ldmneia sp!, {r4-r7,lr}
- bxne lr
- mov r1, r7
- mov r0, #0x1d
- bl WMi_SetCallbackTable
- ldrh r12, [sp, #0x20]
- str r4, [sp, #0x0]
- mov r2, r6
- mov r3, r5
- mov r0, #0x1d
- mov r1, #0x4
- str r12, [sp, #0x4]
- bl WMi_SendCommand
-_020DAEAC: ; 0x020DAEAC
- cmp r0, #0x0
- moveq r0, #0x2
- add sp, sp, #0xc
- ldmia sp!, {r4-r7,lr}
- bx lr
-
- arm_func_start WM_SetBeaconIndication
-WM_SetBeaconIndication: ; 0x020DAEC0
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r5, r0
-_020DAECC: ; 0x020DAECC
- mov r4, r1
- bl WMi_CheckIdle
-_020DAED4: ; 0x020DAED4
- cmp r0, #0x0
- addne sp, sp, #0x4
- ldmneia sp!, {r4-r5,lr}
- bxne lr
- cmp r4, #0x0
- beq _020DAF00
- cmp r4, #0x1
- addne sp, sp, #0x4
- movne r0, #0x6
- ldmneia sp!, {r4-r5,lr}
- bxne lr
-_020DAF00:
- mov r1, r5
- mov r0, #0x19
- bl WMi_SetCallbackTable
- mov r2, r4
- mov r0, #0x19
- mov r1, #0x1
- bl WMi_SendCommand
-_020DAF1C: ; 0x020DAF1C
- cmp r0, #0x0
- moveq r0, #0x2
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
-
- arm_func_start WM_SetGameInfo
-WM_SetGameInfo: ; 0x020DAF30
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0xc
- mov r7, r0
- mov r6, r1
- mov r5, r2
- mov r0, #0x2
- mov r1, #0x7
- mov r2, #0x9
- mov r4, r3
- bl WMi_CheckStateEx
-_020DAF58: ; 0x020DAF58
- cmp r0, #0x0
- addne sp, sp, #0xc
- ldmneia sp!, {r4-r7,lr}
- bxne lr
- cmp r6, #0x0
- addeq sp, sp, #0xc
- moveq r0, #0x6
- ldmeqia sp!, {r4-r7,lr}
- bxeq lr
- cmp r5, #0x70
- addhi sp, sp, #0xc
- movhi r0, #0x6
- ldmhiia sp!, {r4-r7,lr}
- bxhi lr
- ldr r1, _020DAFF4 ; =0x021D68C0
- mov r0, r6
- mov r2, r5
- bl MIi_CpuCopy16
- ldr r0, _020DAFF4 ; =0x021D68C0
- mov r1, r5
- bl DC_StoreRange
- mov r1, r7
- mov r0, #0x18
- bl WMi_SetCallbackTable
- ldrh r0, [sp, #0x20]
- str r4, [sp, #0x0]
- ldrb r1, [sp, #0x24]
- str r0, [sp, #0x4]
- ldr r2, _020DAFF4 ; =0x021D68C0
- str r1, [sp, #0x8]
- mov r3, r5
- mov r0, #0x18
- mov r1, #0x5
- bl WMi_SendCommand
-_020DAFE0: ; 0x020DAFE0
- cmp r0, #0x0
- moveq r0, #0x2
- add sp, sp, #0xc
- ldmia sp!, {r4-r7,lr}
- bx lr
- .balign 4
-_020DAFF4: .word 0x021D68C0
-
- arm_func_start WM_SetWEPKeyEx
-WM_SetWEPKeyEx: ; 0x020DAFF8
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- mov r7, r0
- mov r6, r1
- mov r5, r2
- mov r4, r3
- bl WMi_CheckIdle
-_020DB014: ; 0x020DB014
- cmp r0, #0x0
- addne sp, sp, #0x4
- ldmneia sp!, {r4-r7,lr}
- bxne lr
- cmp r6, #0x3
- addhi sp, sp, #0x4
- movhi r0, #0x6
- ldmhiia sp!, {r4-r7,lr}
- bxhi lr
- cmp r6, #0x0
- beq _020DB060
- cmp r4, #0x0
- addeq sp, sp, #0x4
- moveq r0, #0x6
- ldmeqia sp!, {r4-r7,lr}
- bxeq lr
- mov r0, r4
- mov r1, #0x50
- bl DC_StoreRange
-_020DB060:
- mov r1, r7
- mov r0, #0x27
- bl WMi_SetCallbackTable
- mov r2, r6
- mov r3, r4
- mov r0, #0x27
- mov r1, #0x3
- str r5, [sp, #0x0]
- bl WMi_SendCommand
-_020DB084: ; 0x020DB084
- cmp r0, #0x0
- moveq r0, #0x2
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,lr}
- bx lr
-
- arm_func_start WM_SetWEPKeyEx2
-WM_SetWEPKeyEx2: ; 0x020DB098
- stmdb sp!, {r4-r6,lr}
- mov r6, r0
- mov r5, r1
- mov r4, r2
- bl WMi_CheckIdle
-_020DB0AC: ; 0x020DB0AC
- cmp r0, #0x0
- ldmneia sp!, {r4-r6,lr}
- bxne lr
- cmp r5, #0x3
- movhi r0, #0x6
- ldmhiia sp!, {r4-r6,lr}
- bxhi lr
- cmp r5, #0x0
- beq _020DB0EC
- cmp r4, #0x0
- moveq r0, #0x6
- ldmeqia sp!, {r4-r6,lr}
- bxeq lr
- mov r0, r4
- mov r1, #0x50
- bl DC_StoreRange
-_020DB0EC:
- mov r1, r6
- mov r0, #0x14
- bl WMi_SetCallbackTable
- mov r2, r5
- mov r3, r4
- mov r0, #0x14
- mov r1, #0x2
- bl WMi_SendCommand
-_020DB10C: ; 0x020DB10C
- cmp r0, #0x0
- moveq r0, #0x2
- ldmia sp!, {r4-r6,lr}
- bx lr
diff --git a/asm/arm9_itcm.s b/asm/arm9_itcm.s
deleted file mode 100644
index 79c0de28..00000000
--- a/asm/arm9_itcm.s
+++ /dev/null
@@ -1,505 +0,0 @@
- .include "asm/macros.inc"
- .include "global.inc"
- .section .itcm
-
- ; OS
- arm_func_start OS_IrqHandler
-OS_IrqHandler: ; 0x01FF8000
- stmfd sp!, {lr}
- mov ip, #0x04000000
- add ip, ip, #0x210
- ldr r1, [ip, #-8]
- cmp r1, #0
- ldmeqfd sp!, {pc}
- ldmia ip, {r1, r2}
- ands r1, r1, r2
- ldmeqfd sp!, {pc}
- mov r3, #0x80000000
-_01FF8028:
- clz r0, r1
- bics r1, r1, r3, lsr r0
- bne _01FF8028
- mov r1, r3, lsr r0
- str r1, [ip, #0x4]
- rsbs r0, r0, #0x1f
- ldr r1, _01FF8050 ; =0x027E0000
- ldr r0, [r1, r0, lsl #2]
- ldr lr, _01FF8054 ; =0x01FF70B8
- bx r0
-_01FF8050: .word OS_IRQTable
-_01FF8054: .word OS_IrqHandler_ThreadSwitch
-
- arm_func_start OS_IrqHandler_ThreadSwitch
-OS_IrqHandler_ThreadSwitch: ; 01FF8058
- ldr ip, _01FF81A4
- mov r3, #0x0
- ldr ip, [ip]
- mov r2, #0x1
- cmp ip, #0x0
- beq _01FF80A8
-_01FF8070:
- str r2, [ip, #0x64]
- str r3, [ip, #0x78]
- str r3, [ip, #0x7c]
- ldr r0, [ip, #0x80]
- str r3, [ip, #0x80]
- mov ip, r0
- cmp ip, #0x0
- bne _01FF8070
- ldr ip, _01FF81A4
- str r3, [ip]
- str r3, [ip, #0x4]
- ldr ip, _01FF81A8
- mov r1, #0x1
- strh r1, [ip]
-_01FF80A8:
- ldr ip, _01FF81A8
- ldrh r1, [ip]
- cmp r1, #0x0
- ldreq pc, [sp], #0x4
- mov r1, #0x0
- strh r1, [ip]
- mov r3, #0xd2
- msr CPSR_c, r3
- add r2, ip, #0x8
- ldr r1, [r2]
-_01FF80D0:
- cmp r1, #0x0
- ldrneh r0, [r1, #0x64]
- cmpne r0, #0x1
- ldrne r1, [r1, #0x68]
- bne _01FF80D0
- cmp r1, #0x0
- bne _01FF80F8
-_01FF80EC:
- mov r3, #0x92
- msr CPSR_c, r3
- ldr pc, [sp], #0x4
-_01FF80F8:
- ldr r0, [ip, #0x4]
- cmp r1, r0
- beq _01FF80EC
- ldr r3, [ip, #0xC]
- cmp r3, #0x0
- beq _01FF8120
- stmdb sp!, {r0, r1, ip}
- mov lr, pc
- bx r3
- ldmia sp!, {r0, r1, ip}
-_01FF8120:
- str r1, [ip, #0x4]
- mrs r2, SPSR
- str r2, [r0, #0x0]!
- stmdb sp!, {r0, r1}
- add r0, r0, #0x0
- add r0, r0, #0x48
- ldr r1, _01FF81AC
- blx r1
- ldmia sp!, {r0, r1}
- ldmib sp!, {r2, r3}
- stmib r0!, {r2, r3}
- ldmib sp!, {r2, r3, ip, lr}
- stmib r0!, {r2, r3, r4, r5, r6, r7, r8, r9, sl, fp, ip, sp, lr}^
- stmib r0!, {lr}
- mov r3, #0xd3
- msr CPSR_c, r3
- stmib r0!, {sp}
- stmfd sp!, {r1}
- add r0, r1, #0x0
- add r0, r0, #0x48
- ldr r1, _01FF81B0
- blx r1
- ldmfd sp!, {r1}
- ldr sp, [r1, #0x44]
- mov r3, #0xd2
- msr CPSR_c, r3
- ldr r2, [r1, #0x0]!
- msr SPSR_fc, r2
- ldr lr, [r1, #0x40]
- ldmib r1!, {r0, r1, r2, r3, r4, r5, r6, r7, r8, r9, sl, fp, ip, sp, lr}^
- nop
- stmda sp!, {r0, r1, r2, r3, ip, lr}
- ldmfd sp!, {pc}
-_01FF81A4: .word OSi_IrqThreadQueue
-_01FF81A8: .word OSi_ThreadInfo
-_01FF81AC: .word CP_SaveContext
-_01FF81B0: .word CP_RestoreContext
-
- .section .itcm
- arm_func_start OSi_DoBoot
-OSi_DoBoot: ; 0x01FF81B4
- mov ip, #0x04000000
- str ip, [ip, #0x208]
- ldr r1, _01FF8260
- add r1, r1, #0x3fc0
- add r1, r1, #0x3c
- mov r0, #0x0
- str r0, [r1]
- ldr r1, _01FF8264
-_01FF81D4:
- ldrh r0, [r1]
- and r0, r0, #0xf
- cmp r0, #0x1
- bne _01FF81D4
- mov r0, #0x100
- strh r0, [r1]
- mov r0, #0x0
- ldr r3, _01FF8268
- ldr r4, [r3]
- ldr r1, _01FF826C
- mov r2, #0x80
- bl OSi_CpuClear32
- str r4, [r3]
- ldr r1, _01FF8270
- mov r2, #0x18
- bl OSi_CpuClear32
- ldr r1, _01FF8274
- strh r0, [r1]
- ldr r1, _01FF8278
- mov r2, #0x64
- bl OSi_CpuClear32
- ldr r1, _01FF8264
-_01FF822C:
- ldrh r0, [r1]
- and r0, r0, #0xf
- cmp r0, #0x1
- beq _01FF822C
- mov r0, #0x0
- strh r0, [r1]
- ldr r3, _01FF827C
- ldr ip, [r3, #0x24]
- mov lr, ip
- ldr fp, _01FF8270
- ldmia fp, {r0, r1, r2, r3, r4, r5, r6, r7, r8, r9, sl}
- mov fp, #0x0
- bx ip
-_01FF8260: .word SDK_AUTOLOAD_DTCM_START
-_01FF8264: .word 0x04000180
-_01FF8268: .word 0x027FFD9C
-_01FF826C: .word 0x027FFD80
-_01FF8270: .word 0x027FFF80
-_01FF8274: .word 0x027FFF98
-_01FF8278: .word 0x027FFF9C
-_01FF827C: .word 0x027FFE00
-
- arm_func_start OSi_CpuClear32
-OSi_CpuClear32: ; 01FF8280
- add ip, r1, r2
-_01FF8284:
- cmp r1, ip
- stmltia r1!, {r0}
- blt _01FF8284
- bx lr
-
- arm_func_start OSi_ReadCardRom32
-OSi_ReadCardRom32: ; 01FF8294
- stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
- sub sp, sp, #4
- ldr r4, _01FF8390
- ldr r3, _01FF8394
- ldr r4, [r4]
- and r3, r0, r3
- bic r4, r4, #117440512 ; 0x7000000
- orr sl, r4, #-1593835520 ; 0xa1000000
- rsb r9, r3, #0
- ldr r4, _01FF8398
-_01FF82BC:
- ldr r3, [r4]
- ands r3, r3, #-2147483648 ; 0x80000000
- bne _01FF82BC
- ldr r3, _01FF839C
- mov r4, #128 ; 0x80
- cmp r9, r2
- addge sp, sp, #4
- strb r4, [r3]
- add r0, r0, r9
- ldmgeia sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
- bxge lr
- ldr r3, _01FF83A0
- ldr ip, _01FF8398
- ldr r5, _01FF83A4
- ldr r4, _01FF83A8
- mov r7, r0, lsr #8
- mov r6, #183 ; 0xb7
- mov lr, #0
-_01FF8304:
- strb r6, [r5]
- mov r8, r0, lsr #24
- strb r8, [r4]
- ldr r8, _01FF83AC
- mov fp, r0, lsr #16
- strb fp, [r8]
- ldr r8, _01FF83B0
- strb r7, [r8]
- ldr r8, _01FF83B4
- strb r0, [r8]
- ldr r8, _01FF83B8
- strb lr, [r8]
- ldr r8, _01FF83BC
- strb lr, [r8]
- ldr r8, _01FF83C0
- strb lr, [r8]
- str sl, [ip]
-_01FF8348:
- ldr r8, [ip]
- ands fp, r8, #8388608 ; 0x800000
- beq _01FF836C
- cmp r9, #0
- ldr fp, [r3]
- blt _01FF8368
- cmp r9, r2
- strlt fp, [r1, r9]
-_01FF8368:
- add r9, r9, #4
-_01FF836C:
- ands r8, r8, #-2147483648 ; 0x80000000
- bne _01FF8348
- cmp r9, r2
- add r7, r7, #2
- add r0, r0, #512 ; 0x200
- blt _01FF8304
- add sp, sp, #4
- ldmia sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
- bx lr
-_01FF8390: .word 0x027FFE60
-_01FF8394: .word 0x000001FF
-_01FF8398: .word 0x040001A4
-_01FF839C: .word 0x040001A1
-_01FF83A0: .word 0x04100010
-_01FF83A4: .word 0x040001A8
-_01FF83A8: .word 0x040001A9
-_01FF83AC: .word 0x040001AA
-_01FF83B0: .word 0x040001AB
-_01FF83B4: .word 0x040001AC
-_01FF83B8: .word 0x040001AD
-_01FF83BC: .word 0x040001AE
-_01FF83C0: .word 0x040001AF
-
- arm_func_start OSi_ReloadRomData
-OSi_ReloadRomData: ; 0x01FF83C4
- stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
- sub sp, sp, #4
- ldr r0, _01FF8484
- ldr sl, [r0]
- cmp sl, #32768 ; 0x8000
- bcc _01FF83EC
- ldr r1, _01FF8488
- mov r0, sl
- mov r2, #352 ; 0x160
- bl OSi_ReadCardRom32
-_01FF83EC:
- ldr r5, _01FF848C
- ldr r4, _01FF8490
- ldr r3, _01FF8494
- ldr r2, _01FF8498
- ldr r1, _01FF849C
- ldr r9, [r5]
- ldr r0, _01FF84A0
- ldr r8, [r4]
- ldr r7, [r3]
- ldr r6, [r2]
- ldr r5, [r1]
- ldr r4, [r0]
- bl OS_DisableInterrupts ; 0x1e02b0
- mov fp, r0
- bl DC_StoreAll ; 0x1df064
- bl DC_InvalidateAll ; 0x1df058
- mov r0, fp
- bl OS_RestoreInterrupts ; 0x1e02c4
- bl IC_InvalidateAll ; 0x1df12c
- bl DC_WaitWriteBufferEmpty ; 0x1df120
- add r9, r9, sl
- cmp r9, #32768 ; 0x8000
- rsbcc r0, r9, #32768 ; 0x8000
- addcc r8, r8, r0
- subcc r7, r7, r0
- movcc r9, #32768 ; 0x8000
- add r6, r6, sl
- mov r0, r9
- mov r1, r8
- mov r2, r7
- bl OSi_ReadCardRom32 ; 0x10b234
- mov r0, r6
- mov r1, r5
- mov r2, r4
- bl OSi_ReadCardRom32
- add sp, sp, #4
- ldmia sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
- bx lr
-_01FF8484: .word 0x027FFC2C
-_01FF8488: .word 0x027FFE00
-_01FF848C: .word 0x027FFE20
-_01FF8490: .word 0x027FFE28
-_01FF8494: .word 0x027FFE2C
-_01FF8498: .word 0x027FFE30
-_01FF849C: .word 0x027FFE38
-_01FF84A0: .word 0x027FFE3C
-
- arm_func_start OSi_DoResetSystem
-OSi_DoResetSystem: ; 0x01FF84A4
- stmfd sp!, {lr}
- sub sp, sp, #4
- ldr r0, _01FF84DC
-_01FF84B0:
- ldrh r1, [r0]
- cmp r1, #0
- beq _01FF84B0
- ldr r0, _01FF84E0
- mov r1, #0
- strh r1, [r0]
- bl OSi_ReloadRomData
- bl OSi_DoBoot
- add sp, sp, #4
- ldmfd sp!, {lr}
- bx lr
-_01FF84DC: .word OSi_IsResetOccurred
-_01FF84E0: .word 0x04000208
-
- ; MI
- arm_func_start MIi_DmaSetParams_wait_noInt
-MIi_DmaSetParams_wait_noInt: ; 0x01FF84E4
- stmdb sp!, {r4, lr}
- mov ip, #12
- mul r4, r0, ip
- add ip, r4, #67108864 ; 0x4000000
- ldr lr, [pc, #64] ; 0x10b4dc
- str r1, [ip, #176] ; 0xb0
- add r4, r4, lr
- str r2, [r4, #4]
- str r3, [r4, #8]
- ldr r1, [lr]
- cmp r0, #0
- ldr r0, [lr]
- moveq r1, #0
- streq r1, [r4]
- streq r1, [r4, #4]
- ldreq r0, _01FF8540
- ldr r1, _01FF853C
- streq r0, [r4, #8]
- ldr r0, [r1]
- ldr r0, [r1]
- ldmia sp!, {r4, lr}
- bx lr
-_01FF853C: .word 0x040000B0
-_01FF8540: .word 0x81400001
-
- arm_func_start MIi_DmaSetParams_noInt
-MIi_DmaSetParams_noInt: ; 01FF8544
- stmfd sp!, {lr}
- sub sp, sp, #4
- mov ip, #12
- mul lr, r0, ip
- ldr r0, _01FF8578
- add ip, lr, #67108864 ; 0x4000000
- str r1, [ip, #176] ; 0xb0
- add r0, lr, r0
- str r2, [r0, #4]
- str r3, [r0, #8]
- add sp, sp, #4
- ldmfd sp!, {lr}
- bx lr
-_01FF8578: .word 0x040000B0
-
- arm_func_start MIi_DmaSetParams_wait
-MIi_DmaSetParams_wait: ; 01FF857C
- stmdb sp!, {r4, r5, r6, r7, lr}
- sub sp, sp, #4
- mov r7, r0
- mov r6, r1
- mov r5, r2
- mov r4, r3
- bl OS_DisableInterrupts
- mov r1, #12
- mul r3, r7, r1
- add r1, r3, #67108864 ; 0x4000000
- ldr r2, _01FF85E8
- str r6, [r1, #176] ; 0xb0
- add r3, r3, r2
- str r5, [r3, #4]
- str r4, [r3, #8]
- ldr r1, [r2]
- cmp r7, #0
- ldr r1, [r2]
- moveq r2, #0
- streq r2, [r3]
- ldreq r1, _01FF85EC
- streq r2, [r3, #4]
- streq r1, [r3, #8]
- bl OS_RestoreInterrupts
- add sp, sp, #4
- ldmia sp!, {r4, r5, r6, r7, lr}
- bx lr
-_01FF85E8: .word 0x040000B0
-_01FF85EC: .word 0x81400001
-
- arm_func_start MIi_DmaSetParams
-MIi_DmaSetParams: ; 01FF85F0
- stmdb sp!, {r4, r5, r6, r7, lr}
- sub sp, sp, #4
- mov r7, r0
- mov r6, r1
- mov r5, r2
- mov r4, r3
- bl OS_DisableInterrupts
- mov r1, #12
- mul r3, r7, r1
- ldr r1, _01FF863C
- add r2, r3, #67108864 ; 0x4000000
- str r6, [r2, #176] ; 0xb0
- add r1, r3, r1
- str r5, [r1, #4]
- str r4, [r1, #8]
- bl OS_RestoreInterrupts
- add sp, sp, #4
- ldmia sp!, {r4, r5, r6, r7, lr}
- bx lr
-_01FF863C: .word 0x040000B0
-
- arm_func_start MI_SendGXCommand
-MI_SendGXCommand: ; 0x01FF8640
- stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
- sub sp, sp, #4
- movs r8, r2
- mov sl, r0
- mov r9, r1
- addeq sp, sp, #4
- ldmeqia sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
- bxeq lr
- mov r3, #0
- bl MIi_CheckDma0SourceAddress
- mov r0, #3
- mul r1, sl, r0
- ldr r0, [pc, #104] ; 0x10b680
- add r1, r1, #2
- add r7, r0, r1, lsl #2
-_01FF867C:
- ldr r0, [r7]
- ands r0, r0, #-2147483648 ; 0x80000000
- bne _01FF867C
- cmp r8, #0
- beq _01FF86C8
- ldr fp, [pc, #76] ; 0x10b684
- mov r5, #472 ; 0x1d8
- ldr r4, [pc, #72] ; 0x10b688
-_01FF869C:
- cmp r8, #472 ; 0x1d8
- movhi r6, r5
- movls r6, r8
- mov r0, sl
- mov r1, r9
- mov r2, fp
- orr r3, r4, r6, lsr #2
- bl MIi_DmaSetParams
- subs r8, r8, r6
- add r9, r9, r6
- bne _01FF869C
-_01FF86C8:
- ldr r0, [r7]
- ands r0, r0, #-2147483648 ; 0x80000000
- bne _01FF86C8
- add sp, sp, #4
- ldmia sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
- bx lr
-_01FF86E0: .word 0x040000B0
-_01FF86E4: .word 0x04000400
-_01FF86E8: .word 0x84400000
diff --git a/asm/arm9overlay.s b/asm/arm9overlay.s
deleted file mode 100644
index 70356c52..00000000
--- a/asm/arm9overlay.s
+++ /dev/null
@@ -1,5 +0,0 @@
- .text
-
- .global ARM9Overlay
-ARM9Overlay:
- .incbin "baserom.nds", 0x10B800, 0xAE0
diff --git a/asm/crt0.s b/asm/crt0.s
deleted file mode 100644
index 709bd5f3..00000000
--- a/asm/crt0.s
+++ /dev/null
@@ -1,283 +0,0 @@
- .include "asm/macros.inc"
- .include "global.inc"
-
- .text
-
- arm_func_start _start
-_start: ; 0x02000800
- mov ip, #0x4000000
- str ip, [ip, #0x208]
-_02000808:
- ldrh r0, [ip, #6]
- cmp r0, #0
- bne _02000808
- bl init_cp15
- mov r0, #0x13
- msr cpsr_c, r0
- ldr r0, _02000918 ; =SDK_AUTOLOAD_DTCM_START
- add r0, r0, #0x3fc0
- mov sp, r0
- mov r0, #0x12
- msr cpsr_c, r0
- ldr r0, _02000918 ; =SDK_AUTOLOAD_DTCM_START
- add r0, r0, #0x3fc0
- sub r0, r0, #0x40
- sub sp, r0, #4
- tst sp, #4
- subeq sp, sp, #4
- ldr r1, _0200091C ; =0x00000400
- sub r1, r0, r1
- mov r0, #0x1f
- msr cpsr_fsxc, r0
- sub sp, r1, #4
- mov r0, #0
- ldr r1, _02000918 ; =SDK_AUTOLOAD_DTCM_START
- mov r2, #0x4000
- bl INITi_CpuClear32
- mov r0, #0
- ldr r1, _02000920 ; =0x05000000
- mov r2, #1024
- bl INITi_CpuClear32
- mov r0, #512
- ldr r1, _02000924 ; =0x07000000
- mov r2, #1024
- bl INITi_CpuClear32
- ldr r1, _02000928 ; =_start_ModuleParams
- ldr r0, [r1, #20]
- bl MIi_UncompressBackward
- bl do_autoload
- ldr r0, _02000928 ; =_start_ModuleParams
- ldr r1, [r0, #12]
- ldr r2, [r0, #16]
- mov r3, r1
- mov r0, #0
-_020008B4:
- cmp r1, r2
- strcc r0, [r1], #4
- bcc _020008B4
- bic r1, r3, #31
-_020008C4:
- mcr p15, 0x0, r0, cr7, cr10, 4
- mcr p15, 0x0, r1, cr7, cr5, 1
- mcr p15, 0x0, r1, cr7, cr14, 1
- add r1, r1, #32
- cmp r1, r2
- blt _020008C4
- ldr r1, _0200092C ; =0x027FFF9C
- str r0, [r1]
- ldr r1, _02000918 ; =SDK_AUTOLOAD_DTCM_START
- add r1, r1, #16320
- add r1, r1, #60
- ldr r0, _02000930 ; =OS_IrqHandler
- str r0, [r1]
- bl _fp_init
- bl NitroStartUp
- bl __call_static_initializers
- ldr r1, _02000934 ; =0x02000C55
- ldr lr, _02000938 ; =0xFFFF0000
- tst sp, #4
- subne sp, sp, #4
- bx r1
-_02000918: .word SDK_AUTOLOAD_DTCM_START
-_0200091C: .word SDK_IRQ_STACKSIZE
-_02000920: .word 0x05000000
-_02000924: .word 0x07000000
-_02000928: .word _start_ModuleParams
-_0200092C: .word 0x027FFF9C
-_02000930: .word OS_IrqHandler
-_02000934: .word NitroMain
-_02000938: .word 0xFFFF0000
- arm_func_end _start
-
- arm_func_start INITi_CpuClear32
-INITi_CpuClear32:
- add ip, r1, r2
-_02000940:
- cmp r1, ip
- stmltia r1!, {r0}
- blt _02000940
- bx lr
- arm_func_end INITi_CpuClear32
-
- arm_func_start MIi_UncompressBackward
-MIi_UncompressBackward:
- cmp r0, #0
- beq _020009F8
- stmdb sp!, {r4-r7}
- ldmdb r0, {r1, r2}
- add r2, r0, r2
- sub r3, r0, r1, lsr #24
- bic r1, r1, #-16777216
- sub r1, r0, r1
- mov r4, r2
-_02000974:
- cmp r3, r1
- ble _020009D4
- ldrb r5, [r3, #-1]!
- mov r6, #8
-_02000984:
- subs r6, r6, #1
- blt _02000974
- tst r5, #128
- bne _020009A0
- ldrb r0, [r3, #-1]!
- strb r0, [r2, #-1]!
- b _020009C8
-_020009A0:
- ldrb ip, [r3, #-1]!
- ldrb r7, [r3, #-1]!
- orr r7, r7, ip, lsl #8
- bic r7, r7, #61440
- add r7, r7, #2
- add ip, ip, #32
-_020009B8:
- ldrb r0, [r2, r7]
- strb r0, [r2, #-1]!
- subs ip, ip, #16
- bge _020009B8
-_020009C8:
- cmp r3, r1
- mov r5, r5, lsl #0x1
- bgt _02000984
-_020009D4:
- mov r0, #0
- bic r3, r1, #31
-_020009DC:
- mcr p15, 0x0, r0, cr7, cr10, 4
- mcr p15, 0x0, r3, cr7, cr5, 1
- mcr p15, 0x0, r3, cr7, cr14, 1
- add r3, r3, #32
- cmp r3, r4
- blt _020009DC
- ldmia sp!, {r4-r7}
-_020009F8:
- bx lr
- arm_func_end MIi_UncompressBackward
-
- arm_func_start do_autoload
-do_autoload:
- ldr r0, =_start_ModuleParams
- ldr r1, [r0]
- ldr r2, [r0, #4]
- ldr r3, [r0, #8]
-_02000A0C:
- cmp r1, r2
- beq _02000A6C
- ldr r5, [r1], #4
- ldr r7, [r1], #4
- add r6, r5, r7
- mov r4, r5
-_02000A24:
- cmp r4, r6
- ldrmi r7, [r3], #4
- strmi r7, [r4], #4
- bmi _02000A24
- ldr r7, [r1], #4
- add r6, r4, r7
- mov r7, #0
-_02000A40:
- cmp r4, r6
- strcc r7, [r4], #4
- bcc _02000A40
- bic r4, r5, #31
-_02000A50:
- mcr p15, 0x0, r7, cr7, cr10, 4
- mcr p15, 0x0, r4, cr7, cr5, 1
- mcr p15, 0x0, r4, cr7, cr14, 1
- add r4, r4, #32
- cmp r4, r6
- blt _02000A50
- b _02000A0C
-_02000A6C:
- b _start_AutoloadDoneCallback
- .pool
- .global _start_AutoloadDoneCallback
-_start_AutoloadDoneCallback:
- bx lr
- arm_func_end do_autoload
-
- arm_func_start init_cp15
-init_cp15: ; 0x02000A78
- mrc p15, 0x0, r0, c1, c0, 0x0
- ldr r1, =0x000F9005
- bic r0, r0, r1
- mcr p15, 0x0, r0, c1, c0, 0x0
- mov r0, #0
- mcr p15, 0x0, r0, c7, c5, 0x0
- mcr p15, 0x0, r0, c7, c6, 0x0
- mcr p15, 0x0, r0, c7, c10, 0x4
- ldr r0, =0x04000033
- mcr p15, 0x0, r0, c6, c0, 0x0
- ldr r0, =0x0200002D
- mcr p15, 0x0, r0, c6, c1, 0x0
- ldr r0, =0x027E0021
- mcr p15, 0x0, r0, c6, c2, 0x0
- ldr r0, =0x08000035
- mcr p15, 0x0, r0, c6, c3, 0x0
- ldr r0, =SDK_AUTOLOAD_DTCM_START
- orr r0, r0, #0x1a
- orr r0, r0, #1
- mcr p15, 0x0, r0, c6, c4, 0x0
- ldr r0, =0x0100002F
- mcr p15, 0x0, r0, c6, c5, 0x0
- ldr r0, =0xFFFF001D
- mcr p15, 0x0, r0, c6, c6, 0x0
- ldr r0, =0x027FF017
- mcr p15, 0x0, r0, c6, c7, 0x0
- mov r0, #0x20
- mcr p15, 0x0, r0, c9, c1, 0x1
- ldr r0, =SDK_AUTOLOAD_DTCM_START
- orr r0, r0, #0xa
- mcr p15, 0x0, r0, c9, c1, 0x0
- mov r0, #0x42
- mcr p15, 0x0, r0, c2, c0, 0x1
- mov r0, #0x42
- mcr p15, 0x0, r0, c2, c0, 0x0
- mov r0, #2
- mcr p15, 0x0, r0, c3, c0, 0x0
- ldr r0, =0x05100011
- mcr p15, 0x0, r0, c5, c0, 0x3
- ldr r0, =0x15111011
- mcr p15, 0x0, r0, c5, c0, 0x2
- mrc p15, 0x0, r0, c1, c0, 0x0
- ldr r1, =0x0005707D
- orr r0, r0, r1
- mcr p15, 0x0, r0, c1, c0, 0x0
- bx lr
- .align 2, 0
- .pool
-
- arm_func_start OSi_ReferSymbol
-OSi_ReferSymbol: ; 0x02000B60
- bx lr
-
- arm_func_start NitroStartUp
-NitroStartUp: ; 0x02000B64
- bx lr
-
-_start_ModuleParams:
- .word SDK_AUTOLOAD_LIST
- .word SDK_AUTOLOAD_LIST_END
- .word SDK_AUTOLOAD_START
- .word SDK_STATIC_BSS_START
- .word SDK_STATIC_BSS_END
-
- .word 0x00000000
- .ascii "1u" ; 31 75
- .byte 0x02, 0x03
- .word 0xdec00621
- .byte 0xde, 0xc0, 0x06, 0x21
-
- # strings
- .balign 4
- .asciz "[SDK+NINTENDO:DWC1.2.30006.061019.2254_DWC_1_2_PLUS6]"
- .balign 4
- .asciz "[SDK+NINTENDO:WiFi1.2.30000.0609050341]"
- .balign 4
- .asciz "[SDK+UBIQUITOUS:CPS]"
- .balign 4
- .asciz "[SDK+UBIQUITOUS:SSL]"
- .balign 4
- .asciz "[SDK+Abiosso:libVCT 1.0.1_ec]"
- .balign 4
- .asciz "[SDK+NINTENDO:BACKUP]"
diff --git a/asm/filesystem.s b/asm/filesystem.s
deleted file mode 100644
index 75af021d..00000000
--- a/asm/filesystem.s
+++ /dev/null
@@ -1,648 +0,0 @@
- .include "asm/macros.inc"
- .include "global.inc"
-
- .text
-
- thumb_func_start ReadNARCFile
-ReadNARCFile: ; 0x02006314
- push {r3-r7, lr}
- sub sp, #0x60
- add r4, r1, #0x0
- mov r1, #0x0
- str r0, [sp, #0x0]
- str r1, [sp, #0x14]
- str r1, [sp, #0x10]
- str r1, [sp, #0xc]
- add r0, sp, #0x8
- strh r1, [r0, #0x0]
- add r0, sp, #0x18
- add r5, r2, #0x0
- str r3, [sp, #0x4]
- blx FS_InitFile
- add r0, sp, #0x18
- add r1, r4, #0x0
- blx FS_OpenFile
- add r0, sp, #0x18
- mov r1, #0xc
- mov r2, #0x0
- blx FS_SeekFile
- add r0, sp, #0x18
- add r1, sp, #0x14
- mov r2, #0x2
- blx FS_ReadFile
- ldr r4, [sp, #0x14]
- add r0, sp, #0x18
- add r1, r4, #0x4
- mov r2, #0x0
- blx FS_SeekFile
- add r0, sp, #0x18
- add r1, sp, #0x14
- mov r2, #0x4
- blx FS_ReadFile
- add r0, sp, #0x18
- add r1, sp, #0x8
- mov r2, #0x2
- blx FS_ReadFile
- add r0, sp, #0x8
- ldrh r0, [r0, #0x0]
- cmp r0, r5
- bgt _0200637A
- bl ErrorHandling
-_0200637A:
- ldr r0, [sp, #0x14]
- mov r2, #0x0
- add r6, r4, r0
- add r0, sp, #0x18
- add r1, r6, #0x4
- blx FS_SeekFile
- add r0, sp, #0x18
- add r1, sp, #0x14
- mov r2, #0x4
- blx FS_ReadFile
- add r4, #0xc
- lsl r1, r5, #0x3
- add r0, sp, #0x18
- add r1, r4, r1
- mov r2, #0x0
- ldr r7, [sp, #0x14]
- blx FS_SeekFile
- add r0, sp, #0x18
- add r1, sp, #0x10
- mov r2, #0x4
- blx FS_ReadFile
- add r0, sp, #0x18
- add r1, sp, #0xc
- mov r2, #0x4
- blx FS_ReadFile
- add r2, r6, r7
- ldr r1, [sp, #0x10]
- add r2, #0x8
- add r2, r2, r1
- ldr r1, [sp, #0x4]
- add r0, sp, #0x18
- add r1, r1, r2
- mov r2, #0x0
- blx FS_SeekFile
- ldr r0, [sp, #0x78]
- cmp r0, #0x0
- bne _020063D6
- ldr r1, [sp, #0xc]
- ldr r0, [sp, #0x10]
- sub r0, r1, r0
-_020063D6:
- str r0, [sp, #0x14]
- cmp r0, #0x0
- bne _020063E0
- bl ErrorHandling
-_020063E0:
- ldr r1, [sp, #0x0]
- ldr r2, [sp, #0x14]
- add r0, sp, #0x18
- blx FS_ReadFile
- add r0, sp, #0x18
- blx FS_CloseFile
- add sp, #0x60
- pop {r3-r7, pc}
-
- thumb_func_start LoadFileIntoMemory
-LoadFileIntoMemory: ; 0x020063F4
- push {r3-r7, lr}
- sub sp, #0x60
- add r5, r1, #0x0
- mov r1, #0x0
- add r4, r0, #0x0
- str r1, [sp, #0x14]
- str r1, [sp, #0x10]
- str r1, [sp, #0xc]
- add r0, sp, #0x8
- strh r1, [r0, #0x0]
- add r0, sp, #0x18
- str r2, [sp, #0x0]
- str r3, [sp, #0x4]
- blx FS_InitFile
- add r0, sp, #0x18
- add r1, r4, #0x0
- blx FS_OpenFile
- add r0, sp, #0x18
- mov r1, #0xc
- mov r2, #0x0
- blx FS_SeekFile
- add r0, sp, #0x18
- add r1, sp, #0x14
- mov r2, #0x2
- blx FS_ReadFile
- ldr r4, [sp, #0x14]
- add r0, sp, #0x18
- add r1, r4, #0x4
- mov r2, #0x0
- blx FS_SeekFile
- add r0, sp, #0x18
- add r1, sp, #0x14
- mov r2, #0x4
- blx FS_ReadFile
- add r0, sp, #0x18
- add r1, sp, #0x8
- mov r2, #0x2
- blx FS_ReadFile
- add r0, sp, #0x8
- ldrh r0, [r0, #0x0]
- cmp r0, r5
- bgt _0200645A
- bl ErrorHandling
-_0200645A:
- ldr r0, [sp, #0x14]
- mov r2, #0x0
- add r6, r4, r0
- add r0, sp, #0x18
- add r1, r6, #0x4
- blx FS_SeekFile
- add r0, sp, #0x18
- add r1, sp, #0x14
- mov r2, #0x4
- blx FS_ReadFile
- add r4, #0xc
- lsl r1, r5, #0x3
- add r0, sp, #0x18
- add r1, r4, r1
- mov r2, #0x0
- ldr r7, [sp, #0x14]
- blx FS_SeekFile
- add r0, sp, #0x18
- add r1, sp, #0x10
- mov r2, #0x4
- blx FS_ReadFile
- add r0, sp, #0x18
- add r1, sp, #0xc
- mov r2, #0x4
- blx FS_ReadFile
- add r2, r6, r7
- ldr r1, [sp, #0x10]
- add r2, #0x8
- add r2, r2, r1
- ldr r1, [sp, #0x4]
- add r0, sp, #0x18
- add r1, r1, r2
- mov r2, #0x0
- blx FS_SeekFile
- ldr r0, [sp, #0x78]
- cmp r0, #0x0
- bne _020064B6
- ldr r1, [sp, #0xc]
- ldr r0, [sp, #0x10]
- sub r0, r1, r0
-_020064B6:
- str r0, [sp, #0x14]
- cmp r0, #0x0
- bne _020064C0
- bl ErrorHandling
-_020064C0:
- ldr r0, [sp, #0x7c]
- cmp r0, #0x0
- bne _020064D0
- ldr r0, [sp, #0x0]
- ldr r1, [sp, #0x14]
- bl FUN_02016998
- b _020064D8
-_020064D0:
- ldr r0, [sp, #0x0]
- ldr r1, [sp, #0x14]
- bl FUN_020169D8
-_020064D8:
- add r4, r0, #0x0
- ldr r2, [sp, #0x14]
- add r0, sp, #0x18
- add r1, r4, #0x0
- blx FS_ReadFile
- add r0, sp, #0x18
- blx FS_CloseFile
- add r0, r4, #0x0
- add sp, #0x60
- pop {r3-r7, pc}
-
- thumb_func_start LoadFromNARC
-LoadFromNARC: ; 0x020064F0
- push {r3-r4, lr}
- sub sp, #0x4
- mov r3, #0x0
- lsl r4, r1, #0x2
- ldr r1, _02006508 ; =0x021058A0
- str r3, [sp, #0x0]
- ldr r1, [r1, r4]
- bl ReadNARCFile
- add sp, #0x4
- pop {r3-r4, pc}
- nop
-_02006508: .word 0x021058A0
-
- thumb_func_start LoadFromNarc_2
-LoadFromNarc_2: ; 0x0200650C
- push {r4, lr}
- sub sp, #0x8
- mov r3, #0x0
- str r3, [sp, #0x0]
- lsl r4, r0, #0x2
- ldr r0, _02006524 ; =0x021058A0
- str r3, [sp, #0x4]
- ldr r0, [r0, r4]
- bl LoadFileIntoMemory
- add sp, #0x8
- pop {r4, pc}
- .balign 4
-_02006524: .word 0x021058A0
-
- thumb_func_start FUN_02006528
-FUN_02006528: ; 0x02006528
- push {r4, lr}
- sub sp, #0x8
- mov r3, #0x0
- str r3, [sp, #0x0]
- mov r4, #0x1
- str r4, [sp, #0x4]
- lsl r4, r0, #0x2
- ldr r0, _02006544 ; =0x021058A0
- ldr r0, [r0, r4]
- bl LoadFileIntoMemory
- add sp, #0x8
- pop {r4, pc}
- nop
-_02006544: .word 0x021058A0
-
- thumb_func_start FUN_02006548
-FUN_02006548: ; 0x02006548
- push {r3-r4, lr}
- sub sp, #0x4
- ldr r4, [sp, #0x10]
- str r4, [sp, #0x0]
- lsl r4, r1, #0x2
- ldr r1, _02006560 ; =0x021058A0
- ldr r1, [r1, r4]
- bl ReadNARCFile
- add sp, #0x4
- pop {r3-r4, pc}
- nop
-_02006560: .word 0x021058A0
-
- thumb_func_start FUN_02006564
-FUN_02006564: ; 0x02006564
- push {r4, lr}
- sub sp, #0x8
- ldr r4, [sp, #0x10]
- str r4, [sp, #0x0]
- mov r4, #0x0
- str r4, [sp, #0x4]
- lsl r4, r0, #0x2
- ldr r0, _02006580 ; =0x021058A0
- ldr r0, [r0, r4]
- bl LoadFileIntoMemory
- add sp, #0x8
- pop {r4, pc}
- nop
-_02006580: .word 0x021058A0
-
- thumb_func_start FUN_02006584
-FUN_02006584: ; 0x02006584
- push {r4, lr}
- sub sp, #0x8
- ldr r4, [sp, #0x10]
- str r4, [sp, #0x0]
- mov r4, #0x1
- str r4, [sp, #0x4]
- lsl r4, r0, #0x2
- ldr r0, _020065A0 ; =0x021058A0
- ldr r0, [r0, r4]
- bl LoadFileIntoMemory
- add sp, #0x8
- pop {r4, pc}
- nop
-_020065A0: .word 0x021058A0
-
- thumb_func_start LoadFromNARC_7
-LoadFromNARC_7: ; 0x020065A4
- push {r3-r7, lr}
- sub sp, #0x58
- add r5, r1, #0x0
- mov r1, #0x0
- add r4, r0, #0x0
- str r1, [sp, #0xc]
- str r1, [sp, #0x8]
- str r1, [sp, #0x4]
- add r0, sp, #0x0
- strh r1, [r0, #0x0]
- add r0, sp, #0x10
- blx FS_InitFile
- ldr r1, _0200666C ; =0x021058A0
- lsl r2, r4, #0x2
- ldr r1, [r1, r2]
- add r0, sp, #0x10
- blx FS_OpenFile
- add r0, sp, #0x10
- mov r1, #0xc
- mov r2, #0x0
- blx FS_SeekFile
- add r0, sp, #0x10
- add r1, sp, #0xc
- mov r2, #0x2
- blx FS_ReadFile
- ldr r4, [sp, #0xc]
- add r0, sp, #0x10
- add r1, r4, #0x4
- mov r2, #0x0
- blx FS_SeekFile
- add r0, sp, #0x10
- add r1, sp, #0xc
- mov r2, #0x4
- blx FS_ReadFile
- add r0, sp, #0x10
- add r1, sp, #0x0
- mov r2, #0x2
- blx FS_ReadFile
- add r0, sp, #0x0
- ldrh r0, [r0, #0x0]
- cmp r0, r5
- bgt _0200660A
- bl ErrorHandling
-_0200660A:
- ldr r0, [sp, #0xc]
- mov r2, #0x0
- add r6, r4, r0
- add r0, sp, #0x10
- add r1, r6, #0x4
- blx FS_SeekFile
- add r0, sp, #0x10
- add r1, sp, #0xc
- mov r2, #0x4
- blx FS_ReadFile
- add r4, #0xc
- lsl r1, r5, #0x3
- add r0, sp, #0x10
- add r1, r4, r1
- mov r2, #0x0
- ldr r7, [sp, #0xc]
- blx FS_SeekFile
- add r0, sp, #0x10
- add r1, sp, #0x8
- mov r2, #0x4
- blx FS_ReadFile
- add r0, sp, #0x10
- add r1, sp, #0x4
- mov r2, #0x4
- blx FS_ReadFile
- add r2, r6, r7
- ldr r1, [sp, #0x8]
- add r2, #0x8
- add r1, r2, r1
- add r0, sp, #0x10
- mov r2, #0x0
- blx FS_SeekFile
- ldr r1, [sp, #0x4]
- ldr r0, [sp, #0x8]
- sub r0, r1, r0
- str r0, [sp, #0xc]
- bne _02006664
- bl ErrorHandling
-_02006664:
- ldr r0, [sp, #0xc]
- add sp, #0x58
- pop {r3-r7, pc}
- nop
-_0200666C: .word 0x021058A0
-
- thumb_func_start FUN_02006670
-FUN_02006670: ; 0x02006670
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, r1, #0x0
- mov r1, #0x54
- bl FUN_02016998
- add r4, r0, #0x0
- beq _020066EC
- mov r1, #0x0
- str r1, [r4, #0x48]
- blx FS_InitFile
- ldr r1, _020066F0 ; =0x021058A0
- lsl r2, r5, #0x2
- ldr r1, [r1, r2]
- add r0, r4, #0x0
- blx FS_OpenFile
- add r0, r4, #0x0
- mov r1, #0xc
- mov r2, #0x0
- blx FS_SeekFile
- add r1, r4, #0x0
- add r0, r4, #0x0
- add r1, #0x48
- mov r2, #0x2
- blx FS_ReadFile
- ldr r1, [r4, #0x48]
- add r0, r4, #0x0
- add r1, r1, #0x4
- mov r2, #0x0
- blx FS_SeekFile
- add r0, r4, #0x0
- add r1, sp, #0x0
- mov r2, #0x4
- blx FS_ReadFile
- add r1, r4, #0x0
- add r0, r4, #0x0
- add r1, #0x50
- mov r2, #0x2
- blx FS_ReadFile
- ldr r1, [r4, #0x48]
- ldr r0, [sp, #0x0]
- mov r2, #0x0
- add r5, r1, r0
- add r0, r4, #0x0
- add r1, r5, #0x4
- blx FS_SeekFile
- add r0, r4, #0x0
- add r1, sp, #0x0
- mov r2, #0x4
- blx FS_ReadFile
- ldr r0, [sp, #0x0]
- add r0, r5, r0
- str r0, [r4, #0x4c]
-_020066EC:
- add r0, r4, #0x0
- pop {r3-r5, pc}
- .balign 4
-_020066F0: .word 0x021058A0
-
- thumb_func_start FUN_020066F4
-FUN_020066F4: ; 0x020066F4
- push {r4, lr}
- add r4, r0, #0x0
- blx FS_CloseFile
- add r0, r4, #0x0
- bl FUN_02016A18
- pop {r4, pc}
-
- thumb_func_start FUN_02006704
-FUN_02006704: ; 0x02006704
- push {r4-r6, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- add r0, #0x50
- ldrh r0, [r0, #0x0]
- add r4, r1, #0x0
- add r6, r2, #0x0
- cmp r0, r4
- bhi _0200671A
- bl ErrorHandling
-_0200671A:
- ldr r2, [r5, #0x48]
- lsl r1, r4, #0x3
- add r2, #0xc
- add r1, r2, r1
- add r0, r5, #0x0
- mov r2, #0x0
- blx FS_SeekFile
- add r0, r5, #0x0
- add r1, sp, #0x4
- mov r2, #0x4
- blx FS_ReadFile
- add r0, r5, #0x0
- add r1, sp, #0x0
- mov r2, #0x4
- blx FS_ReadFile
- ldr r2, [r5, #0x4c]
- ldr r1, [sp, #0x4]
- add r2, #0x8
- add r1, r2, r1
- add r0, r5, #0x0
- mov r2, #0x0
- blx FS_SeekFile
- ldr r2, [sp, #0x0]
- ldr r1, [sp, #0x4]
- add r0, r6, #0x0
- sub r1, r2, r1
- bl FUN_02016998
- add r4, r0, #0x0
- beq _0200676C
- ldr r3, [sp, #0x0]
- ldr r2, [sp, #0x4]
- add r0, r5, #0x0
- add r1, r4, #0x0
- sub r2, r3, r2
- blx FS_ReadFile
-_0200676C:
- add r0, r4, #0x0
- add sp, #0x8
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02006774
-FUN_02006774: ; 0x02006774
- push {r4-r6, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- add r0, #0x50
- ldrh r0, [r0, #0x0]
- add r4, r1, #0x0
- add r6, r2, #0x0
- cmp r0, r4
- bhi _0200678A
- bl ErrorHandling
-_0200678A:
- ldr r2, [r5, #0x48]
- lsl r1, r4, #0x3
- add r2, #0xc
- add r1, r2, r1
- add r0, r5, #0x0
- mov r2, #0x0
- blx FS_SeekFile
- add r0, r5, #0x0
- add r1, sp, #0x4
- mov r2, #0x4
- blx FS_ReadFile
- add r0, r5, #0x0
- add r1, sp, #0x0
- mov r2, #0x4
- blx FS_ReadFile
- ldr r2, [r5, #0x4c]
- ldr r1, [sp, #0x4]
- add r2, #0x8
- add r1, r2, r1
- add r0, r5, #0x0
- mov r2, #0x0
- blx FS_SeekFile
- ldr r3, [sp, #0x0]
- ldr r2, [sp, #0x4]
- add r0, r5, #0x0
- add r1, r6, #0x0
- sub r2, r3, r2
- blx FS_ReadFile
- add sp, #0x8
- pop {r4-r6, pc}
-
- thumb_func_start FUN_020067D0
-FUN_020067D0: ; 0x020067D0
- push {r3-r5, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- add r0, #0x50
- ldrh r0, [r0, #0x0]
- add r4, r1, #0x0
- cmp r0, r4
- bhi _020067E4
- bl ErrorHandling
-_020067E4:
- ldr r2, [r5, #0x48]
- lsl r1, r4, #0x3
- add r2, #0xc
- add r1, r2, r1
- add r0, r5, #0x0
- mov r2, #0x0
- blx FS_SeekFile
- add r0, r5, #0x0
- add r1, sp, #0x4
- mov r2, #0x4
- blx FS_ReadFile
- add r0, r5, #0x0
- add r1, sp, #0x0
- mov r2, #0x4
- blx FS_ReadFile
- ldr r1, [sp, #0x0]
- ldr r0, [sp, #0x4]
- sub r0, r1, r0
- add sp, #0x8
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02006814
-FUN_02006814: ; 0x02006814
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r0, #0x50
- ldrh r0, [r0, #0x0]
- add r4, r1, #0x0
- add r6, r2, #0x0
- add r7, r3, #0x0
- cmp r0, r4
- bhi _0200682A
- bl ErrorHandling
-_0200682A:
- ldr r2, [r5, #0x48]
- lsl r1, r4, #0x3
- add r2, #0xc
- add r1, r2, r1
- add r0, r5, #0x0
- mov r2, #0x0
- blx FS_SeekFile
- add r0, r5, #0x0
- add r1, sp, #0x0
- mov r2, #0x4
- blx FS_ReadFile
- ldr r2, [r5, #0x4c]
- ldr r1, [sp, #0x0]
- add r2, #0x8
- add r1, r2, r1
- add r0, r5, #0x0
- add r1, r6, r1
- mov r2, #0x0
- blx FS_SeekFile
- ldr r1, [sp, #0x18]
- add r0, r5, #0x0
- add r2, r7, #0x0
- blx FS_ReadFile
- pop {r3-r7, pc}
- .balign 4
diff --git a/asm/rom2.s b/asm/rom2.s
deleted file mode 100644
index 0f18b45a..00000000
--- a/asm/rom2.s
+++ /dev/null
@@ -1,7 +0,0 @@
-
- .include "asm/macros.inc"
- .include "global.inc"
-
- .data
-
-.incbin "baserom.nds", 0xF0710, 0x3F8 ; this does not seem to be code
diff --git a/asm/rom2_2.s b/asm/rom2_2.s
deleted file mode 100644
index d5055773..00000000
--- a/asm/rom2_2.s
+++ /dev/null
@@ -1,734 +0,0 @@
-.include "asm/macros.inc"
-.include "global.inc"
-
-/* rom2.s TODO: Disassemble */
-
-.section .data
-
-.incbin "baserom.nds", 0xF0B50, 0x6A0C
-
- .global gScriptCmdTable
-gScriptCmdTable: ; 0x020F355C
- .word FUN_020399A0
- .word FUN_020399A4
- .word FUN_020399A8
- .word FUN_020399B4
- .word FUN_02039A28
- .word FUN_02039A40
- .word FUN_02039A5C
- .word FUN_02039A78
- .word FUN_02039A90
- .word FUN_02039AAC
- .word FUN_02039ACC
- .word FUN_02039AF8
- .word FUN_02039B28
- .word FUN_02039B50
- .word FUN_02039B78
- .word FUN_02039BA0
- .word FUN_02039BBC
- .word FUN_02039BDC
- .word FUN_02039C08
- .word FUN_02039C40
- .word FUN_02039C78
- .word FUN_02039CE4
- .word FUN_02039CF8
- .word FUN_02039D10
- .word FUN_02039D48
- .word FUN_02039D78
- .word FUN_02039DAC
- .word FUN_02039DC4
- .word FUN_02039DD0
- .word FUN_02039E04
- .word FUN_02039E38
- .word FUN_02039E50
- .word FUN_02039E68
- .word FUN_02039E84
- .word FUN_02039EC0
- .word FUN_02039EE8
- .word FUN_02039F0C
- .word FUN_02039F30
- .word FUN_02039F58
- .word FUN_02039F88
- .word FUN_02039FB8
- .word FUN_02039FDC
- .word FUN_0203A00C
- .word FUN_0203A038
- .word FUN_0203A2C4
- .word FUN_0203A304
- .word FUN_0203A388
- .word FUN_0203A400
- .word FUN_0203A45C
- .word FUN_0203A4D0
- .word FUN_0203A560
- .word FUN_0203A590
- .word FUN_0203A5D8
- .word FUN_0203A608
- .word FUN_0203A780
- .word FUN_0203A830
- .word FUN_0203A85C
- .word FUN_0203A878
- .word FUN_0203A8B8
- .word FUN_0203A9F0
- .word FUN_0203AA90
- .word FUN_0203A630
- .word FUN_0203AAA0
- .word FUN_0203DEA8
- .word FUN_0203AB8C
- .word FUN_0203AC14
- .word FUN_0203AC9C
- .word FUN_0203AD08
- .word FUN_0203ADC4
- .word FUN_0203AE4C
- .word FUN_0203AED4
- .word FUN_0203AF34
- .word FUN_0203AF58
- .word FUN_020414E0
- .word FUN_020414FC
- .word FUN_02041518
- .word FUN_02041558
- .word FUN_02041588
- .word FUN_020415AC
- .word FUN_020415BC
- .word FUN_020413E8
- .word FUN_020413F8
- .word FUN_0204140C
- .word FUN_02041424
- .word FUN_0204143C
- .word FUN_02041478
- .word FUN_0204149C
- .word FUN_020414B8
- .word FUN_020414CC
- .word FUN_020415E0
- .word FUN_02041618
- .word FUN_02041644
- .word FUN_02041650
- .word FUN_02041664
- .word FUN_0203AFC4
- .word FUN_0203B148
- .word FUN_0203B1F0
- .word FUN_0203B3B0
- .word FUN_0203B3C0
- .word FUN_0203B3DC
- .word FUN_0203B3F8
- .word FUN_0203B440
- .word FUN_0203B468
- .word FUN_0203B500
- .word FUN_0203B544
- .word FUN_0203B574
- .word FUN_0203B5B8
- .word FUN_0203B640
- .word FUN_0203B724
- .word FUN_0203B758
- .word FUN_0203B7D8
- .word FUN_02043C6C
- .word FUN_02043C90
- .word FUN_02043CE4
- .word FUN_02043D78
- .word FUN_02043DC8
- .word FUN_02043DE0
- .word FUN_02043A44
- .word FUN_02043A94
- .word FUN_02043AAC
- .word FUN_02043ACC
- .word FUN_02043AFC
- .word FUN_02043B28
- .word FUN_02045784
- .word FUN_020457DC
- .word FUN_02045834
- .word FUN_0204588C
- .word FUN_020458E4
- .word FUN_02045918
- .word FUN_02045950
- .word FUN_02045954
- .word FUN_02045958
- .word FUN_020459AC
- .word FUN_020459E8
- .word FUN_02045A3C
- .word FUN_02045A78
- .word FUN_02045ACC
- .word FUN_02045B08
- .word FUN_02045B44
- .word FUN_02045B80
- .word FUN_02045BC8
- .word FUN_02045C04
- .word FUN_02045C40
- .word FUN_02045C7C
- .word FUN_02045CD4
- .word FUN_02045D10
- .word FUN_02045D4C
- .word FUN_0203B81C
- .word FUN_0203B85C
- .word FUN_0203B8A0
- .word FUN_020442BC
- .word FUN_02044414
- .word FUN_0204449C
- .word FUN_020444F4
- .word FUN_02044598
- .word FUN_0203BB34
- .word FUN_0203BB80
- .word FUN_0203BB84
- .word FUN_0203BB88
- .word FUN_0203BB8C
- .word FUN_02045264
- .word FUN_0203BC1C
- .word FUN_0203BCBC
- .word FUN_0203BCCC
- .word FUN_0203BCD8
- .word FUN_0203BF20
- .word FUN_0203BF2C
- .word FUN_0203BF84
- .word FUN_0203BFEC
- .word FUN_0203C118
- .word FUN_0203C12C
- .word FUN_0203C278
- .word FUN_0203C2C4
- .word FUN_0203C2E0
- .word FUN_0203C2F0
- .word FUN_0203C300
- .word FUN_0203C32C
- .word FUN_0203C33C
- .word FUN_0203C368
- .word FUN_0203C3C8
- .word FUN_0203C3E8
- .word FUN_0203C430
- .word FUN_020416A8
- .word FUN_02041770
- .word FUN_020417E0
- .word FUN_02041808
- .word FUN_0203C4F0
- .word FUN_0203C520
- .word FUN_0203C6C4
- .word FUN_0203C70C
- .word FUN_0203C730
- .word FUN_0203C844
- .word FUN_0203C874
- .word FUN_0203C8B4
- .word FUN_0203C8E4
- .word FUN_0203C930
- .word FUN_0203C960
- .word FUN_0203C990
- .word FUN_0203CA20
- .word FUN_0203CA2C
- .word FUN_0203CA5C
- .word FUN_0203CB08
- .word FUN_0203CB20
- .word FUN_0203CB48
- .word FUN_0203CB60
- .word FUN_020406CC
- .word FUN_02040700
- .word FUN_02040724
- .word FUN_02040748
- .word FUN_02040790
- .word FUN_020407C8
- .word FUN_02040800
- .word FUN_0204083C
- .word FUN_02040874
- .word FUN_0204091C
- .word FUN_020409C0
- .word FUN_020409F8
- .word FUN_02040A30
- .word FUN_02040A7C
- .word FUN_02040B0C
- .word FUN_02040B5C
- .word FUN_02040BAC
- .word FUN_0203CBBC
- .word FUN_02040BFC
- .word FUN_02040C34
- .word FUN_02040C6C
- .word FUN_02040CA4
- .word FUN_0203CB70
- .word FUN_0204185C
- .word FUN_0204188C
- .word FUN_0203CBE8
- .word FUN_02041970
- .word FUN_020419F8
- .word FUN_02041A80
- .word FUN_02041AB4
- .word FUN_02041AD4
- .word FUN_02041AE0
- .word FUN_02041B10
- .word FUN_02041B70
- .word FUN_02041B9C
- .word FUN_02041BC4
- .word FUN_02041BF0
- .word FUN_0203CC88
- .word FUN_0203CD20
- .word FUN_0203CDB8
- .word FUN_0203CDC4
- .word FUN_0203CDD0
- .word FUN_0203CE00
- .word FUN_0203FE90
- .word FUN_0203FEC0
- .word FUN_0203FF10
- .word FUN_02040028
- .word FUN_02040074
- .word FUN_020400C8
- .word FUN_0204011C
- .word FUN_02040170
- .word FUN_020401CC
- .word FUN_02040204
- .word FUN_02040220
- .word FUN_0204025C
- .word FUN_02040298
- .word FUN_020402D4
- .word FUN_02040304
- .word FUN_02040340
- .word FUN_02040370
- .word FUN_020403A0
- .word FUN_020403D0
- .word FUN_02040414
- .word FUN_02040458
- .word FUN_020404FC
- .word FUN_0204052C
- .word FUN_0204056C
- .word FUN_02040488
- .word FUN_020405CC
- .word FUN_020405F8
- .word FUN_02040638
- .word FUN_0204064C
- .word FUN_02040660
- .word FUN_020406C0
- .word FUN_0204059C
- .word FUN_020405B4
- .word FUN_02044CE0
- .word FUN_02044D44
- .word FUN_0203CE0C
- .word FUN_0203CE8C
- .word FUN_0203CEBC
- .word FUN_0203CF04
- .word FUN_0203CF34
- .word FUN_0203CF64
- .word FUN_0203CF94
- .word FUN_0203CFC4
- .word FUN_0203CFC8
- .word FUN_0203D050
- .word FUN_0203D0F8
- .word FUN_0203D134
- .word FUN_0203D140
- .word FUN_0203D150
- .word FUN_0203D178
- .word FUN_0203D194
- .word FUN_0203D1A4
- .word FUN_0203D1C0
- .word FUN_0203D214
- .word FUN_0203C054
- .word FUN_0203C090
- .word FUN_0203C0CC
- .word FUN_0203D23C
- .word FUN_0203D248
- .word FUN_0203D278
- .word FUN_0203D2A4
- .word FUN_0203D2E4
- .word FUN_0203D330
- .word FUN_0203D33C
- .word FUN_0203D36C
- .word FUN_0203D3A4
- .word FUN_0203D60C
- .word FUN_0203D61C
- .word FUN_0203D3DC
- .word FUN_0203D448
- .word FUN_0203D458
- .word FUN_0203D490
- .word FUN_0203D528
- .word FUN_0203D5B0
- .word FUN_0203D5F8
- .word FUN_0203D630
- .word FUN_0203D66C
- .word FUN_0203D6C4
- .word FUN_0203D560
- .word FUN_0203FCF4
- .word FUN_0203FDBC
- .word FUN_0203FE08
- .word FUN_0203FE48
- .word FUN_0203D868
- .word FUN_0203D874
- .word FUN_0203D8A0
- .word FUN_0203D8D0
- .word FUN_0203D8E8
- .word FUN_0203D8EC
- .word FUN_0203D938
- .word FUN_0203D948
- .word FUN_0203D728
- .word FUN_0203D738
- .word FUN_0203D774
- .word FUN_0203D834
- .word FUN_020453F4
- .word FUN_02045424
- .word FUN_02045438
- .word FUN_02045468
- .word FUN_02045484
- .word FUN_020454CC
- .word FUN_0204552C
- .word FUN_02045500
- .word FUN_0204557C
- .word FUN_02045590
- .word FUN_020455BC
- .word FUN_020455D0
- .word FUN_020455E4
- .word FUN_02045610
- .word FUN_02045624
- .word FUN_02045638
- .word FUN_02045664
- .word FUN_0203DC00
- .word FUN_0203DC58
- .word FUN_0203DC70
- .word FUN_0203DC88
- .word FUN_0203DCA0
- .word FUN_02043E00
- .word FUN_02043E20
- .word FUN_0203DCB8
- .word FUN_0203DCC8
- .word FUN_0203DCD8
- .word FUN_0203DCE8
- .word FUN_0203DCF8
- .word FUN_0203DD08
- .word FUN_0203DD18
- .word FUN_0203DD34
- .word FUN_02044B00
- .word FUN_0203C460
- .word FUN_0203C4B0
- .word FUN_0203D958
- .word FUN_02040D04
- .word FUN_02040D7C
- .word FUN_02042B0C
- .word FUN_02042B40
- .word FUN_02042B74
- .word FUN_02042BA8
- .word FUN_02042BDC
- .word FUN_02042C10
- .word FUN_02042C44
- .word FUN_02042C8C
- .word FUN_02042CBC
- .word FUN_0203D998
- .word FUN_0203D9E8
- .word FUN_0203DA78
- .word FUN_0203DAB0
- .word FUN_0203DAE8
- .word FUN_0203DB38
- .word FUN_0203DB88
- .word FUN_0203AB44
- .word FUN_0203AB74
- .word FUN_0203DBD4
- .word FUN_0203A484
- .word FUN_0203B8E4
- .word FUN_0203B944
- .word FUN_0203B968
- .word FUN_0203B9B4
- .word FUN_0203BA3C
- .word FUN_0203BAB0
- .word FUN_0203BAF4
- .word FUN_0204434C
- .word FUN_020443A8
- .word FUN_02044B2C
- .word FUN_02044B84
- .word FUN_02044C0C
- .word FUN_02044C88
- .word FUN_0203DD60
- .word FUN_0203DE00
- .word FUN_0203DE4C
- .word FUN_0203DE58
- .word FUN_0203DE80
- .word FUN_02043CB4
- .word FUN_02043E9C
- .word FUN_02044120
- .word FUN_02044138
- .word FUN_0204413C
- .word FUN_02043E50
- .word FUN_02043E68
- .word FUN_02043EFC
- .word FUN_02043D28
- .word FUN_0203DD50
- .word FUN_02044140
- .word FUN_02043F50
- .word FUN_02043FA0
- .word FUN_02043FF4
- .word FUN_0203DEC4
- .word FUN_0203DEF8
- .word FUN_0203DF2C
- .word FUN_0203DF38
- .word FUN_0203DF64
- .word FUN_0203DF84
- .word FUN_0203DFA8
- .word FUN_0203DFE0
- .word FUN_0204488C
- .word FUN_020448D4
- .word FUN_020449A4
- .word FUN_02044034
- .word FUN_0203B618
- .word FUN_020440C0
- .word FUN_020440F0
- .word FUN_02044F58
- .word FUN_0203E018
- .word FUN_0203E054
- .word FUN_0203E078
- .word FUN_0203E0CC
- .word FUN_0203E120
- .word FUN_02045D88
- .word FUN_02045DD0
- .word FUN_02044D8C
- .word FUN_02044E34
- .word FUN_02044E78
- .word FUN_02040E4C
- .word FUN_0203E138
- .word FUN_0203E168
- .word FUN_0203E254
- .word FUN_02045678
- .word FUN_020456D4
- .word FUN_0204572C
- .word FUN_0203E258
- .word FUN_0203E29C
- .word FUN_0203E2F8
- .word FUN_0203E35C
- .word FUN_0203E38C
- .word FUN_0203C174
- .word FUN_0203C1AC
- .word FUN_0203C200
- .word FUN_02042354
- .word FUN_02042364
- .word FUN_02042394
- .word FUN_020423B0
- .word FUN_02042700
- .word FUN_02042780
- .word FUN_020427A8
- .word FUN_020427D0
- .word FUN_02042864
- .word FUN_02042894
- .word FUN_020428E0
- .word FUN_0203E4F0
- .word FUN_0203E510
- .word FUN_0203E568
- .word FUN_0203E3D0
- .word FUN_0203E408
- .word FUN_0203E440
- .word FUN_0203E470
- .word FUN_0203E4A0
- .word FUN_0203E4B0
- .word FUN_02044ED8
- .word FUN_0203E4D8
- .word FUN_02044F20
- .word FUN_02045268
- .word FUN_02045398
- .word FUN_0204539C
- .word FUN_020452B4
- .word FUN_02045308
- .word FUN_0204469C
- .word FUN_02044658
- .word FUN_0203BC2C
- .word FUN_02039A10
- .word FUN_0203A04C
- .word FUN_0203A098
- .word FUN_0203A0FC
- .word FUN_0203A13C
- .word FUN_0203A188
- .word FUN_0203A210
- .word FUN_0203C7F4
- .word FUN_0203C820
- .word FUN_0203E5DC
- .word FUN_0203C788
- .word FUN_0203C7E4
- .word FUN_0203C0FC
- .word FUN_0203E674
- .word FUN_0203BD08
- .word FUN_0203BD28
- .word FUN_0203BE50
- .word FUN_0203BECC
- .word FUN_0203BF00
- .word FUN_0203A3C4
- .word FUN_0203E684
- .word FUN_0203E6B4
- .word FUN_0203E6C4
- .word FUN_0203E6FC
- .word FUN_0203E72C
- .word FUN_0204478C
- .word FUN_02044800
- .word FUN_0203E744
- .word FUN_02044158
- .word FUN_0204416C
- .word FUN_02044198
- .word FUN_0203E774
- .word FUN_0203E7F0
- .word FUN_0203E81C
- .word FUN_0203E848
- .word FUN_0203E858
- .word FUN_02041C38
- .word FUN_02045E1C
- .word FUN_02045E20
- .word FUN_02045EE0
- .word FUN_02045EE4
- .word FUN_02045F84
- .word FUN_02045F88
- .word FUN_02045F24
- .word FUN_02045FCC
- .word FUN_0203E870
- .word FUN_0203E894
- .word FUN_0203E8C4
- .word FUN_0203E8F4
- .word FUN_0203E928
- .word FUN_0203E940
- .word FUN_0203E954
- .word FUN_0203E968
- .word FUN_02044FE8
- .word FUN_0204505C
- .word FUN_02045104
- .word FUN_02045170
- .word FUN_02040EB4
- .word FUN_0203E9CC
- .word FUN_0203EA68
- .word FUN_02041E40
- .word FUN_02041FDC
- .word FUN_02042038
- .word FUN_02042110
- .word FUN_0203EA90
- .word FUN_0203EAB0
- .word FUN_0203EB20
- .word FUN_0203EB48
- .word FUN_0203EB88
- .word FUN_02042D1C
- .word FUN_02046010
- .word FUN_0204601C
- .word FUN_02046028
- .word FUN_0204602C
- .word FUN_0203C5BC
- .word FUN_0203C614
- .word FUN_0203C680
- .word FUN_0203EBC8
- .word FUN_02044A6C
- .word FUN_02044A94
- .word FUN_0203EBE4
- .word FUN_0203ECAC
- .word FUN_0203ECD8
- .word FUN_0203ECF4
- .word FUN_0203ED10
- .word FUN_02041194
- .word FUN_020411C4
- .word FUN_02041340
- .word FUN_02040964
- .word FUN_0203ED70
- .word FUN_0204387C
- .word FUN_020438D0
- .word FUN_02043918
- .word FUN_020439B4
- .word FUN_0203FE80
- .word FUN_0203EDA4
- .word FUN_0203EDC8
- .word FUN_0203EDE0
- .word FUN_0203EE08
- .word FUN_0203EE18
- .word FUN_0203EE28
- .word FUN_0203EE58
- .word FUN_0203EE68
- .word FUN_0203EE78
- .word FUN_02040DB4
- .word FUN_0203EE98
- .word FUN_0203EED8
- .word FUN_0203EF58
- .word FUN_0203F00C
- .word FUN_0203F020
- .word FUN_0203F034
- .word FUN_0203F058
- .word FUN_0203F07C
- .word FUN_0203F110
- .word FUN_0203F174
- .word FUN_0203F19C
- .word FUN_0203A288
- .word FUN_0203F234
- .word FUN_0203F254
- .word FUN_0203F26C
- .word FUN_0203C58C
- .word FUN_02040DEC
- .word FUN_0203F2AC
- .word FUN_02043B84
- .word FUN_0203F2E4
- .word FUN_02043C28
- .word FUN_0203F31C
- .word FUN_02044730
- .word FUN_0203F348
- .word FUN_0203F38C
- .word FUN_0203F39C
- .word FUN_0204214C
- .word FUN_0203F3AC
- .word FUN_0203F44C
- .word FUN_0203F418
- .word FUN_020408BC
- .word FUN_02044A0C
- .word FUN_0203F484
- .word FUN_02041674
- .word FUN_0203F4D8
- .word FUN_0203F508
- .word FUN_0203F5D4
- .word FUN_0203F604
- .word FUN_0203F634
- .word FUN_0203F664
- .word FUN_0203F6E4
- .word FUN_0203F720
- .word FUN_0203BDB8
- .word FUN_0203BE68
- .word FUN_0203BE80
- .word FUN_0203F760
- .word FUN_0203F7C8
- .word FUN_0203F80C
- .word FUN_0203F880
- .word FUN_0203F924
- .word FUN_02042950
- .word FUN_02042980
- .word FUN_02042998
- .word FUN_020429B8
- .word FUN_020429E8
- .word FUN_02042A18
- .word FUN_02042A48
- .word FUN_02042A98
- .word FUN_0203D7DC
- .word FUN_0203ACC4
- .word FUN_0203F8C0
- .word FUN_0203F954
- .word FUN_0204190C
- .word FUN_0203B024
- .word FUN_0203F9DC
- .word FUN_0203F988
- .word FUN_0203F9B0
- .word FUN_0203B914
- .word FUN_020453A0
- .word FUN_0203FA14
- .word FUN_02043B54
- .word FUN_02043BD0
- .word FUN_0203FA58
- .word FUN_0203B7F0
- .word FUN_0203FB4C
- .word FUN_0203B790
- .word FUN_020413C0
- .word FUN_0203FB64
- .word FUN_0203FB94
- .word FUN_0203FBA0
- .word FUN_0203FBAC
- .word FUN_02040EF8
- .word FUN_0203B2E0
- .word FUN_0203FBBC
- .word FUN_0203FC1C
- .word FUN_020451D0
- .word FUN_02042000
- .word FUN_0203AD54
- .word FUN_0203D4E8
- .word FUN_0203D920
- .word FUN_02041B40
- .word FUN_0203D0A4
- .word FUN_0203FC58
- .word FUN_0203CAE8
- .word FUN_0203A340
- .word FUN_0203FC80
- .word FUN_0203FCB0
- .word FUN_0203FCDC
- .word FUN_02040F34
- .word FUN_02040F6C
- .word FUN_02040FA4
- .word FUN_02040FDC
- .word FUN_02041014
- .word FUN_0204104C
- .word FUN_02041094
- .word FUN_020410C8
- .word FUN_02041100
- .word FUN_02041138
- .word FUN_02041174
- .word FUN_0203AF84
- .word FUN_0203AFA4
-
-.incbin "baserom.nds", 0xF80A0, 0x12F00
diff --git a/asm/scrcmd.s b/asm/scrcmd.s
deleted file mode 100644
index d75850de..00000000
--- a/asm/scrcmd.s
+++ /dev/null
@@ -1,24605 +0,0 @@
- .include "asm/macros.inc"
- .include "global.inc"
-
- .text
-
- thumb_func_start FUN_020399A0
-FUN_020399A0: ; 0x020399A0
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_020399A4
-FUN_020399A4: ; 0x020399A4
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_020399A8
-FUN_020399A8: ; 0x020399A8
- push {r3, lr}
- bl StopScript
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_020399B4
-FUN_020399B4: ; 0x020399B4
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r1, r5, #0x0
- add r1, #0x80
- ldr r6, [r1, #0x0]
- bl ScriptReadHalfword
- add r7, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r4, r0, #0x0
- add r0, r6, #0x0
- add r1, r4, #0x0
- bl FUN_020394B8
- strh r7, [r0, #0x0]
- ldr r1, _020399E4 ; =FUN_020399E8
- add r0, r5, #0x0
- str r4, [r5, #0x64]
- bl SetupNativeScript
- mov r0, #0x1
- pop {r3-r7, pc}
- .balign 4
-_020399E4: .word FUN_020399E8
-
- thumb_func_start FUN_020399E8
-FUN_020399E8: ; 0x020399E8
- push {r3, lr}
- add r1, r0, #0x0
- ldr r1, [r1, #0x64]
- add r0, #0x80
- lsl r1, r1, #0x10
- ldr r0, [r0, #0x0]
- lsr r1, r1, #0x10
- bl FUN_020394B8
- ldrh r1, [r0, #0x0]
- sub r1, r1, #0x1
- strh r1, [r0, #0x0]
- ldrh r0, [r0, #0x0]
- cmp r0, #0x0
- bne _02039A0A
- mov r0, #0x1
- pop {r3, pc}
-_02039A0A:
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_02039A10
-FUN_02039A10: ; 0x02039A10
- push {r4, lr}
- add r4, r0, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394F0
- mov r0, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02039A28
-FUN_02039A28: ; 0x02039A28
- ldr r1, [r0, #0x8]
- add r2, r1, #0x1
- str r2, [r0, #0x8]
- ldrb r3, [r1, #0x0]
- add r1, r2, #0x1
- str r1, [r0, #0x8]
- ldrb r2, [r2, #0x0]
- lsl r1, r3, #0x2
- add r0, r0, r1
- str r2, [r0, #0x64]
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_02039A40
-FUN_02039A40: ; 0x02039A40
- push {r3-r5, lr}
- add r4, r0, #0x0
- ldr r2, [r4, #0x8]
- add r1, r2, #0x1
- str r1, [r4, #0x8]
- ldrb r5, [r2, #0x0]
- bl ScriptReadWord
- lsl r1, r5, #0x2
- add r1, r4, r1
- str r0, [r1, #0x64]
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02039A5C
-FUN_02039A5C: ; 0x02039A5C
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r2, [r5, #0x8]
- add r1, r2, #0x1
- str r1, [r5, #0x8]
- ldrb r4, [r2, #0x0]
- bl ScriptReadWord
- ldrb r1, [r0, #0x0]
- lsl r0, r4, #0x2
- add r0, r5, r0
- str r1, [r0, #0x64]
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02039A78
-FUN_02039A78: ; 0x02039A78
- push {r4, lr}
- add r4, r0, #0x0
- bl ScriptReadWord
- ldr r2, [r4, #0x8]
- add r1, r2, #0x1
- str r1, [r4, #0x8]
- ldrb r1, [r2, #0x0]
- strb r1, [r0, #0x0]
- mov r0, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02039A90
-FUN_02039A90: ; 0x02039A90
- push {r4, lr}
- add r4, r0, #0x0
- bl ScriptReadWord
- ldr r2, [r4, #0x8]
- add r1, r2, #0x1
- str r1, [r4, #0x8]
- ldrb r1, [r2, #0x0]
- lsl r1, r1, #0x2
- add r1, r4, r1
- ldr r1, [r1, #0x64]
- strb r1, [r0, #0x0]
- mov r0, #0x0
- pop {r4, pc}
-
- thumb_func_start FUN_02039AAC
-FUN_02039AAC: ; 0x02039AAC
- ldr r1, [r0, #0x8]
- add r2, r1, #0x1
- str r2, [r0, #0x8]
- ldrb r3, [r1, #0x0]
- add r1, r2, #0x1
- str r1, [r0, #0x8]
- ldrb r1, [r2, #0x0]
- lsl r1, r1, #0x2
- add r1, r0, r1
- ldr r2, [r1, #0x64]
- lsl r1, r3, #0x2
- add r0, r0, r1
- str r2, [r0, #0x64]
- mov r0, #0x0
- bx lr
- .balign 4
-
- thumb_func_start FUN_02039ACC
-FUN_02039ACC: ; 0x02039ACC
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl ScriptReadWord
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadWord
- ldrb r0, [r0, #0x0]
- strb r0, [r4, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02039AE4
-FUN_02039AE4: ; 0x02039AE4
- cmp r0, r1
- bhs _02039AEC
- mov r0, #0x0
- bx lr
-_02039AEC:
- cmp r0, r1
- bne _02039AF4
- mov r0, #0x1
- bx lr
-_02039AF4:
- mov r0, #0x2
- bx lr
-
- thumb_func_start FUN_02039AF8
-FUN_02039AF8: ; 0x02039AF8
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x8]
- add r1, r0, #0x1
- str r1, [r4, #0x8]
- ldrb r0, [r0, #0x0]
- add r2, r1, #0x1
- lsl r0, r0, #0x2
- add r0, r4, r0
- ldr r0, [r0, #0x64]
- str r2, [r4, #0x8]
- ldrb r1, [r1, #0x0]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- lsl r1, r1, #0x2
- add r1, r4, r1
- ldr r1, [r1, #0x64]
- lsl r1, r1, #0x18
- lsr r1, r1, #0x18
- bl FUN_02039AE4
- strb r0, [r4, #0x2]
- mov r0, #0x0
- pop {r4, pc}
-
- thumb_func_start FUN_02039B28
-FUN_02039B28: ; 0x02039B28
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x8]
- add r1, r0, #0x1
- str r1, [r4, #0x8]
- ldrb r0, [r0, #0x0]
- add r2, r1, #0x1
- lsl r0, r0, #0x2
- add r0, r4, r0
- ldr r0, [r0, #0x64]
- str r2, [r4, #0x8]
- ldrb r1, [r1, #0x0]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- bl FUN_02039AE4
- strb r0, [r4, #0x2]
- mov r0, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02039B50
-FUN_02039B50: ; 0x02039B50
- push {r3-r5, lr}
- add r4, r0, #0x0
- ldr r2, [r4, #0x8]
- add r1, r2, #0x1
- str r1, [r4, #0x8]
- ldrb r1, [r2, #0x0]
- lsl r1, r1, #0x2
- add r1, r4, r1
- ldr r1, [r1, #0x64]
- lsl r1, r1, #0x18
- lsr r5, r1, #0x18
- bl ScriptReadWord
- ldrb r1, [r0, #0x0]
- add r0, r5, #0x0
- bl FUN_02039AE4
- strb r0, [r4, #0x2]
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02039B78
-FUN_02039B78: ; 0x02039B78
- push {r4, lr}
- add r4, r0, #0x0
- bl ScriptReadWord
- ldr r2, [r4, #0x8]
- ldrb r0, [r0, #0x0]
- add r1, r2, #0x1
- str r1, [r4, #0x8]
- ldrb r1, [r2, #0x0]
- lsl r1, r1, #0x2
- add r1, r4, r1
- ldr r1, [r1, #0x64]
- lsl r1, r1, #0x18
- lsr r1, r1, #0x18
- bl FUN_02039AE4
- strb r0, [r4, #0x2]
- mov r0, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02039BA0
-FUN_02039BA0: ; 0x02039BA0
- push {r4, lr}
- add r4, r0, #0x0
- bl ScriptReadWord
- ldr r2, [r4, #0x8]
- ldrb r0, [r0, #0x0]
- add r1, r2, #0x1
- str r1, [r4, #0x8]
- ldrb r1, [r2, #0x0]
- bl FUN_02039AE4
- strb r0, [r4, #0x2]
- mov r0, #0x0
- pop {r4, pc}
-
- thumb_func_start FUN_02039BBC
-FUN_02039BBC: ; 0x02039BBC
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl ScriptReadWord
- ldrb r4, [r0, #0x0]
- add r0, r5, #0x0
- bl ScriptReadWord
- ldrb r1, [r0, #0x0]
- add r0, r4, #0x0
- bl FUN_02039AE4
- strb r0, [r5, #0x2]
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02039BDC
-FUN_02039BDC: ; 0x02039BDC
- push {r3-r5, lr}
- add r4, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- ldrh r5, [r0, #0x0]
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02039AE4
- strb r0, [r4, #0x2]
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02039C08
-FUN_02039C08: ; 0x02039C08
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r1, r0, #0x0
- ldrh r0, [r4, #0x0]
- ldrh r1, [r1, #0x0]
- bl FUN_02039AE4
- strb r0, [r5, #0x2]
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02039C40
-FUN_02039C40: ; 0x02039C40
- push {r3-r7, lr}
- add r7, r0, #0x0
- add r0, #0x80
- ldr r5, [r0, #0x0]
- mov r1, #0x7
- add r0, r5, #0x0
- bl FUN_02039438
- add r4, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0xe
- bl FUN_02039438
- add r6, r0, #0x0
- add r0, r7, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02038EB0
- str r0, [r6, #0x0]
- ldrb r0, [r4, #0x0]
- add r0, r0, #0x1
- strb r0, [r4, #0x0]
- mov r0, #0x1
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02039C78
-FUN_02039C78: ; 0x02039C78
- push {r3-r7, lr}
- str r0, [sp, #0x0]
- add r0, #0x80
- ldr r5, [r0, #0x0]
- mov r1, #0x5
- add r0, r5, #0x0
- bl FUN_02039438
- add r6, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0x7
- bl FUN_02039438
- add r4, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0xe
- bl FUN_02039438
- add r7, r0, #0x0
- ldr r0, [sp, #0x0]
- bl ScriptReadHalfword
- add r1, r0, #0x0
- mov r0, #0x1
- strb r0, [r6, #0x0]
- add r0, r5, #0x0
- bl FUN_02038EB0
- str r0, [r7, #0x0]
- ldrb r0, [r4, #0x0]
- ldr r1, _02039CC4 ; =FUN_02039CC8
- add r0, r0, #0x1
- strb r0, [r4, #0x0]
- ldr r0, [sp, #0x0]
- bl SetupNativeScript
- mov r0, #0x1
- pop {r3-r7, pc}
- .balign 4
-_02039CC4: .word FUN_02039CC8
-
- thumb_func_start FUN_02039CC8
-FUN_02039CC8: ; 0x02039CC8
- push {r3, lr}
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x5
- bl FUN_02039438
- ldrb r0, [r0, #0x0]
- cmp r0, #0x0
- bne _02039CDE
- mov r0, #0x1
- pop {r3, pc}
-_02039CDE:
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_02039CE4
-FUN_02039CE4: ; 0x02039CE4
- push {r3, lr}
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x5
- bl FUN_02039438
- mov r1, #0x0
- strb r1, [r0, #0x0]
- add r0, r1, #0x0
- pop {r3, pc}
-
- thumb_func_start FUN_02039CF8
-FUN_02039CF8: ; 0x02039CF8
- push {r4, lr}
- add r4, r0, #0x0
- bl ScriptReadWord
- add r2, r0, #0x0
- ldr r1, [r4, #0x8]
- add r0, r4, #0x0
- add r1, r1, r2
- bl ScriptJump
- mov r0, #0x0
- pop {r4, pc}
-
- thumb_func_start FUN_02039D10
-FUN_02039D10: ; 0x02039D10
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xa
- bl FUN_02039438
- ldr r1, [r5, #0x8]
- add r6, r0, #0x0
- add r0, r1, #0x1
- str r0, [r5, #0x8]
- add r0, r5, #0x0
- ldrb r4, [r1, #0x0]
- bl ScriptReadWord
- add r7, r0, #0x0
- ldr r0, [r6, #0x0]
- bl FUN_02058448
- cmp r4, r0
- bne _02039D44
- ldr r1, [r5, #0x8]
- add r0, r5, #0x0
- add r1, r1, r7
- bl ScriptJump
-_02039D44:
- mov r0, #0x0
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02039D48
-FUN_02039D48: ; 0x02039D48
- push {r4-r6, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0x74]
- bl FUN_02046534
- ldr r1, [r5, #0x8]
- add r6, r0, #0x0
- add r0, r1, #0x1
- str r0, [r5, #0x8]
- ldrb r4, [r1, #0x0]
- add r0, r5, #0x0
- bl ScriptReadWord
- add r2, r0, #0x0
- cmp r6, r4
- bne _02039D72
- ldr r1, [r5, #0x8]
- add r0, r5, #0x0
- add r1, r1, r2
- bl ScriptJump
-_02039D72:
- mov r0, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02039D78
-FUN_02039D78: ; 0x02039D78
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x9
- bl FUN_02039438
- ldr r1, [r5, #0x8]
- add r6, r0, #0x0
- add r0, r1, #0x1
- str r0, [r5, #0x8]
- ldrb r4, [r1, #0x0]
- add r0, r5, #0x0
- bl ScriptReadWord
- add r2, r0, #0x0
- ldr r0, [r6, #0x0]
- cmp r0, r4
- bne _02039DA8
- ldr r1, [r5, #0x8]
- add r0, r5, #0x0
- add r1, r1, r2
- bl ScriptJump
-_02039DA8:
- mov r0, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02039DAC
-FUN_02039DAC: ; 0x02039DAC
- push {r4, lr}
- add r4, r0, #0x0
- bl ScriptReadWord
- add r2, r0, #0x0
- ldr r1, [r4, #0x8]
- add r0, r4, #0x0
- add r1, r1, r2
- bl ScriptCall
- mov r0, #0x0
- pop {r4, pc}
-
- thumb_func_start FUN_02039DC4
-FUN_02039DC4: ; 0x02039DC4
- push {r3, lr}
- bl ScriptReturn
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_02039DD0
-FUN_02039DD0: ; 0x02039DD0
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r2, [r5, #0x8]
- add r1, r2, #0x1
- str r1, [r5, #0x8]
- ldrb r4, [r2, #0x0]
- bl ScriptReadWord
- add r1, r0, #0x0
- lsl r0, r4, #0x1
- add r3, r4, r0
- ldr r0, _02039E00 ; =0x020F34E8
- ldrb r2, [r5, #0x2]
- add r0, r0, r3
- ldrb r0, [r2, r0]
- cmp r0, #0x1
- bne _02039DFC
- ldr r2, [r5, #0x8]
- add r0, r5, #0x0
- add r1, r2, r1
- bl ScriptJump
-_02039DFC:
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-_02039E00: .word 0x020F34E8
-
- thumb_func_start FUN_02039E04
-FUN_02039E04: ; 0x02039E04
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r2, [r5, #0x8]
- add r1, r2, #0x1
- str r1, [r5, #0x8]
- ldrb r4, [r2, #0x0]
- bl ScriptReadWord
- add r1, r0, #0x0
- lsl r0, r4, #0x1
- add r3, r4, r0
- ldr r0, _02039E34 ; =0x020F34E8
- ldrb r2, [r5, #0x2]
- add r0, r0, r3
- ldrb r0, [r2, r0]
- cmp r0, #0x1
- bne _02039E30
- ldr r2, [r5, #0x8]
- add r0, r5, #0x0
- add r1, r2, r1
- bl ScriptCall
-_02039E30:
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-_02039E34: .word 0x020F34E8
-
- thumb_func_start FUN_02039E38
-FUN_02039E38: ; 0x02039E38
- push {r4, lr}
- add r1, r0, #0x0
- add r1, #0x80
- ldr r4, [r1, #0x0]
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- bl FUN_0203953C
- mov r0, #0x0
- pop {r4, pc}
-
- thumb_func_start FUN_02039E50
-FUN_02039E50: ; 0x02039E50
- push {r4, lr}
- add r1, r0, #0x0
- add r1, #0x80
- ldr r4, [r1, #0x0]
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- bl FUN_02039550
- mov r0, #0x0
- pop {r4, pc}
-
- thumb_func_start FUN_02039E68
-FUN_02039E68: ; 0x02039E68
- push {r3-r5, lr}
- add r4, r0, #0x0
- add r1, r4, #0x0
- add r1, #0x80
- ldr r5, [r1, #0x0]
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02039528
- strb r0, [r4, #0x2]
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02039E84
-FUN_02039E84: ; 0x02039E84
- push {r4-r6, lr}
- add r4, r0, #0x0
- add r1, r4, #0x0
- add r1, #0x80
- ldr r5, [r1, #0x0]
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394B8
- add r4, r0, #0x0
- ldrh r1, [r6, #0x0]
- add r0, r5, #0x0
- bl FUN_02039528
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02039EC0
-FUN_02039EC0: ; 0x02039EC0
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r1, r5, #0x0
- add r1, #0x80
- ldr r4, [r1, #0x0]
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394B8
- add r1, r0, #0x0
- ldrh r1, [r1, #0x0]
- add r0, r4, #0x0
- bl FUN_0203953C
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02039EE8
-FUN_02039EE8: ; 0x02039EE8
- push {r3-r5, lr}
- add r4, r0, #0x0
- add r1, r4, #0x0
- add r1, #0x80
- ldr r5, [r1, #0x0]
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394F0
- add r1, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0203965C
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02039F0C
-FUN_02039F0C: ; 0x02039F0C
- push {r3-r5, lr}
- add r4, r0, #0x0
- add r1, r4, #0x0
- add r1, #0x80
- ldr r5, [r1, #0x0]
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394F0
- add r1, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02039678
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02039F30
-FUN_02039F30: ; 0x02039F30
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r1, r5, #0x0
- add r1, #0x80
- ldr r4, [r1, #0x0]
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r1, r0, #0x0
- add r0, r4, #0x0
- bl FUN_02039640
- strb r0, [r5, #0x2]
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02039F58
-FUN_02039F58: ; 0x02039F58
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- ldrh r1, [r4, #0x0]
- add r0, r1, r0
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02039F88
-FUN_02039F88: ; 0x02039F88
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- ldrh r1, [r4, #0x0]
- sub r0, r1, r0
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02039FB8
-FUN_02039FB8: ; 0x02039FB8
- push {r3-r5, lr}
- add r4, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- strh r0, [r5, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02039FDC
-FUN_02039FDC: ; 0x02039FDC
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394B8
- ldrh r0, [r0, #0x0]
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0203A00C
-FUN_0203A00C: ; 0x0203A00C
- push {r3-r5, lr}
- add r4, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394F0
- strh r0, [r5, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0203A038
-FUN_0203A038: ; 0x0203A038
- push {r3, lr}
- ldr r2, [r0, #0x8]
- add r1, r2, #0x1
- str r1, [r0, #0x8]
- ldrb r2, [r2, #0x0]
- ldr r1, [r0, #0x78]
- bl FUN_021E2C24
- mov r0, #0x0
- pop {r3, pc}
-
- thumb_func_start FUN_0203A04C
-FUN_0203A04C: ; 0x0203A04C
- push {r4-r6, lr}
- add r4, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r6, r0, #0x0
- mov r0, #0x1
- mov r1, #0x1a
- add r2, r5, #0x0
- mov r3, #0x20
- bl FUN_0200A86C
- add r5, r0, #0x0
- add r0, r4, #0x0
- add r1, r5, #0x0
- add r2, r6, #0x0
- bl FUN_021E2C24
- add r0, r5, #0x0
- bl FUN_0200A8B8
- mov r0, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_0203A098
-FUN_0203A098: ; 0x0203A098
- push {r3-r6, lr}
- sub sp, #0x4
- add r4, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r6, r0, #0x0
- mov r0, #0x1
- mov r1, #0x1a
- add r2, r5, #0x0
- mov r3, #0x20
- bl FUN_0200A86C
- add r5, r0, #0x0
- mov r0, #0x0
- str r0, [sp, #0x0]
- add r0, r4, #0x0
- add r1, r5, #0x0
- add r2, r6, #0x0
- mov r3, #0x1
- bl FUN_021E2BD0
- add r0, r5, #0x0
- bl FUN_0200A8B8
- ldr r1, _0203A0F8 ; =FUN_0203A2F0
- add r0, r4, #0x0
- bl SetupNativeScript
- mov r0, #0x1
- add sp, #0x4
- pop {r3-r6, pc}
- nop
-_0203A0F8: .word FUN_0203A2F0
-
- thumb_func_start FUN_0203A0FC
-FUN_0203A0FC: ; 0x0203A0FC
- push {r3-r7, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r7, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- str r0, [sp, #0x0]
- mov r0, #0xff
- str r0, [sp, #0x4]
- add r0, r5, #0x0
- add r1, r4, #0x0
- add r2, r6, #0x0
- add r3, r7, #0x0
- bl FUN_021E2C58
- mov r0, #0x0
- add sp, #0x8
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0203A13C
-FUN_0203A13C: ; 0x0203A13C
- push {r3-r7, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r7, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- str r0, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- add r0, r5, #0x0
- add r1, r4, #0x0
- add r2, r6, #0x0
- add r3, r7, #0x0
- bl FUN_021E2C58
- ldr r1, _0203A184 ; =FUN_0203A2F0
- add r0, r5, #0x0
- bl SetupNativeScript
- mov r0, #0x1
- add sp, #0x8
- pop {r3-r7, pc}
- nop
-_0203A184: .word FUN_0203A2F0
-
- thumb_func_start FUN_0203A188
-FUN_0203A188: ; 0x0203A188
- push {r4-r6, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- ldr r2, [r5, #0x8]
- add r1, r2, #0x1
- str r1, [r5, #0x8]
- add r1, r5, #0x0
- add r1, #0x80
- ldr r1, [r1, #0x0]
- ldrb r3, [r2, #0x0]
- add r1, #0xa8
- ldr r2, [r1, #0x0]
- cmp r2, #0x0
- bne _0203A1AA
- add sp, #0x8
- mov r0, #0x0
- pop {r4-r6, pc}
-_0203A1AA:
- lsl r1, r3, #0x4
- add r1, r3, r1
- add r2, #0x90
- lsl r1, r1, #0x4
- add r4, r2, r1
- ldrh r1, [r2, r1]
- ldr r2, _0203A204 ; =0x0000FFFF
- cmp r1, r2
- bne _0203A1E2
- ldr r2, _0203A208 ; =0x0000022B
- mov r0, #0x1
- mov r1, #0x1a
- mov r3, #0x20
- bl FUN_0200A86C
- add r6, r0, #0x0
- mov r0, #0x0
- str r0, [sp, #0x0]
- ldrh r2, [r4, #0x2]
- add r0, r5, #0x0
- add r1, r6, #0x0
- mov r3, #0x1
- bl FUN_021E2BD0
- add r0, r6, #0x0
- bl FUN_0200A8B8
- b _0203A1F4
-_0203A1E2:
- mov r2, #0x6
- ldrsh r2, [r4, r2]
- str r2, [sp, #0x0]
- mov r2, #0x1
- str r2, [sp, #0x4]
- ldrh r2, [r4, #0x2]
- ldrh r3, [r4, #0x4]
- bl FUN_021E2C58
-_0203A1F4:
- ldr r1, _0203A20C ; =FUN_0203A2F0
- add r0, r5, #0x0
- bl SetupNativeScript
- mov r0, #0x1
- add sp, #0x8
- pop {r4-r6, pc}
- nop
-_0203A204: .word 0x0000FFFF
-_0203A208: .word 0x0000022B
-_0203A20C: .word FUN_0203A2F0
-
- thumb_func_start FUN_0203A210
-FUN_0203A210: ; 0x0203A210
- push {r3-r7, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- add r1, r5, #0x0
- add r1, #0x80
- ldr r2, [r5, #0x8]
- ldr r6, [r1, #0x0]
- add r1, r2, #0x1
- str r1, [r5, #0x8]
- ldrb r4, [r2, #0x0]
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r7, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- ldr r1, [r5, #0x8]
- add r2, r0, #0x0
- add r0, r1, #0x1
- str r0, [r5, #0x8]
- ldrb r3, [r1, #0x0]
- mov r1, #0x0
- add r0, sp, #0x4
- strb r1, [r0, #0x0]
- add r0, sp, #0x4
- str r0, [sp, #0x0]
- ldr r0, [r6, #0xc]
- add r1, r7, #0x0
- bl FUN_02244210
- add r6, r0, #0x0
- add r2, sp, #0x4
- ldrb r2, [r2, #0x0]
- add r0, r5, #0x0
- add r1, r6, #0x0
- add r2, r4, r2
- lsl r2, r2, #0x18
- lsr r2, r2, #0x18
- mov r3, #0x1
- bl FUN_021E2CBC
- add r0, r6, #0x0
- bl FUN_0200AB18
- ldr r1, _0203A284 ; =FUN_0203A2F0
- add r0, r5, #0x0
- bl SetupNativeScript
- mov r0, #0x1
- add sp, #0x8
- pop {r3-r7, pc}
- nop
-_0203A284: .word FUN_0203A2F0
-
- thumb_func_start FUN_0203A288
-FUN_0203A288: ; 0x0203A288
- push {r3-r5, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r4, r0, #0x0
- add r0, sp, #0x4
- add r1, r5, #0x0
- bl FUN_021E2BB8
- mov r1, #0x3
- add r0, sp, #0x4
- strb r1, [r0, #0x2]
- add r0, sp, #0x4
- str r0, [sp, #0x0]
- ldr r1, [r5, #0x78]
- add r0, r5, #0x0
- add r2, r4, #0x0
- mov r3, #0x0
- bl FUN_021E2BD0
- ldr r1, _0203A2C0 ; =FUN_0203A2F0
- add r0, r5, #0x0
- bl SetupNativeScript
- mov r0, #0x1
- add sp, #0x8
- pop {r3-r5, pc}
- .balign 4
-_0203A2C0: .word FUN_0203A2F0
-
- thumb_func_start FUN_0203A2C4
-FUN_0203A2C4: ; 0x0203A2C4
- push {r3-r4, lr}
- sub sp, #0x4
- add r4, r0, #0x0
- ldr r2, [r4, #0x8]
- mov r3, #0x1
- add r1, r2, #0x1
- str r1, [r4, #0x8]
- mov r1, #0x0
- str r1, [sp, #0x0]
- ldrb r2, [r2, #0x0]
- ldr r1, [r4, #0x78]
- bl FUN_021E2BD0
- ldr r1, _0203A2EC ; =FUN_0203A2F0
- add r0, r4, #0x0
- bl SetupNativeScript
- mov r0, #0x1
- add sp, #0x4
- pop {r3-r4, pc}
- .balign 4
-_0203A2EC: .word FUN_0203A2F0
-
- thumb_func_start FUN_0203A2F0
-FUN_0203A2F0: ; 0x0203A2F0
- push {r3, lr}
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x3
- bl FUN_02039438
- ldrb r0, [r0, #0x0]
- bl FUN_020546C8
- pop {r3, pc}
-
- thumb_func_start FUN_0203A304
-FUN_0203A304: ; 0x0203A304
- push {r3-r4, lr}
- sub sp, #0x4
- add r4, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r2, r0, #0x0
- mov r0, #0x0
- str r0, [sp, #0x0]
- lsl r2, r2, #0x18
- ldr r1, [r4, #0x78]
- add r0, r4, #0x0
- lsr r2, r2, #0x18
- mov r3, #0x1
- bl FUN_021E2BD0
- ldr r1, _0203A33C ; =FUN_0203A2F0
- add r0, r4, #0x0
- bl SetupNativeScript
- mov r0, #0x1
- add sp, #0x4
- pop {r3-r4, pc}
- .balign 4
-_0203A33C: .word FUN_0203A2F0
-
- thumb_func_start FUN_0203A340
-FUN_0203A340: ; 0x0203A340
- push {r3-r5, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r4, r0, #0x0
- add r0, sp, #0x4
- add r1, r5, #0x0
- bl FUN_021E2BB8
- lsl r2, r4, #0x18
- mov r3, #0x1
- add r0, sp, #0x4
- strb r3, [r0, #0x1]
- add r0, sp, #0x4
- str r0, [sp, #0x0]
- ldr r1, [r5, #0x78]
- add r0, r5, #0x0
- lsr r2, r2, #0x18
- bl FUN_021E2BD0
- ldr r1, _0203A384 ; =FUN_0203A2F0
- add r0, r5, #0x0
- bl SetupNativeScript
- mov r0, #0x1
- add sp, #0x8
- pop {r3-r5, pc}
- .balign 4
-_0203A384: .word FUN_0203A2F0
-
- thumb_func_start FUN_0203A388
-FUN_0203A388: ; 0x0203A388
- push {r3-r4, lr}
- sub sp, #0x4
- add r4, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r2, r0, #0x0
- mov r3, #0x0
- str r3, [sp, #0x0]
- lsl r2, r2, #0x18
- ldr r1, [r4, #0x78]
- add r0, r4, #0x0
- lsr r2, r2, #0x18
- bl FUN_021E2BD0
- ldr r1, _0203A3C0 ; =FUN_0203A2F0
- add r0, r4, #0x0
- bl SetupNativeScript
- mov r0, #0x1
- add sp, #0x4
- pop {r3-r4, pc}
- nop
-_0203A3C0: .word FUN_0203A2F0
-
- thumb_func_start FUN_0203A3C4
-FUN_0203A3C4: ; 0x0203A3C4
- push {r3-r4, lr}
- sub sp, #0x4
- add r4, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xa
- bl FUN_02039438
- ldr r0, [r0, #0x0]
- bl FUN_02058488
- lsl r0, r0, #0x18
- lsr r2, r0, #0x18
- mov r0, #0x0
- str r0, [sp, #0x0]
- ldr r1, [r4, #0x78]
- add r0, r4, #0x0
- mov r3, #0x1
- bl FUN_021E2BD0
- ldr r1, _0203A3FC ; =FUN_0203A2F0
- add r0, r4, #0x0
- bl SetupNativeScript
- mov r0, #0x1
- add sp, #0x4
- pop {r3-r4, pc}
- nop
-_0203A3FC: .word FUN_0203A2F0
-
- thumb_func_start FUN_0203A400
-FUN_0203A400: ; 0x0203A400
- push {r3-r5, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- ldr r1, [r5, #0x8]
- add r0, r1, #0x1
- str r0, [r5, #0x8]
- ldrb r4, [r1, #0x0]
- bl FUN_02030F40
- cmp r0, #0x0
- bne _0203A428
- mov r0, #0x0
- str r0, [sp, #0x0]
- ldr r1, [r5, #0x78]
- add r0, r5, #0x0
- add r2, r4, #0x0
- mov r3, #0x1
- bl FUN_021E2BD0
- b _0203A448
-_0203A428:
- add r0, sp, #0x4
- add r1, r5, #0x0
- bl FUN_021E2BB8
- mov r1, #0x1
- add r0, sp, #0x4
- strb r1, [r0, #0x0]
- strb r1, [r0, #0x1]
- add r0, sp, #0x4
- str r0, [sp, #0x0]
- ldr r1, [r5, #0x78]
- add r0, r5, #0x0
- add r2, r4, #0x0
- mov r3, #0x0
- bl FUN_021E2BD0
-_0203A448:
- ldr r1, _0203A458 ; =FUN_0203A2F0
- add r0, r5, #0x0
- bl SetupNativeScript
- mov r0, #0x1
- add sp, #0x8
- pop {r3-r5, pc}
- nop
-_0203A458: .word FUN_0203A2F0
-
- thumb_func_start FUN_0203A45C
-FUN_0203A45C: ; 0x0203A45C
- push {r3, lr}
- ldr r1, _0203A468 ; =FUN_0203A46C
- bl SetupNativeScript
- mov r0, #0x1
- pop {r3, pc}
- .balign 4
-_0203A468: .word FUN_0203A46C
-
- thumb_func_start FUN_0203A46C
-FUN_0203A46C: ; 0x0203A46C
- ldr r0, _0203A480 ; =0x021C48B8
- ldr r1, [r0, #0x48]
- mov r0, #0x3
- tst r0, r1
- beq _0203A47A
- mov r0, #0x1
- bx lr
-_0203A47A:
- mov r0, #0x0
- bx lr
- nop
-_0203A480: .word 0x021C48B8
-
- thumb_func_start FUN_0203A484
-FUN_0203A484: ; 0x0203A484
- push {r4, lr}
- add r4, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- str r0, [r4, #0x64]
- ldr r1, _0203A4A8 ; =FUN_0203A4AC
- add r0, r4, #0x0
- bl SetupNativeScript
- mov r0, #0x1
- pop {r4, pc}
- nop
-_0203A4A8: .word FUN_0203A4AC
-
- thumb_func_start FUN_0203A4AC
-FUN_0203A4AC: ; 0x0203A4AC
- ldr r1, _0203A4CC ; =0x021C48B8
- ldr r2, [r1, #0x48]
- mov r1, #0x3
- tst r1, r2
- beq _0203A4BA
- mov r0, #0x1
- bx lr
-_0203A4BA:
- ldr r1, [r0, #0x64]
- sub r1, r1, #0x1
- str r1, [r0, #0x64]
- bne _0203A4C6
- mov r0, #0x1
- bx lr
-_0203A4C6:
- mov r0, #0x0
- bx lr
- nop
-_0203A4CC: .word 0x021C48B8
-
- thumb_func_start FUN_0203A4D0
-FUN_0203A4D0: ; 0x0203A4D0
- push {r3, lr}
- ldr r1, _0203A4DC ; =FUN_0203A4E0
- bl SetupNativeScript
- mov r0, #0x1
- pop {r3, pc}
- .balign 4
-_0203A4DC: .word FUN_0203A4E0
-
- thumb_func_start FUN_0203A4E0
-FUN_0203A4E0: ; 0x0203A4E0
- push {r4, lr}
- ldr r1, _0203A55C ; =0x021C48B8
- ldr r2, [r1, #0x48]
- mov r1, #0x3
- add r3, r2, #0x0
- tst r3, r1
- beq _0203A4F2
- mov r0, #0x1
- pop {r4, pc}
-_0203A4F2:
- mov r3, #0x40
- tst r3, r2
- beq _0203A506
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x0
- ldr r0, [r0, #0x38]
- bl FUN_02055304
- b _0203A556
-_0203A506:
- mov r3, #0x80
- tst r3, r2
- beq _0203A51A
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x1
- ldr r0, [r0, #0x38]
- bl FUN_02055304
- b _0203A556
-_0203A51A:
- mov r3, #0x20
- tst r3, r2
- beq _0203A52E
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x2
- ldr r0, [r0, #0x38]
- bl FUN_02055304
- b _0203A556
-_0203A52E:
- mov r3, #0x10
- add r4, r2, #0x0
- tst r4, r3
- beq _0203A542
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x38]
- bl FUN_02055304
- b _0203A556
-_0203A542:
- lsl r1, r3, #0x6
- tst r1, r2
- beq _0203A552
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_02039460
- b _0203A556
-_0203A552:
- mov r0, #0x0
- pop {r4, pc}
-_0203A556:
- mov r0, #0x1
- pop {r4, pc}
- nop
-_0203A55C: .word 0x021C48B8
-
- thumb_func_start FUN_0203A560
-FUN_0203A560: ; 0x0203A560
- push {r3, lr}
- ldr r1, _0203A56C ; =FUN_0203A570
- bl SetupNativeScript
- mov r0, #0x1
- pop {r3, pc}
- .balign 4
-_0203A56C: .word FUN_0203A570
-
- thumb_func_start FUN_0203A570
-FUN_0203A570: ; 0x0203A570
- ldr r0, _0203A58C ; =0x021C48B8
- ldr r1, [r0, #0x48]
- mov r0, #0x3
- tst r0, r1
- beq _0203A57E
- mov r0, #0x1
- bx lr
-_0203A57E:
- mov r0, #0xf0
- tst r0, r1
- beq _0203A588
- mov r0, #0x1
- bx lr
-_0203A588:
- mov r0, #0x0
- bx lr
- .balign 4
-_0203A58C: .word 0x021C48B8
-
- thumb_func_start FUN_0203A590
-FUN_0203A590: ; 0x0203A590
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r4, [r0, #0x0]
- mov r1, #0x6
- add r0, r4, #0x0
- bl FUN_02039438
- add r6, r0, #0x0
- add r0, r4, #0x0
- mov r1, #0x1
- bl FUN_02039438
- add r1, r0, #0x0
- ldr r0, [r4, #0x8]
- mov r2, #0x3
- bl FUN_020545B8
- add r0, r4, #0x0
- mov r1, #0x1
- bl FUN_02039438
- add r5, #0x80
- add r4, r0, #0x0
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl LoadPlayerDataAddress
- add r1, r0, #0x0
- add r0, r4, #0x0
- bl FUN_02054608
- mov r0, #0x1
- strb r0, [r6, #0x0]
- mov r0, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_0203A5D8
-FUN_0203A5D8: ; 0x0203A5D8
- push {r3-r5, lr}
- add r0, #0x80
- ldr r4, [r0, #0x0]
- mov r1, #0x1
- add r0, r4, #0x0
- bl FUN_02039438
- add r5, r0, #0x0
- add r0, r4, #0x0
- mov r1, #0x6
- bl FUN_02039438
- add r4, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0x0
- bl FUN_0200D0E0
- add r0, r5, #0x0
- bl FUN_02019178
- mov r0, #0x0
- strb r0, [r4, #0x0]
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0203A608
-FUN_0203A608: ; 0x0203A608
- push {r3-r5, lr}
- add r0, #0x80
- ldr r4, [r0, #0x0]
- mov r1, #0x1
- add r0, r4, #0x0
- bl FUN_02039438
- add r5, r0, #0x0
- add r0, r4, #0x0
- mov r1, #0x6
- bl FUN_02039438
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02019178
- mov r0, #0x0
- strb r0, [r4, #0x0]
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0203A630
-FUN_0203A630: ; 0x0203A630
- push {r4-r7, lr}
- sub sp, #0xc
- add r5, r0, #0x0
- add r0, #0x80
- ldr r4, [r0, #0x0]
- mov r1, #0x31
- add r0, r4, #0x0
- bl FUN_02039438
- add r6, r0, #0x0
- add r0, r4, #0x0
- mov r1, #0x2d
- bl FUN_02039438
- add r7, r0, #0x0
- add r0, r4, #0x0
- mov r1, #0x32
- bl FUN_02039438
- str r0, [sp, #0x0]
- add r0, r4, #0x0
- mov r1, #0x33
- bl FUN_02039438
- str r0, [sp, #0x4]
- add r0, r4, #0x0
- mov r1, #0x2e
- bl FUN_02039438
- str r0, [sp, #0x8]
- add r0, r4, #0x0
- mov r1, #0x34
- bl FUN_02039438
- ldr r2, [r5, #0x8]
- add r1, r2, #0x1
- str r1, [r5, #0x8]
- ldrb r1, [r2, #0x0]
- strh r1, [r6, #0x0]
- ldr r2, [r5, #0x8]
- add r1, r2, #0x1
- str r1, [r5, #0x8]
- ldrb r1, [r2, #0x0]
- strh r1, [r7, #0x0]
- ldr r2, [r5, #0x8]
- add r1, r2, #0x1
- str r1, [r5, #0x8]
- ldrb r2, [r2, #0x0]
- ldr r1, [sp, #0x0]
- strh r2, [r1, #0x0]
- ldr r2, [r5, #0x8]
- add r1, r2, #0x1
- str r1, [r5, #0x8]
- ldrb r2, [r2, #0x0]
- ldr r1, [sp, #0x4]
- strh r2, [r1, #0x0]
- ldr r2, [r5, #0x8]
- add r1, r2, #0x1
- str r1, [r5, #0x8]
- ldrb r2, [r2, #0x0]
- ldr r1, [sp, #0x8]
- strh r2, [r1, #0x0]
- ldr r2, [r5, #0x8]
- add r1, r2, #0x1
- str r1, [r5, #0x8]
- ldrb r1, [r2, #0x0]
- strh r1, [r0, #0x0]
- ldr r1, _0203A6C4 ; =FUN_0203A6C8
- add r0, r5, #0x0
- bl SetupNativeScript
- mov r0, #0x1
- add sp, #0xc
- pop {r4-r7, pc}
- .balign 4
-_0203A6C4: .word FUN_0203A6C8
-
- thumb_func_start FUN_0203A6C8
-FUN_0203A6C8: ; 0x0203A6C8
- push {r4-r7, lr}
- sub sp, #0xc
- add r0, #0x80
- ldr r4, [r0, #0x0]
- mov r1, #0x31
- add r0, r4, #0x0
- bl FUN_02039438
- add r7, r0, #0x0
- add r0, r4, #0x0
- mov r1, #0x32
- bl FUN_02039438
- str r0, [sp, #0x8]
- add r0, r4, #0x0
- mov r1, #0x33
- bl FUN_02039438
- str r0, [sp, #0x4]
- add r0, r4, #0x0
- mov r1, #0x34
- bl FUN_02039438
- str r0, [sp, #0x0]
- add r0, r4, #0x0
- mov r1, #0x2d
- bl FUN_02039438
- add r6, r0, #0x0
- add r0, r4, #0x0
- mov r1, #0x2e
- bl FUN_02039438
- add r5, r0, #0x0
- ldrh r0, [r6, #0x0]
- cmp r0, #0x0
- bne _0203A71E
- ldrh r0, [r5, #0x0]
- cmp r0, #0x0
- bne _0203A71E
- add sp, #0xc
- mov r0, #0x1
- pop {r4-r7, pc}
-_0203A71E:
- ldrh r3, [r7, #0x0]
- cmp r3, #0x0
- beq _0203A740
- ldr r0, [sp, #0x8]
- ldrh r0, [r0, #0x0]
- cmp r0, #0x0
- ldr r0, [r4, #0x8]
- bne _0203A738
- mov r1, #0x3
- mov r2, #0x1
- bl FUN_020179E0
- b _0203A740
-_0203A738:
- mov r1, #0x3
- mov r2, #0x2
- bl FUN_020179E0
-_0203A740:
- ldr r0, [sp, #0x4]
- ldrh r3, [r0, #0x0]
- cmp r3, #0x0
- beq _0203A764
- ldr r0, [sp, #0x0]
- ldrh r0, [r0, #0x0]
- cmp r0, #0x0
- ldr r0, [r4, #0x8]
- bne _0203A75C
- mov r1, #0x3
- mov r2, #0x4
- bl FUN_020179E0
- b _0203A764
-_0203A75C:
- mov r1, #0x3
- mov r2, #0x5
- bl FUN_020179E0
-_0203A764:
- ldrh r0, [r6, #0x0]
- cmp r0, #0x0
- beq _0203A76E
- sub r0, r0, #0x1
- strh r0, [r6, #0x0]
-_0203A76E:
- ldrh r0, [r5, #0x0]
- cmp r0, #0x0
- beq _0203A778
- sub r0, r0, #0x1
- strh r0, [r5, #0x0]
-_0203A778:
- mov r0, #0x0
- add sp, #0xc
- pop {r4-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0203A780
-FUN_0203A780: ; 0x0203A780
- push {r4-r7, lr}
- sub sp, #0x1c
- add r5, r0, #0x0
- add r0, #0x80
- ldr r4, [r0, #0x0]
- mov r1, #0x11
- add r0, r4, #0x0
- bl FUN_02039438
- str r0, [sp, #0x18]
- add r0, r4, #0x0
- mov r1, #0x10
- bl FUN_02039438
- add r7, r0, #0x0
- add r0, r4, #0x0
- mov r1, #0xf
- bl FUN_02039438
- str r0, [sp, #0x14]
- ldr r0, [r5, #0x8]
- add r1, r0, #0x1
- str r1, [r5, #0x8]
- ldrb r0, [r0, #0x0]
- str r0, [sp, #0xc]
- add r0, r1, #0x1
- str r0, [r5, #0x8]
- ldrb r0, [r1, #0x0]
- str r0, [sp, #0x10]
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- cmp r6, #0x0
- bne _0203A7E0
- add r0, r4, #0x0
- mov r1, #0xa
- bl FUN_02039438
- ldr r0, [r0, #0x0]
- mov r1, #0x0
- bl FUN_02058510
- lsl r0, r0, #0x10
- lsr r6, r0, #0x10
-_0203A7E0:
- ldr r0, [r4, #0x60]
- ldr r1, [sp, #0x10]
- add r2, r6, #0x0
- bl FUN_021E8128
- ldr r0, [r4, #0x60]
- mov r1, #0x1
- bl FUN_021E8130
- add r0, r4, #0x0
- bl FUN_021E8158
- ldr r2, [sp, #0x18]
- ldr r0, [r5, #0x78]
- ldr r1, [sp, #0xc]
- ldr r2, [r2, #0x0]
- bl FUN_0200A8E0
- ldr r0, [sp, #0x14]
- ldr r2, [sp, #0x18]
- ldr r0, [r0, #0x0]
- ldr r1, [r7, #0x0]
- ldr r2, [r2, #0x0]
- bl FUN_0200B7B8
- ldr r0, [r4, #0x60]
- bl FUN_021E8140
- mov r3, #0x0
- str r3, [sp, #0x0]
- str r3, [sp, #0x4]
- str r3, [sp, #0x8]
- ldr r2, [r7, #0x0]
- mov r1, #0x1
- bl FUN_0201BD84
- mov r0, #0x1
- add sp, #0x1c
- pop {r4-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0203A830
-FUN_0203A830: ; 0x0203A830
- push {r3-r5, lr}
- add r1, r0, #0x0
- add r1, #0x80
- ldr r2, [r0, #0x8]
- ldr r4, [r1, #0x0]
- add r1, r2, #0x1
- str r1, [r0, #0x8]
- ldrb r5, [r2, #0x0]
- bl ScriptReadHalfword
- add r2, r0, #0x0
- ldr r0, [r4, #0x60]
- add r1, r5, #0x0
- bl FUN_021E8128
- ldr r0, [r4, #0x60]
- mov r1, #0x1
- bl FUN_021E8130
- mov r0, #0x1
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0203A85C
-FUN_0203A85C: ; 0x0203A85C
- push {r3, lr}
- add r1, r0, #0x0
- add r1, #0x80
- ldr r2, [r0, #0x8]
- ldr r3, [r1, #0x0]
- add r1, r2, #0x1
- str r1, [r0, #0x8]
- ldrb r1, [r2, #0x0]
- ldr r0, [r3, #0x60]
- bl FUN_021E8130
- mov r0, #0x1
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0203A878
-FUN_0203A878: ; 0x0203A878
- push {r4, lr}
- add r4, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x60]
- bl FUN_021E8148
- cmp r0, #0x1
- bne _0203A88E
- mov r0, #0x0
- pop {r4, pc}
-_0203A88E:
- ldr r1, _0203A89C ; =FUN_0203A8A0
- add r0, r4, #0x0
- bl SetupNativeScript
- mov r0, #0x1
- pop {r4, pc}
- nop
-_0203A89C: .word FUN_0203A8A0
-
- thumb_func_start FUN_0203A8A0
-FUN_0203A8A0: ; 0x0203A8A0
- push {r3, lr}
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x60]
- bl FUN_021E8148
- cmp r0, #0x1
- bne _0203A8B4
- mov r0, #0x1
- pop {r3, pc}
-_0203A8B4:
- mov r0, #0x0
- pop {r3, pc}
-
- thumb_func_start FUN_0203A8B8
-FUN_0203A8B8: ; 0x0203A8B8
- push {r3-r7, lr}
- sub sp, #0x10
- add r5, r0, #0x0
- add r0, #0x80
- ldr r4, [r0, #0x0]
- mov r1, #0x3
- add r0, r4, #0x0
- bl FUN_02039438
- str r0, [sp, #0x4]
- add r0, r4, #0x0
- mov r1, #0x11
- bl FUN_02039438
- add r6, r0, #0x0
- add r0, r4, #0x0
- mov r1, #0x10
- bl FUN_02039438
- add r7, r0, #0x0
- add r0, r4, #0x0
- mov r1, #0xf
- bl FUN_02039438
- ldr r1, [r5, #0x8]
- str r0, [sp, #0x8]
- add r0, r1, #0x1
- str r0, [r5, #0x8]
- ldrb r0, [r1, #0x0]
- str r0, [sp, #0x0]
- add r0, r5, #0x0
- bl ScriptReadHalfword
- str r0, [sp, #0xc]
- ldr r0, [r5, #0x78]
- ldr r1, [sp, #0x0]
- ldr r2, [r6, #0x0]
- bl FUN_0200A8E0
- ldr r0, [sp, #0x8]
- ldr r1, [r7, #0x0]
- ldr r0, [r0, #0x0]
- ldr r2, [r6, #0x0]
- bl FUN_0200B7B8
- ldr r0, [r4, #0x60]
- bl FUN_021E8140
- add r4, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl LoadPlayerDataAddress
- add r2, r0, #0x0
- ldr r1, [r7, #0x0]
- add r0, r4, #0x0
- mov r3, #0x1
- bl FUN_02054658
- ldr r1, [sp, #0x4]
- strb r0, [r1, #0x0]
- ldr r0, [sp, #0xc]
- ldr r1, _0203A948 ; =FUN_0203A94C
- str r0, [r5, #0x64]
- add r0, r5, #0x0
- bl SetupNativeScript
- mov r0, #0x1
- add sp, #0x10
- pop {r3-r7, pc}
- .balign 4
-_0203A948: .word FUN_0203A94C
-
- thumb_func_start FUN_0203A94C
-FUN_0203A94C: ; 0x0203A94C
- push {r3-r7, lr}
- add r7, r0, #0x0
- add r0, #0x80
- ldr r5, [r0, #0x0]
- mov r1, #0x3
- add r0, r5, #0x0
- bl FUN_02039438
- ldr r1, [r7, #0x64]
- add r6, r0, #0x0
- lsl r1, r1, #0x10
- add r0, r5, #0x0
- lsr r1, r1, #0x10
- bl FUN_020394B8
- add r4, r0, #0x0
- ldr r0, [r5, #0x60]
- bl FUN_021E8144
- ldrb r0, [r6, #0x0]
- ldr r5, _0203A9E8 ; =0x0000FFFF
- bl FUN_020546C8
- cmp r0, #0x1
- bne _0203A986
- mov r0, #0x2
- strh r0, [r4, #0x0]
- mov r0, #0x1
- pop {r3-r7, pc}
-_0203A986:
- ldr r0, _0203A9EC ; =0x021C48B8
- mov r1, #0x40
- ldr r0, [r0, #0x48]
- tst r1, r0
- beq _0203A994
- mov r5, #0x0
- b _0203A9B0
-_0203A994:
- mov r1, #0x80
- tst r1, r0
- beq _0203A99E
- mov r5, #0x1
- b _0203A9B0
-_0203A99E:
- mov r1, #0x20
- tst r1, r0
- beq _0203A9A8
- mov r5, #0x2
- b _0203A9B0
-_0203A9A8:
- mov r1, #0x10
- tst r1, r0
- beq _0203A9B0
- mov r5, #0x3
-_0203A9B0:
- ldr r1, _0203A9E8 ; =0x0000FFFF
- cmp r5, r1
- beq _0203A9D0
- ldrb r0, [r6, #0x0]
- bl FUN_0201BD7C
- add r7, #0x80
- ldr r0, [r7, #0x0]
- add r1, r5, #0x0
- ldr r0, [r0, #0x38]
- bl FUN_02055304
- mov r0, #0x0
- strh r0, [r4, #0x0]
- mov r0, #0x1
- pop {r3-r7, pc}
-_0203A9D0:
- mov r1, #0x1
- lsl r1, r1, #0xa
- tst r0, r1
- beq _0203A9E4
- ldrb r0, [r6, #0x0]
- bl FUN_0201BD7C
- mov r0, #0x1
- strh r0, [r4, #0x0]
- pop {r3-r7, pc}
-_0203A9E4:
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-_0203A9E8: .word 0x0000FFFF
-_0203A9EC: .word 0x021C48B8
-
- thumb_func_start FUN_0203A9F0
-FUN_0203A9F0: ; 0x0203A9F0
- push {r4, lr}
- add r4, r0, #0x0
- bl ScriptReadHalfword
- str r0, [r4, #0x64]
- ldr r1, _0203AA08 ; =FUN_0203AA0C
- add r0, r4, #0x0
- bl SetupNativeScript
- mov r0, #0x1
- pop {r4, pc}
- nop
-_0203AA08: .word FUN_0203AA0C
-
- thumb_func_start FUN_0203AA0C
-FUN_0203AA0C: ; 0x0203AA0C
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r1, [r5, #0x64]
- add r0, #0x80
- lsl r1, r1, #0x10
- ldr r0, [r0, #0x0]
- lsr r1, r1, #0x10
- bl FUN_020394B8
- add r4, r0, #0x0
- ldr r0, _0203AA88 ; =0x021C48B8
- ldr r1, _0203AA8C ; =0x0000FFFF
- ldr r2, [r0, #0x48]
- mov r0, #0x3
- add r3, r2, #0x0
- tst r3, r0
- beq _0203AA36
- mov r0, #0x0
- strh r0, [r4, #0x0]
- mov r0, #0x1
- pop {r3-r5, pc}
-_0203AA36:
- mov r3, #0x40
- tst r3, r2
- beq _0203AA40
- mov r1, #0x0
- b _0203AA5C
-_0203AA40:
- mov r3, #0x80
- tst r3, r2
- beq _0203AA4A
- mov r1, #0x1
- b _0203AA5C
-_0203AA4A:
- mov r3, #0x20
- tst r3, r2
- beq _0203AA54
- mov r1, #0x2
- b _0203AA5C
-_0203AA54:
- mov r3, #0x10
- tst r3, r2
- beq _0203AA5C
- add r1, r0, #0x0
-_0203AA5C:
- ldr r0, _0203AA8C ; =0x0000FFFF
- cmp r1, r0
- beq _0203AA74
- add r5, #0x80
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0x38]
- bl FUN_02055304
- mov r0, #0x0
- strh r0, [r4, #0x0]
- mov r0, #0x1
- pop {r3-r5, pc}
-_0203AA74:
- mov r0, #0x1
- lsl r0, r0, #0xa
- tst r0, r2
- beq _0203AA82
- mov r0, #0x1
- strh r0, [r4, #0x0]
- pop {r3-r5, pc}
-_0203AA82:
- mov r0, #0x0
- pop {r3-r5, pc}
- nop
-_0203AA88: .word 0x021C48B8
-_0203AA8C: .word 0x0000FFFF
-
- thumb_func_start FUN_0203AA90
-FUN_0203AA90: ; 0x0203AA90
- push {r3, lr}
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_02039460
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0203AAA0
-FUN_0203AAA0: ; 0x0203AAA0
- push {r3-r7, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- add r0, #0x80
- ldr r4, [r0, #0x0]
- mov r1, #0x2
- add r0, r4, #0x0
- bl FUN_02039438
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r7, r0, #0x0
- mov r0, #0x0
- str r0, [sp, #0x0]
- mov r0, #0x4
- str r0, [sp, #0x4]
- ldr r0, [r4, #0x8]
- ldr r2, _0203AAF4 ; =0x000003D9
- mov r1, #0x3
- mov r3, #0xb
- bl FUN_0200CB00
- mov r0, #0x4
- str r0, [sp, #0x0]
- ldr r0, [r4, #0x8]
- ldr r1, _0203AAF8 ; =0x020F34E0
- ldr r2, _0203AAF4 ; =0x000003D9
- mov r3, #0xb
- bl FUN_02002198
- str r0, [r6, #0x0]
- ldr r1, _0203AAFC ; =FUN_0203AB00
- add r0, r5, #0x0
- str r7, [r5, #0x64]
- bl SetupNativeScript
- mov r0, #0x1
- add sp, #0x8
- pop {r3-r7, pc}
- nop
-_0203AAF4: .word 0x000003D9
-_0203AAF8: .word 0x020F34E0
-_0203AAFC: .word FUN_0203AB00
-
- thumb_func_start FUN_0203AB00
-FUN_0203AB00: ; 0x0203AB00
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r6, [r0, #0x0]
- mov r1, #0x2
- add r0, r6, #0x0
- bl FUN_02039438
- ldr r1, [r5, #0x64]
- add r4, r0, #0x0
- lsl r1, r1, #0x10
- add r0, r6, #0x0
- lsr r1, r1, #0x10
- bl FUN_020394B8
- add r5, r0, #0x0
- ldr r0, [r4, #0x0]
- mov r1, #0x4
- bl FUN_020021AC
- mov r1, #0x0
- mvn r1, r1
- cmp r0, r1
- bne _0203AB34
- mov r0, #0x0
- pop {r4-r6, pc}
-_0203AB34:
- cmp r0, #0x0
- bne _0203AB3C
- mov r0, #0x0
- b _0203AB3E
-_0203AB3C:
- mov r0, #0x1
-_0203AB3E:
- strh r0, [r5, #0x0]
- mov r0, #0x1
- pop {r4-r6, pc}
-
- thumb_func_start FUN_0203AB44
-FUN_0203AB44: ; 0x0203AB44
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x1
- bl FUN_02039438
- add r5, #0x80
- add r4, r0, #0x0
- ldr r0, [r5, #0x0]
- mov r1, #0x12
- bl FUN_02039438
- add r5, r0, #0x0
- ldr r1, _0203AB70 ; =0x000003E2
- add r0, r4, #0x0
- bl FUN_0200D858
- str r0, [r5, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
- nop
-_0203AB70: .word 0x000003E2
-
- thumb_func_start FUN_0203AB74
-FUN_0203AB74: ; 0x0203AB74
- push {r3, lr}
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x12
- bl FUN_02039438
- ldr r0, [r0, #0x0]
- bl FUN_0200DBFC
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0203AB8C
-FUN_0203AB8C: ; 0x0203AB8C
- push {r4-r7, lr}
- sub sp, #0x2c
- add r5, r0, #0x0
- add r0, #0x80
- ldr r6, [r0, #0x0]
- mov r1, #0x0
- add r0, r6, #0x0
- bl FUN_02039438
- str r0, [sp, #0x1c]
- add r0, r6, #0x0
- mov r1, #0xf
- bl FUN_02039438
- str r0, [sp, #0x20]
- ldr r0, [r5, #0x8]
- add r1, r0, #0x1
- str r1, [r5, #0x8]
- ldrb r0, [r0, #0x0]
- add r2, r1, #0x1
- str r0, [sp, #0x18]
- str r2, [r5, #0x8]
- ldrb r0, [r1, #0x0]
- add r1, r2, #0x1
- str r0, [sp, #0x14]
- str r1, [r5, #0x8]
- ldrb r7, [r2, #0x0]
- add r0, r1, #0x1
- str r0, [r5, #0x8]
- add r0, r5, #0x0
- ldrb r4, [r1, #0x0]
- bl ScriptReadHalfword
- str r0, [sp, #0x24]
- ldr r1, [sp, #0x24]
- add r0, r6, #0x0
- bl FUN_020394B8
- str r0, [sp, #0x28]
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x1
- bl FUN_02039438
- ldr r1, [sp, #0x28]
- str r4, [sp, #0x0]
- str r1, [sp, #0x4]
- ldr r1, [sp, #0x20]
- add r3, r7, #0x0
- ldr r1, [r1, #0x0]
- str r1, [sp, #0x8]
- str r0, [sp, #0xc]
- mov r0, #0x0
- str r0, [sp, #0x10]
- ldr r1, [sp, #0x18]
- ldr r2, [sp, #0x14]
- add r0, r6, #0x0
- bl FUN_021E1BF8
- ldr r1, [sp, #0x1c]
- str r0, [r1, #0x0]
- ldr r0, [sp, #0x24]
- str r0, [r5, #0x64]
- mov r0, #0x1
- add sp, #0x2c
- pop {r4-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0203AC14
-FUN_0203AC14: ; 0x0203AC14
- push {r4-r7, lr}
- sub sp, #0x2c
- add r5, r0, #0x0
- add r0, #0x80
- ldr r6, [r0, #0x0]
- mov r1, #0x0
- add r0, r6, #0x0
- bl FUN_02039438
- str r0, [sp, #0x1c]
- add r0, r6, #0x0
- mov r1, #0xf
- bl FUN_02039438
- str r0, [sp, #0x20]
- ldr r0, [r5, #0x8]
- add r1, r0, #0x1
- str r1, [r5, #0x8]
- ldrb r0, [r0, #0x0]
- add r2, r1, #0x1
- str r0, [sp, #0x18]
- str r2, [r5, #0x8]
- ldrb r0, [r1, #0x0]
- add r1, r2, #0x1
- str r0, [sp, #0x14]
- str r1, [r5, #0x8]
- ldrb r7, [r2, #0x0]
- add r0, r1, #0x1
- str r0, [r5, #0x8]
- add r0, r5, #0x0
- ldrb r4, [r1, #0x0]
- bl ScriptReadHalfword
- str r0, [sp, #0x24]
- ldr r1, [sp, #0x24]
- add r0, r6, #0x0
- bl FUN_020394B8
- str r0, [sp, #0x28]
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x1
- bl FUN_02039438
- ldr r1, [sp, #0x28]
- str r4, [sp, #0x0]
- str r1, [sp, #0x4]
- ldr r1, [sp, #0x20]
- add r3, r7, #0x0
- ldr r1, [r1, #0x0]
- str r1, [sp, #0x8]
- str r0, [sp, #0xc]
- ldr r0, [r5, #0x78]
- str r0, [sp, #0x10]
- ldr r1, [sp, #0x18]
- ldr r2, [sp, #0x14]
- add r0, r6, #0x0
- bl FUN_021E1BF8
- ldr r1, [sp, #0x1c]
- str r0, [r1, #0x0]
- ldr r0, [sp, #0x24]
- str r0, [r5, #0x64]
- mov r0, #0x1
- add sp, #0x2c
- pop {r4-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0203AC9C
-FUN_0203AC9C: ; 0x0203AC9C
- push {r4, lr}
- add r4, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x0
- bl FUN_02039438
- ldr r1, [r4, #0x8]
- add r3, r1, #0x1
- str r3, [r4, #0x8]
- ldrb r1, [r1, #0x0]
- add r2, r3, #0x1
- str r2, [r4, #0x8]
- ldrb r2, [r3, #0x0]
- ldr r0, [r0, #0x0]
- bl FUN_021E1C4C
- mov r0, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0203ACC4
-FUN_0203ACC4: ; 0x0203ACC4
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x0
- bl FUN_02039438
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- add r2, r0, #0x0
- ldr r0, [r4, #0x0]
- add r1, r6, #0x0
- bl FUN_021E1C4C
- mov r0, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_0203AD08
-FUN_0203AD08: ; 0x0203AD08
- push {r4, lr}
- add r4, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x0
- bl FUN_02039438
- ldr r0, [r0, #0x0]
- bl FUN_021E1C54
- ldr r1, _0203AD28 ; =FUN_0203AD2C
- add r0, r4, #0x0
- bl SetupNativeScript
- mov r0, #0x1
- pop {r4, pc}
- .balign 4
-_0203AD28: .word FUN_0203AD2C
-
- thumb_func_start FUN_0203AD2C
-FUN_0203AD2C: ; 0x0203AD2C
- push {r3, lr}
- add r1, r0, #0x0
- ldr r1, [r1, #0x64]
- add r0, #0x80
- lsl r1, r1, #0x10
- ldr r0, [r0, #0x0]
- lsr r1, r1, #0x10
- bl FUN_020394B8
- ldrh r1, [r0, #0x0]
- ldr r0, _0203AD50 ; =0x0000EEEE
- cmp r1, r0
- beq _0203AD4A
- mov r0, #0x1
- pop {r3, pc}
-_0203AD4A:
- mov r0, #0x0
- pop {r3, pc}
- nop
-_0203AD50: .word 0x0000EEEE
-
- thumb_func_start FUN_0203AD54
-FUN_0203AD54: ; 0x0203AD54
- push {r4, lr}
- add r4, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x0
- bl FUN_02039438
- ldr r0, [r0, #0x0]
- bl FUN_021E1C54
- ldr r1, _0203AD74 ; =FUN_0203AD78
- add r0, r4, #0x0
- bl SetupNativeScript
- mov r0, #0x1
- pop {r4, pc}
- .balign 4
-_0203AD74: .word FUN_0203AD78
-
- thumb_func_start FUN_0203AD78
-FUN_0203AD78: ; 0x0203AD78
- push {r4-r6, lr}
- add r1, r0, #0x0
- add r0, #0x80
- ldr r1, [r1, #0x64]
- ldr r5, [r0, #0x0]
- lsl r1, r1, #0x10
- add r0, r5, #0x0
- lsr r1, r1, #0x10
- bl FUN_020394B8
- add r4, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0x0
- bl FUN_02039438
- add r6, r0, #0x0
- ldrh r1, [r4, #0x0]
- ldr r0, _0203ADC0 ; =0x0000EEEE
- cmp r1, r0
- bne _0203ADBC
- ldr r0, [r5, #0x78]
- bl FUN_02052714
- cmp r0, #0x0
- beq _0203ADB8
- mov r0, #0x8
- strh r0, [r4, #0x0]
- ldr r0, [r6, #0x0]
- bl FUN_021E1ECC
- mov r0, #0x1
- pop {r4-r6, pc}
-_0203ADB8:
- mov r0, #0x0
- pop {r4-r6, pc}
-_0203ADBC:
- mov r0, #0x1
- pop {r4-r6, pc}
- .balign 4
-_0203ADC0: .word 0x0000EEEE
-
- thumb_func_start FUN_0203ADC4
-FUN_0203ADC4: ; 0x0203ADC4
- push {r4-r7, lr}
- sub sp, #0x2c
- add r5, r0, #0x0
- add r0, #0x80
- ldr r6, [r0, #0x0]
- mov r1, #0x0
- add r0, r6, #0x0
- bl FUN_02039438
- str r0, [sp, #0x1c]
- add r0, r6, #0x0
- mov r1, #0xf
- bl FUN_02039438
- str r0, [sp, #0x20]
- ldr r0, [r5, #0x8]
- add r1, r0, #0x1
- str r1, [r5, #0x8]
- ldrb r0, [r0, #0x0]
- add r2, r1, #0x1
- str r0, [sp, #0x18]
- str r2, [r5, #0x8]
- ldrb r0, [r1, #0x0]
- add r1, r2, #0x1
- str r0, [sp, #0x14]
- str r1, [r5, #0x8]
- ldrb r7, [r2, #0x0]
- add r0, r1, #0x1
- str r0, [r5, #0x8]
- add r0, r5, #0x0
- ldrb r4, [r1, #0x0]
- bl ScriptReadHalfword
- str r0, [sp, #0x24]
- ldr r1, [sp, #0x24]
- add r0, r6, #0x0
- bl FUN_020394B8
- str r0, [sp, #0x28]
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x1
- bl FUN_02039438
- ldr r1, [sp, #0x28]
- str r4, [sp, #0x0]
- str r1, [sp, #0x4]
- ldr r1, [sp, #0x20]
- add r3, r7, #0x0
- ldr r1, [r1, #0x0]
- str r1, [sp, #0x8]
- str r0, [sp, #0xc]
- mov r0, #0x0
- str r0, [sp, #0x10]
- ldr r1, [sp, #0x18]
- ldr r2, [sp, #0x14]
- add r0, r6, #0x0
- bl FUN_021E1F34
- ldr r1, [sp, #0x1c]
- str r0, [r1, #0x0]
- ldr r0, [sp, #0x24]
- str r0, [r5, #0x64]
- mov r0, #0x1
- add sp, #0x2c
- pop {r4-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0203AE4C
-FUN_0203AE4C: ; 0x0203AE4C
- push {r4-r7, lr}
- sub sp, #0x2c
- add r5, r0, #0x0
- add r0, #0x80
- ldr r6, [r0, #0x0]
- mov r1, #0x0
- add r0, r6, #0x0
- bl FUN_02039438
- str r0, [sp, #0x1c]
- add r0, r6, #0x0
- mov r1, #0xf
- bl FUN_02039438
- str r0, [sp, #0x20]
- ldr r0, [r5, #0x8]
- add r1, r0, #0x1
- str r1, [r5, #0x8]
- ldrb r0, [r0, #0x0]
- add r2, r1, #0x1
- str r0, [sp, #0x18]
- str r2, [r5, #0x8]
- ldrb r0, [r1, #0x0]
- add r1, r2, #0x1
- str r0, [sp, #0x14]
- str r1, [r5, #0x8]
- ldrb r7, [r2, #0x0]
- add r0, r1, #0x1
- str r0, [r5, #0x8]
- add r0, r5, #0x0
- ldrb r4, [r1, #0x0]
- bl ScriptReadHalfword
- str r0, [sp, #0x24]
- ldr r1, [sp, #0x24]
- add r0, r6, #0x0
- bl FUN_020394B8
- str r0, [sp, #0x28]
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x1
- bl FUN_02039438
- ldr r1, [sp, #0x28]
- str r4, [sp, #0x0]
- str r1, [sp, #0x4]
- ldr r1, [sp, #0x20]
- add r3, r7, #0x0
- ldr r1, [r1, #0x0]
- str r1, [sp, #0x8]
- str r0, [sp, #0xc]
- ldr r0, [r5, #0x78]
- str r0, [sp, #0x10]
- ldr r1, [sp, #0x18]
- ldr r2, [sp, #0x14]
- add r0, r6, #0x0
- bl FUN_021E1F34
- ldr r1, [sp, #0x1c]
- str r0, [r1, #0x0]
- ldr r0, [sp, #0x24]
- str r0, [r5, #0x64]
- mov r0, #0x1
- add sp, #0x2c
- pop {r4-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0203AED4
-FUN_0203AED4: ; 0x0203AED4
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x0
- bl FUN_02039438
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r7, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- add r3, r0, #0x0
- lsl r1, r6, #0x18
- lsl r2, r7, #0x18
- lsl r3, r3, #0x18
- ldr r0, [r4, #0x0]
- lsr r1, r1, #0x18
- lsr r2, r2, #0x18
- lsr r3, r3, #0x18
- bl FUN_021E1F58
- mov r0, #0x0
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0203AF34
-FUN_0203AF34: ; 0x0203AF34
- push {r4, lr}
- add r4, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x0
- bl FUN_02039438
- ldr r0, [r0, #0x0]
- bl FUN_021E1F60
- ldr r1, _0203AF54 ; =FUN_0203AD2C
- add r0, r4, #0x0
- bl SetupNativeScript
- mov r0, #0x1
- pop {r4, pc}
- .balign 4
-_0203AF54: .word FUN_0203AD2C
-
- thumb_func_start FUN_0203AF58
-FUN_0203AF58: ; 0x0203AF58
- push {r4, lr}
- add r4, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x0
- bl FUN_02039438
- ldr r2, [r4, #0x8]
- add r1, r2, #0x1
- str r1, [r4, #0x8]
- ldrb r1, [r2, #0x0]
- ldr r0, [r0, #0x0]
- bl FUN_021E26CC
- ldr r1, _0203AF80 ; =FUN_0203AD2C
- add r0, r4, #0x0
- bl SetupNativeScript
- mov r0, #0x1
- pop {r4, pc}
- .balign 4
-_0203AF80: .word FUN_0203AD2C
-
- thumb_func_start FUN_0203AF84
-FUN_0203AF84: ; 0x0203AF84
- push {r4, lr}
- add r4, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x0
- bl FUN_02039438
- ldr r2, [r4, #0x8]
- add r1, r2, #0x1
- str r1, [r4, #0x8]
- ldrb r1, [r2, #0x0]
- ldr r0, [r0, #0x0]
- bl FUN_021E2B80
- mov r0, #0x1
- pop {r4, pc}
-
- thumb_func_start FUN_0203AFA4
-FUN_0203AFA4: ; 0x0203AFA4
- push {r4, lr}
- add r4, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x0
- bl FUN_02039438
- ldr r2, [r4, #0x8]
- add r1, r2, #0x1
- str r1, [r4, #0x8]
- ldrb r1, [r2, #0x0]
- ldr r0, [r0, #0x0]
- bl FUN_021E2B9C
- mov r0, #0x1
- pop {r4, pc}
-
- thumb_func_start FUN_0203AFC4
-FUN_0203AFC4: ; 0x0203AFC4
- push {r4-r6, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadWord
- add r4, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- add r1, r6, #0x0
- bl FUN_0203B120
- add r6, r0, #0x0
- bne _0203AFF6
- bl ErrorHandling
-_0203AFF6:
- ldr r1, [r5, #0x8]
- add r0, r6, #0x0
- add r1, r1, r4
- bl FUN_0205AEA4
- add r4, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x4
- bl FUN_02039438
- ldrb r1, [r0, #0x0]
- add r5, #0x80
- mov r2, #0x0
- add r1, r1, #0x1
- strb r1, [r0, #0x0]
- ldr r0, [r5, #0x0]
- add r1, r4, #0x0
- bl FUN_0203B174
- mov r0, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_0203B024
-FUN_0203B024: ; 0x0203B024
- push {r3-r7, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- str r0, [sp, #0x0]
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r7, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- add r1, r4, #0x0
- bl FUN_0203B120
- str r0, [sp, #0x4]
- cmp r0, #0x0
- bne _0203B07A
- bl ErrorHandling
-_0203B07A:
- mov r0, #0x4
- add r1, r0, #0x0
- add r1, #0xfc
- bl FUN_02016998
- add r4, r0, #0x0
- ldr r0, [sp, #0x4]
- bl FUN_02058B2C
- lsl r0, r0, #0x10
- lsr r6, r0, #0x10
- ldr r0, [sp, #0x4]
- bl FUN_02058B4C
- lsl r0, r0, #0x10
- ldr r2, [sp, #0x0]
- lsr r0, r0, #0x10
- mov r1, #0x0
- cmp r6, r2
- bhs _0203B0B0
- mov r2, #0xf
- strh r2, [r4, #0x0]
- ldr r2, [sp, #0x0]
- add r1, r1, #0x1
- sub r2, r2, r6
- strh r2, [r4, #0x2]
- b _0203B0C0
-_0203B0B0:
- cmp r6, r2
- bls _0203B0C0
- mov r2, #0xe
- strh r2, [r4, #0x0]
- ldr r2, [sp, #0x0]
- add r1, r1, #0x1
- sub r2, r6, r2
- strh r2, [r4, #0x2]
-_0203B0C0:
- cmp r0, r7
- bhs _0203B0D4
- lsl r2, r1, #0x2
- mov r3, #0xc
- strh r3, [r4, r2]
- sub r3, r7, r0
- add r0, r4, r2
- strh r3, [r0, #0x2]
- add r1, r1, #0x1
- b _0203B0E6
-_0203B0D4:
- cmp r0, r7
- bls _0203B0E6
- lsl r2, r1, #0x2
- mov r3, #0xd
- strh r3, [r4, r2]
- sub r3, r0, r7
- add r0, r4, r2
- strh r3, [r0, #0x2]
- add r1, r1, #0x1
-_0203B0E6:
- lsl r2, r1, #0x2
- mov r0, #0xfe
- strh r0, [r4, r2]
- mov r1, #0x0
- add r0, r4, r2
- strh r1, [r0, #0x2]
- ldr r0, [sp, #0x4]
- add r1, r4, #0x0
- bl FUN_0205AEA4
- add r6, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x4
- bl FUN_02039438
- ldrb r1, [r0, #0x0]
- add r5, #0x80
- add r2, r4, #0x0
- add r1, r1, #0x1
- strb r1, [r0, #0x0]
- ldr r0, [r5, #0x0]
- add r1, r6, #0x0
- bl FUN_0203B174
- mov r0, #0x0
- add sp, #0x8
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0203B120
-FUN_0203B120: ; 0x0203B120
- push {r3, lr}
- cmp r1, #0xf2
- bne _0203B130
- ldr r0, [r0, #0x34]
- mov r1, #0x30
- bl FUN_020580B4
- pop {r3, pc}
-_0203B130:
- cmp r1, #0xf1
- bne _0203B13E
- mov r1, #0xb
- bl FUN_02039438
- ldr r0, [r0, #0x0]
- pop {r3, pc}
-_0203B13E:
- ldr r0, [r0, #0x34]
- bl FUN_02058060
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0203B148
-FUN_0203B148: ; 0x0203B148
- push {r3, lr}
- ldr r1, _0203B154 ; =FUN_0203B158
- bl SetupNativeScript
- mov r0, #0x1
- pop {r3, pc}
- .balign 4
-_0203B154: .word FUN_0203B158
-
- thumb_func_start FUN_0203B158
-FUN_0203B158: ; 0x0203B158
- push {r3, lr}
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x4
- bl FUN_02039438
- ldrb r0, [r0, #0x0]
- cmp r0, #0x0
- bne _0203B16E
- mov r0, #0x1
- pop {r3, pc}
-_0203B16E:
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0203B174
-FUN_0203B174: ; 0x0203B174
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r6, r1, #0x0
- mov r0, #0x4
- mov r1, #0x10
- add r7, r2, #0x0
- bl FUN_02016998
- add r4, r0, #0x0
- bne _0203B18E
- bl ErrorHandling
- pop {r3-r7, pc}
-_0203B18E:
- str r5, [r4, #0xc]
- str r6, [r4, #0x4]
- ldr r0, _0203B1A4 ; =FUN_0203B1A8
- add r1, r4, #0x0
- mov r2, #0x0
- str r7, [r4, #0x8]
- bl FUN_0200CA44
- str r0, [r4, #0x0]
- pop {r3-r7, pc}
- nop
-_0203B1A4: .word FUN_0203B1A8
-
- thumb_func_start FUN_0203B1A8
-FUN_0203B1A8: ; 0x0203B1A8
- push {r3-r5, lr}
- add r5, r1, #0x0
- ldr r0, [r5, #0xc]
- mov r1, #0x4
- bl FUN_02039438
- add r4, r0, #0x0
- ldr r0, [r5, #0x4]
- bl FUN_0205AEF0
- cmp r0, #0x1
- bne _0203B1EC
- ldr r0, [r5, #0x4]
- bl FUN_0205AEFC
- ldr r0, [r5, #0x0]
- bl FUN_0200CAB4
- ldr r0, [r5, #0x8]
- cmp r0, #0x0
- beq _0203B1D6
- bl FUN_02016A18
-_0203B1D6:
- add r0, r5, #0x0
- bl FUN_02016A18
- ldrb r0, [r4, #0x0]
- cmp r0, #0x0
- bne _0203B1E8
- bl ErrorHandling
- pop {r3-r5, pc}
-_0203B1E8:
- sub r0, r0, #0x1
- strb r0, [r4, #0x0]
-_0203B1EC:
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0203B1F0
-FUN_0203B1F0: ; 0x0203B1F0
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r4, [r0, #0x0]
- mov r1, #0xa
- add r0, r4, #0x0
- bl FUN_02039438
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- bne _0203B20E
- ldr r0, [r4, #0x34]
- bl FUN_02058780
- b _0203B214
-_0203B20E:
- add r0, r5, #0x0
- bl FUN_0203B2E0
-_0203B214:
- mov r0, #0x1
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0203B218
-FUN_0203B218: ; 0x0203B218
- push {r4-r6, lr}
- add r0, #0x80
- ldr r4, [r0, #0x0]
- mov r1, #0xa
- add r0, r4, #0x0
- bl FUN_02039438
- add r5, r0, #0x0
- ldr r0, [r4, #0x38]
- bl FUN_020553A0
- ldr r1, _0203B2DC ; =0x021C5A0C
- add r6, r0, #0x0
- ldrb r2, [r1, #0x0]
- mov r1, #0x1
- tst r1, r2
- beq _0203B252
- bl FUN_0205AE28
- cmp r0, #0x1
- bne _0203B252
- add r0, r6, #0x0
- bl FUN_02058908
- ldr r1, _0203B2DC ; =0x021C5A0C
- mov r0, #0xfe
- ldrb r2, [r1, #0x0]
- and r0, r2
- strb r0, [r1, #0x0]
-_0203B252:
- ldr r0, _0203B2DC ; =0x021C5A0C
- ldrb r1, [r0, #0x0]
- mov r0, #0x4
- tst r0, r1
- beq _0203B276
- ldr r0, [r5, #0x0]
- bl FUN_02058854
- cmp r0, #0x0
- bne _0203B276
- ldr r0, [r5, #0x0]
- bl FUN_02058908
- ldr r1, _0203B2DC ; =0x021C5A0C
- mov r0, #0xfb
- ldrb r2, [r1, #0x0]
- and r0, r2
- strb r0, [r1, #0x0]
-_0203B276:
- ldr r0, _0203B2DC ; =0x021C5A0C
- ldrb r1, [r0, #0x0]
- mov r0, #0x2
- tst r0, r1
- beq _0203B2A2
- ldr r0, [r4, #0x34]
- mov r1, #0x30
- bl FUN_020580B4
- add r4, r0, #0x0
- bl FUN_02058854
- cmp r0, #0x0
- bne _0203B2A2
- add r0, r4, #0x0
- bl FUN_02058908
- ldr r1, _0203B2DC ; =0x021C5A0C
- mov r0, #0xfd
- ldrb r2, [r1, #0x0]
- and r0, r2
- strb r0, [r1, #0x0]
-_0203B2A2:
- ldr r0, _0203B2DC ; =0x021C5A0C
- ldrb r1, [r0, #0x0]
- mov r0, #0x8
- tst r0, r1
- beq _0203B2CC
- ldr r0, [r5, #0x0]
- bl FUN_0205E7C4
- add r4, r0, #0x0
- bl FUN_02058854
- cmp r0, #0x0
- bne _0203B2CC
- add r0, r4, #0x0
- bl FUN_02058908
- ldr r1, _0203B2DC ; =0x021C5A0C
- mov r0, #0xf7
- ldrb r2, [r1, #0x0]
- and r0, r2
- strb r0, [r1, #0x0]
-_0203B2CC:
- ldr r0, _0203B2DC ; =0x021C5A0C
- ldrb r0, [r0, #0x0]
- cmp r0, #0x0
- bne _0203B2D8
- mov r0, #0x1
- pop {r4-r6, pc}
-_0203B2D8:
- mov r0, #0x0
- pop {r4-r6, pc}
- .balign 4
-_0203B2DC: .word 0x021C5A0C
-
- thumb_func_start FUN_0203B2E0
-FUN_0203B2E0: ; 0x0203B2E0
- push {r3-r7, lr}
- sub sp, #0x8
- str r0, [sp, #0x0]
- add r0, #0x80
- ldr r4, [r0, #0x0]
- mov r1, #0xa
- add r0, r4, #0x0
- bl FUN_02039438
- add r5, r0, #0x0
- ldr r0, [r4, #0x38]
- bl FUN_020553A0
- str r0, [sp, #0x4]
- ldr r0, [r4, #0x34]
- mov r1, #0x30
- bl FUN_020580B4
- add r7, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_0205E7C4
- add r6, r0, #0x0
- ldr r0, [r4, #0x34]
- ldr r1, _0203B3A8 ; =0x021C5A0C
- mov r2, #0x0
- strb r2, [r1, #0x0]
- bl FUN_02058780
- ldr r0, [sp, #0x4]
- bl FUN_0205AE28
- cmp r0, #0x0
- bne _0203B334
- ldr r1, _0203B3A8 ; =0x021C5A0C
- mov r0, #0x1
- ldrb r2, [r1, #0x0]
- orr r0, r2
- strb r0, [r1, #0x0]
- ldr r0, [sp, #0x4]
- bl FUN_02058914
-_0203B334:
- ldr r0, [r5, #0x0]
- bl FUN_02058854
- cmp r0, #0x0
- beq _0203B34E
- ldr r1, _0203B3A8 ; =0x021C5A0C
- mov r0, #0x4
- ldrb r2, [r1, #0x0]
- orr r0, r2
- strb r0, [r1, #0x0]
- ldr r0, [r5, #0x0]
- bl FUN_02058914
-_0203B34E:
- cmp r7, #0x0
- beq _0203B37A
- ldr r0, [r4, #0xc]
- bl FUN_020462AC
- bl FUN_0205ED3C
- cmp r0, #0x1
- bne _0203B37A
- add r0, r7, #0x0
- bl FUN_02058854
- cmp r0, #0x0
- beq _0203B37A
- ldr r1, _0203B3A8 ; =0x021C5A0C
- mov r0, #0x2
- ldrb r2, [r1, #0x0]
- orr r0, r2
- strb r0, [r1, #0x0]
- add r0, r7, #0x0
- bl FUN_02058914
-_0203B37A:
- cmp r6, #0x0
- beq _0203B398
- add r0, r6, #0x0
- bl FUN_02058854
- cmp r0, #0x0
- beq _0203B398
- ldr r1, _0203B3A8 ; =0x021C5A0C
- mov r0, #0x8
- ldrb r2, [r1, #0x0]
- orr r0, r2
- strb r0, [r1, #0x0]
- add r0, r6, #0x0
- bl FUN_02058914
-_0203B398:
- ldr r0, [sp, #0x0]
- ldr r1, _0203B3AC ; =FUN_0203B218
- bl SetupNativeScript
- mov r0, #0x1
- add sp, #0x8
- pop {r3-r7, pc}
- nop
-_0203B3A8: .word 0x021C5A0C
-_0203B3AC: .word FUN_0203B218
-
- thumb_func_start FUN_0203B3B0
-FUN_0203B3B0: ; 0x0203B3B0
- push {r3, lr}
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x34]
- bl FUN_020587B0
- mov r0, #0x1
- pop {r3, pc}
-
- thumb_func_start FUN_0203B3C0
-FUN_0203B3C0: ; 0x0203B3C0
- push {r4, lr}
- add r1, r0, #0x0
- add r1, #0x80
- ldr r4, [r1, #0x0]
- bl ScriptReadHalfword
- add r1, r0, #0x0
- ldr r0, [r4, #0x34]
- bl FUN_02058060
- bl FUN_02058908
- mov r0, #0x0
- pop {r4, pc}
-
- thumb_func_start FUN_0203B3DC
-FUN_0203B3DC: ; 0x0203B3DC
- push {r4, lr}
- add r1, r0, #0x0
- add r1, #0x80
- ldr r4, [r1, #0x0]
- bl ScriptReadHalfword
- add r1, r0, #0x0
- ldr r0, [r4, #0x34]
- bl FUN_02058060
- bl FUN_02058914
- mov r0, #0x0
- pop {r4, pc}
-
- thumb_func_start FUN_0203B3F8
-FUN_0203B3F8: ; 0x0203B3F8
- push {r3-r6, lr}
- sub sp, #0x4
- add r4, r0, #0x0
- add r1, r4, #0x0
- add r1, #0x80
- ldr r5, [r1, #0x0]
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394F0
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02034B64
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02034B6C
- str r0, [sp, #0x0]
- ldr r3, [r5, #0x1c]
- ldr r0, [r5, #0x34]
- ldr r3, [r3, #0x0]
- add r1, r4, #0x0
- add r2, r6, #0x0
- bl FUN_020575D4
- cmp r0, #0x0
- bne _0203B43A
- bl ErrorHandling
-_0203B43A:
- mov r0, #0x0
- add sp, #0x4
- pop {r3-r6, pc}
-
- thumb_func_start FUN_0203B440
-FUN_0203B440: ; 0x0203B440
- push {r3-r5, lr}
- add r4, r0, #0x0
- add r1, r4, #0x0
- add r1, #0x80
- ldr r5, [r1, #0x0]
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394F0
- add r1, r0, #0x0
- ldr r0, [r5, #0x34]
- bl FUN_02058060
- bl FUN_02057688
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0203B468
-FUN_0203B468: ; 0x0203B468
- push {r4-r7, lr}
- sub sp, #0xc
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r7, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xb
- bl FUN_02039438
- add r4, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- mov r1, #0x2
- ldr r0, [r0, #0x0]
- lsl r1, r1, #0xc
- str r1, [sp, #0x0]
- mov r3, #0x0
- str r3, [sp, #0x4]
- ldr r1, [r0, #0x1c]
- add r2, r7, #0x0
- ldr r1, [r1, #0x0]
- str r1, [sp, #0x8]
- ldr r0, [r0, #0x34]
- add r1, r6, #0x0
- bl FUN_0205753C
- str r0, [r4, #0x0]
- bl FUN_02059D1C
- ldr r0, [r4, #0x0]
- mov r1, #0x1
- bl FUN_0205889C
- ldr r0, [r4, #0x0]
- mov r1, #0x0
- bl FUN_020588B8
- ldr r0, [r4, #0x0]
- bl FUN_02058B7C
- add r1, r5, #0x0
- add r1, #0x80
- ldr r1, [r1, #0x0]
- add r4, r0, #0x0
- ldr r1, [r1, #0x24]
- bl FUN_021EF5E0
- add r5, #0x80
- ldr r1, [r5, #0x0]
- add r0, r4, #0x0
- ldr r1, [r1, #0x20]
- bl FUN_0201EC68
- mov r0, #0x0
- add sp, #0xc
- pop {r4-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0203B500
-FUN_0203B500: ; 0x0203B500
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xb
- bl FUN_02039438
- ldr r0, [r0, #0x0]
- bl FUN_02057654
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xff
- ldr r0, [r0, #0x34]
- bl FUN_02058060
- bl FUN_02058B7C
- add r1, r5, #0x0
- add r1, #0x80
- ldr r1, [r1, #0x0]
- add r4, r0, #0x0
- ldr r1, [r1, #0x24]
- bl FUN_021EF5E0
- add r5, #0x80
- ldr r1, [r5, #0x0]
- add r0, r4, #0x0
- ldr r1, [r1, #0x20]
- bl FUN_0201EC68
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0203B544
-FUN_0203B544: ; 0x0203B544
- push {r3-r5, lr}
- add r0, #0x80
- ldr r5, [r0, #0x0]
- ldr r0, [r5, #0x38]
- bl FUN_020552F8
- bl FUN_02059E74
- add r4, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0xa
- bl FUN_02039438
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- bne _0203B568
- mov r0, #0x0
- pop {r3-r5, pc}
-_0203B568:
- add r1, r4, #0x0
- bl FUN_021F1EC0
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0203B574
-FUN_0203B574: ; 0x0203B574
- push {r4-r6, lr}
- add r4, r0, #0x0
- add r1, r4, #0x0
- add r1, #0x80
- ldr r5, [r1, #0x0]
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394B8
- add r4, r0, #0x0
- ldr r0, [r5, #0x38]
- bl FUN_02055320
- strh r0, [r6, #0x0]
- ldr r0, [r5, #0x38]
- bl FUN_0205532C
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_0203B5B8
-FUN_0203B5B8: ; 0x0203B5B8
- push {r4-r6, lr}
- add r4, r0, #0x0
- add r1, r4, #0x0
- add r1, #0x80
- ldr r5, [r1, #0x0]
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r1, r0, #0x0
- ldr r0, [r5, #0x34]
- bl FUN_02058060
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394B8
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02058B2C
- strh r0, [r6, #0x0]
- add r0, r5, #0x0
- bl FUN_02058B4C
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_0203B618
-FUN_0203B618: ; 0x0203B618
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r5, #0x80
- add r4, r0, #0x0
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0x38]
- bl FUN_020552F8
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0203B640
-FUN_0203B640: ; 0x0203B640
- push {r4-r7, lr}
- sub sp, #0xc
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r7, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r4, r0, #0x0
- cmp r7, #0x0
- beq _0203B696
- lsl r0, r7, #0xc
- blx _fflt
- add r1, r0, #0x0
- mov r0, #0x3f
- lsl r0, r0, #0x18
- blx _fadd
- b _0203B6A4
-_0203B696:
- lsl r0, r7, #0xc
- blx _fflt
- mov r1, #0x3f
- lsl r1, r1, #0x18
- blx _fsub
-_0203B6A4:
- blx _ffix
- str r0, [sp, #0x0]
- cmp r6, #0x0
- beq _0203B6C0
- lsl r0, r6, #0xc
- blx _fflt
- add r1, r0, #0x0
- mov r0, #0x3f
- lsl r0, r0, #0x18
- blx _fadd
- b _0203B6CE
-_0203B6C0:
- lsl r0, r6, #0xc
- blx _fflt
- mov r1, #0x3f
- lsl r1, r1, #0x18
- blx _fsub
-_0203B6CE:
- blx _ffix
- str r0, [sp, #0x4]
- cmp r4, #0x0
- beq _0203B6EA
- lsl r0, r4, #0xc
- blx _fflt
- add r1, r0, #0x0
- mov r0, #0x3f
- lsl r0, r0, #0x18
- blx _fadd
- b _0203B6F8
-_0203B6EA:
- lsl r0, r4, #0xc
- blx _fflt
- mov r1, #0x3f
- lsl r1, r1, #0x18
- blx _fsub
-_0203B6F8:
- blx _ffix
- str r0, [sp, #0x8]
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x38]
- bl FUN_020553A0
- add r1, sp, #0x0
- bl FUN_02058BB4
- add r5, #0x80
- ldr r1, [r5, #0x0]
- add r0, sp, #0x0
- ldr r1, [r1, #0x20]
- bl FUN_0201EF70
- mov r0, #0x0
- add sp, #0xc
- pop {r4-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0203B724
-FUN_0203B724: ; 0x0203B724
- push {r4, lr}
- add r4, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x34]
- bl FUN_02058060
- ldr r2, [r4, #0x8]
- add r1, r2, #0x1
- str r1, [r4, #0x8]
- ldrb r1, [r2, #0x0]
- bl FUN_02058994
- mov r0, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0203B758
-FUN_0203B758: ; 0x0203B758
- push {r3-r5, lr}
- add r4, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x34]
- bl FUN_02058060
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02058E90
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0203B790
-FUN_0203B790: ; 0x0203B790
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r4, r0, #0x0
- mov r0, #0x0
- strh r0, [r4, #0x0]
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0x34]
- bl FUN_02058060
- cmp r0, #0x0
- beq _0203B7D2
- bl FUN_02058480
- strh r0, [r4, #0x0]
-_0203B7D2:
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0203B7D8
-FUN_0203B7D8: ; 0x0203B7D8
- push {r3, lr}
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x30
- ldr r0, [r0, #0x34]
- bl FUN_020580B4
- mov r1, #0xfe
- bl FUN_02058EB0
- mov r0, #0x0
- pop {r3, pc}
-
- thumb_func_start FUN_0203B7F0
-FUN_0203B7F0: ; 0x0203B7F0
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r5, #0x80
- add r4, r0, #0x0
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_02029C80
- bl FUN_02029E0C
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0203B81C
-FUN_0203B81C: ; 0x0203B81C
- push {r4-r6, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r5, #0x80
- add r4, r0, #0x0
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_02029C80
- add r1, r6, #0x0
- bl FUN_02029E2C
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_0203B85C
-FUN_0203B85C: ; 0x0203B85C
- push {r4-r6, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r5, #0x80
- add r4, r0, #0x0
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_02029C80
- lsl r2, r4, #0x10
- add r1, r6, #0x0
- asr r2, r2, #0x10
- bl FUN_02029D44
- mov r0, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_0203B8A0
-FUN_0203B8A0: ; 0x0203B8A0
- push {r4-r6, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r5, #0x80
- add r4, r0, #0x0
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_0206BB1C
- add r1, r6, #0x0
- bl FUN_0206B9B0
- bl FUN_020690CC
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_0203B8E4
-FUN_0203B8E4: ; 0x0203B8E4
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x13
- bl FUN_02039438
- add r1, r5, #0x0
- add r1, #0x80
- add r4, r0, #0x0
- ldr r1, [r1, #0x0]
- mov r0, #0x20
- bl FUN_020379F8
- str r0, [r4, #0x0]
- ldr r1, _0203B910 ; =FUN_0203BC04
- add r0, r5, #0x0
- bl SetupNativeScript
- mov r0, #0x1
- pop {r3-r5, pc}
- nop
-_0203B910: .word FUN_0203BC04
-
- thumb_func_start FUN_0203B914
-FUN_0203B914: ; 0x0203B914
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x13
- bl FUN_02039438
- add r1, r5, #0x0
- add r1, #0x80
- add r4, r0, #0x0
- ldr r1, [r1, #0x0]
- mov r0, #0x20
- bl FUN_02037A1C
- str r0, [r4, #0x0]
- ldr r1, _0203B940 ; =FUN_0203BC04
- add r0, r5, #0x0
- bl SetupNativeScript
- mov r0, #0x1
- pop {r3-r5, pc}
- nop
-_0203B940: .word FUN_0203BC04
-
- thumb_func_start FUN_0203B944
-FUN_0203B944: ; 0x0203B944
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x13
- bl FUN_02039438
- add r5, #0x80
- add r4, r0, #0x0
- ldr r0, [r5, #0x0]
- mov r1, #0x20
- ldr r0, [r0, #0x10]
- bl FUN_02037B44
- str r0, [r4, #0x0]
- mov r0, #0x1
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0203B968
-FUN_0203B968: ; 0x0203B968
- push {r3-r5, lr}
- add r4, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r4, #0x80
- add r5, r0, #0x0
- ldr r0, [r4, #0x0]
- mov r1, #0x13
- bl FUN_02039438
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- cmp r0, #0x0
- bne _0203B994
- bl ErrorHandling
-_0203B994:
- ldr r0, [r4, #0x0]
- bl FUN_02037A40
- strh r0, [r5, #0x0]
- ldrh r0, [r5, #0x0]
- cmp r0, #0x7
- bne _0203B9A6
- mov r0, #0xff
- strh r0, [r5, #0x0]
-_0203B9A6:
- ldr r0, [r4, #0x0]
- bl FUN_02016A18
- mov r0, #0x0
- str r0, [r4, #0x0]
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0203B9B4
-FUN_0203B9B4: ; 0x0203B9B4
- push {r4-r7, lr}
- sub sp, #0xc
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x13
- bl FUN_02039438
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r7, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- str r0, [sp, #0x8]
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- str r0, [sp, #0x0]
- add r1, r5, #0x0
- str r6, [sp, #0x4]
- add r1, #0x80
- ldr r1, [r1, #0x0]
- ldr r2, [sp, #0x8]
- mov r0, #0x20
- add r3, r7, #0x0
- bl FUN_02037BB0
- str r0, [r4, #0x0]
- ldr r1, _0203BA38 ; =FUN_0203BC04
- add r0, r5, #0x0
- bl SetupNativeScript
- mov r0, #0x1
- add sp, #0xc
- pop {r4-r7, pc}
- .balign 4
-_0203BA38: .word FUN_0203BC04
-
- thumb_func_start FUN_0203BA3C
-FUN_0203BA3C: ; 0x0203BA3C
- push {r4-r6, lr}
- add r4, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r4, #0x80
- add r5, r0, #0x0
- ldr r0, [r4, #0x0]
- mov r1, #0x13
- bl FUN_02039438
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- cmp r0, #0x0
- bne _0203BA7C
- bl ErrorHandling
-_0203BA7C:
- ldr r0, [r4, #0x0]
- bl FUN_02037A40
- strh r0, [r6, #0x0]
- ldrh r0, [r6, #0x0]
- cmp r0, #0x7
- bne _0203BA8E
- mov r0, #0xff
- strh r0, [r6, #0x0]
-_0203BA8E:
- ldr r0, [r4, #0x0]
- bl FUN_02037A70
- strh r0, [r5, #0x0]
- ldrh r0, [r5, #0x0]
- cmp r0, #0x1
- bne _0203BAA0
- mov r0, #0x1
- b _0203BAA2
-_0203BAA0:
- mov r0, #0x0
-_0203BAA2:
- strh r0, [r5, #0x0]
- ldr r0, [r4, #0x0]
- bl FUN_02016A18
- mov r0, #0x0
- str r0, [r4, #0x0]
- pop {r4-r6, pc}
-
- thumb_func_start FUN_0203BAB0
-FUN_0203BAB0: ; 0x0203BAB0
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x13
- bl FUN_02039438
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r1, r5, #0x0
- add r1, #0x80
- add r2, r0, #0x0
- ldr r1, [r1, #0x0]
- mov r0, #0x20
- bl FUN_02037C00
- str r0, [r4, #0x0]
- ldr r1, _0203BAF0 ; =FUN_0203BC04
- add r0, r5, #0x0
- bl SetupNativeScript
- mov r0, #0x1
- pop {r3-r5, pc}
- nop
-_0203BAF0: .word FUN_0203BC04
-
- thumb_func_start FUN_0203BAF4
-FUN_0203BAF4: ; 0x0203BAF4
- push {r3-r5, lr}
- add r4, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r4, #0x80
- add r5, r0, #0x0
- ldr r0, [r4, #0x0]
- mov r1, #0x13
- bl FUN_02039438
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- cmp r0, #0x0
- bne _0203BB20
- bl ErrorHandling
-_0203BB20:
- ldr r0, [r4, #0x0]
- bl FUN_02037A78
- strh r0, [r5, #0x0]
- ldr r0, [r4, #0x0]
- bl FUN_02016A18
- mov r0, #0x0
- str r0, [r4, #0x0]
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0203BB34
-FUN_0203BB34: ; 0x0203BB34
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xa
- bl FUN_02039438
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r7, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r5, #0x80
- add r6, r0, #0x0
- ldr r0, [r5, #0x0]
- ldr r1, [r4, #0x0]
- add r2, r7, #0x0
- bl FUN_021E1858
- strh r0, [r6, #0x0]
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0203BB80
-FUN_0203BB80: ; 0x0203BB80
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_0203BB84
-FUN_0203BB84: ; 0x0203BB84
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_0203BB88
-FUN_0203BB88: ; 0x0203BB88
- mov r0, #0x1
- bx lr
-
- thumb_func_start FUN_0203BB8C
-FUN_0203BB8C: ; 0x0203BB8C
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_0203BB90
-FUN_0203BB90: ; 0x0203BB90
- push {r3-r5, lr}
- add r0, #0x80
- ldr r5, [r0, #0x0]
- mov r1, #0x13
- add r0, r5, #0x0
- bl FUN_02039438
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0204647C
- cmp r0, #0x0
- beq _0203BBAE
- mov r0, #0x0
- pop {r3-r5, pc}
-_0203BBAE:
- ldr r0, [r4, #0x0]
- bl FUN_02016A18
- mov r0, #0x0
- str r0, [r4, #0x0]
- mov r0, #0x1
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0203BBBC
-FUN_0203BBBC: ; 0x0203BBBC
- push {r4-r6, lr}
- add r0, #0x80
- ldr r5, [r0, #0x0]
- mov r1, #0x13
- add r0, r5, #0x0
- bl FUN_02039438
- add r4, r0, #0x0
- add r0, r5, #0x0
- ldr r6, [r4, #0x0]
- bl FUN_0204647C
- cmp r0, #0x0
- beq _0203BBDC
- mov r0, #0x0
- pop {r4-r6, pc}
-_0203BBDC:
- ldr r0, [r6, #0x8]
- cmp r0, #0x1
- bne _0203BBF4
- mov r0, #0xb
- bl FUN_02029048
- add r5, #0x98
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- mov r2, #0x1
- bl FUN_02028AD4
-_0203BBF4:
- ldr r0, [r4, #0x0]
- bl FUN_02016A18
- mov r0, #0x0
- str r0, [r4, #0x0]
- mov r0, #0x1
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_0203BC04
-FUN_0203BC04: ; 0x0203BC04
- push {r3, lr}
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_0204647C
- cmp r0, #0x0
- bne _0203BC16
- mov r0, #0x1
- pop {r3, pc}
-_0203BC16:
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0203BC1C
-FUN_0203BC1C: ; 0x0203BC1C
- push {r3, lr}
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x10]
- bl FUN_0204AF84
- mov r0, #0x1
- pop {r3, pc}
-
- thumb_func_start FUN_0203BC2C
-FUN_0203BC2C: ; 0x0203BC2C
- push {r3, lr}
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x10]
- bl FUN_0204AF3C
- mov r0, #0x1
- pop {r3, pc}
-
- thumb_func_start FUN_0203BC3C
-FUN_0203BC3C: ; 0x0203BC3C
- push {r3-r5, lr}
- ldr r0, [r0, #0xc]
- add r5, r1, #0x0
- add r4, r2, #0x0
- bl FUN_02027E24
- cmp r5, #0x0
- bne _0203BC5A
- add r1, r4, #0x0
- bl FUN_02027098
- cmp r0, #0x0
- bne _0203BC68
- mov r0, #0x0
- pop {r3-r5, pc}
-_0203BC5A:
- add r1, r4, #0x0
- bl FUN_020270B4
- cmp r0, #0x0
- bne _0203BC68
- mov r0, #0x0
- pop {r3-r5, pc}
-_0203BC68:
- mov r0, #0x1
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0203BC6C
-FUN_0203BC6C: ; 0x0203BC6C
- push {r3-r7, lr}
- add r5, r1, #0x0
- str r0, [sp, #0x0]
- ldr r0, [r5, #0xc]
- add r4, r2, #0x0
- add r6, r3, #0x0
- bl FUN_02027E24
- add r7, r0, #0x0
- add r0, r5, #0x0
- add r1, r4, #0x0
- add r2, r6, #0x0
- bl FUN_0203BC3C
- cmp r0, #0x0
- bne _0203BC90
- mov r0, #0x0
- pop {r3-r7, pc}
-_0203BC90:
- ldr r0, [sp, #0x0]
- 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]
- str r7, [r0, #0x0]
- str r4, [r0, #0x8]
- str r6, [r0, #0x4]
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0203BCBC
-FUN_0203BCBC: ; 0x0203BCBC
- push {r3, lr}
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_021F02C4
- mov r0, #0x1
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0203BCCC
-FUN_0203BCCC: ; 0x0203BCCC
- push {r3, lr}
- ldr r0, [r0, #0x74]
- bl FUN_0206F3B8
- mov r0, #0x1
- pop {r3, pc}
-
- thumb_func_start FUN_0203BCD8
-FUN_0203BCD8: ; 0x0203BCD8
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x13
- bl FUN_02039438
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394B8
- ldr r1, [r4, #0x0]
- ldr r1, [r1, #0x4]
- strh r1, [r0, #0x0]
- ldr r0, [r4, #0x0]
- bl FUN_02016A18
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0203BD08
-FUN_0203BD08: ; 0x0203BD08
- push {r4, lr}
- add r4, r0, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394B8
- add r4, r0, #0x0
- bl FUN_02031190
- strh r0, [r4, #0x0]
- mov r0, #0x1
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0203BD28
-FUN_0203BD28: ; 0x0203BD28
- push {r4-r7, lr}
- sub sp, #0x14
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x14
- bl FUN_02039438
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r7, r0, #0x0
- mov r0, #0x0
- str r0, [sp, #0x0]
- mov r0, #0x4
- str r0, [sp, #0x4]
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r2, _0203BDB4 ; =0x000003D9
- ldr r0, [r0, #0x8]
- mov r1, #0x3
- mov r3, #0xb
- bl FUN_0200CB00
- mov r0, #0xb
- str r0, [sp, #0x0]
- ldr r0, _0203BDB4 ; =0x000003D9
- mov r1, #0x3
- str r0, [sp, #0x4]
- lsl r0, r7, #0x18
- str r4, [sp, #0x8]
- lsr r0, r0, #0x18
- str r0, [sp, #0xc]
- mov r0, #0x4
- str r0, [sp, #0x10]
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r2, #0xa
- ldr r0, [r0, #0x8]
- mov r3, #0x5
- bl FUN_0200DC4C
- add r5, #0x80
- str r0, [r6, #0x0]
- ldr r0, [r5, #0x0]
- add r1, r4, #0x0
- bl FUN_0203ED2C
- mov r0, #0x0
- add sp, #0x14
- pop {r4-r7, pc}
- .balign 4
-_0203BDB4: .word 0x000003D9
-
- thumb_func_start FUN_0203BDB8
-FUN_0203BDB8: ; 0x0203BDB8
- push {r4-r6, lr}
- sub sp, #0x10
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x14
- bl FUN_02039438
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r4, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_0206BB1C
- add r1, r4, #0x0
- bl FUN_0206B9B0
- add r4, r0, #0x0
- mov r0, #0x0
- str r0, [sp, #0x0]
- mov r0, #0x4
- str r0, [sp, #0x4]
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r2, _0203BE4C ; =0x000003D9
- ldr r0, [r0, #0x8]
- mov r1, #0x3
- mov r3, #0xb
- bl FUN_0200CB00
- mov r0, #0xb
- str r0, [sp, #0x0]
- ldr r0, _0203BE4C ; =0x000003D9
- mov r1, #0x3
- str r0, [sp, #0x4]
- str r4, [sp, #0x8]
- mov r0, #0x4
- str r0, [sp, #0xc]
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r2, #0xa
- ldr r0, [r0, #0x8]
- mov r3, #0x5
- bl FUN_0200DCA4
- str r0, [r6, #0x0]
- add r0, r4, #0x0
- mov r1, #0x5
- mov r2, #0x0
- bl FUN_020671BC
- add r1, r0, #0x0
- add r5, #0x80
- lsl r1, r1, #0x10
- ldr r0, [r5, #0x0]
- lsr r1, r1, #0x10
- bl FUN_0203ED2C
- mov r0, #0x0
- add sp, #0x10
- pop {r4-r6, pc}
- .balign 4
-_0203BE4C: .word 0x000003D9
-
- thumb_func_start FUN_0203BE50
-FUN_0203BE50: ; 0x0203BE50
- push {r3, lr}
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x14
- bl FUN_02039438
- ldr r0, [r0, #0x0]
- mov r1, #0x1
- strb r1, [r0, #0x0]
- add r0, r1, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0203BE68
-FUN_0203BE68: ; 0x0203BE68
- push {r3, lr}
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x14
- bl FUN_02039438
- ldr r0, [r0, #0x0]
- mov r1, #0x2
- strb r1, [r0, #0x0]
- mov r0, #0x1
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0203BE80
-FUN_0203BE80: ; 0x0203BE80
- push {r4, lr}
- add r4, r0, #0x0
- bl ScriptReadHalfword
- str r0, [r4, #0x64]
- ldr r1, _0203BE98 ; =FUN_0203BE9C
- add r0, r4, #0x0
- bl SetupNativeScript
- mov r0, #0x1
- pop {r4, pc}
- nop
-_0203BE98: .word FUN_0203BE9C
-
- thumb_func_start FUN_0203BE9C
-FUN_0203BE9C: ; 0x0203BE9C
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x14
- bl FUN_02039438
- add r4, r0, #0x0
- add r0, r5, #0x0
- ldr r1, [r5, #0x64]
- add r0, #0x80
- lsl r1, r1, #0x10
- ldr r0, [r0, #0x0]
- lsr r1, r1, #0x10
- bl FUN_020394B8
- ldr r0, [r4, #0x0]
- ldrb r0, [r0, #0x0]
- cmp r0, #0x3
- beq _0203BEC8
- mov r0, #0x1
- pop {r3-r5, pc}
-_0203BEC8:
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0203BECC
-FUN_0203BECC: ; 0x0203BECC
- push {r4-r6, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r6, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xf
- bl FUN_02039438
- add r4, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- add r1, r6, #0x0
- bl FUN_020394B8
- add r2, r0, #0x0
- ldr r0, [r5, #0x74]
- ldr r1, [r4, #0x0]
- bl FUN_021E1374
- mov r0, #0x1
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_0203BF00
-FUN_0203BF00: ; 0x0203BF00
- push {r4, lr}
- add r4, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xa
- bl FUN_02039438
- ldr r1, [r0, #0x0]
- cmp r1, #0x0
- beq _0203BF1C
- add r4, #0x80
- ldr r0, [r4, #0x0]
- bl FUN_021E1994
-_0203BF1C:
- mov r0, #0x0
- pop {r4, pc}
-
- thumb_func_start FUN_0203BF20
-FUN_0203BF20: ; 0x0203BF20
- push {r3, lr}
- ldr r0, [r0, #0x74]
- bl FUN_0208A338
- mov r0, #0x1
- pop {r3, pc}
-
- thumb_func_start FUN_0203BF2C
-FUN_0203BF2C: ; 0x0203BF2C
- push {r3-r6, lr}
- sub sp, #0x4
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r5, #0x80
- ldr r2, [r5, #0x0]
- add r1, r6, #0x0
- str r0, [sp, #0x0]
- ldr r0, [r2, #0x10]
- ldr r2, [r2, #0xc]
- add r3, r4, #0x0
- bl FUN_020380CC
- mov r0, #0x1
- add sp, #0x4
- pop {r3-r6, pc}
- .balign 4
-
- thumb_func_start FUN_0203BF84
-FUN_0203BF84: ; 0x0203BF84
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x13
- bl FUN_02039438
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r7, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r1, r5, #0x0
- add r1, #0x80
- add r6, r0, #0x0
- ldr r1, [r1, #0x0]
- mov r0, #0xb
- mov r2, #0x0
- add r3, r7, #0x0
- bl FUN_0203BC6C
- str r0, [r4, #0x0]
- cmp r0, #0x0
- bne _0203BFCC
- mov r0, #0x1
- strh r0, [r6, #0x0]
- pop {r3-r7, pc}
-_0203BFCC:
- mov r0, #0x0
- strh r0, [r6, #0x0]
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r1, [r4, #0x0]
- bl FUN_02038130
- ldr r1, _0203BFE8 ; =FUN_0203BB90
- add r0, r5, #0x0
- bl SetupNativeScript
- mov r0, #0x1
- pop {r3-r7, pc}
- .balign 4
-_0203BFE8: .word FUN_0203BB90
-
- thumb_func_start FUN_0203BFEC
-FUN_0203BFEC: ; 0x0203BFEC
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x13
- bl FUN_02039438
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r7, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r1, r5, #0x0
- add r1, #0x80
- add r6, r0, #0x0
- ldr r1, [r1, #0x0]
- mov r0, #0xb
- mov r2, #0x1
- add r3, r7, #0x0
- bl FUN_0203BC6C
- str r0, [r4, #0x0]
- cmp r0, #0x0
- bne _0203C034
- mov r0, #0x1
- strh r0, [r6, #0x0]
- pop {r3-r7, pc}
-_0203C034:
- mov r0, #0x0
- strh r0, [r6, #0x0]
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r1, [r4, #0x0]
- bl FUN_02038130
- ldr r1, _0203C050 ; =FUN_0203BB90
- add r0, r5, #0x0
- bl SetupNativeScript
- mov r0, #0x1
- pop {r3-r7, pc}
- .balign 4
-_0203C050: .word FUN_0203BB90
-
- thumb_func_start FUN_0203C054
-FUN_0203C054: ; 0x0203C054
- push {r4-r6, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r5, #0x80
- add r4, r0, #0x0
- ldr r0, [r5, #0x0]
- mov r1, #0x0
- add r2, r6, #0x0
- bl FUN_0203BC3C
- cmp r0, #0x1
- bne _0203C088
- mov r0, #0x1
- strh r0, [r4, #0x0]
- pop {r4-r6, pc}
-_0203C088:
- mov r0, #0x0
- strh r0, [r4, #0x0]
- mov r0, #0x1
- pop {r4-r6, pc}
-
- thumb_func_start FUN_0203C090
-FUN_0203C090: ; 0x0203C090
- push {r4-r6, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r5, #0x80
- add r4, r0, #0x0
- ldr r0, [r5, #0x0]
- mov r1, #0x1
- add r2, r6, #0x0
- bl FUN_0203BC3C
- cmp r0, #0x1
- bne _0203C0C4
- mov r0, #0x1
- strh r0, [r4, #0x0]
- pop {r4-r6, pc}
-_0203C0C4:
- mov r0, #0x0
- strh r0, [r4, #0x0]
- mov r0, #0x1
- pop {r4-r6, pc}
-
- thumb_func_start FUN_0203C0CC
-FUN_0203C0CC: ; 0x0203C0CC
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r5, #0x80
- add r4, r0, #0x0
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_02027E24
- mov r1, #0x0
- bl FUN_02027008
- add r1, r4, #0x0
- bl FUN_02027478
- mov r0, #0x1
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0203C0FC
-FUN_0203C0FC: ; 0x0203C0FC
- push {r4, lr}
- add r4, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_02038804
- ldr r1, _0203C114 ; =FUN_0203BC04
- add r0, r4, #0x0
- bl SetupNativeScript
- mov r0, #0x1
- pop {r4, pc}
- .balign 4
-_0203C114: .word FUN_0203BC04
-
- thumb_func_start FUN_0203C118
-FUN_0203C118: ; 0x0203C118
- push {r3, lr}
- add r1, r0, #0x0
- ldr r0, [r1, #0x74]
- add r1, #0x80
- ldr r1, [r1, #0x0]
- ldr r1, [r1, #0xc]
- bl FUN_02085F48
- mov r0, #0x1
- pop {r3, pc}
-
- thumb_func_start FUN_0203C12C
-FUN_0203C12C: ; 0x0203C12C
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x13
- bl FUN_02039438
- mov r1, #0x5
- add r4, r0, #0x0
- mov r0, #0xb
- lsl r1, r1, #0x6
- bl FUN_02016998
- str r0, [r4, #0x0]
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r1, [r4, #0x0]
- mov r2, #0x2
- bl FUN_0205F7A0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r1, [r4, #0x0]
- bl FUN_02037E90
- ldr r1, _0203C170 ; =FUN_0203BB90
- add r0, r5, #0x0
- bl SetupNativeScript
- mov r0, #0x1
- pop {r3-r5, pc}
- nop
-_0203C170: .word FUN_0203BB90
-
- thumb_func_start FUN_0203C174
-FUN_0203C174: ; 0x0203C174
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x13
- bl FUN_02039438
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- lsl r0, r0, #0x18
- lsr r1, r0, #0x18
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r2, #0xb
- bl FUN_02088960
- str r0, [r4, #0x0]
- ldr r1, _0203C1A8 ; =FUN_0203BB90
- add r0, r5, #0x0
- bl SetupNativeScript
- mov r0, #0x1
- pop {r3-r5, pc}
- .balign 4
-_0203C1A8: .word FUN_0203BB90
-
- thumb_func_start FUN_0203C1AC
-FUN_0203C1AC: ; 0x0203C1AC
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r4, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_0206F158
- mov r1, #0x4
- bl FUN_0206EE64
- cmp r0, #0x0
- bne _0203C1E0
- mov r0, #0x1
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
-_0203C1E0:
- add r5, #0x80
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_02028048
- bl FUN_020281B8
- cmp r0, #0x64
- blo _0203C1FA
- mov r0, #0x2
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
-_0203C1FA:
- mov r0, #0x0
- strh r0, [r4, #0x0]
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0203C200
-FUN_0203C200: ; 0x0203C200
- push {r3-r7, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r7, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- str r0, [sp, #0x0]
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x13
- bl FUN_02039438
- add r6, r0, #0x0
- mov r0, #0xb
- mov r1, #0x8
- bl FUN_02016998
- mov r1, #0x0
- mov r2, #0x8
- str r0, [r6, #0x0]
- add r4, r0, #0x0
- blx MI_CpuFill8
- ldr r0, [sp, #0x0]
- strh r7, [r4, #0x4]
- strh r0, [r4, #0x6]
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- str r0, [r4, #0x0]
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r1, [r6, #0x0]
- bl FUN_02037FE4
- ldr r1, _0203C274 ; =FUN_0203BB90
- add r0, r5, #0x0
- bl SetupNativeScript
- mov r0, #0x1
- pop {r3-r7, pc}
- .balign 4
-_0203C274: .word FUN_0203BB90
-
- thumb_func_start FUN_0203C278
-FUN_0203C278: ; 0x0203C278
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x13
- bl FUN_02039438
- add r4, r0, #0x0
- mov r0, #0xb
- mov r1, #0xc
- bl FUN_02016998
- add r1, r5, #0x0
- add r1, #0x80
- ldr r1, [r1, #0x0]
- ldr r1, [r1, #0xc]
- str r1, [r0, #0x0]
- ldr r2, [r5, #0x8]
- add r1, r2, #0x1
- str r1, [r5, #0x8]
- ldrb r1, [r2, #0x0]
- str r1, [r0, #0x4]
- str r0, [r4, #0x0]
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r1, [r4, #0x0]
- bl FUN_02037D60
- ldr r1, _0203C2C0 ; =FUN_0203BBBC
- add r0, r5, #0x0
- bl SetupNativeScript
- mov r0, #0x1
- pop {r3-r5, pc}
- nop
-_0203C2C0: .word FUN_0203BBBC
-
- thumb_func_start FUN_0203C2C4
-FUN_0203C2C4: ; 0x0203C2C4
- push {r4, lr}
- add r4, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020383F8
- ldr r1, _0203C2DC ; =FUN_0203BC04
- add r0, r4, #0x0
- bl SetupNativeScript
- mov r0, #0x1
- pop {r4, pc}
- .balign 4
-_0203C2DC: .word FUN_0203BC04
-
- thumb_func_start FUN_0203C2E0
-FUN_0203C2E0: ; 0x0203C2E0
- push {r3, lr}
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_02065344
- mov r0, #0x1
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0203C2F0
-FUN_0203C2F0: ; 0x0203C2F0
- push {r3, lr}
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x10]
- bl FUN_020383D8
- mov r0, #0x1
- pop {r3, pc}
-
- thumb_func_start FUN_0203C300
-FUN_0203C300: ; 0x0203C300
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x13
- bl FUN_02039438
- add r4, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_0203842C
- str r0, [r4, #0x0]
- ldr r1, _0203C328 ; =FUN_0203BB90
- add r0, r5, #0x0
- bl SetupNativeScript
- mov r0, #0x1
- pop {r3-r5, pc}
- .balign 4
-_0203C328: .word FUN_0203BB90
-
- thumb_func_start FUN_0203C32C
-FUN_0203C32C: ; 0x0203C32C
- push {r3, lr}
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x10]
- bl FUN_02048694
- mov r0, #0x1
- pop {r3, pc}
-
- thumb_func_start FUN_0203C33C
-FUN_0203C33C: ; 0x0203C33C
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x13
- bl FUN_02039438
- add r4, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_02038824
- str r0, [r4, #0x0]
- ldr r1, _0203C364 ; =FUN_0203BB90
- add r0, r5, #0x0
- bl SetupNativeScript
- mov r0, #0x1
- pop {r3-r5, pc}
- .balign 4
-_0203C364: .word FUN_0203BB90
-
- thumb_func_start FUN_0203C368
-FUN_0203C368: ; 0x0203C368
- push {r4-r6, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r4, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_0203384C
- cmp r0, #0x0
- beq _0203C3BC
- mov r0, #0x1
- strh r0, [r4, #0x0]
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- add r1, r6, #0x0
- bl FUN_020386E0
- ldr r1, _0203C3C4 ; =FUN_0203BC04
- add r0, r5, #0x0
- bl SetupNativeScript
- b _0203C3C0
-_0203C3BC:
- mov r0, #0x0
- strh r0, [r4, #0x0]
-_0203C3C0:
- mov r0, #0x1
- pop {r4-r6, pc}
- .balign 4
-_0203C3C4: .word FUN_0203BC04
-
- thumb_func_start FUN_0203C3C8
-FUN_0203C3C8: ; 0x0203C3C8
- push {r4, lr}
- add r4, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r1, r0, #0x0
- ldr r0, [r4, #0x74]
- bl FUN_0206F3D8
- mov r0, #0x1
- pop {r4, pc}
-
- thumb_func_start FUN_0203C3E8
-FUN_0203C3E8: ; 0x0203C3E8
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x14
- bl FUN_02039438
- add r4, r0, #0x0
- mov r0, #0xb
- mov r1, #0x8
- bl FUN_02016998
- str r0, [r4, #0x0]
- add r6, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl LoadPlayerDataAddress
- str r0, [r6, #0x4]
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r1, [r4, #0x0]
- bl FUN_020386A4
- ldr r1, _0203C42C ; =FUN_0203BC04
- add r0, r5, #0x0
- bl SetupNativeScript
- mov r0, #0x1
- pop {r4-r6, pc}
- nop
-_0203C42C: .word FUN_0203BC04
-
- thumb_func_start FUN_0203C430
-FUN_0203C430: ; 0x0203C430
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x14
- bl FUN_02039438
- add r5, #0x80
- add r4, r0, #0x0
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_020462AC
- ldr r1, [r4, #0x0]
- ldr r1, [r1, #0x0]
- lsl r1, r1, #0x10
- lsr r1, r1, #0x10
- bl FUN_0205F378
- ldr r0, [r4, #0x0]
- bl FUN_02016A18
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0203C460
-FUN_0203C460: ; 0x0203C460
- push {r4-r6, lr}
- add r5, r0, #0x0
- ldr r1, [r5, #0x8]
- add r0, r1, #0x1
- str r0, [r5, #0x8]
- ldrb r0, [r1, #0x0]
- cmp r0, #0x0
- beq _0203C474
- mov r0, #0x1
- b _0203C476
-_0203C474:
- mov r0, #0x0
-_0203C476:
- lsl r0, r0, #0x18
- lsr r4, r0, #0x18
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x13
- bl FUN_02039438
- add r6, r0, #0x0
- ldr r0, [r6, #0x0]
- cmp r0, #0x0
- beq _0203C492
- bl ErrorHandling
-_0203C492:
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- add r1, r4, #0x0
- bl FUN_0203789C
- str r0, [r6, #0x0]
- ldr r1, _0203C4AC ; =FUN_0203BC04
- add r0, r5, #0x0
- bl SetupNativeScript
- mov r0, #0x1
- pop {r4-r6, pc}
- .balign 4
-_0203C4AC: .word FUN_0203BC04
-
- thumb_func_start FUN_0203C4B0
-FUN_0203C4B0: ; 0x0203C4B0
- push {r3-r5, lr}
- add r4, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r4, #0x80
- add r5, r0, #0x0
- ldr r0, [r4, #0x0]
- mov r1, #0x13
- bl FUN_02039438
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- cmp r0, #0x0
- bne _0203C4DC
- bl ErrorHandling
-_0203C4DC:
- ldr r0, [r4, #0x0]
- bl FUN_020378FC
- strh r0, [r5, #0x0]
- ldr r0, [r4, #0x0]
- bl FUN_02016A18
- mov r0, #0x0
- str r0, [r4, #0x0]
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0203C4F0
-FUN_0203C4F0: ; 0x0203C4F0
- push {r3-r4, lr}
- sub sp, #0xc
- add r4, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- mov r1, #0x0
- str r1, [sp, #0x0]
- str r1, [sp, #0x4]
- str r0, [sp, #0x8]
- ldr r0, [r4, #0x74]
- add r2, r1, #0x0
- mov r3, #0x7
- bl FUN_020385CC
- mov r0, #0x1
- add sp, #0xc
- pop {r3-r4, pc}
- .balign 4
-
- thumb_func_start FUN_0203C520
-FUN_0203C520: ; 0x0203C520
- push {r4-r7, lr}
- sub sp, #0x34
- add r5, r0, #0x0
- add r1, r5, #0x0
- add r1, #0x80
- ldr r4, [r1, #0x0]
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r6, r0, #0x0
- ldr r0, [r4, #0xc]
- bl FUN_0206BB1C
- add r1, r6, #0x0
- bl FUN_0206B9B0
- mov r1, #0x74
- add r2, sp, #0xc
- add r7, r0, #0x0
- bl FUN_020671BC
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r4, r0, #0x0
- add r0, r7, #0x0
- mov r1, #0x5
- mov r2, #0x0
- bl FUN_020671BC
- add r2, r0, #0x0
- str r6, [sp, #0x0]
- add r0, sp, #0xc
- str r0, [sp, #0x4]
- str r4, [sp, #0x8]
- ldr r0, [r5, #0x74]
- mov r1, #0x1
- mov r3, #0xa
- bl FUN_020385CC
- mov r0, #0x1
- add sp, #0x34
- pop {r4-r7, pc}
-
- thumb_func_start FUN_0203C58C
-FUN_0203C58C: ; 0x0203C58C
- push {r3-r4, lr}
- sub sp, #0xc
- add r4, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- mov r2, #0x0
- str r2, [sp, #0x0]
- str r2, [sp, #0x4]
- str r0, [sp, #0x8]
- ldr r0, [r4, #0x74]
- mov r1, #0x6
- mov r3, #0xa
- bl FUN_020385CC
- mov r0, #0x1
- add sp, #0xc
- pop {r3-r4, pc}
- .balign 4
-
- thumb_func_start FUN_0203C5BC
-FUN_0203C5BC: ; 0x0203C5BC
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r2, r0, #0x0
- ldr r0, _0203C610 ; =0x0000FFFF
- add r5, #0x80
- strh r0, [r2, #0x0]
- ldr r0, [r5, #0x0]
- add r1, r4, #0x0
- ldr r0, [r0, #0x10]
- mov r3, #0x0
- bl FUN_02037E18
- mov r0, #0x1
- pop {r3-r5, pc}
- nop
-_0203C610: .word 0x0000FFFF
-
- thumb_func_start FUN_0203C614
-FUN_0203C614: ; 0x0203C614
- push {r4-r6, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r3, r0, #0x0
- ldr r0, _0203C67C ; =0x0000FFFF
- add r5, #0x80
- strh r0, [r4, #0x0]
- strh r0, [r3, #0x0]
- ldr r0, [r5, #0x0]
- add r1, r6, #0x0
- ldr r0, [r0, #0x10]
- add r2, r4, #0x0
- bl FUN_02037E18
- mov r0, #0x1
- pop {r4-r6, pc}
- .balign 4
-_0203C67C: .word 0x0000FFFF
-
- thumb_func_start FUN_0203C680
-FUN_0203C680: ; 0x0203C680
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xf
- bl FUN_02039438
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- add r2, r0, #0x0
- ldr r0, [r4, #0x0]
- add r1, r6, #0x0
- bl FUN_0200B518
- mov r0, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_0203C6C4
-FUN_0203C6C4: ; 0x0203C6C4
- push {r4-r7, lr}
- sub sp, #0xc
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r7, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- str r4, [sp, #0x0]
- add r3, r0, #0x0
- str r6, [sp, #0x4]
- mov r0, #0x4
- str r0, [sp, #0x8]
- mov r0, #0x0
- add r1, r7, #0x0
- add r2, r7, #0x0
- bl FUN_0200E1D0
- mov r0, #0x0
- bl FUN_0200E388
- mov r0, #0x1
- bl FUN_0200E388
- mov r0, #0x0
- add sp, #0xc
- pop {r4-r7, pc}
-
- thumb_func_start FUN_0203C70C
-FUN_0203C70C: ; 0x0203C70C
- push {r3, lr}
- ldr r1, _0203C718 ; =FUN_0203C71C
- bl SetupNativeScript
- mov r0, #0x1
- pop {r3, pc}
- .balign 4
-_0203C718: .word FUN_0203C71C
-
- thumb_func_start FUN_0203C71C
-FUN_0203C71C: ; 0x0203C71C
- push {r3, lr}
- bl FUN_0200E308
- cmp r0, #0x1
- bne _0203C72A
- mov r0, #0x1
- pop {r3, pc}
-_0203C72A:
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0203C730
-FUN_0203C730: ; 0x0203C730
- push {r3-r7, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r7, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- str r4, [sp, #0x0]
- str r0, [sp, #0x4]
- mov r2, #0x0
- ldr r0, [r5, #0x74]
- add r1, r6, #0x0
- mvn r2, r2
- add r3, r7, #0x0
- bl FUN_02049240
- mov r0, #0x1
- add sp, #0x8
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0203C788
-FUN_0203C788: ; 0x0203C788
- push {r3-r7, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r7, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- str r4, [sp, #0x0]
- mov r2, #0x0
- add r5, #0x80
- str r0, [sp, #0x4]
- ldr r0, [r5, #0x0]
- add r1, r6, #0x0
- ldr r0, [r0, #0x10]
- mvn r2, r2
- add r3, r7, #0x0
- bl FUN_02049F98
- mov r0, #0x1
- add sp, #0x8
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0203C7E4
-FUN_0203C7E4: ; 0x0203C7E4
- push {r3, lr}
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x10]
- bl FUN_02049FFC
- mov r0, #0x1
- pop {r3, pc}
-
- thumb_func_start FUN_0203C7F4
-FUN_0203C7F4: ; 0x0203C7F4
- push {r3-r5, lr}
- add r4, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_02034E30
- bl FUN_02034DC8
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394B8
- ldr r1, [r5, #0x0]
- strh r1, [r0, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0203C820
-FUN_0203C820: ; 0x0203C820
- push {r4, lr}
- add r4, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r4, #0x80
- ldr r1, [r4, #0x0]
- ldr r1, [r1, #0x1c]
- ldr r1, [r1, #0x0]
- strh r1, [r0, #0x0]
- mov r0, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0203C844
-FUN_0203C844: ; 0x0203C844
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r4, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x38]
- bl FUN_020552F8
- add r1, r0, #0x0
- ldr r0, [r5, #0x74]
- add r2, r4, #0x0
- bl FUN_021E6990
- mov r0, #0x1
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0203C874
-FUN_0203C874: ; 0x0203C874
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- add r0, #0x90
- ldr r0, [r0, #0x0]
- bl FUN_0205DD40
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r4, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x38]
- bl FUN_020552F8
- add r1, r0, #0x0
- ldr r0, [r5, #0x74]
- add r2, r4, #0x0
- bl FUN_021E6410
- mov r0, #0x1
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0203C8B4
-FUN_0203C8B4: ; 0x0203C8B4
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r4, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x38]
- bl FUN_020552F8
- add r1, r0, #0x0
- ldr r0, [r5, #0x74]
- add r2, r4, #0x0
- bl FUN_021E6BF4
- mov r0, #0x1
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0203C8E4
-FUN_0203C8E4: ; 0x0203C8E4
- push {r4-r6, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- str r0, [sp, #0x0]
- mov r2, #0x1
- str r2, [sp, #0x4]
- add r5, #0x80
- ldr r0, [r5, #0x0]
- add r1, r4, #0x0
- sub r2, r2, #0x2
- add r3, r6, #0x0
- bl FUN_02049274
- mov r0, #0x1
- add sp, #0x8
- pop {r4-r6, pc}
-
- thumb_func_start FUN_0203C930
-FUN_0203C930: ; 0x0203C930
- push {r3-r5, lr}
- add r4, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_02034E30
- add r5, r0, #0x0
- mov r1, #0x0
- bl FUN_02034DF4
- add r0, r5, #0x0
- bl FUN_02034DEC
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- ldr r0, [r0, #0x4]
- ldr r0, [r0, #0xc]
- bl FUN_021DC174
- mov r0, #0x1
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0203C960
-FUN_0203C960: ; 0x0203C960
- push {r3-r5, lr}
- add r4, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_02034E30
- add r5, r0, #0x0
- mov r1, #0x0
- bl FUN_02034DF4
- add r0, r5, #0x0
- bl FUN_02034DEC
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- ldr r0, [r0, #0x4]
- ldr r0, [r0, #0xc]
- bl FUN_021DC174
- mov r0, #0x1
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0203C990
-FUN_0203C990: ; 0x0203C990
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x14
- bl FUN_02039438
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r6, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_0206BB1C
- add r1, r6, #0x0
- bl FUN_0206B9B0
- add r6, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x38]
- bl FUN_020553E8
- add r3, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x0
- add r2, r6, #0x0
- bl FUN_0224666C
- str r0, [r4, #0x0]
- ldr r1, _0203C9F4 ; =FUN_0203C9F8
- add r0, r5, #0x0
- bl SetupNativeScript
- mov r0, #0x1
- pop {r4-r6, pc}
- nop
-_0203C9F4: .word FUN_0203C9F8
-
- thumb_func_start FUN_0203C9F8
-FUN_0203C9F8: ; 0x0203C9F8
- push {r4, lr}
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x14
- bl FUN_02039438
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_022466A0
- cmp r0, #0x1
- bne _0203CA1A
- ldr r0, [r4, #0x0]
- bl FUN_022466AC
- mov r0, #0x1
- pop {r4, pc}
-_0203CA1A:
- mov r0, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0203CA20
-FUN_0203CA20: ; 0x0203CA20
- push {r3, lr}
- ldr r0, [r0, #0x74]
- bl FUN_021E7030
- mov r0, #0x1
- pop {r3, pc}
-
- thumb_func_start FUN_0203CA2C
-FUN_0203CA2C: ; 0x0203CA2C
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r5, #0x80
- add r4, r0, #0x0
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0x38]
- bl FUN_020553C4
- cmp r0, #0x1
- bne _0203CA54
- mov r0, #0x1
- b _0203CA56
-_0203CA54:
- mov r0, #0x0
-_0203CA56:
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0203CA5C
-FUN_0203CA5C: ; 0x0203CA5C
- push {r4, lr}
- add r4, r0, #0x0
- ldr r1, [r4, #0x8]
- add r0, r1, #0x1
- str r0, [r4, #0x8]
- ldrb r0, [r1, #0x0]
- cmp r0, #0x1
- bne _0203CAA4
- add r0, r4, #0x0
- add r0, #0x80
- mov r1, #0x12
- ldr r0, [r0, #0x0]
- lsl r1, r1, #0x6
- bl FUN_0204AB20
- add r0, r4, #0x0
- add r0, #0x80
- mov r1, #0x12
- ldr r0, [r0, #0x0]
- lsl r1, r1, #0x6
- mov r2, #0x1
- bl FUN_0204ABDC
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x2
- ldr r0, [r0, #0x38]
- bl FUN_021E5FD8
- add r4, #0x80
- ldr r0, [r4, #0x0]
- ldr r0, [r0, #0x38]
- bl FUN_021E5FE0
- b _0203CAE4
-_0203CAA4:
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x1
- ldr r0, [r0, #0x38]
- bl FUN_021E5FD8
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x38]
- bl FUN_021E5FE0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x0
- bl FUN_0204AB20
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r1, [r0, #0x1c]
- ldr r1, [r1, #0x0]
- bl FUN_0204AB58
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- mov r2, #0x1
- bl FUN_0204ABDC
-_0203CAE4:
- mov r0, #0x0
- pop {r4, pc}
-
- thumb_func_start FUN_0203CAE8
-FUN_0203CAE8: ; 0x0203CAE8
- push {r4, lr}
- add r4, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x2
- ldr r0, [r0, #0x38]
- bl FUN_021E5FD8
- add r4, #0x80
- mov r1, #0x12
- ldr r0, [r4, #0x0]
- lsl r1, r1, #0x6
- bl FUN_0204AB20
- mov r0, #0x0
- pop {r4, pc}
-
- thumb_func_start FUN_0203CB08
-FUN_0203CB08: ; 0x0203CB08
- push {r3, lr}
- ldr r2, [r0, #0x8]
- add r1, r2, #0x1
- str r1, [r0, #0x8]
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldrb r1, [r2, #0x0]
- ldr r0, [r0, #0x38]
- bl FUN_02055720
- mov r0, #0x0
- pop {r3, pc}
-
- thumb_func_start FUN_0203CB20
-FUN_0203CB20: ; 0x0203CB20
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r5, #0x80
- add r4, r0, #0x0
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0x38]
- bl FUN_020553C4
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0203CB48
-FUN_0203CB48: ; 0x0203CB48
- push {r4, lr}
- add r4, r0, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- ldr r0, [r0, #0x38]
- bl FUN_020553D4
- mov r0, #0x1
- pop {r4, pc}
-
- thumb_func_start FUN_0203CB60
-FUN_0203CB60: ; 0x0203CB60
- push {r3, lr}
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x38]
- bl FUN_021E5FE0
- mov r0, #0x0
- pop {r3, pc}
-
- thumb_func_start FUN_0203CB70
-FUN_0203CB70: ; 0x0203CB70
- push {r4-r6, lr}
- add r4, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_0202A9B0
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394B8
- add r4, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0x2
- bl FUN_0202A990
- add r1, r6, #0x0
- add r2, r4, #0x0
- bl FUN_02245910
- mov r0, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_0203CBBC
-FUN_0203CBBC: ; 0x0203CBBC
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r5, #0x80
- add r4, r0, #0x0
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_020462AC
- bl FUN_0205F388
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0203CBE8
-FUN_0203CBE8: ; 0x0203CBE8
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r4, [r0, #0x0]
- mov r1, #0x8
- add r0, r4, #0x0
- bl FUN_02039438
- add r0, r4, #0x0
- mov r1, #0x10
- bl FUN_02039438
- add r6, r0, #0x0
- add r0, r4, #0x0
- mov r1, #0x6
- bl FUN_02039438
- add r0, r4, #0x0
- mov r1, #0x3
- bl FUN_02039438
- add r7, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- str r0, [sp, #0x0]
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r1, r0, #0x0
- ldr r0, [sp, #0x0]
- ldr r2, [r6, #0x0]
- mov r3, #0xb
- bl FUN_0206AD4C
- add r0, r4, #0x0
- mov r1, #0x1
- bl FUN_02039438
- mov r1, #0xf
- bl FUN_02019620
- add r0, r4, #0x0
- mov r1, #0x1
- bl FUN_02039438
- add r4, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl LoadPlayerDataAddress
- add r2, r0, #0x0
- ldr r1, [r6, #0x0]
- add r0, r4, #0x0
- mov r3, #0x1
- bl FUN_02054658
- strb r0, [r7, #0x0]
- ldr r1, _0203CC84 ; =FUN_0203A2F0
- add r0, r5, #0x0
- bl SetupNativeScript
- mov r0, #0x1
- pop {r3-r7, pc}
- .balign 4
-_0203CC84: .word FUN_0203A2F0
-
- thumb_func_start FUN_0203CC88
-FUN_0203CC88: ; 0x0203CC88
- push {r3-r7, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- add r1, r5, #0x0
- add r1, #0x80
- ldr r4, [r1, #0x0]
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r7, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- str r0, [sp, #0x0]
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- str r0, [sp, #0x4]
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r6, r0, #0x0
- ldr r2, [sp, #0x0]
- ldr r3, [sp, #0x4]
- add r0, r4, #0x0
- add r1, r7, #0x0
- bl FUN_02240790
- ldr r1, _0203CCF4 ; =FUN_0203CCF8
- add r0, r5, #0x0
- str r6, [r5, #0x64]
- bl SetupNativeScript
- mov r0, #0x1
- add sp, #0x8
- pop {r3-r7, pc}
- nop
-_0203CCF4: .word FUN_0203CCF8
-
- thumb_func_start FUN_0203CCF8
-FUN_0203CCF8: ; 0x0203CCF8
- push {r4, lr}
- add r1, r0, #0x0
- ldr r1, [r1, #0x64]
- add r0, #0x80
- lsl r1, r1, #0x10
- ldr r0, [r0, #0x0]
- lsr r1, r1, #0x10
- bl FUN_020394B8
- add r4, r0, #0x0
- bl FUN_022407DC
- cmp r0, #0x0
- bne _0203CD18
- mov r0, #0x0
- pop {r4, pc}
-_0203CD18:
- strh r0, [r4, #0x0]
- mov r0, #0x1
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0203CD20
-FUN_0203CD20: ; 0x0203CD20
- push {r3-r7, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- add r1, r5, #0x0
- add r1, #0x80
- ldr r4, [r1, #0x0]
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r7, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- str r0, [sp, #0x0]
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- str r0, [sp, #0x4]
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r6, r0, #0x0
- ldr r2, [sp, #0x0]
- ldr r3, [sp, #0x4]
- add r0, r4, #0x0
- add r1, r7, #0x0
- bl FUN_022407F8
- ldr r1, _0203CD8C ; =FUN_0203CD90
- add r0, r5, #0x0
- str r6, [r5, #0x64]
- bl SetupNativeScript
- mov r0, #0x1
- add sp, #0x8
- pop {r3-r7, pc}
- nop
-_0203CD8C: .word FUN_0203CD90
-
- thumb_func_start FUN_0203CD90
-FUN_0203CD90: ; 0x0203CD90
- push {r4, lr}
- add r1, r0, #0x0
- ldr r1, [r1, #0x64]
- add r0, #0x80
- lsl r1, r1, #0x10
- ldr r0, [r0, #0x0]
- lsr r1, r1, #0x10
- bl FUN_020394B8
- add r4, r0, #0x0
- bl FUN_02240844
- cmp r0, #0x0
- bne _0203CDB0
- mov r0, #0x0
- pop {r4, pc}
-_0203CDB0:
- strh r0, [r4, #0x0]
- mov r0, #0x1
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0203CDB8
-FUN_0203CDB8: ; 0x0203CDB8
- push {r3, lr}
- bl ScriptReadHalfword
- mov r0, #0x1
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0203CDC4
-FUN_0203CDC4: ; 0x0203CDC4
- push {r3, lr}
- bl ScriptReadHalfword
- mov r0, #0x1
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0203CDD0
-FUN_0203CDD0: ; 0x0203CDD0
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x13
- bl FUN_02039438
- add r6, r0, #0x0
- add r5, #0x80
- ldr r4, [r6, #0x0]
- ldr r0, [r5, #0x0]
- add r1, r4, #0x0
- ldr r0, [r0, #0x10]
- add r1, #0x2c
- mov r2, #0x5
- bl FUN_02047174
- add r0, r4, #0x0
- bl FUN_02016A18
- mov r0, #0x0
- str r0, [r6, #0x0]
- mov r0, #0x1
- pop {r4-r6, pc}
-
- thumb_func_start FUN_0203CE00
-FUN_0203CE00: ; 0x0203CE00
- push {r3, lr}
- ldr r0, [r0, #0x74]
- bl FUN_02080C38
- mov r0, #0x1
- pop {r3, pc}
-
- thumb_func_start FUN_0203CE0C
-FUN_0203CE0C: ; 0x0203CE0C
- push {r3-r4, lr}
- sub sp, #0x14
- add r4, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- str r0, [sp, #0x0]
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- str r0, [sp, #0x4]
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- str r0, [sp, #0x8]
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- str r0, [sp, #0xc]
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r4, #0x80
- str r0, [sp, #0x10]
- ldr r0, [r4, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_02034E30
- add r1, sp, #0x0
- bl FUN_02034DD4
- mov r0, #0x0
- add sp, #0x14
- pop {r3-r4, pc}
- .balign 4
-
- thumb_func_start FUN_0203CE8C
-FUN_0203CE8C: ; 0x0203CE8C
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r5, #0x80
- add r4, r0, #0x0
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_02034E30
- bl FUN_02034DD0
- ldr r0, [r0, #0x0]
- bl FUN_021E2608
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0203CEBC
-FUN_0203CEBC: ; 0x0203CEBC
- push {r3-r7, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xf
- str r0, [sp, #0x4]
- bl FUN_02039438
- add r7, r0, #0x0
- ldr r0, [r5, #0x8]
- add r1, r0, #0x1
- str r1, [r5, #0x8]
- ldrb r6, [r0, #0x0]
- add r0, r1, #0x1
- str r0, [r5, #0x8]
- add r0, r5, #0x0
- ldrb r4, [r1, #0x0]
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394B8
- add r3, r0, #0x0
- ldr r0, [r7, #0x0]
- add r1, r6, #0x0
- str r0, [sp, #0x0]
- ldr r0, [sp, #0x4]
- add r2, r4, #0x0
- bl FUN_021E2464
- mov r0, #0x0
- add sp, #0x8
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0203CF04
-FUN_0203CF04: ; 0x0203CF04
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_02024DA0
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394B8
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_020244A4
- strh r0, [r5, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0203CF34
-FUN_0203CF34: ; 0x0203CF34
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_02024DA0
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394B8
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_0202445C
- strh r0, [r5, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0203CF64
-FUN_0203CF64: ; 0x0203CF64
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_02024DA0
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394B8
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_02024404
- strh r0, [r5, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0203CF94
-FUN_0203CF94: ; 0x0203CF94
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_02024DA0
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394B8
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_020243C8
- strh r0, [r5, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0203CFC4
-FUN_0203CFC4: ; 0x0203CFC4
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_0203CFC8
-FUN_0203CFC8: ; 0x0203CFC8
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_02024DA0
- add r7, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_020238F4
- ldr r1, [r5, #0x8]
- str r0, [sp, #0x0]
- add r0, r1, #0x1
- str r0, [r5, #0x8]
- add r0, r5, #0x0
- ldrb r6, [r1, #0x0]
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r4, r0, #0x0
- cmp r6, #0x0
- bne _0203D02E
- add r0, r7, #0x0
- bl FUN_02024550
- add r5, #0x80
- add r6, r0, #0x0
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_020462AC
- mov r1, #0x2
- mov r2, #0xa
- bl FUN_0205F2E4
- add r1, r0, #0x0
- lsl r1, r1, #0x10
- add r0, r6, #0x0
- lsr r1, r1, #0x10
- bl FUN_02054CC8
- b _0203D048
-_0203D02E:
- add r0, r7, #0x0
- bl FUN_02024518
- add r5, r0, #0x0
- ldr r0, [sp, #0x0]
- bl FUN_020239CC
- add r1, r0, #0x0
- lsl r1, r1, #0x10
- add r0, r5, #0x0
- lsr r1, r1, #0x10
- bl FUN_02054D1C
-_0203D048:
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0203D050
-FUN_0203D050: ; 0x0203D050
- push {r3-r6, lr}
- sub sp, #0x4
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x17
- bl FUN_02039438
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r2, r0, #0x0
- mov r0, #0x0
- str r0, [sp, #0x0]
- lsl r2, r2, #0x18
- ldr r0, [r5, #0x74]
- add r1, r6, #0x0
- lsr r2, r2, #0x18
- add r3, r4, #0x0
- bl FUN_02046E18
- mov r0, #0x1
- add sp, #0x4
- pop {r3-r6, pc}
- .balign 4
-
- thumb_func_start FUN_0203D0A4
-FUN_0203D0A4: ; 0x0203D0A4
- push {r3-r6, lr}
- sub sp, #0x4
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x17
- bl FUN_02039438
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r2, r0, #0x0
- mov r0, #0x1
- str r0, [sp, #0x0]
- lsl r2, r2, #0x18
- ldr r0, [r5, #0x74]
- add r1, r6, #0x0
- lsr r2, r2, #0x18
- add r3, r4, #0x0
- bl FUN_02046E18
- mov r0, #0x1
- add sp, #0x4
- pop {r3-r6, pc}
- .balign 4
-
- thumb_func_start FUN_0203D0F8
-FUN_0203D0F8: ; 0x0203D0F8
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r2, r0, #0x0
- lsl r2, r2, #0x18
- ldr r0, [r5, #0x74]
- add r1, r4, #0x0
- lsr r2, r2, #0x18
- bl FUN_02046FA0
- mov r0, #0x1
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0203D134
-FUN_0203D134: ; 0x0203D134
- push {r3, lr}
- ldr r0, [r0, #0x74]
- bl FUN_020470AC
- mov r0, #0x1
- pop {r3, pc}
-
- thumb_func_start FUN_0203D140
-FUN_0203D140: ; 0x0203D140
- push {r3, lr}
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_021F4DC8
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0203D150
-FUN_0203D150: ; 0x0203D150
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r1, r5, #0x0
- add r1, #0x80
- ldr r4, [r1, #0x0]
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394B8
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_021F4D80
- strh r0, [r5, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0203D178
-FUN_0203D178: ; 0x0203D178
- push {r4, lr}
- add r4, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x17
- bl FUN_02039438
- add r1, r0, #0x0
- ldr r0, [r4, #0x74]
- bl FUN_02046DB4
- mov r0, #0x1
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0203D194
-FUN_0203D194: ; 0x0203D194
- push {r3, lr}
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_021F4E7C
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0203D1A4
-FUN_0203D1A4: ; 0x0203D1A4
- push {r4, lr}
- add r4, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020386B4
- ldr r1, _0203D1BC ; =FUN_0203BC04
- add r0, r4, #0x0
- bl SetupNativeScript
- mov r0, #0x1
- pop {r4, pc}
- .balign 4
-_0203D1BC: .word FUN_0203BC04
-
- thumb_func_start FUN_0203D1C0
-FUN_0203D1C0: ; 0x0203D1C0
- push {r3-r5, lr}
- add r4, r0, #0x0
- add r1, r4, #0x0
- add r1, #0x80
- ldr r1, [r1, #0x0]
- ldr r5, [r1, #0xc]
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394B8
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0202280C
- cmp r0, #0x0
- beq _0203D1EC
- mov r0, #0x0
- strh r0, [r4, #0x0]
- b _0203D210
-_0203D1EC:
- add r0, r5, #0x0
- bl FUN_02022804
- cmp r0, #0x0
- bne _0203D1FC
- mov r0, #0x1
- strh r0, [r4, #0x0]
- b _0203D210
-_0203D1FC:
- add r0, r5, #0x0
- bl FUN_0202282C
- cmp r0, #0x0
- beq _0203D20C
- mov r0, #0x2
- strh r0, [r4, #0x0]
- b _0203D210
-_0203D20C:
- mov r0, #0x3
- strh r0, [r4, #0x0]
-_0203D210:
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0203D214
-FUN_0203D214: ; 0x0203D214
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r1, r5, #0x0
- add r1, #0x80
- ldr r4, [r1, #0x0]
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394B8
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_021E85FC
- strh r0, [r5, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0203D23C
-FUN_0203D23C: ; 0x0203D23C
- push {r3, lr}
- ldr r0, [r0, #0x74]
- bl FUN_021E3424
- mov r0, #0x1
- pop {r3, pc}
-
- thumb_func_start FUN_0203D248
-FUN_0203D248: ; 0x0203D248
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_0204C1A8
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394B8
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_0204BEC8
- strh r0, [r5, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0203D278
-FUN_0203D278: ; 0x0203D278
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r1, r5, #0x0
- add r1, #0x80
- ldr r4, [r1, #0x0]
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- add r5, r0, #0x0
- ldr r0, [r4, #0xc]
- bl FUN_0204C1A8
- add r1, r5, #0x0
- bl FUN_0204BED8
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0203D2A4
-FUN_0203D2A4: ; 0x0203D2A4
- push {r4-r6, lr}
- add r4, r0, #0x0
- add r1, r4, #0x0
- add r1, #0x80
- ldr r5, [r1, #0x0]
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394B8
- add r4, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_0204C1A8
- add r1, r6, #0x0
- bl FUN_0204BED0
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_0203D2E4
-FUN_0203D2E4: ; 0x0203D2E4
- push {r4, lr}
- add r4, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- str r0, [r4, #0x64]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- bl FUN_02031588
- ldr r1, _0203D310 ; =FUN_0203D314
- add r0, r4, #0x0
- bl SetupNativeScript
- mov r0, #0x1
- pop {r4, pc}
- nop
-_0203D310: .word FUN_0203D314
-
- thumb_func_start FUN_0203D314
-FUN_0203D314: ; 0x0203D314
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_02030F20
- cmp r0, #0x2
- bge _0203D324
- mov r0, #0x1
- pop {r4, pc}
-_0203D324:
- ldr r0, [r4, #0x64]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- bl FUN_020315D8
- pop {r4, pc}
-
- thumb_func_start FUN_0203D330
-FUN_0203D330: ; 0x0203D330
- push {r3, lr}
- bl FUN_0203168C
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0203D33C
-FUN_0203D33C: ; 0x0203D33C
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xf
- bl FUN_02039438
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394B8
- add r5, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_0205296C
- strh r0, [r5, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0203D36C
-FUN_0203D36C: ; 0x0203D36C
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r4, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xf
- bl FUN_02039438
- add r1, r0, #0x0
- add r5, #0x80
- ldr r0, [r5, #0x0]
- ldr r1, [r1, #0x0]
- ldr r0, [r0, #0x78]
- bl FUN_02052C0C
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0203D3A4
-FUN_0203D3A4: ; 0x0203D3A4
- push {r4, lr}
- bl ScriptReadHalfword
- add r4, r0, #0x0
- cmp r4, #0x5
- beq _0203D3BC
- cmp r4, #0x7
- beq _0203D3BC
- cmp r4, #0x9
- beq _0203D3BC
- cmp r4, #0x6
- bne _0203D3C2
-_0203D3BC:
- bl FUN_02031C54
- b _0203D3CA
-_0203D3C2:
- cmp r4, #0xb
- bne _0203D3CA
- bl FUN_02031C64
-_0203D3CA:
- bl FUN_02031190
- cmp r0, #0x0
- bne _0203D3D8
- add r0, r4, #0x0
- bl FUN_02052B74
-_0203D3D8:
- mov r0, #0x0
- pop {r4, pc}
-
- thumb_func_start FUN_0203D3DC
-FUN_0203D3DC: ; 0x0203D3DC
- push {r3-r7, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xa
- bl FUN_02039438
- add r7, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xf
- bl FUN_02039438
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r4, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020377AC
- bl FUN_020238F4
- add r5, #0x80
- str r0, [sp, #0x4]
- ldr r0, [r5, #0x0]
- bl FUN_020377AC
- bl FUN_02013B5C
- add r5, r0, #0x0
- cmp r4, #0x0
- bne _0203D432
- ldr r0, [r7, #0x0]
- bl FUN_02058448
- lsl r0, r0, #0x10
- lsr r2, r0, #0x10
- b _0203D434
-_0203D432:
- mov r2, #0x0
-_0203D434:
- str r5, [sp, #0x0]
- ldr r0, [r6, #0x0]
- ldr r3, [sp, #0x4]
- add r1, r4, #0x0
- bl FUN_02052D08
- mov r0, #0x0
- add sp, #0x8
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0203D448
-FUN_0203D448: ; 0x0203D448
- push {r3, lr}
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_0208881C
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0203D458
-FUN_0203D458: ; 0x0203D458
- push {r4, lr}
- add r4, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x7c]
- bl FUN_02052F74
- bl FUN_02031B50
- ldr r1, _0203D478 ; =FUN_0203D47C
- add r0, r4, #0x0
- bl SetupNativeScript
- mov r0, #0x1
- pop {r4, pc}
- nop
-_0203D478: .word FUN_0203D47C
-
- thumb_func_start FUN_0203D47C
-FUN_0203D47C: ; 0x0203D47C
- push {r3, lr}
- bl FUN_02030F20
- cmp r0, #0x2
- bge _0203D48A
- mov r0, #0x1
- pop {r3, pc}
-_0203D48A:
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0203D490
-FUN_0203D490: ; 0x0203D490
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xa
- bl FUN_02039438
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- str r0, [sp, #0x0]
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r6, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xf
- bl FUN_02039438
- add r7, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_02058448
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- ldr r2, [sp, #0x0]
- ldr r0, [r0, #0x78]
- ldr r3, [r7, #0x0]
- bl FUN_02052A10
- strh r0, [r6, #0x0]
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0203D4E8
-FUN_0203D4E8: ; 0x0203D4E8
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r4, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x78]
- bl FUN_020527A8
- strh r0, [r4, #0x0]
- ldrh r0, [r4, #0x0]
- cmp r0, #0x0
- beq _0203D522
- add r5, #0x80
- ldr r0, [r5, #0x0]
- mov r1, #0x13
- bl FUN_02039438
- ldr r0, [r0, #0x0]
- bl FUN_02016A18
-_0203D522:
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0203D528
-FUN_0203D528: ; 0x0203D528
- push {r4-r6, lr}
- add r4, r0, #0x0
- add r0, #0x80
- ldr r5, [r0, #0x0]
- mov r1, #0xa
- add r0, r5, #0x0
- bl FUN_02039438
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394B8
- add r4, r0, #0x0
- ldr r0, [r6, #0x0]
- bl FUN_02058448
- add r1, r0, #0x0
- ldr r0, [r5, #0x78]
- bl FUN_020524CC
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_0203D560
-FUN_0203D560: ; 0x0203D560
- push {r3-r7, lr}
- add r4, r0, #0x0
- add r0, #0x80
- ldr r5, [r0, #0x0]
- mov r1, #0xa
- add r0, r5, #0x0
- bl FUN_02039438
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r7, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394B8
- add r4, r0, #0x0
- ldr r0, [r6, #0x0]
- bl FUN_02058448
- add r1, r0, #0x0
- ldr r0, [r5, #0x78]
- add r2, r7, #0x0
- bl FUN_02052544
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0203D5B0
-FUN_0203D5B0: ; 0x0203D5B0
- push {r4, lr}
- add r4, r0, #0x0
- bl ScriptReadHalfword
- str r0, [r4, #0x64]
- ldr r1, _0203D5C8 ; =FUN_0203D5CC
- add r0, r4, #0x0
- bl SetupNativeScript
- mov r0, #0x1
- pop {r4, pc}
- nop
-_0203D5C8: .word FUN_0203D5CC
-
- thumb_func_start FUN_0203D5CC
-FUN_0203D5CC: ; 0x0203D5CC
- push {r4-r6, lr}
- add r6, r0, #0x0
- add r0, #0x80
- ldr r5, [r0, #0x0]
- ldr r0, [r5, #0x78]
- bl FUN_02052604
- ldr r1, [r6, #0x64]
- add r4, r0, #0x0
- lsl r1, r1, #0x10
- add r0, r5, #0x0
- lsr r1, r1, #0x10
- bl FUN_020394B8
- cmp r4, #0x0
- bne _0203D5F0
- mov r0, #0x0
- pop {r4-r6, pc}
-_0203D5F0:
- strh r4, [r0, #0x0]
- mov r0, #0x1
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_0203D5F8
-FUN_0203D5F8: ; 0x0203D5F8
- push {r3, lr}
- add r0, #0x80
- ldr r1, [r0, #0x0]
- ldr r0, [r1, #0x34]
- ldr r1, [r1, #0x7c]
- bl FUN_020534DC
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0203D60C
-FUN_0203D60C: ; 0x0203D60C
- push {r3, lr}
- mov r0, #0x4
- bl FUN_02052B74
- bl FUN_02031C2C
- mov r0, #0x0
- pop {r3, pc}
-
- thumb_func_start FUN_0203D61C
-FUN_0203D61C: ; 0x0203D61C
- push {r3, lr}
- bl FUN_02031C64
- bl FUN_02031B50
- mov r0, #0x0
- bl FUN_02052B74
- mov r0, #0x0
- pop {r3, pc}
-
- thumb_func_start FUN_0203D630
-FUN_0203D630: ; 0x0203D630
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r1, r5, #0x0
- add r1, #0x80
- ldr r4, [r1, #0x0]
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- add r2, r0, #0x0
- ldr r0, [r4, #0x78]
- add r1, r6, #0x0
- bl FUN_0205265C
- mov r0, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_0203D66C
-FUN_0203D66C: ; 0x0203D66C
- push {r4, lr}
- add r4, r0, #0x0
- bl ScriptReadHalfword
- str r0, [r4, #0x64]
- ldr r1, _0203D684 ; =FUN_0203D688
- add r0, r4, #0x0
- bl SetupNativeScript
- mov r0, #0x1
- pop {r4, pc}
- nop
-_0203D684: .word FUN_0203D688
-
- thumb_func_start FUN_0203D688
-FUN_0203D688: ; 0x0203D688
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r1, [r5, #0x64]
- add r0, #0x80
- lsl r1, r1, #0x10
- ldr r0, [r0, #0x0]
- lsr r1, r1, #0x10
- bl FUN_020394B8
- add r4, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x78]
- bl FUN_02052608
- cmp r0, #0x1
- blo _0203D6BC
- add r5, #0x80
- strh r0, [r4, #0x0]
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0x78]
- bl FUN_02052E10
- mov r0, #0x1
- pop {r3-r5, pc}
-_0203D6BC:
- mov r0, #0x0
- strh r0, [r4, #0x0]
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0203D6C4
-FUN_0203D6C4: ; 0x0203D6C4
- push {r4, lr}
- add r4, r0, #0x0
- bl ScriptReadHalfword
- str r0, [r4, #0x64]
- ldr r1, _0203D6DC ; =FUN_0203D6E0
- add r0, r4, #0x0
- bl SetupNativeScript
- mov r0, #0x1
- pop {r4, pc}
- nop
-_0203D6DC: .word FUN_0203D6E0
-
- thumb_func_start FUN_0203D6E0
-FUN_0203D6E0: ; 0x0203D6E0
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r1, [r5, #0x64]
- add r0, #0x80
- lsl r1, r1, #0x10
- ldr r0, [r0, #0x0]
- lsr r1, r1, #0x10
- bl FUN_020394B8
- add r4, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x78]
- bl FUN_02052648
- ldr r1, _0203D724 ; =0x021C48B8
- ldr r2, [r1, #0x48]
- mov r1, #0x2
- tst r1, r2
- beq _0203D716
- add r5, #0x80
- ldr r0, [r5, #0x0]
- mov r1, #0x8
- ldr r0, [r0, #0x78]
- bl FUN_02052718
-_0203D716:
- cmp r0, #0x0
- beq _0203D720
- strh r0, [r4, #0x0]
- mov r0, #0x1
- pop {r3-r5, pc}
-_0203D720:
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-_0203D724: .word 0x021C48B8
-
- thumb_func_start FUN_0203D728
-FUN_0203D728: ; 0x0203D728
- push {r3, lr}
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x10]
- bl FUN_02049EA4
- mov r0, #0x1
- pop {r3, pc}
-
- thumb_func_start FUN_0203D738
-FUN_0203D738: ; 0x0203D738
- push {r4-r6, lr}
- add r4, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020377AC
- bl FUN_020238F4
- add r4, #0x80
- add r5, r0, #0x0
- ldr r0, [r4, #0x0]
- mov r1, #0xf
- bl FUN_02039438
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_020239BC
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl FUN_020239CC
- add r1, r0, #0x0
- ldr r2, [r4, #0x0]
- add r0, r6, #0x0
- bl FUN_0205363C
- mov r0, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_0203D774
-FUN_0203D774: ; 0x0203D774
- push {r3-r7, lr}
- add r4, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020377AC
- bl FUN_020238F4
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r7, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394B8
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_020239BC
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl FUN_020239CC
- add r1, r0, #0x0
- add r0, r6, #0x0
- add r2, r7, #0x0
- bl FUN_02053678
- strh r0, [r4, #0x0]
- add r0, r5, #0x0
- bl FUN_020239CC
- ldrh r1, [r4, #0x0]
- mov r2, #0x2
- bl FUN_020536D0
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0203D7DC
-FUN_0203D7DC: ; 0x0203D7DC
- push {r3-r7, lr}
- add r4, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020377AC
- bl FUN_020238F4
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r7, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394B8
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_020239BC
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl FUN_020239CC
- add r1, r0, #0x0
- add r0, r6, #0x0
- add r2, r7, #0x0
- bl FUN_02053678
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0203D834
-FUN_0203D834: ; 0x0203D834
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020377AC
- bl FUN_020238F4
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- add r1, r0, #0x0
- lsl r1, r1, #0x18
- add r0, r4, #0x0
- lsr r1, r1, #0x18
- bl FUN_02023A2C
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0203D868
-FUN_0203D868: ; 0x0203D868
- push {r3, lr}
- ldr r0, [r0, #0x74]
- bl FUN_02048498
- mov r0, #0x1
- pop {r3, pc}
-
- thumb_func_start FUN_0203D874
-FUN_0203D874: ; 0x0203D874
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r5, #0x80
- add r4, r0, #0x0
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_02034E30
- add r1, r4, #0x0
- bl FUN_02034E04
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0203D8A0
-FUN_0203D8A0: ; 0x0203D8A0
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020377AC
- bl FUN_020238F4
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394B8
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_020239CC
- strh r0, [r5, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0203D8D0
-FUN_0203D8D0: ; 0x0203D8D0
- push {r3, lr}
- ldr r0, [r0, #0x74]
- bl FUN_02046528
- ldr r0, [r0, #0xc]
- bl FUN_0206BB1C
- bl FUN_02085140
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0203D8E8
-FUN_0203D8E8: ; 0x0203D8E8
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_0203D8EC
-FUN_0203D8EC: ; 0x0203D8EC
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_02050024
- ldr r1, _0203D900 ; =FUN_0203D904
- add r0, r4, #0x0
- bl SetupNativeScript
- mov r0, #0x1
- pop {r4, pc}
- .balign 4
-_0203D900: .word FUN_0203D904
-
- thumb_func_start FUN_0203D904
-FUN_0203D904: ; 0x0203D904
- push {r3, lr}
- bl FUN_02031810
- cmp r0, #0x1
- beq _0203D91A
- bl FUN_0202EDF8
- cmp r0, #0x1
- beq _0203D91A
- mov r0, #0x1
- pop {r3, pc}
-_0203D91A:
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0203D920
-FUN_0203D920: ; 0x0203D920
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_02050048
- ldr r1, _0203D934 ; =FUN_0203D904
- add r0, r4, #0x0
- bl SetupNativeScript
- mov r0, #0x1
- pop {r4, pc}
- .balign 4
-_0203D934: .word FUN_0203D904
-
- thumb_func_start FUN_0203D938
-FUN_0203D938: ; 0x0203D938
- push {r3, lr}
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_0204FF5C
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0203D948
-FUN_0203D948: ; 0x0203D948
- push {r3, lr}
- bl ScriptReadHalfword
- bl FUN_0204F6DC
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0203D958
-FUN_0203D958: ; 0x0203D958
- push {r4-r6, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r5, #0x80
- add r4, r0, #0x0
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_0206F158
- add r1, r6, #0x0
- bl FUN_0206EE64
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_0203D998
-FUN_0203D998: ; 0x0203D998
- push {r4-r6, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r5, #0x80
- add r3, r0, #0x0
- ldr r0, [r5, #0x0]
- add r1, r4, #0x0
- add r2, r6, #0x0
- bl FUN_02034B74
- mov r0, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_0203D9E8
-FUN_0203D9E8: ; 0x0203D9E8
- push {r4-r7, lr}
- sub sp, #0xc
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r7, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- str r0, [sp, #0x4]
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- str r0, [sp, #0x8]
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r5, #0x80
- add r4, r0, #0x0
- ldr r0, [r5, #0x0]
- add r1, r6, #0x0
- ldr r0, [r0, #0x34]
- bl FUN_02058060
- ldr r2, [sp, #0x4]
- ldr r3, [sp, #0x8]
- add r5, r0, #0x0
- add r1, r7, #0x0
- str r4, [sp, #0x0]
- bl FUN_02058E28
- add r0, r5, #0x0
- bl FUN_02059D1C
- mov r0, #0x0
- add sp, #0xc
- pop {r4-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0203DA78
-FUN_0203DA78: ; 0x0203DA78
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r5, #0x80
- add r2, r0, #0x0
- ldr r0, [r5, #0x0]
- add r1, r4, #0x0
- bl FUN_02034BDC
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0203DAB0
-FUN_0203DAB0: ; 0x0203DAB0
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r5, #0x80
- add r2, r0, #0x0
- ldr r0, [r5, #0x0]
- add r1, r4, #0x0
- bl FUN_02034BAC
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0203DAE8
-FUN_0203DAE8: ; 0x0203DAE8
- push {r4-r6, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r5, #0x80
- add r3, r0, #0x0
- ldr r0, [r5, #0x0]
- add r1, r4, #0x0
- add r2, r6, #0x0
- bl FUN_02034C0C
- mov r0, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_0203DB38
-FUN_0203DB38: ; 0x0203DB38
- push {r4-r6, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r5, #0x80
- add r3, r0, #0x0
- ldr r0, [r5, #0x0]
- add r1, r4, #0x0
- add r2, r6, #0x0
- bl FUN_02034C34
- mov r0, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_0203DB88
-FUN_0203DB88: ; 0x0203DB88
- push {r4-r6, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r5, #0x80
- add r4, r0, #0x0
- ldr r0, [r5, #0x0]
- add r1, r6, #0x0
- ldr r0, [r0, #0x34]
- bl FUN_02058060
- add r5, r0, #0x0
- bne _0203DBC6
- bl ErrorHandling
-_0203DBC6:
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_021F1EC0
- mov r0, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_0203DBD4
-FUN_0203DBD4: ; 0x0203DBD4
- push {r3-r5, lr}
- add r4, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xc
- bl FUN_02039438
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394F0
- ldr r1, [r5, #0x0]
- cmp r1, #0x0
- beq _0203DBFC
- strh r0, [r1, #0x0]
-_0203DBFC:
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0203DC00
-FUN_0203DC00: ; 0x0203DC00
- push {r3-r7, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r7, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- lsl r1, r4, #0x5
- ldr r3, [r5, #0x8]
- add r2, r0, #0x0
- add r0, r3, #0x1
- str r0, [r5, #0x8]
- add r5, #0x80
- lsl r4, r6, #0x5
- ldrb r3, [r3, #0x0]
- ldr r0, [r5, #0x0]
- add r1, r7, r1
- add r2, r2, r4
- bl FUN_021DAE40
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0203DC58
-FUN_0203DC58: ; 0x0203DC58
- push {r3, lr}
- ldr r2, [r0, #0x8]
- add r1, r2, #0x1
- str r1, [r0, #0x8]
- add r0, #0x80
- ldrb r1, [r2, #0x0]
- ldr r0, [r0, #0x0]
- bl FUN_021DAF78
- mov r0, #0x1
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0203DC70
-FUN_0203DC70: ; 0x0203DC70
- push {r3, lr}
- ldr r2, [r0, #0x8]
- add r1, r2, #0x1
- str r1, [r0, #0x8]
- add r0, #0x80
- ldrb r1, [r2, #0x0]
- ldr r0, [r0, #0x0]
- bl FUN_021DAF98
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0203DC88
-FUN_0203DC88: ; 0x0203DC88
- push {r3, lr}
- ldr r2, [r0, #0x8]
- add r1, r2, #0x1
- str r1, [r0, #0x8]
- add r0, #0x80
- ldrb r1, [r2, #0x0]
- ldr r0, [r0, #0x0]
- bl FUN_021DAED4
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0203DCA0
-FUN_0203DCA0: ; 0x0203DCA0
- push {r3, lr}
- ldr r2, [r0, #0x8]
- add r1, r2, #0x1
- str r1, [r0, #0x8]
- add r0, #0x80
- ldrb r1, [r2, #0x0]
- ldr r0, [r0, #0x0]
- bl FUN_021DAF28
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0203DCB8
-FUN_0203DCB8: ; 0x0203DCB8
- push {r3, lr}
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_02064CA8
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0203DCC8
-FUN_0203DCC8: ; 0x0203DCC8
- push {r3, lr}
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_02241230
- mov r0, #0x1
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0203DCD8
-FUN_0203DCD8: ; 0x0203DCD8
- push {r3, lr}
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_02064CC8
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0203DCE8
-FUN_0203DCE8: ; 0x0203DCE8
- push {r3, lr}
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_02241914
- mov r0, #0x1
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0203DCF8
-FUN_0203DCF8: ; 0x0203DCF8
- push {r3, lr}
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_02064D10
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0203DD08
-FUN_0203DD08: ; 0x0203DD08
- push {r3, lr}
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_02064D4C
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0203DD18
-FUN_0203DD18: ; 0x0203DD18
- push {r3, lr}
- add r1, r0, #0x0
- add r1, #0x80
- ldr r2, [r0, #0x8]
- ldr r3, [r1, #0x0]
- add r1, r2, #0x1
- str r1, [r0, #0x8]
- ldrb r1, [r2, #0x0]
- add r0, r3, #0x0
- bl FUN_02064D88
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0203DD34
-FUN_0203DD34: ; 0x0203DD34
- push {r3, lr}
- add r1, r0, #0x0
- add r1, #0x80
- ldr r2, [r0, #0x8]
- ldr r3, [r1, #0x0]
- add r1, r2, #0x1
- str r1, [r0, #0x8]
- ldrb r1, [r2, #0x0]
- add r0, r3, #0x0
- bl FUN_02242A38
- mov r0, #0x1
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0203DD50
-FUN_0203DD50: ; 0x0203DD50
- push {r3, lr}
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020388B4
- mov r0, #0x1
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0203DD60
-FUN_0203DD60: ; 0x0203DD60
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x14
- bl FUN_02039438
- add r4, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xa
- bl FUN_02039438
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r7, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- str r0, [r5, #0x64]
- ldr r0, [r6, #0x0]
- bl FUN_02058448
- add r1, r5, #0x0
- add r1, #0x80
- add r2, r0, #0x0
- ldr r1, [r1, #0x0]
- add r0, r7, #0x0
- bl FUN_0224CA54
- str r0, [r4, #0x0]
- ldr r1, _0203DDBC ; =FUN_0203DDC0
- add r0, r5, #0x0
- bl SetupNativeScript
- mov r0, #0x1
- pop {r3-r7, pc}
- .balign 4
-_0203DDBC: .word FUN_0203DDC0
-
- thumb_func_start FUN_0203DDC0
-FUN_0203DDC0: ; 0x0203DDC0
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x14
- bl FUN_02039438
- add r4, r0, #0x0
- add r0, r5, #0x0
- ldr r1, [r5, #0x64]
- add r0, #0x80
- lsl r1, r1, #0x10
- ldr r0, [r0, #0x0]
- lsr r1, r1, #0x10
- bl FUN_020394B8
- add r5, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_0224CA2C
- strh r0, [r5, #0x0]
- ldrh r1, [r5, #0x0]
- ldr r0, _0203DDFC ; =0x0000FFFE
- cmp r1, r0
- beq _0203DDF6
- mov r0, #0x1
- pop {r3-r5, pc}
-_0203DDF6:
- mov r0, #0x0
- pop {r3-r5, pc}
- nop
-_0203DDFC: .word 0x0000FFFE
-
- thumb_func_start FUN_0203DE00
-FUN_0203DE00: ; 0x0203DE00
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x3
- bl FUN_02039438
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- bl FUN_0224CA58
- strb r0, [r4, #0x0]
- ldr r1, _0203DE34 ; =FUN_0203DE38
- add r0, r5, #0x0
- bl SetupNativeScript
- mov r0, #0x1
- pop {r3-r5, pc}
- .balign 4
-_0203DE34: .word FUN_0203DE38
-
- thumb_func_start FUN_0203DE38
-FUN_0203DE38: ; 0x0203DE38
- push {r3, lr}
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x3
- bl FUN_02039438
- ldrb r0, [r0, #0x0]
- bl FUN_020546C8
- pop {r3, pc}
-
- thumb_func_start FUN_0203DE4C
-FUN_0203DE4C: ; 0x0203DE4C
- push {r3, lr}
- bl FUN_0224CA94
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0203DE58
-FUN_0203DE58: ; 0x0203DE58
- push {r3-r5, lr}
- add r4, r0, #0x0
- ldr r2, [r4, #0x8]
- add r1, r2, #0x1
- str r1, [r4, #0x8]
- ldrb r5, [r2, #0x0]
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394F0
- add r1, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0224CAA0
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0203DE80
-FUN_0203DE80: ; 0x0203DE80
- push {r3-r5, lr}
- add r4, r0, #0x0
- ldr r2, [r4, #0x8]
- add r1, r2, #0x1
- str r1, [r4, #0x8]
- ldrb r5, [r2, #0x0]
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394F0
- add r1, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0224CAB4
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0203DEA8
-FUN_0203DEA8: ; 0x0203DEA8
- push {r3, lr}
- sub sp, #0x8
- mov r3, #0x0
- str r3, [sp, #0x0]
- str r3, [sp, #0x4]
- mov r1, #0x1
- ldr r0, [r0, #0x74]
- add r2, r1, #0x0
- bl FUN_02242BE0
- mov r0, #0x1
- add sp, #0x8
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0203DEC4
-FUN_0203DEC4: ; 0x0203DEC4
- push {r3-r5, lr}
- add r4, r0, #0x0
- add r1, r4, #0x0
- add r1, #0x80
- ldr r5, [r1, #0x0]
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394F0
- add r1, r0, #0x0
- ldr r0, [r5, #0x34]
- bl FUN_02058060
- add r4, r0, #0x0
- bne _0203DEEC
- bl ErrorHandling
-_0203DEEC:
- add r0, r4, #0x0
- mov r1, #0x0
- bl FUN_0205889C
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0203DEF8
-FUN_0203DEF8: ; 0x0203DEF8
- push {r3-r5, lr}
- add r4, r0, #0x0
- add r1, r4, #0x0
- add r1, #0x80
- ldr r5, [r1, #0x0]
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394F0
- add r1, r0, #0x0
- ldr r0, [r5, #0x34]
- bl FUN_02058060
- add r4, r0, #0x0
- bne _0203DF20
- bl ErrorHandling
-_0203DF20:
- add r0, r4, #0x0
- mov r1, #0x1
- bl FUN_0205889C
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0203DF2C
-FUN_0203DF2C: ; 0x0203DF2C
- push {r3, lr}
- ldr r0, [r0, #0x74]
- bl FUN_02066818
- mov r0, #0x1
- pop {r3, pc}
-
- thumb_func_start FUN_0203DF38
-FUN_0203DF38: ; 0x0203DF38
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r1, r5, #0x0
- add r1, #0x80
- ldr r4, [r1, #0x0]
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394B8
- add r5, r0, #0x0
- ldr r0, [r4, #0xc]
- bl FUN_02025838
- mov r1, #0x0
- bl FUN_0202589C
- strh r0, [r5, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0203DF64
-FUN_0203DF64: ; 0x0203DF64
- push {r4, lr}
- add r4, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r1, r0, #0x0
- ldr r0, [r4, #0x74]
- bl FUN_02063650
- mov r0, #0x1
- pop {r4, pc}
-
- thumb_func_start FUN_0203DF84
-FUN_0203DF84: ; 0x0203DF84
- push {r3-r5, lr}
- add r4, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r4, #0x80
- add r5, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_0204B2A4
- strh r0, [r5, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0203DFA8
-FUN_0203DFA8: ; 0x0203DFA8
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- add r5, r0, #0x0
- bl FUN_0201B9EC
- add r1, r5, #0x0
- blx _s32_div_f
- strh r1, [r4, #0x0]
- mov r0, #0x1
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0203DFE0
-FUN_0203DFE0: ; 0x0203DFE0
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- add r5, r0, #0x0
- bl FUN_0201B9EC
- add r1, r5, #0x0
- blx _s32_div_f
- strh r1, [r4, #0x0]
- mov r0, #0x1
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0203E018
-FUN_0203E018: ; 0x0203E018
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r1, r5, #0x0
- add r1, #0x80
- ldr r4, [r1, #0x0]
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- add r1, r0, #0x0
- add r0, r4, #0x0
- bl FUN_021F3A18
- strh r0, [r6, #0x0]
- mov r0, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_0203E054
-FUN_0203E054: ; 0x0203E054
- push {r3-r5, lr}
- add r4, r0, #0x0
- add r1, r4, #0x0
- add r1, #0x80
- ldr r5, [r1, #0x0]
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394F0
- add r1, r0, #0x0
- add r0, r5, #0x0
- bl FUN_021F3AB4
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0203E078
-FUN_0203E078: ; 0x0203E078
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r1, r5, #0x0
- add r1, #0x80
- ldr r4, [r1, #0x0]
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r7, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- lsl r1, r6, #0x18
- lsl r2, r7, #0x18
- add r3, r0, #0x0
- add r0, r4, #0x0
- lsr r1, r1, #0x18
- lsr r2, r2, #0x18
- bl FUN_021F3B7C
- mov r0, #0x0
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0203E0CC
-FUN_0203E0CC: ; 0x0203E0CC
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r1, r5, #0x0
- add r1, #0x80
- ldr r4, [r1, #0x0]
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r7, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- lsl r1, r6, #0x18
- lsl r2, r7, #0x18
- add r3, r0, #0x0
- add r0, r4, #0x0
- lsr r1, r1, #0x18
- lsr r2, r2, #0x18
- bl FUN_021F3B4C
- mov r0, #0x0
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0203E120
-FUN_0203E120: ; 0x0203E120
- push {r3, lr}
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_020462AC
- mov r1, #0x82
- lsl r1, r1, #0x8
- bl FUN_0205F3F8
- mov r0, #0x0
- pop {r3, pc}
-
- thumb_func_start FUN_0203E138
-FUN_0203E138: ; 0x0203E138
- push {r4, lr}
- add r0, #0x80
- ldr r4, [r0, #0x0]
- ldr r0, [r4, #0xc]
- bl FUN_020462AC
- mov r1, #0x1
- bl FUN_0205F2D4
- ldr r0, [r4, #0xc]
- bl FUN_020289A4
- mov r1, #0x1
- bl FUN_020289B0
- add r1, r4, #0x0
- add r1, #0x98
- str r0, [r1, #0x0]
- add r0, r4, #0x0
- bl FUN_02048C58
- mov r0, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0203E168
-FUN_0203E168: ; 0x0203E168
- push {r3-r7, lr}
- add r4, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r7, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- str r0, [sp, #0x0]
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x14
- bl FUN_02039438
- add r5, r0, #0x0
- add r0, r7, #0x0
- sub r0, #0x10
- cmp r0, #0xa
- bhi _0203E23A
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_0203E1EA: ; jump table (using 16-bit offset)
- .short _0203E200 - _0203E1EA - 2; case 0
- .short _0203E20C - _0203E1EA - 2; case 1
- .short _0203E218 - _0203E1EA - 2; case 2
- .short _0203E226 - _0203E1EA - 2; case 3
- .short _0203E23A - _0203E1EA - 2; case 4
- .short _0203E226 - _0203E1EA - 2; case 5
- .short _0203E226 - _0203E1EA - 2; case 6
- .short _0203E226 - _0203E1EA - 2; case 7
- .short _0203E226 - _0203E1EA - 2; case 8
- .short _0203E226 - _0203E1EA - 2; case 9
- .short _0203E226 - _0203E1EA - 2; case 10
-_0203E200:
- mov r0, #0x4
- mov r6, #0x1
- bl FUN_02029120
- str r0, [r5, #0x0]
- b _0203E23E
-_0203E20C:
- mov r0, #0x4
- mov r6, #0x1
- bl FUN_0202912C
- str r0, [r5, #0x0]
- b _0203E23E
-_0203E218:
- ldr r0, [sp, #0x0]
- mov r1, #0x4
- mov r6, #0x1
- bl FUN_02029138
- str r0, [r5, #0x0]
- b _0203E23E
-_0203E226:
- sub r7, #0x13
- lsl r0, r7, #0x18
- ldr r1, [sp, #0x0]
- lsr r0, r0, #0x18
- mov r2, #0x4
- mov r6, #0x1
- bl FUN_0202914C
- str r0, [r5, #0x0]
- b _0203E23E
-_0203E23A:
- mov r0, #0x1
- pop {r3-r7, pc}
-_0203E23E:
- add r4, #0x80
- ldr r0, [r4, #0x0]
- ldr r1, [r5, #0x0]
- add r0, #0x98
- ldr r0, [r0, #0x0]
- add r2, r6, #0x0
- bl FUN_02028AD4
- mov r0, #0x1
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0203E254
-FUN_0203E254: ; 0x0203E254
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_0203E258
-FUN_0203E258: ; 0x0203E258
- push {r4-r6, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r5, #0x80
- add r6, r0, #0x0
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_02027E24
- bl FUN_0202708C
- add r1, r4, #0x0
- add r2, r6, #0x0
- bl FUN_020271A4
- mov r0, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_0203E29C
-FUN_0203E29C: ; 0x0203E29C
- push {r3-r7, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r7, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r5, #0x80
- add r4, r0, #0x0
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_02027E24
- bl FUN_0202708C
- add r1, r6, #0x0
- add r2, r7, #0x0
- bl FUN_020270D8
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0203E2F8
-FUN_0203E2F8: ; 0x0203E2F8
- push {r3-r7, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r7, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r5, #0x80
- add r4, r0, #0x0
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_02027E24
- bl FUN_0202708C
- add r1, r7, #0x0
- bl FUN_02027114
- cmp r6, r0
- bhi _0203E352
- mov r0, #0x1
- b _0203E354
-_0203E352:
- mov r0, #0x0
-_0203E354:
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0203E35C
-FUN_0203E35C: ; 0x0203E35C
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r5, #0x80
- add r4, r0, #0x0
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_02027E24
- bl FUN_0202708C
- add r1, r4, #0x0
- bl FUN_02027264
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0203E38C
-FUN_0203E38C: ; 0x0203E38C
- push {r4-r6, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r5, #0x80
- add r4, r0, #0x0
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_02027E24
- bl FUN_0202708C
- add r1, r6, #0x0
- bl FUN_02027100
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_0203E3D0
-FUN_0203E3D0: ; 0x0203E3D0
- push {r3-r5, lr}
- add r4, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_02024DA0
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394B8
- add r4, r0, #0x0
- mov r0, #0x0
- strh r0, [r4, #0x0]
- add r0, r5, #0x0
- bl FUN_02024504
- cmp r0, #0x1
- bne _0203E404
- mov r0, #0x1
- strh r0, [r4, #0x0]
-_0203E404:
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0203E408
-FUN_0203E408: ; 0x0203E408
- push {r3-r5, lr}
- add r4, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_02024DA0
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394B8
- add r4, r0, #0x0
- mov r0, #0x0
- strh r0, [r4, #0x0]
- add r0, r5, #0x0
- bl FUN_020244EC
- cmp r0, #0x1
- bne _0203E43C
- mov r0, #0x1
- strh r0, [r4, #0x0]
-_0203E43C:
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0203E440
-FUN_0203E440: ; 0x0203E440
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x13
- bl FUN_02039438
- add r4, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x20
- mov r2, #0x0
- bl FUN_02038AF4
- str r0, [r4, #0x0]
- ldr r1, _0203E46C ; =FUN_0203BB90
- add r0, r5, #0x0
- bl SetupNativeScript
- mov r0, #0x1
- pop {r3-r5, pc}
- .balign 4
-_0203E46C: .word FUN_0203BB90
-
- thumb_func_start FUN_0203E470
-FUN_0203E470: ; 0x0203E470
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x13
- bl FUN_02039438
- add r4, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x20
- mov r2, #0x1
- bl FUN_02038AF4
- str r0, [r4, #0x0]
- ldr r1, _0203E49C ; =FUN_0203BB90
- add r0, r5, #0x0
- bl SetupNativeScript
- mov r0, #0x1
- pop {r3-r5, pc}
- .balign 4
-_0203E49C: .word FUN_0203BB90
-
- thumb_func_start FUN_0203E4A0
-FUN_0203E4A0: ; 0x0203E4A0
- push {r3, lr}
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_0224CBB0
- mov r0, #0x0
- pop {r3, pc}
-
- thumb_func_start FUN_0203E4B0
-FUN_0203E4B0: ; 0x0203E4B0
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r5, #0x80
- add r4, r0, #0x0
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_0224CC24
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0203E4D8
-FUN_0203E4D8: ; 0x0203E4D8
- push {r4, lr}
- add r4, r0, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394B8
- mov r0, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0203E4F0
-FUN_0203E4F0: ; 0x0203E4F0
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r4, r0, #0x0
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_02029FC8
- add r1, r4, #0x0
- bl FUN_0202A0E8
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0203E510
-FUN_0203E510: ; 0x0203E510
- push {r3-r7, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r7, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r6, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- add r1, r4, #0x0
- bl FUN_020394B8
- add r4, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- add r1, r6, #0x0
- bl FUN_020394B8
- add r5, #0x80
- add r6, r0, #0x0
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_02029FC8
- add r1, r7, #0x0
- bl FUN_0202A150
- ldr r1, _0203E564 ; =0xFFFF0000
- and r1, r0
- lsr r1, r1, #0x10
- strh r1, [r4, #0x0]
- strh r0, [r6, #0x0]
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-_0203E564: .word 0xFFFF0000
-
- thumb_func_start FUN_0203E568
-FUN_0203E568: ; 0x0203E568
- push {r4-r6, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- ldr r1, [r5, #0x8]
- add r2, r1, #0x1
- str r2, [r5, #0x8]
- lsl r2, r4, #0x10
- add r4, r2, #0x0
- orr r4, r0
- ldrb r0, [r1, #0x0]
- cmp r0, #0x0
- beq _0203E59C
- cmp r0, #0x1
- beq _0203E5B0
- cmp r0, #0x2
- beq _0203E5C4
- b _0203E5D6
-_0203E59C:
- add r5, #0x80
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_02029FC8
- add r1, r6, #0x0
- add r2, r4, #0x0
- bl FUN_0202A11C
- b _0203E5D6
-_0203E5B0:
- add r5, #0x80
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_02029FC8
- add r1, r6, #0x0
- add r2, r4, #0x0
- bl FUN_0202A07C
- b _0203E5D6
-_0203E5C4:
- add r5, #0x80
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_02029FC8
- add r1, r6, #0x0
- add r2, r4, #0x0
- bl FUN_0202A0A8
-_0203E5D6:
- mov r0, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_0203E5DC
-FUN_0203E5DC: ; 0x0203E5DC
- push {r3-r7, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_02034E30
- add r7, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_020462AC
- str r0, [sp, #0x0]
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_02022504
- ldr r1, [r5, #0x8]
- str r0, [sp, #0x4]
- add r0, r1, #0x1
- str r0, [r5, #0x8]
- ldrb r4, [r1, #0x0]
- add r0, r7, #0x0
- bl FUN_02034E24
- add r6, r0, #0x0
- add r0, r7, #0x0
- bl FUN_02034E28
- add r7, r0, #0x0
- cmp r4, #0x0
- beq _0203E62C
- cmp r4, #0x1
- beq _0203E642
- b _0203E66E
-_0203E62C:
- ldr r0, [sp, #0x0]
- bl FUN_0205F1F4
- ldr r0, [sp, #0x4]
- bl FUN_02060FD0
- mov r0, #0x1e
- strh r0, [r6, #0x0]
- mov r0, #0x0
- strh r0, [r7, #0x0]
- b _0203E66E
-_0203E642:
- ldr r0, [sp, #0x0]
- bl FUN_0205F204
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_02061574
- mov r0, #0x4
- bl FUN_0202912C
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- mov r2, #0x1
- add r0, #0x98
- ldr r0, [r0, #0x0]
- bl FUN_02028AD4
- mov r0, #0x0
- strh r0, [r6, #0x0]
- strh r0, [r7, #0x0]
-_0203E66E:
- mov r0, #0x0
- add sp, #0x8
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0203E674
-FUN_0203E674: ; 0x0203E674
- push {r3, lr}
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_0206015C
- mov r0, #0x1
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0203E684
-FUN_0203E684: ; 0x0203E684
- push {r4-r6, lr}
- add r5, r0, #0x0
- ldr r2, [r5, #0x8]
- add r1, r2, #0x1
- str r1, [r5, #0x8]
- ldrb r4, [r2, #0x0]
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r5, #0x80
- add r6, r0, #0x0
- ldr r0, [r5, #0x0]
- add r1, r4, #0x0
- bl FUN_022456E8
- strh r0, [r6, #0x0]
- mov r0, #0x1
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_0203E6B4
-FUN_0203E6B4: ; 0x0203E6B4
- push {r3, lr}
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_02064E20
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0203E6C4
-FUN_0203E6C4: ; 0x0203E6C4
- push {r4-r6, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- mov r1, #0x0
- add r6, r0, #0x0
- mov r0, #0x41
- add r2, r1, #0x0
- bl FUN_0200433C
- add r5, #0x80
- ldrh r1, [r4, #0x0]
- ldr r0, [r5, #0x0]
- add r2, r6, #0x0
- bl FUN_0224525C
- mov r0, #0x1
- pop {r4-r6, pc}
-
- thumb_func_start FUN_0203E6FC
-FUN_0203E6FC: ; 0x0203E6FC
- push {r4-r6, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r5, #0x80
- add r4, r0, #0x0
- ldr r0, [r5, #0x0]
- add r1, r6, #0x0
- bl FUN_02245340
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_0203E72C
-FUN_0203E72C: ; 0x0203E72C
- push {r3, lr}
- ldr r2, [r0, #0x8]
- add r1, r2, #0x1
- str r1, [r0, #0x8]
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldrb r1, [r2, #0x0]
- ldr r0, [r0, #0x38]
- bl FUN_02055560
- mov r0, #0x1
- pop {r3, pc}
-
- thumb_func_start FUN_0203E744
-FUN_0203E744: ; 0x0203E744
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_020462AC
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394B8
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_0205F688
- strh r0, [r5, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0203E774
-FUN_0203E774: ; 0x0203E774
- push {r3-r7, lr}
- add r4, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_02024DA0
- add r7, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394B8
- str r0, [sp, #0x0]
- add r0, r7, #0x0
- bl FUN_020244A4
- add r4, r0, #0x0
- bl FUN_0201B9EC
- add r1, r4, #0x0
- blx _s32_div_f
- lsl r0, r1, #0x10
- lsr r6, r0, #0x10
- ldr r0, [sp, #0x0]
- mov r1, #0x19
- strh r1, [r0, #0x0]
- mov r4, #0x1
- mov r5, #0x0
-_0203E7B6:
- add r0, r7, #0x0
- add r1, r4, #0x0
- bl FUN_020245F0
- cmp r0, #0x1
- bne _0203E7DC
- add r0, r4, #0x0
- bl FUN_02069B40
- cmp r0, #0x0
- beq _0203E7DC
- cmp r5, r6
- bne _0203E7D6
- ldr r0, [sp, #0x0]
- strh r4, [r0, #0x0]
- b _0203E7E8
-_0203E7D6:
- add r0, r5, #0x1
- lsl r0, r0, #0x10
- lsr r5, r0, #0x10
-_0203E7DC:
- add r0, r4, #0x1
- lsl r0, r0, #0x10
- lsr r4, r0, #0x10
- ldr r0, _0203E7EC ; =0x000001ED
- cmp r4, r0
- bls _0203E7B6
-_0203E7E8:
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-_0203E7EC: .word 0x000001ED
-
- thumb_func_start FUN_0203E7F0
-FUN_0203E7F0: ; 0x0203E7F0
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r5, #0x80
- add r4, r0, #0x0
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_020462AC
- add r1, r4, #0x0
- bl FUN_0205F5A4
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0203E81C
-FUN_0203E81C: ; 0x0203E81C
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r5, #0x80
- add r4, r0, #0x0
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_020462AC
- bl FUN_0205F594
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0203E848
-FUN_0203E848: ; 0x0203E848
- push {r3, lr}
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_0202AA00
- mov r0, #0x0
- pop {r3, pc}
-
- thumb_func_start FUN_0203E858
-FUN_0203E858: ; 0x0203E858
- push {r3, lr}
- ldr r2, [r0, #0x8]
- add r1, r2, #0x1
- str r1, [r0, #0x8]
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldrb r1, [r2, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_02060490
- mov r0, #0x0
- pop {r3, pc}
-
- thumb_func_start FUN_0203E870
-FUN_0203E870: ; 0x0203E870
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x14
- bl FUN_02039438
- ldr r1, [r5, #0x8]
- add r4, r0, #0x0
- add r0, r1, #0x1
- str r0, [r5, #0x8]
- ldrb r1, [r1, #0x0]
- mov r0, #0xb
- bl FUN_0224884C
- str r0, [r4, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0203E894
-FUN_0203E894: ; 0x0203E894
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x14
- bl FUN_02039438
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394B8
- add r5, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_022488EC
- strh r0, [r5, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0203E8C4
-FUN_0203E8C4: ; 0x0203E8C4
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x14
- bl FUN_02039438
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394B8
- add r5, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_022488F4
- strh r0, [r5, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0203E8F4
-FUN_0203E8F4: ; 0x0203E8F4
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x14
- bl FUN_02039438
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r2, r0, #0x0
- ldr r0, [r5, #0x74]
- ldr r1, [r4, #0x0]
- mov r3, #0xb
- bl FUN_02060790
- mov r0, #0x1
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0203E928
-FUN_0203E928: ; 0x0203E928
- push {r3, lr}
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x14
- bl FUN_02039438
- ldr r0, [r0, #0x0]
- bl FUN_022488CC
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0203E940
-FUN_0203E940: ; 0x0203E940
- push {r3, lr}
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_02024DA0
- bl FUN_02024D4C
- mov r0, #0x0
- pop {r3, pc}
-
- thumb_func_start FUN_0203E954
-FUN_0203E954: ; 0x0203E954
- push {r3, lr}
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_02024DA0
- bl FUN_02024CE0
- mov r0, #0x0
- pop {r3, pc}
-
- thumb_func_start FUN_0203E968
-FUN_0203E968: ; 0x0203E968
- push {r4-r6, lr}
- add r5, r0, #0x0
- ldr r2, [r5, #0x8]
- add r1, r2, #0x1
- str r1, [r5, #0x8]
- ldrb r4, [r2, #0x0]
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r6, r0, #0x0
- mov r0, #0x0
- strh r0, [r6, #0x0]
- cmp r4, #0x1
- bne _0203E9AE
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_02024DA0
- bl FUN_02024C84
- add r5, #0x80
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_020238F4
- bl FUN_02023A90
- b _0203E9C8
-_0203E9AE:
- cmp r4, #0x2
- bne _0203E9C4
- add r5, #0x80
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_02024DA0
- bl FUN_02024CA4
- strh r0, [r6, #0x0]
- b _0203E9C8
-_0203E9C4:
- bl ErrorHandling
-_0203E9C8:
- mov r0, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_0203E9CC
-FUN_0203E9CC: ; 0x0203E9CC
- push {r4-r7, lr}
- sub sp, #0xc
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- str r0, [sp, #0x0]
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r5, #0x80
- add r4, r0, #0x0
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_0206BB1C
- add r1, r4, #0x0
- bl FUN_0206B9B0
- add r5, r0, #0x0
- mov r1, #0xd
- mov r2, #0x0
- bl FUN_020671BC
- add r4, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0xe
- mov r2, #0x0
- bl FUN_020671BC
- add r6, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0xf
- mov r2, #0x0
- bl FUN_020671BC
- add r7, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0x10
- mov r2, #0x0
- bl FUN_020671BC
- str r0, [sp, #0x4]
- add r0, r5, #0x0
- mov r1, #0x11
- mov r2, #0x0
- bl FUN_020671BC
- str r0, [sp, #0x8]
- add r0, r5, #0x0
- mov r1, #0x12
- mov r2, #0x0
- bl FUN_020671BC
- add r1, r4, r6
- add r2, r7, r1
- ldr r1, [sp, #0x4]
- add r2, r1, r2
- ldr r1, [sp, #0x8]
- add r1, r1, r2
- add r1, r0, r1
- ldr r0, [sp, #0x0]
- strh r1, [r0, #0x0]
- mov r0, #0x0
- add sp, #0xc
- pop {r4-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0203EA68
-FUN_0203EA68: ; 0x0203EA68
- push {r4, lr}
- sub sp, #0x10
- add r4, r0, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394B8
- add r4, r0, #0x0
- add r0, sp, #0x0
- bl FUN_020126B4
- ldr r0, [sp, #0xc]
- strh r0, [r4, #0x0]
- mov r0, #0x0
- add sp, #0x10
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0203EA90
-FUN_0203EA90: ; 0x0203EA90
- push {r4, lr}
- add r4, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r1, r0, #0x0
- ldr r0, [r4, #0x74]
- bl FUN_022411F4
- mov r0, #0x1
- pop {r4, pc}
-
- thumb_func_start FUN_0203EAB0
-FUN_0203EAB0: ; 0x0203EAB0
- push {r3-r7, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r5, #0x80
- add r7, r0, #0x0
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_0206BB1C
- add r1, r7, #0x0
- bl FUN_0206B9B0
- mov r1, #0x5
- mov r2, #0x0
- bl FUN_020671BC
- lsl r0, r0, #0x10
- lsr r5, r0, #0x10
- add r0, r5, #0x0
- bl FUN_021F61E8
- strh r0, [r4, #0x0]
- add r0, r5, #0x0
- bl FUN_021F61DC
- strh r0, [r6, #0x0]
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0203EB20
-FUN_0203EB20: ; 0x0203EB20
- push {r4, lr}
- add r4, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r1, r0, #0x0
- add r4, #0x80
- lsl r1, r1, #0x18
- ldr r0, [r4, #0x0]
- lsr r1, r1, #0x18
- bl FUN_0224C27C
- mov r0, #0x1
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0203EB48
-FUN_0203EB48: ; 0x0203EB48
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r2, r0, #0x0
- add r5, #0x80
- lsl r1, r4, #0x18
- lsl r2, r2, #0x18
- ldr r0, [r5, #0x0]
- lsr r1, r1, #0x18
- lsr r2, r2, #0x18
- bl FUN_0224C520
- mov r0, #0x1
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0203EB88
-FUN_0203EB88: ; 0x0203EB88
- push {r4-r7, lr}
- sub sp, #0xc
- add r5, r0, #0x0
- ldr r1, [r5, #0x8]
- add r2, r1, #0x1
- str r2, [r5, #0x8]
- ldrb r6, [r1, #0x0]
- add r1, r2, #0x1
- str r1, [r5, #0x8]
- ldrb r4, [r2, #0x0]
- bl ScriptReadHalfword
- str r0, [sp, #0x8]
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r7, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- str r7, [sp, #0x0]
- add r5, #0x80
- str r0, [sp, #0x4]
- ldr r0, [r5, #0x0]
- ldr r3, [sp, #0x8]
- add r1, r6, #0x0
- add r2, r4, #0x0
- bl FUN_020607D4
- mov r0, #0x1
- add sp, #0xc
- pop {r4-r7, pc}
-
- thumb_func_start FUN_0203EBC8
-FUN_0203EBC8: ; 0x0203EBC8
- push {r4, lr}
- add r4, r0, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394B8
- mov r1, #0xa
- strh r1, [r0, #0x0]
- mov r0, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0203EBE4
-FUN_0203EBE4: ; 0x0203EBE4
- push {r3-r7, lr}
- sub sp, #0x10
- add r5, r0, #0x0
- add r0, #0x80
- ldr r6, [r0, #0x0]
- add r0, r6, #0x0
- bl FUN_020377AC
- bl FUN_020238F4
- str r0, [sp, #0x4]
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r4, r0, #0x0
- ldr r0, [r6, #0xc]
- bl FUN_02022510
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r7, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- str r0, [sp, #0x8]
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- str r0, [sp, #0xc]
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- str r0, [sp, #0x0]
- ldr r0, [sp, #0x4]
- ldr r2, [sp, #0x8]
- ldr r3, [sp, #0xc]
- add r1, r7, #0x0
- bl FUN_0224D14C
- add r5, r0, #0x0
- mov r0, #0x0
- mvn r0, r0
- cmp r5, r0
- beq _0203EC7E
- cmp r5, #0x7
- ble _0203EC88
-_0203EC7E:
- mov r0, #0xff
- strh r0, [r4, #0x0]
- add sp, #0x10
- mov r0, #0x0
- pop {r3-r7, pc}
-_0203EC88:
- add r0, r6, #0x0
- add r1, r5, #0x0
- bl FUN_0206B644
- cmp r0, #0x0
- beq _0203EC98
- mov r0, #0x0
- b _0203ECA2
-_0203EC98:
- add r0, r6, #0x0
- add r1, r5, #0x0
- bl FUN_0206B620
- add r0, r5, #0x1
-_0203ECA2:
- strh r0, [r4, #0x0]
- mov r0, #0x0
- add sp, #0x10
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0203ECAC
-FUN_0203ECAC: ; 0x0203ECAC
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r1, r5, #0x0
- add r1, #0x80
- ldr r1, [r1, #0x0]
- ldr r4, [r1, #0xc]
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394B8
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_02026CB4
- bl FUN_020269CC
- strh r0, [r5, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0203ECD8
-FUN_0203ECD8: ; 0x0203ECD8
- push {r3, lr}
- add r1, r0, #0x0
- add r1, #0x80
- ldr r2, [r0, #0x8]
- ldr r3, [r1, #0x0]
- add r1, r2, #0x1
- str r1, [r0, #0x8]
- ldrb r1, [r2, #0x0]
- add r0, r3, #0x0
- bl FUN_0224C678
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0203ECF4
-FUN_0203ECF4: ; 0x0203ECF4
- push {r3, lr}
- add r1, r0, #0x0
- add r1, #0x80
- ldr r2, [r0, #0x8]
- ldr r3, [r1, #0x0]
- add r1, r2, #0x1
- str r1, [r0, #0x8]
- ldrb r1, [r2, #0x0]
- add r0, r3, #0x0
- bl FUN_0224C6E8
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0203ED10
-FUN_0203ED10: ; 0x0203ED10
- push {r3, lr}
- add r1, r0, #0x0
- add r1, #0x80
- ldr r2, [r0, #0x8]
- ldr r3, [r1, #0x0]
- add r1, r2, #0x1
- str r1, [r0, #0x8]
- ldrb r1, [r2, #0x0]
- add r0, r3, #0x0
- bl FUN_0224C6F4
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0203ED2C
-FUN_0203ED2C: ; 0x0203ED2C
- push {r4-r6, lr}
- sub sp, #0x10
- ldr r0, [r0, #0xc]
- add r5, r1, #0x0
- bl FUN_02024DA0
- add r6, r0, #0x0
- mov r0, #0x20
- bl FUN_020669C0
- add r4, r0, #0x0
- bl FUN_02066978
- mov r0, #0x0
- str r0, [sp, #0x0]
- str r0, [sp, #0x4]
- str r0, [sp, #0x8]
- str r0, [sp, #0xc]
- add r0, r4, #0x0
- add r1, r5, #0x0
- mov r2, #0x32
- mov r3, #0x20
- bl FUN_02066ACC
- add r0, r6, #0x0
- add r1, r4, #0x0
- bl FUN_0202498C
- add r0, r4, #0x0
- bl FUN_02016A18
- add sp, #0x10
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_0203ED70
-FUN_0203ED70: ; 0x0203ED70
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r5, #0x80
- add r4, r0, #0x0
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_02022510
- bl FUN_0206B3E4
- lsl r0, r0, #0x10
- lsr r1, r0, #0x10
- mov r0, #0x87
- lsl r0, r0, #0x2
- sub r0, r0, r1
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0203EDA4
-FUN_0203EDA4: ; 0x0203EDA4
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x16
- bl FUN_02039438
- add r4, r0, #0x0
- mov r0, #0x0
- add r5, #0x80
- str r0, [r4, #0x0]
- ldr r0, [r5, #0x0]
- bl FUN_021E7184
- str r0, [r4, #0x0]
- mov r0, #0x1
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0203EDC8
-FUN_0203EDC8: ; 0x0203EDC8
- push {r3, lr}
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x16
- bl FUN_02039438
- ldr r0, [r0, #0x0]
- bl FUN_021E71E8
- mov r0, #0x1
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0203EDE0
-FUN_0203EDE0: ; 0x0203EDE0
- push {r4, lr}
- add r4, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r1, r0, #0x0
- add r4, #0x80
- lsl r1, r1, #0x18
- ldr r0, [r4, #0x0]
- lsr r1, r1, #0x18
- bl FUN_0224E554
- mov r0, #0x1
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0203EE08
-FUN_0203EE08: ; 0x0203EE08
- push {r3, lr}
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_0206486C
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0203EE18
-FUN_0203EE18: ; 0x0203EE18
- push {r3, lr}
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020649D4
- mov r0, #0x1
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0203EE28
-FUN_0203EE28: ; 0x0203EE28
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r5, #0x80
- add r4, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020649B0
- cmp r0, #0x0
- beq _0203EE4E
- mov r0, #0x1
- b _0203EE50
-_0203EE4E:
- mov r0, #0x0
-_0203EE50:
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0203EE58
-FUN_0203EE58: ; 0x0203EE58
- push {r3, lr}
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_0224E764
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0203EE68
-FUN_0203EE68: ; 0x0203EE68
- push {r3, lr}
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_0224E7C4
- mov r0, #0x1
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0203EE78
-FUN_0203EE78: ; 0x0203EE78
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r4, r0, #0x0
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_02029FC8
- add r1, r4, #0x0
- bl FUN_0202A170
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0203EE98
-FUN_0203EE98: ; 0x0203EE98
- push {r4-r6, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r5, #0x80
- add r4, r0, #0x0
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_0206BB1C
- add r1, r6, #0x0
- bl FUN_0206BAE4
- strh r0, [r4, #0x0]
- mov r0, #0x1
- pop {r4-r6, pc}
-
- thumb_func_start FUN_0203EED8
-FUN_0203EED8: ; 0x0203EED8
- push {r3-r7, lr}
- sub sp, #0x8
- add r4, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r1, sp, #0x4
- strh r0, [r1, #0x0]
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_0206BB1C
- str r0, [sp, #0x0]
- bl FUN_0206B9AC
- add r4, #0x80
- add r6, r0, #0x0
- ldr r0, [r4, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_02024DA0
- add r7, r0, #0x0
- mov r5, #0x0
- cmp r6, #0x0
- ble _0203EF4E
-_0203EF18:
- ldr r0, [sp, #0x0]
- add r1, r5, #0x0
- bl FUN_0206B9B0
- mov r1, #0x5
- mov r2, #0x0
- add r4, r0, #0x0
- bl FUN_020671BC
- ldr r1, _0203EF54 ; =0x00000182
- cmp r0, r1
- bne _0203EF48
- add r0, r4, #0x0
- mov r1, #0x70
- add r2, sp, #0x4
- bl FUN_02067830
- add r0, r4, #0x0
- bl FUN_02066ED8
- add r0, r7, #0x0
- add r1, r4, #0x0
- bl FUN_02024AF0
-_0203EF48:
- add r5, r5, #0x1
- cmp r5, r6
- blt _0203EF18
-_0203EF4E:
- mov r0, #0x1
- add sp, #0x8
- pop {r3-r7, pc}
- .balign 4
-_0203EF54: .word 0x00000182
-
- thumb_func_start FUN_0203EF58
-FUN_0203EF58: ; 0x0203EF58
- push {r3-r7, lr}
- sub sp, #0x30
- add r4, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r4, #0x80
- str r0, [sp, #0x0]
- ldr r0, [r4, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_0206BB1C
- str r0, [sp, #0xc]
- bl FUN_0206B9AC
- add r2, sp, #0x18
- mov r4, #0x0
- ldr r3, _0203F008 ; =0x020F34FC
- str r0, [sp, #0x8]
- add r7, r2, #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, [sp, #0x8]
- str r4, [sp, #0x4]
- cmp r0, #0x0
- ble _0203EFFC
- mov r5, #0x1
- str r7, [sp, #0x14]
-_0203EFA2:
- ldr r0, [sp, #0xc]
- add r1, r4, #0x0
- bl FUN_0206B9B0
- add r6, r0, #0x0
- mov r1, #0x5
- mov r2, #0x0
- bl FUN_020671BC
- str r0, [sp, #0x10]
- add r0, r6, #0x0
- mov r1, #0x70
- mov r2, #0x0
- bl FUN_020671BC
- add r3, r0, #0x0
- mov r0, #0x67
- ldr r1, [sp, #0x10]
- lsl r0, r0, #0x2
- cmp r1, r0
- bne _0203EFF2
- mov r2, #0x0
- add r1, r2, #0x0
- str r3, [r7, #0x0]
- cmp r4, #0x0
- ble _0203EFE8
- ldr r6, [sp, #0x14]
-_0203EFD8:
- ldr r0, [r6, #0x0]
- cmp r3, r0
- bne _0203EFE0
- add r2, r5, #0x0
-_0203EFE0:
- add r1, r1, #0x1
- add r6, r6, #0x4
- cmp r1, r4
- blt _0203EFD8
-_0203EFE8:
- cmp r2, #0x0
- bne _0203EFF2
- ldr r0, [sp, #0x4]
- add r0, r0, #0x1
- str r0, [sp, #0x4]
-_0203EFF2:
- ldr r0, [sp, #0x8]
- add r4, r4, #0x1
- add r7, r7, #0x4
- cmp r4, r0
- blt _0203EFA2
-_0203EFFC:
- ldr r1, [sp, #0x4]
- ldr r0, [sp, #0x0]
- strh r1, [r0, #0x0]
- mov r0, #0x1
- add sp, #0x30
- pop {r3-r7, pc}
- .balign 4
-_0203F008: .word 0x020F34FC
-
- thumb_func_start FUN_0203F00C
-FUN_0203F00C: ; 0x0203F00C
- push {r3, lr}
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_020462AC
- bl FUN_0205F1C4
- mov r0, #0x0
- pop {r3, pc}
-
- thumb_func_start FUN_0203F020
-FUN_0203F020: ; 0x0203F020
- push {r3, lr}
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_020462AC
- bl FUN_0205F1D4
- mov r0, #0x0
- pop {r3, pc}
-
- thumb_func_start FUN_0203F034
-FUN_0203F034: ; 0x0203F034
- push {r4, lr}
- add r4, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- ldr r0, [r0, #0x10]
- bl FUN_020389CC
- mov r0, #0x1
- pop {r4, pc}
-
- thumb_func_start FUN_0203F058
-FUN_0203F058: ; 0x0203F058
- push {r3-r5, lr}
- add r4, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r4, #0x80
- add r5, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_0204B2D8
- strh r0, [r5, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0203F07C
-FUN_0203F07C: ; 0x0203F07C
- push {r3-r7, lr}
- sub sp, #0x10
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r7, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- str r0, [sp, #0xc]
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- str r0, [sp, #0x8]
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r4, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- add r1, r7, #0x0
- ldr r0, [r0, #0x34]
- bl FUN_02058060
- add r7, r0, #0x0
- bne _0203F0FA
- bl ErrorHandling
-_0203F0FA:
- str r6, [sp, #0x0]
- str r4, [sp, #0x4]
- ldr r0, [r5, #0x74]
- ldr r2, [sp, #0xc]
- ldr r3, [sp, #0x8]
- add r1, r7, #0x0
- bl FUN_02054F50
- mov r0, #0x1
- add sp, #0x10
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0203F110
-FUN_0203F110: ; 0x0203F110
- push {r3-r7, lr}
- add r4, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r7, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r6, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- add r1, r5, #0x0
- ldr r0, [r0, #0x34]
- bl FUN_02058060
- add r5, r0, #0x0
- bne _0203F164
- bl ErrorHandling
-_0203F164:
- ldr r0, [r4, #0x74]
- add r1, r5, #0x0
- add r2, r7, #0x0
- add r3, r6, #0x0
- bl FUN_0205502C
- mov r0, #0x1
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0203F174
-FUN_0203F174: ; 0x0203F174
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r5, #0x80
- add r4, r0, #0x0
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_02054E30
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0203F19C
-FUN_0203F19C: ; 0x0203F19C
- push {r4-r7, lr}
- sub sp, #0x24
- add r4, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r4, #0x80
- str r0, [sp, #0x0]
- ldr r0, [r4, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_02027E24
- bl FUN_0202708C
- mov r6, #0x0
- add r7, r0, #0x0
- add r4, r6, #0x0
- add r5, sp, #0x4
-_0203F1CA:
- add r1, r4, #0x0
- add r0, r7, #0x0
- add r1, #0x22
- mov r2, #0x1
- bl FUN_020270D8
- cmp r0, #0x1
- bne _0203F1E0
- mov r0, #0x1
- strh r0, [r5, #0x0]
- add r6, r6, #0x1
-_0203F1E0:
- add r4, r4, #0x1
- add r5, r5, #0x2
- cmp r4, #0x10
- blt _0203F1CA
- cmp r6, #0x0
- bne _0203F1F8
- ldr r0, [sp, #0x0]
- ldr r1, _0203F230 ; =0x0000FFFF
- add sp, #0x24
- strh r1, [r0, #0x0]
- mov r0, #0x0
- pop {r4-r7, pc}
-_0203F1F8:
- bl FUN_0201B9EC
- add r1, r6, #0x0
- blx _s32_div_f
- mov r4, #0x0
- add r2, sp, #0x4
-_0203F206:
- ldrh r0, [r2, #0x0]
- cmp r0, #0x1
- bne _0203F212
- cmp r1, #0x0
- beq _0203F21A
- sub r1, r1, #0x1
-_0203F212:
- add r4, r4, #0x1
- add r2, r2, #0x2
- cmp r4, #0x10
- blt _0203F206
-_0203F21A:
- cmp r4, #0x10
- blt _0203F222
- bl ErrorHandling
-_0203F222:
- ldr r0, [sp, #0x0]
- add r4, #0x22
- strh r4, [r0, #0x0]
- mov r0, #0x0
- add sp, #0x24
- pop {r4-r7, pc}
- nop
-_0203F230: .word 0x0000FFFF
-
- thumb_func_start FUN_0203F234
-FUN_0203F234: ; 0x0203F234
- push {r4, lr}
- add r4, r0, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394B8
- ldr r1, _0203F250 ; =0x021C4918
- ldrb r1, [r1, #0x6]
- strh r1, [r0, #0x0]
- mov r0, #0x1
- pop {r4, pc}
- .balign 4
-_0203F250: .word 0x021C4918
-
- thumb_func_start FUN_0203F254
-FUN_0203F254: ; 0x0203F254
- push {r3, lr}
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_020462AC
- mov r1, #0x0
- bl FUN_0205F698
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0203F26C
-FUN_0203F26C: ; 0x0203F26C
- push {r4-r6, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- ldr r1, [r5, #0x8]
- add r6, r0, #0x0
- add r0, r1, #0x1
- str r0, [r5, #0x8]
- add r5, #0x80
- ldr r0, [r5, #0x0]
- ldrb r4, [r1, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_020462AC
- cmp r4, #0x0
- beq _0203F2A0
- add r1, r6, #0x0
- bl FUN_0205F4E4
- b _0203F2A6
-_0203F2A0:
- add r1, r6, #0x0
- bl FUN_0205F50C
-_0203F2A6:
- mov r0, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_0203F2AC
-FUN_0203F2AC: ; 0x0203F2AC
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xf
- bl FUN_02039438
- ldr r1, [r5, #0x8]
- add r6, r0, #0x0
- add r0, r1, #0x1
- str r0, [r5, #0x8]
- add r0, r5, #0x0
- ldrb r4, [r1, #0x0]
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- add r2, r0, #0x0
- ldr r0, [r6, #0x0]
- add r1, r4, #0x0
- bl FUN_0200B6D0
- mov r0, #0x1
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_0203F2E4
-FUN_0203F2E4: ; 0x0203F2E4
- push {r3-r5, lr}
- add r4, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_020462AC
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394B8
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0205F6C8
- cmp r0, #0xa
- blo _0203F314
- mov r0, #0x1
- b _0203F316
-_0203F314:
- mov r0, #0x0
-_0203F316:
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0203F31C
-FUN_0203F31C: ; 0x0203F31C
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r5, #0x80
- add r4, r0, #0x0
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_020462AC
- bl FUN_0205F648
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0203F348
-FUN_0203F348: ; 0x0203F348
- push {r4-r6, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r5, #0x80
- add r6, r0, #0x0
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_02027E24
- bl FUN_0202708C
- add r1, r4, #0x0
- add r2, r6, #0x0
- bl FUN_02027210
- mov r0, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_0203F38C
-FUN_0203F38C: ; 0x0203F38C
- push {r3, lr}
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_02046030
- mov r0, #0x1
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0203F39C
-FUN_0203F39C: ; 0x0203F39C
- push {r3, lr}
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_0205F668
- mov r0, #0x0
- pop {r3, pc}
-
- thumb_func_start FUN_0203F3AC
-FUN_0203F3AC: ; 0x0203F3AC
- push {r3-r7, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r7, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xf
- bl FUN_02039438
- add r5, #0x80
- add r6, r0, #0x0
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_02013B5C
- bl FUN_02013B74
- cmp r0, #0x20
- bne _0203F3FE
- ldr r0, _0203F414 ; =0x0000FFFF
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r3-r7, pc}
-_0203F3FE:
- strh r0, [r4, #0x0]
- bl FUN_02013BE4
- add r2, r0, #0x0
- ldr r0, [r6, #0x0]
- add r1, r7, #0x0
- bl FUN_0200B518
- mov r0, #0x0
- pop {r3-r7, pc}
- nop
-_0203F414: .word 0x0000FFFF
-
- thumb_func_start FUN_0203F418
-FUN_0203F418: ; 0x0203F418
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r5, #0x80
- add r4, r0, #0x0
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_02013B5C
- bl FUN_02013BC8
- cmp r0, #0x1
- bne _0203F444
- mov r0, #0x1
- b _0203F446
-_0203F444:
- mov r0, #0x0
-_0203F446:
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0203F44C
-FUN_0203F44C: ; 0x0203F44C
- push {r3-r5, lr}
- add r4, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_020462AC
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394B8
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0205F710
- cmp r0, #0x5
- blo _0203F47C
- mov r0, #0x1
- b _0203F47E
-_0203F47C:
- mov r0, #0x0
-_0203F47E:
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0203F484
-FUN_0203F484: ; 0x0203F484
- push {r3-r7, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r5, #0x80
- ldr r5, [r5, #0x0]
- add r4, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_02023788
- add r7, r0, #0x0
- bl FUN_02023818
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0204B2B4
- cmp r6, r0
- bne _0203F4CE
- add r0, r7, #0x0
- bl FUN_0202381C
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0204B2C0
- cmp r6, r0
- bne _0203F4CE
- mov r0, #0x1
- strh r0, [r4, #0x0]
- b _0203F4D2
-_0203F4CE:
- mov r0, #0x0
- strh r0, [r4, #0x0]
-_0203F4D2:
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0203F4D8
-FUN_0203F4D8: ; 0x0203F4D8
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_02024DA0
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394B8
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_0202471C
- strh r0, [r5, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0203F508
-FUN_0203F508: ; 0x0203F508
- push {r3-r7, lr}
- add r6, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r6, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r7, r0, #0x0
- add r0, r6, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r6, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r1, r6, #0x0
- add r1, #0x80
- ldr r1, [r1, #0x0]
- ldr r2, [r1, #0x1c]
- ldr r1, [r2, #0x8]
- lsl r1, r1, #0x10
- lsr r5, r1, #0x10
- ldr r1, [r2, #0xc]
- lsl r1, r1, #0x10
- lsr r4, r1, #0x10
- cmp r7, #0x3
- blo _0203F54C
- ldr r7, _0203F5C8 ; =0x0000010E
- b _0203F582
-_0203F54C:
- cmp r0, #0x1e
- blo _0203F556
- mov r7, #0x43
- lsl r7, r7, #0x2
- b _0203F582
-_0203F556:
- bl FUN_0201B9EC
- mov r1, #0x64
- blx _s32_div_f
- cmp r1, #0x19
- bge _0203F568
- ldr r7, _0203F5CC ; =0x0000010D
- b _0203F582
-_0203F568:
- bl FUN_0201B9EC
- mov r1, #0x6
- blx _s32_div_f
- lsl r0, r1, #0x10
- lsr r1, r0, #0x10
- mov r0, #0x6
- mul r0, r7
- add r0, r1, r0
- lsl r1, r0, #0x1
- ldr r0, _0203F5D0 ; =0x020F3538
- ldrh r7, [r0, r1]
-_0203F582:
- cmp r5, #0xb
- bne _0203F59A
- cmp r4, #0x1
- bne _0203F58E
- mov r4, #0x0
- b _0203F5A4
-_0203F58E:
- cmp r4, #0x14
- bne _0203F596
- mov r4, #0x2
- b _0203F5A4
-_0203F596:
- mov r4, #0x5
- b _0203F5A4
-_0203F59A:
- cmp r5, #0x14
- bne _0203F5A2
- mov r4, #0x1
- b _0203F5A4
-_0203F5A2:
- mov r4, #0x3
-_0203F5A4:
- mov r5, #0x0
-_0203F5A6:
- cmp r5, r4
- beq _0203F5B8
- add r0, r6, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- add r1, r5, #0x0
- add r2, r7, #0x0
- bl FUN_02034C24
-_0203F5B8:
- add r0, r5, #0x1
- lsl r0, r0, #0x18
- lsr r5, r0, #0x18
- cmp r5, #0x4
- blo _0203F5A6
- mov r0, #0x0
- pop {r3-r7, pc}
- nop
-_0203F5C8: .word 0x0000010E
-_0203F5CC: .word 0x0000010D
-_0203F5D0: .word 0x020F3538
-
- thumb_func_start FUN_0203F5D4
-FUN_0203F5D4: ; 0x0203F5D4
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_020462AC
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394B8
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_0205F720
- strh r0, [r5, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0203F604
-FUN_0203F604: ; 0x0203F604
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_020462AC
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394B8
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_0205F740
- strh r0, [r5, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0203F634
-FUN_0203F634: ; 0x0203F634
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_020462AC
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394B8
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_0205F760
- strh r0, [r5, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0203F664
-FUN_0203F664: ; 0x0203F664
- push {r3-r7, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r4, r0, #0x0
- add r0, r5, #0x0
- mov r2, #0x0
- add r3, sp, #0x0
- add r0, #0x8
-_0203F684:
- ldr r6, [r0, #0x0]
- ldr r1, [r5, #0x8]
- add r6, r6, #0x1
- str r6, [r0, #0x0]
- ldrb r1, [r1, #0x0]
- add r2, r2, #0x1
- strb r1, [r3, #0x0]
- add r3, r3, #0x1
- cmp r2, #0x5
- blt _0203F684
- ldr r1, [r0, #0x0]
- ldr r2, [r5, #0x8]
- add r1, r1, #0x1
- str r1, [r0, #0x0]
- ldrb r6, [r2, #0x0]
- mov r0, #0x4
- bl FUN_02027E5C
- add r1, sp, #0x0
- add r2, r6, #0x0
- mov r3, #0x0
- add r7, r0, #0x0
- bl FUN_02027F04
- add r5, #0x80
- add r6, r0, #0x0
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_02028048
- add r1, r7, #0x0
- bl FUN_02028094
- add r5, r0, #0x0
- add r0, r7, #0x0
- bl FUN_02016A18
- ldr r0, _0203F6E0 ; =0x0000FFFF
- cmp r5, r0
- bne _0203F6D8
- strh r0, [r4, #0x0]
- b _0203F6DA
-_0203F6D8:
- strh r6, [r4, #0x0]
-_0203F6DA:
- mov r0, #0x0
- add sp, #0x8
- pop {r3-r7, pc}
- .balign 4
-_0203F6E0: .word 0x0000FFFF
-
- thumb_func_start FUN_0203F6E4
-FUN_0203F6E4: ; 0x0203F6E4
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r5, #0x80
- add r4, r0, #0x0
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_02028048
- bl FUN_02028074
- ldr r1, _0203F71C ; =0x0000FFFF
- cmp r0, r1
- bne _0203F712
- mov r0, #0x0
- b _0203F714
-_0203F712:
- mov r0, #0x1
-_0203F714:
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
- nop
-_0203F71C: .word 0x0000FFFF
-
- thumb_func_start FUN_0203F720
-FUN_0203F720: ; 0x0203F720
- push {r4-r6, lr}
- add r5, r0, #0x0
- ldr r2, [r5, #0x8]
- add r1, r2, #0x1
- str r1, [r5, #0x8]
- ldrb r4, [r2, #0x0]
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r5, #0x80
- add r6, r0, #0x0
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_020462AC
- add r5, r0, #0x0
- cmp r4, #0x3
- bls _0203F752
- bl ErrorHandling
-_0203F752:
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_0205F4A0
- strh r0, [r6, #0x0]
- mov r0, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_0203F760
-FUN_0203F760: ; 0x0203F760
- push {r3-r5, lr}
- add r4, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r4, #0x80
- add r5, r0, #0x0
- ldr r0, [r4, #0x0]
- mov r1, #0x20
- ldr r0, [r0, #0xc]
- add r2, sp, #0x0
- bl FUN_02022534
- ldr r1, [sp, #0x0]
- add r4, r0, #0x0
- cmp r1, #0x0
- bne _0203F798
- mov r1, #0x0
- strh r1, [r5, #0x0]
- bl FUN_02016A18
- mov r0, #0x1
- pop {r3-r5, pc}
-_0203F798:
- cmp r1, #0x1
- bne _0203F7AE
- mov r1, #0x0
- bl FUN_0202B21C
- strh r0, [r5, #0x0]
- add r0, r4, #0x0
- bl FUN_02016A18
- mov r0, #0x1
- pop {r3-r5, pc}
-_0203F7AE:
- cmp r1, #0x2
- bne _0203F7BE
- mov r1, #0x0
- strh r1, [r5, #0x0]
- bl FUN_02016A18
- mov r0, #0x1
- pop {r3-r5, pc}
-_0203F7BE:
- mov r0, #0x0
- strh r0, [r5, #0x0]
- mov r0, #0x1
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0203F7C8
-FUN_0203F7C8: ; 0x0203F7C8
- push {r4-r6, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r6, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x13
- bl FUN_02039438
- add r1, r5, #0x0
- add r1, #0x80
- add r4, r0, #0x0
- ldr r1, [r1, #0x0]
- mov r0, #0x20
- add r2, r6, #0x0
- bl FUN_02037A48
- str r0, [r4, #0x0]
- ldr r1, _0203F808 ; =FUN_0203BC04
- add r0, r5, #0x0
- bl SetupNativeScript
- mov r0, #0x1
- pop {r4-r6, pc}
- .balign 4
-_0203F808: .word FUN_0203BC04
-
- thumb_func_start FUN_0203F80C
-FUN_0203F80C: ; 0x0203F80C
- push {r4-r6, lr}
- add r4, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r4, #0x80
- add r5, r0, #0x0
- ldr r0, [r4, #0x0]
- mov r1, #0x13
- bl FUN_02039438
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- cmp r0, #0x0
- bne _0203F84C
- bl ErrorHandling
-_0203F84C:
- ldr r0, [r4, #0x0]
- bl FUN_02037A40
- strh r0, [r6, #0x0]
- ldrh r0, [r6, #0x0]
- cmp r0, #0x7
- bne _0203F85E
- mov r0, #0xff
- strh r0, [r6, #0x0]
-_0203F85E:
- ldr r0, [r4, #0x0]
- bl FUN_02037A70
- strh r0, [r5, #0x0]
- ldrh r0, [r5, #0x0]
- cmp r0, #0x1
- bne _0203F870
- mov r0, #0x1
- b _0203F872
-_0203F870:
- mov r0, #0x0
-_0203F872:
- strh r0, [r5, #0x0]
- ldr r0, [r4, #0x0]
- bl FUN_02016A18
- mov r0, #0x0
- str r0, [r4, #0x0]
- pop {r4-r6, pc}
-
- thumb_func_start FUN_0203F880
-FUN_0203F880: ; 0x0203F880
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r2, [r5, #0x8]
- add r1, r2, #0x1
- str r1, [r5, #0x8]
- ldrb r4, [r2, #0x0]
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394B8
- add r5, r0, #0x0
- cmp r4, #0x64
- bls _0203F8A2
- mov r4, #0x64
-_0203F8A2:
- bl FUN_0201B9EC
- mov r1, #0x65
- blx _s32_div_f
- lsl r0, r1, #0x10
- lsr r0, r0, #0x10
- cmp r0, r4
- bgt _0203F8B8
- mov r0, #0x1
- b _0203F8BA
-_0203F8B8:
- mov r0, #0x0
-_0203F8BA:
- strh r0, [r5, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0203F8C0
-FUN_0203F8C0: ; 0x0203F8C0
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- cmp r4, #0x0
- beq _0203F8FC
- cmp r4, #0x1
- beq _0203F906
- cmp r4, #0x2
- beq _0203F910
- b _0203F91A
-_0203F8FC:
- mov r2, #0x0
- mov r3, #0x20
- bl FUN_0224F12C
- b _0203F91E
-_0203F906:
- mov r2, #0x1
- mov r3, #0x20
- bl FUN_0224F12C
- b _0203F91E
-_0203F910:
- mov r2, #0x2
- mov r3, #0x20
- bl FUN_0224F12C
- b _0203F91E
-_0203F91A:
- bl ErrorHandling
-_0203F91E:
- mov r0, #0x1
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0203F924
-FUN_0203F924: ; 0x0203F924
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_020462AC
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394B8
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_0205F6A8
- strh r0, [r5, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0203F954
-FUN_0203F954: ; 0x0203F954
- push {r4, lr}
- add r4, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- cmp r0, #0x0
- bne _0203F978
- add r4, #0x80
- ldr r0, [r4, #0x0]
- ldr r0, [r0, #0x10]
- bl FUN_02239944
- b _0203F982
-_0203F978:
- add r4, #0x80
- ldr r0, [r4, #0x0]
- ldr r0, [r0, #0x10]
- bl FUN_02239AAC
-_0203F982:
- mov r0, #0x1
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0203F988
-FUN_0203F988: ; 0x0203F988
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r5, #0x80
- add r4, r0, #0x0
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_0203384C
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0203F9B0
-FUN_0203F9B0: ; 0x0203F9B0
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r5, #0x80
- add r4, r0, #0x0
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_020286EC
- bl FUN_02028448
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0203F9DC
-FUN_0203F9DC: ; 0x0203F9DC
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r5, #0x80
- add r4, r0, #0x0
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_02026CC4
- ldr r1, _0203FA10 ; =0x0000FF79
- add r1, r4, r1
- lsl r1, r1, #0x10
- lsr r1, r1, #0x10
- cmp r1, #0x1
- bhi _0203FA0C
- bl FUN_02025C30
-_0203FA0C:
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-_0203FA10: .word 0x0000FF79
-
- thumb_func_start FUN_0203FA14
-FUN_0203FA14: ; 0x0203FA14
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394B8
- mov r1, #0x0
- strh r1, [r0, #0x0]
- ldr r1, _0203FA54 ; =0x0000012A
- cmp r4, r1
- blo _0203FA4E
- add r1, #0xf
- cmp r4, r1
- bhi _0203FA4E
- mov r1, #0x1
- strh r1, [r0, #0x0]
-_0203FA4E:
- mov r0, #0x0
- pop {r3-r5, pc}
- nop
-_0203FA54: .word 0x0000012A
-
- thumb_func_start FUN_0203FA58
-FUN_0203FA58: ; 0x0203FA58
- push {r3-r7, lr}
- sub sp, #0x10
- add r4, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- str r0, [sp, #0x4]
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- str r0, [sp, #0x8]
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- str r0, [sp, #0xc]
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394F0
- add r7, r0, #0x0
- mov r0, #0x20
- bl FUN_0200AA80
- add r4, r0, #0x0
- ldr r2, _0203FB48 ; =0x00000147
- mov r0, #0x0
- mov r1, #0x1a
- mov r3, #0x20
- bl FUN_0200A86C
- add r5, r0, #0x0
- ldr r2, [sp, #0x4]
- add r0, r4, #0x0
- mov r1, #0x0
- bl FUN_0200B518
- ldr r2, [sp, #0x8]
- add r0, r4, #0x0
- mov r1, #0x1
- bl FUN_0200B518
- ldr r2, [sp, #0xc]
- add r0, r4, #0x0
- mov r1, #0x2
- bl FUN_0200B518
- add r0, r4, #0x0
- mov r1, #0x3
- add r2, r7, #0x0
- bl FUN_0200B518
- add r0, r4, #0x0
- add r1, r5, #0x0
- mov r2, #0x1
- mov r3, #0x20
- bl FUN_0200A9C4
- add r7, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0x0
- bl FUN_0200A914
- str r0, [sp, #0x0]
- ldr r1, [sp, #0x0]
- add r0, r7, #0x0
- bl FUN_02021CE0
- cmp r0, #0x0
- bne _0203FB24
- mov r0, #0x1
- b _0203FB26
-_0203FB24:
- mov r0, #0x0
-_0203FB26:
- strh r0, [r6, #0x0]
- add r0, r7, #0x0
- bl FUN_02021A20
- ldr r0, [sp, #0x0]
- bl FUN_02021A20
- add r0, r5, #0x0
- bl FUN_0200A8B8
- add r0, r4, #0x0
- bl FUN_0200AB18
- mov r0, #0x0
- add sp, #0x10
- pop {r3-r7, pc}
- nop
-_0203FB48: .word 0x00000147
-
- thumb_func_start FUN_0203FB4C
-FUN_0203FB4C: ; 0x0203FB4C
- push {r3, lr}
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_02023788
- mov r1, #0x1
- bl FUN_02023828
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0203FB64
-FUN_0203FB64: ; 0x0203FB64
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r1, r5, #0x0
- add r1, #0x80
- ldr r4, [r1, #0x0]
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394B8
- add r5, r0, #0x0
- add r0, r4, #0x0
- mov r1, #0xf
- bl FUN_02039438
- ldr r0, [r0, #0x0]
- bl FUN_0205296C
- strh r0, [r5, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0203FB94
-FUN_0203FB94: ; 0x0203FB94
- push {r3, lr}
- bl FUN_02033E74
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0203FBA0
-FUN_0203FBA0: ; 0x0203FBA0
- push {r3, lr}
- bl FUN_02033ED0
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0203FBAC
-FUN_0203FBAC: ; 0x0203FBAC
- push {r3, lr}
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_02034E48
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0203FBBC
-FUN_0203FBBC: ; 0x0203FBBC
- push {r3-r7, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r5, #0x80
- add r7, r0, #0x0
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_02034E30
- bl FUN_02034DCC
- str r4, [r0, #0x0]
- str r6, [r0, #0x8]
- mov r1, #0x0
- str r7, [r0, #0xc]
- mvn r1, r1
- str r1, [r0, #0x4]
- mov r1, #0x1
- str r1, [r0, #0x10]
- mov r0, #0x0
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0203FC1C
-FUN_0203FC1C: ; 0x0203FC1C
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- ldr r2, [r5, #0x8]
- add r1, r0, #0x0
- add r0, r2, #0x1
- str r0, [r5, #0x8]
- add r5, #0x80
- ldr r0, [r5, #0x0]
- ldrb r4, [r2, #0x0]
- ldr r0, [r0, #0x34]
- bl FUN_02058060
- add r5, r0, #0x0
- bne _0203FC4C
- bl ErrorHandling
-_0203FC4C:
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_020588B8
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0203FC58
-FUN_0203FC58: ; 0x0203FC58
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r1, r5, #0x0
- add r1, #0x80
- ldr r4, [r1, #0x0]
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394B8
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_02065078
- strh r0, [r5, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0203FC80
-FUN_0203FC80: ; 0x0203FC80
- push {r3-r5, lr}
- add r0, #0x80
- ldr r5, [r0, #0x0]
- mov r1, #0x28
- add r0, r5, #0x0
- bl FUN_02039438
- add r4, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_0202280C
- cmp r0, #0x0
- bne _0203FCAA
- add r0, r5, #0x0
- mov r1, #0x4
- mov r2, #0x3
- bl FUN_021E8588
- str r0, [r4, #0x0]
- bl FUN_021E84F4
-_0203FCAA:
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0203FCB0
-FUN_0203FCB0: ; 0x0203FCB0
- push {r3-r5, lr}
- add r0, #0x80
- ldr r5, [r0, #0x0]
- mov r1, #0x28
- add r0, r5, #0x0
- bl FUN_02039438
- add r4, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_0202280C
- cmp r0, #0x0
- bne _0203FCD6
- ldr r0, [r4, #0x0]
- bl FUN_021E856C
- ldr r0, [r4, #0x0]
- bl FUN_021E85E4
-_0203FCD6:
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0203FCDC
-FUN_0203FCDC: ; 0x0203FCDC
- push {r3, lr}
- ldr r2, [r0, #0x8]
- add r1, r2, #0x1
- str r1, [r0, #0x8]
- add r0, #0x80
- ldrb r1, [r2, #0x0]
- ldr r0, [r0, #0x0]
- bl FUN_0206367C
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0203FCF4
-FUN_0203FCF4: ; 0x0203FCF4
- push {r4-r7, lr}
- sub sp, #0x84
- add r7, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r7, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- mov r4, #0x0
- add r6, r4, #0x0
- add r5, r4, #0x0
-_0203FD10:
- add r0, r7, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_020238F4
- add r1, r5, #0x0
- bl FUN_020239D0
- cmp r0, #0x1
- bne _0203FD2C
- add r0, r6, #0x1
- lsl r0, r0, #0x18
- lsr r6, r0, #0x18
-_0203FD2C:
- add r0, r5, #0x1
- lsl r0, r0, #0x18
- lsr r5, r0, #0x18
- cmp r5, #0x8
- blo _0203FD10
- cmp r6, #0x8
- bhi _0203FD70
- add r0, r6, r6
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_0203FD46: ; jump table (using 16-bit offset)
- .short _0203FD58 - _0203FD46 - 2; case 0
- .short _0203FD5C - _0203FD46 - 2; case 1
- .short _0203FD5C - _0203FD46 - 2; case 2
- .short _0203FD60 - _0203FD46 - 2; case 3
- .short _0203FD60 - _0203FD46 - 2; case 4
- .short _0203FD64 - _0203FD46 - 2; case 5
- .short _0203FD64 - _0203FD46 - 2; case 6
- .short _0203FD68 - _0203FD46 - 2; case 7
- .short _0203FD6C - _0203FD46 - 2; case 8
-_0203FD58:
- mov r1, #0x1
- b _0203FD72
-_0203FD5C:
- mov r1, #0x2
- b _0203FD72
-_0203FD60:
- mov r1, #0x3
- b _0203FD72
-_0203FD64:
- mov r1, #0x4
- b _0203FD72
-_0203FD68:
- mov r1, #0x5
- b _0203FD72
-_0203FD6C:
- mov r1, #0x6
- b _0203FD72
-_0203FD70:
- mov r1, #0x1
-_0203FD72:
- ldr r0, _0203FDB4 ; =0x020F4218
- mov r2, #0x0
- add r6, sp, #0x4
-_0203FD78:
- lsl r3, r2, #0x2
- add r5, r0, r3
- ldrh r3, [r5, #0x2]
- cmp r1, r3
- blt _0203FD8E
- ldrh r5, [r5, #0x0]
- lsl r3, r4, #0x1
- strh r5, [r6, r3]
- add r3, r4, #0x1
- lsl r3, r3, #0x18
- lsr r4, r3, #0x18
-_0203FD8E:
- add r2, r2, #0x1
- lsl r2, r2, #0x18
- lsr r2, r2, #0x18
- cmp r2, #0x13
- blo _0203FD78
- ldr r1, _0203FDB8 ; =0x0000FFFF
- lsl r0, r4, #0x1
- add r2, sp, #0x4
- strh r1, [r2, r0]
- mov r3, #0x0
- str r3, [sp, #0x0]
- ldr r0, [r7, #0x74]
- add r7, #0x80
- ldr r1, [r7, #0x0]
- bl FUN_0223D3D0
- mov r0, #0x1
- add sp, #0x84
- pop {r4-r7, pc}
- .balign 4
-_0203FDB4: .word 0x020F4218
-_0203FDB8: .word 0x0000FFFF
-
- thumb_func_start FUN_0203FDBC
-FUN_0203FDBC: ; 0x0203FDBC
- push {r3-r4, lr}
- sub sp, #0x4
- add r4, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r2, r0, #0x0
- ldr r0, _0203FE00 ; =0x0000FFF8
- add r0, r2, r0
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- cmp r0, #0x5
- bhi _0203FDE4
- mov r0, #0x1
- b _0203FDE6
-_0203FDE4:
- mov r0, #0x0
-_0203FDE6:
- lsl r3, r2, #0x2
- str r0, [sp, #0x0]
- ldr r2, _0203FE04 ; =0x02105E10
- ldr r0, [r4, #0x74]
- add r4, #0x80
- ldr r2, [r2, r3]
- ldr r1, [r4, #0x0]
- mov r3, #0x0
- bl FUN_0223D3D0
- mov r0, #0x1
- add sp, #0x4
- pop {r3-r4, pc}
- .balign 4
-_0203FE00: .word 0x0000FFF8
-_0203FE04: .word 0x02105E10
-
- thumb_func_start FUN_0203FE08
-FUN_0203FE08: ; 0x0203FE08
- push {r3-r4, lr}
- sub sp, #0x4
- add r4, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r2, r0, #0x0
- cmp r2, #0x1
- bhi _0203FE28
- mov r0, #0x1
- b _0203FE2A
-_0203FE28:
- mov r0, #0x0
-_0203FE2A:
- lsl r3, r2, #0x2
- str r0, [sp, #0x0]
- ldr r2, _0203FE44 ; =0x02105DEC
- ldr r0, [r4, #0x74]
- add r4, #0x80
- ldr r2, [r2, r3]
- ldr r1, [r4, #0x0]
- mov r3, #0x1
- bl FUN_0223D3D0
- mov r0, #0x1
- add sp, #0x4
- pop {r3-r4, pc}
- .balign 4
-_0203FE44: .word 0x02105DEC
-
- thumb_func_start FUN_0203FE48
-FUN_0203FE48: ; 0x0203FE48
- push {r3-r4, lr}
- sub sp, #0x4
- add r4, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r2, r0, #0x0
- mov r0, #0x0
- lsl r3, r2, #0x2
- str r0, [sp, #0x0]
- ldr r2, _0203FE7C ; =0x02105DF4
- ldr r0, [r4, #0x74]
- add r4, #0x80
- ldr r2, [r2, r3]
- ldr r1, [r4, #0x0]
- mov r3, #0x2
- bl FUN_0223D3D0
- mov r0, #0x1
- add sp, #0x4
- pop {r3-r4, pc}
- .balign 4
-_0203FE7C: .word 0x02105DF4
-
- thumb_func_start FUN_0203FE80
-FUN_0203FE80: ; 0x0203FE80
- push {r3, lr}
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x10]
- bl FUN_02038AD0
- mov r0, #0x1
- pop {r3, pc}
-
- thumb_func_start FUN_0203FE90
-FUN_0203FE90: ; 0x0203FE90
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x14
- bl FUN_02039438
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- add r1, r0, #0x0
- lsl r1, r1, #0x18
- ldr r0, [r4, #0x0]
- lsr r1, r1, #0x18
- bl FUN_02082140
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0203FEC0
-FUN_0203FEC0: ; 0x0203FEC0
- push {r4, lr}
- add r4, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x14
- bl FUN_02039438
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- str r0, [r4, #0x64]
- ldr r1, _0203FEF0 ; =FUN_0203FEF4
- add r0, r4, #0x0
- bl SetupNativeScript
- mov r0, #0x1
- pop {r4, pc}
- nop
-_0203FEF0: .word FUN_0203FEF4
-
- thumb_func_start FUN_0203FEF4
-FUN_0203FEF4: ; 0x0203FEF4
- push {r4, lr}
- add r4, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x14
- bl FUN_02039438
- ldr r1, [r4, #0x64]
- ldr r0, [r0, #0x0]
- lsl r1, r1, #0x18
- lsr r1, r1, #0x18
- bl FUN_02082158
- pop {r4, pc}
-
- thumb_func_start FUN_0203FF10
-FUN_0203FF10: ; 0x0203FF10
- push {r3-r7, lr}
- sub sp, #0x38
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x14
- bl FUN_02039438
- str r0, [sp, #0x0]
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020377AC
- bl FUN_020238F4
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- str r0, [sp, #0x4]
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- str r0, [sp, #0x8]
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- str r0, [sp, #0xc]
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r6, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_0206BB1C
- add r1, r6, #0x0
- bl FUN_0206B9B0
- str r0, [sp, #0x10]
- add r0, r4, #0x0
- mov r1, #0x4
- bl FUN_020239A0
- add r7, r0, #0x0
- ldr r1, [sp, #0x8]
- add r0, sp, #0x14
- strb r1, [r0, #0x0]
- ldr r1, [sp, #0x4]
- strb r1, [r0, #0x1]
- ldr r1, [sp, #0xc]
- strb r1, [r0, #0x2]
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_020462AC
- bl FUN_0205ED0C
- add r1, sp, #0x14
- strb r0, [r1, #0x3]
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_02024DA0
- bl FUN_02024CA4
- add r1, sp, #0x14
- strb r0, [r1, #0x4]
- strb r6, [r1, #0x5]
- ldr r0, [sp, #0x10]
- str r7, [sp, #0x20]
- str r0, [sp, #0x1c]
- add r0, r5, #0x0
- str r4, [sp, #0x24]
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_02027E24
- str r0, [sp, #0x28]
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl LoadPlayerDataAddress
- str r0, [sp, #0x2c]
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- add r5, #0x80
- ldr r0, [r0, #0xc]
- str r0, [sp, #0x30]
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_02029EF8
- str r0, [sp, #0x34]
- add r0, sp, #0x14
- bl FUN_02081214
- ldr r1, [sp, #0x0]
- str r0, [r1, #0x0]
- add r0, r7, #0x0
- bl FUN_02021A20
- mov r0, #0x0
- add sp, #0x38
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02040028
-FUN_02040028: ; 0x02040028
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x14
- bl FUN_02039438
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x1c]
- ldr r0, [r0, #0x0]
- bl FUN_02034824
- add r5, #0x80
- ldr r3, [r5, #0x0]
- add r2, r0, #0x0
- ldr r1, [r3, #0xc]
- add r3, #0x98
- ldr r0, [r4, #0x0]
- ldr r3, [r3, #0x0]
- bl FUN_02082630
- ldr r0, [r4, #0x0]
- bl FUN_020814E8
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02040074
-FUN_02040074: ; 0x02040074
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x14
- bl FUN_02039438
- add r4, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xf
- bl FUN_02039438
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r7, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- add r3, r0, #0x0
- ldr r0, [r4, #0x0]
- ldr r2, [r6, #0x0]
- add r1, r7, #0x0
- bl FUN_0208201C
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_020400C8
-FUN_020400C8: ; 0x020400C8
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x14
- bl FUN_02039438
- add r4, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xf
- bl FUN_02039438
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r7, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- add r3, r0, #0x0
- ldr r0, [r4, #0x0]
- ldr r2, [r6, #0x0]
- add r1, r7, #0x0
- bl FUN_02082034
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0204011C
-FUN_0204011C: ; 0x0204011C
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x14
- bl FUN_02039438
- add r4, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xf
- bl FUN_02039438
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r7, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- add r3, r0, #0x0
- ldr r0, [r4, #0x0]
- ldr r2, [r6, #0x0]
- add r1, r7, #0x0
- bl FUN_0208206C
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02040170
-FUN_02040170: ; 0x02040170
- push {r4-r6, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x14
- bl FUN_02039438
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xf
- bl FUN_02039438
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- add r1, r0, #0x0
- mov r0, #0x0
- str r0, [sp, #0x0]
- mov r3, #0x1
- str r3, [sp, #0x4]
- ldr r0, [r4, #0x0]
- add r2, r6, #0x0
- bl FUN_0200AD38
- mov r0, #0x0
- add sp, #0x8
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_020401CC
-FUN_020401CC: ; 0x020401CC
- push {r4, lr}
- add r4, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x14
- bl FUN_02039438
- ldr r0, [r0, #0x0]
- bl FUN_02081DC4
- ldr r1, _020401EC ; =FUN_020401F0
- add r0, r4, #0x0
- bl SetupNativeScript
- mov r0, #0x1
- pop {r4, pc}
- .balign 4
-_020401EC: .word FUN_020401F0
-
- thumb_func_start FUN_020401F0
-FUN_020401F0: ; 0x020401F0
- push {r3, lr}
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x14
- bl FUN_02039438
- ldr r0, [r0, #0x0]
- bl FUN_02081EB8
- pop {r3, pc}
-
- thumb_func_start FUN_02040204
-FUN_02040204: ; 0x02040204
- push {r4, lr}
- add r4, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x14
- bl FUN_02039438
- add r1, r0, #0x0
- ldr r0, [r4, #0x74]
- ldr r1, [r1, #0x0]
- bl FUN_02080E0C
- mov r0, #0x1
- pop {r4, pc}
-
- thumb_func_start FUN_02040220
-FUN_02040220: ; 0x02040220
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x14
- bl FUN_02039438
- add r4, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xf
- bl FUN_02039438
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- add r2, r0, #0x0
- ldr r0, [r4, #0x0]
- ldr r1, [r6, #0x0]
- bl FUN_02082090
- mov r0, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_0204025C
-FUN_0204025C: ; 0x0204025C
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x14
- bl FUN_02039438
- add r4, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xf
- bl FUN_02039438
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- add r2, r0, #0x0
- ldr r0, [r4, #0x0]
- ldr r1, [r6, #0x0]
- bl FUN_020820B8
- mov r0, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02040298
-FUN_02040298: ; 0x02040298
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x14
- bl FUN_02039438
- add r4, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xf
- bl FUN_02039438
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- add r2, r0, #0x0
- ldr r0, [r4, #0x0]
- ldr r1, [r6, #0x0]
- bl FUN_020820DC
- mov r0, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_020402D4
-FUN_020402D4: ; 0x020402D4
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x14
- bl FUN_02039438
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394B8
- add r5, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_0208213C
- strh r0, [r5, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02040304
-FUN_02040304: ; 0x02040304
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x14
- bl FUN_02039438
- add r4, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xf
- bl FUN_02039438
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- add r2, r0, #0x0
- ldr r0, [r4, #0x0]
- ldr r1, [r6, #0x0]
- bl FUN_0208210C
- mov r0, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02040340
-FUN_02040340: ; 0x02040340
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x14
- bl FUN_02039438
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394B8
- add r5, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_0208217C
- strh r0, [r5, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02040370
-FUN_02040370: ; 0x02040370
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x14
- bl FUN_02039438
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394B8
- add r5, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_02082190
- strh r0, [r5, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_020403A0
-FUN_020403A0: ; 0x020403A0
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x14
- bl FUN_02039438
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394B8
- add r5, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020821B4
- strh r0, [r5, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_020403D0
-FUN_020403D0: ; 0x020403D0
- push {r4-r6, lr}
- add r4, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x14
- bl FUN_02039438
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394B8
- add r4, r0, #0x0
- ldr r0, [r5, #0x0]
- add r1, r6, #0x0
- bl FUN_020821C4
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02040414
-FUN_02040414: ; 0x02040414
- push {r4-r6, lr}
- add r4, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x14
- bl FUN_02039438
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394B8
- add r4, r0, #0x0
- ldr r0, [r5, #0x0]
- add r1, r6, #0x0
- bl FUN_020821DC
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02040458
-FUN_02040458: ; 0x02040458
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x14
- bl FUN_02039438
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394B8
- add r5, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020821F0
- strh r0, [r5, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02040488
-FUN_02040488: ; 0x02040488
- push {r3-r7, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x14
- bl FUN_02039438
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r7, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- str r0, [sp, #0x4]
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394B8
- str r0, [sp, #0x0]
- ldr r0, [r4, #0x0]
- ldr r3, [sp, #0x4]
- add r1, r6, #0x0
- add r2, r7, #0x0
- bl FUN_02082214
- mov r0, #0x0
- add sp, #0x8
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_020404FC
-FUN_020404FC: ; 0x020404FC
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x14
- bl FUN_02039438
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394B8
- add r5, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_02082254
- strh r0, [r5, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0204052C
-FUN_0204052C: ; 0x0204052C
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x14
- bl FUN_02039438
- add r4, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xf
- bl FUN_02039438
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- add r2, r0, #0x0
- ldr r0, [r4, #0x0]
- ldr r1, [r6, #0x0]
- mov r3, #0xb
- bl FUN_02082284
- mov r0, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_0204056C
-FUN_0204056C: ; 0x0204056C
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x14
- bl FUN_02039438
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394B8
- add r5, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020822F0
- strh r0, [r5, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0204059C
-FUN_0204059C: ; 0x0204059C
- push {r3, lr}
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x14
- bl FUN_02039438
- ldr r0, [r0, #0x0]
- bl FUN_0208223C
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_020405B4
-FUN_020405B4: ; 0x020405B4
- push {r3, lr}
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x14
- bl FUN_02039438
- ldr r0, [r0, #0x0]
- bl FUN_0208224C
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_020405CC
-FUN_020405CC: ; 0x020405CC
- push {r3-r5, lr}
- add r4, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x14
- bl FUN_02039438
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394F0
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_02082444
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_020405F8
-FUN_020405F8: ; 0x020405F8
- push {r4, lr}
- add r4, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x14
- bl FUN_02039438
- ldr r1, _02040614 ; =FUN_02040618
- add r0, r4, #0x0
- bl SetupNativeScript
- mov r0, #0x1
- pop {r4, pc}
- nop
-_02040614: .word FUN_02040618
-
- thumb_func_start FUN_02040618
-FUN_02040618: ; 0x02040618
- push {r3, lr}
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x14
- bl FUN_02039438
- ldr r0, [r0, #0x0]
- bl FUN_02082508
- cmp r0, #0x1
- bne _02040632
- mov r0, #0x1
- pop {r3, pc}
-_02040632:
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_02040638
-FUN_02040638: ; 0x02040638
- push {r3, lr}
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x4]
- ldr r0, [r0, #0x1c]
- bl FUN_021F4608
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0204064C
-FUN_0204064C: ; 0x0204064C
- push {r3, lr}
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x4]
- ldr r0, [r0, #0x1c]
- bl FUN_021F45E8
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_02040660
-FUN_02040660: ; 0x02040660
- push {r4-r5, lr}
- sub sp, #0x1c
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x14
- bl FUN_02039438
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394B8
- add r5, r0, #0x0
- add r0, sp, #0xc
- str r0, [sp, #0x0]
- add r0, sp, #0x8
- str r0, [sp, #0x4]
- ldr r0, [r4, #0x0]
- add r1, sp, #0x18
- add r2, sp, #0x14
- add r3, sp, #0x10
- bl FUN_020825A0
- ldr r0, [sp, #0x14]
- cmp r0, #0x1
- beq _020406B0
- ldr r0, [sp, #0x10]
- cmp r0, #0x1
- beq _020406B0
- ldr r0, [sp, #0xc]
- cmp r0, #0x1
- beq _020406B0
- ldr r0, [sp, #0x8]
- cmp r0, #0x1
- bne _020406B6
-_020406B0:
- mov r0, #0x1
- strh r0, [r5, #0x0]
- b _020406BA
-_020406B6:
- mov r0, #0x0
- strh r0, [r5, #0x0]
-_020406BA:
- mov r0, #0x0
- add sp, #0x1c
- pop {r4-r5, pc}
-
- thumb_func_start FUN_020406C0
-FUN_020406C0: ; 0x020406C0
- push {r3, lr}
- ldr r0, [r0, #0x74]
- bl FUN_0224D3E8
- mov r0, #0x1
- pop {r3, pc}
-
- thumb_func_start FUN_020406CC
-FUN_020406CC: ; 0x020406CC
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r6, [r0, #0x0]
- mov r1, #0xf
- add r0, r6, #0x0
- bl FUN_02039438
- ldr r1, [r5, #0x8]
- add r4, r0, #0x0
- add r0, r1, #0x1
- str r0, [r5, #0x8]
- ldrb r5, [r1, #0x0]
- add r0, r6, #0x0
- bl FUN_020377AC
- bl FUN_020238F4
- add r2, r0, #0x0
- ldr r0, [r4, #0x0]
- add r1, r5, #0x0
- bl FUN_0200ABC0
- mov r0, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02040700
-FUN_02040700: ; 0x02040700
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r4, [r0, #0x0]
- mov r1, #0xf
- add r0, r4, #0x0
- bl FUN_02039438
- ldr r2, [r5, #0x8]
- add r1, r2, #0x1
- str r1, [r5, #0x8]
- ldrb r1, [r2, #0x0]
- ldr r0, [r0, #0x0]
- ldr r2, [r4, #0xc]
- bl FUN_0200ABE4
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02040724
-FUN_02040724: ; 0x02040724
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r4, [r0, #0x0]
- mov r1, #0xf
- add r0, r4, #0x0
- bl FUN_02039438
- ldr r2, [r5, #0x8]
- add r1, r2, #0x1
- str r1, [r5, #0x8]
- ldrb r1, [r2, #0x0]
- ldr r0, [r0, #0x0]
- ldr r2, [r4, #0xc]
- bl FUN_0200AC0C
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02040748
-FUN_02040748: ; 0x02040748
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r6, [r0, #0x0]
- mov r1, #0xf
- add r0, r6, #0x0
- bl FUN_02039438
- ldr r1, [r5, #0x8]
- add r7, r0, #0x0
- add r0, r1, #0x1
- str r0, [r5, #0x8]
- add r0, r5, #0x0
- ldrb r4, [r1, #0x0]
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- add r5, r0, #0x0
- ldr r0, [r6, #0xc]
- bl FUN_0206BB1C
- add r1, r5, #0x0
- bl FUN_0206B9B0
- add r2, r0, #0x0
- ldr r0, [r7, #0x0]
- add r1, r4, #0x0
- bl FUN_0200AC60
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02040790
-FUN_02040790: ; 0x02040790
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xf
- bl FUN_02039438
- ldr r1, [r5, #0x8]
- add r6, r0, #0x0
- add r0, r1, #0x1
- str r0, [r5, #0x8]
- add r0, r5, #0x0
- ldrb r4, [r1, #0x0]
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- add r2, r0, #0x0
- ldr r0, [r6, #0x0]
- add r1, r4, #0x0
- bl FUN_0200AE38
- mov r0, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_020407C8
-FUN_020407C8: ; 0x020407C8
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xf
- bl FUN_02039438
- ldr r1, [r5, #0x8]
- add r6, r0, #0x0
- add r0, r1, #0x1
- str r0, [r5, #0x8]
- add r0, r5, #0x0
- ldrb r4, [r1, #0x0]
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- add r2, r0, #0x0
- ldr r0, [r6, #0x0]
- add r1, r4, #0x0
- bl FUN_0200AEE0
- mov r0, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02040800
-FUN_02040800: ; 0x02040800
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xf
- bl FUN_02039438
- ldr r1, [r5, #0x8]
- add r6, r0, #0x0
- add r0, r1, #0x1
- str r0, [r5, #0x8]
- add r0, r5, #0x0
- ldrb r4, [r1, #0x0]
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- bl FUN_0206EA30
- add r2, r0, #0x0
- ldr r0, [r6, #0x0]
- add r1, r4, #0x0
- bl FUN_0200AD5C
- mov r0, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_0204083C
-FUN_0204083C: ; 0x0204083C
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xf
- bl FUN_02039438
- ldr r1, [r5, #0x8]
- add r6, r0, #0x0
- add r0, r1, #0x1
- str r0, [r5, #0x8]
- add r0, r5, #0x0
- ldrb r4, [r1, #0x0]
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- add r2, r0, #0x0
- ldr r0, [r6, #0x0]
- add r1, r4, #0x0
- bl FUN_0200AD5C
- mov r0, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02040874
-FUN_02040874: ; 0x02040874
- push {r4-r6, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xf
- bl FUN_02039438
- ldr r1, [r5, #0x8]
- add r6, r0, #0x0
- add r0, r1, #0x1
- str r0, [r5, #0x8]
- add r0, r5, #0x0
- ldrb r4, [r1, #0x0]
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- add r5, r0, #0x0
- bl FUN_02054C14
- add r3, r0, #0x0
- mov r0, #0x1
- str r0, [sp, #0x0]
- str r0, [sp, #0x4]
- ldr r0, [r6, #0x0]
- add r1, r4, #0x0
- add r2, r5, #0x0
- bl FUN_0200AD38
- mov r0, #0x0
- add sp, #0x8
- pop {r4-r6, pc}
-
- thumb_func_start FUN_020408BC
-FUN_020408BC: ; 0x020408BC
- push {r4-r7, lr}
- sub sp, #0xc
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xf
- bl FUN_02039438
- ldr r1, [r5, #0x8]
- add r7, r0, #0x0
- add r0, r1, #0x1
- str r0, [r5, #0x8]
- add r0, r5, #0x0
- ldrb r6, [r1, #0x0]
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- str r0, [sp, #0x8]
- ldr r1, [r5, #0x8]
- add r2, r1, #0x1
- str r2, [r5, #0x8]
- ldrb r4, [r1, #0x0]
- add r1, r2, #0x1
- str r1, [r5, #0x8]
- ldrb r3, [r2, #0x0]
- cmp r4, #0x0
- bne _02040904
- bl FUN_02054C14
- lsl r0, r0, #0x18
- lsr r3, r0, #0x18
-_02040904:
- str r4, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- ldr r0, [r7, #0x0]
- ldr r2, [sp, #0x8]
- add r1, r6, #0x0
- bl FUN_0200AD38
- mov r0, #0x0
- add sp, #0xc
- pop {r4-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0204091C
-FUN_0204091C: ; 0x0204091C
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r6, [r0, #0x0]
- mov r1, #0xf
- add r0, r6, #0x0
- bl FUN_02039438
- ldr r1, [r5, #0x8]
- add r7, r0, #0x0
- add r0, r1, #0x1
- str r0, [r5, #0x8]
- add r0, r5, #0x0
- ldrb r4, [r1, #0x0]
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- add r5, r0, #0x0
- ldr r0, [r6, #0xc]
- bl FUN_0206BB1C
- add r1, r5, #0x0
- bl FUN_0206B9B0
- add r2, r0, #0x0
- ldr r0, [r7, #0x0]
- add r1, r4, #0x0
- bl FUN_0200ACF8
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02040964
-FUN_02040964: ; 0x02040964
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r4, [r0, #0x0]
- ldr r0, [r4, #0xc]
- bl FUN_02022510
- str r0, [sp, #0x0]
- add r0, r4, #0x0
- mov r1, #0xf
- bl FUN_02039438
- ldr r1, [r5, #0x8]
- add r6, r0, #0x0
- add r0, r1, #0x1
- str r0, [r5, #0x8]
- add r0, r5, #0x0
- ldrb r4, [r1, #0x0]
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- add r5, r0, #0x0
- mov r1, #0x1e
- blx _s32_div_f
- add r7, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0x1e
- blx _s32_div_f
- add r2, r1, #0x0
- ldr r0, [sp, #0x0]
- add r1, r7, #0x0
- bl FUN_0206B5E4
- add r2, r0, #0x0
- ldr r0, [r6, #0x0]
- add r1, r4, #0x0
- bl FUN_0200ACF8
- mov r0, #0x0
- pop {r3-r7, pc}
-
- thumb_func_start FUN_020409C0
-FUN_020409C0: ; 0x020409C0
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xf
- bl FUN_02039438
- ldr r1, [r5, #0x8]
- add r6, r0, #0x0
- add r0, r1, #0x1
- str r0, [r5, #0x8]
- add r0, r5, #0x0
- ldrb r4, [r1, #0x0]
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- add r2, r0, #0x0
- ldr r0, [r6, #0x0]
- add r1, r4, #0x0
- bl FUN_0200B02C
- mov r0, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_020409F8
-FUN_020409F8: ; 0x020409F8
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xf
- bl FUN_02039438
- ldr r1, [r5, #0x8]
- add r6, r0, #0x0
- add r0, r1, #0x1
- str r0, [r5, #0x8]
- add r0, r5, #0x0
- ldrb r4, [r1, #0x0]
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- add r2, r0, #0x0
- ldr r0, [r6, #0x0]
- add r1, r4, #0x0
- bl FUN_0200B064
- mov r0, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02040A30
-FUN_02040A30: ; 0x02040A30
- push {r3-r7, lr}
- add r7, r0, #0x0
- add r0, #0x80
- ldr r5, [r0, #0x0]
- add r0, r5, #0x0
- bl FUN_020377AC
- bl FUN_020238F4
- add r4, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0xf
- bl FUN_02039438
- ldr r1, [r7, #0x8]
- add r6, r0, #0x0
- add r0, r1, #0x1
- str r0, [r7, #0x8]
- add r0, r4, #0x0
- ldrb r5, [r1, #0x0]
- bl FUN_020239CC
- add r7, r0, #0x0
- add r0, r4, #0x0
- bl FUN_02023A28
- add r1, r0, #0x0
- add r0, r7, #0x0
- mov r2, #0x2
- bl FUN_020536D0
- add r2, r0, #0x0
- ldr r0, [r6, #0x0]
- add r1, r5, #0x0
- bl FUN_0200B09C
- mov r0, #0x0
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02040A7C
-FUN_02040A7C: ; 0x02040A7C
- push {r4-r7, lr}
- sub sp, #0xc
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xf
- bl FUN_02039438
- ldr r1, [r5, #0x8]
- add r7, r0, #0x0
- add r0, r1, #0x1
- str r0, [r5, #0x8]
- add r0, r5, #0x0
- ldrb r4, [r1, #0x0]
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- ldr r1, [r5, #0x8]
- str r0, [sp, #0x8]
- add r0, r1, #0x1
- str r0, [r5, #0x8]
- ldrb r5, [r1, #0x0]
- add r0, r6, #0x0
- mov r1, #0x4
- bl FUN_02040AE4
- add r6, r0, #0x0
- str r5, [sp, #0x0]
- mov r0, #0x2
- str r0, [sp, #0x4]
- ldr r0, [r7, #0x0]
- ldr r3, [sp, #0x8]
- add r1, r4, #0x0
- add r2, r6, #0x0
- bl FUN_0200ABB4
- add r0, r6, #0x0
- bl FUN_02021A20
- mov r0, #0x0
- add sp, #0xc
- pop {r4-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02040AE4
-FUN_02040AE4: ; 0x02040AE4
- push {r3-r5, lr}
- ldr r2, _02040B08 ; =0x0000016A
- add r4, r0, #0x0
- add r3, r1, #0x0
- mov r0, #0x1
- mov r1, #0x1a
- bl FUN_0200A86C
- add r5, r0, #0x0
- add r1, r4, #0x0
- bl FUN_0200A914
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0200A8B8
- add r0, r4, #0x0
- pop {r3-r5, pc}
- .balign 4
-_02040B08: .word 0x0000016A
-
- thumb_func_start FUN_02040B0C
-FUN_02040B0C: ; 0x02040B0C
- push {r4-r6, lr}
- sub sp, #0x8
- add r4, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xf
- bl FUN_02039438
- ldr r1, [r4, #0x8]
- add r6, r0, #0x0
- add r0, r1, #0x1
- str r0, [r4, #0x8]
- add r4, #0x80
- ldr r0, [r4, #0x0]
- ldrb r5, [r1, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_020462AC
- bl FUN_0205F388
- mov r1, #0x4
- bl FUN_02040AE4
- add r4, r0, #0x0
- mov r0, #0x1
- str r0, [sp, #0x0]
- mov r0, #0x2
- str r0, [sp, #0x4]
- ldr r0, [r6, #0x0]
- add r1, r5, #0x0
- add r2, r4, #0x0
- mov r3, #0x0
- bl FUN_0200ABB4
- add r0, r4, #0x0
- bl FUN_02021A20
- mov r0, #0x0
- add sp, #0x8
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02040B5C
-FUN_02040B5C: ; 0x02040B5C
- push {r4-r6, lr}
- sub sp, #0x8
- add r4, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xf
- bl FUN_02039438
- ldr r1, [r4, #0x8]
- add r6, r0, #0x0
- add r0, r1, #0x1
- str r0, [r4, #0x8]
- add r4, #0x80
- ldr r0, [r4, #0x0]
- ldrb r5, [r1, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_020462AC
- bl FUN_0205F398
- mov r1, #0x4
- bl FUN_02040AE4
- add r4, r0, #0x0
- mov r0, #0x1
- str r0, [sp, #0x0]
- mov r0, #0x2
- str r0, [sp, #0x4]
- ldr r0, [r6, #0x0]
- add r1, r5, #0x0
- add r2, r4, #0x0
- mov r3, #0x0
- bl FUN_0200ABB4
- add r0, r4, #0x0
- bl FUN_02021A20
- mov r0, #0x0
- add sp, #0x8
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02040BAC
-FUN_02040BAC: ; 0x02040BAC
- push {r4-r6, lr}
- sub sp, #0x8
- add r4, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xf
- bl FUN_02039438
- ldr r1, [r4, #0x8]
- add r6, r0, #0x0
- add r0, r1, #0x1
- str r0, [r4, #0x8]
- add r4, #0x80
- ldr r0, [r4, #0x0]
- ldrb r5, [r1, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_020462AC
- bl FUN_0205F3C0
- mov r1, #0x4
- bl FUN_02040AE4
- add r4, r0, #0x0
- mov r0, #0x1
- str r0, [sp, #0x0]
- mov r0, #0x2
- str r0, [sp, #0x4]
- ldr r0, [r6, #0x0]
- add r1, r5, #0x0
- add r2, r4, #0x0
- mov r3, #0x0
- bl FUN_0200ABB4
- add r0, r4, #0x0
- bl FUN_02021A20
- mov r0, #0x0
- add sp, #0x8
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02040BFC
-FUN_02040BFC: ; 0x02040BFC
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xf
- bl FUN_02039438
- ldr r1, [r5, #0x8]
- add r6, r0, #0x0
- add r0, r1, #0x1
- str r0, [r5, #0x8]
- add r0, r5, #0x0
- ldrb r4, [r1, #0x0]
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- add r2, r0, #0x0
- ldr r0, [r6, #0x0]
- add r1, r4, #0x0
- bl FUN_0200B350
- mov r0, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02040C34
-FUN_02040C34: ; 0x02040C34
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xf
- bl FUN_02039438
- ldr r1, [r5, #0x8]
- add r6, r0, #0x0
- add r0, r1, #0x1
- str r0, [r5, #0x8]
- add r0, r5, #0x0
- ldrb r4, [r1, #0x0]
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- add r2, r0, #0x0
- ldr r0, [r6, #0x0]
- add r1, r4, #0x0
- bl FUN_0200B1D4
- mov r0, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02040C6C
-FUN_02040C6C: ; 0x02040C6C
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xf
- bl FUN_02039438
- ldr r1, [r5, #0x8]
- add r6, r0, #0x0
- add r0, r1, #0x1
- str r0, [r5, #0x8]
- add r0, r5, #0x0
- ldrb r4, [r1, #0x0]
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- add r2, r0, #0x0
- ldr r0, [r6, #0x0]
- add r1, r4, #0x0
- bl FUN_0200B164
- mov r0, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02040CA4
-FUN_02040CA4: ; 0x02040CA4
- push {r3-r7, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- mov r0, #0x16
- mov r1, #0x4
- bl FUN_020219F4
- add r4, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xf
- bl FUN_02039438
- ldr r1, [r5, #0x8]
- add r7, r0, #0x0
- add r0, r1, #0x1
- str r0, [r5, #0x8]
- add r0, r5, #0x0
- ldrb r6, [r1, #0x0]
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- mov r1, #0x4
- add r2, r4, #0x0
- bl FUN_02064E60
- mov r0, #0x1
- str r0, [sp, #0x0]
- mov r0, #0x2
- str r0, [sp, #0x4]
- ldr r0, [r7, #0x0]
- add r1, r6, #0x0
- add r2, r4, #0x0
- mov r3, #0x0
- bl FUN_0200ABB4
- add r0, r4, #0x0
- bl FUN_02021A20
- mov r0, #0x0
- add sp, #0x8
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02040D04
-FUN_02040D04: ; 0x02040D04
- push {r3-r7, lr}
- sub sp, #0x8
- add r4, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xf
- bl FUN_02039438
- ldr r1, [r4, #0x8]
- add r7, r0, #0x0
- add r0, r1, #0x1
- str r0, [r4, #0x8]
- add r0, r4, #0x0
- ldrb r6, [r1, #0x0]
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394F0
- sub r5, #0x95
- add r4, r0, #0x0
- lsl r0, r5, #0x10
- lsr r0, r0, #0x10
- mov r1, #0x20
- bl FUN_020852E8
- add r5, r0, #0x0
- cmp r4, #0x2
- bhs _02040D5A
- mov r0, #0x1
- b _02040D5C
-_02040D5A:
- mov r0, #0x0
-_02040D5C:
- str r0, [sp, #0x0]
- mov r0, #0x2
- str r0, [sp, #0x4]
- ldr r0, [r7, #0x0]
- add r1, r6, #0x0
- add r2, r5, #0x0
- mov r3, #0x0
- bl FUN_0200ABB4
- add r0, r5, #0x0
- bl FUN_02021A20
- mov r0, #0x0
- add sp, #0x8
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02040D7C
-FUN_02040D7C: ; 0x02040D7C
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xf
- bl FUN_02039438
- ldr r1, [r5, #0x8]
- add r6, r0, #0x0
- add r0, r1, #0x1
- str r0, [r5, #0x8]
- add r0, r5, #0x0
- ldrb r4, [r1, #0x0]
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- add r2, r0, #0x0
- ldr r0, [r6, #0x0]
- add r1, r4, #0x0
- bl FUN_0200AE04
- mov r0, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02040DB4
-FUN_02040DB4: ; 0x02040DB4
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xf
- bl FUN_02039438
- ldr r1, [r5, #0x8]
- add r6, r0, #0x0
- add r0, r1, #0x1
- str r0, [r5, #0x8]
- add r0, r5, #0x0
- ldrb r4, [r1, #0x0]
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- add r2, r0, #0x0
- ldr r0, [r6, #0x0]
- add r1, r4, #0x0
- bl FUN_0200B660
- mov r0, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02040DEC
-FUN_02040DEC: ; 0x02040DEC
- push {r3-r7, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xf
- bl FUN_02039438
- ldr r1, [r5, #0x8]
- add r7, r0, #0x0
- add r0, r1, #0x1
- str r0, [r5, #0x8]
- mov r0, #0xb
- ldrb r6, [r1, #0x0]
- add r1, r0, #0x0
- bl FUN_020219F4
- add r5, #0x80
- add r4, r0, #0x0
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_02024EB4
- bl FUN_02024F0C
- add r1, r0, #0x0
- add r0, r4, #0x0
- bl FUN_02021E28
- ldr r0, _02040E48 ; =0x020ECAC4
- mov r3, #0x0
- ldrb r0, [r0, #0x0]
- str r3, [sp, #0x0]
- add r1, r6, #0x0
- str r0, [sp, #0x4]
- ldr r0, [r7, #0x0]
- add r2, r4, #0x0
- bl FUN_0200ABB4
- add r0, r4, #0x0
- bl FUN_02021A20
- mov r0, #0x0
- add sp, #0x8
- pop {r3-r7, pc}
- nop
-_02040E48: .word 0x020ECAC4
-
- thumb_func_start FUN_02040E4C
-FUN_02040E4C: ; 0x02040E4C
- push {r3-r7, lr}
- add r4, r0, #0x0
- add r0, #0x80
- ldr r6, [r0, #0x0]
- mov r1, #0xf
- add r0, r6, #0x0
- bl FUN_02039438
- ldr r1, [r4, #0x8]
- add r7, r0, #0x0
- add r0, r1, #0x1
- str r0, [r4, #0x8]
- add r0, r4, #0x0
- ldrb r5, [r1, #0x0]
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- str r0, [sp, #0x0]
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394F0
- add r4, r0, #0x0
- ldr r0, [r6, #0xc]
- bl FUN_0206BB1C
- ldr r1, [sp, #0x0]
- bl FUN_0206B9B0
- add r4, #0x36
- add r1, r4, #0x0
- mov r2, #0x0
- bl FUN_020671BC
- lsl r0, r0, #0x10
- lsr r2, r0, #0x10
- ldr r0, [r7, #0x0]
- add r1, r5, #0x0
- bl FUN_0200AD5C
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02040EB4
-FUN_02040EB4: ; 0x02040EB4
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xf
- bl FUN_02039438
- ldr r1, [r5, #0x8]
- add r6, r0, #0x0
- add r0, r1, #0x1
- str r0, [r5, #0x8]
- add r0, r5, #0x0
- ldrb r4, [r1, #0x0]
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- mov r1, #0x3
- bl FUN_0207FC5C
- lsl r0, r0, #0x10
- lsr r2, r0, #0x10
- ldr r0, [r6, #0x0]
- add r1, r4, #0x0
- bl FUN_0200AD94
- mov r0, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02040EF8
-FUN_02040EF8: ; 0x02040EF8
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xf
- bl FUN_02039438
- ldr r1, [r5, #0x8]
- add r6, r0, #0x0
- add r0, r1, #0x1
- str r0, [r5, #0x8]
- add r0, r5, #0x0
- ldrb r4, [r1, #0x0]
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- add r2, r0, #0x0
- sub r2, r2, #0x1
- lsl r2, r2, #0x10
- ldr r0, [r6, #0x0]
- add r1, r4, #0x0
- lsr r2, r2, #0x10
- bl FUN_0200B534
- mov r0, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02040F34
-FUN_02040F34: ; 0x02040F34
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xf
- bl FUN_02039438
- ldr r1, [r5, #0x8]
- add r6, r0, #0x0
- add r0, r1, #0x1
- str r0, [r5, #0x8]
- add r0, r5, #0x0
- ldrb r4, [r1, #0x0]
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- add r2, r0, #0x0
- ldr r0, [r6, #0x0]
- add r1, r4, #0x0
- bl FUN_0200AE70
- mov r0, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02040F6C
-FUN_02040F6C: ; 0x02040F6C
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xf
- bl FUN_02039438
- ldr r1, [r5, #0x8]
- add r6, r0, #0x0
- add r0, r1, #0x1
- str r0, [r5, #0x8]
- add r0, r5, #0x0
- ldrb r4, [r1, #0x0]
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- add r2, r0, #0x0
- ldr r0, [r6, #0x0]
- add r1, r4, #0x0
- bl FUN_0200AEA8
- mov r0, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02040FA4
-FUN_02040FA4: ; 0x02040FA4
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xf
- bl FUN_02039438
- ldr r1, [r5, #0x8]
- add r6, r0, #0x0
- add r0, r1, #0x1
- str r0, [r5, #0x8]
- add r0, r5, #0x0
- ldrb r4, [r1, #0x0]
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- add r2, r0, #0x0
- ldr r0, [r6, #0x0]
- add r1, r4, #0x0
- bl FUN_0200B388
- mov r0, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02040FDC
-FUN_02040FDC: ; 0x02040FDC
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xf
- bl FUN_02039438
- ldr r1, [r5, #0x8]
- add r6, r0, #0x0
- add r0, r1, #0x1
- str r0, [r5, #0x8]
- add r0, r5, #0x0
- ldrb r4, [r1, #0x0]
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- add r2, r0, #0x0
- ldr r0, [r6, #0x0]
- add r1, r4, #0x0
- bl FUN_0200B20C
- mov r0, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02041014
-FUN_02041014: ; 0x02041014
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xf
- bl FUN_02039438
- ldr r1, [r5, #0x8]
- add r6, r0, #0x0
- add r0, r1, #0x1
- str r0, [r5, #0x8]
- add r0, r5, #0x0
- ldrb r4, [r1, #0x0]
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- add r2, r0, #0x0
- ldr r0, [r6, #0x0]
- add r1, r4, #0x0
- bl FUN_0200B19C
- mov r0, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_0204104C
-FUN_0204104C: ; 0x0204104C
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xf
- bl FUN_02039438
- ldr r1, [r5, #0x8]
- add r6, r0, #0x0
- add r0, r1, #0x1
- str r0, [r5, #0x8]
- add r0, r5, #0x0
- ldrb r4, [r1, #0x0]
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r7, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- ldr r0, [r5, #0x8]
- add r1, r4, #0x0
- add r0, r0, #0x1
- str r0, [r5, #0x8]
- ldr r0, [r6, #0x0]
- add r2, r7, #0x0
- bl FUN_0200ACC0
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02041094
-FUN_02041094: ; 0x02041094
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xf
- bl FUN_02039438
- ldr r1, [r5, #0x8]
- add r6, r0, #0x0
- add r0, r1, #0x1
- str r0, [r5, #0x8]
- add r5, #0x80
- ldr r0, [r5, #0x0]
- ldrb r4, [r1, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_020462AC
- bl FUN_0205F3C0
- add r2, r0, #0x0
- ldr r0, [r6, #0x0]
- add r1, r4, #0x0
- bl FUN_0200ACC0
- mov r0, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_020410C8
-FUN_020410C8: ; 0x020410C8
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xf
- bl FUN_02039438
- ldr r1, [r5, #0x8]
- add r6, r0, #0x0
- add r0, r1, #0x1
- str r0, [r5, #0x8]
- add r0, r5, #0x0
- ldrb r4, [r1, #0x0]
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- add r2, r0, #0x0
- ldr r0, [r6, #0x0]
- add r1, r4, #0x0
- bl FUN_0200B698
- mov r0, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02041100
-FUN_02041100: ; 0x02041100
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xf
- bl FUN_02039438
- ldr r1, [r5, #0x8]
- add r6, r0, #0x0
- add r0, r1, #0x1
- str r0, [r5, #0x8]
- add r0, r5, #0x0
- ldrb r4, [r1, #0x0]
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- add r2, r0, #0x0
- ldr r0, [r6, #0x0]
- add r1, r4, #0x0
- bl FUN_0200B09C
- mov r0, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02041138
-FUN_02041138: ; 0x02041138
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xf
- bl FUN_02039438
- ldr r1, [r5, #0x8]
- add r6, r0, #0x0
- add r0, r1, #0x1
- str r0, [r5, #0x8]
- add r0, r5, #0x0
- ldrb r4, [r1, #0x0]
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- add r2, r0, #0x0
- sub r2, r2, #0x1
- lsl r2, r2, #0x10
- ldr r0, [r6, #0x0]
- add r1, r4, #0x0
- lsr r2, r2, #0x10
- bl FUN_0200B568
- mov r0, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02041174
-FUN_02041174: ; 0x02041174
- push {r4, lr}
- add r4, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xf
- bl FUN_02039438
- ldr r2, [r4, #0x8]
- add r1, r2, #0x1
- str r1, [r4, #0x8]
- ldrb r1, [r2, #0x0]
- ldr r0, [r0, #0x0]
- bl FUN_0200B7A8
- mov r0, #0x0
- pop {r4, pc}
-
- thumb_func_start FUN_02041194
-FUN_02041194: ; 0x02041194
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_020462AC
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394B8
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_0205F5D8
- strh r0, [r5, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_020411C4
-FUN_020411C4: ; 0x020411C4
- push {r4-r7, lr}
- sub sp, #0x24
- add r4, r0, #0x0
- add r0, #0x80
- ldr r7, [r0, #0x0]
- ldr r0, [r7, #0xc]
- bl FUN_02022510
- str r0, [sp, #0x20]
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- str r0, [sp, #0xc]
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- str r0, [sp, #0x8]
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- str r0, [sp, #0x4]
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394F0
- str r0, [sp, #0x0]
- ldr r0, [r7, #0xc]
- bl FUN_0206BB1C
- bl FUN_0206B9AC
- lsl r0, r0, #0x10
- lsr r6, r0, #0x10
- ldr r0, _0204133C ; =0x00000000
- str r0, [sp, #0x1c]
- str r0, [sp, #0x18]
- ldr r5, [sp, #0x1c]
- beq _02041286
-_0204123C:
- ldr r0, [r7, #0xc]
- bl FUN_0206BB1C
- add r1, r5, #0x0
- bl FUN_0206B9B0
- mov r1, #0x4c
- mov r2, #0x0
- add r4, r0, #0x0
- bl FUN_020671BC
- cmp r0, #0x0
- bne _0204127C
- add r0, r4, #0x0
- mov r1, #0x7
- mov r2, #0x0
- bl FUN_020671BC
- lsl r0, r0, #0x10
- lsr r1, r0, #0x10
- lsl r1, r1, #0x10
- ldr r0, [sp, #0x0]
- lsr r1, r1, #0x10
- bl FUN_02041354
- cmp r0, #0x0
- beq _0204127C
- ldr r1, [sp, #0x1c]
- cmp r1, r0
- bge _0204127C
- str r0, [sp, #0x1c]
- str r5, [sp, #0x18]
-_0204127C:
- add r0, r5, #0x1
- lsl r0, r0, #0x10
- lsr r5, r0, #0x10
- cmp r5, r6
- blo _0204123C
-_02041286:
- mov r6, #0x0
- str r6, [sp, #0x14]
- str r6, [sp, #0x10]
- add r7, r6, #0x0
-_0204128E:
- mov r5, #0x0
-_02041290:
- ldr r0, [sp, #0x20]
- ldr r1, [sp, #0x10]
- add r2, r5, #0x0
- bl FUN_0206B5E4
- mov r1, #0x5
- mov r2, #0x0
- add r4, r0, #0x0
- bl FUN_020672BC
- cmp r0, #0x0
- beq _020412E0
- add r0, r4, #0x0
- mov r1, #0x4c
- mov r2, #0x0
- bl FUN_020672BC
- cmp r0, #0x0
- bne _020412E0
- add r0, r4, #0x0
- mov r1, #0x7
- mov r2, #0x0
- bl FUN_020672BC
- lsl r0, r0, #0x10
- lsr r1, r0, #0x10
- lsl r1, r1, #0x10
- ldr r0, [sp, #0x0]
- lsr r1, r1, #0x10
- bl FUN_02041354
- cmp r0, #0x0
- beq _020412E0
- cmp r6, r0
- bge _020412E0
- add r6, r0, #0x0
- add r0, r5, r7
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- str r0, [sp, #0x14]
-_020412E0:
- add r5, r5, #0x1
- cmp r5, #0x1e
- blo _02041290
- ldr r0, [sp, #0x10]
- add r7, #0x1e
- add r0, r0, #0x1
- str r0, [sp, #0x10]
- cmp r0, #0x12
- blo _0204128E
- ldr r0, [sp, #0x1c]
- cmp r0, #0x0
- bne _0204130C
- cmp r6, #0x0
- bne _0204130C
- ldr r0, [sp, #0xc]
- mov r1, #0x0
- strh r1, [r0, #0x0]
- ldr r0, [sp, #0x8]
- strh r1, [r0, #0x0]
- ldr r0, [sp, #0x4]
- strh r1, [r0, #0x0]
- b _02041336
-_0204130C:
- ldr r0, [sp, #0x1c]
- cmp r0, r6
- blo _02041326
- ldr r1, [sp, #0x18]
- ldr r0, [sp, #0xc]
- strh r1, [r0, #0x0]
- ldr r1, [sp, #0x1c]
- ldr r0, [sp, #0x8]
- strh r1, [r0, #0x0]
- ldr r0, [sp, #0x4]
- mov r1, #0x0
- strh r1, [r0, #0x0]
- b _02041336
-_02041326:
- ldr r1, [sp, #0x14]
- ldr r0, [sp, #0xc]
- strh r1, [r0, #0x0]
- ldr r0, [sp, #0x8]
- mov r1, #0x1
- strh r6, [r0, #0x0]
- ldr r0, [sp, #0x4]
- strh r1, [r0, #0x0]
-_02041336:
- mov r0, #0x0
- add sp, #0x24
- pop {r4-r7, pc}
- .balign 4
-_0204133C: .word 0x00000000
-
- thumb_func_start FUN_02041340
-FUN_02041340: ; 0x02041340
- push {r3, lr}
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_020462AC
- bl FUN_0205F5FC
- mov r0, #0x0
- pop {r3, pc}
-
- thumb_func_start FUN_02041354
-FUN_02041354: ; 0x02041354
- push {r4-r7, lr}
- sub sp, #0xc
- mov r6, #0x0
- add r5, r0, #0x0
- add r4, r1, #0x0
- add r7, r6, #0x0
-_02041360:
- add r0, r5, #0x0
- mov r1, #0xa
- blx _s32_div_f
- lsl r0, r1, #0x10
- lsr r0, r0, #0x10
- str r1, [sp, #0x0]
- str r0, [sp, #0x4]
- add r0, r4, #0x0
- mov r1, #0xa
- blx _s32_div_f
- lsl r0, r1, #0x10
- lsr r0, r0, #0x10
- str r0, [sp, #0x8]
- ldr r0, [sp, #0x0]
- cmp r0, r1
- bne _020413AC
- add r0, r5, #0x0
- mov r1, #0xa
- blx _s32_div_f
- lsl r0, r0, #0x10
- lsr r5, r0, #0x10
- add r0, r4, #0x0
- mov r1, #0xa
- blx _s32_div_f
- lsl r0, r0, #0x10
- lsr r4, r0, #0x10
- add r0, r6, #0x1
- lsl r0, r0, #0x18
- lsr r6, r0, #0x18
- add r0, r7, #0x1
- lsl r0, r0, #0x18
- lsr r7, r0, #0x18
- cmp r7, #0x5
- blo _02041360
-_020413AC:
- ldr r1, _020413BC ; =0x021C5A10
- ldr r0, [sp, #0x8]
- strh r0, [r1, #0x2]
- ldr r0, [sp, #0x4]
- strh r0, [r1, #0x0]
- add r0, r6, #0x0
- add sp, #0xc
- pop {r4-r7, pc}
- .balign 4
-_020413BC: .word 0x021C5A10
-
- thumb_func_start FUN_020413C0
-FUN_020413C0: ; 0x020413C0
- push {r3-r5, lr}
- add r4, r0, #0x0
- bl ScriptReadHalfword
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394B8
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02005410
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_020413E8
-FUN_020413E8: ; 0x020413E8
- push {r3, lr}
- bl ScriptReadHalfword
- bl FUN_0200521C
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_020413F8
-FUN_020413F8: ; 0x020413F8
- push {r3, lr}
- bl ScriptReadHalfword
- bl FUN_02004124
- mov r1, #0x0
- bl FUN_02005350
- mov r0, #0x0
- pop {r3, pc}
-
- thumb_func_start FUN_0204140C
-FUN_0204140C: ; 0x0204140C
- push {r3, lr}
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r1, [r0, #0x1c]
- ldr r1, [r1, #0x0]
- bl FUN_0204ABA8
- bl FUN_0200521C
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_02041424
-FUN_02041424: ; 0x02041424
- push {r4, lr}
- add r4, r0, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_0204AB20
- mov r0, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0204143C
-FUN_0204143C: ; 0x0204143C
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- bl FUN_020053CC
- ldr r1, _02041460 ; =FUN_02041464
- add r0, r5, #0x0
- bl SetupNativeScript
- mov r0, #0x1
- pop {r3-r5, pc}
- .balign 4
-_02041460: .word FUN_02041464
-
- thumb_func_start FUN_02041464
-FUN_02041464: ; 0x02041464
- push {r3, lr}
- bl FUN_02005404
- cmp r0, #0x0
- bne _02041472
- mov r0, #0x1
- pop {r3, pc}
-_02041472:
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_02041478
-FUN_02041478: ; 0x02041478
- push {r4, lr}
- add r4, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- mov r0, #0x7f
- mov r2, #0x0
- bl FUN_0200538C
- ldr r1, _02041498 ; =FUN_02041464
- add r0, r4, #0x0
- bl SetupNativeScript
- mov r0, #0x1
- pop {r4, pc}
- nop
-_02041498: .word FUN_02041464
-
- thumb_func_start FUN_0204149C
-FUN_0204149C: ; 0x0204149C
- push {r3, lr}
- ldr r1, [r0, #0x8]
- add r3, r1, #0x1
- str r3, [r0, #0x8]
- ldrb r2, [r1, #0x0]
- add r1, r3, #0x1
- str r1, [r0, #0x8]
- ldrb r1, [r3, #0x0]
- add r0, r2, #0x0
- bl FUN_020047C8
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_020414B8
-FUN_020414B8: ; 0x020414B8
- push {r3, lr}
- bl ScriptReadHalfword
- add r1, r0, #0x0
- mov r0, #0x4
- bl FUN_02005308
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_020414CC
-FUN_020414CC: ; 0x020414CC
- push {r3, lr}
- ldr r2, [r0, #0x8]
- add r1, r2, #0x1
- str r1, [r0, #0x8]
- ldrb r0, [r2, #0x0]
- bl FUN_020040F4
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_020414E0
-FUN_020414E0: ; 0x020414E0
- push {r4, lr}
- add r4, r0, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394F0
- bl FUN_020054C8
- mov r0, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_020414FC
-FUN_020414FC: ; 0x020414FC
- push {r4, lr}
- add r4, r0, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394F0
- mov r1, #0x0
- bl FUN_020054F0
- mov r0, #0x0
- pop {r4, pc}
-
- thumb_func_start FUN_02041518
-FUN_02041518: ; 0x02041518
- push {r4, lr}
- add r4, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- str r0, [r4, #0x64]
- ldr r1, _0204153C ; =FUN_02041540
- add r0, r4, #0x0
- bl SetupNativeScript
- mov r0, #0x1
- pop {r4, pc}
- nop
-_0204153C: .word FUN_02041540
-
- thumb_func_start FUN_02041540
-FUN_02041540: ; 0x02041540
- push {r3, lr}
- ldr r0, [r0, #0x64]
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- bl FUN_02005508
- cmp r0, #0x0
- bne _02041554
- mov r0, #0x1
- pop {r3, pc}
-_02041554:
- mov r0, #0x0
- pop {r3, pc}
-
- thumb_func_start FUN_02041558
-FUN_02041558: ; 0x02041558
- push {r3-r5, lr}
- add r4, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394F0
- add r0, r5, #0x0
- bl FUN_02005578
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02041588
-FUN_02041588: ; 0x02041588
- push {r3, lr}
- ldr r1, _02041594 ; =FUN_02041598
- bl SetupNativeScript
- mov r0, #0x1
- pop {r3, pc}
- .balign 4
-_02041594: .word FUN_02041598
-
- thumb_func_start FUN_02041598
-FUN_02041598: ; 0x02041598
- push {r3, lr}
- bl FUN_02005670
- cmp r0, #0x0
- bne _020415A6
- mov r0, #0x1
- pop {r3, pc}
-_020415A6:
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_020415AC
-FUN_020415AC: ; 0x020415AC
- push {r3, lr}
- bl ScriptReadHalfword
- bl FUN_02005C28
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_020415BC
-FUN_020415BC: ; 0x020415BC
- push {r3, lr}
- ldr r1, _020415C8 ; =FUN_020415CC
- bl SetupNativeScript
- mov r0, #0x1
- pop {r3, pc}
- .balign 4
-_020415C8: .word FUN_020415CC
-
- thumb_func_start FUN_020415CC
-FUN_020415CC: ; 0x020415CC
- push {r3, lr}
- bl FUN_02005CBC
- cmp r0, #0x0
- bne _020415DA
- mov r0, #0x1
- pop {r3, pc}
-_020415DA:
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_020415E0
-FUN_020415E0: ; 0x020415E0
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r5, #0x80
- add r4, r0, #0x0
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_02029EF8
- bl FUN_02005D20
- cmp r0, #0x1
- bne _02041610
- mov r0, #0x1
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
-_02041610:
- mov r0, #0x0
- strh r0, [r4, #0x0]
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02041618
-FUN_02041618: ; 0x02041618
- push {r4, lr}
- add r4, r0, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394B8
- add r4, r0, #0x0
- bl FUN_02005E28
- cmp r0, #0x0
- bne _0204163C
- mov r0, #0x1
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r4, pc}
-_0204163C:
- mov r0, #0x0
- strh r0, [r4, #0x0]
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02041644
-FUN_02041644: ; 0x02041644
- push {r3, lr}
- bl FUN_02005E64
- mov r0, #0x1
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_02041650
-FUN_02041650: ; 0x02041650
- push {r3, lr}
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_02029EF8
- bl FUN_02005E6C
- mov r0, #0x1
- pop {r3, pc}
-
- thumb_func_start FUN_02041664
-FUN_02041664: ; 0x02041664
- push {r3, lr}
- mov r1, #0x0
- mov r0, #0x3f
- add r2, r1, #0x0
- bl FUN_0200433C
- mov r0, #0x1
- pop {r3, pc}
-
- thumb_func_start FUN_02041674
-FUN_02041674: ; 0x02041674
- push {r3-r5, lr}
- add r4, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394F0
- add r1, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0200488C
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_020416A8
-FUN_020416A8: ; 0x020416A8
- push {r3-r7, lr}
- sub sp, #0x18
- add r5, r0, #0x0
- add r1, r5, #0x0
- add r1, #0x80
- ldr r4, [r1, #0x0]
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- add r5, r0, #0x0
- bne _02041708
- add r0, r4, #0x0
- mov r1, #0x18
- bl FUN_02039438
- str r0, [sp, #0x14]
- add r0, r4, #0x0
- mov r1, #0x19
- bl FUN_02039438
- str r0, [sp, #0xc]
- add r0, r4, #0x0
- mov r1, #0x1a
- bl FUN_02039438
- add r0, r4, #0x0
- mov r1, #0x1b
- bl FUN_02039438
- add r0, r4, #0x0
- mov r1, #0x1c
- bl FUN_02039438
- str r0, [sp, #0x10]
- add r0, r4, #0x0
- mov r1, #0x1d
- bl FUN_02039438
- add r6, r0, #0x0
- add r0, r4, #0x0
- mov r1, #0x1e
- bl FUN_02039438
- b _02041748
-_02041708:
- add r0, r4, #0x0
- mov r1, #0x1f
- bl FUN_02039438
- str r0, [sp, #0x14]
- add r0, r4, #0x0
- mov r1, #0x20
- bl FUN_02039438
- str r0, [sp, #0xc]
- add r0, r4, #0x0
- mov r1, #0x21
- bl FUN_02039438
- add r0, r4, #0x0
- mov r1, #0x22
- bl FUN_02039438
- add r0, r4, #0x0
- mov r1, #0x23
- bl FUN_02039438
- str r0, [sp, #0x10]
- add r0, r4, #0x0
- mov r1, #0x24
- bl FUN_02039438
- add r6, r0, #0x0
- add r0, r4, #0x0
- mov r1, #0x25
- bl FUN_02039438
-_02041748:
- add r7, r0, #0x0
- mov r0, #0x0
- str r0, [sp, #0x0]
- ldr r0, [sp, #0x10]
- ldr r2, [sp, #0xc]
- ldr r0, [r0, #0x0]
- ldr r3, [sp, #0x14]
- str r0, [sp, #0x4]
- str r5, [sp, #0x8]
- ldr r0, [r6, #0x0]
- ldr r1, [r4, #0x38]
- ldr r2, [r2, #0x0]
- ldr r3, [r3, #0x0]
- bl FUN_0205CA4C
- str r0, [r7, #0x0]
- mov r0, #0x0
- add sp, #0x18
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02041770
-FUN_02041770: ; 0x02041770
- push {r4-r6, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r4, r0, #0x0
- mov r0, #0x0
- strh r0, [r4, #0x0]
- cmp r6, #0x0
- bne _020417AE
- add r5, #0x80
- ldr r0, [r5, #0x0]
- mov r1, #0x1e
- bl FUN_02039438
- b _020417B8
-_020417AE:
- add r5, #0x80
- ldr r0, [r5, #0x0]
- mov r1, #0x25
- bl FUN_02039438
-_020417B8:
- add r5, r0, #0x0
- ldr r0, [r5, #0x0]
- cmp r0, #0x0
- bne _020417C6
- mov r0, #0x1
- strh r0, [r4, #0x0]
- pop {r4-r6, pc}
-_020417C6:
- bl FUN_0205CA64
- cmp r0, #0x1
- bne _020417DC
- ldr r0, [r5, #0x0]
- bl FUN_0205CA78
- mov r0, #0x0
- str r0, [r5, #0x0]
- mov r0, #0x1
- strh r0, [r4, #0x0]
-_020417DC:
- mov r0, #0x1
- pop {r4-r6, pc}
-
- thumb_func_start FUN_020417E0
-FUN_020417E0: ; 0x020417E0
- push {r3-r5, lr}
- add r4, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x1c
- bl FUN_02039438
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394B8
- ldrh r1, [r5, #0x0]
- strh r1, [r0, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02041808
-FUN_02041808: ; 0x02041808
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x1b
- bl FUN_02039438
- add r4, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x22
- bl FUN_02039438
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r7, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394B8
- cmp r7, #0x0
- bne _02041852
- ldrh r1, [r4, #0x0]
- b _02041854
-_02041852:
- ldrh r1, [r6, #0x0]
-_02041854:
- strh r1, [r0, #0x0]
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0204185C
-FUN_0204185C: ; 0x0204185C
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x8
- bl FUN_02039438
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394B8
- add r5, r0, #0x0
- ldrh r0, [r4, #0x0]
- bl FUN_020395F4
- strh r0, [r5, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0204188C
-FUN_0204188C: ; 0x0204188C
- push {r3-r7, lr}
- sub sp, #0x10
- add r5, r0, #0x0
- add r0, #0x80
- ldr r4, [r0, #0x0]
- mov r1, #0x8
- add r0, r4, #0x0
- bl FUN_02039438
- add r0, r4, #0x0
- mov r1, #0x17
- bl FUN_02039438
- add r7, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- str r0, [sp, #0xc]
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- str r0, [sp, #0x8]
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r6, #0x0
- ldr r0, [r0, #0xc]
- bl FUN_020462AC
- bl FUN_0205ED3C
- cmp r0, #0x1
- bne _020418F2
- ldr r0, [r4, #0xc]
- bl FUN_020462AC
- bl FUN_0205F368
- add r6, r0, #0x0
-_020418F2:
- mov r0, #0xb
- str r0, [sp, #0x0]
- str r7, [sp, #0x4]
- ldr r0, [r5, #0x74]
- ldr r1, [sp, #0xc]
- ldr r2, [sp, #0x8]
- add r3, r6, #0x0
- bl FUN_020470E8
- mov r0, #0x1
- add sp, #0x10
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0204190C
-FUN_0204190C: ; 0x0204190C
- push {r3-r7, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x17
- bl FUN_02039438
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r7, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r2, r0, #0x0
- mov r0, #0xb
- str r0, [sp, #0x0]
- str r4, [sp, #0x4]
- ldr r0, [r5, #0x74]
- add r1, r7, #0x0
- add r3, r6, #0x0
- bl FUN_020470E8
- mov r0, #0x1
- add sp, #0x8
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02041970
-FUN_02041970: ; 0x02041970
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x8
- bl FUN_02039438
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r7, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394B8
- add r5, r0, #0x0
- ldrh r0, [r4, #0x0]
- bl FUN_020395F4
- bl FUN_0203962C
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- bne _020419D2
- mov r0, #0x0
- mov r1, #0x2
- add r2, r0, #0x0
- b _020419EC
-_020419D2:
- ldrh r0, [r4, #0x0]
- bl FUN_02039618
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- bne _020419E6
- mov r0, #0x3
- mov r1, #0x5
- mov r2, #0x6
- b _020419EC
-_020419E6:
- mov r0, #0x7
- mov r1, #0x9
- mov r2, #0xa
-_020419EC:
- strh r0, [r7, #0x0]
- strh r1, [r6, #0x0]
- strh r2, [r5, #0x0]
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_020419F8
-FUN_020419F8: ; 0x020419F8
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x8
- bl FUN_02039438
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r7, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394B8
- add r5, r0, #0x0
- ldrh r0, [r4, #0x0]
- bl FUN_020395F4
- bl FUN_0203962C
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- bne _02041A5A
- mov r1, #0x0
- mov r0, #0x11
- add r2, r1, #0x0
- b _02041A74
-_02041A5A:
- ldrh r0, [r4, #0x0]
- bl FUN_02039618
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- bne _02041A6E
- mov r0, #0x12
- mov r1, #0x0
- mov r2, #0x6
- b _02041A74
-_02041A6E:
- mov r0, #0x13
- mov r1, #0x0
- mov r2, #0xa
-_02041A74:
- strh r0, [r7, #0x0]
- strh r1, [r6, #0x0]
- strh r2, [r5, #0x0]
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02041A80
-FUN_02041A80: ; 0x02041A80
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x8
- bl FUN_02039438
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394B8
- add r5, r0, #0x0
- ldrh r0, [r4, #0x0]
- bl FUN_020395F4
- bl FUN_0203962C
- strh r0, [r5, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02041AB4
-FUN_02041AB4: ; 0x02041AB4
- push {r4, lr}
- add r4, r0, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394F0
- bl FUN_0204AD0C
- bl FUN_02004724
- mov r0, #0x1
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02041AD4
-FUN_02041AD4: ; 0x02041AD4
- push {r3, lr}
- ldr r0, [r0, #0x74]
- bl FUN_02048498
- mov r0, #0x1
- pop {r3, pc}
-
- thumb_func_start FUN_02041AE0
-FUN_02041AE0: ; 0x02041AE0
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x17
- bl FUN_02039438
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394B8
- add r5, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020480B8
- strh r0, [r5, #0x0]
- mov r0, #0x1
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02041B10
-FUN_02041B10: ; 0x02041B10
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x17
- bl FUN_02039438
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394B8
- add r5, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020480C8
- strh r0, [r5, #0x0]
- mov r0, #0x1
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02041B40
-FUN_02041B40: ; 0x02041B40
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x17
- bl FUN_02039438
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394B8
- add r5, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020480D8
- strh r0, [r5, #0x0]
- mov r0, #0x1
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02041B70
-FUN_02041B70: ; 0x02041B70
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r5, #0x80
- add r4, r0, #0x0
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_0206BB1C
- bl FUN_0204A248
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02041B9C
-FUN_02041B9C: ; 0x02041B9C
- push {r4, lr}
- sub sp, #0x8
- add r4, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x17
- bl FUN_02039438
- mov r1, #0xb
- str r1, [sp, #0x0]
- str r0, [sp, #0x4]
- mov r2, #0x0
- ldr r0, [r4, #0x74]
- mov r1, #0x1
- add r3, r2, #0x0
- bl FUN_020470E8
- mov r0, #0x1
- add sp, #0x8
- pop {r4, pc}
-
- thumb_func_start FUN_02041BC4
-FUN_02041BC4: ; 0x02041BC4
- push {r3-r5, lr}
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xa
- bl FUN_02039438
- add r5, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_02058738
- add r4, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_02058448
- add r1, r0, #0x0
- lsl r1, r1, #0x10
- add r0, r4, #0x0
- lsr r1, r1, #0x10
- bl FUN_0203965C
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02041BF0
-FUN_02041BF0: ; 0x02041BF0
- push {r3-r7, lr}
- add r6, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xa
- bl FUN_02039438
- add r5, r0, #0x0
- add r0, r6, #0x0
- bl ScriptReadWord
- add r4, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_02058738
- add r7, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_02058448
- add r1, r0, #0x0
- lsl r1, r1, #0x10
- add r0, r7, #0x0
- lsr r1, r1, #0x10
- bl FUN_02039640
- cmp r0, #0x1
- bne _02041C34
- ldr r1, [r6, #0x8]
- add r0, r6, #0x0
- add r1, r1, r4
- bl ScriptJump
- mov r0, #0x1
- pop {r3-r7, pc}
-_02041C34:
- mov r0, #0x0
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02041C38
-FUN_02041C38: ; 0x02041C38
- push {r4-r7, lr}
- sub sp, #0xc
- add r4, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xf
- bl FUN_02039438
- add r6, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_0202881C
- add r5, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r7, [r0, #0xc]
- add r0, r4, #0x0
- bl ScriptReadHalfword
- cmp r0, #0x6
- bls _02041C6C
- b _02041E38
-_02041C6C:
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_02041C78: ; jump table (using 16-bit offset)
- .short _02041C86 - _02041C78 - 2; case 0
- .short _02041CBC - _02041C78 - 2; case 1
- .short _02041CF2 - _02041C78 - 2; case 2
- .short _02041D28 - _02041C78 - 2; case 3
- .short _02041D5E - _02041C78 - 2; case 4
- .short _02041D94 - _02041C78 - 2; case 5
- .short _02041DCE - _02041C78 - 2; case 6
-_02041C86:
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394B8
- add r4, r0, #0x0
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_02028828
- strh r0, [r4, #0x0]
- add sp, #0xc
- mov r0, #0x0
- pop {r4-r7, pc}
-_02041CBC:
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394B8
- add r4, r0, #0x0
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_02028840
- strh r0, [r4, #0x0]
- add sp, #0xc
- mov r0, #0x0
- pop {r4-r7, pc}
-_02041CF2:
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394F0
- add r3, r0, #0x0
- mov r0, #0x0
- str r0, [sp, #0x0]
- ldr r0, [r6, #0x0]
- add r1, r7, #0x0
- add r2, r5, #0x0
- bl FUN_0200B708
- b _02041E38
-_02041D28:
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394F0
- add r3, r0, #0x0
- mov r0, #0x1
- str r0, [sp, #0x0]
- ldr r0, [r6, #0x0]
- add r1, r7, #0x0
- add r2, r5, #0x0
- bl FUN_0200B708
- b _02041E38
-_02041D5E:
- mov r1, #0x0
- add r0, r5, #0x0
- add r2, r1, #0x0
- bl FUN_020287A8
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- mov r2, #0x0
- str r2, [sp, #0x0]
- str r5, [sp, #0x4]
- str r0, [sp, #0x8]
- ldr r0, [r4, #0x74]
- mov r1, #0x5
- mov r3, #0x7
- bl FUN_020385CC
- add sp, #0xc
- mov r0, #0x1
- pop {r4-r7, pc}
-_02041D94:
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r7, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0x1
- bl FUN_02028828
- add r6, r0, #0x0
- add r0, r5, #0x0
- add r1, r7, #0x0
- mov r2, #0x1
- bl FUN_02028700
- cmp r6, #0x0
- beq _02041DC8
- add r4, #0x80
- ldr r0, [r4, #0x0]
- bl FUN_020612F8
-_02041DC8:
- add sp, #0xc
- mov r0, #0x0
- pop {r4-r7, pc}
-_02041DCE:
- mov r0, #0x40
- mov r1, #0x20
- bl FUN_020219F4
- add r6, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_020238F4
- add r1, r6, #0x0
- add r7, r0, #0x0
- bl FUN_02023990
- add r0, r5, #0x0
- mov r1, #0x0
- mov r2, #0x1
- add r3, r6, #0x0
- bl FUN_020287C0
- add r0, r7, #0x0
- bl FUN_020239CC
- add r2, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0x0
- bl FUN_020287EC
- add r0, r5, #0x0
- mov r1, #0x0
- mov r2, #0x2
- bl FUN_02028810
- bl FUN_0201BA60
- add r2, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0x0
- bl FUN_02028788
- add r0, r6, #0x0
- bl FUN_02021A20
- add r0, r5, #0x0
- mov r1, #0x0
- mov r2, #0x1
- bl FUN_02028700
- add r4, #0x80
- ldr r0, [r4, #0x0]
- bl FUN_020612EC
-_02041E38:
- mov r0, #0x0
- add sp, #0xc
- pop {r4-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02041E40
-FUN_02041E40: ; 0x02041E40
- push {r3-r7, lr}
- add r4, r0, #0x0
- bl ScriptReadHalfword
- cmp r0, #0x6
- bls _02041E4E
- b _02041FD2
-_02041E4E:
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_02041E5A: ; jump table (using 16-bit offset)
- .short _02041E68 - _02041E5A - 2; case 0
- .short _02041E88 - _02041E5A - 2; case 1
- .short _02041F24 - _02041E5A - 2; case 2
- .short _02041ECA - _02041E5A - 2; case 3
- .short _02041F2E - _02041E5A - 2; case 4
- .short _02041F68 - _02041E5A - 2; case 5
- .short _02041FB4 - _02041E5A - 2; case 6
-_02041E68:
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r4, #0x80
- add r5, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_02248CD0
- strh r0, [r5, #0x0]
- b _02041FD2
-_02041E88:
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r7, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r6, r0, #0x0
- ldr r0, _02041FD8 ; =0x00000233
- add r4, #0x80
- strh r0, [r5, #0x0]
- ldr r0, [r4, #0x0]
- add r1, r7, #0x0
- bl FUN_02249038
- strh r0, [r6, #0x0]
- b _02041FD2
-_02041ECA:
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xf
- bl FUN_02039438
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r7, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- str r0, [sp, #0x0]
- add r4, #0x80
- ldr r0, [r4, #0x0]
- ldr r1, [r5, #0x0]
- add r2, r6, #0x0
- add r3, r7, #0x0
- bl FUN_022490A0
- b _02041FD2
-_02041F24:
- add r4, #0x80
- ldr r0, [r4, #0x0]
- bl FUN_02248CC0
- b _02041FD2
-_02041F2E:
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r6, r0, #0x0
- mov r0, #0x8d
- lsl r0, r0, #0x2
- add r4, #0x80
- strh r0, [r5, #0x0]
- ldr r0, [r4, #0x0]
- bl FUN_022491FC
- strh r0, [r6, #0x0]
- b _02041FD2
-_02041F68:
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r7, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r4, #0x80
- add r5, r0, #0x0
- ldr r0, [r4, #0x0]
- add r1, r6, #0x0
- add r2, r7, #0x0
- bl FUN_02248F70
- strh r0, [r5, #0x0]
- b _02041FD2
-_02041FB4:
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r4, #0x80
- add r5, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_02248FE0
- strh r0, [r5, #0x0]
-_02041FD2:
- mov r0, #0x0
- pop {r3-r7, pc}
- nop
-_02041FD8: .word 0x00000233
-
- thumb_func_start FUN_02041FDC
-FUN_02041FDC: ; 0x02041FDC
- push {r4, lr}
- add r4, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_02061374
- mov r0, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02042000
-FUN_02042000: ; 0x02042000
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_0206BB1C
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r1, r0, #0x0
- add r0, r4, #0x0
- bl FUN_0206B9B0
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_02061460
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02042038
-FUN_02042038: ; 0x02042038
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xf
- bl FUN_02039438
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- cmp r0, #0x0
- beq _02042058
- cmp r0, #0x1
- beq _020420A8
- b _02042106
-_02042058:
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- str r0, [sp, #0x0]
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r7, r0, #0x0
- ldr r0, _0204210C ; =0x00000232
- add r5, #0x80
- strh r0, [r6, #0x0]
- ldr r0, [sp, #0x0]
- ldr r1, [r5, #0x0]
- ldr r2, [r4, #0x0]
- bl FUN_020421F0
- strh r0, [r7, #0x0]
- b _02042106
-_020420A8:
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_02029FC8
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r7, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r5, #0x80
- add r3, r0, #0x0
- ldr r0, [r5, #0x0]
- add r1, r6, #0x0
- add r2, r7, #0x0
- bl FUN_020421D8
- add r0, r4, #0x0
- mov r1, #0x3
- bl FUN_0202A170
-_02042106:
- mov r0, #0x0
- pop {r3-r7, pc}
- nop
-_0204210C: .word 0x00000232
-
- thumb_func_start FUN_02042110
-FUN_02042110: ; 0x02042110
- push {r4-r6, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r5, #0x80
- add r4, r0, #0x0
- ldr r0, [r5, #0x0]
- add r1, r6, #0x0
- bl FUN_02042214
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_0204214C
-FUN_0204214C: ; 0x0204214C
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_02022504
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- cmp r0, #0x0
- beq _02042170
- cmp r0, #0x1
- beq _020421A2
- cmp r0, #0x2
- beq _020421BC
- b _020421D4
-_02042170:
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_0206BB1C
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- add r1, r0, #0x0
- add r0, r6, #0x0
- bl FUN_0206B9B0
- add r1, r0, #0x0
- add r0, r4, #0x0
- mov r2, #0x4
- bl FUN_02060F3C
- b _020421D4
-_020421A2:
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- add r1, r0, #0x0
- add r0, r4, #0x0
- bl FUN_02060F9C
- b _020421D4
-_020421BC:
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- add r1, r0, #0x0
- add r0, r4, #0x0
- bl FUN_02060F88
-_020421D4:
- mov r0, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_020421D8
-FUN_020421D8: ; 0x020421D8
- push {r3, lr}
- sub r1, r1, #0x1
- lsl r3, r1, #0x4
- ldr r1, _020421EC ; =0x020F4264
- ldr r3, [r1, r3]
- cmp r3, #0x0
- beq _020421EA
- add r1, r2, #0x0
- blx r3
-_020421EA:
- pop {r3, pc}
- .balign 4
-_020421EC: .word 0x020F4264
-
- thumb_func_start FUN_020421F0
-FUN_020421F0: ; 0x020421F0
- push {r4, lr}
- sub r0, r0, #0x1
- lsl r4, r0, #0x4
- ldr r0, _0204220C ; =0x020F4268
- ldr r3, [r0, r4]
- cmp r3, #0x0
- beq _02042204
- add r0, r1, #0x0
- add r1, r2, #0x0
- blx r3
-_02042204:
- ldr r0, _02042210 ; =0x020F4270
- ldr r0, [r0, r4]
- pop {r4, pc}
- nop
-_0204220C: .word 0x020F4268
-_02042210: .word 0x020F4270
-
- thumb_func_start FUN_02042214
-FUN_02042214: ; 0x02042214
- push {r3-r5, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0xc]
- add r5, r1, #0x0
- bl FUN_02022504
- mov r1, #0x1
- add r2, r5, #0x0
- bl FUN_0202B710
- cmp r0, #0x0
- bne _02042230
- mov r0, #0x0
- pop {r3-r5, pc}
-_02042230:
- sub r0, r5, #0x1
- lsl r1, r0, #0x4
- ldr r0, _02042248 ; =0x020F426C
- ldr r1, [r0, r1]
- cmp r1, #0x0
- bne _02042240
- mov r0, #0x1
- pop {r3-r5, pc}
-_02042240:
- add r0, r4, #0x0
- blx r1
- pop {r3-r5, pc}
- nop
-_02042248: .word 0x020F426C
-
- thumb_func_start FUN_0204224C
-FUN_0204224C: ; 0x0204224C
- push {r4-r7, lr}
- sub sp, #0xc
- add r5, r0, #0x0
- add r6, r1, #0x0
- add r7, r2, #0x0
- mov r0, #0x40
- mov r1, #0x4
- str r3, [sp, #0x8]
- bl FUN_020219F4
- add r1, r7, #0x0
- add r4, r0, #0x0
- bl FUN_02021E28
- ldr r0, [sp, #0x24]
- ldr r3, [sp, #0x8]
- str r0, [sp, #0x0]
- ldr r0, [sp, #0x20]
- add r1, r6, #0x0
- str r0, [sp, #0x4]
- add r0, r5, #0x0
- add r2, r4, #0x0
- bl FUN_0200ABB4
- add r0, r4, #0x0
- bl FUN_02021A20
- add sp, #0xc
- pop {r4-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02042288
-FUN_02042288: ; 0x02042288
- push {r4, lr}
- ldr r0, [r0, #0xc]
- add r4, r1, #0x0
- bl FUN_0206BB1C
- bl FUN_0204A20C
- bl FUN_020690E4
- add r2, r0, #0x0
- add r0, r4, #0x0
- mov r1, #0x0
- bl FUN_0200AC60
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_020422A8
-FUN_020422A8: ; 0x020422A8
- push {r4, lr}
- ldr r0, [r0, #0x4]
- add r4, r1, #0x0
- ldr r0, [r0, #0x14]
- bl FUN_02252538
- add r2, r0, #0x0
- add r0, r4, #0x0
- mov r1, #0x0
- bl FUN_0200B02C
- pop {r4, pc}
-
- thumb_func_start FUN_020422C0
-FUN_020422C0: ; 0x020422C0
- push {r4, lr}
- sub sp, #0x20
- ldr r0, [r0, #0xc]
- add r4, r1, #0x0
- bl FUN_02022504
- bl FUN_0202B844
- ldrh r0, [r0, #0x2]
- mov r1, #0x4
- add r2, sp, #0x8
- bl FUN_0200A99C
- mov r0, #0x2
- str r0, [sp, #0x0]
- mov r0, #0x1
- mov r1, #0x0
- str r0, [sp, #0x4]
- add r0, r4, #0x0
- add r2, sp, #0x8
- add r3, r1, #0x0
- bl FUN_0204224C
- add sp, #0x20
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_020422F4
-FUN_020422F4: ; 0x020422F4
- push {r3, lr}
- ldr r0, [r0, #0xc]
- bl FUN_02022504
- bl FUN_0202B85C
- ldrb r0, [r0, #0x0]
- pop {r3, pc}
-
- thumb_func_start FUN_02042304
-FUN_02042304: ; 0x02042304
- push {r3, lr}
- ldr r0, [r0, #0xc]
- bl FUN_0204C1A8
- bl FUN_0204BEC8
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_02042314
-FUN_02042314: ; 0x02042314
- push {r3, lr}
- ldr r0, [r0, #0xc]
- bl FUN_02022504
- bl FUN_0202B838
- ldrb r0, [r0, #0x0]
- pop {r3, pc}
-
- thumb_func_start FUN_02042324
-FUN_02042324: ; 0x02042324
- push {r3, lr}
- ldr r0, [r0, #0xc]
- bl FUN_02027E24
- mov r1, #0x0
- bl FUN_02027098
- pop {r3, pc}
-
- thumb_func_start FUN_02042334
-FUN_02042334: ; 0x02042334
- push {r3, lr}
- ldr r0, [r0, #0xc]
- bl FUN_02022504
- bl FUN_0202B850
- ldrb r0, [r0, #0x0]
- pop {r3, pc}
-
- thumb_func_start FUN_02042344
-FUN_02042344: ; 0x02042344
- push {r3, lr}
- ldr r0, [r0, #0xc]
- bl FUN_02022504
- bl FUN_0202B844
- ldrb r0, [r0, #0x0]
- pop {r3, pc}
-
- thumb_func_start FUN_02042354
-FUN_02042354: ; 0x02042354
- push {r3, lr}
- add r0, #0x80
- ldr r0, [r0, #0x0]
- add r0, #0xa8
- bl FUN_022434BC
- mov r0, #0x0
- pop {r3, pc}
-
- thumb_func_start FUN_02042364
-FUN_02042364: ; 0x02042364
- push {r4-r6, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r6, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020377AC
- add r1, r4, #0x0
- add r2, r6, #0x0
- bl FUN_022434D0
- add r5, #0x80
- ldr r1, [r5, #0x0]
- add r1, #0xa8
- str r0, [r1, #0x0]
- mov r0, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02042394
-FUN_02042394: ; 0x02042394
- push {r4, lr}
- add r4, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- add r0, #0xa8
- ldr r0, [r0, #0x0]
- bl FUN_02243694
- add r4, #0x80
- ldr r1, [r4, #0x0]
- mov r0, #0x0
- add r1, #0xa8
- str r0, [r1, #0x0]
- pop {r4, pc}
-
- thumb_func_start FUN_020423B0
-FUN_020423B0: ; 0x020423B0
- push {r3-r7, lr}
- sub sp, #0x8
- add r7, r0, #0x0
- bl ScriptReadHalfword
- str r0, [sp, #0x0]
- add r0, r7, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r7, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r6, r0, #0x0
- add r0, r7, #0x0
- bl ScriptReadHalfword
- str r0, [sp, #0x4]
- add r0, r7, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r1, [sp, #0x4]
- bl FUN_020394B8
- add r4, r0, #0x0
- add r0, r7, #0x0
- add r0, #0x80
- ldr r1, [r0, #0x0]
- add r0, r1, #0x0
- add r0, #0xa8
- ldr r5, [r0, #0x0]
- ldr r0, [sp, #0x0]
- cmp r0, #0x64
- bls _020423FA
- b _020426F6
-_020423FA:
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_02042406: ; jump table (using 16-bit offset)
- .short _020424D0 - _02042406 - 2; case 0
- .short _020424DA - _02042406 - 2; case 1
- .short _020424F6 - _02042406 - 2; case 2
- .short _020424FC - _02042406 - 2; case 3
- .short _02042508 - _02042406 - 2; case 4
- .short _02042516 - _02042406 - 2; case 5
- .short _0204251E - _02042406 - 2; case 6
- .short _020426F6 - _02042406 - 2; case 7
- .short _02042526 - _02042406 - 2; case 8
- .short _02042532 - _02042406 - 2; case 9
- .short _02042540 - _02042406 - 2; case 10
- .short _0204254E - _02042406 - 2; case 11
- .short _0204255A - _02042406 - 2; case 12
- .short _020426F6 - _02042406 - 2; case 13
- .short _02042564 - _02042406 - 2; case 14
- .short _0204256E - _02042406 - 2; case 15
- .short _02042578 - _02042406 - 2; case 16
- .short _020426F6 - _02042406 - 2; case 17
- .short _020426F6 - _02042406 - 2; case 18
- .short _020426F6 - _02042406 - 2; case 19
- .short _020426F6 - _02042406 - 2; case 20
- .short _020426F6 - _02042406 - 2; case 21
- .short _020426F6 - _02042406 - 2; case 22
- .short _020426F6 - _02042406 - 2; case 23
- .short _020426F6 - _02042406 - 2; case 24
- .short _020426F6 - _02042406 - 2; case 25
- .short _020426F6 - _02042406 - 2; case 26
- .short _020426F6 - _02042406 - 2; case 27
- .short _020426F6 - _02042406 - 2; case 28
- .short _020426F6 - _02042406 - 2; case 29
- .short _0204258A - _02042406 - 2; case 30
- .short _020425A2 - _02042406 - 2; case 31
- .short _020425BC - _02042406 - 2; case 32
- .short _020425C8 - _02042406 - 2; case 33
- .short _020425D2 - _02042406 - 2; case 34
- .short _020425DC - _02042406 - 2; case 35
- .short _020425E6 - _02042406 - 2; case 36
- .short _020425F0 - _02042406 - 2; case 37
- .short _020425F8 - _02042406 - 2; case 38
- .short _02042600 - _02042406 - 2; case 39
- .short _02042608 - _02042406 - 2; case 40
- .short _0204261A - _02042406 - 2; case 41
- .short _02042626 - _02042406 - 2; case 42
- .short _02042642 - _02042406 - 2; case 43
- .short _0204264C - _02042406 - 2; case 44
- .short _02042656 - _02042406 - 2; case 45
- .short _02042660 - _02042406 - 2; case 46
- .short _0204266A - _02042406 - 2; case 47
- .short _02042674 - _02042406 - 2; case 48
- .short _02042680 - _02042406 - 2; case 49
- .short _0204268C - _02042406 - 2; case 50
- .short _020426A0 - _02042406 - 2; case 51
- .short _020426AA - _02042406 - 2; case 52
- .short _020426B4 - _02042406 - 2; case 53
- .short _020426BE - _02042406 - 2; case 54
- .short _020426CC - _02042406 - 2; case 55
- .short _02042612 - _02042406 - 2; case 56
- .short _020426DA - _02042406 - 2; case 57
- .short _020426F6 - _02042406 - 2; case 58
- .short _020426F6 - _02042406 - 2; case 59
- .short _020426F6 - _02042406 - 2; case 60
- .short _020426F6 - _02042406 - 2; case 61
- .short _020426F6 - _02042406 - 2; case 62
- .short _020426F6 - _02042406 - 2; case 63
- .short _020426F6 - _02042406 - 2; case 64
- .short _020426F6 - _02042406 - 2; case 65
- .short _020426F6 - _02042406 - 2; case 66
- .short _020426F6 - _02042406 - 2; case 67
- .short _020426F6 - _02042406 - 2; case 68
- .short _020426F6 - _02042406 - 2; case 69
- .short _020426F6 - _02042406 - 2; case 70
- .short _020426F6 - _02042406 - 2; case 71
- .short _020426F6 - _02042406 - 2; case 72
- .short _020426F6 - _02042406 - 2; case 73
- .short _020426F6 - _02042406 - 2; case 74
- .short _020426F6 - _02042406 - 2; case 75
- .short _020426F6 - _02042406 - 2; case 76
- .short _020426F6 - _02042406 - 2; case 77
- .short _020426F6 - _02042406 - 2; case 78
- .short _020426F6 - _02042406 - 2; case 79
- .short _020426F6 - _02042406 - 2; case 80
- .short _020426F6 - _02042406 - 2; case 81
- .short _020426F6 - _02042406 - 2; case 82
- .short _020426F6 - _02042406 - 2; case 83
- .short _020426F6 - _02042406 - 2; case 84
- .short _020426F6 - _02042406 - 2; case 85
- .short _020426F6 - _02042406 - 2; case 86
- .short _020426F6 - _02042406 - 2; case 87
- .short _020426F6 - _02042406 - 2; case 88
- .short _020426F6 - _02042406 - 2; case 89
- .short _020426F6 - _02042406 - 2; case 90
- .short _020426F6 - _02042406 - 2; case 91
- .short _020426F6 - _02042406 - 2; case 92
- .short _020426F6 - _02042406 - 2; case 93
- .short _020426F6 - _02042406 - 2; case 94
- .short _020426F6 - _02042406 - 2; case 95
- .short _020426F6 - _02042406 - 2; case 96
- .short _020426F6 - _02042406 - 2; case 97
- .short _020426F6 - _02042406 - 2; case 98
- .short _020426F6 - _02042406 - 2; case 99
- .short _020426E6 - _02042406 - 2; case 100
-_020424D0:
- add r0, r6, #0x0
- bl FUN_0224312C
- strh r0, [r4, #0x0]
- b _020426FA
-_020424DA:
- cmp r6, #0x0
- bne _020424EA
- ldrb r0, [r5, #0xe]
- ldr r1, [r1, #0xc]
- bl FUN_022432E4
- strh r0, [r4, #0x0]
- b _020426FA
-_020424EA:
- ldr r1, [r1, #0xc]
- add r0, r6, #0x0
- bl FUN_022432E4
- strh r0, [r4, #0x0]
- b _020426FA
-_020424F6:
- bl FUN_0224339C
- b _020426FA
-_020424FC:
- ldr r0, [r1, #0xc]
- bl FUN_0202A8CC
- bl FUN_022433A8
- b _020426FA
-_02042508:
- ldr r0, [r1, #0xc]
- bl FUN_0202A8CC
- bl FUN_022433B0
- strh r0, [r4, #0x0]
- b _020426FA
-_02042516:
- add r0, r1, #0x0
- bl FUN_022433B8
- b _020426FA
-_0204251E:
- add r0, r1, #0x0
- bl FUN_022433F8
- b _020426FA
-_02042526:
- ldr r0, [r1, #0xc]
- add r1, r6, #0x0
- bl FUN_02243408
- strh r0, [r4, #0x0]
- b _020426FA
-_02042532:
- ldr r1, [r1, #0xc]
- mov r0, #0x0
- mov r2, #0x2
- bl FUN_02243E74
- strh r0, [r4, #0x0]
- b _020426FA
-_02042540:
- mov r0, #0x0
- ldr r1, [r1, #0xc]
- add r2, r0, #0x0
- bl FUN_02243E74
- strh r0, [r4, #0x0]
- b _020426FA
-_0204254E:
- ldr r0, [r1, #0xc]
- lsl r1, r6, #0x18
- lsr r1, r1, #0x18
- bl FUN_02243428
- b _020426FA
-_0204255A:
- ldr r0, [r1, #0xc]
- bl FUN_02243448
- strh r0, [r4, #0x0]
- b _020426FA
-_02042564:
- ldr r0, [r1, #0xc]
- bl FUN_0224345C
- strh r0, [r4, #0x0]
- b _020426FA
-_0204256E:
- ldr r0, [r1, #0xc]
- bl FUN_022434AC
- strh r0, [r4, #0x0]
- b _020426FA
-_02042578:
- ldrh r3, [r4, #0x0]
- ldr r0, [r7, #0x74]
- ldr r2, [sp, #0x4]
- add r1, r6, #0x0
- bl FUN_0205FD38
- add sp, #0x8
- mov r0, #0x1
- pop {r3-r7, pc}
-_0204258A:
- add r0, r1, #0x0
- mov r1, #0x13
- bl FUN_02039438
- add r2, r0, #0x0
- ldr r1, [r7, #0x74]
- add r0, r5, #0x0
- bl FUN_022436C8
- add sp, #0x8
- mov r0, #0x1
- pop {r3-r7, pc}
-_020425A2:
- add r0, r1, #0x0
- mov r1, #0x13
- bl FUN_02039438
- add r7, #0x80
- ldr r2, [r7, #0x0]
- add r1, r0, #0x0
- ldr r2, [r2, #0xc]
- add r0, r5, #0x0
- bl FUN_022436E8
- strh r0, [r4, #0x0]
- b _020426FA
-_020425BC:
- ldr r1, [r1, #0xc]
- add r0, r5, #0x0
- bl FUN_02243780
- strh r0, [r4, #0x0]
- b _020426FA
-_020425C8:
- add r0, r5, #0x0
- bl FUN_022438DC
- strh r0, [r4, #0x0]
- b _020426FA
-_020425D2:
- add r0, r5, #0x0
- bl FUN_022438E0
- strh r0, [r4, #0x0]
- b _020426FA
-_020425DC:
- add r0, r5, #0x0
- bl FUN_022438FC
- strh r0, [r4, #0x0]
- b _020426FA
-_020425E6:
- add r0, r5, #0x0
- bl FUN_02243920
- strh r0, [r4, #0x0]
- b _020426FA
-_020425F0:
- add r0, r5, #0x0
- bl FUN_022439F8
- b _020426FA
-_020425F8:
- add r0, r5, #0x0
- bl FUN_02243AD8
- b _020426FA
-_02042600:
- add r0, r5, #0x0
- bl FUN_02243BA8
- b _020426FA
-_02042608:
- ldr r1, [r1, #0xc]
- add r0, r5, #0x0
- bl FUN_02243C5C
- b _020426FA
-_02042612:
- add r0, r5, #0x0
- bl FUN_02243D3C
- b _020426FA
-_0204261A:
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_02243DA0
- strh r0, [r4, #0x0]
- b _020426FA
-_02042626:
- add r0, r1, #0x0
- mov r1, #0x17
- bl FUN_02039438
- add r7, #0x80
- add r2, r0, #0x0
- ldr r0, [r7, #0x0]
- add r1, r5, #0x0
- ldr r0, [r0, #0x10]
- bl FUN_02243DB8
- add sp, #0x8
- mov r0, #0x1
- pop {r3-r7, pc}
-_02042642:
- add r0, r5, #0x0
- bl FUN_02243DC0
- strh r0, [r4, #0x0]
- b _020426FA
-_0204264C:
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_02243DC4
- b _020426FA
-_02042656:
- add r0, r5, #0x0
- bl FUN_02243DD8
- strh r0, [r4, #0x0]
- b _020426FA
-_02042660:
- add r0, r5, #0x0
- bl FUN_02243DE0
- strh r0, [r4, #0x0]
- b _020426FA
-_0204266A:
- ldr r1, [r1, #0xc]
- add r0, r5, #0x0
- bl FUN_02243E34
- b _020426FA
-_02042674:
- ldr r1, [r1, #0xc]
- add r0, r5, #0x0
- bl FUN_02243F18
- strh r0, [r4, #0x0]
- b _020426FA
-_02042680:
- ldr r1, [r1, #0xc]
- add r0, r5, #0x0
- bl FUN_02243F50
- strh r0, [r4, #0x0]
- b _020426FA
-_0204268C:
- ldrb r1, [r5, #0x10]
- mov r0, #0xe0
- bic r1, r0
- lsl r0, r6, #0x18
- lsr r0, r0, #0x18
- lsl r0, r0, #0x1d
- lsr r0, r0, #0x18
- orr r0, r1
- strb r0, [r5, #0x10]
- b _020426FA
-_020426A0:
- ldrb r0, [r5, #0x10]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x1d
- strh r0, [r4, #0x0]
- b _020426FA
-_020426AA:
- ldr r1, [r1, #0xc]
- add r0, r5, #0x0
- bl FUN_02243838
- b _020426FA
-_020426B4:
- add r0, r5, r6
- add r0, #0x2a
- ldrb r0, [r0, #0x0]
- strh r0, [r4, #0x0]
- b _020426FA
-_020426BE:
- ldr r1, [r1, #0xc]
- add r0, r5, #0x0
- mov r2, #0x1
- bl FUN_02243E74
- strh r0, [r4, #0x0]
- b _020426FA
-_020426CC:
- lsl r1, r6, #0x18
- add r0, r5, #0x0
- lsr r1, r1, #0x18
- bl FUN_0204290C
- strh r0, [r4, #0x0]
- b _020426FA
-_020426DA:
- ldr r1, [r1, #0xc]
- add r0, r5, #0x0
- bl FUN_02243F9C
- strh r0, [r4, #0x0]
- b _020426FA
-_020426E6:
- cmp r5, #0x0
- bne _020426F0
- mov r0, #0x1
- strh r0, [r4, #0x0]
- b _020426FA
-_020426F0:
- mov r0, #0x0
- strh r0, [r4, #0x0]
- b _020426FA
-_020426F6:
- mov r0, #0x0
- strh r0, [r4, #0x0]
-_020426FA:
- mov r0, #0x0
- add sp, #0x8
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02042700
-FUN_02042700: ; 0x02042700
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r1, r5, #0x0
- add r1, #0x80
- ldr r1, [r1, #0x0]
- add r1, #0xa8
- ldr r4, [r1, #0x0]
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r7, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- str r0, [sp, #0x0]
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394B8
- lsl r2, r6, #0x4
- add r2, r6, r2
- mov r1, #0x38
- lsl r2, r2, #0x4
- mul r1, r7
- add r2, r4, r2
- add r3, r2, r1
- mov r2, #0xb2
- lsl r2, r2, #0x2
- ldrh r1, [r3, r2]
- lsl r1, r1, #0x15
- lsr r4, r1, #0x15
- ldr r1, [sp, #0x0]
- strh r4, [r1, #0x0]
- add r1, r2, #0x4
- ldrh r1, [r3, r1]
- strh r1, [r0, #0x0]
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02042780
-FUN_02042780: ; 0x02042780
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r5, #0x80
- add r4, r0, #0x0
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_0205FE10
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_020427A8
-FUN_020427A8: ; 0x020427A8
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r5, #0x80
- add r4, r0, #0x0
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_0205FF5C
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_020427D0
-FUN_020427D0: ; 0x020427D0
- push {r3-r7, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r7, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x0
- add r0, #0xa8
- ldr r6, [r0, #0x0]
- ldr r0, _0204285C ; =0x00000884
- mov r2, #0x46
- add r0, r6, r0
- blx MI_CpuFill8
- cmp r4, #0x0
- beq _0204281E
- cmp r4, #0x1
- beq _02042830
- cmp r4, #0x2
- beq _0204283E
- b _0204284C
-_0204281E:
- add r5, #0x80
- ldr r1, [r5, #0x0]
- add r0, r1, #0x0
- add r0, #0xa8
- ldr r0, [r0, #0x0]
- ldr r1, [r1, #0xc]
- bl FUN_022446FC
- b _0204284C
-_02042830:
- add r5, #0x80
- ldr r0, [r5, #0x0]
- add r0, #0xa8
- ldr r0, [r0, #0x0]
- bl FUN_02244758
- b _0204284C
-_0204283E:
- add r5, #0x80
- ldr r0, [r5, #0x0]
- add r1, r7, #0x0
- add r0, #0xa8
- ldr r0, [r0, #0x0]
- bl FUN_02244770
-_0204284C:
- bl FUN_02031190
- ldr r1, _02042860 ; =0x0000083E
- add r1, r6, r1
- bl FUN_020316AC
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-_0204285C: .word 0x00000884
-_02042860: .word 0x0000083E
-
- thumb_func_start FUN_02042864
-FUN_02042864: ; 0x02042864
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r2, r0, #0x0
- ldr r0, [r5, #0x0]
- add r1, r4, #0x0
- ldr r0, [r0, #0x10]
- bl FUN_0205FDDC
- mov r0, #0x1
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02042894
-FUN_02042894: ; 0x02042894
- push {r3-r6, lr}
- sub sp, #0x4
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r5, #0x80
- add r6, r0, #0x0
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_0202A8E4
- add r1, sp, #0x0
- bl FUN_0202A864
- add r0, sp, #0x0
- ldrb r1, [r0, #0x0]
- strh r1, [r4, #0x0]
- ldrb r0, [r0, #0x1]
- strh r0, [r6, #0x0]
- mov r0, #0x0
- add sp, #0x4
- pop {r3-r6, pc}
-
- thumb_func_start FUN_020428E0
-FUN_020428E0: ; 0x020428E0
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r5, #0x80
- add r4, r0, #0x0
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_0202A8E4
- bl FUN_0202A74C
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0204290C
-FUN_0204290C: ; 0x0204290C
- cmp r1, #0x2
- bne _02042918
- ldrb r0, [r0, #0x10]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x1d
- bx lr
-_02042918:
- cmp r1, #0x1
- bne _0204293E
- ldrb r1, [r0, #0xf]
- cmp r1, #0x2
- bne _02042930
- ldrb r0, [r0, #0x10]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x1d
- lsl r1, r0, #0x1
- ldr r0, _0204294C ; =0x020F4334
- ldrh r0, [r0, r1]
- bx lr
-_02042930:
- ldrb r0, [r0, #0x12]
- cmp r0, #0x0
- beq _0204293A
- mov r0, #0x61
- bx lr
-_0204293A:
- mov r0, #0x0
- bx lr
-_0204293E:
- ldrb r0, [r0, #0x11]
- cmp r0, #0x0
- beq _02042948
- mov r0, #0x61
- bx lr
-_02042948:
- mov r0, #0x0
- bx lr
- .balign 4
-_0204294C: .word 0x020F4334
-
- thumb_func_start FUN_02042950
-FUN_02042950: ; 0x02042950
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r1, [r5, #0x8]
- ldr r0, [r0, #0x0]
- add r2, r1, #0x1
- str r2, [r5, #0x8]
- ldrb r6, [r1, #0x0]
- add r1, r2, #0x1
- str r1, [r5, #0x8]
- ldrb r4, [r2, #0x0]
- mov r1, #0x26
- bl FUN_02039438
- add r5, #0x80
- add r7, r0, #0x0
- ldr r0, [r5, #0x0]
- add r1, r6, #0x0
- add r2, r4, #0x0
- bl FUN_021E2A70
- str r0, [r7, #0x0]
- mov r0, #0x0
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02042980
-FUN_02042980: ; 0x02042980
- push {r3, lr}
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x26
- bl FUN_02039438
- ldr r0, [r0, #0x0]
- bl FUN_021E29B4
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_02042998
-FUN_02042998: ; 0x02042998
- push {r4, lr}
- add r4, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x26
- bl FUN_02039438
- add r1, r0, #0x0
- add r4, #0x80
- ldr r0, [r4, #0x0]
- ldr r1, [r1, #0x0]
- bl FUN_021E2AD4
- mov r0, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_020429B8
-FUN_020429B8: ; 0x020429B8
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r1, r5, #0x0
- add r1, #0x80
- ldr r1, [r1, #0x0]
- ldr r4, [r1, #0xc]
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394B8
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_0202A8D8
- mov r1, #0x0
- add r2, r1, #0x0
- bl FUN_0202A3B4
- strh r0, [r5, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_020429E8
-FUN_020429E8: ; 0x020429E8
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r1, r5, #0x0
- add r1, #0x80
- ldr r1, [r1, #0x0]
- ldr r4, [r1, #0xc]
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_0202A8D8
- add r1, r5, #0x0
- mov r2, #0x5
- bl FUN_0202A3B4
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02042A18
-FUN_02042A18: ; 0x02042A18
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r1, r5, #0x0
- add r1, #0x80
- ldr r1, [r1, #0x0]
- ldr r4, [r1, #0xc]
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_0202A8D8
- add r1, r5, #0x0
- mov r2, #0x6
- bl FUN_0202A3B4
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02042A48
-FUN_02042A48: ; 0x02042A48
- push {r4-r6, lr}
- add r4, r0, #0x0
- add r1, r4, #0x0
- add r1, #0x80
- ldr r1, [r1, #0x0]
- ldr r5, [r1, #0xc]
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394B8
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0202A8D8
- mov r1, #0x0
- add r2, r1, #0x0
- bl FUN_0202A3B4
- cmp r0, r6
- bhs _02042A8E
- mov r0, #0x0
- b _02042A90
-_02042A8E:
- mov r0, #0x1
-_02042A90:
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02042A98
-FUN_02042A98: ; 0x02042A98
- push {r3-r7, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r7, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394B8
- cmp r7, #0x1
- bne _02042AEE
- mov r1, #0x1a
- b _02042AF0
-_02042AEE:
- mov r1, #0x0
-_02042AF0:
- add r1, r1, r6
- lsl r2, r1, #0x2
- ldr r1, _02042B04 ; =0x020F433E
- ldrh r1, [r1, r2]
- strh r1, [r4, #0x0]
- ldr r1, _02042B08 ; =0x020F4340
- ldrh r1, [r1, r2]
- strh r1, [r0, #0x0]
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-_02042B04: .word 0x020F433E
-_02042B08: .word 0x020F4340
-
- thumb_func_start FUN_02042B0C
-FUN_02042B0C: ; 0x02042B0C
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r4, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xa
- bl FUN_02039438
- add r1, r0, #0x0
- add r5, #0x80
- ldr r0, [r5, #0x0]
- ldr r1, [r1, #0x0]
- bl FUN_0204B5FC
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02042B40
-FUN_02042B40: ; 0x02042B40
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xa
- bl FUN_02039438
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r5, #0x80
- add r6, r0, #0x0
- ldr r0, [r5, #0x0]
- ldr r1, [r4, #0x0]
- bl FUN_0204B63C
- strh r0, [r6, #0x0]
- mov r0, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02042B74
-FUN_02042B74: ; 0x02042B74
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xa
- bl FUN_02039438
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r5, #0x80
- add r6, r0, #0x0
- ldr r0, [r5, #0x0]
- ldr r1, [r4, #0x0]
- bl FUN_0204B660
- strh r0, [r6, #0x0]
- mov r0, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02042BA8
-FUN_02042BA8: ; 0x02042BA8
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xa
- bl FUN_02039438
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r5, #0x80
- add r6, r0, #0x0
- ldr r0, [r5, #0x0]
- ldr r1, [r4, #0x0]
- bl FUN_0204B684
- strh r0, [r6, #0x0]
- mov r0, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02042BDC
-FUN_02042BDC: ; 0x02042BDC
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xa
- bl FUN_02039438
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r5, #0x80
- add r6, r0, #0x0
- ldr r0, [r5, #0x0]
- ldr r1, [r4, #0x0]
- bl FUN_0204B6A4
- strh r0, [r6, #0x0]
- mov r0, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02042C10
-FUN_02042C10: ; 0x02042C10
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xa
- bl FUN_02039438
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r5, #0x80
- add r2, r0, #0x0
- ldr r0, [r5, #0x0]
- ldr r1, [r4, #0x0]
- bl FUN_0204B57C
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02042C44
-FUN_02042C44: ; 0x02042C44
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xa
- bl FUN_02039438
- add r4, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_02029FC8
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r5, #0x80
- add r2, r0, #0x0
- ldr r0, [r5, #0x0]
- ldr r1, [r4, #0x0]
- bl FUN_0204B5A8
- add r0, r6, #0x0
- mov r1, #0x3
- bl FUN_0202A0E8
- mov r0, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02042C8C
-FUN_02042C8C: ; 0x02042C8C
- push {r4, lr}
- add r4, r0, #0x0
- bl ScriptReadHalfword
- cmp r0, #0x0
- beq _02042C9E
- cmp r0, #0x1
- beq _02042CA8
- b _02042CB2
-_02042C9E:
- add r4, #0x80
- ldr r0, [r4, #0x0]
- bl FUN_0204B9A0
- b _02042CB6
-_02042CA8:
- add r4, #0x80
- ldr r0, [r4, #0x0]
- bl FUN_0204B9CC
- b _02042CB6
-_02042CB2:
- bl ErrorHandling
-_02042CB6:
- mov r0, #0x1
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02042CBC
-FUN_02042CBC: ; 0x02042CBC
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_02029FC8
- add r4, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xa
- bl FUN_02039438
- add r1, r0, #0x0
- add r5, #0x80
- ldr r0, [r5, #0x0]
- ldr r1, [r1, #0x0]
- bl FUN_0204B4FC
- add r0, r4, #0x0
- mov r1, #0x0
- bl FUN_0202A170
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02042CF0
-FUN_02042CF0: ; 0x02042CF0
- str r1, [r0, #0x0]
- str r2, [r0, #0x4]
- str r3, [r0, #0x8]
- bx lr
-
- thumb_func_start FUN_02042CF8
-FUN_02042CF8: ; 0x02042CF8
- push {r3, lr}
- bl FUN_0202AF9C
- bl FUN_0202AFC0
- pop {r3, pc}
-
- thumb_func_start FUN_02042D04
-FUN_02042D04: ; 0x02042D04
- push {r3, lr}
- bl FUN_0202AF9C
- bl FUN_0202AFFC
- pop {r3, pc}
-
- thumb_func_start FUN_02042D10
-FUN_02042D10: ; 0x02042D10
- push {r3, lr}
- bl FUN_0202AF9C
- bl FUN_0202B020
- pop {r3, pc}
-
- thumb_func_start FUN_02042D1C
-FUN_02042D1C: ; 0x02042D1C
- push {r3-r7, lr}
- sub sp, #0x20
- add r4, r0, #0x0
- bl ScriptReadHalfword
- cmp r0, #0x8
- bls _02042D2C
- b _02042F04
-_02042D2C:
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_02042D38: ; jump table (using 16-bit offset)
- .short _02042D4A - _02042D38 - 2; case 0
- .short _02042D74 - _02042D38 - 2; case 1
- .short _02042DA0 - _02042D38 - 2; case 2
- .short _02042DC0 - _02042D38 - 2; case 3
- .short _02042DFC - _02042D38 - 2; case 4
- .short _02042E2E - _02042D38 - 2; case 5
- .short _02042E9A - _02042D38 - 2; case 6
- .short _02042D58 - _02042D38 - 2; case 7
- .short _02042D66 - _02042D38 - 2; case 8
-_02042D4A:
- add r4, #0x80
- ldr r0, [r4, #0x0]
- mov r1, #0x20
- ldr r0, [r0, #0xc]
- bl FUN_0202AF70
- b _02042F04
-_02042D58:
- add r4, #0x80
- ldr r0, [r4, #0x0]
- mov r1, #0x0
- ldr r0, [r0, #0xc]
- bl FUN_0202AF88
- b _02042F04
-_02042D66:
- add r4, #0x80
- ldr r0, [r4, #0x0]
- mov r1, #0x1
- ldr r0, [r0, #0xc]
- bl FUN_0202AF88
- b _02042F04
-_02042D74:
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r4, #0x80
- add r5, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_02042CF8
- cmp r0, #0x0
- beq _02042D9A
- mov r0, #0x1
- strh r0, [r5, #0x0]
- b _02042F04
-_02042D9A:
- mov r0, #0x0
- strh r0, [r5, #0x0]
- b _02042F04
-_02042DA0:
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r4, #0x80
- add r5, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_02042CF8
- strh r0, [r5, #0x0]
- b _02042F04
-_02042DC0:
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r6, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_02042CF8
- sub r0, r0, #0x1
- lsl r5, r0, #0x4
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r7, _02042F0C ; =0x020F43E4
- bl FUN_02042D04
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- ldr r2, [r7, r5]
- blx r2
- strh r0, [r6, #0x0]
- b _02042F04
-_02042DFC:
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_02042CF8
- sub r0, r0, #0x1
- ldr r1, _02042F0C ; =0x020F43E4
- lsl r0, r0, #0x4
- add r5, r1, r0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_02042D04
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r2, [r5, #0x4]
- blx r2
- add r4, #0x80
- ldr r0, [r4, #0x0]
- bl FUN_02042D10
- b _02042F04
-_02042E2E:
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_02042CF8
- sub r0, r0, #0x1
- ldr r1, _02042F0C ; =0x020F43E4
- lsl r0, r0, #0x4
- add r5, r1, r0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xf
- bl FUN_02039438
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r7, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- str r0, [sp, #0x0]
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_02042D04
- add r4, #0x80
- add r3, r0, #0x0
- ldr r1, [r4, #0x0]
- ldr r2, [r6, #0x0]
- add r0, sp, #0x14
- bl FUN_02042CF0
- ldr r2, [sp, #0x0]
- ldr r3, [r5, #0x8]
- add r0, sp, #0x14
- add r1, r7, #0x0
- blx r3
- b _02042F04
-_02042E9A:
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_02042CF8
- sub r0, r0, #0x1
- ldr r1, _02042F0C ; =0x020F43E4
- lsl r0, r0, #0x4
- add r5, r1, r0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xf
- bl FUN_02039438
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r7, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- str r0, [sp, #0x4]
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_02042D04
- add r4, #0x80
- add r3, r0, #0x0
- ldr r1, [r4, #0x0]
- ldr r2, [r6, #0x0]
- add r0, sp, #0x8
- bl FUN_02042CF0
- ldr r2, [sp, #0x4]
- ldr r3, [r5, #0xc]
- add r0, sp, #0x8
- add r1, r7, #0x0
- blx r3
-_02042F04:
- mov r0, #0x0
- add sp, #0x20
- pop {r3-r7, pc}
- nop
-_02042F0C: .word 0x020F43E4
-
- thumb_func_start FUN_02042F10
-FUN_02042F10: ; 0x02042F10
- push {r3, lr}
- ldr r0, [r0, #0xc]
- bl FUN_0206BB1C
- bl FUN_0206B9AC
- cmp r0, #0x6
- bge _02042F24
- mov r0, #0x1
- pop {r3, pc}
-_02042F24:
- mov r0, #0x0
- pop {r3, pc}
-
- thumb_func_start FUN_02042F28
-FUN_02042F28: ; 0x02042F28
- push {r3, lr}
- sub sp, #0x8
- add r1, r0, #0x0
- mov r0, #0x2
- str r0, [sp, #0x0]
- mov r3, #0x1
- str r3, [sp, #0x4]
- ldr r1, [r1, #0xc]
- ldr r2, _02042F44 ; =0x000001EA
- mov r0, #0x20
- bl FUN_0204A0C8
- add sp, #0x8
- pop {r3, pc}
- .balign 4
-_02042F44: .word 0x000001EA
-
- thumb_func_start FUN_02042F48
-FUN_02042F48: ; 0x02042F48
- push {r4, lr}
- add r4, r0, #0x0
- mov r0, #0x53
- lsl r0, r0, #0x2
- strh r0, [r1, #0x0]
- mov r0, #0xd
- strh r0, [r2, #0x0]
- ldr r0, [r4, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_020238F4
- add r2, r0, #0x0
- ldr r0, [r4, #0x4]
- mov r1, #0x0
- bl FUN_0200ABC0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02042F6C
-FUN_02042F6C: ; 0x02042F6C
- push {r3-r7, lr}
- sub sp, #0x38
- str r0, [sp, #0x4]
- bl FUN_02042D04
- str r0, [sp, #0x10]
- ldr r0, [sp, #0x4]
- ldr r0, [r0, #0xc]
- bl FUN_020238F4
- str r0, [sp, #0xc]
- ldr r0, [sp, #0x10]
- mov r7, #0x0
- add r5, r0, #0x0
- add r4, r0, #0x4
- add r0, r4, #0x0
- mov r1, #0x97
- add r2, r7, #0x0
- add r5, #0xf0
- bl FUN_020671BC
- add r1, r7, #0x0
- str r0, [sp, #0x8]
- add r0, r4, #0x0
- add r2, r1, #0x0
- bl FUN_020671BC
- str r0, [sp, #0x14]
- add r0, r4, #0x0
- mov r1, #0x7
- add r2, r7, #0x0
- bl FUN_020671BC
- add r6, r0, #0x0
- blx OS_GetTick
- bl FUN_0201BA10
- add r1, r0, #0x0
- ldr r0, [sp, #0x14]
- str r1, [sp, #0x34]
- cmp r0, #0x0
- beq _02042FE8
- cmp r0, #0x1
- bne _02042FE6
- add r0, r6, #0x0
- bl FUN_02068AAC
- cmp r0, #0x0
- beq _02042FE8
-_02042FD0:
- ldr r0, [sp, #0x34]
- bl FUN_0201BA10
- add r1, r0, #0x0
- add r0, r6, #0x0
- str r1, [sp, #0x34]
- bl FUN_02068AAC
- cmp r0, #0x0
- bne _02042FD0
- b _02042FE8
-_02042FE6:
- str r0, [sp, #0x34]
-_02042FE8:
- ldr r1, [sp, #0x34]
- add r0, r4, #0x0
- bl FUN_0206A23C
- add r0, r4, #0x0
- bl FUN_020689E0
- str r0, [sp, #0x30]
- add r0, r4, #0x0
- mov r1, #0x6f
- add r2, sp, #0x30
- bl FUN_02067830
- add r0, r4, #0x0
- mov r1, #0x4b
- mov r2, #0x0
- bl FUN_020671BC
- str r0, [sp, #0x18]
- add r0, r4, #0x0
- mov r1, #0x4a
- mov r2, #0x0
- bl FUN_020671BC
- str r0, [sp, #0x1c]
- add r0, r4, #0x0
- mov r1, #0x49
- mov r2, #0x0
- bl FUN_020671BC
- str r0, [sp, #0x20]
- add r0, r4, #0x0
- mov r1, #0x48
- mov r2, #0x0
- bl FUN_020671BC
- str r0, [sp, #0x24]
- add r0, r4, #0x0
- mov r1, #0x46
- mov r2, #0x0
- bl FUN_020671BC
- add r6, r0, #0x0
- add r0, r4, #0x0
- mov r1, #0x47
- mov r2, #0x0
- bl FUN_020671BC
- add r1, r6, r0
- ldr r0, [sp, #0x24]
- add r1, r0, r1
- ldr r0, [sp, #0x20]
- add r1, r0, r1
- ldr r0, [sp, #0x1c]
- add r1, r0, r1
- ldr r0, [sp, #0x18]
- add r0, r0, r1
- str r0, [sp, #0x30]
- bne _020430DA
- bl FUN_0201B9EC
- add r6, r0, #0x0
- mov r0, #0x1f
- and r0, r6
- str r0, [sp, #0x34]
- add r0, r4, #0x0
- mov r1, #0x46
- add r2, sp, #0x34
- bl FUN_02067830
- mov r0, #0x3e
- lsl r0, r0, #0x4
- and r0, r6
- lsr r0, r0, #0x5
- str r0, [sp, #0x34]
- add r0, r4, #0x0
- mov r1, #0x47
- add r2, sp, #0x34
- bl FUN_02067830
- mov r0, #0x1f
- lsl r0, r0, #0xa
- and r0, r6
- lsr r0, r0, #0xa
- str r0, [sp, #0x34]
- add r0, r4, #0x0
- mov r1, #0x48
- add r2, sp, #0x34
- bl FUN_02067830
- bl FUN_0201B9EC
- add r6, r0, #0x0
- mov r0, #0x1f
- and r0, r6
- str r0, [sp, #0x34]
- add r0, r4, #0x0
- mov r1, #0x49
- add r2, sp, #0x34
- bl FUN_02067830
- mov r0, #0x3e
- lsl r0, r0, #0x4
- and r0, r6
- lsr r0, r0, #0x5
- str r0, [sp, #0x34]
- add r0, r4, #0x0
- mov r1, #0x4a
- add r2, sp, #0x34
- bl FUN_02067830
- mov r0, #0x1f
- lsl r0, r0, #0xa
- and r0, r6
- lsr r0, r0, #0xa
- str r0, [sp, #0x34]
- add r0, r4, #0x0
- mov r1, #0x4b
- add r2, sp, #0x34
- bl FUN_02067830
-_020430DA:
- ldr r0, [sp, #0x4]
- ldr r0, [r0, #0xc]
- bl FUN_0202A918
- add r6, r0, #0x0
- add r0, r4, #0x0
- mov r1, #0x2e
- mov r2, #0x0
- bl FUN_020671BC
- cmp r0, #0x0
- beq _020430FC
- mov r0, #0x49
- bl FUN_0207FCE0
- ldrb r1, [r5, #0x0]
- strb r1, [r6, r0]
-_020430FC:
- add r0, r4, #0x0
- mov r1, #0x2f
- mov r2, #0x0
- bl FUN_020671BC
- cmp r0, #0x0
- beq _02043114
- mov r0, #0x4a
- bl FUN_0207FCE0
- ldrb r1, [r5, #0x1]
- strb r1, [r6, r0]
-_02043114:
- add r0, r4, #0x0
- mov r1, #0x30
- mov r2, #0x0
- bl FUN_020671BC
- cmp r0, #0x0
- beq _0204312C
- mov r0, #0x4b
- bl FUN_0207FCE0
- ldrb r1, [r5, #0x2]
- strb r1, [r6, r0]
-_0204312C:
- add r0, r4, #0x0
- mov r1, #0x31
- mov r2, #0x0
- bl FUN_020671BC
- cmp r0, #0x0
- beq _02043144
- mov r0, #0x4c
- bl FUN_0207FCE0
- ldrb r1, [r5, #0x3]
- strb r1, [r6, r0]
-_02043144:
- add r0, r4, #0x0
- mov r1, #0x32
- mov r2, #0x0
- bl FUN_020671BC
- cmp r0, #0x0
- beq _0204315C
- mov r0, #0x4d
- bl FUN_0207FCE0
- ldrb r1, [r5, #0x4]
- strb r1, [r6, r0]
-_0204315C:
- add r0, r4, #0x0
- mov r1, #0x33
- mov r2, #0x0
- bl FUN_020671BC
- cmp r0, #0x0
- beq _02043174
- mov r0, #0x4e
- bl FUN_0207FCE0
- ldrb r1, [r5, #0x5]
- strb r1, [r6, r0]
-_02043174:
- add r0, r4, #0x0
- mov r1, #0x34
- mov r2, #0x0
- bl FUN_020671BC
- cmp r0, #0x0
- beq _0204318C
- mov r0, #0x4f
- bl FUN_0207FCE0
- ldrb r1, [r5, #0x6]
- strb r1, [r6, r0]
-_0204318C:
- add r0, r4, #0x0
- mov r1, #0x67
- mov r2, #0x0
- bl FUN_020671BC
- cmp r0, #0x0
- beq _020431A4
- mov r0, #0x19
- bl FUN_0207FCE0
- ldrb r1, [r5, #0x7]
- strb r1, [r6, r0]
-_020431A4:
- add r0, r4, #0x0
- mov r1, #0x68
- mov r2, #0x0
- bl FUN_020671BC
- cmp r0, #0x0
- beq _020431BC
- mov r0, #0x1a
- bl FUN_0207FCE0
- ldrb r1, [r5, #0x8]
- strb r1, [r6, r0]
-_020431BC:
- add r0, r4, #0x0
- mov r1, #0x69
- mov r2, #0x0
- bl FUN_020671BC
- cmp r0, #0x0
- beq _020431D4
- mov r0, #0x1b
- bl FUN_0207FCE0
- ldrb r1, [r5, #0x9]
- strb r1, [r6, r0]
-_020431D4:
- ldr r0, [sp, #0x10]
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- bne _0204322C
- ldr r0, [sp, #0xc]
- mov r1, #0x20
- bl FUN_020239A0
- add r5, r0, #0x0
- ldr r0, [sp, #0xc]
- bl FUN_020239BC
- str r0, [sp, #0x2c]
- ldr r0, [sp, #0xc]
- bl FUN_020239CC
- str r0, [sp, #0x28]
- mov r0, #0x20
- bl FUN_020669C0
- add r7, r0, #0x0
- add r0, r4, #0x0
- add r1, r7, #0x0
- bl FUN_02069B88
- add r0, r7, #0x0
- mov r1, #0x90
- add r2, r5, #0x0
- bl FUN_02067830
- add r0, r7, #0x0
- mov r1, #0x7
- add r2, sp, #0x2c
- bl FUN_02067830
- add r0, r7, #0x0
- mov r1, #0x9c
- add r2, sp, #0x28
- bl FUN_02067830
- add r0, r5, #0x0
- add r4, r7, #0x0
- bl FUN_02021A20
-_0204322C:
- ldr r1, [sp, #0x8]
- mov r0, #0x2
- bl FUN_02015CF8
- add r3, r0, #0x0
- mov r0, #0x20
- str r0, [sp, #0x0]
- ldr r1, [sp, #0xc]
- add r0, r4, #0x0
- mov r2, #0x4
- bl FUN_0208089C
- add r0, r4, #0x0
- bl FUN_02066ED8
- ldr r0, [sp, #0x4]
- ldr r0, [r0, #0xc]
- bl FUN_0206BB1C
- add r1, r4, #0x0
- bl FUN_0206B900
- cmp r0, #0x0
- beq _02043266
- ldr r0, [sp, #0x4]
- add r1, r4, #0x0
- ldr r0, [r0, #0xc]
- bl FUN_0202C144
-_02043266:
- cmp r7, #0x0
- beq _02043270
- add r0, r7, #0x0
- bl FUN_02016A18
-_02043270:
- add sp, #0x38
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02043274
-FUN_02043274: ; 0x02043274
- push {r3-r7, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0x0]
- add r4, r1, #0x0
- add r6, r2, #0x0
- bl FUN_02042D04
- add r7, r0, #0x0
- mov r0, #0x53
- lsl r0, r0, #0x2
- strh r0, [r4, #0x0]
- mov r0, #0x7
- strh r0, [r6, #0x0]
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_020238F4
- add r2, r0, #0x0
- ldr r0, [r5, #0x4]
- mov r1, #0x0
- bl FUN_0200ABC0
- add r0, r7, #0x4
- bl FUN_020690E4
- add r2, r0, #0x0
- ldr r0, [r5, #0x4]
- mov r1, #0x1
- bl FUN_0200ACA4
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_020432B4
-FUN_020432B4: ; 0x020432B4
- mov r0, #0x53
- lsl r0, r0, #0x2
- strh r0, [r1, #0x0]
- mov r0, #0x4
- strh r0, [r2, #0x0]
- bx lr
-
- thumb_func_start FUN_020432C0
-FUN_020432C0: ; 0x020432C0
- ldr r3, _020432C4 ; =FUN_02042F6C
- bx r3
- .balign 4
-_020432C4: .word FUN_02042F6C
-
- thumb_func_start FUN_020432C8
-FUN_020432C8: ; 0x020432C8
- push {r3-r7, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0x0]
- add r4, r1, #0x0
- add r6, r2, #0x0
- bl FUN_02042D04
- add r7, r0, #0x0
- mov r0, #0x53
- lsl r0, r0, #0x2
- strh r0, [r4, #0x0]
- mov r0, #0x8
- strh r0, [r6, #0x0]
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_020238F4
- add r2, r0, #0x0
- ldr r0, [r5, #0x4]
- mov r1, #0x0
- bl FUN_0200ABC0
- add r0, r7, #0x4
- bl FUN_020690E4
- add r2, r0, #0x0
- ldr r0, [r5, #0x4]
- mov r1, #0x1
- bl FUN_0200AC60
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02043308
-FUN_02043308: ; 0x02043308
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_0206F158
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02042D04
- add r1, r0, #0x0
- ldr r1, [r1, #0x0]
- add r0, r4, #0x0
- lsl r1, r1, #0x10
- lsr r1, r1, #0x10
- mov r2, #0x1
- mov r3, #0x20
- bl FUN_0206ED24
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02043330
-FUN_02043330: ; 0x02043330
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_0206F158
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02042D04
- add r1, r0, #0x0
- ldr r1, [r1, #0x0]
- add r0, r4, #0x0
- lsl r1, r1, #0x10
- lsr r1, r1, #0x10
- mov r2, #0x1
- mov r3, #0x20
- bl FUN_0206ED38
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02043358
-FUN_02043358: ; 0x02043358
- push {r3-r7, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0x0]
- add r4, r1, #0x0
- add r6, r2, #0x0
- bl FUN_02042D04
- ldr r0, [r0, #0x0]
- lsl r0, r0, #0x10
- lsr r7, r0, #0x10
- mov r0, #0x53
- lsl r0, r0, #0x2
- strh r0, [r4, #0x0]
- mov r0, #0x9
- strh r0, [r6, #0x0]
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_020238F4
- add r2, r0, #0x0
- ldr r0, [r5, #0x4]
- mov r1, #0x0
- bl FUN_0200ABC0
- ldr r0, [r5, #0x4]
- mov r1, #0x1
- add r2, r7, #0x0
- bl FUN_0200AE38
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02043394
-FUN_02043394: ; 0x02043394
- push {r4-r6, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0x0]
- add r4, r1, #0x0
- ldr r0, [r0, #0xc]
- add r6, r2, #0x0
- bl FUN_0206F158
- ldr r0, [r5, #0x0]
- bl FUN_02042D04
- ldr r0, [r0, #0x0]
- mov r1, #0x0
- lsl r0, r0, #0x10
- lsr r2, r0, #0x10
- mov r0, #0x53
- lsl r0, r0, #0x2
- strh r0, [r4, #0x0]
- mov r0, #0x5
- strh r0, [r6, #0x0]
- ldr r0, [r5, #0x4]
- bl FUN_0200AE38
- pop {r4-r6, pc}
-
- thumb_func_start FUN_020433C4
-FUN_020433C4: ; 0x020433C4
- mov r0, #0x1
- bx lr
-
- thumb_func_start FUN_020433C8
-FUN_020433C8: ; 0x020433C8
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_02042D04
- add r1, r0, #0x0
- ldr r0, [r4, #0xc]
- bl FUN_02023BD4
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_020433DC
-FUN_020433DC: ; 0x020433DC
- push {r3-r7, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- ldr r0, [r5, #0x0]
- add r4, r1, #0x0
- add r6, r2, #0x0
- bl FUN_02042D04
- add r7, r0, #0x0
- mov r0, #0x53
- lsl r0, r0, #0x2
- strh r0, [r4, #0x0]
- mov r0, #0xa
- strh r0, [r6, #0x0]
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_020238F4
- add r2, r0, #0x0
- ldr r0, [r5, #0x4]
- mov r1, #0x0
- bl FUN_0200ABC0
- add r0, r7, #0x0
- mov r1, #0x20
- bl FUN_02023AF4
- add r4, r0, #0x0
- mov r1, #0x1
- str r1, [sp, #0x0]
- mov r0, #0x2
- str r0, [sp, #0x4]
- ldr r0, [r5, #0x4]
- add r2, r4, #0x0
- mov r3, #0x0
- bl FUN_0200ABB4
- add r0, r4, #0x0
- bl FUN_02021A20
- add sp, #0x8
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02043430
-FUN_02043430: ; 0x02043430
- mov r0, #0x53
- lsl r0, r0, #0x2
- strh r0, [r1, #0x0]
- mov r0, #0x6
- strh r0, [r2, #0x0]
- bx lr
-
- thumb_func_start FUN_0204343C
-FUN_0204343C: ; 0x0204343C
- push {r3, lr}
- ldr r0, [r0, #0xc]
- bl FUN_02026CC4
- bl FUN_02025DB0
- cmp r0, #0xc8
- bge _02043450
- mov r0, #0x1
- pop {r3, pc}
-_02043450:
- mov r0, #0x0
- pop {r3, pc}
-
- thumb_func_start FUN_02043454
-FUN_02043454: ; 0x02043454
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl FUN_02042D04
- add r4, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_02026CC4
- ldr r1, [r4, #0x0]
- bl FUN_02025D6C
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0204346C
-FUN_0204346C: ; 0x0204346C
- push {r3-r7, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0x0]
- add r4, r1, #0x0
- add r6, r2, #0x0
- bl FUN_02042D04
- ldr r7, [r0, #0x0]
- mov r0, #0x53
- lsl r0, r0, #0x2
- strh r0, [r4, #0x0]
- mov r0, #0xb
- strh r0, [r6, #0x0]
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_020238F4
- add r2, r0, #0x0
- ldr r0, [r5, #0x4]
- mov r1, #0x0
- bl FUN_0200ABC0
- ldr r0, [r5, #0x4]
- mov r1, #0x1
- add r2, r7, #0x0
- bl FUN_0200B350
- pop {r3-r7, pc}
-
- thumb_func_start FUN_020434A4
-FUN_020434A4: ; 0x020434A4
- mov r0, #0x53
- lsl r0, r0, #0x2
- strh r0, [r1, #0x0]
- mov r0, #0x6
- strh r0, [r2, #0x0]
- bx lr
-
- thumb_func_start FUN_020434B0
-FUN_020434B0: ; 0x020434B0
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl FUN_02042D04
- ldr r4, [r0, #0x4]
- ldr r0, [r0, #0x0]
- cmp r0, #0x1
- beq _020434CA
- cmp r0, #0x2
- beq _020434DA
- cmp r0, #0x3
- beq _020434DE
- b _020434E2
-_020434CA:
- ldr r0, [r5, #0xc]
- bl FUN_02029C80
- add r1, r4, #0x0
- mov r2, #0x1
- bl FUN_02029DD4
- pop {r3-r5, pc}
-_020434DA:
- mov r0, #0x1
- pop {r3-r5, pc}
-_020434DE:
- mov r0, #0x1
- pop {r3-r5, pc}
-_020434E2:
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_020434E8
-FUN_020434E8: ; 0x020434E8
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl FUN_02042D04
- ldr r4, [r0, #0x4]
- ldr r0, [r0, #0x0]
- cmp r0, #0x1
- beq _02043502
- cmp r0, #0x2
- beq _02043512
- cmp r0, #0x3
- beq _02043526
- pop {r3-r5, pc}
-_02043502:
- ldr r0, [r5, #0xc]
- bl FUN_02029C80
- add r1, r4, #0x0
- mov r2, #0x1
- bl FUN_02029D44
- pop {r3-r5, pc}
-_02043512:
- ldr r0, [r5, #0xc]
- bl FUN_02027E24
- bl FUN_0202708C
- add r1, r4, #0x0
- mov r2, #0x1
- bl FUN_020271A4
- pop {r3-r5, pc}
-_02043526:
- ldr r0, [r5, #0xc]
- bl FUN_02027E24
- bl FUN_0202708C
- add r1, r4, #0x0
- bl FUN_02027264
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02043538
-FUN_02043538: ; 0x02043538
- push {r4-r6, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0x0]
- add r4, r1, #0x0
- add r6, r2, #0x0
- bl FUN_02042D04
- ldr r2, [r0, #0x4]
- ldr r0, [r0, #0x0]
- cmp r0, #0x1
- beq _02043558
- cmp r0, #0x2
- beq _02043562
- cmp r0, #0x3
- beq _0204356C
- b _02043574
-_02043558:
- ldr r0, [r5, #0x4]
- mov r1, #0x1
- bl FUN_0200B534
- b _02043574
-_02043562:
- ldr r0, [r5, #0x4]
- mov r1, #0x1
- bl FUN_0200B660
- b _02043574
-_0204356C:
- ldr r0, [r5, #0x4]
- mov r1, #0x1
- bl FUN_0200B6D0
-_02043574:
- mov r0, #0x53
- lsl r0, r0, #0x2
- strh r0, [r4, #0x0]
- mov r0, #0xc
- strh r0, [r6, #0x0]
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_020238F4
- add r2, r0, #0x0
- ldr r0, [r5, #0x4]
- mov r1, #0x0
- bl FUN_0200ABC0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02043594
-FUN_02043594: ; 0x02043594
- mov r0, #0x53
- lsl r0, r0, #0x2
- strh r0, [r1, #0x0]
- mov r0, #0x6
- strh r0, [r2, #0x0]
- bx lr
-
- thumb_func_start FUN_020435A0
-FUN_020435A0: ; 0x020435A0
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_0206F158
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02042D04
- ldr r1, _020435C0 ; =0x000001C6
- add r0, r4, #0x0
- mov r2, #0x1
- mov r3, #0x20
- bl FUN_0206ED24
- pop {r3-r5, pc}
- .balign 4
-_020435C0: .word 0x000001C6
-
- thumb_func_start FUN_020435C4
-FUN_020435C4: ; 0x020435C4
- push {r3-r5, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0xc]
- bl FUN_0206F158
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_02042D04
- ldr r0, [r4, #0xc]
- bl FUN_020462AC
- add r4, r0, #0x0
- ldr r1, _020435F4 ; =0x000001C6
- add r0, r5, #0x0
- mov r2, #0x1
- mov r3, #0x20
- bl FUN_0206ED38
- add r0, r4, #0x0
- mov r1, #0x0
- bl FUN_0205F478
- pop {r3-r5, pc}
- .balign 4
-_020435F4: .word 0x000001C6
-
- thumb_func_start FUN_020435F8
-FUN_020435F8: ; 0x020435F8
- push {r4-r6, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0x0]
- add r4, r1, #0x0
- add r6, r2, #0x0
- bl FUN_02042D04
- mov r0, #0x53
- lsl r0, r0, #0x2
- strh r0, [r4, #0x0]
- mov r0, #0xe
- strh r0, [r6, #0x0]
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_020238F4
- add r2, r0, #0x0
- ldr r0, [r5, #0x4]
- mov r1, #0x0
- bl FUN_0200ABC0
- ldr r0, [r5, #0x4]
- ldr r2, _02043630 ; =0x000001C6
- mov r1, #0x1
- bl FUN_0200AE38
- pop {r4-r6, pc}
- nop
-_02043630: .word 0x000001C6
-
- thumb_func_start FUN_02043634
-FUN_02043634: ; 0x02043634
- push {r4-r6, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0x0]
- add r4, r1, #0x0
- ldr r0, [r0, #0xc]
- add r6, r2, #0x0
- bl FUN_0206F158
- ldr r0, [r5, #0x0]
- bl FUN_02042D04
- mov r2, #0x53
- lsl r2, r2, #0x2
- strh r2, [r4, #0x0]
- mov r0, #0x5
- strh r0, [r6, #0x0]
- ldr r0, [r5, #0x4]
- mov r1, #0x0
- add r2, #0x7a
- bl FUN_0200AE38
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02043660
-FUN_02043660: ; 0x02043660
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_0206F158
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02042D04
- mov r1, #0x71
- add r0, r4, #0x0
- lsl r1, r1, #0x2
- mov r2, #0x1
- mov r3, #0x20
- bl FUN_0206ED24
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02043684
-FUN_02043684: ; 0x02043684
- push {r3-r5, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0xc]
- bl FUN_0206F158
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_02042D04
- ldr r0, [r4, #0xc]
- bl FUN_020462AC
- mov r1, #0x71
- add r4, r0, #0x0
- add r0, r5, #0x0
- lsl r1, r1, #0x2
- mov r2, #0x1
- mov r3, #0x20
- bl FUN_0206ED38
- add r0, r4, #0x0
- mov r1, #0x1
- bl FUN_0205F478
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_020436B8
-FUN_020436B8: ; 0x020436B8
- push {r4-r6, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0x0]
- add r4, r1, #0x0
- add r6, r2, #0x0
- bl FUN_02042D04
- mov r0, #0x53
- lsl r0, r0, #0x2
- strh r0, [r4, #0x0]
- mov r0, #0xf
- strh r0, [r6, #0x0]
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_020238F4
- add r2, r0, #0x0
- ldr r0, [r5, #0x4]
- mov r1, #0x0
- bl FUN_0200ABC0
- mov r2, #0x71
- ldr r0, [r5, #0x4]
- mov r1, #0x1
- lsl r2, r2, #0x2
- bl FUN_0200AE38
- pop {r4-r6, pc}
-
- thumb_func_start FUN_020436F0
-FUN_020436F0: ; 0x020436F0
- push {r4-r6, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0x0]
- add r4, r1, #0x0
- ldr r0, [r0, #0xc]
- add r6, r2, #0x0
- bl FUN_0206F158
- ldr r0, [r5, #0x0]
- bl FUN_02042D04
- mov r2, #0x53
- lsl r2, r2, #0x2
- strh r2, [r4, #0x0]
- mov r0, #0x5
- strh r0, [r6, #0x0]
- ldr r0, [r5, #0x4]
- mov r1, #0x0
- add r2, #0x78
- bl FUN_0200AE38
- pop {r4-r6, pc}
-
- thumb_func_start FUN_0204371C
-FUN_0204371C: ; 0x0204371C
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_0206F158
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02042D04
- ldr r1, _0204373C ; =0x000001C7
- add r0, r4, #0x0
- mov r2, #0x1
- mov r3, #0x20
- bl FUN_0206ED24
- pop {r3-r5, pc}
- .balign 4
-_0204373C: .word 0x000001C7
-
- thumb_func_start FUN_02043740
-FUN_02043740: ; 0x02043740
- push {r3-r5, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0xc]
- bl FUN_0206F158
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_02042D04
- ldr r0, [r4, #0xc]
- bl FUN_020462AC
- add r4, r0, #0x0
- ldr r1, _02043770 ; =0x000001C7
- add r0, r5, #0x0
- mov r2, #0x1
- mov r3, #0x20
- bl FUN_0206ED38
- add r0, r4, #0x0
- mov r1, #0x2
- bl FUN_0205F478
- pop {r3-r5, pc}
- .balign 4
-_02043770: .word 0x000001C7
-
- thumb_func_start FUN_02043774
-FUN_02043774: ; 0x02043774
- push {r4-r6, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0x0]
- add r4, r1, #0x0
- add r6, r2, #0x0
- bl FUN_02042D04
- mov r0, #0x53
- lsl r0, r0, #0x2
- strh r0, [r4, #0x0]
- mov r0, #0x10
- strh r0, [r6, #0x0]
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_020238F4
- add r2, r0, #0x0
- ldr r0, [r5, #0x4]
- mov r1, #0x0
- bl FUN_0200ABC0
- ldr r0, [r5, #0x4]
- ldr r2, _020437AC ; =0x000001C7
- mov r1, #0x1
- bl FUN_0200AE38
- pop {r4-r6, pc}
- nop
-_020437AC: .word 0x000001C7
-
- thumb_func_start FUN_020437B0
-FUN_020437B0: ; 0x020437B0
- push {r4-r6, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0x0]
- add r4, r1, #0x0
- ldr r0, [r0, #0xc]
- add r6, r2, #0x0
- bl FUN_0206F158
- ldr r0, [r5, #0x0]
- bl FUN_02042D04
- mov r2, #0x53
- lsl r2, r2, #0x2
- strh r2, [r4, #0x0]
- mov r0, #0x5
- strh r0, [r6, #0x0]
- ldr r0, [r5, #0x4]
- mov r1, #0x0
- add r2, #0x7b
- bl FUN_0200AE38
- pop {r4-r6, pc}
-
- thumb_func_start FUN_020437DC
-FUN_020437DC: ; 0x020437DC
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_0204C1A8
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02042D04
- add r0, r4, #0x0
- bl FUN_0204BEC8
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_020437F8
-FUN_020437F8: ; 0x020437F8
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_0204C1A8
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02042D04
- add r1, r0, #0x0
- ldr r1, [r1, #0x0]
- add r0, r4, #0x0
- bl FUN_0204BED8
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02043818
-FUN_02043818: ; 0x02043818
- push {r3-r7, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0x0]
- add r4, r1, #0x0
- add r6, r2, #0x0
- bl FUN_02042D04
- add r7, r0, #0x0
- mov r0, #0x53
- lsl r0, r0, #0x2
- strh r0, [r4, #0x0]
- mov r0, #0x12
- strh r0, [r6, #0x0]
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_020238F4
- add r2, r0, #0x0
- ldr r0, [r5, #0x4]
- mov r1, #0x0
- bl FUN_0200ABC0
- ldr r0, [r5, #0x4]
- ldr r2, [r7, #0x0]
- mov r1, #0x1
- bl FUN_0200B02C
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02043850
-FUN_02043850: ; 0x02043850
- push {r4-r6, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0x0]
- add r4, r1, #0x0
- add r6, r2, #0x0
- bl FUN_02042D04
- mov r0, #0x53
- lsl r0, r0, #0x2
- strh r0, [r4, #0x0]
- mov r0, #0x13
- strh r0, [r6, #0x0]
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_020238F4
- add r2, r0, #0x0
- ldr r0, [r5, #0x4]
- mov r1, #0x0
- bl FUN_0200ABC0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_0204387C
-FUN_0204387C: ; 0x0204387C
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_020462AC
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- cmp r0, #0x0
- bne _020438B2
- add r0, r4, #0x0
- bl FUN_0205F224
- add r5, #0x80
- ldr r0, [r5, #0x0]
- bl FUN_0204B9EC
- b _020438CA
-_020438B2:
- cmp r0, #0x1
- bne _020438C6
- add r0, r4, #0x0
- bl FUN_0205F234
- add r5, #0x80
- ldr r0, [r5, #0x0]
- bl FUN_0204BA1C
- b _020438CA
-_020438C6:
- bl ErrorHandling
-_020438CA:
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_020438D0
-FUN_020438D0: ; 0x020438D0
- push {r4-r6, lr}
- add r4, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_02022528
- add r6, r0, #0x0
- mov r0, #0x20
- bl FUN_020669C0
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394B8
- add r4, r0, #0x0
- add r0, r6, #0x0
- bl FUN_0202C000
- cmp r0, #0x6
- bne _02043908
- mov r0, #0x1
- b _0204390A
-_02043908:
- mov r0, #0x0
-_0204390A:
- strh r0, [r4, #0x0]
- add r0, r5, #0x0
- bl FUN_02016A18
- mov r0, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02043918
-FUN_02043918: ; 0x02043918
- push {r4-r7, lr}
- sub sp, #0xc
- add r6, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_02022528
- add r7, r0, #0x0
- add r0, r6, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_02022510
- str r0, [sp, #0x8]
- mov r0, #0x20
- bl FUN_020669C0
- add r4, r0, #0x0
- add r0, r6, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_020238F4
- str r0, [sp, #0x4]
- add r0, r6, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_02024DA0
- mov r5, #0x0
-_0204395C:
- add r0, r7, #0x0
- add r1, r5, #0x0
- add r2, r4, #0x0
- bl FUN_0202BFD8
- mov r0, #0x20
- str r0, [sp, #0x0]
- ldr r1, [sp, #0x4]
- add r0, r4, #0x0
- mov r2, #0x2
- mov r3, #0x0
- bl FUN_0208089C
- add r0, r4, #0x0
- bl FUN_020690E4
- add r1, r0, #0x0
- ldr r0, [sp, #0x8]
- bl FUN_0206B20C
- cmp r0, #0x0
- bne _0204398C
- bl ErrorHandling
-_0204398C:
- add r0, r6, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- add r1, r4, #0x0
- ldr r0, [r0, #0xc]
- bl FUN_0202C144
- add r5, r5, #0x1
- cmp r5, #0x6
- blt _0204395C
- add r0, r4, #0x0
- bl FUN_02016A18
- add r0, r7, #0x0
- bl FUN_0202BEDC
- mov r0, #0x0
- add sp, #0xc
- pop {r4-r7, pc}
- .balign 4
-
- thumb_func_start FUN_020439B4
-FUN_020439B4: ; 0x020439B4
- push {r3-r7, lr}
- add r4, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r5, r0, #0x0
- cmp r6, #0x3
- bhi _02043A40
- add r0, r6, r6
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_020439EE: ; jump table (using 16-bit offset)
- .short _020439F6 - _020439EE - 2; case 0
- .short _02043A02 - _020439EE - 2; case 1
- .short _02043A0E - _020439EE - 2; case 2
- .short _02043A1A - _020439EE - 2; case 3
-_020439F6:
- add r4, #0x80
- ldr r0, [r4, #0x0]
- bl FUN_0204BAC4
- strh r0, [r5, #0x0]
- b _02043A40
-_02043A02:
- add r4, #0x80
- ldr r0, [r4, #0x0]
- bl FUN_0204BAD4
- strh r0, [r5, #0x0]
- b _02043A40
-_02043A0E:
- add r4, #0x80
- ldr r0, [r4, #0x0]
- bl FUN_0204BAE4
- strh r0, [r5, #0x0]
- b _02043A40
-_02043A1A:
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_0204BAD4
- add r6, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_0204BAC4
- add r4, #0x80
- add r7, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_0204BAE4
- add r0, r7, r0
- add r0, r6, r0
- strh r0, [r5, #0x0]
-_02043A40:
- mov r0, #0x0
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02043A44
-FUN_02043A44: ; 0x02043A44
- push {r3-r7, lr}
- add r4, r0, #0x0
- add r1, r4, #0x0
- add r1, #0x80
- ldr r5, [r1, #0x0]
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r7, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0x26
- bl FUN_02039438
- lsl r1, r6, #0x18
- lsl r2, r7, #0x18
- add r4, #0x80
- add r5, r0, #0x0
- ldr r0, [r4, #0x0]
- lsr r1, r1, #0x18
- lsr r2, r2, #0x18
- bl FUN_021E2950
- str r0, [r5, #0x0]
- mov r0, #0x0
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02043A94
-FUN_02043A94: ; 0x02043A94
- push {r3, lr}
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x26
- bl FUN_02039438
- ldr r0, [r0, #0x0]
- bl FUN_021E29B4
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_02043AAC
-FUN_02043AAC: ; 0x02043AAC
- push {r4, lr}
- add r4, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x26
- bl FUN_02039438
- add r1, r0, #0x0
- add r4, #0x80
- ldr r0, [r4, #0x0]
- ldr r1, [r1, #0x0]
- bl FUN_021E29C8
- mov r0, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02043ACC
-FUN_02043ACC: ; 0x02043ACC
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_0202390C
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394B8
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_02028930
- strh r0, [r5, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02043AFC
-FUN_02043AFC: ; 0x02043AFC
- push {r3-r5, lr}
- add r4, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_0202390C
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394F0
- add r1, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02028934
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02043B28
-FUN_02043B28: ; 0x02043B28
- push {r3-r5, lr}
- add r4, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_0202390C
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394F0
- add r1, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0202896C
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02043B54
-FUN_02043B54: ; 0x02043B54
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_0202390C
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394B8
- add r1, r0, #0x0
- ldrh r1, [r1, #0x0]
- add r0, r4, #0x0
- bl FUN_0202896C
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02043B84
-FUN_02043B84: ; 0x02043B84
- push {r4-r6, lr}
- add r4, r0, #0x0
- add r0, #0x80
- ldr r5, [r0, #0x0]
- add r0, r5, #0x0
- bl FUN_020377AC
- bl FUN_020238F4
- ldr r0, [r5, #0xc]
- bl FUN_0202390C
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadWord
- add r4, r0, #0x0
- add r0, r6, #0x0
- bl FUN_02028930
- cmp r0, r4
- bhs _02043BC8
- mov r0, #0x0
- b _02043BCA
-_02043BC8:
- mov r0, #0x1
-_02043BCA:
- strh r0, [r5, #0x0]
- mov r0, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02043BD0
-FUN_02043BD0: ; 0x02043BD0
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r4, [r0, #0x0]
- add r0, r4, #0x0
- bl FUN_020377AC
- bl FUN_020238F4
- ldr r0, [r4, #0xc]
- bl FUN_0202390C
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394B8
- ldrh r5, [r0, #0x0]
- add r0, r6, #0x0
- bl FUN_02028930
- cmp r0, r5
- bhs _02043C1E
- mov r0, #0x0
- b _02043C20
-_02043C1E:
- mov r0, #0x1
-_02043C20:
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02043C28
-FUN_02043C28: ; 0x02043C28
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_0202390C
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- add r1, r0, #0x0
- add r0, r6, #0x0
- bl FUN_02028954
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02043C6C
-FUN_02043C6C: ; 0x02043C6C
- push {r3-r5, lr}
- add r4, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020377AC
- bl FUN_020238F4
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadWord
- add r1, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02023A30
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02043C90
-FUN_02043C90: ; 0x02043C90
- push {r3-r5, lr}
- add r4, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020377AC
- bl FUN_020238F4
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadWord
- add r1, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02023A54
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02043CB4
-FUN_02043CB4: ; 0x02043CB4
- push {r3-r5, lr}
- add r4, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020377AC
- bl FUN_020238F4
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394F0
- add r1, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02023A54
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02043CE4
-FUN_02043CE4: ; 0x02043CE4
- push {r4-r6, lr}
- add r4, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020377AC
- bl FUN_020238F4
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadWord
- add r4, r0, #0x0
- add r0, r6, #0x0
- bl FUN_02023A10
- cmp r0, r4
- bhs _02043D20
- mov r0, #0x0
- b _02043D22
-_02043D20:
- mov r0, #0x1
-_02043D22:
- strh r0, [r5, #0x0]
- mov r0, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02043D28
-FUN_02043D28: ; 0x02043D28
- push {r4-r6, lr}
- add r4, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020377AC
- bl FUN_020238F4
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394F0
- add r4, r0, #0x0
- add r0, r6, #0x0
- bl FUN_02023A10
- cmp r0, r4
- bhs _02043D6E
- mov r0, #0x0
- b _02043D70
-_02043D6E:
- mov r0, #0x1
-_02043D70:
- strh r0, [r5, #0x0]
- mov r0, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02043D78
-FUN_02043D78: ; 0x02043D78
- push {r3-r7, lr}
- add r4, r0, #0x0
- add r1, r4, #0x0
- add r1, #0x80
- ldr r5, [r1, #0x0]
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r7, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0x27
- bl FUN_02039438
- lsl r1, r6, #0x18
- lsl r2, r7, #0x18
- add r4, #0x80
- add r5, r0, #0x0
- ldr r0, [r4, #0x0]
- lsr r1, r1, #0x18
- lsr r2, r2, #0x18
- bl FUN_021E27E8
- str r0, [r5, #0x0]
- mov r0, #0x0
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02043DC8
-FUN_02043DC8: ; 0x02043DC8
- push {r3, lr}
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x27
- bl FUN_02039438
- ldr r0, [r0, #0x0]
- bl FUN_021E288C
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_02043DE0
-FUN_02043DE0: ; 0x02043DE0
- push {r4, lr}
- add r4, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x27
- bl FUN_02039438
- add r1, r0, #0x0
- add r4, #0x80
- ldr r0, [r4, #0x0]
- ldr r1, [r1, #0x0]
- bl FUN_021E28A0
- mov r0, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02043E00
-FUN_02043E00: ; 0x02043E00
- push {r3-r5, lr}
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xf
- ldr r5, [r0, #0xc]
- bl FUN_02039438
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02023D58
- ldr r1, [r4, #0x0]
- bl FUN_021ED4E0
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02043E20
-FUN_02043E20: ; 0x02043E20
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r1, r5, #0x0
- add r1, #0x80
- ldr r1, [r1, #0x0]
- ldr r4, [r1, #0xc]
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394B8
- add r5, r0, #0x0
- add r0, r4, #0x0
- mov r1, #0x8
- bl FUN_02022610
- bl FUN_021ED5EC
- strh r0, [r5, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02043E50
-FUN_02043E50: ; 0x02043E50
- push {r3, lr}
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x8
- ldr r0, [r0, #0xc]
- bl FUN_02022610
- bl FUN_021ECD64
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_02043E68
-FUN_02043E68: ; 0x02043E68
- push {r4-r6, lr}
- add r4, r0, #0x0
- add r0, #0x80
- ldr r5, [r0, #0x0]
- mov r1, #0x8
- ldr r0, [r5, #0xc]
- bl FUN_02022610
- add r6, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_0206BB1C
- add r4, #0x80
- add r5, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020377AC
- bl FUN_020238F4
- add r2, r0, #0x0
- add r0, r6, #0x0
- add r1, r5, #0x0
- bl FUN_021ED0CC
- mov r0, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02043E9C
-FUN_02043E9C: ; 0x02043E9C
- push {r3-r7, lr}
- add r4, r0, #0x0
- add r0, #0x80
- ldr r5, [r0, #0x0]
- mov r1, #0xf
- add r0, r5, #0x0
- bl FUN_02039438
- add r7, r0, #0x0
- add r0, r4, #0x0
- ldr r6, [r5, #0xc]
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- str r0, [sp, #0x0]
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394F0
- add r4, r0, #0x0
- add r0, r6, #0x0
- mov r1, #0x8
- bl FUN_02022610
- add r6, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_0206BB1C
- lsl r3, r4, #0x18
- ldr r1, [r7, #0x0]
- add r2, r6, #0x0
- lsr r3, r3, #0x18
- bl FUN_021EC71C
- ldr r1, [sp, #0x0]
- strh r0, [r1, #0x0]
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02043EFC
-FUN_02043EFC: ; 0x02043EFC
- push {r3-r7, lr}
- add r4, r0, #0x0
- add r0, #0x80
- ldr r5, [r0, #0x0]
- mov r1, #0xf
- add r0, r5, #0x0
- bl FUN_02039438
- add r7, r0, #0x0
- add r0, r4, #0x0
- ldr r5, [r5, #0xc]
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394F0
- add r4, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0x8
- bl FUN_02022610
- lsl r1, r4, #0x18
- ldr r2, [r7, #0x0]
- lsr r1, r1, #0x18
- bl FUN_021EC854
- strh r0, [r6, #0x0]
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02043F50
-FUN_02043F50: ; 0x02043F50
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xf
- ldr r4, [r0, #0xc]
- bl FUN_02039438
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r7, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- add r5, r0, #0x0
- add r0, r4, #0x0
- mov r1, #0x8
- bl FUN_02022610
- ldr r2, [r6, #0x0]
- add r1, r5, #0x0
- bl FUN_021EC864
- strh r0, [r7, #0x0]
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02043FA0
-FUN_02043FA0: ; 0x02043FA0
- push {r3-r7, lr}
- add r4, r0, #0x0
- add r0, #0x80
- ldr r5, [r0, #0x0]
- mov r1, #0xf
- add r0, r5, #0x0
- bl FUN_02039438
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r7, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394B8
- add r4, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_0206BB1C
- ldr r2, [r6, #0x0]
- add r1, r7, #0x0
- bl FUN_021ED5C4
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02043FF4
-FUN_02043FF4: ; 0x02043FF4
- push {r4-r6, lr}
- add r6, r0, #0x0
- add r1, r6, #0x0
- add r1, #0x80
- ldr r4, [r1, #0x0]
- ldr r5, [r4, #0xc]
- bl ScriptReadHalfword
- add r6, #0x80
- add r1, r0, #0x0
- ldr r0, [r6, #0x0]
- bl FUN_020394F0
- add r6, r0, #0x0
- ldr r0, [r4, #0xc]
- bl FUN_0206BB1C
- add r4, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0x8
- bl FUN_02022610
- lsl r1, r6, #0x18
- add r2, r0, #0x0
- add r0, r4, #0x0
- lsr r1, r1, #0x18
- add r3, r5, #0x0
- bl FUN_021EC57C
- mov r0, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02044034
-FUN_02044034: ; 0x02044034
- push {r3-r7, lr}
- sub sp, #0x10
- add r4, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0xf
- ldr r5, [r0, #0xc]
- bl FUN_02039438
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r7, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- str r0, [sp, #0x8]
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- str r0, [sp, #0xc]
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394F0
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02023D58
- lsl r1, r4, #0x18
- lsr r1, r1, #0x18
- str r1, [sp, #0x0]
- ldr r1, [r6, #0x0]
- ldr r2, [sp, #0x8]
- ldr r3, [sp, #0xc]
- str r1, [sp, #0x4]
- lsl r1, r7, #0x18
- lsl r2, r2, #0x18
- lsl r3, r3, #0x18
- lsr r1, r1, #0x18
- lsr r2, r2, #0x18
- lsr r3, r3, #0x18
- bl FUN_021ED52C
- mov r0, #0x0
- add sp, #0x10
- pop {r3-r7, pc}
-
- thumb_func_start FUN_020440C0
-FUN_020440C0: ; 0x020440C0
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r1, r5, #0x0
- add r1, #0x80
- ldr r1, [r1, #0x0]
- ldr r4, [r1, #0xc]
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394B8
- add r5, r0, #0x0
- add r0, r4, #0x0
- mov r1, #0x8
- bl FUN_02022610
- bl FUN_021ED644
- strh r0, [r5, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_020440F0
-FUN_020440F0: ; 0x020440F0
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r1, r5, #0x0
- add r1, #0x80
- ldr r1, [r1, #0x0]
- ldr r4, [r1, #0xc]
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394B8
- add r5, r0, #0x0
- add r0, r4, #0x0
- mov r1, #0x8
- bl FUN_02022610
- bl FUN_02023C90
- strh r0, [r5, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02044120
-FUN_02044120: ; 0x02044120
- push {r4, lr}
- add r4, r0, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394B8
- mov r0, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02044138
-FUN_02044138: ; 0x02044138
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_0204413C
-FUN_0204413C: ; 0x0204413C
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_02044140
-FUN_02044140: ; 0x02044140
- push {r4, lr}
- add r4, r0, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394B8
- mov r0, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02044158
-FUN_02044158: ; 0x02044158
- push {r3, lr}
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_020462AC
- bl FUN_0205F54C
- mov r0, #0x0
- pop {r3, pc}
-
- thumb_func_start FUN_0204416C
-FUN_0204416C: ; 0x0204416C
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r5, #0x80
- add r4, r0, #0x0
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_020462AC
- bl FUN_0205F55C
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02044198
-FUN_02044198: ; 0x02044198
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- add r5, r0, #0x0
- bl FUN_0201B9EC
- mov r1, #0x64
- blx _s32_div_f
- lsl r0, r1, #0x10
- lsr r0, r0, #0x10
- cmp r0, #0xf
- bhs _020441D6
- mov r0, #0x0
- b _02044218
-_020441D6:
- cmp r0, #0x1e
- bhs _020441DE
- mov r0, #0x1
- b _02044218
-_020441DE:
- cmp r0, #0x2d
- bhs _020441E6
- mov r0, #0x2
- b _02044218
-_020441E6:
- cmp r0, #0x3c
- bhs _020441EE
- mov r0, #0x3
- b _02044218
-_020441EE:
- cmp r0, #0x46
- bhs _020441F6
- mov r0, #0x4
- b _02044218
-_020441F6:
- cmp r0, #0x50
- bhs _020441FE
- mov r0, #0x5
- b _02044218
-_020441FE:
- cmp r0, #0x58
- bhs _02044206
- mov r0, #0x6
- b _02044218
-_02044206:
- cmp r0, #0x5d
- bhs _0204420E
- mov r0, #0x7
- b _02044218
-_0204420E:
- cmp r0, #0x62
- bhs _02044216
- mov r0, #0x8
- b _02044218
-_02044216:
- mov r0, #0x9
-_02044218:
- ldr r2, _020442B4 ; =0x0000011D
- cmp r5, r2
- bgt _02044244
- bge _02044290
- cmp r5, #0x27
- bgt _02044236
- cmp r5, #0x23
- blt _02044230
- beq _02044284
- cmp r5, #0x27
- beq _02044290
- b _0204429C
-_02044230:
- cmp r5, #0x19
- beq _02044294
- b _0204429C
-_02044236:
- cmp r5, #0x36
- bgt _0204423E
- beq _0204428C
- b _0204429C
-_0204423E:
- cmp r5, #0xff
- beq _02044288
- b _0204429C
-_02044244:
- add r1, r2, #0x0
- add r1, #0x8c
- cmp r5, r1
- bgt _0204426C
- add r1, r2, #0x0
- add r1, #0x8c
- cmp r5, r1
- bge _02044288
- add r1, r2, #0x0
- add r1, #0xf
- cmp r5, r1
- bgt _02044264
- add r2, #0xf
- cmp r5, r2
- beq _02044284
- b _0204429C
-_02044264:
- add r2, #0x84
- cmp r5, r2
- beq _0204428C
- b _0204429C
-_0204426C:
- add r1, r2, #0x0
- add r1, #0x8e
- cmp r5, r1
- bgt _0204427C
- add r2, #0x8e
- cmp r5, r2
- beq _02044298
- b _0204429C
-_0204427C:
- add r2, #0x9b
- cmp r5, r2
- beq _02044298
- b _0204429C
-_02044284:
- mov r2, #0x0
- b _0204429E
-_02044288:
- mov r2, #0x1
- b _0204429E
-_0204428C:
- mov r2, #0x2
- b _0204429E
-_02044290:
- mov r2, #0x3
- b _0204429E
-_02044294:
- mov r2, #0x4
- b _0204429E
-_02044298:
- mov r2, #0x5
- b _0204429E
-_0204429C:
- mov r2, #0x0
-_0204429E:
- add r3, r2, #0x0
- mov r1, #0x14
- mul r3, r1
- ldr r2, _020442B8 ; =0x020F4494
- lsl r1, r0, #0x1
- add r0, r2, r3
- ldrh r0, [r1, r0]
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
- nop
-_020442B4: .word 0x0000011D
-_020442B8: .word 0x020F4494
-
- thumb_func_start FUN_020442BC
-FUN_020442BC: ; 0x020442BC
- push {r4-r7, lr}
- sub sp, #0x14
- add r4, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x1c]
- ldr r0, [r0, #0x0]
- bl FUN_02034824
- add r6, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r5, [r0, #0x0]
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- str r0, [sp, #0xc]
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r7, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- str r0, [sp, #0x10]
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394B8
- add r4, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_0206BB1C
- ldr r0, [sp, #0x10]
- lsl r3, r7, #0x18
- str r0, [sp, #0x0]
- str r6, [sp, #0x4]
- mov r0, #0xc
- str r0, [sp, #0x8]
- ldr r1, [r5, #0xc]
- ldr r2, [sp, #0xc]
- mov r0, #0xb
- lsr r3, r3, #0x18
- bl FUN_0204A048
- strh r0, [r4, #0x0]
- mov r0, #0x0
- add sp, #0x14
- pop {r4-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0204434C
-FUN_0204434C: ; 0x0204434C
- push {r4-r6, lr}
- add r4, r0, #0x0
- add r1, r4, #0x0
- add r1, #0x80
- ldr r5, [r1, #0x0]
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394B8
- add r4, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_0206BB1C
- ldrh r1, [r6, #0x0]
- bl FUN_0206B9B0
- mov r1, #0x4c
- mov r2, #0x0
- add r5, r0, #0x0
- bl FUN_020671BC
- cmp r0, #0x0
- bne _020443A0
- add r0, r5, #0x0
- mov r1, #0x5
- mov r2, #0x0
- bl FUN_020671BC
- b _020443A2
-_020443A0:
- mov r0, #0x0
-_020443A2:
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_020443A8
-FUN_020443A8: ; 0x020443A8
- push {r3-r7, lr}
- add r4, r0, #0x0
- add r0, #0x80
- ldr r5, [r0, #0x0]
- add r0, r5, #0x0
- bl FUN_020377AC
- bl FUN_020238F4
- add r7, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394B8
- add r4, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_0206BB1C
- ldrh r1, [r6, #0x0]
- bl FUN_0206B9B0
- mov r1, #0x7
- mov r2, #0x0
- bl FUN_020671BC
- lsl r0, r0, #0x10
- lsr r5, r0, #0x10
- add r0, r7, #0x0
- bl FUN_020239BC
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- cmp r5, r0
- bne _0204440C
- mov r0, #0x0
- b _0204440E
-_0204440C:
- mov r0, #0x1
-_0204440E:
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02044414
-FUN_02044414: ; 0x02044414
- push {r4-r7, lr}
- sub sp, #0xc
- add r5, r0, #0x0
- add r0, #0x80
- ldr r4, [r0, #0x0]
- ldr r0, [r4, #0xc]
- bl FUN_020238F4
- add r7, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- str r0, [sp, #0x8]
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- add r5, r0, #0x0
- ldr r0, [r4, #0xc]
- bl FUN_0206BB1C
- add r6, r0, #0x0
- bl FUN_0206B9AC
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- cmp r0, #0x6
- bhs _02044494
- mov r0, #0xb
- bl FUN_020669C0
- add r4, r0, #0x0
- bl FUN_02066978
- mov r0, #0x1
- add r1, r5, #0x0
- bl FUN_02015CF8
- mov r1, #0x3
- str r1, [sp, #0x0]
- str r0, [sp, #0x4]
- ldr r1, [sp, #0x8]
- add r0, r4, #0x0
- mov r2, #0x1
- add r3, r7, #0x0
- bl FUN_021ECF14
- add r0, r6, #0x0
- add r1, r4, #0x0
- bl FUN_0206B900
- add r0, r4, #0x0
- bl FUN_02016A18
-_02044494:
- mov r0, #0x0
- add sp, #0xc
- pop {r4-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0204449C
-FUN_0204449C: ; 0x0204449C
- push {r3-r7, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r5, #0x80
- add r7, r0, #0x0
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_0206BB1C
- add r1, r4, #0x0
- add r2, r6, #0x0
- add r3, r7, #0x0
- bl FUN_0204A120
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_020444F4
-FUN_020444F4: ; 0x020444F4
- push {r3-r7, lr}
- add r4, r0, #0x0
- add r1, r4, #0x0
- add r1, #0x80
- ldr r7, [r1, #0x0]
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394F0
- add r4, r0, #0x0
- ldr r0, [r7, #0xc]
- bl FUN_0206BB1C
- add r1, r4, #0x0
- bl FUN_0206B9B0
- mov r2, #0x0
- mov r1, #0x4c
- add r4, r0, #0x0
- strh r2, [r6, #0x0]
- bl FUN_020671BC
- cmp r0, #0x0
- beq _02044556
- mov r0, #0x0
- pop {r3-r7, pc}
-_02044556:
- add r0, r4, #0x0
- mov r1, #0x36
- mov r2, #0x0
- bl FUN_020671BC
- cmp r5, r0
- beq _0204458E
- add r0, r4, #0x0
- mov r1, #0x37
- mov r2, #0x0
- bl FUN_020671BC
- cmp r5, r0
- beq _0204458E
- add r0, r4, #0x0
- mov r1, #0x38
- mov r2, #0x0
- bl FUN_020671BC
- cmp r5, r0
- beq _0204458E
- add r0, r4, #0x0
- mov r1, #0x39
- mov r2, #0x0
- bl FUN_020671BC
- cmp r5, r0
- bne _02044592
-_0204458E:
- mov r0, #0x1
- strh r0, [r6, #0x0]
-_02044592:
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02044598
-FUN_02044598: ; 0x02044598
- push {r3-r7, lr}
- sub sp, #0x8
- add r4, r0, #0x0
- add r1, r4, #0x0
- add r1, #0x80
- ldr r1, [r1, #0x0]
- str r1, [sp, #0x4]
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- str r0, [sp, #0x0]
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394F0
- add r5, r0, #0x0
- ldr r0, [sp, #0x4]
- ldr r0, [r0, #0xc]
- bl FUN_0206BB1C
- bl FUN_0206B9AC
- lsl r0, r0, #0x18
- lsr r7, r0, #0x18
- ldr r1, _02044650 ; =0x00000006
- ldr r0, [sp, #0x0]
- ldr r6, _02044654 ; =0x00000000
- strh r1, [r0, #0x0]
- beq _02044648
-_020445E4:
- ldr r0, [sp, #0x4]
- ldr r0, [r0, #0xc]
- bl FUN_0206BB1C
- add r1, r6, #0x0
- bl FUN_0206B9B0
- mov r1, #0x4c
- mov r2, #0x0
- add r4, r0, #0x0
- bl FUN_020671BC
- cmp r0, #0x0
- bne _0204463E
- add r0, r4, #0x0
- mov r1, #0x36
- mov r2, #0x0
- bl FUN_020671BC
- cmp r5, r0
- beq _02044638
- add r0, r4, #0x0
- mov r1, #0x37
- mov r2, #0x0
- bl FUN_020671BC
- cmp r5, r0
- beq _02044638
- add r0, r4, #0x0
- mov r1, #0x38
- mov r2, #0x0
- bl FUN_020671BC
- cmp r5, r0
- beq _02044638
- add r0, r4, #0x0
- mov r1, #0x39
- mov r2, #0x0
- bl FUN_020671BC
- cmp r5, r0
- bne _0204463E
-_02044638:
- ldr r0, [sp, #0x0]
- strh r6, [r0, #0x0]
- b _02044648
-_0204463E:
- add r0, r6, #0x1
- lsl r0, r0, #0x18
- lsr r6, r0, #0x18
- cmp r6, r7
- blo _020445E4
-_02044648:
- mov r0, #0x0
- add sp, #0x8
- pop {r3-r7, pc}
- nop
-_02044650: .word 0x00000006
-_02044654: .word 0x00000000
-
- thumb_func_start FUN_02044658
-FUN_02044658: ; 0x02044658
- push {r4-r6, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r5, #0x80
- add r6, r0, #0x0
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_0206BB1C
- add r1, r6, #0x0
- bl FUN_0206B9B0
- bl FUN_0204A32C
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_0204469C
-FUN_0204469C: ; 0x0204469C
- push {r4-r7, lr}
- sub sp, #0xc
- add r4, r0, #0x0
- add r1, r4, #0x0
- add r1, #0x80
- ldr r7, [r1, #0x0]
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- str r0, [sp, #0x4]
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394F0
- str r0, [sp, #0x0]
- ldr r0, [r7, #0xc]
- bl FUN_0206BB1C
- bl FUN_0206B9AC
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x8]
- mov r4, #0x0
- ldr r0, [sp, #0x4]
- add r5, r4, #0x0
- strh r4, [r0, #0x0]
- ldr r0, [sp, #0x8]
- cmp r0, #0x0
- bls _02044726
-_020446EA:
- ldr r0, [r7, #0xc]
- bl FUN_0206BB1C
- add r1, r4, #0x0
- bl FUN_0206B9B0
- mov r1, #0x4c
- mov r2, #0x0
- add r6, r0, #0x0
- bl FUN_020671BC
- cmp r0, #0x0
- bne _0204471A
- add r0, r6, #0x0
- mov r1, #0xa0
- mov r2, #0x0
- bl FUN_020671BC
- ldr r1, [sp, #0x0]
- cmp r0, r1
- bhi _0204471A
- add r0, r5, #0x1
- lsl r0, r0, #0x18
- lsr r5, r0, #0x18
-_0204471A:
- add r0, r4, #0x1
- lsl r0, r0, #0x18
- lsr r4, r0, #0x18
- ldr r0, [sp, #0x8]
- cmp r4, r0
- blo _020446EA
-_02044726:
- ldr r0, [sp, #0x4]
- strh r5, [r0, #0x0]
- mov r0, #0x0
- add sp, #0xc
- pop {r4-r7, pc}
-
- thumb_func_start FUN_02044730
-FUN_02044730: ; 0x02044730
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r1, r5, #0x0
- add r1, #0x80
- ldr r6, [r1, #0x0]
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- add r5, r0, #0x0
- ldr r0, [r6, #0xc]
- bl FUN_0206BB1C
- add r1, r5, #0x0
- bl FUN_0206B9B0
- mov r2, #0x0
- mov r1, #0x4c
- add r5, r0, #0x0
- strh r2, [r4, #0x0]
- bl FUN_020671BC
- cmp r0, #0x0
- bne _02044786
- add r0, r5, #0x0
- mov r1, #0xa0
- mov r2, #0x0
- bl FUN_020671BC
- strh r0, [r4, #0x0]
-_02044786:
- mov r0, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_0204478C
-FUN_0204478C: ; 0x0204478C
- push {r4-r6, lr}
- add r6, r0, #0x0
- add r1, r6, #0x0
- add r1, #0x80
- ldr r5, [r1, #0x0]
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r6, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r4, r0, #0x0
- add r0, r6, #0x0
- bl ScriptReadHalfword
- add r6, #0x80
- add r1, r0, #0x0
- ldr r0, [r6, #0x0]
- bl FUN_020394F0
- add r6, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_0206BB1C
- bl FUN_0206B9AC
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- cmp r6, r0
- blt _020447D2
- mov r0, #0x0
- strh r0, [r4, #0x0]
- pop {r4-r6, pc}
-_020447D2:
- ldr r0, [r5, #0xc]
- bl FUN_0206BB1C
- add r1, r6, #0x0
- bl FUN_0206B9B0
- mov r1, #0x4c
- mov r2, #0x0
- add r5, r0, #0x0
- bl FUN_020671BC
- cmp r0, #0x0
- beq _020447F2
- mov r0, #0x0
- strh r0, [r4, #0x0]
- pop {r4-r6, pc}
-_020447F2:
- add r0, r5, #0x0
- bl FUN_02068854
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02044800
-FUN_02044800: ; 0x02044800
- push {r3-r7, lr}
- sub sp, #0x8
- add r4, r0, #0x0
- add r1, r4, #0x0
- add r1, #0x80
- ldr r7, [r1, #0x0]
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- str r0, [sp, #0x4]
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394F0
- str r0, [sp, #0x0]
- ldr r0, [r7, #0xc]
- bl FUN_0206BB1C
- bl FUN_0206B9AC
- lsl r0, r0, #0x18
- lsr r6, r0, #0x18
- ldr r1, _02044884 ; =0x000000FF
- ldr r0, [sp, #0x4]
- ldr r5, _02044888 ; =0x00000000
- strh r1, [r0, #0x0]
- beq _0204487E
-_02044848:
- ldr r0, [r7, #0xc]
- bl FUN_0206BB1C
- add r1, r5, #0x0
- bl FUN_0206B9B0
- mov r1, #0x4c
- mov r2, #0x0
- add r4, r0, #0x0
- bl FUN_020671BC
- cmp r0, #0x0
- bne _02044874
- add r0, r4, #0x0
- bl FUN_02068854
- ldr r1, [sp, #0x0]
- cmp r1, r0
- bne _02044874
- ldr r0, [sp, #0x4]
- strh r5, [r0, #0x0]
- b _0204487E
-_02044874:
- add r0, r5, #0x1
- lsl r0, r0, #0x18
- lsr r5, r0, #0x18
- cmp r5, r6
- blo _02044848
-_0204487E:
- mov r0, #0x0
- add sp, #0x8
- pop {r3-r7, pc}
- .balign 4
-_02044884: .word 0x000000FF
-_02044888: .word 0x00000000
-
- thumb_func_start FUN_0204488C
-FUN_0204488C: ; 0x0204488C
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r1, r5, #0x0
- add r1, #0x80
- ldr r4, [r1, #0x0]
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- add r5, r0, #0x0
- ldr r0, [r4, #0xc]
- bl FUN_0206BB1C
- add r1, r5, #0x0
- bl FUN_0206B9B0
- mov r1, #0x9
- mov r2, #0x0
- bl FUN_020671BC
- strh r0, [r6, #0x0]
- mov r0, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_020448D4
-FUN_020448D4: ; 0x020448D4
- push {r3-r7, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- add r1, r5, #0x0
- add r1, #0x80
- ldr r6, [r1, #0x0]
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r5, #0x80
- str r0, [sp, #0x0]
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0x1c]
- ldr r0, [r0, #0x0]
- bl FUN_02034824
- add r7, r0, #0x0
- ldr r0, [r6, #0xc]
- bl FUN_0206BB1C
- ldr r1, [sp, #0x0]
- bl FUN_0206B9B0
- mov r1, #0x9
- mov r2, #0x0
- add r5, r0, #0x0
- bl FUN_020671BC
- add r1, sp, #0x4
- strh r0, [r1, #0x0]
- cmp r4, #0x0
- beq _02044982
- add r0, r5, #0x0
- mov r1, #0x6
- mov r2, #0x0
- bl FUN_020671BC
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- mov r1, #0x1
- mov r2, #0xb
- bl FUN_0206E7B8
- cmp r0, #0x34
- bne _0204495A
- mov r0, #0x96
- mul r0, r4
- mov r1, #0x64
- blx _s32_div_f
- lsl r0, r0, #0x10
- lsr r4, r0, #0x10
-_0204495A:
- add r0, r5, #0x0
- mov r1, #0x9a
- mov r2, #0x0
- bl FUN_020671BC
- cmp r0, #0xb
- bne _0204496E
- add r0, r4, #0x1
- lsl r0, r0, #0x10
- lsr r4, r0, #0x10
-_0204496E:
- add r0, r5, #0x0
- mov r1, #0x97
- mov r2, #0x0
- bl FUN_020671BC
- cmp r7, r0
- bne _02044982
- add r0, r4, #0x1
- lsl r0, r0, #0x10
- lsr r4, r0, #0x10
-_02044982:
- add r0, sp, #0x4
- ldrh r1, [r0, #0x0]
- add r1, r1, r4
- strh r1, [r0, #0x0]
- ldrh r1, [r0, #0x0]
- cmp r1, #0xff
- bls _02044994
- mov r1, #0xff
- strh r1, [r0, #0x0]
-_02044994:
- add r0, r5, #0x0
- mov r1, #0x9
- add r2, sp, #0x4
- bl FUN_02067830
- mov r0, #0x0
- add sp, #0x8
- pop {r3-r7, pc}
-
- thumb_func_start FUN_020449A4
-FUN_020449A4: ; 0x020449A4
- push {r3-r6, lr}
- sub sp, #0x4
- add r5, r0, #0x0
- add r1, r5, #0x0
- add r1, #0x80
- ldr r6, [r1, #0x0]
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- add r5, r0, #0x0
- ldr r0, [r6, #0xc]
- bl FUN_0206BB1C
- add r1, r5, #0x0
- bl FUN_0206B9B0
- mov r1, #0x9
- mov r2, #0x0
- add r5, r0, #0x0
- bl FUN_020671BC
- add r1, sp, #0x0
- strh r0, [r1, #0x0]
- ldrh r0, [r1, #0x0]
- cmp r4, r0
- bls _020449F8
- mov r0, #0x0
- b _020449FA
-_020449F8:
- sub r0, r0, r4
-_020449FA:
- strh r0, [r1, #0x0]
- add r0, r5, #0x0
- mov r1, #0x9
- add r2, sp, #0x0
- bl FUN_02067830
- mov r0, #0x0
- add sp, #0x4
- pop {r3-r6, pc}
-
- thumb_func_start FUN_02044A0C
-FUN_02044A0C: ; 0x02044A0C
- push {r3-r7, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r7, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r5, #0x80
- add r6, r0, #0x0
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_0206BB1C
- add r1, r7, #0x0
- bl FUN_0206B9B0
- add r4, #0x13
- add r1, r4, #0x0
- mov r2, #0x0
- bl FUN_020671BC
- strh r0, [r6, #0x0]
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02044A6C
-FUN_02044A6C: ; 0x02044A6C
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r5, #0x80
- add r4, r0, #0x0
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_02054DEC
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02044A94
-FUN_02044A94: ; 0x02044A94
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r1, r5, #0x0
- add r1, #0x80
- ldr r4, [r1, #0x0]
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r7, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- add r5, r0, #0x0
- ldr r0, [r4, #0xc]
- bl FUN_0206BB1C
- add r1, r5, #0x0
- bl FUN_0206B9B0
- add r4, r0, #0x0
- mov r1, #0xb0
- mov r2, #0x0
- bl FUN_020671BC
- strh r0, [r6, #0x0]
- add r0, r4, #0x0
- mov r1, #0xb1
- mov r2, #0x0
- bl FUN_020671BC
- strh r0, [r7, #0x0]
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02044B00
-FUN_02044B00: ; 0x02044B00
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r1, r5, #0x0
- add r1, #0x80
- ldr r4, [r1, #0x0]
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394B8
- add r5, r0, #0x0
- ldr r0, [r4, #0xc]
- bl FUN_0206BB1C
- bl FUN_0206B9AC
- strh r0, [r5, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02044B2C
-FUN_02044B2C: ; 0x02044B2C
- push {r3-r7, lr}
- add r4, r0, #0x0
- add r1, r4, #0x0
- add r1, #0x80
- ldr r6, [r1, #0x0]
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394B8
- str r0, [sp, #0x0]
- ldr r0, [r6, #0xc]
- bl FUN_0206BB1C
- bl FUN_0206B9AC
- mov r5, #0x0
- add r7, r0, #0x0
- add r4, r5, #0x0
- cmp r7, #0x0
- ble _02044B7A
-_02044B5A:
- ldr r0, [r6, #0xc]
- bl FUN_0206BB1C
- add r1, r5, #0x0
- bl FUN_0206B9B0
- mov r1, #0x4c
- mov r2, #0x0
- bl FUN_020671BC
- cmp r0, #0x0
- bne _02044B74
- add r4, r4, #0x1
-_02044B74:
- add r5, r5, #0x1
- cmp r5, r7
- blt _02044B5A
-_02044B7A:
- ldr r0, [sp, #0x0]
- strh r4, [r0, #0x0]
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02044B84
-FUN_02044B84: ; 0x02044B84
- push {r4-r7, lr}
- sub sp, #0xc
- add r4, r0, #0x0
- add r1, r4, #0x0
- add r1, #0x80
- ldr r7, [r1, #0x0]
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- str r0, [sp, #0x4]
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394F0
- str r0, [sp, #0x0]
- ldr r0, [r7, #0xc]
- bl FUN_0206BB1C
- bl FUN_0206B9AC
- mov r5, #0x0
- add r4, r5, #0x0
- str r0, [sp, #0x8]
- cmp r0, #0x0
- ble _02044C00
-_02044BC8:
- ldr r0, [sp, #0x0]
- cmp r5, r0
- beq _02044BF8
- ldr r0, [r7, #0xc]
- bl FUN_0206BB1C
- add r1, r5, #0x0
- bl FUN_0206B9B0
- mov r1, #0x4c
- mov r2, #0x0
- add r6, r0, #0x0
- bl FUN_020671BC
- cmp r0, #0x0
- bne _02044BF8
- add r0, r6, #0x0
- mov r1, #0xa2
- mov r2, #0x0
- bl FUN_020671BC
- cmp r0, #0x0
- beq _02044BF8
- add r4, r4, #0x1
-_02044BF8:
- ldr r0, [sp, #0x8]
- add r5, r5, #0x1
- cmp r5, r0
- blt _02044BC8
-_02044C00:
- ldr r0, [sp, #0x4]
- strh r4, [r0, #0x0]
- mov r0, #0x0
- add sp, #0xc
- pop {r4-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02044C0C
-FUN_02044C0C: ; 0x02044C0C
- push {r4-r7, lr}
- sub sp, #0xc
- add r4, r0, #0x0
- add r1, r4, #0x0
- add r1, #0x80
- ldr r7, [r1, #0x0]
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394B8
- str r0, [sp, #0x0]
- ldr r0, [r7, #0xc]
- bl FUN_02022510
- str r0, [sp, #0x4]
- ldr r0, [r7, #0xc]
- bl FUN_0206BB1C
- bl FUN_0206B9AC
- mov r5, #0x0
- add r4, r5, #0x0
- str r0, [sp, #0x8]
- cmp r0, #0x0
- ble _02044C76
-_02044C44:
- ldr r0, [r7, #0xc]
- bl FUN_0206BB1C
- add r1, r5, #0x0
- bl FUN_0206B9B0
- mov r1, #0x4c
- mov r2, #0x0
- add r6, r0, #0x0
- bl FUN_020671BC
- cmp r0, #0x0
- bne _02044C6E
- add r0, r6, #0x0
- mov r1, #0xa2
- mov r2, #0x0
- bl FUN_020671BC
- cmp r0, #0x0
- beq _02044C6E
- add r4, r4, #0x1
-_02044C6E:
- ldr r0, [sp, #0x8]
- add r5, r5, #0x1
- cmp r5, r0
- blt _02044C44
-_02044C76:
- ldr r0, [sp, #0x4]
- bl FUN_0206B57C
- add r1, r4, r0
- ldr r0, [sp, #0x0]
- strh r1, [r0, #0x0]
- mov r0, #0x0
- add sp, #0xc
- pop {r4-r7, pc}
-
- thumb_func_start FUN_02044C88
-FUN_02044C88: ; 0x02044C88
- push {r3-r7, lr}
- add r4, r0, #0x0
- add r1, r4, #0x0
- add r1, #0x80
- ldr r6, [r1, #0x0]
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394B8
- str r0, [sp, #0x0]
- ldr r0, [r6, #0xc]
- bl FUN_0206BB1C
- bl FUN_0206B9AC
- mov r5, #0x0
- add r7, r0, #0x0
- add r4, r5, #0x0
- cmp r7, #0x0
- ble _02044CD6
-_02044CB6:
- ldr r0, [r6, #0xc]
- bl FUN_0206BB1C
- add r1, r5, #0x0
- bl FUN_0206B9B0
- mov r1, #0x4c
- mov r2, #0x0
- bl FUN_020671BC
- cmp r0, #0x0
- beq _02044CD0
- add r4, r4, #0x1
-_02044CD0:
- add r5, r5, #0x1
- cmp r5, r7
- blt _02044CB6
-_02044CD6:
- ldr r0, [sp, #0x0]
- strh r4, [r0, #0x0]
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02044CE0
-FUN_02044CE0: ; 0x02044CE0
- push {r3-r7, lr}
- add r4, r0, #0x0
- add r1, r4, #0x0
- add r1, #0x80
- ldr r5, [r1, #0x0]
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394B8
- str r0, [sp, #0x0]
- ldr r0, [r5, #0xc]
- bl FUN_0206BB1C
- bl FUN_0206B9AC
- lsl r0, r0, #0x10
- lsr r6, r0, #0x10
- ldr r4, _02044D40 ; =0x00000000
- ldr r0, [sp, #0x0]
- strh r4, [r0, #0x0]
- beq _02044D3C
- mov r7, #0x99
-_02044D12:
- ldr r0, [r5, #0xc]
- bl FUN_0206BB1C
- add r1, r4, #0x0
- bl FUN_0206B9B0
- add r1, r7, #0x0
- mov r2, #0x0
- bl FUN_020671BC
- cmp r0, #0x0
- beq _02044D32
- ldr r0, [sp, #0x0]
- mov r1, #0x1
- strh r1, [r0, #0x0]
- b _02044D3C
-_02044D32:
- add r0, r4, #0x1
- lsl r0, r0, #0x10
- lsr r4, r0, #0x10
- cmp r4, r6
- blo _02044D12
-_02044D3C:
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-_02044D40: .word 0x00000000
-
- thumb_func_start FUN_02044D44
-FUN_02044D44: ; 0x02044D44
- push {r4-r6, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r5, #0x80
- add r4, r0, #0x0
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_0206BB1C
- add r1, r6, #0x0
- bl FUN_0206B9B0
- mov r1, #0x6f
- mov r2, #0x0
- bl FUN_020671BC
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02044D8C
-FUN_02044D8C: ; 0x02044D8C
- push {r4-r6, lr}
- add r4, r0, #0x0
- add r1, r4, #0x0
- add r1, #0x80
- ldr r6, [r1, #0x0]
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394F0
- add r4, r0, #0x0
- ldr r0, [r6, #0xc]
- bl FUN_0206BB1C
- add r1, r4, #0x0
- bl FUN_0206B9B0
- mov r1, #0x4c
- mov r2, #0x0
- add r6, r0, #0x0
- bl FUN_020671BC
- cmp r0, #0x0
- beq _02044DDA
- mov r0, #0x0
- strh r0, [r5, #0x0]
- pop {r4-r6, pc}
-_02044DDA:
- mov r4, #0x0
- add r0, r6, #0x0
- mov r1, #0x36
- add r2, r4, #0x0
- bl FUN_020671BC
- cmp r0, #0x0
- beq _02044DF0
- add r0, r4, #0x1
- lsl r0, r0, #0x18
- lsr r4, r0, #0x18
-_02044DF0:
- add r0, r6, #0x0
- mov r1, #0x37
- mov r2, #0x0
- bl FUN_020671BC
- cmp r0, #0x0
- beq _02044E04
- add r0, r4, #0x1
- lsl r0, r0, #0x18
- lsr r4, r0, #0x18
-_02044E04:
- add r0, r6, #0x0
- mov r1, #0x38
- mov r2, #0x0
- bl FUN_020671BC
- cmp r0, #0x0
- beq _02044E18
- add r0, r4, #0x1
- lsl r0, r0, #0x18
- lsr r4, r0, #0x18
-_02044E18:
- add r0, r6, #0x0
- mov r1, #0x39
- mov r2, #0x0
- bl FUN_020671BC
- cmp r0, #0x0
- beq _02044E2C
- add r0, r4, #0x1
- lsl r0, r0, #0x18
- lsr r4, r0, #0x18
-_02044E2C:
- strh r4, [r5, #0x0]
- mov r0, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02044E34
-FUN_02044E34: ; 0x02044E34
- push {r4-r6, lr}
- add r4, r0, #0x0
- add r1, r4, #0x0
- add r1, #0x80
- ldr r5, [r1, #0x0]
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394F0
- add r4, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_0206BB1C
- add r1, r6, #0x0
- bl FUN_0206B9B0
- add r1, r4, #0x0
- bl FUN_020699A4
- mov r0, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02044E78
-FUN_02044E78: ; 0x02044E78
- push {r3-r7, lr}
- add r4, r0, #0x0
- add r1, r4, #0x0
- add r1, #0x80
- ldr r5, [r1, #0x0]
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r7, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394F0
- add r4, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_0206BB1C
- add r1, r7, #0x0
- bl FUN_0206B9B0
- add r4, #0x36
- add r1, r4, #0x0
- mov r2, #0x0
- bl FUN_020671BC
- strh r0, [r6, #0x0]
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02044ED8
-FUN_02044ED8: ; 0x02044ED8
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r1, r5, #0x0
- add r1, #0x80
- ldr r4, [r1, #0x0]
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- add r5, r0, #0x0
- ldr r0, [r4, #0xc]
- bl FUN_0206BB1C
- add r1, r5, #0x0
- bl FUN_0206B9B0
- mov r1, #0x6
- mov r2, #0x0
- bl FUN_020671BC
- strh r0, [r6, #0x0]
- mov r0, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02044F20
-FUN_02044F20: ; 0x02044F20
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r1, r5, #0x0
- add r1, #0x80
- ldr r4, [r1, #0x0]
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- add r5, r0, #0x0
- ldr r0, [r4, #0xc]
- bl FUN_0206BB1C
- add r1, r5, #0x0
- bl FUN_0206B9B0
- mov r2, #0x0
- add r1, sp, #0x0
- strh r2, [r1, #0x0]
- mov r1, #0x6
- add r2, sp, #0x0
- bl FUN_02067830
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02044F58
-FUN_02044F58: ; 0x02044F58
- push {r3-r7, lr}
- sub sp, #0x8
- add r4, r0, #0x0
- add r1, r4, #0x0
- add r1, #0x80
- ldr r7, [r1, #0x0]
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- str r0, [sp, #0x4]
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394F0
- str r0, [sp, #0x0]
- ldr r0, [r7, #0xc]
- bl FUN_0206BB1C
- bl FUN_0206B9AC
- lsl r0, r0, #0x18
- lsr r6, r0, #0x18
- ldr r5, _02044FE4 ; =0x00000000
- ldr r0, [sp, #0x4]
- strh r5, [r0, #0x0]
- beq _02044FDE
-_02044F9E:
- ldr r0, [r7, #0xc]
- bl FUN_0206BB1C
- add r1, r5, #0x0
- bl FUN_0206B9B0
- mov r1, #0x4c
- mov r2, #0x0
- add r4, r0, #0x0
- bl FUN_020671BC
- cmp r0, #0x0
- bne _02044FD4
- add r0, r4, #0x0
- mov r1, #0x5
- mov r2, #0x0
- bl FUN_020671BC
- lsl r0, r0, #0x10
- lsr r1, r0, #0x10
- ldr r0, [sp, #0x0]
- cmp r0, r1
- bne _02044FD4
- ldr r0, [sp, #0x4]
- mov r1, #0x1
- strh r1, [r0, #0x0]
- b _02044FDE
-_02044FD4:
- add r0, r5, #0x1
- lsl r0, r0, #0x18
- lsr r5, r0, #0x18
- cmp r5, r6
- blo _02044F9E
-_02044FDE:
- mov r0, #0x0
- add sp, #0x8
- pop {r3-r7, pc}
- .balign 4
-_02044FE4: .word 0x00000000
-
- thumb_func_start FUN_02044FE8
-FUN_02044FE8: ; 0x02044FE8
- push {r3-r7, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- str r0, [sp, #0x0]
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r5, #0x80
- add r4, r0, #0x0
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_0206BB1C
- add r1, r4, #0x0
- bl FUN_0206B9B0
- mov r4, #0x0
- add r6, r0, #0x0
- add r5, r4, #0x0
- add r7, r4, #0x0
-_0204502A:
- lsl r0, r4, #0x18
- lsr r0, r0, #0x18
- add r1, r7, #0x0
- bl FUN_0207FC5C
- add r1, r0, #0x0
- add r0, r6, #0x0
- mov r2, #0x0
- bl FUN_020671BC
- cmp r0, #0x0
- beq _02045048
- add r0, r5, #0x1
- lsl r0, r0, #0x10
- lsr r5, r0, #0x10
-_02045048:
- add r0, r4, #0x1
- lsl r0, r0, #0x10
- lsr r4, r0, #0x10
- cmp r4, #0x50
- blo _0204502A
- ldr r0, [sp, #0x0]
- strh r5, [r0, #0x0]
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0204505C
-FUN_0204505C: ; 0x0204505C
- push {r3-r7, lr}
- sub sp, #0x10
- add r4, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- str r0, [sp, #0x0]
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_0206BB1C
- bl FUN_0206B9AC
- lsl r0, r0, #0x10
- add r4, #0x80
- lsr r6, r0, #0x10
- ldr r0, [r4, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_0206BB1C
- str r0, [sp, #0xc]
- mov r0, #0x0
- str r0, [sp, #0x8]
- str r0, [sp, #0x4]
-_0204509A:
- mov r5, #0x0
- cmp r6, #0x0
- bls _020450E8
- ldr r0, [sp, #0x8]
- lsl r0, r0, #0x18
- lsr r7, r0, #0x18
-_020450A6:
- ldr r0, [sp, #0xc]
- add r1, r5, #0x0
- bl FUN_0206B9B0
- mov r1, #0x4c
- mov r2, #0x0
- add r4, r0, #0x0
- bl FUN_020671BC
- cmp r0, #0x0
- bne _020450E8
- add r0, r7, #0x0
- mov r1, #0x0
- bl FUN_0207FC5C
- add r1, r0, #0x0
- add r0, r4, #0x0
- mov r2, #0x0
- bl FUN_020671BC
- cmp r0, #0x0
- beq _020450DE
- ldr r0, [sp, #0x4]
- add r0, r0, #0x1
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- str r0, [sp, #0x4]
- b _020450E8
-_020450DE:
- add r0, r5, #0x1
- lsl r0, r0, #0x10
- lsr r5, r0, #0x10
- cmp r5, r6
- blo _020450A6
-_020450E8:
- ldr r0, [sp, #0x8]
- add r0, r0, #0x1
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- str r0, [sp, #0x8]
- cmp r0, #0x50
- blo _0204509A
- ldr r1, [sp, #0x4]
- ldr r0, [sp, #0x0]
- strh r1, [r0, #0x0]
- mov r0, #0x0
- add sp, #0x10
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02045104
-FUN_02045104: ; 0x02045104
- push {r3-r7, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r7, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r5, #0x80
- add r6, r0, #0x0
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_0206BB1C
- add r1, r7, #0x0
- bl FUN_0206B9B0
- add r5, r0, #0x0
- lsl r0, r6, #0x18
- lsr r0, r0, #0x18
- mov r1, #0x0
- bl FUN_0207FC5C
- add r1, r0, #0x0
- add r0, r5, #0x0
- mov r2, #0x0
- bl FUN_020671BC
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02045170
-FUN_02045170: ; 0x02045170
- push {r3-r6, lr}
- sub sp, #0x4
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r4, r0, #0x0
- mov r1, #0x1
- add r0, sp, #0x0
- add r5, #0x80
- strb r1, [r0, #0x0]
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_0206BB1C
- add r1, r6, #0x0
- bl FUN_0206B9B0
- add r5, r0, #0x0
- lsl r0, r4, #0x18
- lsr r0, r0, #0x18
- mov r1, #0x0
- bl FUN_0207FC5C
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r2, sp, #0x0
- bl FUN_02067830
- mov r0, #0x0
- add sp, #0x4
- pop {r3-r6, pc}
- .balign 4
-
- thumb_func_start FUN_020451D0
-FUN_020451D0: ; 0x020451D0
- push {r3-r7, lr}
- sub sp, #0x8
- add r4, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- str r0, [sp, #0x0]
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_0206BB1C
- bl FUN_0206B9AC
- lsl r0, r0, #0x10
- add r4, #0x80
- lsr r6, r0, #0x10
- ldr r0, [r4, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_0206BB1C
- add r7, r0, #0x0
- mov r0, #0x0
- str r0, [sp, #0x4]
-_0204520C:
- mov r5, #0x0
- cmp r6, #0x0
- bls _0204524C
-_02045212:
- add r0, r7, #0x0
- add r1, r5, #0x0
- bl FUN_0206B9B0
- mov r1, #0x4c
- mov r2, #0x0
- add r4, r0, #0x0
- bl FUN_020671BC
- cmp r0, #0x0
- beq _02045242
- add r0, r4, #0x0
- mov r1, #0x3
- mov r2, #0x0
- bl FUN_020671BC
- cmp r0, #0x0
- beq _02045242
- ldr r0, [sp, #0x0]
- mov r1, #0x1
- strh r1, [r0, #0x0]
- add sp, #0x8
- mov r0, #0x0
- pop {r3-r7, pc}
-_02045242:
- add r0, r5, #0x1
- lsl r0, r0, #0x10
- lsr r5, r0, #0x10
- cmp r5, r6
- blo _02045212
-_0204524C:
- ldr r0, [sp, #0x4]
- add r0, r0, #0x1
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- str r0, [sp, #0x4]
- cmp r0, #0x50
- blo _0204520C
- ldr r1, [sp, #0x0]
- mov r0, #0x0
- strh r0, [r1, #0x0]
- add sp, #0x8
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02045264
-FUN_02045264: ; 0x02045264
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_02045268
-FUN_02045268: ; 0x02045268
- push {r3-r7, lr}
- add r4, r0, #0x0
- add r1, r4, #0x0
- add r1, #0x80
- ldr r6, [r1, #0x0]
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394B8
- mov r4, #0x0
- ldr r7, _020452B0 ; =0x020F450C
- str r0, [sp, #0x0]
- add r5, r4, #0x0
-_02045288:
- ldr r0, [r6, #0xc]
- bl FUN_0206F158
- lsl r1, r4, #0x2
- ldrh r1, [r7, r1]
- mov r2, #0x4
- bl FUN_0206EEF8
- add r0, r5, r0
- lsl r0, r0, #0x10
- lsr r5, r0, #0x10
- add r0, r4, #0x1
- lsl r0, r0, #0x18
- lsr r4, r0, #0x18
- cmp r4, #0x7
- blo _02045288
- ldr r0, [sp, #0x0]
- strh r5, [r0, #0x0]
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-_020452B0: .word 0x020F450C
-
- thumb_func_start FUN_020452B4
-FUN_020452B4: ; 0x020452B4
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394F0
- mov r5, #0x0
- ldr r2, _02045300 ; =0x020F450C
- strh r5, [r4, #0x0]
-_020452E0:
- lsl r3, r5, #0x2
- ldrh r1, [r2, r3]
- cmp r0, r1
- bne _020452F0
- ldr r0, _02045304 ; =0x020F450E
- ldrh r0, [r0, r3]
- strh r0, [r4, #0x0]
- b _020452FA
-_020452F0:
- add r1, r5, #0x1
- lsl r1, r1, #0x10
- lsr r5, r1, #0x10
- cmp r5, #0x7
- blo _020452E0
-_020452FA:
- mov r0, #0x0
- pop {r3-r5, pc}
- nop
-_02045300: .word 0x020F450C
-_02045304: .word 0x020F450E
-
- thumb_func_start FUN_02045308
-FUN_02045308: ; 0x02045308
- push {r4-r7, lr}
- sub sp, #0xc
- add r4, r0, #0x0
- add r1, r4, #0x0
- add r1, #0x80
- ldr r7, [r1, #0x0]
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- str r0, [sp, #0x8]
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- str r0, [sp, #0x4]
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394F0
- str r0, [sp, #0x0]
- mov r4, #0x0
- ldr r0, [sp, #0x8]
- add r6, r4, #0x0
- strh r4, [r0, #0x0]
- ldr r0, [sp, #0x4]
- strh r4, [r0, #0x0]
-_02045358:
- ldr r0, [r7, #0xc]
- lsl r5, r4, #0x2
- bl FUN_0206F158
- ldr r1, _02045394 ; =0x020F450C
- mov r2, #0x4
- ldrh r1, [r1, r5]
- bl FUN_0206EEF8
- add r0, r6, r0
- lsl r0, r0, #0x10
- lsr r6, r0, #0x10
- ldr r0, [sp, #0x0]
- cmp r6, r0
- blo _02045384
- ldr r0, _02045394 ; =0x020F450C
- ldrh r1, [r0, r5]
- ldr r0, [sp, #0x8]
- strh r1, [r0, #0x0]
- ldr r0, [sp, #0x4]
- strh r4, [r0, #0x0]
- b _0204538E
-_02045384:
- add r0, r4, #0x1
- lsl r0, r0, #0x18
- lsr r4, r0, #0x18
- cmp r4, #0x7
- blo _02045358
-_0204538E:
- mov r0, #0x0
- add sp, #0xc
- pop {r4-r7, pc}
- .balign 4
-_02045394: .word 0x020F450C
-
- thumb_func_start FUN_02045398
-FUN_02045398: ; 0x02045398
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_0204539C
-FUN_0204539C: ; 0x0204539C
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_020453A0
-FUN_020453A0: ; 0x020453A0
- push {r4-r6, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394B8
- ldr r1, _020453EC ; =0x020F4528
- lsl r2, r4, #0x2
- ldrh r1, [r1, r2]
- strh r1, [r6, #0x0]
- ldr r1, _020453F0 ; =0x020F452A
- ldrh r1, [r1, r2]
- strh r1, [r0, #0x0]
- mov r0, #0x0
- pop {r4-r6, pc}
- .balign 4
-_020453EC: .word 0x020F4528
-_020453F0: .word 0x020F452A
-
- thumb_func_start FUN_020453F4
-FUN_020453F4: ; 0x020453F4
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_02024DA0
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394B8
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_02024D64
- strh r0, [r5, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02045424
-FUN_02045424: ; 0x02045424
- push {r3, lr}
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_02024DA0
- bl FUN_02024D80
- mov r0, #0x0
- pop {r3, pc}
-
- thumb_func_start FUN_02045438
-FUN_02045438: ; 0x02045438
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r5, #0x80
- add r4, r0, #0x0
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_02034E30
- bl FUN_02034E20
- bl FUN_02055474
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02045468
-FUN_02045468: ; 0x02045468
- push {r3, lr}
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_02034E30
- bl FUN_02034E20
- mov r1, #0x1
- bl FUN_02055488
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_02045484
-FUN_02045484: ; 0x02045484
- push {r4-r6, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r6, r0, #0x0
- cmp r4, #0x8
- blo _020454B6
- bl ErrorHandling
-_020454B6:
- add r5, #0x80
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_020238F4
- add r1, r4, #0x0
- bl FUN_020239D0
- strh r0, [r6, #0x0]
- mov r0, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_020454CC
-FUN_020454CC: ; 0x020454CC
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r4, r0, #0x0
- cmp r4, #0x8
- blo _020454EA
- bl ErrorHandling
-_020454EA:
- add r5, #0x80
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_020238F4
- add r1, r4, #0x0
- bl FUN_020239E4
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02045500
-FUN_02045500: ; 0x02045500
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r5, #0x80
- add r4, r0, #0x0
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_020462AC
- bl FUN_0205ECE0
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0204552C
-FUN_0204552C: ; 0x0204552C
- push {r3-r7, lr}
- add r6, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r6, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- mov r4, #0x0
- ldr r7, _02045578 ; =0x020F4574
- str r0, [sp, #0x0]
- add r5, r4, #0x0
-_02045548:
- add r0, r6, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_020238F4
- ldrb r1, [r7, r4]
- bl FUN_020239D0
- cmp r0, #0x1
- bne _02045564
- add r0, r5, #0x1
- lsl r0, r0, #0x10
- lsr r5, r0, #0x10
-_02045564:
- add r0, r4, #0x1
- lsl r0, r0, #0x10
- lsr r4, r0, #0x10
- cmp r4, #0x8
- blo _02045548
- ldr r0, [sp, #0x0]
- strh r5, [r0, #0x0]
- mov r0, #0x0
- pop {r3-r7, pc}
- nop
-_02045578: .word 0x020F4574
-
- thumb_func_start FUN_0204557C
-FUN_0204557C: ; 0x0204557C
- push {r3, lr}
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_020462AC
- bl FUN_0205ECD4
- mov r0, #0x0
- pop {r3, pc}
-
- thumb_func_start FUN_02045590
-FUN_02045590: ; 0x02045590
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r5, #0x80
- add r4, r0, #0x0
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_020462AC
- bl FUN_0205ED3C
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_020455BC
-FUN_020455BC: ; 0x020455BC
- push {r3, lr}
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_020462AC
- bl FUN_0205ED1C
- mov r0, #0x0
- pop {r3, pc}
-
- thumb_func_start FUN_020455D0
-FUN_020455D0: ; 0x020455D0
- push {r3, lr}
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_020462AC
- bl FUN_0205ED2C
- mov r0, #0x0
- pop {r3, pc}
-
- thumb_func_start FUN_020455E4
-FUN_020455E4: ; 0x020455E4
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r5, #0x80
- add r4, r0, #0x0
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_020462AC
- bl FUN_0205ED6C
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02045610
-FUN_02045610: ; 0x02045610
- push {r3, lr}
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_020462AC
- bl FUN_0205ED4C
- mov r0, #0x0
- pop {r3, pc}
-
- thumb_func_start FUN_02045624
-FUN_02045624: ; 0x02045624
- push {r3, lr}
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_020462AC
- bl FUN_0205ED5C
- mov r0, #0x0
- pop {r3, pc}
-
- thumb_func_start FUN_02045638
-FUN_02045638: ; 0x02045638
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r5, #0x80
- add r4, r0, #0x0
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_020462AC
- bl FUN_0205ED0C
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02045664
-FUN_02045664: ; 0x02045664
- push {r3, lr}
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_020462AC
- bl FUN_0205ECFC
- mov r0, #0x0
- pop {r3, pc}
-
- thumb_func_start FUN_02045678
-FUN_02045678: ; 0x02045678
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_020462AC
- ldr r2, [r5, #0x8]
- add r4, r0, #0x0
- add r1, r2, #0x1
- str r1, [r5, #0x8]
- ldrb r1, [r2, #0x0]
- cmp r1, #0x0
- beq _020456A6
- cmp r1, #0x1
- beq _0204569E
- cmp r1, #0x2
- beq _020456AE
- b _020456CC
-_0204569E:
- mov r1, #0x1
- bl FUN_0205F264
- b _020456D0
-_020456A6:
- mov r1, #0x0
- bl FUN_0205F264
- b _020456D0
-_020456AE:
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394B8
- add r5, r0, #0x0
- add r0, r4, #0x0
- mov r1, #0x2
- bl FUN_0205F264
- strh r0, [r5, #0x0]
- b _020456D0
-_020456CC:
- bl ErrorHandling
-_020456D0:
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_020456D4
-FUN_020456D4: ; 0x020456D4
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_020462AC
- ldr r2, [r5, #0x8]
- add r4, r0, #0x0
- add r1, r2, #0x1
- str r1, [r5, #0x8]
- ldrb r1, [r2, #0x0]
- cmp r1, #0x0
- beq _02045700
- cmp r1, #0x1
- beq _020456FA
- cmp r1, #0x2
- beq _02045706
- b _02045722
-_020456FA:
- bl FUN_0205F274
- b _02045726
-_02045700:
- bl FUN_0205F284
- b _02045726
-_02045706:
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394B8
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_0205F294
- strh r0, [r5, #0x0]
- b _02045726
-_02045722:
- bl ErrorHandling
-_02045726:
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0204572C
-FUN_0204572C: ; 0x0204572C
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_020462AC
- ldr r2, [r5, #0x8]
- add r4, r0, #0x0
- add r1, r2, #0x1
- str r1, [r5, #0x8]
- ldrb r1, [r2, #0x0]
- cmp r1, #0x0
- beq _02045758
- cmp r1, #0x1
- beq _02045752
- cmp r1, #0x2
- beq _0204575E
- b _0204577A
-_02045752:
- bl FUN_0205F2A4
- b _0204577E
-_02045758:
- bl FUN_0205F2B4
- b _0204577E
-_0204575E:
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394B8
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_0205F2C4
- strh r0, [r5, #0x0]
- b _0204577E
-_0204577A:
- bl ErrorHandling
-_0204577E:
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02045784
-FUN_02045784: ; 0x02045784
- push {r3-r7, lr}
- add r4, r0, #0x0
- add r1, r4, #0x0
- add r1, #0x80
- ldr r5, [r1, #0x0]
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r7, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394B8
- add r4, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_0206F158
- add r1, r6, #0x0
- add r2, r7, #0x0
- mov r3, #0x4
- bl FUN_0206ED38
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r3-r7, pc}
-
- thumb_func_start FUN_020457DC
-FUN_020457DC: ; 0x020457DC
- push {r3-r7, lr}
- add r4, r0, #0x0
- add r1, r4, #0x0
- add r1, #0x80
- ldr r5, [r1, #0x0]
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r7, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394B8
- add r4, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_0206F158
- add r1, r6, #0x0
- add r2, r7, #0x0
- mov r3, #0x4
- bl FUN_0206EDD4
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02045834
-FUN_02045834: ; 0x02045834
- push {r3-r7, lr}
- add r4, r0, #0x0
- add r1, r4, #0x0
- add r1, #0x80
- ldr r5, [r1, #0x0]
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r7, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394B8
- add r4, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_0206F158
- add r1, r6, #0x0
- add r2, r7, #0x0
- mov r3, #0x4
- bl FUN_0206ED24
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0204588C
-FUN_0204588C: ; 0x0204588C
- push {r3-r7, lr}
- add r4, r0, #0x0
- add r1, r4, #0x0
- add r1, #0x80
- ldr r5, [r1, #0x0]
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r7, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394B8
- add r4, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_0206F158
- add r1, r6, #0x0
- add r2, r7, #0x0
- mov r3, #0xb
- bl FUN_0206EE50
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r3-r7, pc}
-
- thumb_func_start FUN_020458E4
-FUN_020458E4: ; 0x020458E4
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394B8
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_02054CB0
- strh r0, [r5, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02045918
-FUN_02045918: ; 0x02045918
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394B8
- add r5, r0, #0x0
- add r0, r4, #0x0
- mov r1, #0x5
- mov r2, #0xb
- bl FUN_0206E7B8
- strh r0, [r5, #0x0]
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02045950
-FUN_02045950: ; 0x02045950
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_02045954
-FUN_02045954: ; 0x02045954
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_02045958
-FUN_02045958: ; 0x02045958
- push {r4-r6, lr}
- add r4, r0, #0x0
- add r1, r4, #0x0
- add r1, #0x80
- ldr r1, [r1, #0x0]
- ldr r5, [r1, #0xc]
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394B8
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02026CC4
- add r1, r6, #0x0
- bl FUN_02025D6C
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_020459AC
-FUN_020459AC: ; 0x020459AC
- push {r4, lr}
- add r4, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394B8
- mov r0, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_020459E8
-FUN_020459E8: ; 0x020459E8
- push {r4-r6, lr}
- add r4, r0, #0x0
- add r1, r4, #0x0
- add r1, #0x80
- ldr r1, [r1, #0x0]
- ldr r5, [r1, #0xc]
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394B8
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02026CC4
- add r1, r6, #0x0
- bl FUN_02025D94
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02045A3C
-FUN_02045A3C: ; 0x02045A3C
- push {r4, lr}
- add r4, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394B8
- mov r0, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02045A78
-FUN_02045A78: ; 0x02045A78
- push {r4-r6, lr}
- add r4, r0, #0x0
- add r1, r4, #0x0
- add r1, #0x80
- ldr r1, [r1, #0x0]
- ldr r5, [r1, #0xc]
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394B8
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02026CC4
- add r1, r6, #0x0
- bl FUN_02026298
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02045ACC
-FUN_02045ACC: ; 0x02045ACC
- push {r4, lr}
- add r4, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394B8
- mov r0, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02045B08
-FUN_02045B08: ; 0x02045B08
- push {r4, lr}
- add r4, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394B8
- mov r0, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02045B44
-FUN_02045B44: ; 0x02045B44
- push {r4, lr}
- add r4, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394B8
- mov r0, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02045B80
-FUN_02045B80: ; 0x02045B80
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r1, r5, #0x0
- add r1, #0x80
- ldr r1, [r1, #0x0]
- ldr r4, [r1, #0xc]
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r5, #0x80
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_020394B8
- add r0, r4, #0x0
- bl FUN_02026CC4
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02045BC8
-FUN_02045BC8: ; 0x02045BC8
- push {r4, lr}
- add r4, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394B8
- mov r0, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02045C04
-FUN_02045C04: ; 0x02045C04
- push {r4, lr}
- add r4, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394B8
- mov r0, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02045C40
-FUN_02045C40: ; 0x02045C40
- push {r4, lr}
- add r4, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394B8
- mov r0, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02045C7C
-FUN_02045C7C: ; 0x02045C7C
- push {r3-r7, lr}
- add r4, r0, #0x0
- add r1, r4, #0x0
- add r1, #0x80
- ldr r1, [r1, #0x0]
- ldr r5, [r1, #0xc]
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r7, r0, #0x0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394B8
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02026CC4
- add r1, r6, #0x0
- add r2, r7, #0x0
- bl FUN_020260C4
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02045CD4
-FUN_02045CD4: ; 0x02045CD4
- push {r4, lr}
- add r4, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394B8
- mov r0, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02045D10
-FUN_02045D10: ; 0x02045D10
- push {r4, lr}
- add r4, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394B8
- mov r0, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02045D4C
-FUN_02045D4C: ; 0x02045D4C
- push {r4, lr}
- add r4, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r0, r4, #0x0
- bl ScriptReadHalfword
- add r4, #0x80
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_020394B8
- mov r0, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02045D88
-FUN_02045D88: ; 0x02045D88
- push {r4-r6, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r4, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- mov r1, #0x13
- bl FUN_02039438
- add r1, r5, #0x0
- add r1, #0x80
- lsl r2, r4, #0x18
- add r6, r0, #0x0
- ldr r1, [r1, #0x0]
- mov r0, #0x20
- lsr r2, r2, #0x18
- bl FUN_02037CF0
- str r0, [r6, #0x0]
- ldr r1, _02045DCC ; =FUN_0203BC04
- add r0, r5, #0x0
- bl SetupNativeScript
- mov r0, #0x1
- pop {r4-r6, pc}
- nop
-_02045DCC: .word FUN_0203BC04
-
- thumb_func_start FUN_02045DD0
-FUN_02045DD0: ; 0x02045DD0
- push {r3-r5, lr}
- add r4, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r4, #0x80
- add r5, r0, #0x0
- ldr r0, [r4, #0x0]
- mov r1, #0x13
- bl FUN_02039438
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- cmp r0, #0x0
- bne _02045DFC
- bl ErrorHandling
-_02045DFC:
- ldr r0, [r4, #0x0]
- bl FUN_02037D5C
- strh r0, [r5, #0x0]
- ldrh r0, [r5, #0x0]
- cmp r0, #0x4
- bne _02045E0E
- mov r0, #0xff
- strh r0, [r5, #0x0]
-_02045E0E:
- ldr r0, [r4, #0x0]
- bl FUN_02016A18
- mov r0, #0x0
- str r0, [r4, #0x0]
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02045E1C
-FUN_02045E1C: ; 0x02045E1C
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_02045E20
-FUN_02045E20: ; 0x02045E20
- push {r4-r6, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r5, #0x80
- add r6, r0, #0x0
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_0206BB1C
- add r1, r6, #0x0
- bl FUN_0206B9B0
- mov r1, #0x20
- bl FUN_02088DF8
- add r5, r0, #0x0
- bl FUN_02088EF8
- strh r0, [r4, #0x0]
- add r0, r5, #0x0
- bl FUN_02016A18
- mov r0, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02045E74
-FUN_02045E74: ; 0x02045E74
- push {r3-r7, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- add r0, #0x80
- add r7, r1, #0x0
- ldr r0, [r0, #0x0]
- mov r1, #0x13
- str r2, [sp, #0x0]
- add r6, r3, #0x0
- bl FUN_02039438
- str r0, [sp, #0x4]
- mov r0, #0x20
- bl FUN_02088DD8
- add r4, r0, #0x0
- ldr r0, [sp, #0x4]
- str r4, [r0, #0x0]
- ldr r0, [sp, #0x0]
- str r0, [r4, #0x0]
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020377AC
- bl FUN_020238F4
- str r0, [r4, #0x4]
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl LoadPlayerDataAddress
- str r0, [r4, #0x8]
- str r6, [r4, #0xc]
- add r0, r5, #0x0
- strb r7, [r4, #0x15]
- add r0, #0x80
- ldr r0, [r0, #0x0]
- add r1, r4, #0x0
- bl FUN_02038864
- ldr r1, _02045EDC ; =FUN_0203BC04
- add r0, r5, #0x0
- bl SetupNativeScript
- add r0, r6, #0x0
- bl FUN_02016A18
- add sp, #0x8
- pop {r3-r7, pc}
- .balign 4
-_02045EDC: .word FUN_0203BC04
-
- thumb_func_start FUN_02045EE0
-FUN_02045EE0: ; 0x02045EE0
- mov r0, #0x1
- bx lr
-
- thumb_func_start FUN_02045EE4
-FUN_02045EE4: ; 0x02045EE4
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r4, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_0206BB1C
- add r1, r4, #0x0
- bl FUN_0206B9B0
- add r4, r0, #0x0
- mov r1, #0x20
- bl FUN_02088DF8
- add r3, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0x1
- add r2, r4, #0x0
- bl FUN_02045E74
- mov r0, #0x1
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02045F24
-FUN_02045F24: ; 0x02045F24
- push {r4-r6, lr}
- add r5, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394F0
- add r4, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_0206BB1C
- add r1, r6, #0x0
- bl FUN_0206B9B0
- add r6, r0, #0x0
- mov r0, #0x20
- mov r1, #0x4
- bl FUN_02016998
- add r3, r0, #0x0
- ldr r0, _02045F80 ; =0x0000FFFF
- strh r4, [r3, #0x0]
- strh r0, [r3, #0x2]
- add r0, r5, #0x0
- mov r1, #0x0
- add r2, r6, #0x0
- bl FUN_02045E74
- mov r0, #0x1
- pop {r4-r6, pc}
- .balign 4
-_02045F80: .word 0x0000FFFF
-
- thumb_func_start FUN_02045F84
-FUN_02045F84: ; 0x02045F84
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_02045F88
-FUN_02045F88: ; 0x02045F88
- push {r3-r5, lr}
- add r4, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r4, #0x80
- add r5, r0, #0x0
- ldr r0, [r4, #0x0]
- mov r1, #0x13
- bl FUN_02039438
- ldr r4, [r0, #0x0]
- cmp r4, #0x0
- bne _02045FB2
- bl ErrorHandling
-_02045FB2:
- ldrb r0, [r4, #0x16]
- cmp r0, #0x0
- bne _02045FBC
- mov r0, #0x0
- b _02045FBE
-_02045FBC:
- mov r0, #0xff
-_02045FBE:
- strh r0, [r5, #0x0]
- add r0, r4, #0x0
- bl FUN_02088DF0
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02045FCC
-FUN_02045FCC: ; 0x02045FCC
- push {r3-r5, lr}
- add r4, r0, #0x0
- bl ScriptReadHalfword
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_020394B8
- add r4, #0x80
- add r5, r0, #0x0
- ldr r0, [r4, #0x0]
- mov r1, #0x13
- bl FUN_02039438
- ldr r4, [r0, #0x0]
- cmp r4, #0x0
- bne _02045FF6
- bl ErrorHandling
-_02045FF6:
- ldrb r0, [r4, #0x16]
- cmp r0, #0x0
- bne _02046000
- mov r0, #0x0
- b _02046002
-_02046000:
- mov r0, #0xff
-_02046002:
- strh r0, [r5, #0x0]
- add r0, r4, #0x0
- bl FUN_02088DF0
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02046010
-FUN_02046010: ; 0x02046010
- push {r3, lr}
- bl ErrorHandling
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0204601C
-FUN_0204601C: ; 0x0204601C
- push {r3, lr}
- bl ErrorHandling
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_02046028
-FUN_02046028: ; 0x02046028
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_0204602C
-FUN_0204602C: ; 0x0204602C
- mov r0, #0x0
- bx lr
diff --git a/asm/secure.s b/asm/secure.s
deleted file mode 100644
index f9d8f159..00000000
--- a/asm/secure.s
+++ /dev/null
@@ -1,29 +0,0 @@
-/* secure.s TODO: Disassemble */
- .include "asm/macros.inc"
-
-.section .text
-
-.incbin "baserom.nds", 0x4000, 0x19E
-
- non_word_aligned_thumb_func_start FUN_0200019E
-FUN_0200019E: ; 0x0200019E
- swi 13
- bx lr
- thumb_func_end FUN_0200019E
-
-.incbin "baserom.nds", 0x41A2, 0x15C
-
- non_word_aligned_thumb_func_start FUN_020002FE
-FUN_020002FE: ; 0x020002FE
- swi 11
- bx lr
-
-.incbin "baserom.nds", 0x4302, 0x2F0
-
-
- non_word_aligned_thumb_func_start SVC_WaitByLoop
-SVC_WaitByLoop:
- swi 3
- bx lr
-
-.incbin "baserom.nds", 0x45F6, 0x20A
diff --git a/asm/unk_02000E0C.s b/asm/unk_02000E0C.s
deleted file mode 100644
index 50b0dace..00000000
--- a/asm/unk_02000E0C.s
+++ /dev/null
@@ -1,2758 +0,0 @@
- .include "asm/macros.inc"
- .include "global.inc"
-
- .text
-
- thumb_func_start FUN_02000E0C
-FUN_02000E0C: ; 0x02000E0C
- push {r3, lr}
- ldr r0, _02000E74 ; =0x02106FA0
- ldr r1, [r0, #0xc]
- cmp r1, #0x0
- bne _02000E4A
- ldr r1, [r0, #0x14]
- cmp r1, #0x0
- beq _02000E70
- mov r1, #0x0
- ldr r0, [r0, #0x10]
- mvn r1, r1
- cmp r0, r1
- beq _02000E2C
- mov r1, #0x0
- bl FUN_02005FDC
-_02000E2C:
- ldr r0, _02000E74 ; =0x02106FA0
- mov r2, #0x0
- ldr r1, [r0, #0x10]
- str r1, [r0, #0x8]
- ldr r0, [r0, #0x14]
- ldr r1, _02000E78 ; =0x02106FB8
- bl FUN_02006234
- ldr r1, _02000E74 ; =0x02106FA0
- str r0, [r1, #0xc]
- mov r0, #0x0
- mvn r0, r0
- str r0, [r1, #0x10]
- mov r0, #0x0
- str r0, [r1, #0x14]
-_02000E4A:
- ldr r0, _02000E74 ; =0x02106FA0
- ldr r0, [r0, #0xc]
- bl FUN_02006290
- cmp r0, #0x0
- beq _02000E70
- ldr r0, _02000E74 ; =0x02106FA0
- ldr r0, [r0, #0xc]
- bl FUN_02006260
- ldr r0, _02000E74 ; =0x02106FA0
- mov r1, #0x0
- str r1, [r0, #0xc]
- ldr r0, [r0, #0x8]
- sub r1, r1, #0x1
- cmp r0, r1
- beq _02000E70
- bl FUN_02005F60
-_02000E70:
- pop {r3, pc}
- nop
-_02000E74: .word 0x02106FA0
-_02000E78: .word 0x02106FB8
-
- thumb_func_start FUN_02000E7C
-FUN_02000E7C: ; 0x02000E7C
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r0, _02000E98 ; =0x02106FA0
- add r4, r1, #0x0
- ldr r0, [r0, #0x14]
- cmp r0, #0x0
- beq _02000E8E
- bl ErrorHandling
-_02000E8E:
- ldr r0, _02000E98 ; =0x02106FA0
- str r5, [r0, #0x10]
- str r4, [r0, #0x14]
- pop {r3-r5, pc}
- nop
-_02000E98: .word 0x02106FA0
-
- thumb_func_start FUN_02000E9C
-FUN_02000E9C: ; 0x02000E9C
- push {r3, lr}
- bl FUN_0202FB80
- mov r0, #0x1
- add r1, r0, #0x0
- blx OS_WaitIrq
- ldr r0, _02000EC4 ; =0x021C48B8
- ldr r1, [r0, #0x2c]
- add r1, r1, #0x1
- str r1, [r0, #0x2c]
- mov r1, #0x0
- str r1, [r0, #0x30]
- ldr r1, [r0, #0x0]
- cmp r1, #0x0
- beq _02000EC0
- ldr r0, [r0, #0x4]
- blx r1
-_02000EC0:
- pop {r3, pc}
- nop
-_02000EC4: .word 0x021C48B8
-
- thumb_func_start FUN_02000EC8
-FUN_02000EC8: ; 0x02000EC8
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_02033678
- cmp r0, #0x0
- beq _02000EE2
- blx CARD_TryWaitBackupAsync
- cmp r0, #0x1
- bne _02000EE2
- add r0, r4, #0x0
- blx OS_ResetSystem
-_02000EE2:
- bl FUN_02000E9C
- pop {r4, pc}
-
- thumb_func_start FUN_02000EE8
-FUN_02000EE8: ; 0x02000EE8
- push {r3, lr}
- bl FUN_020335B8
- add r1, r0, #0x0
- cmp r1, #0x1
- beq _02000EFE
- cmp r1, #0x2
- beq _02000F06
- cmp r1, #0x3
- beq _02000F0E
- pop {r3, pc}
-_02000EFE:
- mov r0, #0x1
- bl FUN_02000F4C
- pop {r3, pc}
-_02000F06:
- mov r0, #0x0
- bl FUN_02000F4C
- pop {r3, pc}
-_02000F0E:
- mov r0, #0x1
- bl FUN_02000F4C
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_02000F18
-FUN_02000F18: ; 0x02000F18
- push {r4, lr}
- ldr r1, _02000F48 ; =0x00007FFF
- add r4, r0, #0x0
- mov r0, #0x0
- bl FUN_0200E3A0
- ldr r1, _02000F48 ; =0x00007FFF
- mov r0, #0x1
- bl FUN_0200E3A0
- bl FUN_02032DAC
- cmp r0, #0x0
- beq _02000F3C
- bl FUN_020225F8
- bl FUN_0202287C
-_02000F3C:
- bl FUN_02000FE8
- add r0, r4, #0x0
- bl FUN_02000EC8
- b _02000F3C
- .balign 4
-_02000F48: .word 0x00007FFF
-
- thumb_func_start FUN_02000F4C
-FUN_02000F4C: ; 0x02000F4C
- push {r4-r6, lr}
- add r6, r0, #0x0
- cmp r1, #0x3
- bne _02000F60
- mov r0, #0x0
- mov r1, #0x3
- add r2, r0, #0x0
- bl FUN_02033F70
- b _02000F7A
-_02000F60:
- cmp r6, #0x0
- bne _02000F70
- mov r0, #0x0
- mov r1, #0x2
- add r2, r0, #0x0
- bl FUN_02033F70
- b _02000F7A
-_02000F70:
- mov r0, #0x0
- add r1, r0, #0x0
- add r2, r0, #0x0
- bl FUN_02033F70
-_02000F7A:
- bl FUN_02032DAC
- ldr r5, _02000FA0 ; =0x021C48B8
- mov r4, #0x1
-_02000F82:
- bl FUN_02000FE8
- bl FUN_02016464
- ldr r0, [r5, #0x48]
- tst r0, r4
- bne _02000F96
- bl FUN_02000E9C
- b _02000F82
-_02000F96:
- add r0, r6, #0x0
- bl FUN_02000F18
- pop {r4-r6, pc}
- nop
-_02000FA0: .word 0x021C48B8
-
- thumb_func_start FUN_02000FA4
-FUN_02000FA4: ; 0x02000FA4
- push {r4-r5, lr}
- sub sp, #0x1c
- add r0, sp, #0xc
- add r1, sp, #0x0
- bl FUN_0201265C
- ldr r0, _02000FE4 ; =0x021C48B8
- ldr r3, [sp, #0x10]
- ldr r4, [r0, #0x2c]
- ldr r1, [sp, #0x4]
- ldr r0, [sp, #0x8]
- ldr r5, [sp, #0x14]
- add r0, r1, r0
- lsl r2, r0, #0x18
- ldr r0, [sp, #0x0]
- lsl r3, r3, #0x8
- lsl r1, r0, #0x10
- mul r3, r5
- ldr r0, [sp, #0xc]
- lsl r3, r3, #0x10
- add r0, r0, r3
- add r0, r1, r0
- add r5, r2, r0
- add r0, r4, r5
- bl FUN_0201BA1C
- add r0, r4, r5
- bl FUN_0201B9E0
- add sp, #0x1c
- pop {r4-r5, pc}
- nop
-_02000FE4: .word 0x021C48B8
-
- thumb_func_start FUN_02000FE8
-FUN_02000FE8: ; 0x02000FE8
- push {r3-r7, lr}
- sub sp, #0x8
- ldr r0, _0200109C ; =0x027FFFA8
- ldrh r1, [r0, #0x0]
- mov r0, #0x2
- lsl r0, r0, #0xe
- and r0, r1
- asr r0, r0, #0xf
- beq _0200107E
- ldr r0, _020010A0 ; =0x021C4918
- ldrb r0, [r0, #0x7]
- cmp r0, #0x0
- bne _02001064
- bl FUN_0201CE04
- blx CTRDG_IsPulledOut
- cmp r0, #0x1
- bne _02001014
- ldr r0, _020010A4 ; =0x02106FA0
- mov r1, #0x1
- str r1, [r0, #0x4]
-_02001014:
- ldr r6, _020010A4 ; =0x02106FA0
- mov r0, #0xc
- ldr r1, [r6, #0x4]
- ldr r4, _0200109C ; =0x027FFFA8
- mov r2, #0x10
- add r5, r0, #0x0
- ldr r7, _020010A0 ; =0x021C4918
- orr r5, r2
-_02001024:
- ldrb r2, [r7, #0x6]
- mov r0, #0xc
- cmp r2, #0x0
- beq _02001032
- cmp r1, #0x0
- bne _02001032
- add r0, r5, #0x0
-_02001032:
- mov r1, #0x0
- add r2, r1, #0x0
- blx PM_GoSleepMode
- blx CARD_IsPulledOut
- cmp r0, #0x0
- beq _02001048
- blx PM_ForceToPowerOff
- b _0200105C
-_02001048:
- ldrh r1, [r4, #0x0]
- mov r0, #0x2
- lsl r0, r0, #0xe
- and r0, r1
- asr r0, r0, #0xf
- beq _0200105C
- mov r0, #0x1
- str r0, [r6, #0x4]
- add r1, r0, #0x0
- b _02001024
-_0200105C:
- bl FUN_0201CDD0
- add sp, #0x8
- pop {r3-r7, pc}
-_02001064:
- add r0, sp, #0x4
- add r1, sp, #0x0
- blx PM_GetBackLight
- ldr r0, [sp, #0x4]
- cmp r0, #0x1
- bne _02001096
- mov r0, #0x2
- mov r1, #0x0
- blx PM_SetBackLight
- add sp, #0x8
- pop {r3-r7, pc}
-_0200107E:
- add r0, sp, #0x4
- add r1, sp, #0x0
- blx PM_GetBackLight
- ldr r0, [sp, #0x4]
- cmp r0, #0x0
- bne _02001096
- ldr r1, _020010A4 ; =0x02106FA0
- mov r0, #0x2
- ldr r1, [r1, #0x0]
- blx PM_SetBackLight
-_02001096:
- add sp, #0x8
- pop {r3-r7, pc}
- nop
-_0200109C: .word 0x027FFFA8
-_020010A0: .word 0x021C4918
-_020010A4: .word 0x02106FA0
-
- thumb_func_start FUN_020010A8
-FUN_020010A8: ; 0x020010A8
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r6, r1, #0x0
- add r0, r3, #0x0
- mov r1, #0x38
- add r7, r2, #0x0
- str r3, [sp, #0x0]
- bl FUN_02016998
- add r4, r0, #0x0
- add r3, r5, #0x0
- add r2, r4, #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 r0, [sp, #0x0]
- bl FUN_02013690
- str r0, [r4, #0x28]
- strh r6, [r4, #0x2c]
- add r1, r4, #0x0
- strh r7, [r4, #0x2e]
- mov r0, #0x0
- add r1, #0x30
- strb r0, [r1, #0x0]
- add r1, r4, #0x0
- add r1, #0x31
- strb r0, [r1, #0x0]
- add r1, r4, #0x0
- mov r2, #0xff
- add r1, #0x32
- strb r2, [r1, #0x0]
- add r1, r4, #0x0
- add r1, #0x33
- strb r0, [r1, #0x0]
- add r1, r4, #0x0
- ldr r0, [sp, #0x0]
- add r1, #0x34
- strb r0, [r1, #0x0]
- add r0, r4, #0x0
- ldrb r1, [r4, #0x17]
- add r0, #0x20
- ldrb r2, [r0, #0x0]
- lsl r1, r1, #0x18
- mov r0, #0xf
- lsr r3, r1, #0x1c
- mov r1, #0xf
- bic r2, r0
- and r3, r1
- orr r3, r2
- add r2, r4, #0x0
- add r2, #0x20
- strb r3, [r2, #0x0]
- add r2, r4, #0x0
- add r2, #0x20
- ldrb r2, [r2, #0x0]
- mov r3, #0xf0
- bic r2, r3
- ldrb r3, [r4, #0x18]
- lsl r3, r3, #0x1c
- lsr r3, r3, #0x1c
- lsl r3, r3, #0x1c
- lsr r3, r3, #0x18
- orr r3, r2
- add r2, r4, #0x0
- add r2, #0x20
- strb r3, [r2, #0x0]
- add r2, r4, #0x0
- add r2, #0x21
- ldrb r2, [r2, #0x0]
- bic r2, r0
- ldrb r0, [r4, #0x18]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x1c
- and r0, r1
- add r1, r2, #0x0
- orr r1, r0
- add r0, r4, #0x0
- add r0, #0x21
- strb r1, [r0, #0x0]
- add r0, r4, #0x0
- add r0, #0x22
- ldrb r0, [r0, #0x0]
- mov r1, #0x3f
- bic r0, r1
- ldrh r1, [r4, #0x1a]
- lsl r1, r1, #0x1d
- lsr r1, r1, #0x1d
- lsl r1, r1, #0x18
- lsr r2, r1, #0x18
- mov r1, #0x3f
- and r1, r2
- orr r1, r0
- add r0, r4, #0x0
- add r0, #0x22
- strb r1, [r0, #0x0]
- add r0, r4, #0x0
- add r0, #0x24
- ldrb r0, [r0, #0x0]
- mov r1, #0x7f
- bic r0, r1
- ldrh r1, [r4, #0x1a]
- lsl r1, r1, #0x11
- lsr r1, r1, #0x1a
- lsl r1, r1, #0x18
- lsr r2, r1, #0x18
- mov r1, #0x7f
- and r1, r2
- orr r1, r0
- add r0, r4, #0x0
- add r0, #0x24
- strb r1, [r0, #0x0]
- add r0, r4, #0x0
- add r0, #0x24
- ldrb r1, [r0, #0x0]
- mov r0, #0x80
- bic r1, r0
- add r0, r4, #0x0
- add r0, #0x24
- strb r1, [r0, #0x0]
- ldrh r1, [r4, #0x10]
- ldrh r0, [r4, #0x12]
- cmp r1, r0
- bhs _020011AC
- strh r1, [r4, #0x12]
-_020011AC:
- ldrb r2, [r4, #0x18]
- ldr r0, [r4, #0x28]
- lsl r1, r2, #0x1c
- lsr r1, r1, #0x1c
- lsl r1, r1, #0x18
- lsr r3, r1, #0x18
- ldrb r1, [r4, #0x17]
- lsl r2, r2, #0x18
- lsr r2, r2, #0x1c
- lsl r1, r1, #0x18
- lsr r1, r1, #0x1c
- lsl r1, r1, #0x18
- lsl r2, r2, #0x18
- lsr r1, r1, #0x8
- lsr r2, r2, #0x10
- orr r1, r2
- orr r1, r3
- bl FUN_020136E0
- ldrb r1, [r4, #0x18]
- ldr r0, [r4, #0xc]
- lsl r1, r1, #0x1c
- lsr r1, r1, #0x1c
- bl FUN_02019620
- ldrh r1, [r4, #0x2c]
- ldrh r3, [r4, #0x12]
- add r0, r4, #0x0
- mov r2, #0x0
- bl FUN_02001714
- add r0, r4, #0x0
- bl FUN_020017AC
- add r0, r4, #0x0
- mov r1, #0x1
- bl FUN_02001B64
- ldr r0, [r5, #0xc]
- bl FUN_020191D0
- add r0, r4, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02001204
-FUN_02001204: ; 0x02001204
- push {r4-r6, lr}
- add r4, r0, #0x0
- add r1, r4, #0x0
- ldr r6, _020012FC ; =0x021C48B8
- mov r3, #0x0
- add r1, #0x33
- strb r3, [r1, #0x0]
- ldr r1, [r6, #0x48]
- mov r2, #0x1
- add r5, r1, #0x0
- tst r5, r2
- beq _0200122C
- ldrh r1, [r4, #0x2c]
- ldrh r0, [r4, #0x2e]
- ldr r2, [r4, #0x0]
- add r0, r1, r0
- lsl r0, r0, #0x3
- add r0, r2, r0
- ldr r0, [r0, #0x4]
- pop {r4-r6, pc}
-_0200122C:
- mov r5, #0x2
- tst r1, r5
- beq _02001236
- sub r0, r5, #0x4
- pop {r4-r6, pc}
-_02001236:
- ldr r5, [r6, #0x4c]
- mov r1, #0x40
- tst r1, r5
- beq _02001254
- add r1, r2, #0x0
- bl FUN_02001AA4
- cmp r0, #0x0
- bne _0200124E
- mov r0, #0x1
- add r4, #0x33
- strb r0, [r4, #0x0]
-_0200124E:
- mov r0, #0x0
- mvn r0, r0
- pop {r4-r6, pc}
-_02001254:
- mov r1, #0x80
- add r3, r5, #0x0
- tst r3, r1
- beq _02001274
- add r1, r2, #0x0
- add r3, r2, #0x0
- bl FUN_02001AA4
- cmp r0, #0x0
- bne _0200126E
- mov r0, #0x2
- add r4, #0x33
- strb r0, [r4, #0x0]
-_0200126E:
- mov r0, #0x0
- mvn r0, r0
- pop {r4-r6, pc}
-_02001274:
- ldrh r0, [r4, #0x1a]
- lsl r0, r0, #0x17
- lsr r0, r0, #0x1e
- beq _02001284
- cmp r0, #0x1
- beq _0200128A
- cmp r0, #0x2
- beq _0200129C
-_02001284:
- mov r0, #0x0
- add r1, r0, #0x0
- b _020012AC
-_0200128A:
- mov r0, #0x20
- mov r1, #0x10
- and r0, r5
- and r1, r5
- lsl r0, r0, #0x10
- lsl r1, r1, #0x10
- lsr r0, r0, #0x10
- lsr r1, r1, #0x10
- b _020012AC
-_0200129C:
- lsl r0, r1, #0x2
- add r1, #0x80
- and r0, r5
- and r1, r5
- lsl r0, r0, #0x10
- lsl r1, r1, #0x10
- lsr r0, r0, #0x10
- lsr r1, r1, #0x10
-_020012AC:
- cmp r0, #0x0
- beq _020012D0
- ldrh r2, [r4, #0x12]
- add r0, r4, #0x0
- mov r1, #0x1
- lsl r2, r2, #0x18
- lsr r2, r2, #0x18
- mov r3, #0x0
- bl FUN_02001AA4
- cmp r0, #0x0
- bne _020012CA
- mov r0, #0x3
- add r4, #0x33
- strb r0, [r4, #0x0]
-_020012CA:
- mov r0, #0x0
- mvn r0, r0
- pop {r4-r6, pc}
-_020012D0:
- cmp r1, #0x0
- beq _020012F4
- ldrh r2, [r4, #0x12]
- mov r1, #0x1
- add r0, r4, #0x0
- lsl r2, r2, #0x18
- lsr r2, r2, #0x18
- add r3, r1, #0x0
- bl FUN_02001AA4
- cmp r0, #0x0
- bne _020012EE
- mov r0, #0x4
- add r4, #0x33
- strb r0, [r4, #0x0]
-_020012EE:
- mov r0, #0x0
- mvn r0, r0
- pop {r4-r6, pc}
-_020012F4:
- mov r0, #0x0
- mvn r0, r0
- pop {r4-r6, pc}
- nop
-_020012FC: .word 0x021C48B8
-
- thumb_func_start FUN_02001300
-FUN_02001300: ; 0x02001300
- push {r4, lr}
- add r4, r0, #0x0
- cmp r1, #0x0
- beq _0200130C
- ldrh r0, [r4, #0x2c]
- strh r0, [r1, #0x0]
-_0200130C:
- cmp r2, #0x0
- beq _02001314
- ldrh r0, [r4, #0x2e]
- strh r0, [r2, #0x0]
-_02001314:
- ldr r0, [r4, #0x28]
- bl FUN_020136C0
- add r0, r4, #0x0
- add r0, #0x34
- ldrb r0, [r0, #0x0]
- add r1, r4, #0x0
- bl FUN_02016A8C
- pop {r4, pc}
-
- thumb_func_start FUN_02001328
-FUN_02001328: ; 0x02001328
- push {r4, lr}
- add r4, r0, #0x0
- ldrb r1, [r4, #0x18]
- ldr r0, [r4, #0xc]
- lsl r1, r1, #0x1c
- lsr r1, r1, #0x1c
- bl FUN_02019620
- ldrh r1, [r4, #0x2c]
- ldrh r3, [r4, #0x12]
- add r0, r4, #0x0
- mov r2, #0x0
- bl FUN_02001714
- add r0, r4, #0x0
- bl FUN_020017AC
- ldr r0, [r4, #0xc]
- bl FUN_020191D0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02001354
-FUN_02001354: ; 0x02001354
- push {r4-r6, lr}
- add r4, r0, #0x0
- add r6, r1, #0x0
- beq _0200136E
- add r5, r4, #0x0
- ldmia r6!, {r0-r1}
- stmia r5!, {r0-r1}
- ldmia r6!, {r0-r1}
- stmia r5!, {r0-r1}
- ldmia r6!, {r0-r1}
- stmia r5!, {r0-r1}
- ldmia r6!, {r0-r1}
- stmia r5!, {r0-r1}
-_0200136E:
- strh r2, [r4, #0x2c]
- add r0, r4, #0x0
- strh r3, [r4, #0x2e]
- mov r3, #0x0
- add r0, #0x30
- strb r3, [r0, #0x0]
- add r0, r4, #0x0
- add r0, #0x31
- add r1, sp, #0x0
- strb r3, [r0, #0x0]
- ldrh r0, [r1, #0x14]
- cmp r0, #0x40
- bne _02001398
- ldrh r1, [r1, #0x10]
- add r0, r4, #0x0
- mov r2, #0x1
- lsl r1, r1, #0x18
- lsr r1, r1, #0x18
- bl FUN_02001AA4
- b _020013AC
-_02001398:
- cmp r0, #0x80
- bne _020013AC
- ldrh r1, [r1, #0x10]
- mov r2, #0x1
- add r0, r4, #0x0
- lsl r1, r1, #0x18
- lsr r1, r1, #0x18
- add r3, r2, #0x0
- bl FUN_02001AA4
-_020013AC:
- ldr r1, [sp, #0x18]
- cmp r1, #0x0
- beq _020013B6
- ldrh r0, [r4, #0x2c]
- strh r0, [r1, #0x0]
-_020013B6:
- ldr r1, [sp, #0x1c]
- cmp r1, #0x0
- beq _020013C0
- ldrh r0, [r4, #0x2e]
- strh r0, [r1, #0x0]
-_020013C0:
- mov r0, #0x0
- mvn r0, r0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_020013C8
-FUN_020013C8: ; 0x020013C8
- push {r4, lr}
- sub sp, #0x10
- mov r4, #0x0
- str r4, [sp, #0x0]
- add r4, sp, #0x8
- ldrh r4, [r4, #0x10]
- str r4, [sp, #0x4]
- ldr r4, [sp, #0x1c]
- str r4, [sp, #0x8]
- ldr r4, [sp, #0x20]
- str r4, [sp, #0xc]
- bl FUN_02001354
- add sp, #0x10
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_020013E8
-FUN_020013E8: ; 0x020013E8
- push {r3-r6}
- add r4, r0, #0x0
- add r4, #0x20
- ldrb r6, [r4, #0x0]
- mov r4, #0xf
- mov r5, #0xf
- bic r6, r4
- and r1, r5
- orr r6, r1
- add r1, r0, #0x0
- add r1, #0x20
- strb r6, [r1, #0x0]
- add r1, r0, #0x0
- add r1, #0x20
- lsl r2, r2, #0x1c
- ldrb r1, [r1, #0x0]
- mov r6, #0xf0
- lsr r2, r2, #0x18
- bic r1, r6
- orr r2, r1
- add r1, r0, #0x0
- add r1, #0x20
- strb r2, [r1, #0x0]
- add r1, r0, #0x0
- add r1, #0x21
- ldrb r2, [r1, #0x0]
- add r1, r3, #0x0
- and r1, r5
- bic r2, r4
- orr r2, r1
- add r1, r0, #0x0
- add r1, #0x21
- strb r2, [r1, #0x0]
- add r1, r0, #0x0
- add r1, #0x24
- ldrb r2, [r1, #0x0]
- mov r1, #0x80
- add r0, #0x24
- orr r1, r2
- strb r1, [r0, #0x0]
- pop {r3-r6}
- bx lr
-
- thumb_func_start FUN_0200143C
-FUN_0200143C: ; 0x0200143C
- ldrh r2, [r0, #0x2c]
- ldrh r0, [r0, #0x2e]
- add r0, r2, r0
- strh r0, [r1, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02001448
-FUN_02001448: ; 0x02001448
- cmp r1, #0x0
- beq _02001450
- ldrh r3, [r0, #0x2c]
- strh r3, [r1, #0x0]
-_02001450:
- cmp r2, #0x0
- beq _02001458
- ldrh r0, [r0, #0x2e]
- strh r0, [r2, #0x0]
-_02001458:
- bx lr
- .balign 4
-
- thumb_func_start FUN_0200145C
-FUN_0200145C: ; 0x0200145C
- add r0, #0x33
- ldrb r0, [r0, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02001464
-FUN_02001464: ; 0x02001464
- ldr r2, [r0, #0x0]
- lsl r0, r1, #0x3
- add r0, r2, r0
- ldr r0, [r0, #0x4]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02001470
-FUN_02001470: ; 0x02001470
- push {r4, lr}
- add r4, r0, #0x0
- cmp r1, #0x13
- bhi _02001532
- add r0, r1, r1
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_02001484: ; jump table (using 16-bit offset)
- .short _020014AC - _02001484 - 2; case 0
- .short _020014B0 - _02001484 - 2; case 1
- .short _020014B4 - _02001484 - 2; case 2
- .short _020014B8 - _02001484 - 2; case 3
- .short _02001532 - _02001484 - 2; case 4
- .short _020014BC - _02001484 - 2; case 5
- .short _020014C0 - _02001484 - 2; case 6
- .short _020014C4 - _02001484 - 2; case 7
- .short _020014C8 - _02001484 - 2; case 8
- .short _020014D0 - _02001484 - 2; case 9
- .short _020014EA - _02001484 - 2; case 10
- .short _020014F2 - _02001484 - 2; case 11
- .short _020014FA - _02001484 - 2; case 12
- .short _02001502 - _02001484 - 2; case 13
- .short _0200150A - _02001484 - 2; case 14
- .short _02001512 - _02001484 - 2; case 15
- .short _0200151A - _02001484 - 2; case 16
- .short _02001522 - _02001484 - 2; case 17
- .short _0200152A - _02001484 - 2; case 18
- .short _0200152E - _02001484 - 2; case 19
-_020014AC:
- ldr r0, [r4, #0x4]
- pop {r4, pc}
-_020014B0:
- ldr r0, [r4, #0x8]
- pop {r4, pc}
-_020014B4:
- ldrh r0, [r4, #0x10]
- pop {r4, pc}
-_020014B8:
- ldrh r0, [r4, #0x12]
- pop {r4, pc}
-_020014BC:
- ldrb r0, [r4, #0x14]
- pop {r4, pc}
-_020014C0:
- ldrb r0, [r4, #0x15]
- pop {r4, pc}
-_020014C4:
- ldrb r0, [r4, #0x16]
- pop {r4, pc}
-_020014C8:
- ldrb r0, [r4, #0x17]
- lsl r0, r0, #0x1c
- lsr r0, r0, #0x1c
- pop {r4, pc}
-_020014D0:
- ldrh r0, [r4, #0x1a]
- mov r1, #0x1
- lsl r0, r0, #0x11
- lsr r0, r0, #0x1a
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- bl FUN_02002E4C
- ldrh r1, [r4, #0x1a]
- lsl r1, r1, #0x19
- lsr r1, r1, #0x1c
- add r0, r1, r0
- pop {r4, pc}
-_020014EA:
- ldrb r0, [r4, #0x17]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x1c
- pop {r4, pc}
-_020014F2:
- ldrb r0, [r4, #0x18]
- lsl r0, r0, #0x1c
- lsr r0, r0, #0x1c
- pop {r4, pc}
-_020014FA:
- ldrb r0, [r4, #0x18]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x1c
- pop {r4, pc}
-_02001502:
- ldrh r0, [r4, #0x1a]
- lsl r0, r0, #0x1d
- lsr r0, r0, #0x1d
- pop {r4, pc}
-_0200150A:
- ldrh r0, [r4, #0x1a]
- lsl r0, r0, #0x19
- lsr r0, r0, #0x1c
- pop {r4, pc}
-_02001512:
- ldrh r0, [r4, #0x1a]
- lsl r0, r0, #0x17
- lsr r0, r0, #0x1e
- pop {r4, pc}
-_0200151A:
- ldrh r0, [r4, #0x1a]
- lsl r0, r0, #0x11
- lsr r0, r0, #0x1a
- pop {r4, pc}
-_02001522:
- ldrh r0, [r4, #0x1a]
- lsl r0, r0, #0x10
- lsr r0, r0, #0x1f
- pop {r4, pc}
-_0200152A:
- ldr r0, [r4, #0xc]
- pop {r4, pc}
-_0200152E:
- ldr r0, [r4, #0x1c]
- pop {r4, pc}
-_02001532:
- mov r0, #0x0
- mvn r0, r0
- pop {r4, pc}
-
- thumb_func_start FUN_02001538
-FUN_02001538: ; 0x02001538
- cmp r1, #0x13
- bls _0200153E
- b _02001648
-_0200153E:
- add r1, r1, r1
- add r1, pc
- ldrh r1, [r1, #0x6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_0200154A: ; jump table (using 16-bit offset)
- .short _02001572 - _0200154A - 2; case 0
- .short _02001576 - _0200154A - 2; case 1
- .short _0200157A - _0200154A - 2; case 2
- .short _0200157E - _0200154A - 2; case 3
- .short _02001648 - _0200154A - 2; case 4
- .short _02001582 - _0200154A - 2; case 5
- .short _02001586 - _0200154A - 2; case 6
- .short _0200158A - _0200154A - 2; case 7
- .short _0200158E - _0200154A - 2; case 8
- .short _02001648 - _0200154A - 2; case 9
- .short _020015A2 - _0200154A - 2; case 10
- .short _020015B6 - _0200154A - 2; case 11
- .short _020015CA - _0200154A - 2; case 12
- .short _020015DE - _0200154A - 2; case 13
- .short _020015F2 - _0200154A - 2; case 14
- .short _02001606 - _0200154A - 2; case 15
- .short _0200161A - _0200154A - 2; case 16
- .short _0200162E - _0200154A - 2; case 17
- .short _02001642 - _0200154A - 2; case 18
- .short _02001646 - _0200154A - 2; case 19
-_02001572:
- str r2, [r0, #0x4]
- bx lr
-_02001576:
- str r2, [r0, #0x8]
- bx lr
-_0200157A:
- strh r2, [r0, #0x10]
- bx lr
-_0200157E:
- strh r2, [r0, #0x12]
- bx lr
-_02001582:
- strb r2, [r0, #0x14]
- bx lr
-_02001586:
- strb r2, [r0, #0x15]
- bx lr
-_0200158A:
- strb r2, [r0, #0x16]
- bx lr
-_0200158E:
- ldrb r3, [r0, #0x17]
- mov r1, #0xf
- bic r3, r1
- lsl r1, r2, #0x18
- lsr r2, r1, #0x18
- mov r1, #0xf
- and r1, r2
- orr r1, r3
- strb r1, [r0, #0x17]
- bx lr
-_020015A2:
- ldrb r3, [r0, #0x17]
- mov r1, #0xf0
- bic r3, r1
- lsl r1, r2, #0x18
- lsr r1, r1, #0x18
- lsl r1, r1, #0x1c
- lsr r1, r1, #0x18
- orr r1, r3
- strb r1, [r0, #0x17]
- bx lr
-_020015B6:
- ldrb r3, [r0, #0x18]
- mov r1, #0xf
- bic r3, r1
- lsl r1, r2, #0x18
- lsr r2, r1, #0x18
- mov r1, #0xf
- and r1, r2
- orr r1, r3
- strb r1, [r0, #0x18]
- bx lr
-_020015CA:
- ldrb r3, [r0, #0x18]
- mov r1, #0xf0
- bic r3, r1
- lsl r1, r2, #0x18
- lsr r1, r1, #0x18
- lsl r1, r1, #0x1c
- lsr r1, r1, #0x18
- orr r1, r3
- strb r1, [r0, #0x18]
- bx lr
-_020015DE:
- ldrh r3, [r0, #0x1a]
- mov r1, #0x7
- bic r3, r1
- lsl r1, r2, #0x18
- lsr r2, r1, #0x18
- mov r1, #0x7
- and r1, r2
- orr r1, r3
- strh r1, [r0, #0x1a]
- bx lr
-_020015F2:
- ldrh r3, [r0, #0x1a]
- mov r1, #0x78
- bic r3, r1
- lsl r1, r2, #0x18
- lsr r1, r1, #0x18
- lsl r1, r1, #0x1c
- lsr r1, r1, #0x19
- orr r1, r3
- strh r1, [r0, #0x1a]
- bx lr
-_02001606:
- ldrh r3, [r0, #0x1a]
- ldr r1, _0200164C ; =0xFFFFFE7F
- and r3, r1
- lsl r1, r2, #0x18
- lsr r1, r1, #0x18
- lsl r1, r1, #0x1e
- lsr r1, r1, #0x17
- orr r1, r3
- strh r1, [r0, #0x1a]
- bx lr
-_0200161A:
- ldrh r3, [r0, #0x1a]
- ldr r1, _02001650 ; =0xFFFF81FF
- and r3, r1
- lsl r1, r2, #0x18
- lsr r1, r1, #0x18
- lsl r1, r1, #0x1a
- lsr r1, r1, #0x11
- orr r1, r3
- strh r1, [r0, #0x1a]
- bx lr
-_0200162E:
- ldrh r3, [r0, #0x1a]
- ldr r1, _02001654 ; =0xFFFF7FFF
- and r3, r1
- lsl r1, r2, #0x18
- lsr r1, r1, #0x18
- lsl r1, r1, #0x1f
- lsr r1, r1, #0x10
- orr r1, r3
- strh r1, [r0, #0x1a]
- bx lr
-_02001642:
- str r2, [r0, #0xc]
- bx lr
-_02001646:
- str r2, [r0, #0x1c]
-_02001648:
- bx lr
- nop
-_0200164C: .word 0xFFFFFE7F
-_02001650: .word 0xFFFF81FF
-_02001654: .word 0xFFFF7FFF
-
- thumb_func_start FUN_02001658
-FUN_02001658: ; 0x02001658
- str r1, [r0, #0x0]
- bx lr
-
- thumb_func_start FUN_0200165C
-FUN_0200165C: ; 0x0200165C
- push {r4-r6, lr}
- sub sp, #0x18
- add r5, r1, #0x0
- add r6, r0, #0x0
- add r4, r2, #0x0
- cmp r5, #0x0
- beq _02001710
- add r0, #0x24
- ldrb r0, [r0, #0x0]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x1f
- str r3, [sp, #0x0]
- beq _020016CC
- mov r0, #0xff
- str r0, [sp, #0x4]
- add r0, r6, #0x0
- add r0, #0x20
- ldrb r2, [r0, #0x0]
- add r3, r4, #0x0
- lsl r0, r2, #0x18
- lsr r0, r0, #0x1c
- lsl r0, r0, #0x18
- lsr r1, r0, #0x18
- lsl r0, r2, #0x1c
- add r2, r6, #0x0
- add r2, #0x21
- ldrb r2, [r2, #0x0]
- lsr r0, r0, #0x1c
- lsl r0, r0, #0x18
- lsl r2, r2, #0x1c
- lsr r2, r2, #0x1c
- lsl r2, r2, #0x18
- lsr r0, r0, #0x8
- lsr r2, r2, #0x10
- orr r0, r2
- orr r0, r1
- str r0, [sp, #0x8]
- add r0, r6, #0x0
- add r0, #0x22
- ldrb r0, [r0, #0x0]
- add r2, r5, #0x0
- lsl r0, r0, #0x1a
- lsr r0, r0, #0x1a
- str r0, [sp, #0xc]
- mov r0, #0x0
- str r0, [sp, #0x10]
- str r0, [sp, #0x14]
- ldr r0, [r6, #0xc]
- add r6, #0x24
- ldrb r1, [r6, #0x0]
- lsl r1, r1, #0x19
- lsr r1, r1, #0x19
- bl FUN_0201BE3C
- add sp, #0x18
- pop {r4-r6, pc}
-_020016CC:
- mov r0, #0xff
- str r0, [sp, #0x4]
- ldrb r1, [r6, #0x18]
- add r3, r4, #0x0
- lsl r0, r1, #0x1c
- lsr r0, r0, #0x1c
- lsl r0, r0, #0x18
- lsr r2, r0, #0x18
- ldrb r0, [r6, #0x17]
- lsl r1, r1, #0x18
- lsr r1, r1, #0x1c
- lsl r0, r0, #0x18
- lsr r0, r0, #0x1c
- lsl r0, r0, #0x18
- lsl r1, r1, #0x18
- lsr r0, r0, #0x8
- lsr r1, r1, #0x10
- orr r0, r1
- orr r0, r2
- str r0, [sp, #0x8]
- ldrh r0, [r6, #0x1a]
- add r2, r5, #0x0
- lsl r0, r0, #0x1d
- lsr r0, r0, #0x1d
- str r0, [sp, #0xc]
- mov r0, #0x0
- str r0, [sp, #0x10]
- str r0, [sp, #0x14]
- ldrh r1, [r6, #0x1a]
- ldr r0, [r6, #0xc]
- lsl r1, r1, #0x11
- lsr r1, r1, #0x1a
- bl FUN_0201BE3C
-_02001710:
- add sp, #0x18
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02001714
-FUN_02001714: ; 0x02001714
- push {r4-r7, lr}
- sub sp, #0x14
- add r5, r0, #0x0
- str r3, [sp, #0x0]
- ldrh r0, [r5, #0x1a]
- add r4, r1, #0x0
- mov r1, #0x1
- lsl r0, r0, #0x11
- lsr r0, r0, #0x1a
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- add r6, r2, #0x0
- bl FUN_02002E4C
- ldrh r1, [r5, #0x1a]
- lsl r1, r1, #0x19
- lsr r1, r1, #0x1c
- add r0, r1, r0
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0xc]
- mov r0, #0x0
- str r0, [sp, #0x10]
- ldr r0, [sp, #0x0]
- cmp r0, #0x0
- ble _020017A6
-_02001748:
- ldr r1, [r5, #0x0]
- lsl r0, r4, #0x3
- str r0, [sp, #0x8]
- add r0, r1, r0
- ldr r1, [r0, #0x4]
- mov r0, #0x2
- mvn r0, r0
- cmp r1, r0
- beq _02001760
- ldrb r0, [r5, #0x15]
- str r0, [sp, #0x4]
- b _02001764
-_02001760:
- ldrb r0, [r5, #0x14]
- str r0, [sp, #0x4]
-_02001764:
- ldrb r0, [r5, #0x17]
- lsl r0, r0, #0x1c
- lsr r3, r0, #0x1c
- ldr r0, [sp, #0xc]
- add r2, r0, #0x0
- mul r2, r6
- add r0, r3, r2
- lsl r0, r0, #0x18
- ldr r3, [r5, #0x8]
- lsr r7, r0, #0x18
- cmp r3, #0x0
- beq _02001782
- add r0, r5, #0x0
- add r2, r7, #0x0
- blx r3
-_02001782:
- ldr r2, [r5, #0x0]
- ldr r1, [sp, #0x8]
- add r0, r5, #0x0
- ldr r1, [r2, r1]
- ldr r2, [sp, #0x4]
- add r3, r7, #0x0
- bl FUN_0200165C
- add r0, r4, #0x1
- lsl r0, r0, #0x10
- lsr r4, r0, #0x10
- ldr r0, [sp, #0x10]
- add r6, r6, #0x1
- add r1, r0, #0x1
- ldr r0, [sp, #0x0]
- str r1, [sp, #0x10]
- cmp r1, r0
- blt _02001748
-_020017A6:
- add sp, #0x14
- pop {r4-r7, pc}
- .balign 4
-
- thumb_func_start FUN_020017AC
-FUN_020017AC: ; 0x020017AC
- push {r3-r5, lr}
- add r4, r0, #0x0
- ldrh r0, [r4, #0x1a]
- mov r1, #0x1
- lsl r0, r0, #0x11
- lsr r0, r0, #0x1a
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- bl FUN_02002E4C
- ldrh r1, [r4, #0x1a]
- ldrh r5, [r4, #0x2e]
- lsl r2, r1, #0x19
- lsr r2, r2, #0x1c
- add r0, r2, r0
- lsl r0, r0, #0x18
- lsr r3, r0, #0x18
- ldrb r0, [r4, #0x17]
- mul r3, r5
- ldrb r2, [r4, #0x16]
- lsl r0, r0, #0x1c
- lsr r0, r0, #0x1c
- add r0, r0, r3
- lsl r0, r0, #0x18
- lsr r3, r0, #0x18
- lsl r0, r1, #0x10
- lsr r0, r0, #0x1f
- cmp r0, #0x3
- bhi _02001802
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_020017F2: ; jump table (using 16-bit offset)
- .short _020017FA - _020017F2 - 2; case 0
- .short _02001802 - _020017F2 - 2; case 1
- .short _02001802 - _020017F2 - 2; case 2
- .short _02001802 - _020017F2 - 2; case 3
-_020017FA:
- ldr r0, [r4, #0x28]
- ldr r1, [r4, #0xc]
- bl FUN_020136F8
-_02001802:
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02001804
-FUN_02001804: ; 0x02001804
- push {r3-r5, lr}
- sub sp, #0x8
- add r4, r0, #0x0
- ldrh r0, [r4, #0x1a]
- add r5, r1, #0x0
- lsl r1, r0, #0x10
- lsr r1, r1, #0x1f
- cmp r1, #0x3
- bhi _02001868
- add r1, r1, r1
- add r1, pc
- ldrh r1, [r1, #0x6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_02001822: ; jump table (using 16-bit offset)
- .short _0200182A - _02001822 - 2; case 0
- .short _02001868 - _02001822 - 2; case 1
- .short _02001868 - _02001822 - 2; case 2
- .short _02001868 - _02001822 - 2; case 3
-_0200182A:
- lsl r0, r0, #0x11
- lsr r0, r0, #0x1a
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- mov r1, #0x1
- bl FUN_02002E4C
- ldrh r1, [r4, #0x1a]
- lsl r1, r1, #0x19
- lsr r1, r1, #0x1c
- add r0, r1, r0
- lsl r0, r0, #0x18
- lsr r3, r0, #0x18
- mov r0, #0x8
- str r0, [sp, #0x0]
- mov r0, #0x10
- str r0, [sp, #0x4]
- ldrb r1, [r4, #0x18]
- ldr r0, [r4, #0xc]
- ldrb r2, [r4, #0x16]
- ldrb r4, [r4, #0x17]
- lsl r1, r1, #0x1c
- mul r3, r5
- lsl r4, r4, #0x1c
- lsr r4, r4, #0x1c
- add r3, r4, r3
- lsl r3, r3, #0x10
- lsr r1, r1, #0x1c
- lsr r3, r3, #0x10
- bl FUN_020196F4
-_02001868:
- add sp, #0x8
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0200186C
-FUN_0200186C: ; 0x0200186C
- push {r4-r7}
- ldrh r4, [r0, #0x2e]
- ldrh r3, [r0, #0x2c]
- cmp r1, #0x0
- ldrh r2, [r0, #0x12]
- bne _020018FE
- cmp r2, #0x1
- bne _02001880
- mov r1, #0x0
- b _02001898
-_02001880:
- lsr r7, r2, #0x1f
- lsl r6, r2, #0x1f
- sub r6, r6, r7
- mov r5, #0x1f
- ror r6, r5
- lsr r1, r2, #0x1
- add r5, r7, r6
- add r1, r1, r5
- sub r1, r2, r1
- sub r1, r1, #0x1
- lsl r1, r1, #0x10
- lsr r1, r1, #0x10
-_02001898:
- cmp r3, #0x0
- bne _020018CC
- cmp r4, #0x0
- beq _020018C6
- ldr r2, [r0, #0x0]
- lsl r1, r3, #0x3
- mov r3, #0x2
- add r1, r2, r1
- mvn r3, r3
-_020018AA:
- sub r2, r4, #0x1
- lsl r2, r2, #0x10
- lsr r4, r2, #0x10
- lsl r2, r4, #0x3
- add r2, r1, r2
- ldr r2, [r2, #0x4]
- cmp r2, r3
- beq _020018C2
- strh r4, [r0, #0x2e]
- mov r0, #0x1
- pop {r4-r7}
- bx lr
-_020018C2:
- cmp r4, #0x0
- bne _020018AA
-_020018C6:
- mov r0, #0x0
- pop {r4-r7}
- bx lr
-_020018CC:
- cmp r4, r1
- bls _020018F6
- ldr r5, [r0, #0x0]
- lsl r2, r3, #0x3
- add r2, r5, r2
- mov r5, #0x2
- mvn r5, r5
-_020018DA:
- sub r4, r4, #0x1
- lsl r4, r4, #0x10
- lsr r4, r4, #0x10
- lsl r6, r4, #0x3
- add r6, r2, r6
- ldr r6, [r6, #0x4]
- cmp r6, r5
- beq _020018F2
- strh r4, [r0, #0x2e]
- mov r0, #0x1
- pop {r4-r7}
- bx lr
-_020018F2:
- cmp r4, r1
- bhi _020018DA
-_020018F6:
- strh r1, [r0, #0x2e]
- sub r1, r3, #0x1
- strh r1, [r0, #0x2c]
- b _02001984
-_020018FE:
- cmp r2, #0x1
- bne _02001906
- mov r5, #0x0
- b _0200191A
-_02001906:
- lsr r7, r2, #0x1f
- lsl r6, r2, #0x1f
- sub r6, r6, r7
- mov r5, #0x1f
- ror r6, r5
- lsr r1, r2, #0x1
- add r5, r7, r6
- add r1, r1, r5
- lsl r1, r1, #0x10
- lsr r5, r1, #0x10
-_0200191A:
- ldrh r1, [r0, #0x10]
- sub r1, r1, r2
- cmp r3, r1
- bne _02001954
- sub r2, r2, #0x1
- cmp r4, r2
- bge _0200194E
- ldr r5, [r0, #0x0]
- lsl r1, r3, #0x3
- add r1, r5, r1
- mov r5, #0x2
- mvn r5, r5
-_02001932:
- add r3, r4, #0x1
- lsl r3, r3, #0x10
- lsr r4, r3, #0x10
- lsl r3, r4, #0x3
- add r3, r1, r3
- ldr r3, [r3, #0x4]
- cmp r3, r5
- beq _0200194A
- strh r4, [r0, #0x2e]
- mov r0, #0x1
- pop {r4-r7}
- bx lr
-_0200194A:
- cmp r4, r2
- blt _02001932
-_0200194E:
- mov r0, #0x0
- pop {r4-r7}
- bx lr
-_02001954:
- cmp r4, r5
- bhs _0200197E
- ldr r2, [r0, #0x0]
- lsl r1, r3, #0x3
- mov r6, #0x2
- add r1, r2, r1
- mvn r6, r6
-_02001962:
- add r2, r4, #0x1
- lsl r2, r2, #0x10
- lsr r4, r2, #0x10
- lsl r2, r4, #0x3
- add r2, r1, r2
- ldr r2, [r2, #0x4]
- cmp r2, r6
- beq _0200197A
- strh r4, [r0, #0x2e]
- mov r0, #0x1
- pop {r4-r7}
- bx lr
-_0200197A:
- cmp r4, r5
- blo _02001962
-_0200197E:
- strh r5, [r0, #0x2e]
- add r1, r3, #0x1
- strh r1, [r0, #0x2c]
-_02001984:
- mov r0, #0x2
- pop {r4-r7}
- bx lr
- .balign 4
-
- thumb_func_start FUN_0200198C
-FUN_0200198C: ; 0x0200198C
- push {r3-r7, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- ldrh r0, [r5, #0x12]
- add r4, r1, #0x0
- add r7, r2, #0x0
- cmp r4, r0
- blt _020019B8
- ldrb r1, [r5, #0x18]
- ldr r0, [r5, #0xc]
- lsl r1, r1, #0x1c
- lsr r1, r1, #0x1c
- bl FUN_02019620
- ldrh r1, [r5, #0x2c]
- ldrh r3, [r5, #0x12]
- add r0, r5, #0x0
- mov r2, #0x0
- bl FUN_02001714
- add sp, #0x8
- pop {r3-r7, pc}
-_020019B8:
- ldrh r0, [r5, #0x1a]
- mov r1, #0x1
- lsl r0, r0, #0x11
- lsr r0, r0, #0x1a
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- bl FUN_02002E4C
- ldrh r1, [r5, #0x1a]
- lsl r1, r1, #0x19
- lsr r1, r1, #0x1c
- add r0, r1, r0
- lsl r0, r0, #0x18
- lsr r6, r0, #0x18
- cmp r7, #0x0
- ldrb r0, [r5, #0x18]
- bne _02001A46
- lsl r0, r0, #0x1c
- lsr r7, r0, #0x1c
- add r2, r4, #0x0
- lsl r3, r7, #0x4
- mul r2, r6
- orr r3, r7
- lsl r2, r2, #0x18
- lsl r3, r3, #0x18
- ldr r0, [r5, #0xc]
- mov r1, #0x1
- lsr r2, r2, #0x18
- lsr r3, r3, #0x18
- bl FUN_0201A8C8
- ldrh r1, [r5, #0x2c]
- add r0, r5, #0x0
- mov r2, #0x0
- add r3, r4, #0x0
- bl FUN_02001714
- ldrb r0, [r5, #0x17]
- lsl r0, r0, #0x1c
- lsr r2, r0, #0x1c
- ldrh r0, [r5, #0x12]
- add r1, r0, #0x0
- mul r1, r6
- add r0, r2, r1
- lsl r0, r0, #0x10
- lsr r4, r0, #0x10
- ldr r0, [r5, #0xc]
- bl FUN_0201AB0C
- add r6, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_0201AB10
- lsl r0, r0, #0x3
- lsl r1, r6, #0x13
- sub r0, r0, r4
- lsr r1, r1, #0x10
- lsl r0, r0, #0x10
- str r1, [sp, #0x0]
- lsr r0, r0, #0x10
- str r0, [sp, #0x4]
- ldrb r1, [r5, #0x18]
- ldr r0, [r5, #0xc]
- mov r2, #0x0
- lsl r1, r1, #0x1c
- lsr r1, r1, #0x1c
- add r3, r4, #0x0
- bl FUN_020196F4
- add sp, #0x8
- pop {r3-r7, pc}
-_02001A46:
- lsl r0, r0, #0x1c
- lsr r3, r0, #0x1c
- add r2, r4, #0x0
- mul r2, r6
- lsl r6, r3, #0x4
- orr r3, r6
- lsl r2, r2, #0x18
- lsl r3, r3, #0x18
- ldr r0, [r5, #0xc]
- mov r1, #0x0
- lsr r2, r2, #0x18
- lsr r3, r3, #0x18
- bl FUN_0201A8C8
- ldrh r0, [r5, #0x12]
- ldrh r1, [r5, #0x2c]
- add r3, r4, #0x0
- sub r2, r0, r4
- add r1, r1, r2
- lsl r1, r1, #0x10
- lsl r2, r2, #0x10
- add r0, r5, #0x0
- lsr r1, r1, #0x10
- lsr r2, r2, #0x10
- bl FUN_02001714
- ldr r0, [r5, #0xc]
- bl FUN_0201AB0C
- lsl r0, r0, #0x13
- lsr r0, r0, #0x10
- str r0, [sp, #0x0]
- ldrb r0, [r5, #0x17]
- mov r2, #0x0
- add r3, r2, #0x0
- lsl r0, r0, #0x1c
- lsr r0, r0, #0x1c
- str r0, [sp, #0x4]
- ldrb r1, [r5, #0x18]
- ldr r0, [r5, #0xc]
- lsl r1, r1, #0x1c
- lsr r1, r1, #0x1c
- bl FUN_020196F4
- add sp, #0x8
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02001AA4
-FUN_02001AA4: ; 0x02001AA4
- push {r3-r7, lr}
- sub sp, #0x10
- str r1, [sp, #0x0]
- str r2, [sp, #0x4]
- add r4, r0, #0x0
- str r3, [sp, #0x8]
- ldrh r0, [r4, #0x2e]
- mov r6, #0x0
- add r5, r6, #0x0
- str r0, [sp, #0xc]
- ldr r0, [sp, #0x4]
- add r7, r6, #0x0
- cmp r0, #0x0
- bls _02001AF6
-_02001AC0:
- ldr r1, [sp, #0x8]
- add r0, r4, #0x0
- bl FUN_0200186C
- orr r5, r0
- cmp r0, #0x2
- bne _02001AEA
- add r0, r6, #0x1
- lsl r0, r0, #0x18
- lsr r6, r0, #0x18
- ldrh r1, [r4, #0x2c]
- ldrh r0, [r4, #0x2e]
- ldr r2, [r4, #0x0]
- add r0, r1, r0
- lsl r0, r0, #0x3
- add r0, r2, r0
- ldr r1, [r0, #0x4]
- mov r0, #0x2
- mvn r0, r0
- cmp r1, r0
- beq _02001AC0
-_02001AEA:
- add r0, r7, #0x1
- lsl r0, r0, #0x18
- lsr r7, r0, #0x18
- ldr r0, [sp, #0x4]
- cmp r7, r0
- blo _02001AC0
-_02001AF6:
- ldr r0, [sp, #0x0]
- cmp r0, #0x0
- beq _02001B5E
- cmp r5, #0x3
- bhi _02001B14
- add r0, r5, r5
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_02001B0C: ; jump table (using 16-bit offset)
- .short _02001B14 - _02001B0C - 2; case 0
- .short _02001B1A - _02001B0C - 2; case 1
- .short _02001B38 - _02001B0C - 2; case 2
- .short _02001B38 - _02001B0C - 2; case 3
-_02001B14:
- add sp, #0x10
- mov r0, #0x1
- pop {r3-r7, pc}
-_02001B1A:
- ldr r1, [sp, #0xc]
- add r0, r4, #0x0
- bl FUN_02001804
- add r0, r4, #0x0
- bl FUN_020017AC
- add r0, r4, #0x0
- mov r1, #0x0
- bl FUN_02001B64
- ldr r0, [r4, #0xc]
- bl FUN_020191D0
- b _02001B5E
-_02001B38:
- ldr r1, [sp, #0xc]
- add r0, r4, #0x0
- bl FUN_02001804
- ldr r2, [sp, #0x8]
- add r0, r4, #0x0
- add r1, r6, #0x0
- bl FUN_0200198C
- add r0, r4, #0x0
- bl FUN_020017AC
- add r0, r4, #0x0
- mov r1, #0x0
- bl FUN_02001B64
- ldr r0, [r4, #0xc]
- bl FUN_020191D0
-_02001B5E:
- mov r0, #0x0
- add sp, #0x10
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02001B64
-FUN_02001B64: ; 0x02001B64
- push {r3-r5, lr}
- ldr r3, [r0, #0x4]
- add r2, r1, #0x0
- cmp r3, #0x0
- beq _02001B7E
- ldrh r5, [r0, #0x2c]
- ldrh r4, [r0, #0x2e]
- ldr r1, [r0, #0x0]
- add r4, r5, r4
- lsl r4, r4, #0x3
- add r1, r1, r4
- ldr r1, [r1, #0x4]
- blx r3
-_02001B7E:
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02001B80
-FUN_02001B80: ; 0x02001B80
- ldr r3, _02001B88 ; =FUN_020191D0
- ldr r0, [r0, #0xc]
- bx r3
- nop
-_02001B88: .word FUN_020191D0
-
- thumb_func_start FUN_02001B8C
-FUN_02001B8C: ; 0x02001B8C
- push {r3-r7, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- str r3, [sp, #0x0]
- add r0, sp, #0x10
- ldrb r0, [r0, #0x10]
- add r6, r1, #0x0
- mov r1, #0x20
- add r7, r2, #0x0
- str r0, [sp, #0x4]
- bl FUN_02016998
- add r4, r0, #0x0
- add r3, r5, #0x0
- ldmia r3!, {r0-r1}
- add r2, r4, #0x0
- stmia r2!, {r0-r1}
- ldr r0, [r3, #0x0]
- str r0, [r2, #0x0]
- ldr r0, [sp, #0x4]
- bl FUN_02013690
- str r0, [r4, #0xc]
- ldr r0, [sp, #0x24]
- str r0, [r4, #0x10]
- ldr r0, [sp, #0x0]
- strb r0, [r4, #0x15]
- add r0, r4, #0x0
- bl FUN_02001FB4
- strb r0, [r4, #0x16]
- add r0, sp, #0x10
- ldrb r0, [r0, #0x10]
- mov r1, #0x0
- strb r0, [r4, #0x1c]
- strb r6, [r4, #0x17]
- strb r7, [r4, #0x18]
- ldrb r0, [r5, #0x8]
- bl FUN_02002E4C
- add r6, r0, #0x0
- ldrb r0, [r5, #0x8]
- mov r1, #0x2
- bl FUN_02002E4C
- add r0, r6, r0
- strb r0, [r4, #0x19]
- ldrb r0, [r5, #0x8]
- mov r1, #0x1
- bl FUN_02002E4C
- add r6, r0, #0x0
- ldrb r0, [r5, #0x8]
- mov r1, #0x3
- bl FUN_02002E4C
- add r0, r6, r0
- strb r0, [r4, #0x1a]
- add r0, r4, #0x0
- bl FUN_02001FF4
- add r0, r4, #0x0
- bl FUN_02002080
- add r0, r4, #0x0
- add sp, #0x8
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02001C14
-FUN_02001C14: ; 0x02001C14
- push {r4, lr}
- sub sp, #0x8
- add r4, sp, #0x0
- ldrb r4, [r4, #0x10]
- str r4, [sp, #0x0]
- ldr r4, [sp, #0x14]
- str r4, [sp, #0x4]
- bl FUN_02001B8C
- add r4, r0, #0x0
- ldr r0, [r4, #0x4]
- bl FUN_020191D0
- add r0, r4, #0x0
- add sp, #0x8
- pop {r4, pc}
-
- thumb_func_start FUN_02001C34
-FUN_02001C34: ; 0x02001C34
- push {r4-r6, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- ldrb r0, [r5, #0x8]
- add r6, r1, #0x0
- add r4, r2, #0x0
- mov r1, #0x0
- bl FUN_02002E4C
- add r1, r0, #0x0
- str r4, [sp, #0x0]
- mov r0, #0x2
- str r0, [sp, #0x4]
- add r0, r5, #0x0
- mov r2, #0x0
- add r3, r6, #0x0
- bl FUN_02001C14
- add sp, #0x8
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02001C5C
-FUN_02001C5C: ; 0x02001C5C
- push {r4, lr}
- add r4, r0, #0x0
- cmp r1, #0x0
- beq _02001C68
- ldrb r0, [r4, #0x15]
- strb r0, [r1, #0x0]
-_02001C68:
- ldr r0, [r4, #0xc]
- bl FUN_020136C0
- ldrb r0, [r4, #0x1c]
- add r1, r4, #0x0
- bl FUN_02016A8C
- pop {r4, pc}
-
- thumb_func_start FUN_02001C78
-FUN_02001C78: ; 0x02001C78
- push {r3-r5, lr}
- add r4, r0, #0x0
- mov r1, #0x0
- ldr r2, _02001D24 ; =0x021C48B8
- strb r1, [r4, #0x1b]
- ldr r2, [r2, #0x48]
- mov r5, #0x1
- add r3, r2, #0x0
- tst r3, r5
- beq _02001C9E
- ldr r0, _02001D28 ; =0x000005DC
- bl FUN_020054C8
- ldrb r0, [r4, #0x15]
- ldr r1, [r4, #0x0]
- lsl r0, r0, #0x3
- add r0, r1, r0
- ldr r0, [r0, #0x4]
- pop {r3-r5, pc}
-_02001C9E:
- ldr r3, [r4, #0x10]
- tst r3, r2
- beq _02001CAE
- ldr r0, _02001D28 ; =0x000005DC
- bl FUN_020054C8
- sub r0, r5, #0x3
- pop {r3-r5, pc}
-_02001CAE:
- mov r3, #0x40
- tst r3, r2
- beq _02001CC8
- ldr r2, _02001D28 ; =0x000005DC
- bl FUN_02001E64
- cmp r0, #0x1
- bne _02001CC2
- add r0, r5, #0x0
- strb r0, [r4, #0x1b]
-_02001CC2:
- mov r0, #0x0
- mvn r0, r0
- pop {r3-r5, pc}
-_02001CC8:
- mov r1, #0x80
- tst r1, r2
- beq _02001CE4
- ldr r2, _02001D28 ; =0x000005DC
- add r1, r5, #0x0
- bl FUN_02001E64
- cmp r0, #0x1
- bne _02001CDE
- mov r0, #0x2
- strb r0, [r4, #0x1b]
-_02001CDE:
- mov r0, #0x0
- mvn r0, r0
- pop {r3-r5, pc}
-_02001CE4:
- mov r1, #0x20
- tst r1, r2
- beq _02001D00
- ldr r2, _02001D28 ; =0x000005DC
- mov r1, #0x2
- bl FUN_02001E64
- cmp r0, #0x1
- bne _02001CFA
- mov r0, #0x3
- strb r0, [r4, #0x1b]
-_02001CFA:
- mov r0, #0x0
- mvn r0, r0
- pop {r3-r5, pc}
-_02001D00:
- mov r1, #0x10
- tst r2, r1
- beq _02001D1C
- ldr r2, _02001D28 ; =0x000005DC
- mov r1, #0x3
- bl FUN_02001E64
- cmp r0, #0x1
- bne _02001D16
- mov r0, #0x4
- strb r0, [r4, #0x1b]
-_02001D16:
- mov r0, #0x0
- mvn r0, r0
- pop {r3-r5, pc}
-_02001D1C:
- sub r1, #0x11
- add r0, r1, #0x0
- pop {r3-r5, pc}
- nop
-_02001D24: .word 0x021C48B8
-_02001D28: .word 0x000005DC
-
- thumb_func_start FUN_02001D2C
-FUN_02001D2C: ; 0x02001D2C
- push {r4-r6, lr}
- add r2, r1, #0x0
- add r4, r0, #0x0
- mov r1, #0x0
- ldr r3, _02001DD4 ; =0x021C48B8
- strb r1, [r4, #0x1b]
- ldr r5, [r3, #0x48]
- mov r3, #0x1
- add r6, r5, #0x0
- tst r6, r3
- beq _02001D54
- ldr r0, _02001DD8 ; =0x000005DC
- bl FUN_020054C8
- ldrb r0, [r4, #0x15]
- ldr r1, [r4, #0x0]
- lsl r0, r0, #0x3
- add r0, r1, r0
- ldr r0, [r0, #0x4]
- pop {r4-r6, pc}
-_02001D54:
- ldr r6, [r4, #0x10]
- tst r6, r5
- beq _02001D66
- ldr r0, _02001DD8 ; =0x000005DC
- bl FUN_020054C8
- mov r0, #0x1
- mvn r0, r0
- pop {r4-r6, pc}
-_02001D66:
- mov r6, #0x40
- tst r6, r5
- beq _02001D7E
- bl FUN_02001E64
- cmp r0, #0x1
- bne _02001D78
- mov r0, #0x1
- strb r0, [r4, #0x1b]
-_02001D78:
- mov r0, #0x0
- mvn r0, r0
- pop {r4-r6, pc}
-_02001D7E:
- mov r1, #0x80
- tst r1, r5
- beq _02001D98
- add r1, r3, #0x0
- bl FUN_02001E64
- cmp r0, #0x1
- bne _02001D92
- mov r0, #0x2
- strb r0, [r4, #0x1b]
-_02001D92:
- mov r0, #0x0
- mvn r0, r0
- pop {r4-r6, pc}
-_02001D98:
- mov r1, #0x20
- tst r1, r5
- beq _02001DB2
- mov r1, #0x2
- bl FUN_02001E64
- cmp r0, #0x1
- bne _02001DAC
- mov r0, #0x3
- strb r0, [r4, #0x1b]
-_02001DAC:
- mov r0, #0x0
- mvn r0, r0
- pop {r4-r6, pc}
-_02001DB2:
- mov r1, #0x10
- add r3, r5, #0x0
- tst r3, r1
- beq _02001DCE
- mov r1, #0x3
- bl FUN_02001E64
- cmp r0, #0x1
- bne _02001DC8
- mov r0, #0x4
- strb r0, [r4, #0x1b]
-_02001DC8:
- mov r0, #0x0
- mvn r0, r0
- pop {r4-r6, pc}
-_02001DCE:
- sub r1, #0x11
- add r0, r1, #0x0
- pop {r4-r6, pc}
- .balign 4
-_02001DD4: .word 0x021C48B8
-_02001DD8: .word 0x000005DC
-
- thumb_func_start FUN_02001DDC
-FUN_02001DDC: ; 0x02001DDC
- push {r4, lr}
- add r4, r0, #0x0
- cmp r1, #0x5
- bhi _02001E52
- add r1, r1, r1
- add r1, pc
- ldrh r1, [r1, #0x6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_02001DF0: ; jump table (using 16-bit offset)
- .short _02001DFC - _02001DF0 - 2; case 0
- .short _02001E0E - _02001DF0 - 2; case 1
- .short _02001E1A - _02001DF0 - 2; case 2
- .short _02001E28 - _02001DF0 - 2; case 3
- .short _02001E36 - _02001DF0 - 2; case 4
- .short _02001E44 - _02001DF0 - 2; case 5
-_02001DFC:
- ldr r0, _02001E58 ; =0x000005DC
- bl FUN_020054C8
- ldrb r0, [r4, #0x15]
- ldr r1, [r4, #0x0]
- lsl r0, r0, #0x3
- add r0, r1, r0
- ldr r0, [r0, #0x4]
- pop {r4, pc}
-_02001E0E:
- ldr r0, _02001E58 ; =0x000005DC
- bl FUN_020054C8
- mov r0, #0x1
- mvn r0, r0
- pop {r4, pc}
-_02001E1A:
- ldr r2, _02001E58 ; =0x000005DC
- mov r1, #0x0
- bl FUN_02001E64
- mov r0, #0x0
- mvn r0, r0
- pop {r4, pc}
-_02001E28:
- ldr r2, _02001E58 ; =0x000005DC
- mov r1, #0x1
- bl FUN_02001E64
- mov r0, #0x0
- mvn r0, r0
- pop {r4, pc}
-_02001E36:
- ldr r2, _02001E58 ; =0x000005DC
- mov r1, #0x2
- bl FUN_02001E64
- mov r0, #0x0
- mvn r0, r0
- pop {r4, pc}
-_02001E44:
- ldr r2, _02001E58 ; =0x000005DC
- mov r1, #0x3
- bl FUN_02001E64
- mov r0, #0x0
- mvn r0, r0
- pop {r4, pc}
-_02001E52:
- mov r0, #0x0
- mvn r0, r0
- pop {r4, pc}
- .balign 4
-_02001E58: .word 0x000005DC
-
- thumb_func_start FUN_02001E5C
-FUN_02001E5C: ; 0x02001E5C
- ldrb r0, [r0, #0x15]
- bx lr
-
- thumb_func_start FUN_02001E60
-FUN_02001E60: ; 0x02001E60
- ldrb r0, [r0, #0x1b]
- bx lr
-
- thumb_func_start FUN_02001E64
-FUN_02001E64: ; 0x02001E64
- push {r4-r7, lr}
- sub sp, #0xc
- add r5, r0, #0x0
- add r6, r2, #0x0
- ldrb r4, [r5, #0x15]
- bl FUN_02001EBC
- cmp r0, #0x0
- bne _02001E7C
- add sp, #0xc
- mov r0, #0x0
- pop {r4-r7, pc}
-_02001E7C:
- ldrb r0, [r5, #0x8]
- mov r1, #0x6
- bl FUN_02002E4C
- add r1, sp, #0x8
- add r7, r0, #0x0
- add r0, r5, #0x0
- add r1, #0x1
- add r2, sp, #0x8
- add r3, r4, #0x0
- bl FUN_020020B0
- mov r0, #0x8
- str r0, [sp, #0x0]
- ldrb r0, [r5, #0x1a]
- add r3, sp, #0x8
- add r1, r7, #0x0
- str r0, [sp, #0x4]
- ldrb r2, [r3, #0x1]
- ldrb r3, [r3, #0x0]
- ldr r0, [r5, #0x4]
- bl FUN_020196F4
- add r0, r5, #0x0
- bl FUN_02002080
- add r0, r6, #0x0
- bl FUN_020054C8
- mov r0, #0x1
- add sp, #0xc
- pop {r4-r7, pc}
-
- thumb_func_start FUN_02001EBC
-FUN_02001EBC: ; 0x02001EBC
- push {r4-r6, lr}
- add r5, r0, #0x0
- cmp r1, #0x0
- bne _02001EFA
- ldrb r6, [r5, #0xa]
- cmp r6, #0x1
- bhi _02001ECE
- mov r0, #0x0
- pop {r4-r6, pc}
-_02001ECE:
- ldrb r4, [r5, #0x15]
- add r1, r6, #0x0
- add r0, r4, #0x0
- blx _s32_div_f
- cmp r1, #0x0
- bne _02001EF2
- ldrb r0, [r5, #0xb]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x1e
- bne _02001EE8
- mov r0, #0x0
- pop {r4-r6, pc}
-_02001EE8:
- sub r0, r6, #0x1
- add r0, r4, r0
- lsl r0, r0, #0x18
- asr r2, r0, #0x18
- b _02001F9A
-_02001EF2:
- sub r0, r4, #0x1
- lsl r0, r0, #0x18
- asr r2, r0, #0x18
- b _02001F9A
-_02001EFA:
- cmp r1, #0x1
- bne _02001F32
- ldrb r1, [r5, #0xa]
- cmp r1, #0x1
- bhi _02001F08
- mov r0, #0x0
- pop {r4-r6, pc}
-_02001F08:
- ldrb r6, [r5, #0x15]
- sub r4, r1, #0x1
- add r0, r6, #0x0
- blx _s32_div_f
- cmp r4, r1
- bne _02001F2A
- ldrb r0, [r5, #0xb]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x1e
- bne _02001F22
- mov r0, #0x0
- pop {r4-r6, pc}
-_02001F22:
- sub r0, r6, r4
- lsl r0, r0, #0x18
- asr r2, r0, #0x18
- b _02001F9A
-_02001F2A:
- add r0, r6, #0x1
- lsl r0, r0, #0x18
- asr r2, r0, #0x18
- b _02001F9A
-_02001F32:
- cmp r1, #0x2
- bne _02001F68
- ldrb r3, [r5, #0x9]
- cmp r3, #0x1
- bhi _02001F40
- mov r0, #0x0
- pop {r4-r6, pc}
-_02001F40:
- ldrb r2, [r5, #0xa]
- ldrb r1, [r5, #0x15]
- cmp r1, r2
- bhs _02001F60
- ldrb r0, [r5, #0xb]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x1e
- bne _02001F54
- mov r0, #0x0
- pop {r4-r6, pc}
-_02001F54:
- sub r0, r3, #0x1
- mul r0, r2
- add r0, r1, r0
- lsl r0, r0, #0x18
- asr r2, r0, #0x18
- b _02001F9A
-_02001F60:
- sub r0, r1, r2
- lsl r0, r0, #0x18
- asr r2, r0, #0x18
- b _02001F9A
-_02001F68:
- ldrb r2, [r5, #0x9]
- cmp r2, #0x1
- bhi _02001F72
- mov r0, #0x0
- pop {r4-r6, pc}
-_02001F72:
- ldrb r1, [r5, #0xa]
- ldrb r0, [r5, #0x15]
- sub r2, r2, #0x1
- mul r2, r1
- cmp r0, r2
- blt _02001F94
- ldrb r2, [r5, #0xb]
- lsl r2, r2, #0x18
- lsr r2, r2, #0x1e
- bne _02001F8A
- mov r0, #0x0
- pop {r4-r6, pc}
-_02001F8A:
- blx _s32_div_f
- lsl r0, r1, #0x18
- asr r2, r0, #0x18
- b _02001F9A
-_02001F94:
- add r0, r0, r1
- lsl r0, r0, #0x18
- asr r2, r0, #0x18
-_02001F9A:
- ldr r1, [r5, #0x0]
- lsl r0, r2, #0x3
- add r0, r1, r0
- ldr r1, [r0, #0x4]
- mov r0, #0x2
- mvn r0, r0
- cmp r1, r0
- bne _02001FAE
- mov r0, #0x0
- pop {r4-r6, pc}
-_02001FAE:
- strb r2, [r5, #0x15]
- mov r0, #0x1
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02001FB4
-FUN_02001FB4: ; 0x02001FB4
- push {r3-r7, lr}
- add r5, r0, #0x0
- ldrb r1, [r5, #0x9]
- ldrb r0, [r5, #0xa]
- mov r6, #0x0
- add r4, r6, #0x0
- mul r0, r1
- cmp r0, #0x0
- ble _02001FF0
- add r7, r6, #0x0
-_02001FC8:
- ldr r2, [r5, #0x0]
- lsl r1, r4, #0x3
- ldr r1, [r2, r1]
- ldrb r0, [r5, #0x8]
- add r2, r7, #0x0
- bl FUN_02002E14
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- cmp r6, r0
- bhs _02001FE0
- add r6, r0, #0x0
-_02001FE0:
- add r0, r4, #0x1
- lsl r0, r0, #0x18
- lsr r4, r0, #0x18
- ldrb r1, [r5, #0x9]
- ldrb r0, [r5, #0xa]
- mul r0, r1
- cmp r4, r0
- blt _02001FC8
-_02001FF0:
- add r0, r6, #0x0
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02001FF4
-FUN_02001FF4: ; 0x02001FF4
- push {r3-r7, lr}
- sub sp, #0x10
- add r5, r0, #0x0
- ldrb r0, [r5, #0x8]
- mov r1, #0x6
- bl FUN_02002E4C
- add r1, r0, #0x0
- ldr r0, [r5, #0x4]
- bl FUN_02019620
- ldrb r0, [r5, #0x19]
- ldrb r1, [r5, #0x16]
- ldrb r7, [r5, #0x17]
- lsl r0, r0, #0x1
- add r0, r1, r0
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0xc]
- ldrb r0, [r5, #0x9]
- mov r6, #0x0
- cmp r0, #0x0
- bls _0200207C
-_02002022:
- ldrb r2, [r5, #0xa]
- mov r4, #0x0
- cmp r2, #0x0
- bls _02002068
-_0200202A:
- ldrb r3, [r5, #0xb]
- mul r2, r6
- ldrb r0, [r5, #0x1a]
- lsl r3, r3, #0x1c
- lsr r3, r3, #0x1c
- add r0, r0, r3
- ldrb r1, [r5, #0x18]
- mul r0, r4
- add r2, r4, r2
- add r0, r1, r0
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x0]
- mov r0, #0xff
- str r0, [sp, #0x4]
- mov r0, #0x0
- str r0, [sp, #0x8]
- ldr r3, [r5, #0x0]
- lsl r2, r2, #0x3
- ldr r2, [r3, r2]
- ldrb r1, [r5, #0x8]
- ldr r0, [r5, #0x4]
- add r3, r7, #0x0
- bl FUN_0201BD84
- add r0, r4, #0x1
- lsl r0, r0, #0x18
- ldrb r2, [r5, #0xa]
- lsr r4, r0, #0x18
- cmp r4, r2
- blo _0200202A
-_02002068:
- ldr r0, [sp, #0xc]
- add r0, r7, r0
- lsl r0, r0, #0x18
- lsr r7, r0, #0x18
- add r0, r6, #0x1
- lsl r0, r0, #0x18
- lsr r6, r0, #0x18
- ldrb r0, [r5, #0x9]
- cmp r6, r0
- blo _02002022
-_0200207C:
- add sp, #0x10
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02002080
-FUN_02002080: ; 0x02002080
- push {r3-r4, lr}
- sub sp, #0x4
- add r4, r0, #0x0
- ldrb r1, [r4, #0xb]
- lsl r1, r1, #0x1a
- lsr r1, r1, #0x1e
- cmp r1, #0x1
- beq _020020AA
- ldrb r3, [r4, #0x15]
- add r1, sp, #0x0
- add r1, #0x1
- add r2, sp, #0x0
- bl FUN_020020B0
- add r3, sp, #0x0
- ldrb r2, [r3, #0x1]
- ldrb r3, [r3, #0x0]
- ldr r0, [r4, #0xc]
- ldr r1, [r4, #0x4]
- bl FUN_020136F8
-_020020AA:
- add sp, #0x4
- pop {r3-r4, pc}
- .balign 4
-
- thumb_func_start FUN_020020B0
-FUN_020020B0: ; 0x020020B0
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- add r7, r3, #0x0
- ldrb r1, [r5, #0xa]
- add r0, r7, #0x0
- add r6, r2, #0x0
- blx _s32_div_f
- ldrb r2, [r5, #0x19]
- ldrb r1, [r5, #0x16]
- lsl r2, r2, #0x1
- add r1, r1, r2
- mul r1, r0
- strb r1, [r4, #0x0]
- ldrb r1, [r5, #0xa]
- add r0, r7, #0x0
- blx _s32_div_f
- ldrb r2, [r5, #0xb]
- ldrb r3, [r5, #0x1a]
- ldrb r0, [r5, #0x18]
- lsl r2, r2, #0x1c
- lsr r2, r2, #0x1c
- add r2, r3, r2
- mul r2, r1
- add r0, r0, r2
- strb r0, [r6, #0x0]
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_020020EC
-FUN_020020EC: ; 0x020020EC
- push {r3-r7, lr}
- sub sp, #0x20
- ldr r5, [sp, #0x3c]
- str r2, [sp, #0xc]
- add r7, r0, #0x0
- str r1, [sp, #0x8]
- str r3, [sp, #0x10]
- ldr r2, _02002194 ; =0x00000141
- mov r0, #0x1
- mov r1, #0x1a
- add r3, r5, #0x0
- bl FUN_0200A86C
- add r4, r0, #0x0
- mov r0, #0x2
- add r1, r5, #0x0
- bl FUN_02012838
- add r1, r4, #0x0
- mov r2, #0x29
- mov r3, #0x0
- add r6, r0, #0x0
- bl FUN_02012880
- mov r3, #0x2a
- add r2, r3, #0x0
- add r0, r6, #0x0
- add r1, r4, #0x0
- sub r3, #0x2c
- bl FUN_02012880
- add r0, r4, #0x0
- bl FUN_0200A8B8
- add r0, r5, #0x0
- mov r1, #0x1
- str r6, [sp, #0x14]
- bl FUN_02018FF4
- add r1, r0, #0x0
- str r1, [sp, #0x18]
- mov r0, #0x0
- add r3, sp, #0x14
- strb r0, [r3, #0x8]
- mov r0, #0x1
- strb r0, [r3, #0x9]
- mov r0, #0x2
- strb r0, [r3, #0xa]
- ldrb r0, [r3, #0xb]
- mov r2, #0xf
- bic r0, r2
- strb r0, [r3, #0xb]
- ldrb r4, [r3, #0xb]
- mov r0, #0x30
- bic r4, r0
- strb r4, [r3, #0xb]
- ldrb r0, [r3, #0xb]
- bic r0, r2
- strb r0, [r3, #0xb]
- ldr r2, [sp, #0x8]
- add r0, r7, #0x0
- bl FUN_02019150
- ldr r0, [sp, #0x18]
- ldr r2, [sp, #0xc]
- ldr r3, [sp, #0x10]
- mov r1, #0x1
- bl FUN_0200CCA4
- lsl r0, r5, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x0]
- mov r0, #0x2
- str r0, [sp, #0x4]
- add r3, sp, #0x28
- ldrb r3, [r3, #0x10]
- add r0, sp, #0x14
- mov r1, #0x8
- mov r2, #0x0
- bl FUN_02001C14
- add sp, #0x20
- pop {r3-r7, pc}
- nop
-_02002194: .word 0x00000141
-
- thumb_func_start FUN_02002198
-FUN_02002198: ; 0x02002198
- push {r4, lr}
- sub sp, #0x8
- mov r4, #0x0
- str r4, [sp, #0x0]
- ldr r4, [sp, #0x10]
- str r4, [sp, #0x4]
- bl FUN_020020EC
- add sp, #0x8
- pop {r4, pc}
-
- thumb_func_start FUN_020021AC
-FUN_020021AC: ; 0x020021AC
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- bl FUN_02001C78
- add r6, r0, #0x0
- mov r0, #0x0
- mvn r0, r0
- cmp r6, r0
- beq _020021C8
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_020021EC
-_020021C8:
- add r0, r6, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_020021CC
-FUN_020021CC: ; 0x020021CC
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r4, r2, #0x0
- bl FUN_02001DDC
- add r6, r0, #0x0
- mov r0, #0x0
- mvn r0, r0
- cmp r6, r0
- beq _020021E8
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_020021EC
-_020021E8:
- add r0, r6, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_020021EC
-FUN_020021EC: ; 0x020021EC
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0x4]
- add r4, r1, #0x0
- mov r1, #0x0
- bl FUN_0200CCF8
- ldr r0, [r5, #0x4]
- bl FUN_02019178
- ldr r1, [r5, #0x4]
- add r0, r4, #0x0
- bl FUN_02016A8C
- ldr r0, [r5, #0x0]
- bl FUN_02012870
- add r0, r5, #0x0
- mov r1, #0x0
- bl FUN_02001C5C
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02002218
-FUN_02002218: ; 0x02002218
- push {r4, lr}
- sub sp, #0x18
- mov r4, #0x8
- lsl r1, r1, #0x10
- str r4, [sp, #0x0]
- mov r3, #0x10
- str r3, [sp, #0x4]
- lsr r1, r1, #0x10
- str r1, [sp, #0x8]
- lsl r1, r2, #0x10
- lsr r1, r1, #0x10
- str r1, [sp, #0xc]
- str r4, [sp, #0x10]
- ldr r1, _02002244 ; =0x020ECAC8
- mov r2, #0x0
- str r3, [sp, #0x14]
- add r3, r2, #0x0
- bl FUN_02019658
- add sp, #0x18
- pop {r4, pc}
- nop
-_02002244: .word 0x020ECAC8
diff --git a/asm/unk_020023C0.s b/asm/unk_020023C0.s
deleted file mode 100644
index 2024d9d7..00000000
--- a/asm/unk_020023C0.s
+++ /dev/null
@@ -1,8340 +0,0 @@
- .include "asm/macros.inc"
- .include "global.inc"
-
- .text
-
- thumb_func_start FUN_020023C0
-FUN_020023C0: ; 0x020023C0
- push {r3-r6, lr}
- sub sp, #0xc
- add r4, r0, #0x0
- add r1, r4, #0x0
- add r1, #0x24
- ldrb r1, [r1, #0x0]
- add r6, r4, #0x0
- add r6, #0x1c
- cmp r1, #0x6
- bls _020023D6
- b _02002838
-_020023D6:
- add r1, r1, r1
- add r1, pc
- ldrh r1, [r1, #0x6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_020023E2: ; jump table (using 16-bit offset)
- .short _020023F0 - _020023E2 - 2; case 0
- .short _02002742 - _020023E2 - 2; case 1
- .short _0200275C - _020023E2 - 2; case 2
- .short _02002786 - _020023E2 - 2; case 3
- .short _020027B6 - _020023E2 - 2; case 4
- .short _0200280C - _020023E2 - 2; case 5
- .short _02002818 - _020023E2 - 2; case 6
-_020023F0:
- ldr r0, _02002658 ; =0x021C48B8
- ldr r1, [r0, #0x44]
- mov r0, #0x3
- tst r0, r1
- beq _02002402
- ldrb r0, [r6, #0x0]
- lsl r0, r0, #0x1b
- lsr r0, r0, #0x1f
- bne _02002414
-_02002402:
- ldr r0, _0200265C ; =0x021C48F8
- ldrh r0, [r0, #0x22]
- cmp r0, #0x0
- beq _02002432
- ldr r0, _02002660 ; =0x02106FC4
- ldrb r0, [r0, #0x0]
- lsl r0, r0, #0x1b
- lsr r0, r0, #0x1f
- beq _02002432
-_02002414:
- add r0, r4, #0x0
- mov r1, #0x0
- add r0, #0x26
- strb r1, [r0, #0x0]
- add r0, r4, #0x0
- add r0, #0x25
- ldrb r0, [r0, #0x0]
- lsl r0, r0, #0x19
- lsr r0, r0, #0x19
- beq _02002432
- ldr r1, _02002660 ; =0x02106FC4
- mov r0, #0x40
- ldrb r2, [r1, #0x0]
- orr r0, r2
- strb r0, [r1, #0x0]
-_02002432:
- add r0, r4, #0x0
- add r0, #0x26
- ldrb r0, [r0, #0x0]
- cmp r0, #0x0
- beq _0200248C
- add r0, r4, #0x0
- add r0, #0x25
- ldrb r0, [r0, #0x0]
- lsl r0, r0, #0x19
- lsr r0, r0, #0x19
- beq _0200248C
- add r0, r4, #0x0
- add r0, #0x26
- ldrb r0, [r0, #0x0]
- sub r1, r0, #0x1
- add r0, r4, #0x0
- add r0, #0x26
- strb r1, [r0, #0x0]
- ldr r0, _02002660 ; =0x02106FC4
- ldrb r0, [r0, #0x0]
- lsl r1, r0, #0x1f
- lsr r1, r1, #0x1f
- beq _02002486
- ldr r1, _02002658 ; =0x021C48B8
- ldr r2, [r1, #0x48]
- mov r1, #0x3
- tst r1, r2
- bne _02002478
- ldr r1, _0200265C ; =0x021C48F8
- ldrh r1, [r1, #0x20]
- cmp r1, #0x0
- beq _02002486
- lsl r0, r0, #0x1b
- lsr r0, r0, #0x1f
- beq _02002486
-_02002478:
- ldrb r1, [r6, #0x0]
- mov r0, #0x10
- add r4, #0x26
- orr r0, r1
- strb r0, [r6, #0x0]
- mov r0, #0x0
- strb r0, [r4, #0x0]
-_02002486:
- add sp, #0xc
- mov r0, #0x3
- pop {r3-r6, pc}
-_0200248C:
- add r0, r4, #0x0
- add r0, #0x25
- ldrb r0, [r0, #0x0]
- lsl r0, r0, #0x19
- lsr r1, r0, #0x19
- add r0, r4, #0x0
- add r0, #0x26
- strb r1, [r0, #0x0]
- ldr r0, [r4, #0x0]
- ldrh r5, [r0, #0x0]
- add r0, r0, #0x2
- str r0, [r4, #0x0]
- mov r0, #0xf1
- lsl r0, r0, #0x8
- cmp r5, r0
- bne _020024B0
- bl ErrorHandling
-_020024B0:
- ldr r0, _02002664 ; =0x0000F0FD
- cmp r5, r0
- bgt _020024DA
- bge _0200250E
- ldr r1, _02002668 ; =0x000025BD
- cmp r5, r1
- bgt _020024D0
- sub r0, r1, #0x1
- cmp r5, r0
- blt _020024CE
- bne _020024C8
- b _020026D8
-_020024C8:
- cmp r5, r1
- bne _020024CE
- b _020026EC
-_020024CE:
- b _02002700
-_020024D0:
- mov r0, #0xe
- lsl r0, r0, #0xc
- cmp r5, r0
- beq _020024F2
- b _02002700
-_020024DA:
- ldr r0, _0200266C ; =0x0000FFFE
- cmp r5, r0
- bgt _020024E4
- beq _0200251A
- b _02002700
-_020024E4:
- add r0, r0, #0x1
- cmp r5, r0
- beq _020024EC
- b _02002700
-_020024EC:
- add sp, #0xc
- mov r0, #0x1
- pop {r3-r6, pc}
-_020024F2:
- ldrb r0, [r4, #0xa]
- mov r1, #0x1
- strb r0, [r4, #0xc]
- ldrb r0, [r4, #0x9]
- bl FUN_02002E4C
- ldrb r1, [r4, #0xf]
- ldrb r2, [r4, #0xd]
- add sp, #0xc
- add r0, r1, r0
- add r0, r2, r0
- strb r0, [r4, #0xd]
- mov r0, #0x2
- pop {r3-r6, pc}
-_0200250E:
- ldr r0, [r4, #0x0]
- add sp, #0xc
- add r0, r0, #0x2
- str r0, [r4, #0x0]
- mov r0, #0x2
- pop {r3-r6, pc}
-_0200251A:
- ldr r0, [r4, #0x0]
- sub r0, r0, #0x2
- str r0, [r4, #0x0]
- bl FUN_0201B8E0
- lsl r0, r0, #0x10
- ldr r1, _02002670 ; =0x0000FE06
- lsr r0, r0, #0x10
- cmp r0, r1
- bgt _02002552
- blt _02002532
- b _02002678
-_02002532:
- mov r1, #0x2
- lsl r1, r1, #0x8
- sub r1, r0, r1
- cmp r1, #0x4
- bhi _0200255C
- add r1, r1, r1
- add r1, pc
- ldrh r1, [r1, #0x6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_02002548: ; jump table (using 16-bit offset)
- .short _020025B4 - _02002548 - 2; case 0
- .short _020025DE - _02002548 - 2; case 1
- .short _02002600 - _02002548 - 2; case 2
- .short _02002618 - _02002548 - 2; case 3
- .short _02002624 - _02002548 - 2; case 4
-_02002552:
- mov r1, #0xff
- lsl r1, r1, #0x8
- cmp r0, r1
- bgt _0200255E
- beq _02002566
-_0200255C:
- b _020026CA
-_0200255E:
- add r1, r1, #0x1
- cmp r0, r1
- beq _02002630
- b _020026CA
-_02002566:
- ldr r0, [r4, #0x0]
- mov r1, #0x0
- bl FUN_0201B914
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- cmp r0, #0xff
- bne _02002596
- ldrb r0, [r4, #0x11]
- ldrb r2, [r4, #0x17]
- sub r1, r0, #0x1
- lsr r0, r1, #0x1f
- add r0, r1, r0
- asr r0, r0, #0x1
- add r0, #0x64
- strb r0, [r4, #0x17]
- cmp r2, #0x64
- blo _02002644
- cmp r2, #0x6b
- bhs _02002644
- sub r2, #0x64
- lsl r0, r2, #0x10
- lsr r0, r0, #0x10
- b _0200259E
-_02002596:
- cmp r0, #0x64
- blo _0200259E
- strb r0, [r4, #0x17]
- b _020026CA
-_0200259E:
- lsl r1, r0, #0x1
- add r0, r1, #0x1
- strb r0, [r4, #0x11]
- add r0, r1, #0x2
- strb r0, [r4, #0x13]
- ldrb r0, [r4, #0x11]
- ldrb r1, [r4, #0x12]
- ldrb r2, [r4, #0x13]
- bl FUN_0201C05C
- b _020026CA
-_020025B4:
- ldr r0, [r4, #0x0]
- mov r1, #0x0
- bl FUN_0201B914
- lsl r0, r0, #0x10
- lsr r3, r0, #0x10
- ldrb r1, [r4, #0xc]
- ldrb r2, [r4, #0xd]
- add r0, r4, #0x0
- bl FUN_0201C1EC
- add r0, r4, #0x0
- add r0, #0x25
- ldrb r0, [r0, #0x0]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x1f
- beq _020026CA
- ldr r0, [r4, #0x4]
- bl FUN_020191D0
- b _020026CA
-_020025DE:
- ldr r0, [r4, #0x0]
- mov r1, #0x0
- bl FUN_0201B914
- add r1, r4, #0x0
- add r1, #0x26
- strb r0, [r1, #0x0]
- ldr r0, [r4, #0x0]
- bl FUN_0201B8B8
- str r0, [r4, #0x0]
- mov r0, #0x6
- add r4, #0x24
- strb r0, [r4, #0x0]
- add sp, #0xc
- mov r0, #0x3
- pop {r3-r6, pc}
-_02002600:
- ldr r0, [r4, #0x0]
- mov r1, #0x0
- bl FUN_0201B914
- strh r0, [r4, #0x2a]
- ldr r0, [r4, #0x0]
- bl FUN_0201B8B8
- str r0, [r4, #0x0]
- add sp, #0xc
- mov r0, #0x3
- pop {r3-r6, pc}
-_02002618:
- ldr r0, [r4, #0x0]
- mov r1, #0x0
- bl FUN_0201B914
- strb r0, [r4, #0xc]
- b _020026CA
-_02002624:
- ldr r0, [r4, #0x0]
- mov r1, #0x0
- bl FUN_0201B914
- strb r0, [r4, #0xd]
- b _020026CA
-_02002630:
- ldr r0, [r4, #0x0]
- mov r1, #0x0
- bl FUN_0201B914
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- cmp r0, #0x64
- beq _02002646
- cmp r0, #0xc8
- beq _0200264E
-_02002644:
- b _020026CA
-_02002646:
- mov r0, #0x0
- strh r0, [r4, #0x14]
- strb r0, [r4, #0x16]
- b _020026CA
-_0200264E:
- ldr r0, _02002674 ; =0x0000FFFC
- strh r0, [r4, #0x14]
- mov r0, #0x0
- strb r0, [r4, #0x16]
- b _020026CA
- .balign 4
-_02002658: .word 0x021C48B8
-_0200265C: .word 0x021C48F8
-_02002660: .word 0x02106FC4
-_02002664: .word 0x0000F0FD
-_02002668: .word 0x000025BD
-_0200266C: .word 0x0000FFFE
-_02002670: .word 0x0000FE06
-_02002674: .word 0x0000FFFC
-_02002678:
- ldr r0, [r4, #0x0]
- mov r1, #0x0
- bl FUN_0201B914
- lsl r0, r0, #0x10
- lsr r1, r0, #0x10
- mov r0, #0xfe
- lsl r0, r0, #0x8
- cmp r1, r0
- beq _020026AE
- add r0, r0, #0x1
- cmp r1, r0
- bne _020026CA
- add r0, r4, #0x0
- mov r1, #0x2
- add r0, #0x24
- strb r1, [r0, #0x0]
- add r0, r4, #0x0
- bl FUN_0200284C
- ldr r0, [r4, #0x0]
- bl FUN_0201B8B8
- str r0, [r4, #0x0]
- add sp, #0xc
- mov r0, #0x3
- pop {r3-r6, pc}
-_020026AE:
- add r0, r4, #0x0
- mov r1, #0x3
- add r0, #0x24
- strb r1, [r0, #0x0]
- add r0, r4, #0x0
- bl FUN_0200284C
- ldr r0, [r4, #0x0]
- bl FUN_0201B8B8
- str r0, [r4, #0x0]
- add sp, #0xc
- mov r0, #0x3
- pop {r3-r6, pc}
-_020026CA:
- ldr r0, [r4, #0x0]
- bl FUN_0201B8B8
- str r0, [r4, #0x0]
- add sp, #0xc
- mov r0, #0x2
- pop {r3-r6, pc}
-_020026D8:
- add r0, r4, #0x0
- mov r1, #0x2
- add r0, #0x24
- strb r1, [r0, #0x0]
- add r0, r4, #0x0
- bl FUN_0200284C
- add sp, #0xc
- mov r0, #0x3
- pop {r3-r6, pc}
-_020026EC:
- add r0, r4, #0x0
- mov r1, #0x3
- add r0, #0x24
- strb r1, [r0, #0x0]
- add r0, r4, #0x0
- bl FUN_0200284C
- add sp, #0xc
- mov r0, #0x3
- pop {r3-r6, pc}
-_02002700:
- ldrb r0, [r6, #0x0]
- add r1, r5, #0x0
- lsl r0, r0, #0x1c
- lsr r0, r0, #0x1c
- bl FUN_02002D94
- add r5, r0, #0x0
- ldrb r0, [r4, #0xc]
- add r2, r5, #0x0
- add r3, r5, #0x0
- str r0, [sp, #0x0]
- ldrb r0, [r4, #0xd]
- add r2, #0x80
- add r3, #0x81
- str r0, [sp, #0x4]
- ldrh r0, [r4, #0x14]
- add r1, r5, #0x0
- str r0, [sp, #0x8]
- ldrb r2, [r2, #0x0]
- ldrb r3, [r3, #0x0]
- ldr r0, [r4, #0x4]
- bl FUN_0201974C
- add r5, #0x80
- ldrb r1, [r5, #0x0]
- ldrb r0, [r4, #0xe]
- ldrb r2, [r4, #0xc]
- add sp, #0xc
- add r0, r1, r0
- add r0, r2, r0
- strb r0, [r4, #0xc]
- mov r0, #0x0
- pop {r3-r6, pc}
-_02002742:
- bl FUN_02002B3C
- cmp r0, #0x0
- beq _02002756
- add r0, r4, #0x0
- bl FUN_02002A00
- mov r0, #0x0
- add r4, #0x24
- strb r0, [r4, #0x0]
-_02002756:
- add sp, #0xc
- mov r0, #0x3
- pop {r3-r6, pc}
-_0200275C:
- bl FUN_02002B18
- cmp r0, #0x0
- beq _02002780
- add r0, r4, #0x0
- bl FUN_02002A00
- ldrb r1, [r4, #0x12]
- ldr r0, [r4, #0x4]
- bl FUN_02019620
- ldrb r0, [r4, #0xa]
- strb r0, [r4, #0xc]
- ldrb r0, [r4, #0xb]
- strb r0, [r4, #0xd]
- mov r0, #0x0
- add r4, #0x24
- strb r0, [r4, #0x0]
-_02002780:
- add sp, #0xc
- mov r0, #0x3
- pop {r3-r6, pc}
-_02002786:
- bl FUN_02002B18
- cmp r0, #0x0
- beq _020027B0
- add r0, r4, #0x0
- bl FUN_02002A00
- ldrb r0, [r4, #0x9]
- mov r1, #0x1
- bl FUN_02002E4C
- ldrb r1, [r4, #0xf]
- add r1, r1, r0
- add r0, r4, #0x0
- add r0, #0x27
- strb r1, [r0, #0x0]
- ldrb r0, [r4, #0xa]
- strb r0, [r4, #0xc]
- mov r0, #0x4
- add r4, #0x24
- strb r0, [r4, #0x0]
-_020027B0:
- add sp, #0xc
- mov r0, #0x3
- pop {r3-r6, pc}
-_020027B6:
- add r0, #0x27
- ldrb r2, [r0, #0x0]
- cmp r2, #0x0
- beq _02002800
- cmp r2, #0x4
- ldrb r5, [r4, #0x12]
- bge _020027D8
- lsl r3, r5, #0x4
- orr r3, r5
- lsl r3, r3, #0x18
- ldr r0, [r4, #0x4]
- mov r1, #0x0
- lsr r3, r3, #0x18
- bl FUN_0201A8C8
- mov r1, #0x0
- b _020027F2
-_020027D8:
- lsl r3, r5, #0x4
- orr r3, r5
- lsl r3, r3, #0x18
- ldr r0, [r4, #0x4]
- mov r1, #0x0
- mov r2, #0x4
- lsr r3, r3, #0x18
- bl FUN_0201A8C8
- add r0, r4, #0x0
- add r0, #0x27
- ldrb r0, [r0, #0x0]
- sub r1, r0, #0x4
-_020027F2:
- add r0, r4, #0x0
- add r0, #0x27
- strb r1, [r0, #0x0]
- ldr r0, [r4, #0x4]
- bl FUN_020191D0
- b _02002806
-_02002800:
- mov r0, #0x0
- add r4, #0x24
- strb r0, [r4, #0x0]
-_02002806:
- add sp, #0xc
- mov r0, #0x3
- pop {r3-r6, pc}
-_0200280C:
- mov r0, #0x0
- add r4, #0x24
- strb r0, [r4, #0x0]
- add sp, #0xc
- mov r0, #0x3
- pop {r3-r6, pc}
-_02002818:
- add r0, #0x26
- ldrb r0, [r0, #0x0]
- cmp r0, #0x0
- beq _0200282C
- add r0, r4, #0x0
- add r0, #0x26
- ldrb r0, [r0, #0x0]
- add r4, #0x26
- sub r0, r0, #0x1
- b _02002830
-_0200282C:
- mov r0, #0x0
- add r4, #0x24
-_02002830:
- add sp, #0xc
- strb r0, [r4, #0x0]
- mov r0, #0x3
- pop {r3-r6, pc}
-_02002838:
- mov r0, #0x1
- add sp, #0xc
- pop {r3-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02002840
-FUN_02002840: ; 0x02002840
- ldr r1, _02002848 ; =0x02106FC4
- strh r0, [r1, #0x2]
- bx lr
- nop
-_02002848: .word 0x02106FC4
-
- thumb_func_start FUN_0200284C
-FUN_0200284C: ; 0x0200284C
- ldr r1, _02002874 ; =0x02106FC4
- add r0, #0x1c
- ldrb r1, [r1, #0x0]
- lsl r1, r1, #0x1d
- lsr r1, r1, #0x1f
- beq _02002862
- ldrb r2, [r0, #0x2]
- mov r1, #0xff
- bic r2, r1
- strb r2, [r0, #0x2]
- bx lr
-_02002862:
- ldrb r2, [r0, #0x1]
- mov r1, #0x60
- bic r2, r1
- strb r2, [r0, #0x1]
- ldrb r2, [r0, #0x1]
- mov r1, #0x1f
- bic r2, r1
- strb r2, [r0, #0x1]
- bx lr
- .balign 4
-_02002874: .word 0x02106FC4
-
- thumb_func_start FUN_02002878
-FUN_02002878: ; 0x02002878
- push {r4-r7, lr}
- sub sp, #0x2c
- add r5, r0, #0x0
- ldr r0, _020029F8 ; =0x02106FC4
- add r4, r5, #0x0
- ldrb r0, [r0, #0x0]
- add r4, #0x1c
- lsl r0, r0, #0x1d
- lsr r0, r0, #0x1f
- beq _0200288E
- b _020029F4
-_0200288E:
- ldrb r0, [r4, #0x1]
- lsl r1, r0, #0x1b
- lsr r2, r1, #0x1b
- beq _020028AC
- mov r1, #0x1f
- add r2, #0xff
- bic r0, r1
- lsl r1, r2, #0x18
- lsr r2, r1, #0x18
- mov r1, #0x1f
- and r1, r2
- orr r0, r1
- add sp, #0x2c
- strb r0, [r4, #0x1]
- pop {r4-r7, pc}
-_020028AC:
- ldr r0, [r5, #0x4]
- bl FUN_0201AB08
- str r0, [sp, #0x20]
- ldr r0, [r5, #0x4]
- bl FUN_0201AB14
- str r0, [sp, #0x24]
- ldr r0, [r5, #0x4]
- bl FUN_0201AB18
- str r0, [sp, #0x28]
- ldr r0, [r5, #0x4]
- bl FUN_0201AB0C
- ldr r1, _020029F8 ; =0x02106FC4
- ldrh r6, [r1, #0x2]
- ldr r1, [sp, #0x28]
- add r7, r1, #0x2
- ldr r1, [sp, #0x24]
- add r2, r6, #0x0
- add r0, r1, r0
- str r0, [sp, #0x1c]
- add r0, r0, #0x1
- str r0, [sp, #0x18]
- lsl r0, r7, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- str r0, [sp, #0x8]
- mov r0, #0x10
- str r0, [sp, #0xc]
- add r2, #0x12
- mov r12, r2
- ldrb r2, [r4, #0x1]
- ldr r0, [r5, #0x4]
- ldr r1, [sp, #0x20]
- lsl r2, r2, #0x19
- lsr r3, r2, #0x1e
- ldr r2, _020029FC ; =0x020ECB50
- ldr r0, [r0, #0x0]
- ldrb r2, [r2, r3]
- mov r3, r12
- lsl r2, r2, #0x2
- add r2, r3, r2
- ldr r3, [sp, #0x18]
- lsl r2, r2, #0x10
- lsl r3, r3, #0x18
- lsr r2, r2, #0x10
- lsr r3, r3, #0x18
- bl FUN_02018540
- ldr r0, [sp, #0x1c]
- ldr r1, [sp, #0x20]
- add r0, r0, #0x2
- str r0, [sp, #0x10]
- lsl r0, r7, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- str r0, [sp, #0x8]
- mov r0, #0x10
- str r0, [sp, #0xc]
- ldrb r2, [r4, #0x1]
- add r7, r6, #0x0
- ldr r0, [r5, #0x4]
- lsl r2, r2, #0x19
- lsr r3, r2, #0x1e
- ldr r2, _020029FC ; =0x020ECB50
- add r7, #0x13
- ldrb r2, [r2, r3]
- ldr r3, [sp, #0x10]
- ldr r0, [r0, #0x0]
- lsl r2, r2, #0x2
- add r2, r7, r2
- lsl r2, r2, #0x10
- lsl r3, r3, #0x18
- lsr r2, r2, #0x10
- lsr r3, r3, #0x18
- bl FUN_02018540
- ldr r0, [sp, #0x28]
- add r7, r6, #0x0
- add r0, r0, #0x3
- str r0, [sp, #0x14]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- str r0, [sp, #0x8]
- mov r0, #0x10
- str r0, [sp, #0xc]
- ldrb r2, [r4, #0x1]
- ldr r0, [r5, #0x4]
- add r7, #0x14
- lsl r2, r2, #0x19
- lsr r3, r2, #0x1e
- ldr r2, _020029FC ; =0x020ECB50
- ldr r0, [r0, #0x0]
- ldrb r2, [r2, r3]
- ldr r3, [sp, #0x18]
- ldr r1, [sp, #0x20]
- lsl r2, r2, #0x2
- add r2, r7, r2
- lsl r2, r2, #0x10
- lsl r3, r3, #0x18
- lsr r2, r2, #0x10
- lsr r3, r3, #0x18
- bl FUN_02018540
- ldr r0, [sp, #0x14]
- add r6, #0x15
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- str r0, [sp, #0x8]
- mov r0, #0x10
- str r0, [sp, #0xc]
- ldrb r2, [r4, #0x1]
- ldr r0, [r5, #0x4]
- ldr r1, [sp, #0x20]
- lsl r2, r2, #0x19
- lsr r3, r2, #0x1e
- ldr r2, _020029FC ; =0x020ECB50
- ldr r0, [r0, #0x0]
- ldrb r2, [r2, r3]
- ldr r3, [sp, #0x10]
- lsl r2, r2, #0x2
- add r2, r6, r2
- lsl r2, r2, #0x10
- lsl r3, r3, #0x18
- lsr r2, r2, #0x10
- lsr r3, r3, #0x18
- bl FUN_02018540
- ldr r0, [r5, #0x4]
- ldr r1, [sp, #0x20]
- ldr r0, [r0, #0x0]
- bl FUN_02017CD0
- ldrb r1, [r4, #0x1]
- mov r0, #0x1f
- bic r1, r0
- mov r0, #0x8
- orr r0, r1
- strb r0, [r4, #0x1]
- ldrb r2, [r4, #0x1]
- mov r1, #0x60
- add r0, r2, #0x0
- bic r0, r1
- lsl r1, r2, #0x19
- lsr r1, r1, #0x1e
- add r1, r1, #0x1
- lsl r1, r1, #0x18
- lsr r1, r1, #0x18
- lsl r1, r1, #0x1e
- lsr r1, r1, #0x19
- orr r0, r1
- strb r0, [r4, #0x1]
-_020029F4:
- add sp, #0x2c
- pop {r4-r7, pc}
- .balign 4
-_020029F8: .word 0x02106FC4
-_020029FC: .word 0x020ECB50
-
- thumb_func_start FUN_02002A00
-FUN_02002A00: ; 0x02002A00
- push {r3-r7, lr}
- sub sp, #0x18
- add r5, r0, #0x0
- ldr r0, [r5, #0x4]
- bl FUN_0201AB08
- str r0, [sp, #0x10]
- ldr r0, [r5, #0x4]
- bl FUN_0201AB14
- str r0, [sp, #0x14]
- ldr r0, [r5, #0x4]
- bl FUN_0201AB18
- add r6, r0, #0x0
- ldr r0, [r5, #0x4]
- bl FUN_0201AB0C
- ldr r1, _02002A90 ; =0x02106FC4
- add r7, r6, #0x2
- ldrh r4, [r1, #0x2]
- ldr r1, [sp, #0x14]
- add r6, r1, r0
- lsl r0, r7, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- mov r0, #0x2
- str r0, [sp, #0x8]
- mov r0, #0x10
- str r0, [sp, #0xc]
- ldr r0, [r5, #0x4]
- add r2, r4, #0x0
- add r2, #0xa
- add r3, r6, #0x1
- lsl r2, r2, #0x10
- lsl r3, r3, #0x18
- ldr r0, [r0, #0x0]
- ldr r1, [sp, #0x10]
- lsr r2, r2, #0x10
- lsr r3, r3, #0x18
- bl FUN_02018540
- lsl r0, r7, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- mov r0, #0x2
- str r0, [sp, #0x8]
- mov r0, #0x10
- str r0, [sp, #0xc]
- ldr r0, [r5, #0x4]
- add r4, #0xb
- add r3, r6, #0x2
- lsl r2, r4, #0x10
- lsl r3, r3, #0x18
- ldr r0, [r0, #0x0]
- ldr r1, [sp, #0x10]
- lsr r2, r2, #0x10
- lsr r3, r3, #0x18
- bl FUN_02018540
- ldr r0, [r5, #0x4]
- ldr r1, [sp, #0x10]
- ldr r0, [r0, #0x0]
- bl FUN_02017CD0
- add sp, #0x18
- pop {r3-r7, pc}
- nop
-_02002A90: .word 0x02106FC4
-
- thumb_func_start FUN_02002A94
-FUN_02002A94: ; 0x02002A94
- push {r3, lr}
- ldr r0, _02002ACC ; =0x021C48B8
- ldr r1, [r0, #0x48]
- mov r0, #0x3
- tst r0, r1
- bne _02002AB2
- ldr r0, _02002AD0 ; =0x021C48F8
- ldrh r0, [r0, #0x20]
- cmp r0, #0x0
- beq _02002AC6
- ldr r0, _02002AD4 ; =0x02106FC4
- ldrb r0, [r0, #0x0]
- lsl r0, r0, #0x1b
- lsr r0, r0, #0x1f
- beq _02002AC6
-_02002AB2:
- ldr r0, _02002AD8 ; =0x000005DC
- bl FUN_020054C8
- ldr r1, _02002AD4 ; =0x02106FC4
- mov r0, #0x80
- ldrb r2, [r1, #0x0]
- orr r0, r2
- strb r0, [r1, #0x0]
- mov r0, #0x1
- pop {r3, pc}
-_02002AC6:
- mov r0, #0x0
- pop {r3, pc}
- nop
-_02002ACC: .word 0x021C48B8
-_02002AD0: .word 0x021C48F8
-_02002AD4: .word 0x02106FC4
-_02002AD8: .word 0x000005DC
-
- thumb_func_start FUN_02002ADC
-FUN_02002ADC: ; 0x02002ADC
- push {r4, lr}
- add r2, r0, #0x0
- add r2, #0x1c
- ldrb r1, [r2, #0x2]
- add r4, r1, #0x0
- cmp r4, #0x64
- bne _02002AEE
- mov r0, #0x1
- pop {r4, pc}
-_02002AEE:
- mov r3, #0xff
- bic r1, r3
- add r3, r4, #0x1
- lsl r3, r3, #0x18
- lsr r3, r3, #0x18
- lsl r3, r3, #0x18
- lsr r3, r3, #0x18
- orr r1, r3
- strb r1, [r2, #0x2]
- ldr r1, _02002B14 ; =0x02106FC4
- ldrb r1, [r1, #0x0]
- lsl r1, r1, #0x1a
- lsr r1, r1, #0x1f
- beq _02002B10
- bl FUN_02002A94
- pop {r4, pc}
-_02002B10:
- mov r0, #0x0
- pop {r4, pc}
- .balign 4
-_02002B14: .word 0x02106FC4
-
- thumb_func_start FUN_02002B18
-FUN_02002B18: ; 0x02002B18
- push {r4, lr}
- ldr r1, _02002B38 ; =0x02106FC4
- add r4, r0, #0x0
- ldrb r1, [r1, #0x0]
- lsl r1, r1, #0x1d
- lsr r1, r1, #0x1f
- beq _02002B2C
- bl FUN_02002ADC
- pop {r4, pc}
-_02002B2C:
- bl FUN_02002878
- add r0, r4, #0x0
- bl FUN_02002A94
- pop {r4, pc}
- .balign 4
-_02002B38: .word 0x02106FC4
-
- thumb_func_start FUN_02002B3C
-FUN_02002B3C: ; 0x02002B3C
- push {r3, lr}
- ldr r1, _02002B5C ; =0x02106FC4
- ldrb r1, [r1, #0x0]
- lsl r1, r1, #0x1d
- lsr r1, r1, #0x1f
- beq _02002B52
- bl FUN_02002ADC
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- pop {r3, pc}
-_02002B52:
- bl FUN_02002A94
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- pop {r3, pc}
- .balign 4
-_02002B5C: .word 0x02106FC4
-
- thumb_func_start FUN_02002B60
-FUN_02002B60: ; 0x02002B60
- ldr r2, _02002B78 ; =0x02106FC4
- mov r1, #0x1
- ldrb r3, [r2, #0x0]
- lsl r0, r0, #0x18
- bic r3, r1
- lsr r1, r0, #0x18
- mov r0, #0x1
- and r0, r1
- orr r0, r3
- strb r0, [r2, #0x0]
- bx lr
- nop
-_02002B78: .word 0x02106FC4
-
- thumb_func_start FUN_02002B7C
-FUN_02002B7C: ; 0x02002B7C
- push {r3-r4}
- ldr r1, _02002BB4 ; =0x02106FC4
- mov r3, #0x4
- ldrb r2, [r1, #0x0]
- mov r4, #0x1
- bic r2, r3
- add r3, r0, #0x0
- and r3, r4
- lsl r3, r3, #0x18
- lsr r3, r3, #0x18
- lsl r3, r3, #0x1f
- lsr r3, r3, #0x1d
- orr r2, r3
- asr r0, r0, #0x1
- and r0, r4
- strb r2, [r1, #0x0]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- lsl r0, r0, #0x1f
- ldrb r2, [r1, #0x0]
- mov r3, #0x20
- lsr r0, r0, #0x1a
- bic r2, r3
- orr r0, r2
- strb r0, [r1, #0x0]
- pop {r3-r4}
- bx lr
- nop
-_02002BB4: .word 0x02106FC4
-
- thumb_func_start FUN_02002BB8
-FUN_02002BB8: ; 0x02002BB8
- ldr r2, _02002BD0 ; =0x02106FC4
- lsl r0, r0, #0x18
- ldrb r3, [r2, #0x0]
- lsr r0, r0, #0x18
- mov r1, #0x10
- lsl r0, r0, #0x1f
- bic r3, r1
- lsr r0, r0, #0x1b
- orr r0, r3
- strb r0, [r2, #0x0]
- bx lr
- nop
-_02002BD0: .word 0x02106FC4
-
- thumb_func_start FUN_02002BD4
-FUN_02002BD4: ; 0x02002BD4
- ldr r0, _02002BE0 ; =0x02106FC4
- ldrb r0, [r0, #0x0]
- lsl r0, r0, #0x19
- lsr r0, r0, #0x1f
- bx lr
- nop
-_02002BE0: .word 0x02106FC4
-
- thumb_func_start FUN_02002BE4
-FUN_02002BE4: ; 0x02002BE4
- ldr r1, _02002BF0 ; =0x02106FC4
- mov r0, #0x40
- ldrb r2, [r1, #0x0]
- bic r2, r0
- strb r2, [r1, #0x0]
- bx lr
- .balign 4
-_02002BF0: .word 0x02106FC4
-
- thumb_func_start FUN_02002BF4
-FUN_02002BF4: ; 0x02002BF4
- ldr r0, _02002C00 ; =0x02106FC4
- ldrb r0, [r0, #0x0]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x1f
- bx lr
- nop
-_02002C00: .word 0x02106FC4
-
- thumb_func_start FUN_02002C04
-FUN_02002C04: ; 0x02002C04
- ldr r1, _02002C10 ; =0x02106FC4
- mov r0, #0x80
- ldrb r2, [r1, #0x0]
- bic r2, r0
- strb r2, [r1, #0x0]
- bx lr
- .balign 4
-_02002C10: .word 0x02106FC4
-
- thumb_func_start FUN_02002C14
-FUN_02002C14: ; 0x02002C14
- push {r4, lr}
- ldr r0, _02002C44 ; =0x02106FCC
- ldr r4, _02002C48 ; =0x02106FC8
- mov r1, #0x0
- str r0, [r4, #0x0]
- add r2, r1, #0x0
- add r0, r1, #0x0
-_02002C22:
- ldr r3, [r4, #0x0]
- add r1, r1, #0x1
- add r3, r3, r2
- add r3, #0x84
- str r0, [r3, #0x0]
- ldr r3, [r4, #0x0]
- add r3, r3, r2
- add r3, #0x94
- add r2, r2, #0x4
- str r0, [r3, #0x0]
- cmp r1, #0x4
- blo _02002C22
- ldr r0, _02002C4C ; =0x020ECB64
- bl FUN_0201BCBC
- pop {r4, pc}
- nop
-_02002C44: .word 0x02106FCC
-_02002C48: .word 0x02106FC8
-_02002C4C: .word 0x020ECB64
-
- thumb_func_start FUN_02002C50
-FUN_02002C50: ; 0x02002C50
- push {r3-r4, lr}
- sub sp, #0x4
- str r1, [sp, #0x0]
- lsl r4, r0, #0x2
- ldr r1, _02002C78 ; =0x020ECB54
- ldr r3, _02002C7C ; =0x020ECB56
- ldrh r1, [r1, r4]
- ldrh r3, [r3, r4]
- mov r0, #0xe
- mov r2, #0x1
- bl FUN_02021590
- ldr r1, _02002C80 ; =0x02106FC8
- ldr r1, [r1, #0x0]
- add r1, r1, r4
- add r1, #0x94
- str r0, [r1, #0x0]
- add sp, #0x4
- pop {r3-r4, pc}
- nop
-_02002C78: .word 0x020ECB54
-_02002C7C: .word 0x020ECB56
-_02002C80: .word 0x02106FC8
-
- thumb_func_start FUN_02002C84
-FUN_02002C84: ; 0x02002C84
- push {r3-r5, lr}
- add r4, r0, #0x0
- add r5, r1, #0x0
- cmp r4, #0x4
- blt _02002C92
- bl ErrorHandling
-_02002C92:
- ldr r0, _02002CBC ; =0x02106FC8
- lsl r4, r4, #0x2
- ldr r0, [r0, #0x0]
- add r0, r0, r4
- add r0, #0x94
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- bne _02002CA6
- bl ErrorHandling
-_02002CA6:
- ldr r0, _02002CBC ; =0x02106FC8
- mov r1, #0x0
- ldr r0, [r0, #0x0]
- add r2, r5, #0x0
- add r0, r0, r4
- add r0, #0x94
- ldr r0, [r0, #0x0]
- bl FUN_020215E0
- pop {r3-r5, pc}
- nop
-_02002CBC: .word 0x02106FC8
-
- thumb_func_start FUN_02002CC0
-FUN_02002CC0: ; 0x02002CC0
- push {r4, lr}
- add r4, r0, #0x0
- cmp r4, #0x4
- blt _02002CCC
- bl ErrorHandling
-_02002CCC:
- ldr r0, _02002CF4 ; =0x02106FC8
- lsl r4, r4, #0x2
- ldr r0, [r0, #0x0]
- add r0, r0, r4
- add r0, #0x94
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- bne _02002CE0
- bl ErrorHandling
-_02002CE0:
- ldr r0, _02002CF4 ; =0x02106FC8
- mov r1, #0x1
- ldr r0, [r0, #0x0]
- mov r2, #0x0
- add r0, r0, r4
- add r0, #0x94
- ldr r0, [r0, #0x0]
- bl FUN_020215E0
- pop {r4, pc}
- .balign 4
-_02002CF4: .word 0x02106FC8
-
- thumb_func_start FUN_02002CF8
-FUN_02002CF8: ; 0x02002CF8
- push {r3-r7, lr}
- add r4, r0, #0x0
- cmp r4, #0x4
- blt _02002D04
- bl ErrorHandling
-_02002D04:
- ldr r0, _02002D8C ; =0x02106FC8
- lsl r6, r4, #0x2
- ldr r7, [r0, #0x0]
- add r0, r7, r6
- add r0, #0x84
- ldr r0, [r0, #0x0]
- mov r12, r0
- cmp r0, #0x0
- beq _02002D68
- ldr r2, _02002D90 ; =0x020ECB54
- mov r1, #0x0
- ldrh r0, [r2, r6]
- add r3, r7, #0x0
-_02002D1E:
- cmp r1, r4
- beq _02002D3E
- ldrh r5, [r2, #0x0]
- cmp r5, r0
- bne _02002D3E
- add r5, r3, #0x0
- add r5, #0x94
- ldr r5, [r5, #0x0]
- cmp r5, #0x0
- beq _02002D3E
- lsl r0, r1, #0x2
- add r2, r7, r0
- add r2, #0x84
- mov r0, r12
- str r0, [r2, #0x0]
- b _02002D48
-_02002D3E:
- add r1, r1, #0x1
- add r2, r2, #0x4
- add r3, r3, #0x4
- cmp r1, #0x4
- blo _02002D1E
-_02002D48:
- cmp r1, #0x4
- bne _02002D68
- ldr r0, _02002D8C ; =0x02106FC8
- lsl r5, r4, #0x2
- ldr r0, [r0, #0x0]
- add r0, r0, r5
- add r0, #0x84
- ldr r0, [r0, #0x0]
- bl FUN_02016A18
- ldr r0, _02002D8C ; =0x02106FC8
- mov r1, #0x0
- ldr r0, [r0, #0x0]
- add r0, r0, r5
- add r0, #0x84
- str r1, [r0, #0x0]
-_02002D68:
- ldr r0, _02002D8C ; =0x02106FC8
- ldr r0, [r0, #0x0]
- add r0, r0, r6
- add r0, #0x94
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- beq _02002D88
- bl FUN_020215C8
- ldr r0, _02002D8C ; =0x02106FC8
- mov r2, #0x0
- ldr r1, [r0, #0x0]
- lsl r0, r4, #0x2
- add r0, r1, r0
- add r0, #0x94
- str r2, [r0, #0x0]
-_02002D88:
- pop {r3-r7, pc}
- nop
-_02002D8C: .word 0x02106FC8
-_02002D90: .word 0x020ECB54
-
- thumb_func_start FUN_02002D94
-FUN_02002D94: ; 0x02002D94
- push {r3, lr}
- ldr r2, _02002DAC ; =0x02106FC8
- lsl r0, r0, #0x2
- ldr r2, [r2, #0x0]
- add r0, r2, r0
- add r0, #0x94
- ldr r0, [r0, #0x0]
- bl FUN_02021750
- ldr r0, _02002DAC ; =0x02106FC8
- ldr r0, [r0, #0x0]
- pop {r3, pc}
- .balign 4
-_02002DAC: .word 0x02106FC8
-
- thumb_func_start FUN_02002DB0
-FUN_02002DB0: ; 0x02002DB0
- push {r4, lr}
- add r3, r1, #0x0
- add r3, #0x1c
- ldrb r2, [r3, #0x1]
- lsl r2, r2, #0x18
- lsr r2, r2, #0x1f
- bne _02002DD8
- ldrb r2, [r3, #0x0]
- mov r4, #0xf
- lsl r0, r0, #0x18
- bic r2, r4
- lsr r4, r0, #0x18
- mov r0, #0xf
- and r0, r4
- orr r0, r2
- strb r0, [r3, #0x0]
- ldrb r2, [r3, #0x1]
- mov r0, #0x80
- orr r0, r2
- strb r0, [r3, #0x1]
-_02002DD8:
- add r0, r1, #0x0
- bl FUN_020023C0
- pop {r4, pc}
-
- thumb_func_start FUN_02002DE0
-FUN_02002DE0: ; 0x02002DE0
- push {r4-r6, lr}
- lsl r4, r0, #0x2
- ldr r0, _02002E10 ; =0x02106FC8
- add r5, r1, #0x0
- ldr r0, [r0, #0x0]
- add r6, r2, #0x0
- add r0, r0, r4
- add r0, #0x94
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- bne _02002DFA
- bl ErrorHandling
-_02002DFA:
- ldr r0, _02002E10 ; =0x02106FC8
- add r1, r5, #0x0
- ldr r0, [r0, #0x0]
- add r2, r6, #0x0
- add r0, r0, r4
- add r0, #0x94
- ldr r0, [r0, #0x0]
- bl FUN_020218D8
- pop {r4-r6, pc}
- nop
-_02002E10: .word 0x02106FC8
-
- thumb_func_start FUN_02002E14
-FUN_02002E14: ; 0x02002E14
- push {r4-r6, lr}
- lsl r4, r0, #0x2
- ldr r0, _02002E48 ; =0x02106FC8
- add r5, r1, #0x0
- ldr r0, [r0, #0x0]
- add r6, r2, #0x0
- add r0, r0, r4
- add r0, #0x94
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- bne _02002E2E
- bl ErrorHandling
-_02002E2E:
- add r0, r5, #0x0
- bl FUN_02021F2C
- add r1, r0, #0x0
- ldr r0, _02002E48 ; =0x02106FC8
- add r2, r6, #0x0
- ldr r0, [r0, #0x0]
- add r0, r0, r4
- add r0, #0x94
- ldr r0, [r0, #0x0]
- bl FUN_020218D8
- pop {r4-r6, pc}
- .balign 4
-_02002E48: .word 0x02106FC8
-
- thumb_func_start FUN_02002E4C
-FUN_02002E4C: ; 0x02002E4C
- mov r2, #0x0
- cmp r1, #0x7
- bhi _02002EAC
- add r1, r1, r1
- add r1, pc
- ldrh r1, [r1, #0x6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_02002E5E: ; jump table (using 16-bit offset)
- .short _02002E6E - _02002E5E - 2; case 0
- .short _02002E76 - _02002E5E - 2; case 1
- .short _02002E7E - _02002E5E - 2; case 2
- .short _02002E86 - _02002E5E - 2; case 3
- .short _02002E8E - _02002E5E - 2; case 4
- .short _02002E96 - _02002E5E - 2; case 5
- .short _02002E9E - _02002E5E - 2; case 6
- .short _02002EA6 - _02002E5E - 2; case 7
-_02002E6E:
- lsl r1, r0, #0x3
- ldr r0, _02002EB0 ; =0x020ECB64
- ldrb r2, [r0, r1]
- b _02002EAC
-_02002E76:
- lsl r1, r0, #0x3
- ldr r0, _02002EB4 ; =0x020ECB65
- ldrb r2, [r0, r1]
- b _02002EAC
-_02002E7E:
- lsl r1, r0, #0x3
- ldr r0, _02002EB8 ; =0x020ECB66
- ldrb r2, [r0, r1]
- b _02002EAC
-_02002E86:
- lsl r1, r0, #0x3
- ldr r0, _02002EBC ; =0x020ECB67
- ldrb r2, [r0, r1]
- b _02002EAC
-_02002E8E:
- lsl r1, r0, #0x3
- ldr r0, _02002EC0 ; =0x020ECB68
- ldrb r2, [r0, r1]
- b _02002EAC
-_02002E96:
- lsl r1, r0, #0x3
- ldr r0, _02002EC4 ; =0x020ECB69
- ldrb r2, [r0, r1]
- b _02002EAC
-_02002E9E:
- lsl r1, r0, #0x3
- ldr r0, _02002EC8 ; =0x020ECB6A
- ldrb r2, [r0, r1]
- b _02002EAC
-_02002EA6:
- lsl r1, r0, #0x3
- ldr r0, _02002ECC ; =0x020ECB6B
- ldrb r2, [r0, r1]
-_02002EAC:
- add r0, r2, #0x0
- bx lr
- .balign 4
-_02002EB0: .word 0x020ECB64
-_02002EB4: .word 0x020ECB65
-_02002EB8: .word 0x020ECB66
-_02002EBC: .word 0x020ECB67
-_02002EC0: .word 0x020ECB68
-_02002EC4: .word 0x020ECB69
-_02002EC8: .word 0x020ECB6A
-_02002ECC: .word 0x020ECB6B
-
- thumb_func_start FUN_02002ED0
-FUN_02002ED0: ; 0x02002ED0
- push {r4, lr}
- sub sp, #0x8
- add r4, r0, #0x0
- mov r0, #0x20
- str r0, [sp, #0x0]
- add r3, r1, #0x0
- str r2, [sp, #0x4]
- mov r0, #0xe
- mov r1, #0x6
- add r2, r4, #0x0
- bl FUN_02006930
- add sp, #0x8
- pop {r4, pc}
-
- thumb_func_start FUN_02002EEC
-FUN_02002EEC: ; 0x02002EEC
- push {r4, lr}
- sub sp, #0x8
- add r4, r0, #0x0
- mov r0, #0x20
- str r0, [sp, #0x0]
- add r3, r1, #0x0
- str r2, [sp, #0x4]
- mov r0, #0xe
- mov r1, #0x7
- add r2, r4, #0x0
- bl FUN_02006930
- add sp, #0x8
- pop {r4, pc}
-
- thumb_func_start FUN_02002F08
-FUN_02002F08: ; 0x02002F08
- push {r4-r6, lr}
- lsl r4, r0, #0x2
- ldr r0, _02002F3C ; =0x02106FC8
- add r5, r1, #0x0
- ldr r0, [r0, #0x0]
- add r6, r2, #0x0
- add r0, r0, r4
- add r0, #0x94
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- bne _02002F22
- bl ErrorHandling
-_02002F22:
- add r0, r5, #0x0
- bl FUN_02021F2C
- add r1, r0, #0x0
- ldr r0, _02002F3C ; =0x02106FC8
- add r2, r6, #0x0
- ldr r0, [r0, #0x0]
- add r0, r0, r4
- add r0, #0x94
- ldr r0, [r0, #0x0]
- bl FUN_02021934
- pop {r4-r6, pc}
- .balign 4
-_02002F3C: .word 0x02106FC8
-
- thumb_func_start FUN_02002F40
-FUN_02002F40: ; 0x02002F40
- push {r4, lr}
- add r4, r3, #0x0
- bl FUN_02002E14
- cmp r0, r4
- bhs _02002F52
- sub r0, r4, r0
- lsr r0, r0, #0x1
- pop {r4, pc}
-_02002F52:
- mov r0, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02002F58
-FUN_02002F58: ; 0x02002F58
- push {r3-r7, lr}
- ldrh r2, [r0, #0x0]
- ldr r1, _02002F8C ; =0x0000FFFF
- mov r5, #0x1
- cmp r2, r1
- beq _02002F88
- mov r6, #0xe
- lsl r6, r6, #0xc
- add r7, r1, #0x0
- sub r4, r1, #0x1
-_02002F6C:
- cmp r2, r4
- bne _02002F76
- bl FUN_0201B8B8
- b _02002F82
-_02002F76:
- cmp r2, r6
- bne _02002F80
- add r5, r5, #0x1
- add r0, r0, #0x2
- b _02002F82
-_02002F80:
- add r0, r0, #0x2
-_02002F82:
- ldrh r2, [r0, #0x0]
- cmp r2, r7
- bne _02002F6C
-_02002F88:
- add r0, r5, #0x0
- pop {r3-r7, pc}
- .balign 4
-_02002F8C: .word 0x0000FFFF
-
- thumb_func_start FUN_02002F90
-FUN_02002F90: ; 0x02002F90
- push {r3, lr}
- bl FUN_02021F2C
- bl FUN_02002F58
- pop {r3, pc}
-
- thumb_func_start FUN_02002F9C
-FUN_02002F9C: ; 0x02002F9C
- push {r3-r5, lr}
- lsl r4, r0, #0x2
- ldr r0, _02002FCC ; =0x02106FC8
- add r5, r1, #0x0
- ldr r0, [r0, #0x0]
- add r0, r0, r4
- add r0, #0x94
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- bne _02002FB4
- bl ErrorHandling
-_02002FB4:
- add r0, r5, #0x0
- bl FUN_02021F2C
- add r1, r0, #0x0
- ldr r0, _02002FCC ; =0x02106FC8
- ldr r0, [r0, #0x0]
- add r0, r0, r4
- add r0, #0x94
- ldr r0, [r0, #0x0]
- bl FUN_0202199C
- pop {r3-r5, pc}
- .balign 4
-_02002FCC: .word 0x02106FC8
-
- thumb_func_start FUN_02002FD0
-FUN_02002FD0: ; 0x02002FD0
- push {r4, lr}
- mov r1, #0x12
- lsl r1, r1, #0x4
- bl FUN_02016998
- mov r2, #0x12
- mov r1, #0x0
- lsl r2, r2, #0x4
- add r4, r0, #0x0
- blx MI_CpuFill8
- add r0, r4, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02002FEC
-FUN_02002FEC: ; 0x02002FEC
- ldr r3, _02002FF0 ; =FUN_02016A18
- bx r3
- .balign 4
-_02002FF0: .word FUN_02016A18
-
- thumb_func_start FUN_02002FF4
-FUN_02002FF4: ; 0x02002FF4
- push {r3-r4}
- mov r4, #0x14
- mul r4, r1
- str r2, [r0, r4]
- add r1, r0, r4
- ldr r0, [sp, #0x8]
- str r3, [r1, #0x4]
- str r0, [r1, #0x8]
- pop {r3-r4}
- bx lr
-
- thumb_func_start FUN_02003008
-FUN_02003008: ; 0x02003008
- push {r3-r7, lr}
- sub sp, #0x8
- add r4, r2, #0x0
- add r5, r0, #0x0
- add r6, r1, #0x0
- str r3, [sp, #0x4]
- add r0, r3, #0x0
- add r1, r4, #0x0
- bl FUN_02016998
- add r7, r0, #0x0
- ldr r0, [sp, #0x4]
- add r1, r4, #0x0
- bl FUN_02016998
- add r3, r0, #0x0
- add r0, r5, #0x0
- add r1, r6, #0x0
- add r2, r7, #0x0
- str r4, [sp, #0x0]
- bl FUN_02002FF4
- add sp, #0x8
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02003038
-FUN_02003038: ; 0x02003038
- push {r3-r5, lr}
- add r4, r0, #0x0
- mov r0, #0x14
- add r5, r1, #0x0
- mul r5, r0
- ldr r0, [r4, r5]
- bl FUN_02016A18
- add r0, r4, r5
- ldr r0, [r0, #0x4]
- bl FUN_02016A18
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02003054
-FUN_02003054: ; 0x02003054
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r0, sp, #0x8
- ldrh r7, [r0, #0x10]
- add r6, r2, #0x0
- mov r0, #0x14
- mul r6, r0
- str r1, [sp, #0x0]
- add r0, r1, #0x0
- ldr r1, [r5, r6]
- lsl r4, r3, #0x1
- add r1, r1, r4
- add r2, r7, #0x0
- blx MIi_CpuCopy16
- add r1, r5, r6
- ldr r1, [r1, #0x4]
- ldr r0, [sp, #0x0]
- add r1, r1, r4
- add r2, r7, #0x0
- blx MIi_CpuCopy16
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02003084
-FUN_02003084: ; 0x02003084
- push {r4-r6, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- add r0, r1, #0x0
- add r1, r2, #0x0
- add r2, sp, #0x4
- ldr r4, [sp, #0x1c]
- bl FUN_02006C08
- add r6, r0, #0x0
- bne _0200309E
- bl ErrorHandling
-_0200309E:
- cmp r4, #0x0
- bne _020030A6
- ldr r0, [sp, #0x4]
- ldr r4, [r0, #0x8]
-_020030A6:
- add r0, sp, #0x8
- ldrh r0, [r0, #0x18]
- ldr r2, [sp, #0x18]
- mov r1, #0x14
- mul r1, r2
- add r1, r5, r1
- lsl r0, r0, #0x1
- ldr r1, [r1, #0x8]
- add r0, r4, r0
- cmp r0, r1
- bls _020030C0
- bl ErrorHandling
-_020030C0:
- lsl r0, r4, #0x10
- lsr r0, r0, #0x10
- str r0, [sp, #0x0]
- ldr r1, [sp, #0x4]
- add r3, sp, #0x8
- ldr r2, [r1, #0xc]
- ldrh r1, [r3, #0x1c]
- ldrh r3, [r3, #0x18]
- add r0, r5, #0x0
- lsl r1, r1, #0x1
- add r1, r2, r1
- ldr r2, [sp, #0x18]
- bl FUN_02003054
- add r0, r6, #0x0
- bl FUN_02016A18
- add sp, #0x8
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_020030E8
-FUN_020030E8: ; 0x020030E8
- push {r4, lr}
- sub sp, #0x10
- ldr r4, [sp, #0x18]
- str r4, [sp, #0x0]
- ldr r4, [sp, #0x1c]
- str r4, [sp, #0x4]
- add r4, sp, #0x8
- ldrh r4, [r4, #0x18]
- str r4, [sp, #0x8]
- mov r4, #0x0
- str r4, [sp, #0xc]
- bl FUN_02003084
- add sp, #0x10
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02003108
-FUN_02003108: ; 0x02003108
- push {r3-r7, lr}
- add r4, r1, #0x0
- mov r1, #0x14
- add r6, r0, #0x0
- mul r1, r4
- add r5, r2, #0x0
- add r1, r6, r1
- add r7, r3, #0x0
- lsl r0, r5, #0x1
- ldr r1, [r1, #0x8]
- add r0, r7, r0
- cmp r0, r1
- bls _02003126
- bl ErrorHandling
-_02003126:
- cmp r4, #0x3
- bhi _0200315E
- add r0, r4, r4
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_02003136: ; jump table (using 16-bit offset)
- .short _0200313E - _02003136 - 2; case 0
- .short _02003146 - _02003136 - 2; case 1
- .short _0200314E - _02003136 - 2; case 2
- .short _02003156 - _02003136 - 2; case 3
-_0200313E:
- bl FUN_020222E8
- add r1, r0, #0x0
- b _02003164
-_02003146:
- bl FUN_020222F8
- add r1, r0, #0x0
- b _02003164
-_0200314E:
- bl FUN_02022308
- add r1, r0, #0x0
- b _02003164
-_02003156:
- bl FUN_02022310
- add r1, r0, #0x0
- b _02003164
-_0200315E:
- bl ErrorHandling
- pop {r3-r7, pc}
-_02003164:
- lsl r0, r7, #0x10
- lsr r0, r0, #0x10
- lsl r2, r5, #0x1
- str r0, [sp, #0x0]
- add r1, r1, r2
- add r0, r6, #0x0
- add r2, r4, #0x0
- add r3, r5, #0x0
- bl FUN_02003054
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0200317C
-FUN_0200317C: ; 0x0200317C
- push {r3-r5, lr}
- add r4, r2, #0x0
- add r5, r3, #0x0
- add r2, sp, #0x0
- add r3, r4, #0x0
- bl FUN_02006C08
- add r4, r0, #0x0
- bne _02003192
- bl ErrorHandling
-_02003192:
- cmp r5, #0x0
- bne _0200319A
- ldr r0, [sp, #0x0]
- ldr r5, [r0, #0x8]
-_0200319A:
- ldr r0, [sp, #0x0]
- add r2, r5, #0x0
- ldr r1, [r0, #0xc]
- add r0, sp, #0x0
- ldrh r0, [r0, #0x10]
- lsl r0, r0, #0x1
- add r0, r1, r0
- ldr r1, [sp, #0x14]
- blx MIi_CpuCopy16
- add r0, r4, #0x0
- bl FUN_02016A18
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_020031B8
-FUN_020031B8: ; 0x020031B8
- push {r3-r7, lr}
- sub sp, #0x8
- add r4, sp, #0x10
- add r5, r0, #0x0
- add r0, r1, #0x0
- ldrh r1, [r4, #0x14]
- add r6, r3, #0x0
- str r1, [sp, #0x0]
- ldrh r1, [r4, #0x10]
- lsl r4, r2, #0x1
- ldr r2, [sp, #0x0]
- lsl r7, r1, #0x1
- mov r1, #0x14
- mul r6, r1
- mul r1, r0
- ldr r0, [r5, r1]
- str r1, [sp, #0x4]
- ldr r1, [r5, r6]
- add r0, r0, r4
- add r1, r1, r7
- blx MIi_CpuCopy16
- ldr r0, [sp, #0x4]
- add r1, r5, r6
- ldr r0, [r5, r0]
- ldr r1, [r1, #0x4]
- ldr r2, [sp, #0x0]
- add r0, r0, r4
- add r1, r1, r7
- blx MIi_CpuCopy16
- add sp, #0x8
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_020031FC
-FUN_020031FC: ; 0x020031FC
- mov r2, #0x14
- mul r2, r1
- ldr r0, [r0, r2]
- bx lr
-
- thumb_func_start FUN_02003204
-FUN_02003204: ; 0x02003204
- mov r2, #0x14
- mul r2, r1
- add r0, r0, r2
- ldr r0, [r0, #0x4]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02003210
-FUN_02003210: ; 0x02003210
- push {r0-r3}
- push {r3-r7, lr}
- sub sp, #0x10
- str r3, [sp, #0x8]
- add r5, r0, #0x0
- ldr r0, [sp, #0x38]
- mov r6, #0x0
- str r0, [sp, #0x38]
- ldr r0, [sp, #0x3c]
- add r7, r1, #0x0
- str r0, [sp, #0x3c]
- ldr r0, [sp, #0x40]
- add r4, r6, #0x0
- str r0, [sp, #0x40]
- add r0, sp, #0x28
- ldrh r0, [r0, #0x8]
- str r0, [sp, #0xc]
-_02003232:
- add r0, r7, #0x0
- add r1, r4, #0x0
- bl FUN_02003314
- cmp r0, #0x1
- bne _020032A6
- mov r0, #0x46
- lsl r0, r0, #0x2
- ldrh r0, [r5, r0]
- add r1, r4, #0x0
- lsl r0, r0, #0x10
- lsr r0, r0, #0x12
- bl FUN_02003314
- cmp r0, #0x0
- bne _020032A6
- mov r0, #0x14
- add r6, r4, #0x0
- mul r6, r0
- add r0, r4, #0x0
- add r1, r5, r6
- add r2, sp, #0x30
- bl FUN_02003368
- ldr r0, [sp, #0x3c]
- add r1, sp, #0x28
- str r0, [sp, #0x0]
- ldr r0, [sp, #0x40]
- str r0, [sp, #0x4]
- add r0, r5, r6
- ldrh r1, [r1, #0x8]
- ldr r2, [sp, #0x8]
- ldr r3, [sp, #0x38]
- add r0, #0xc
- bl FUN_020033A4
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02003328
- cmp r4, #0x4
- blo _02003294
- mov r2, #0x1
- add r0, r5, #0x0
- add r1, r4, #0x0
- lsl r2, r2, #0x8
- bl FUN_0200359C
- b _0200329E
-_02003294:
- add r0, r5, #0x0
- add r1, r4, #0x0
- mov r2, #0x10
- bl FUN_0200359C
-_0200329E:
- ldr r1, [sp, #0xc]
- add r0, sp, #0x28
- strh r1, [r0, #0x8]
- mov r6, #0x1
-_020032A6:
- add r0, r4, #0x1
- lsl r0, r0, #0x18
- lsr r4, r0, #0x18
- cmp r4, #0xe
- blo _02003232
- cmp r6, #0x1
- bne _02003300
- mov r0, #0x46
- lsl r0, r0, #0x2
- ldrh r2, [r5, r0]
- ldr r1, _0200330C ; =0xFFFF0003
- and r1, r2
- lsl r2, r2, #0x10
- lsr r2, r2, #0x12
- orr r2, r7
- lsl r2, r2, #0x12
- lsr r2, r2, #0x10
- orr r1, r2
- strh r1, [r5, r0]
- add r1, r0, #0x2
- ldrh r1, [r5, r1]
- lsl r1, r1, #0x11
- lsr r1, r1, #0x1f
- bne _02003300
- add r1, r0, #0x2
- ldrh r2, [r5, r1]
- mov r1, #0x1
- lsl r1, r1, #0xe
- orr r2, r1
- add r1, r0, #0x2
- strh r2, [r5, r1]
- ldrh r2, [r5, r0]
- mov r1, #0x3
- bic r2, r1
- mov r1, #0x1
- orr r1, r2
- strh r1, [r5, r0]
- mov r2, #0x0
- add r0, r0, #0x4
- strb r2, [r5, r0]
- ldr r0, _02003310 ; =FUN_02003464
- add r1, r5, #0x0
- sub r2, r2, #0x2
- bl FUN_0200CA44
-_02003300:
- add r0, r6, #0x0
- add sp, #0x10
- pop {r3-r7}
- pop {r3}
- add sp, #0x10
- bx r3
- .balign 4
-_0200330C: .word 0xFFFF0003
-_02003310: .word FUN_02003464
-
- thumb_func_start FUN_02003314
-FUN_02003314: ; 0x02003314
- mov r3, #0x1
- add r2, r3, #0x0
- lsl r2, r1
- tst r0, r2
- bne _02003320
- mov r3, #0x0
-_02003320:
- lsl r0, r3, #0x18
- lsr r0, r0, #0x18
- bx lr
- .balign 4
-
- thumb_func_start FUN_02003328
-FUN_02003328: ; 0x02003328
- push {r4-r6, lr}
- add r5, r0, #0x0
- ldr r0, _02003360 ; =0x0000011A
- add r4, r1, #0x0
- ldrh r0, [r5, r0]
- lsl r0, r0, #0x12
- lsr r0, r0, #0x12
- bl FUN_02003314
- cmp r0, #0x1
- beq _0200335E
- ldr r3, _02003360 ; =0x0000011A
- ldr r1, _02003364 ; =0xFFFFC000
- ldrh r2, [r5, r3]
- add r0, r2, #0x0
- lsl r2, r2, #0x12
- lsr r6, r2, #0x12
- mov r2, #0x1
- lsl r2, r4
- orr r2, r6
- lsl r2, r2, #0x10
- and r0, r1
- lsr r2, r2, #0x10
- lsr r1, r1, #0x12
- and r1, r2
- orr r0, r1
- strh r0, [r5, r3]
-_0200335E:
- pop {r4-r6, pc}
- .balign 4
-_02003360: .word 0x0000011A
-_02003364: .word 0xFFFFC000
-
- thumb_func_start FUN_02003368
-FUN_02003368: ; 0x02003368
- push {r4-r5}
- cmp r0, #0x4
- ldr r0, [r1, #0x8]
- bge _02003374
- lsl r0, r0, #0x13
- b _02003378
-_02003374:
- lsr r0, r0, #0x9
- lsl r0, r0, #0x18
-_02003378:
- mov r4, #0x0
- lsr r0, r0, #0x18
- add r5, r4, #0x0
- cmp r0, #0x0
- bls _02003398
- mov r3, #0x1
-_02003384:
- add r1, r3, #0x0
- lsl r1, r5
- add r1, r4, r1
- lsl r1, r1, #0x10
- lsr r4, r1, #0x10
- add r1, r5, #0x1
- lsl r1, r1, #0x18
- lsr r5, r1, #0x18
- cmp r5, r0
- blo _02003384
-_02003398:
- ldrh r0, [r2, #0x0]
- and r0, r4
- strh r0, [r2, #0x0]
- pop {r4-r5}
- bx lr
- .balign 4
-
- thumb_func_start FUN_020033A4
-FUN_020033A4: ; 0x020033A4
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r6, r1, #0x0
- add r4, r3, #0x0
- cmp r2, #0x0
- bge _020033D4
- add r0, r2, #0x0
- blx abs
- add r0, r0, #0x2
- ldrh r1, [r5, #0x6]
- mov r2, #0xf
- lsl r0, r0, #0x10
- bic r1, r2
- lsr r2, r0, #0x10
- mov r0, #0xf
- and r0, r2
- orr r0, r1
- strh r0, [r5, #0x6]
- ldrh r1, [r5, #0x2]
- mov r0, #0x3f
- bic r1, r0
- strh r1, [r5, #0x2]
- b _020033F2
-_020033D4:
- ldrh r1, [r5, #0x6]
- mov r0, #0xf
- bic r1, r0
- mov r0, #0x2
- orr r0, r1
- strh r0, [r5, #0x6]
- ldrh r0, [r5, #0x2]
- mov r1, #0x3f
- bic r0, r1
- lsl r1, r2, #0x10
- lsr r2, r1, #0x10
- mov r1, #0x3f
- and r1, r2
- orr r0, r1
- strh r0, [r5, #0x2]
-_020033F2:
- strh r6, [r5, #0x0]
- ldrh r1, [r5, #0x2]
- ldr r0, _02003454 ; =0xFFFFF83F
- add r3, sp, #0x0
- and r1, r0
- lsl r0, r4, #0x1b
- lsr r0, r0, #0x15
- orr r0, r1
- strh r0, [r5, #0x2]
- ldrh r1, [r5, #0x2]
- ldr r0, _02003458 ; =0xFFFF07FF
- add r2, r1, #0x0
- ldrb r1, [r3, #0x10]
- and r2, r0
- lsl r0, r1, #0x1b
- lsr r0, r0, #0x10
- orr r0, r2
- strh r0, [r5, #0x2]
- ldrh r0, [r5, #0x4]
- ldr r2, _0200345C ; =0xFFFF8000
- ldrh r6, [r3, #0x14]
- lsr r3, r2, #0x11
- and r0, r2
- and r3, r6
- orr r0, r3
- strh r0, [r5, #0x4]
- ldrh r3, [r5, #0x6]
- ldr r0, _02003460 ; =0xFFFFFC0F
- and r0, r3
- ldrh r3, [r5, #0x2]
- lsl r3, r3, #0x1a
- lsr r3, r3, #0x1a
- lsl r3, r3, #0x1a
- lsr r3, r3, #0x16
- orr r0, r3
- strh r0, [r5, #0x6]
- cmp r4, r1
- ldrh r1, [r5, #0x4]
- bhs _02003448
- sub r0, r2, #0x1
- and r0, r1
- strh r0, [r5, #0x4]
- pop {r4-r6, pc}
-_02003448:
- mov r0, #0x2
- lsl r0, r0, #0xe
- orr r0, r1
- strh r0, [r5, #0x4]
- pop {r4-r6, pc}
- nop
-_02003454: .word 0xFFFFF83F
-_02003458: .word 0xFFFF07FF
-_0200345C: .word 0xFFFF8000
-_02003460: .word 0xFFFFFC0F
-
- thumb_func_start FUN_02003464
-FUN_02003464: ; 0x02003464
- push {r4-r6, lr}
- add r4, r1, #0x0
- mov r1, #0x47
- lsl r1, r1, #0x2
- ldrb r2, [r4, r1]
- add r5, r0, #0x0
- cmp r2, #0x1
- bne _020034A4
- mov r2, #0x0
- strb r2, [r4, r1]
- sub r2, r1, #0x2
- ldrh r3, [r4, r2]
- ldr r2, _020034F4 ; =0xFFFFC000
- add r5, r3, #0x0
- and r5, r2
- sub r3, r1, #0x2
- strh r5, [r4, r3]
- sub r3, r1, #0x4
- ldrh r5, [r4, r3]
- ldr r3, _020034F8 ; =0xFFFF0003
- sub r2, r2, #0x1
- and r5, r3
- sub r3, r1, #0x4
- strh r5, [r4, r3]
- sub r3, r1, #0x2
- ldrh r3, [r4, r3]
- sub r1, r1, #0x2
- and r2, r3
- strh r2, [r4, r1]
- bl FUN_0200CAB4
- pop {r4-r6, pc}
-_020034A4:
- sub r0, r1, #0x4
- ldrh r2, [r4, r0]
- lsl r0, r2, #0x1e
- lsr r0, r0, #0x1e
- cmp r0, #0x1
- bne _020034F0
- sub r0, r1, #0x2
- ldrh r0, [r4, r0]
- ldr r3, _020034F4 ; =0xFFFFC000
- lsl r2, r2, #0x10
- lsr r6, r2, #0x12
- lsr r2, r3, #0x12
- and r0, r3
- and r2, r6
- orr r2, r0
- sub r0, r1, #0x2
- strh r2, [r4, r0]
- add r0, r4, #0x0
- bl FUN_02003500
- add r0, r4, #0x0
- bl FUN_02003520
- mov r1, #0x46
- lsl r1, r1, #0x2
- ldrh r0, [r4, r1]
- lsl r0, r0, #0x10
- lsr r0, r0, #0x12
- bne _020034F0
- add r0, r1, #0x2
- ldrh r2, [r4, r0]
- ldr r0, _020034FC ; =0xFFFFBFFF
- and r2, r0
- add r0, r1, #0x2
- strh r2, [r4, r0]
- add r0, r5, #0x0
- bl FUN_0200CAB4
-_020034F0:
- pop {r4-r6, pc}
- nop
-_020034F4: .word 0xFFFFC000
-_020034F8: .word 0xFFFF0003
-_020034FC: .word 0xFFFFBFFF
-
- thumb_func_start FUN_02003500
-FUN_02003500: ; 0x02003500
- push {r4-r6, lr}
- add r5, r0, #0x0
- mov r4, #0x0
- mov r6, #0x10
-_02003508:
- add r0, r5, #0x0
- add r1, r4, #0x0
- add r2, r6, #0x0
- bl FUN_02003540
- add r0, r4, #0x1
- lsl r0, r0, #0x18
- lsr r4, r0, #0x18
- cmp r4, #0x4
- blo _02003508
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02003520
-FUN_02003520: ; 0x02003520
- push {r4-r6, lr}
- mov r4, #0x4
- add r6, r4, #0x0
- add r5, r0, #0x0
- add r6, #0xfc
-_0200352A:
- add r0, r5, #0x0
- add r1, r4, #0x0
- add r2, r6, #0x0
- bl FUN_02003540
- add r0, r4, #0x1
- lsl r0, r0, #0x18
- lsr r4, r0, #0x18
- cmp r4, #0xe
- blo _0200352A
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02003540
-FUN_02003540: ; 0x02003540
- push {r4-r6, lr}
- add r5, r0, #0x0
- mov r0, #0x46
- lsl r0, r0, #0x2
- ldrh r0, [r5, r0]
- add r4, r1, #0x0
- add r6, r2, #0x0
- lsl r0, r0, #0x10
- lsr r0, r0, #0x12
- bl FUN_02003314
- cmp r0, #0x0
- beq _02003594
- mov r0, #0x14
- mul r0, r4
- add r2, r5, r0
- ldrh r0, [r2, #0x12]
- ldrh r3, [r2, #0xe]
- lsl r1, r0, #0x16
- lsl r3, r3, #0x1a
- lsr r1, r1, #0x1a
- lsr r3, r3, #0x1a
- cmp r1, r3
- bhs _02003584
- ldr r3, _02003598 ; =0xFFFFFC0F
- and r3, r0
- add r0, r1, #0x1
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- lsl r0, r0, #0x1a
- lsr r0, r0, #0x16
- orr r0, r3
- strh r0, [r2, #0x12]
- pop {r4-r6, pc}
-_02003584:
- ldr r1, _02003598 ; =0xFFFFFC0F
- and r0, r1
- strh r0, [r2, #0x12]
- add r0, r5, #0x0
- add r1, r4, #0x0
- add r2, r6, #0x0
- bl FUN_0200359C
-_02003594:
- pop {r4-r6, pc}
- nop
-_02003598: .word 0xFFFFFC0F
-
- thumb_func_start FUN_0200359C
-FUN_0200359C: ; 0x0200359C
- push {r4-r7, lr}
- sub sp, #0xc
- str r1, [sp, #0x4]
- str r0, [sp, #0x0]
- ldr r0, [sp, #0x4]
- mov r1, #0x14
- mul r1, r0
- ldr r0, [sp, #0x0]
- mov r6, #0x0
- add r5, r0, r1
- add r0, r5, #0x0
- str r0, [sp, #0x8]
- add r0, #0xc
- add r7, r2, #0x0
- add r4, r6, #0x0
- str r0, [sp, #0x8]
-_020035BC:
- ldrh r0, [r5, #0xc]
- lsl r1, r6, #0x10
- lsr r1, r1, #0x10
- bl FUN_02003314
- cmp r0, #0x0
- beq _020035DC
- ldr r0, [r5, #0x0]
- lsl r1, r4, #0x1
- ldr r2, [r5, #0x4]
- add r0, r0, r1
- add r1, r2, r1
- ldr r2, [sp, #0x8]
- add r3, r7, #0x0
- bl FUN_020035F8
-_020035DC:
- add r6, r6, #0x1
- add r4, r4, r7
- cmp r6, #0x10
- blo _020035BC
- ldr r1, [sp, #0x4]
- add r5, #0xc
- lsl r1, r1, #0x18
- ldr r0, [sp, #0x0]
- lsr r1, r1, #0x18
- add r2, r5, #0x0
- bl FUN_02003684
- add sp, #0xc
- pop {r4-r7, pc}
-
- thumb_func_start FUN_020035F8
-FUN_020035F8: ; 0x020035F8
- push {r3-r7, lr}
- sub sp, #0x8
- str r0, [sp, #0x4]
- mov r0, #0x0
- add r6, r1, #0x0
- mov r12, r0
- str r2, [sp, #0x0]
- mov lr, r3
- add r0, r3, #0x0
- beq _02003680
-_0200360C:
- ldr r0, [sp, #0x4]
- mov r1, #0x1f
- ldrh r0, [r0, #0x0]
- asr r2, r0, #0x5
- add r5, r2, #0x0
- and r5, r1
- ldr r1, [sp, #0x0]
- asr r4, r0, #0xa
- ldrh r1, [r1, #0x4]
- lsl r1, r1, #0x11
- lsr r3, r1, #0x11
- ldr r1, [sp, #0x0]
- ldrh r1, [r1, #0x2]
- lsl r1, r1, #0x15
- lsr r2, r1, #0x1b
- mov r1, #0x1f
- and r1, r4
- mov r4, #0x1f
- and r0, r4
- and r4, r3
- sub r4, r4, r0
- mul r4, r2
- asr r4, r4, #0x4
- add r0, r0, r4
- lsl r0, r0, #0x18
- lsr r7, r0, #0x18
- asr r4, r3, #0xa
- mov r0, #0x1f
- and r0, r4
- sub r0, r0, r1
- mul r0, r2
- asr r0, r0, #0x4
- add r0, r1, r0
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- asr r3, r3, #0x5
- mov r1, #0x1f
- and r1, r3
- sub r1, r1, r5
- mul r1, r2
- asr r1, r1, #0x4
- add r1, r5, r1
- lsl r1, r1, #0x18
- lsl r0, r0, #0xa
- lsr r1, r1, #0x13
- orr r0, r1
- orr r0, r7
- strh r0, [r6, #0x0]
- ldr r0, [sp, #0x4]
- add r6, r6, #0x2
- add r0, r0, #0x2
- str r0, [sp, #0x4]
- mov r0, r12
- add r1, r0, #0x1
- mov r0, lr
- mov r12, r1
- cmp r1, r0
- blo _0200360C
-_02003680:
- add sp, #0x8
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02003684
-FUN_02003684: ; 0x02003684
- push {r4-r5}
- ldrh r4, [r2, #0x2]
- lsl r3, r4, #0x10
- lsl r4, r4, #0x15
- lsr r3, r3, #0x1b
- lsr r4, r4, #0x1b
- cmp r4, r3
- bne _020036BE
- mov r3, #0x46
- lsl r3, r3, #0x2
- ldrh r4, [r0, r3]
- mov r2, #0x1
- lsl r2, r1
- lsl r1, r4, #0x10
- lsr r5, r1, #0x12
- add r1, r5, #0x0
- tst r1, r2
- beq _0200371E
- eor r2, r5
- lsl r2, r2, #0x10
- ldr r1, _02003724 ; =0xFFFF0003
- lsr r2, r2, #0x10
- lsl r2, r2, #0x12
- and r1, r4
- lsr r2, r2, #0x10
- orr r1, r2
- strh r1, [r0, r3]
- pop {r4-r5}
- bx lr
-_020036BE:
- ldrh r0, [r2, #0x4]
- lsl r0, r0, #0x10
- lsr r0, r0, #0x1f
- bne _020036F4
- lsl r0, r4, #0x10
- asr r1, r0, #0x10
- ldrh r0, [r2, #0x6]
- lsl r0, r0, #0x1c
- lsr r0, r0, #0x1c
- add r0, r1, r0
- lsl r0, r0, #0x10
- asr r4, r0, #0x10
- cmp r4, r3
- ble _020036DE
- lsl r0, r3, #0x10
- asr r4, r0, #0x10
-_020036DE:
- ldrh r1, [r2, #0x2]
- ldr r0, _02003728 ; =0xFFFFF83F
- and r1, r0
- lsl r0, r4, #0x10
- lsr r0, r0, #0x10
- lsl r0, r0, #0x1b
- lsr r0, r0, #0x15
- orr r0, r1
- strh r0, [r2, #0x2]
- pop {r4-r5}
- bx lr
-_020036F4:
- lsl r0, r4, #0x10
- asr r1, r0, #0x10
- ldrh r0, [r2, #0x6]
- lsl r0, r0, #0x1c
- lsr r0, r0, #0x1c
- sub r0, r1, r0
- lsl r0, r0, #0x10
- asr r4, r0, #0x10
- cmp r4, r3
- bge _0200370C
- lsl r0, r3, #0x10
- asr r4, r0, #0x10
-_0200370C:
- ldrh r1, [r2, #0x2]
- ldr r0, _02003728 ; =0xFFFFF83F
- and r1, r0
- lsl r0, r4, #0x10
- lsr r0, r0, #0x10
- lsl r0, r0, #0x1b
- lsr r0, r0, #0x15
- orr r0, r1
- strh r0, [r2, #0x2]
-_0200371E:
- pop {r4-r5}
- bx lr
- nop
-_02003724: .word 0xFFFF0003
-_02003728: .word 0xFFFFF83F
-
- thumb_func_start FUN_0200372C
-FUN_0200372C: ; 0x0200372C
- push {r3-r7, lr}
- add r6, r0, #0x0
- ldr r0, _020038DC ; =0x0000011A
- ldrh r1, [r6, r0]
- lsl r1, r1, #0x10
- lsr r1, r1, #0x1f
- bne _02003748
- sub r0, r0, #0x2
- ldrh r0, [r6, r0]
- lsl r0, r0, #0x1e
- lsr r0, r0, #0x1e
- cmp r0, #0x1
- beq _02003748
- b _020038DA
-_02003748:
- mov r7, #0x2
- mov r5, #0x0
- add r4, r6, #0x0
- lsl r7, r7, #0xc
-_02003750:
- ldr r0, _020038DC ; =0x0000011A
- ldrh r1, [r6, r0]
- lsl r0, r1, #0x10
- lsr r0, r0, #0x1f
- bne _02003770
- ldr r0, [r4, #0x4]
- cmp r0, #0x0
- beq _0200377C
- lsl r0, r1, #0x12
- lsl r1, r5, #0x10
- lsr r0, r0, #0x12
- lsr r1, r1, #0x10
- bl FUN_02003314
- cmp r0, #0x0
- beq _0200377C
-_02003770:
- ldr r0, [r4, #0x4]
- ldr r1, [r4, #0x8]
- blx DC_FlushRange
- cmp r5, #0xd
- bls _0200377E
-_0200377C:
- b _020038A4
-_0200377E:
- add r0, r5, r5
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_0200378A: ; jump table (using 16-bit offset)
- .short _020037A6 - _0200378A - 2; case 0
- .short _020037B2 - _0200378A - 2; case 1
- .short _020037BE - _0200378A - 2; case 2
- .short _020037CA - _0200378A - 2; case 3
- .short _020037D6 - _0200378A - 2; case 4
- .short _020037EA - _0200378A - 2; case 5
- .short _020037FE - _0200378A - 2; case 6
- .short _02003814 - _0200378A - 2; case 7
- .short _0200382A - _0200378A - 2; case 8
- .short _0200383E - _0200378A - 2; case 9
- .short _02003852 - _0200378A - 2; case 10
- .short _02003868 - _0200378A - 2; case 11
- .short _0200387E - _0200378A - 2; case 12
- .short _02003892 - _0200378A - 2; case 13
-_020037A6:
- ldr r0, [r4, #0x4]
- ldr r2, [r4, #0x8]
- mov r1, #0x0
- blx GX_LoadBGPltt
- b _020038A4
-_020037B2:
- ldr r0, [r4, #0x4]
- ldr r2, [r4, #0x8]
- mov r1, #0x0
- blx GXS_LoadBGPltt
- b _020038A4
-_020037BE:
- ldr r0, [r4, #0x4]
- ldr r2, [r4, #0x8]
- mov r1, #0x0
- blx GX_LoadOBJPltt
- b _020038A4
-_020037CA:
- ldr r0, [r4, #0x4]
- ldr r2, [r4, #0x8]
- mov r1, #0x0
- blx GXS_LoadOBJPltt
- b _020038A4
-_020037D6:
- blx GX_BeginLoadBGExtPltt
- ldr r0, [r4, #0x4]
- ldr r2, [r4, #0x8]
- mov r1, #0x0
- blx GX_LoadBGExtPltt
- blx GX_EndLoadBGExtPltt
- b _020038A4
-_020037EA:
- blx GX_BeginLoadBGExtPltt
- ldr r0, [r4, #0x4]
- ldr r2, [r4, #0x8]
- add r1, r7, #0x0
- blx GX_LoadBGExtPltt
- blx GX_EndLoadBGExtPltt
- b _020038A4
-_020037FE:
- blx GX_BeginLoadBGExtPltt
- mov r1, #0x1
- ldr r0, [r4, #0x4]
- ldr r2, [r4, #0x8]
- lsl r1, r1, #0xe
- blx GX_LoadBGExtPltt
- blx GX_EndLoadBGExtPltt
- b _020038A4
-_02003814:
- blx GX_BeginLoadBGExtPltt
- mov r1, #0x6
- ldr r0, [r4, #0x4]
- ldr r2, [r4, #0x8]
- lsl r1, r1, #0xc
- blx GX_LoadBGExtPltt
- blx GX_EndLoadBGExtPltt
- b _020038A4
-_0200382A:
- blx GXS_BeginLoadBGExtPltt
- ldr r0, [r4, #0x4]
- ldr r2, [r4, #0x8]
- mov r1, #0x0
- blx GXS_LoadBGExtPltt
- blx GXS_EndLoadBGExtPltt
- b _020038A4
-_0200383E:
- blx GXS_BeginLoadBGExtPltt
- ldr r0, [r4, #0x4]
- ldr r2, [r4, #0x8]
- add r1, r7, #0x0
- blx GXS_LoadBGExtPltt
- blx GXS_EndLoadBGExtPltt
- b _020038A4
-_02003852:
- blx GXS_BeginLoadBGExtPltt
- mov r1, #0x1
- ldr r0, [r4, #0x4]
- ldr r2, [r4, #0x8]
- lsl r1, r1, #0xe
- blx GXS_LoadBGExtPltt
- blx GXS_EndLoadBGExtPltt
- b _020038A4
-_02003868:
- blx GXS_BeginLoadBGExtPltt
- mov r1, #0x6
- ldr r0, [r4, #0x4]
- ldr r2, [r4, #0x8]
- lsl r1, r1, #0xc
- blx GXS_LoadBGExtPltt
- blx GXS_EndLoadBGExtPltt
- b _020038A4
-_0200387E:
- blx GX_BeginLoadOBJExtPltt
- ldr r0, [r4, #0x4]
- ldr r2, [r4, #0x8]
- mov r1, #0x0
- blx GX_LoadOBJExtPltt
- blx GX_EndLoadOBJExtPltt
- b _020038A4
-_02003892:
- blx GXS_BeginLoadOBJExtPltt
- ldr r0, [r4, #0x4]
- ldr r2, [r4, #0x8]
- mov r1, #0x0
- blx GXS_LoadOBJExtPltt
- blx GXS_EndLoadOBJExtPltt
-_020038A4:
- add r5, r5, #0x1
- add r4, #0x14
- cmp r5, #0xe
- bge _020038AE
- b _02003750
-_020038AE:
- ldr r3, _020038DC ; =0x0000011A
- ldr r1, _020038E0 ; =0xFFFFC000
- sub r2, r3, #0x2
- ldrh r2, [r6, r2]
- ldrh r0, [r6, r3]
- lsl r2, r2, #0x10
- and r0, r1
- lsr r2, r2, #0x12
- lsr r1, r1, #0x12
- and r1, r2
- orr r0, r1
- strh r0, [r6, r3]
- ldrh r0, [r6, r3]
- lsl r0, r0, #0x12
- lsr r0, r0, #0x12
- bne _020038DA
- sub r0, r3, #0x2
- ldrh r1, [r6, r0]
- mov r0, #0x3
- bic r1, r0
- sub r0, r3, #0x2
- strh r1, [r6, r0]
-_020038DA:
- pop {r3-r7, pc}
- .balign 4
-_020038DC: .word 0x0000011A
-_020038E0: .word 0xFFFFC000
-
- thumb_func_start FUN_020038E4
-FUN_020038E4: ; 0x020038E4
- mov r1, #0x46
- lsl r1, r1, #0x2
- ldrh r0, [r0, r1]
- lsl r0, r0, #0x10
- lsr r0, r0, #0x12
- bx lr
-
- thumb_func_start FUN_020038F0
-FUN_020038F0: ; 0x020038F0
- push {r3-r4}
- ldr r3, _0200390C ; =0x0000011A
- lsl r1, r1, #0x10
- ldrh r4, [r0, r3]
- ldr r2, _02003910 ; =0xFFFF7FFF
- lsr r1, r1, #0x10
- lsl r1, r1, #0x1f
- and r2, r4
- lsr r1, r1, #0x10
- orr r1, r2
- strh r1, [r0, r3]
- pop {r3-r4}
- bx lr
- nop
-_0200390C: .word 0x0000011A
-_02003910: .word 0xFFFF7FFF
-
- thumb_func_start FUN_02003914
-FUN_02003914: ; 0x02003914
- push {r3-r7, lr}
- sub sp, #0x8
- add r6, r0, #0x0
- str r3, [sp, #0x0]
- mov r0, #0x14
- add r4, r1, #0x0
- mul r4, r0
- add r0, sp, #0x10
- ldrh r0, [r0, #0x14]
- add r7, r2, #0x0
- ldr r5, [sp, #0x20]
- str r0, [sp, #0x4]
- lsl r1, r0, #0x1
- add r0, r6, r4
- ldr r0, [r0, #0x8]
- cmp r1, r0
- bls _0200393A
- bl ErrorHandling
-_0200393A:
- sub r0, r7, #0x1
- cmp r0, #0x1
- bhi _02003952
- ldr r2, [r6, r4]
- lsl r1, r5, #0x1
- add r1, r2, r1
- ldr r2, [sp, #0x4]
- ldr r0, [sp, #0x0]
- sub r2, r2, r5
- lsl r2, r2, #0x1
- blx MIi_CpuClear16
-_02003952:
- cmp r7, #0x0
- beq _0200395A
- cmp r7, #0x2
- bne _0200396E
-_0200395A:
- add r1, r6, r4
- ldr r2, [r1, #0x4]
- lsl r1, r5, #0x1
- add r1, r2, r1
- ldr r2, [sp, #0x4]
- ldr r0, [sp, #0x0]
- sub r2, r2, r5
- lsl r2, r2, #0x1
- blx MIi_CpuClear16
-_0200396E:
- add sp, #0x8
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02003974
-FUN_02003974: ; 0x02003974
- push {r4-r7, lr}
- sub sp, #0xc
- str r0, [sp, #0x0]
- add r0, sp, #0x10
- ldrh r0, [r0, #0x10]
- str r1, [sp, #0x4]
- add r7, r2, #0x0
- lsl r1, r0, #0x1b
- lsr r1, r1, #0x1b
- mov r12, r1
- lsl r1, r0, #0x16
- lsl r0, r0, #0x11
- lsr r1, r1, #0x1b
- lsr r0, r0, #0x1b
- mov r2, #0x0
- mov lr, r1
- str r0, [sp, #0x8]
- cmp r7, #0x0
- bls _020039E2
-_0200399A:
- ldr r0, [sp, #0x0]
- lsl r6, r2, #0x1
- ldrh r4, [r0, r6]
- lsl r0, r4, #0x1b
- lsr r1, r0, #0x1b
- lsl r0, r4, #0x16
- lsl r4, r4, #0x11
- lsr r5, r4, #0x1b
- ldr r4, [sp, #0x8]
- lsr r0, r0, #0x1b
- sub r4, r4, r5
- mul r4, r3
- asr r4, r4, #0x4
- add r4, r5, r4
- lsl r5, r4, #0xa
- mov r4, r12
- sub r4, r4, r1
- mul r4, r3
- asr r4, r4, #0x4
- add r1, r1, r4
- mov r4, lr
- sub r4, r4, r0
- mul r4, r3
- asr r4, r4, #0x4
- add r0, r0, r4
- lsl r0, r0, #0x5
- orr r0, r1
- add r1, r5, #0x0
- orr r1, r0
- ldr r0, [sp, #0x4]
- strh r1, [r0, r6]
- add r0, r2, #0x1
- lsl r0, r0, #0x10
- lsr r2, r0, #0x10
- cmp r2, r7
- blo _0200399A
-_020039E2:
- add sp, #0xc
- pop {r4-r7, pc}
- .balign 4
-
- thumb_func_start FUN_020039E8
-FUN_020039E8: ; 0x020039E8
- push {r3-r7, lr}
- sub sp, #0x8
- add r7, r2, #0x0
- add r5, r0, #0x0
- mov r2, #0x14
- add r6, r1, #0x0
- mul r6, r2
- str r3, [sp, #0x4]
- ldr r1, [r5, r6]
- mov r0, #0x0
- add r4, r5, r6
- cmp r1, #0x0
- beq _02003A0A
- ldr r1, [r4, #0x4]
- cmp r1, #0x0
- beq _02003A0A
- mov r0, #0x1
-_02003A0A:
- cmp r0, #0x0
- bne _02003A12
- bl ErrorHandling
-_02003A12:
- add r3, sp, #0x10
- ldrh r0, [r3, #0x14]
- add r2, r5, r6
- lsl r1, r7, #0x1
- str r0, [sp, #0x0]
- ldr r0, [r4, #0x0]
- ldr r2, [r2, #0x4]
- add r0, r0, r1
- add r1, r2, r1
- ldrb r3, [r3, #0x10]
- ldr r2, [sp, #0x4]
- bl FUN_02003974
- add sp, #0x8
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02003A30
-FUN_02003A30: ; 0x02003A30
- push {r3-r7, lr}
- sub sp, #0x8
- str r3, [sp, #0x4]
- add r5, r0, #0x0
- add r6, r1, #0x0
- add r4, r2, #0x0
- ldr r7, [sp, #0x20]
- beq _02003A60
-_02003A40:
- mov r0, #0x1
- tst r0, r4
- beq _02003A54
- str r7, [sp, #0x0]
- ldr r3, [sp, #0x4]
- add r0, r5, #0x0
- add r1, r6, #0x0
- mov r2, #0x10
- bl FUN_02003974
-_02003A54:
- lsl r0, r4, #0xf
- lsr r4, r0, #0x10
- add r6, #0x20
- add r5, #0x20
- cmp r4, #0x0
- bne _02003A40
-_02003A60:
- add sp, #0x8
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02003A64
-FUN_02003A64: ; 0x02003A64
- push {r4-r7, lr}
- sub sp, #0xc
- str r3, [sp, #0x8]
- add r6, r0, #0x0
- add r7, r1, #0x0
- ldr r0, [sp, #0x20]
- add r5, r2, #0x0
- mov r1, #0x14
- add r2, r7, #0x0
- str r0, [sp, #0x20]
- mul r2, r1
- mov r4, #0x0
- ldr r1, [r6, r2]
- add r0, r4, #0x0
- cmp r1, #0x0
- beq _02003A8E
- add r1, r6, r2
- ldr r1, [r1, #0x4]
- cmp r1, #0x0
- beq _02003A8E
- mov r0, #0x1
-_02003A8E:
- cmp r0, #0x0
- bne _02003A96
- bl ErrorHandling
-_02003A96:
- cmp r5, #0x0
- beq _02003AC0
-_02003A9A:
- mov r0, #0x1
- tst r0, r5
- beq _02003AB6
- ldr r0, [sp, #0x8]
- lsl r2, r4, #0x10
- str r0, [sp, #0x0]
- ldr r0, [sp, #0x20]
- add r1, r7, #0x0
- str r0, [sp, #0x4]
- add r0, r6, #0x0
- lsr r2, r2, #0x10
- mov r3, #0x10
- bl FUN_020039E8
-_02003AB6:
- lsl r0, r5, #0xf
- lsr r5, r0, #0x10
- add r4, #0x10
- cmp r5, #0x0
- bne _02003A9A
-_02003AC0:
- add sp, #0xc
- pop {r4-r7, pc}
-
- thumb_func_start FUN_02003AC4
-FUN_02003AC4: ; 0x02003AC4
- push {r3-r7, lr}
- mov lr, r1
- mov r12, r2
- add r7, r3, #0x0
- mov r4, #0x0
- cmp r1, #0x0
- ble _02003B3C
- ldr r6, [sp, #0x18]
-_02003AD4:
- ldrh r3, [r0, #0x0]
- mov r1, #0x1f
- add r2, r3, #0x0
- asr r5, r3, #0xa
- and r2, r1
- and r5, r1
- mov r1, #0x1d
- mul r1, r5
- mov r5, #0x4c
- mul r5, r2
- asr r3, r3, #0x5
- mov r2, #0x1f
- and r3, r2
- mov r2, #0x97
- mul r2, r3
- add r2, r5, r2
- add r1, r1, r2
- asr r3, r1, #0x8
- mov r1, r12
- add r2, r1, #0x0
- mul r2, r3
- lsl r1, r2, #0x10
- lsr r1, r1, #0x10
- asr r2, r1, #0x8
- add r1, r7, #0x0
- mul r1, r3
- mul r3, r6
- lsl r1, r1, #0x10
- lsl r3, r3, #0x10
- lsr r1, r1, #0x10
- lsr r3, r3, #0x10
- asr r1, r1, #0x8
- asr r3, r3, #0x8
- cmp r2, #0x1f
- ble _02003B1C
- mov r2, #0x1f
-_02003B1C:
- cmp r1, #0x1f
- ble _02003B22
- mov r1, #0x1f
-_02003B22:
- cmp r3, #0x1f
- ble _02003B28
- mov r3, #0x1f
-_02003B28:
- lsl r3, r3, #0xa
- lsl r1, r1, #0x5
- orr r1, r3
- orr r1, r2
- strh r1, [r0, #0x0]
- add r4, r4, #0x1
- mov r1, lr
- add r0, r0, #0x2
- cmp r4, r1
- blt _02003AD4
-_02003B3C:
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02003B40
-FUN_02003B40: ; 0x02003B40
- push {r3-r5, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- add r0, r1, #0x0
- add r1, r2, #0x0
- add r2, sp, #0x4
- bl FUN_02006C08
- add r4, r0, #0x0
- bne _02003B58
- bl ErrorHandling
-_02003B58:
- ldr r0, [sp, #0x1c]
- cmp r0, #0x0
- bne _02003B64
- ldr r0, [sp, #0x4]
- ldr r0, [r0, #0x8]
- str r0, [sp, #0x1c]
-_02003B64:
- ldr r0, [sp, #0x2c]
- ldr r2, [sp, #0x24]
- str r0, [sp, #0x0]
- ldr r0, [sp, #0x4]
- ldr r3, [sp, #0x28]
- ldr r0, [r0, #0xc]
- mov r1, #0x10
- bl FUN_02003AC4
- ldr r0, [sp, #0x1c]
- add r3, sp, #0x8
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- str r0, [sp, #0x0]
- ldr r1, [sp, #0x4]
- ldrh r3, [r3, #0x18]
- ldr r1, [r1, #0xc]
- ldr r2, [sp, #0x18]
- add r0, r5, #0x0
- bl FUN_02003054
- add r0, r4, #0x0
- bl FUN_02016A18
- add sp, #0x8
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02003B98
-FUN_02003B98: ; 0x02003B98
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r6, r1, #0x0
- bl FUN_02003D30
- add r4, r0, #0x0
- blx FUN_020C01D0
- bl FUN_020040C8
- add r0, r4, #0x0
- bl FUN_02004064
- add r0, r4, #0x0
- ldr r1, _02003C00 ; =0x000BBC00
- add r0, #0x94
- blx FUN_020C2A94
- add r1, r4, #0x0
- add r1, #0x90
- str r0, [r1, #0x0]
- add r2, r4, #0x0
- add r2, #0x90
- ldr r1, _02003C04 ; =0x02104780
- ldr r2, [r2, #0x0]
- add r0, r4, #0x0
- mov r3, #0x0
- blx FUN_020C26F8
- add r0, r4, #0x0
- add r0, #0x90
- ldr r0, [r0, #0x0]
- blx FUN_020C39CC
- add r0, r4, #0x0
- bl FUN_02004088
- add r0, r4, #0x0
- bl FUN_020040A4
- ldr r0, _02003C08 ; =0x02107070
- mov r1, #0x0
- str r1, [r0, #0x4]
- ldr r0, _02003C0C ; =0x000BCD4C
- str r5, [r4, r0]
- ldrh r0, [r6, #0x0]
- lsl r0, r0, #0x1a
- lsr r0, r0, #0x1e
- bl FUN_02004D60
- pop {r4-r6, pc}
- nop
-_02003C00: .word 0x000BBC00
-_02003C04: .word 0x02104780
-_02003C08: .word 0x02107070
-_02003C0C: .word 0x000BCD4C
-
- thumb_func_start FUN_02003C10
-FUN_02003C10: ; 0x02003C10
- push {r4, lr}
- bl FUN_02003D30
- add r4, r0, #0x0
- bl FUN_02003D04
- cmp r0, #0x0
- bne _02003C30
- ldr r0, _02003C3C ; =0x000BCD00
- ldr r1, [r4, r0]
- cmp r1, #0x0
- ble _02003C2C
- sub r1, r1, #0x1
- str r1, [r4, r0]
-_02003C2C:
- bl FUN_02003C40
-_02003C30:
- bl FUN_02005CFC
- blx FUN_020C01A0
- pop {r4, pc}
- nop
-_02003C3C: .word 0x000BCD00
-
- thumb_func_start FUN_02003C40
-FUN_02003C40: ; 0x02003C40
- push {r4, lr}
- bl FUN_02003D30
- add r4, r0, #0x0
- ldr r0, _02003CDC ; =0x02107070
- ldr r0, [r0, #0x0]
- cmp r0, #0x6
- bhi _02003CD8
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_02003C5C: ; jump table (using 16-bit offset)
- .short _02003CD8 - _02003C5C - 2; case 0
- .short _02003C6A - _02003C5C - 2; case 1
- .short _02003CD8 - _02003C5C - 2; case 2
- .short _02003C72 - _02003C5C - 2; case 3
- .short _02003C82 - _02003C5C - 2; case 4
- .short _02003C92 - _02003C5C - 2; case 5
- .short _02003CB0 - _02003C5C - 2; case 6
-_02003C6A:
- mov r0, #0x2
- bl FUN_02003CE8
- pop {r4, pc}
-_02003C72:
- bl FUN_02005404
- cmp r0, #0x0
- bne _02003CD8
- mov r0, #0x2
- bl FUN_02003CE8
- pop {r4, pc}
-_02003C82:
- bl FUN_02005404
- cmp r0, #0x0
- bne _02003CD8
- mov r0, #0x2
- bl FUN_02003CE8
- pop {r4, pc}
-_02003C92:
- bl FUN_02005404
- cmp r0, #0x0
- bne _02003CD8
- bl FUN_02004D94
- cmp r0, #0x0
- bne _02003CD8
- bl FUN_020040DC
- ldr r0, _02003CE0 ; =0x000BCD0E
- ldrh r0, [r4, r0]
- bl FUN_0200521C
- pop {r4, pc}
-_02003CB0:
- bl FUN_02005404
- cmp r0, #0x0
- bne _02003CD8
- bl FUN_02004D94
- cmp r0, #0x0
- bne _02003CD8
- bl FUN_020040DC
- ldr r0, _02003CE0 ; =0x000BCD0E
- ldrh r0, [r4, r0]
- bl FUN_0200521C
- ldr r1, _02003CE4 ; =0x000BCD08
- mov r0, #0x7f
- ldr r1, [r4, r1]
- mov r2, #0x0
- bl FUN_0200538C
-_02003CD8:
- pop {r4, pc}
- nop
-_02003CDC: .word 0x02107070
-_02003CE0: .word 0x000BCD0E
-_02003CE4: .word 0x000BCD08
-
- thumb_func_start FUN_02003CE8
-FUN_02003CE8: ; 0x02003CE8
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_02003D30
- ldr r1, _02003CFC ; =0x000BCCFC
- mov r2, #0x0
- strh r2, [r0, r1]
- ldr r0, _02003D00 ; =0x02107070
- str r4, [r0, #0x0]
- pop {r4, pc}
- .balign 4
-_02003CFC: .word 0x000BCCFC
-_02003D00: .word 0x02107070
-
- thumb_func_start FUN_02003D04
-FUN_02003D04: ; 0x02003D04
- push {r4, lr}
- bl FUN_02003D30
- add r4, r0, #0x0
- mov r0, #0x2
- bl FUN_020048BC
- cmp r0, #0x0
- beq _02003D1A
- mov r0, #0x1
- pop {r4, pc}
-_02003D1A:
- ldr r0, _02003D2C ; =0x000BCD12
- ldrh r0, [r4, r0]
- cmp r0, #0x0
- beq _02003D26
- mov r0, #0x1
- pop {r4, pc}
-_02003D26:
- mov r0, #0x0
- pop {r4, pc}
- nop
-_02003D2C: .word 0x000BCD12
-
- thumb_func_start FUN_02003D30
-FUN_02003D30: ; 0x02003D30
- ldr r0, _02003D34 ; =0x02107078
- bx lr
- .balign 4
-_02003D34: .word 0x02107078
-
- thumb_func_start FUN_02003D38
-FUN_02003D38: ; 0x02003D38
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_02003D30
- cmp r4, #0x27
- bls _02003D46
- b _02003E92
-_02003D46:
- add r1, r4, r4
- add r1, pc
- ldrh r1, [r1, #0x6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_02003D52: ; jump table (using 16-bit offset)
- .short _02003DA8 - _02003D52 - 2; case 0
- .short _02003DAE - _02003D52 - 2; case 1
- .short _02003DB4 - _02003D52 - 2; case 2
- .short _02003DBA - _02003D52 - 2; case 3
- .short _02003DC0 - _02003D52 - 2; case 4
- .short _02003DA2 - _02003D52 - 2; case 5
- .short _02003DC6 - _02003D52 - 2; case 6
- .short _02003DCC - _02003D52 - 2; case 7
- .short _02003DD2 - _02003D52 - 2; case 8
- .short _02003DD8 - _02003D52 - 2; case 9
- .short _02003DDE - _02003D52 - 2; case 10
- .short _02003DE4 - _02003D52 - 2; case 11
- .short _02003DEA - _02003D52 - 2; case 12
- .short _02003DF0 - _02003D52 - 2; case 13
- .short _02003DF6 - _02003D52 - 2; case 14
- .short _02003DFC - _02003D52 - 2; case 15
- .short _02003E02 - _02003D52 - 2; case 16
- .short _02003E08 - _02003D52 - 2; case 17
- .short _02003E0E - _02003D52 - 2; case 18
- .short _02003E14 - _02003D52 - 2; case 19
- .short _02003E1A - _02003D52 - 2; case 20
- .short _02003E20 - _02003D52 - 2; case 21
- .short _02003E26 - _02003D52 - 2; case 22
- .short _02003E2C - _02003D52 - 2; case 23
- .short _02003E32 - _02003D52 - 2; case 24
- .short _02003E38 - _02003D52 - 2; case 25
- .short _02003E3E - _02003D52 - 2; case 26
- .short _02003E44 - _02003D52 - 2; case 27
- .short _02003E4A - _02003D52 - 2; case 28
- .short _02003E50 - _02003D52 - 2; case 29
- .short _02003E56 - _02003D52 - 2; case 30
- .short _02003E5C - _02003D52 - 2; case 31
- .short _02003E62 - _02003D52 - 2; case 32
- .short _02003E68 - _02003D52 - 2; case 33
- .short _02003E6E - _02003D52 - 2; case 34
- .short _02003E74 - _02003D52 - 2; case 35
- .short _02003E7A - _02003D52 - 2; case 36
- .short _02003E80 - _02003D52 - 2; case 37
- .short _02003E86 - _02003D52 - 2; case 38
- .short _02003E8C - _02003D52 - 2; case 39
-_02003DA2:
- ldr r1, _02003E9C ; =0x000BCCFE
- add r0, r0, r1
- pop {r4, pc}
-_02003DA8:
- ldr r1, _02003EA0 ; =0x000BBCB8
- add r0, r0, r1
- pop {r4, pc}
-_02003DAE:
- ldr r1, _02003EA4 ; =0x000BBCBC
- add r0, r0, r1
- pop {r4, pc}
-_02003DB4:
- ldr r1, _02003EA8 ; =0x000BBCC0
- add r0, r0, r1
- pop {r4, pc}
-_02003DBA:
- ldr r1, _02003EAC ; =0x000BBCE0
- add r0, r0, r1
- pop {r4, pc}
-_02003DC0:
- ldr r1, _02003EB0 ; =0x000BCCE0
- add r0, r0, r1
- pop {r4, pc}
-_02003DC6:
- ldr r1, _02003EB4 ; =0x000BCD00
- add r0, r0, r1
- pop {r4, pc}
-_02003DCC:
- ldr r1, _02003EB8 ; =0x000BCD04
- add r0, r0, r1
- pop {r4, pc}
-_02003DD2:
- ldr r1, _02003EBC ; =0x000BCD08
- add r0, r0, r1
- pop {r4, pc}
-_02003DD8:
- ldr r1, _02003EC0 ; =0x000BCD0C
- add r0, r0, r1
- pop {r4, pc}
-_02003DDE:
- ldr r1, _02003EC4 ; =0x000BCD0E
- add r0, r0, r1
- pop {r4, pc}
-_02003DE4:
- ldr r1, _02003EC8 ; =0x000BCD10
- add r0, r0, r1
- pop {r4, pc}
-_02003DEA:
- ldr r1, _02003ECC ; =0x000BCD11
- add r0, r0, r1
- pop {r4, pc}
-_02003DF0:
- ldr r1, _02003ED0 ; =0x000BCD12
- add r0, r0, r1
- pop {r4, pc}
-_02003DF6:
- ldr r1, _02003ED4 ; =0x000BCD14
- add r0, r0, r1
- pop {r4, pc}
-_02003DFC:
- ldr r1, _02003ED8 ; =0x000BCD15
- add r0, r0, r1
- pop {r4, pc}
-_02003E02:
- ldr r1, _02003EDC ; =0x000BCD16
- add r0, r0, r1
- pop {r4, pc}
-_02003E08:
- ldr r1, _02003EE0 ; =0x000BCD17
- add r0, r0, r1
- pop {r4, pc}
-_02003E0E:
- ldr r1, _02003EE4 ; =0x000BCD18
- add r0, r0, r1
- pop {r4, pc}
-_02003E14:
- ldr r1, _02003EE8 ; =0x000BCD19
- add r0, r0, r1
- pop {r4, pc}
-_02003E1A:
- ldr r1, _02003EEC ; =0x000BCD1A
- add r0, r0, r1
- pop {r4, pc}
-_02003E20:
- ldr r1, _02003EF0 ; =0x000BCD1B
- add r0, r0, r1
- pop {r4, pc}
-_02003E26:
- ldr r1, _02003EF4 ; =0x000BCD1C
- add r0, r0, r1
- pop {r4, pc}
-_02003E2C:
- ldr r1, _02003EF8 ; =0x000BCD20
- add r0, r0, r1
- pop {r4, pc}
-_02003E32:
- ldr r1, _02003EFC ; =0x000BCD24
- add r0, r0, r1
- pop {r4, pc}
-_02003E38:
- ldr r1, _02003F00 ; =0x000BCD28
- add r0, r0, r1
- pop {r4, pc}
-_02003E3E:
- ldr r1, _02003F04 ; =0x000BCD2C
- add r0, r0, r1
- pop {r4, pc}
-_02003E44:
- ldr r1, _02003F08 ; =0x000BCD30
- add r0, r0, r1
- pop {r4, pc}
-_02003E4A:
- ldr r1, _02003F0C ; =0x000BCD34
- add r0, r0, r1
- pop {r4, pc}
-_02003E50:
- ldr r1, _02003F10 ; =0x000BCD38
- add r0, r0, r1
- pop {r4, pc}
-_02003E56:
- ldr r1, _02003F14 ; =0x000BCD39
- add r0, r0, r1
- pop {r4, pc}
-_02003E5C:
- ldr r1, _02003F18 ; =0x000BCD3A
- add r0, r0, r1
- pop {r4, pc}
-_02003E62:
- ldr r1, _02003F1C ; =0x000BCD3C
- add r0, r0, r1
- pop {r4, pc}
-_02003E68:
- ldr r1, _02003F20 ; =0x000BCD40
- add r0, r0, r1
- pop {r4, pc}
-_02003E6E:
- ldr r1, _02003F24 ; =0x000BCD48
- add r0, r0, r1
- pop {r4, pc}
-_02003E74:
- ldr r1, _02003F28 ; =0x000BCD4C
- add r0, r0, r1
- pop {r4, pc}
-_02003E7A:
- ldr r1, _02003F2C ; =0x000BCD50
- add r0, r0, r1
- pop {r4, pc}
-_02003E80:
- ldr r1, _02003F30 ; =0x000BCD54
- add r0, r0, r1
- pop {r4, pc}
-_02003E86:
- ldr r1, _02003F34 ; =0x000BCD58
- add r0, r0, r1
- pop {r4, pc}
-_02003E8C:
- ldr r1, _02003F38 ; =0x000BCD5C
- add r0, r0, r1
- pop {r4, pc}
-_02003E92:
- bl ErrorHandling
- mov r0, #0x0
- pop {r4, pc}
- nop
-_02003E9C: .word 0x000BCCFE
-_02003EA0: .word 0x000BBCB8
-_02003EA4: .word 0x000BBCBC
-_02003EA8: .word 0x000BBCC0
-_02003EAC: .word 0x000BBCE0
-_02003EB0: .word 0x000BCCE0
-_02003EB4: .word 0x000BCD00
-_02003EB8: .word 0x000BCD04
-_02003EBC: .word 0x000BCD08
-_02003EC0: .word 0x000BCD0C
-_02003EC4: .word 0x000BCD0E
-_02003EC8: .word 0x000BCD10
-_02003ECC: .word 0x000BCD11
-_02003ED0: .word 0x000BCD12
-_02003ED4: .word 0x000BCD14
-_02003ED8: .word 0x000BCD15
-_02003EDC: .word 0x000BCD16
-_02003EE0: .word 0x000BCD17
-_02003EE4: .word 0x000BCD18
-_02003EE8: .word 0x000BCD19
-_02003EEC: .word 0x000BCD1A
-_02003EF0: .word 0x000BCD1B
-_02003EF4: .word 0x000BCD1C
-_02003EF8: .word 0x000BCD20
-_02003EFC: .word 0x000BCD24
-_02003F00: .word 0x000BCD28
-_02003F04: .word 0x000BCD2C
-_02003F08: .word 0x000BCD30
-_02003F0C: .word 0x000BCD34
-_02003F10: .word 0x000BCD38
-_02003F14: .word 0x000BCD39
-_02003F18: .word 0x000BCD3A
-_02003F1C: .word 0x000BCD3C
-_02003F20: .word 0x000BCD40
-_02003F24: .word 0x000BCD48
-_02003F28: .word 0x000BCD4C
-_02003F2C: .word 0x000BCD50
-_02003F30: .word 0x000BCD54
-_02003F34: .word 0x000BCD58
-_02003F38: .word 0x000BCD5C
-
- thumb_func_start FUN_02003F3C
-FUN_02003F3C: ; 0x02003F3C
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl FUN_02003D30
- add r0, #0x90
- ldr r0, [r0, #0x0]
- blx FUN_020C290C
- add r4, r0, #0x0
- mov r0, #0x0
- mvn r0, r0
- cmp r4, r0
- bne _02003F5A
- bl ErrorHandling
-_02003F5A:
- cmp r5, #0x0
- beq _02003F60
- str r4, [r5, #0x0]
-_02003F60:
- add r0, r4, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02003F64
-FUN_02003F64: ; 0x02003F64
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_02003D30
- add r0, #0x90
- ldr r0, [r0, #0x0]
- add r1, r4, #0x0
- blx FUN_020C2828
- pop {r4, pc}
-
- thumb_func_start FUN_02003F78
-FUN_02003F78: ; 0x02003F78
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_02003D30
- add r1, r0, #0x0
- add r1, #0x90
- ldr r1, [r1, #0x0]
- add r0, r4, #0x0
- blx FUN_020C36A8
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02003F90
-FUN_02003F90: ; 0x02003F90
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_02003D30
- add r1, r0, #0x0
- add r1, #0x90
- ldr r1, [r1, #0x0]
- add r0, r4, #0x0
- blx FUN_020C3674
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02003FA8
-FUN_02003FA8: ; 0x02003FA8
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- bl FUN_02003D30
- add r2, r0, #0x0
- add r2, #0x90
- ldr r2, [r2, #0x0]
- add r0, r5, #0x0
- add r1, r4, #0x0
- blx FUN_020C35E0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02003FC4
-FUN_02003FC4: ; 0x02003FC4
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_02003D30
- add r1, r0, #0x0
- add r1, #0x90
- ldr r1, [r1, #0x0]
- add r0, r4, #0x0
- blx FUN_020C360C
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02003FDC
-FUN_02003FDC: ; 0x02003FDC
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_02003D30
- add r1, r0, #0x0
- add r1, #0x90
- ldr r1, [r1, #0x0]
- add r0, r4, #0x0
- blx FUN_020C3640
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02003FF4
-FUN_02003FF4: ; 0x02003FF4
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl FUN_02003D30
- add r4, r0, #0x0
- cmp r5, #0x9
- blt _02004008
- bl ErrorHandling
- mov r5, #0x0
-_02004008:
- ldr r0, _02004014 ; =0x000BBC94
- add r1, r4, r0
- lsl r0, r5, #0x2
- add r0, r1, r0
- pop {r3-r5, pc}
- nop
-_02004014: .word 0x000BBC94
-
- thumb_func_start FUN_02004018
-FUN_02004018: ; 0x02004018
- push {r3, lr}
- cmp r0, #0x7
- bhi _0200405A
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_0200402A: ; jump table (using 16-bit offset)
- .short _0200403E - _0200402A - 2; case 0
- .short _0200403A - _0200402A - 2; case 1
- .short _02004042 - _0200402A - 2; case 2
- .short _02004046 - _0200402A - 2; case 3
- .short _0200404A - _0200402A - 2; case 4
- .short _0200404E - _0200402A - 2; case 5
- .short _02004052 - _0200402A - 2; case 6
- .short _02004056 - _0200402A - 2; case 7
-_0200403A:
- mov r0, #0x0
- pop {r3, pc}
-_0200403E:
- mov r0, #0x1
- pop {r3, pc}
-_02004042:
- mov r0, #0x2
- pop {r3, pc}
-_02004046:
- mov r0, #0x3
- pop {r3, pc}
-_0200404A:
- mov r0, #0x4
- pop {r3, pc}
-_0200404E:
- mov r0, #0x5
- pop {r3, pc}
-_02004052:
- mov r0, #0x6
- pop {r3, pc}
-_02004056:
- mov r0, #0x7
- pop {r3, pc}
-_0200405A:
- bl ErrorHandling
- mov r0, #0x3
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_02004064
-FUN_02004064: ; 0x02004064
- push {r4, lr}
- ldr r2, _02004080 ; =0x000BCD60
- mov r1, #0x0
- add r4, r0, #0x0
- blx Call_FillMemWithValue
- ldr r0, _02004084 ; =0x000BCD1C
- mov r1, #0x0
-_02004074:
- add r1, r1, #0x1
- str r1, [r4, r0]
- add r4, r4, #0x4
- cmp r1, #0x7
- blt _02004074
- pop {r4, pc}
- .balign 4
-_02004080: .word 0x000BCD60
-_02004084: .word 0x000BCD1C
-
- thumb_func_start FUN_02004088
-FUN_02004088: ; 0x02004088
- push {r3-r5, lr}
- ldr r1, _020040A0 ; =0x000BBC94
- mov r4, #0x0
- add r5, r0, r1
-_02004090:
- add r0, r5, #0x0
- blx FUN_020C0F80
- add r4, r4, #0x1
- add r5, r5, #0x4
- cmp r4, #0x9
- blt _02004090
- pop {r3-r5, pc}
- .balign 4
-_020040A0: .word 0x000BBC94
-
- thumb_func_start FUN_020040A4
-FUN_020040A4: ; 0x020040A4
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, _020040C0 ; =0x000BCD1C
- add r0, r4, r0
- bl FUN_02003F3C
- mov r0, #0x0
- bl FUN_02003F78
- ldr r0, _020040C4 ; =0x000BCD20
- add r0, r4, r0
- bl FUN_02003F3C
- pop {r4, pc}
- .balign 4
-_020040C0: .word 0x000BCD1C
-_020040C4: .word 0x000BCD20
-
- thumb_func_start FUN_020040C8
-FUN_020040C8: ; 0x020040C8
- push {r3, lr}
- blx MIC_Init
- mov r0, #0x1
- blx PM_SetAmp
- mov r0, #0x2
- blx PM_SetAmpGain
- pop {r3, pc}
-
- thumb_func_start FUN_020040DC
-FUN_020040DC: ; 0x020040DC
- push {r3, lr}
- mov r0, #0x7
- mov r1, #0x0
- blx FUN_020C1040
- mov r0, #0x7
- bl FUN_02003FF4
- blx FUN_020C0F68
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_020040F4
-FUN_020040F4: ; 0x020040F4
- push {r4, lr}
- add r4, r0, #0x0
- mov r0, #0x5
- bl FUN_02003D38
- strb r4, [r0, #0x0]
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02004104
-FUN_02004104: ; 0x02004104
- push {r3, lr}
- mov r0, #0x5
- bl FUN_02003D38
- ldrb r0, [r0, #0x0]
- pop {r3, pc}
-
- thumb_func_start FUN_02004110
-FUN_02004110: ; 0x02004110
- push {r4, lr}
- add r4, r0, #0x0
- mov r0, #0x9
- bl FUN_02003D38
- strh r4, [r0, #0x0]
- mov r0, #0x0
- bl FUN_02004130
- pop {r4, pc}
-
- thumb_func_start FUN_02004124
-FUN_02004124: ; 0x02004124
- push {r3, lr}
- mov r0, #0x9
- bl FUN_02003D38
- ldrh r0, [r0, #0x0]
- pop {r3, pc}
-
- thumb_func_start FUN_02004130
-FUN_02004130: ; 0x02004130
- push {r4, lr}
- add r4, r0, #0x0
- mov r0, #0xa
- bl FUN_02003D38
- strh r4, [r0, #0x0]
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02004140
-FUN_02004140: ; 0x02004140
- push {r3, lr}
- mov r0, #0xa
- bl FUN_02003D38
- ldrh r0, [r0, #0x0]
- pop {r3, pc}
-
- thumb_func_start FUN_0200414C
-FUN_0200414C: ; 0x0200414C
- push {r4, lr}
- add r4, r0, #0x0
- mov r0, #0x1f
- bl FUN_02003D38
- strh r4, [r0, #0x0]
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0200415C
-FUN_0200415C: ; 0x0200415C
- push {r3-r5, lr}
- add r5, r0, #0x0
- mov r0, #0x14
- bl FUN_02003D38
- add r4, r0, #0x0
- mov r0, #0x15
- bl FUN_02003D38
- cmp r5, #0x33
- bhs _0200417A
- strb r5, [r4, #0x0]
- mov r1, #0x0
- strb r1, [r0, #0x0]
- pop {r3-r5, pc}
-_0200417A:
- strb r5, [r0, #0x0]
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02004180
-FUN_02004180: ; 0x02004180
- push {r3, lr}
- cmp r0, #0x39
- bgt _020041DE
- blt _0200418A
- b _020042C8
-_0200418A:
- cmp r0, #0x35
- bgt _020041CC
- blt _02004192
- b _0200429A
-_02004192:
- cmp r0, #0x33
- bgt _020041C6
- bge _0200427C
- cmp r0, #0xe
- bhi _020041CA
- add r2, r0, r0
- add r2, pc
- ldrh r2, [r2, #0x6]
- lsl r2, r2, #0x10
- asr r2, r2, #0x10
- add pc, r2
-_020041A8: ; jump table (using 16-bit offset)
- .short _0200432C - _020041A8 - 2; case 0
- .short _02004222 - _020041A8 - 2; case 1
- .short _0200422C - _020041A8 - 2; case 2
- .short _02004236 - _020041A8 - 2; case 3
- .short _02004240 - _020041A8 - 2; case 4
- .short _0200424A - _020041A8 - 2; case 5
- .short _0200425E - _020041A8 - 2; case 6
- .short _0200429A - _020041A8 - 2; case 7
- .short _02004268 - _020041A8 - 2; case 8
- .short _02004222 - _020041A8 - 2; case 9
- .short _02004222 - _020041A8 - 2; case 10
- .short _02004254 - _020041A8 - 2; case 11
- .short _02004272 - _020041A8 - 2; case 12
- .short _0200422C - _020041A8 - 2; case 13
- .short _02004222 - _020041A8 - 2; case 14
-_020041C6:
- cmp r0, #0x34
- beq _02004290
-_020041CA:
- b _0200432C
-_020041CC:
- cmp r0, #0x37
- bgt _020041D8
- bge _020042AE
- cmp r0, #0x36
- beq _020042A4
- b _0200432C
-_020041D8:
- cmp r0, #0x38
- beq _020042BE
- b _0200432C
-_020041DE:
- cmp r0, #0x3d
- bgt _020041F8
- blt _020041E6
- b _020042F0
-_020041E6:
- cmp r0, #0x3b
- bgt _020041F2
- bge _020042DC
- cmp r0, #0x3a
- beq _020042D2
- b _0200432C
-_020041F2:
- cmp r0, #0x3c
- beq _020042E6
- b _0200432C
-_020041F8:
- cmp r0, #0x3f
- bgt _02004206
- blt _02004200
- b _02004304
-_02004200:
- cmp r0, #0x3e
- beq _020042FA
- b _0200432C
-_02004206:
- sub r0, #0x40
- cmp r0, #0x3
- bls _0200420E
- b _0200432C
-_0200420E:
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_0200421A: ; jump table (using 16-bit offset)
- .short _0200430E - _0200421A - 2; case 0
- .short _0200431E - _0200421A - 2; case 1
- .short _02004286 - _0200421A - 2; case 2
- .short _020042AE - _0200421A - 2; case 3
-_02004222:
- mov r0, #0x1
- bl FUN_02003F78
- add r1, r0, #0x0
- b _0200432C
-_0200422C:
- mov r0, #0x2
- bl FUN_02003F78
- add r1, r0, #0x0
- b _0200432C
-_02004236:
- mov r0, #0xd
- bl FUN_02003F78
- add r1, r0, #0x0
- b _0200432C
-_02004240:
- mov r0, #0x1
- bl FUN_02003F78
- add r1, r0, #0x0
- b _0200432C
-_0200424A:
- mov r0, #0x2
- bl FUN_02003F78
- add r1, r0, #0x0
- b _0200432C
-_02004254:
- mov r0, #0x1
- bl FUN_02003F78
- add r1, r0, #0x0
- b _0200432C
-_0200425E:
- mov r0, #0xb
- bl FUN_02003F78
- add r1, r0, #0x0
- b _0200432C
-_02004268:
- mov r0, #0x1
- bl FUN_02003F78
- add r1, r0, #0x0
- b _0200432C
-_02004272:
- mov r0, #0xe
- bl FUN_02003F78
- add r1, r0, #0x0
- b _0200432C
-_0200427C:
- mov r0, #0x3
- bl FUN_02003F78
- add r1, r0, #0x0
- b _0200432C
-_02004286:
- mov r0, #0x6
- bl FUN_02003F78
- add r1, r0, #0x0
- b _0200432C
-_02004290:
- mov r0, #0x5
- bl FUN_02003F78
- add r1, r0, #0x0
- b _0200432C
-_0200429A:
- mov r0, #0x9
- bl FUN_02003F78
- add r1, r0, #0x0
- b _0200432C
-_020042A4:
- mov r0, #0xa
- bl FUN_02003F78
- add r1, r0, #0x0
- b _0200432C
-_020042AE:
- ldr r0, _02004330 ; =0x000005E5
- bl FUN_02003FDC
- ldr r0, _02004330 ; =0x000005E5
- bl FUN_02003FC4
- add r1, r0, #0x0
- b _0200432C
-_020042BE:
- mov r0, #0xc
- bl FUN_02003F78
- add r1, r0, #0x0
- b _0200432C
-_020042C8:
- mov r0, #0x7
- bl FUN_02003F78
- add r1, r0, #0x0
- b _0200432C
-_020042D2:
- mov r0, #0x8
- bl FUN_02003F78
- add r1, r0, #0x0
- b _0200432C
-_020042DC:
- mov r0, #0xf
- bl FUN_02003F78
- add r1, r0, #0x0
- b _0200432C
-_020042E6:
- mov r0, #0x3
- bl FUN_02003F78
- add r1, r0, #0x0
- b _0200432C
-_020042F0:
- mov r0, #0x5
- bl FUN_02003F78
- add r1, r0, #0x0
- b _0200432C
-_020042FA:
- mov r0, #0xf
- bl FUN_02003F78
- add r1, r0, #0x0
- b _0200432C
-_02004304:
- mov r0, #0x4
- bl FUN_02003F78
- add r1, r0, #0x0
- b _0200432C
-_0200430E:
- ldr r0, _02004334 ; =0x000005ED
- bl FUN_02003FDC
- ldr r0, _02004334 ; =0x000005ED
- bl FUN_02003FC4
- add r1, r0, #0x0
- b _0200432C
-_0200431E:
- ldr r0, _02004338 ; =0x000005EC
- bl FUN_02003FDC
- ldr r0, _02004338 ; =0x000005EC
- bl FUN_02003FC4
- add r1, r0, #0x0
-_0200432C:
- add r0, r1, #0x0
- pop {r3, pc}
- .balign 4
-_02004330: .word 0x000005E5
-_02004334: .word 0x000005ED
-_02004338: .word 0x000005EC
-
- thumb_func_start FUN_0200433C
-FUN_0200433C: ; 0x0200433C
- push {r3-r7, lr}
- sub sp, #0x8
- add r4, r0, #0x0
- mov r0, #0x14
- add r5, r1, #0x0
- add r6, r2, #0x0
- bl FUN_02003D38
- str r0, [sp, #0x0]
- mov r0, #0x15
- bl FUN_02003D38
- str r0, [sp, #0x4]
- mov r0, #0xd
- bl FUN_02003D38
- add r7, r0, #0x0
- cmp r4, #0x33
- bhs _02004370
- ldr r0, [sp, #0x0]
- ldrb r0, [r0, #0x0]
- cmp r0, r4
- bne _0200437E
- add sp, #0x8
- mov r0, #0x0
- pop {r3-r7, pc}
-_02004370:
- ldr r0, [sp, #0x4]
- ldrb r0, [r0, #0x0]
- cmp r0, r4
- bne _0200437E
- add sp, #0x8
- mov r0, #0x0
- pop {r3-r7, pc}
-_0200437E:
- add r0, r4, #0x0
- bl FUN_0200415C
- cmp r4, #0x39
- bgt _020043DC
- bge _02004458
- cmp r4, #0x35
- bgt _020043CA
- bge _02004458
- cmp r4, #0x33
- bgt _020043C4
- bge _02004458
- cmp r4, #0xe
- bhi _020043C8
- add r0, r4, r4
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_020043A6: ; jump table (using 16-bit offset)
- .short _020044A0 - _020043A6 - 2; case 0
- .short _02004460 - _020043A6 - 2; case 1
- .short _02004484 - _020043A6 - 2; case 2
- .short _02004496 - _020043A6 - 2; case 3
- .short _0200441C - _020043A6 - 2; case 4
- .short _02004430 - _020043A6 - 2; case 5
- .short _02004444 - _020043A6 - 2; case 6
- .short _0200444E - _020043A6 - 2; case 7
- .short _02004496 - _020043A6 - 2; case 8
- .short _02004496 - _020043A6 - 2; case 9
- .short _02004496 - _020043A6 - 2; case 10
- .short _0200443A - _020043A6 - 2; case 11
- .short _02004496 - _020043A6 - 2; case 12
- .short _02004496 - _020043A6 - 2; case 13
- .short _02004472 - _020043A6 - 2; case 14
-_020043C4:
- cmp r4, #0x34
- beq _02004458
-_020043C8:
- b _020044A0
-_020043CA:
- cmp r4, #0x37
- bgt _020043D6
- bge _02004458
- cmp r4, #0x36
- beq _02004458
- b _020044A0
-_020043D6:
- cmp r4, #0x38
- beq _02004458
- b _020044A0
-_020043DC:
- cmp r4, #0x3d
- bgt _020043F4
- bge _02004458
- cmp r4, #0x3b
- bgt _020043EE
- bge _02004458
- cmp r4, #0x3a
- beq _02004458
- b _020044A0
-_020043EE:
- cmp r4, #0x3c
- beq _02004458
- b _020044A0
-_020043F4:
- cmp r4, #0x3f
- bgt _02004400
- bge _02004458
- cmp r4, #0x3e
- beq _02004458
- b _020044A0
-_02004400:
- add r0, r4, #0x0
- sub r0, #0x40
- cmp r0, #0x3
- bhi _020044A0
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_02004414: ; jump table (using 16-bit offset)
- .short _02004458 - _02004414 - 2; case 0
- .short _02004458 - _02004414 - 2; case 1
- .short _02004458 - _02004414 - 2; case 2
- .short _02004458 - _02004414 - 2; case 3
-_0200441C:
- mov r0, #0x0
- bl FUN_0200516C
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_020044D4
- mov r0, #0x0
- strh r0, [r7, #0x0]
- b _020044A0
-_02004430:
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_02004648
- b _020044A0
-_0200443A:
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_02004680
- b _020044A0
-_02004444:
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_020046A0
- b _020044A0
-_0200444E:
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_020046C4
- b _020044A0
-_02004458:
- add r0, r4, #0x0
- bl FUN_020046E8
- b _020044A0
-_02004460:
- mov r0, #0x1
- bl FUN_0200516C
- add r0, r4, #0x0
- add r1, r5, #0x0
- add r2, r6, #0x0
- bl FUN_02004704
- b _020044A0
-_02004472:
- mov r0, #0x2
- bl FUN_0200516C
- add r0, r4, #0x0
- add r1, r5, #0x0
- add r2, r6, #0x0
- bl FUN_02004704
- b _020044A0
-_02004484:
- mov r0, #0x0
- bl FUN_0200516C
- add r0, r4, #0x0
- add r1, r5, #0x0
- add r2, r6, #0x0
- bl FUN_02004704
- b _020044A0
-_02004496:
- add r0, r4, #0x0
- add r1, r5, #0x0
- add r2, r6, #0x0
- bl FUN_02004704
-_020044A0:
- mov r0, #0x1
- add sp, #0x8
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_020044A8
-FUN_020044A8: ; 0x020044A8
- push {r4, lr}
- add r4, r0, #0x0
- mov r0, #0x17
- bl FUN_02003D38
- ldr r0, [r0, #0x0]
- bl FUN_02003F64
- mov r0, #0x18
- bl FUN_02003D38
- bl FUN_02003F3C
- add r0, r4, #0x0
- bl FUN_02004180
- mov r0, #0x19
- bl FUN_02003D38
- bl FUN_02003F3C
- pop {r4, pc}
-
- thumb_func_start FUN_020044D4
-FUN_020044D4: ; 0x020044D4
- push {r4-r6, lr}
- add r5, r0, #0x0
- mov r0, #0xb
- bl FUN_02003D38
- add r6, r0, #0x0
- mov r0, #0x17
- bl FUN_02003D38
- mov r0, #0x1f
- bl FUN_02003D38
- mov r0, #0x0
- bl FUN_02003FF4
- bl FUN_020048EC
- add r4, r0, #0x0
- ldrb r0, [r6, #0x0]
- cmp r0, #0x0
- bne _0200450E
- cmp r4, r5
- bne _0200450E
- bl FUN_02004140
- mov r1, #0x12
- lsl r1, r1, #0x6
- cmp r0, r1
- bne _02004566
-_0200450E:
- mov r0, #0x1
- bl FUN_02004DBC
- bl FUN_02005454
- cmp r4, r5
- beq _02004528
- mov r0, #0x1
- mov r1, #0x0
- bl FUN_020047C8
- bl FUN_0200541C
-_02004528:
- ldrb r0, [r6, #0x0]
- cmp r0, #0x1
- bne _02004560
- mov r0, #0x2
- bl FUN_02004748
- bl FUN_02003F64
- mov r0, #0x4
- bl FUN_02004180
- mov r0, #0x19
- bl FUN_02003D38
- bl FUN_02003F3C
- cmp r4, r5
- beq _02004554
- mov r0, #0x1
- mov r1, #0x0
- bl FUN_020047C8
-_02004554:
- lsl r1, r4, #0x10
- add r0, r5, #0x0
- lsr r1, r1, #0x10
- bl FUN_02004568
- pop {r4-r6, pc}
-_02004560:
- add r0, r5, #0x0
- bl FUN_0200521C
-_02004566:
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02004568
-FUN_02004568: ; 0x02004568
- push {r3-r5, lr}
- add r5, r0, #0x0
- mov r0, #0x1f
- bl FUN_02003D38
- add r4, r0, #0x0
- ldrh r0, [r4, #0x0]
- bl FUN_02004900
- ldr r1, _020045C0 ; =0x000003E9
- cmp r0, r1
- beq _02004594
- add r1, r1, #0x2
- cmp r0, r1
- beq _02004594
- add r0, r5, #0x0
- mov r1, #0x4
- bl FUN_02003FA8
- bl ErrorHandling
- b _0200459C
-_02004594:
- ldrh r0, [r4, #0x0]
- mov r1, #0x6
- bl FUN_02003FA8
-_0200459C:
- mov r0, #0x1a
- bl FUN_02003D38
- bl FUN_02003F3C
- mov r0, #0x1
- mov r1, #0x0
- bl FUN_020047C8
- mov r0, #0x7f
- mov r1, #0x28
- mov r2, #0x0
- bl FUN_0200538C
- mov r0, #0x0
- bl FUN_02004DBC
- pop {r3-r5, pc}
- .balign 4
-_020045C0: .word 0x000003E9
-
- thumb_func_start FUN_020045C4
-FUN_020045C4: ; 0x020045C4
- push {r3-r7, lr}
- add r7, r0, #0x0
- mov r0, #0x12
- add r5, r1, #0x0
- bl FUN_02003D38
- add r6, r0, #0x0
- mov r0, #0x1f
- bl FUN_02003D38
- add r4, r0, #0x0
- ldrb r0, [r6, #0x0]
- cmp r0, #0x1
- beq _020045E4
- cmp r5, #0x0
- bne _02004642
-_020045E4:
- mov r0, #0x1
- bl FUN_02004748
- bl FUN_02003F64
- ldrh r0, [r4, #0x0]
- mov r1, #0x2
- bl FUN_02003FA8
- mov r0, #0x18
- bl FUN_02003D38
- bl FUN_02003F3C
- mov r0, #0x4
- bl FUN_02004180
- mov r0, #0x19
- bl FUN_02003D38
- bl FUN_02003F3C
- ldrh r0, [r4, #0x0]
- bl FUN_02004900
- ldr r1, _02004644 ; =0x000003E9
- cmp r0, r1
- beq _02004630
- add r1, r1, #0x2
- cmp r0, r1
- beq _02004630
- add r0, r7, #0x0
- mov r1, #0x4
- bl FUN_02003FA8
- bl ErrorHandling
- b _02004638
-_02004630:
- ldrh r0, [r4, #0x0]
- mov r1, #0x4
- bl FUN_02003FA8
-_02004638:
- mov r0, #0x1a
- bl FUN_02003D38
- bl FUN_02003F3C
-_02004642:
- pop {r3-r7, pc}
- .balign 4
-_02004644: .word 0x000003E9
-
- thumb_func_start FUN_02004648
-FUN_02004648: ; 0x02004648
- push {r4, lr}
- add r4, r0, #0x0
- mov r0, #0x17
- bl FUN_02003D38
- bl FUN_020051AC
- mov r0, #0x2
- bl FUN_02004748
- bl FUN_02003F64
- mov r0, #0x5
- bl FUN_02004180
- mov r0, #0x19
- bl FUN_02003D38
- bl FUN_02003F3C
- mov r0, #0x1
- bl FUN_02004DBC
- add r0, r4, #0x0
- bl FUN_0200521C
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02004680
-FUN_02004680: ; 0x02004680
- push {r4, lr}
- add r4, r0, #0x0
- mov r0, #0x17
- bl FUN_02003D38
- bl FUN_0200541C
- bl FUN_02004810
- mov r0, #0x4
- bl FUN_020044A8
- add r0, r4, #0x0
- bl FUN_0200521C
- pop {r4, pc}
-
- thumb_func_start FUN_020046A0
-FUN_020046A0: ; 0x020046A0
- push {r4, lr}
- add r4, r0, #0x0
- mov r0, #0x17
- bl FUN_02003D38
- bl FUN_0200541C
- mov r0, #0x6
- bl FUN_020044A8
- mov r0, #0x1
- bl FUN_02004DBC
- add r0, r4, #0x0
- bl FUN_0200521C
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_020046C4
-FUN_020046C4: ; 0x020046C4
- push {r4, lr}
- add r4, r0, #0x0
- mov r0, #0x17
- bl FUN_02003D38
- bl FUN_0200541C
- mov r0, #0x7
- bl FUN_020044A8
- mov r0, #0x1
- bl FUN_02004DBC
- add r0, r4, #0x0
- bl FUN_0200521C
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_020046E8
-FUN_020046E8: ; 0x020046E8
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_02004738
- add r0, r4, #0x0
- bl FUN_02004180
- mov r0, #0x1b
- bl FUN_02003D38
- bl FUN_02003F3C
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02004704
-FUN_02004704: ; 0x02004704
- push {r3-r5, lr}
- add r5, r0, #0x0
- mov r0, #0x17
- add r4, r1, #0x0
- bl FUN_02003D38
- bl FUN_0200541C
- add r0, r5, #0x0
- bl FUN_020044A8
- add r0, r4, #0x0
- bl FUN_0200521C
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02004724
-FUN_02004724: ; 0x02004724
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_02003D30
- bl FUN_020051AC
- add r0, r4, #0x0
- bl FUN_0200521C
- pop {r4, pc}
-
- thumb_func_start FUN_02004738
-FUN_02004738: ; 0x02004738
- push {r3, lr}
- mov r0, #0x4
- bl FUN_02004748
- bl FUN_02003F64
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_02004748
-FUN_02004748: ; 0x02004748
- push {r3-r5, lr}
- add r4, r0, #0x0
- bl FUN_02003D30
- cmp r4, #0x7
- blt _02004762
- bl ErrorHandling
- mov r0, #0x1a
- bl FUN_02003D38
- ldr r0, [r0, #0x0]
- pop {r3-r5, pc}
-_02004762:
- cmp r4, #0x6
- bhi _020047C4
- add r0, r4, r4
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_02004772: ; jump table (using 16-bit offset)
- .short _02004780 - _02004772 - 2; case 0
- .short _0200478A - _02004772 - 2; case 1
- .short _02004794 - _02004772 - 2; case 2
- .short _0200479E - _02004772 - 2; case 3
- .short _020047A8 - _02004772 - 2; case 4
- .short _020047B2 - _02004772 - 2; case 5
- .short _020047BC - _02004772 - 2; case 6
-_02004780:
- mov r0, #0x16
- bl FUN_02003D38
- add r5, r0, #0x0
- b _020047C4
-_0200478A:
- mov r0, #0x17
- bl FUN_02003D38
- add r5, r0, #0x0
- b _020047C4
-_02004794:
- mov r0, #0x18
- bl FUN_02003D38
- add r5, r0, #0x0
- b _020047C4
-_0200479E:
- mov r0, #0x19
- bl FUN_02003D38
- add r5, r0, #0x0
- b _020047C4
-_020047A8:
- mov r0, #0x1a
- bl FUN_02003D38
- add r5, r0, #0x0
- b _020047C4
-_020047B2:
- mov r0, #0x1b
- bl FUN_02003D38
- add r5, r0, #0x0
- b _020047C4
-_020047BC:
- mov r0, #0x1c
- bl FUN_02003D38
- add r5, r0, #0x0
-_020047C4:
- ldr r0, [r5, #0x0]
- pop {r3-r5, pc}
-
- thumb_func_start FUN_020047C8
-FUN_020047C8: ; 0x020047C8
- push {r4-r6, lr}
- add r5, r1, #0x0
- cmp r0, #0x1
- bne _020047DC
- mov r0, #0xb
- bl FUN_02003D38
- add r6, r0, #0x0
- mov r4, #0x0
- b _020047EA
-_020047DC:
- cmp r0, #0x7
- bne _0200480E
- mov r0, #0xc
- bl FUN_02003D38
- add r6, r0, #0x0
- mov r4, #0x7
-_020047EA:
- cmp r5, #0x0
- bne _02004800
- add r0, r4, #0x0
- bl FUN_02003FF4
- bl FUN_020048EC
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- bl FUN_02004110
-_02004800:
- add r0, r4, #0x0
- bl FUN_02003FF4
- add r1, r5, #0x0
- blx FUN_020C0F8C
- strb r5, [r6, #0x0]
-_0200480E:
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02004810
-FUN_02004810: ; 0x02004810
- push {r4, lr}
- mov r0, #0xb
- bl FUN_02003D38
- add r4, r0, #0x0
- mov r0, #0xc
- bl FUN_02003D38
- mov r1, #0x0
- strb r1, [r4, #0x0]
- strb r1, [r0, #0x0]
- pop {r4, pc}
-
- thumb_func_start FUN_02004828
-FUN_02004828: ; 0x02004828
- push {r3-r5, lr}
- add r5, r1, #0x0
- add r4, r2, #0x0
- bl FUN_02003FF4
- add r1, r5, #0x0
- add r2, r4, #0x0
- blx FUN_020C0EF4
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0200483C
-FUN_0200483C: ; 0x0200483C
- push {r4, lr}
- add r4, r1, #0x0
- bpl _02004844
- mov r4, #0x0
-_02004844:
- cmp r4, #0x7f
- ble _0200484A
- mov r4, #0x7f
-_0200484A:
- bl FUN_02003FF4
- add r1, r4, #0x0
- blx FUN_020C0F30
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02004858
-FUN_02004858: ; 0x02004858
- push {r3-r5, lr}
- add r5, r1, #0x0
- blx FUN_020C23FC
- cmp r5, #0x1
- beq _02004868
- cmp r5, #0x8
- bne _0200486C
-_02004868:
- mov r4, #0x7f
- b _02004872
-_0200486C:
- cmp r0, #0x0
- beq _0200488A
- ldrb r4, [r0, #0x2]
-_02004872:
- bl FUN_020313EC
- cmp r0, #0x1
- bne _0200488A
- add r0, r4, #0x0
- mov r1, #0x5
- blx _s32_div_f
- add r1, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0200483C
-_0200488A:
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0200488C
-FUN_0200488C: ; 0x0200488C
- push {r4, lr}
- add r4, r1, #0x0
- bl FUN_020048D0
- bl FUN_02004018
- add r1, r4, #0x0
- bl FUN_0200483C
- pop {r4, pc}
-
- thumb_func_start FUN_020048A0
-FUN_020048A0: ; 0x020048A0
- push {r3-r5, lr}
- add r5, r1, #0x0
- add r4, r2, #0x0
- bl FUN_02003FF4
- mov r2, #0x0
- mvn r2, r2
- add r1, r5, #0x0
- add r3, r2, #0x0
- str r4, [sp, #0x0]
- blx FUN_020C3910
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_020048BC
-FUN_020048BC: ; 0x020048BC
- push {r4, lr}
- add r4, r0, #0x0
- bpl _020048C6
- bl ErrorHandling
-_020048C6:
- add r0, r4, #0x0
- blx FUN_020C0F50
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_020048D0
-FUN_020048D0: ; 0x020048D0
- push {r3, lr}
- cmp r0, #0x0
- bne _020048DA
- mov r0, #0xff
- pop {r3, pc}
-_020048DA:
- blx FUN_020C23FC
- cmp r0, #0x0
- bne _020048E6
- mov r0, #0xff
- pop {r3, pc}
-_020048E6:
- ldrb r0, [r0, #0x5]
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_020048EC
-FUN_020048EC: ; 0x020048EC
- ldr r3, _020048F0 ; =FUN_020C0E14
- bx r3
- .balign 4
-_020048F0: .word FUN_020C0E14
-
- thumb_func_start FUN_020048F4
-FUN_020048F4: ; 0x020048F4
- push {r3, lr}
- bl FUN_02004900
- blx FUN_020C22D0
- pop {r3, pc}
-
- thumb_func_start FUN_02004900
-FUN_02004900: ; 0x02004900
- push {r3, lr}
- blx FUN_020C23FC
- cmp r0, #0x0
- bne _0200490E
- mov r0, #0x0
- pop {r3, pc}
-_0200490E:
- ldrh r0, [r0, #0x0]
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_02004914
-FUN_02004914: ; 0x02004914
- ldr r3, _02004918 ; =MIC_StartAutoSampling
- bx r3
- .balign 4
-_02004918: .word MIC_StartAutoSampling
-
- thumb_func_start FUN_0200491C
-FUN_0200491C: ; 0x0200491C
- push {r3, lr}
- bl FUN_02003D30
- blx MIC_StopAutoSampling
- pop {r3, pc}
-
- thumb_func_start FUN_02004928
-FUN_02004928: ; 0x02004928
- push {r3, lr}
- blx MIC_DoSamplingAsync
- pop {r3, pc}
-
- thumb_func_start FUN_02004930
-FUN_02004930: ; 0x02004930
- push {r4-r6, lr}
- add r5, r0, #0x0
- bl FUN_02003D30
- mov r0, #0xf
- bl FUN_02003D38
- add r6, r0, #0x0
- mov r0, #0x10
- bl FUN_02003D38
- add r4, r0, #0x0
- cmp r5, #0xe
- beq _02004954
- cmp r5, #0xf
- beq _02004954
- bl ErrorHandling
-_02004954:
- cmp r5, #0xe
- bne _02004962
- ldrb r0, [r6, #0x0]
- cmp r0, #0x0
- bne _02004962
- bl ErrorHandling
-_02004962:
- cmp r5, #0xf
- bne _02004970
- ldrb r0, [r4, #0x0]
- cmp r0, #0x0
- bne _02004970
- bl ErrorHandling
-_02004970:
- cmp r5, #0xe
- bne _0200497C
- mov r0, #0x0
- bl FUN_02003D38
- pop {r4-r6, pc}
-_0200497C:
- mov r0, #0x1
- bl FUN_02003D38
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02004984
-FUN_02004984: ; 0x02004984
- push {r4-r6, lr}
- add r5, r0, #0x0
- bl FUN_02003D30
- mov r0, #0xf
- bl FUN_02003D38
- add r6, r0, #0x0
- mov r0, #0x10
- bl FUN_02003D38
- add r4, r0, #0x0
- cmp r5, #0xe
- beq _020049A8
- cmp r5, #0xf
- beq _020049A8
- bl ErrorHandling
-_020049A8:
- cmp r5, #0xe
- bne _020049D6
- ldrb r0, [r6, #0x0]
- cmp r0, #0x0
- bne _020049D0
- mov r0, #0x0
- bl FUN_02003D38
- add r4, r0, #0x0
- add r0, r5, #0x0
- blx FUN_020C0688
- str r0, [r4, #0x0]
- cmp r0, #0x0
- bne _020049CA
- mov r0, #0x0
- pop {r4-r6, pc}
-_020049CA:
- mov r0, #0x1
- strb r0, [r6, #0x0]
- b _020049FE
-_020049D0:
- bl ErrorHandling
- b _020049FE
-_020049D6:
- ldrb r0, [r4, #0x0]
- cmp r0, #0x0
- bne _020049FA
- mov r0, #0x1
- bl FUN_02003D38
- add r6, r0, #0x0
- add r0, r5, #0x0
- blx FUN_020C0688
- str r0, [r6, #0x0]
- cmp r0, #0x0
- bne _020049F4
- mov r0, #0x0
- pop {r4-r6, pc}
-_020049F4:
- mov r0, #0x1
- strb r0, [r4, #0x0]
- b _020049FE
-_020049FA:
- bl ErrorHandling
-_020049FE:
- mov r0, #0x1
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02004A04
-FUN_02004A04: ; 0x02004A04
- push {r4-r6, lr}
- add r5, r0, #0x0
- bl FUN_02003D30
- mov r0, #0xf
- bl FUN_02003D38
- add r6, r0, #0x0
- mov r0, #0x10
- bl FUN_02003D38
- add r4, r0, #0x0
- cmp r5, #0xe
- beq _02004A2A
- cmp r5, #0xf
- beq _02004A2A
- bl ErrorHandling
- pop {r4-r6, pc}
-_02004A2A:
- cmp r5, #0xe
- bne _02004A4C
- ldrb r0, [r6, #0x0]
- cmp r0, #0x1
- bne _02004A46
- add r0, r5, #0x0
- bl FUN_02004930
- ldr r0, [r0, #0x0]
- blx FUN_020C0670
- mov r0, #0x0
- strb r0, [r6, #0x0]
- pop {r4-r6, pc}
-_02004A46:
- bl ErrorHandling
- pop {r4-r6, pc}
-_02004A4C:
- ldrb r0, [r4, #0x0]
- cmp r0, #0x1
- bne _02004A64
- add r0, r5, #0x0
- bl FUN_02004930
- ldr r0, [r0, #0x0]
- blx FUN_020C0670
- mov r0, #0x0
- strb r0, [r4, #0x0]
- pop {r4-r6, pc}
-_02004A64:
- bl ErrorHandling
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02004A6C
-FUN_02004A6C: ; 0x02004A6C
- push {r3-r5, lr}
- sub sp, #0x18
- add r3, r0, #0x0
- ldr r0, [r3, #0x10]
- add r4, r1, #0x0
- str r0, [sp, #0x0]
- ldr r0, [r3, #0x14]
- str r0, [sp, #0x4]
- ldr r0, [r3, #0x18]
- str r0, [sp, #0x8]
- ldr r0, [r3, #0x1c]
- str r0, [sp, #0xc]
- ldr r0, [r3, #0x20]
- str r0, [sp, #0x10]
- ldr r0, [r3, #0x24]
- str r0, [sp, #0x14]
- ldr r0, [r3, #0x0]
- ldr r1, [r3, #0x4]
- ldr r2, [r3, #0x8]
- ldr r0, [r0, #0x0]
- ldr r3, [r3, #0xc]
- blx FUN_020C054C
- add r5, r0, #0x0
- bne _02004AA4
- add r0, r4, #0x0
- bl FUN_02004A04
-_02004AA4:
- add r0, r5, #0x0
- add sp, #0x18
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02004AAC
-FUN_02004AAC: ; 0x02004AAC
- push {r3, lr}
- bl FUN_02004930
- ldr r0, [r0, #0x0]
- blx FUN_020C0510
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_02004ABC
-FUN_02004ABC: ; 0x02004ABC
- push {r3, lr}
- bl FUN_02004930
- ldr r0, [r0, #0x0]
- blx FUN_020C03B8
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_02004ACC
-FUN_02004ACC: ; 0x02004ACC
- push {r4, lr}
- add r4, r1, #0x0
- cmp r4, #0x7f
- bls _02004AD6
- mov r4, #0x7f
-_02004AD6:
- bl FUN_02004930
- ldr r0, [r0, #0x0]
- add r1, r4, #0x0
- blx FUN_020C041C
- pop {r4, pc}
-
- thumb_func_start FUN_02004AE4
-FUN_02004AE4: ; 0x02004AE4
- push {r4, lr}
- add r4, r1, #0x0
- bl FUN_02004930
- ldr r0, [r0, #0x0]
- add r1, r4, #0x0
- blx FUN_020C044C
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02004AF8
-FUN_02004AF8: ; 0x02004AF8
- push {r3-r5, lr}
- add r4, r0, #0x0
- add r5, r1, #0x0
- bl FUN_020313EC
- cmp r0, #0x1
- bne _02004B20
- add r0, r4, #0x0
- bl FUN_02004930
- add r4, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0x5
- blx _s32_div_f
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- blx FUN_020C04DC
- pop {r3-r5, pc}
-_02004B20:
- add r0, r4, #0x0
- bl FUN_02004930
- ldr r0, [r0, #0x0]
- add r1, r5, #0x0
- blx FUN_020C04DC
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02004B30
-FUN_02004B30: ; 0x02004B30
- push {r3-r7, lr}
- sub sp, #0x30
- add r6, r0, #0x0
- str r1, [sp, #0x0]
- str r2, [sp, #0x4]
- add r5, r3, #0x0
- bl FUN_02003D30
- mov r0, #0x21
- bl FUN_02003D38
- add r4, r0, #0x0
- cmp r5, #0xe
- beq _02004B54
- cmp r5, #0xf
- beq _02004B54
- bl ErrorHandling
-_02004B54:
- add r0, r6, #0x0
- blx FUN_020C226C
- add r7, r0, #0x0
- bne _02004B68
- bl ErrorHandling
- add sp, #0x30
- mov r0, #0x0
- pop {r3-r7, pc}
-_02004B68:
- ldr r0, [r7, #0x0]
- lsl r0, r0, #0x8
- lsr r0, r0, #0x8
- blx FUN_020C217C
- add r6, r0, #0x0
- bne _02004B80
- bl ErrorHandling
- add sp, #0x30
- mov r0, #0x0
- pop {r3-r7, pc}
-_02004B80:
- cmp r5, #0xe
- bne _02004BCE
- ldr r0, [sp, #0x48]
- add r1, r6, #0x0
- bl FUN_02016998
- str r0, [r4, #0x0]
- cmp r0, #0x0
- bne _02004B9C
- bl ErrorHandling
- add sp, #0x30
- mov r0, #0x0
- pop {r3-r7, pc}
-_02004B9C:
- mov r1, #0x0
- add r2, r6, #0x0
- blx Call_FillMemWithValue
- ldr r0, [r7, #0x0]
- ldr r1, [r4, #0x0]
- lsl r0, r0, #0x8
- lsr r0, r0, #0x8
- add r2, r6, #0x0
- mov r3, #0x0
- blx FUN_020C2104
- mov r1, #0x0
- mvn r1, r1
- cmp r0, r1
- bne _02004BC6
- bl ErrorHandling
- add sp, #0x30
- mov r0, #0x0
- pop {r3-r7, pc}
-_02004BC6:
- ldr r0, [r4, #0x0]
- add r1, r6, #0x0
- bl FUN_02004C1C
-_02004BCE:
- add r0, r5, #0x0
- bl FUN_02004930
- mov r1, #0x0
- str r1, [sp, #0xc]
- str r0, [sp, #0x8]
- ldr r0, [r4, #0x0]
- str r0, [sp, #0x10]
- ldr r0, _02004C18 ; =0x00003443
- str r1, [sp, #0x14]
- str r0, [sp, #0x20]
- ldr r0, [sp, #0x0]
- str r1, [sp, #0x18]
- str r0, [sp, #0x24]
- mov r0, #0x6
- lsl r0, r0, #0xc
- str r0, [sp, #0x28]
- ldr r0, [sp, #0x4]
- add r1, r5, #0x0
- str r0, [sp, #0x2c]
- add r0, sp, #0x8
- str r6, [sp, #0x1c]
- bl FUN_02004A6C
- add r4, r0, #0x0
- ldr r1, [sp, #0x0]
- add r0, r5, #0x0
- bl FUN_02004AF8
- mov r0, #0xe
- bl FUN_02003D38
- mov r1, #0x1
- strb r1, [r0, #0x0]
- add r0, r4, #0x0
- add sp, #0x30
- pop {r3-r7, pc}
- .balign 4
-_02004C18: .word 0x00003443
-
- thumb_func_start FUN_02004C1C
-FUN_02004C1C: ; 0x02004C1C
- push {r3-r6}
- mov r5, #0x0
- lsr r6, r1, #0x1
- beq _02004C36
- sub r2, r1, #0x1
-_02004C26:
- sub r3, r2, r5
- ldrb r4, [r0, r5]
- ldrb r1, [r0, r3]
- strb r1, [r0, r5]
- add r5, r5, #0x1
- strb r4, [r0, r3]
- cmp r5, r6
- blo _02004C26
-_02004C36:
- pop {r3-r6}
- bx lr
- .balign 4
-
- thumb_func_start FUN_02004C3C
-FUN_02004C3C: ; 0x02004C3C
- push {r4-r6, lr}
- add r5, r0, #0x0
- bl FUN_02003D30
- mov r0, #0xe
- bl FUN_02003D38
- add r4, r0, #0x0
- mov r0, #0x21
- bl FUN_02003D38
- add r6, r0, #0x0
- cmp r5, #0xe
- beq _02004C60
- cmp r5, #0xf
- beq _02004C60
- bl ErrorHandling
-_02004C60:
- add r0, r5, #0x0
- bl FUN_02004AAC
- ldrb r0, [r4, #0x0]
- cmp r0, #0x1
- bne _02004C76
- mov r0, #0x0
- strb r0, [r4, #0x0]
- ldr r0, [r6, #0x0]
- bl FUN_02016A18
-_02004C76:
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02004C78
-FUN_02004C78: ; 0x02004C78
- ldr r3, _02004C7C ; =FUN_020C1E58
- bx r3
- .balign 4
-_02004C7C: .word FUN_020C1E58
-
- thumb_func_start FUN_02004C80
-FUN_02004C80: ; 0x02004C80
- push {r3-r4, lr}
- sub sp, #0x4
- add r4, r0, #0x0
- bl FUN_02003D30
- mov r0, #0x3
- bl FUN_02003D38
- mov r1, #0x1
- mov r3, #0xfa
- lsl r1, r1, #0xc
- mov r2, #0x0
- lsl r3, r3, #0x6
- str r4, [sp, #0x0]
- blx FUN_020C1FF0
- add sp, #0x4
- pop {r3-r4, pc}
-
- thumb_func_start FUN_02004CA4
-FUN_02004CA4: ; 0x02004CA4
- ldr r3, _02004CA8 ; =FUN_020C1F54
- bx r3
- .balign 4
-_02004CA8: .word FUN_020C1F54
-
- thumb_func_start FUN_02004CAC
-FUN_02004CAC: ; 0x02004CAC
- ldr r3, _02004CB0 ; =FUN_020C1FA4
- bx r3
- .balign 4
-_02004CB0: .word FUN_020C1FA4
-
- thumb_func_start FUN_02004CB4
-FUN_02004CB4: ; 0x02004CB4
- push {r3-r4, lr}
- sub sp, #0xc
- bl FUN_02003D30
- mov r0, #0x4
- bl FUN_02003D38
- mov r1, #0x0
- mov r2, #0x1c
- blx MI_CpuFill8
- mov r0, #0x3
- bl FUN_02003D38
- add r4, r0, #0x0
- mov r0, #0x4
- bl FUN_02003D38
- mov r2, #0x2
- ldr r1, _02004CF4 ; =FUN_02005068
- str r2, [sp, #0x0]
- str r1, [sp, #0x4]
- str r0, [sp, #0x8]
- lsl r1, r2, #0xb
- ldr r3, _02004CF8 ; =0x000055F0
- add r0, r4, #0x0
- mov r2, #0x0
- blx FUN_020C1EA4
- add sp, #0xc
- pop {r3-r4, pc}
- nop
-_02004CF4: .word FUN_02005068
-_02004CF8: .word 0x000055F0
-
- thumb_func_start FUN_02004CFC
-FUN_02004CFC: ; 0x02004CFC
- ldr r3, _02004D00 ; =FUN_020C1E68
- bx r3
- .balign 4
-_02004D00: .word FUN_020C1E68
-
- thumb_func_start FUN_02004D04
-FUN_02004D04: ; 0x02004D04
- push {r4, lr}
- add r4, r0, #0x0
- mov r0, #0x13
- bl FUN_02003D38
- cmp r4, #0x8
- ble _02004D16
- mov r4, #0x8
- b _02004D1C
-_02004D16:
- cmp r4, #0x0
- bge _02004D1C
- mov r4, #0x0
-_02004D1C:
- strb r4, [r0, #0x0]
- pop {r4, pc}
-
- thumb_func_start FUN_02004D20
-FUN_02004D20: ; 0x02004D20
- push {r3-r5, lr}
- add r5, r1, #0x0
- add r4, r2, #0x0
- bl FUN_02003FF4
- add r1, r5, #0x0
- add r2, r4, #0x0
- blx FUN_020C0EA4
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02004D34
-FUN_02004D34: ; 0x02004D34
- push {r3-r5, lr}
- add r5, r1, #0x0
- add r4, r2, #0x0
- bl FUN_020048D0
- bl FUN_02004018
- add r1, r5, #0x0
- add r2, r4, #0x0
- bl FUN_02004D20
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02004D4C
-FUN_02004D4C: ; 0x02004D4C
- push {r3-r5, lr}
- add r5, r1, #0x0
- add r4, r2, #0x0
- bl FUN_02003FF4
- add r1, r5, #0x0
- add r2, r4, #0x0
- blx FUN_020C0E7C
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02004D60
-FUN_02004D60: ; 0x02004D60
- push {r4, lr}
- add r4, r0, #0x0
- blx FUN_020C0174
- ldr r0, _02004D70 ; =0x021C3DD8
- str r4, [r0, #0x0]
- pop {r4, pc}
- nop
-_02004D70: .word 0x021C3DD8
-
- thumb_func_start FUN_02004D74
-FUN_02004D74: ; 0x02004D74
- push {r4, lr}
- add r4, r0, #0x0
- mov r0, #0x6
- bl FUN_02003D38
- str r4, [r0, #0x0]
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02004D84
-FUN_02004D84: ; 0x02004D84
- push {r4, lr}
- add r4, r0, #0x0
- mov r0, #0x7
- bl FUN_02003D38
- str r4, [r0, #0x0]
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02004D94
-FUN_02004D94: ; 0x02004D94
- push {r3, lr}
- mov r0, #0x7
- bl FUN_02003D38
- ldrh r1, [r0, #0x0]
- cmp r1, #0x0
- bne _02004DAA
- mov r1, #0x0
- strh r1, [r0, #0x0]
- add r0, r1, #0x0
- pop {r3, pc}
-_02004DAA:
- sub r1, r1, #0x1
- strh r1, [r0, #0x0]
- ldrh r0, [r0, #0x0]
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_02004DB4
-FUN_02004DB4: ; 0x02004DB4
- ldr r0, _02004DB8 ; =0x021C3DE0
- bx lr
- .balign 4
-_02004DB8: .word 0x021C3DE0
-
- thumb_func_start FUN_02004DBC
-FUN_02004DBC: ; 0x02004DBC
- push {r4, lr}
- add r4, r0, #0x0
- mov r0, #0x12
- bl FUN_02003D38
- strb r4, [r0, #0x0]
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02004DCC
-FUN_02004DCC: ; 0x02004DCC
- push {r4-r7, lr}
- sub sp, #0xc
- add r5, r0, #0x0
- mov r0, #0x15
- add r6, r1, #0x0
- add r7, r2, #0x0
- str r3, [sp, #0x8]
- bl FUN_02003D38
- add r4, r0, #0x0
- add r0, sp, #0x10
- ldrb r0, [r0, #0x10]
- ldr r3, [sp, #0x8]
- add r1, r6, #0x0
- str r0, [sp, #0x0]
- ldr r0, [sp, #0x24]
- add r2, r7, #0x0
- str r0, [sp, #0x4]
- add r0, r5, #0x0
- bl FUN_02004E44
- mov r0, #0x0
- strb r0, [r4, #0x0]
- mov r0, #0x5
- bl FUN_02003CE8
- mov r0, #0x1
- add sp, #0xc
- pop {r4-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02004E08
-FUN_02004E08: ; 0x02004E08
- push {r4-r7, lr}
- sub sp, #0xc
- add r5, r0, #0x0
- mov r0, #0x8
- add r6, r1, #0x0
- add r7, r2, #0x0
- str r3, [sp, #0x8]
- bl FUN_02003D38
- add r4, r0, #0x0
- add r0, sp, #0x10
- ldrb r0, [r0, #0x14]
- ldr r3, [sp, #0x8]
- add r1, r6, #0x0
- str r0, [sp, #0x0]
- ldr r0, [sp, #0x28]
- add r2, r7, #0x0
- str r0, [sp, #0x4]
- add r0, r5, #0x0
- bl FUN_02004E44
- ldr r0, [sp, #0x20]
- str r0, [r4, #0x0]
- mov r0, #0x6
- bl FUN_02003CE8
- mov r0, #0x1
- add sp, #0xc
- pop {r4-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02004E44
-FUN_02004E44: ; 0x02004E44
- push {r3-r7, lr}
- add r6, r2, #0x0
- mov r0, #0x2
- add r5, r1, #0x0
- add r7, r3, #0x0
- bl FUN_02003D38
- add r4, r0, #0x0
- mov r0, #0x0
- add r1, r6, #0x0
- bl FUN_020053CC
- mov r0, #0x0
- bl FUN_02004110
- add r0, r5, #0x0
- bl FUN_02004130
- add r0, r7, #0x0
- bl FUN_02004D84
- add r0, r5, #0x0
- bl FUN_020048F4
- str r0, [r4, #0x0]
- add r0, sp, #0x8
- ldrb r0, [r0, #0x10]
- bl FUN_02004DBC
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02004E80
-FUN_02004E80: ; 0x02004E80
- cmp r0, #0x0
- bne _02004E88
- mov r0, #0x0
- bx lr
-_02004E88:
- add r0, #0xc
- bx lr
-
- thumb_func_start FUN_02004E8C
-FUN_02004E8C: ; 0x02004E8C
- cmp r0, #0x0
- bne _02004E94
- mov r0, #0x0
- bx lr
-_02004E94:
- ldr r0, [r0, #0x8]
- bx lr
-
- thumb_func_start FUN_02004E98
-FUN_02004E98: ; 0x02004E98
- push {r3-r5, lr}
- add r5, r0, #0x0
- mov r0, #0x5
- bl FUN_02004748
- bl FUN_02003F64
- lsl r0, r5, #0x10
- lsr r4, r0, #0x10
- ldr r0, _02004ECC ; =0x000001B9
- cmp r4, r0
- beq _02004EBC
- add r0, #0x36
- cmp r5, r0
- bgt _02004EBA
- cmp r5, #0x0
- bne _02004EBC
-_02004EBA:
- mov r4, #0x1
-_02004EBC:
- add r0, r4, #0x0
- bl FUN_02003FC4
- add r0, r4, #0x0
- bl FUN_02004ED0
- pop {r3-r5, pc}
- nop
-_02004ECC: .word 0x000001B9
-
- thumb_func_start FUN_02004ED0
-FUN_02004ED0: ; 0x02004ED0
- push {r3-r5, lr}
- add r5, r0, #0x0
- mov r0, #0x20
- bl FUN_02003D38
- add r4, r0, #0x0
- lsl r0, r5, #0x10
- ldr r1, _02004F24 ; =0x000001B9
- lsr r0, r0, #0x10
- cmp r0, r1
- beq _02004EF2
- add r1, #0x36
- cmp r5, r1
- bgt _02004EF0
- cmp r5, #0x0
- bne _02004EF2
-_02004EF0:
- mov r0, #0x1
-_02004EF2:
- blx FUN_020C226C
- cmp r0, #0x0
- bne _02004F02
- bl ErrorHandling
- mov r0, #0x0
- pop {r3-r5, pc}
-_02004F02:
- ldr r0, [r0, #0x0]
- lsl r0, r0, #0x8
- lsr r0, r0, #0x8
- blx FUN_020C20DC
- cmp r0, #0x0
- bne _02004F18
- bl ErrorHandling
- mov r0, #0x0
- pop {r3-r5, pc}
-_02004F18:
- mov r1, #0x0
- blx SND_GetWaveDataAddress
- str r0, [r4, #0x0]
- pop {r3-r5, pc}
- nop
-_02004F24: .word 0x000001B9
-
- thumb_func_start FUN_02004F28
-FUN_02004F28: ; 0x02004F28
- push {r4-r6, lr}
- mov r0, #0x1
- add r5, r1, #0x0
- add r6, r2, #0x0
- bl FUN_02004F64
- mov r1, #0x3
- add r4, r0, #0x0
- add r0, r6, #0x0
- lsl r1, r1, #0x8
- ldr r5, [r5, #0x8]
- blx _s32_div_f
- lsl r1, r0, #0x1
- bpl _02004F50
- mov r0, #0x20
- blx _s32_div_f
- neg r0, r0
- b _02004F5A
-_02004F50:
- cmp r1, #0x0
- bne _02004F58
- mov r0, #0x20
- b _02004F5A
-_02004F58:
- lsl r0, r1, #0x5
-_02004F5A:
- mul r0, r4
- cmp r0, r5
- blo _02004F62
- mov r0, #0x0
-_02004F62:
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02004F64
-FUN_02004F64: ; 0x02004F64
- push {r3, lr}
- bl FUN_02003FF4
- blx FUN_020C0DD4
- pop {r3, pc}
-
- thumb_func_start FUN_02004F70
-FUN_02004F70: ; 0x02004F70
- push {r3-r7, lr}
- sub sp, #0x8
- str r0, [sp, #0x0]
- add r4, r1, #0x0
- add r6, r2, #0x0
- ldr r1, [sp, #0x0]
- mov r0, #0x1
- add r2, r3, #0x0
- bl FUN_02004F28
- add r1, r0, #0x0
- mov r12, r0
- sub r1, #0x64
- bpl _02004F8E
- mov r1, #0x0
-_02004F8E:
- ldr r0, [sp, #0x0]
- mov r3, #0x0
- add r0, r0, r1
- ldrb r0, [r0, #0xc]
- add r7, r3, #0x0
- cmp r0, #0x80
- bhs _02004FA0
- mov r0, #0x1
- b _02004FA2
-_02004FA0:
- sub r0, r3, #0x1
-_02004FA2:
- lsl r0, r0, #0x18
- asr r5, r0, #0x18
- mov r0, r12
- cmp r1, r0
- bhs _02005022
-_02004FAC:
- mov r0, #0x0
- cmp r5, #0x0
- ble _02004FC6
- ldr r2, [sp, #0x0]
- add r2, r2, r1
- str r2, [sp, #0x4]
- ldrb r2, [r2, #0xc]
- cmp r2, #0x80
- bls _02004FC2
- mov r0, #0x1
- b _02004FD8
-_02004FC2:
- add r3, r3, #0x1
- b _02004FD8
-_02004FC6:
- ldr r2, [sp, #0x0]
- add r2, r2, r1
- str r2, [sp, #0x4]
- ldrb r2, [r2, #0xc]
- cmp r2, #0x80
- bhs _02004FD6
- mov r0, #0x1
- b _02004FD8
-_02004FD6:
- add r3, r3, #0x1
-_02004FD8:
- cmp r0, #0x1
- bne _0200501A
- ldr r5, _02005064 ; =0x020ECB8C
- mov r2, #0x0
-_02004FE0:
- ldrb r0, [r5, #0x0]
- cmp r3, r0
- bge _02004FEA
- add r7, r2, #0x0
- b _02004FF2
-_02004FEA:
- add r2, r2, #0x1
- add r5, r5, #0x1
- cmp r2, #0x9
- blt _02004FE0
-_02004FF2:
- cmp r7, r6
- blt _02004FF8
- sub r7, r6, #0x1
-_02004FF8:
- cmp r3, #0x0
- beq _02005006
- sub r0, r6, #0x1
- sub r0, r0, r7
- ldrb r2, [r4, r0]
- add r2, r2, #0x1
- strb r2, [r4, r0]
-_02005006:
- ldr r0, [sp, #0x4]
- mov r3, #0x0
- ldrb r0, [r0, #0xc]
- cmp r0, #0x80
- bhs _02005014
- mov r0, #0x1
- b _02005016
-_02005014:
- sub r0, r3, #0x1
-_02005016:
- lsl r0, r0, #0x18
- asr r5, r0, #0x18
-_0200501A:
- add r1, r1, #0x2
- mov r0, r12
- cmp r1, r0
- blo _02004FAC
-_02005022:
- mov r2, #0x0
- cmp r6, #0x0
- ble _02005038
- mov r0, #0x9
-_0200502A:
- ldrb r1, [r4, r2]
- cmp r1, #0xa
- blo _02005032
- strb r0, [r4, r2]
-_02005032:
- add r2, r2, #0x1
- cmp r2, r6
- blt _0200502A
-_02005038:
- sub r2, r6, #0x1
- mov r3, #0x0
- cmp r2, #0x0
- ble _02005060
-_02005040:
- ldrb r0, [r4, r3]
- add r1, r4, r3
- cmp r0, #0x0
- bne _0200505A
- ldrb r0, [r1, #0x1]
- cmp r0, #0x0
- beq _0200505A
- add r0, r3, #0x1
- ldrb r0, [r4, r0]
- add sp, #0x8
- lsr r0, r0, #0x1
- strb r0, [r1, #0x0]
- pop {r3-r7, pc}
-_0200505A:
- add r3, r3, #0x1
- cmp r3, r2
- blt _02005040
-_02005060:
- add sp, #0x8
- pop {r3-r7, pc}
- .balign 4
-_02005064: .word 0x020ECB8C
-
- thumb_func_start FUN_02005068
-FUN_02005068: ; 0x02005068
- push {r3-r7, lr}
- sub sp, #0x30
- add r5, r0, #0x0
- ldr r0, [sp, #0x48]
- add r6, r1, #0x0
- str r0, [sp, #0xc]
- mov r0, #0x13
- str r2, [sp, #0x0]
- add r4, r3, #0x0
- bl FUN_02003D38
- add r7, r0, #0x0
- cmp r4, #0x1
- beq _0200508A
- ldr r0, [sp, #0x0]
- lsr r0, r0, #0x1
- str r0, [sp, #0x0]
-_0200508A:
- ldrb r2, [r7, #0x0]
- cmp r2, #0x0
- beq _0200515A
- mov r0, #0x0
- cmp r2, #0x0
- ble _020050BC
- add r1, sp, #0x10
-_02005098:
- ldr r3, [sp, #0x0]
- sub r2, r3, r2
- add r2, r0, r2
- lsl r2, r2, #0x1
- ldrsh r2, [r5, r2]
- strh r2, [r1, #0x0]
- ldrb r3, [r7, #0x0]
- ldr r2, [sp, #0x0]
- sub r2, r2, r3
- add r2, r0, r2
- lsl r2, r2, #0x1
- ldrsh r2, [r6, r2]
- add r0, r0, #0x1
- strh r2, [r1, #0x2]
- ldrb r2, [r7, #0x0]
- add r1, r1, #0x4
- cmp r0, r2
- blt _02005098
-_020050BC:
- ldr r0, [sp, #0x0]
- sub r4, r0, #0x1
- sub r0, r2, #0x1
- cmp r4, r0
- blt _02005126
- lsl r1, r4, #0x1
- add r0, r5, r1
- str r0, [sp, #0x8]
- add r0, r6, r1
- str r0, [sp, #0x4]
-_020050D0:
- mov r0, #0x0
- add r1, r0, #0x0
- cmp r2, #0x0
- ble _020050E6
-_020050D8:
- sub r3, r4, r1
- lsl r3, r3, #0x1
- ldrsh r3, [r5, r3]
- add r1, r1, #0x1
- add r0, r0, r3
- cmp r1, r2
- blt _020050D8
-_020050E6:
- add r1, r2, #0x0
- blx _s32_div_f
- ldr r1, [sp, #0x8]
- strh r0, [r1, #0x0]
- mov r0, #0x0
- ldrb r1, [r7, #0x0]
- add r2, r0, #0x0
- cmp r1, #0x0
- ble _02005108
-_020050FA:
- sub r3, r4, r2
- lsl r3, r3, #0x1
- ldrsh r3, [r6, r3]
- add r2, r2, #0x1
- add r0, r0, r3
- cmp r2, r1
- blt _020050FA
-_02005108:
- blx _s32_div_f
- ldr r1, [sp, #0x4]
- sub r4, r4, #0x1
- strh r0, [r1, #0x0]
- ldr r0, [sp, #0x8]
- ldrb r2, [r7, #0x0]
- sub r0, r0, #0x2
- str r0, [sp, #0x8]
- add r0, r1, #0x0
- sub r0, r0, #0x2
- str r0, [sp, #0x4]
- sub r0, r2, #0x1
- cmp r4, r0
- bge _020050D0
-_02005126:
- mov r1, #0x0
- cmp r2, #0x0
- ble _0200514A
- add r0, sp, #0x10
- mov r4, #0x2
-_02005130:
- mov r2, #0x0
- ldrsh r3, [r0, r2]
- ldr r2, [sp, #0xc]
- add r1, r1, #0x1
- strh r3, [r2, #0x0]
- ldrsh r3, [r0, r4]
- add r0, r0, #0x4
- strh r3, [r2, #0x2]
- add r2, r2, #0x4
- str r2, [sp, #0xc]
- ldrb r2, [r7, #0x0]
- cmp r1, r2
- blt _02005130
-_0200514A:
- ldr r1, [sp, #0x0]
- add r0, r5, #0x0
- blx DC_FlushRange
- ldr r1, [sp, #0x0]
- add r0, r6, #0x0
- blx DC_FlushRange
-_0200515A:
- add sp, #0x30
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02005160
-FUN_02005160: ; 0x02005160
- ldr r3, _02005168 ; =FUN_020C1148
- add r1, r0, #0x0
- mov r0, #0x7
- bx r3
- .balign 4
-_02005168: .word FUN_020C1148
-
- thumb_func_start FUN_0200516C
-FUN_0200516C: ; 0x0200516C
- push {r3, lr}
- cmp r0, #0x0
- bne _02005180
- ldr r0, _020051A4 ; =0x000007FF
- bl FUN_02005160
- mov r0, #0x0
- bl FUN_02004CA4
- b _0200519C
-_02005180:
- cmp r0, #0x1
- ldr r0, _020051A8 ; =0x00007FFF
- bne _02005192
- bl FUN_02005160
- mov r0, #0x1e
- bl FUN_02004C80
- b _0200519C
-_02005192:
- bl FUN_02005160
- mov r0, #0xf
- bl FUN_02004C80
-_0200519C:
- bl FUN_02004C78
- pop {r3, pc}
- nop
-_020051A4: .word 0x000007FF
-_020051A8: .word 0x00007FFF
-
- thumb_func_start FUN_020051AC
-FUN_020051AC: ; 0x020051AC
- push {r3, lr}
- bl FUN_02005404
- cmp r0, #0x0
- bne _020051E0
- mov r0, #0x0
- bl FUN_02003FF4
- bl FUN_020048EC
- mov r1, #0x0
- mvn r1, r1
- cmp r0, r1
- beq _020051E0
- bl FUN_02004124
- ldr r1, _020051E8 ; =0x0000047E
- cmp r0, r1
- beq _020051E0
- bl FUN_02005454
- mov r0, #0x1
- add r1, r0, #0x0
- bl FUN_020047C8
- pop {r3, pc}
-_020051E0:
- bl FUN_0200541C
- pop {r3, pc}
- nop
-_020051E8: .word 0x0000047E
-
- thumb_func_start FUN_020051EC
-FUN_020051EC: ; 0x020051EC
- ldr r3, _020051F0 ; =FUN_020C1180
- bx r3
- .balign 4
-_020051F0: .word FUN_020C1180
-
- thumb_func_start FUN_020051F4
-FUN_020051F4: ; 0x020051F4
- push {r4-r6, lr}
- add r5, r0, #0x0
- bl FUN_020048D0
- bl FUN_02004018
- add r4, r0, #0x0
- bl FUN_02003FF4
- add r1, r5, #0x0
- blx FUN_020C3980
- add r6, r0, #0x0
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_0200526C
- add r0, r6, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_0200521C
-FUN_0200521C: ; 0x0200521C
- push {r4-r6, lr}
- add r5, r0, #0x0
- bl FUN_020048D0
- add r4, r0, #0x0
- bl FUN_02004018
- add r6, r0, #0x0
- cmp r4, #0x7
- bne _0200523E
- add r0, r5, #0x0
- add r1, r4, #0x0
- add r2, r6, #0x0
- bl FUN_02005288
- add r4, r0, #0x0
- b _02005258
-_0200523E:
- cmp r4, #0x1
- bne _02005250
- add r0, r5, #0x0
- add r1, r4, #0x0
- add r2, r6, #0x0
- bl FUN_020052B8
- add r4, r0, #0x0
- b _02005258
-_02005250:
- bl ErrorHandling
- mov r0, #0x0
- pop {r4-r6, pc}
-_02005258:
- mov r0, #0x0
- bl FUN_02004DBC
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_0200526C
- add r0, r4, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_0200526C
-FUN_0200526C: ; 0x0200526C
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- bl FUN_02004110
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02004858
- mov r0, #0x1
- bl FUN_02003CE8
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02005288
-FUN_02005288: ; 0x02005288
- push {r3-r5, lr}
- add r5, r0, #0x0
- mov r0, #0x3
- add r4, r2, #0x0
- bl FUN_02004748
- bl FUN_02003F64
- add r0, r5, #0x0
- bl FUN_02003F90
- mov r0, #0x1a
- bl FUN_02003D38
- bl FUN_02003F3C
- add r0, r4, #0x0
- bl FUN_02003FF4
- add r1, r5, #0x0
- blx FUN_020C3980
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_020052B8
-FUN_020052B8: ; 0x020052B8
- push {r3-r6, lr}
- sub sp, #0x4
- add r5, r0, #0x0
- mov r0, #0x12
- add r6, r2, #0x0
- bl FUN_02003D38
- mov r0, #0x1f
- bl FUN_02003D38
- add r4, r0, #0x0
- mov r0, #0x0
- bl FUN_02003FF4
- bl FUN_020048EC
- bl FUN_02004900
- add r1, r0, #0x0
- add r0, r5, #0x0
- bl FUN_020045C4
- add r0, r6, #0x0
- bl FUN_02003FF4
- add r6, r0, #0x0
- ldrh r0, [r4, #0x0]
- bl FUN_02004900
- mov r1, #0x0
- mvn r1, r1
- add r2, r0, #0x0
- add r0, r6, #0x0
- add r3, r1, #0x0
- str r5, [sp, #0x0]
- blx FUN_020C3910
- add sp, #0x4
- pop {r3-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02005308
-FUN_02005308: ; 0x02005308
- push {r3-r5, lr}
- add r5, r1, #0x0
- cmp r0, #0x4
- beq _02005318
- bl ErrorHandling
- mov r0, #0x0
- pop {r3-r5, pc}
-_02005318:
- add r0, r5, #0x0
- bl FUN_020048D0
- cmp r0, #0x7
- beq _0200532A
- bl ErrorHandling
- mov r0, #0x0
- pop {r3-r5, pc}
-_0200532A:
- add r0, r5, #0x0
- mov r1, #0x1
- bl FUN_02003FA8
- mov r0, #0x7
- bl FUN_02003FF4
- add r1, r5, #0x0
- blx FUN_020C3980
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02004110
- mov r0, #0x1
- bl FUN_02003CE8
- add r0, r4, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02005350
-FUN_02005350: ; 0x02005350
- push {r4, lr}
- add r4, r0, #0x0
- blx FUN_020C0FDC
- add r0, r4, #0x0
- bl FUN_020048D0
- cmp r0, #0xff
- beq _0200536E
- bl FUN_02004018
- bl FUN_02003FF4
- blx FUN_020C0F68
-_0200536E:
- bl FUN_02005374
- pop {r4, pc}
-
- thumb_func_start FUN_02005374
-FUN_02005374: ; 0x02005374
- push {r3, lr}
- mov r0, #0x0
- bl FUN_02004110
- mov r0, #0x0
- bl FUN_02004130
- mov r0, #0x0
- bl FUN_02003CE8
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0200538C
-FUN_0200538C: ; 0x0200538C
- push {r3-r7, lr}
- add r6, r0, #0x0
- add r5, r1, #0x0
- add r4, r2, #0x0
- bl FUN_02004124
- bl FUN_020048D0
- cmp r0, #0xff
- beq _020053C8
- bl FUN_02004018
- add r7, r0, #0x0
- cmp r4, #0x0
- bne _020053B2
- mov r1, #0x0
- add r2, r1, #0x0
- bl FUN_02004828
-_020053B2:
- add r0, r7, #0x0
- add r1, r6, #0x0
- add r2, r5, #0x0
- bl FUN_02004828
- add r0, r5, #0x0
- bl FUN_02004D74
- mov r0, #0x3
- bl FUN_02003CE8
-_020053C8:
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_020053CC
-FUN_020053CC: ; 0x020053CC
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- bl FUN_02004124
- bl FUN_020048D0
- add r6, r0, #0x0
- cmp r6, #0xff
- beq _02005402
- bl FUN_02005404
- cmp r0, #0x0
- bne _020053FC
- add r0, r6, #0x0
- bl FUN_02004018
- add r1, r5, #0x0
- add r2, r4, #0x0
- bl FUN_02004828
- add r0, r4, #0x0
- bl FUN_02004D74
-_020053FC:
- mov r0, #0x4
- bl FUN_02003CE8
-_02005402:
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02005404
-FUN_02005404: ; 0x02005404
- push {r3, lr}
- mov r0, #0x6
- bl FUN_02003D38
- ldrh r0, [r0, #0x0]
- pop {r3, pc}
-
- thumb_func_start FUN_02005410
-FUN_02005410: ; 0x02005410
- push {r3, lr}
- bl FUN_020048D0
- bl FUN_020048BC
- pop {r3, pc}
-
- thumb_func_start FUN_0200541C
-FUN_0200541C: ; 0x0200541C
- push {r3-r5, lr}
- mov r0, #0xf
- bl FUN_02003D38
- add r5, r0, #0x0
- mov r0, #0x10
- bl FUN_02003D38
- add r4, r0, #0x0
- mov r0, #0x0
- blx FUN_020C0F9C
- ldrb r0, [r5, #0x0]
- cmp r0, #0x1
- bne _02005440
- mov r0, #0xe
- bl FUN_02004AAC
-_02005440:
- ldrb r0, [r4, #0x0]
- cmp r0, #0x1
- bne _0200544C
- mov r0, #0xf
- bl FUN_02004AAC
-_0200544C:
- mov r0, #0x0
- bl FUN_02003CE8
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02005454
-FUN_02005454: ; 0x02005454
- push {r3-r7, lr}
- mov r0, #0xf
- bl FUN_02003D38
- add r7, r0, #0x0
- mov r0, #0x10
- bl FUN_02003D38
- add r6, r0, #0x0
- mov r0, #0x7
- bl FUN_02003FF4
- mov r1, #0x0
- blx FUN_020C10A4
- bl FUN_02005374
- mov r5, #0x0
- add r4, r5, #0x0
-_0200547A:
- add r0, r5, #0x3
- add r1, r4, #0x0
- bl FUN_020054F8
- add r5, r5, #0x1
- cmp r5, #0x4
- blt _0200547A
- mov r0, #0x0
- bl FUN_02005614
- ldrb r0, [r7, #0x0]
- cmp r0, #0x1
- bne _0200549A
- mov r0, #0xe
- bl FUN_02004AAC
-_0200549A:
- ldrb r0, [r6, #0x0]
- cmp r0, #0x1
- bne _020054A6
- mov r0, #0xf
- bl FUN_02004AAC
-_020054A6:
- pop {r3-r7, pc}
-
- thumb_func_start FUN_020054A8
-FUN_020054A8: ; 0x020054A8
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- bl FUN_020054C8
- add r6, r0, #0x0
- ldr r1, _020054C4 ; =0x0000FFFF
- add r0, r5, #0x0
- add r2, r4, #0x0
- bl FUN_02005530
- add r0, r6, #0x0
- pop {r4-r6, pc}
- nop
-_020054C4: .word 0x0000FFFF
-
- thumb_func_start FUN_020054C8
-FUN_020054C8: ; 0x020054C8
- push {r4-r6, lr}
- add r5, r0, #0x0
- bl FUN_020048D0
- bl FUN_02004018
- add r4, r0, #0x0
- bl FUN_02003FF4
- add r1, r5, #0x0
- blx FUN_020C3980
- add r6, r0, #0x0
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02004858
- add r0, r6, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_020054F0
-FUN_020054F0: ; 0x020054F0
- ldr r3, _020054F4 ; =FUN_020C0FDC
- bx r3
- .balign 4
-_020054F4: .word FUN_020C0FDC
-
- thumb_func_start FUN_020054F8
-FUN_020054F8: ; 0x020054F8
- push {r4, lr}
- add r4, r1, #0x0
- bl FUN_02003FF4
- add r1, r4, #0x0
- blx FUN_020C10A4
- pop {r4, pc}
-
- thumb_func_start FUN_02005508
-FUN_02005508: ; 0x02005508
- push {r3, lr}
- bl FUN_020048D0
- bl FUN_020048BC
- pop {r3, pc}
-
- thumb_func_start FUN_02005514
-FUN_02005514: ; 0x02005514
- push {r4, lr}
- mov r4, #0x0
-_02005518:
- add r0, r4, #0x3
- bl FUN_020048BC
- cmp r0, #0x1
- bne _02005526
- mov r0, #0x1
- pop {r4, pc}
-_02005526:
- add r4, r4, #0x1
- cmp r4, #0x4
- blt _02005518
- mov r0, #0x0
- pop {r4, pc}
-
- thumb_func_start FUN_02005530
-FUN_02005530: ; 0x02005530
- push {r3-r5, lr}
- add r5, r1, #0x0
- add r4, r2, #0x0
- bl FUN_020048D0
- bl FUN_02004018
- bl FUN_02003FF4
- add r1, r5, #0x0
- add r2, r4, #0x0
- blx FUN_020C0E7C
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0200554C
-FUN_0200554C: ; 0x0200554C
- push {r3-r7, lr}
- add r6, r0, #0x0
- mov r0, #0x3
- bl FUN_02004018
- ldr r7, _02005574 ; =0x0000FFFF
- add r4, r0, #0x0
- mov r5, #0x0
-_0200555C:
- add r0, r4, r5
- bl FUN_02003FF4
- add r1, r7, #0x0
- add r2, r6, #0x0
- blx FUN_020C0E7C
- add r5, r5, #0x1
- cmp r5, #0x4
- blt _0200555C
- pop {r3-r7, pc}
- nop
-_02005574: .word 0x0000FFFF
-
- thumb_func_start FUN_02005578
-FUN_02005578: ; 0x02005578
- push {r3-r5, lr}
- add r5, r0, #0x0
- mov r0, #0x11
- bl FUN_02003D38
- add r4, r0, #0x0
- mov r0, #0x23
- bl FUN_02003D38
- ldr r1, _02005610 ; =0x000001B9
- cmp r5, r1
- beq _0200559C
- add r1, #0x36
- cmp r5, r1
- bhi _0200559A
- cmp r5, #0x0
- bne _0200559C
-_0200559A:
- mov r5, #0x1
-_0200559C:
- ldr r1, _02005610 ; =0x000001B9
- cmp r5, r1
- bne _020055BC
- mov r1, #0x0
- ldr r0, [r0, #0x0]
- mov r2, #0x7f
- add r3, r1, #0x0
- bl FUN_02005D48
- cmp r0, #0x1
- bne _020055BC
- mov r0, #0x0
- bl FUN_02005E80
- mov r0, #0x1
- pop {r3-r5, pc}
-_020055BC:
- ldrb r0, [r4, #0x0]
- cmp r0, #0x0
- bne _020055E8
- mov r0, #0x0
- bl FUN_02005614
- mov r0, #0x1
- bl FUN_02003FF4
- mov r1, #0x2
- str r1, [sp, #0x0]
- sub r1, r1, #0x3
- add r2, r5, #0x0
- add r3, r1, #0x0
- blx FUN_020C3910
- add r4, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0x1
- bl FUN_02004858
- b _02005606
-_020055E8:
- mov r0, #0x8
- bl FUN_02003FF4
- mov r1, #0x2
- str r1, [sp, #0x0]
- sub r1, r1, #0x3
- add r2, r5, #0x0
- add r3, r1, #0x0
- blx FUN_020C3910
- add r4, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0x8
- bl FUN_02004858
-_02005606:
- mov r0, #0x0
- bl FUN_02005E80
- add r0, r4, #0x0
- pop {r3-r5, pc}
- .balign 4
-_02005610: .word 0x000001B9
-
- thumb_func_start FUN_02005614
-FUN_02005614: ; 0x02005614
- push {r4-r6, lr}
- add r5, r0, #0x0
- mov r0, #0xf
- bl FUN_02003D38
- add r6, r0, #0x0
- mov r0, #0x10
- bl FUN_02003D38
- add r4, r0, #0x0
- mov r0, #0xe
- bl FUN_02003D38
- mov r0, #0x1
- bl FUN_02003FF4
- add r1, r5, #0x0
- blx FUN_020C10A4
- mov r0, #0x8
- bl FUN_02003FF4
- add r1, r5, #0x0
- blx FUN_020C10A4
- ldrb r0, [r6, #0x0]
- cmp r0, #0x1
- bne _02005658
- mov r0, #0xe
- bl FUN_02004C3C
- mov r0, #0xe
- bl FUN_02004A04
-_02005658:
- ldrb r0, [r4, #0x0]
- cmp r0, #0x1
- bne _0200566A
- mov r0, #0xf
- bl FUN_02004C3C
- mov r0, #0xf
- bl FUN_02004A04
-_0200566A:
- bl FUN_02005DFC
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02005670
-FUN_02005670: ; 0x02005670
- push {r3-r5, lr}
- mov r0, #0xf
- bl FUN_02003D38
- add r5, r0, #0x0
- mov r0, #0x10
- bl FUN_02003D38
- add r4, r0, #0x0
- mov r0, #0xe
- bl FUN_02003D38
- ldrb r0, [r5, #0x0]
- cmp r0, #0x1
- bne _02005696
- mov r0, #0xe
- bl FUN_02004ABC
- pop {r3-r5, pc}
-_02005696:
- ldrb r0, [r4, #0x0]
- cmp r0, #0x1
- bne _020056A4
- mov r0, #0xf
- bl FUN_02004ABC
- pop {r3-r5, pc}
-_020056A4:
- mov r0, #0x0
- bl FUN_020048BC
- pop {r3-r5, pc}
-
- thumb_func_start FUN_020056AC
-FUN_020056AC: ; 0x020056AC
- push {r3-r7, lr}
- sub sp, #0x20
- str r0, [sp, #0x4]
- mov r0, #0xf
- str r1, [sp, #0x8]
- add r5, r2, #0x0
- add r6, r3, #0x0
- ldr r7, [sp, #0x38]
- bl FUN_02003D38
- str r0, [sp, #0x14]
- mov r0, #0x10
- bl FUN_02003D38
- str r0, [sp, #0x10]
- mov r0, #0x11
- bl FUN_02003D38
- add r4, r0, #0x0
- mov r0, #0x1d
- bl FUN_02003D38
- str r0, [sp, #0xc]
- mov r0, #0x23
- bl FUN_02003D38
- lsr r0, r5, #0x1f
- add r0, r5, r0
- asr r0, r0, #0x1
- str r0, [sp, #0x1c]
- add r0, #0x40
- str r0, [sp, #0x1c]
- add r0, r6, #0x0
- str r0, [sp, #0x18]
- sub r0, #0x1e
- str r0, [sp, #0x18]
- cmp r0, #0x0
- bgt _020056FC
- mov r0, #0x1
- str r0, [sp, #0x18]
-_020056FC:
- mov r0, #0x0
- strb r0, [r4, #0x0]
- ldr r0, [sp, #0x14]
- ldrb r0, [r0, #0x0]
- cmp r0, #0x1
- bne _02005714
- mov r0, #0xe
- bl FUN_02004C3C
- mov r0, #0xe
- bl FUN_02004A04
-_02005714:
- ldr r0, [sp, #0x10]
- ldrb r0, [r0, #0x0]
- cmp r0, #0x1
- bne _02005728
- mov r0, #0xf
- bl FUN_02004C3C
- mov r0, #0xf
- bl FUN_02004A04
-_02005728:
- ldr r4, [sp, #0x8]
- ldr r0, _02005AB4 ; =0x000001B9
- add r1, r4, #0x0
- cmp r1, r0
- beq _0200573E
- add r0, #0x36
- cmp r1, r0
- bhi _0200573C
- add r0, r4, #0x0
- bne _0200573E
-_0200573C:
- mov r4, #0x1
-_0200573E:
- ldr r0, _02005AB4 ; =0x000001B9
- ldr r1, [sp, #0x8]
- cmp r1, r0
- bne _020057B4
- ldr r1, [sp, #0x4]
- cmp r1, #0xc
- bhi _020057AE
- add r1, r1, r1
- add r1, pc
- ldrh r1, [r1, #0x6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_02005758: ; jump table (using 16-bit offset)
- .short _02005772 - _02005758 - 2; case 0
- .short _02005772 - _02005758 - 2; case 1
- .short _02005772 - _02005758 - 2; case 2
- .short _020057AE - _02005758 - 2; case 3
- .short _020057AE - _02005758 - 2; case 4
- .short _02005772 - _02005758 - 2; case 5
- .short _020057AE - _02005758 - 2; case 6
- .short _020057AE - _02005758 - 2; case 7
- .short _020057AE - _02005758 - 2; case 8
- .short _020057AE - _02005758 - 2; case 9
- .short _020057AE - _02005758 - 2; case 10
- .short _02005772 - _02005758 - 2; case 11
- .short _02005772 - _02005758 - 2; case 12
-_02005772:
- bl FUN_02005578
- ldr r0, [sp, #0xc]
- ldrb r0, [r0, #0x0]
- cmp r0, #0x0
- bne _02005794
- ldr r1, _02005AB8 ; =0x0000FFFF
- mov r0, #0x1
- add r2, r5, #0x0
- bl FUN_02004D4C
- add r0, r4, #0x0
- mov r1, #0x1
- add r2, r6, #0x0
- bl FUN_02005AC8
- b _020057A8
-_02005794:
- ldr r1, [sp, #0x1c]
- mov r0, #0xe
- lsl r1, r1, #0x18
- lsr r1, r1, #0x18
- bl FUN_02004ACC
- mov r0, #0xe
- add r1, r6, #0x0
- bl FUN_02004AF8
-_020057A8:
- add sp, #0x20
- mov r0, #0x1
- pop {r3-r7, pc}
-_020057AE:
- mov r0, #0x1
- bl FUN_02005E80
-_020057B4:
- ldr r0, [sp, #0x4]
- cmp r0, #0xe
- bls _020057BC
- b _02005AC2
-_020057BC:
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_020057C8: ; jump table (using 16-bit offset)
- .short _020057E6 - _020057C8 - 2; case 0
- .short _02005802 - _020057C8 - 2; case 1
- .short _02005826 - _020057C8 - 2; case 2
- .short _02005868 - _020057C8 - 2; case 3
- .short _020058B2 - _020057C8 - 2; case 4
- .short _02005900 - _020057C8 - 2; case 5
- .short _02005928 - _020057C8 - 2; case 6
- .short _0200596C - _020057C8 - 2; case 7
- .short _0200599C - _020057C8 - 2; case 8
- .short _020059CA - _020057C8 - 2; case 9
- .short _020059FE - _020057C8 - 2; case 10
- .short _02005A2E - _020057C8 - 2; case 11
- .short _02005A56 - _020057C8 - 2; case 12
- .short _02005A86 - _020057C8 - 2; case 13
- .short _02005ABC - _020057C8 - 2; case 14
-_020057E6:
- add r0, r4, #0x0
- bl FUN_02005578
- ldr r1, _02005AB8 ; =0x0000FFFF
- mov r0, #0x1
- add r2, r5, #0x0
- bl FUN_02004D4C
- add r0, r4, #0x0
- mov r1, #0x1
- add r2, r6, #0x0
- bl FUN_02005AC8
- b _02005AC2
-_02005802:
- add r0, r4, #0x0
- bl FUN_02005578
- ldr r1, _02005AB8 ; =0x0000FFFF
- mov r0, #0x1
- add r2, r5, #0x0
- bl FUN_02004D4C
- add r0, r4, #0x0
- mov r1, #0x1
- add r2, r6, #0x0
- bl FUN_02005AC8
- mov r0, #0x14
- add r1, r7, #0x0
- bl FUN_02005AE0
- b _02005AC2
-_02005826:
- add r0, r4, #0x0
- bl FUN_02005578
- ldr r1, _02005AB8 ; =0x0000FFFF
- mov r0, #0x1
- add r2, r5, #0x0
- bl FUN_02004D4C
- add r0, r4, #0x0
- mov r1, #0x1
- add r2, r6, #0x0
- bl FUN_02005AC8
- ldr r1, _02005AB8 ; =0x0000FFFF
- mov r0, #0x1
- mov r2, #0x40
- bl FUN_02004D20
- add r0, r4, #0x0
- mov r1, #0x14
- bl FUN_02005BC8
- ldr r1, _02005AB8 ; =0x0000FFFF
- mov r0, #0x8
- add r2, r5, #0x0
- bl FUN_02004D4C
- ldr r2, [sp, #0x18]
- add r0, r4, #0x0
- mov r1, #0x8
- bl FUN_02005AC8
- b _02005AC2
-_02005868:
- add r0, r4, #0x0
- bl FUN_02005578
- ldr r1, _02005AB8 ; =0x0000FFFF
- mov r0, #0x1
- add r2, r5, #0x0
- bl FUN_02004D4C
- add r0, r4, #0x0
- mov r1, #0x1
- add r2, r6, #0x0
- bl FUN_02005AC8
- mov r0, #0x1e
- add r1, r7, #0x0
- bl FUN_02005AE0
- ldr r1, _02005AB8 ; =0x0000FFFF
- mov r0, #0x1
- mov r2, #0xc0
- bl FUN_02004D20
- add r0, r4, #0x0
- mov r1, #0x10
- bl FUN_02005BC8
- ldr r1, _02005AB8 ; =0x0000FFFF
- mov r0, #0x8
- add r2, r5, #0x0
- bl FUN_02004D4C
- ldr r2, [sp, #0x18]
- add r0, r4, #0x0
- mov r1, #0x8
- bl FUN_02005AC8
- b _02005AC2
-_020058B2:
- mov r0, #0xe
- bl FUN_02004984
- ldr r2, [sp, #0x1c]
- add r0, r4, #0x0
- add r1, r6, #0x0
- mov r3, #0xe
- str r7, [sp, #0x0]
- bl FUN_02004B30
- ldr r1, [sp, #0x1c]
- mov r0, #0xe
- lsl r1, r1, #0x18
- lsr r1, r1, #0x18
- bl FUN_02004ACC
- mov r0, #0xf
- add r1, r7, #0x0
- bl FUN_02005AE0
- mov r1, #0x86
- mov r0, #0xe
- lsl r1, r1, #0x8
- bl FUN_02004AE4
- mov r1, #0x3f
- ldr r2, [sp, #0x18]
- ldr r3, [sp, #0x1c]
- add r0, r4, #0x0
- mvn r1, r1
- str r7, [sp, #0x0]
- bl FUN_02005BF8
- mov r1, #0x86
- mov r0, #0xf
- lsl r1, r1, #0x8
- bl FUN_02004AE4
- b _02005AC2
-_02005900:
- add r0, r4, #0x0
- bl FUN_02005578
- ldr r1, _02005AB8 ; =0x0000FFFF
- mov r0, #0x1
- add r2, r5, #0x0
- bl FUN_02004D4C
- add r0, r4, #0x0
- mov r1, #0x1
- add r2, r6, #0x0
- bl FUN_02005AC8
- mov r0, #0x1
- add r2, r0, #0x0
- ldr r1, _02005AB8 ; =0x0000FFFF
- sub r2, #0xe1
- bl FUN_02004D20
- b _02005AC2
-_02005928:
- add r0, r4, #0x0
- bl FUN_02005578
- ldr r1, _02005AB8 ; =0x0000FFFF
- mov r0, #0x1
- add r2, r5, #0x0
- bl FUN_02004D4C
- add r0, r4, #0x0
- mov r1, #0x1
- add r2, r6, #0x0
- bl FUN_02005AC8
- ldr r1, _02005AB8 ; =0x0000FFFF
- mov r0, #0x1
- mov r2, #0x2c
- bl FUN_02004D20
- mov r1, #0x3f
- add r0, r4, #0x0
- mvn r1, r1
- bl FUN_02005BC8
- ldr r1, _02005AB8 ; =0x0000FFFF
- mov r0, #0x8
- add r2, r5, #0x0
- bl FUN_02004D4C
- ldr r2, [sp, #0x18]
- add r0, r4, #0x0
- mov r1, #0x8
- bl FUN_02005AC8
- b _02005AC2
-_0200596C:
- add r0, r4, #0x0
- bl FUN_02005578
- ldr r1, _02005AB8 ; =0x0000FFFF
- mov r0, #0x1
- add r2, r5, #0x0
- bl FUN_02004D4C
- add r0, r4, #0x0
- mov r1, #0x1
- add r2, r6, #0x0
- bl FUN_02005AC8
- mov r0, #0xb
- add r1, r7, #0x0
- bl FUN_02005AE0
- mov r0, #0x1
- add r2, r0, #0x0
- ldr r1, _02005AB8 ; =0x0000FFFF
- sub r2, #0x81
- bl FUN_02004D20
- b _02005AC2
-_0200599C:
- add r0, r4, #0x0
- bl FUN_02005578
- ldr r1, _02005AB8 ; =0x0000FFFF
- mov r0, #0x1
- add r2, r5, #0x0
- bl FUN_02004D4C
- add r0, r4, #0x0
- mov r1, #0x1
- add r2, r6, #0x0
- bl FUN_02005AC8
- mov r0, #0x3c
- add r1, r7, #0x0
- bl FUN_02005AE0
- ldr r1, _02005AB8 ; =0x0000FFFF
- mov r0, #0x1
- mov r2, #0x3c
- bl FUN_02004D20
- b _02005AC2
-_020059CA:
- mov r0, #0xe
- bl FUN_02004984
- ldr r2, [sp, #0x1c]
- add r0, r4, #0x0
- add r1, r6, #0x0
- mov r3, #0xe
- str r7, [sp, #0x0]
- bl FUN_02004B30
- ldr r1, [sp, #0x1c]
- mov r0, #0xe
- lsl r1, r1, #0x18
- lsr r1, r1, #0x18
- bl FUN_02004ACC
- mov r0, #0xd
- add r1, r7, #0x0
- bl FUN_02005AE0
- mov r1, #0x1a
- mov r0, #0xe
- lsl r1, r1, #0xa
- bl FUN_02004AE4
- b _02005AC2
-_020059FE:
- add r0, r4, #0x0
- bl FUN_02005578
- ldr r1, _02005AB8 ; =0x0000FFFF
- mov r0, #0x1
- add r2, r5, #0x0
- bl FUN_02004D4C
- add r0, r4, #0x0
- mov r1, #0x1
- add r2, r6, #0x0
- bl FUN_02005AC8
- mov r0, #0x64
- add r1, r7, #0x0
- bl FUN_02005AE0
- mov r0, #0x1
- add r2, r0, #0x0
- ldr r1, _02005AB8 ; =0x0000FFFF
- sub r2, #0x2d
- bl FUN_02004D20
- b _02005AC2
-_02005A2E:
- add r0, r4, #0x0
- bl FUN_02005578
- ldr r1, _02005AB8 ; =0x0000FFFF
- mov r0, #0x1
- add r2, r5, #0x0
- bl FUN_02004D4C
- add r0, r4, #0x0
- mov r1, #0x1
- add r2, r6, #0x0
- bl FUN_02005AC8
- mov r0, #0x1
- add r2, r0, #0x0
- ldr r1, _02005AB8 ; =0x0000FFFF
- sub r2, #0x61
- bl FUN_02004D20
- b _02005AC2
-_02005A56:
- add r0, r4, #0x0
- bl FUN_02005578
- ldr r1, _02005AB8 ; =0x0000FFFF
- mov r0, #0x1
- add r2, r5, #0x0
- bl FUN_02004D4C
- add r0, r4, #0x0
- mov r1, #0x1
- add r2, r6, #0x0
- bl FUN_02005AC8
- mov r0, #0x14
- add r1, r7, #0x0
- bl FUN_02005AE0
- mov r0, #0x1
- add r2, r0, #0x0
- ldr r1, _02005AB8 ; =0x0000FFFF
- sub r2, #0x61
- bl FUN_02004D20
- b _02005AC2
-_02005A86:
- add r0, r4, #0x0
- bl FUN_02005578
- add r0, r4, #0x0
- mov r1, #0x1
- mov r2, #0x7f
- bl FUN_02005AC8
- add r0, r4, #0x0
- mov r1, #0x14
- bl FUN_02005BC8
- ldr r1, _02005AB8 ; =0x0000FFFF
- mov r0, #0x8
- add r2, r5, #0x0
- bl FUN_02004D4C
- mov r0, #0x8
- add r1, r6, #0x0
- mov r2, #0x0
- bl FUN_02004828
- b _02005AC2
- .balign 4
-_02005AB4: .word 0x000001B9
-_02005AB8: .word 0x0000FFFF
-_02005ABC:
- add r0, r4, #0x0
- bl FUN_02005578
-_02005AC2:
- mov r0, #0x1
- add sp, #0x20
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02005AC8
-FUN_02005AC8: ; 0x02005AC8
- push {r3-r5, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- add r0, r4, #0x0
- add r1, r2, #0x0
- bl FUN_0200483C
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02004858
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02005AE0
-FUN_02005AE0: ; 0x02005AE0
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- mov r0, #0x22
- bl FUN_02003D38
- add r6, r0, #0x0
- bl FUN_02005BA0
- add r0, r4, #0x0
- mov r1, #0x8
- bl FUN_02016998
- add r4, r0, #0x0
- bne _02005B04
- bl ErrorHandling
- pop {r4-r6, pc}
-_02005B04:
- mov r2, #0x0
- strb r2, [r4, #0x0]
- strb r2, [r4, #0x1]
- strb r2, [r4, #0x2]
- strb r2, [r4, #0x3]
- strb r2, [r4, #0x4]
- strb r2, [r4, #0x5]
- strb r2, [r4, #0x6]
- strb r2, [r4, #0x7]
- ldr r0, _02005B28 ; =FUN_02005B2C
- add r1, r4, #0x0
- str r5, [r4, #0x0]
- bl FUN_0200CA44
- str r0, [r4, #0x4]
- str r0, [r6, #0x0]
- pop {r4-r6, pc}
- nop
-_02005B28: .word FUN_02005B2C
-
- thumb_func_start FUN_02005B2C
-FUN_02005B2C: ; 0x02005B2C
- push {r4-r6, lr}
- mov r0, #0xf
- add r5, r1, #0x0
- bl FUN_02003D38
- add r6, r0, #0x0
- mov r0, #0x10
- bl FUN_02003D38
- ldr r2, [r5, #0x0]
- add r4, r0, #0x0
- cmp r2, #0xa
- bne _02005B58
- mov r0, #0x1
- mov r1, #0x0
- bl FUN_02004828
- ldr r2, [r5, #0x0]
- mov r0, #0x8
- mov r1, #0x0
- bl FUN_02004828
-_02005B58:
- ldr r0, [r5, #0x0]
- sub r0, r0, #0x1
- str r0, [r5, #0x0]
- bl FUN_02005670
- cmp r0, #0x0
- bne _02005B6A
- mov r0, #0x0
- str r0, [r5, #0x0]
-_02005B6A:
- ldr r0, [r5, #0x0]
- cmp r0, #0x0
- bgt _02005B9E
- mov r0, #0x0
- bl FUN_02005614
- ldrb r0, [r6, #0x0]
- cmp r0, #0x1
- bne _02005B88
- mov r0, #0xe
- bl FUN_02004C3C
- mov r0, #0xe
- bl FUN_02004A04
-_02005B88:
- ldrb r0, [r4, #0x0]
- cmp r0, #0x1
- bne _02005B9A
- mov r0, #0xf
- bl FUN_02004C3C
- mov r0, #0xf
- bl FUN_02004A04
-_02005B9A:
- bl FUN_02005BA0
-_02005B9E:
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02005BA0
-FUN_02005BA0: ; 0x02005BA0
- push {r3-r5, lr}
- mov r0, #0x22
- bl FUN_02003D38
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- cmp r0, #0x0
- beq _02005BC2
- bl FUN_0201B6C8
- add r5, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_0200CAB4
- add r0, r5, #0x0
- bl FUN_02016A18
-_02005BC2:
- mov r0, #0x0
- str r0, [r4, #0x0]
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02005BC8
-FUN_02005BC8: ; 0x02005BC8
- push {r3-r5, lr}
- add r5, r0, #0x0
- mov r0, #0x11
- add r4, r1, #0x0
- bl FUN_02003D38
- mov r1, #0x1
- strb r1, [r0, #0x0]
- add r0, r1, #0x0
- bl FUN_02005E80
- add r0, r5, #0x0
- bl FUN_02005578
- add r5, r0, #0x0
- ldr r1, _02005BF4 ; =0x0000FFFF
- mov r0, #0x8
- add r2, r4, #0x0
- bl FUN_02004D20
- add r0, r5, #0x0
- pop {r3-r5, pc}
- .balign 4
-_02005BF4: .word 0x0000FFFF
-
- thumb_func_start FUN_02005BF8
-FUN_02005BF8: ; 0x02005BF8
- push {r3-r6, lr}
- sub sp, #0x4
- add r5, r0, #0x0
- mov r0, #0x11
- add r4, r2, #0x0
- add r6, r3, #0x0
- bl FUN_02003D38
- mov r1, #0x1
- strb r1, [r0, #0x0]
- mov r0, #0xf
- bl FUN_02004984
- ldr r0, [sp, #0x18]
- add r1, r4, #0x0
- str r0, [sp, #0x0]
- add r0, r5, #0x0
- add r2, r6, #0x0
- mov r3, #0xf
- bl FUN_02004B30
- add sp, #0x4
- pop {r3-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02005C28
-FUN_02005C28: ; 0x02005C28
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl FUN_020048F4
- add r0, r5, #0x0
- bl FUN_02005CEC
- bl FUN_02004124
- bl FUN_020048D0
- cmp r0, #0xff
- beq _02005C48
- mov r1, #0x1
- bl FUN_020047C8
-_02005C48:
- mov r0, #0x1c
- bl FUN_02003D38
- bl FUN_02003F3C
- add r0, r5, #0x0
- mov r1, #0x3
- bl FUN_02003FA8
- mov r0, #0x2
- bl FUN_02003FF4
- add r1, r5, #0x0
- blx FUN_020C3980
- add r4, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0x2
- bl FUN_02004858
- add r0, r4, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02005C74
-FUN_02005C74: ; 0x02005C74
- push {r4, lr}
- mov r0, #0xd
- bl FUN_02003D38
- add r4, r0, #0x0
- mov r0, #0x2
- bl FUN_020048BC
- cmp r0, #0x0
- beq _02005C8C
- mov r0, #0x1
- pop {r4, pc}
-_02005C8C:
- ldrh r0, [r4, #0x0]
- cmp r0, #0x0
- beq _02005C9A
- sub r0, r0, #0x1
- strh r0, [r4, #0x0]
- mov r0, #0x1
- pop {r4, pc}
-_02005C9A:
- mov r0, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02005CA0
-FUN_02005CA0: ; 0x02005CA0
- push {r4, lr}
- add r4, r0, #0x0
- mov r0, #0x2
- bl FUN_02003FF4
- add r1, r4, #0x0
- blx FUN_020C10A4
- mov r0, #0x6
- bl FUN_02004748
- bl FUN_02003F64
- pop {r4, pc}
-
- thumb_func_start FUN_02005CBC
-FUN_02005CBC: ; 0x02005CBC
- push {r3, lr}
- mov r0, #0xd
- bl FUN_02003D38
- bl FUN_02005C74
- cmp r0, #0x1
- bne _02005CD0
- mov r0, #0x1
- pop {r3, pc}
-_02005CD0:
- mov r0, #0x0
- bl FUN_02005CA0
- bl FUN_02004124
- bl FUN_020048D0
- cmp r0, #0xff
- beq _02005CE8
- mov r1, #0x0
- bl FUN_020047C8
-_02005CE8:
- mov r0, #0x0
- pop {r3, pc}
-
- thumb_func_start FUN_02005CEC
-FUN_02005CEC: ; 0x02005CEC
- push {r3, lr}
- mov r0, #0xd
- bl FUN_02003D38
- mov r1, #0xf
- strh r1, [r0, #0x0]
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_02005CFC
-FUN_02005CFC: ; 0x02005CFC
- push {r3, lr}
- mov r0, #0x1d
- bl FUN_02003D38
- ldrb r0, [r0, #0x0]
- cmp r0, #0x1
- bne _02005D1C
- mov r0, #0xe
- bl FUN_02004ABC
- cmp r0, #0x0
- bne _02005D1C
- bl FUN_02005DFC
- mov r0, #0x1
- pop {r3, pc}
-_02005D1C:
- mov r0, #0x0
- pop {r3, pc}
-
- thumb_func_start FUN_02005D20
-FUN_02005D20: ; 0x02005D20
- push {r3-r5, lr}
- add r5, r0, #0x0
- mov r0, #0x1e
- bl FUN_02003D38
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02029F04
- cmp r0, #0x0
- bne _02005D3A
- mov r0, #0x0
- pop {r3-r5, pc}
-_02005D3A:
- ldrb r0, [r4, #0x0]
- cmp r0, #0x1
- beq _02005D44
- mov r0, #0x1
- pop {r3-r5, pc}
-_02005D44:
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02005D48
-FUN_02005D48: ; 0x02005D48
- push {r3-r7, lr}
- sub sp, #0x30
- add r6, r0, #0x0
- add r5, r2, #0x0
- add r7, r3, #0x0
- bl FUN_02004DB4
- str r0, [sp, #0x0]
- mov r0, #0x1d
- bl FUN_02003D38
- str r0, [sp, #0x4]
- add r0, r6, #0x0
- bl FUN_02005D20
- cmp r0, #0x0
- bne _02005D70
- add sp, #0x30
- mov r0, #0x0
- pop {r3-r7, pc}
-_02005D70:
- mov r0, #0x0
- bl FUN_02005614
- bl FUN_02005DFC
- mov r0, #0xe
- bl FUN_02004984
- bl FUN_0201B9EC
- lsr r2, r0, #0x1f
- lsl r1, r0, #0x13
- sub r1, r1, r2
- mov r0, #0x13
- ror r1, r0
- add r0, r2, r1
- lsl r0, r0, #0x10
- lsr r4, r0, #0x10
- add r0, r6, #0x0
- bl FUN_02029F10
- add r1, r0, #0x0
- ldr r0, [sp, #0x0]
- bl FUN_02029F14
- mov r0, #0xe
- bl FUN_02004930
- str r0, [sp, #0x8]
- mov r0, #0x0
- str r0, [sp, #0xc]
- bl FUN_02004DB4
- str r0, [sp, #0x10]
- mov r0, #0x0
- str r0, [sp, #0x14]
- str r0, [sp, #0x18]
- mov r0, #0x7d
- lsl r0, r0, #0x4
- str r0, [sp, #0x1c]
- str r0, [sp, #0x20]
- mov r0, #0x2
- lsl r0, r0, #0xe
- add r0, r4, r0
- str r0, [sp, #0x28]
- lsr r0, r7, #0x1f
- add r0, r7, r0
- asr r0, r0, #0x1
- add r0, #0x40
- str r0, [sp, #0x2c]
- add r0, sp, #0x8
- mov r1, #0xe
- str r5, [sp, #0x24]
- bl FUN_02004A6C
- add r4, r0, #0x0
- mov r0, #0xe
- add r1, r5, #0x0
- bl FUN_02004AF8
- ldr r0, [sp, #0x4]
- mov r1, #0x1
- strb r1, [r0, #0x0]
- mov r0, #0x0
- bl FUN_02005E80
- add r0, r4, #0x0
- add sp, #0x30
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02005DFC
-FUN_02005DFC: ; 0x02005DFC
- push {r3-r5, lr}
- mov r0, #0xf
- bl FUN_02003D38
- add r5, r0, #0x0
- mov r0, #0x1d
- bl FUN_02003D38
- add r4, r0, #0x0
- ldrb r0, [r5, #0x0]
- cmp r0, #0x1
- bne _02005E20
- mov r0, #0xe
- bl FUN_02004C3C
- mov r0, #0xe
- bl FUN_02004A04
-_02005E20:
- mov r0, #0x0
- strb r0, [r4, #0x0]
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02005E28
-FUN_02005E28: ; 0x02005E28
- push {lr}
- sub sp, #0x1c
- mov r0, #0x2
- str r0, [sp, #0x0]
- bl FUN_02004DB4
- mov r1, #0x7d
- str r0, [sp, #0x4]
- lsl r1, r1, #0x4
- mov r0, #0x1f
- str r1, [sp, #0x8]
- tst r0, r1
- beq _02005E48
- mov r0, #0x1f
- bic r1, r0
- str r1, [sp, #0x8]
-_02005E48:
- ldr r0, _02005E60 ; =0x00004174
- str r0, [sp, #0xc]
- mov r0, #0x0
- str r0, [sp, #0x10]
- str r0, [sp, #0x14]
- str r0, [sp, #0x18]
- add r0, sp, #0x0
- bl FUN_02004914
- add sp, #0x1c
- pop {pc}
- nop
-_02005E60: .word 0x00004174
-
- thumb_func_start FUN_02005E64
-FUN_02005E64: ; 0x02005E64
- ldr r3, _02005E68 ; =FUN_0200491C
- bx r3
- .balign 4
-_02005E68: .word FUN_0200491C
-
- thumb_func_start FUN_02005E6C
-FUN_02005E6C: ; 0x02005E6C
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_02004DB4
- add r1, r0, #0x0
- add r0, r4, #0x0
- bl FUN_02029F4C
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02005E80
-FUN_02005E80: ; 0x02005E80
- push {r4, lr}
- add r4, r0, #0x0
- mov r0, #0x1e
- bl FUN_02003D38
- strb r4, [r0, #0x0]
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02005E90
-FUN_02005E90: ; 0x02005E90
- push {r3-r7, lr}
- add r5, r0, #0x0
- mov r0, #0x23
- add r7, r1, #0x0
- add r4, r2, #0x0
- add r6, r3, #0x0
- bl FUN_02003D38
- cmp r5, #0x0
- bne _02005EB2
- ldr r0, [r0, #0x0]
- add r1, r7, #0x0
- add r2, r4, #0x0
- add r3, r6, #0x0
- bl FUN_02005D48
- b _02005EBE
-_02005EB2:
- add r0, r5, #0x0
- add r1, r7, #0x0
- add r2, r4, #0x0
- add r3, r6, #0x0
- bl FUN_02005D48
-_02005EBE:
- cmp r0, #0x0
- bne _02005ED8
- mov r0, #0x1
- bl FUN_02005E80
- mov r0, #0xb
- str r0, [sp, #0x0]
- ldr r1, _02005EDC ; =0x000001B9
- mov r0, #0x0
- add r2, r6, #0x0
- add r3, r4, #0x0
- bl FUN_020056AC
-_02005ED8:
- pop {r3-r7, pc}
- nop
-_02005EDC: .word 0x000001B9
-
- thumb_func_start FUN_02005EE0
-FUN_02005EE0: ; 0x02005EE0
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_02029F04
- cmp r0, #0x0
- bne _02005EF0
- mov r0, #0x0
- pop {r4, pc}
-_02005EF0:
- add r0, r4, #0x0
- bl FUN_02029F10
- mov r1, #0xf
- ldrsb r0, [r0, r1]
- sub r1, #0x2d
- cmp r0, r1
- bge _02005F04
- mov r0, #0x1
- pop {r4, pc}
-_02005F04:
- cmp r0, #0x1e
- blt _02005F10
- cmp r0, #0x80
- bge _02005F10
- mov r0, #0x2
- pop {r4, pc}
-_02005F10:
- mov r0, #0x0
- pop {r4, pc}
-
- thumb_func_start FUN_02005F14
-FUN_02005F14: ; 0x02005F14
- cmp r0, #0xb
- bgt _02005F2E
- bge _02005F32
- cmp r0, #0x5
- bgt _02005F36
- cmp r0, #0x0
- blt _02005F36
- beq _02005F32
- cmp r0, #0x1
- beq _02005F32
- cmp r0, #0x5
- beq _02005F32
- b _02005F36
-_02005F2E:
- cmp r0, #0xc
- bne _02005F36
-_02005F32:
- mov r0, #0x1
- bx lr
-_02005F36:
- mov r0, #0x0
- bx lr
- .balign 4
-
- thumb_func_start FUN_02005F3C
-FUN_02005F3C: ; 0x02005F3C
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x4]
- cmp r0, #0x1
- beq _02005F4A
- bl ErrorHandling
-_02005F4A:
- ldr r1, [r4, #0x0]
- mov r0, #0x0
- blx FS_UnloadOverlay
- cmp r0, #0x1
- beq _02005F5A
- bl ErrorHandling
-_02005F5A:
- mov r0, #0x0
- str r0, [r4, #0x4]
- pop {r4, pc}
-
- thumb_func_start FUN_02005F60
-FUN_02005F60: ; 0x02005F60
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_02005F90
- bl FUN_0200610C
- mov r2, #0x0
- add r3, r0, #0x0
-_02005F70:
- ldr r1, [r3, #0x4]
- cmp r1, #0x1
- bne _02005F86
- ldr r1, [r3, #0x0]
- cmp r4, r1
- bne _02005F86
- lsl r1, r2, #0x3
- add r0, r0, r1
- bl FUN_02005F3C
- pop {r4, pc}
-_02005F86:
- add r2, r2, #0x1
- add r3, #0x8
- cmp r2, #0x8
- blt _02005F70
- pop {r4, pc}
-
- thumb_func_start FUN_02005F90
-FUN_02005F90: ; 0x02005F90
- push {lr}
- sub sp, #0x2c
- add r2, r0, #0x0
- add r0, sp, #0x0
- mov r1, #0x0
- blx FS_LoadOverlayInfo
- cmp r0, #0x1
- beq _02005FA6
- bl ErrorHandling
-_02005FA6:
- mov r0, #0x2
- ldr r2, [sp, #0x4]
- lsl r0, r0, #0x18
- cmp r2, r0
- bhi _02005FBC
- lsr r0, r0, #0x1
- cmp r2, r0
- blo _02005FBC
- add sp, #0x2c
- mov r0, #0x1
- pop {pc}
-_02005FBC:
- mov r0, #0x1
- ldr r1, _02005FD8 ; =0x027E0000
- lsl r0, r0, #0xe
- add r0, r1, r0
- cmp r2, r0
- bhi _02005FD2
- cmp r2, r1
- blo _02005FD2
- add sp, #0x2c
- mov r0, #0x2
- pop {pc}
-_02005FD2:
- mov r0, #0x0
- add sp, #0x2c
- pop {pc}
- .balign 4
-_02005FD8: .word 0x027E0000
-
- thumb_func_start FUN_02005FDC
-FUN_02005FDC: ; 0x02005FDC
- push {r3-r7, lr}
- add r4, r1, #0x0
- mov r1, #0x0
- mvn r1, r1
- add r5, r0, #0x0
- str r1, [sp, #0x0]
- bl FUN_02006090
- cmp r0, #0x0
- bne _02005FF4
- mov r0, #0x0
- pop {r3-r7, pc}
-_02005FF4:
- add r0, r5, #0x0
- bl FUN_02005F90
- add r7, r0, #0x0
- bl FUN_0200610C
- add r3, r0, #0x0
- mov r6, #0x0
- add r1, r3, #0x0
-_02006006:
- ldr r0, [r1, #0x4]
- cmp r0, #0x0
- bne _02006018
- lsl r1, r6, #0x3
- add r2, r3, r1
- mov r0, #0x1
- str r0, [r2, #0x4]
- str r5, [r3, r1]
- b _02006020
-_02006018:
- add r6, r6, #0x1
- add r1, #0x8
- cmp r6, #0x8
- blt _02006006
-_02006020:
- cmp r6, #0x8
- blt _0200602C
- bl ErrorHandling
- mov r0, #0x0
- pop {r3-r7, pc}
-_0200602C:
- sub r6, r7, #0x1
- cmp r6, #0x1
- bhi _0200603C
- mov r0, #0x0
- mvn r0, r0
- blx FS_SetDefaultDMA
- str r0, [sp, #0x0]
-_0200603C:
- cmp r4, #0x0
- beq _0200604A
- cmp r4, #0x1
- beq _02006056
- cmp r4, #0x2
- beq _02006062
- b _0200606E
-_0200604A:
- mov r0, #0x0
- add r1, r5, #0x0
- bl FUN_02006168
- add r4, r0, #0x0
- b _02006076
-_02006056:
- mov r0, #0x0
- add r1, r5, #0x0
- bl FUN_02006170
- add r4, r0, #0x0
- b _02006076
-_02006062:
- mov r0, #0x0
- add r1, r5, #0x0
- bl FUN_020061A8
- add r4, r0, #0x0
- b _02006076
-_0200606E:
- bl ErrorHandling
- mov r0, #0x0
- pop {r3-r7, pc}
-_02006076:
- cmp r6, #0x1
- bhi _02006080
- ldr r0, [sp, #0x0]
- blx FS_SetDefaultDMA
-_02006080:
- cmp r4, #0x0
- bne _0200608C
- bl ErrorHandling
- mov r0, #0x0
- pop {r3-r7, pc}
-_0200608C:
- mov r0, #0x1
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02006090
-FUN_02006090: ; 0x02006090
- push {r3-r7, lr}
- sub sp, #0x10
- add r1, sp, #0xc
- add r2, sp, #0x8
- add r4, r0, #0x0
- bl FUN_02006130
- cmp r0, #0x0
- bne _020060A8
- add sp, #0x10
- mov r0, #0x0
- pop {r3-r7, pc}
-_020060A8:
- add r0, r4, #0x0
- bl FUN_02005F90
- bl FUN_0200610C
- add r5, r0, #0x0
- mov r4, #0x0
- add r6, sp, #0x4
- add r7, sp, #0x0
-_020060BA:
- ldr r0, [r5, #0x4]
- cmp r0, #0x1
- bne _020060FC
- ldr r0, [r5, #0x0]
- add r1, r6, #0x0
- add r2, r7, #0x0
- bl FUN_02006130
- cmp r0, #0x1
- bne _020060FC
- ldr r1, [sp, #0x4]
- ldr r2, [sp, #0xc]
- cmp r2, r1
- blo _020060DC
- ldr r0, [sp, #0x0]
- cmp r2, r0
- blo _020060F2
-_020060DC:
- ldr r3, [sp, #0x8]
- cmp r3, r1
- bls _020060E8
- ldr r0, [sp, #0x0]
- cmp r3, r0
- bls _020060F2
-_020060E8:
- cmp r2, r1
- bhi _020060FC
- ldr r0, [sp, #0x0]
- cmp r3, r0
- blo _020060FC
-_020060F2:
- bl ErrorHandling
- add sp, #0x10
- mov r0, #0x0
- pop {r3-r7, pc}
-_020060FC:
- add r4, r4, #0x1
- add r5, #0x8
- cmp r4, #0x8
- blt _020060BA
- mov r0, #0x1
- add sp, #0x10
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0200610C
-FUN_0200610C: ; 0x0200610C
- cmp r0, #0x0
- beq _02006118
- cmp r0, #0x1
- beq _0200611C
- cmp r0, #0x2
- beq _02006120
-_02006118:
- ldr r0, _02006124 ; =0x021C45B0
- bx lr
-_0200611C:
- ldr r0, _02006128 ; =0x021C45F0
- bx lr
-_02006120:
- ldr r0, _0200612C ; =0x021C4630
- bx lr
- .balign 4
-_02006124: .word 0x021C45B0
-_02006128: .word 0x021C45F0
-_0200612C: .word 0x021C4630
-
- thumb_func_start FUN_02006130
-FUN_02006130: ; 0x02006130
- push {r4-r5, lr}
- sub sp, #0x2c
- add r3, r0, #0x0
- add r5, r1, #0x0
- add r4, r2, #0x0
- add r0, sp, #0x0
- mov r1, #0x0
- add r2, r3, #0x0
- blx FS_LoadOverlayInfo
- cmp r0, #0x0
- bne _02006152
- bl ErrorHandling
- add sp, #0x2c
- mov r0, #0x0
- pop {r4-r5, pc}
-_02006152:
- ldr r2, [sp, #0x4]
- str r2, [r5, #0x0]
- ldr r1, [sp, #0x8]
- ldr r0, [sp, #0xc]
- add r0, r1, r0
- add r0, r2, r0
- str r0, [r4, #0x0]
- mov r0, #0x1
- add sp, #0x2c
- pop {r4-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02006168
-FUN_02006168: ; 0x02006168
- ldr r3, _0200616C ; =FS_LoadOverlay
- bx r3
- .balign 4
-_0200616C: .word FS_LoadOverlay
-
- thumb_func_start FUN_02006170
-FUN_02006170: ; 0x02006170
- push {lr}
- sub sp, #0x2c
- add r3, r0, #0x0
- add r2, r1, #0x0
- add r0, sp, #0x0
- add r1, r3, #0x0
- blx FS_LoadOverlayInfo
- cmp r0, #0x0
- bne _0200618A
- add sp, #0x2c
- mov r0, #0x0
- pop {pc}
-_0200618A:
- add r0, sp, #0x0
- blx FS_LoadOverlayImage
- cmp r0, #0x0
- bne _0200619A
- add sp, #0x2c
- mov r0, #0x0
- pop {pc}
-_0200619A:
- add r0, sp, #0x0
- blx FS_StartOverlay
- mov r0, #0x1
- add sp, #0x2c
- pop {pc}
- .balign 4
-
- thumb_func_start FUN_020061A8
-FUN_020061A8: ; 0x020061A8
- push {lr}
- sub sp, #0x74
- add r3, r0, #0x0
- add r2, r1, #0x0
- add r0, sp, #0x0
- add r1, r3, #0x0
- blx FS_LoadOverlayInfo
- cmp r0, #0x0
- bne _020061C2
- add sp, #0x74
- mov r0, #0x0
- pop {pc}
-_020061C2:
- add r0, sp, #0x2c
- blx FS_InitFile
- add r0, sp, #0x0
- add r1, sp, #0x2c
- blx FS_LoadOverlayImageAsync
- add r0, sp, #0x2c
- blx FS_WaitAsync
- add r0, sp, #0x2c
- blx FS_CloseFile
- add r0, sp, #0x0
- blx FS_StartOverlay
- mov r0, #0x1
- add sp, #0x74
- pop {pc}
-
- thumb_func_start FUN_020061E8
-FUN_020061E8: ; 0x020061E8
- push {r3-r7, lr}
- add r5, r1, #0x0
- add r6, r0, #0x0
- add r7, r2, #0x0
- cmp r5, #0x0
- beq _0200620C
- add r0, r3, #0x0
- bl FUN_02016998
- add r4, r0, #0x0
- bne _02006202
- mov r0, #0x0
- pop {r3-r7, pc}
-_02006202:
- mov r1, #0x0
- add r2, r5, #0x0
- blx Call_FillMemWithValue
- b _0200620E
-_0200620C:
- mov r4, #0x0
-_0200620E:
- add r0, r6, #0x0
- add r1, r4, #0x0
- add r2, r7, #0x0
- bl FUN_0200CA44
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0200621C
-FUN_0200621C: ; 0x0200621C
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_0201B6C8
- cmp r0, #0x0
- beq _0200622C
- bl FUN_02016A18
-_0200622C:
- add r0, r4, #0x0
- bl FUN_0200CAB4
- pop {r4, pc}
-
- thumb_func_start FUN_02006234
-FUN_02006234: ; 0x02006234
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- add r0, r2, #0x0
- mov r1, #0x28
- bl FUN_02016998
- add r3, r0, #0x0
- add r2, r3, #0x0
- ldmia r5!, {r0-r1}
- stmia r2!, {r0-r1}
- ldmia r5!, {r0-r1}
- stmia r2!, {r0-r1}
- mov r0, #0x0
- str r0, [r3, #0x10]
- str r0, [r3, #0x14]
- str r4, [r3, #0x18]
- str r0, [r3, #0x1c]
- str r0, [r3, #0x20]
- str r0, [r3, #0x24]
- add r0, r3, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02006260
-FUN_02006260: ; 0x02006260
- ldr r3, _02006264 ; =FUN_02016A18
- bx r3
- .balign 4
-_02006264: .word FUN_02016A18
-
- thumb_func_start FUN_02006268
-FUN_02006268: ; 0x02006268
- push {r4, lr}
- add r4, r0, #0x0
- add r0, r2, #0x0
- bl FUN_02016998
- str r0, [r4, #0x1c]
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02006278
-FUN_02006278: ; 0x02006278
- ldr r0, [r0, #0x1c]
- bx lr
-
- thumb_func_start FUN_0200627C
-FUN_0200627C: ; 0x0200627C
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x1c]
- bl FUN_02016A18
- mov r0, #0x0
- str r0, [r4, #0x1c]
- pop {r4, pc}
-
- thumb_func_start FUN_0200628C
-FUN_0200628C: ; 0x0200628C
- ldr r0, [r0, #0x18]
- bx lr
-
- thumb_func_start FUN_02006290
-FUN_02006290: ; 0x02006290
- push {r4, lr}
- add r4, r0, #0x0
- ldr r1, [r4, #0x10]
- cmp r1, #0x3
- bhi _0200630E
- add r1, r1, r1
- add r1, pc
- ldrh r1, [r1, #0x6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_020062A6: ; jump table (using 16-bit offset)
- .short _020062AE - _020062A6 - 2; case 0
- .short _020062C2 - _020062A6 - 2; case 1
- .short _020062DA - _020062A6 - 2; case 2
- .short _020062F0 - _020062A6 - 2; case 3
-_020062AE:
- mov r1, #0x0
- ldr r0, [r4, #0xc]
- mvn r1, r1
- cmp r0, r1
- beq _020062BE
- mov r1, #0x2
- bl FUN_02005FDC
-_020062BE:
- mov r0, #0x1
- str r0, [r4, #0x10]
-_020062C2:
- add r1, r4, #0x0
- ldr r2, [r4, #0x0]
- add r0, r4, #0x0
- add r1, #0x14
- blx r2
- cmp r0, #0x1
- bne _0200630E
- mov r0, #0x2
- str r0, [r4, #0x10]
- mov r0, #0x0
- str r0, [r4, #0x14]
- b _0200630E
-_020062DA:
- add r1, r4, #0x0
- ldr r2, [r4, #0x4]
- add r1, #0x14
- blx r2
- cmp r0, #0x1
- bne _0200630E
- mov r0, #0x3
- str r0, [r4, #0x10]
- mov r0, #0x0
- str r0, [r4, #0x14]
- b _0200630E
-_020062F0:
- add r1, r4, #0x0
- ldr r2, [r4, #0x8]
- add r1, #0x14
- blx r2
- cmp r0, #0x1
- bne _0200630E
- mov r1, #0x0
- ldr r0, [r4, #0xc]
- mvn r1, r1
- cmp r0, r1
- beq _0200630A
- bl FUN_02005F60
-_0200630A:
- mov r0, #0x1
- pop {r4, pc}
-_0200630E:
- mov r0, #0x0
- pop {r4, pc}
- .balign 4
diff --git a/asm/unk_02006864.s b/asm/unk_02006864.s
deleted file mode 100644
index dab6adfe..00000000
--- a/asm/unk_02006864.s
+++ /dev/null
@@ -1,109321 +0,0 @@
- .include "asm/macros.inc"
- .include "global.inc"
-
- .text
-
- thumb_func_start FUN_02006864
-FUN_02006864: ; 0x02006864
- add r3, r1, #0x0
- add r1, r2, #0x0
- add r2, r3, #0x0
- ldr r3, _02006870 ; =0x020D180C
- bx r3
- nop
-_02006870: .word 0x020D180C
-
- thumb_func_start FUN_02006874
-FUN_02006874: ; 0x02006874
- add r0, #0x50
- ldrh r0, [r0, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_0200687C
-FUN_0200687C: ; 0x0200687C
- push {r3-r7, lr}
- sub sp, #0x8
- add r6, r2, #0x0
- mov r2, #0x0
- add r5, r3, #0x0
- str r2, [sp, #0x0]
- ldr r2, [sp, #0x28]
- ldr r3, [sp, #0x2c]
- ldr r4, [sp, #0x24]
- bl FUN_02006C98
- add r7, r0, #0x0
- beq _020068C2
- add r1, sp, #0x4
- blx FUN_020B0030
- cmp r0, #0x0
- beq _020068BC
- cmp r4, #0x0
- bne _020068A8
- ldr r0, [sp, #0x4]
- ldr r4, [r0, #0x10]
-_020068A8:
- ldr r0, [sp, #0x20]
- lsl r1, r5, #0x18
- str r0, [sp, #0x0]
- ldr r2, [sp, #0x4]
- add r0, r6, #0x0
- ldr r2, [r2, #0x14]
- lsr r1, r1, #0x18
- add r3, r4, #0x0
- bl FUN_02017E14
-_020068BC:
- add r0, r7, #0x0
- bl FUN_02016A18
-_020068C2:
- add r0, r4, #0x0
- add sp, #0x8
- pop {r3-r7, pc}
-
- thumb_func_start FUN_020068C8
-FUN_020068C8: ; 0x020068C8
- push {r3-r7, lr}
- sub sp, #0x8
- add r6, r2, #0x0
- mov r2, #0x1
- add r5, r3, #0x0
- str r2, [sp, #0x0]
- ldr r2, [sp, #0x28]
- ldr r3, [sp, #0x2c]
- ldr r4, [sp, #0x24]
- bl FUN_02006C98
- add r7, r0, #0x0
- beq _0200692C
- add r1, sp, #0x4
- blx FUN_020B0180
- cmp r0, #0x0
- beq _02006926
- cmp r4, #0x0
- bne _020068F4
- ldr r0, [sp, #0x4]
- ldr r4, [r0, #0x8]
-_020068F4:
- lsl r1, r5, #0x18
- add r0, r6, #0x0
- lsr r1, r1, #0x18
- bl FUN_0201886C
- cmp r0, #0x0
- beq _02006912
- ldr r2, [sp, #0x4]
- lsl r1, r5, #0x18
- add r0, r6, #0x0
- lsr r1, r1, #0x18
- add r2, #0xc
- add r3, r4, #0x0
- bl FUN_02017DFC
-_02006912:
- ldr r0, [sp, #0x20]
- lsl r1, r5, #0x18
- str r0, [sp, #0x0]
- ldr r2, [sp, #0x4]
- add r0, r6, #0x0
- lsr r1, r1, #0x18
- add r2, #0xc
- add r3, r4, #0x0
- bl FUN_02017CE8
-_02006926:
- add r0, r7, #0x0
- bl FUN_02016A18
-_0200692C:
- add sp, #0x8
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02006930
-FUN_02006930: ; 0x02006930
- push {lr}
- sub sp, #0xc
- str r3, [sp, #0x0]
- ldr r3, [sp, #0x10]
- str r3, [sp, #0x4]
- ldr r3, [sp, #0x14]
- str r3, [sp, #0x8]
- mov r3, #0x0
- bl FUN_02006948
- add sp, #0xc
- pop {pc}
-
- thumb_func_start FUN_02006948
-FUN_02006948: ; 0x02006948
- push {r4-r7, lr}
- sub sp, #0xc
- add r4, r2, #0x0
- add r7, r3, #0x0
- mov r2, #0x1
- str r2, [sp, #0x0]
- ldr r3, [sp, #0x28]
- mov r2, #0x0
- ldr r6, [sp, #0x20]
- ldr r5, [sp, #0x24]
- bl FUN_02006C98
- str r0, [sp, #0x4]
- cmp r0, #0x0
- beq _02006A2A
- add r1, sp, #0x8
- blx FUN_020B0138
- cmp r0, #0x0
- beq _02006A24
- ldr r0, [sp, #0x8]
- ldr r1, [r0, #0xc]
- add r1, r1, r7
- str r1, [r0, #0xc]
- cmp r5, #0x0
- bne _02006982
- ldr r0, [sp, #0x8]
- ldr r0, [r0, #0x8]
- sub r5, r0, r7
-_02006982:
- ldr r0, [sp, #0x8]
- add r1, r5, #0x0
- ldr r0, [r0, #0xc]
- blx DC_FlushRange
- cmp r4, #0x7
- bhi _02006A14
- add r0, r4, r4
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_0200699C: ; jump table (using 16-bit offset)
- .short _02006A14 - _0200699C - 2; case 0
- .short _02006A14 - _0200699C - 2; case 1
- .short _020069AC - _0200699C - 2; case 2
- .short _020069E0 - _0200699C - 2; case 3
- .short _02006A14 - _0200699C - 2; case 4
- .short _02006A14 - _0200699C - 2; case 5
- .short _020069C6 - _0200699C - 2; case 6
- .short _020069FA - _0200699C - 2; case 7
-_020069AC:
- blx GX_BeginLoadBGExtPltt
- ldr r0, [sp, #0x8]
- ldr r3, _02006A30 ; =0x020ECBB0
- lsl r4, r4, #0x2
- ldr r0, [r0, #0xc]
- ldr r3, [r3, r4]
- add r1, r6, #0x0
- add r2, r5, #0x0
- blx r3
- blx GX_EndLoadBGExtPltt
- b _02006A24
-_020069C6:
- blx GXS_BeginLoadBGExtPltt
- ldr r0, [sp, #0x8]
- ldr r3, _02006A30 ; =0x020ECBB0
- lsl r4, r4, #0x2
- ldr r0, [r0, #0xc]
- ldr r3, [r3, r4]
- add r1, r6, #0x0
- add r2, r5, #0x0
- blx r3
- blx GXS_EndLoadBGExtPltt
- b _02006A24
-_020069E0:
- blx GX_BeginLoadOBJExtPltt
- ldr r0, [sp, #0x8]
- ldr r3, _02006A30 ; =0x020ECBB0
- lsl r4, r4, #0x2
- ldr r0, [r0, #0xc]
- ldr r3, [r3, r4]
- add r1, r6, #0x0
- add r2, r5, #0x0
- blx r3
- blx GX_EndLoadOBJExtPltt
- b _02006A24
-_020069FA:
- blx GXS_BeginLoadOBJExtPltt
- ldr r0, [sp, #0x8]
- ldr r3, _02006A30 ; =0x020ECBB0
- lsl r4, r4, #0x2
- ldr r0, [r0, #0xc]
- ldr r3, [r3, r4]
- add r1, r6, #0x0
- add r2, r5, #0x0
- blx r3
- blx GXS_EndLoadOBJExtPltt
- b _02006A24
-_02006A14:
- ldr r0, [sp, #0x8]
- ldr r3, _02006A30 ; =0x020ECBB0
- lsl r4, r4, #0x2
- ldr r0, [r0, #0xc]
- ldr r3, [r3, r4]
- add r1, r6, #0x0
- add r2, r5, #0x0
- blx r3
-_02006A24:
- ldr r0, [sp, #0x4]
- bl FUN_02016A18
-_02006A2A:
- add sp, #0xc
- pop {r4-r7, pc}
- nop
-_02006A30: .word 0x020ECBB0
-
- thumb_func_start FUN_02006A34
-FUN_02006A34: ; 0x02006A34
- push {r3-r7, lr}
- sub sp, #0x8
- add r5, r2, #0x0
- mov r2, #0x1
- add r6, r3, #0x0
- str r2, [sp, #0x0]
- ldr r2, [sp, #0x24]
- ldr r3, [sp, #0x28]
- ldr r4, [sp, #0x20]
- bl FUN_02006C98
- add r7, r0, #0x0
- beq _02006A80
- add r1, sp, #0x4
- blx FUN_020B0088
- cmp r0, #0x0
- beq _02006A7A
- cmp r4, #0x0
- bne _02006A60
- ldr r0, [sp, #0x4]
- ldr r4, [r0, #0x10]
-_02006A60:
- ldr r0, [sp, #0x4]
- add r1, r4, #0x0
- ldr r0, [r0, #0x14]
- blx DC_FlushRange
- ldr r0, [sp, #0x4]
- ldr r3, _02006A88 ; =0x020ECBA0
- lsl r5, r5, #0x2
- ldr r0, [r0, #0x14]
- ldr r3, [r3, r5]
- add r1, r6, #0x0
- add r2, r4, #0x0
- blx r3
-_02006A7A:
- add r0, r7, #0x0
- bl FUN_02016A18
-_02006A80:
- add r0, r4, #0x0
- add sp, #0x8
- pop {r3-r7, pc}
- nop
-_02006A88: .word 0x020ECBA0
-
- thumb_func_start FUN_02006A8C
-FUN_02006A8C: ; 0x02006A8C
- push {r4-r7, lr}
- sub sp, #0xc
- add r5, r2, #0x0
- add r4, r3, #0x0
- mov r2, #0x1
- str r2, [sp, #0x0]
- ldr r3, [sp, #0x20]
- mov r2, #0x0
- bl FUN_02006C98
- add r6, r0, #0x0
- beq _02006AE0
- add r1, sp, #0x4
- blx FUN_020B00F0
- add r7, r0, #0x0
- add r0, r6, #0x0
- add r1, sp, #0x8
- blx FUN_020B0138
- cmp r0, #0x0
- beq _02006ADA
- cmp r7, #0x0
- beq _02006ACE
- ldr r0, [sp, #0x24]
- add r2, r4, #0x0
- str r0, [sp, #0x0]
- ldr r0, [sp, #0x8]
- ldr r1, [sp, #0x4]
- add r3, r5, #0x0
- blx FUN_020B10E8
- b _02006ADA
-_02006ACE:
- ldr r0, [sp, #0x8]
- ldr r3, [sp, #0x24]
- add r1, r4, #0x0
- add r2, r5, #0x0
- blx FUN_020B1240
-_02006ADA:
- add r0, r6, #0x0
- bl FUN_02016A18
-_02006AE0:
- add sp, #0xc
- pop {r4-r7, pc}
-
- thumb_func_start FUN_02006AE4
-FUN_02006AE4: ; 0x02006AE4
- push {r4-r6, lr}
- sub sp, #0x8
- add r5, r3, #0x0
- mov r3, #0x1
- str r3, [sp, #0x0]
- ldr r3, [sp, #0x24]
- bl FUN_02006C98
- add r6, r0, #0x0
- ldr r4, _02006B30 ; =0x00000000
- beq _02006B28
- add r1, sp, #0x4
- blx FUN_020B0088
- cmp r0, #0x0
- beq _02006B22
- ldr r1, [sp, #0x18]
- cmp r1, #0x0
- beq _02006B0E
- ldr r0, [sp, #0x4]
- str r1, [r0, #0x10]
-_02006B0E:
- ldr r4, _02006B34 ; =0x020ECBA8
- lsl r5, r5, #0x2
- ldr r0, [sp, #0x4]
- ldr r1, [sp, #0x20]
- ldr r2, [sp, #0x1c]
- ldr r3, [sp, #0x28]
- ldr r4, [r4, r5]
- blx r4
- ldr r0, [sp, #0x4]
- ldr r4, [r0, #0x10]
-_02006B22:
- add r0, r6, #0x0
- bl FUN_02016A18
-_02006B28:
- add r0, r4, #0x0
- add sp, #0x8
- pop {r4-r6, pc}
- nop
-_02006B30: .word 0x00000000
-_02006B34: .word 0x020ECBA8
-
- thumb_func_start FUN_02006B38
-FUN_02006B38: ; 0x02006B38
- push {r4-r6, lr}
- sub sp, #0x8
- add r5, r3, #0x0
- mov r3, #0x1
- str r3, [sp, #0x0]
- ldr r3, [sp, #0x24]
- bl FUN_02006C98
- add r4, r0, #0x0
- beq _02006B9E
- add r1, sp, #0x4
- blx FUN_020B0088
- cmp r0, #0x0
- beq _02006B98
- ldr r1, [sp, #0x18]
- cmp r1, #0x0
- beq _02006B60
- ldr r0, [sp, #0x4]
- str r1, [r0, #0x10]
-_02006B60:
- ldr r0, [sp, #0x1c]
- cmp r0, #0x1
- beq _02006B6C
- cmp r0, #0x2
- beq _02006B7C
- b _02006B88
-_02006B6C:
- mov r0, #0x1
- lsl r0, r0, #0x1a
- ldr r1, [r0, #0x0]
- ldr r0, _02006BA4 ; =0x00300010
- and r1, r0
- ldr r0, [sp, #0x4]
- str r1, [r0, #0x8]
- b _02006B88
-_02006B7C:
- ldr r0, _02006BA8 ; =0x04001000
- ldr r1, [r0, #0x0]
- ldr r0, _02006BA4 ; =0x00300010
- and r1, r0
- ldr r0, [sp, #0x4]
- str r1, [r0, #0x8]
-_02006B88:
- lsl r6, r5, #0x2
- ldr r5, _02006BAC ; =0x020ECB98
- ldr r0, [sp, #0x4]
- ldr r1, [sp, #0x20]
- ldr r2, [sp, #0x1c]
- ldr r3, [sp, #0x28]
- ldr r5, [r5, r6]
- blx r5
-_02006B98:
- add r0, r4, #0x0
- bl FUN_02016A18
-_02006B9E:
- add sp, #0x8
- pop {r4-r6, pc}
- nop
-_02006BA4: .word 0x00300010
-_02006BA8: .word 0x04001000
-_02006BAC: .word 0x020ECB98
-
- thumb_func_start FUN_02006BB0
-FUN_02006BB0: ; 0x02006BB0
- push {r3-r5, lr}
- add r4, r3, #0x0
- mov r3, #0x0
- str r3, [sp, #0x0]
- ldr r3, [sp, #0x10]
- bl FUN_02006C98
- add r5, r0, #0x0
- beq _02006BD6
- add r1, r4, #0x0
- blx FUN_020B0030
- cmp r0, #0x0
- bne _02006BD6
- add r0, r5, #0x0
- bl FUN_02016A18
- mov r0, #0x0
- pop {r3-r5, pc}
-_02006BD6:
- add r0, r5, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02006BDC
-FUN_02006BDC: ; 0x02006BDC
- push {r3-r5, lr}
- add r4, r3, #0x0
- mov r3, #0x0
- str r3, [sp, #0x0]
- ldr r3, [sp, #0x10]
- bl FUN_02006C98
- add r5, r0, #0x0
- beq _02006C02
- add r1, r4, #0x0
- blx FUN_020B0180
- cmp r0, #0x0
- bne _02006C02
- add r0, r5, #0x0
- bl FUN_02016A18
- mov r0, #0x0
- pop {r3-r5, pc}
-_02006C02:
- add r0, r5, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02006C08
-FUN_02006C08: ; 0x02006C08
- push {r3-r5, lr}
- add r5, r2, #0x0
- mov r2, #0x0
- str r2, [sp, #0x0]
- bl FUN_02006C98
- add r4, r0, #0x0
- beq _02006C2C
- add r1, r5, #0x0
- blx FUN_020B0138
- cmp r0, #0x0
- bne _02006C2C
- add r0, r4, #0x0
- bl FUN_02016A18
- mov r0, #0x0
- pop {r3-r5, pc}
-_02006C2C:
- add r0, r4, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02006C30
-FUN_02006C30: ; 0x02006C30
- push {r3-r5, lr}
- add r4, r3, #0x0
- mov r3, #0x0
- str r3, [sp, #0x0]
- ldr r3, [sp, #0x10]
- bl FUN_02006C98
- add r5, r0, #0x0
- beq _02006C56
- add r1, r4, #0x0
- blx FUN_020AFEB8
- cmp r0, #0x0
- bne _02006C56
- add r0, r5, #0x0
- bl FUN_02016A18
- mov r0, #0x0
- pop {r3-r5, pc}
-_02006C56:
- add r0, r5, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02006C5C
-FUN_02006C5C: ; 0x02006C5C
- push {r3-r5, lr}
- add r4, r3, #0x0
- mov r3, #0x0
- str r3, [sp, #0x0]
- ldr r3, [sp, #0x10]
- bl FUN_02006C98
- add r5, r0, #0x0
- beq _02006C82
- add r1, r4, #0x0
- blx thunk_FUN_020afda0_2
- cmp r0, #0x0
- bne _02006C82
- add r0, r5, #0x0
- bl FUN_02016A18
- mov r0, #0x0
- pop {r3-r5, pc}
-_02006C82:
- add r0, r5, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02006C88
-FUN_02006C88: ; 0x02006C88
- push {r3, lr}
- add r3, r2, #0x0
- mov r2, #0x0
- str r2, [sp, #0x0]
- mov r2, #0x1
- bl FUN_02006C98
- pop {r3, pc}
-
- thumb_func_start FUN_02006C98
-FUN_02006C98: ; 0x02006C98
- push {r3-r7, lr}
- add r5, r2, #0x0
- add r7, r0, #0x0
- add r6, r3, #0x0
- str r1, [sp, #0x0]
- cmp r5, #0x0
- bne _02006CAC
- ldr r2, [sp, #0x18]
- cmp r2, #0x1
- bne _02006CC0
-_02006CAC:
- ldr r1, [sp, #0x0]
- add r0, r7, #0x0
- bl LoadFromNARC_7
- add r1, r0, #0x0
- add r0, r6, #0x0
- bl FUN_020169D8
- add r4, r0, #0x0
- b _02006CCE
-_02006CC0:
- bl LoadFromNARC_7
- add r1, r0, #0x0
- add r0, r6, #0x0
- bl FUN_02016998
- add r4, r0, #0x0
-_02006CCE:
- cmp r4, #0x0
- beq _02006D12
- ldr r2, [sp, #0x0]
- add r0, r4, #0x0
- add r1, r7, #0x0
- bl LoadFromNARC
- cmp r5, #0x0
- beq _02006D12
- ldr r0, [sp, #0x18]
- cmp r0, #0x0
- bne _02006CF2
- ldr r1, [r4, #0x0]
- add r0, r6, #0x0
- lsr r1, r1, #0x8
- bl FUN_02016998
- b _02006CFC
-_02006CF2:
- ldr r1, [r4, #0x0]
- add r0, r6, #0x0
- lsr r1, r1, #0x8
- bl FUN_020169D8
-_02006CFC:
- add r5, r0, #0x0
- cmp r5, #0x0
- beq _02006D10
- add r0, r4, #0x0
- add r1, r5, #0x0
- blx MI_UncompressLZ8
- add r0, r4, #0x0
- bl FUN_02016A18
-_02006D10:
- add r4, r5, #0x0
-_02006D12:
- add r0, r4, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02006D18
-FUN_02006D18: ; 0x02006D18
- push {r3-r7, lr}
- sub sp, #0x8
- ldr r5, [sp, #0x24]
- str r0, [sp, #0x0]
- str r1, [sp, #0x4]
- add r6, r2, #0x0
- add r7, r3, #0x0
- bl LoadFromNARC_7
- str r0, [r5, #0x0]
- cmp r6, #0x0
- bne _02006D36
- ldr r0, [sp, #0x20]
- cmp r0, #0x1
- bne _02006D42
-_02006D36:
- ldr r1, [r5, #0x0]
- add r0, r7, #0x0
- bl FUN_020169D8
- add r4, r0, #0x0
- b _02006D4C
-_02006D42:
- ldr r1, [r5, #0x0]
- add r0, r7, #0x0
- bl FUN_02016998
- add r4, r0, #0x0
-_02006D4C:
- cmp r4, #0x0
- beq _02006D92
- ldr r1, [sp, #0x0]
- ldr r2, [sp, #0x4]
- add r0, r4, #0x0
- bl LoadFromNARC
- cmp r6, #0x0
- beq _02006D92
- ldr r0, [r4, #0x0]
- lsr r0, r0, #0x8
- str r0, [r5, #0x0]
- ldr r0, [sp, #0x20]
- cmp r0, #0x0
- bne _02006D74
- ldr r1, [r5, #0x0]
- add r0, r7, #0x0
- bl FUN_02016998
- b _02006D7C
-_02006D74:
- ldr r1, [r5, #0x0]
- add r0, r7, #0x0
- bl FUN_020169D8
-_02006D7C:
- add r5, r0, #0x0
- cmp r5, #0x0
- beq _02006D90
- add r0, r4, #0x0
- add r1, r5, #0x0
- blx MI_UncompressLZ8
- add r0, r4, #0x0
- bl FUN_02016A18
-_02006D90:
- add r4, r5, #0x0
-_02006D92:
- add r0, r4, #0x0
- add sp, #0x8
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02006D98
-FUN_02006D98: ; 0x02006D98
- push {r3-r7, lr}
- sub sp, #0x10
- mov r1, #0xba
- lsl r1, r1, #0x2
- add r5, r0, #0x0
- bl FUN_02016998
- add r4, r0, #0x0
- mov r0, #0xa6
- lsl r0, r0, #0x2
- add r1, r0, #0x0
- add r3, r0, #0x0
- str r5, [r4, r0]
- mov r2, #0x0
- add r1, #0x48
- strb r2, [r4, r1]
- add r1, r0, #0x4
- str r2, [r4, r1]
- mov r1, #0x2
- lsl r1, r1, #0xe
- add r3, #0x8
- str r1, [r4, r3]
- add r3, r0, #0x0
- add r3, #0xc
- str r2, [r4, r3]
- mov r2, #0x80
- add r0, #0x10
- str r2, [r4, r0]
- add r0, r5, #0x0
- bl FUN_02016998
- mov r1, #0xab
- lsl r1, r1, #0x2
- str r0, [r4, r1]
- add r0, r5, #0x0
- mov r1, #0xc0
- bl FUN_02016998
- mov r1, #0x2b
- lsl r1, r1, #0x4
- str r0, [r4, r1]
- ldr r1, [r4, r1]
- mov r0, #0x0
- mov r2, #0x4
- blx MIi_CpuClearFast
- add r0, r5, #0x0
- mov r1, #0xc0
- bl FUN_02016998
- mov r1, #0xad
- lsl r1, r1, #0x2
- str r0, [r4, r1]
- ldr r1, [r4, r1]
- mov r0, #0x0
- mov r2, #0x4
- blx MIi_CpuClearFast
- mov r6, #0x0
- add r5, r4, #0x0
- add r7, r6, #0x0
-_02006E12:
- add r0, r7, #0x0
- add r1, r5, #0x0
- mov r2, #0x98
- blx MIi_CpuClearFast
- add r6, r6, #0x1
- add r5, #0x98
- cmp r6, #0x4
- blt _02006E12
- blx FUN_020B02C8
- ldr r2, _02006EC8 ; =0x000002E3
- mov r0, #0x0
- strb r0, [r4, r2]
- sub r2, #0x4b
- ldr r2, [r4, r2]
- mov r0, #0x75
- mov r1, #0xd3
- bl LoadFromNarc_2
- add r1, sp, #0xc
- str r0, [sp, #0x4]
- blx FUN_020B0088
- ldr r0, [sp, #0xc]
- mov r1, #0xaf
- ldr r0, [r0, #0x4]
- lsl r1, r1, #0x2
- str r0, [r4, r1]
- ldr r0, [sp, #0xc]
- ldr r2, [r0, #0x8]
- add r0, r1, #0x4
- str r2, [r4, r0]
- ldr r0, [sp, #0xc]
- add r1, #0x8
- ldr r0, [r0, #0xc]
- str r0, [r4, r1]
- ldr r0, [sp, #0xc]
- ldr r0, [r0, #0x14]
- str r0, [sp, #0x8]
- bl FUN_02008A74
- ldr r1, [sp, #0x8]
- mov r0, #0xab
- lsl r0, r0, #0x2
- mov r2, #0x2
- ldrb r1, [r1, #0x0]
- ldr r0, [r4, r0]
- lsl r2, r2, #0xe
- blx MI_CpuFill8
- mov r0, #0x0
- mov r7, #0xab
- ldr r6, _02006ECC ; =0x00005050
- mov r12, r0
- str r0, [sp, #0x0]
- add r3, r0, #0x0
- lsl r7, r7, #0x2
-_02006E86:
- ldr r2, [sp, #0x8]
- ldr r0, [sp, #0x0]
- mov r1, #0x0
- add r2, r2, r0
-_02006E8E:
- ldr r5, [r4, r7]
- ldrb r0, [r2, #0x0]
- add r5, r3, r5
- add r5, r1, r5
- add r1, r1, #0x1
- add r2, r2, #0x1
- strb r0, [r5, r6]
- cmp r1, #0x28
- blt _02006E8E
- ldr r0, [sp, #0x0]
- add r3, #0x80
- add r0, #0x50
- str r0, [sp, #0x0]
- mov r0, r12
- add r0, r0, #0x1
- mov r12, r0
- cmp r0, #0x50
- blt _02006E86
- ldr r0, [sp, #0x4]
- bl FUN_02016A18
- ldr r0, _02006ED0 ; =0x000002E1
- mov r1, #0x1
- strb r1, [r4, r0]
- add r0, r0, #0x1
- strb r1, [r4, r0]
- add r0, r4, #0x0
- add sp, #0x10
- pop {r3-r7, pc}
- .balign 4
-_02006EC8: .word 0x000002E3
-_02006ECC: .word 0x00005050
-_02006ED0: .word 0x000002E1
-
- thumb_func_start FUN_02006ED4
-FUN_02006ED4: ; 0x02006ED4
- push {r3-r7, lr}
- sub sp, #0x20
- add r5, r0, #0x0
- bl FUN_020082A8
- add r0, r5, #0x0
- bl FUN_020086F4
- blx FUN_020BB394
- mov r6, #0x9f
- mov r0, #0x0
- ldr r4, _02007250 ; =0x04000444
- lsl r6, r6, #0x2
- str r0, [r4, #0x0]
- str r0, [sp, #0x18]
- add r0, r6, #0x0
- sub r0, #0xc
- ldr r1, [r5, r0]
- add r3, r6, #0x0
- ldr r2, [r5, r6]
- add r0, r6, #0x0
- sub r3, #0x8
- add r6, #0x20
- ldr r3, [r5, r3]
- ldr r6, [r5, r6]
- sub r0, #0x10
- ldr r0, [r5, r0]
- lsr r6, r6, #0x3
- lsl r3, r3, #0x1a
- orr r6, r3
- mov r3, #0x1
- lsl r3, r3, #0x1e
- lsl r0, r0, #0x14
- orr r3, r6
- lsl r1, r1, #0x17
- orr r0, r3
- lsl r2, r2, #0x1d
- orr r0, r1
- orr r0, r2
- str r0, [r4, #0x64]
- ldr r0, [sp, #0x18]
- add r4, r5, #0x0
- str r0, [sp, #0x14]
- ldr r0, _02007254 ; =0x020ECD4C
- str r0, [sp, #0x1c]
-_02006F30:
- ldr r0, [r4, #0x0]
- lsl r0, r0, #0x1f
- lsr r0, r0, #0x1f
- beq _02006F46
- ldr r0, [r4, #0x54]
- lsl r1, r0, #0x1f
- lsr r1, r1, #0x1f
- bne _02006F46
- lsl r0, r0, #0x14
- lsr r0, r0, #0x1f
- beq _02006F48
-_02006F46:
- b _020072BC
-_02006F48:
- ldr r2, [r4, #0x68]
- cmp r2, #0x0
- beq _02006F56
- add r1, r4, #0x0
- add r0, r4, #0x0
- add r1, #0x24
- blx r2
-_02006F56:
- blx FUN_020BB394
- ldr r0, _02007258 ; =0x000002E3
- ldrb r0, [r5, r0]
- cmp r0, #0x1
- beq _02006F68
- ldr r0, _0200725C ; =0x04000454
- mov r1, #0x0
- str r1, [r0, #0x0]
-_02006F68:
- add r0, r4, #0x0
- bl FUN_02007F48
- mov r0, #0x9d
- lsl r0, r0, #0x2
- ldr r0, [r5, r0]
- cmp r0, #0x2
- bne _02006F7C
- mov r0, #0x1
- b _02006F7E
-_02006F7C:
- mov r0, #0x0
-_02006F7E:
- mov r1, #0xa9
- lsl r1, r1, #0x2
- ldr r2, [r5, r1]
- ldr r1, [sp, #0x14]
- add r2, r2, r1
- mov r1, #0x4
- sub r0, r1, r0
- add r1, r2, #0x0
- lsr r1, r0
- ldr r0, _02007260 ; =0x040004AC
- str r1, [r0, #0x0]
- ldr r0, [r4, #0x28]
- lsl r1, r0, #0xc
- mov r0, #0x26
- ldrsh r2, [r4, r0]
- mov r0, #0x42
- ldrsh r0, [r4, r0]
- add r0, r2, r0
- mov r2, #0x24
- ldrsh r3, [r4, r2]
- mov r2, #0x40
- ldrsh r2, [r4, r2]
- lsl r0, r0, #0xc
- add r2, r3, r2
- lsl r3, r2, #0xc
- ldr r2, _02007264 ; =0x04000470
- str r3, [r2, #0x0]
- str r0, [r2, #0x0]
- add r0, r2, #0x0
- str r1, [r0, #0x0]
- ldrh r0, [r4, #0x38]
- asr r0, r0, #0x4
- lsl r1, r0, #0x2
- ldr r0, _02007268 ; =0x020FFA38
- add r2, r0, r1
- ldrsh r0, [r0, r1]
- mov r1, #0x2
- ldrsh r1, [r2, r1]
- blx G3_RotX
- ldrh r0, [r4, #0x3a]
- asr r0, r0, #0x4
- lsl r1, r0, #0x2
- ldr r0, _02007268 ; =0x020FFA38
- add r2, r0, r1
- ldrsh r0, [r0, r1]
- mov r1, #0x2
- ldrsh r1, [r2, r1]
- blx G3_RotY
- ldrh r0, [r4, #0x3c]
- asr r0, r0, #0x4
- lsl r1, r0, #0x2
- ldr r0, _02007268 ; =0x020FFA38
- add r2, r0, r1
- ldrsh r0, [r0, r1]
- mov r1, #0x2
- ldrsh r1, [r2, r1]
- blx G3_RotZ
- ldr r0, [r4, #0x28]
- lsl r0, r0, #0xc
- neg r1, r0
- mov r0, #0x26
- ldrsh r2, [r4, r0]
- mov r0, #0x42
- ldrsh r0, [r4, r0]
- add r0, r2, r0
- mov r2, #0x24
- ldrsh r3, [r4, r2]
- mov r2, #0x40
- ldrsh r2, [r4, r2]
- lsl r0, r0, #0xc
- neg r0, r0
- add r2, r3, r2
- lsl r2, r2, #0xc
- neg r3, r2
- ldr r2, _02007264 ; =0x04000470
- str r3, [r2, #0x0]
- str r0, [r2, #0x0]
- add r0, r2, #0x0
- str r1, [r0, #0x0]
- ldr r3, [r4, #0x50]
- lsl r0, r3, #0x11
- lsr r0, r0, #0x1b
- lsl r2, r3, #0x16
- lsl r1, r0, #0xa
- lsl r0, r3, #0x1b
- lsr r2, r2, #0x1b
- lsr r0, r0, #0x1b
- lsl r2, r2, #0x5
- orr r0, r2
- orr r0, r1
- lsl r0, r0, #0x10
- lsr r2, r0, #0x10
- lsl r0, r3, #0x2
- lsr r0, r0, #0x1b
- lsl r1, r0, #0xa
- lsl r0, r3, #0xc
- lsl r3, r3, #0x7
- lsr r3, r3, #0x1b
- lsr r0, r0, #0x1b
- lsl r3, r3, #0x5
- orr r0, r3
- orr r0, r1
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- lsl r0, r0, #0x10
- add r1, r2, #0x0
- orr r1, r0
- mov r0, #0x2
- lsl r0, r0, #0xe
- orr r1, r0
- ldr r0, _0200726C ; =0x040004C0
- str r1, [r0, #0x0]
- ldr r1, _02007270 ; =0x00004210
- add r0, r0, #0x4
- str r1, [r0, #0x0]
- ldr r1, [r4, #0x0]
- ldr r0, [r4, #0x54]
- lsl r1, r1, #0x19
- lsl r0, r0, #0x19
- lsr r1, r1, #0x1a
- lsr r0, r0, #0x1b
- lsl r2, r1, #0x18
- mov r1, #0xc0
- lsl r0, r0, #0x10
- orr r1, r2
- orr r1, r0
- ldr r0, _02007274 ; =0x040004A4
- str r1, [r0, #0x0]
- ldr r0, [r4, #0x54]
- lsl r0, r0, #0x1e
- lsr r0, r0, #0x1f
- beq _02007104
- add r0, r4, #0x0
- add r0, #0x5b
- ldrb r0, [r0, #0x0]
- add r2, r4, #0x0
- add r2, #0x44
- lsl r1, r0, #0x4
- ldr r0, [sp, #0x1c]
- ldrb r3, [r2, #0x0]
- add r0, r0, r1
- ldr r2, [sp, #0x1c]
- ldr r0, [r0, #0x4]
- ldr r1, [r2, r1]
- add r6, r3, r1
- add r1, r4, #0x0
- add r1, #0x46
- ldrb r1, [r1, #0x0]
- mov r12, r1
- add r1, r4, #0x0
- add r1, #0x45
- ldrb r2, [r1, #0x0]
- add r1, r2, r0
- add r0, r4, #0x0
- add r0, #0x47
- ldrb r7, [r0, #0x0]
- mov r0, r12
- add r0, r0, r6
- str r7, [sp, #0x0]
- str r6, [sp, #0x4]
- str r1, [sp, #0x8]
- str r0, [sp, #0xc]
- add r0, r7, r1
- str r0, [sp, #0x10]
- mov r1, #0x24
- ldrsh r1, [r4, r1]
- mov r0, #0x2c
- ldrsh r0, [r4, r0]
- sub r1, #0x28
- add r1, r1, r3
- add r0, r0, r1
- mov r3, #0x26
- ldrsh r3, [r4, r3]
- mov r1, #0x2e
- lsl r0, r0, #0x10
- sub r3, #0x28
- add r2, r3, r2
- ldrsh r1, [r4, r1]
- ldr r3, [r4, #0x28]
- asr r0, r0, #0x10
- add r2, r1, r2
- mov r1, #0x6e
- ldrsb r1, [r4, r1]
- sub r1, r2, r1
- ldr r2, [r4, #0x30]
- lsl r1, r1, #0x10
- add r2, r3, r2
- asr r1, r1, #0x10
- mov r3, r12
- blx FUN_020B0250
- b _02007174
-_02007104:
- mov r0, #0x34
- ldrsh r1, [r4, r0]
- mov r0, #0x50
- ldr r2, [sp, #0x1c]
- mul r0, r1
- asr r3, r0, #0x8
- mov r0, #0x36
- ldrsh r1, [r4, r0]
- mov r0, #0x50
- ldr r6, [sp, #0x1c]
- mul r0, r1
- asr r1, r0, #0x8
- add r0, r4, #0x0
- add r0, #0x5b
- ldrb r0, [r0, #0x0]
- lsl r0, r0, #0x4
- str r1, [sp, #0x0]
- add r2, r2, r0
- ldr r0, [r6, r0]
- lsr r6, r1, #0x1f
- str r0, [sp, #0x4]
- ldr r0, [r2, #0x4]
- add r6, r1, r6
- str r0, [sp, #0x8]
- ldr r0, [r2, #0x8]
- asr r1, r6, #0x1
- str r0, [sp, #0xc]
- ldr r0, [r2, #0xc]
- str r0, [sp, #0x10]
- mov r0, #0x24
- ldrsh r2, [r4, r0]
- lsr r0, r3, #0x1f
- add r0, r3, r0
- asr r0, r0, #0x1
- sub r2, r2, r0
- mov r0, #0x2c
- ldrsh r0, [r4, r0]
- ldr r6, [r4, #0x28]
- add r0, r2, r0
- mov r2, #0x26
- ldrsh r2, [r4, r2]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- sub r2, r2, r1
- mov r1, #0x2e
- ldrsh r1, [r4, r1]
- add r2, r2, r1
- mov r1, #0x6e
- ldrsb r1, [r4, r1]
- sub r1, r2, r1
- ldr r2, [r4, #0x30]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add r2, r6, r2
- blx FUN_020B0250
-_02007174:
- add r0, r4, #0x0
- add r0, #0x6c
- ldrh r0, [r0, #0x0]
- lsl r1, r0, #0x1e
- lsr r1, r1, #0x1e
- beq _0200719A
- lsl r0, r0, #0x19
- lsr r0, r0, #0x1e
- beq _0200719A
- ldr r0, [r4, #0x54]
- lsl r0, r0, #0x1e
- lsr r0, r0, #0x1f
- bne _0200719A
- mov r0, #0xb9
- lsl r0, r0, #0x2
- ldr r1, [r5, r0]
- mov r0, #0x1
- tst r0, r1
- beq _0200719C
-_0200719A:
- b _020072BC
-_0200719C:
- ldr r0, _02007258 ; =0x000002E3
- ldrb r0, [r5, r0]
- cmp r0, #0x1
- beq _020071AA
- ldr r0, _0200725C ; =0x04000454
- mov r1, #0x0
- str r1, [r0, #0x0]
-_020071AA:
- mov r0, #0x9d
- lsl r0, r0, #0x2
- ldr r0, [r5, r0]
- cmp r0, #0x2
- bne _020071B8
- mov r1, #0x1
- b _020071BA
-_020071B8:
- mov r1, #0x0
-_020071BA:
- add r2, r4, #0x0
- add r2, #0x6c
- ldrh r2, [r2, #0x0]
- mov r0, #0xa9
- lsl r0, r0, #0x2
- lsl r2, r2, #0x1e
- lsr r2, r2, #0x1e
- add r2, r2, #0x3
- ldr r0, [r5, r0]
- lsl r2, r2, #0x5
- add r2, r0, r2
- mov r0, #0x4
- sub r0, r0, r1
- add r1, r2, #0x0
- lsr r1, r0
- ldr r0, _02007260 ; =0x040004AC
- str r1, [r0, #0x0]
- add r0, r4, #0x0
- add r0, #0x6c
- ldrh r0, [r0, #0x0]
- lsl r0, r0, #0x1b
- lsr r0, r0, #0x1f
- beq _020071FA
- mov r0, #0x34
- ldrsh r0, [r4, r0]
- lsl r0, r0, #0x6
- asr r3, r0, #0x8
- mov r0, #0x36
- ldrsh r0, [r4, r0]
- lsl r0, r0, #0x4
- asr r1, r0, #0x8
- b _020071FE
-_020071FA:
- mov r3, #0x40
- mov r1, #0x10
-_020071FE:
- add r0, r4, #0x0
- add r0, #0x6c
- ldrh r0, [r0, #0x0]
- lsl r0, r0, #0x1d
- lsr r0, r0, #0x1f
- beq _02007220
- mov r0, #0x74
- ldrsh r2, [r4, r0]
- mov r0, #0x24
- mov r6, #0x2c
- ldrsh r0, [r4, r0]
- ldrsh r6, [r4, r6]
- add r0, r0, r6
- add r2, r2, r0
- add r0, r4, #0x0
- add r0, #0x70
- strh r2, [r0, #0x0]
-_02007220:
- add r0, r4, #0x0
- add r0, #0x6c
- ldrh r0, [r0, #0x0]
- lsl r0, r0, #0x1c
- lsr r0, r0, #0x1f
- beq _02007242
- mov r0, #0x76
- ldrsh r2, [r4, r0]
- mov r0, #0x26
- mov r6, #0x2e
- ldrsh r0, [r4, r0]
- ldrsh r6, [r4, r6]
- add r0, r0, r6
- add r2, r2, r0
- add r0, r4, #0x0
- add r0, #0x72
- strh r2, [r0, #0x0]
-_02007242:
- add r0, r4, #0x0
- add r0, #0x6c
- ldrh r0, [r0, #0x0]
- ldr r2, _02007278 ; =0x020ECBD0
- ldr r6, _02007278 ; =0x020ECBD0
- b _0200727C
- nop
-_02007250: .word 0x04000444
-_02007254: .word 0x020ECD4C
-_02007258: .word 0x000002E3
-_0200725C: .word 0x04000454
-_02007260: .word 0x040004AC
-_02007264: .word 0x04000470
-_02007268: .word 0x020FFA38
-_0200726C: .word 0x040004C0
-_02007270: .word 0x00004210
-_02007274: .word 0x040004A4
-_02007278: .word 0x020ECBD0
-_0200727C:
- lsl r0, r0, #0x19
- lsr r0, r0, #0x1e
- lsl r0, r0, #0x4
- str r1, [sp, #0x0]
- add r2, r2, r0
- ldr r0, [r6, r0]
- lsr r6, r1, #0x1f
- str r0, [sp, #0x4]
- ldr r0, [r2, #0x4]
- add r6, r1, r6
- str r0, [sp, #0x8]
- ldr r0, [r2, #0x8]
- asr r1, r6, #0x1
- str r0, [sp, #0xc]
- ldr r0, [r2, #0xc]
- str r0, [sp, #0x10]
- mov r0, #0x70
- ldrsh r2, [r4, r0]
- lsr r0, r3, #0x1f
- add r0, r3, r0
- asr r0, r0, #0x1
- sub r0, r2, r0
- mov r2, #0x72
- ldrsh r2, [r4, r2]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- sub r1, r2, r1
- lsl r1, r1, #0x10
- ldr r2, _020072E0 ; =0xFFFFFC18
- asr r1, r1, #0x10
- blx FUN_020B0250
-_020072BC:
- ldr r0, [sp, #0x14]
- add r4, #0x98
- add r0, #0x20
- str r0, [sp, #0x14]
- ldr r0, [sp, #0x1c]
- add r0, #0x20
- str r0, [sp, #0x1c]
- ldr r0, [sp, #0x18]
- add r0, r0, #0x1
- str r0, [sp, #0x18]
- cmp r0, #0x4
- bge _020072D6
- b _02006F30
-_020072D6:
- ldr r0, _020072E4 ; =0x04000448
- mov r1, #0x1
- str r1, [r0, #0x0]
- add sp, #0x20
- pop {r3-r7, pc}
- .balign 4
-_020072E0: .word 0xFFFFFC18
-_020072E4: .word 0x04000448
-
- thumb_func_start FUN_020072E8
-FUN_020072E8: ; 0x020072E8
- push {r4, lr}
- add r4, r0, #0x0
- mov r0, #0xab
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- bl FUN_02016A18
- mov r0, #0x2b
- lsl r0, r0, #0x4
- ldr r0, [r4, r0]
- bl FUN_02016A18
- mov r0, #0xad
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- bl FUN_02016A18
- add r0, r4, #0x0
- bl FUN_02016A18
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02007314
-FUN_02007314: ; 0x02007314
- push {r3-r4}
- add r1, r0, #0x0
- mov r3, #0x0
- add r1, #0x59
- strb r3, [r1, #0x0]
- add r1, r3, #0x0
-_02007320:
- add r2, r0, r3
- add r2, #0x5c
- add r3, r3, #0x1
- strb r1, [r2, #0x0]
- cmp r3, #0xa
- blt _02007320
- add r2, r0, #0x0
- add r2, #0x59
- ldrb r2, [r2, #0x0]
- lsl r2, r2, #0x1
- add r3, r0, r2
- mov r2, #0x84
- ldrsb r4, [r3, r2]
- add r3, r2, #0x0
- sub r3, #0x85
- cmp r4, r3
- bne _0200734A
- add r0, #0x5b
- strb r1, [r0, #0x0]
- pop {r3-r4}
- bx lr
-_0200734A:
- add r1, r0, #0x0
- mov r3, #0x1
- add r1, #0x58
- strb r3, [r1, #0x0]
- add r1, r0, #0x0
- add r1, #0x59
- ldrb r1, [r1, #0x0]
- lsl r1, r1, #0x1
- add r1, r0, r1
- ldrsb r2, [r1, r2]
- add r1, r0, #0x0
- add r1, #0x5b
- strb r2, [r1, #0x0]
- add r1, r0, #0x0
- add r1, #0x59
- ldrb r1, [r1, #0x0]
- lsl r1, r1, #0x1
- add r1, r0, r1
- add r1, #0x85
- ldrb r1, [r1, #0x0]
- add r0, #0x5a
- strb r1, [r0, #0x0]
- pop {r3-r4}
- bx lr
- .balign 4
-
- thumb_func_start FUN_0200737C
-FUN_0200737C: ; 0x0200737C
- add r2, r0, #0x0
- ldr r3, _0200738C ; =MI_CpuCopy8
- add r2, #0x84
- add r0, r1, #0x0
- add r1, r2, #0x0
- mov r2, #0x14
- bx r3
- nop
-_0200738C: .word MI_CpuCopy8
-
- thumb_func_start FUN_02007390
-FUN_02007390: ; 0x02007390
- add r0, #0x58
- ldrb r0, [r0, #0x0]
- cmp r0, #0x0
- beq _0200739C
- mov r0, #0x1
- bx lr
-_0200739C:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_020073A0
-FUN_020073A0: ; 0x020073A0
- push {r3-r7, lr}
- sub sp, #0x18
- add r5, r0, #0x0
- add r6, r1, #0x0
- add r7, r2, #0x0
- str r3, [sp, #0x14]
- mov r4, #0x0
-_020073AE:
- ldr r1, [r0, #0x0]
- lsl r1, r1, #0x1f
- lsr r1, r1, #0x1f
- beq _020073BE
- add r4, r4, #0x1
- add r0, #0x98
- cmp r4, #0x4
- blt _020073AE
-_020073BE:
- cmp r4, #0x4
- bne _020073C6
- bl ErrorHandling
-_020073C6:
- ldr r0, [sp, #0x30]
- ldr r3, [sp, #0x14]
- str r0, [sp, #0x0]
- ldr r0, [sp, #0x34]
- add r1, r6, #0x0
- str r0, [sp, #0x4]
- ldr r0, [sp, #0x38]
- str r4, [sp, #0x8]
- str r0, [sp, #0xc]
- ldr r0, [sp, #0x3c]
- add r2, r7, #0x0
- str r0, [sp, #0x10]
- add r0, r5, #0x0
- bl FUN_020073E8
- add sp, #0x18
- pop {r3-r7, pc}
-
- thumb_func_start FUN_020073E8
-FUN_020073E8: ; 0x020073E8
- push {r4-r7, lr}
- sub sp, #0xc
- str r1, [sp, #0x8]
- ldr r1, [sp, #0x28]
- add r4, r0, #0x0
- mov r0, #0x98
- add r6, r1, #0x0
- mul r6, r0
- ldr r0, [r4, r6]
- str r2, [sp, #0x0]
- lsl r0, r0, #0x1f
- str r3, [sp, #0x4]
- lsr r0, r0, #0x1f
- beq _02007408
- bl ErrorHandling
-_02007408:
- add r5, r4, r6
- mov r0, #0x0
- add r1, r5, #0x0
- mov r2, #0x98
- blx MIi_CpuClearFast
- ldr r1, [r4, r6]
- mov r0, #0x1
- bic r1, r0
- mov r0, #0x1
- orr r0, r1
- str r0, [r4, r6]
- ldr r1, [r4, r6]
- mov r0, #0x80
- orr r0, r1
- str r0, [r4, r6]
- mov r0, #0x80
- ldr r1, [r4, r6]
- add r0, #0x80
- orr r0, r1
- str r0, [r4, r6]
- add r2, r5, #0x0
- ldr r0, [r4, r6]
- mov r1, #0x7e
- bic r0, r1
- ldr r1, [sp, #0x24]
- add r7, r2, #0x4
- lsl r1, r1, #0x1a
- lsr r1, r1, #0x19
- orr r0, r1
- str r0, [r4, r6]
- ldr r0, [sp, #0x8]
- mov r12, r0
- mov r3, r12
- ldmia r3!, {r0-r1}
- stmia r7!, {r0-r1}
- ldmia r3!, {r0-r1}
- stmia r7!, {r0-r1}
- add r7, r2, #0x0
- ldr r3, [sp, #0x8]
- add r7, #0x14
- ldmia r3!, {r0-r1}
- stmia r7!, {r0-r1}
- str r3, [sp, #0x8]
- ldmia r3!, {r0-r1}
- stmia r7!, {r0-r1}
- ldr r0, [sp, #0x0]
- ldr r1, [sp, #0x4]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- lsl r1, r1, #0x10
- asr r7, r1, #0x10
- strh r0, [r2, #0x24]
- str r3, [sp, #0x8]
- ldr r1, [sp, #0x20]
- strh r7, [r2, #0x26]
- str r1, [r2, #0x28]
- mov r1, #0x80
- add r1, #0x80
- strh r1, [r2, #0x34]
- strh r1, [r2, #0x36]
- ldr r1, [r5, #0x54]
- mov r3, #0x7c
- bic r1, r3
- mov r3, #0x7c
- orr r1, r3
- str r1, [r5, #0x54]
- ldr r1, [r5, #0x50]
- mov r3, #0x1f
- bic r1, r3
- mov r3, #0x1f
- orr r3, r1
- ldr r1, _02007520 ; =0xFFFFFC1F
- and r1, r3
- mov r3, #0x1f
- lsl r3, r3, #0x5
- orr r3, r1
- ldr r1, _02007524 ; =0xFFFF83FF
- and r1, r3
- mov r3, #0x1f
- lsl r3, r3, #0xa
- orr r3, r1
- ldr r1, _02007528 ; =0xFFF07FFF
- and r1, r3
- mov r3, #0x80
- lsl r3, r3, #0xc
- orr r3, r1
- ldr r1, _0200752C ; =0xFE0FFFFF
- and r1, r3
- mov r3, #0x80
- lsl r3, r3, #0x11
- orr r3, r1
- ldr r1, _02007530 ; =0xC1FFFFFF
- and r1, r3
- mov r3, #0x80
- lsl r3, r3, #0x16
- orr r1, r3
- str r1, [r5, #0x50]
- ldr r1, [sp, #0x30]
- str r1, [r2, #0x68]
- add r1, r2, #0x0
- add r1, #0x70
- strh r0, [r1, #0x0]
- add r2, #0x72
- add r0, r5, #0x0
- strh r7, [r2, #0x0]
- add r0, #0x6c
- ldrh r1, [r0, #0x0]
- mov r0, #0x4
- orr r1, r0
- add r0, r5, #0x0
- add r0, #0x6c
- strh r1, [r0, #0x0]
- add r0, r5, #0x0
- add r0, #0x6c
- ldrh r1, [r0, #0x0]
- mov r0, #0x8
- orr r1, r0
- add r0, r5, #0x0
- add r0, #0x6c
- strh r1, [r0, #0x0]
- add r0, r5, #0x0
- add r0, #0x6c
- ldrh r1, [r0, #0x0]
- mov r0, #0x10
- add r5, #0x6c
- orr r0, r1
- strh r0, [r5, #0x0]
- ldr r0, [sp, #0x2c]
- cmp r0, #0x0
- beq _02007518
- add r1, r4, r6
- add r1, #0x84
- mov r2, #0x14
- blx MI_CpuCopy8
-_02007518:
- add r0, r4, r6
- add sp, #0xc
- pop {r4-r7, pc}
- nop
-_02007520: .word 0xFFFFFC1F
-_02007524: .word 0xFFFF83FF
-_02007528: .word 0xFFF07FFF
-_0200752C: .word 0xFE0FFFFF
-_02007530: .word 0xC1FFFFFF
-
- thumb_func_start FUN_02007534
-FUN_02007534: ; 0x02007534
- ldr r2, [r0, #0x0]
- mov r1, #0x1
- bic r2, r1
- str r2, [r0, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02007540
-FUN_02007540: ; 0x02007540
- push {r3-r5, lr}
- add r5, r0, #0x0
- mov r4, #0x0
-_02007546:
- add r0, r5, #0x0
- bl FUN_02007534
- add r4, r4, #0x1
- add r5, #0x98
- cmp r4, #0x4
- blt _02007546
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02007558
-FUN_02007558: ; 0x02007558
- cmp r1, #0x2e
- bls _0200755E
- b _02007800
-_0200755E:
- add r1, r1, r1
- add r1, pc
- ldrh r1, [r1, #0x6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_0200756A: ; jump table (using 16-bit offset)
- .short _020075C8 - _0200756A - 2; case 0
- .short _020075CC - _0200756A - 2; case 1
- .short _020075D0 - _0200756A - 2; case 2
- .short _020075D4 - _0200756A - 2; case 3
- .short _020075D8 - _0200756A - 2; case 4
- .short _020075DC - _0200756A - 2; case 5
- .short _020075E0 - _0200756A - 2; case 6
- .short _020075F0 - _0200756A - 2; case 7
- .short _020075F4 - _0200756A - 2; case 8
- .short _020075F8 - _0200756A - 2; case 9
- .short _020075FC - _0200756A - 2; case 10
- .short _02007602 - _0200756A - 2; case 11
- .short _02007608 - _0200756A - 2; case 12
- .short _0200760C - _0200756A - 2; case 13
- .short _02007610 - _0200756A - 2; case 14
- .short _02007620 - _0200756A - 2; case 15
- .short _02007626 - _0200756A - 2; case 16
- .short _0200762C - _0200756A - 2; case 17
- .short _02007632 - _0200756A - 2; case 18
- .short _02007638 - _0200756A - 2; case 19
- .short _0200763E - _0200756A - 2; case 20
- .short _02007644 - _0200756A - 2; case 21
- .short _0200764A - _0200756A - 2; case 22
- .short _02007650 - _0200756A - 2; case 23
- .short _02007660 - _0200756A - 2; case 24
- .short _02007670 - _0200756A - 2; case 25
- .short _02007680 - _0200756A - 2; case 26
- .short _02007690 - _0200756A - 2; case 27
- .short _020076A0 - _0200756A - 2; case 28
- .short _020076B0 - _0200756A - 2; case 29
- .short _020076C0 - _0200756A - 2; case 30
- .short _020076DA - _0200756A - 2; case 31
- .short _020076E8 - _0200756A - 2; case 32
- .short _020076FA - _0200756A - 2; case 33
- .short _0200770C - _0200756A - 2; case 34
- .short _02007712 - _0200756A - 2; case 35
- .short _0200772A - _0200756A - 2; case 36
- .short _02007742 - _0200756A - 2; case 37
- .short _02007752 - _0200756A - 2; case 38
- .short _02007800 - _0200756A - 2; case 39
- .short _02007758 - _0200756A - 2; case 40
- .short _02007770 - _0200756A - 2; case 41
- .short _02007776 - _0200756A - 2; case 42
- .short _0200779A - _0200756A - 2; case 43
- .short _020077B4 - _0200756A - 2; case 44
- .short _020077CE - _0200756A - 2; case 45
- .short _020077E8 - _0200756A - 2; case 46
-_020075C8:
- strh r2, [r0, #0x24]
- bx lr
-_020075CC:
- strh r2, [r0, #0x26]
- bx lr
-_020075D0:
- str r2, [r0, #0x28]
- bx lr
-_020075D4:
- strh r2, [r0, #0x2c]
- bx lr
-_020075D8:
- strh r2, [r0, #0x2e]
- bx lr
-_020075DC:
- str r2, [r0, #0x30]
- bx lr
-_020075E0:
- ldr r3, [r0, #0x54]
- mov r1, #0x1
- bic r3, r1
- mov r1, #0x1
- and r1, r2
- orr r1, r3
- str r1, [r0, #0x54]
- bx lr
-_020075F0:
- strh r2, [r0, #0x38]
- bx lr
-_020075F4:
- strh r2, [r0, #0x3a]
- bx lr
-_020075F8:
- strh r2, [r0, #0x3c]
- bx lr
-_020075FC:
- add r0, #0x40
- strh r2, [r0, #0x0]
- bx lr
-_02007602:
- add r0, #0x42
- strh r2, [r0, #0x0]
- bx lr
-_02007608:
- strh r2, [r0, #0x34]
- bx lr
-_0200760C:
- strh r2, [r0, #0x36]
- bx lr
-_02007610:
- ldr r3, [r0, #0x54]
- mov r1, #0x2
- bic r3, r1
- lsl r1, r2, #0x1f
- lsr r1, r1, #0x1e
- orr r1, r3
- str r1, [r0, #0x54]
- bx lr
-_02007620:
- add r0, #0x44
- strb r2, [r0, #0x0]
- bx lr
-_02007626:
- add r0, #0x45
- strb r2, [r0, #0x0]
- bx lr
-_0200762C:
- add r0, #0x46
- strb r2, [r0, #0x0]
- bx lr
-_02007632:
- add r0, #0x47
- strb r2, [r0, #0x0]
- bx lr
-_02007638:
- add r0, #0x70
- strh r2, [r0, #0x0]
- bx lr
-_0200763E:
- add r0, #0x72
- strh r2, [r0, #0x0]
- bx lr
-_02007644:
- add r0, #0x74
- strh r2, [r0, #0x0]
- bx lr
-_0200764A:
- add r0, #0x76
- strh r2, [r0, #0x0]
- bx lr
-_02007650:
- ldr r3, [r0, #0x54]
- mov r1, #0x7c
- bic r3, r1
- lsl r1, r2, #0x1b
- lsr r1, r1, #0x19
- orr r1, r3
- str r1, [r0, #0x54]
- bx lr
-_02007660:
- ldr r3, [r0, #0x50]
- mov r1, #0x1f
- bic r3, r1
- mov r1, #0x1f
- and r1, r2
- orr r1, r3
- str r1, [r0, #0x50]
- bx lr
-_02007670:
- ldr r3, [r0, #0x50]
- ldr r1, _02007804 ; =0xFFFFFC1F
- and r3, r1
- lsl r1, r2, #0x1b
- lsr r1, r1, #0x16
- orr r1, r3
- str r1, [r0, #0x50]
- bx lr
-_02007680:
- ldr r3, [r0, #0x50]
- ldr r1, _02007808 ; =0xFFFF83FF
- and r3, r1
- lsl r1, r2, #0x1b
- lsr r1, r1, #0x11
- orr r1, r3
- str r1, [r0, #0x50]
- bx lr
-_02007690:
- ldr r3, [r0, #0x50]
- ldr r1, _0200780C ; =0xFFF07FFF
- and r3, r1
- lsl r1, r2, #0x1b
- lsr r1, r1, #0xc
- orr r1, r3
- str r1, [r0, #0x50]
- bx lr
-_020076A0:
- ldr r3, [r0, #0x50]
- ldr r1, _02007810 ; =0xFE0FFFFF
- and r3, r1
- lsl r1, r2, #0x1b
- lsr r1, r1, #0x7
- orr r1, r3
- str r1, [r0, #0x50]
- bx lr
-_020076B0:
- ldr r3, [r0, #0x50]
- ldr r1, _02007814 ; =0xC1FFFFFF
- and r3, r1
- lsl r1, r2, #0x1b
- lsr r1, r1, #0x2
- orr r1, r3
- str r1, [r0, #0x50]
- bx lr
-_020076C0:
- ldr r3, [r0, #0x54]
- ldr r1, _02007818 ; =0xFFFFEFFF
- and r3, r1
- lsl r1, r2, #0x1f
- lsr r1, r1, #0x13
- orr r1, r3
- str r1, [r0, #0x54]
- mov r1, #0x1
- ldr r2, [r0, #0x0]
- lsl r1, r1, #0x8
- orr r1, r2
- str r1, [r0, #0x0]
- bx lr
-_020076DA:
- str r2, [r0, #0x4c]
- mov r1, #0x1
- ldr r2, [r0, #0x0]
- lsl r1, r1, #0x8
- orr r1, r2
- str r1, [r0, #0x0]
- bx lr
-_020076E8:
- add r1, r0, #0x0
- add r1, #0x48
- strb r2, [r1, #0x0]
- mov r1, #0x1
- ldr r2, [r0, #0x0]
- lsl r1, r1, #0x8
- orr r1, r2
- str r1, [r0, #0x0]
- bx lr
-_020076FA:
- add r1, r0, #0x0
- add r1, #0x49
- strb r2, [r1, #0x0]
- mov r1, #0x1
- ldr r2, [r0, #0x0]
- lsl r1, r1, #0x8
- orr r1, r2
- str r1, [r0, #0x0]
- bx lr
-_0200770C:
- add r0, #0x4a
- strb r2, [r0, #0x0]
- bx lr
-_02007712:
- ldr r3, [r0, #0x54]
- ldr r1, _0200781C ; =0xFFFFFDFF
- and r3, r1
- lsl r1, r2, #0x1f
- lsr r1, r1, #0x16
- orr r1, r3
- str r1, [r0, #0x54]
- ldr r2, [r0, #0x0]
- mov r1, #0x80
- orr r1, r2
- str r1, [r0, #0x0]
- bx lr
-_0200772A:
- ldr r3, [r0, #0x54]
- ldr r1, _02007820 ; =0xFFFFFBFF
- and r3, r1
- lsl r1, r2, #0x1f
- lsr r1, r1, #0x15
- orr r1, r3
- str r1, [r0, #0x54]
- ldr r2, [r0, #0x0]
- mov r1, #0x80
- orr r1, r2
- str r1, [r0, #0x0]
- bx lr
-_02007742:
- ldr r3, [r0, #0x54]
- ldr r1, _02007824 ; =0xFFFFF7FF
- and r3, r1
- lsl r1, r2, #0x1f
- lsr r1, r1, #0x14
- orr r1, r3
- str r1, [r0, #0x54]
- bx lr
-_02007752:
- add r0, #0x5b
- strb r2, [r0, #0x0]
- bx lr
-_02007758:
- ldr r3, [r0, #0x54]
- ldr r1, _02007828 ; =0xFFFE1FFF
- and r3, r1
- lsl r1, r2, #0x1c
- lsr r1, r1, #0xf
- orr r1, r3
- str r1, [r0, #0x54]
- ldr r2, [r0, #0x0]
- mov r1, #0x80
- orr r1, r2
- str r1, [r0, #0x0]
- bx lr
-_02007770:
- add r0, #0x6e
- strb r2, [r0, #0x0]
- bx lr
-_02007776:
- add r1, r0, #0x0
- add r1, #0x6c
- ldrh r3, [r1, #0x0]
- mov r1, #0x3
- bic r3, r1
- lsl r1, r2, #0x10
- lsr r1, r1, #0x10
- mov r2, #0x3
- and r1, r2
- orr r3, r1
- add r1, r0, #0x0
- add r1, #0x6c
- strh r3, [r1, #0x0]
- ldr r1, [r0, #0x0]
- add r2, #0xfd
- orr r1, r2
- str r1, [r0, #0x0]
- bx lr
-_0200779A:
- add r1, r0, #0x0
- add r1, #0x6c
- ldrh r3, [r1, #0x0]
- mov r1, #0x4
- add r0, #0x6c
- bic r3, r1
- lsl r1, r2, #0x10
- lsr r1, r1, #0x10
- lsl r1, r1, #0x1f
- lsr r1, r1, #0x1d
- orr r1, r3
- strh r1, [r0, #0x0]
- bx lr
-_020077B4:
- add r1, r0, #0x0
- add r1, #0x6c
- ldrh r3, [r1, #0x0]
- mov r1, #0x8
- add r0, #0x6c
- bic r3, r1
- lsl r1, r2, #0x10
- lsr r1, r1, #0x10
- lsl r1, r1, #0x1f
- lsr r1, r1, #0x1c
- orr r1, r3
- strh r1, [r0, #0x0]
- bx lr
-_020077CE:
- add r1, r0, #0x0
- add r1, #0x6c
- ldrh r3, [r1, #0x0]
- mov r1, #0x10
- add r0, #0x6c
- bic r3, r1
- lsl r1, r2, #0x10
- lsr r1, r1, #0x10
- lsl r1, r1, #0x1f
- lsr r1, r1, #0x1b
- orr r1, r3
- strh r1, [r0, #0x0]
- bx lr
-_020077E8:
- add r1, r0, #0x0
- add r1, #0x6c
- ldrh r3, [r1, #0x0]
- mov r1, #0x60
- add r0, #0x6c
- bic r3, r1
- lsl r1, r2, #0x10
- lsr r1, r1, #0x10
- lsl r1, r1, #0x1e
- lsr r1, r1, #0x19
- orr r1, r3
- strh r1, [r0, #0x0]
-_02007800:
- bx lr
- nop
-_02007804: .word 0xFFFFFC1F
-_02007808: .word 0xFFFF83FF
-_0200780C: .word 0xFFF07FFF
-_02007810: .word 0xFE0FFFFF
-_02007814: .word 0xC1FFFFFF
-_02007818: .word 0xFFFFEFFF
-_0200781C: .word 0xFFFFFDFF
-_02007820: .word 0xFFFFFBFF
-_02007824: .word 0xFFFFF7FF
-_02007828: .word 0xFFFE1FFF
-
- thumb_func_start FUN_0200782C
-FUN_0200782C: ; 0x0200782C
- push {r3, lr}
- cmp r1, #0x2e
- bls _02007834
- b _020079D6
-_02007834:
- add r1, r1, r1
- add r1, pc
- ldrh r1, [r1, #0x6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_02007840: ; jump table (using 16-bit offset)
- .short _0200789E - _02007840 - 2; case 0
- .short _020078A4 - _02007840 - 2; case 1
- .short _020078AA - _02007840 - 2; case 2
- .short _020078AE - _02007840 - 2; case 3
- .short _020078B4 - _02007840 - 2; case 4
- .short _020078BA - _02007840 - 2; case 5
- .short _020078BE - _02007840 - 2; case 6
- .short _020078C6 - _02007840 - 2; case 7
- .short _020078CA - _02007840 - 2; case 8
- .short _020078CE - _02007840 - 2; case 9
- .short _020078D2 - _02007840 - 2; case 10
- .short _020078D8 - _02007840 - 2; case 11
- .short _020078DE - _02007840 - 2; case 12
- .short _020078E4 - _02007840 - 2; case 13
- .short _020078EA - _02007840 - 2; case 14
- .short _020078F2 - _02007840 - 2; case 15
- .short _020078F8 - _02007840 - 2; case 16
- .short _020078FE - _02007840 - 2; case 17
- .short _02007904 - _02007840 - 2; case 18
- .short _0200790A - _02007840 - 2; case 19
- .short _02007910 - _02007840 - 2; case 20
- .short _02007916 - _02007840 - 2; case 21
- .short _0200791C - _02007840 - 2; case 22
- .short _02007922 - _02007840 - 2; case 23
- .short _0200792A - _02007840 - 2; case 24
- .short _02007932 - _02007840 - 2; case 25
- .short _0200793A - _02007840 - 2; case 26
- .short _02007942 - _02007840 - 2; case 27
- .short _0200794A - _02007840 - 2; case 28
- .short _02007952 - _02007840 - 2; case 29
- .short _0200795A - _02007840 - 2; case 30
- .short _02007962 - _02007840 - 2; case 31
- .short _02007966 - _02007840 - 2; case 32
- .short _0200796C - _02007840 - 2; case 33
- .short _02007972 - _02007840 - 2; case 34
- .short _02007978 - _02007840 - 2; case 35
- .short _02007980 - _02007840 - 2; case 36
- .short _02007988 - _02007840 - 2; case 37
- .short _02007990 - _02007840 - 2; case 38
- .short _020079D6 - _02007840 - 2; case 39
- .short _02007996 - _02007840 - 2; case 40
- .short _0200799E - _02007840 - 2; case 41
- .short _020079A4 - _02007840 - 2; case 42
- .short _020079AE - _02007840 - 2; case 43
- .short _020079B8 - _02007840 - 2; case 44
- .short _020079C2 - _02007840 - 2; case 45
- .short _020079CC - _02007840 - 2; case 46
-_0200789E:
- mov r1, #0x24
- ldrsh r0, [r0, r1]
- pop {r3, pc}
-_020078A4:
- mov r1, #0x26
- ldrsh r0, [r0, r1]
- pop {r3, pc}
-_020078AA:
- ldr r0, [r0, #0x28]
- pop {r3, pc}
-_020078AE:
- mov r1, #0x2c
- ldrsh r0, [r0, r1]
- pop {r3, pc}
-_020078B4:
- mov r1, #0x2e
- ldrsh r0, [r0, r1]
- pop {r3, pc}
-_020078BA:
- ldr r0, [r0, #0x30]
- pop {r3, pc}
-_020078BE:
- ldr r0, [r0, #0x54]
- lsl r0, r0, #0x1f
- lsr r0, r0, #0x1f
- pop {r3, pc}
-_020078C6:
- ldrh r0, [r0, #0x38]
- pop {r3, pc}
-_020078CA:
- ldrh r0, [r0, #0x3a]
- pop {r3, pc}
-_020078CE:
- ldrh r0, [r0, #0x3c]
- pop {r3, pc}
-_020078D2:
- mov r1, #0x40
- ldrsh r0, [r0, r1]
- pop {r3, pc}
-_020078D8:
- mov r1, #0x42
- ldrsh r0, [r0, r1]
- pop {r3, pc}
-_020078DE:
- mov r1, #0x34
- ldrsh r0, [r0, r1]
- pop {r3, pc}
-_020078E4:
- mov r1, #0x36
- ldrsh r0, [r0, r1]
- pop {r3, pc}
-_020078EA:
- ldr r0, [r0, #0x54]
- lsl r0, r0, #0x1e
- lsr r0, r0, #0x1f
- pop {r3, pc}
-_020078F2:
- add r0, #0x44
- ldrb r0, [r0, #0x0]
- pop {r3, pc}
-_020078F8:
- add r0, #0x45
- ldrb r0, [r0, #0x0]
- pop {r3, pc}
-_020078FE:
- add r0, #0x46
- ldrb r0, [r0, #0x0]
- pop {r3, pc}
-_02007904:
- add r0, #0x47
- ldrb r0, [r0, #0x0]
- pop {r3, pc}
-_0200790A:
- mov r1, #0x70
- ldrsh r0, [r0, r1]
- pop {r3, pc}
-_02007910:
- mov r1, #0x72
- ldrsh r0, [r0, r1]
- pop {r3, pc}
-_02007916:
- mov r1, #0x74
- ldrsh r0, [r0, r1]
- pop {r3, pc}
-_0200791C:
- mov r1, #0x76
- ldrsh r0, [r0, r1]
- pop {r3, pc}
-_02007922:
- ldr r0, [r0, #0x54]
- lsl r0, r0, #0x19
- lsr r0, r0, #0x1b
- pop {r3, pc}
-_0200792A:
- ldr r0, [r0, #0x50]
- lsl r0, r0, #0x1b
- lsr r0, r0, #0x1b
- pop {r3, pc}
-_02007932:
- ldr r0, [r0, #0x50]
- lsl r0, r0, #0x16
- lsr r0, r0, #0x1b
- pop {r3, pc}
-_0200793A:
- ldr r0, [r0, #0x50]
- lsl r0, r0, #0x11
- lsr r0, r0, #0x1b
- pop {r3, pc}
-_02007942:
- ldr r0, [r0, #0x50]
- lsl r0, r0, #0xc
- lsr r0, r0, #0x1b
- pop {r3, pc}
-_0200794A:
- ldr r0, [r0, #0x50]
- lsl r0, r0, #0x7
- lsr r0, r0, #0x1b
- pop {r3, pc}
-_02007952:
- ldr r0, [r0, #0x50]
- lsl r0, r0, #0x2
- lsr r0, r0, #0x1b
- pop {r3, pc}
-_0200795A:
- ldr r0, [r0, #0x54]
- lsl r0, r0, #0x13
- lsr r0, r0, #0x1f
- pop {r3, pc}
-_02007962:
- ldr r0, [r0, #0x4c]
- pop {r3, pc}
-_02007966:
- add r0, #0x48
- ldrb r0, [r0, #0x0]
- pop {r3, pc}
-_0200796C:
- add r0, #0x49
- ldrb r0, [r0, #0x0]
- pop {r3, pc}
-_02007972:
- add r0, #0x4a
- ldrb r0, [r0, #0x0]
- pop {r3, pc}
-_02007978:
- ldr r0, [r0, #0x54]
- lsl r0, r0, #0x16
- lsr r0, r0, #0x1f
- pop {r3, pc}
-_02007980:
- ldr r0, [r0, #0x54]
- lsl r0, r0, #0x15
- lsr r0, r0, #0x1f
- pop {r3, pc}
-_02007988:
- ldr r0, [r0, #0x54]
- lsl r0, r0, #0x14
- lsr r0, r0, #0x1f
- pop {r3, pc}
-_02007990:
- add r0, #0x5b
- ldrb r0, [r0, #0x0]
- pop {r3, pc}
-_02007996:
- ldr r0, [r0, #0x54]
- lsl r0, r0, #0xf
- lsr r0, r0, #0x1c
- pop {r3, pc}
-_0200799E:
- mov r1, #0x6e
- ldrsb r0, [r0, r1]
- pop {r3, pc}
-_020079A4:
- add r0, #0x6c
- ldrh r0, [r0, #0x0]
- lsl r0, r0, #0x1e
- lsr r0, r0, #0x1e
- pop {r3, pc}
-_020079AE:
- add r0, #0x6c
- ldrh r0, [r0, #0x0]
- lsl r0, r0, #0x1d
- lsr r0, r0, #0x1f
- pop {r3, pc}
-_020079B8:
- add r0, #0x6c
- ldrh r0, [r0, #0x0]
- lsl r0, r0, #0x1c
- lsr r0, r0, #0x1f
- pop {r3, pc}
-_020079C2:
- add r0, #0x6c
- ldrh r0, [r0, #0x0]
- lsl r0, r0, #0x1b
- lsr r0, r0, #0x1f
- pop {r3, pc}
-_020079CC:
- add r0, #0x6c
- ldrh r0, [r0, #0x0]
- lsl r0, r0, #0x19
- lsr r0, r0, #0x1e
- pop {r3, pc}
-_020079D6:
- bl ErrorHandling
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_020079E0
-FUN_020079E0: ; 0x020079E0
- push {r3-r4}
- add r3, r0, #0x0
- add r0, r2, #0x0
- cmp r1, #0x2e
- bls _020079EC
- b _02007E12
-_020079EC:
- add r1, r1, r1
- add r1, pc
- ldrh r1, [r1, #0x6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_020079F8: ; jump table (using 16-bit offset)
- .short _02007A56 - _020079F8 - 2; case 0
- .short _02007A62 - _020079F8 - 2; case 1
- .short _02007A6E - _020079F8 - 2; case 2
- .short _02007A78 - _020079F8 - 2; case 3
- .short _02007A84 - _020079F8 - 2; case 4
- .short _02007A90 - _020079F8 - 2; case 5
- .short _02007A9A - _020079F8 - 2; case 6
- .short _02007AB4 - _020079F8 - 2; case 7
- .short _02007ABE - _020079F8 - 2; case 8
- .short _02007AC8 - _020079F8 - 2; case 9
- .short _02007AD2 - _020079F8 - 2; case 10
- .short _02007AE0 - _020079F8 - 2; case 11
- .short _02007AEE - _020079F8 - 2; case 12
- .short _02007AFA - _020079F8 - 2; case 13
- .short _02007B06 - _020079F8 - 2; case 14
- .short _02007B20 - _020079F8 - 2; case 15
- .short _02007B30 - _020079F8 - 2; case 16
- .short _02007B40 - _020079F8 - 2; case 17
- .short _02007B50 - _020079F8 - 2; case 18
- .short _02007B60 - _020079F8 - 2; case 19
- .short _02007B6E - _020079F8 - 2; case 20
- .short _02007B7C - _020079F8 - 2; case 21
- .short _02007B8A - _020079F8 - 2; case 22
- .short _02007B98 - _020079F8 - 2; case 23
- .short _02007BB2 - _020079F8 - 2; case 24
- .short _02007BCC - _020079F8 - 2; case 25
- .short _02007BE4 - _020079F8 - 2; case 26
- .short _02007BFC - _020079F8 - 2; case 27
- .short _02007C14 - _020079F8 - 2; case 28
- .short _02007C2C - _020079F8 - 2; case 29
- .short _02007C44 - _020079F8 - 2; case 30
- .short _02007C66 - _020079F8 - 2; case 31
- .short _02007C7A - _020079F8 - 2; case 32
- .short _02007C96 - _020079F8 - 2; case 33
- .short _02007CB2 - _020079F8 - 2; case 34
- .short _02007CC2 - _020079F8 - 2; case 35
- .short _02007CE2 - _020079F8 - 2; case 36
- .short _02007D02 - _020079F8 - 2; case 37
- .short _02007D1A - _020079F8 - 2; case 38
- .short _02007E12 - _020079F8 - 2; case 39
- .short _02007D2A - _020079F8 - 2; case 40
- .short _02007D4A - _020079F8 - 2; case 41
- .short _02007D58 - _020079F8 - 2; case 42
- .short _02007D86 - _020079F8 - 2; case 43
- .short _02007DAA - _020079F8 - 2; case 44
- .short _02007DCE - _020079F8 - 2; case 45
- .short _02007DF2 - _020079F8 - 2; case 46
-_02007A56:
- mov r1, #0x24
- ldrsh r1, [r3, r1]
- add r0, r1, r0
- strh r0, [r3, #0x24]
- pop {r3-r4}
- bx lr
-_02007A62:
- mov r1, #0x26
- ldrsh r1, [r3, r1]
- add r0, r1, r0
- strh r0, [r3, #0x26]
- pop {r3-r4}
- bx lr
-_02007A6E:
- ldr r1, [r3, #0x28]
- add r0, r1, r0
- str r0, [r3, #0x28]
- pop {r3-r4}
- bx lr
-_02007A78:
- mov r1, #0x2c
- ldrsh r1, [r3, r1]
- add r0, r1, r0
- strh r0, [r3, #0x2c]
- pop {r3-r4}
- bx lr
-_02007A84:
- mov r1, #0x2e
- ldrsh r1, [r3, r1]
- add r0, r1, r0
- strh r0, [r3, #0x2e]
- pop {r3-r4}
- bx lr
-_02007A90:
- ldr r1, [r3, #0x30]
- add r0, r1, r0
- str r0, [r3, #0x30]
- pop {r3-r4}
- bx lr
-_02007A9A:
- ldr r4, [r3, #0x54]
- mov r2, #0x1
- add r1, r4, #0x0
- bic r1, r2
- lsl r2, r4, #0x1f
- lsr r2, r2, #0x1f
- add r2, r2, r0
- mov r0, #0x1
- and r0, r2
- orr r0, r1
- str r0, [r3, #0x54]
- pop {r3-r4}
- bx lr
-_02007AB4:
- ldrh r1, [r3, #0x38]
- add r0, r1, r0
- strh r0, [r3, #0x38]
- pop {r3-r4}
- bx lr
-_02007ABE:
- ldrh r1, [r3, #0x3a]
- add r0, r1, r0
- strh r0, [r3, #0x3a]
- pop {r3-r4}
- bx lr
-_02007AC8:
- ldrh r1, [r3, #0x3c]
- add r0, r1, r0
- strh r0, [r3, #0x3c]
- pop {r3-r4}
- bx lr
-_02007AD2:
- mov r1, #0x40
- ldrsh r1, [r3, r1]
- add r3, #0x40
- add r0, r1, r0
- strh r0, [r3, #0x0]
- pop {r3-r4}
- bx lr
-_02007AE0:
- mov r1, #0x42
- ldrsh r1, [r3, r1]
- add r3, #0x42
- add r0, r1, r0
- strh r0, [r3, #0x0]
- pop {r3-r4}
- bx lr
-_02007AEE:
- mov r1, #0x34
- ldrsh r1, [r3, r1]
- add r0, r1, r0
- strh r0, [r3, #0x34]
- pop {r3-r4}
- bx lr
-_02007AFA:
- mov r1, #0x36
- ldrsh r1, [r3, r1]
- add r0, r1, r0
- strh r0, [r3, #0x36]
- pop {r3-r4}
- bx lr
-_02007B06:
- ldr r4, [r3, #0x54]
- mov r2, #0x2
- add r1, r4, #0x0
- bic r1, r2
- lsl r2, r4, #0x1e
- lsr r2, r2, #0x1f
- add r0, r2, r0
- lsl r0, r0, #0x1f
- lsr r0, r0, #0x1e
- orr r0, r1
- str r0, [r3, #0x54]
- pop {r3-r4}
- bx lr
-_02007B20:
- add r1, r3, #0x0
- add r1, #0x44
- ldrb r1, [r1, #0x0]
- add r3, #0x44
- add r0, r1, r0
- strb r0, [r3, #0x0]
- pop {r3-r4}
- bx lr
-_02007B30:
- add r1, r3, #0x0
- add r1, #0x45
- ldrb r1, [r1, #0x0]
- add r3, #0x45
- add r0, r1, r0
- strb r0, [r3, #0x0]
- pop {r3-r4}
- bx lr
-_02007B40:
- add r1, r3, #0x0
- add r1, #0x46
- ldrb r1, [r1, #0x0]
- add r3, #0x46
- add r0, r1, r0
- strb r0, [r3, #0x0]
- pop {r3-r4}
- bx lr
-_02007B50:
- add r1, r3, #0x0
- add r1, #0x47
- ldrb r1, [r1, #0x0]
- add r3, #0x47
- add r0, r1, r0
- strb r0, [r3, #0x0]
- pop {r3-r4}
- bx lr
-_02007B60:
- mov r1, #0x70
- ldrsh r1, [r3, r1]
- add r3, #0x70
- add r0, r1, r0
- strh r0, [r3, #0x0]
- pop {r3-r4}
- bx lr
-_02007B6E:
- mov r1, #0x72
- ldrsh r1, [r3, r1]
- add r3, #0x72
- add r0, r1, r0
- strh r0, [r3, #0x0]
- pop {r3-r4}
- bx lr
-_02007B7C:
- mov r1, #0x74
- ldrsh r1, [r3, r1]
- add r3, #0x74
- add r0, r1, r0
- strh r0, [r3, #0x0]
- pop {r3-r4}
- bx lr
-_02007B8A:
- mov r1, #0x76
- ldrsh r1, [r3, r1]
- add r3, #0x76
- add r0, r1, r0
- strh r0, [r3, #0x0]
- pop {r3-r4}
- bx lr
-_02007B98:
- ldr r4, [r3, #0x54]
- mov r2, #0x7c
- add r1, r4, #0x0
- bic r1, r2
- lsl r2, r4, #0x19
- lsr r2, r2, #0x1b
- add r0, r2, r0
- lsl r0, r0, #0x1b
- lsr r0, r0, #0x19
- orr r0, r1
- str r0, [r3, #0x54]
- pop {r3-r4}
- bx lr
-_02007BB2:
- ldr r4, [r3, #0x50]
- mov r2, #0x1f
- add r1, r4, #0x0
- bic r1, r2
- lsl r2, r4, #0x1b
- lsr r2, r2, #0x1b
- add r2, r2, r0
- mov r0, #0x1f
- and r0, r2
- orr r0, r1
- str r0, [r3, #0x50]
- pop {r3-r4}
- bx lr
-_02007BCC:
- ldr r2, [r3, #0x50]
- ldr r1, _02007E18 ; =0xFFFFFC1F
- and r1, r2
- lsl r2, r2, #0x16
- lsr r2, r2, #0x1b
- add r0, r2, r0
- lsl r0, r0, #0x1b
- lsr r0, r0, #0x16
- orr r0, r1
- str r0, [r3, #0x50]
- pop {r3-r4}
- bx lr
-_02007BE4:
- ldr r2, [r3, #0x50]
- ldr r1, _02007E1C ; =0xFFFF83FF
- and r1, r2
- lsl r2, r2, #0x11
- lsr r2, r2, #0x1b
- add r0, r2, r0
- lsl r0, r0, #0x1b
- lsr r0, r0, #0x11
- orr r0, r1
- str r0, [r3, #0x50]
- pop {r3-r4}
- bx lr
-_02007BFC:
- ldr r2, [r3, #0x50]
- ldr r1, _02007E20 ; =0xFFF07FFF
- and r1, r2
- lsl r2, r2, #0xc
- lsr r2, r2, #0x1b
- add r0, r2, r0
- lsl r0, r0, #0x1b
- lsr r0, r0, #0xc
- orr r0, r1
- str r0, [r3, #0x50]
- pop {r3-r4}
- bx lr
-_02007C14:
- ldr r2, [r3, #0x50]
- ldr r1, _02007E24 ; =0xFE0FFFFF
- and r1, r2
- lsl r2, r2, #0x7
- lsr r2, r2, #0x1b
- add r0, r2, r0
- lsl r0, r0, #0x1b
- lsr r0, r0, #0x7
- orr r0, r1
- str r0, [r3, #0x50]
- pop {r3-r4}
- bx lr
-_02007C2C:
- ldr r2, [r3, #0x50]
- ldr r1, _02007E28 ; =0xC1FFFFFF
- and r1, r2
- lsl r2, r2, #0x2
- lsr r2, r2, #0x1b
- add r0, r2, r0
- lsl r0, r0, #0x1b
- lsr r0, r0, #0x2
- orr r0, r1
- str r0, [r3, #0x50]
- pop {r3-r4}
- bx lr
-_02007C44:
- ldr r2, [r3, #0x54]
- ldr r1, _02007E2C ; =0xFFFFEFFF
- and r1, r2
- lsl r2, r2, #0x13
- lsr r2, r2, #0x1f
- add r0, r2, r0
- lsl r0, r0, #0x1f
- lsr r0, r0, #0x13
- orr r0, r1
- str r0, [r3, #0x54]
- mov r0, #0x1
- ldr r1, [r3, #0x0]
- lsl r0, r0, #0x8
- orr r0, r1
- str r0, [r3, #0x0]
- pop {r3-r4}
- bx lr
-_02007C66:
- ldr r1, [r3, #0x4c]
- add r0, r1, r0
- str r0, [r3, #0x4c]
- mov r0, #0x1
- ldr r1, [r3, #0x0]
- lsl r0, r0, #0x8
- orr r0, r1
- str r0, [r3, #0x0]
- pop {r3-r4}
- bx lr
-_02007C7A:
- add r1, r3, #0x0
- add r1, #0x48
- ldrb r1, [r1, #0x0]
- add r1, r1, r0
- add r0, r3, #0x0
- add r0, #0x48
- strb r1, [r0, #0x0]
- mov r0, #0x1
- ldr r1, [r3, #0x0]
- lsl r0, r0, #0x8
- orr r0, r1
- str r0, [r3, #0x0]
- pop {r3-r4}
- bx lr
-_02007C96:
- add r1, r3, #0x0
- add r1, #0x49
- ldrb r1, [r1, #0x0]
- add r1, r1, r0
- add r0, r3, #0x0
- add r0, #0x49
- strb r1, [r0, #0x0]
- mov r0, #0x1
- ldr r1, [r3, #0x0]
- lsl r0, r0, #0x8
- orr r0, r1
- str r0, [r3, #0x0]
- pop {r3-r4}
- bx lr
-_02007CB2:
- add r1, r3, #0x0
- add r1, #0x4a
- ldrb r1, [r1, #0x0]
- add r3, #0x4a
- add r0, r1, r0
- strb r0, [r3, #0x0]
- pop {r3-r4}
- bx lr
-_02007CC2:
- ldr r2, [r3, #0x54]
- ldr r1, _02007E30 ; =0xFFFFFDFF
- and r1, r2
- lsl r2, r2, #0x16
- lsr r2, r2, #0x1f
- add r0, r2, r0
- lsl r0, r0, #0x1f
- lsr r0, r0, #0x16
- orr r0, r1
- str r0, [r3, #0x54]
- ldr r1, [r3, #0x0]
- mov r0, #0x80
- orr r0, r1
- str r0, [r3, #0x0]
- pop {r3-r4}
- bx lr
-_02007CE2:
- ldr r2, [r3, #0x54]
- ldr r1, _02007E34 ; =0xFFFFFBFF
- and r1, r2
- lsl r2, r2, #0x15
- lsr r2, r2, #0x1f
- add r0, r2, r0
- lsl r0, r0, #0x1f
- lsr r0, r0, #0x15
- orr r0, r1
- str r0, [r3, #0x54]
- ldr r1, [r3, #0x0]
- mov r0, #0x80
- orr r0, r1
- str r0, [r3, #0x0]
- pop {r3-r4}
- bx lr
-_02007D02:
- ldr r2, [r3, #0x54]
- ldr r1, _02007E38 ; =0xFFFFF7FF
- and r1, r2
- lsl r2, r2, #0x14
- lsr r2, r2, #0x1f
- add r0, r2, r0
- lsl r0, r0, #0x1f
- lsr r0, r0, #0x14
- orr r0, r1
- str r0, [r3, #0x54]
- pop {r3-r4}
- bx lr
-_02007D1A:
- add r1, r3, #0x0
- add r1, #0x5b
- ldrb r1, [r1, #0x0]
- add r3, #0x5b
- add r0, r1, r0
- strb r0, [r3, #0x0]
- pop {r3-r4}
- bx lr
-_02007D2A:
- ldr r2, [r3, #0x54]
- ldr r1, _02007E3C ; =0xFFFE1FFF
- and r1, r2
- lsl r2, r2, #0xf
- lsr r2, r2, #0x1c
- add r0, r2, r0
- lsl r0, r0, #0x1c
- lsr r0, r0, #0xf
- orr r0, r1
- str r0, [r3, #0x54]
- ldr r1, [r3, #0x0]
- mov r0, #0x80
- orr r0, r1
- str r0, [r3, #0x0]
- pop {r3-r4}
- bx lr
-_02007D4A:
- mov r1, #0x6e
- ldrsb r1, [r3, r1]
- add r3, #0x6e
- add r0, r1, r0
- strb r0, [r3, #0x0]
- pop {r3-r4}
- bx lr
-_02007D58:
- add r1, r3, #0x0
- add r1, #0x6c
- ldrh r4, [r1, #0x0]
- mov r2, #0x3
- add r1, r4, #0x0
- bic r1, r2
- lsl r2, r4, #0x1e
- lsr r2, r2, #0x1e
- add r0, r2, r0
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- mov r2, #0x3
- and r0, r2
- orr r1, r0
- add r0, r3, #0x0
- add r0, #0x6c
- strh r1, [r0, #0x0]
- ldr r0, [r3, #0x0]
- add r2, #0xfd
- orr r0, r2
- str r0, [r3, #0x0]
- pop {r3-r4}
- bx lr
-_02007D86:
- add r1, r3, #0x0
- add r1, #0x6c
- ldrh r4, [r1, #0x0]
- mov r2, #0x4
- add r3, #0x6c
- add r1, r4, #0x0
- bic r1, r2
- lsl r2, r4, #0x1d
- lsr r2, r2, #0x1f
- add r0, r2, r0
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- lsl r0, r0, #0x1f
- lsr r0, r0, #0x1d
- orr r0, r1
- strh r0, [r3, #0x0]
- pop {r3-r4}
- bx lr
-_02007DAA:
- add r1, r3, #0x0
- add r1, #0x6c
- ldrh r4, [r1, #0x0]
- mov r2, #0x8
- add r3, #0x6c
- add r1, r4, #0x0
- bic r1, r2
- lsl r2, r4, #0x1c
- lsr r2, r2, #0x1f
- add r0, r2, r0
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- lsl r0, r0, #0x1f
- lsr r0, r0, #0x1c
- orr r0, r1
- strh r0, [r3, #0x0]
- pop {r3-r4}
- bx lr
-_02007DCE:
- add r1, r3, #0x0
- add r1, #0x6c
- ldrh r4, [r1, #0x0]
- mov r2, #0x10
- add r3, #0x6c
- add r1, r4, #0x0
- bic r1, r2
- lsl r2, r4, #0x1b
- lsr r2, r2, #0x1f
- add r0, r2, r0
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- lsl r0, r0, #0x1f
- lsr r0, r0, #0x1b
- orr r0, r1
- strh r0, [r3, #0x0]
- pop {r3-r4}
- bx lr
-_02007DF2:
- add r1, r3, #0x0
- add r1, #0x6c
- ldrh r4, [r1, #0x0]
- mov r2, #0x60
- add r3, #0x6c
- add r1, r4, #0x0
- bic r1, r2
- lsl r2, r4, #0x19
- lsr r2, r2, #0x1e
- add r0, r2, r0
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- lsl r0, r0, #0x1e
- lsr r0, r0, #0x19
- orr r0, r1
- strh r0, [r3, #0x0]
-_02007E12:
- pop {r3-r4}
- bx lr
- nop
-_02007E18: .word 0xFFFFFC1F
-_02007E1C: .word 0xFFFF83FF
-_02007E20: .word 0xFFF07FFF
-_02007E24: .word 0xFE0FFFFF
-_02007E28: .word 0xC1FFFFFF
-_02007E2C: .word 0xFFFFEFFF
-_02007E30: .word 0xFFFFFDFF
-_02007E34: .word 0xFFFFFBFF
-_02007E38: .word 0xFFFFF7FF
-_02007E3C: .word 0xFFFE1FFF
-
- thumb_func_start FUN_02007E40
-FUN_02007E40: ; 0x02007E40
- push {r4-r5}
- ldr r5, [r0, #0x54]
- mov r4, #0x2
- orr r4, r5
- str r4, [r0, #0x54]
- add r4, r0, #0x0
- add r4, #0x44
- strb r1, [r4, #0x0]
- add r1, r0, #0x0
- add r1, #0x45
- strb r2, [r1, #0x0]
- add r1, r0, #0x0
- add r1, #0x46
- strb r3, [r1, #0x0]
- ldr r1, [sp, #0x8]
- add r0, #0x47
- strb r1, [r0, #0x0]
- pop {r4-r5}
- bx lr
- .balign 4
-
- thumb_func_start FUN_02007E68
-FUN_02007E68: ; 0x02007E68
- push {r4-r5}
- mov r4, #0x1
- ldr r5, [r0, #0x54]
- lsl r4, r4, #0xc
- orr r4, r5
- str r4, [r0, #0x54]
- add r4, r0, #0x0
- add r4, #0x48
- strb r1, [r4, #0x0]
- add r1, r0, #0x0
- add r1, #0x49
- strb r2, [r1, #0x0]
- add r1, r0, #0x0
- mov r2, #0x0
- add r1, #0x4a
- strb r2, [r1, #0x0]
- add r1, r0, #0x0
- add r1, #0x4b
- strb r3, [r1, #0x0]
- ldr r1, [sp, #0x8]
- str r1, [r0, #0x4c]
- pop {r4-r5}
- bx lr
- .balign 4
-
- thumb_func_start FUN_02007E98
-FUN_02007E98: ; 0x02007E98
- push {r4-r7}
- add r4, r0, #0x0
- add r0, r1, #0x0
- add r5, r2, #0x0
- lsl r0, r0, #0x18
- lsr r6, r0, #0x18
- lsl r0, r5, #0x18
- lsr r5, r0, #0x18
- lsl r0, r3, #0x18
- ldr r2, [sp, #0x10]
- mov r1, #0x0
- lsr r0, r0, #0x18
-_02007EB0:
- ldr r3, [r4, #0x0]
- lsl r3, r3, #0x1f
- lsr r3, r3, #0x1f
- beq _02007EDE
- mov r3, #0x1
- ldr r7, [r4, #0x54]
- lsl r3, r3, #0xc
- orr r3, r7
- str r3, [r4, #0x54]
- add r3, r4, #0x0
- add r3, #0x48
- strb r6, [r3, #0x0]
- add r3, r4, #0x0
- add r3, #0x49
- add r7, r4, #0x0
- strb r5, [r3, #0x0]
- add r7, #0x4a
- mov r3, #0x0
- strb r3, [r7, #0x0]
- add r3, r4, #0x0
- add r3, #0x4b
- strb r0, [r3, #0x0]
- str r2, [r4, #0x4c]
-_02007EDE:
- add r1, r1, #0x1
- add r4, #0x98
- cmp r1, #0x4
- blt _02007EB0
- pop {r4-r7}
- bx lr
- .balign 4
-
- thumb_func_start FUN_02007EEC
-FUN_02007EEC: ; 0x02007EEC
- ldr r2, [r0, #0x54]
- ldr r1, _02007F1C ; =0xFFFFEFFF
- and r1, r2
- str r1, [r0, #0x54]
- add r1, r0, #0x0
- mov r2, #0x0
- add r1, #0x48
- strb r2, [r1, #0x0]
- add r1, r0, #0x0
- add r1, #0x49
- strb r2, [r1, #0x0]
- add r1, r0, #0x0
- add r1, #0x4a
- strb r2, [r1, #0x0]
- add r1, r0, #0x0
- add r1, #0x4b
- strb r2, [r1, #0x0]
- str r2, [r0, #0x4c]
- mov r1, #0x1
- ldr r2, [r0, #0x0]
- lsl r1, r1, #0x8
- orr r1, r2
- str r1, [r0, #0x0]
- bx lr
- .balign 4
-_02007F1C: .word 0xFFFFEFFF
-
- thumb_func_start FUN_02007F20
-FUN_02007F20: ; 0x02007F20
- ldr r0, [r0, #0x54]
- lsl r0, r0, #0x13
- lsr r0, r0, #0x1f
- cmp r0, #0x1
- bne _02007F2E
- mov r0, #0x1
- bx lr
-_02007F2E:
- mov r0, #0x0
- bx lr
- .balign 4
-
- thumb_func_start FUN_02007F34
-FUN_02007F34: ; 0x02007F34
- mov r2, #0x28
- sub r2, r2, r1
- mov r1, #0x36
- ldrsh r1, [r0, r1]
- mul r1, r2
- asr r1, r1, #0x8
- sub r1, r2, r1
- strh r1, [r0, #0x2e]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02007F48
-FUN_02007F48: ; 0x02007F48
- push {r4-r7}
- add r1, r0, #0x0
- add r1, #0x58
- ldrb r1, [r1, #0x0]
- add r6, r0, #0x0
- add r6, #0x59
- cmp r1, #0x0
- beq _0200800A
- add r1, r0, #0x0
- add r1, #0x5a
- ldrb r1, [r1, #0x0]
- cmp r1, #0x0
- bne _02007FFE
- ldrb r1, [r6, #0x0]
- add r1, r1, #0x1
- strb r1, [r6, #0x0]
- ldrb r3, [r6, #0x0]
- mov r1, #0x84
- lsl r4, r3, #0x1
- add r2, r0, r4
- ldrsb r2, [r2, r1]
- sub r1, #0x85
- cmp r2, r1
- bge _02007FC6
- mov r2, #0x0
- sub r1, r2, #0x2
-_02007F7C:
- add r4, r0, r3
- add r4, #0x5c
- ldrb r4, [r4, #0x0]
- add r3, r0, r3
- add r3, #0x5c
- add r4, r4, #0x1
- strb r4, [r3, #0x0]
- ldrb r5, [r6, #0x0]
- lsl r3, r5, #0x1
- add r4, r0, r3
- add r3, r4, #0x0
- add r7, r0, r5
- add r3, #0x85
- add r7, #0x5c
- ldrb r3, [r3, #0x0]
- ldrb r7, [r7, #0x0]
- cmp r3, r7
- beq _02007FA4
- cmp r3, #0x0
- bne _02007FAE
-_02007FA4:
- add r3, r0, r5
- add r3, #0x5c
- strb r2, [r3, #0x0]
- add r6, r6, #0x1
- b _02007FB6
-_02007FAE:
- mov r3, #0x84
- ldrsb r3, [r4, r3]
- sub r3, r1, r3
- strb r3, [r6, #0x0]
-_02007FB6:
- ldrb r3, [r6, #0x0]
- mov r5, #0x84
- lsl r4, r3, #0x1
- add r7, r0, r4
- ldrsb r7, [r7, r5]
- sub r5, #0x85
- cmp r7, r5
- blt _02007F7C
-_02007FC6:
- add r2, r0, r4
- mov r1, #0x84
- ldrsb r2, [r2, r1]
- sub r1, #0x85
- cmp r2, r1
- beq _02007FD6
- cmp r3, #0xa
- blo _02007FE6
-_02007FD6:
- add r1, r0, #0x0
- mov r2, #0x0
- add r1, #0x5b
- strb r2, [r1, #0x0]
- add r0, #0x58
- strb r2, [r0, #0x0]
- pop {r4-r7}
- bx lr
-_02007FE6:
- add r1, r0, #0x0
- add r1, #0x5b
- strb r2, [r1, #0x0]
- ldrb r1, [r6, #0x0]
- lsl r1, r1, #0x1
- add r1, r0, r1
- add r1, #0x85
- ldrb r1, [r1, #0x0]
- add r0, #0x5a
- strb r1, [r0, #0x0]
- pop {r4-r7}
- bx lr
-_02007FFE:
- add r1, r0, #0x0
- add r1, #0x5a
- ldrb r1, [r1, #0x0]
- add r0, #0x5a
- sub r1, r1, #0x1
- strb r1, [r0, #0x0]
-_0200800A:
- pop {r4-r7}
- bx lr
- .balign 4
-
- thumb_func_start FUN_02008010
-FUN_02008010: ; 0x02008010
- mov r2, #0x1
- strb r2, [r0, #0x0]
- mov r3, #0x0
- strb r3, [r0, #0x2]
- ldrsb r2, [r1, r3]
- strb r2, [r0, #0x1]
- ldrb r2, [r1, #0x1]
- strb r2, [r0, #0x3]
- str r1, [r0, #0x10]
- add r2, r3, #0x0
-_02008024:
- add r1, r0, r3
- add r3, r3, #0x1
- strb r2, [r1, #0x4]
- cmp r3, #0xa
- blt _02008024
- bx lr
-
- thumb_func_start FUN_02008030
-FUN_02008030: ; 0x02008030
- push {r4-r7}
- ldrb r1, [r0, #0x0]
- cmp r1, #0x0
- beq _020080C6
- add r3, r0, #0x2
- ldr r4, [r0, #0x10]
- cmp r1, #0x0
- beq _020080C0
- ldrb r1, [r0, #0x3]
- cmp r1, #0x0
- bne _020080BC
- ldrb r1, [r3, #0x0]
- add r1, r1, #0x1
- strb r1, [r3, #0x0]
- ldrb r2, [r3, #0x0]
- mov r1, #0x0
- mvn r1, r1
- lsl r5, r2, #0x1
- ldrsb r6, [r4, r5]
- cmp r6, r1
- bge _02008098
- mov r1, #0x0
-_0200805C:
- add r5, r0, r2
- ldrb r2, [r5, #0x4]
- add r2, r2, #0x1
- strb r2, [r5, #0x4]
- ldrb r2, [r3, #0x0]
- add r5, r0, r2
- lsl r2, r2, #0x1
- add r2, r4, r2
- ldrb r7, [r2, #0x1]
- ldrb r6, [r5, #0x4]
- cmp r7, r6
- beq _02008078
- cmp r7, #0x0
- bne _0200807E
-_02008078:
- strb r1, [r5, #0x4]
- add r3, r3, #0x1
- b _0200808A
-_0200807E:
- mov r5, #0x0
- ldrsb r5, [r2, r5]
- mov r2, #0x1
- mvn r2, r2
- sub r2, r2, r5
- strb r2, [r3, #0x0]
-_0200808A:
- ldrb r2, [r3, #0x0]
- mov r6, #0x0
- mvn r6, r6
- lsl r5, r2, #0x1
- ldrsb r7, [r4, r5]
- cmp r7, r6
- blt _0200805C
-_02008098:
- ldrsb r5, [r4, r5]
- mov r1, #0x0
- mvn r1, r1
- cmp r5, r1
- beq _020080A6
- cmp r2, #0xa
- blo _020080AE
-_020080A6:
- mov r1, #0x0
- strb r1, [r0, #0x1]
- strb r1, [r0, #0x0]
- b _020080C0
-_020080AE:
- strb r5, [r0, #0x1]
- ldrb r1, [r3, #0x0]
- lsl r1, r1, #0x1
- add r1, r4, r1
- ldrb r1, [r1, #0x1]
- strb r1, [r0, #0x3]
- b _020080C0
-_020080BC:
- sub r1, r1, #0x1
- strb r1, [r0, #0x3]
-_020080C0:
- ldrb r0, [r0, #0x1]
- pop {r4-r7}
- bx lr
-_020080C6:
- mov r0, #0x0
- mvn r0, r0
- pop {r4-r7}
- bx lr
- .balign 4
-
- thumb_func_start FUN_020080D0
-FUN_020080D0: ; 0x020080D0
- ldr r2, [r0, #0x0]
- mov r1, #0x80
- orr r2, r1
- add r1, #0x80
- orr r1, r2
- str r1, [r0, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_020080E0
-FUN_020080E0: ; 0x020080E0
- push {r3-r4}
- add r2, r0, #0x0
- add r3, r2, #0x0
- add r4, r2, #0x4
- add r3, #0x14
- ldmia r4!, {r0-r1}
- stmia r3!, {r0-r1}
- ldmia r4!, {r0-r1}
- stmia r3!, {r0-r1}
- add r0, r2, #0x0
- add r0, #0x6c
- ldrh r1, [r0, #0x0]
- add r0, r2, #0x0
- add r0, #0x78
- strh r1, [r0, #0x0]
- add r0, r2, #0x0
- add r0, #0x6e
- ldrh r1, [r0, #0x0]
- add r0, r2, #0x0
- add r0, #0x7a
- strh r1, [r0, #0x0]
- add r0, r2, #0x0
- add r0, #0x70
- ldrh r1, [r0, #0x0]
- add r0, r2, #0x0
- add r0, #0x7c
- strh r1, [r0, #0x0]
- add r0, r2, #0x0
- add r0, #0x72
- ldrh r1, [r0, #0x0]
- add r0, r2, #0x0
- add r0, #0x7e
- strh r1, [r0, #0x0]
- add r0, r2, #0x0
- add r0, #0x74
- ldrh r1, [r0, #0x0]
- add r0, r2, #0x0
- add r0, #0x80
- strh r1, [r0, #0x0]
- add r0, r2, #0x0
- add r0, #0x76
- ldrh r0, [r0, #0x0]
- add r2, #0x82
- strh r0, [r2, #0x0]
- pop {r3-r4}
- bx lr
-
- thumb_func_start FUN_0200813C
-FUN_0200813C: ; 0x0200813C
- push {r3-r4}
- add r2, r0, #0x0
- add r4, r2, #0x0
- add r4, #0x14
- add r3, r2, #0x4
- ldmia r4!, {r0-r1}
- stmia r3!, {r0-r1}
- ldmia r4!, {r0-r1}
- stmia r3!, {r0-r1}
- add r0, r2, #0x0
- add r0, #0x78
- ldrh r1, [r0, #0x0]
- add r0, r2, #0x0
- add r0, #0x6c
- strh r1, [r0, #0x0]
- add r0, r2, #0x0
- add r0, #0x7a
- ldrh r1, [r0, #0x0]
- add r0, r2, #0x0
- add r0, #0x6e
- strh r1, [r0, #0x0]
- add r0, r2, #0x0
- add r0, #0x7c
- ldrh r1, [r0, #0x0]
- add r0, r2, #0x0
- add r0, #0x70
- strh r1, [r0, #0x0]
- add r0, r2, #0x0
- add r0, #0x7e
- ldrh r1, [r0, #0x0]
- add r0, r2, #0x0
- add r0, #0x72
- strh r1, [r0, #0x0]
- add r0, r2, #0x0
- add r0, #0x80
- ldrh r1, [r0, #0x0]
- add r0, r2, #0x0
- add r0, #0x74
- strh r1, [r0, #0x0]
- add r0, r2, #0x0
- add r0, #0x82
- ldrh r1, [r0, #0x0]
- add r0, r2, #0x0
- add r0, #0x76
- strh r1, [r0, #0x0]
- ldr r1, [r2, #0x0]
- mov r0, #0x80
- orr r1, r0
- add r0, #0x80
- orr r0, r1
- str r0, [r2, #0x0]
- pop {r3-r4}
- bx lr
- .balign 4
-
- thumb_func_start FUN_020081A8
-FUN_020081A8: ; 0x020081A8
- mov r3, #0xa7
- lsl r3, r3, #0x2
- str r1, [r0, r3]
- add r1, r3, #0x4
- str r2, [r0, r1]
- bx lr
-
- thumb_func_start FUN_020081B4
-FUN_020081B4: ; 0x020081B4
- mov r3, #0xa9
- lsl r3, r3, #0x2
- str r1, [r0, r3]
- add r1, r3, #0x4
- str r2, [r0, r1]
- bx lr
-
- thumb_func_start FUN_020081C0
-FUN_020081C0: ; 0x020081C0
- add r0, r0, #0x4
- bx lr
-
- thumb_func_start FUN_020081C4
-FUN_020081C4: ; 0x020081C4
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, _02008254 ; =0x000002E1
- ldrb r1, [r4, r0]
- cmp r1, #0x0
- beq _02008212
- mov r1, #0x0
- strb r1, [r4, r0]
- sub r0, #0x81
- add r0, r4, r0
- blx FUN_020B1A24
- mov r3, #0xae
- lsl r3, r3, #0x2
- mov r1, #0x20
- strh r1, [r4, r3]
- add r0, r3, #0x2
- strh r1, [r4, r0]
- add r0, r3, #0x0
- sub r0, #0x18
- ldr r1, [r4, r0]
- add r0, r3, #0x0
- add r0, #0x10
- str r1, [r4, r0]
- add r0, r3, #0x0
- sub r0, #0xc
- ldr r1, [r4, r0]
- add r0, r3, #0x0
- add r0, #0x14
- str r1, [r4, r0]
- add r1, r3, #0x0
- sub r1, #0x1c
- add r0, r4, r3
- sub r3, #0x58
- ldr r1, [r4, r1]
- mov r2, #0x0
- add r3, r4, r3
- blx FUN_020B1528
-_02008212:
- ldr r0, _02008258 ; =0x000002E2
- ldrb r1, [r4, r0]
- cmp r1, #0x0
- beq _02008252
- mov r1, #0x0
- strb r1, [r4, r0]
- sub r0, #0x5e
- add r0, r4, r0
- blx FUN_020B19DC
- mov r3, #0xaa
- lsl r3, r3, #0x2
- add r0, r3, #0x0
- ldr r1, [r4, r3]
- add r0, #0x30
- str r1, [r4, r0]
- add r0, r3, #0x0
- add r0, #0x8
- ldr r1, [r4, r0]
- add r0, r3, #0x0
- add r0, #0x34
- str r1, [r4, r0]
- add r0, r3, #0x0
- sub r1, r3, #0x4
- add r0, #0x28
- sub r3, #0x24
- ldr r1, [r4, r1]
- add r0, r4, r0
- mov r2, #0x0
- add r3, r4, r3
- blx FUN_020B1240
-_02008252:
- pop {r4, pc}
- .balign 4
-_02008254: .word 0x000002E1
-_02008258: .word 0x000002E2
-
- thumb_func_start FUN_0200825C
-FUN_0200825C: ; 0x0200825C
- ldr r2, _02008264 ; =0x000002E3
- strb r1, [r0, r2]
- bx lr
- nop
-_02008264: .word 0x000002E3
-
- thumb_func_start FUN_02008268
-FUN_02008268: ; 0x02008268
- push {r4, lr}
- add r4, r0, #0x0
- bne _02008272
- bl ErrorHandling
-_02008272:
- ldr r0, [r4, #0x0]
- lsl r0, r0, #0x1f
- lsr r0, r0, #0x1f
- beq _0200827E
- mov r0, #0x1
- pop {r4, pc}
-_0200827E:
- mov r0, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02008284
-FUN_02008284: ; 0x02008284
- mov r2, #0xb9
- lsl r2, r2, #0x2
- ldr r3, [r0, r2]
- orr r1, r3
- str r1, [r0, r2]
- bx lr
-
- thumb_func_start FUN_02008290
-FUN_02008290: ; 0x02008290
- push {r3-r4}
- mov r3, #0xb9
- lsl r3, r3, #0x2
- mov r2, #0x0
- mvn r2, r2
- ldr r4, [r0, r3]
- eor r1, r2
- and r1, r4
- str r1, [r0, r3]
- pop {r3-r4}
- bx lr
- .balign 4
-
- thumb_func_start FUN_020082A8
-FUN_020082A8: ; 0x020082A8
- push {r4-r7, lr}
- sub sp, #0x5c
- add r6, r0, #0x0
- mov r0, #0x0
- str r0, [sp, #0x48]
- str r0, [sp, #0x54]
- ldr r0, [sp, #0x48]
- str r6, [sp, #0x44]
- str r0, [sp, #0x38]
-_020082BA:
- ldr r0, [sp, #0x44]
- ldr r1, [r0, #0x0]
- lsl r0, r1, #0x1f
- lsr r0, r0, #0x1f
- beq _020082CA
- lsl r0, r1, #0x18
- lsr r0, r0, #0x1f
- bne _020082CC
-_020082CA:
- b _020086C2
-_020082CC:
- mov r0, #0x80
- bic r1, r0
- ldr r0, [sp, #0x44]
- mov r2, #0xa6
- str r1, [r0, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x48]
- ldr r0, [sp, #0x44]
- ldr r1, [sp, #0x44]
- lsl r2, r2, #0x2
- ldrh r0, [r0, #0x4]
- ldrh r1, [r1, #0x6]
- ldr r2, [r6, r2]
- bl LoadFromNarc_2
- add r1, sp, #0x58
- str r0, [sp, #0x4c]
- blx FUN_020B0088
- ldr r0, [sp, #0x58]
- mov r1, #0xaf
- ldr r0, [r0, #0x4]
- lsl r1, r1, #0x2
- str r0, [r6, r1]
- ldr r0, [sp, #0x58]
- ldr r2, [r0, #0x8]
- add r0, r1, #0x4
- str r2, [r6, r0]
- ldr r0, [sp, #0x58]
- add r1, #0x8
- ldr r0, [r0, #0xc]
- str r0, [r6, r1]
- ldr r0, [sp, #0x58]
- ldr r0, [r0, #0x14]
- str r0, [sp, #0x50]
- bl FUN_02008A74
- ldr r0, [sp, #0x44]
- ldr r1, [sp, #0x50]
- bl FUN_020088EC
- ldr r0, [sp, #0x54]
- cmp r0, #0x3
- beq _02008326
- b _02008554
-_02008326:
- mov r5, #0x0
- add r0, r5, #0x0
- str r5, [sp, #0x14]
- str r0, [sp, #0x24]
-_0200832E:
- ldr r0, [sp, #0x14]
- mov r1, #0x4f
- sub r2, r1, r0
- mov r0, #0x50
- add r1, r2, #0x0
- mul r1, r0
- ldr r0, [sp, #0x50]
- mov r4, #0x0
- add r0, r0, r1
- str r0, [sp, #0x20]
- ldr r1, [sp, #0x50]
- ldr r0, [sp, #0x24]
- add r7, r1, r0
- ldr r0, [sp, #0x20]
- str r7, [sp, #0x18]
- str r0, [sp, #0x1c]
- ldr r0, [sp, #0x14]
- sub r0, r0, #0x1
- lsl r0, r0, #0x7
- str r0, [sp, #0x10]
-_02008356:
- cmp r4, #0x28
- bge _02008442
- ldr r0, [sp, #0x44]
- ldr r1, [r0, #0x54]
- lsl r0, r1, #0x16
- lsr r0, r0, #0x1f
- beq _02008386
- lsl r1, r1, #0x15
- lsr r1, r1, #0x1f
- beq _02008386
- mov r0, #0x27
- sub r1, r0, r4
- ldr r0, [sp, #0x1c]
- ldrb r0, [r0, r1]
- bl FUN_020088D8
- mov r1, #0xab
- lsl r1, r1, #0x2
- ldr r1, [r6, r1]
- add r1, r5, r1
- add r1, r4, r1
- add r1, #0x50
- strb r0, [r1, #0x0]
- b _0200852E
-_02008386:
- cmp r0, #0x0
- beq _020083A6
- mov r0, #0x27
- sub r1, r0, r4
- ldr r0, [sp, #0x18]
- ldrb r0, [r0, r1]
- bl FUN_020088D8
- mov r1, #0xab
- lsl r1, r1, #0x2
- ldr r1, [r6, r1]
- add r1, r5, r1
- add r1, r4, r1
- add r1, #0x50
- strb r0, [r1, #0x0]
- b _0200852E
-_020083A6:
- ldr r0, [sp, #0x44]
- ldr r0, [r0, #0x54]
- lsl r1, r0, #0x15
- lsr r1, r1, #0x1f
- beq _020083C4
- mov r1, #0xab
- lsl r1, r1, #0x2
- ldr r0, [sp, #0x20]
- ldr r1, [r6, r1]
- ldrb r0, [r0, #0x0]
- add r1, r5, r1
- add r1, r4, r1
- add r1, #0x50
- strb r0, [r1, #0x0]
- b _0200852E
-_020083C4:
- lsl r0, r0, #0xf
- lsr r0, r0, #0x1c
- str r0, [sp, #0xc]
- beq _02008430
- ldr r1, [sp, #0xc]
- ldr r0, [sp, #0x14]
- lsl r1, r1, #0x1
- blx _u32_div_f
- cmp r1, #0x0
- beq _020083F4
- mov r0, #0xab
- lsl r0, r0, #0x2
- ldr r1, [r6, r0]
- ldr r0, [sp, #0x10]
- add r0, r0, r1
- add r0, r4, r0
- add r0, #0x50
- add r1, r5, r1
- add r1, r4, r1
- ldrb r0, [r0, #0x0]
- add r1, #0x50
- strb r0, [r1, #0x0]
- b _0200852E
-_020083F4:
- ldr r1, [sp, #0xc]
- add r0, r4, #0x0
- blx _u32_div_f
- cmp r1, #0x0
- beq _02008416
- mov r0, #0xab
- lsl r0, r0, #0x2
- ldr r0, [r6, r0]
- add r2, r5, r0
- add r0, r2, r4
- add r0, #0x4f
- ldrb r1, [r0, #0x0]
- add r0, r2, r4
- add r0, #0x50
- strb r1, [r0, #0x0]
- b _0200852E
-_02008416:
- ldrb r1, [r7, #0x0]
- mov r0, #0xf
- and r1, r0
- lsl r0, r1, #0x4
- orr r0, r1
- mov r1, #0xab
- lsl r1, r1, #0x2
- ldr r1, [r6, r1]
- add r1, r5, r1
- add r1, r4, r1
- add r1, #0x50
- strb r0, [r1, #0x0]
- b _0200852E
-_02008430:
- mov r1, #0xab
- lsl r1, r1, #0x2
- ldr r1, [r6, r1]
- ldrb r0, [r7, #0x0]
- add r1, r5, r1
- add r1, r4, r1
- add r1, #0x50
- strb r0, [r1, #0x0]
- b _0200852E
-_02008442:
- ldr r0, [sp, #0x44]
- ldr r1, [r0, #0x54]
- lsl r0, r1, #0x16
- lsr r0, r0, #0x1f
- beq _02008472
- lsl r1, r1, #0x15
- lsr r1, r1, #0x1f
- beq _02008472
- add r1, r4, #0x0
- sub r1, #0x28
- mov r0, #0x4f
- sub r1, r0, r1
- ldr r0, [sp, #0x1c]
- ldrb r0, [r0, r1]
- bl FUN_020088D8
- mov r1, #0xab
- lsl r1, r1, #0x2
- ldr r1, [r6, r1]
- add r1, r5, r1
- add r2, r4, r1
- ldr r1, _020086E8 ; =0x00002828
- strb r0, [r2, r1]
- b _0200852E
-_02008472:
- cmp r0, #0x0
- beq _02008496
- add r1, r4, #0x0
- sub r1, #0x28
- mov r0, #0x4f
- sub r1, r0, r1
- ldr r0, [sp, #0x18]
- ldrb r0, [r0, r1]
- bl FUN_020088D8
- mov r1, #0xab
- lsl r1, r1, #0x2
- ldr r1, [r6, r1]
- add r1, r5, r1
- add r2, r4, r1
- ldr r1, _020086E8 ; =0x00002828
- strb r0, [r2, r1]
- b _0200852E
-_02008496:
- ldr r0, [sp, #0x44]
- ldr r0, [r0, #0x54]
- lsl r1, r0, #0x15
- lsr r1, r1, #0x1f
- beq _020084B4
- mov r1, #0xab
- lsl r1, r1, #0x2
- ldr r0, [sp, #0x20]
- ldr r1, [r6, r1]
- ldrb r0, [r0, #0x0]
- add r1, r5, r1
- add r2, r4, r1
- ldr r1, _020086E8 ; =0x00002828
- strb r0, [r2, r1]
- b _0200852E
-_020084B4:
- lsl r0, r0, #0xf
- lsr r0, r0, #0x1c
- str r0, [sp, #0x8]
- beq _0200851E
- ldr r1, [sp, #0x8]
- ldr r0, [sp, #0x14]
- lsl r1, r1, #0x1
- blx _u32_div_f
- cmp r1, #0x0
- beq _020084E4
- mov r0, #0xab
- lsl r0, r0, #0x2
- ldr r1, [r6, r0]
- ldr r0, [sp, #0x10]
- add r0, r0, r1
- add r2, r4, r0
- ldr r0, _020086E8 ; =0x00002828
- add r1, r5, r1
- ldrb r0, [r2, r0]
- add r2, r4, r1
- ldr r1, _020086E8 ; =0x00002828
- strb r0, [r2, r1]
- b _0200852E
-_020084E4:
- ldr r1, [sp, #0x8]
- add r0, r4, #0x0
- blx _u32_div_f
- cmp r1, #0x0
- beq _02008504
- mov r0, #0xab
- lsl r0, r0, #0x2
- ldr r0, [r6, r0]
- ldr r1, _020086EC ; =0x00002827
- add r0, r5, r0
- add r0, r0, r4
- ldrb r2, [r0, r1]
- add r1, r1, #0x1
- strb r2, [r0, r1]
- b _0200852E
-_02008504:
- ldrb r1, [r7, #0x0]
- mov r0, #0xf
- and r1, r0
- lsl r0, r1, #0x4
- orr r0, r1
- mov r1, #0xab
- lsl r1, r1, #0x2
- ldr r1, [r6, r1]
- add r1, r5, r1
- add r2, r4, r1
- ldr r1, _020086E8 ; =0x00002828
- strb r0, [r2, r1]
- b _0200852E
-_0200851E:
- mov r1, #0xab
- lsl r1, r1, #0x2
- ldr r1, [r6, r1]
- ldrb r0, [r7, #0x0]
- add r1, r5, r1
- add r2, r4, r1
- ldr r1, _020086E8 ; =0x00002828
- strb r0, [r2, r1]
-_0200852E:
- ldr r0, [sp, #0x20]
- add r4, r4, #0x1
- add r0, r0, #0x1
- add r7, r7, #0x1
- str r0, [sp, #0x20]
- cmp r4, #0x50
- bge _0200853E
- b _02008356
-_0200853E:
- ldr r0, [sp, #0x24]
- add r5, #0x80
- add r0, #0x50
- str r0, [sp, #0x24]
- ldr r0, [sp, #0x14]
- add r0, r0, #0x1
- str r0, [sp, #0x14]
- cmp r0, #0x50
- bge _02008552
- b _0200832E
-_02008552:
- b _020086BC
-_02008554:
- mov r0, #0x0
- str r0, [sp, #0x0]
- str r0, [sp, #0x40]
- str r0, [sp, #0x3c]
-_0200855C:
- ldr r0, [sp, #0x0]
- mov r1, #0x4f
- sub r2, r1, r0
- mov r0, #0x50
- add r1, r2, #0x0
- mul r1, r0
- ldr r0, [sp, #0x50]
- mov r4, #0x0
- add r0, r0, r1
- str r0, [sp, #0x34]
- ldr r1, [sp, #0x50]
- ldr r0, [sp, #0x3c]
- add r7, r1, r0
- ldr r0, [sp, #0x34]
- ldr r1, [sp, #0x38]
- str r0, [sp, #0x30]
- ldr r0, [sp, #0x40]
- str r7, [sp, #0x2c]
- add r5, r1, r0
- ldr r0, [sp, #0x0]
- sub r0, r0, #0x1
- lsl r1, r0, #0x7
- ldr r0, [sp, #0x38]
- add r0, r0, r1
- str r0, [sp, #0x28]
-_0200858E:
- ldr r0, [sp, #0x44]
- ldr r1, [r0, #0x54]
- lsl r0, r1, #0x16
- lsr r0, r0, #0x1f
- beq _020085D6
- lsl r1, r1, #0x15
- lsr r1, r1, #0x1f
- beq _020085D6
- cmp r4, #0x28
- bge _020085BA
- mov r0, #0x27
- sub r1, r0, r4
- ldr r0, [sp, #0x30]
- ldrb r0, [r0, r1]
- bl FUN_020088D8
- mov r1, #0xab
- lsl r1, r1, #0x2
- ldr r1, [r6, r1]
- add r1, r5, r1
- strb r0, [r4, r1]
- b _02008694
-_020085BA:
- add r1, r4, #0x0
- sub r1, #0x28
- mov r0, #0x4f
- sub r1, r0, r1
- ldr r0, [sp, #0x30]
- ldrb r0, [r0, r1]
- bl FUN_020088D8
- mov r1, #0xab
- lsl r1, r1, #0x2
- ldr r1, [r6, r1]
- add r1, r5, r1
- strb r0, [r4, r1]
- b _02008694
-_020085D6:
- cmp r0, #0x0
- beq _02008612
- cmp r4, #0x28
- bge _020085F6
- mov r0, #0x27
- sub r1, r0, r4
- ldr r0, [sp, #0x2c]
- ldrb r0, [r0, r1]
- bl FUN_020088D8
- mov r1, #0xab
- lsl r1, r1, #0x2
- ldr r1, [r6, r1]
- add r1, r5, r1
- strb r0, [r4, r1]
- b _02008694
-_020085F6:
- add r1, r4, #0x0
- sub r1, #0x28
- mov r0, #0x4f
- sub r1, r0, r1
- ldr r0, [sp, #0x2c]
- ldrb r0, [r0, r1]
- bl FUN_020088D8
- mov r1, #0xab
- lsl r1, r1, #0x2
- ldr r1, [r6, r1]
- add r1, r5, r1
- strb r0, [r4, r1]
- b _02008694
-_02008612:
- ldr r0, [sp, #0x44]
- ldr r0, [r0, #0x54]
- lsl r1, r0, #0x15
- lsr r1, r1, #0x1f
- beq _0200862C
- ldr r0, [sp, #0x34]
- mov r1, #0xab
- lsl r1, r1, #0x2
- ldr r1, [r6, r1]
- ldrb r0, [r0, #0x0]
- add r1, r5, r1
- strb r0, [r4, r1]
- b _02008694
-_0200862C:
- lsl r0, r0, #0xf
- lsr r0, r0, #0x1c
- str r0, [sp, #0x4]
- beq _02008688
- ldr r1, [sp, #0x4]
- ldr r0, [sp, #0x0]
- lsl r1, r1, #0x1
- blx _u32_div_f
- cmp r1, #0x0
- beq _02008654
- mov r0, #0xab
- lsl r0, r0, #0x2
- ldr r0, [r6, r0]
- ldr r1, [sp, #0x28]
- add r1, r1, r0
- ldrb r1, [r4, r1]
- add r0, r5, r0
- strb r1, [r4, r0]
- b _02008694
-_02008654:
- ldr r1, [sp, #0x4]
- add r0, r4, #0x0
- blx _u32_div_f
- cmp r1, #0x0
- beq _02008672
- mov r0, #0xab
- lsl r0, r0, #0x2
- ldr r0, [r6, r0]
- add r1, r5, r0
- add r0, r1, r4
- sub r0, r0, #0x1
- ldrb r0, [r0, #0x0]
- strb r0, [r1, r4]
- b _02008694
-_02008672:
- ldrb r1, [r7, #0x0]
- mov r0, #0xf
- and r1, r0
- lsl r0, r1, #0x4
- orr r0, r1
- mov r1, #0xab
- lsl r1, r1, #0x2
- ldr r1, [r6, r1]
- add r1, r5, r1
- strb r0, [r4, r1]
- b _02008694
-_02008688:
- mov r1, #0xab
- lsl r1, r1, #0x2
- ldr r1, [r6, r1]
- ldrb r0, [r7, #0x0]
- add r1, r5, r1
- strb r0, [r4, r1]
-_02008694:
- ldr r0, [sp, #0x34]
- add r4, r4, #0x1
- add r0, r0, #0x1
- add r7, r7, #0x1
- str r0, [sp, #0x34]
- cmp r4, #0x50
- bge _020086A4
- b _0200858E
-_020086A4:
- ldr r0, [sp, #0x40]
- add r0, #0x80
- str r0, [sp, #0x40]
- ldr r0, [sp, #0x3c]
- add r0, #0x50
- str r0, [sp, #0x3c]
- ldr r0, [sp, #0x0]
- add r0, r0, #0x1
- str r0, [sp, #0x0]
- cmp r0, #0x50
- bge _020086BC
- b _0200855C
-_020086BC:
- ldr r0, [sp, #0x4c]
- bl FUN_02016A18
-_020086C2:
- ldr r0, [sp, #0x44]
- mov r1, #0xa
- add r0, #0x98
- str r0, [sp, #0x44]
- ldr r0, [sp, #0x38]
- lsl r1, r1, #0xa
- add r0, r0, r1
- str r0, [sp, #0x38]
- ldr r0, [sp, #0x54]
- add r0, r0, #0x1
- str r0, [sp, #0x54]
- cmp r0, #0x4
- bge _020086DE
- b _020082BA
-_020086DE:
- ldr r1, _020086F0 ; =0x000002E1
- ldr r0, [sp, #0x48]
- strb r0, [r6, r1]
- add sp, #0x5c
- pop {r4-r7, pc}
- .balign 4
-_020086E8: .word 0x00002828
-_020086EC: .word 0x00002827
-_020086F0: .word 0x000002E1
-
- thumb_func_start FUN_020086F4
-FUN_020086F4: ; 0x020086F4
- push {r4-r7, lr}
- sub sp, #0x1c
- add r5, r0, #0x0
- mov r0, #0x0
- str r0, [sp, #0xc]
- str r0, [sp, #0x14]
- ldr r0, [sp, #0xc]
- add r4, r5, #0x0
- str r0, [sp, #0x8]
-_02008706:
- ldr r1, [r4, #0x0]
- lsl r0, r1, #0x1f
- lsr r0, r0, #0x1f
- beq _020087E0
- lsl r0, r1, #0x17
- lsr r0, r0, #0x1f
- beq _020087E0
- ldr r0, _020088CC ; =0xFFFFFEFF
- mov r2, #0xa6
- and r0, r1
- str r0, [r4, #0x0]
- mov r0, #0x1
- str r0, [sp, #0xc]
- lsl r2, r2, #0x2
- ldrh r0, [r4, #0x4]
- ldrh r1, [r4, #0x8]
- ldr r2, [r5, r2]
- bl LoadFromNarc_2
- add r1, sp, #0x18
- str r0, [sp, #0x10]
- blx FUN_020B0138
- ldr r0, [sp, #0x18]
- mov r7, #0x0
- ldr r1, [r0, #0x0]
- mov r0, #0x2d
- lsl r0, r0, #0x4
- str r1, [r5, r0]
- ldr r0, [sp, #0x18]
- add r2, r7, #0x0
- ldr r1, [r0, #0xc]
- ldr r0, [sp, #0x8]
- lsl r3, r0, #0x1
-_0200874A:
- mov r6, #0x2b
- lsl r6, r6, #0x4
- ldr r6, [r5, r6]
- ldrh r0, [r1, #0x0]
- add r6, r3, r6
- add r7, r7, #0x1
- strh r0, [r2, r6]
- mov r6, #0xad
- lsl r6, r6, #0x2
- ldrh r0, [r1, #0x0]
- ldr r6, [r5, r6]
- add r1, r1, #0x2
- add r6, r3, r6
- strh r0, [r2, r6]
- add r2, r2, #0x2
- cmp r7, #0x10
- blt _0200874A
- ldr r0, [sp, #0x10]
- bl FUN_02016A18
- add r0, r4, #0x0
- add r0, #0x6c
- ldrh r0, [r0, #0x0]
- lsl r0, r0, #0x1e
- lsr r0, r0, #0x1e
- beq _020087E0
- mov r2, #0xa6
- lsl r2, r2, #0x2
- ldr r2, [r5, r2]
- mov r0, #0x75
- mov r1, #0xd4
- bl LoadFromNarc_2
- add r1, sp, #0x18
- str r0, [sp, #0x4]
- blx FUN_020B0138
- ldr r0, [sp, #0x18]
- mov r7, #0xad
- ldr r0, [r0, #0xc]
- mov r1, #0x0
- lsl r7, r7, #0x2
-_0200879E:
- add r6, r4, #0x0
- add r6, #0x6c
- ldrh r6, [r6, #0x0]
- mov r2, #0x2b
- lsl r2, r2, #0x4
- lsl r6, r6, #0x1e
- lsr r6, r6, #0x1e
- add r6, r6, #0x3
- lsl r6, r6, #0x4
- add r6, r1, r6
- ldrh r3, [r0, #0x0]
- ldr r2, [r5, r2]
- lsl r6, r6, #0x1
- strh r3, [r2, r6]
- add r6, r4, #0x0
- add r6, #0x6c
- ldrh r6, [r6, #0x0]
- ldrh r3, [r0, #0x0]
- ldr r2, [r5, r7]
- lsl r6, r6, #0x1e
- lsr r6, r6, #0x1e
- add r6, r6, #0x3
- lsl r6, r6, #0x4
- add r6, r1, r6
- lsl r6, r6, #0x1
- add r1, r1, #0x1
- add r0, r0, #0x2
- strh r3, [r2, r6]
- cmp r1, #0x10
- blt _0200879E
- ldr r0, [sp, #0x4]
- bl FUN_02016A18
-_020087E0:
- ldr r0, [r4, #0x0]
- lsl r0, r0, #0x1f
- lsr r0, r0, #0x1f
- beq _020088AE
- ldr r0, [r4, #0x54]
- lsl r0, r0, #0x13
- lsr r0, r0, #0x1f
- beq _020088AE
- add r0, r4, #0x0
- add r0, #0x4a
- ldrb r0, [r0, #0x0]
- cmp r0, #0x0
- bne _020088A0
- mov r0, #0x1
- str r0, [sp, #0xc]
- add r0, r4, #0x0
- add r0, #0x4b
- ldrb r1, [r0, #0x0]
- add r0, r4, #0x0
- add r0, #0x4a
- strb r1, [r0, #0x0]
- ldr r0, [sp, #0x8]
- mov r2, #0xad
- lsl r1, r0, #0x1
- ldr r0, [r4, #0x4c]
- add r3, r4, #0x0
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- lsl r2, r2, #0x2
- str r0, [sp, #0x0]
- ldr r0, [r5, r2]
- sub r2, r2, #0x4
- add r3, #0x48
- ldr r2, [r5, r2]
- add r0, r0, r1
- add r1, r2, r1
- ldrb r3, [r3, #0x0]
- mov r2, #0x10
- bl FUN_02003974
- add r0, r4, #0x0
- add r0, #0x6c
- ldrh r0, [r0, #0x0]
- lsl r0, r0, #0x1e
- lsr r0, r0, #0x1e
- beq _02008862
- add r0, r0, #0x3
- lsl r1, r0, #0x5
- ldr r0, [r4, #0x4c]
- mov r2, #0xad
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- add r3, r4, #0x0
- lsl r2, r2, #0x2
- str r0, [sp, #0x0]
- ldr r0, [r5, r2]
- sub r2, r2, #0x4
- add r3, #0x48
- ldr r2, [r5, r2]
- add r0, r0, r1
- add r1, r2, r1
- ldrb r3, [r3, #0x0]
- mov r2, #0x10
- bl FUN_02003974
-_02008862:
- add r0, r4, #0x0
- add r0, #0x49
- ldrb r1, [r0, #0x0]
- add r0, r4, #0x0
- add r0, #0x48
- ldrb r0, [r0, #0x0]
- cmp r0, r1
- bne _0200887C
- ldr r1, [r4, #0x54]
- ldr r0, _020088D0 ; =0xFFFFEFFF
- and r0, r1
- str r0, [r4, #0x54]
- b _020088AE
-_0200887C:
- cmp r0, r1
- bls _02008890
- add r0, r4, #0x0
- add r0, #0x48
- ldrb r0, [r0, #0x0]
- sub r1, r0, #0x1
- add r0, r4, #0x0
- add r0, #0x48
- strb r1, [r0, #0x0]
- b _020088AE
-_02008890:
- add r0, r4, #0x0
- add r0, #0x48
- ldrb r0, [r0, #0x0]
- add r1, r0, #0x1
- add r0, r4, #0x0
- add r0, #0x48
- strb r1, [r0, #0x0]
- b _020088AE
-_020088A0:
- add r0, r4, #0x0
- add r0, #0x4a
- ldrb r0, [r0, #0x0]
- sub r1, r0, #0x1
- add r0, r4, #0x0
- add r0, #0x4a
- strb r1, [r0, #0x0]
-_020088AE:
- ldr r0, [sp, #0x8]
- add r4, #0x98
- add r0, #0x10
- str r0, [sp, #0x8]
- ldr r0, [sp, #0x14]
- add r0, r0, #0x1
- str r0, [sp, #0x14]
- cmp r0, #0x4
- bge _020088C2
- b _02008706
-_020088C2:
- ldr r1, _020088D4 ; =0x000002E2
- ldr r0, [sp, #0xc]
- strb r0, [r5, r1]
- add sp, #0x1c
- pop {r4-r7, pc}
- .balign 4
-_020088CC: .word 0xFFFFFEFF
-_020088D0: .word 0xFFFFEFFF
-_020088D4: .word 0x000002E2
-
- thumb_func_start FUN_020088D8
-FUN_020088D8: ; 0x020088D8
- mov r1, #0xf0
- and r1, r0
- lsl r1, r1, #0x14
- lsl r0, r0, #0x1c
- lsr r1, r1, #0x18
- lsr r0, r0, #0x18
- orr r0, r1
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- bx lr
-
- thumb_func_start FUN_020088EC
-FUN_020088EC: ; 0x020088EC
- push {r3, lr}
- add r2, r0, #0x0
- ldrh r0, [r2, #0xa]
- cmp r0, #0x0
- beq _02008900
- add r0, r1, #0x0
- ldr r1, [r2, #0x10]
- mov r2, #0x1
- bl FUN_02008904
-_02008900:
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_02008904
-FUN_02008904: ; 0x02008904
- push {r4-r7, lr}
- sub sp, #0x1c
- add r3, r0, #0x0
- add r0, r1, #0x0
- mov lr, r0
- mov r0, #0x0
- mov r12, r0
- ldr r0, _02008A50 ; =0x02105AE8
- str r1, [sp, #0x0]
- str r2, [sp, #0x4]
- str r0, [sp, #0x10]
-_0200891A:
- ldr r0, [sp, #0x10]
- mov r1, #0x0
- ldr r6, [r0, #0x0]
- ldrb r0, [r6, #0x0]
- cmp r0, #0xff
- beq _02008992
- ldr r0, [sp, #0x0]
- mov r2, #0xf
- and r0, r2
- str r0, [sp, #0xc]
- sub r0, #0x8
- str r0, [sp, #0xc]
- ldr r0, [sp, #0x0]
- mov r2, #0xf0
- and r0, r2
- lsr r7, r0, #0x4
- sub r7, #0x8
-_0200893C:
- lsl r0, r1, #0x1
- add r2, r6, r0
- ldrb r4, [r6, r0]
- ldrb r2, [r2, #0x1]
- ldr r0, [sp, #0xc]
- add r0, r0, r4
- add r2, r7, r2
- lsl r0, r0, #0x18
- lsl r2, r2, #0x18
- lsr r0, r0, #0x18
- lsr r4, r2, #0x18
- mov r2, #0x50
- mul r2, r4
- lsr r5, r0, #0x1
- add r2, r5, r2
- mov r4, #0x1
- tst r0, r4
- ldrb r4, [r3, r2]
- beq _02008974
- mov r0, #0xf0
- and r0, r4
- cmp r0, #0x10
- blt _02008984
- cmp r0, #0x30
- bgt _02008984
- add r4, #0x50
- strb r4, [r3, r2]
- b _02008984
-_02008974:
- mov r0, #0xf
- and r0, r4
- cmp r0, #0x1
- blt _02008984
- cmp r0, #0x3
- bgt _02008984
- add r0, r4, #0x5
- strb r0, [r3, r2]
-_02008984:
- add r0, r1, #0x1
- lsl r0, r0, #0x18
- lsr r1, r0, #0x18
- lsl r0, r1, #0x1
- ldrb r0, [r6, r0]
- cmp r0, #0xff
- bne _0200893C
-_02008992:
- ldr r0, [sp, #0x0]
- lsr r0, r0, #0x8
- str r0, [sp, #0x0]
- ldr r0, [sp, #0x10]
- add r0, r0, #0x4
- str r0, [sp, #0x10]
- mov r0, r12
- add r0, r0, #0x1
- mov r12, r0
- cmp r0, #0x4
- blt _0200891A
- mov r0, lr
- str r0, [sp, #0x0]
- ldr r0, [sp, #0x4]
- cmp r0, #0x0
- beq _02008A4A
- mov r0, #0x0
- str r0, [sp, #0x8]
- ldr r0, _02008A50 ; =0x02105AE8
- str r0, [sp, #0x18]
-_020089BA:
- ldr r0, [sp, #0x18]
- mov r4, #0x0
- ldr r2, [r0, #0x0]
- ldrb r0, [r2, #0x0]
- cmp r0, #0xff
- beq _02008A34
- ldr r0, [sp, #0x0]
- mov r1, #0xf
- and r0, r1
- str r0, [sp, #0x14]
- add r0, #0x48
- str r0, [sp, #0x14]
- ldr r0, [sp, #0x0]
- mov r1, #0xf0
- and r0, r1
- lsr r7, r0, #0x4
- sub r7, #0x8
-_020089DC:
- lsl r0, r4, #0x1
- add r5, r2, r0
- ldrb r1, [r2, r0]
- ldrb r5, [r5, #0x1]
- ldr r0, [sp, #0x14]
- sub r1, #0xe
- add r0, r0, r1
- add r5, r7, r5
- lsl r0, r0, #0x18
- lsl r5, r5, #0x18
- lsr r1, r0, #0x18
- lsr r6, r5, #0x18
- mov r5, #0x50
- lsr r0, r1, #0x1
- mul r5, r6
- add r0, r0, r5
- mov r5, #0x1
- tst r1, r5
- ldrb r5, [r3, r0]
- beq _02008A16
- mov r1, #0xf0
- and r1, r5
- cmp r1, #0x10
- blt _02008A26
- cmp r1, #0x30
- bgt _02008A26
- add r5, #0x50
- strb r5, [r3, r0]
- b _02008A26
-_02008A16:
- mov r1, #0xf
- and r1, r5
- cmp r1, #0x1
- blt _02008A26
- cmp r1, #0x3
- bgt _02008A26
- add r1, r5, #0x5
- strb r1, [r3, r0]
-_02008A26:
- add r0, r4, #0x1
- lsl r0, r0, #0x18
- lsr r4, r0, #0x18
- lsl r0, r4, #0x1
- ldrb r0, [r2, r0]
- cmp r0, #0xff
- bne _020089DC
-_02008A34:
- ldr r0, [sp, #0x0]
- lsr r0, r0, #0x8
- str r0, [sp, #0x0]
- ldr r0, [sp, #0x18]
- add r0, r0, #0x4
- str r0, [sp, #0x18]
- ldr r0, [sp, #0x8]
- add r0, r0, #0x1
- str r0, [sp, #0x8]
- cmp r0, #0x4
- blt _020089BA
-_02008A4A:
- add sp, #0x1c
- pop {r4-r7, pc}
- nop
-_02008A50: .word 0x02105AE8
-
- thumb_func_start FUN_02008A54
-FUN_02008A54: ; 0x02008A54
- ldr r2, [r0, #0x0]
- ldr r1, _02008A6C ; =0x41C64E6D
- add r3, r2, #0x0
- mul r3, r1
- ldr r1, _02008A70 ; =0x00006073
- add r1, r3, r1
- str r1, [r0, #0x0]
- lsr r0, r1, #0x10
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- bx lr
- nop
-_02008A6C: .word 0x41C64E6D
-_02008A70: .word 0x00006073
-
- thumb_func_start FUN_02008A74
-FUN_02008A74: ; 0x02008A74
- push {r3-r7, lr}
- ldr r1, _02008AA0 ; =0x000018FE
- mov r6, #0x0
- ldrh r2, [r0, r1]
- lsr r4, r1, #0x1
- add r5, r0, r1
- str r2, [sp, #0x0]
- add r7, sp, #0x0
- mvn r6, r6
-_02008A86:
- ldrh r1, [r5, #0x0]
- ldr r0, [sp, #0x0]
- eor r0, r1
- strh r0, [r5, #0x0]
- add r0, r7, #0x0
- bl FUN_02008A54
- sub r4, r4, #0x1
- sub r5, r5, #0x2
- cmp r4, r6
- bgt _02008A86
- pop {r3-r7, pc}
- nop
-_02008AA0: .word 0x000018FE
-
- thumb_func_start FUN_02008AA4
-FUN_02008AA4: ; 0x02008AA4
- push {r3-r7, lr}
- sub sp, #0x18
- mov r4, #0x0
- add r5, r0, #0x0
- add r0, r4, #0x0
- str r0, [sp, #0x8]
- ldr r0, [sp, #0x44]
- add r6, r1, #0x0
- str r2, [sp, #0x0]
- str r3, [sp, #0x4]
- str r4, [sp, #0xc]
- cmp r0, #0x0
- bne _02008AC2
- bl ErrorHandling
-_02008AC2:
- ldr r0, [sp, #0x48]
- cmp r0, #0x0
- bne _02008ACC
- bl ErrorHandling
-_02008ACC:
- ldr r0, [sp, #0x50]
- cmp r0, #0x0
- bne _02008AD6
- bl ErrorHandling
-_02008AD6:
- ldr r0, [sp, #0x4c]
- cmp r0, #0x0
- bne _02008AE0
- bl ErrorHandling
-_02008AE0:
- cmp r5, #0x0
- bne _02008AE8
- bl ErrorHandling
-_02008AE8:
- ldr r0, [sp, #0x44]
- add r1, r6, #0x0
- bl FUN_020094F0
- add r7, r0, #0x0
- bne _02008AF8
- bl ErrorHandling
-_02008AF8:
- ldr r0, [sp, #0x48]
- ldr r1, [sp, #0x0]
- bl FUN_020094F0
- str r0, [sp, #0x14]
- cmp r0, #0x0
- bne _02008B0A
- bl ErrorHandling
-_02008B0A:
- ldr r0, [sp, #0x4c]
- ldr r1, [sp, #0x4]
- bl FUN_020094F0
- str r0, [sp, #0x10]
- cmp r0, #0x0
- bne _02008B1C
- bl ErrorHandling
-_02008B1C:
- ldr r0, [sp, #0x50]
- cmp r0, #0x0
- beq _02008B3A
- mov r2, #0x0
- ldr r1, [sp, #0x30]
- mvn r2, r2
- cmp r1, r2
- beq _02008B3A
- bl FUN_020094F0
- str r0, [sp, #0xc]
- cmp r0, #0x0
- bne _02008B3A
- bl ErrorHandling
-_02008B3A:
- ldr r0, [sp, #0x54]
- cmp r0, #0x0
- beq _02008B62
- mov r2, #0x0
- ldr r1, [sp, #0x34]
- mvn r2, r2
- cmp r1, r2
- beq _02008B50
- bl FUN_020094F0
- add r4, r0, #0x0
-_02008B50:
- mov r0, #0x0
- ldr r1, [sp, #0x38]
- mvn r0, r0
- cmp r1, r0
- beq _02008B62
- ldr r0, [sp, #0x58]
- bl FUN_020094F0
- str r0, [sp, #0x8]
-_02008B62:
- ldr r0, [sp, #0x3c]
- cmp r0, #0x0
- beq _02008B82
- ldr r1, [sp, #0x10]
- add r0, r7, #0x0
- bl FUN_02009C80
- add r6, r0, #0x0
- bne _02008B78
- bl ErrorHandling
-_02008B78:
- add r0, r7, #0x0
- bl FUN_02009544
- str r0, [r5, #0x4]
- b _02008B94
-_02008B82:
- add r0, r7, #0x0
- bl FUN_02009C5C
- add r6, r0, #0x0
- bne _02008B90
- bl ErrorHandling
-_02008B90:
- mov r0, #0x0
- str r0, [r5, #0x4]
-_02008B94:
- ldr r0, [sp, #0x14]
- add r1, r6, #0x0
- bl FUN_02009E54
- str r0, [r5, #0x8]
- ldr r0, [sp, #0x10]
- str r6, [r5, #0x0]
- bl FUN_02009574
- str r0, [r5, #0xc]
- ldr r0, [sp, #0xc]
- cmp r0, #0x0
- beq _02008BB4
- bl FUN_0200958C
- b _02008BB6
-_02008BB4:
- mov r0, #0x0
-_02008BB6:
- str r0, [r5, #0x10]
- cmp r4, #0x0
- beq _02008BCC
- add r0, r4, #0x0
- bl FUN_020095A4
- str r0, [r5, #0x14]
- ldr r0, [sp, #0x8]
- bl FUN_020095BC
- b _02008BD0
-_02008BCC:
- mov r0, #0x0
- str r0, [r5, #0x14]
-_02008BD0:
- str r0, [r5, #0x18]
- ldr r0, [sp, #0x3c]
- str r0, [r5, #0x1c]
- ldr r0, [sp, #0x40]
- add r5, #0x20
- strb r0, [r5, #0x0]
- add sp, #0x18
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02008BE0
-FUN_02008BE0: ; 0x02008BE0
- push {r4-r7, lr}
- sub sp, #0x34
- add r5, r0, #0x0
- ldr r0, [sp, #0x48]
- add r7, r1, #0x0
- str r0, [sp, #0x48]
- ldr r0, [sp, #0x4c]
- mov r4, #0x0
- str r0, [sp, #0x4c]
- ldr r0, [sp, #0x50]
- ldr r1, [r5, #0x0]
- str r0, [sp, #0x50]
- ldr r0, [sp, #0x54]
- str r2, [sp, #0x2c]
- str r0, [sp, #0x54]
- sub r0, r4, #0x2
- str r3, [sp, #0x30]
- cmp r1, r0
- beq _02008C14
- add r2, r5, #0x0
- sub r0, r4, #0x2
-_02008C0A:
- add r2, #0x20
- ldr r1, [r2, #0x0]
- add r4, r4, #0x1
- cmp r1, r0
- bne _02008C0A
-_02008C14:
- add r0, r7, #0x0
- mov r1, #0x8
- bl FUN_02016998
- mov r1, #0x24
- add r6, r0, #0x0
- add r0, r7, #0x0
- mul r1, r4
- bl FUN_02016998
- str r0, [r6, #0x0]
- mov r7, #0x0
- str r4, [r6, #0x4]
- cmp r4, #0x0
- ble _02008C7A
- add r4, r7, #0x0
-_02008C34:
- ldr r0, [r5, #0xc]
- str r0, [sp, #0x0]
- ldr r0, [r5, #0x10]
- str r0, [sp, #0x4]
- ldr r0, [r5, #0x14]
- str r0, [sp, #0x8]
- ldr r0, [r5, #0x18]
- str r0, [sp, #0xc]
- ldr r0, [r5, #0x1c]
- str r0, [sp, #0x10]
- ldr r0, [sp, #0x2c]
- str r0, [sp, #0x14]
- ldr r0, [sp, #0x30]
- str r0, [sp, #0x18]
- ldr r0, [sp, #0x48]
- str r0, [sp, #0x1c]
- ldr r0, [sp, #0x4c]
- str r0, [sp, #0x20]
- ldr r0, [sp, #0x50]
- str r0, [sp, #0x24]
- ldr r0, [sp, #0x54]
- str r0, [sp, #0x28]
- ldr r0, [r6, #0x0]
- ldr r1, [r5, #0x0]
- ldr r2, [r5, #0x4]
- ldr r3, [r5, #0x8]
- add r0, r0, r4
- bl FUN_02008AA4
- ldr r0, [r6, #0x4]
- add r7, r7, #0x1
- add r5, #0x20
- add r4, #0x24
- cmp r7, r0
- blt _02008C34
-_02008C7A:
- add r0, r6, #0x0
- add sp, #0x34
- pop {r4-r7, pc}
-
- thumb_func_start FUN_02008C80
-FUN_02008C80: ; 0x02008C80
- push {r4, lr}
- add r4, r0, #0x0
- bne _02008C8A
- bl ErrorHandling
-_02008C8A:
- ldr r0, [r4, #0x0]
- cmp r0, #0x0
- beq _02008C94
- bl FUN_02016A18
-_02008C94:
- add r0, r4, #0x0
- bl FUN_02016A18
- pop {r4, pc}
-
- thumb_func_start FUN_02008C9C
-FUN_02008C9C: ; 0x02008C9C
- push {r3-r6, lr}
- sub sp, #0x1c
- add r4, r1, #0x0
- add r5, r0, #0x0
- ldr r1, _02008D00 ; =0xFFFFF000
- add r0, r4, #0x0
- add r6, r2, #0x0
- bl FUN_0202134C
- mov r0, #0x0
- str r0, [sp, #0x0]
- str r0, [sp, #0x4]
- mov r0, #0xff
- lsl r0, r0, #0xc
- str r0, [sp, #0x8]
- mov r0, #0x3
- lsl r0, r0, #0x12
- str r0, [sp, #0xc]
- add r0, r4, #0x0
- add r0, #0x98
- add r1, sp, #0x0
- mov r2, #0x1
- add r3, r4, #0x0
- bl FUN_02009FD8
- mov r0, #0x0
- str r0, [sp, #0x0]
- mov r0, #0xff
- mov r1, #0x3
- lsl r1, r1, #0x12
- lsl r0, r0, #0xc
- str r0, [sp, #0x8]
- add r0, r4, #0x0
- str r1, [sp, #0x4]
- str r1, [sp, #0xc]
- add r0, #0xe0
- add r1, sp, #0x0
- mov r2, #0x2
- add r3, r4, #0x0
- bl FUN_02009FD8
- add r0, sp, #0x10
- str r5, [sp, #0x10]
- str r4, [sp, #0x14]
- str r6, [sp, #0x18]
- bl FUN_0201FCB0
- add sp, #0x1c
- pop {r3-r6, pc}
- nop
-_02008D00: .word 0xFFFFF000
-
- thumb_func_start FUN_02008D04
-FUN_02008D04: ; 0x02008D04
- push {r3, lr}
- sub sp, #0x10
- str r1, [sp, #0x0]
- mov r1, #0xff
- lsl r1, r1, #0xc
- str r1, [sp, #0x8]
- mov r1, #0x3
- lsl r1, r1, #0x12
- str r1, [sp, #0xc]
- add r0, #0x98
- add r1, sp, #0x0
- str r2, [sp, #0x4]
- bl FUN_02021390
- add sp, #0x10
- pop {r3, pc}
-
- thumb_func_start FUN_02008D24
-FUN_02008D24: ; 0x02008D24
- push {r3, lr}
- sub sp, #0x10
- str r1, [sp, #0x0]
- mov r1, #0xff
- lsl r1, r1, #0xc
- str r1, [sp, #0x8]
- mov r1, #0x3
- lsl r1, r1, #0x12
- str r1, [sp, #0xc]
- add r0, #0xe0
- add r1, sp, #0x0
- str r2, [sp, #0x4]
- bl FUN_02021390
- add sp, #0x10
- pop {r3, pc}
-
- thumb_func_start FUN_02008D44
-FUN_02008D44: ; 0x02008D44
- push {r4, lr}
- add r4, r0, #0x0
- cmp r1, #0x10
- beq _02008D5A
- ldr r2, _02008DCC ; =0x00100010
- cmp r1, r2
- beq _02008D8A
- ldr r0, _02008DD0 ; =0x00200010
- cmp r1, r0
- beq _02008D98
- b _02008DC4
-_02008D5A:
- blx GX_GetBankForOBJ
- cmp r0, #0x40
- beq _02008D6A
- blx GX_GetBankForOBJ
- cmp r0, #0x20
- bne _02008D7A
-_02008D6A:
- mov r0, #0x3e
- mov r1, #0x2
- lsl r0, r0, #0x8
- lsl r1, r1, #0x8
- add r2, r4, #0x0
- bl FUN_0201D194
- pop {r4, pc}
-_02008D7A:
- mov r0, #0x7e
- mov r1, #0x2
- lsl r0, r0, #0x8
- lsl r1, r1, #0x8
- add r2, r4, #0x0
- bl FUN_0201D194
- pop {r4, pc}
-_02008D8A:
- mov r0, #0xfe
- lsr r1, r2, #0xb
- lsl r0, r0, #0x8
- add r2, r4, #0x0
- bl FUN_0201D194
- pop {r4, pc}
-_02008D98:
- blx GX_GetBankForOBJ
- cmp r0, #0x30
- beq _02008DA8
- blx GX_GetBankForOBJ
- cmp r0, #0x50
- bne _02008DB6
-_02008DA8:
- mov r1, #0x2
- ldr r0, _02008DD4 ; =0x00013E00
- lsl r1, r1, #0x8
- add r2, r4, #0x0
- bl FUN_0201D194
- pop {r4, pc}
-_02008DB6:
- mov r1, #0x2
- ldr r0, _02008DD8 ; =0x0001FE00
- lsl r1, r1, #0x8
- add r2, r4, #0x0
- bl FUN_0201D194
- pop {r4, pc}
-_02008DC4:
- bl ErrorHandling
- pop {r4, pc}
- nop
-_02008DCC: .word 0x00100010
-_02008DD0: .word 0x00200010
-_02008DD4: .word 0x00013E00
-_02008DD8: .word 0x0001FE00
-
- thumb_func_start FUN_02008DDC
-FUN_02008DDC: ; 0x02008DDC
- ldr r3, _02008DE8 ; =0x0201E069
- add r1, r0, #0x0
- mov r0, #0x3
- lsl r0, r0, #0xe
- bx r3
- nop
-_02008DE8: .word 0x0201E069
-
- thumb_func_start FUN_02008DEC
-FUN_02008DEC: ; 0x02008DEC
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r6, r1, #0x0
- str r2, [sp, #0x0]
- add r0, r2, #0x0
- mov r1, #0x14
- bl FUN_02016998
- add r4, r0, #0x0
- ldr r1, [sp, #0x0]
- add r0, r5, #0x0
- bl FUN_02020C44
- str r0, [r4, #0x0]
- mov r0, #0xc
- add r7, r5, #0x0
- mul r7, r0
- ldr r0, [sp, #0x0]
- add r1, r7, #0x0
- bl FUN_02016998
- mov r1, #0x0
- add r2, r7, #0x0
- str r0, [r4, #0x4]
- blx Call_FillMemWithValue
- str r5, [r4, #0x8]
- mov r0, #0x0
- str r0, [r4, #0xc]
- str r6, [r4, #0x10]
- add r0, r4, #0x0
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02008E2C
-FUN_02008E2C: ; 0x02008E2C
- push {r4, lr}
- add r4, r0, #0x0
- bne _02008E36
- bl ErrorHandling
-_02008E36:
- ldr r0, [r4, #0x0]
- cmp r0, #0x0
- bne _02008E40
- bl ErrorHandling
-_02008E40:
- ldr r0, [r4, #0x4]
- cmp r0, #0x0
- bne _02008E4A
- bl ErrorHandling
-_02008E4A:
- add r0, r4, #0x0
- bl FUN_020094C4
- ldr r0, [r4, #0x0]
- bl FUN_02020C90
- mov r0, #0x0
- str r0, [r4, #0x0]
- ldr r0, [r4, #0x4]
- bl FUN_02016A18
- mov r0, #0x0
- str r0, [r4, #0x4]
- add r0, r4, #0x0
- bl FUN_02016A18
- pop {r4, pc}
-
- thumb_func_start FUN_02008E6C
-FUN_02008E6C: ; 0x02008E6C
- push {r3-r7, lr}
- sub sp, #0x20
- add r5, r0, #0x0
- add r4, r1, #0x0
- add r6, r2, #0x0
- add r7, r3, #0x0
- cmp r5, #0x0
- bne _02008E80
- bl ErrorHandling
-_02008E80:
- cmp r4, #0x0
- bne _02008E88
- bl ErrorHandling
-_02008E88:
- ldr r0, [r4, #0x4]
- cmp r0, r6
- bgt _02008E92
- bl ErrorHandling
-_02008E92:
- ldr r1, [r5, #0x10]
- ldr r0, [r4, #0x8]
- cmp r1, r0
- beq _02008E9E
- bl ErrorHandling
-_02008E9E:
- add r0, r5, #0x0
- bl FUN_020097D0
- str r0, [sp, #0x1c]
- cmp r0, #0x0
- bne _02008EAE
- bl ErrorHandling
-_02008EAE:
- ldrb r0, [r4, #0xc]
- cmp r0, #0x0
- bne _02008EEA
- ldr r2, [r4, #0x0]
- mov r0, #0x4c
- add r1, r6, #0x0
- mul r1, r0
- add r6, r2, r1
- ldr r1, [r2, r1]
- add r0, r5, #0x0
- bl FUN_0200945C
- cmp r0, #0x1
- beq _02008ECE
- bl ErrorHandling
-_02008ECE:
- ldr r0, [r6, #0x44]
- ldr r1, [sp, #0x1c]
- str r0, [sp, #0x0]
- ldr r0, [r6, #0x48]
- add r2, r6, #0x4
- str r0, [sp, #0x4]
- ldr r0, [r4, #0x8]
- str r0, [sp, #0x8]
- str r7, [sp, #0xc]
- ldr r3, [r6, #0x0]
- add r0, r5, #0x0
- bl FUN_0200994C
- b _02008F28
-_02008EEA:
- mov r0, #0x18
- ldr r1, [r4, #0x0]
- mul r0, r6
- add r6, r1, r0
- ldr r1, [r6, #0xc]
- add r0, r5, #0x0
- bl FUN_0200945C
- cmp r0, #0x1
- beq _02008F02
- bl ErrorHandling
-_02008F02:
- ldr r0, [r6, #0x8]
- ldr r1, [sp, #0x1c]
- str r0, [sp, #0x0]
- ldr r0, [r6, #0xc]
- str r0, [sp, #0x4]
- ldr r0, [r6, #0x10]
- str r0, [sp, #0x8]
- ldr r0, [r6, #0x14]
- str r0, [sp, #0xc]
- ldr r0, [r4, #0x8]
- str r0, [sp, #0x10]
- str r7, [sp, #0x14]
- mov r0, #0x0
- str r0, [sp, #0x18]
- ldr r2, [r6, #0x0]
- ldr r3, [r6, #0x4]
- add r0, r5, #0x0
- bl FUN_02009978
-_02008F28:
- ldr r0, [r5, #0xc]
- add r0, r0, #0x1
- str r0, [r5, #0xc]
- ldr r0, [sp, #0x1c]
- add sp, #0x20
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02008F34
-FUN_02008F34: ; 0x02008F34
- push {r3-r7, lr}
- sub sp, #0x20
- add r5, r0, #0x0
- add r7, r1, #0x0
- add r4, r3, #0x0
- str r2, [sp, #0x1c]
- cmp r5, #0x0
- bne _02008F48
- bl ErrorHandling
-_02008F48:
- ldr r0, [r5, #0x10]
- cmp r0, #0x0
- beq _02008F52
- bl ErrorHandling
-_02008F52:
- add r0, r5, #0x0
- bl FUN_020097D0
- add r6, r0, #0x0
- bne _02008F60
- bl ErrorHandling
-_02008F60:
- ldr r0, [sp, #0x38]
- str r4, [sp, #0x0]
- str r0, [sp, #0x4]
- ldr r0, [sp, #0x3c]
- mov r1, #0x0
- str r0, [sp, #0x8]
- str r1, [sp, #0xc]
- ldr r0, [sp, #0x40]
- str r1, [sp, #0x10]
- str r0, [sp, #0x14]
- str r1, [sp, #0x18]
- ldr r3, [sp, #0x1c]
- add r0, r5, #0x0
- add r1, r6, #0x0
- add r2, r7, #0x0
- bl FUN_02009978
- ldr r0, [r5, #0xc]
- add r0, r0, #0x1
- str r0, [r5, #0xc]
- add r0, r6, #0x0
- add sp, #0x20
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02008F90
-FUN_02008F90: ; 0x02008F90
- push {r3-r7, lr}
- sub sp, #0x20
- add r5, r0, #0x0
- add r7, r1, #0x0
- add r4, r3, #0x0
- str r2, [sp, #0x1c]
- cmp r5, #0x0
- bne _02008FA4
- bl ErrorHandling
-_02008FA4:
- ldr r0, [r5, #0x10]
- cmp r0, #0x0
- beq _02008FAE
- bl ErrorHandling
-_02008FAE:
- add r0, r5, #0x0
- bl FUN_020097D0
- add r6, r0, #0x0
- bne _02008FBC
- bl ErrorHandling
-_02008FBC:
- ldr r0, [sp, #0x38]
- str r4, [sp, #0x0]
- str r0, [sp, #0x4]
- ldr r0, [sp, #0x3c]
- ldr r3, [sp, #0x1c]
- str r0, [sp, #0x8]
- mov r0, #0x0
- str r0, [sp, #0xc]
- str r0, [sp, #0x10]
- ldr r0, [sp, #0x40]
- add r1, r6, #0x0
- str r0, [sp, #0x14]
- ldr r0, [sp, #0x44]
- add r2, r7, #0x0
- str r0, [sp, #0x18]
- add r0, r5, #0x0
- bl FUN_02009978
- ldr r0, [r5, #0xc]
- add r0, r0, #0x1
- str r0, [r5, #0xc]
- add r0, r6, #0x0
- add sp, #0x20
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02008FEC
-FUN_02008FEC: ; 0x02008FEC
- push {r3-r7, lr}
- sub sp, #0x20
- add r5, r0, #0x0
- add r7, r1, #0x0
- add r4, r3, #0x0
- str r2, [sp, #0x1c]
- cmp r5, #0x0
- bne _02009000
- bl ErrorHandling
-_02009000:
- ldr r0, [r5, #0x10]
- cmp r0, #0x1
- beq _0200900A
- bl ErrorHandling
-_0200900A:
- add r0, r5, #0x0
- bl FUN_020097D0
- add r6, r0, #0x0
- bne _02009018
- bl ErrorHandling
-_02009018:
- ldr r0, [sp, #0x38]
- str r4, [sp, #0x0]
- str r0, [sp, #0x4]
- ldr r0, [sp, #0x3c]
- ldr r3, [sp, #0x1c]
- str r0, [sp, #0x8]
- ldr r0, [sp, #0x40]
- add r1, r6, #0x0
- str r0, [sp, #0xc]
- mov r0, #0x1
- str r0, [sp, #0x10]
- ldr r0, [sp, #0x44]
- add r2, r7, #0x0
- str r0, [sp, #0x14]
- mov r0, #0x0
- str r0, [sp, #0x18]
- add r0, r5, #0x0
- bl FUN_02009978
- ldr r0, [r5, #0xc]
- add r0, r0, #0x1
- str r0, [r5, #0xc]
- add r0, r6, #0x0
- add sp, #0x20
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0200904C
-FUN_0200904C: ; 0x0200904C
- push {r3-r7, lr}
- sub sp, #0x20
- add r5, r0, #0x0
- add r7, r1, #0x0
- add r4, r3, #0x0
- str r2, [sp, #0x1c]
- cmp r5, #0x0
- bne _02009060
- bl ErrorHandling
-_02009060:
- ldr r0, [r5, #0x10]
- cmp r0, #0x1
- beq _0200906A
- bl ErrorHandling
-_0200906A:
- add r0, r5, #0x0
- bl FUN_020097D0
- add r6, r0, #0x0
- bne _02009078
- bl ErrorHandling
-_02009078:
- ldr r0, [sp, #0x38]
- str r4, [sp, #0x0]
- str r0, [sp, #0x4]
- ldr r0, [sp, #0x3c]
- ldr r3, [sp, #0x1c]
- str r0, [sp, #0x8]
- ldr r0, [sp, #0x40]
- add r1, r6, #0x0
- str r0, [sp, #0xc]
- mov r0, #0x1
- str r0, [sp, #0x10]
- ldr r0, [sp, #0x44]
- add r2, r7, #0x0
- str r0, [sp, #0x14]
- ldr r0, [sp, #0x48]
- str r0, [sp, #0x18]
- add r0, r5, #0x0
- bl FUN_02009978
- ldr r0, [r5, #0xc]
- add r0, r0, #0x1
- str r0, [r5, #0xc]
- add r0, r6, #0x0
- add sp, #0x20
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_020090AC
-FUN_020090AC: ; 0x020090AC
- push {r3-r7, lr}
- sub sp, #0x20
- add r5, r0, #0x0
- add r7, r1, #0x0
- add r4, r3, #0x0
- str r2, [sp, #0x1c]
- cmp r5, #0x0
- bne _020090C0
- bl ErrorHandling
-_020090C0:
- add r0, r5, #0x0
- bl FUN_020097D0
- add r6, r0, #0x0
- bne _020090CE
- bl ErrorHandling
-_020090CE:
- ldr r0, [sp, #0x38]
- str r4, [sp, #0x0]
- str r0, [sp, #0x4]
- mov r1, #0x0
- str r1, [sp, #0x8]
- ldr r0, [sp, #0x3c]
- str r1, [sp, #0xc]
- str r0, [sp, #0x10]
- ldr r0, [sp, #0x40]
- ldr r3, [sp, #0x1c]
- str r0, [sp, #0x14]
- str r1, [sp, #0x18]
- add r0, r5, #0x0
- add r1, r6, #0x0
- add r2, r7, #0x0
- bl FUN_02009978
- ldr r0, [r5, #0xc]
- add r0, r0, #0x1
- str r0, [r5, #0xc]
- add r0, r6, #0x0
- add sp, #0x20
- pop {r3-r7, pc}
-
- thumb_func_start FUN_020090FC
-FUN_020090FC: ; 0x020090FC
- push {r4-r7, lr}
- sub sp, #0x24
- add r5, r0, #0x0
- add r4, r1, #0x0
- str r2, [sp, #0x1c]
- str r3, [sp, #0x20]
- cmp r5, #0x0
- bne _02009110
- bl ErrorHandling
-_02009110:
- ldr r0, [r5, #0x10]
- cmp r0, #0x0
- beq _0200911A
- bl ErrorHandling
-_0200911A:
- cmp r4, #0x0
- bne _02009122
- bl ErrorHandling
-_02009122:
- ldr r0, [r4, #0x4]
- cmp r0, #0x0
- beq _0200912C
- bl ErrorHandling
-_0200912C:
- add r0, r4, #0x0
- bl FUN_02009530
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl FUN_020095E4
- add r7, r0, #0x0
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02009490
- ldr r0, [sp, #0x38]
- mov r1, #0x0
- str r0, [sp, #0x0]
- str r6, [sp, #0x4]
- str r7, [sp, #0x8]
- str r1, [sp, #0xc]
- ldr r0, [sp, #0x3c]
- str r1, [sp, #0x10]
- str r0, [sp, #0x14]
- str r1, [sp, #0x18]
- ldr r2, [sp, #0x1c]
- ldr r3, [sp, #0x20]
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02009978
- add sp, #0x24
- pop {r4-r7, pc}
-
- thumb_func_start FUN_02009168
-FUN_02009168: ; 0x02009168
- push {r3-r7, lr}
- sub sp, #0x28
- add r5, r0, #0x0
- add r4, r1, #0x0
- str r2, [sp, #0x1c]
- str r3, [sp, #0x20]
- cmp r5, #0x0
- bne _0200917C
- bl ErrorHandling
-_0200917C:
- ldr r0, [r5, #0x10]
- cmp r0, #0x1
- beq _02009186
- bl ErrorHandling
-_02009186:
- cmp r4, #0x0
- bne _0200918E
- bl ErrorHandling
-_0200918E:
- ldr r0, [r4, #0x4]
- cmp r0, #0x1
- beq _02009198
- bl ErrorHandling
-_02009198:
- add r0, r4, #0x0
- bl FUN_02009530
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl FUN_020095E4
- add r7, r0, #0x0
- add r0, r4, #0x0
- bl FUN_02009610
- str r0, [sp, #0x24]
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02009490
- ldr r0, [sp, #0x40]
- ldr r2, [sp, #0x1c]
- str r0, [sp, #0x0]
- str r6, [sp, #0x4]
- ldr r0, [sp, #0x24]
- str r7, [sp, #0x8]
- str r0, [sp, #0xc]
- mov r0, #0x1
- str r0, [sp, #0x10]
- ldr r0, [sp, #0x44]
- ldr r3, [sp, #0x20]
- str r0, [sp, #0x14]
- mov r0, #0x0
- str r0, [sp, #0x18]
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02009978
- add sp, #0x28
- pop {r3-r7, pc}
-
- thumb_func_start FUN_020091E0
-FUN_020091E0: ; 0x020091E0
- push {r3-r7, lr}
- sub sp, #0x20
- add r5, r0, #0x0
- add r7, r1, #0x0
- add r4, r3, #0x0
- str r2, [sp, #0x1c]
- cmp r5, #0x0
- bne _020091F4
- bl ErrorHandling
-_020091F4:
- ldr r0, [r5, #0x10]
- cmp r0, #0x0
- beq _020091FE
- bl ErrorHandling
-_020091FE:
- add r0, r5, #0x0
- bl FUN_020097D0
- add r6, r0, #0x0
- bne _0200920C
- bl ErrorHandling
-_0200920C:
- ldr r0, [sp, #0x38]
- str r4, [sp, #0x0]
- str r0, [sp, #0x4]
- ldr r0, [sp, #0x3c]
- mov r1, #0x0
- str r0, [sp, #0x8]
- str r1, [sp, #0xc]
- ldr r0, [sp, #0x40]
- str r1, [sp, #0x10]
- str r0, [sp, #0x14]
- str r1, [sp, #0x18]
- ldr r3, [sp, #0x1c]
- add r0, r5, #0x0
- add r1, r6, #0x0
- add r2, r7, #0x0
- bl FUN_020099B0
- ldr r0, [r5, #0xc]
- add r0, r0, #0x1
- str r0, [r5, #0xc]
- add r0, r6, #0x0
- add sp, #0x20
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0200923C
-FUN_0200923C: ; 0x0200923C
- push {r3-r7, lr}
- sub sp, #0x20
- add r5, r0, #0x0
- add r7, r1, #0x0
- add r4, r3, #0x0
- str r2, [sp, #0x1c]
- cmp r5, #0x0
- bne _02009250
- bl ErrorHandling
-_02009250:
- ldr r0, [r5, #0x10]
- cmp r0, #0x0
- beq _0200925A
- bl ErrorHandling
-_0200925A:
- add r0, r5, #0x0
- bl FUN_020097D0
- add r6, r0, #0x0
- bne _02009268
- bl ErrorHandling
-_02009268:
- ldr r0, [sp, #0x38]
- str r4, [sp, #0x0]
- str r0, [sp, #0x4]
- ldr r0, [sp, #0x3c]
- ldr r3, [sp, #0x1c]
- str r0, [sp, #0x8]
- mov r0, #0x0
- str r0, [sp, #0xc]
- str r0, [sp, #0x10]
- ldr r0, [sp, #0x40]
- add r1, r6, #0x0
- str r0, [sp, #0x14]
- ldr r0, [sp, #0x44]
- add r2, r7, #0x0
- str r0, [sp, #0x18]
- add r0, r5, #0x0
- bl FUN_020099B0
- ldr r0, [r5, #0xc]
- add r0, r0, #0x1
- str r0, [r5, #0xc]
- add r0, r6, #0x0
- add sp, #0x20
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02009298
-FUN_02009298: ; 0x02009298
- push {r3-r7, lr}
- sub sp, #0x20
- add r5, r0, #0x0
- add r7, r1, #0x0
- add r4, r3, #0x0
- str r2, [sp, #0x1c]
- cmp r5, #0x0
- bne _020092AC
- bl ErrorHandling
-_020092AC:
- ldr r0, [r5, #0x10]
- cmp r0, #0x1
- beq _020092B6
- bl ErrorHandling
-_020092B6:
- add r0, r5, #0x0
- bl FUN_020097D0
- add r6, r0, #0x0
- bne _020092C4
- bl ErrorHandling
-_020092C4:
- ldr r0, [sp, #0x38]
- str r4, [sp, #0x0]
- str r0, [sp, #0x4]
- ldr r0, [sp, #0x3c]
- ldr r3, [sp, #0x1c]
- str r0, [sp, #0x8]
- ldr r0, [sp, #0x40]
- add r1, r6, #0x0
- str r0, [sp, #0xc]
- mov r0, #0x1
- str r0, [sp, #0x10]
- ldr r0, [sp, #0x44]
- add r2, r7, #0x0
- str r0, [sp, #0x14]
- mov r0, #0x0
- str r0, [sp, #0x18]
- add r0, r5, #0x0
- bl FUN_020099B0
- ldr r0, [r5, #0xc]
- add r0, r0, #0x1
- str r0, [r5, #0xc]
- add r0, r6, #0x0
- add sp, #0x20
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_020092F8
-FUN_020092F8: ; 0x020092F8
- push {r3-r7, lr}
- sub sp, #0x20
- add r5, r0, #0x0
- add r7, r1, #0x0
- add r4, r3, #0x0
- str r2, [sp, #0x1c]
- cmp r5, #0x0
- bne _0200930C
- bl ErrorHandling
-_0200930C:
- ldr r0, [r5, #0x10]
- cmp r0, #0x1
- beq _02009316
- bl ErrorHandling
-_02009316:
- add r0, r5, #0x0
- bl FUN_020097D0
- add r6, r0, #0x0
- bne _02009324
- bl ErrorHandling
-_02009324:
- ldr r0, [sp, #0x38]
- str r4, [sp, #0x0]
- str r0, [sp, #0x4]
- ldr r0, [sp, #0x3c]
- ldr r3, [sp, #0x1c]
- str r0, [sp, #0x8]
- ldr r0, [sp, #0x40]
- add r1, r6, #0x0
- str r0, [sp, #0xc]
- mov r0, #0x1
- str r0, [sp, #0x10]
- ldr r0, [sp, #0x44]
- add r2, r7, #0x0
- str r0, [sp, #0x14]
- ldr r0, [sp, #0x48]
- str r0, [sp, #0x18]
- add r0, r5, #0x0
- bl FUN_020099B0
- ldr r0, [r5, #0xc]
- add r0, r0, #0x1
- str r0, [r5, #0xc]
- add r0, r6, #0x0
- add sp, #0x20
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02009358
-FUN_02009358: ; 0x02009358
- push {r3-r7, lr}
- sub sp, #0x20
- add r5, r0, #0x0
- add r7, r1, #0x0
- add r4, r3, #0x0
- str r2, [sp, #0x1c]
- cmp r5, #0x0
- bne _0200936C
- bl ErrorHandling
-_0200936C:
- add r0, r5, #0x0
- bl FUN_020097D0
- add r6, r0, #0x0
- bne _0200937A
- bl ErrorHandling
-_0200937A:
- ldr r0, [sp, #0x38]
- str r4, [sp, #0x0]
- str r0, [sp, #0x4]
- mov r1, #0x0
- str r1, [sp, #0x8]
- ldr r0, [sp, #0x3c]
- str r1, [sp, #0xc]
- str r0, [sp, #0x10]
- ldr r0, [sp, #0x40]
- ldr r3, [sp, #0x1c]
- str r0, [sp, #0x14]
- str r1, [sp, #0x18]
- add r0, r5, #0x0
- add r1, r6, #0x0
- add r2, r7, #0x0
- bl FUN_020099B0
- ldr r0, [r5, #0xc]
- add r0, r0, #0x1
- str r0, [r5, #0xc]
- add r0, r6, #0x0
- add sp, #0x20
- pop {r3-r7, pc}
-
- thumb_func_start FUN_020093A8
-FUN_020093A8: ; 0x020093A8
- push {r3-r7, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- add r4, r1, #0x0
- add r6, r2, #0x0
- add r7, r3, #0x0
- cmp r5, #0x0
- bne _020093BC
- bl ErrorHandling
-_020093BC:
- cmp r4, #0x0
- bne _020093C4
- bl ErrorHandling
-_020093C4:
- str r6, [sp, #0x0]
- str r7, [sp, #0x4]
- ldr r3, [r4, #0x4]
- add r0, r5, #0x0
- add r1, r4, #0x0
- mov r2, #0x0
- bl FUN_020093DC
- ldr r0, [r4, #0x4]
- add sp, #0x8
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_020093DC
-FUN_020093DC: ; 0x020093DC
- push {r3-r7, lr}
- sub sp, #0x8
- str r0, [sp, #0x0]
- add r5, r2, #0x0
- ldr r0, [sp, #0x24]
- add r7, r5, r3
- str r1, [sp, #0x4]
- ldr r4, [sp, #0x20]
- str r0, [sp, #0x24]
- cmp r5, r7
- bge _02009420
- add r6, r4, #0x0
- add r6, #0x8
-_020093F6:
- ldr r0, [sp, #0x0]
- ldr r1, [sp, #0x4]
- ldr r3, [sp, #0x24]
- add r2, r5, #0x0
- bl FUN_02008E6C
- cmp r4, #0x0
- beq _0200941A
- ldr r2, [r4, #0x8]
- ldr r1, [r4, #0x4]
- cmp r1, r2
- ble _0200941A
- ldr r1, [r4, #0x0]
- lsl r2, r2, #0x2
- str r0, [r1, r2]
- ldr r0, [r6, #0x0]
- add r0, r0, #0x1
- str r0, [r6, #0x0]
-_0200941A:
- add r5, r5, #0x1
- cmp r5, r7
- blt _020093F6
-_02009420:
- add sp, #0x8
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02009424
-FUN_02009424: ; 0x02009424
- push {r4-r6, lr}
- add r6, r1, #0x0
- add r5, r0, #0x0
- add r0, r6, #0x0
- mov r1, #0xc
- bl FUN_02016998
- add r4, r0, #0x0
- add r0, r6, #0x0
- lsl r1, r5, #0x2
- bl FUN_02016998
- str r0, [r4, #0x0]
- str r5, [r4, #0x4]
- mov r0, #0x0
- str r0, [r4, #0x8]
- add r0, r4, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02009448
-FUN_02009448: ; 0x02009448
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_02016A18
- add r0, r4, #0x0
- bl FUN_02016A18
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0200945C
-FUN_0200945C: ; 0x0200945C
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- cmp r5, #0x0
- bne _0200946A
- bl ErrorHandling
-_0200946A:
- ldr r0, [r5, #0x0]
- add r1, r4, #0x0
- bl FUN_02020CB0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02009474
-FUN_02009474: ; 0x02009474
- push {r4, lr}
- add r4, r0, #0x0
- bne _0200947E
- bl ErrorHandling
-_0200947E:
- add r0, r4, #0x0
- bl FUN_02009920
- ldr r0, [r4, #0x0]
- mov r1, #0x0
- bl FUN_02020E1C
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02009490
-FUN_02009490: ; 0x02009490
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- cmp r5, #0x0
- bne _0200949E
- bl ErrorHandling
-_0200949E:
- ldr r0, [r5, #0x4]
- cmp r0, #0x0
- bne _020094A8
- bl ErrorHandling
-_020094A8:
- add r0, r4, #0x0
- bl FUN_02009920
- ldr r0, [r5, #0x0]
- ldr r1, [r4, #0x0]
- bl FUN_02020D68
- mov r0, #0x0
- str r0, [r4, #0x0]
- ldr r0, [r5, #0xc]
- sub r0, r0, #0x1
- str r0, [r5, #0xc]
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_020094C4
-FUN_020094C4: ; 0x020094C4
- push {r4-r6, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0x8]
- mov r6, #0x0
- cmp r0, #0x0
- ble _020094EC
- add r4, r6, #0x0
-_020094D2:
- ldr r1, [r5, #0x4]
- ldr r0, [r1, r4]
- cmp r0, #0x0
- beq _020094E2
- add r0, r5, #0x0
- add r1, r1, r4
- bl FUN_02009490
-_020094E2:
- ldr r0, [r5, #0x8]
- add r6, r6, #0x1
- add r4, #0xc
- cmp r6, r0
- blt _020094D2
-_020094EC:
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_020094F0
-FUN_020094F0: ; 0x020094F0
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r7, r1, #0x0
- cmp r5, #0x0
- bne _020094FE
- bl ErrorHandling
-_020094FE:
- ldr r0, [r5, #0x8]
- mov r6, #0x0
- cmp r0, #0x0
- ble _0200952C
- add r4, r6, #0x0
-_02009508:
- ldr r0, [r5, #0x4]
- ldr r0, [r0, r4]
- cmp r0, #0x0
- beq _02009522
- bl FUN_02020E38
- cmp r0, r7
- bne _02009522
- mov r0, #0xc
- ldr r1, [r5, #0x4]
- mul r0, r6
- add r0, r1, r0
- pop {r3-r7, pc}
-_02009522:
- ldr r0, [r5, #0x8]
- add r6, r6, #0x1
- add r4, #0xc
- cmp r6, r0
- blt _02009508
-_0200952C:
- mov r0, #0x0
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02009530
-FUN_02009530: ; 0x02009530
- push {r4, lr}
- add r4, r0, #0x0
- bne _0200953A
- bl ErrorHandling
-_0200953A:
- ldr r0, [r4, #0x0]
- bl FUN_02020E38
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02009544
-FUN_02009544: ; 0x02009544
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x4]
- cmp r0, #0x0
- beq _02009552
- bl ErrorHandling
-_02009552:
- add r0, r4, #0x0
- bl FUN_02009934
- ldr r0, [r0, #0x0]
- pop {r4, pc}
-
- thumb_func_start FUN_0200955C
-FUN_0200955C: ; 0x0200955C
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x4]
- cmp r0, #0x1
- beq _0200956A
- bl ErrorHandling
-_0200956A:
- add r0, r4, #0x0
- bl FUN_02009934
- ldr r0, [r0, #0x0]
- pop {r4, pc}
-
- thumb_func_start FUN_02009574
-FUN_02009574: ; 0x02009574
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x4]
- cmp r0, #0x2
- beq _02009582
- bl ErrorHandling
-_02009582:
- add r0, r4, #0x0
- bl FUN_02009934
- ldr r0, [r0, #0x0]
- pop {r4, pc}
-
- thumb_func_start FUN_0200958C
-FUN_0200958C: ; 0x0200958C
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x4]
- cmp r0, #0x3
- beq _0200959A
- bl ErrorHandling
-_0200959A:
- add r0, r4, #0x0
- bl FUN_02009934
- ldr r0, [r0, #0x0]
- pop {r4, pc}
-
- thumb_func_start FUN_020095A4
-FUN_020095A4: ; 0x020095A4
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x4]
- cmp r0, #0x4
- beq _020095B2
- bl ErrorHandling
-_020095B2:
- add r0, r4, #0x0
- bl FUN_02009934
- ldr r0, [r0, #0x0]
- pop {r4, pc}
-
- thumb_func_start FUN_020095BC
-FUN_020095BC: ; 0x020095BC
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x4]
- cmp r0, #0x5
- beq _020095CA
- bl ErrorHandling
-_020095CA:
- add r0, r4, #0x0
- bl FUN_02009934
- ldr r0, [r0, #0x0]
- pop {r4, pc}
-
- thumb_func_start FUN_020095D4
-FUN_020095D4: ; 0x020095D4
- push {r4, lr}
- add r4, r0, #0x0
- bne _020095DE
- bl ErrorHandling
-_020095DE:
- ldr r0, [r4, #0x4]
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_020095E4
-FUN_020095E4: ; 0x020095E4
- push {r4, lr}
- add r4, r0, #0x0
- bne _020095EE
- bl ErrorHandling
-_020095EE:
- ldr r0, [r4, #0x4]
- cmp r0, #0x0
- bne _020095FE
- add r0, r4, #0x0
- bl FUN_02009934
- ldr r0, [r0, #0x4]
- pop {r4, pc}
-_020095FE:
- cmp r0, #0x1
- bne _0200960C
- add r0, r4, #0x0
- bl FUN_02009934
- ldr r0, [r0, #0x4]
- pop {r4, pc}
-_0200960C:
- mov r0, #0x0
- pop {r4, pc}
-
- thumb_func_start FUN_02009610
-FUN_02009610: ; 0x02009610
- push {r4, lr}
- add r4, r0, #0x0
- bne _0200961A
- bl ErrorHandling
-_0200961A:
- ldr r0, [r4, #0x4]
- cmp r0, #0x1
- bne _0200962A
- add r0, r4, #0x0
- bl FUN_02009934
- ldr r0, [r0, #0x8]
- pop {r4, pc}
-_0200962A:
- mov r0, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02009630
-FUN_02009630: ; 0x02009630
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- cmp r5, #0x0
- bne _0200963E
- bl ErrorHandling
-_0200963E:
- ldr r0, [r5, #0x4]
- cmp r0, #0x0
- bne _0200964C
- add r0, r5, #0x0
- bl FUN_02009934
- str r4, [r0, #0x4]
-_0200964C:
- ldr r0, [r5, #0x4]
- cmp r0, #0x1
- bne _0200965A
- add r0, r5, #0x0
- bl FUN_02009934
- str r4, [r0, #0x4]
-_0200965A:
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0200965C
-FUN_0200965C: ; 0x0200965C
- mov r0, #0x10
- bx lr
-
- thumb_func_start FUN_02009660
-FUN_02009660: ; 0x02009660
- lsl r1, r1, #0x4
- add r0, r0, r1
- bx lr
- .balign 4
-
- thumb_func_start FUN_02009668
-FUN_02009668: ; 0x02009668
- push {r4-r6, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- add r6, r2, #0x0
- cmp r4, #0x0
- bne _02009678
- bl ErrorHandling
-_02009678:
- ldr r0, [r5, #0x0]
- str r0, [r4, #0x8]
- mov r0, #0x1
- strb r0, [r4, #0xc]
- add r0, r5, #0x4
- bl FUN_020099E8
- add r2, r0, #0x0
- str r0, [r4, #0x4]
- cmp r2, #0x0
- ble _0200969A
- mov r1, #0x18
- add r0, r6, #0x0
- mul r1, r2
- bl FUN_02016998
- b _0200969C
-_0200969A:
- mov r0, #0x0
-_0200969C:
- str r0, [r4, #0x0]
- ldr r0, [r4, #0x0]
- cmp r0, #0x0
- beq _020096B0
- ldr r3, [r4, #0x4]
- mov r2, #0x18
- add r1, r5, #0x4
- mul r2, r3
- blx memcpy
-_020096B0:
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_020096B4
-FUN_020096B4: ; 0x020096B4
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- cmp r0, #0x0
- beq _020096C2
- bl FUN_02016A18
-_020096C2:
- mov r0, #0x0
- str r0, [r4, #0x0]
- str r0, [r4, #0x4]
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_020096CC
-FUN_020096CC: ; 0x020096CC
- push {r4, lr}
- add r4, r0, #0x0
- bne _020096D6
- bl ErrorHandling
-_020096D6:
- ldr r0, [r4, #0x4]
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_020096DC
-FUN_020096DC: ; 0x020096DC
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- cmp r5, #0x0
- bne _020096EA
- bl ErrorHandling
-_020096EA:
- ldr r0, [r5, #0x4]
- cmp r0, r4
- bgt _020096F4
- bl ErrorHandling
-_020096F4:
- ldrb r0, [r5, #0xc]
- ldr r1, [r5, #0x0]
- cmp r0, #0x0
- bne _02009704
- mov r0, #0x4c
- mul r0, r4
- ldr r0, [r1, r0]
- pop {r3-r5, pc}
-_02009704:
- mov r0, #0x18
- mul r0, r4
- add r0, r1, r0
- ldr r0, [r0, #0xc]
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02009710
-FUN_02009710: ; 0x02009710
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- cmp r5, #0x0
- bne _0200971E
- bl ErrorHandling
-_0200971E:
- ldr r0, [r5, #0x4]
- cmp r0, r4
- bgt _02009728
- bl ErrorHandling
-_02009728:
- ldrb r0, [r5, #0xc]
- cmp r0, #0x1
- bne _02009738
- mov r0, #0x18
- ldr r1, [r5, #0x0]
- mul r0, r4
- add r0, r1, r0
- ldr r6, [r0, #0x4]
-_02009738:
- add r0, r6, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_0200973C
-FUN_0200973C: ; 0x0200973C
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- cmp r5, #0x0
- bne _0200974A
- bl ErrorHandling
-_0200974A:
- ldr r0, [r5, #0x4]
- cmp r0, r4
- bgt _02009754
- bl ErrorHandling
-_02009754:
- ldrb r0, [r5, #0xc]
- cmp r0, #0x1
- bne _02009764
- mov r0, #0x18
- ldr r1, [r5, #0x0]
- mul r0, r4
- add r0, r1, r0
- ldr r6, [r0, #0x8]
-_02009764:
- add r0, r6, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02009768
-FUN_02009768: ; 0x02009768
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- cmp r5, #0x0
- bne _02009776
- bl ErrorHandling
-_02009776:
- ldr r0, [r5, #0x4]
- cmp r0, r4
- bgt _02009780
- bl ErrorHandling
-_02009780:
- ldrb r0, [r5, #0xc]
- ldr r1, [r5, #0x0]
- cmp r0, #0x0
- bne _02009792
- mov r0, #0x4c
- mul r0, r4
- add r0, r1, r0
- ldr r0, [r0, #0x44]
- pop {r3-r5, pc}
-_02009792:
- mov r0, #0x18
- mul r0, r4
- add r0, r1, r0
- ldr r0, [r0, #0x10]
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0200979C
-FUN_0200979C: ; 0x0200979C
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- cmp r5, #0x0
- bne _020097AA
- bl ErrorHandling
-_020097AA:
- ldr r0, [r5, #0x4]
- cmp r0, r4
- bgt _020097B4
- bl ErrorHandling
-_020097B4:
- ldrb r0, [r5, #0xc]
- ldr r1, [r5, #0x0]
- cmp r0, #0x0
- bne _020097C6
- mov r0, #0x4c
- mul r0, r4
- add r0, r1, r0
- ldr r0, [r0, #0x48]
- pop {r3-r5, pc}
-_020097C6:
- mov r0, #0x18
- mul r0, r4
- add r0, r1, r0
- ldr r0, [r0, #0x14]
- pop {r3-r5, pc}
-
- thumb_func_start FUN_020097D0
-FUN_020097D0: ; 0x020097D0
- push {r3-r4}
- ldr r4, [r0, #0x8]
- mov r1, #0x0
- cmp r4, #0x0
- ble _020097F6
- ldr r3, [r0, #0x4]
- add r2, r3, #0x0
-_020097DE:
- ldr r0, [r2, #0x0]
- cmp r0, #0x0
- bne _020097EE
- mov r0, #0xc
- mul r0, r1
- add r0, r3, r0
- pop {r3-r4}
- bx lr
-_020097EE:
- add r1, r1, #0x1
- add r2, #0xc
- cmp r1, r4
- blt _020097DE
-_020097F6:
- mov r0, #0x0
- pop {r3-r4}
- bx lr
-
- thumb_func_start FUN_020097FC
-FUN_020097FC: ; 0x020097FC
- push {r3-r7, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- add r6, r1, #0x0
- add r7, r2, #0x0
- str r3, [sp, #0x0]
- ldr r5, [sp, #0x18]
- bl FUN_02020E0C
- cmp r6, #0x5
- bhi _0200986A
- add r1, r6, r6
- add r1, pc
- ldrh r1, [r1, #0x6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_0200981E: ; jump table (using 16-bit offset)
- .short _0200982A - _0200981E - 2; case 0
- .short _02009836 - _0200981E - 2; case 1
- .short _02009844 - _0200981E - 2; case 2
- .short _0200984E - _0200981E - 2; case 3
- .short _02009858 - _0200981E - 2; case 4
- .short _02009862 - _0200981E - 2; case 5
-_0200982A:
- add r1, r7, #0x0
- add r2, r5, #0x0
- bl FUN_0200986C
- str r0, [r4, #0x8]
- pop {r3-r7, pc}
-_02009836:
- ldr r2, [sp, #0x0]
- add r1, r7, #0x0
- add r3, r5, #0x0
- bl FUN_0200988C
- str r0, [r4, #0x8]
- pop {r3-r7, pc}
-_02009844:
- add r1, r5, #0x0
- bl FUN_020098B0
- str r0, [r4, #0x8]
- pop {r3-r7, pc}
-_0200984E:
- add r1, r5, #0x0
- bl FUN_020098CC
- str r0, [r4, #0x8]
- pop {r3-r7, pc}
-_02009858:
- add r1, r5, #0x0
- bl FUN_020098E8
- str r0, [r4, #0x8]
- pop {r3-r7, pc}
-_02009862:
- add r1, r5, #0x0
- bl FUN_02009904
- str r0, [r4, #0x8]
-_0200986A:
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0200986C
-FUN_0200986C: ; 0x0200986C
- push {r4-r6, lr}
- add r6, r0, #0x0
- add r5, r1, #0x0
- add r0, r2, #0x0
- mov r1, #0x8
- bl FUN_02016998
- add r4, r0, #0x0
- add r0, r6, #0x0
- add r1, r4, #0x0
- blx FUN_020B0088
- str r5, [r4, #0x4]
- add r0, r4, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_0200988C
-FUN_0200988C: ; 0x0200988C
- push {r3-r7, lr}
- add r7, r0, #0x0
- add r5, r1, #0x0
- add r0, r3, #0x0
- mov r1, #0xc
- add r6, r2, #0x0
- bl FUN_02016998
- add r4, r0, #0x0
- add r0, r7, #0x0
- add r1, r4, #0x0
- blx FUN_020B0138
- str r5, [r4, #0x4]
- str r6, [r4, #0x8]
- add r0, r4, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_020098B0
-FUN_020098B0: ; 0x020098B0
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, r1, #0x0
- mov r1, #0x4
- bl FUN_02016998
- add r4, r0, #0x0
- add r0, r5, #0x0
- add r1, r4, #0x0
- blx FUN_020AFEB8
- add r0, r4, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_020098CC
-FUN_020098CC: ; 0x020098CC
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, r1, #0x0
- mov r1, #0x4
- bl FUN_02016998
- add r4, r0, #0x0
- add r0, r5, #0x0
- add r1, r4, #0x0
- blx thunk_FUN_020afda0_2
- add r0, r4, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_020098E8
-FUN_020098E8: ; 0x020098E8
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, r1, #0x0
- mov r1, #0x4
- bl FUN_02016998
- add r4, r0, #0x0
- add r0, r5, #0x0
- add r1, r4, #0x0
- blx FUN_020AFFD8
- add r0, r4, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02009904
-FUN_02009904: ; 0x02009904
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, r1, #0x0
- mov r1, #0x4
- bl FUN_02016998
- add r4, r0, #0x0
- add r0, r5, #0x0
- add r1, r4, #0x0
- blx thunk_FUN_020afda0
- add r0, r4, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02009920
-FUN_02009920: ; 0x02009920
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x8]
- cmp r0, #0x0
- beq _0200992E
- bl FUN_02016A18
-_0200992E:
- mov r0, #0x0
- str r0, [r4, #0x8]
- pop {r4, pc}
-
- thumb_func_start FUN_02009934
-FUN_02009934: ; 0x02009934
- push {r4, lr}
- add r4, r0, #0x0
- bne _0200993E
- bl ErrorHandling
-_0200993E:
- ldr r0, [r4, #0x8]
- cmp r0, #0x0
- bne _02009948
- bl ErrorHandling
-_02009948:
- ldr r0, [r4, #0x8]
- pop {r4, pc}
-
- thumb_func_start FUN_0200994C
-FUN_0200994C: ; 0x0200994C
- push {r3-r4, lr}
- sub sp, #0x4
- add r4, r1, #0x0
- add r1, r2, #0x0
- add r2, r3, #0x0
- ldr r0, [r0, #0x0]
- ldr r3, [sp, #0x1c]
- bl FUN_02020D10
- str r0, [r4, #0x0]
- ldr r1, [sp, #0x18]
- ldr r0, [sp, #0x1c]
- str r1, [r4, #0x4]
- str r0, [sp, #0x0]
- ldr r2, [sp, #0x10]
- ldr r3, [sp, #0x14]
- add r0, r4, #0x0
- bl FUN_020097FC
- add sp, #0x4
- pop {r3-r4, pc}
- .balign 4
-
- thumb_func_start FUN_02009978
-FUN_02009978: ; 0x02009978
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r0, [sp, #0x28]
- add r4, r1, #0x0
- str r0, [sp, #0x0]
- add r0, r2, #0x0
- add r1, r3, #0x0
- ldr r2, [sp, #0x10]
- ldr r3, [sp, #0x24]
- bl FUN_02006C98
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- ldr r2, [sp, #0x14]
- bl FUN_02020CD4
- str r0, [r4, #0x0]
- ldr r1, [sp, #0x20]
- ldr r0, [sp, #0x24]
- str r1, [r4, #0x4]
- str r0, [sp, #0x0]
- ldr r2, [sp, #0x18]
- ldr r3, [sp, #0x1c]
- add r0, r4, #0x0
- bl FUN_020097FC
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_020099B0
-FUN_020099B0: ; 0x020099B0
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r0, [sp, #0x28]
- add r4, r1, #0x0
- str r0, [sp, #0x0]
- add r0, r2, #0x0
- add r1, r3, #0x0
- ldr r2, [sp, #0x10]
- ldr r3, [sp, #0x24]
- bl FUN_02009A04
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- ldr r2, [sp, #0x14]
- bl FUN_02020CD4
- str r0, [r4, #0x0]
- ldr r1, [sp, #0x20]
- ldr r0, [sp, #0x24]
- str r1, [r4, #0x4]
- str r0, [sp, #0x0]
- ldr r2, [sp, #0x18]
- ldr r3, [sp, #0x1c]
- add r0, r4, #0x0
- bl FUN_020097FC
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_020099E8
-FUN_020099E8: ; 0x020099E8
- mov r3, #0x0
- ldr r2, [r0, #0x0]
- sub r1, r3, #0x2
- cmp r2, r1
- beq _020099FE
- sub r1, r3, #0x2
-_020099F4:
- add r0, #0x18
- ldr r2, [r0, #0x0]
- add r3, r3, #0x1
- cmp r2, r1
- bne _020099F4
-_020099FE:
- add r0, r3, #0x0
- bx lr
- .balign 4
-
- thumb_func_start FUN_02009A04
-FUN_02009A04: ; 0x02009A04
- push {r4-r6, lr}
- add r6, r3, #0x0
- add r5, r2, #0x0
- add r2, r6, #0x0
- bl FUN_02006704
- add r4, r0, #0x0
- beq _02009A4A
- cmp r5, #0x0
- beq _02009A4A
- ldr r0, [sp, #0x10]
- cmp r0, #0x0
- bne _02009A2A
- ldr r1, [r4, #0x0]
- add r0, r6, #0x0
- lsr r1, r1, #0x8
- bl FUN_02016998
- b _02009A34
-_02009A2A:
- ldr r1, [r4, #0x0]
- add r0, r6, #0x0
- lsr r1, r1, #0x8
- bl FUN_020169D8
-_02009A34:
- add r5, r0, #0x0
- cmp r5, #0x0
- beq _02009A48
- add r0, r4, #0x0
- add r1, r5, #0x0
- blx MI_UncompressLZ8
- add r0, r4, #0x0
- bl FUN_02016A18
-_02009A48:
- add r4, r5, #0x0
-_02009A4A:
- add r0, r4, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02009A50
-FUN_02009A50: ; 0x02009A50
- push {r4, lr}
- sub sp, #0x10
- add r4, r0, #0x0
- bne _02009A5C
- bl ErrorHandling
-_02009A5C:
- add r0, r4, #0x0
- bl FUN_020095D4
- cmp r0, #0x0
- beq _02009A6A
- bl ErrorHandling
-_02009A6A:
- add r0, r4, #0x0
- bl FUN_02009544
- str r0, [sp, #0x0]
- add r0, r4, #0x0
- bl FUN_020095E4
- str r0, [sp, #0x4]
- add r0, r4, #0x0
- bl FUN_02009530
- str r0, [sp, #0x8]
- mov r0, #0x0
- str r0, [sp, #0xc]
- add r0, sp, #0x0
- bl FUN_0201D1F8
- add sp, #0x10
- pop {r4, pc}
-
- thumb_func_start FUN_02009A90
-FUN_02009A90: ; 0x02009A90
- push {r4-r6, lr}
- add r5, r0, #0x0
- bne _02009A9A
- bl ErrorHandling
-_02009A9A:
- ldr r0, [r5, #0x4]
- mov r6, #0x0
- cmp r0, #0x0
- ble _02009AC2
- add r4, r6, #0x0
-_02009AA4:
- ldr r0, [r5, #0x0]
- ldr r0, [r0, r4]
- cmp r0, #0x0
- beq _02009AB8
- bl FUN_02009A50
- cmp r0, #0x0
- bne _02009AB8
- bl ErrorHandling
-_02009AB8:
- ldr r0, [r5, #0x4]
- add r6, r6, #0x1
- add r4, r4, #0x4
- cmp r6, r0
- blt _02009AA4
-_02009AC2:
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02009AC4
-FUN_02009AC4: ; 0x02009AC4
- push {r4, lr}
- sub sp, #0x10
- add r4, r0, #0x0
- bne _02009AD0
- bl ErrorHandling
-_02009AD0:
- add r0, r4, #0x0
- bl FUN_020095D4
- cmp r0, #0x0
- beq _02009ADE
- bl ErrorHandling
-_02009ADE:
- add r0, r4, #0x0
- bl FUN_02009544
- str r0, [sp, #0x0]
- add r0, r4, #0x0
- bl FUN_020095E4
- str r0, [sp, #0x4]
- add r0, r4, #0x0
- bl FUN_02009530
- str r0, [sp, #0x8]
- mov r0, #0x0
- str r0, [sp, #0xc]
- add r0, sp, #0x0
- bl FUN_0201D250
- add sp, #0x10
- pop {r4, pc}
-
- thumb_func_start FUN_02009B04
-FUN_02009B04: ; 0x02009B04
- push {r4, lr}
- sub sp, #0x10
- add r4, r0, #0x0
- bne _02009B10
- bl ErrorHandling
-_02009B10:
- add r0, r4, #0x0
- bl FUN_020095D4
- cmp r0, #0x0
- beq _02009B1E
- bl ErrorHandling
-_02009B1E:
- add r0, r4, #0x0
- bl FUN_02009544
- str r0, [sp, #0x0]
- add r0, r4, #0x0
- bl FUN_020095E4
- str r0, [sp, #0x4]
- add r0, r4, #0x0
- bl FUN_02009530
- str r0, [sp, #0x8]
- mov r0, #0x1
- str r0, [sp, #0xc]
- add r0, sp, #0x0
- bl FUN_0201D1F8
- add sp, #0x10
- pop {r4, pc}
-
- thumb_func_start FUN_02009B44
-FUN_02009B44: ; 0x02009B44
- push {r4-r6, lr}
- add r5, r0, #0x0
- bne _02009B4E
- bl ErrorHandling
-_02009B4E:
- ldr r0, [r5, #0x4]
- mov r6, #0x0
- cmp r0, #0x0
- ble _02009B76
- add r4, r6, #0x0
-_02009B58:
- ldr r0, [r5, #0x0]
- ldr r0, [r0, r4]
- cmp r0, #0x0
- beq _02009B6C
- bl FUN_02009B04
- cmp r0, #0x0
- bne _02009B6C
- bl ErrorHandling
-_02009B6C:
- ldr r0, [r5, #0x4]
- add r6, r6, #0x1
- add r4, r4, #0x4
- cmp r6, r0
- blt _02009B58
-_02009B76:
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02009B78
-FUN_02009B78: ; 0x02009B78
- push {r4, lr}
- sub sp, #0x10
- add r4, r0, #0x0
- bne _02009B84
- bl ErrorHandling
-_02009B84:
- add r0, r4, #0x0
- bl FUN_020095D4
- cmp r0, #0x0
- beq _02009B92
- bl ErrorHandling
-_02009B92:
- add r0, r4, #0x0
- bl FUN_02009544
- str r0, [sp, #0x0]
- add r0, r4, #0x0
- bl FUN_020095E4
- str r0, [sp, #0x4]
- add r0, r4, #0x0
- bl FUN_02009530
- str r0, [sp, #0x8]
- mov r0, #0x1
- str r0, [sp, #0xc]
- add r0, sp, #0x0
- bl FUN_0201D250
- add sp, #0x10
- pop {r4, pc}
-
- thumb_func_start FUN_02009BB8
-FUN_02009BB8: ; 0x02009BB8
- push {r3-r5, lr}
- add r4, r0, #0x0
- add r5, r1, #0x0
- cmp r4, #0x0
- bne _02009BC6
- bl ErrorHandling
-_02009BC6:
- cmp r5, #0x0
- bne _02009BCE
- bl ErrorHandling
-_02009BCE:
- add r0, r4, #0x0
- bl FUN_02009530
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02009544
- add r1, r0, #0x0
- add r0, r4, #0x0
- bl FUN_0201D2DC
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02009BE8
-FUN_02009BE8: ; 0x02009BE8
- push {r3-r5, lr}
- add r5, r0, #0x0
- bne _02009BF2
- bl ErrorHandling
-_02009BF2:
- add r0, r5, #0x0
- bl FUN_02009530
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02009544
- add r1, r0, #0x0
- add r0, r4, #0x0
- bl FUN_0201D2DC
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02009C0C
-FUN_02009C0C: ; 0x02009C0C
- push {r4, lr}
- add r4, r0, #0x0
- bne _02009C16
- bl ErrorHandling
-_02009C16:
- add r0, r4, #0x0
- bl FUN_020095D4
- cmp r0, #0x0
- beq _02009C24
- bl ErrorHandling
-_02009C24:
- add r0, r4, #0x0
- bl FUN_02009530
- bl FUN_0201D324
- pop {r4, pc}
-
- thumb_func_start FUN_02009C30
-FUN_02009C30: ; 0x02009C30
- push {r4-r6, lr}
- add r5, r0, #0x0
- bne _02009C3A
- bl ErrorHandling
-_02009C3A:
- ldr r0, [r5, #0x4]
- mov r6, #0x0
- cmp r0, #0x0
- ble _02009C5A
- add r4, r6, #0x0
-_02009C44:
- ldr r0, [r5, #0x0]
- ldr r0, [r0, r4]
- cmp r0, #0x0
- beq _02009C50
- bl FUN_02009C0C
-_02009C50:
- ldr r0, [r5, #0x4]
- add r6, r6, #0x1
- add r4, r4, #0x4
- cmp r6, r0
- blt _02009C44
-_02009C5A:
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02009C5C
-FUN_02009C5C: ; 0x02009C5C
- push {r4, lr}
- add r4, r0, #0x0
- bne _02009C66
- bl ErrorHandling
-_02009C66:
- add r0, r4, #0x0
- bl FUN_020095D4
- cmp r0, #0x0
- beq _02009C74
- bl ErrorHandling
-_02009C74:
- add r0, r4, #0x0
- bl FUN_02009530
- bl FUN_0201D3B0
- pop {r4, pc}
-
- thumb_func_start FUN_02009C80
-FUN_02009C80: ; 0x02009C80
- push {r3-r5, lr}
- add r4, r0, #0x0
- add r5, r1, #0x0
- cmp r4, #0x0
- bne _02009C8E
- bl ErrorHandling
-_02009C8E:
- add r0, r4, #0x0
- bl FUN_020095D4
- cmp r0, #0x0
- beq _02009C9C
- bl ErrorHandling
-_02009C9C:
- cmp r5, #0x0
- bne _02009CA4
- bl ErrorHandling
-_02009CA4:
- add r0, r5, #0x0
- bl FUN_020095D4
- cmp r0, #0x2
- beq _02009CB2
- bl ErrorHandling
-_02009CB2:
- add r0, r4, #0x0
- bl FUN_02009530
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02009574
- add r1, r0, #0x0
- ldr r1, [r1, #0xc]
- add r0, r4, #0x0
- ldr r1, [r1, #0x0]
- bl FUN_0201D3D4
- cmp r0, #0x0
- bne _02009CDA
- add r0, r4, #0x0
- bl FUN_0201D3B0
- bl FUN_0201D458
-_02009CDA:
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02009CDC
-FUN_02009CDC: ; 0x02009CDC
- push {r4, lr}
- add r4, r0, #0x0
- bne _02009CE6
- bl ErrorHandling
-_02009CE6:
- add r0, r4, #0x0
- bl FUN_0201D4F0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02009CF0
-FUN_02009CF0: ; 0x02009CF0
- push {r4, lr}
- sub sp, #0x10
- add r4, r0, #0x0
- bne _02009CFC
- bl ErrorHandling
-_02009CFC:
- add r0, r4, #0x0
- bl FUN_020095D4
- cmp r0, #0x1
- beq _02009D0A
- bl ErrorHandling
-_02009D0A:
- add r0, r4, #0x0
- bl FUN_0200955C
- str r0, [sp, #0x0]
- add r0, r4, #0x0
- bl FUN_020095E4
- str r0, [sp, #0x4]
- add r0, r4, #0x0
- bl FUN_02009530
- str r0, [sp, #0xc]
- add r0, r4, #0x0
- bl FUN_02009610
- str r0, [sp, #0x8]
- add r0, sp, #0x0
- bl FUN_0201E0E4
- add sp, #0x10
- pop {r4, pc}
-
- thumb_func_start FUN_02009D34
-FUN_02009D34: ; 0x02009D34
- push {r4-r6, lr}
- add r5, r0, #0x0
- bne _02009D3E
- bl ErrorHandling
-_02009D3E:
- ldr r0, [r5, #0x4]
- mov r6, #0x0
- cmp r0, #0x0
- ble _02009D66
- add r4, r6, #0x0
-_02009D48:
- ldr r0, [r5, #0x0]
- ldr r0, [r0, r4]
- cmp r0, #0x0
- beq _02009D5C
- bl FUN_02009CF0
- cmp r0, #0x0
- bne _02009D5C
- bl ErrorHandling
-_02009D5C:
- ldr r0, [r5, #0x4]
- add r6, r6, #0x1
- add r4, r4, #0x4
- cmp r6, r0
- blt _02009D48
-_02009D66:
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02009D68
-FUN_02009D68: ; 0x02009D68
- push {r4, lr}
- sub sp, #0x10
- add r4, r0, #0x0
- bne _02009D74
- bl ErrorHandling
-_02009D74:
- add r0, r4, #0x0
- bl FUN_020095D4
- cmp r0, #0x1
- beq _02009D82
- bl ErrorHandling
-_02009D82:
- add r0, r4, #0x0
- bl FUN_0200955C
- str r0, [sp, #0x0]
- add r0, r4, #0x0
- bl FUN_020095E4
- str r0, [sp, #0x4]
- add r0, r4, #0x0
- bl FUN_02009530
- str r0, [sp, #0xc]
- add r0, r4, #0x0
- bl FUN_02009610
- str r0, [sp, #0x8]
- add r0, sp, #0x0
- bl FUN_0201E128
- add sp, #0x10
- pop {r4, pc}
-
- thumb_func_start FUN_02009DAC
-FUN_02009DAC: ; 0x02009DAC
- push {r4-r6, lr}
- add r5, r0, #0x0
- bne _02009DB6
- bl ErrorHandling
-_02009DB6:
- ldr r0, [r5, #0x4]
- mov r6, #0x0
- cmp r0, #0x0
- ble _02009DDE
- add r4, r6, #0x0
-_02009DC0:
- ldr r0, [r5, #0x0]
- ldr r0, [r0, r4]
- cmp r0, #0x0
- beq _02009DD4
- bl FUN_02009D68
- cmp r0, #0x0
- bne _02009DD4
- bl ErrorHandling
-_02009DD4:
- ldr r0, [r5, #0x4]
- add r6, r6, #0x1
- add r4, r4, #0x4
- cmp r6, r0
- blt _02009DC0
-_02009DDE:
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02009DE0
-FUN_02009DE0: ; 0x02009DE0
- push {r3-r5, lr}
- add r5, r0, #0x0
- bne _02009DEA
- bl ErrorHandling
-_02009DEA:
- add r0, r5, #0x0
- bl FUN_02009530
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0200955C
- add r1, r0, #0x0
- add r0, r4, #0x0
- bl FUN_0201E168
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02009E04
-FUN_02009E04: ; 0x02009E04
- push {r4, lr}
- add r4, r0, #0x0
- bne _02009E0E
- bl ErrorHandling
-_02009E0E:
- add r0, r4, #0x0
- bl FUN_020095D4
- cmp r0, #0x1
- beq _02009E1C
- bl ErrorHandling
-_02009E1C:
- add r0, r4, #0x0
- bl FUN_02009530
- bl FUN_0201E1C8
- pop {r4, pc}
-
- thumb_func_start FUN_02009E28
-FUN_02009E28: ; 0x02009E28
- push {r4-r6, lr}
- add r5, r0, #0x0
- bne _02009E32
- bl ErrorHandling
-_02009E32:
- ldr r0, [r5, #0x4]
- mov r6, #0x0
- cmp r0, #0x0
- ble _02009E52
- add r4, r6, #0x0
-_02009E3C:
- ldr r0, [r5, #0x0]
- ldr r0, [r0, r4]
- cmp r0, #0x0
- beq _02009E48
- bl FUN_02009E04
-_02009E48:
- ldr r0, [r5, #0x4]
- add r6, r6, #0x1
- add r4, r4, #0x4
- cmp r6, r0
- blt _02009E3C
-_02009E52:
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02009E54
-FUN_02009E54: ; 0x02009E54
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- cmp r5, #0x0
- bne _02009E62
- bl ErrorHandling
-_02009E62:
- add r0, r5, #0x0
- bl FUN_020095D4
- cmp r0, #0x1
- beq _02009E70
- bl ErrorHandling
-_02009E70:
- add r0, r5, #0x0
- bl FUN_02009530
- cmp r4, #0x0
- beq _02009E82
- add r1, r4, #0x0
- bl FUN_0201E258
- pop {r3-r5, pc}
-_02009E82:
- bl FUN_0201E230
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02009E88
-FUN_02009E88: ; 0x02009E88
- push {r4, lr}
- add r4, r1, #0x0
- mov r1, #0x0
- bl FUN_02009E54
- add r1, r4, #0x0
- blx FUN_020B19C4
- mov r1, #0x0
- mvn r1, r1
- cmp r0, r1
- beq _02009EA8
- asr r1, r0, #0x4
- lsr r1, r1, #0x1b
- add r1, r0, r1
- asr r0, r1, #0x5
-_02009EA8:
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02009EAC
-FUN_02009EAC: ; 0x02009EAC
- push {r3-r4, lr}
- sub sp, #0x14
- add r4, r0, #0x0
- cmp r4, #0x4
- bge _02009EC0
- mov r0, #0x4
- cmp r1, #0x7c
- ble _02009EC0
- sub r4, r0, r4
- sub r1, r1, r4
-_02009EC0:
- cmp r2, #0x1
- bge _02009ED0
- mov r4, #0x1
- cmp r3, #0x1e
- ble _02009ED2
- sub r2, r4, r2
- sub r3, r3, r2
- b _02009ED2
-_02009ED0:
- add r4, r2, #0x0
-_02009ED2:
- ldr r2, [sp, #0x20]
- str r2, [sp, #0x0]
- ldr r2, [sp, #0x24]
- str r2, [sp, #0x4]
- ldr r2, [sp, #0x28]
- str r2, [sp, #0x8]
- ldr r2, [sp, #0x2c]
- str r2, [sp, #0xc]
- ldr r2, [sp, #0x30]
- str r2, [sp, #0x10]
- add r2, r4, #0x0
- bl FUN_02009EF0
- add sp, #0x14
- pop {r3-r4, pc}
-
- thumb_func_start FUN_02009EF0
-FUN_02009EF0: ; 0x02009EF0
- push {r3-r7, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- ldr r0, _02009F7C ; =0x021C4670
- add r4, r1, #0x0
- ldr r0, [r0, #0x0]
- add r6, r2, #0x0
- add r7, r3, #0x0
- cmp r0, #0x0
- beq _02009F08
- bl ErrorHandling
-_02009F08:
- ldr r0, [sp, #0x30]
- mov r1, #0x3c
- bl FUN_02016998
- ldr r1, _02009F7C ; =0x021C4670
- cmp r0, #0x0
- str r0, [r1, #0x0]
- bne _02009F1C
- bl ErrorHandling
-_02009F1C:
- ldr r1, _02009F7C ; =0x021C4670
- lsl r3, r6, #0x10
- ldr r2, [sp, #0x30]
- ldr r0, [r1, #0x0]
- lsr r3, r3, #0x10
- str r2, [r0, #0x38]
- lsl r0, r7, #0x10
- lsr r0, r0, #0x10
- str r0, [sp, #0x0]
- mov r0, #0x0
- str r0, [sp, #0x4]
- ldr r0, [r1, #0x0]
- lsl r1, r5, #0x10
- lsl r2, r4, #0x10
- lsr r1, r1, #0x10
- lsr r2, r2, #0x10
- blx FUN_020B0E34
- cmp r0, #0x0
- bne _02009F48
- bl ErrorHandling
-_02009F48:
- ldr r0, [sp, #0x2c]
- ldr r1, [sp, #0x20]
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- str r0, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- ldr r0, _02009F7C ; =0x021C4670
- ldr r2, [sp, #0x24]
- ldr r3, [sp, #0x28]
- ldr r0, [r0, #0x0]
- lsl r1, r1, #0x10
- lsl r2, r2, #0x10
- lsl r3, r3, #0x10
- add r0, #0x1c
- lsr r1, r1, #0x10
- lsr r2, r2, #0x10
- lsr r3, r3, #0x10
- blx FUN_020B0E34
- cmp r0, #0x0
- bne _02009F78
- bl ErrorHandling
-_02009F78:
- add sp, #0x8
- pop {r3-r7, pc}
- .balign 4
-_02009F7C: .word 0x021C4670
-
- thumb_func_start FUN_02009F80
-FUN_02009F80: ; 0x02009F80
- push {r3, lr}
- ldr r0, _02009F9C ; =0x021C4670
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- beq _02009F98
- blx FUN_020B0870
- ldr r0, _02009F9C ; =0x021C4670
- ldr r0, [r0, #0x0]
- add r0, #0x1c
- blx FUN_020B0870
-_02009F98:
- pop {r3, pc}
- nop
-_02009F9C: .word 0x021C4670
-
- thumb_func_start FUN_02009FA0
-FUN_02009FA0: ; 0x02009FA0
- push {r3, lr}
- ldr r0, _02009FD4 ; =0x021C4670
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- bne _02009FAE
- bl ErrorHandling
-_02009FAE:
- ldr r0, _02009FD4 ; =0x021C4670
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x38]
- bl FUN_0200A064
- ldr r0, _02009FD4 ; =0x021C4670
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x38]
- bl FUN_0200A06C
- ldr r0, _02009FD4 ; =0x021C4670
- ldr r0, [r0, #0x0]
- bl FUN_02016A18
- ldr r0, _02009FD4 ; =0x021C4670
- mov r1, #0x0
- str r1, [r0, #0x0]
- pop {r3, pc}
- nop
-_02009FD4: .word 0x021C4670
-
- thumb_func_start FUN_02009FD8
-FUN_02009FD8: ; 0x02009FD8
- push {r4-r7, lr}
- sub sp, #0xc
- add r6, r0, #0x0
- ldr r0, _0200A024 ; =0x021C4670
- add r7, r1, #0x0
- ldr r0, [r0, #0x0]
- add r5, r2, #0x0
- add r4, r3, #0x0
- cmp r0, #0x0
- bne _02009FF0
- bl ErrorHandling
-_02009FF0:
- cmp r5, #0x1
- bne _0200A00C
- ldr r0, _0200A028 ; =FUN_020213A0
- ldr r2, _0200A02C ; =FUN_0200A074
- str r0, [sp, #0x0]
- str r5, [sp, #0x4]
- ldr r3, _0200A030 ; =FUN_0200A0B8
- add r0, r6, #0x0
- add r1, r7, #0x0
- str r4, [sp, #0x8]
- bl FUN_0202135C
- add sp, #0xc
- pop {r4-r7, pc}
-_0200A00C:
- ldr r0, _0200A028 ; =FUN_020213A0
- ldr r2, _0200A034 ; =FUN_0200A094
- str r0, [sp, #0x0]
- str r5, [sp, #0x4]
- ldr r3, _0200A038 ; =FUN_0200A0DC
- add r0, r6, #0x0
- add r1, r7, #0x0
- str r4, [sp, #0x8]
- bl FUN_0202135C
- add sp, #0xc
- pop {r4-r7, pc}
- .balign 4
-_0200A024: .word 0x021C4670
-_0200A028: .word FUN_020213A0
-_0200A02C: .word FUN_0200A074
-_0200A030: .word FUN_0200A0B8
-_0200A034: .word FUN_0200A094
-_0200A038: .word FUN_0200A0DC
-
- thumb_func_start FUN_0200A03C
-FUN_0200A03C: ; 0x0200A03C
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, _0200A060 ; =0x021C4670
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- bne _0200A04C
- bl ErrorHandling
-_0200A04C:
- cmp r4, #0x0
- bne _0200A056
- ldr r0, _0200A060 ; =0x021C4670
- ldr r0, [r0, #0x0]
- pop {r4, pc}
-_0200A056:
- ldr r0, _0200A060 ; =0x021C4670
- ldr r0, [r0, #0x0]
- add r0, #0x1c
- pop {r4, pc}
- nop
-_0200A060: .word 0x021C4670
-
- thumb_func_start FUN_0200A064
-FUN_0200A064: ; 0x0200A064
- ldr r3, _0200A068 ; =FUN_020203CC
- bx r3
- .balign 4
-_0200A068: .word FUN_020203CC
-
- thumb_func_start FUN_0200A06C
-FUN_0200A06C: ; 0x0200A06C
- ldr r3, _0200A070 ; =FUN_02020404
- bx r3
- .balign 4
-_0200A070: .word FUN_02020404
-
- thumb_func_start FUN_0200A074
-FUN_0200A074: ; 0x0200A074
- push {r4, lr}
- add r3, r0, #0x0
- ldr r0, _0200A090 ; =0x021C4670
- add r2, r1, #0x0
- ldr r0, [r0, #0x0]
- add r1, r3, #0x0
- blx FUN_020B0C7C
- add r4, r0, #0x0
- bne _0200A08C
- bl ErrorHandling
-_0200A08C:
- add r0, r4, #0x0
- pop {r4, pc}
- .balign 4
-_0200A090: .word 0x021C4670
-
- thumb_func_start FUN_0200A094
-FUN_0200A094: ; 0x0200A094
- push {r4, lr}
- add r3, r0, #0x0
- ldr r0, _0200A0B4 ; =0x021C4670
- add r2, r1, #0x0
- ldr r0, [r0, #0x0]
- add r1, r3, #0x0
- add r0, #0x1c
- blx FUN_020B0C7C
- add r4, r0, #0x0
- bne _0200A0AE
- bl ErrorHandling
-_0200A0AE:
- add r0, r4, #0x0
- pop {r4, pc}
- nop
-_0200A0B4: .word 0x021C4670
-
- thumb_func_start FUN_0200A0B8
-FUN_0200A0B8: ; 0x0200A0B8
- push {r4, lr}
- add r1, r0, #0x0
- ldr r0, _0200A0D4 ; =0x021C4670
- ldr r0, [r0, #0x0]
- blx FUN_020B0BB0
- add r4, r0, #0x0
- ldr r0, _0200A0D8 ; =0x0000FFFE
- cmp r4, r0
- bne _0200A0D0
- bl ErrorHandling
-_0200A0D0:
- add r0, r4, #0x0
- pop {r4, pc}
- .balign 4
-_0200A0D4: .word 0x021C4670
-_0200A0D8: .word 0x0000FFFE
-
- thumb_func_start FUN_0200A0DC
-FUN_0200A0DC: ; 0x0200A0DC
- push {r4, lr}
- add r1, r0, #0x0
- ldr r0, _0200A0FC ; =0x021C4670
- ldr r0, [r0, #0x0]
- add r0, #0x1c
- blx FUN_020B0BB0
- add r4, r0, #0x0
- ldr r0, _0200A100 ; =0x0000FFFE
- cmp r4, r0
- bne _0200A0F6
- bl ErrorHandling
-_0200A0F6:
- add r0, r4, #0x0
- pop {r4, pc}
- nop
-_0200A0FC: .word 0x021C4670
-_0200A100: .word 0x0000FFFE
-
- thumb_func_start FUN_0200A104
-FUN_0200A104: ; 0x0200A104
- push {r3-r7, lr}
- add r5, r0, #0x0
- mov r0, #0x10
- ldrsb r2, [r5, r0]
- mov r0, #0x14
- ldrsh r0, [r5, r0]
- add r1, r2, #0x0
- mov r7, #0x1a
- ldrsh r2, [r5, r7]
- mul r1, r0
- mov r6, #0xa
- ldrsh r0, [r5, r6]
- add r1, r2, r1
- mov r4, #0x0
- cmp r0, r1
- beq _0200A162
- cmp r2, r0
- beq _0200A162
- strh r1, [r5, #0x1a]
- ldrh r3, [r5, #0x18]
- ldrh r0, [r5, #0x16]
- add r2, r5, #0x0
- add r1, r5, #0x0
- add r0, r3, r0
- strh r0, [r5, #0x18]
- ldrh r3, [r5, #0x18]
- ldrh r0, [r5, #0x8]
- add r2, #0x1a
- add r1, #0x18
- cmp r3, r0
- blo _0200A166
- mov r3, #0x10
- ldrsh r0, [r2, r4]
- ldrsb r3, [r5, r3]
- add r0, r0, r3
- strh r0, [r2, #0x0]
- ldrsh r2, [r5, r7]
- ldrsh r0, [r5, r6]
- cmp r2, r0
- beq _0200A15E
- ldrh r2, [r1, #0x0]
- ldrh r0, [r5, #0x8]
- sub r0, r2, r0
- strh r0, [r1, #0x0]
- b _0200A166
-_0200A15E:
- mov r4, #0x1
- b _0200A166
-_0200A162:
- strh r0, [r5, #0x1a]
- mov r4, #0x1
-_0200A166:
- ldr r1, [r5, #0x4]
- mov r0, #0x1
- tst r0, r1
- beq _0200A17C
- mov r2, #0x1a
- ldrsh r2, [r5, r2]
- ldr r0, _0200A198 ; =0x04000050
- ldr r1, [r5, #0x0]
- blx G2x_SetBlendBrightness_
- b _0200A18E
-_0200A17C:
- mov r0, #0x2
- tst r0, r1
- beq _0200A18E
- mov r2, #0x1a
- ldrsh r2, [r5, r2]
- ldr r0, _0200A19C ; =0x04001050
- ldr r1, [r5, #0x0]
- blx G2x_SetBlendBrightness_
-_0200A18E:
- cmp r4, #0x1
- bne _0200A196
- mov r0, #0x0
- str r0, [r5, #0x1c]
-_0200A196:
- pop {r3-r7, pc}
- .balign 4
-_0200A198: .word 0x04000050
-_0200A19C: .word 0x04001050
-
- thumb_func_start FUN_0200A1A0
-FUN_0200A1A0: ; 0x0200A1A0
- push {r3-r7, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0x1c]
- add r4, r1, #0x0
- add r6, r2, #0x0
- add r7, r3, #0x0
- cmp r0, #0x0
- beq _0200A1B4
- bl ErrorHandling
-_0200A1B4:
- ldr r1, [sp, #0x18]
- mov r0, #0x1
- lsl r1, r1, #0x18
- str r0, [r5, #0x1c]
- lsr r1, r1, #0x18
- str r1, [r5, #0x0]
- ldr r1, [sp, #0x1c]
- lsl r1, r1, #0x18
- lsr r1, r1, #0x18
- str r1, [r5, #0x4]
- strh r4, [r5, #0x8]
- strh r6, [r5, #0xa]
- strh r7, [r5, #0x1a]
- sub r1, r7, r6
- strh r1, [r5, #0x12]
- mov r1, #0x12
- ldrsh r2, [r5, r1]
- cmp r2, #0x0
- ble _0200A1E0
- sub r1, #0x13
- strb r1, [r5, #0x10]
- b _0200A1EA
-_0200A1E0:
- strb r0, [r5, #0x10]
- ldrsh r0, [r5, r1]
- sub r1, #0x13
- mul r1, r0
- strh r1, [r5, #0x12]
-_0200A1EA:
- mov r0, #0x12
- ldrsh r0, [r5, r0]
- add r1, r4, #0x0
- blx _s32_div_f
- strh r0, [r5, #0x14]
- mov r0, #0x12
- ldrsh r0, [r5, r0]
- add r1, r4, #0x0
- blx _s32_div_f
- strh r1, [r5, #0x16]
- mov r0, #0x0
- strh r0, [r5, #0x18]
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0200A208
-FUN_0200A208: ; 0x0200A208
- push {r3-r7, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- add r7, r1, #0x0
- add r6, r2, #0x0
- add r4, r3, #0x0
- cmp r5, #0x0
- beq _0200A25E
- ldr r1, [sp, #0x20]
- mov r0, #0x1
- tst r0, r1
- beq _0200A23A
- ldr r0, _0200A264 ; =0x04000050
- add r1, r4, #0x0
- blx G2x_SetBlendBrightness_
- str r4, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- ldr r0, _0200A268 ; =0x021C4694
- add r1, r5, #0x0
- add r2, r7, #0x0
- add r3, r6, #0x0
- bl FUN_0200A1A0
-_0200A23A:
- ldr r1, [sp, #0x20]
- mov r0, #0x2
- tst r0, r1
- beq _0200A25E
- ldr r0, _0200A26C ; =0x04001050
- add r1, r4, #0x0
- add r2, r6, #0x0
- blx G2x_SetBlendBrightness_
- str r4, [sp, #0x0]
- mov r0, #0x2
- str r0, [sp, #0x4]
- ldr r0, _0200A270 ; =0x021C4674
- add r1, r5, #0x0
- add r2, r7, #0x0
- add r3, r6, #0x0
- bl FUN_0200A1A0
-_0200A25E:
- add sp, #0x8
- pop {r3-r7, pc}
- nop
-_0200A264: .word 0x04000050
-_0200A268: .word 0x021C4694
-_0200A26C: .word 0x04001050
-_0200A270: .word 0x021C4674
-
- thumb_func_start FUN_0200A274
-FUN_0200A274: ; 0x0200A274
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r4, r2, #0x0
- mov r0, #0x1
- add r6, r1, #0x0
- tst r0, r4
- beq _0200A28A
- ldr r0, _0200A2A4 ; =0x04000050
- add r2, r5, #0x0
- blx G2x_SetBlendBrightness_
-_0200A28A:
- mov r0, #0x2
- tst r0, r4
- beq _0200A29A
- ldr r0, _0200A2A8 ; =0x04001050
- add r1, r6, #0x0
- add r2, r5, #0x0
- blx G2x_SetBlendBrightness_
-_0200A29A:
- add r0, r4, #0x0
- bl FUN_0200A2D8
- pop {r4-r6, pc}
- nop
-_0200A2A4: .word 0x04000050
-_0200A2A8: .word 0x04001050
-
- thumb_func_start FUN_0200A2AC
-FUN_0200A2AC: ; 0x0200A2AC
- push {r3, lr}
- ldr r0, _0200A2CC ; =0x021C4694
- mov r1, #0x0
- mov r2, #0x20
- blx MI_CpuFill8
- ldr r0, _0200A2D0 ; =0x021C4674
- mov r1, #0x0
- mov r2, #0x20
- blx MI_CpuFill8
- ldr r0, _0200A2D4 ; =0x021C4674
- mov r1, #0x0
- str r1, [r0, #0x3c]
- str r1, [r0, #0x1c]
- pop {r3, pc}
- .balign 4
-_0200A2CC: .word 0x021C4694
-_0200A2D0: .word 0x021C4674
-_0200A2D4: .word 0x021C4674
-
- thumb_func_start FUN_0200A2D8
-FUN_0200A2D8: ; 0x0200A2D8
- push {r4, lr}
- add r4, r0, #0x0
- mov r0, #0x1
- tst r0, r4
- beq _0200A2F2
- ldr r0, _0200A30C ; =0x021C4694
- mov r1, #0x0
- mov r2, #0x20
- blx MI_CpuFill8
- ldr r0, _0200A310 ; =0x021C4674
- mov r1, #0x0
- str r1, [r0, #0x3c]
-_0200A2F2:
- mov r0, #0x2
- tst r0, r4
- beq _0200A308
- ldr r0, _0200A314 ; =0x021C4674
- mov r1, #0x0
- mov r2, #0x20
- blx MI_CpuFill8
- ldr r0, _0200A310 ; =0x021C4674
- mov r1, #0x0
- str r1, [r0, #0x1c]
-_0200A308:
- pop {r4, pc}
- nop
-_0200A30C: .word 0x021C4694
-_0200A310: .word 0x021C4674
-_0200A314: .word 0x021C4674
-
- thumb_func_start FUN_0200A318
-FUN_0200A318: ; 0x0200A318
- push {r3, lr}
- ldr r0, _0200A338 ; =0x021C4674
- ldr r0, [r0, #0x3c]
- cmp r0, #0x0
- beq _0200A328
- ldr r0, _0200A33C ; =0x021C4694
- bl FUN_0200A104
-_0200A328:
- ldr r0, _0200A338 ; =0x021C4674
- ldr r0, [r0, #0x1c]
- cmp r0, #0x0
- beq _0200A336
- ldr r0, _0200A340 ; =0x021C4674
- bl FUN_0200A104
-_0200A336:
- pop {r3, pc}
- .balign 4
-_0200A338: .word 0x021C4674
-_0200A33C: .word 0x021C4694
-_0200A340: .word 0x021C4674
-
- thumb_func_start FUN_0200A344
-FUN_0200A344: ; 0x0200A344
- cmp r0, #0x3
- bne _0200A35A
- ldr r0, _0200A380 ; =0x021C4674
- ldr r1, [r0, #0x3c]
- cmp r1, #0x0
- bne _0200A37A
- ldr r0, [r0, #0x1c]
- cmp r0, #0x0
- bne _0200A37A
- mov r0, #0x1
- bx lr
-_0200A35A:
- cmp r0, #0x1
- bne _0200A36A
- ldr r0, _0200A380 ; =0x021C4674
- ldr r0, [r0, #0x3c]
- cmp r0, #0x0
- bne _0200A37A
- mov r0, #0x1
- bx lr
-_0200A36A:
- cmp r0, #0x2
- bne _0200A37A
- ldr r0, _0200A380 ; =0x021C4674
- ldr r0, [r0, #0x1c]
- cmp r0, #0x0
- bne _0200A37A
- mov r0, #0x1
- bx lr
-_0200A37A:
- mov r0, #0x0
- bx lr
- nop
-_0200A380: .word 0x021C4674
-
- thumb_func_start FUN_0200A384
-FUN_0200A384: ; 0x0200A384
- ldr r3, _0200A388 ; =LoadFromNarc_2
- bx r3
- .balign 4
-_0200A388: .word LoadFromNarc_2
-
- thumb_func_start FUN_0200A38C
-FUN_0200A38C: ; 0x0200A38C
- ldr r3, _0200A390 ; =FUN_02016A18
- bx r3
- .balign 4
-_0200A390: .word FUN_02016A18
-
- thumb_func_start FUN_0200A394
-FUN_0200A394: ; 0x0200A394
- push {r3-r7, lr}
- sub sp, #0x8
- add r3, r0, #0x0
- ldrh r0, [r3, #0x0]
- add r5, r1, #0x0
- add r4, r2, #0x0
- cmp r5, r0
- bhs _0200A404
- lsl r0, r5, #0x3
- add r0, r3, r0
- ldr r2, [r0, #0x4]
- ldr r1, [r0, #0x8]
- ldr r6, _0200A40C ; =0x000002FD
- str r2, [sp, #0x0]
- str r1, [sp, #0x4]
- ldrh r0, [r3, #0x2]
- add r7, r5, #0x1
- mul r6, r0
- add r0, r7, #0x0
- mul r0, r6
- lsl r0, r0, #0x10
- lsr r6, r0, #0x10
- lsl r0, r6, #0x10
- orr r0, r6
- eor r2, r0
- eor r0, r1
- str r0, [sp, #0x4]
- str r2, [sp, #0x0]
- add r1, r3, r2
- add r0, r4, #0x0
- add r2, sp, #0x0
- bl FUN_0200A4C0
- ldr r2, [sp, #0x4]
- ldr r0, _0200A410 ; =0x00091BD3
- add r1, r7, #0x0
- mul r0, r1
- lsl r0, r0, #0x10
- lsr r5, r0, #0x10
- sub r3, r2, #0x1
- cmp r2, #0x0
- beq _0200A408
- ldr r0, _0200A414 ; =0x0000493D
-_0200A3EA:
- ldrh r1, [r4, #0x0]
- eor r1, r5
- strh r1, [r4, #0x0]
- add r1, r5, r0
- lsl r1, r1, #0x10
- lsr r5, r1, #0x10
- add r1, r3, #0x0
- add r4, r4, #0x2
- sub r3, r3, #0x1
- cmp r1, #0x0
- bne _0200A3EA
- add sp, #0x8
- pop {r3-r7, pc}
-_0200A404:
- bl ErrorHandling
-_0200A408:
- add sp, #0x8
- pop {r3-r7, pc}
- .balign 4
-_0200A40C: .word 0x000002FD
-_0200A410: .word 0x00091BD3
-_0200A414: .word 0x0000493D
-
- thumb_func_start FUN_0200A418
-FUN_0200A418: ; 0x0200A418
- push {r4-r6, lr}
- sub sp, #0x10
- add r5, r1, #0x0
- add r1, r3, #0x0
- add r4, r2, #0x0
- bl FUN_02006670
- add r6, r0, #0x0
- beq _0200A4AE
- add r1, sp, #0xc
- str r1, [sp, #0x0]
- add r1, r5, #0x0
- mov r2, #0x0
- mov r3, #0x4
- bl FUN_02006814
- add r0, sp, #0x4
- lsl r2, r4, #0x3
- str r0, [sp, #0x0]
- add r0, r6, #0x0
- add r1, r5, #0x0
- add r2, r2, #0x4
- mov r3, #0x8
- bl FUN_02006814
- add r0, sp, #0x4
- ldrh r2, [r0, #0xa]
- ldr r0, _0200A4B4 ; =0x000002FD
- add r1, r4, #0x1
- mul r0, r2
- mul r0, r1
- lsl r0, r0, #0x10
- lsr r1, r0, #0x10
- lsl r0, r1, #0x10
- orr r1, r0
- ldr r0, [sp, #0x4]
- eor r0, r1
- str r0, [sp, #0x4]
- ldr r0, [sp, #0x8]
- eor r0, r1
- str r0, [sp, #0x8]
- ldr r0, [sp, #0x20]
- add r1, r5, #0x0
- str r0, [sp, #0x0]
- ldr r3, [sp, #0x8]
- ldr r2, [sp, #0x4]
- add r0, r6, #0x0
- lsl r3, r3, #0x1
- bl FUN_02006814
- ldr r2, _0200A4B8 ; =0x00091BD3
- add r3, r4, #0x1
- mul r2, r3
- lsl r2, r2, #0x10
- ldr r0, [sp, #0x8]
- lsr r3, r2, #0x10
- sub r2, r0, #0x1
- ldr r1, [sp, #0x20]
- cmp r0, #0x0
- beq _0200A4A8
- ldr r0, _0200A4BC ; =0x0000493D
-_0200A492:
- ldrh r4, [r1, #0x0]
- eor r4, r3
- strh r4, [r1, #0x0]
- add r3, r3, r0
- lsl r3, r3, #0x10
- add r4, r2, #0x0
- add r1, r1, #0x2
- lsr r3, r3, #0x10
- sub r2, r2, #0x1
- cmp r4, #0x0
- bne _0200A492
-_0200A4A8:
- add r0, r6, #0x0
- bl FUN_020066F4
-_0200A4AE:
- add sp, #0x10
- pop {r4-r6, pc}
- nop
-_0200A4B4: .word 0x000002FD
-_0200A4B8: .word 0x00091BD3
-_0200A4BC: .word 0x0000493D
-
- thumb_func_start FUN_0200A4C0
-FUN_0200A4C0: ; 0x0200A4C0
- add r3, r0, #0x0
- add r0, r1, #0x0
- add r1, r3, #0x0
- ldr r2, [r2, #0x4]
- ldr r3, _0200A4D0 ; =MIi_CpuCopy16
- lsl r2, r2, #0x1
- bx r3
- nop
-_0200A4D0: .word MIi_CpuCopy16
-
- thumb_func_start FUN_0200A4D4
-FUN_0200A4D4: ; 0x0200A4D4
- push {r3-r7, lr}
- sub sp, #0x10
- add r5, r0, #0x0
- ldrh r0, [r5, #0x0]
- add r4, r1, #0x0
- str r2, [sp, #0x0]
- cmp r4, r0
- bhs _0200A56A
- lsl r0, r4, #0x3
- add r0, r5, r0
- ldr r3, [r0, #0x4]
- ldr r2, [r0, #0x8]
- ldrh r1, [r5, #0x2]
- ldr r6, _0200A578 ; =0x000002FD
- add r0, r4, #0x1
- mul r6, r1
- add r1, r0, #0x0
- mul r1, r6
- lsl r0, r1, #0x10
- lsr r1, r0, #0x10
- lsl r0, r1, #0x10
- orr r1, r0
- add r0, r3, #0x0
- add r6, r2, #0x0
- str r3, [sp, #0x8]
- eor r0, r1
- eor r6, r1
- str r0, [sp, #0x8]
- lsl r0, r6, #0x1
- str r0, [sp, #0x4]
- str r2, [sp, #0xc]
- ldr r1, [sp, #0x4]
- mov r0, #0x0
- str r6, [sp, #0xc]
- bl FUN_020169D8
- add r7, r0, #0x0
- beq _0200A574
- ldr r0, [sp, #0x8]
- ldr r2, [sp, #0x4]
- add r0, r5, r0
- add r1, r7, #0x0
- blx MIi_CpuCopy16
- ldr r1, _0200A57C ; =0x00091BD3
- add r2, r4, #0x1
- mul r1, r2
- lsl r1, r1, #0x10
- lsr r2, r1, #0x10
- add r0, r7, #0x0
- sub r1, r6, #0x1
- cmp r6, #0x0
- beq _0200A556
- ldr r3, _0200A580 ; =0x0000493D
-_0200A540:
- ldrh r4, [r0, #0x0]
- eor r4, r2
- strh r4, [r0, #0x0]
- add r2, r2, r3
- lsl r2, r2, #0x10
- add r4, r1, #0x0
- add r0, r0, #0x2
- lsr r2, r2, #0x10
- sub r1, r1, #0x1
- cmp r4, #0x0
- bne _0200A540
-_0200A556:
- ldr r0, [sp, #0x0]
- add r1, r7, #0x0
- add r2, r6, #0x0
- bl FUN_02021E8C
- add r0, r7, #0x0
- bl FUN_02016A18
- add sp, #0x10
- pop {r3-r7, pc}
-_0200A56A:
- bl ErrorHandling
- ldr r0, [sp, #0x0]
- bl FUN_02021A4C
-_0200A574:
- add sp, #0x10
- pop {r3-r7, pc}
- .balign 4
-_0200A578: .word 0x000002FD
-_0200A57C: .word 0x00091BD3
-_0200A580: .word 0x0000493D
-
- thumb_func_start FUN_0200A584
-FUN_0200A584: ; 0x0200A584
- push {r3-r7, lr}
- sub sp, #0x10
- add r5, r0, #0x0
- ldrh r0, [r5, #0x0]
- add r4, r1, #0x0
- str r2, [sp, #0x0]
- cmp r4, r0
- bhs _0200A62C
- lsl r0, r4, #0x3
- add r0, r5, r0
- ldr r3, [r0, #0x4]
- ldr r2, [r0, #0x8]
- ldrh r1, [r5, #0x2]
- ldr r6, _0200A63C ; =0x000002FD
- add r0, r4, #0x1
- mul r6, r1
- add r1, r0, #0x0
- mul r1, r6
- lsl r0, r1, #0x10
- lsr r1, r0, #0x10
- lsl r0, r1, #0x10
- orr r1, r0
- add r0, r3, #0x0
- add r6, r2, #0x0
- str r3, [sp, #0x8]
- eor r0, r1
- eor r6, r1
- str r0, [sp, #0x8]
- lsl r0, r6, #0x1
- str r0, [sp, #0x4]
- str r2, [sp, #0xc]
- ldr r0, [sp, #0x0]
- ldr r1, [sp, #0x4]
- str r6, [sp, #0xc]
- bl FUN_020169D8
- add r7, r0, #0x0
- beq _0200A626
- ldr r0, [sp, #0x8]
- ldr r2, [sp, #0x4]
- add r0, r5, r0
- add r1, r7, #0x0
- blx MIi_CpuCopy16
- ldr r1, _0200A640 ; =0x00091BD3
- add r2, r4, #0x1
- mul r1, r2
- lsl r1, r1, #0x10
- lsr r2, r1, #0x10
- add r0, r7, #0x0
- sub r1, r6, #0x1
- cmp r6, #0x0
- beq _0200A606
- ldr r3, _0200A644 ; =0x0000493D
-_0200A5F0:
- ldrh r4, [r0, #0x0]
- eor r4, r2
- strh r4, [r0, #0x0]
- add r2, r2, r3
- lsl r2, r2, #0x10
- add r4, r1, #0x0
- add r0, r0, #0x2
- lsr r2, r2, #0x10
- sub r1, r1, #0x1
- cmp r4, #0x0
- bne _0200A5F0
-_0200A606:
- ldr r1, [sp, #0x0]
- add r0, r6, #0x0
- bl FUN_020219F4
- add r4, r0, #0x0
- beq _0200A61A
- add r1, r7, #0x0
- add r2, r6, #0x0
- bl FUN_02021E8C
-_0200A61A:
- add r0, r7, #0x0
- bl FUN_02016A18
- add sp, #0x10
- add r0, r4, #0x0
- pop {r3-r7, pc}
-_0200A626:
- add sp, #0x10
- mov r0, #0x0
- pop {r3-r7, pc}
-_0200A62C:
- bl ErrorHandling
- ldr r1, [sp, #0x0]
- mov r0, #0x4
- bl FUN_020219F4
- add sp, #0x10
- pop {r3-r7, pc}
- .balign 4
-_0200A63C: .word 0x000002FD
-_0200A640: .word 0x00091BD3
-_0200A644: .word 0x0000493D
-
- thumb_func_start FUN_0200A648
-FUN_0200A648: ; 0x0200A648
- push {r3-r7, lr}
- add r7, r3, #0x0
- add r5, r1, #0x0
- add r1, r7, #0x0
- add r4, r2, #0x0
- bl FUN_02006670
- add r6, r0, #0x0
- beq _0200A66E
- ldr r1, [sp, #0x18]
- add r2, r4, #0x0
- str r1, [sp, #0x0]
- add r1, r5, #0x0
- add r3, r7, #0x0
- bl FUN_0200A670
- add r0, r6, #0x0
- bl FUN_020066F4
-_0200A66E:
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0200A670
-FUN_0200A670: ; 0x0200A670
- push {r4-r7, lr}
- sub sp, #0x14
- add r5, r2, #0x0
- add r2, sp, #0x10
- add r4, r3, #0x0
- str r2, [sp, #0x0]
- mov r2, #0x0
- mov r3, #0x4
- add r7, r0, #0x0
- str r1, [sp, #0x4]
- bl FUN_02006814
- add r0, sp, #0x8
- ldrh r0, [r0, #0x8]
- cmp r5, r0
- bhs _0200A71E
- add r0, sp, #0x8
- lsl r2, r5, #0x3
- str r0, [sp, #0x0]
- ldr r1, [sp, #0x4]
- add r0, r7, #0x0
- add r2, r2, #0x4
- mov r3, #0x8
- bl FUN_02006814
- add r0, sp, #0x8
- ldrh r2, [r0, #0xa]
- ldr r0, _0200A72C ; =0x000002FD
- add r1, r5, #0x1
- mul r0, r2
- mul r0, r1
- lsl r0, r0, #0x10
- lsr r1, r0, #0x10
- lsl r0, r1, #0x10
- orr r1, r0
- ldr r0, [sp, #0x8]
- eor r0, r1
- str r0, [sp, #0x8]
- ldr r0, [sp, #0xc]
- eor r0, r1
- lsl r6, r0, #0x1
- str r0, [sp, #0xc]
- add r0, r4, #0x0
- add r1, r6, #0x0
- bl FUN_020169D8
- add r4, r0, #0x0
- beq _0200A728
- str r4, [sp, #0x0]
- ldr r1, [sp, #0x4]
- ldr r2, [sp, #0x8]
- add r0, r7, #0x0
- add r3, r6, #0x0
- bl FUN_02006814
- ldr r2, _0200A730 ; =0x00091BD3
- add r3, r5, #0x1
- mul r2, r3
- lsl r2, r2, #0x10
- ldr r0, [sp, #0xc]
- lsr r3, r2, #0x10
- add r1, r4, #0x0
- sub r2, r0, #0x1
- cmp r0, #0x0
- beq _0200A70A
- ldr r0, _0200A734 ; =0x0000493D
-_0200A6F4:
- ldrh r5, [r1, #0x0]
- eor r5, r3
- strh r5, [r1, #0x0]
- add r3, r3, r0
- lsl r3, r3, #0x10
- add r5, r2, #0x0
- add r1, r1, #0x2
- lsr r3, r3, #0x10
- sub r2, r2, #0x1
- cmp r5, #0x0
- bne _0200A6F4
-_0200A70A:
- ldr r0, [sp, #0x28]
- ldr r2, [sp, #0xc]
- add r1, r4, #0x0
- bl FUN_02021E8C
- add r0, r4, #0x0
- bl FUN_02016A18
- add sp, #0x14
- pop {r4-r7, pc}
-_0200A71E:
- bl ErrorHandling
- ldr r0, [sp, #0x28]
- bl FUN_02021A4C
-_0200A728:
- add sp, #0x14
- pop {r4-r7, pc}
- .balign 4
-_0200A72C: .word 0x000002FD
-_0200A730: .word 0x00091BD3
-_0200A734: .word 0x0000493D
-
- thumb_func_start FUN_0200A738
-FUN_0200A738: ; 0x0200A738
- push {r3-r7, lr}
- add r6, r3, #0x0
- add r5, r1, #0x0
- add r1, r6, #0x0
- add r4, r2, #0x0
- bl FUN_02006670
- add r7, r0, #0x0
- beq _0200A75E
- add r1, r5, #0x0
- add r2, r4, #0x0
- add r3, r6, #0x0
- bl FUN_0200A76C
- add r4, r0, #0x0
- add r0, r7, #0x0
- bl FUN_020066F4
- b _0200A768
-_0200A75E:
- mov r0, #0x4
- add r1, r6, #0x0
- bl FUN_020219F4
- add r4, r0, #0x0
-_0200A768:
- add r0, r4, #0x0
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0200A76C
-FUN_0200A76C: ; 0x0200A76C
- push {r3-r7, lr}
- sub sp, #0x18
- add r4, r2, #0x0
- add r2, sp, #0x14
- add r5, r3, #0x0
- str r2, [sp, #0x0]
- mov r2, #0x0
- mov r3, #0x4
- add r7, r0, #0x0
- str r1, [sp, #0x4]
- bl FUN_02006814
- add r0, sp, #0xc
- ldrh r0, [r0, #0x8]
- cmp r4, r0
- bhs _0200A82A
- add r0, sp, #0xc
- lsl r2, r4, #0x3
- str r0, [sp, #0x0]
- ldr r1, [sp, #0x4]
- add r0, r7, #0x0
- add r2, r2, #0x4
- mov r3, #0x8
- bl FUN_02006814
- add r0, sp, #0xc
- ldrh r2, [r0, #0xa]
- ldr r0, _0200A83C ; =0x000002FD
- add r1, r4, #0x1
- mul r0, r2
- mul r0, r1
- lsl r0, r0, #0x10
- lsr r1, r0, #0x10
- lsl r0, r1, #0x10
- orr r1, r0
- ldr r0, [sp, #0xc]
- eor r0, r1
- str r0, [sp, #0xc]
- ldr r0, [sp, #0x10]
- eor r0, r1
- add r1, r5, #0x0
- str r0, [sp, #0x10]
- bl FUN_020219F4
- str r0, [sp, #0x8]
- cmp r0, #0x0
- beq _0200A824
- ldr r0, [sp, #0x10]
- lsl r6, r0, #0x1
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_020169D8
- add r5, r0, #0x0
- beq _0200A824
- str r5, [sp, #0x0]
- ldr r1, [sp, #0x4]
- ldr r2, [sp, #0xc]
- add r0, r7, #0x0
- add r3, r6, #0x0
- bl FUN_02006814
- ldr r2, _0200A840 ; =0x00091BD3
- add r3, r4, #0x1
- mul r2, r3
- lsl r2, r2, #0x10
- ldr r0, [sp, #0x10]
- lsr r3, r2, #0x10
- add r1, r5, #0x0
- sub r2, r0, #0x1
- cmp r0, #0x0
- beq _0200A814
- ldr r0, _0200A844 ; =0x0000493D
-_0200A7FE:
- ldrh r4, [r1, #0x0]
- eor r4, r3
- strh r4, [r1, #0x0]
- add r3, r3, r0
- lsl r3, r3, #0x10
- add r4, r2, #0x0
- add r1, r1, #0x2
- lsr r3, r3, #0x10
- sub r2, r2, #0x1
- cmp r4, #0x0
- bne _0200A7FE
-_0200A814:
- ldr r0, [sp, #0x8]
- ldr r2, [sp, #0x10]
- add r1, r5, #0x0
- bl FUN_02021E8C
- add r0, r5, #0x0
- bl FUN_02016A18
-_0200A824:
- ldr r0, [sp, #0x8]
- add sp, #0x18
- pop {r3-r7, pc}
-_0200A82A:
- bl ErrorHandling
- mov r0, #0x4
- add r1, r5, #0x0
- bl FUN_020219F4
- add sp, #0x18
- pop {r3-r7, pc}
- nop
-_0200A83C: .word 0x000002FD
-_0200A840: .word 0x00091BD3
-_0200A844: .word 0x0000493D
-
- thumb_func_start FUN_0200A848
-FUN_0200A848: ; 0x0200A848
- ldrh r0, [r0, #0x0]
- bx lr
-
- thumb_func_start FUN_0200A84C
-FUN_0200A84C: ; 0x0200A84C
- push {r3, lr}
- sub sp, #0x8
- add r3, r0, #0x0
- mov r0, #0x4
- add r2, r1, #0x0
- str r0, [sp, #0x0]
- add r1, r3, #0x0
- add r0, sp, #0x4
- mov r3, #0x0
- bl FUN_02006548
- add r0, sp, #0x4
- ldrh r0, [r0, #0x0]
- add sp, #0x8
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0200A86C
-FUN_0200A86C: ; 0x0200A86C
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r6, r1, #0x0
- add r0, r3, #0x0
- mov r1, #0xc
- add r7, r2, #0x0
- str r3, [sp, #0x0]
- bl FUN_020169D8
- add r4, r0, #0x0
- beq _0200A8B4
- cmp r5, #0x0
- bne _0200A8A0
- ldr r2, [sp, #0x0]
- add r0, r6, #0x0
- add r1, r7, #0x0
- bl FUN_0200A384
- str r0, [r4, #0x8]
- cmp r0, #0x0
- bne _0200A8AA
- add r0, r4, #0x0
- bl FUN_02016A18
- mov r0, #0x0
- pop {r3-r7, pc}
-_0200A8A0:
- ldr r1, [sp, #0x0]
- add r0, r6, #0x0
- bl FUN_02006670
- str r0, [r4, #0x8]
-_0200A8AA:
- strh r5, [r4, #0x0]
- strh r6, [r4, #0x4]
- ldr r0, [sp, #0x0]
- strh r7, [r4, #0x6]
- strh r0, [r4, #0x2]
-_0200A8B4:
- add r0, r4, #0x0
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0200A8B8
-FUN_0200A8B8: ; 0x0200A8B8
- push {r4, lr}
- add r4, r0, #0x0
- beq _0200A8DE
- ldrh r0, [r4, #0x0]
- cmp r0, #0x0
- beq _0200A8CA
- cmp r0, #0x1
- beq _0200A8D2
- b _0200A8D8
-_0200A8CA:
- ldr r0, [r4, #0x8]
- bl FUN_0200A38C
- b _0200A8D8
-_0200A8D2:
- ldr r0, [r4, #0x8]
- bl FUN_020066F4
-_0200A8D8:
- add r0, r4, #0x0
- bl FUN_02016A18
-_0200A8DE:
- pop {r4, pc}
-
- thumb_func_start FUN_0200A8E0
-FUN_0200A8E0: ; 0x0200A8E0
- push {r3-r4, lr}
- sub sp, #0x4
- add r4, r0, #0x0
- ldrh r0, [r4, #0x0]
- add r3, r1, #0x0
- cmp r0, #0x0
- beq _0200A8F6
- cmp r0, #0x1
- beq _0200A900
- add sp, #0x4
- pop {r3-r4, pc}
-_0200A8F6:
- ldr r0, [r4, #0x8]
- bl FUN_0200A4D4
- add sp, #0x4
- pop {r3-r4, pc}
-_0200A900:
- str r2, [sp, #0x0]
- add r2, r3, #0x0
- ldrh r1, [r4, #0x6]
- ldrh r3, [r4, #0x2]
- ldr r0, [r4, #0x8]
- bl FUN_0200A670
- add sp, #0x4
- pop {r3-r4, pc}
- .balign 4
-
- thumb_func_start FUN_0200A914
-FUN_0200A914: ; 0x0200A914
- push {r3, lr}
- add r3, r0, #0x0
- ldrh r0, [r3, #0x0]
- add r2, r1, #0x0
- cmp r0, #0x0
- beq _0200A926
- cmp r0, #0x1
- beq _0200A930
- b _0200A93C
-_0200A926:
- ldrh r2, [r3, #0x2]
- ldr r0, [r3, #0x8]
- bl FUN_0200A584
- pop {r3, pc}
-_0200A930:
- ldr r0, [r3, #0x8]
- ldrh r1, [r3, #0x6]
- ldrh r3, [r3, #0x2]
- bl FUN_0200A76C
- pop {r3, pc}
-_0200A93C:
- mov r0, #0x0
- pop {r3, pc}
-
- thumb_func_start FUN_0200A940
-FUN_0200A940: ; 0x0200A940
- push {r3, lr}
- add r1, r0, #0x0
- ldrh r0, [r1, #0x0]
- cmp r0, #0x0
- beq _0200A950
- cmp r0, #0x1
- beq _0200A958
- b _0200A962
-_0200A950:
- ldr r0, [r1, #0x8]
- bl FUN_0200A848
- pop {r3, pc}
-_0200A958:
- ldrh r0, [r1, #0x4]
- ldrh r1, [r1, #0x6]
- bl FUN_0200A84C
- pop {r3, pc}
-_0200A962:
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0200A968
-FUN_0200A968: ; 0x0200A968
- push {r3-r4, lr}
- sub sp, #0x4
- add r4, r0, #0x0
- ldrh r0, [r4, #0x0]
- add r3, r1, #0x0
- cmp r0, #0x0
- beq _0200A97E
- cmp r0, #0x1
- beq _0200A988
- add sp, #0x4
- pop {r3-r4, pc}
-_0200A97E:
- ldr r0, [r4, #0x8]
- bl FUN_0200A394
- add sp, #0x4
- pop {r3-r4, pc}
-_0200A988:
- str r2, [sp, #0x0]
- add r2, r3, #0x0
- ldrh r0, [r4, #0x4]
- ldrh r1, [r4, #0x6]
- ldrh r3, [r4, #0x2]
- bl FUN_0200A418
- add sp, #0x4
- pop {r3-r4, pc}
- .balign 4
-
- thumb_func_start FUN_0200A99C
-FUN_0200A99C: ; 0x0200A99C
- push {r4-r6, lr}
- add r4, r2, #0x0
- add r5, r0, #0x0
- add r3, r1, #0x0
- ldr r2, _0200A9C0 ; =0x0000016A
- mov r0, #0x1
- mov r1, #0x1a
- bl FUN_0200A86C
- add r6, r0, #0x0
- add r1, r5, #0x0
- add r2, r4, #0x0
- bl FUN_0200A968
- add r0, r6, #0x0
- bl FUN_0200A8B8
- pop {r4-r6, pc}
- .balign 4
-_0200A9C0: .word 0x0000016A
-
- thumb_func_start FUN_0200A9C4
-FUN_0200A9C4: ; 0x0200A9C4
- push {r3-r7, lr}
- sub sp, #0x8
- add r7, r0, #0x0
- mov r0, #0x0
- str r0, [sp, #0x4]
- add r5, r1, #0x0
- mov r0, #0x1
- ldr r1, [sp, #0x4]
- lsl r0, r0, #0xa
- add r6, r2, #0x0
- str r3, [sp, #0x0]
- bl FUN_020219F4
- add r4, r0, #0x0
- beq _0200AA0E
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_0200A914
- add r5, r0, #0x0
- beq _0200AA08
- add r0, r7, #0x0
- add r1, r4, #0x0
- add r2, r5, #0x0
- bl FUN_0200B7B8
- ldr r1, [sp, #0x0]
- add r0, r4, #0x0
- bl FUN_02021ACC
- str r0, [sp, #0x4]
- add r0, r5, #0x0
- bl FUN_02021A20
-_0200AA08:
- add r0, r4, #0x0
- bl FUN_02021A20
-_0200AA0E:
- ldr r0, [sp, #0x4]
- add sp, #0x8
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0200AA14
-FUN_0200AA14: ; 0x0200AA14
- push {r4-r6, lr}
- add r5, r1, #0x0
- mov r2, #0x93
- add r6, r0, #0x0
- mov r0, #0x1
- mov r1, #0x1a
- lsl r2, r2, #0x2
- add r3, r5, #0x0
- bl FUN_0200A86C
- add r4, r0, #0x0
- beq _0200AA4C
- mov r0, #0x10
- add r1, r5, #0x0
- bl FUN_020219F4
- add r5, r0, #0x0
- beq _0200AA42
- add r0, r4, #0x0
- add r1, r6, #0x0
- add r2, r5, #0x0
- bl FUN_0200A8E0
-_0200AA42:
- add r0, r4, #0x0
- bl FUN_0200A8B8
- add r0, r5, #0x0
- pop {r4-r6, pc}
-_0200AA4C:
- mov r0, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_0200AA50
-FUN_0200AA50: ; 0x0200AA50
- push {r3-r5, lr}
- ldr r2, _0200AA7C ; =0x0000016A
- add r4, r0, #0x0
- add r3, r1, #0x0
- mov r0, #0x1
- mov r1, #0x1a
- bl FUN_0200A86C
- add r5, r0, #0x0
- beq _0200AA76
- 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}
-_0200AA76:
- mov r0, #0x0
- pop {r3-r5, pc}
- nop
-_0200AA7C: .word 0x0000016A
-
- thumb_func_start FUN_0200AA80
-FUN_0200AA80: ; 0x0200AA80
- ldr r3, _0200AA8C ; =FUN_0200AA90
- add r2, r0, #0x0
- mov r0, #0x8
- mov r1, #0x20
- bx r3
- nop
-_0200AA8C: .word FUN_0200AA90
-
- thumb_func_start FUN_0200AA90
-FUN_0200AA90: ; 0x0200AA90
- push {r3-r7, lr}
- sub sp, #0x8
- add r7, r0, #0x0
- str r1, [sp, #0x0]
- str r2, [sp, #0x4]
- bne _0200AAA0
- bl ErrorHandling
-_0200AAA0:
- ldr r0, [sp, #0x0]
- cmp r0, #0x0
- bne _0200AAAA
- bl ErrorHandling
-_0200AAAA:
- ldr r0, [sp, #0x4]
- mov r1, #0x10
- bl FUN_020169D8
- add r4, r0, #0x0
- beq _0200AB10
- ldr r0, [sp, #0x4]
- str r7, [r4, #0x0]
- str r0, [r4, #0x4]
- ldr r0, [sp, #0x0]
- ldr r1, [sp, #0x4]
- bl FUN_020219F4
- str r0, [r4, #0xc]
- cmp r0, #0x0
- beq _0200AB10
- ldr r0, [sp, #0x4]
- lsl r1, r7, #0x3
- bl FUN_020169D8
- str r0, [r4, #0x8]
- cmp r0, #0x0
- beq _0200AB10
- mov r6, #0x0
- cmp r7, #0x0
- bls _0200AB06
- add r5, r6, #0x0
-_0200AAE0:
- add r0, r0, r5
- bl FUN_0200AB6C
- ldr r0, [sp, #0x0]
- ldr r1, [sp, #0x4]
- bl FUN_020219F4
- ldr r1, [r4, #0x8]
- add r1, r1, r5
- str r0, [r1, #0x4]
- ldr r0, [r4, #0x8]
- add r1, r0, r5
- ldr r1, [r1, #0x4]
- cmp r1, #0x0
- beq _0200AB06
- add r6, r6, #0x1
- add r5, #0x8
- cmp r6, r7
- blo _0200AAE0
-_0200AB06:
- cmp r6, r7
- bne _0200AB10
- add sp, #0x8
- add r0, r4, #0x0
- pop {r3-r7, pc}
-_0200AB10:
- mov r0, #0x0
- add sp, #0x8
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0200AB18
-FUN_0200AB18: ; 0x0200AB18
- push {r4-r6, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0x0]
- cmp r0, #0x0
- bne _0200AB26
- bl ErrorHandling
-_0200AB26:
- ldr r0, [r5, #0x8]
- cmp r0, #0x0
- beq _0200AB54
- ldr r0, [r5, #0x0]
- mov r6, #0x0
- cmp r0, #0x0
- bls _0200AB4E
- add r4, r6, #0x0
-_0200AB36:
- ldr r0, [r5, #0x8]
- add r0, r0, r4
- ldr r0, [r0, #0x4]
- cmp r0, #0x0
- beq _0200AB4E
- bl FUN_02021A20
- ldr r0, [r5, #0x0]
- add r6, r6, #0x1
- add r4, #0x8
- cmp r6, r0
- blo _0200AB36
-_0200AB4E:
- ldr r0, [r5, #0x8]
- bl FUN_02016A18
-_0200AB54:
- ldr r0, [r5, #0xc]
- cmp r0, #0x0
- beq _0200AB5E
- bl FUN_02021A20
-_0200AB5E:
- mov r0, #0x0
- str r0, [r5, #0x0]
- add r0, r5, #0x0
- bl FUN_02016A18
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_0200AB6C
-FUN_0200AB6C: ; 0x0200AB6C
- bx lr
- .balign 4
-
- thumb_func_start FUN_0200AB70
-FUN_0200AB70: ; 0x0200AB70
- push {r3-r7, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0x0]
- add r6, r1, #0x0
- add r7, r2, #0x0
- add r4, r3, #0x0
- cmp r6, r0
- blo _0200AB84
- bl ErrorHandling
-_0200AB84:
- ldr r0, [r5, #0x0]
- cmp r6, r0
- bhs _0200ABB2
- cmp r4, #0x0
- beq _0200ABA4
- ldrb r0, [r4, #0x0]
- ldr r3, [r5, #0x8]
- lsl r2, r6, #0x3
- strb r0, [r3, r2]
- ldrb r0, [r4, #0x1]
- add r1, r3, r2
- strb r0, [r1, #0x1]
- ldrb r0, [r4, #0x2]
- strb r0, [r1, #0x2]
- ldrb r0, [r4, #0x3]
- strb r0, [r1, #0x3]
-_0200ABA4:
- ldr r1, [r5, #0x8]
- lsl r0, r6, #0x3
- add r0, r1, r0
- ldr r0, [r0, #0x4]
- add r1, r7, #0x0
- bl FUN_02021A74
-_0200ABB2:
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0200ABB4
-FUN_0200ABB4: ; 0x0200ABB4
- push {r3, lr}
- mov r3, #0x0
- bl FUN_0200AB70
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0200ABC0
-FUN_0200ABC0: ; 0x0200ABC0
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, r2, #0x0
- add r4, r1, #0x0
- bl FUN_0202398C
- add r1, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_02021E28
- ldr r2, [r5, #0xc]
- add r0, r5, #0x0
- add r1, r4, #0x0
- mov r3, #0x0
- bl FUN_0200AB70
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0200ABE4
-FUN_0200ABE4: ; 0x0200ABE4
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, r2, #0x0
- add r4, r1, #0x0
- bl FUN_02024EC0
- bl FUN_02024EE8
- add r1, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_02021E28
- ldr r2, [r5, #0xc]
- add r0, r5, #0x0
- add r1, r4, #0x0
- mov r3, #0x0
- bl FUN_0200AB70
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0200AC0C
-FUN_0200AC0C: ; 0x0200AC0C
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r0, r2, #0x0
- add r6, r1, #0x0
- bl FUN_020238F4
- add r7, r0, #0x0
- ldr r2, _0200AC5C ; =0x000001F1
- ldr r3, [r5, #0x4]
- mov r0, #0x1
- mov r1, #0x1a
- bl FUN_0200A86C
- add r4, r0, #0x0
- add r0, r7, #0x0
- bl FUN_020239CC
- cmp r0, #0x0
- bne _0200AC3E
- ldr r2, [r5, #0xc]
- add r0, r4, #0x0
- mov r1, #0x1
- bl FUN_0200A8E0
- b _0200AC48
-_0200AC3E:
- ldr r2, [r5, #0xc]
- add r0, r4, #0x0
- mov r1, #0x0
- bl FUN_0200A8E0
-_0200AC48:
- ldr r2, [r5, #0xc]
- add r0, r5, #0x0
- add r1, r6, #0x0
- mov r3, #0x0
- bl FUN_0200AB70
- add r0, r4, #0x0
- bl FUN_0200A8B8
- pop {r3-r7, pc}
- .balign 4
-_0200AC5C: .word 0x000001F1
-
- thumb_func_start FUN_0200AC60
-FUN_0200AC60: ; 0x0200AC60
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r7, r2, #0x0
- add r6, r1, #0x0
- ldr r2, _0200ACA0 ; =0x0000016A
- ldr r3, [r5, #0x4]
- mov r0, #0x1
- mov r1, #0x1a
- bl FUN_0200A86C
- add r4, r0, #0x0
- add r0, r7, #0x0
- mov r1, #0x5
- mov r2, #0x0
- bl FUN_020672BC
- add r1, r0, #0x0
- ldr r2, [r5, #0xc]
- add r0, r4, #0x0
- bl FUN_0200A8E0
- ldr r2, [r5, #0xc]
- add r0, r5, #0x0
- add r1, r6, #0x0
- mov r3, #0x0
- bl FUN_0200AB70
- add r0, r4, #0x0
- bl FUN_0200A8B8
- pop {r3-r7, pc}
- nop
-_0200ACA0: .word 0x0000016A
-
- thumb_func_start FUN_0200ACA4
-FUN_0200ACA4: ; 0x0200ACA4
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- add r0, r2, #0x0
- mov r1, #0x5
- mov r2, #0x0
- bl FUN_020672BC
- add r2, r0, #0x0
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_0200ACC0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0200ACC0
-FUN_0200ACC0: ; 0x0200ACC0
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r6, r2, #0x0
- add r4, r1, #0x0
- ldr r2, _0200ACF4 ; =0x0000016B
- ldr r3, [r5, #0x4]
- mov r0, #0x1
- mov r1, #0x1a
- bl FUN_0200A86C
- ldr r2, [r5, #0xc]
- add r1, r6, #0x0
- add r7, r0, #0x0
- bl FUN_0200A8E0
- ldr r2, [r5, #0xc]
- add r0, r5, #0x0
- add r1, r4, #0x0
- mov r3, #0x0
- bl FUN_0200AB70
- add r0, r7, #0x0
- bl FUN_0200A8B8
- pop {r3-r7, pc}
- nop
-_0200ACF4: .word 0x0000016B
-
- thumb_func_start FUN_0200ACF8
-FUN_0200ACF8: ; 0x0200ACF8
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, r2, #0x0
- add r4, r1, #0x0
- ldr r2, [r5, #0xc]
- mov r1, #0x76
- bl FUN_020672BC
- ldr r2, [r5, #0xc]
- add r0, r5, #0x0
- add r1, r4, #0x0
- mov r3, #0x0
- bl FUN_0200AB70
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0200AD18
-FUN_0200AD18: ; 0x0200AD18
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, r2, #0x0
- add r4, r1, #0x0
- ldr r2, [r5, #0xc]
- mov r1, #0x90
- bl FUN_020672BC
- ldr r2, [r5, #0xc]
- add r0, r5, #0x0
- add r1, r4, #0x0
- mov r3, #0x0
- bl FUN_0200AB70
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0200AD38
-FUN_0200AD38: ; 0x0200AD38
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r0, [sp, #0x14]
- add r4, r1, #0x0
- str r0, [sp, #0x0]
- add r1, r2, #0x0
- add r2, r3, #0x0
- ldr r0, [r5, #0xc]
- ldr r3, [sp, #0x10]
- bl FUN_02021B04
- ldr r2, [r5, #0xc]
- add r0, r5, #0x0
- add r1, r4, #0x0
- mov r3, #0x0
- bl FUN_0200AB70
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0200AD5C
-FUN_0200AD5C: ; 0x0200AD5C
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r6, r2, #0x0
- mov r2, #0x93
- add r4, r1, #0x0
- ldr r3, [r5, #0x4]
- mov r0, #0x1
- mov r1, #0x1a
- lsl r2, r2, #0x2
- bl FUN_0200A86C
- add r7, r0, #0x0
- beq _0200AD90
- ldr r2, [r5, #0xc]
- add r1, r6, #0x0
- bl FUN_0200A8E0
- ldr r2, [r5, #0xc]
- add r0, r5, #0x0
- add r1, r4, #0x0
- mov r3, #0x0
- bl FUN_0200AB70
- add r0, r7, #0x0
- bl FUN_0200A8B8
-_0200AD90:
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0200AD94
-FUN_0200AD94: ; 0x0200AD94
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r6, r2, #0x0
- mov r2, #0x79
- add r4, r1, #0x0
- ldr r3, [r5, #0x4]
- mov r0, #0x1
- mov r1, #0x1a
- lsl r2, r2, #0x2
- bl FUN_0200A86C
- add r7, r0, #0x0
- beq _0200ADC8
- ldr r2, [r5, #0xc]
- add r1, r6, #0x0
- bl FUN_0200A8E0
- ldr r2, [r5, #0xc]
- add r0, r5, #0x0
- add r1, r4, #0x0
- mov r3, #0x0
- bl FUN_0200AB70
- add r0, r7, #0x0
- bl FUN_0200A8B8
-_0200ADC8:
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0200ADCC
-FUN_0200ADCC: ; 0x0200ADCC
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r6, r2, #0x0
- mov r2, #0x8a
- add r4, r1, #0x0
- ldr r3, [r5, #0x4]
- mov r0, #0x1
- mov r1, #0x1a
- lsl r2, r2, #0x2
- bl FUN_0200A86C
- add r7, r0, #0x0
- beq _0200AE00
- ldr r2, [r5, #0xc]
- add r1, r6, #0x0
- bl FUN_0200A8E0
- ldr r2, [r5, #0xc]
- add r0, r5, #0x0
- add r1, r4, #0x0
- mov r3, #0x0
- bl FUN_0200AB70
- add r0, r7, #0x0
- bl FUN_0200A8B8
-_0200AE00:
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0200AE04
-FUN_0200AE04: ; 0x0200AE04
- push {r3-r7, lr}
- add r5, r0, #0x0
- ldr r3, [r5, #0x4]
- add r4, r1, #0x0
- add r6, r2, #0x0
- mov r0, #0x1
- mov r1, #0x1a
- mov r2, #0xbe
- bl FUN_0200A86C
- ldr r2, [r5, #0xc]
- add r1, r6, #0x0
- add r7, r0, #0x0
- bl FUN_0200A8E0
- ldr r2, [r5, #0xc]
- add r0, r5, #0x0
- add r1, r4, #0x0
- mov r3, #0x0
- bl FUN_0200AB70
- add r0, r7, #0x0
- bl FUN_0200A8B8
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0200AE38
-FUN_0200AE38: ; 0x0200AE38
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r6, r2, #0x0
- mov r2, #0x56
- add r4, r1, #0x0
- ldr r3, [r5, #0x4]
- mov r0, #0x1
- mov r1, #0x1a
- lsl r2, r2, #0x2
- bl FUN_0200A86C
- add r7, r0, #0x0
- beq _0200AE6C
- ldr r2, [r5, #0xc]
- add r1, r6, #0x0
- bl FUN_0200A8E0
- ldr r2, [r5, #0xc]
- add r0, r5, #0x0
- add r1, r4, #0x0
- mov r3, #0x0
- bl FUN_0200AB70
- add r0, r7, #0x0
- bl FUN_0200A8B8
-_0200AE6C:
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0200AE70
-FUN_0200AE70: ; 0x0200AE70
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r6, r2, #0x0
- add r4, r1, #0x0
- ldr r2, _0200AEA4 ; =0x0000015A
- ldr r3, [r5, #0x4]
- mov r0, #0x1
- mov r1, #0x1a
- bl FUN_0200A86C
- add r7, r0, #0x0
- beq _0200AEA2
- ldr r2, [r5, #0xc]
- add r1, r6, #0x0
- bl FUN_0200A8E0
- ldr r2, [r5, #0xc]
- add r0, r5, #0x0
- add r1, r4, #0x0
- mov r3, #0x0
- bl FUN_0200AB70
- add r0, r7, #0x0
- bl FUN_0200A8B8
-_0200AEA2:
- pop {r3-r7, pc}
- .balign 4
-_0200AEA4: .word 0x0000015A
-
- thumb_func_start FUN_0200AEA8
-FUN_0200AEA8: ; 0x0200AEA8
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r6, r2, #0x0
- add r4, r1, #0x0
- ldr r2, _0200AEDC ; =0x0000015B
- ldr r3, [r5, #0x4]
- mov r0, #0x1
- mov r1, #0x1a
- bl FUN_0200A86C
- add r7, r0, #0x0
- beq _0200AEDA
- ldr r2, [r5, #0xc]
- add r1, r6, #0x0
- bl FUN_0200A8E0
- ldr r2, [r5, #0xc]
- add r0, r5, #0x0
- add r1, r4, #0x0
- mov r3, #0x0
- bl FUN_0200AB70
- add r0, r7, #0x0
- bl FUN_0200A8B8
-_0200AEDA:
- pop {r3-r7, pc}
- .balign 4
-_0200AEDC: .word 0x0000015B
-
- thumb_func_start FUN_0200AEE0
-FUN_0200AEE0: ; 0x0200AEE0
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r6, r2, #0x0
- add r4, r1, #0x0
- ldr r2, _0200AF14 ; =0x0000015D
- ldr r3, [r5, #0x4]
- mov r0, #0x1
- mov r1, #0x1a
- bl FUN_0200A86C
- add r7, r0, #0x0
- beq _0200AF12
- ldr r2, [r5, #0xc]
- add r1, r6, #0x0
- bl FUN_0200A8E0
- ldr r2, [r5, #0xc]
- add r0, r5, #0x0
- add r1, r4, #0x0
- mov r3, #0x0
- bl FUN_0200AB70
- add r0, r7, #0x0
- bl FUN_0200A8B8
-_0200AF12:
- pop {r3-r7, pc}
- .balign 4
-_0200AF14: .word 0x0000015D
-
- thumb_func_start FUN_0200AF18
-FUN_0200AF18: ; 0x0200AF18
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r6, r2, #0x0
- add r4, r1, #0x0
- ldr r2, _0200AF4C ; =0x00000235
- ldr r3, [r5, #0x4]
- mov r0, #0x1
- mov r1, #0x1a
- bl FUN_0200A86C
- add r7, r0, #0x0
- beq _0200AF4A
- ldr r2, [r5, #0xc]
- add r1, r6, #0x0
- bl FUN_0200A8E0
- ldr r2, [r5, #0xc]
- add r0, r5, #0x0
- add r1, r4, #0x0
- mov r3, #0x0
- bl FUN_0200AB70
- add r0, r7, #0x0
- bl FUN_0200A8B8
-_0200AF4A:
- pop {r3-r7, pc}
- .balign 4
-_0200AF4C: .word 0x00000235
-
- thumb_func_start FUN_0200AF50
-FUN_0200AF50: ; 0x0200AF50
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r6, r2, #0x0
- add r4, r1, #0x0
- ldr r2, _0200AF84 ; =0x000001EF
- ldr r3, [r5, #0x4]
- mov r0, #0x1
- mov r1, #0x1a
- bl FUN_0200A86C
- add r7, r0, #0x0
- beq _0200AF82
- ldr r2, [r5, #0xc]
- add r1, r6, #0x0
- bl FUN_0200A8E0
- ldr r2, [r5, #0xc]
- add r0, r5, #0x0
- add r1, r4, #0x0
- mov r3, #0x0
- bl FUN_0200AB70
- add r0, r7, #0x0
- bl FUN_0200A8B8
-_0200AF82:
- pop {r3-r7, pc}
- .balign 4
-_0200AF84: .word 0x000001EF
-
- thumb_func_start FUN_0200AF88
-FUN_0200AF88: ; 0x0200AF88
- push {r3-r7, lr}
- add r5, r0, #0x0
- ldr r3, [r5, #0x4]
- add r4, r1, #0x0
- add r6, r2, #0x0
- mov r0, #0x1
- mov r1, #0x1a
- mov r2, #0xcd
- bl FUN_0200A86C
- add r7, r0, #0x0
- beq _0200AFBA
- ldr r2, [r5, #0xc]
- add r1, r6, #0x0
- bl FUN_0200A8E0
- ldr r2, [r5, #0xc]
- add r0, r5, #0x0
- add r1, r4, #0x0
- mov r3, #0x0
- bl FUN_0200AB70
- add r0, r7, #0x0
- bl FUN_0200A8B8
-_0200AFBA:
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0200AFBC
-FUN_0200AFBC: ; 0x0200AFBC
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r6, r2, #0x0
- mov r2, #0x89
- add r4, r1, #0x0
- ldr r3, [r5, #0x4]
- mov r0, #0x1
- mov r1, #0x1a
- lsl r2, r2, #0x2
- bl FUN_0200A86C
- add r7, r0, #0x0
- beq _0200AFF0
- ldr r2, [r5, #0xc]
- add r1, r6, #0x0
- bl FUN_0200A8E0
- ldr r2, [r5, #0xc]
- add r0, r5, #0x0
- add r1, r4, #0x0
- mov r3, #0x0
- bl FUN_0200AB70
- add r0, r7, #0x0
- bl FUN_0200A8B8
-_0200AFF0:
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0200AFF4
-FUN_0200AFF4: ; 0x0200AFF4
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r6, r2, #0x0
- add r4, r1, #0x0
- ldr r2, _0200B028 ; =0x0000017E
- ldr r3, [r5, #0x4]
- mov r0, #0x1
- mov r1, #0x1a
- bl FUN_0200A86C
- add r7, r0, #0x0
- beq _0200B026
- ldr r2, [r5, #0xc]
- add r1, r6, #0x0
- bl FUN_0200A8E0
- ldr r2, [r5, #0xc]
- add r0, r5, #0x0
- add r1, r4, #0x0
- mov r3, #0x0
- bl FUN_0200AB70
- add r0, r7, #0x0
- bl FUN_0200A8B8
-_0200B026:
- pop {r3-r7, pc}
- .balign 4
-_0200B028: .word 0x0000017E
-
- thumb_func_start FUN_0200B02C
-FUN_0200B02C: ; 0x0200B02C
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r6, r2, #0x0
- add r4, r1, #0x0
- ldr r2, _0200B060 ; =0x00000196
- ldr r3, [r5, #0x4]
- mov r0, #0x1
- mov r1, #0x1a
- bl FUN_0200A86C
- add r7, r0, #0x0
- beq _0200B05E
- ldr r2, [r5, #0xc]
- add r1, r6, #0x0
- bl FUN_0200A8E0
- ldr r2, [r5, #0xc]
- add r0, r5, #0x0
- add r1, r4, #0x0
- mov r3, #0x0
- bl FUN_0200AB70
- add r0, r7, #0x0
- bl FUN_0200A8B8
-_0200B05E:
- pop {r3-r7, pc}
- .balign 4
-_0200B060: .word 0x00000196
-
- thumb_func_start FUN_0200B064
-FUN_0200B064: ; 0x0200B064
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r6, r2, #0x0
- mov r2, #0x23
- add r4, r1, #0x0
- ldr r3, [r5, #0x4]
- mov r0, #0x1
- mov r1, #0x1a
- lsl r2, r2, #0x4
- bl FUN_0200A86C
- add r7, r0, #0x0
- beq _0200B098
- ldr r2, [r5, #0xc]
- add r1, r6, #0x0
- bl FUN_0200A8E0
- ldr r2, [r5, #0xc]
- add r0, r5, #0x0
- add r1, r4, #0x0
- mov r3, #0x0
- bl FUN_0200AB70
- add r0, r7, #0x0
- bl FUN_0200A8B8
-_0200B098:
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0200B09C
-FUN_0200B09C: ; 0x0200B09C
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r6, r2, #0x0
- add r4, r1, #0x0
- ldr r2, _0200B0D0 ; =0x00000231
- ldr r3, [r5, #0x4]
- mov r0, #0x1
- mov r1, #0x1a
- bl FUN_0200A86C
- add r7, r0, #0x0
- beq _0200B0CE
- ldr r2, [r5, #0xc]
- add r1, r6, #0x0
- bl FUN_0200A8E0
- ldr r2, [r5, #0xc]
- add r0, r5, #0x0
- add r1, r4, #0x0
- mov r3, #0x0
- bl FUN_0200AB70
- add r0, r7, #0x0
- bl FUN_0200A8B8
-_0200B0CE:
- pop {r3-r7, pc}
- .balign 4
-_0200B0D0: .word 0x00000231
-
- thumb_func_start FUN_0200B0D4
-FUN_0200B0D4: ; 0x0200B0D4
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r4, r2, #0x0
- mov r2, #0x23
- add r6, r1, #0x0
- ldr r3, [r5, #0x4]
- mov r0, #0x1
- mov r1, #0x1a
- lsl r2, r2, #0x4
- bl FUN_0200A86C
- add r7, r0, #0x0
- beq _0200B108
- ldrb r1, [r4, #0x1]
- ldr r2, [r5, #0xc]
- bl FUN_0200A8E0
- ldr r2, [r5, #0xc]
- add r0, r5, #0x0
- add r1, r6, #0x0
- mov r3, #0x0
- bl FUN_0200AB70
- add r0, r7, #0x0
- bl FUN_0200A8B8
-_0200B108:
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0200B10C
-FUN_0200B10C: ; 0x0200B10C
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r6, r2, #0x0
- add r4, r1, #0x0
- ldr r2, _0200B140 ; =0x0000022F
- ldr r3, [r5, #0x4]
- mov r0, #0x1
- mov r1, #0x1a
- bl FUN_0200A86C
- add r7, r0, #0x0
- beq _0200B13E
- ldr r2, [r5, #0xc]
- add r1, r6, #0x0
- bl FUN_0200A8E0
- ldr r2, [r5, #0xc]
- add r0, r5, #0x0
- add r1, r4, #0x0
- mov r3, #0x0
- bl FUN_0200AB70
- add r0, r7, #0x0
- bl FUN_0200A8B8
-_0200B13E:
- pop {r3-r7, pc}
- .balign 4
-_0200B140: .word 0x0000022F
-
- thumb_func_start FUN_0200B144
-FUN_0200B144: ; 0x0200B144
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0xc]
- add r2, #0x14
- add r4, r1, #0x0
- add r1, r2, #0x0
- bl FUN_02021E28
- ldr r2, [r5, #0xc]
- add r0, r5, #0x0
- add r1, r4, #0x0
- mov r3, #0x0
- bl FUN_0200AB70
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0200B164
-FUN_0200B164: ; 0x0200B164
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r6, r2, #0x0
- add r4, r1, #0x0
- ldr r2, _0200B198 ; =0x00000239
- ldr r3, [r5, #0x4]
- mov r0, #0x1
- mov r1, #0x1a
- bl FUN_0200A86C
- add r7, r0, #0x0
- beq _0200B196
- ldr r2, [r5, #0xc]
- add r1, r6, #0x0
- bl FUN_0200A8E0
- ldr r2, [r5, #0xc]
- add r0, r5, #0x0
- add r1, r4, #0x0
- mov r3, #0x0
- bl FUN_0200AB70
- add r0, r7, #0x0
- bl FUN_0200A8B8
-_0200B196:
- pop {r3-r7, pc}
- .balign 4
-_0200B198: .word 0x00000239
-
- thumb_func_start FUN_0200B19C
-FUN_0200B19C: ; 0x0200B19C
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r6, r2, #0x0
- add r4, r1, #0x0
- ldr r2, _0200B1D0 ; =0x0000023A
- ldr r3, [r5, #0x4]
- mov r0, #0x1
- mov r1, #0x1a
- bl FUN_0200A86C
- add r7, r0, #0x0
- beq _0200B1CE
- ldr r2, [r5, #0xc]
- add r1, r6, #0x0
- bl FUN_0200A8E0
- ldr r2, [r5, #0xc]
- add r0, r5, #0x0
- add r1, r4, #0x0
- mov r3, #0x0
- bl FUN_0200AB70
- add r0, r7, #0x0
- bl FUN_0200A8B8
-_0200B1CE:
- pop {r3-r7, pc}
- .balign 4
-_0200B1D0: .word 0x0000023A
-
- thumb_func_start FUN_0200B1D4
-FUN_0200B1D4: ; 0x0200B1D4
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r6, r2, #0x0
- add r4, r1, #0x0
- ldr r2, _0200B208 ; =0x0000023B
- ldr r3, [r5, #0x4]
- mov r0, #0x1
- mov r1, #0x1a
- bl FUN_0200A86C
- add r7, r0, #0x0
- beq _0200B206
- ldr r2, [r5, #0xc]
- add r1, r6, #0x0
- bl FUN_0200A8E0
- ldr r2, [r5, #0xc]
- add r0, r5, #0x0
- add r1, r4, #0x0
- mov r3, #0x0
- bl FUN_0200AB70
- add r0, r7, #0x0
- bl FUN_0200A8B8
-_0200B206:
- pop {r3-r7, pc}
- .balign 4
-_0200B208: .word 0x0000023B
-
- thumb_func_start FUN_0200B20C
-FUN_0200B20C: ; 0x0200B20C
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r6, r2, #0x0
- mov r2, #0x8f
- add r4, r1, #0x0
- ldr r3, [r5, #0x4]
- mov r0, #0x1
- mov r1, #0x1a
- lsl r2, r2, #0x2
- bl FUN_0200A86C
- add r7, r0, #0x0
- beq _0200B240
- ldr r2, [r5, #0xc]
- add r1, r6, #0x0
- bl FUN_0200A8E0
- ldr r2, [r5, #0xc]
- add r0, r5, #0x0
- add r1, r4, #0x0
- mov r3, #0x0
- bl FUN_0200AB70
- add r0, r7, #0x0
- bl FUN_0200A8B8
-_0200B240:
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0200B244
-FUN_0200B244: ; 0x0200B244
- push {r3-r7, lr}
- add r5, r0, #0x0
- ldr r3, [r5, #0x4]
- add r4, r1, #0x0
- add r6, r2, #0x0
- mov r0, #0x1
- mov r1, #0x1a
- mov r2, #0xc2
- bl FUN_0200A86C
- add r7, r0, #0x0
- beq _0200B276
- ldr r2, [r5, #0xc]
- add r1, r6, #0x0
- bl FUN_0200A8E0
- ldr r2, [r5, #0xc]
- add r0, r5, #0x0
- add r1, r4, #0x0
- mov r3, #0x0
- bl FUN_0200AB70
- add r0, r7, #0x0
- bl FUN_0200A8B8
-_0200B276:
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0200B278
-FUN_0200B278: ; 0x0200B278
- push {r3-r7, lr}
- add r5, r0, #0x0
- ldr r3, [r5, #0x4]
- add r4, r1, #0x0
- add r6, r2, #0x0
- mov r0, #0x1
- mov r1, #0x1a
- mov r2, #0xbf
- bl FUN_0200A86C
- add r7, r0, #0x0
- beq _0200B2AA
- ldr r2, [r5, #0xc]
- add r1, r6, #0x0
- bl FUN_0200A8E0
- ldr r2, [r5, #0xc]
- add r0, r5, #0x0
- add r1, r4, #0x0
- mov r3, #0x0
- bl FUN_0200AB70
- add r0, r7, #0x0
- bl FUN_0200A8B8
-_0200B2AA:
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0200B2AC
-FUN_0200B2AC: ; 0x0200B2AC
- push {r3-r7, lr}
- add r5, r0, #0x0
- ldr r3, [r5, #0x4]
- add r4, r1, #0x0
- add r6, r2, #0x0
- mov r0, #0x1
- mov r1, #0x1a
- mov r2, #0xbf
- bl FUN_0200A86C
- add r7, r0, #0x0
- beq _0200B2DE
- ldr r2, [r5, #0xc]
- add r1, r6, #0x0
- bl FUN_0200A8E0
- ldr r2, [r5, #0xc]
- add r0, r5, #0x0
- add r1, r4, #0x0
- mov r3, #0x0
- bl FUN_0200AB70
- add r0, r7, #0x0
- bl FUN_0200A8B8
-_0200B2DE:
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0200B2E0
-FUN_0200B2E0: ; 0x0200B2E0
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r6, r2, #0x0
- add r4, r1, #0x0
- ldr r2, _0200B314 ; =0x0000023E
- ldr r3, [r5, #0x4]
- mov r0, #0x1
- mov r1, #0x1a
- bl FUN_0200A86C
- add r7, r0, #0x0
- beq _0200B312
- ldr r2, [r5, #0xc]
- add r1, r6, #0x0
- bl FUN_0200A8E0
- ldr r2, [r5, #0xc]
- add r0, r5, #0x0
- add r1, r4, #0x0
- mov r3, #0x0
- bl FUN_0200AB70
- add r0, r7, #0x0
- bl FUN_0200A8B8
-_0200B312:
- pop {r3-r7, pc}
- .balign 4
-_0200B314: .word 0x0000023E
-
- thumb_func_start FUN_0200B318
-FUN_0200B318: ; 0x0200B318
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r6, r2, #0x0
- add r4, r1, #0x0
- ldr r2, _0200B34C ; =0x0000023D
- ldr r3, [r5, #0x4]
- mov r0, #0x1
- mov r1, #0x1a
- bl FUN_0200A86C
- add r7, r0, #0x0
- beq _0200B34A
- ldr r2, [r5, #0xc]
- add r1, r6, #0x0
- bl FUN_0200A8E0
- ldr r2, [r5, #0xc]
- add r0, r5, #0x0
- add r1, r4, #0x0
- mov r3, #0x0
- bl FUN_0200AB70
- add r0, r7, #0x0
- bl FUN_0200A8B8
-_0200B34A:
- pop {r3-r7, pc}
- .balign 4
-_0200B34C: .word 0x0000023D
-
- thumb_func_start FUN_0200B350
-FUN_0200B350: ; 0x0200B350
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r6, r2, #0x0
- add r4, r1, #0x0
- ldr r2, _0200B384 ; =0x00000237
- ldr r3, [r5, #0x4]
- mov r0, #0x1
- mov r1, #0x1a
- bl FUN_0200A86C
- add r7, r0, #0x0
- beq _0200B382
- ldr r2, [r5, #0xc]
- add r1, r6, #0x0
- bl FUN_0200A8E0
- ldr r2, [r5, #0xc]
- add r0, r5, #0x0
- add r1, r4, #0x0
- mov r3, #0x0
- bl FUN_0200AB70
- add r0, r7, #0x0
- bl FUN_0200A8B8
-_0200B382:
- pop {r3-r7, pc}
- .balign 4
-_0200B384: .word 0x00000237
-
- thumb_func_start FUN_0200B388
-FUN_0200B388: ; 0x0200B388
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r6, r2, #0x0
- mov r2, #0x8e
- add r4, r1, #0x0
- ldr r3, [r5, #0x4]
- mov r0, #0x1
- mov r1, #0x1a
- lsl r2, r2, #0x2
- bl FUN_0200A86C
- add r7, r0, #0x0
- beq _0200B3BC
- ldr r2, [r5, #0xc]
- add r1, r6, #0x0
- bl FUN_0200A8E0
- ldr r2, [r5, #0xc]
- add r0, r5, #0x0
- add r1, r4, #0x0
- mov r3, #0x0
- bl FUN_0200AB70
- add r0, r7, #0x0
- bl FUN_0200A8B8
-_0200B3BC:
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0200B3C0
-FUN_0200B3C0: ; 0x0200B3C0
- push {r3-r7, lr}
- add r5, r0, #0x0
- ldr r3, [r5, #0x4]
- add r6, r1, #0x0
- add r4, r2, #0x0
- mov r0, #0x1
- mov r1, #0x1a
- mov r2, #0xc7
- bl FUN_0200A86C
- add r7, r0, #0x0
- cmp r4, #0x0
- beq _0200B3E0
- cmp r4, #0x1
- beq _0200B3EA
- b _0200B3F4
-_0200B3E0:
- ldr r2, [r5, #0xc]
- mov r1, #0x44
- bl FUN_0200A8E0
- b _0200B3FA
-_0200B3EA:
- ldr r2, [r5, #0xc]
- mov r1, #0x45
- bl FUN_0200A8E0
- b _0200B3FA
-_0200B3F4:
- ldr r0, [r5, #0xc]
- bl FUN_02021A4C
-_0200B3FA:
- ldr r2, [r5, #0xc]
- add r0, r5, #0x0
- add r1, r6, #0x0
- mov r3, #0x0
- bl FUN_0200AB70
- add r0, r7, #0x0
- bl FUN_0200A8B8
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0200B410
-FUN_0200B410: ; 0x0200B410
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, r2, #0x0
- add r4, r1, #0x0
- ldr r2, [r5, #0xc]
- add r1, r3, #0x0
- bl FUN_0206B484
- ldr r2, [r5, #0xc]
- add r0, r5, #0x0
- add r1, r4, #0x0
- mov r3, #0x0
- bl FUN_0200AB70
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0200B430
-FUN_0200B430: ; 0x0200B430
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r6, r2, #0x0
- add r4, r1, #0x0
- ldr r2, _0200B464 ; =0x0000014B
- ldr r3, [r5, #0x4]
- mov r0, #0x1
- mov r1, #0x1a
- bl FUN_0200A86C
- add r7, r0, #0x0
- beq _0200B462
- ldr r2, [r5, #0xc]
- add r1, r6, #0x0
- bl FUN_0200A8E0
- ldr r2, [r5, #0xc]
- add r0, r5, #0x0
- add r1, r4, #0x0
- mov r3, #0x0
- bl FUN_0200AB70
- add r0, r7, #0x0
- bl FUN_0200A8B8
-_0200B462:
- pop {r3-r7, pc}
- .balign 4
-_0200B464: .word 0x0000014B
-
- thumb_func_start FUN_0200B468
-FUN_0200B468: ; 0x0200B468
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r6, r2, #0x0
- add r4, r1, #0x0
- ldr r2, _0200B49C ; =0x00000226
- ldr r3, [r5, #0x4]
- mov r0, #0x1
- mov r1, #0x1a
- bl FUN_0200A86C
- add r7, r0, #0x0
- beq _0200B49A
- ldr r2, [r5, #0xc]
- add r1, r6, #0x0
- bl FUN_0200A8E0
- ldr r2, [r5, #0xc]
- add r0, r5, #0x0
- add r1, r4, #0x0
- mov r3, #0x0
- bl FUN_0200AB70
- add r0, r7, #0x0
- bl FUN_0200A8B8
-_0200B49A:
- pop {r3-r7, pc}
- .balign 4
-_0200B49C: .word 0x00000226
-
- thumb_func_start FUN_0200B4A0
-FUN_0200B4A0: ; 0x0200B4A0
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r6, r2, #0x0
- mov r2, #0x99
- add r4, r1, #0x0
- ldr r3, [r5, #0x4]
- mov r0, #0x1
- mov r1, #0x1a
- lsl r2, r2, #0x2
- bl FUN_0200A86C
- add r7, r0, #0x0
- beq _0200B4D4
- ldr r2, [r5, #0xc]
- add r1, r6, #0x0
- bl FUN_0200A8E0
- ldr r2, [r5, #0xc]
- add r0, r5, #0x0
- add r1, r4, #0x0
- mov r3, #0x0
- bl FUN_0200AB70
- add r0, r7, #0x0
- bl FUN_0200A8B8
-_0200B4D4:
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0200B4D8
-FUN_0200B4D8: ; 0x0200B4D8
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r0, r2, #0x0
- add r6, r1, #0x0
- add r4, r3, #0x0
- bl FUN_02088D40
- add r2, r0, #0x0
- beq _0200B516
- cmp r4, #0x0
- beq _0200B516
- ldr r3, [r5, #0x4]
- mov r0, #0x1
- mov r1, #0x1a
- bl FUN_0200A86C
- add r7, r0, #0x0
- beq _0200B516
- ldr r2, [r5, #0xc]
- add r1, r4, #0x0
- bl FUN_0200A8E0
- ldr r2, [r5, #0xc]
- add r0, r5, #0x0
- add r1, r6, #0x0
- mov r3, #0x0
- bl FUN_0200AB70
- add r0, r7, #0x0
- bl FUN_0200A8B8
-_0200B516:
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0200B518
-FUN_0200B518: ; 0x0200B518
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- ldr r1, [r5, #0xc]
- add r0, r2, #0x0
- bl FUN_02013A58
- ldr r2, [r5, #0xc]
- add r0, r5, #0x0
- add r1, r4, #0x0
- mov r3, #0x0
- bl FUN_0200AB70
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0200B534
-FUN_0200B534: ; 0x0200B534
- push {r3-r7, lr}
- add r5, r0, #0x0
- ldr r3, [r5, #0x4]
- add r4, r1, #0x0
- add r6, r2, #0x0
- mov r0, #0x1
- mov r1, #0x1a
- mov r2, #0xa
- bl FUN_0200A86C
- add r7, r0, #0x0
- beq _0200B566
- ldr r2, [r5, #0xc]
- add r1, r6, #0x0
- bl FUN_0200A8E0
- ldr r2, [r5, #0xc]
- add r0, r5, #0x0
- add r1, r4, #0x0
- mov r3, #0x0
- bl FUN_0200AB70
- add r0, r7, #0x0
- bl FUN_0200A8B8
-_0200B566:
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0200B568
-FUN_0200B568: ; 0x0200B568
- push {r3-r7, lr}
- add r5, r0, #0x0
- ldr r3, [r5, #0x4]
- add r4, r1, #0x0
- add r6, r2, #0x0
- mov r0, #0x1
- mov r1, #0x1a
- mov r2, #0xb
- bl FUN_0200A86C
- add r7, r0, #0x0
- beq _0200B59A
- ldr r2, [r5, #0xc]
- add r1, r6, #0x0
- bl FUN_0200A8E0
- ldr r2, [r5, #0xc]
- add r0, r5, #0x0
- add r1, r4, #0x0
- mov r3, #0x0
- bl FUN_0200AB70
- add r0, r7, #0x0
- bl FUN_0200A8B8
-_0200B59A:
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0200B59C
-FUN_0200B59C: ; 0x0200B59C
- push {r3-r7, lr}
- add r4, r2, #0x0
- add r5, r0, #0x0
- add r0, r4, #0x0
- add r7, r1, #0x0
- bl FUN_02015CC0
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl FUN_02015CE0
- add r4, r0, #0x0
- ldr r2, _0200B620 ; =0x020ECE64
- lsl r3, r6, #0x1
- ldrh r2, [r2, r3]
- ldr r3, [r5, #0x4]
- mov r0, #0x1
- mov r1, #0x1a
- bl FUN_0200A86C
- add r6, r0, #0x0
- beq _0200B61E
- bl FUN_0200A940
- cmp r4, r0
- bhs _0200B5EE
- ldr r2, [r5, #0xc]
- add r0, r6, #0x0
- add r1, r4, #0x0
- bl FUN_0200A8E0
- ldr r2, [r5, #0xc]
- add r0, r5, #0x0
- add r1, r7, #0x0
- mov r3, #0x0
- bl FUN_0200AB70
- add r0, r6, #0x0
- bl FUN_0200A8B8
- pop {r3-r7, pc}
-_0200B5EE:
- add r0, r6, #0x0
- bl FUN_0200A8B8
- ldr r2, _0200B624 ; =0x0000017E
- ldr r3, [r5, #0x4]
- mov r0, #0x1
- mov r1, #0x1a
- bl FUN_0200A86C
- add r4, r0, #0x0
- beq _0200B61E
- ldr r2, [r5, #0xc]
- mov r1, #0x0
- bl FUN_0200A8E0
- ldr r2, [r5, #0xc]
- add r0, r5, #0x0
- add r1, r7, #0x0
- mov r3, #0x0
- bl FUN_0200AB70
- add r0, r4, #0x0
- bl FUN_0200A8B8
-_0200B61E:
- pop {r3-r7, pc}
- .balign 4
-_0200B620: .word 0x020ECE64
-_0200B624: .word 0x0000017E
-
- thumb_func_start FUN_0200B628
-FUN_0200B628: ; 0x0200B628
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r6, r2, #0x0
- add r4, r1, #0x0
- ldr r2, _0200B65C ; =0x0000019E
- ldr r3, [r5, #0x4]
- mov r0, #0x1
- mov r1, #0x1a
- bl FUN_0200A86C
- add r7, r0, #0x0
- beq _0200B65A
- ldr r2, [r5, #0xc]
- add r1, r6, #0x0
- bl FUN_0200A8E0
- ldr r2, [r5, #0xc]
- add r0, r5, #0x0
- add r1, r4, #0x0
- mov r3, #0x0
- bl FUN_0200AB70
- add r0, r7, #0x0
- bl FUN_0200A8B8
-_0200B65A:
- pop {r3-r7, pc}
- .balign 4
-_0200B65C: .word 0x0000019E
-
- thumb_func_start FUN_0200B660
-FUN_0200B660: ; 0x0200B660
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r6, r2, #0x0
- add r4, r1, #0x0
- ldr r2, _0200B694 ; =0x00000152
- ldr r3, [r5, #0x4]
- mov r0, #0x1
- mov r1, #0x1a
- bl FUN_0200A86C
- add r7, r0, #0x0
- beq _0200B692
- ldr r2, [r5, #0xc]
- add r1, r6, #0x0
- bl FUN_0200A8E0
- ldr r2, [r5, #0xc]
- add r0, r5, #0x0
- add r1, r4, #0x0
- mov r3, #0x0
- bl FUN_0200AB70
- add r0, r7, #0x0
- bl FUN_0200A8B8
-_0200B692:
- pop {r3-r7, pc}
- .balign 4
-_0200B694: .word 0x00000152
-
- thumb_func_start FUN_0200B698
-FUN_0200B698: ; 0x0200B698
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r6, r2, #0x0
- add r4, r1, #0x0
- ldr r2, _0200B6CC ; =0x00000153
- ldr r3, [r5, #0x4]
- mov r0, #0x1
- mov r1, #0x1a
- bl FUN_0200A86C
- add r7, r0, #0x0
- beq _0200B6CA
- ldr r2, [r5, #0xc]
- add r1, r6, #0x0
- bl FUN_0200A8E0
- ldr r2, [r5, #0xc]
- add r0, r5, #0x0
- add r1, r4, #0x0
- mov r3, #0x0
- bl FUN_0200AB70
- add r0, r7, #0x0
- bl FUN_0200A8B8
-_0200B6CA:
- pop {r3-r7, pc}
- .balign 4
-_0200B6CC: .word 0x00000153
-
- thumb_func_start FUN_0200B6D0
-FUN_0200B6D0: ; 0x0200B6D0
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r6, r2, #0x0
- mov r2, #0x55
- add r4, r1, #0x0
- ldr r3, [r5, #0x4]
- mov r0, #0x1
- mov r1, #0x1a
- lsl r2, r2, #0x2
- bl FUN_0200A86C
- add r7, r0, #0x0
- beq _0200B704
- ldr r2, [r5, #0xc]
- add r1, r6, #0x0
- bl FUN_0200A8E0
- ldr r2, [r5, #0xc]
- add r0, r5, #0x0
- add r1, r4, #0x0
- mov r3, #0x0
- bl FUN_0200AB70
- add r0, r7, #0x0
- bl FUN_0200A8B8
-_0200B704:
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0200B708
-FUN_0200B708: ; 0x0200B708
- push {r4-r7, lr}
- sub sp, #0x14
- str r0, [sp, #0x8]
- add r5, r2, #0x0
- add r0, r1, #0x0
- str r3, [sp, #0xc]
- bl FUN_0202881C
- add r6, r0, #0x0
- add r1, r5, #0x0
- bl FUN_020287F8
- str r0, [sp, #0x10]
- add r0, r6, #0x0
- add r1, r5, #0x0
- bl FUN_02028804
- add r7, r0, #0x0
- mov r0, #0x40
- mov r1, #0x4
- bl FUN_020219F4
- add r4, r0, #0x0
- ldr r2, [sp, #0x28]
- add r0, r6, #0x0
- add r1, r5, #0x0
- bl FUN_020287A8
- add r1, r0, #0x0
- add r0, r4, #0x0
- bl FUN_02021E28
- mov r0, #0x1
- str r0, [sp, #0x0]
- ldr r0, [sp, #0x8]
- ldr r1, [sp, #0xc]
- ldr r3, [sp, #0x10]
- add r2, r4, #0x0
- str r7, [sp, #0x4]
- bl FUN_0200ABB4
- add r0, r4, #0x0
- bl FUN_02021A20
- add sp, #0x14
- pop {r4-r7, pc}
-
- thumb_func_start FUN_0200B764
-FUN_0200B764: ; 0x0200B764
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r4, r2, #0x0
- mov r2, #0x5b
- add r7, r1, #0x0
- ldr r3, [r5, #0x4]
- mov r0, #0x1
- mov r1, #0x1a
- lsl r2, r2, #0x2
- bl FUN_0200A86C
- add r6, r0, #0x0
- beq _0200B7A4
- cmp r4, #0x1
- blo _0200B786
- cmp r4, #0xc
- bls _0200B788
-_0200B786:
- mov r4, #0x1
-_0200B788:
- ldr r2, [r5, #0xc]
- add r0, r6, #0x0
- sub r1, r4, #0x1
- bl FUN_0200A8E0
- ldr r2, [r5, #0xc]
- add r0, r5, #0x0
- add r1, r7, #0x0
- mov r3, #0x0
- bl FUN_0200AB70
- add r0, r6, #0x0
- bl FUN_0200A8B8
-_0200B7A4:
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0200B7A8
-FUN_0200B7A8: ; 0x0200B7A8
- ldr r2, [r0, #0x8]
- lsl r0, r1, #0x3
- add r0, r2, r0
- ldr r3, _0200B7B4 ; =FUN_02021FF8
- ldr r0, [r0, #0x4]
- bx r3
- .balign 4
-_0200B7B4: .word FUN_02021FF8
-
- thumb_func_start FUN_0200B7B8
-FUN_0200B7B8: ; 0x0200B7B8
- push {r3-r7, lr}
- add r7, r0, #0x0
- add r6, r1, #0x0
- add r0, r2, #0x0
- bl FUN_02021F2C
- add r5, r0, #0x0
- add r0, r6, #0x0
- bl FUN_02021A4C
- ldrh r1, [r5, #0x0]
- ldr r0, _0200B844 ; =0x0000FFFF
- cmp r1, r0
- beq _0200B840
-_0200B7D4:
- ldr r0, _0200B848 ; =0x0000FFFE
- cmp r1, r0
- bne _0200B82E
- add r0, r5, #0x0
- bl FUN_0201B8F8
- cmp r0, #0x0
- beq _0200B810
- add r0, r5, #0x0
- mov r1, #0x0
- bl FUN_0201B914
- add r4, r0, #0x0
- ldr r0, [r7, #0x0]
- cmp r4, r0
- blo _0200B7F8
- bl ErrorHandling
-_0200B7F8:
- ldr r2, [r7, #0x8]
- lsl r1, r4, #0x3
- add r1, r2, r1
- ldr r1, [r1, #0x4]
- add r0, r6, #0x0
- bl FUN_02022048
- add r0, r5, #0x0
- bl FUN_0201B8B8
- add r5, r0, #0x0
- b _0200B838
-_0200B810:
- add r0, r5, #0x0
- add r4, r5, #0x0
- bl FUN_0201B8B8
- add r5, r0, #0x0
- cmp r4, r5
- bhs _0200B838
-_0200B81E:
- ldrh r1, [r4, #0x0]
- add r0, r6, #0x0
- add r4, r4, #0x2
- bl FUN_02021FB0
- cmp r4, r5
- blo _0200B81E
- b _0200B838
-_0200B82E:
- ldrh r1, [r5, #0x0]
- add r0, r6, #0x0
- add r5, r5, #0x2
- bl FUN_02021FB0
-_0200B838:
- ldrh r1, [r5, #0x0]
- ldr r0, _0200B844 ; =0x0000FFFF
- cmp r1, r0
- bne _0200B7D4
-_0200B840:
- pop {r3-r7, pc}
- nop
-_0200B844: .word 0x0000FFFF
-_0200B848: .word 0x0000FFFE
-
- thumb_func_start FUN_0200B84C
-FUN_0200B84C: ; 0x0200B84C
- push {r4-r6, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0x0]
- mov r6, #0x0
- cmp r0, #0x0
- bls _0200B86E
- add r4, r6, #0x0
-_0200B85A:
- ldr r0, [r5, #0x8]
- add r0, r0, r4
- ldr r0, [r0, #0x4]
- bl FUN_02021A4C
- ldr r0, [r5, #0x0]
- add r6, r6, #0x1
- add r4, #0x8
- cmp r6, r0
- blo _0200B85A
-_0200B86E:
- pop {r4-r6, pc}
-
- thumb_func_start FUN_0200B870
-FUN_0200B870: ; 0x0200B870
- push {r4-r7, lr}
- sub sp, #0x2c
- add r4, r3, #0x0
- add r5, r0, #0x0
- add r6, r1, #0x0
- add r0, r4, #0x0
- mov r1, #0x2c
- str r2, [sp, #0x4]
- bl FUN_02016998
- str r0, [sp, #0x8]
- cmp r0, #0x0
- beq _0200B98A
- ldr r3, [sp, #0x8]
- mov r0, #0xe
- mov r1, #0x4
- mov r2, #0x1
- add r3, r3, #0x4
- str r4, [sp, #0x0]
- bl FUN_02006BB0
- ldr r1, [sp, #0x8]
- mov r3, #0x0
- str r0, [r1, #0x0]
- add r0, r1, #0x0
- ldr r0, [r0, #0x4]
- ldr r4, [r0, #0x14]
- ldr r0, [r0, #0x10]
- cmp r0, #0x0
- bls _0200B984
- ldr r0, [sp, #0x4]
- ldr r1, [sp, #0x4]
- lsl r0, r0, #0x4
- orr r1, r0
- str r1, [sp, #0xc]
- add r1, r0, #0x0
- orr r1, r5
- str r1, [sp, #0x10]
- orr r0, r6
- str r0, [sp, #0x14]
- ldr r1, [sp, #0x4]
- lsl r0, r5, #0x4
- orr r1, r0
- str r1, [sp, #0x18]
- add r1, r5, #0x0
- orr r1, r0
- str r1, [sp, #0x1c]
- orr r0, r6
- lsl r2, r6, #0x4
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x20]
- ldr r0, [sp, #0x1c]
- ldr r1, [sp, #0x4]
- add r7, r2, #0x0
- orr r7, r1
- add r1, r2, #0x0
- orr r1, r5
- lsl r1, r1, #0x18
- lsr r1, r1, #0x18
- orr r2, r6
- str r1, [sp, #0x28]
- lsl r1, r7, #0x18
- lsl r0, r0, #0x18
- lsr r7, r0, #0x18
- ldr r0, [sp, #0x18]
- lsl r2, r2, #0x18
- lsr r2, r2, #0x18
- lsr r1, r1, #0x18
- lsl r0, r0, #0x18
- mov r12, r2
- str r1, [sp, #0x24]
- lsr r6, r0, #0x18
- ldr r0, [sp, #0x14]
- ldr r1, [sp, #0x10]
- ldr r2, [sp, #0xc]
- lsl r0, r0, #0x18
- lsl r1, r1, #0x18
- lsl r2, r2, #0x18
- lsr r0, r0, #0x18
- lsr r1, r1, #0x18
- lsr r2, r2, #0x18
-_0200B914:
- ldrb r5, [r4, r3]
- cmp r5, #0x12
- bgt _0200B93C
- bge _0200B962
- cmp r5, #0x10
- bgt _0200B936
- bge _0200B95A
- cmp r5, #0x2
- bgt _0200B978
- cmp r5, #0x0
- blt _0200B978
- beq _0200B94E
- cmp r5, #0x1
- beq _0200B952
- cmp r5, #0x2
- beq _0200B956
- b _0200B978
-_0200B936:
- cmp r5, #0x11
- beq _0200B95E
- b _0200B978
-_0200B93C:
- cmp r5, #0x21
- bgt _0200B948
- bge _0200B96E
- cmp r5, #0x20
- beq _0200B968
- b _0200B978
-_0200B948:
- cmp r5, #0x22
- beq _0200B974
- b _0200B978
-_0200B94E:
- strb r2, [r4, r3]
- b _0200B978
-_0200B952:
- strb r1, [r4, r3]
- b _0200B978
-_0200B956:
- strb r0, [r4, r3]
- b _0200B978
-_0200B95A:
- strb r6, [r4, r3]
- b _0200B978
-_0200B95E:
- strb r7, [r4, r3]
- b _0200B978
-_0200B962:
- ldr r5, [sp, #0x20]
- strb r5, [r4, r3]
- b _0200B978
-_0200B968:
- ldr r5, [sp, #0x24]
- strb r5, [r4, r3]
- b _0200B978
-_0200B96E:
- ldr r5, [sp, #0x28]
- strb r5, [r4, r3]
- b _0200B978
-_0200B974:
- mov r5, r12
- strb r5, [r4, r3]
-_0200B978:
- ldr r5, [sp, #0x8]
- add r3, r3, #0x1
- ldr r5, [r5, #0x4]
- ldr r5, [r5, #0x10]
- cmp r3, r5
- blo _0200B914
-_0200B984:
- ldr r1, [sp, #0x4]
- ldr r0, [sp, #0x8]
- str r1, [r0, #0x28]
-_0200B98A:
- ldr r0, [sp, #0x8]
- add sp, #0x2c
- pop {r4-r7, pc}
-
- thumb_func_start FUN_0200B990
-FUN_0200B990: ; 0x0200B990
- push {r4, lr}
- add r4, r0, #0x0
- beq _0200B9A6
- ldr r0, [r4, #0x0]
- cmp r0, #0x0
- beq _0200B9A0
- bl FUN_02016A18
-_0200B9A0:
- add r0, r4, #0x0
- bl FUN_02016A18
-_0200B9A6:
- pop {r4, pc}
-
- thumb_func_start FUN_0200B9A8
-FUN_0200B9A8: ; 0x0200B9A8
- push {r3-r5, lr}
- sub sp, #0x18
- add r4, r0, #0x0
- ldr r0, _0200B9E4 ; =0x020ECE6E
- lsl r5, r1, #0x2
- ldrh r1, [r0, r5]
- lsl r3, r3, #0x10
- mov r0, #0x8
- str r1, [sp, #0x0]
- str r0, [sp, #0x4]
- lsr r3, r3, #0x10
- str r3, [sp, #0x8]
- ldr r3, [sp, #0x28]
- lsl r3, r3, #0x10
- lsr r3, r3, #0x10
- str r3, [sp, #0xc]
- str r1, [sp, #0x10]
- str r0, [sp, #0x14]
- ldr r1, [r4, #0x4]
- add r0, r2, #0x0
- ldr r2, [r1, #0x14]
- ldr r1, _0200B9E8 ; =0x020ECE6C
- ldrh r1, [r1, r5]
- add r1, r2, r1
- mov r2, #0x0
- add r3, r2, #0x0
- bl FUN_02019658
- add sp, #0x18
- pop {r3-r5, pc}
- .balign 4
-_0200B9E4: .word 0x020ECE6E
-_0200B9E8: .word 0x020ECE6C
-
- thumb_func_start FUN_0200B9EC
-FUN_0200B9EC: ; 0x0200B9EC
- push {r3-r7, lr}
- sub sp, #0x18
- add r6, r0, #0x0
- ldr r0, [sp, #0x30]
- add r4, r2, #0x0
- str r0, [sp, #0x30]
- add r0, r6, #0x0
- add r2, r3, #0x0
- add r0, #0x8
- add r3, r4, #0x0
- ldr r5, [sp, #0x34]
- ldr r7, [sp, #0x38]
- bl ConvertUIntToDecimalString
- ldrh r1, [r6, #0x8]
- ldr r0, _0200BA74 ; =0x0000FFFF
- cmp r1, r0
- beq _0200BA6E
- lsl r0, r7, #0x10
- add r4, r6, #0x0
- lsr r7, r0, #0x10
-_0200BA16:
- ldrh r2, [r4, #0x8]
- cmp r2, #0xa2
- blo _0200BA4A
- cmp r2, #0xab
- bhi _0200BA4A
- mov r0, #0x8
- str r0, [sp, #0x0]
- str r0, [sp, #0x4]
- lsl r0, r5, #0x10
- lsr r0, r0, #0x10
- str r0, [sp, #0x8]
- str r7, [sp, #0xc]
- mov r0, #0x8
- str r0, [sp, #0x10]
- str r0, [sp, #0x14]
- ldr r1, [r6, #0x4]
- sub r2, #0xa2
- ldr r1, [r1, #0x14]
- lsl r2, r2, #0x5
- add r1, r1, r2
- mov r2, #0x0
- ldr r0, [sp, #0x30]
- add r3, r2, #0x0
- bl FUN_02019658
- b _0200BA62
-_0200BA4A:
- mov r0, #0x8
- str r0, [sp, #0x0]
- str r0, [sp, #0x4]
- ldr r1, [r6, #0x28]
- lsl r2, r5, #0x10
- lsl r1, r1, #0x18
- ldr r0, [sp, #0x30]
- lsr r1, r1, #0x18
- lsr r2, r2, #0x10
- add r3, r7, #0x0
- bl FUN_020196F4
-_0200BA62:
- add r4, r4, #0x2
- ldrh r1, [r4, #0x8]
- ldr r0, _0200BA74 ; =0x0000FFFF
- add r5, #0x8
- cmp r1, r0
- bne _0200BA16
-_0200BA6E:
- add sp, #0x18
- pop {r3-r7, pc}
- nop
-_0200BA74: .word 0x0000FFFF
-
- thumb_func_start FUN_0200BA78
-FUN_0200BA78: ; 0x0200BA78
- push {r3-r6, lr}
- sub sp, #0xc
- add r4, r2, #0x0
- ldr r2, [sp, #0x2c]
- add r6, r3, #0x0
- str r2, [sp, #0x0]
- ldr r2, [sp, #0x24]
- ldr r3, [sp, #0x28]
- add r5, r0, #0x0
- bl FUN_0200B9A8
- ldr r0, [sp, #0x24]
- ldr r3, [sp, #0x20]
- str r0, [sp, #0x0]
- ldr r0, [sp, #0x28]
- add r1, r4, #0x0
- add r0, #0x10
- str r0, [sp, #0x4]
- ldr r0, [sp, #0x2c]
- add r2, r6, #0x0
- str r0, [sp, #0x8]
- add r0, r5, #0x0
- bl FUN_0200B9EC
- add sp, #0xc
- pop {r3-r6, pc}
-
- thumb_func_start FUN_0200BAAC
-FUN_0200BAAC: ; 0x0200BAAC
- push {r3-r7, lr}
- add r7, r0, #0x0
- add r4, r2, #0x0
- ldr r2, [r7, #0x28]
- ldr r6, [sp, #0x18]
- lsl r0, r2, #0x4
- orr r0, r2
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x0]
- add r0, r7, #0x0
- add r2, r3, #0x0
- add r0, #0x8
- add r3, r4, #0x0
- bl ConvertUIntToDecimalString
- ldrh r1, [r7, #0x8]
- ldr r0, _0200BB10 ; =0x0000FFFF
- cmp r1, r0
- beq _0200BB0C
- add r4, r7, #0x0
- mov r5, #0x0
-_0200BAD8:
- ldrh r2, [r4, #0x8]
- cmp r2, #0xa2
- blo _0200BAF6
- cmp r2, #0xab
- bhi _0200BAF6
- ldr r0, [r7, #0x4]
- sub r2, #0xa2
- ldr r1, [r0, #0x14]
- lsl r0, r2, #0x5
- add r0, r1, r0
- add r1, r6, r5
- mov r2, #0x20
- blx MIi_CpuCopy32
- b _0200BB00
-_0200BAF6:
- ldr r1, [sp, #0x0]
- add r0, r6, r5
- mov r2, #0x20
- blx MI_CpuFill8
-_0200BB00:
- add r4, r4, #0x2
- ldrh r1, [r4, #0x8]
- ldr r0, _0200BB10 ; =0x0000FFFF
- add r5, #0x20
- cmp r1, r0
- bne _0200BAD8
-_0200BB0C:
- pop {r3-r7, pc}
- nop
-_0200BB10: .word 0x0000FFFF
-
- thumb_func_start FUN_0200BB14
-FUN_0200BB14: ; 0x0200BB14
- push {r4, lr}
- mov r1, #0x4e
- lsl r1, r1, #0x2
- add r4, r0, #0x0
- bl FUN_02016998
- cmp r0, #0x0
- bne _0200BB28
- mov r0, #0x0
- pop {r4, pc}
-_0200BB28:
- str r4, [r0, #0x0]
- mov r1, #0x0
- str r1, [r0, #0x4]
- mov r1, #0x1
- str r1, [r0, #0x8]
- pop {r4, pc}
-
- thumb_func_start FUN_0200BB34
-FUN_0200BB34: ; 0x0200BB34
- push {r4, lr}
- add r4, r0, #0x0
- bne _0200BB3E
- bl ErrorHandling
-_0200BB3E:
- ldr r0, [r4, #0x0]
- mov r1, #0x58
- bl FUN_02016998
- cmp r0, #0x0
- bne _0200BB4E
- mov r0, #0x0
- pop {r4, pc}
-_0200BB4E:
- ldr r1, [r4, #0x4]
- mov r2, #0x0
- add r1, r1, #0x1
- str r1, [r4, #0x4]
- add r3, r0, #0x0
- add r1, r2, #0x0
-_0200BB5A:
- add r2, r2, #0x1
- str r1, [r3, #0xc]
- add r3, r3, #0x4
- cmp r2, #0x6
- blt _0200BB5A
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0200BB68
-FUN_0200BB68: ; 0x0200BB68
- add r0, #0x10
- bx lr
-
- thumb_func_start FUN_0200BB6C
-FUN_0200BB6C: ; 0x0200BB6C
- push {r4-r7, lr}
- sub sp, #0x24
- add r5, r0, #0x0
- add r4, r1, #0x0
- add r6, r2, #0x0
- add r7, r3, #0x0
- cmp r5, #0x0
- bne _0200BB80
- bl ErrorHandling
-_0200BB80:
- cmp r5, #0x0
- bne _0200BB8A
- add sp, #0x24
- mov r0, #0x0
- pop {r4-r7, pc}
-_0200BB8A:
- ldr r0, [r6, #0x0]
- str r0, [sp, #0x14]
- ldr r0, [r6, #0x4]
- str r0, [sp, #0x18]
- ldr r0, [r6, #0x8]
- str r0, [sp, #0x1c]
- ldr r0, [r5, #0x0]
- str r0, [sp, #0x20]
- ldr r1, [r6, #0xc]
- ldr r2, [r6, #0x10]
- add r0, sp, #0x14
- bl FUN_0201D060
- ldr r1, [r5, #0x0]
- add r0, r7, #0x0
- bl FUN_0201E00C
- blx FUN_020B0FC0
- ldr r0, [r5, #0x8]
- cmp r0, #0x1
- bne _0200BBD6
- ldr r0, [r4, #0x10]
- str r0, [sp, #0x0]
- ldr r0, [r4, #0x14]
- str r0, [sp, #0x4]
- ldr r0, [r4, #0x18]
- str r0, [sp, #0x8]
- ldr r0, [r4, #0x1c]
- str r0, [sp, #0xc]
- ldr r0, [r5, #0x0]
- str r0, [sp, #0x10]
- ldr r0, [r4, #0x0]
- ldr r1, [r4, #0x4]
- ldr r2, [r4, #0x8]
- ldr r3, [r4, #0xc]
- bl FUN_02009EAC
-_0200BBD6:
- ldr r1, [r5, #0x0]
- mov r0, #0x20
- bl FUN_0201C328
- str r0, [r5, #0xc]
- bl FUN_0201D168
- bl FUN_0201E0BC
- mov r0, #0x1
- add sp, #0x24
- pop {r4-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0200BBF0
-FUN_0200BBF0: ; 0x0200BBF0
- push {r4, lr}
- add r3, r0, #0x0
- add r4, r1, #0x0
- cmp r3, #0x0
- beq _0200BBFE
- cmp r4, #0x0
- bne _0200BC02
-_0200BBFE:
- mov r0, #0x0
- pop {r4, pc}
-_0200BC02:
- add r0, r2, #0x0
- add r1, r3, #0x0
- ldr r2, [r3, #0x0]
- add r1, #0x10
- bl FUN_02008C9C
- str r0, [r4, #0x0]
- mov r0, #0x1
- pop {r4, pc}
-
- thumb_func_start FUN_0200BC14
-FUN_0200BC14: ; 0x0200BC14
- ldr r3, _0200BC18 ; =FUN_0201FFC8
- bx r3
- .balign 4
-_0200BC18: .word FUN_0201FFC8
-
- thumb_func_start FUN_0200BC1C
-FUN_0200BC1C: ; 0x0200BC1C
- push {r4, lr}
- add r4, r0, #0x0
- bne _0200BC26
- bl ErrorHandling
-_0200BC26:
- ldr r0, [r4, #0x0]
- bl FUN_0201FDEC
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0200BC30
-FUN_0200BC30: ; 0x0200BC30
- ldr r3, _0200BC34 ; =FUN_02009F80
- bx r3
- .balign 4
-_0200BC34: .word FUN_02009F80
-
- thumb_func_start FUN_0200BC38
-FUN_0200BC38: ; 0x0200BC38
- ldr r3, _0200BC3C ; =FUN_0201C348
- bx r3
- .balign 4
-_0200BC3C: .word FUN_0201C348
-
- thumb_func_start FUN_0200BC40
-FUN_0200BC40: ; 0x0200BC40
- ldr r3, _0200BC48 ; =FUN_0201FD58
- ldr r0, [r0, #0x0]
- bx r3
- nop
-_0200BC48: .word FUN_0201FD58
-
- thumb_func_start FUN_0200BC4C
-FUN_0200BC4C: ; 0x0200BC4C
- push {r3, lr}
- ldr r0, [r0, #0x4]
- cmp r0, #0x0
- beq _0200BC58
- bl FUN_02008C80
-_0200BC58:
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0200BC5C
-FUN_0200BC5C: ; 0x0200BC5C
- push {r4-r6, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0x54]
- mov r4, #0x0
- cmp r0, #0x0
- ble _0200BC7C
-_0200BC68:
- ldr r0, [r5, #0x8]
- add r1, r4, #0x0
- bl FUN_02009660
- bl FUN_020096B4
- ldr r0, [r5, #0x54]
- add r4, r4, #0x1
- cmp r4, r0
- blt _0200BC68
-_0200BC7C:
- ldr r0, [r5, #0x8]
- bl FUN_02016A18
- ldr r0, [r5, #0x24]
- bl FUN_02009C30
- ldr r0, [r5, #0x28]
- bl FUN_02009E28
- ldr r0, [r5, #0x54]
- mov r6, #0x0
- cmp r0, #0x0
- ble _0200BCAE
- add r4, r5, #0x0
-_0200BC98:
- ldr r0, [r4, #0x24]
- bl FUN_02009448
- ldr r0, [r4, #0xc]
- bl FUN_02008E2C
- ldr r0, [r5, #0x54]
- add r6, r6, #0x1
- add r4, r4, #0x4
- cmp r6, r0
- blt _0200BC98
-_0200BCAE:
- pop {r4-r6, pc}
-
- thumb_func_start FUN_0200BCB0
-FUN_0200BCB0: ; 0x0200BCB0
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0xc]
- bl FUN_0201C350
- bl FUN_0201D12C
- bl FUN_0201E08C
- ldr r0, [r4, #0x8]
- cmp r0, #0x1
- bne _0200BCCC
- bl FUN_02009FA0
-_0200BCCC:
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0200BCD0
-FUN_0200BCD0: ; 0x0200BCD0
- ldr r2, [r0, #0x4]
- ldr r3, _0200BCDC ; =FUN_02016A18
- sub r2, r2, #0x1
- str r2, [r0, #0x4]
- add r0, r1, #0x0
- bx r3
- .balign 4
-_0200BCDC: .word FUN_02016A18
-
- thumb_func_start FUN_0200BCE0
-FUN_0200BCE0: ; 0x0200BCE0
- push {r3-r5, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_0200BC40
- add r0, r4, #0x0
- bl FUN_0200BC4C
- add r0, r4, #0x0
- bl FUN_0200BC5C
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_0200BCD0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0200BD04
-FUN_0200BD04: ; 0x0200BD04
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x4]
- cmp r0, #0x0
- beq _0200BD12
- bl ErrorHandling
-_0200BD12:
- add r0, r4, #0x0
- bl FUN_0200BCB0
- add r0, r4, #0x0
- bl FUN_02016A18
- pop {r4, pc}
-
- thumb_func_start FUN_0200BD20
-FUN_0200BD20: ; 0x0200BD20
- push {r4-r7, lr}
- sub sp, #0x24
- add r5, r0, #0x0
- mov r0, #0x6
- add r4, r1, #0x0
- str r2, [sp, #0x10]
- str r0, [sp, #0x14]
- cmp r5, #0x0
- beq _0200BD36
- cmp r4, #0x0
- bne _0200BD3C
-_0200BD36:
- add sp, #0x24
- mov r0, #0x0
- pop {r4-r7, pc}
-_0200BD3C:
- add r0, r2, #0x0
- ldr r0, [r0, #0x10]
- cmp r0, #0x0
- bne _0200BD48
- mov r0, #0x4
- str r0, [sp, #0x14]
-_0200BD48:
- ldr r0, [sp, #0x14]
- str r0, [r4, #0x54]
- bl FUN_0200965C
- add r2, r0, #0x0
- ldr r1, [sp, #0x14]
- ldr r0, [r5, #0x0]
- mul r1, r2
- bl FUN_02016998
- str r0, [r4, #0x8]
- ldr r0, [sp, #0x14]
- mov r7, #0x0
- cmp r0, #0x0
- ble _0200BD94
- ldr r6, [sp, #0x10]
-_0200BD68:
- ldr r0, [r4, #0x8]
- add r1, r7, #0x0
- bl FUN_02009660
- str r0, [sp, #0x18]
- ldr r0, [r5, #0x0]
- ldr r1, [r6, #0x0]
- bl FUN_020161A4
- ldr r1, [sp, #0x18]
- ldr r2, [r5, #0x0]
- str r0, [sp, #0x1c]
- bl FUN_02009668
- ldr r0, [sp, #0x1c]
- bl FUN_02016A18
- ldr r0, [sp, #0x14]
- add r7, r7, #0x1
- add r6, r6, #0x4
- cmp r7, r0
- blt _0200BD68
-_0200BD94:
- ldr r0, [sp, #0x14]
- mov r6, #0x0
- cmp r0, #0x0
- ble _0200BDBE
- add r7, r4, #0x0
-_0200BD9E:
- ldr r0, [r4, #0x8]
- add r1, r6, #0x0
- bl FUN_02009660
- bl FUN_020096CC
- ldr r2, [r5, #0x0]
- add r1, r6, #0x0
- bl FUN_02008DEC
- str r0, [r7, #0xc]
- ldr r0, [sp, #0x14]
- add r6, r6, #0x1
- add r7, r7, #0x4
- cmp r6, r0
- blt _0200BD9E
-_0200BDBE:
- ldr r0, [sp, #0x14]
- mov r7, #0x0
- cmp r0, #0x0
- ble _0200BDF6
- add r6, r4, #0x0
-_0200BDC8:
- ldr r0, [r4, #0x8]
- add r1, r7, #0x0
- bl FUN_02009660
- str r0, [sp, #0x20]
- bl FUN_020096CC
- ldr r1, [r5, #0x0]
- bl FUN_02009424
- add r2, r0, #0x0
- str r2, [r6, #0x24]
- ldr r0, [r6, #0xc]
- ldr r1, [sp, #0x20]
- ldr r3, [r5, #0x0]
- bl FUN_020093A8
- str r0, [r6, #0x3c]
- ldr r0, [sp, #0x14]
- add r7, r7, #0x1
- add r6, r6, #0x4
- cmp r7, r0
- blt _0200BDC8
-_0200BDF6:
- ldr r0, [r4, #0x24]
- bl FUN_02009A90
- ldr r0, [r4, #0x28]
- bl FUN_02009D34
- ldr r1, [sp, #0x10]
- ldr r0, [r5, #0x0]
- ldr r1, [r1, #0x18]
- bl FUN_020161A4
- ldr r1, [r4, #0x14]
- add r6, r0, #0x0
- str r1, [sp, #0x0]
- ldr r1, [r4, #0x18]
- str r1, [sp, #0x4]
- ldr r1, [r4, #0x1c]
- str r1, [sp, #0x8]
- ldr r1, [r4, #0x20]
- str r1, [sp, #0xc]
- ldr r1, [r5, #0x0]
- ldr r2, [r4, #0xc]
- ldr r3, [r4, #0x10]
- bl FUN_02008BE0
- str r0, [r4, #0x4]
- add r0, r6, #0x0
- bl FUN_02016A18
- mov r0, #0x1
- add sp, #0x24
- pop {r4-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0200BE38
-FUN_0200BE38: ; 0x0200BE38
- push {r4, lr}
- sub sp, #0x28
- mov r3, #0x4
- mov r4, #0x6
- ldrsh r3, [r2, r3]
- ldrsh r4, [r2, r4]
- str r4, [sp, #0x0]
- str r3, [sp, #0x4]
- ldrh r4, [r2, #0xa]
- str r4, [sp, #0x8]
- ldr r4, [r2, #0xc]
- str r4, [sp, #0xc]
- ldr r4, [r2, #0x10]
- str r4, [sp, #0x10]
- ldr r4, [r2, #0x14]
- str r4, [sp, #0x14]
- ldr r4, [r2, #0x18]
- str r4, [sp, #0x18]
- ldr r4, [r2, #0x1c]
- str r4, [sp, #0x1c]
- ldr r4, [r2, #0x20]
- str r4, [sp, #0x20]
- ldr r4, [r2, #0x24]
- str r4, [sp, #0x24]
- ldr r2, [r2, #0x0]
- bl FUN_0200BE74
- add sp, #0x28
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0200BE74
-FUN_0200BE74: ; 0x0200BE74
- push {r4, lr}
- sub sp, #0x30
- add r4, r0, #0x0
- ldr r0, [r1, #0x0]
- str r0, [sp, #0x0]
- ldr r0, [r1, #0x4]
- ldr r1, [r0, #0x0]
- mov r0, #0x24
- mul r0, r2
- add r0, r1, r0
- str r0, [sp, #0x4]
- cmp r3, #0x0
- ble _0200BEA0
- lsl r0, r3, #0xc
- blx _fflt
- add r1, r0, #0x0
- mov r0, #0x3f
- lsl r0, r0, #0x18
- blx _fadd
- b _0200BEAE
-_0200BEA0:
- lsl r0, r3, #0xc
- blx _fflt
- mov r1, #0x3f
- lsl r1, r1, #0x18
- blx _fsub
-_0200BEAE:
- blx _ffix
- str r0, [sp, #0x8]
- add r1, sp, #0x28
- mov r0, #0x10
- ldrsh r0, [r1, r0]
- cmp r0, #0x0
- ble _0200BED0
- lsl r0, r0, #0xc
- blx _fflt
- add r1, r0, #0x0
- mov r0, #0x3f
- lsl r0, r0, #0x18
- blx _fadd
- b _0200BEDE
-_0200BED0:
- lsl r0, r0, #0xc
- blx _fflt
- mov r1, #0x3f
- lsl r1, r1, #0x18
- blx _fsub
-_0200BEDE:
- blx _ffix
- str r0, [sp, #0xc]
- add r1, sp, #0x28
- mov r0, #0x14
- ldrsh r0, [r1, r0]
- cmp r0, #0x0
- ble _0200BF00
- lsl r0, r0, #0xc
- blx _fflt
- add r1, r0, #0x0
- mov r0, #0x3f
- lsl r0, r0, #0x18
- blx _fadd
- b _0200BF0E
-_0200BF00:
- lsl r0, r0, #0xc
- blx _fflt
- mov r1, #0x3f
- lsl r1, r1, #0x18
- blx _fsub
-_0200BF0E:
- blx _ffix
- str r0, [sp, #0x10]
- ldr r0, [sp, #0x4c]
- cmp r0, #0x2
- bne _0200BF24
- mov r0, #0x3
- ldr r1, [sp, #0xc]
- lsl r0, r0, #0x12
- add r0, r1, r0
- str r0, [sp, #0xc]
-_0200BF24:
- mov r0, #0x1
- lsl r0, r0, #0xc
- str r0, [sp, #0x14]
- str r0, [sp, #0x18]
- str r0, [sp, #0x1c]
- mov r1, #0x0
- add r0, sp, #0x0
- strh r1, [r0, #0x20]
- ldr r0, [sp, #0x44]
- str r0, [sp, #0x24]
- ldr r0, [sp, #0x4c]
- str r0, [sp, #0x28]
- ldr r0, [r4, #0x0]
- str r0, [sp, #0x2c]
- add r0, sp, #0x0
- bl FUN_0201FE94
- add r4, r0, #0x0
- beq _0200BF5A
- add r1, sp, #0x28
- ldrh r1, [r1, #0x18]
- bl FUN_02020130
- ldr r1, [sp, #0x48]
- add r0, r4, #0x0
- bl FUN_02020248
-_0200BF5A:
- add r0, r4, #0x0
- add sp, #0x30
- pop {r4, pc}
-
- thumb_func_start FUN_0200BF60
-FUN_0200BF60: ; 0x0200BF60
- push {r4-r7, lr}
- sub sp, #0xc
- str r0, [sp, #0x0]
- mov r0, #0x6
- str r0, [sp, #0x4]
- ldr r0, [sp, #0x0]
- add r5, r1, #0x0
- add r6, r2, #0x0
- cmp r0, #0x0
- beq _0200BF78
- cmp r5, #0x0
- bne _0200BF7E
-_0200BF78:
- add sp, #0xc
- mov r0, #0x0
- pop {r4-r7, pc}
-_0200BF7E:
- ldr r0, [r6, #0x10]
- cmp r0, #0x0
- beq _0200BF8A
- ldr r0, [r6, #0x14]
- cmp r0, #0x0
- bne _0200BF8E
-_0200BF8A:
- mov r0, #0x4
- str r0, [sp, #0x4]
-_0200BF8E:
- ldr r0, [sp, #0x4]
- str r0, [r5, #0x54]
- mov r0, #0x0
- str r0, [sp, #0x8]
- ldr r0, [sp, #0x4]
- cmp r0, #0x0
- ble _0200BFBE
- add r7, r6, #0x0
- add r4, r5, #0x0
-_0200BFA0:
- ldr r2, [sp, #0x0]
- ldr r0, [r7, #0x0]
- ldr r1, [sp, #0x8]
- ldr r2, [r2, #0x0]
- bl FUN_02008DEC
- str r0, [r4, #0xc]
- ldr r0, [sp, #0x8]
- add r7, r7, #0x4
- add r1, r0, #0x1
- ldr r0, [sp, #0x4]
- add r4, r4, #0x4
- str r1, [sp, #0x8]
- cmp r1, r0
- blt _0200BFA0
-_0200BFBE:
- ldr r0, [sp, #0x4]
- mov r7, #0x0
- cmp r0, #0x0
- ble _0200C004
- add r4, r7, #0x0
-_0200BFC8:
- ldr r0, [r6, #0x0]
- cmp r0, #0x0
- beq _0200BFF8
- ldr r1, [sp, #0x0]
- ldr r1, [r1, #0x0]
- bl FUN_02009424
- str r0, [r5, #0x24]
- mov r0, #0x0
- str r0, [r5, #0x3c]
- ldr r3, [r5, #0x24]
- add r1, r0, #0x0
- ldr r0, [r3, #0x4]
- cmp r0, #0x0
- ble _0200BFF8
- add r2, r1, #0x0
-_0200BFE8:
- ldr r0, [r3, #0x0]
- add r1, r1, #0x1
- str r4, [r0, r2]
- ldr r3, [r5, #0x24]
- add r2, r2, #0x4
- ldr r0, [r3, #0x4]
- cmp r1, r0
- blt _0200BFE8
-_0200BFF8:
- ldr r0, [sp, #0x4]
- add r7, r7, #0x1
- add r6, r6, #0x4
- add r5, r5, #0x4
- cmp r7, r0
- blt _0200BFC8
-_0200C004:
- mov r0, #0x1
- add sp, #0xc
- pop {r4-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0200C00C
-FUN_0200C00C: ; 0x0200C00C
- push {r4-r7, lr}
- sub sp, #0xc
- add r4, r1, #0x0
- add r5, r0, #0x0
- ldr r0, [r4, #0xc]
- ldr r1, [sp, #0x28]
- add r6, r2, #0x0
- add r7, r3, #0x0
- bl FUN_0200945C
- cmp r0, #0x0
- bne _0200C02A
- add sp, #0xc
- mov r0, #0x0
- pop {r4-r7, pc}
-_0200C02A:
- ldr r0, [sp, #0x28]
- ldr r3, [sp, #0x20]
- str r0, [sp, #0x0]
- ldr r0, [sp, #0x24]
- add r1, r6, #0x0
- str r0, [sp, #0x4]
- ldr r0, [r5, #0x0]
- add r2, r7, #0x0
- str r0, [sp, #0x8]
- ldr r0, [r4, #0xc]
- bl FUN_02008F34
- add r5, r0, #0x0
- beq _0200C058
- bl FUN_02009B04
- ldr r0, [r4, #0x24]
- add r1, r5, #0x0
- bl FUN_0200C474
- add sp, #0xc
- mov r0, #0x1
- pop {r4-r7, pc}
-_0200C058:
- bl ErrorHandling
- cmp r5, #0x0
- beq _0200C066
- add sp, #0xc
- mov r0, #0x1
- pop {r4-r7, pc}
-_0200C066:
- mov r0, #0x0
- add sp, #0xc
- pop {r4-r7, pc}
-
- thumb_func_start FUN_0200C06C
-FUN_0200C06C: ; 0x0200C06C
- push {r3-r7, lr}
- sub sp, #0x10
- add r4, r1, #0x0
- add r5, r0, #0x0
- ldr r0, [r4, #0x10]
- ldr r1, [sp, #0x34]
- add r6, r2, #0x0
- add r7, r3, #0x0
- bl FUN_0200945C
- cmp r0, #0x0
- bne _0200C08C
- mov r0, #0x0
- add sp, #0x10
- mvn r0, r0
- pop {r3-r7, pc}
-_0200C08C:
- ldr r0, [sp, #0x34]
- ldr r3, [sp, #0x28]
- str r0, [sp, #0x0]
- ldr r0, [sp, #0x30]
- add r1, r6, #0x0
- str r0, [sp, #0x4]
- ldr r0, [sp, #0x2c]
- add r2, r7, #0x0
- str r0, [sp, #0x8]
- ldr r0, [r5, #0x0]
- str r0, [sp, #0xc]
- ldr r0, [r4, #0x10]
- bl FUN_02008FEC
- add r5, r0, #0x0
- beq _0200C0D0
- bl FUN_02009D68
- cmp r0, #0x1
- beq _0200C0B8
- bl ErrorHandling
-_0200C0B8:
- ldr r0, [r4, #0x28]
- add r1, r5, #0x0
- bl FUN_0200C474
- ldr r1, [sp, #0x30]
- add r0, r5, #0x0
- bl FUN_02009E88
- lsl r0, r0, #0x18
- add sp, #0x10
- asr r0, r0, #0x18
- pop {r3-r7, pc}
-_0200C0D0:
- bl ErrorHandling
- mov r0, #0x0
- mvn r0, r0
- add sp, #0x10
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0200C0DC
-FUN_0200C0DC: ; 0x0200C0DC
- push {r4-r6, lr}
- sub sp, #0x10
- add r5, r0, #0x0
- ldr r0, [sp, #0x28]
- add r6, r1, #0x0
- str r0, [sp, #0x0]
- ldr r0, [sp, #0x2c]
- add r1, r3, #0x0
- str r0, [sp, #0x4]
- ldr r0, [sp, #0x30]
- ldr r3, [sp, #0x24]
- str r0, [sp, #0x8]
- ldr r0, [sp, #0x34]
- str r0, [sp, #0xc]
- add r0, r2, #0x0
- ldr r2, [sp, #0x20]
- bl FUN_0200C06C
- add r4, r0, #0x0
- mov r0, #0x0
- mvn r0, r0
- cmp r4, r0
- beq _0200C11A
- ldr r3, [sp, #0x2c]
- lsl r2, r4, #0x14
- add r0, r5, #0x0
- add r1, r6, #0x0
- lsr r2, r2, #0x10
- lsl r3, r3, #0x5
- bl FUN_02003108
-_0200C11A:
- lsl r0, r4, #0x18
- lsr r0, r0, #0x18
- add sp, #0x10
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_0200C124
-FUN_0200C124: ; 0x0200C124
- push {r3-r4, lr}
- sub sp, #0xc
- ldr r4, [sp, #0x18]
- str r4, [sp, #0x0]
- mov r4, #0x2
- str r4, [sp, #0x4]
- ldr r4, [sp, #0x1c]
- str r4, [sp, #0x8]
- bl FUN_0200C404
- add sp, #0xc
- pop {r3-r4, pc}
-
- thumb_func_start FUN_0200C13C
-FUN_0200C13C: ; 0x0200C13C
- push {r3-r4, lr}
- sub sp, #0xc
- ldr r4, [sp, #0x18]
- str r4, [sp, #0x0]
- mov r4, #0x3
- str r4, [sp, #0x4]
- ldr r4, [sp, #0x1c]
- str r4, [sp, #0x8]
- bl FUN_0200C404
- add sp, #0xc
- pop {r3-r4, pc}
-
- thumb_func_start FUN_0200C154
-FUN_0200C154: ; 0x0200C154
- push {r4-r7, lr}
- sub sp, #0x74
- add r7, r0, #0x0
- ldr r0, [r7, #0x0]
- add r6, r1, #0x0
- mov r1, #0x10
- add r5, r2, #0x0
- bl FUN_02016998
- add r4, r0, #0x0
- bne _0200C170
- add sp, #0x74
- mov r0, #0x0
- pop {r4-r7, pc}
-_0200C170:
- ldr r0, [r7, #0x0]
- mov r1, #0x8
- bl FUN_02016998
- str r0, [r4, #0x8]
- cmp r0, #0x0
- bne _0200C184
- add sp, #0x74
- mov r0, #0x0
- pop {r4-r7, pc}
-_0200C184:
- ldr r0, [r7, #0x0]
- mov r1, #0x24
- bl FUN_02016998
- ldr r1, [r4, #0x8]
- str r0, [r1, #0x0]
- ldr r0, [r4, #0x8]
- ldr r0, [r0, #0x0]
- str r0, [r4, #0x4]
- ldr r0, [r4, #0x8]
- ldr r1, [r0, #0x0]
- cmp r1, #0x0
- bne _0200C1AC
- cmp r0, #0x0
- beq _0200C1A6
- bl FUN_02016A18
-_0200C1A6:
- add sp, #0x74
- mov r0, #0x0
- pop {r4-r7, pc}
-_0200C1AC:
- mov r1, #0x0
- add r2, r5, #0x0
- add r3, sp, #0x2c
-_0200C1B2:
- ldr r0, [r2, #0x14]
- add r1, r1, #0x1
- add r2, r2, #0x4
- stmia r3!, {r0}
- cmp r1, #0x6
- blt _0200C1B2
- ldr r0, [r6, #0x1c]
- cmp r0, #0x0
- beq _0200C1CA
- ldr r1, [r6, #0x20]
- cmp r1, #0x0
- bne _0200C1D4
-_0200C1CA:
- mov r0, #0x0
- mvn r0, r0
- str r0, [sp, #0x3c]
- str r0, [sp, #0x40]
- b _0200C206
-_0200C1D4:
- mov r2, #0x0
- ldr r1, [sp, #0x3c]
- mvn r2, r2
- cmp r1, r2
- beq _0200C1EC
- bl FUN_0200945C
- cmp r0, #0x0
- bne _0200C1EC
- mov r0, #0x0
- mvn r0, r0
- str r0, [sp, #0x3c]
-_0200C1EC:
- mov r0, #0x0
- ldr r1, [sp, #0x40]
- mvn r0, r0
- cmp r1, r0
- beq _0200C206
- ldr r0, [r6, #0x20]
- bl FUN_0200945C
- cmp r0, #0x0
- bne _0200C206
- mov r0, #0x0
- mvn r0, r0
- str r0, [sp, #0x40]
-_0200C206:
- ldr r0, [sp, #0x38]
- str r0, [sp, #0x0]
- ldr r0, [sp, #0x3c]
- str r0, [sp, #0x4]
- ldr r0, [sp, #0x40]
- str r0, [sp, #0x8]
- ldr r0, [r5, #0x30]
- str r0, [sp, #0xc]
- ldr r0, [r5, #0x2c]
- str r0, [sp, #0x10]
- ldr r0, [r6, #0xc]
- str r0, [sp, #0x14]
- ldr r0, [r6, #0x10]
- str r0, [sp, #0x18]
- ldr r0, [r6, #0x14]
- str r0, [sp, #0x1c]
- ldr r0, [r6, #0x18]
- str r0, [sp, #0x20]
- ldr r0, [r6, #0x1c]
- str r0, [sp, #0x24]
- ldr r0, [r6, #0x20]
- str r0, [sp, #0x28]
- ldr r0, [r4, #0x4]
- ldr r1, [sp, #0x2c]
- ldr r2, [sp, #0x30]
- ldr r3, [sp, #0x34]
- bl FUN_02008AA4
- ldr r0, [r6, #0x0]
- str r0, [sp, #0x44]
- ldr r0, [r4, #0x4]
- str r0, [sp, #0x48]
- mov r0, #0x0
- ldrsh r0, [r5, r0]
- cmp r0, #0x0
- ble _0200C260
- lsl r0, r0, #0xc
- blx _fflt
- add r1, r0, #0x0
- mov r0, #0x3f
- lsl r0, r0, #0x18
- blx _fadd
- b _0200C26E
-_0200C260:
- lsl r0, r0, #0xc
- blx _fflt
- mov r1, #0x3f
- lsl r1, r1, #0x18
- blx _fsub
-_0200C26E:
- blx _ffix
- str r0, [sp, #0x4c]
- mov r0, #0x2
- ldrsh r0, [r5, r0]
- cmp r0, #0x0
- ble _0200C28E
- lsl r0, r0, #0xc
- blx _fflt
- add r1, r0, #0x0
- mov r0, #0x3f
- lsl r0, r0, #0x18
- blx _fadd
- b _0200C29C
-_0200C28E:
- lsl r0, r0, #0xc
- blx _fflt
- mov r1, #0x3f
- lsl r1, r1, #0x18
- blx _fsub
-_0200C29C:
- blx _ffix
- str r0, [sp, #0x50]
- mov r0, #0x4
- ldrsh r0, [r5, r0]
- cmp r0, #0x0
- ble _0200C2BC
- lsl r0, r0, #0xc
- blx _fflt
- add r1, r0, #0x0
- mov r0, #0x3f
- lsl r0, r0, #0x18
- blx _fadd
- b _0200C2CA
-_0200C2BC:
- lsl r0, r0, #0xc
- blx _fflt
- mov r1, #0x3f
- lsl r1, r1, #0x18
- blx _fsub
-_0200C2CA:
- blx _ffix
- str r0, [sp, #0x54]
- ldr r0, [r5, #0x10]
- cmp r0, #0x2
- bne _0200C2E0
- mov r0, #0x3
- ldr r1, [sp, #0x50]
- lsl r0, r0, #0x12
- add r0, r1, r0
- str r0, [sp, #0x50]
-_0200C2E0:
- mov r0, #0x1
- lsl r0, r0, #0xc
- str r0, [sp, #0x58]
- str r0, [sp, #0x5c]
- str r0, [sp, #0x60]
- mov r1, #0x0
- add r0, sp, #0x2c
- strh r1, [r0, #0x38]
- ldr r0, [r5, #0x8]
- str r0, [sp, #0x68]
- ldr r0, [r5, #0x10]
- str r0, [sp, #0x6c]
- ldr r0, [r7, #0x0]
- str r0, [sp, #0x70]
- add r0, sp, #0x44
- bl FUN_0201FE94
- str r0, [r4, #0x0]
- ldr r0, [r5, #0x30]
- str r0, [r4, #0xc]
- ldr r0, [r4, #0x0]
- cmp r0, #0x0
- beq _0200C328
- bl FUN_020202A0
- add r6, r0, #0x0
- ldrh r1, [r5, #0x6]
- ldr r0, [r4, #0x0]
- bl FUN_02020130
- ldr r1, [r5, #0xc]
- ldr r0, [r4, #0x0]
- add r1, r6, r1
- bl FUN_02020248
- b _0200C32C
-_0200C328:
- bl ErrorHandling
-_0200C32C:
- add r0, r4, #0x0
- add sp, #0x74
- pop {r4-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0200C334
-FUN_0200C334: ; 0x0200C334
- push {r3, lr}
- ldr r0, [r0, #0x10]
- bl FUN_020094F0
- mov r1, #0x0
- bl FUN_02009E54
- pop {r3, pc}
-
- thumb_func_start FUN_0200C344
-FUN_0200C344: ; 0x0200C344
- push {r4, lr}
- ldr r0, [r0, #0x10]
- add r4, r2, #0x0
- bl FUN_020094F0
- add r1, r4, #0x0
- bl FUN_02009E88
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0200C358
-FUN_0200C358: ; 0x0200C358
- add r3, r0, #0x0
- add r2, r1, #0x0
- ldr r0, [r3, #0xc]
- ldr r1, [r3, #0x24]
- ldr r3, _0200C364 ; =FUN_0200C4F4
- bx r3
- .balign 4
-_0200C364: .word FUN_0200C4F4
-
- thumb_func_start FUN_0200C368
-FUN_0200C368: ; 0x0200C368
- add r3, r0, #0x0
- add r2, r1, #0x0
- ldr r0, [r3, #0x10]
- ldr r1, [r3, #0x28]
- ldr r3, _0200C374 ; =FUN_0200C548
- bx r3
- .balign 4
-_0200C374: .word FUN_0200C548
-
- thumb_func_start FUN_0200C378
-FUN_0200C378: ; 0x0200C378
- add r3, r0, #0x0
- add r2, r1, #0x0
- ldr r0, [r3, #0x14]
- ldr r1, [r3, #0x2c]
- ldr r3, _0200C384 ; =FUN_0200C4A8
- bx r3
- .balign 4
-_0200C384: .word FUN_0200C4A8
-
- thumb_func_start FUN_0200C388
-FUN_0200C388: ; 0x0200C388
- add r3, r0, #0x0
- add r2, r1, #0x0
- ldr r0, [r3, #0x18]
- ldr r1, [r3, #0x30]
- ldr r3, _0200C394 ; =FUN_0200C4A8
- bx r3
- .balign 4
-_0200C394: .word FUN_0200C4A8
-
- thumb_func_start FUN_0200C398
-FUN_0200C398: ; 0x0200C398
- push {r3-r7, lr}
- add r6, r1, #0x0
- add r7, r0, #0x0
- add r0, r6, #0x0
- bl FUN_0200BC40
- ldr r0, [r6, #0x24]
- bl FUN_02009C30
- ldr r0, [r6, #0x28]
- bl FUN_02009E28
- ldr r0, [r6, #0x54]
- mov r4, #0x0
- cmp r0, #0x0
- ble _0200C3D0
- add r5, r6, #0x0
-_0200C3BA:
- ldr r0, [r5, #0x24]
- bl FUN_02009448
- ldr r0, [r5, #0xc]
- bl FUN_02008E2C
- ldr r0, [r6, #0x54]
- add r4, r4, #0x1
- add r5, r5, #0x4
- cmp r4, r0
- blt _0200C3BA
-_0200C3D0:
- add r0, r7, #0x0
- add r1, r6, #0x0
- bl FUN_0200BCD0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0200C3DC
-FUN_0200C3DC: ; 0x0200C3DC
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0xc]
- cmp r0, #0x0
- beq _0200C3EE
- ldr r0, [r4, #0x4]
- ldr r0, [r0, #0x0]
- bl FUN_02009CDC
-_0200C3EE:
- ldr r0, [r4, #0x0]
- bl FUN_0201FFC8
- ldr r0, [r4, #0x8]
- bl FUN_02008C80
- add r0, r4, #0x0
- bl FUN_02016A18
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0200C404
-FUN_0200C404: ; 0x0200C404
- push {r4-r7, lr}
- sub sp, #0x14
- add r6, r1, #0x0
- add r7, r0, #0x0
- ldr r0, [sp, #0x2c]
- add r5, r6, #0x0
- lsl r4, r0, #0x2
- add r5, #0xc
- ldr r0, [r5, r4]
- ldr r1, [sp, #0x30]
- str r2, [sp, #0xc]
- str r3, [sp, #0x10]
- bl FUN_0200945C
- cmp r0, #0x0
- bne _0200C42A
- add sp, #0x14
- mov r0, #0x0
- pop {r4-r7, pc}
-_0200C42A:
- ldr r0, [sp, #0x30]
- ldr r1, [sp, #0xc]
- str r0, [sp, #0x0]
- ldr r0, [sp, #0x2c]
- ldr r2, [sp, #0x10]
- str r0, [sp, #0x4]
- ldr r0, [r7, #0x0]
- ldr r3, [sp, #0x28]
- str r0, [sp, #0x8]
- ldr r0, [r5, r4]
- bl FUN_020090AC
- add r5, r0, #0x0
- beq _0200C460
- add r0, r6, r4
- ldr r0, [r0, #0x24]
- add r1, r5, #0x0
- bl FUN_0200C474
- add r4, r0, #0x0
- cmp r4, #0x1
- beq _0200C45A
- bl ErrorHandling
-_0200C45A:
- add sp, #0x14
- add r0, r4, #0x0
- pop {r4-r7, pc}
-_0200C460:
- bl ErrorHandling
- cmp r5, #0x0
- beq _0200C46E
- add sp, #0x14
- mov r0, #0x1
- pop {r4-r7, pc}
-_0200C46E:
- mov r0, #0x0
- add sp, #0x14
- pop {r4-r7, pc}
-
- thumb_func_start FUN_0200C474
-FUN_0200C474: ; 0x0200C474
- push {r3-r6}
- ldr r6, [r0, #0x4]
- mov r3, #0x0
- cmp r6, #0x0
- ble _0200C4A0
- ldr r5, [r0, #0x0]
- add r4, r5, #0x0
-_0200C482:
- ldr r2, [r4, #0x0]
- cmp r2, #0x0
- bne _0200C498
- lsl r2, r3, #0x2
- str r1, [r5, r2]
- ldr r1, [r0, #0x8]
- add r1, r1, #0x1
- str r1, [r0, #0x8]
- mov r0, #0x1
- pop {r3-r6}
- bx lr
-_0200C498:
- add r3, r3, #0x1
- add r4, r4, #0x4
- cmp r3, r6
- blt _0200C482
-_0200C4A0:
- mov r0, #0x0
- pop {r3-r6}
- bx lr
- .balign 4
-
- thumb_func_start FUN_0200C4A8
-FUN_0200C4A8: ; 0x0200C4A8
- push {r3-r7, lr}
- add r5, r1, #0x0
- str r0, [sp, #0x0]
- ldr r0, [r5, #0x4]
- add r7, r2, #0x0
- mov r6, #0x0
- cmp r0, #0x0
- ble _0200C4F0
- add r4, r6, #0x0
-_0200C4BA:
- ldr r0, [r5, #0x0]
- ldr r0, [r0, r4]
- cmp r0, #0x0
- beq _0200C4E6
- bl FUN_02009530
- cmp r0, r7
- bne _0200C4E6
- ldr r1, [r5, #0x0]
- lsl r4, r6, #0x2
- ldr r0, [sp, #0x0]
- ldr r1, [r1, r4]
- bl FUN_02009490
- ldr r0, [r5, #0x0]
- mov r1, #0x0
- str r1, [r0, r4]
- ldr r0, [r5, #0x8]
- sub r0, r0, #0x1
- str r0, [r5, #0x8]
- mov r0, #0x1
- pop {r3-r7, pc}
-_0200C4E6:
- ldr r0, [r5, #0x4]
- add r6, r6, #0x1
- add r4, r4, #0x4
- cmp r6, r0
- blt _0200C4BA
-_0200C4F0:
- mov r0, #0x0
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0200C4F4
-FUN_0200C4F4: ; 0x0200C4F4
- push {r3-r7, lr}
- add r5, r1, #0x0
- str r0, [sp, #0x0]
- ldr r0, [r5, #0x4]
- add r7, r2, #0x0
- mov r6, #0x0
- cmp r0, #0x0
- ble _0200C542
- add r4, r6, #0x0
-_0200C506:
- ldr r0, [r5, #0x0]
- ldr r0, [r0, r4]
- cmp r0, #0x0
- beq _0200C538
- bl FUN_02009530
- cmp r0, r7
- bne _0200C538
- add r0, r7, #0x0
- bl FUN_0201D324
- ldr r1, [r5, #0x0]
- lsl r4, r6, #0x2
- ldr r0, [sp, #0x0]
- ldr r1, [r1, r4]
- bl FUN_02009490
- ldr r0, [r5, #0x0]
- mov r1, #0x0
- str r1, [r0, r4]
- ldr r0, [r5, #0x8]
- sub r0, r0, #0x1
- str r0, [r5, #0x8]
- mov r0, #0x1
- pop {r3-r7, pc}
-_0200C538:
- ldr r0, [r5, #0x4]
- add r6, r6, #0x1
- add r4, r4, #0x4
- cmp r6, r0
- blt _0200C506
-_0200C542:
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0200C548
-FUN_0200C548: ; 0x0200C548
- push {r3-r7, lr}
- add r5, r1, #0x0
- str r0, [sp, #0x0]
- ldr r0, [r5, #0x4]
- add r7, r2, #0x0
- mov r6, #0x0
- cmp r0, #0x0
- ble _0200C596
- add r4, r6, #0x0
-_0200C55A:
- ldr r0, [r5, #0x0]
- ldr r0, [r0, r4]
- cmp r0, #0x0
- beq _0200C58C
- bl FUN_02009530
- cmp r0, r7
- bne _0200C58C
- add r0, r7, #0x0
- bl FUN_0201E1C8
- ldr r1, [r5, #0x0]
- lsl r4, r6, #0x2
- ldr r0, [sp, #0x0]
- ldr r1, [r1, r4]
- bl FUN_02009490
- ldr r0, [r5, #0x0]
- mov r1, #0x0
- str r1, [r0, r4]
- ldr r0, [r5, #0x8]
- sub r0, r0, #0x1
- str r0, [r5, #0x8]
- mov r0, #0x1
- pop {r3-r7, pc}
-_0200C58C:
- ldr r0, [r5, #0x4]
- add r6, r6, #0x1
- add r4, r4, #0x4
- cmp r6, r0
- blt _0200C55A
-_0200C596:
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0200C59C
-FUN_0200C59C: ; 0x0200C59C
- ldr r3, _0200C5A4 ; =FUN_020201E4
- mov r1, #0x1
- lsl r1, r1, #0xc
- bx r3
- .balign 4
-_0200C5A4: .word FUN_020201E4
-
- thumb_func_start FUN_0200C5A8
-FUN_0200C5A8: ; 0x0200C5A8
- ldr r3, _0200C5B0 ; =0x0200C59D
- ldr r0, [r0, #0x0]
- bx r3
- nop
-_0200C5B0: .word 0x0200C59D
-
- thumb_func_start FUN_0200C5B4
-FUN_0200C5B4: ; 0x0200C5B4
- ldr r3, _0200C5BC ; =FUN_020201E4
- ldr r0, [r0, #0x0]
- bx r3
- nop
-_0200C5BC: .word FUN_020201E4
-
- thumb_func_start FUN_0200C5C0
-FUN_0200C5C0: ; 0x0200C5C0
- ldr r3, _0200C5C8 ; =FUN_02020130
- ldr r0, [r0, #0x0]
- bx r3
- nop
-_0200C5C8: .word FUN_02020130
-
- thumb_func_start FUN_0200C5CC
-FUN_0200C5CC: ; 0x0200C5CC
- ldr r3, _0200C5D4 ; =FUN_020201DC
- ldr r0, [r0, #0x0]
- bx r3
- nop
-_0200C5D4: .word FUN_020201DC
-
- thumb_func_start FUN_0200C5D8
-FUN_0200C5D8: ; 0x0200C5D8
- ldr r3, _0200C5DC ; =FUN_020200BC
- bx r3
- .balign 4
-_0200C5DC: .word FUN_020200BC
-
- thumb_func_start FUN_0200C5E0
-FUN_0200C5E0: ; 0x0200C5E0
- ldr r3, _0200C5E8 ; =FUN_0200C5D8
- ldr r0, [r0, #0x0]
- bx r3
- nop
-_0200C5E8: .word FUN_0200C5D8
-
- thumb_func_start FUN_0200C5EC
-FUN_0200C5EC: ; 0x0200C5EC
- ldr r3, _0200C5F0 ; =FUN_020200D8
- bx r3
- .balign 4
-_0200C5F0: .word FUN_020200D8
-
- thumb_func_start FUN_0200C5F4
-FUN_0200C5F4: ; 0x0200C5F4
- ldr r3, _0200C5FC ; =FUN_0200C5EC
- ldr r0, [r0, #0x0]
- bx r3
- nop
-_0200C5FC: .word FUN_0200C5EC
-
- thumb_func_start FUN_0200C600
-FUN_0200C600: ; 0x0200C600
- ldr r3, _0200C604 ; =FUN_02020388
- bx r3
- .balign 4
-_0200C604: .word FUN_02020388
-
- thumb_func_start FUN_0200C608
-FUN_0200C608: ; 0x0200C608
- ldr r3, _0200C610 ; =FUN_0200C600
- ldr r0, [r0, #0x0]
- bx r3
- nop
-_0200C610: .word FUN_0200C600
-
- thumb_func_start FUN_0200C614
-FUN_0200C614: ; 0x0200C614
- ldr r3, _0200C618 ; =FUN_02020208
- bx r3
- .balign 4
-_0200C618: .word FUN_02020208
-
- thumb_func_start FUN_0200C61C
-FUN_0200C61C: ; 0x0200C61C
- ldr r3, _0200C624 ; =0x0200C615
- ldr r0, [r0, #0x0]
- bx r3
- nop
-_0200C624: .word 0x0200C615
-
- thumb_func_start FUN_0200C628
-FUN_0200C628: ; 0x0200C628
- ldr r3, _0200C62C ; =FUN_0202022C
- bx r3
- .balign 4
-_0200C62C: .word FUN_0202022C
-
- thumb_func_start FUN_0200C630
-FUN_0200C630: ; 0x0200C630
- ldr r3, _0200C638 ; =FUN_0200C628
- ldr r0, [r0, #0x0]
- bx r3
- nop
-_0200C638: .word FUN_0200C628
-
- thumb_func_start FUN_0200C63C
-FUN_0200C63C: ; 0x0200C63C
- ldr r3, _0200C640 ; =FUN_020200A0
- bx r3
- .balign 4
-_0200C640: .word FUN_020200A0
-
- thumb_func_start FUN_0200C644
-FUN_0200C644: ; 0x0200C644
- ldr r3, _0200C64C ; =FUN_0200C63C
- ldr r0, [r0, #0x0]
- bx r3
- nop
-_0200C64C: .word FUN_0200C63C
-
- thumb_func_start FUN_0200C650
-FUN_0200C650: ; 0x0200C650
- ldr r3, _0200C654 ; =FUN_02020128
- bx r3
- .balign 4
-_0200C654: .word FUN_02020128
-
- thumb_func_start FUN_0200C658
-FUN_0200C658: ; 0x0200C658
- ldr r3, _0200C660 ; =FUN_0200C650
- ldr r0, [r0, #0x0]
- bx r3
- nop
-_0200C660: .word FUN_0200C650
-
- thumb_func_start FUN_0200C664
-FUN_0200C664: ; 0x0200C664
- ldr r3, _0200C668 ; =FUN_02020248
- bx r3
- .balign 4
-_0200C668: .word FUN_02020248
-
- thumb_func_start FUN_0200C66C
-FUN_0200C66C: ; 0x0200C66C
- ldr r3, _0200C674 ; =FUN_0200C664
- ldr r0, [r0, #0x0]
- bx r3
- nop
-_0200C674: .word FUN_0200C664
-
- thumb_func_start FUN_0200C678
-FUN_0200C678: ; 0x0200C678
- ldr r3, _0200C67C ; =FUN_020202A8
- bx r3
- .balign 4
-_0200C67C: .word FUN_020202A8
-
- thumb_func_start FUN_0200C680
-FUN_0200C680: ; 0x0200C680
- ldr r3, _0200C688 ; =FUN_0200C678
- ldr r0, [r0, #0x0]
- bx r3
- nop
-_0200C688: .word FUN_0200C678
-
- thumb_func_start FUN_0200C68C
-FUN_0200C68C: ; 0x0200C68C
- ldr r3, _0200C694 ; =FUN_02020300
- ldr r0, [r0, #0x0]
- bx r3
- nop
-_0200C694: .word FUN_02020300
-
- thumb_func_start FUN_0200C698
-FUN_0200C698: ; 0x0200C698
- ldr r3, _0200C6A0 ; =FUN_02020238
- lsl r1, r1, #0x18
- lsr r1, r1, #0x18
- bx r3
- .balign 4
-_0200C6A0: .word FUN_02020238
-
- thumb_func_start FUN_0200C6A4
-FUN_0200C6A4: ; 0x0200C6A4
- ldr r3, _0200C6AC ; =0x02020241
- ldr r0, [r0, #0x0]
- bx r3
- nop
-_0200C6AC: .word 0x02020241
-
- thumb_func_start FUN_0200C6B0
-FUN_0200C6B0: ; 0x0200C6B0
- ldr r3, _0200C6B8 ; =FUN_0200C698
- ldr r0, [r0, #0x0]
- bx r3
- nop
-_0200C6B8: .word FUN_0200C698
-
- thumb_func_start FUN_0200C6BC
-FUN_0200C6BC: ; 0x0200C6BC
- ldr r3, _0200C6C0 ; =FUN_02020310
- bx r3
- .balign 4
-_0200C6C0: .word FUN_02020310
-
- thumb_func_start FUN_0200C6C4
-FUN_0200C6C4: ; 0x0200C6C4
- ldr r3, _0200C6CC ; =FUN_0200C6BC
- ldr r0, [r0, #0x0]
- bx r3
- nop
-_0200C6CC: .word FUN_0200C6BC
-
- thumb_func_start FUN_0200C6D0
-FUN_0200C6D0: ; 0x0200C6D0
- ldr r3, _0200C6D4 ; =FUN_0202032C
- bx r3
- .balign 4
-_0200C6D4: .word FUN_0202032C
-
- thumb_func_start FUN_0200C6D8
-FUN_0200C6D8: ; 0x0200C6D8
- ldr r3, _0200C6E0 ; =FUN_0200C6D0
- ldr r0, [r0, #0x0]
- bx r3
- nop
-_0200C6E0: .word FUN_0200C6D0
-
- thumb_func_start FUN_0200C6E4
-FUN_0200C6E4: ; 0x0200C6E4
- push {r3-r4, lr}
- sub sp, #0xc
- lsl r1, r1, #0xc
- str r1, [sp, #0x0]
- lsl r1, r2, #0xc
- add r4, r0, #0x0
- str r1, [sp, #0x4]
- bl FUN_02020380
- cmp r0, #0x2
- bne _0200C704
- mov r0, #0x3
- ldr r1, [sp, #0x4]
- lsl r0, r0, #0x12
- add r0, r1, r0
- str r0, [sp, #0x4]
-_0200C704:
- mov r0, #0x0
- str r0, [sp, #0x8]
- add r0, r4, #0x0
- add r1, sp, #0x0
- bl FUN_02020044
- add sp, #0xc
- pop {r3-r4, pc}
-
- thumb_func_start FUN_0200C714
-FUN_0200C714: ; 0x0200C714
- ldr r3, _0200C71C ; =FUN_0200C6E4
- ldr r0, [r0, #0x0]
- bx r3
- nop
-_0200C71C: .word FUN_0200C6E4
-
- thumb_func_start FUN_0200C720
-FUN_0200C720: ; 0x0200C720
- push {r4-r5, lr}
- sub sp, #0xc
- lsl r1, r1, #0xc
- str r1, [sp, #0x0]
- lsl r1, r2, #0xc
- add r5, r0, #0x0
- add r4, r3, #0x0
- str r1, [sp, #0x4]
- bl FUN_02020380
- cmp r0, #0x2
- bne _0200C73E
- ldr r0, [sp, #0x4]
- add r0, r0, r4
- str r0, [sp, #0x4]
-_0200C73E:
- mov r0, #0x0
- str r0, [sp, #0x8]
- add r0, r5, #0x0
- add r1, sp, #0x0
- bl FUN_02020044
- add sp, #0xc
- pop {r4-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0200C750
-FUN_0200C750: ; 0x0200C750
- push {r3, lr}
- ldr r0, [r0, #0x0]
- bl FUN_0200C720
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0200C75C
-FUN_0200C75C: ; 0x0200C75C
- push {r3-r7, lr}
- add r7, r0, #0x0
- add r6, r1, #0x0
- add r5, r2, #0x0
- bl FUN_0202011C
- add r4, r0, #0x0
- ldr r1, [r4, #0x0]
- asr r0, r1, #0xb
- lsr r0, r0, #0x14
- add r0, r1, r0
- asr r0, r0, #0xc
- strh r0, [r6, #0x0]
- add r0, r7, #0x0
- bl FUN_02020380
- cmp r0, #0x2
- ldr r1, [r4, #0x4]
- bne _0200C794
- mov r0, #0x3
- lsl r0, r0, #0x12
- sub r1, r1, r0
- asr r0, r1, #0xb
- lsr r0, r0, #0x14
- add r0, r1, r0
- asr r0, r0, #0xc
- strh r0, [r5, #0x0]
- pop {r3-r7, pc}
-_0200C794:
- asr r0, r1, #0xb
- lsr r0, r0, #0x14
- add r0, r1, r0
- asr r0, r0, #0xc
- strh r0, [r5, #0x0]
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0200C7A0
-FUN_0200C7A0: ; 0x0200C7A0
- ldr r3, _0200C7A8 ; =FUN_0200C75C
- ldr r0, [r0, #0x0]
- bx r3
- nop
-_0200C7A8: .word FUN_0200C75C
-
- thumb_func_start FUN_0200C7AC
-FUN_0200C7AC: ; 0x0200C7AC
- push {r3-r7, lr}
- str r0, [sp, #0x0]
- add r6, r1, #0x0
- add r5, r2, #0x0
- add r7, r3, #0x0
- bl FUN_0202011C
- add r4, r0, #0x0
- ldr r1, [r4, #0x0]
- asr r0, r1, #0xb
- lsr r0, r0, #0x14
- add r0, r1, r0
- asr r0, r0, #0xc
- strh r0, [r6, #0x0]
- ldr r0, [sp, #0x0]
- bl FUN_02020380
- cmp r0, #0x2
- bne _0200C7E2
- ldr r0, [r4, #0x4]
- sub r1, r0, r7
- asr r0, r1, #0xb
- lsr r0, r0, #0x14
- add r0, r1, r0
- asr r0, r0, #0xc
- strh r0, [r5, #0x0]
- pop {r3-r7, pc}
-_0200C7E2:
- ldr r1, [r4, #0x4]
- asr r0, r1, #0xb
- lsr r0, r0, #0x14
- add r0, r1, r0
- asr r0, r0, #0xc
- strh r0, [r5, #0x0]
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0200C7F0
-FUN_0200C7F0: ; 0x0200C7F0
- push {r3, lr}
- ldr r0, [r0, #0x0]
- bl FUN_0200C7AC
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0200C7FC
-FUN_0200C7FC: ; 0x0200C7FC
- push {r3-r6, lr}
- sub sp, #0xc
- add r6, r0, #0x0
- add r5, r1, #0x0
- add r4, r2, #0x0
- bl FUN_0202011C
- ldr r2, [r0, #0x0]
- lsl r1, r5, #0xc
- add r1, r2, r1
- str r1, [sp, #0x0]
- ldr r2, [r0, #0x4]
- lsl r1, r4, #0xc
- add r1, r2, r1
- str r1, [sp, #0x4]
- ldr r0, [r0, #0x8]
- add r1, sp, #0x0
- str r0, [sp, #0x8]
- add r0, r6, #0x0
- bl FUN_02020044
- add sp, #0xc
- pop {r3-r6, pc}
- .balign 4
-
- thumb_func_start FUN_0200C82C
-FUN_0200C82C: ; 0x0200C82C
- ldr r3, _0200C834 ; =FUN_0200C7FC
- ldr r0, [r0, #0x0]
- bx r3
- nop
-_0200C834: .word FUN_0200C7FC
-
- thumb_func_start FUN_0200C838
-FUN_0200C838: ; 0x0200C838
- ldr r3, _0200C83C ; =FUN_020200EC
- bx r3
- .balign 4
-_0200C83C: .word FUN_020200EC
-
- thumb_func_start FUN_0200C840
-FUN_0200C840: ; 0x0200C840
- ldr r3, _0200C848 ; =0x0200C839
- ldr r0, [r0, #0x0]
- bx r3
- nop
-_0200C848: .word 0x0200C839
-
- thumb_func_start FUN_0200C84C
-FUN_0200C84C: ; 0x0200C84C
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r6, r1, #0x0
- add r7, r2, #0x0
- bl FUN_02020120
- add r4, r0, #0x0
- ldr r0, _0200C880 ; =0x45800000
- add r1, r6, #0x0
- blx _fmul
- blx _ffix
- str r0, [r4, #0x0]
- ldr r0, _0200C880 ; =0x45800000
- add r1, r7, #0x0
- blx _fmul
- blx _ffix
- str r0, [r4, #0x4]
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02020064
- pop {r3-r7, pc}
- .balign 4
-_0200C880: .word 0x45800000
-
- thumb_func_start FUN_0200C884
-FUN_0200C884: ; 0x0200C884
- ldr r3, _0200C88C ; =FUN_0200C84C
- ldr r0, [r0, #0x0]
- bx r3
- nop
-_0200C88C: .word FUN_0200C84C
-
- thumb_func_start FUN_0200C890
-FUN_0200C890: ; 0x0200C890
- ldr r3, _0200C894 ; =FUN_02020088
- bx r3
- .balign 4
-_0200C894: .word FUN_02020088
-
- thumb_func_start FUN_0200C898
-FUN_0200C898: ; 0x0200C898
- ldr r3, _0200C8A0 ; =FUN_0200C890
- ldr r0, [r0, #0x0]
- bx r3
- nop
-_0200C8A0: .word FUN_0200C890
-
- thumb_func_start FUN_0200C8A4
-FUN_0200C8A4: ; 0x0200C8A4
- push {r3-r5, lr}
- add r5, r1, #0x0
- add r4, r0, #0x0
- bl FUN_02020124
- add r0, r0, r5
- lsl r0, r0, #0x10
- lsr r1, r0, #0x10
- add r0, r4, #0x0
- bl FUN_02020088
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0200C8BC
-FUN_0200C8BC: ; 0x0200C8BC
- ldr r3, _0200C8C4 ; =FUN_0200C8A4
- ldr r0, [r0, #0x0]
- bx r3
- nop
-_0200C8C4: .word FUN_0200C8A4
-
- thumb_func_start FUN_0200C8C8
-FUN_0200C8C8: ; 0x0200C8C8
- ldr r3, _0200C8CC ; =FUN_02020100
- bx r3
- .balign 4
-_0200C8CC: .word FUN_02020100
-
- thumb_func_start FUN_0200C8D0
-FUN_0200C8D0: ; 0x0200C8D0
- ldr r3, _0200C8D8 ; =FUN_0200C8C8
- ldr r0, [r0, #0x0]
- bx r3
- nop
-_0200C8D8: .word FUN_0200C8C8
-
- thumb_func_start FUN_0200C8DC
-FUN_0200C8DC: ; 0x0200C8DC
- push {lr}
- sub sp, #0xc
- lsl r1, r1, #0xc
- str r1, [sp, #0x0]
- lsl r1, r2, #0xc
- str r1, [sp, #0x4]
- mov r1, #0x0
- str r1, [sp, #0x8]
- ldr r0, [r0, #0x0]
- add r1, sp, #0x0
- bl FUN_02020054
- add sp, #0xc
- pop {pc}
-
- thumb_func_start FUN_0200C8F8
-FUN_0200C8F8: ; 0x0200C8F8
- ldr r3, _0200C900 ; =0x02020359
- ldr r0, [r0, #0x0]
- bx r3
- nop
-_0200C900: .word 0x02020359
-
- thumb_func_start FUN_0200C904
-FUN_0200C904: ; 0x0200C904
- ldr r3, _0200C908 ; =FUN_02020398
- bx r3
- .balign 4
-_0200C908: .word FUN_02020398
-
- thumb_func_start FUN_0200C90C
-FUN_0200C90C: ; 0x0200C90C
- ldr r3, _0200C914 ; =FUN_0200C904
- ldr r0, [r0, #0x0]
- bx r3
- nop
-_0200C914: .word FUN_0200C904
-
- thumb_func_start FUN_0200C918
-FUN_0200C918: ; 0x0200C918
- push {r4-r7, lr}
- sub sp, #0xc
- add r4, r1, #0x0
- add r5, r0, #0x0
- ldr r0, [r4, #0xc]
- ldr r1, [sp, #0x28]
- add r6, r2, #0x0
- add r7, r3, #0x0
- bl FUN_0200945C
- cmp r0, #0x0
- bne _0200C936
- add sp, #0xc
- mov r0, #0x0
- pop {r4-r7, pc}
-_0200C936:
- ldr r0, [sp, #0x28]
- ldr r3, [sp, #0x20]
- str r0, [sp, #0x0]
- ldr r0, [sp, #0x24]
- add r1, r6, #0x0
- str r0, [sp, #0x4]
- ldr r0, [r5, #0x0]
- add r2, r7, #0x0
- str r0, [sp, #0x8]
- ldr r0, [r4, #0xc]
- bl FUN_02008F34
- add r5, r0, #0x0
- beq _0200C964
- bl FUN_02009AC4
- ldr r0, [r4, #0x24]
- add r1, r5, #0x0
- bl FUN_0200C474
- add sp, #0xc
- mov r0, #0x1
- pop {r4-r7, pc}
-_0200C964:
- bl ErrorHandling
- cmp r5, #0x0
- beq _0200C972
- add sp, #0xc
- mov r0, #0x1
- pop {r4-r7, pc}
-_0200C972:
- mov r0, #0x0
- add sp, #0xc
- pop {r4-r7, pc}
-
- thumb_func_start FUN_0200C978
-FUN_0200C978: ; 0x0200C978
- push {r4-r7, lr}
- sub sp, #0xc
- add r4, r1, #0x0
- add r5, r0, #0x0
- ldr r0, [r4, #0xc]
- ldr r1, [sp, #0x28]
- add r6, r2, #0x0
- add r7, r3, #0x0
- bl FUN_0200945C
- cmp r0, #0x0
- bne _0200C996
- add sp, #0xc
- mov r0, #0x0
- pop {r4-r7, pc}
-_0200C996:
- ldr r0, [sp, #0x28]
- ldr r3, [sp, #0x20]
- str r0, [sp, #0x0]
- ldr r0, [sp, #0x24]
- add r1, r6, #0x0
- str r0, [sp, #0x4]
- ldr r0, [r5, #0x0]
- add r2, r7, #0x0
- str r0, [sp, #0x8]
- ldr r0, [r4, #0xc]
- bl FUN_02008F34
- add r5, r0, #0x0
- beq _0200C9C4
- bl FUN_02009B78
- ldr r0, [r4, #0x24]
- add r1, r5, #0x0
- bl FUN_0200C474
- add sp, #0xc
- mov r0, #0x1
- pop {r4-r7, pc}
-_0200C9C4:
- bl ErrorHandling
- cmp r5, #0x0
- beq _0200C9D2
- add sp, #0xc
- mov r0, #0x1
- pop {r4-r7, pc}
-_0200C9D2:
- mov r0, #0x0
- add sp, #0xc
- pop {r4-r7, pc}
-
- thumb_func_start FUN_0200C9D8
-FUN_0200C9D8: ; 0x0200C9D8
- push {r4-r7, lr}
- sub sp, #0xc
- add r4, r1, #0x0
- add r5, r0, #0x0
- ldr r0, [r4, #0xc]
- ldr r1, [sp, #0x24]
- add r7, r2, #0x0
- str r3, [sp, #0x8]
- bl FUN_020094F0
- add r6, r0, #0x0
- ldr r0, [sp, #0x20]
- ldr r3, [sp, #0x8]
- str r0, [sp, #0x0]
- ldr r0, [r5, #0x0]
- add r1, r6, #0x0
- str r0, [sp, #0x4]
- ldr r0, [r4, #0xc]
- add r2, r7, #0x0
- bl FUN_020090FC
- add r0, r6, #0x0
- bl FUN_02009BE8
- add sp, #0xc
- pop {r4-r7, pc}
-
- thumb_func_start FUN_0200CA0C
-FUN_0200CA0C: ; 0x0200CA0C
- push {r4-r7, lr}
- sub sp, #0xc
- add r4, r1, #0x0
- add r5, r0, #0x0
- ldr r0, [r4, #0x10]
- ldr r1, [sp, #0x24]
- add r7, r2, #0x0
- str r3, [sp, #0x8]
- bl FUN_020094F0
- add r6, r0, #0x0
- ldr r0, [sp, #0x20]
- ldr r3, [sp, #0x8]
- str r0, [sp, #0x0]
- ldr r0, [r5, #0x0]
- add r1, r6, #0x0
- str r0, [sp, #0x4]
- ldr r0, [r4, #0x10]
- add r2, r7, #0x0
- bl FUN_02009168
- add r0, r6, #0x0
- bl FUN_02009DE0
- add sp, #0xc
- pop {r4-r7, pc}
-
- thumb_func_start FUN_0200CA40
-FUN_0200CA40: ; 0x0200CA40
- ldr r0, [r0, #0x0]
- bx lr
-
- thumb_func_start FUN_0200CA44
-FUN_0200CA44: ; 0x0200CA44
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r0, _0200CA5C ; =0x021C48B8
- add r4, r1, #0x0
- add r3, r2, #0x0
- ldr r0, [r0, #0x18]
- add r1, r5, #0x0
- add r2, r4, #0x0
- bl FUN_0201B60C
- pop {r3-r5, pc}
- nop
-_0200CA5C: .word 0x021C48B8
-
- thumb_func_start FUN_0200CA60
-FUN_0200CA60: ; 0x0200CA60
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r0, _0200CA78 ; =0x021C48B8
- add r4, r1, #0x0
- add r3, r2, #0x0
- ldr r0, [r0, #0x1c]
- add r1, r5, #0x0
- add r2, r4, #0x0
- bl FUN_0201B60C
- pop {r3-r5, pc}
- nop
-_0200CA78: .word 0x021C48B8
-
- thumb_func_start FUN_0200CA7C
-FUN_0200CA7C: ; 0x0200CA7C
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r0, _0200CA94 ; =0x021C48B8
- add r4, r1, #0x0
- add r3, r2, #0x0
- ldr r0, [r0, #0x24]
- add r1, r5, #0x0
- add r2, r4, #0x0
- bl FUN_0201B60C
- pop {r3-r5, pc}
- nop
-_0200CA94: .word 0x021C48B8
-
- thumb_func_start FUN_0200CA98
-FUN_0200CA98: ; 0x0200CA98
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r0, _0200CAB0 ; =0x021C48B8
- add r4, r1, #0x0
- add r3, r2, #0x0
- ldr r0, [r0, #0x20]
- add r1, r5, #0x0
- add r2, r4, #0x0
- bl FUN_0201B60C
- pop {r3-r5, pc}
- nop
-_0200CAB0: .word 0x021C48B8
-
- thumb_func_start FUN_0200CAB4
-FUN_0200CAB4: ; 0x0200CAB4
- ldr r3, _0200CAB8 ; =FUN_0201B6A0
- bx r3
- .balign 4
-_0200CAB8: .word FUN_0201B6A0
-
- thumb_func_start FUN_0200CABC
-FUN_0200CABC: ; 0x0200CABC
- push {r3-r5, lr}
- sub sp, #0x10
- add r5, r0, #0x0
- add r4, r1, #0x0
- cmp r3, #0x0
- str r2, [sp, #0x0]
- bne _0200CAE2
- mov r1, #0x0
- str r1, [sp, #0x4]
- ldr r0, [sp, #0x20]
- str r1, [sp, #0x8]
- str r0, [sp, #0xc]
- mov r0, #0x26
- add r2, r5, #0x0
- add r3, r4, #0x0
- bl FUN_0200687C
- add sp, #0x10
- pop {r3-r5, pc}
-_0200CAE2:
- mov r0, #0x0
- str r0, [sp, #0x4]
- str r0, [sp, #0x8]
- ldr r0, [sp, #0x20]
- mov r1, #0x1
- str r0, [sp, #0xc]
- mov r0, #0x26
- add r2, r5, #0x0
- add r3, r4, #0x0
- bl FUN_0200687C
- add sp, #0x10
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0200CAFC
-FUN_0200CAFC: ; 0x0200CAFC
- mov r0, #0x18
- bx lr
-
- thumb_func_start FUN_0200CB00
-FUN_0200CB00: ; 0x0200CB00
- push {r4-r6, lr}
- sub sp, #0x10
- add r6, r0, #0x0
- add r0, sp, #0x10
- ldrb r0, [r0, #0x10]
- add r5, r1, #0x0
- add r4, r3, #0x0
- cmp r0, #0x0
- beq _0200CB16
- mov r1, #0x1
- b _0200CB18
-_0200CB16:
- mov r1, #0x0
-_0200CB18:
- str r2, [sp, #0x0]
- mov r0, #0x0
- str r0, [sp, #0x4]
- str r0, [sp, #0x8]
- ldr r0, [sp, #0x24]
- add r2, r6, #0x0
- str r0, [sp, #0xc]
- mov r0, #0x26
- add r3, r5, #0x0
- bl FUN_0200687C
- add r0, sp, #0x10
- ldrb r0, [r0, #0x10]
- cmp r0, #0x2
- bne _0200CB3A
- mov r1, #0x2d
- b _0200CB3C
-_0200CB3A:
- mov r1, #0x18
-_0200CB3C:
- cmp r5, #0x4
- bhs _0200CB56
- mov r0, #0x20
- str r0, [sp, #0x0]
- ldr r0, [sp, #0x24]
- mov r2, #0x0
- str r0, [sp, #0x4]
- mov r0, #0x26
- lsl r3, r4, #0x5
- bl FUN_02006930
- add sp, #0x10
- pop {r4-r6, pc}
-_0200CB56:
- mov r0, #0x20
- str r0, [sp, #0x0]
- ldr r0, [sp, #0x24]
- mov r2, #0x4
- str r0, [sp, #0x4]
- mov r0, #0x26
- lsl r3, r4, #0x5
- bl FUN_02006930
- add sp, #0x10
- pop {r4-r6, pc}
-
- thumb_func_start FUN_0200CB6C
-FUN_0200CB6C: ; 0x0200CB6C
- push {r4-r7, lr}
- sub sp, #0x24
- str r1, [sp, #0x14]
- str r2, [sp, #0x18]
- str r3, [sp, #0x1c]
- ldr r2, [sp, #0x1c]
- ldr r5, [sp, #0x40]
- sub r7, r2, #0x1
- ldr r2, [sp, #0x18]
- str r0, [sp, #0x10]
- sub r6, r2, #0x1
- lsl r2, r7, #0x18
- lsr r2, r2, #0x18
- str r2, [sp, #0x0]
- mov r2, #0x1
- str r2, [sp, #0x4]
- str r2, [sp, #0x8]
- lsl r3, r6, #0x18
- str r5, [sp, #0xc]
- add r2, sp, #0x28
- ldrh r2, [r2, #0x1c]
- lsr r3, r3, #0x18
- bl FUN_02018540
- add r1, sp, #0x28
- ldrh r4, [r1, #0x1c]
- lsl r0, r7, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x0]
- ldrb r0, [r1, #0x10]
- add r2, r4, #0x1
- lsl r2, r2, #0x10
- str r0, [sp, #0x4]
- mov r0, #0x1
- str r0, [sp, #0x8]
- str r5, [sp, #0xc]
- ldr r0, [sp, #0x10]
- ldr r1, [sp, #0x14]
- ldr r3, [sp, #0x18]
- lsr r2, r2, #0x10
- bl FUN_02018540
- add r0, sp, #0x28
- ldrb r1, [r0, #0x10]
- ldr r0, [sp, #0x18]
- add r2, r4, #0x2
- add r0, r0, r1
- str r0, [sp, #0x20]
- lsl r0, r7, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- str r0, [sp, #0x8]
- ldr r3, [sp, #0x20]
- str r5, [sp, #0xc]
- lsl r2, r2, #0x10
- lsl r3, r3, #0x18
- ldr r0, [sp, #0x10]
- ldr r1, [sp, #0x14]
- lsr r2, r2, #0x10
- lsr r3, r3, #0x18
- bl FUN_02018540
- ldr r0, [sp, #0x1c]
- add r2, r4, #0x3
- str r0, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- add r0, sp, #0x28
- ldrb r0, [r0, #0x14]
- lsl r2, r2, #0x10
- lsl r3, r6, #0x18
- str r0, [sp, #0x8]
- str r5, [sp, #0xc]
- ldr r0, [sp, #0x10]
- ldr r1, [sp, #0x14]
- lsr r2, r2, #0x10
- lsr r3, r3, #0x18
- bl FUN_02018540
- ldr r0, [sp, #0x1c]
- ldr r3, [sp, #0x20]
- str r0, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- add r0, sp, #0x28
- ldrb r0, [r0, #0x14]
- add r2, r4, #0x5
- lsl r2, r2, #0x10
- str r0, [sp, #0x8]
- str r5, [sp, #0xc]
- lsl r3, r3, #0x18
- ldr r0, [sp, #0x10]
- ldr r1, [sp, #0x14]
- lsr r2, r2, #0x10
- lsr r3, r3, #0x18
- bl FUN_02018540
- add r0, sp, #0x28
- ldrb r1, [r0, #0x14]
- ldr r0, [sp, #0x1c]
- add r2, r4, #0x6
- add r7, r0, r1
- lsl r0, r7, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- str r0, [sp, #0x8]
- str r5, [sp, #0xc]
- lsl r2, r2, #0x10
- lsl r3, r6, #0x18
- ldr r0, [sp, #0x10]
- ldr r1, [sp, #0x14]
- lsr r2, r2, #0x10
- lsr r3, r3, #0x18
- bl FUN_02018540
- lsl r0, r7, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x0]
- add r0, sp, #0x28
- ldrb r0, [r0, #0x10]
- add r2, r4, #0x7
- lsl r2, r2, #0x10
- str r0, [sp, #0x4]
- mov r0, #0x1
- str r0, [sp, #0x8]
- str r5, [sp, #0xc]
- ldr r0, [sp, #0x10]
- ldr r1, [sp, #0x14]
- ldr r3, [sp, #0x18]
- lsr r2, r2, #0x10
- bl FUN_02018540
- lsl r0, r7, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- str r0, [sp, #0x8]
- ldr r3, [sp, #0x20]
- str r5, [sp, #0xc]
- add r4, #0x8
- lsl r2, r4, #0x10
- lsl r3, r3, #0x18
- ldr r0, [sp, #0x10]
- ldr r1, [sp, #0x14]
- lsr r2, r2, #0x10
- lsr r3, r3, #0x18
- bl FUN_02018540
- add sp, #0x24
- pop {r4-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0200CCA4
-FUN_0200CCA4: ; 0x0200CCA4
- push {r3-r7, lr}
- sub sp, #0x20
- add r5, r0, #0x0
- add r4, r1, #0x0
- add r6, r2, #0x0
- add r7, r3, #0x0
- bl FUN_0201AB08
- str r0, [sp, #0x10]
- add r0, r5, #0x0
- bl FUN_0201AB14
- str r0, [sp, #0x14]
- add r0, r5, #0x0
- bl FUN_0201AB18
- str r0, [sp, #0x18]
- add r0, r5, #0x0
- bl FUN_0201AB0C
- str r0, [sp, #0x1c]
- add r0, r5, #0x0
- bl FUN_0201AB10
- ldr r1, [sp, #0x1c]
- ldr r2, [sp, #0x14]
- str r1, [sp, #0x0]
- str r0, [sp, #0x4]
- str r7, [sp, #0x8]
- str r6, [sp, #0xc]
- ldr r0, [r5, #0x0]
- ldr r1, [sp, #0x10]
- ldr r3, [sp, #0x18]
- bl FUN_0200CB6C
- cmp r4, #0x0
- bne _0200CCF4
- add r0, r5, #0x0
- bl FUN_020191D0
-_0200CCF4:
- add sp, #0x20
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0200CCF8
-FUN_0200CCF8: ; 0x0200CCF8
- push {r3-r7, lr}
- sub sp, #0x18
- add r5, r0, #0x0
- add r4, r1, #0x0
- bl FUN_0201AB08
- str r0, [sp, #0x10]
- add r0, r5, #0x0
- bl FUN_0201AB14
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0201AB18
- add r7, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0201AB0C
- str r0, [sp, #0x14]
- add r0, r5, #0x0
- bl FUN_0201AB10
- sub r1, r7, #0x1
- lsl r1, r1, #0x18
- lsr r1, r1, #0x18
- str r1, [sp, #0x0]
- ldr r1, [sp, #0x14]
- add r0, r0, #0x2
- add r1, r1, #0x2
- lsl r1, r1, #0x18
- lsr r1, r1, #0x18
- lsl r0, r0, #0x18
- str r1, [sp, #0x4]
- lsr r0, r0, #0x18
- sub r3, r6, #0x1
- lsl r3, r3, #0x18
- str r0, [sp, #0x8]
- mov r2, #0x0
- str r2, [sp, #0xc]
- ldr r0, [r5, #0x0]
- ldr r1, [sp, #0x10]
- lsr r3, r3, #0x18
- bl FUN_02018540
- cmp r4, #0x0
- bne _0200CD5A
- add r0, r5, #0x0
- bl FUN_02019570
-_0200CD5A:
- add sp, #0x18
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0200CD60
-FUN_0200CD60: ; 0x0200CD60
- add r0, r0, #0x2
- bx lr
-
- thumb_func_start FUN_0200CD64
-FUN_0200CD64: ; 0x0200CD64
- add r0, #0x19
- bx lr
-
- thumb_func_start FUN_0200CD68
-FUN_0200CD68: ; 0x0200CD68
- push {r4-r7, lr}
- sub sp, #0x14
- str r0, [sp, #0x10]
- add r0, sp, #0x18
- ldrb r7, [r0, #0x10]
- add r6, r2, #0x0
- add r5, r1, #0x0
- add r0, r7, #0x0
- add r4, r3, #0x0
- bl FUN_0200CD60
- add r1, r0, #0x0
- str r6, [sp, #0x0]
- mov r0, #0x0
- str r0, [sp, #0x4]
- str r0, [sp, #0x8]
- ldr r0, [sp, #0x2c]
- ldr r2, [sp, #0x10]
- str r0, [sp, #0xc]
- mov r0, #0x26
- add r3, r5, #0x0
- bl FUN_0200687C
- cmp r5, #0x4
- bhs _0200CDB8
- add r0, r7, #0x0
- bl FUN_0200CD64
- add r1, r0, #0x0
- mov r0, #0x20
- str r0, [sp, #0x0]
- ldr r0, [sp, #0x2c]
- mov r2, #0x0
- str r0, [sp, #0x4]
- mov r0, #0x26
- lsl r3, r4, #0x5
- bl FUN_02006930
- add sp, #0x14
- pop {r4-r7, pc}
-_0200CDB8:
- add r0, r7, #0x0
- bl FUN_0200CD64
- add r1, r0, #0x0
- mov r0, #0x20
- str r0, [sp, #0x0]
- ldr r0, [sp, #0x2c]
- mov r2, #0x4
- str r0, [sp, #0x4]
- mov r0, #0x26
- lsl r3, r4, #0x5
- bl FUN_02006930
- add sp, #0x14
- pop {r4-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0200CDD8
-FUN_0200CDD8: ; 0x0200CDD8
- push {r3-r7, lr}
- sub sp, #0x30
- str r1, [sp, #0x10]
- str r2, [sp, #0x14]
- str r3, [sp, #0x18]
- ldr r2, [sp, #0x4c]
- add r7, r0, #0x0
- str r2, [sp, #0x4c]
- ldr r2, [sp, #0x18]
- ldr r5, [sp, #0x50]
- sub r6, r2, #0x1
- ldr r2, [sp, #0x14]
- sub r2, r2, #0x2
- str r2, [sp, #0x28]
- lsl r2, r6, #0x18
- lsr r2, r2, #0x18
- str r2, [sp, #0x0]
- mov r2, #0x1
- str r2, [sp, #0x4]
- str r2, [sp, #0x8]
- ldr r3, [sp, #0x28]
- str r5, [sp, #0xc]
- add r2, sp, #0x38
- lsl r3, r3, #0x18
- ldrh r2, [r2, #0x1c]
- lsr r3, r3, #0x18
- bl FUN_02018540
- ldr r0, [sp, #0x14]
- sub r0, r0, #0x1
- str r0, [sp, #0x24]
- add r0, sp, #0x38
- ldrh r4, [r0, #0x1c]
- lsl r0, r6, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- str r0, [sp, #0x8]
- ldr r3, [sp, #0x24]
- str r5, [sp, #0xc]
- add r2, r4, #0x1
- lsl r2, r2, #0x10
- lsl r3, r3, #0x18
- ldr r1, [sp, #0x10]
- add r0, r7, #0x0
- lsr r2, r2, #0x10
- lsr r3, r3, #0x18
- bl FUN_02018540
- lsl r0, r6, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x0]
- add r0, sp, #0x38
- ldrb r0, [r0, #0x10]
- add r2, r4, #0x2
- lsl r2, r2, #0x10
- str r0, [sp, #0x4]
- mov r0, #0x1
- str r0, [sp, #0x8]
- str r5, [sp, #0xc]
- ldr r1, [sp, #0x10]
- ldr r3, [sp, #0x14]
- add r0, r7, #0x0
- lsr r2, r2, #0x10
- bl FUN_02018540
- add r0, sp, #0x38
- ldrb r1, [r0, #0x10]
- ldr r0, [sp, #0x14]
- add r2, r4, #0x3
- add r0, r0, r1
- str r0, [sp, #0x2c]
- lsl r0, r6, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- str r0, [sp, #0x8]
- ldr r3, [sp, #0x2c]
- str r5, [sp, #0xc]
- lsl r2, r2, #0x10
- lsl r3, r3, #0x18
- ldr r1, [sp, #0x10]
- add r0, r7, #0x0
- lsr r2, r2, #0x10
- lsr r3, r3, #0x18
- bl FUN_02018540
- ldr r0, [sp, #0x2c]
- add r2, r4, #0x4
- add r0, r0, #0x1
- str r0, [sp, #0x20]
- lsl r0, r6, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- str r0, [sp, #0x8]
- ldr r3, [sp, #0x20]
- str r5, [sp, #0xc]
- lsl r2, r2, #0x10
- lsl r3, r3, #0x18
- ldr r1, [sp, #0x10]
- add r0, r7, #0x0
- lsr r2, r2, #0x10
- lsr r3, r3, #0x18
- bl FUN_02018540
- ldr r0, [sp, #0x2c]
- add r2, r4, #0x5
- add r0, r0, #0x2
- str r0, [sp, #0x1c]
- lsl r0, r6, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- str r0, [sp, #0x8]
- ldr r3, [sp, #0x1c]
- str r5, [sp, #0xc]
- lsl r2, r2, #0x10
- lsl r3, r3, #0x18
- ldr r1, [sp, #0x10]
- add r0, r7, #0x0
- lsr r2, r2, #0x10
- lsr r3, r3, #0x18
- bl FUN_02018540
- ldr r0, [sp, #0x18]
- ldr r3, [sp, #0x28]
- str r0, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- ldr r0, [sp, #0x4c]
- add r2, r4, #0x6
- str r0, [sp, #0x8]
- str r5, [sp, #0xc]
- lsl r2, r2, #0x10
- lsl r3, r3, #0x18
- ldr r1, [sp, #0x10]
- add r0, r7, #0x0
- lsr r2, r2, #0x10
- lsr r3, r3, #0x18
- bl FUN_02018540
- ldr r0, [sp, #0x18]
- ldr r3, [sp, #0x24]
- str r0, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- ldr r0, [sp, #0x4c]
- add r2, r4, #0x7
- str r0, [sp, #0x8]
- str r5, [sp, #0xc]
- lsl r2, r2, #0x10
- lsl r3, r3, #0x18
- ldr r1, [sp, #0x10]
- add r0, r7, #0x0
- lsr r2, r2, #0x10
- lsr r3, r3, #0x18
- bl FUN_02018540
- ldr r0, [sp, #0x18]
- add r2, r4, #0x0
- str r0, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- ldr r0, [sp, #0x4c]
- ldr r3, [sp, #0x2c]
- str r0, [sp, #0x8]
- str r5, [sp, #0xc]
- add r2, #0x9
- lsl r2, r2, #0x10
- lsl r3, r3, #0x18
- ldr r1, [sp, #0x10]
- add r0, r7, #0x0
- lsr r2, r2, #0x10
- lsr r3, r3, #0x18
- bl FUN_02018540
- ldr r0, [sp, #0x18]
- add r2, r4, #0x0
- str r0, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- ldr r0, [sp, #0x4c]
- ldr r3, [sp, #0x20]
- str r0, [sp, #0x8]
- str r5, [sp, #0xc]
- add r2, #0xa
- lsl r2, r2, #0x10
- lsl r3, r3, #0x18
- ldr r1, [sp, #0x10]
- add r0, r7, #0x0
- lsr r2, r2, #0x10
- lsr r3, r3, #0x18
- bl FUN_02018540
- ldr r0, [sp, #0x18]
- add r2, r4, #0x0
- str r0, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- ldr r0, [sp, #0x4c]
- ldr r3, [sp, #0x1c]
- str r0, [sp, #0x8]
- str r5, [sp, #0xc]
- add r2, #0xb
- lsl r2, r2, #0x10
- lsl r3, r3, #0x18
- ldr r1, [sp, #0x10]
- add r0, r7, #0x0
- lsr r2, r2, #0x10
- lsr r3, r3, #0x18
- bl FUN_02018540
- add r2, r4, #0x0
- ldr r3, [sp, #0x28]
- add r2, #0xc
- lsl r2, r2, #0x10
- lsl r3, r3, #0x18
- ldr r1, [sp, #0x18]
- ldr r0, [sp, #0x4c]
- lsr r2, r2, #0x10
- add r6, r1, r0
- lsl r0, r6, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- str r0, [sp, #0x8]
- str r5, [sp, #0xc]
- ldr r1, [sp, #0x10]
- add r0, r7, #0x0
- lsr r3, r3, #0x18
- bl FUN_02018540
- lsl r0, r6, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- str r0, [sp, #0x8]
- add r2, r4, #0x0
- ldr r3, [sp, #0x24]
- str r5, [sp, #0xc]
- add r2, #0xd
- lsl r2, r2, #0x10
- lsl r3, r3, #0x18
- ldr r1, [sp, #0x10]
- add r0, r7, #0x0
- lsr r2, r2, #0x10
- lsr r3, r3, #0x18
- bl FUN_02018540
- lsl r0, r6, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x0]
- add r0, sp, #0x38
- ldrb r0, [r0, #0x10]
- add r2, r4, #0x0
- add r2, #0xe
- str r0, [sp, #0x4]
- mov r0, #0x1
- str r0, [sp, #0x8]
- str r5, [sp, #0xc]
- lsl r2, r2, #0x10
- ldr r1, [sp, #0x10]
- ldr r3, [sp, #0x14]
- add r0, r7, #0x0
- lsr r2, r2, #0x10
- bl FUN_02018540
- lsl r0, r6, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- str r0, [sp, #0x8]
- add r2, r4, #0x0
- ldr r3, [sp, #0x2c]
- str r5, [sp, #0xc]
- add r2, #0xf
- lsl r2, r2, #0x10
- lsl r3, r3, #0x18
- ldr r1, [sp, #0x10]
- add r0, r7, #0x0
- lsr r2, r2, #0x10
- lsr r3, r3, #0x18
- bl FUN_02018540
- lsl r0, r6, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- str r0, [sp, #0x8]
- add r2, r4, #0x0
- ldr r3, [sp, #0x20]
- str r5, [sp, #0xc]
- add r2, #0x10
- lsl r2, r2, #0x10
- lsl r3, r3, #0x18
- ldr r1, [sp, #0x10]
- add r0, r7, #0x0
- lsr r2, r2, #0x10
- lsr r3, r3, #0x18
- bl FUN_02018540
- lsl r0, r6, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- str r0, [sp, #0x8]
- ldr r3, [sp, #0x1c]
- str r5, [sp, #0xc]
- add r4, #0x11
- lsl r2, r4, #0x10
- lsl r3, r3, #0x18
- ldr r1, [sp, #0x10]
- add r0, r7, #0x0
- lsr r2, r2, #0x10
- lsr r3, r3, #0x18
- bl FUN_02018540
- add sp, #0x30
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0200D06C
-FUN_0200D06C: ; 0x0200D06C
- push {r4-r7, lr}
- sub sp, #0x1c
- add r5, r0, #0x0
- add r4, r1, #0x0
- add r6, r2, #0x0
- bl FUN_0201AB08
- str r0, [sp, #0x10]
- add r0, r5, #0x0
- bl FUN_0201AB14
- str r0, [sp, #0x14]
- add r0, r5, #0x0
- bl FUN_0201AB18
- str r0, [sp, #0x18]
- add r0, r5, #0x0
- bl FUN_0201AB0C
- add r7, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0201AB10
- str r7, [sp, #0x0]
- str r0, [sp, #0x4]
- lsl r0, r6, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x8]
- lsl r0, r4, #0x10
- lsr r0, r0, #0x10
- str r0, [sp, #0xc]
- ldr r0, [r5, #0x0]
- ldr r1, [sp, #0x10]
- ldr r2, [sp, #0x14]
- ldr r3, [sp, #0x18]
- bl FUN_0200CDD8
- add sp, #0x1c
- pop {r4-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0200D0BC
-FUN_0200D0BC: ; 0x0200D0BC
- push {r4-r6, lr}
- add r6, r2, #0x0
- add r4, r1, #0x0
- add r1, r6, #0x0
- add r2, r3, #0x0
- add r5, r0, #0x0
- bl FUN_0200D06C
- cmp r4, #0x0
- bne _0200D0D6
- add r0, r5, #0x0
- bl FUN_020191D0
-_0200D0D6:
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_0200D18C
- pop {r4-r6, pc}
-
- thumb_func_start FUN_0200D0E0
-FUN_0200D0E0: ; 0x0200D0E0
- push {r3-r7, lr}
- sub sp, #0x18
- add r5, r0, #0x0
- add r4, r1, #0x0
- bl FUN_0201AB08
- str r0, [sp, #0x10]
- add r0, r5, #0x0
- bl FUN_0201AB14
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0201AB18
- add r7, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0201AB0C
- str r0, [sp, #0x14]
- add r0, r5, #0x0
- bl FUN_0201AB10
- sub r1, r7, #0x1
- lsl r1, r1, #0x18
- lsr r1, r1, #0x18
- str r1, [sp, #0x0]
- ldr r1, [sp, #0x14]
- add r0, r0, #0x2
- add r1, r1, #0x5
- lsl r1, r1, #0x18
- lsr r1, r1, #0x18
- lsl r0, r0, #0x18
- str r1, [sp, #0x4]
- lsr r0, r0, #0x18
- sub r3, r6, #0x2
- lsl r3, r3, #0x18
- str r0, [sp, #0x8]
- mov r2, #0x0
- str r2, [sp, #0xc]
- ldr r0, [r5, #0x0]
- ldr r1, [sp, #0x10]
- lsr r3, r3, #0x18
- bl FUN_02018540
- cmp r4, #0x0
- bne _0200D142
- add r0, r5, #0x0
- bl FUN_02019570
-_0200D142:
- add sp, #0x18
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0200D148
-FUN_0200D148: ; 0x0200D148
- push {r4-r5, lr}
- sub sp, #0x24
- add r5, r1, #0x0
- str r0, [sp, #0x1c]
- add r1, sp, #0x14
- strh r3, [r1, #0xc]
- add r4, r2, #0x0
- add r0, sp, #0x20
- ldrh r2, [r0, #0x10]
- add r3, r4, #0x0
- strh r2, [r1, #0xe]
- ldr r2, [sp, #0x34]
- str r2, [sp, #0x14]
- ldrh r2, [r0, #0x18]
- strh r2, [r1, #0x4]
- ldrh r2, [r0, #0x1c]
- strh r2, [r1, #0x6]
- ldrh r1, [r0, #0x20]
- add r2, r5, #0x0
- str r1, [sp, #0x0]
- ldrh r1, [r0, #0x24]
- str r1, [sp, #0x4]
- ldrh r1, [r0, #0x28]
- str r1, [sp, #0x8]
- ldrh r0, [r0, #0x2c]
- add r1, sp, #0x14
- str r0, [sp, #0xc]
- mov r0, #0x0
- str r0, [sp, #0x10]
- add r0, sp, #0x1c
- bl FUN_02018A60
- add sp, #0x24
- pop {r4-r5, pc}
-
- thumb_func_start FUN_0200D18C
-FUN_0200D18C: ; 0x0200D18C
- push {r3-r7, lr}
- sub sp, #0x40
- str r1, [sp, #0x24]
- str r0, [sp, #0x20]
- ldr r0, [r0, #0x0]
- bl FUN_02016BB8
- add r6, r0, #0x0
- ldr r0, [sp, #0x20]
- bl FUN_0201AB08
- mov r1, #0x6
- str r0, [sp, #0x28]
- add r0, r6, #0x0
- lsl r1, r1, #0x6
- bl FUN_02016998
- add r5, r0, #0x0
- ldr r0, [sp, #0x28]
- bl FUN_020187B0
- add r4, r0, #0x0
- str r6, [sp, #0x0]
- mov r0, #0x26
- mov r1, #0x16
- mov r2, #0x0
- add r3, sp, #0x3c
- bl FUN_02006BB0
- str r0, [sp, #0x2c]
- ldr r0, [sp, #0x3c]
- mov r7, #0x0
- ldr r0, [r0, #0x14]
- str r0, [sp, #0x30]
- ldr r0, [sp, #0x24]
- add r0, #0xa
- lsl r0, r0, #0x5
- str r0, [sp, #0x34]
- ldr r0, [sp, #0x24]
- add r0, #0xb
- lsl r0, r0, #0x5
- str r0, [sp, #0x38]
-_0200D1E0:
- ldr r1, [sp, #0x34]
- lsl r6, r7, #0x7
- add r0, r5, r6
- add r1, r4, r1
- mov r2, #0x20
- blx memcpy
- add r0, r6, #0x0
- ldr r1, [sp, #0x38]
- add r0, #0x20
- add r0, r5, r0
- add r1, r4, r1
- mov r2, #0x20
- blx memcpy
- add r0, r6, #0x0
- ldr r1, [sp, #0x34]
- add r0, #0x40
- add r0, r5, r0
- add r1, r4, r1
- mov r2, #0x20
- blx memcpy
- ldr r1, [sp, #0x38]
- add r6, #0x60
- add r0, r5, r6
- add r1, r4, r1
- mov r2, #0x20
- blx memcpy
- add r0, r7, #0x1
- lsl r0, r0, #0x18
- lsr r7, r0, #0x18
- cmp r7, #0x3
- blo _0200D1E0
- mov r1, #0x30
- str r1, [sp, #0x0]
- str r5, [sp, #0x4]
- mov r3, #0xc
- str r3, [sp, #0x8]
- str r1, [sp, #0xc]
- mov r0, #0x1
- str r0, [sp, #0x10]
- mov r2, #0x0
- str r2, [sp, #0x14]
- str r3, [sp, #0x18]
- str r1, [sp, #0x1c]
- ldr r0, [sp, #0x30]
- mov r1, #0x4
- bl FUN_0200D148
- ldr r0, [sp, #0x24]
- mov r3, #0x6
- add r0, #0x12
- str r0, [sp, #0x0]
- ldr r0, [sp, #0x20]
- ldr r1, [sp, #0x28]
- ldr r0, [r0, #0x0]
- add r2, r5, #0x0
- lsl r3, r3, #0x6
- bl FUN_02017E14
- ldr r0, [sp, #0x24]
- bl FUN_02002840
- ldr r0, [sp, #0x2c]
- bl FUN_02016A18
- add r0, r5, #0x0
- bl FUN_02016A18
- add sp, #0x40
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0200D274
-FUN_0200D274: ; 0x0200D274
- push {r4-r7, lr}
- sub sp, #0x14
- str r0, [sp, #0x4]
- str r1, [sp, #0x8]
- add r0, sp, #0x18
- ldrb r0, [r0, #0x10]
- add r7, r2, #0x0
- add r5, r3, #0x0
- bl FUN_0200CD60
- add r1, r0, #0x0
- ldr r0, [sp, #0x2c]
- mov r2, #0x0
- str r0, [sp, #0x0]
- mov r0, #0x26
- add r3, sp, #0x10
- bl FUN_02006BB0
- str r0, [sp, #0xc]
- mov r1, #0x9
- ldr r0, [sp, #0x2c]
- lsl r1, r1, #0x6
- bl FUN_02016998
- ldr r1, [sp, #0x10]
- mov r2, #0x9
- ldr r1, [r1, #0x14]
- lsl r2, r2, #0x6
- add r4, r0, #0x0
- blx memcpy
- mov r0, #0x9
- mov r3, #0x0
- lsl r0, r0, #0x6
- mov r1, #0xf
-_0200D2BA:
- ldrb r2, [r4, r3]
- lsl r6, r2, #0x14
- and r2, r1
- lsl r2, r2, #0x18
- lsr r6, r6, #0x18
- lsr r2, r2, #0x18
- cmp r6, #0x0
- bne _0200D2CC
- add r6, r5, #0x0
-_0200D2CC:
- cmp r2, #0x0
- bne _0200D2D2
- add r2, r5, #0x0
-_0200D2D2:
- lsl r6, r6, #0x4
- orr r2, r6
- strb r2, [r4, r3]
- add r3, r3, #0x1
- cmp r3, r0
- blo _0200D2BA
- str r7, [sp, #0x0]
- mov r3, #0x9
- ldr r0, [sp, #0x4]
- ldr r1, [sp, #0x8]
- add r2, r4, #0x0
- lsl r3, r3, #0x6
- bl FUN_02017E14
- ldr r0, [sp, #0xc]
- bl FUN_02016A18
- add r0, r4, #0x0
- bl FUN_02016A18
- add sp, #0x14
- pop {r4-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0200D300
-FUN_0200D300: ; 0x0200D300
- push {r4-r7, lr}
- sub sp, #0x1c
- str r0, [sp, #0x10]
- add r5, r2, #0x0
- mov r0, #0xf
- add r6, r1, #0x0
- add r7, r3, #0x0
- str r5, [sp, #0x0]
- lsl r0, r0, #0x6
- str r0, [sp, #0x4]
- mov r1, #0x0
- ldr r4, [sp, #0x38]
- str r1, [sp, #0x8]
- ldr r2, [sp, #0x10]
- mov r0, #0x24
- add r3, r6, #0x0
- str r4, [sp, #0xc]
- bl FUN_0200687C
- mov r0, #0x24
- mov r1, #0x1
- add r2, r4, #0x0
- bl LoadFromNarc_2
- add r1, sp, #0x18
- str r0, [sp, #0x14]
- blx FUN_020B0138
- add r2, sp, #0x20
- ldr r1, [sp, #0x18]
- ldrb r2, [r2, #0x10]
- lsl r3, r7, #0x15
- ldr r1, [r1, #0xc]
- lsl r2, r2, #0x5
- add r1, r1, r2
- add r0, r6, #0x0
- mov r2, #0x20
- lsr r3, r3, #0x10
- bl FUN_02017FB4
- ldr r1, [sp, #0x14]
- add r0, r4, #0x0
- bl FUN_02016A8C
- add r0, sp, #0x20
- ldrb r3, [r0, #0x10]
- cmp r3, #0x1
- bhi _0200D374
- ldrh r0, [r0, #0x14]
- add r5, #0x1e
- lsl r2, r5, #0x10
- str r0, [sp, #0x0]
- ldr r0, [sp, #0x10]
- add r1, r6, #0x0
- lsr r2, r2, #0x10
- str r4, [sp, #0x4]
- bl FUN_0200D378
-_0200D374:
- add sp, #0x1c
- pop {r4-r7, pc}
-
- thumb_func_start FUN_0200D378
-FUN_0200D378: ; 0x0200D378
- push {r3-r5, lr}
- sub sp, #0x10
- add r4, r1, #0x0
- add r5, r0, #0x0
- ldr r1, [sp, #0x20]
- cmp r3, #0x0
- bne _0200D38C
- add r1, #0x21
- lsl r0, r1, #0x10
- b _0200D390
-_0200D38C:
- add r0, r1, #0x2
- lsl r0, r0, #0x10
-_0200D390:
- lsr r1, r0, #0x10
- mov r0, #0x3
- str r2, [sp, #0x0]
- lsl r0, r0, #0x8
- str r0, [sp, #0x4]
- mov r0, #0x0
- str r0, [sp, #0x8]
- ldr r0, [sp, #0x24]
- add r2, r5, #0x0
- str r0, [sp, #0xc]
- mov r0, #0x24
- add r3, r4, #0x0
- bl FUN_0200687C
- add sp, #0x10
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0200D3B0
-FUN_0200D3B0: ; 0x0200D3B0
- push {r3-r7, lr}
- sub sp, #0x40
- str r1, [sp, #0x14]
- str r2, [sp, #0x18]
- str r3, [sp, #0x1c]
- ldr r2, [sp, #0x1c]
- ldr r6, [sp, #0x5c]
- sub r7, r2, #0x1
- ldr r2, [sp, #0x18]
- ldr r5, [sp, #0x60]
- str r2, [sp, #0x34]
- sub r2, #0x9
- str r2, [sp, #0x34]
- lsl r2, r7, #0x18
- lsr r2, r2, #0x18
- str r2, [sp, #0x0]
- mov r2, #0x1
- str r2, [sp, #0x4]
- str r2, [sp, #0x8]
- ldr r3, [sp, #0x34]
- str r5, [sp, #0xc]
- add r2, sp, #0x48
- lsl r3, r3, #0x18
- ldrh r2, [r2, #0x1c]
- lsr r3, r3, #0x18
- str r0, [sp, #0x10]
- bl FUN_02018540
- ldr r0, [sp, #0x18]
- str r0, [sp, #0x30]
- sub r0, #0x8
- str r0, [sp, #0x30]
- add r0, sp, #0x48
- ldrh r4, [r0, #0x1c]
- lsl r0, r7, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- str r0, [sp, #0x8]
- ldr r3, [sp, #0x30]
- str r5, [sp, #0xc]
- add r2, r4, #0x1
- lsl r2, r2, #0x10
- lsl r3, r3, #0x18
- ldr r0, [sp, #0x10]
- ldr r1, [sp, #0x14]
- lsr r2, r2, #0x10
- lsr r3, r3, #0x18
- bl FUN_02018540
- add r0, sp, #0x48
- ldrb r0, [r0, #0x10]
- add r2, r4, #0x2
- lsl r2, r2, #0x10
- str r0, [sp, #0x3c]
- add r0, r0, #0x7
- str r0, [sp, #0x24]
- ldr r0, [sp, #0x18]
- lsr r2, r2, #0x10
- sub r0, r0, #0x7
- str r0, [sp, #0x20]
- lsl r0, r7, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x0]
- ldr r0, [sp, #0x24]
- ldr r3, [sp, #0x20]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x4]
- mov r0, #0x1
- str r0, [sp, #0x8]
- str r5, [sp, #0xc]
- lsl r3, r3, #0x18
- ldr r0, [sp, #0x10]
- ldr r1, [sp, #0x14]
- lsr r3, r3, #0x18
- bl FUN_02018540
- add r2, r4, #0x3
- lsl r2, r2, #0x10
- ldr r1, [sp, #0x18]
- ldr r0, [sp, #0x3c]
- lsr r2, r2, #0x10
- add r0, r1, r0
- str r0, [sp, #0x38]
- lsl r0, r7, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- str r0, [sp, #0x8]
- ldr r3, [sp, #0x38]
- str r5, [sp, #0xc]
- lsl r3, r3, #0x18
- ldr r0, [sp, #0x10]
- ldr r1, [sp, #0x14]
- lsr r3, r3, #0x18
- bl FUN_02018540
- ldr r0, [sp, #0x38]
- add r2, r4, #0x4
- add r0, r0, #0x1
- str r0, [sp, #0x2c]
- lsl r0, r7, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- str r0, [sp, #0x8]
- ldr r3, [sp, #0x2c]
- str r5, [sp, #0xc]
- lsl r2, r2, #0x10
- lsl r3, r3, #0x18
- ldr r0, [sp, #0x10]
- ldr r1, [sp, #0x14]
- lsr r2, r2, #0x10
- lsr r3, r3, #0x18
- bl FUN_02018540
- ldr r0, [sp, #0x38]
- add r0, r0, #0x2
- str r0, [sp, #0x28]
- lsl r0, r7, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- str r0, [sp, #0x8]
- ldr r3, [sp, #0x28]
- str r5, [sp, #0xc]
- add r2, r4, #0x5
- lsl r2, r2, #0x10
- lsl r3, r3, #0x18
- ldr r0, [sp, #0x10]
- ldr r1, [sp, #0x14]
- lsr r2, r2, #0x10
- lsr r3, r3, #0x18
- bl FUN_02018540
- ldr r0, [sp, #0x1c]
- ldr r3, [sp, #0x34]
- str r0, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- str r6, [sp, #0x8]
- str r5, [sp, #0xc]
- add r2, r4, #0x6
- lsl r2, r2, #0x10
- lsl r3, r3, #0x18
- ldr r0, [sp, #0x10]
- ldr r1, [sp, #0x14]
- lsr r2, r2, #0x10
- lsr r3, r3, #0x18
- bl FUN_02018540
- ldr r0, [sp, #0x1c]
- ldr r3, [sp, #0x30]
- str r0, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- str r6, [sp, #0x8]
- str r5, [sp, #0xc]
- add r2, r4, #0x7
- lsl r2, r2, #0x10
- lsl r3, r3, #0x18
- ldr r0, [sp, #0x10]
- ldr r1, [sp, #0x14]
- lsr r2, r2, #0x10
- lsr r3, r3, #0x18
- bl FUN_02018540
- ldr r0, [sp, #0x1c]
- add r2, r4, #0x0
- str r0, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- str r6, [sp, #0x8]
- str r5, [sp, #0xc]
- ldr r3, [sp, #0x18]
- add r2, #0x8
- sub r3, r3, #0x1
- lsl r2, r2, #0x10
- lsl r3, r3, #0x18
- ldr r0, [sp, #0x10]
- ldr r1, [sp, #0x14]
- lsr r2, r2, #0x10
- lsr r3, r3, #0x18
- bl FUN_02018540
- ldr r0, [sp, #0x1c]
- add r2, r4, #0x0
- str r0, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- str r6, [sp, #0x8]
- ldr r3, [sp, #0x38]
- str r5, [sp, #0xc]
- add r2, #0x9
- lsl r2, r2, #0x10
- lsl r3, r3, #0x18
- ldr r0, [sp, #0x10]
- ldr r1, [sp, #0x14]
- lsr r2, r2, #0x10
- lsr r3, r3, #0x18
- bl FUN_02018540
- ldr r0, [sp, #0x1c]
- add r2, r4, #0x0
- str r0, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- str r6, [sp, #0x8]
- ldr r3, [sp, #0x2c]
- str r5, [sp, #0xc]
- add r2, #0xa
- lsl r2, r2, #0x10
- lsl r3, r3, #0x18
- ldr r0, [sp, #0x10]
- ldr r1, [sp, #0x14]
- lsr r2, r2, #0x10
- lsr r3, r3, #0x18
- bl FUN_02018540
- ldr r0, [sp, #0x1c]
- add r2, r4, #0x0
- str r0, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- str r6, [sp, #0x8]
- ldr r3, [sp, #0x28]
- str r5, [sp, #0xc]
- add r2, #0xb
- lsl r2, r2, #0x10
- lsl r3, r3, #0x18
- ldr r0, [sp, #0x10]
- ldr r1, [sp, #0x14]
- lsr r2, r2, #0x10
- lsr r3, r3, #0x18
- bl FUN_02018540
- ldr r0, [sp, #0x1c]
- add r2, r4, #0x0
- add r6, r0, r6
- lsl r0, r6, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- str r0, [sp, #0x8]
- ldr r3, [sp, #0x34]
- str r5, [sp, #0xc]
- add r2, #0xc
- lsl r2, r2, #0x10
- lsl r3, r3, #0x18
- ldr r0, [sp, #0x10]
- ldr r1, [sp, #0x14]
- lsr r2, r2, #0x10
- lsr r3, r3, #0x18
- bl FUN_02018540
- lsl r0, r6, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- str r0, [sp, #0x8]
- add r2, r4, #0x0
- ldr r3, [sp, #0x30]
- str r5, [sp, #0xc]
- add r2, #0xd
- lsl r2, r2, #0x10
- lsl r3, r3, #0x18
- ldr r0, [sp, #0x10]
- ldr r1, [sp, #0x14]
- lsr r2, r2, #0x10
- lsr r3, r3, #0x18
- bl FUN_02018540
- lsl r0, r6, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x0]
- ldr r0, [sp, #0x24]
- add r2, r4, #0x0
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x4]
- mov r0, #0x1
- str r0, [sp, #0x8]
- ldr r3, [sp, #0x20]
- str r5, [sp, #0xc]
- add r2, #0xe
- lsl r2, r2, #0x10
- lsl r3, r3, #0x18
- ldr r0, [sp, #0x10]
- ldr r1, [sp, #0x14]
- lsr r2, r2, #0x10
- lsr r3, r3, #0x18
- bl FUN_02018540
- lsl r0, r6, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- str r0, [sp, #0x8]
- add r2, r4, #0x0
- ldr r3, [sp, #0x38]
- str r5, [sp, #0xc]
- add r2, #0xf
- lsl r2, r2, #0x10
- lsl r3, r3, #0x18
- ldr r0, [sp, #0x10]
- ldr r1, [sp, #0x14]
- lsr r2, r2, #0x10
- lsr r3, r3, #0x18
- bl FUN_02018540
- lsl r0, r6, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- str r0, [sp, #0x8]
- add r2, r4, #0x0
- ldr r3, [sp, #0x2c]
- str r5, [sp, #0xc]
- add r2, #0x10
- lsl r2, r2, #0x10
- lsl r3, r3, #0x18
- ldr r0, [sp, #0x10]
- ldr r1, [sp, #0x14]
- lsr r2, r2, #0x10
- lsr r3, r3, #0x18
- bl FUN_02018540
- lsl r0, r6, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- str r0, [sp, #0x8]
- ldr r3, [sp, #0x28]
- str r5, [sp, #0xc]
- add r4, #0x11
- lsl r2, r4, #0x10
- lsl r3, r3, #0x18
- ldr r0, [sp, #0x10]
- ldr r1, [sp, #0x14]
- lsr r2, r2, #0x10
- lsr r3, r3, #0x18
- bl FUN_02018540
- add sp, #0x40
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0200D678
-FUN_0200D678: ; 0x0200D678
- push {r3-r7, lr}
- sub sp, #0x28
- str r1, [sp, #0x10]
- add r7, r0, #0x0
- str r2, [sp, #0x14]
- bl FUN_0201AB08
- str r0, [sp, #0x20]
- add r0, r7, #0x0
- bl FUN_0201AB14
- sub r0, r0, #0x7
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- str r0, [sp, #0x18]
- add r0, r7, #0x0
- bl FUN_0201AB18
- str r0, [sp, #0x1c]
- mov r0, #0x0
- str r0, [sp, #0x24]
-_0200D6A2:
- ldr r2, [sp, #0x24]
- ldr r1, [sp, #0x1c]
- ldr r0, [sp, #0x24]
- add r3, r2, #0x0
- add r0, r1, r0
- mov r1, #0x6
- mul r3, r1
- ldr r1, [sp, #0x10]
- lsl r0, r0, #0x18
- mov r4, #0x0
- add r5, r1, r3
- lsr r6, r0, #0x18
-_0200D6BA:
- str r6, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- str r0, [sp, #0x8]
- ldr r0, [sp, #0x14]
- ldr r3, [sp, #0x18]
- str r0, [sp, #0xc]
- add r2, r4, r5
- add r3, r3, r4
- lsl r2, r2, #0x10
- lsl r3, r3, #0x18
- ldr r0, [r7, #0x0]
- ldr r1, [sp, #0x20]
- lsr r2, r2, #0x10
- lsr r3, r3, #0x18
- bl FUN_02018540
- add r0, r4, #0x1
- lsl r0, r0, #0x10
- lsr r4, r0, #0x10
- cmp r4, #0x6
- blo _0200D6BA
- ldr r0, [sp, #0x24]
- add r0, r0, #0x1
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- str r0, [sp, #0x24]
- cmp r0, #0x4
- blo _0200D6A2
- add sp, #0x28
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0200D6F8
-FUN_0200D6F8: ; 0x0200D6F8
- push {r3-r7, lr}
- sub sp, #0x28
- add r5, r0, #0x0
- str r1, [sp, #0x10]
- add r4, r2, #0x0
- add r6, r3, #0x0
- bl FUN_0201AB08
- str r0, [sp, #0x14]
- add r0, sp, #0x30
- ldrb r0, [r0, #0x10]
- cmp r0, #0x1
- bhi _0200D756
- add r0, r5, #0x0
- bl FUN_0201AB14
- str r0, [sp, #0x18]
- add r0, r5, #0x0
- bl FUN_0201AB18
- str r0, [sp, #0x1c]
- add r0, r5, #0x0
- bl FUN_0201AB0C
- add r7, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0201AB10
- str r7, [sp, #0x0]
- str r0, [sp, #0x4]
- str r6, [sp, #0x8]
- str r4, [sp, #0xc]
- ldr r0, [r5, #0x0]
- ldr r1, [sp, #0x14]
- ldr r2, [sp, #0x18]
- ldr r3, [sp, #0x1c]
- bl FUN_0200D3B0
- add r1, r4, #0x0
- add r1, #0x1e
- lsl r1, r1, #0x10
- add r0, r5, #0x0
- lsr r1, r1, #0x10
- add r2, r6, #0x0
- bl FUN_0200D678
- b _0200D788
-_0200D756:
- add r0, r5, #0x0
- bl FUN_0201AB14
- str r0, [sp, #0x20]
- add r0, r5, #0x0
- bl FUN_0201AB18
- str r0, [sp, #0x24]
- add r0, r5, #0x0
- bl FUN_0201AB0C
- add r7, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0201AB10
- str r7, [sp, #0x0]
- str r0, [sp, #0x4]
- str r6, [sp, #0x8]
- str r4, [sp, #0xc]
- ldr r0, [r5, #0x0]
- ldr r1, [sp, #0x14]
- ldr r2, [sp, #0x20]
- ldr r3, [sp, #0x24]
- bl FUN_0200CDD8
-_0200D788:
- ldr r0, [sp, #0x10]
- cmp r0, #0x0
- bne _0200D794
- add r0, r5, #0x0
- bl FUN_020191D0
-_0200D794:
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_0200D18C
- add sp, #0x28
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0200D7A0
-FUN_0200D7A0: ; 0x0200D7A0
- push {r3-r7, lr}
- sub sp, #0x18
- add r5, r0, #0x0
- add r4, r1, #0x0
- str r2, [sp, #0x10]
- bl FUN_0201AB08
- str r0, [sp, #0x14]
- cmp r4, #0x1
- bhi _0200D7FE
- add r0, r5, #0x0
- bl FUN_0201AB14
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0201AB18
- add r7, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0201AB0C
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0201AB10
- sub r1, r7, #0x1
- lsl r1, r1, #0x18
- lsr r1, r1, #0x18
- add r0, r0, #0x2
- lsl r0, r0, #0x18
- sub r4, #0x9
- lsl r3, r4, #0x18
- add r6, #0xb
- str r1, [sp, #0x0]
- lsl r1, r6, #0x18
- lsr r1, r1, #0x18
- str r1, [sp, #0x4]
- lsr r0, r0, #0x18
- str r0, [sp, #0x8]
- mov r2, #0x0
- str r2, [sp, #0xc]
- ldr r0, [r5, #0x0]
- ldr r1, [sp, #0x14]
- lsr r3, r3, #0x18
- bl FUN_02018540
- b _0200D846
-_0200D7FE:
- add r0, r5, #0x0
- bl FUN_0201AB14
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0201AB18
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0201AB0C
- add r7, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0201AB10
- sub r1, r6, #0x1
- lsl r1, r1, #0x18
- lsr r1, r1, #0x18
- str r1, [sp, #0x0]
- add r1, r7, #0x4
- lsl r1, r1, #0x18
- add r0, r0, #0x2
- lsr r1, r1, #0x18
- lsl r0, r0, #0x18
- str r1, [sp, #0x4]
- lsr r0, r0, #0x18
- sub r3, r4, #0x2
- lsl r3, r3, #0x18
- str r0, [sp, #0x8]
- mov r2, #0x0
- str r2, [sp, #0xc]
- ldr r0, [r5, #0x0]
- ldr r1, [sp, #0x14]
- lsr r3, r3, #0x18
- bl FUN_02018540
-_0200D846:
- ldr r0, [sp, #0x10]
- cmp r0, #0x0
- bne _0200D852
- add r0, r5, #0x0
- bl FUN_02019570
-_0200D852:
- add sp, #0x18
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0200D858
-FUN_0200D858: ; 0x0200D858
- push {r4-r7, lr}
- sub sp, #0x34
- str r0, [sp, #0x20]
- ldr r0, [r0, #0x0]
- str r1, [sp, #0x24]
- bl FUN_02016BB8
- str r0, [sp, #0x28]
- ldr r0, [sp, #0x20]
- bl FUN_0201AB08
- bl FUN_020187B0
- add r5, r0, #0x0
- ldr r0, [sp, #0x28]
- ldr r1, _0200D970 ; =0x0000048C
- bl FUN_02016998
- ldr r1, [sp, #0x24]
- add r4, r0, #0x0
- ldr r0, _0200D974 ; =0x00000404
- add r1, #0x12
- lsl r1, r1, #0x5
- add r0, r4, r0
- add r1, r5, r1
- mov r2, #0x80
- blx memcpy
- ldr r0, [sp, #0x28]
- mov r1, #0x80
- bl FUN_02016998
- ldr r1, [sp, #0x24]
- mov r2, #0x20
- add r1, #0xa
- lsl r1, r1, #0x5
- str r1, [sp, #0x2c]
- add r1, r5, r1
- add r6, r0, #0x0
- blx memcpy
- ldr r0, [sp, #0x24]
- mov r2, #0x20
- add r0, #0xb
- lsl r7, r0, #0x5
- add r0, r6, #0x0
- add r0, #0x20
- add r1, r5, r7
- blx memcpy
- ldr r1, [sp, #0x2c]
- add r0, r6, #0x0
- add r0, #0x40
- add r1, r5, r1
- mov r2, #0x20
- blx memcpy
- add r0, r6, #0x0
- add r0, #0x60
- add r1, r5, r7
- mov r2, #0x20
- blx memcpy
- mov r5, #0x0
- add r7, r4, #0x4
-_0200D8DA:
- lsl r0, r5, #0x7
- add r0, r7, r0
- add r1, r6, #0x0
- mov r2, #0x80
- blx memcpy
- add r0, r5, #0x1
- lsl r0, r0, #0x18
- lsr r5, r0, #0x18
- cmp r5, #0x8
- blo _0200D8DA
- add r0, r6, #0x0
- bl FUN_02016A18
- ldr r0, [sp, #0x28]
- mov r1, #0x17
- str r0, [sp, #0x0]
- mov r0, #0x26
- mov r2, #0x0
- add r3, sp, #0x30
- bl FUN_02006BB0
- mov r2, #0x80
- add r5, r0, #0x0
- str r2, [sp, #0x0]
- add r0, r4, #0x4
- str r0, [sp, #0x4]
- mov r3, #0x10
- str r3, [sp, #0x8]
- str r2, [sp, #0xc]
- mov r1, #0x0
- str r1, [sp, #0x10]
- str r1, [sp, #0x14]
- str r3, [sp, #0x18]
- str r2, [sp, #0x1c]
- ldr r0, [sp, #0x30]
- add r2, r1, #0x0
- ldr r0, [r0, #0x14]
- bl FUN_0200D148
- add r0, r5, #0x0
- bl FUN_02016A18
- ldr r0, [sp, #0x20]
- ldr r1, _0200D978 ; =0x00000484
- str r0, [r4, #0x0]
- ldr r0, [sp, #0x24]
- mov r2, #0x0
- strh r0, [r4, r1]
- add r0, r1, #0x2
- strb r2, [r4, r0]
- add r0, r1, #0x3
- ldrb r3, [r4, r0]
- mov r0, #0x7f
- bic r3, r0
- add r0, r1, #0x3
- strb r3, [r4, r0]
- add r0, r1, #0x4
- ldrb r3, [r4, r0]
- mov r0, #0x3
- bic r3, r0
- add r0, r1, #0x4
- strb r3, [r4, r0]
- ldr r0, _0200D97C ; =FUN_0200DB7C
- add r1, r4, #0x0
- bl FUN_0200CA60
- add r0, r4, #0x0
- mov r1, #0x1
- bl FUN_0200D980
- add r0, r4, #0x0
- add sp, #0x34
- pop {r4-r7, pc}
- nop
-_0200D970: .word 0x0000048C
-_0200D974: .word 0x00000404
-_0200D978: .word 0x00000484
-_0200D97C: .word FUN_0200DB7C
-
- thumb_func_start FUN_0200D980
-FUN_0200D980: ; 0x0200D980
- push {r4-r7, lr}
- sub sp, #0x24
- add r5, r0, #0x0
- ldr r0, [r5, #0x0]
- add r6, r1, #0x0
- bl FUN_0201AB08
- add r4, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_0201AB14
- str r0, [sp, #0x18]
- ldr r0, [r5, #0x0]
- bl FUN_0201AB18
- str r0, [sp, #0x1c]
- ldr r0, [r5, #0x0]
- bl FUN_0201AB0C
- str r0, [sp, #0x20]
- cmp r6, #0x2
- bne _0200DA8A
- ldr r2, _0200DB78 ; =0x00000484
- add r1, r4, #0x0
- ldrh r0, [r5, r2]
- sub r2, #0x80
- add r2, r5, r2
- add r0, #0x12
- str r0, [sp, #0x0]
- ldr r0, [r5, #0x0]
- mov r3, #0x80
- ldr r0, [r0, #0x0]
- bl FUN_02017E14
- ldr r0, [sp, #0x1c]
- ldr r1, [sp, #0x18]
- add r7, r0, #0x2
- ldr r0, [sp, #0x20]
- ldr r2, _0200DB78 ; =0x00000484
- add r6, r1, r0
- add r0, r6, #0x1
- str r0, [sp, #0x14]
- lsl r0, r7, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- str r0, [sp, #0x8]
- mov r0, #0x10
- str r0, [sp, #0xc]
- ldrh r2, [r5, r2]
- ldr r0, [r5, #0x0]
- ldr r3, [sp, #0x14]
- add r2, #0xa
- lsl r2, r2, #0x10
- lsl r3, r3, #0x18
- ldr r0, [r0, #0x0]
- add r1, r4, #0x0
- lsr r2, r2, #0x10
- lsr r3, r3, #0x18
- bl FUN_02018540
- lsl r0, r7, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- str r0, [sp, #0x8]
- mov r0, #0x10
- str r0, [sp, #0xc]
- ldr r2, _0200DB78 ; =0x00000484
- ldr r0, [r5, #0x0]
- ldrh r2, [r5, r2]
- add r6, r6, #0x2
- lsl r3, r6, #0x18
- add r2, #0xb
- lsl r2, r2, #0x10
- ldr r0, [r0, #0x0]
- add r1, r4, #0x0
- lsr r2, r2, #0x10
- lsr r3, r3, #0x18
- bl FUN_02018540
- ldr r0, [sp, #0x1c]
- ldr r3, [sp, #0x14]
- add r7, r0, #0x3
- lsl r0, r7, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- str r0, [sp, #0x8]
- mov r0, #0x10
- str r0, [sp, #0xc]
- ldr r2, _0200DB78 ; =0x00000484
- ldr r0, [r5, #0x0]
- ldrh r2, [r5, r2]
- lsl r3, r3, #0x18
- ldr r0, [r0, #0x0]
- add r2, #0xa
- lsl r2, r2, #0x10
- add r1, r4, #0x0
- lsr r2, r2, #0x10
- lsr r3, r3, #0x18
- bl FUN_02018540
- lsl r0, r7, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- str r0, [sp, #0x8]
- mov r0, #0x10
- str r0, [sp, #0xc]
- ldr r2, _0200DB78 ; =0x00000484
- ldr r0, [r5, #0x0]
- ldrh r2, [r5, r2]
- lsl r3, r6, #0x18
- ldr r0, [r0, #0x0]
- add r2, #0xb
- lsl r2, r2, #0x10
- add r1, r4, #0x0
- lsr r2, r2, #0x10
- lsr r3, r3, #0x18
- bl FUN_02018540
- ldr r0, [r5, #0x0]
- add r1, r4, #0x0
- ldr r0, [r0, #0x0]
- bl FUN_02017CD0
- add sp, #0x24
- pop {r4-r7, pc}
-_0200DA8A:
- ldr r3, _0200DB78 ; =0x00000484
- add r2, r5, #0x4
- ldrh r0, [r5, r3]
- add r3, r3, #0x3
- add r1, r4, #0x0
- add r0, #0x12
- str r0, [sp, #0x0]
- ldrb r3, [r5, r3]
- ldr r0, [r5, #0x0]
- lsl r3, r3, #0x19
- lsr r3, r3, #0x19
- lsl r3, r3, #0x7
- add r2, r2, r3
- ldr r0, [r0, #0x0]
- mov r3, #0x80
- bl FUN_02017E14
- cmp r6, #0x0
- beq _0200DB72
- ldr r0, [sp, #0x1c]
- ldr r1, [sp, #0x18]
- add r7, r0, #0x2
- ldr r0, [sp, #0x20]
- ldr r2, _0200DB78 ; =0x00000484
- add r6, r1, r0
- add r0, r6, #0x1
- str r0, [sp, #0x10]
- lsl r0, r7, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- str r0, [sp, #0x8]
- mov r0, #0x10
- str r0, [sp, #0xc]
- ldrh r2, [r5, r2]
- ldr r0, [r5, #0x0]
- ldr r3, [sp, #0x10]
- add r2, #0x12
- lsl r2, r2, #0x10
- lsl r3, r3, #0x18
- ldr r0, [r0, #0x0]
- add r1, r4, #0x0
- lsr r2, r2, #0x10
- lsr r3, r3, #0x18
- bl FUN_02018540
- lsl r0, r7, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- str r0, [sp, #0x8]
- mov r0, #0x10
- str r0, [sp, #0xc]
- ldr r2, _0200DB78 ; =0x00000484
- ldr r0, [r5, #0x0]
- ldrh r2, [r5, r2]
- add r6, r6, #0x2
- lsl r3, r6, #0x18
- add r2, #0x13
- lsl r2, r2, #0x10
- ldr r0, [r0, #0x0]
- add r1, r4, #0x0
- lsr r2, r2, #0x10
- lsr r3, r3, #0x18
- bl FUN_02018540
- ldr r0, [sp, #0x1c]
- ldr r3, [sp, #0x10]
- add r7, r0, #0x3
- lsl r0, r7, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- str r0, [sp, #0x8]
- mov r0, #0x10
- str r0, [sp, #0xc]
- ldr r2, _0200DB78 ; =0x00000484
- ldr r0, [r5, #0x0]
- ldrh r2, [r5, r2]
- lsl r3, r3, #0x18
- ldr r0, [r0, #0x0]
- add r2, #0x14
- lsl r2, r2, #0x10
- add r1, r4, #0x0
- lsr r2, r2, #0x10
- lsr r3, r3, #0x18
- bl FUN_02018540
- lsl r0, r7, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- str r0, [sp, #0x8]
- mov r0, #0x10
- str r0, [sp, #0xc]
- ldr r2, _0200DB78 ; =0x00000484
- ldr r0, [r5, #0x0]
- ldrh r2, [r5, r2]
- lsl r3, r6, #0x18
- ldr r0, [r0, #0x0]
- add r2, #0x15
- lsl r2, r2, #0x10
- add r1, r4, #0x0
- lsr r2, r2, #0x10
- lsr r3, r3, #0x18
- bl FUN_02018540
- ldr r0, [r5, #0x0]
- add r1, r4, #0x0
- ldr r0, [r0, #0x0]
- bl FUN_02017CD0
-_0200DB72:
- add sp, #0x24
- pop {r4-r7, pc}
- nop
-_0200DB78: .word 0x00000484
-
- thumb_func_start FUN_0200DB7C
-FUN_0200DB7C: ; 0x0200DB7C
- push {r3-r5, lr}
- add r4, r0, #0x0
- ldr r0, _0200DBE4 ; =0x00000488
- ldrb r2, [r1, r0]
- lsl r2, r2, #0x1e
- lsr r2, r2, #0x1e
- beq _0200DB9E
- cmp r2, #0x1
- bne _0200DB96
- add r0, r1, #0x0
- mov r1, #0x2
- bl FUN_0200D980
-_0200DB96:
- add r0, r4, #0x0
- bl FUN_0200CAB4
- pop {r3-r5, pc}
-_0200DB9E:
- sub r2, r0, #0x2
- ldrb r2, [r1, r2]
- add r3, r2, #0x1
- sub r2, r0, #0x2
- strb r3, [r1, r2]
- ldrb r2, [r1, r2]
- cmp r2, #0x10
- bne _0200DBE0
- mov r3, #0x0
- sub r2, r0, #0x2
- strb r3, [r1, r2]
- sub r2, r0, #0x1
- ldrb r2, [r1, r2]
- mov r4, #0x7f
- bic r2, r4
- sub r4, r0, #0x1
- ldrb r4, [r1, r4]
- sub r0, r0, #0x1
- lsl r4, r4, #0x19
- lsr r4, r4, #0x19
- add r5, r4, #0x1
- mov r4, #0x7
- and r4, r5
- lsl r4, r4, #0x18
- lsr r5, r4, #0x18
- mov r4, #0x7f
- and r4, r5
- orr r2, r4
- strb r2, [r1, r0]
- add r0, r1, #0x0
- add r1, r3, #0x0
- bl FUN_0200D980
-_0200DBE0:
- pop {r3-r5, pc}
- nop
-_0200DBE4: .word 0x00000488
-
- thumb_func_start FUN_0200DBE8
-FUN_0200DBE8: ; 0x0200DBE8
- push {r4, lr}
- add r4, r0, #0x0
- add r0, r1, #0x0
- bl FUN_02016A18
- add r0, r4, #0x0
- bl FUN_0200CAB4
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0200DBFC
-FUN_0200DBFC: ; 0x0200DBFC
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, _0200DC1C ; =FUN_0200DBE8
- add r1, r4, #0x0
- mov r2, #0x0
- bl FUN_0200CA98
- ldr r1, _0200DC20 ; =0x00000488
- mov r0, #0x3
- ldrb r2, [r4, r1]
- bic r2, r0
- mov r0, #0x1
- orr r0, r2
- strb r0, [r4, r1]
- pop {r4, pc}
- nop
-_0200DC1C: .word FUN_0200DBE8
-_0200DC20: .word 0x00000488
-
- thumb_func_start FUN_0200DC24
-FUN_0200DC24: ; 0x0200DC24
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, _0200DC44 ; =FUN_0200DBE8
- add r1, r4, #0x0
- mov r2, #0x0
- bl FUN_0200CA98
- ldr r1, _0200DC48 ; =0x00000488
- mov r0, #0x3
- ldrb r2, [r4, r1]
- bic r2, r0
- mov r0, #0x2
- orr r0, r2
- strb r0, [r4, r1]
- pop {r4, pc}
- nop
-_0200DC44: .word FUN_0200DBE8
-_0200DC48: .word 0x00000488
-
- thumb_func_start FUN_0200DC4C
-FUN_0200DC4C: ; 0x0200DC4C
- push {r4-r7, lr}
- sub sp, #0xc
- str r2, [sp, #0x4]
- ldr r5, [sp, #0x30]
- str r3, [sp, #0x8]
- add r6, r0, #0x0
- add r7, r1, #0x0
- str r5, [sp, #0x0]
- bl FUN_0200DD70
- add r4, r0, #0x0
- add r1, r5, #0x0
- bl FUN_0200DDAC
- add r0, r4, #0x0
- bl FUN_0200DDD8
- ldr r1, [sp, #0x4]
- ldr r2, [sp, #0x8]
- add r0, r4, #0x0
- bl FUN_0200DE30
- add r2, sp, #0x10
- ldrh r1, [r2, #0x18]
- ldrb r2, [r2, #0x1c]
- add r0, r4, #0x0
- bl FUN_0200DE80
- add r2, sp, #0x10
- ldrb r1, [r2, #0x10]
- ldrh r2, [r2, #0x14]
- add r0, r4, #0x0
- bl FUN_0200DFD8
- add r0, r6, #0x0
- add r1, r7, #0x0
- bl FUN_02017CD0
- ldr r0, _0200DCA0 ; =0x0000016F
- add r0, r4, r0
- add sp, #0xc
- pop {r4-r7, pc}
- .balign 4
-_0200DCA0: .word 0x0000016F
-
- thumb_func_start FUN_0200DCA4
-FUN_0200DCA4: ; 0x0200DCA4
- push {r4-r7, lr}
- sub sp, #0xc
- str r2, [sp, #0x4]
- ldr r5, [sp, #0x2c]
- str r3, [sp, #0x8]
- add r6, r0, #0x0
- add r7, r1, #0x0
- str r5, [sp, #0x0]
- bl FUN_0200DD70
- add r4, r0, #0x0
- add r1, r5, #0x0
- bl FUN_0200DDAC
- add r0, r4, #0x0
- bl FUN_0200DDD8
- ldr r1, [sp, #0x4]
- ldr r2, [sp, #0x8]
- add r0, r4, #0x0
- bl FUN_0200DE30
- ldr r1, [sp, #0x28]
- add r0, r4, #0x0
- bl FUN_0200DEC0
- add r2, sp, #0x10
- ldrb r1, [r2, #0x10]
- ldrh r2, [r2, #0x14]
- add r0, r4, #0x0
- bl FUN_0200DFD8
- add r0, r6, #0x0
- add r1, r7, #0x0
- bl FUN_02017CD0
- ldr r0, _0200DCF4 ; =0x0000016F
- add r0, r4, r0
- add sp, #0xc
- pop {r4-r7, pc}
- .balign 4
-_0200DCF4: .word 0x0000016F
-
- thumb_func_start FUN_0200DCF8
-FUN_0200DCF8: ; 0x0200DCF8
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r0, _0200DD6C ; =0x0000016F
- add r4, r1, #0x0
- ldrb r1, [r4, r0]
- cmp r1, #0x1
- beq _0200DD10
- cmp r1, #0x2
- beq _0200DD2E
- cmp r1, #0x3
- beq _0200DD40
- b _0200DD54
-_0200DD10:
- add r0, r4, #0x0
- bl FUN_0200E188
- mov r0, #0x59
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- bl FUN_0200C3DC
- add r0, r4, #0x0
- bl FUN_021D99F8
- add r0, r5, #0x0
- bl FUN_0200621C
- pop {r3-r5, pc}
-_0200DD2E:
- mov r1, #0x3
- strb r1, [r4, r0]
- sub r0, #0xb
- ldr r0, [r4, r0]
- mov r1, #0x1
- ldr r0, [r0, #0x0]
- bl FUN_02020130
- b _0200DD54
-_0200DD40:
- sub r0, #0xb
- ldr r0, [r4, r0]
- ldr r0, [r0, #0x0]
- bl FUN_0202022C
- cmp r0, #0x6
- bne _0200DD54
- ldr r0, _0200DD6C ; =0x0000016F
- mov r1, #0x0
- strb r1, [r4, r0]
-_0200DD54:
- mov r0, #0x59
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- mov r1, #0x1
- ldr r0, [r0, #0x0]
- lsl r1, r1, #0xc
- bl FUN_020201E4
- ldr r0, [r4, #0x0]
- bl FUN_0201FDEC
- pop {r3-r5, pc}
- .balign 4
-_0200DD6C: .word 0x0000016F
-
- thumb_func_start FUN_0200DD70
-FUN_0200DD70: ; 0x0200DD70
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- add r7, r3, #0x0
- mov r1, #0x17
- add r6, r2, #0x0
- ldr r0, _0200DDA4 ; =FUN_0200DCF8
- ldr r3, [sp, #0x18]
- lsl r1, r1, #0x4
- mov r2, #0x0
- bl FUN_020061E8
- bl FUN_0201B6C8
- ldr r1, _0200DDA8 ; =0x0000016F
- mov r2, #0x0
- strb r2, [r0, r1]
- sub r2, r1, #0x7
- str r5, [r0, r2]
- sub r2, r1, #0x3
- strb r4, [r0, r2]
- sub r2, r1, #0x2
- strb r6, [r0, r2]
- sub r1, r1, #0x1
- strb r7, [r0, r1]
- pop {r3-r7, pc}
- .balign 4
-_0200DDA4: .word FUN_0200DCF8
-_0200DDA8: .word 0x0000016F
-
- thumb_func_start FUN_0200DDAC
-FUN_0200DDAC: ; 0x0200DDAC
- push {r4-r6, lr}
- sub sp, #0x18
- ldr r5, _0200DDD4 ; =0x020ECEA8
- add r4, sp, #0x0
- add r6, r0, #0x0
- add r3, r1, #0x0
- add r2, r4, #0x0
- ldmia r5!, {r0-r1}
- stmia r4!, {r0-r1}
- ldmia r5!, {r0-r1}
- stmia r4!, {r0-r1}
- ldmia r5!, {r0-r1}
- stmia r4!, {r0-r1}
- add r1, r2, #0x0
- add r0, r6, #0x0
- mov r2, #0x1
- bl FUN_021D959C
- add sp, #0x18
- pop {r4-r6, pc}
- .balign 4
-_0200DDD4: .word 0x020ECEA8
-
- thumb_func_start FUN_0200DDD8
-FUN_0200DDD8: ; 0x0200DDD8
- push {r3-r4, lr}
- sub sp, #0xc
- mov r1, #0x1
- str r1, [sp, #0x0]
- str r1, [sp, #0x4]
- ldr r1, _0200DE2C ; =0x00015CD5
- mov r2, #0x31
- str r1, [sp, #0x8]
- mov r1, #0x26
- mov r3, #0x0
- add r4, r0, #0x0
- bl FUN_021D967C
- ldr r0, _0200DE2C ; =0x00015CD5
- mov r1, #0x26
- str r0, [sp, #0x0]
- add r0, r4, #0x0
- mov r2, #0x2f
- mov r3, #0x0
- bl FUN_021D96F4
- ldr r0, _0200DE2C ; =0x00015CD5
- mov r1, #0x26
- str r0, [sp, #0x0]
- add r0, r4, #0x0
- mov r2, #0x2e
- mov r3, #0x0
- bl FUN_021D9708
- mov r0, #0x1
- str r0, [sp, #0x0]
- ldr r0, _0200DE2C ; =0x00015CD5
- mov r1, #0x26
- str r0, [sp, #0x4]
- add r0, r4, #0x0
- mov r2, #0x30
- mov r3, #0x0
- bl FUN_021D971C
- add sp, #0xc
- pop {r3-r4, pc}
- nop
-_0200DE2C: .word 0x00015CD5
-
- thumb_func_start FUN_0200DE30
-FUN_0200DE30: ; 0x0200DE30
- push {r4-r7, lr}
- sub sp, #0x34
- ldr r5, _0200DE7C ; =0x020ECEC0
- add r6, r2, #0x0
- add r4, r0, #0x0
- add r7, r1, #0x0
- add r3, sp, #0x0
- mov r2, #0x6
-_0200DE40:
- ldmia r5!, {r0-r1}
- stmia r3!, {r0-r1}
- sub r2, r2, #0x1
- bne _0200DE40
- ldr r0, [r5, #0x0]
- str r0, [r3, #0x0]
- add r0, r7, #0x5
- lsl r1, r0, #0x3
- add r0, sp, #0x0
- strh r1, [r0, #0x0]
- add r1, r6, #0x5
- lsl r1, r1, #0x3
- strh r1, [r0, #0x2]
- add r0, r4, #0x0
- add r1, sp, #0x0
- bl FUN_021D9820
- mov r1, #0x59
- lsl r1, r1, #0x2
- str r0, [r4, r1]
- ldr r0, [r4, #0x0]
- bl FUN_0201FDEC
- mov r0, #0x10
- mov r1, #0x1
- bl FUN_0201E74C
- add sp, #0x34
- pop {r4-r7, pc}
- nop
-_0200DE7C: .word 0x020ECEC0
-
- thumb_func_start FUN_0200DE80
-FUN_0200DE80: ; 0x0200DE80
- push {r4-r7, lr}
- sub sp, #0x1c
- add r5, r0, #0x0
- ldr r0, _0200DEBC ; =0x00000162
- add r4, r1, #0x0
- ldrh r0, [r5, r0]
- add r6, r2, #0x0
- bl FUN_02006D98
- add r7, r0, #0x0
- mov r0, #0x0
- str r0, [sp, #0x0]
- str r0, [sp, #0x4]
- str r0, [sp, #0x8]
- add r0, sp, #0xc
- add r1, r4, #0x0
- add r2, r6, #0x0
- mov r3, #0x2
- bl FUN_02068C00
- add r0, r5, #0x0
- add r1, sp, #0xc
- bl FUN_0200DEF4
- add r0, r7, #0x0
- bl FUN_020072E8
- add sp, #0x1c
- pop {r4-r7, pc}
- nop
-_0200DEBC: .word 0x00000162
-
- thumb_func_start FUN_0200DEC0
-FUN_0200DEC0: ; 0x0200DEC0
- push {r4-r6, lr}
- sub sp, #0x10
- add r5, r0, #0x0
- ldr r0, _0200DEF0 ; =0x00000162
- add r4, r1, #0x0
- ldrh r0, [r5, r0]
- bl FUN_02006D98
- add r6, r0, #0x0
- add r0, sp, #0x0
- add r1, r4, #0x0
- mov r2, #0x2
- bl FUN_02068B68
- add r0, r5, #0x0
- add r1, sp, #0x0
- bl FUN_0200DEF4
- add r0, r6, #0x0
- bl FUN_020072E8
- add sp, #0x10
- pop {r4-r6, pc}
- nop
-_0200DEF0: .word 0x00000162
-
- thumb_func_start FUN_0200DEF4
-FUN_0200DEF4: ; 0x0200DEF4
- push {r3-r7, lr}
- sub sp, #0x28
- add r5, r0, #0x0
- ldr r0, _0200DFC8 ; =0x00000162
- add r6, r1, #0x0
- mov r1, #0x19
- ldrh r0, [r5, r0]
- lsl r1, r1, #0x8
- bl FUN_02016998
- add r2, sp, #0x18
- ldr r3, _0200DFCC ; =0x020ECE98
- add r4, r0, #0x0
- add r7, r2, #0x0
- ldmia r3!, {r0-r1}
- stmia r2!, {r0-r1}
- ldmia r3!, {r0-r1}
- stmia r2!, {r0-r1}
- str r4, [sp, #0x0]
- ldr r2, _0200DFC8 ; =0x00000162
- ldrh r0, [r6, #0x0]
- ldrh r1, [r6, #0x2]
- ldrh r2, [r5, r2]
- add r3, r7, #0x0
- bl FUN_02012400
- ldr r3, _0200DFD0 ; =0x020ECE88
- add r2, sp, #0x8
- add r7, r2, #0x0
- ldmia r3!, {r0-r1}
- stmia r2!, {r0-r1}
- ldmia r3!, {r0-r1}
- stmia r2!, {r0-r1}
- mov r0, #0x32
- lsl r0, r0, #0x6
- add r0, r4, r0
- str r0, [sp, #0x0]
- ldr r2, _0200DFC8 ; =0x00000162
- ldrh r0, [r6, #0x0]
- ldrh r1, [r6, #0x2]
- ldrh r2, [r5, r2]
- add r3, r7, #0x0
- bl FUN_02012400
- mov r0, #0x13
- lsl r0, r0, #0x4
- ldr r0, [r5, r0]
- ldr r1, _0200DFD4 ; =0x00015CD5
- bl FUN_020094F0
- bl FUN_02009C5C
- mov r1, #0x1
- str r0, [sp, #0x4]
- blx FUN_020B1A14
- mov r1, #0x19
- add r7, r0, #0x0
- add r0, r4, #0x0
- lsl r1, r1, #0x8
- blx DC_FlushRange
- mov r2, #0x19
- add r0, r4, #0x0
- add r1, r7, #0x0
- lsl r2, r2, #0x8
- blx GX_LoadOBJ
- add r0, r4, #0x0
- bl FUN_02016A18
- ldr r2, _0200DFC8 ; =0x00000162
- ldrh r0, [r6, #0x0]
- ldrh r1, [r6, #0x4]
- ldrh r2, [r5, r2]
- bl FUN_02012470
- add r4, r0, #0x0
- mov r0, #0x4d
- lsl r0, r0, #0x2
- ldr r0, [r5, r0]
- ldr r1, _0200DFD4 ; =0x00015CD5
- bl FUN_020094F0
- ldr r1, [sp, #0x4]
- bl FUN_02009E54
- mov r1, #0x1
- blx FUN_020B19C4
- add r5, r0, #0x0
- add r0, r4, #0x0
- mov r1, #0x20
- blx DC_FlushRange
- add r0, r4, #0x0
- add r1, r5, #0x0
- mov r2, #0x20
- blx GX_LoadOBJPltt
- add r0, r4, #0x0
- bl FUN_02016A18
- add sp, #0x28
- pop {r3-r7, pc}
- nop
-_0200DFC8: .word 0x00000162
-_0200DFCC: .word 0x020ECE98
-_0200DFD0: .word 0x020ECE88
-_0200DFD4: .word 0x00015CD5
-
- thumb_func_start FUN_0200DFD8
-FUN_0200DFD8: ; 0x0200DFD8
- push {r4-r6, lr}
- sub sp, #0x10
- ldr r3, _0200E184 ; =0x0000016E
- add r5, r0, #0x0
- ldrb r0, [r5, r3]
- add r4, r1, #0x0
- sub r1, r3, #0x2
- sub r0, r0, #0x1
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- str r0, [sp, #0x8]
- str r4, [sp, #0xc]
- sub r0, r3, #0x6
- sub r3, r3, #0x1
- ldrb r3, [r5, r3]
- ldrb r1, [r5, r1]
- ldr r0, [r5, r0]
- sub r3, r3, #0x1
- lsl r3, r3, #0x18
- lsr r3, r3, #0x18
- add r6, r2, #0x0
- bl FUN_02018540
- ldr r3, _0200E184 ; =0x0000016E
- add r2, r6, #0x1
- ldrb r0, [r5, r3]
- sub r1, r3, #0x2
- lsl r2, r2, #0x10
- sub r0, r0, #0x1
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x0]
- mov r0, #0xa
- str r0, [sp, #0x4]
- mov r0, #0x1
- str r0, [sp, #0x8]
- str r4, [sp, #0xc]
- sub r0, r3, #0x6
- sub r3, r3, #0x1
- ldrb r1, [r5, r1]
- ldrb r3, [r5, r3]
- ldr r0, [r5, r0]
- lsr r2, r2, #0x10
- bl FUN_02018540
- ldr r3, _0200E184 ; =0x0000016E
- add r2, r6, #0x2
- ldrb r0, [r5, r3]
- lsl r2, r2, #0x10
- sub r1, r3, #0x2
- sub r0, r0, #0x1
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- str r0, [sp, #0x8]
- str r4, [sp, #0xc]
- sub r0, r3, #0x6
- sub r3, r3, #0x1
- ldrb r3, [r5, r3]
- ldrb r1, [r5, r1]
- ldr r0, [r5, r0]
- add r3, #0xa
- lsl r3, r3, #0x18
- lsr r2, r2, #0x10
- lsr r3, r3, #0x18
- bl FUN_02018540
- ldr r3, _0200E184 ; =0x0000016E
- add r2, r6, #0x4
- ldrb r0, [r5, r3]
- lsl r2, r2, #0x10
- sub r1, r3, #0x2
- str r0, [sp, #0x0]
- mov r0, #0xa
- str r0, [sp, #0x4]
- str r0, [sp, #0x8]
- str r4, [sp, #0xc]
- sub r0, r3, #0x6
- sub r3, r3, #0x1
- ldrb r1, [r5, r1]
- ldrb r3, [r5, r3]
- ldr r0, [r5, r0]
- lsr r2, r2, #0x10
- bl FUN_02018540
- ldr r3, _0200E184 ; =0x0000016E
- add r2, r6, #0x3
- ldrb r0, [r5, r3]
- lsl r2, r2, #0x10
- sub r1, r3, #0x2
- str r0, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- mov r0, #0xa
- str r0, [sp, #0x8]
- str r4, [sp, #0xc]
- sub r0, r3, #0x6
- sub r3, r3, #0x1
- ldrb r3, [r5, r3]
- ldrb r1, [r5, r1]
- ldr r0, [r5, r0]
- sub r3, r3, #0x1
- lsl r3, r3, #0x18
- lsr r2, r2, #0x10
- lsr r3, r3, #0x18
- bl FUN_02018540
- ldr r3, _0200E184 ; =0x0000016E
- add r2, r6, #0x5
- ldrb r0, [r5, r3]
- lsl r2, r2, #0x10
- sub r1, r3, #0x2
- str r0, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- mov r0, #0xa
- str r0, [sp, #0x8]
- str r4, [sp, #0xc]
- sub r0, r3, #0x6
- sub r3, r3, #0x1
- ldrb r3, [r5, r3]
- ldrb r1, [r5, r1]
- ldr r0, [r5, r0]
- add r3, #0xa
- lsl r3, r3, #0x18
- lsr r2, r2, #0x10
- lsr r3, r3, #0x18
- bl FUN_02018540
- ldr r3, _0200E184 ; =0x0000016E
- add r2, r6, #0x6
- ldrb r0, [r5, r3]
- lsl r2, r2, #0x10
- sub r1, r3, #0x2
- add r0, #0xa
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- str r0, [sp, #0x8]
- str r4, [sp, #0xc]
- sub r0, r3, #0x6
- sub r3, r3, #0x1
- ldrb r3, [r5, r3]
- ldrb r1, [r5, r1]
- ldr r0, [r5, r0]
- sub r3, r3, #0x1
- lsl r3, r3, #0x18
- lsr r2, r2, #0x10
- lsr r3, r3, #0x18
- bl FUN_02018540
- ldr r3, _0200E184 ; =0x0000016E
- add r2, r6, #0x7
- ldrb r0, [r5, r3]
- sub r1, r3, #0x2
- lsl r2, r2, #0x10
- add r0, #0xa
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x0]
- mov r0, #0xa
- str r0, [sp, #0x4]
- mov r0, #0x1
- str r0, [sp, #0x8]
- str r4, [sp, #0xc]
- sub r0, r3, #0x6
- sub r3, r3, #0x1
- ldrb r1, [r5, r1]
- ldrb r3, [r5, r3]
- ldr r0, [r5, r0]
- lsr r2, r2, #0x10
- bl FUN_02018540
- ldr r3, _0200E184 ; =0x0000016E
- add r6, #0x8
- ldrb r0, [r5, r3]
- lsl r2, r6, #0x10
- sub r1, r3, #0x2
- add r0, #0xa
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- str r0, [sp, #0x8]
- str r4, [sp, #0xc]
- sub r0, r3, #0x6
- sub r3, r3, #0x1
- ldrb r3, [r5, r3]
- ldrb r1, [r5, r1]
- ldr r0, [r5, r0]
- add r3, #0xa
- lsl r3, r3, #0x18
- lsr r2, r2, #0x10
- lsr r3, r3, #0x18
- bl FUN_02018540
- mov r1, #0x5a
- lsl r1, r1, #0x2
- ldr r0, [r5, r1]
- add r1, r1, #0x4
- ldrb r1, [r5, r1]
- bl FUN_0201AC68
- add sp, #0x10
- pop {r4-r6, pc}
- nop
-_0200E184: .word 0x0000016E
-
- thumb_func_start FUN_0200E188
-FUN_0200E188: ; 0x0200E188
- push {r4, lr}
- sub sp, #0x10
- ldr r3, _0200E1CC ; =0x0000016E
- add r4, r0, #0x0
- ldrb r0, [r4, r3]
- mov r2, #0x0
- sub r1, r3, #0x2
- sub r0, r0, #0x1
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x0]
- mov r0, #0xc
- str r0, [sp, #0x4]
- str r0, [sp, #0x8]
- str r2, [sp, #0xc]
- sub r0, r3, #0x6
- sub r3, r3, #0x1
- ldrb r3, [r4, r3]
- ldrb r1, [r4, r1]
- ldr r0, [r4, r0]
- sub r3, r3, #0x1
- lsl r3, r3, #0x18
- lsr r3, r3, #0x18
- bl FUN_02018540
- mov r1, #0x5a
- lsl r1, r1, #0x2
- ldr r0, [r4, r1]
- add r1, r1, #0x4
- ldrb r1, [r4, r1]
- bl FUN_0201AC68
- add sp, #0x10
- pop {r4, pc}
- .balign 4
-_0200E1CC: .word 0x0000016E
-
- thumb_func_start FUN_0200E1D0
-FUN_0200E1D0: ; 0x0200E1D0
- push {r4-r7, lr}
- sub sp, #0x1c
- add r5, r0, #0x0
- ldr r0, [sp, #0x30]
- add r4, r1, #0x0
- add r7, r2, #0x0
- add r6, r3, #0x0
- cmp r0, #0x0
- bne _0200E1E6
- bl ErrorHandling
-_0200E1E6:
- ldr r0, [sp, #0x34]
- cmp r0, #0x0
- bne _0200E1F0
- bl ErrorHandling
-_0200E1F0:
- ldr r0, _0200E2AC ; =0x021C47F4
- ldrh r0, [r0, #0xc]
- cmp r0, #0x0
- beq _0200E1FC
- bl ErrorHandling
-_0200E1FC:
- ldr r0, _0200E2B0 ; =0x021C46B4
- bl FUN_0200E808
- ldr r1, _0200E2B0 ; =0x021C46B4
- add r0, r5, #0x0
- bl FUN_0200E558
- ldr r0, _0200E2B4 ; =0x021C4728
- bl FUN_0200E5F4
- ldr r0, _0200E2B0 ; =0x021C46B4
- add r1, r6, #0x0
- bl FUN_0200E75C
- add r5, r0, #0x0
- mov r0, #0x0
- str r0, [sp, #0x0]
- str r0, [sp, #0x4]
- str r0, [sp, #0x8]
- ldr r0, _0200E2B8 ; =0x021C4740
- ldr r2, [sp, #0x30]
- str r0, [sp, #0xc]
- ldr r0, _0200E2B4 ; =0x021C4728
- ldr r3, [sp, #0x34]
- str r0, [sp, #0x10]
- ldr r0, [sp, #0x38]
- add r1, r4, #0x0
- str r0, [sp, #0x14]
- ldr r0, _0200E2BC ; =0x021C46C8
- str r5, [sp, #0x18]
- bl FUN_0200E5C8
- mov r0, #0x0
- str r0, [sp, #0x0]
- str r0, [sp, #0x4]
- mov r0, #0x1
- str r0, [sp, #0x8]
- ldr r0, _0200E2B8 ; =0x021C4740
- ldr r2, [sp, #0x30]
- str r0, [sp, #0xc]
- ldr r0, _0200E2B4 ; =0x021C4728
- ldr r3, [sp, #0x34]
- str r0, [sp, #0x10]
- ldr r0, [sp, #0x38]
- add r1, r7, #0x0
- str r0, [sp, #0x14]
- ldr r0, _0200E2C0 ; =0x021C46F8
- str r5, [sp, #0x18]
- bl FUN_0200E5C8
- ldr r0, _0200E2AC ; =0x021C47F4
- mov r1, #0x1
- strh r1, [r0, #0xc]
- ldr r0, _0200E2C4 ; =0x021C46B8
- ldr r1, _0200E2BC ; =0x021C46C8
- bl FUN_0200E528
- ldr r0, _0200E2C8 ; =0x021C46BC
- ldr r1, _0200E2C0 ; =0x021C46F8
- bl FUN_0200E528
- ldr r0, _0200E2CC ; =0x021C46B4
- ldr r0, [r0, #0xc]
- cmp r0, #0x0
- beq _0200E28E
- ldr r0, _0200E2B0 ; =0x021C46B4
- add r0, #0x14
- bl FUN_0200E7A8
- ldr r1, _0200E2D0 ; =0x0000014E
- ldr r0, _0200E2B0 ; =0x021C46B4
- mov r2, #0x1
- strb r2, [r0, r1]
-_0200E28E:
- ldr r0, _0200E2B0 ; =0x021C46B4
- ldr r0, [r0, #0x10]
- cmp r0, #0x0
- beq _0200E2A6
- ldr r0, _0200E2B0 ; =0x021C46B4
- add r0, #0x44
- bl FUN_0200E7A8
- ldr r1, _0200E2D4 ; =0x0000014F
- ldr r0, _0200E2B0 ; =0x021C46B4
- mov r2, #0x1
- strb r2, [r0, r1]
-_0200E2A6:
- add sp, #0x1c
- pop {r4-r7, pc}
- nop
-_0200E2AC: .word 0x021C47F4
-_0200E2B0: .word 0x021C46B4
-_0200E2B4: .word 0x021C4728
-_0200E2B8: .word 0x021C4740
-_0200E2BC: .word 0x021C46C8
-_0200E2C0: .word 0x021C46F8
-_0200E2C4: .word 0x021C46B8
-_0200E2C8: .word 0x021C46BC
-_0200E2CC: .word 0x021C46B4
-_0200E2D0: .word 0x0000014E
-_0200E2D4: .word 0x0000014F
-
- thumb_func_start FUN_0200E2D8
-FUN_0200E2D8: ; 0x0200E2D8
- push {r4, lr}
- ldr r0, _0200E300 ; =0x021C47F4
- ldr r4, _0200E304 ; =0x021C46B4
- ldrh r0, [r0, #0xc]
- cmp r0, #0x0
- beq _0200E2FC
- add r1, r4, #0x0
- add r2, r4, #0x0
- add r0, r4, #0x0
- add r1, #0x14
- add r2, #0x44
- bl FUN_0200E4B8
- cmp r0, #0x1
- bne _0200E2FC
- add r0, r4, #0x0
- bl FUN_0200E460
-_0200E2FC:
- pop {r4, pc}
- nop
-_0200E300: .word 0x021C47F4
-_0200E304: .word 0x021C46B4
-
- thumb_func_start FUN_0200E308
-FUN_0200E308: ; 0x0200E308
- ldr r0, _0200E318 ; =0x021C47F4
- ldrh r0, [r0, #0xc]
- cmp r0, #0x0
- bne _0200E314
- mov r0, #0x1
- bx lr
-_0200E314:
- mov r0, #0x0
- bx lr
- .balign 4
-_0200E318: .word 0x021C47F4
-
- thumb_func_start FUN_0200E31C
-FUN_0200E31C: ; 0x0200E31C
- push {r3, lr}
- ldr r0, _0200E368 ; =0x021C4728
- mov r1, #0x0
- bl FUN_0200E6A0
- ldr r0, _0200E368 ; =0x021C4728
- mov r1, #0x1
- bl FUN_0200E6A0
- ldr r0, _0200E36C ; =0x021C46B4
- ldr r1, [r0, #0x4]
- cmp r1, #0x0
- beq _0200E33A
- mov r1, #0x2
- str r1, [r0, #0x20]
-_0200E33A:
- ldr r0, _0200E36C ; =0x021C46B4
- ldr r1, [r0, #0x8]
- cmp r1, #0x0
- beq _0200E346
- mov r1, #0x2
- str r1, [r0, #0x50]
-_0200E346:
- ldr r0, _0200E370 ; =0x021C46B8
- ldr r1, _0200E374 ; =0x021C46C8
- bl FUN_0200E528
- ldr r0, _0200E378 ; =0x021C46BC
- ldr r1, _0200E37C ; =0x021C46F8
- bl FUN_0200E528
- ldr r0, _0200E380 ; =0x021C47F4
- mov r1, #0x0
- strh r1, [r0, #0xc]
- strb r1, [r0, #0xe]
- strb r1, [r0, #0xf]
- ldr r0, _0200E384 ; =0x021C46B4
- bl FUN_0200E808
- pop {r3, pc}
- .balign 4
-_0200E368: .word 0x021C4728
-_0200E36C: .word 0x021C46B4
-_0200E370: .word 0x021C46B8
-_0200E374: .word 0x021C46C8
-_0200E378: .word 0x021C46BC
-_0200E37C: .word 0x021C46F8
-_0200E380: .word 0x021C47F4
-_0200E384: .word 0x021C46B4
-
- thumb_func_start FUN_0200E388
-FUN_0200E388: ; 0x0200E388
- ldr r3, _0200E390 ; =FUN_02011480
- add r1, r0, #0x0
- mov r0, #0x0
- bx r3
- .balign 4
-_0200E390: .word FUN_02011480
-
- thumb_func_start FUN_0200E394
-FUN_0200E394: ; 0x0200E394
- ldr r3, _0200E39C ; =FUN_0200E440
- mov r1, #0x0
- bx r3
- nop
-_0200E39C: .word FUN_0200E440
-
- thumb_func_start FUN_0200E3A0
-FUN_0200E3A0: ; 0x0200E3A0
- ldr r2, _0200E3B4 ; =0x00007FFF
- cmp r1, r2
- bne _0200E3AA
- mov r1, #0x10
- b _0200E3AE
-_0200E3AA:
- mov r1, #0xf
- mvn r1, r1
-_0200E3AE:
- ldr r3, _0200E3B8 ; =FUN_0200E440
- bx r3
- nop
-_0200E3B4: .word 0x00007FFF
-_0200E3B8: .word FUN_0200E440
-
- thumb_func_start FUN_0200E3BC
-FUN_0200E3BC: ; 0x0200E3BC
- push {r0-r3}
- push {r3-r4, lr}
- sub sp, #0xc
- add r4, r0, #0x0
- add r0, sp, #0x1c
- bne _0200E3D2
- mov r1, #0x0
- mov r2, #0x2
- blx GX_LoadBGPltt
- b _0200E3DA
-_0200E3D2:
- mov r1, #0x0
- mov r2, #0x2
- blx GXS_LoadBGPltt
-_0200E3DA:
- ldr r0, _0200E41C ; =0x021C4740
- mov r1, #0x1
- add r2, r4, #0x0
- bl FUN_02011634
- mov r2, #0x0
- ldr r0, _0200E41C ; =0x021C4740
- mov r1, #0x3f
- add r3, r2, #0x0
- str r4, [sp, #0x0]
- bl FUN_02011650
- mov r1, #0x0
- str r1, [sp, #0x0]
- str r1, [sp, #0x4]
- ldr r0, _0200E41C ; =0x021C4740
- add r2, r1, #0x0
- add r3, r1, #0x0
- str r4, [sp, #0x8]
- bl FUN_02011698
- ldr r0, _0200E41C ; =0x021C4740
- mov r1, #0x20
- mov r2, #0x0
- add r3, r4, #0x0
- bl FUN_02011678
- add sp, #0xc
- pop {r3-r4}
- pop {r3}
- add sp, #0x10
- bx r3
- nop
-_0200E41C: .word 0x021C4740
-
- thumb_func_start FUN_0200E420
-FUN_0200E420: ; 0x0200E420
- push {r0-r3}
- push {r3, lr}
- add r0, sp, #0x8
- mov r1, #0x0
- mov r2, #0x2
- blx GX_LoadBGPltt
- add r0, sp, #0x8
- mov r1, #0x0
- mov r2, #0x2
- blx GXS_LoadBGPltt
- pop {r3}
- pop {r3}
- add sp, #0x10
- bx r3
-
- thumb_func_start FUN_0200E440
-FUN_0200E440: ; 0x0200E440
- push {r3, lr}
- cmp r0, #0x0
- bne _0200E44E
- ldr r0, _0200E458 ; =0x0400006C
- blx GXx_SetMasterBrightness_
- pop {r3, pc}
-_0200E44E:
- ldr r0, _0200E45C ; =0x0400106C
- blx GXx_SetMasterBrightness_
- pop {r3, pc}
- nop
-_0200E458: .word 0x0400006C
-_0200E45C: .word 0x0400106C
-
- thumb_func_start FUN_0200E460
-FUN_0200E460: ; 0x0200E460
- push {r4, lr}
- mov r1, #0x53
- add r4, r0, #0x0
- mov r2, #0x0
- lsl r1, r1, #0x2
- strh r2, [r4, r1]
- bl FUN_0200E770
- mov r1, #0x15
- lsl r1, r1, #0x4
- strh r0, [r4, r1]
- ldr r0, [r4, #0xc]
- cmp r0, #0x0
- beq _0200E490
- add r0, r4, #0x0
- add r0, #0x14
- bl FUN_0200E7D8
- ldr r0, [r4, #0x3c]
- cmp r0, #0x0
- bne _0200E490
- ldr r0, _0200E4B4 ; =0x021C47F4
- mov r1, #0x0
- strb r1, [r0, #0xe]
-_0200E490:
- ldr r0, [r4, #0x10]
- cmp r0, #0x0
- beq _0200E4AA
- add r0, r4, #0x0
- add r0, #0x44
- bl FUN_0200E7D8
- ldr r0, [r4, #0x3c]
- cmp r0, #0x0
- bne _0200E4AA
- ldr r0, _0200E4B4 ; =0x021C47F4
- mov r1, #0x0
- strb r1, [r0, #0xf]
-_0200E4AA:
- add r0, r4, #0x0
- bl FUN_0200E808
- pop {r4, pc}
- nop
-_0200E4B4: .word 0x021C47F4
-
- thumb_func_start FUN_0200E4B8
-FUN_0200E4B8: ; 0x0200E4B8
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0x0]
- add r4, r2, #0x0
- cmp r0, #0x0
- beq _0200E4CE
- cmp r0, #0x1
- beq _0200E4E0
- cmp r0, #0x2
- beq _0200E4FA
- b _0200E512
-_0200E4CE:
- add r0, r5, #0x4
- bl FUN_0200E528
- add r0, r5, #0x0
- add r0, #0x8
- add r1, r4, #0x0
- bl FUN_0200E528
- b _0200E512
-_0200E4E0:
- ldr r0, [r5, #0x4]
- cmp r0, #0x0
- beq _0200E4EE
- add r0, r5, #0x4
- bl FUN_0200E528
- b _0200E512
-_0200E4EE:
- add r0, r5, #0x0
- add r0, #0x8
- add r1, r4, #0x0
- bl FUN_0200E528
- b _0200E512
-_0200E4FA:
- ldr r0, [r5, #0x8]
- cmp r0, #0x0
- beq _0200E50C
- add r0, r5, #0x0
- add r0, #0x8
- add r1, r4, #0x0
- bl FUN_0200E528
- b _0200E512
-_0200E50C:
- add r0, r5, #0x4
- bl FUN_0200E528
-_0200E512:
- ldr r0, [r5, #0x4]
- cmp r0, #0x0
- bne _0200E522
- ldr r0, [r5, #0x8]
- cmp r0, #0x0
- bne _0200E522
- mov r0, #0x1
- pop {r3-r5, pc}
-_0200E522:
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0200E528
-FUN_0200E528: ; 0x0200E528
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- cmp r0, #0x0
- beq _0200E540
- add r0, r1, #0x0
- bl FUN_0200E544
- cmp r0, #0x1
- bne _0200E540
- mov r0, #0x0
- str r0, [r4, #0x0]
-_0200E540:
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0200E544
-FUN_0200E544: ; 0x0200E544
- push {r3, lr}
- ldr r1, [r0, #0x0]
- lsl r2, r1, #0x2
- ldr r1, _0200E554 ; =0x020ECEF4
- ldr r1, [r1, r2]
- blx r1
- pop {r3, pc}
- nop
-_0200E554: .word 0x020ECEF4
-
- thumb_func_start FUN_0200E558
-FUN_0200E558: ; 0x0200E558
- push {r3, lr}
- cmp r0, #0x4
- bhi _0200E5B8
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_0200E56A: ; jump table (using 16-bit offset)
- .short _0200E574 - _0200E56A - 2; case 0
- .short _0200E582 - _0200E56A - 2; case 1
- .short _0200E590 - _0200E56A - 2; case 2
- .short _0200E59E - _0200E56A - 2; case 3
- .short _0200E5AC - _0200E56A - 2; case 4
-_0200E574:
- mov r2, #0x1
- add r0, r1, #0x0
- mov r1, #0x0
- add r3, r2, #0x0
- bl FUN_0200E5BC
- pop {r3, pc}
-_0200E582:
- add r0, r1, #0x0
- mov r1, #0x1
- add r2, r1, #0x0
- add r3, r1, #0x0
- bl FUN_0200E5BC
- pop {r3, pc}
-_0200E590:
- mov r2, #0x1
- add r0, r1, #0x0
- mov r1, #0x2
- add r3, r2, #0x0
- bl FUN_0200E5BC
- pop {r3, pc}
-_0200E59E:
- add r0, r1, #0x0
- mov r1, #0x1
- add r2, r1, #0x0
- mov r3, #0x0
- bl FUN_0200E5BC
- pop {r3, pc}
-_0200E5AC:
- add r0, r1, #0x0
- mov r1, #0x2
- mov r2, #0x0
- mov r3, #0x1
- bl FUN_0200E5BC
-_0200E5B8:
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0200E5BC
-FUN_0200E5BC: ; 0x0200E5BC
- str r1, [r0, #0x0]
- str r2, [r0, #0x4]
- str r3, [r0, #0x8]
- str r2, [r0, #0xc]
- str r3, [r0, #0x10]
- bx lr
-
- thumb_func_start FUN_0200E5C8
-FUN_0200E5C8: ; 0x0200E5C8
- str r1, [r0, #0x0]
- str r2, [r0, #0x4]
- ldr r1, [sp, #0x0]
- str r3, [r0, #0x8]
- str r1, [r0, #0xc]
- ldr r1, [sp, #0x4]
- str r1, [r0, #0x14]
- ldr r1, [sp, #0x8]
- str r1, [r0, #0x10]
- ldr r1, [sp, #0xc]
- str r1, [r0, #0x18]
- ldr r1, [sp, #0x10]
- str r1, [r0, #0x1c]
- ldr r1, [sp, #0x14]
- str r1, [r0, #0x20]
- ldr r1, _0200E5F0 ; =0xFFFFFFF0
- add r1, sp
- ldrh r1, [r1, #0x28]
- strh r1, [r0, #0x24]
- bx lr
- .balign 4
-_0200E5F0: .word 0xFFFFFFF0
-
- thumb_func_start FUN_0200E5F4
-FUN_0200E5F4: ; 0x0200E5F4
- mov r3, #0x0
- ldr r1, _0200E60C ; =FUN_0200E758
- add r2, r3, #0x0
-_0200E5FA:
- str r2, [r0, #0x0]
- str r1, [r0, #0x8]
- str r2, [r0, #0x10]
- add r3, r3, #0x1
- add r0, r0, #0x4
- cmp r3, #0x2
- blt _0200E5FA
- bx lr
- nop
-_0200E60C: .word FUN_0200E758
-
- thumb_func_start FUN_0200E610
-FUN_0200E610: ; 0x0200E610
- push {r3-r5, lr}
- add r5, r0, #0x0
- mov r4, #0x0
-_0200E616:
- ldr r0, [r5, #0x0]
- ldr r1, [r5, #0x8]
- blx r1
- add r4, r4, #0x1
- add r5, r5, #0x4
- cmp r4, #0x2
- blt _0200E616
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0200E628
-FUN_0200E628: ; 0x0200E628
- push {r4-r7, lr}
- sub sp, #0xc
- add r5, r0, #0x0
- mov r0, #0x1
- str r0, [sp, #0x4]
- add r0, r5, #0x0
- str r0, [sp, #0x8]
- add r0, #0x10
- lsl r4, r3, #0x2
- str r0, [sp, #0x8]
- ldr r0, [r0, r4]
- add r7, r2, #0x0
- str r1, [sp, #0x0]
- cmp r0, #0x0
- beq _0200E64A
- bl ErrorHandling
-_0200E64A:
- add r6, r5, #0x0
- add r6, #0x8
- ldr r0, [r6, r4]
- cmp r0, #0x0
- bne _0200E658
- bl ErrorHandling
-_0200E658:
- ldr r0, [r5, #0x10]
- cmp r0, #0x0
- bne _0200E672
- ldr r0, [r5, #0x14]
- cmp r0, #0x0
- bne _0200E672
- ldr r0, _0200E698 ; =FUN_0200E610
- add r1, r5, #0x0
- bl FUN_02015F34
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x4]
-_0200E672:
- ldr r0, [sp, #0x4]
- cmp r0, #0x1
- beq _0200E67C
- bl ErrorHandling
-_0200E67C:
- ldr r0, [sp, #0x0]
- cmp r7, #0x0
- str r0, [r5, r4]
- beq _0200E688
- str r7, [r6, r4]
- b _0200E68C
-_0200E688:
- ldr r0, _0200E69C ; =FUN_0200E758
- str r0, [r6, r4]
-_0200E68C:
- ldr r0, [sp, #0x8]
- mov r1, #0x1
- str r1, [r0, r4]
- add sp, #0xc
- pop {r4-r7, pc}
- nop
-_0200E698: .word FUN_0200E610
-_0200E69C: .word FUN_0200E758
-
- thumb_func_start FUN_0200E6A0
-FUN_0200E6A0: ; 0x0200E6A0
- push {r3-r5, lr}
- lsl r4, r1, #0x2
- add r5, r0, #0x0
- mov r1, #0x0
- add r0, r5, r4
- str r1, [r0, #0x10]
- ldr r0, [r5, #0x10]
- cmp r0, #0x0
- bne _0200E6BC
- ldr r0, [r5, #0x14]
- cmp r0, #0x0
- bne _0200E6BC
- bl FUN_02015F1C
-_0200E6BC:
- ldr r1, _0200E6C8 ; =FUN_0200E758
- add r0, r5, r4
- str r1, [r0, #0x8]
- mov r0, #0x0
- str r0, [r5, r4]
- pop {r3-r5, pc}
- .balign 4
-_0200E6C8: .word FUN_0200E758
-
- thumb_func_start FUN_0200E6CC
-FUN_0200E6CC: ; 0x0200E6CC
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- ldr r0, [sp, #0x18]
- mov r1, #0x10
- add r6, r2, #0x0
- add r7, r3, #0x0
- bl FUN_020169D8
- add r1, r0, #0x0
- str r5, [r1, #0x0]
- str r4, [r1, #0x4]
- mov r2, #0x1
- str r6, [r1, #0x8]
- ldr r0, _0200E6F4 ; =FUN_0200E71C
- lsl r2, r2, #0xa
- str r7, [r1, #0xc]
- bl FUN_0200CA98
- pop {r3-r7, pc}
- .balign 4
-_0200E6F4: .word FUN_0200E71C
-
- thumb_func_start FUN_0200E6F8
-FUN_0200E6F8: ; 0x0200E6F8
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- add r0, r2, #0x0
- mov r1, #0x8
- bl FUN_020169D8
- add r1, r0, #0x0
- mov r2, #0x1
- str r5, [r1, #0x0]
- ldr r0, _0200E718 ; =FUN_0200E73C
- lsl r2, r2, #0xa
- str r4, [r1, #0x4]
- bl FUN_0200CA98
- pop {r3-r5, pc}
- .balign 4
-_0200E718: .word FUN_0200E73C
-
- thumb_func_start FUN_0200E71C
-FUN_0200E71C: ; 0x0200E71C
- push {r3-r5, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- ldr r0, [r4, #0x0]
- ldr r1, [r4, #0x4]
- ldr r2, [r4, #0x8]
- ldr r3, [r4, #0xc]
- bl FUN_0200E628
- add r0, r5, #0x0
- bl FUN_0200CAB4
- add r0, r4, #0x0
- bl FUN_02016A18
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0200E73C
-FUN_0200E73C: ; 0x0200E73C
- push {r3-r5, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- ldr r0, [r4, #0x0]
- ldr r1, [r4, #0x4]
- bl FUN_0200E6A0
- add r0, r5, #0x0
- bl FUN_0200CAB4
- add r0, r4, #0x0
- bl FUN_02016A18
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0200E758
-FUN_0200E758: ; 0x0200E758
- bx lr
- .balign 4
-
- thumb_func_start FUN_0200E75C
-FUN_0200E75C: ; 0x0200E75C
- ldr r2, _0200E76C ; =0x0000FFFF
- cmp r1, r2
- bne _0200E768
- mov r1, #0x15
- lsl r1, r1, #0x4
- ldrh r1, [r0, r1]
-_0200E768:
- add r0, r1, #0x0
- bx lr
- .balign 4
-_0200E76C: .word 0x0000FFFF
-
- thumb_func_start FUN_0200E770
-FUN_0200E770: ; 0x0200E770
- ldr r1, [r0, #0xc]
- cmp r1, #0x1
- bne _0200E77C
- add r2, r0, #0x0
- add r2, #0x14
- b _0200E780
-_0200E77C:
- add r2, r0, #0x0
- add r2, #0x44
-_0200E780:
- ldr r1, [r2, #0x28]
- cmp r1, #0x1
- bne _0200E78A
- ldrh r0, [r2, #0x24]
- bx lr
-_0200E78A:
- mov r1, #0x15
- lsl r1, r1, #0x4
- ldrh r0, [r0, r1]
- bx lr
- .balign 4
-
- thumb_func_start FUN_0200E794
-FUN_0200E794: ; 0x0200E794
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r1, #0x10]
- mov r1, #0x0
- bl FUN_0200E440
- add r0, r4, #0x0
- bl FUN_0200CAB4
- pop {r4, pc}
-
- thumb_func_start FUN_0200E7A8
-FUN_0200E7A8: ; 0x0200E7A8
- push {r3, lr}
- add r1, r0, #0x0
- ldr r0, [r1, #0x28]
- cmp r0, #0x0
- bne _0200E7CE
- ldrh r2, [r1, #0x24]
- ldr r0, _0200E7D0 ; =0x00007FFF
- cmp r2, r0
- beq _0200E7BE
- cmp r2, #0x0
- bne _0200E7CE
-_0200E7BE:
- ldr r0, [r1, #0x2c]
- cmp r0, #0x0
- bne _0200E7CE
- mov r2, #0x1
- ldr r0, _0200E7D4 ; =FUN_0200E794
- lsl r2, r2, #0xa
- bl FUN_0200CA98
-_0200E7CE:
- pop {r3, pc}
- .balign 4
-_0200E7D0: .word 0x00007FFF
-_0200E7D4: .word FUN_0200E794
-
- thumb_func_start FUN_0200E7D8
-FUN_0200E7D8: ; 0x0200E7D8
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x28]
- cmp r0, #0x1
- bne _0200E800
- ldrh r1, [r4, #0x24]
- ldr r0, _0200E804 ; =0x00007FFF
- cmp r1, r0
- beq _0200E7EE
- cmp r1, #0x0
- bne _0200E800
-_0200E7EE:
- ldr r0, [r4, #0x2c]
- cmp r0, #0x0
- bne _0200E800
- ldr r0, [r4, #0x10]
- bl FUN_0200E3A0
- ldr r0, [r4, #0x10]
- bl FUN_0200E388
-_0200E800:
- pop {r4, pc}
- nop
-_0200E804: .word 0x00007FFF
-
- thumb_func_start FUN_0200E808
-FUN_0200E808: ; 0x0200E808
- push {r4, lr}
- add r4, r0, #0x0
- add r2, r4, #0x0
- mov r1, #0x14
- mov r0, #0x0
-_0200E812:
- strb r0, [r2, #0x0]
- add r2, r2, #0x1
- sub r1, r1, #0x1
- bne _0200E812
- add r0, r4, #0x0
- add r0, #0x14
- mov r1, #0x0
- mov r2, #0x30
- blx Call_FillMemWithValue
- add r0, r4, #0x0
- add r0, #0x44
- mov r1, #0x0
- mov r2, #0x30
- blx Call_FillMemWithValue
- add r2, r4, #0x0
- add r2, #0x74
- mov r1, #0x18
- mov r0, #0x0
-_0200E83A:
- strb r0, [r2, #0x0]
- add r2, r2, #0x1
- sub r1, r1, #0x1
- bne _0200E83A
- add r4, #0x8c
- add r0, r4, #0x0
- mov r1, #0x0
- mov r2, #0xc0
- blx Call_FillMemWithValue
- pop {r4, pc}
-
- thumb_func_start FUN_0200E850
-FUN_0200E850: ; 0x0200E850
- push {r3, lr}
- ldr r1, [r0, #0xc]
- cmp r1, #0x0
- bne _0200E866
- mov r1, #0x1
- str r1, [r0, #0x28]
- str r1, [r0, #0x2c]
- bl FUN_0200F20C
- mov r0, #0x0
- pop {r3, pc}
-_0200E866:
- bl FUN_0200F2AC
- pop {r3, pc}
-
- thumb_func_start FUN_0200E86C
-FUN_0200E86C: ; 0x0200E86C
- push {r3, lr}
- ldr r1, [r0, #0xc]
- cmp r1, #0x0
- bne _0200E884
- mov r1, #0x0
- str r1, [r0, #0x28]
- mov r2, #0x1
- str r2, [r0, #0x2c]
- bl FUN_0200F20C
- mov r0, #0x0
- pop {r3, pc}
-_0200E884:
- bl FUN_0200F2AC
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0200E88C
-FUN_0200E88C: ; 0x0200E88C
- push {r4, lr}
- add r4, r0, #0x0
- ldr r1, [r4, #0xc]
- cmp r1, #0x0
- bne _0200E8B4
- ldr r1, _0200E8BC ; =0x020ECF9F
- ldr r0, _0200E8C0 ; =0x02105AF8
- str r1, [r0, #0x30]
- ldrh r0, [r4, #0x24]
- bl FUN_0200E420
- ldr r1, _0200E8C4 ; =0x02105B28
- add r0, r4, #0x0
- bl FUN_02010F2C
- mov r0, #0x1
- str r0, [r4, #0x28]
- mov r0, #0x0
- str r0, [r4, #0x2c]
- pop {r4, pc}
-_0200E8B4:
- bl FUN_02010F70
- pop {r4, pc}
- nop
-_0200E8BC: .word 0x020ECF9F
-_0200E8C0: .word 0x02105AF8
-_0200E8C4: .word 0x02105B28
-
- thumb_func_start FUN_0200E8C8
-FUN_0200E8C8: ; 0x0200E8C8
- push {r4, lr}
- add r4, r0, #0x0
- ldr r1, [r4, #0xc]
- cmp r1, #0x0
- bne _0200E8EE
- ldr r1, _0200E8F4 ; =0x020ECF9C
- ldr r0, _0200E8F8 ; =0x02105AF8
- str r1, [r0, #0x40]
- ldrh r0, [r4, #0x24]
- bl FUN_0200E420
- ldr r1, _0200E8FC ; =0x02105B38
- add r0, r4, #0x0
- bl FUN_02010F2C
- mov r0, #0x0
- str r0, [r4, #0x28]
- str r0, [r4, #0x2c]
- pop {r4, pc}
-_0200E8EE:
- bl FUN_02010F70
- pop {r4, pc}
- .balign 4
-_0200E8F4: .word 0x020ECF9C
-_0200E8F8: .word 0x02105AF8
-_0200E8FC: .word 0x02105B38
-
- thumb_func_start FUN_0200E900
-FUN_0200E900: ; 0x0200E900
- push {r4, lr}
- add r4, r0, #0x0
- ldr r1, [r4, #0xc]
- cmp r1, #0x0
- bne _0200E928
- ldr r1, _0200E930 ; =0x020ECFA5
- ldr r0, _0200E934 ; =0x02105AF8
- str r1, [r0, #0x48]
- ldrh r0, [r4, #0x24]
- bl FUN_0200E420
- ldr r1, _0200E938 ; =0x02105B40
- add r0, r4, #0x0
- bl FUN_02010F2C
- mov r0, #0x1
- str r0, [r4, #0x28]
- mov r0, #0x0
- str r0, [r4, #0x2c]
- pop {r4, pc}
-_0200E928:
- bl FUN_02010F70
- pop {r4, pc}
- nop
-_0200E930: .word 0x020ECFA5
-_0200E934: .word 0x02105AF8
-_0200E938: .word 0x02105B40
-
- thumb_func_start FUN_0200E93C
-FUN_0200E93C: ; 0x0200E93C
- push {r4, lr}
- add r4, r0, #0x0
- ldr r1, [r4, #0xc]
- cmp r1, #0x0
- bne _0200E962
- ldr r1, _0200E968 ; =0x020ECFA2
- ldr r0, _0200E96C ; =0x02105AF8
- str r1, [r0, #0x38]
- ldrh r0, [r4, #0x24]
- bl FUN_0200E420
- ldr r1, _0200E970 ; =0x02105B30
- add r0, r4, #0x0
- bl FUN_02010F2C
- mov r0, #0x0
- str r0, [r4, #0x28]
- str r0, [r4, #0x2c]
- pop {r4, pc}
-_0200E962:
- bl FUN_02010F70
- pop {r4, pc}
- .balign 4
-_0200E968: .word 0x020ECFA2
-_0200E96C: .word 0x02105AF8
-_0200E970: .word 0x02105B30
-
- thumb_func_start FUN_0200E974
-FUN_0200E974: ; 0x0200E974
- push {r4, lr}
- add r4, r0, #0x0
- ldr r1, [r4, #0xc]
- cmp r1, #0x0
- bne _0200E996
- ldrh r0, [r4, #0x24]
- bl FUN_0200E420
- ldr r1, _0200E99C ; =0x020ED0E8
- add r0, r4, #0x0
- bl FUN_0200FCC8
- mov r0, #0x1
- str r0, [r4, #0x28]
- mov r0, #0x0
- str r0, [r4, #0x2c]
- pop {r4, pc}
-_0200E996:
- bl FUN_0200FD1C
- pop {r4, pc}
- .balign 4
-_0200E99C: .word 0x020ED0E8
-
- thumb_func_start FUN_0200E9A0
-FUN_0200E9A0: ; 0x0200E9A0
- push {r4, lr}
- add r4, r0, #0x0
- ldr r1, [r4, #0xc]
- cmp r1, #0x0
- bne _0200E9C0
- ldrh r0, [r4, #0x24]
- bl FUN_0200E420
- ldr r1, _0200E9C8 ; =0x020ED154
- add r0, r4, #0x0
- bl FUN_0200FCC8
- mov r0, #0x0
- str r0, [r4, #0x28]
- str r0, [r4, #0x2c]
- pop {r4, pc}
-_0200E9C0:
- bl FUN_0200FD1C
- pop {r4, pc}
- nop
-_0200E9C8: .word 0x020ED154
-
- thumb_func_start FUN_0200E9CC
-FUN_0200E9CC: ; 0x0200E9CC
- push {r4, lr}
- add r4, r0, #0x0
- ldr r1, [r4, #0xc]
- cmp r1, #0x0
- bne _0200E9F4
- ldr r1, _0200E9FC ; =0x020ECFC0
- ldr r0, _0200EA00 ; =0x02105AF8
- str r1, [r0, #0x20]
- ldrh r0, [r4, #0x24]
- bl FUN_0200E420
- ldr r1, _0200EA04 ; =0x02105B18
- add r0, r4, #0x0
- bl FUN_02010F2C
- mov r0, #0x1
- str r0, [r4, #0x28]
- mov r0, #0x0
- str r0, [r4, #0x2c]
- pop {r4, pc}
-_0200E9F4:
- bl FUN_02010F70
- pop {r4, pc}
- nop
-_0200E9FC: .word 0x020ECFC0
-_0200EA00: .word 0x02105AF8
-_0200EA04: .word 0x02105B18
-
- thumb_func_start FUN_0200EA08
-FUN_0200EA08: ; 0x0200EA08
- push {r4, lr}
- add r4, r0, #0x0
- ldr r1, [r4, #0xc]
- cmp r1, #0x0
- bne _0200EA2E
- ldr r1, _0200EA34 ; =0x020ECFC6
- ldr r0, _0200EA38 ; =0x02105AF8
- str r1, [r0, #0x28]
- ldrh r0, [r4, #0x24]
- bl FUN_0200E420
- ldr r1, _0200EA3C ; =0x02105B20
- add r0, r4, #0x0
- bl FUN_02010F2C
- mov r0, #0x0
- str r0, [r4, #0x28]
- str r0, [r4, #0x2c]
- pop {r4, pc}
-_0200EA2E:
- bl FUN_02010F70
- pop {r4, pc}
- .balign 4
-_0200EA34: .word 0x020ECFC6
-_0200EA38: .word 0x02105AF8
-_0200EA3C: .word 0x02105B20
-
- thumb_func_start FUN_0200EA40
-FUN_0200EA40: ; 0x0200EA40
- push {r4, lr}
- add r4, r0, #0x0
- ldr r1, [r4, #0xc]
- cmp r1, #0x0
- bne _0200EA68
- ldr r1, _0200EA70 ; =0x020ECFA8
- ldr r0, _0200EA74 ; =0x02105AF8
- str r1, [r0, #0x10]
- ldrh r0, [r4, #0x24]
- bl FUN_0200E420
- ldr r1, _0200EA78 ; =0x02105B08
- add r0, r4, #0x0
- bl FUN_02010F2C
- mov r0, #0x1
- str r0, [r4, #0x28]
- mov r0, #0x0
- str r0, [r4, #0x2c]
- pop {r4, pc}
-_0200EA68:
- bl FUN_02010F70
- pop {r4, pc}
- nop
-_0200EA70: .word 0x020ECFA8
-_0200EA74: .word 0x02105AF8
-_0200EA78: .word 0x02105B08
-
- thumb_func_start FUN_0200EA7C
-FUN_0200EA7C: ; 0x0200EA7C
- push {r4, lr}
- add r4, r0, #0x0
- ldr r1, [r4, #0xc]
- cmp r1, #0x0
- bne _0200EAA2
- ldr r1, _0200EAA8 ; =0x020ECFB4
- ldr r0, _0200EAAC ; =0x02105AF8
- str r1, [r0, #0x18]
- ldrh r0, [r4, #0x24]
- bl FUN_0200E420
- ldr r1, _0200EAB0 ; =0x02105B10
- add r0, r4, #0x0
- bl FUN_02010F2C
- mov r0, #0x0
- str r0, [r4, #0x28]
- str r0, [r4, #0x2c]
- pop {r4, pc}
-_0200EAA2:
- bl FUN_02010F70
- pop {r4, pc}
- .balign 4
-_0200EAA8: .word 0x020ECFB4
-_0200EAAC: .word 0x02105AF8
-_0200EAB0: .word 0x02105B10
-
- thumb_func_start FUN_0200EAB4
-FUN_0200EAB4: ; 0x0200EAB4
- push {r4, lr}
- add r4, r0, #0x0
- ldr r1, [r4, #0xc]
- cmp r1, #0x0
- bne _0200EAD6
- ldrh r0, [r4, #0x24]
- bl FUN_0200E420
- ldr r1, _0200EADC ; =0x020ED1C0
- add r0, r4, #0x0
- bl FUN_0200FCC8
- mov r0, #0x1
- str r0, [r4, #0x28]
- mov r0, #0x0
- str r0, [r4, #0x2c]
- pop {r4, pc}
-_0200EAD6:
- bl FUN_0200FD1C
- pop {r4, pc}
- .balign 4
-_0200EADC: .word 0x020ED1C0
-
- thumb_func_start FUN_0200EAE0
-FUN_0200EAE0: ; 0x0200EAE0
- push {r4, lr}
- add r4, r0, #0x0
- ldr r1, [r4, #0xc]
- cmp r1, #0x0
- bne _0200EB00
- ldrh r0, [r4, #0x24]
- bl FUN_0200E420
- ldr r1, _0200EB08 ; =0x020ED1E4
- add r0, r4, #0x0
- bl FUN_0200FCC8
- mov r0, #0x0
- str r0, [r4, #0x28]
- str r0, [r4, #0x2c]
- pop {r4, pc}
-_0200EB00:
- bl FUN_0200FD1C
- pop {r4, pc}
- nop
-_0200EB08: .word 0x020ED1E4
-
- thumb_func_start FUN_0200EB0C
-FUN_0200EB0C: ; 0x0200EB0C
- push {r4, lr}
- add r4, r0, #0x0
- ldr r1, [r4, #0xc]
- cmp r1, #0x0
- bne _0200EB30
- ldrh r0, [r4, #0x24]
- bl FUN_0200E420
- ldr r1, _0200EB38 ; =0x020ED208
- ldr r2, _0200EB3C ; =0x020ED22C
- add r0, r4, #0x0
- bl FUN_0200FD6C
- mov r0, #0x1
- str r0, [r4, #0x28]
- mov r0, #0x0
- str r0, [r4, #0x2c]
- pop {r4, pc}
-_0200EB30:
- bl FUN_0200FDC4
- pop {r4, pc}
- nop
-_0200EB38: .word 0x020ED208
-_0200EB3C: .word 0x020ED22C
-
- thumb_func_start FUN_0200EB40
-FUN_0200EB40: ; 0x0200EB40
- push {r4, lr}
- add r4, r0, #0x0
- ldr r1, [r4, #0xc]
- cmp r1, #0x0
- bne _0200EB62
- ldrh r0, [r4, #0x24]
- bl FUN_0200E420
- ldr r1, _0200EB68 ; =0x020ED250
- ldr r2, _0200EB6C ; =0x020ED274
- add r0, r4, #0x0
- bl FUN_0200FD6C
- mov r0, #0x0
- str r0, [r4, #0x28]
- str r0, [r4, #0x2c]
- pop {r4, pc}
-_0200EB62:
- bl FUN_0200FDC4
- pop {r4, pc}
- .balign 4
-_0200EB68: .word 0x020ED250
-_0200EB6C: .word 0x020ED274
-
- thumb_func_start FUN_0200EB70
-FUN_0200EB70: ; 0x0200EB70
- push {r4, lr}
- add r4, r0, #0x0
- ldr r1, [r4, #0xc]
- cmp r1, #0x0
- bne _0200EB92
- ldrh r0, [r4, #0x24]
- bl FUN_0200E420
- ldr r1, _0200EB98 ; =0x020ED090
- add r0, r4, #0x0
- bl FUN_0200FF18
- mov r0, #0x1
- str r0, [r4, #0x28]
- mov r0, #0x0
- str r0, [r4, #0x2c]
- pop {r4, pc}
-_0200EB92:
- bl FUN_0200FF50
- pop {r4, pc}
- .balign 4
-_0200EB98: .word 0x020ED090
-
- thumb_func_start FUN_0200EB9C
-FUN_0200EB9C: ; 0x0200EB9C
- push {r4, lr}
- add r4, r0, #0x0
- ldr r1, [r4, #0xc]
- cmp r1, #0x0
- bne _0200EBBC
- ldrh r0, [r4, #0x24]
- bl FUN_0200E420
- ldr r1, _0200EBC4 ; =0x020ED040
- add r0, r4, #0x0
- bl FUN_0200FF18
- mov r0, #0x0
- str r0, [r4, #0x28]
- str r0, [r4, #0x2c]
- pop {r4, pc}
-_0200EBBC:
- bl FUN_0200FF50
- pop {r4, pc}
- nop
-_0200EBC4: .word 0x020ED040
-
- thumb_func_start FUN_0200EBC8
-FUN_0200EBC8: ; 0x0200EBC8
- push {r4, lr}
- add r4, r0, #0x0
- ldr r1, [r4, #0xc]
- cmp r1, #0x0
- bne _0200EBEA
- ldrh r0, [r4, #0x24]
- bl FUN_0200E420
- ldr r1, _0200EBF0 ; =0x020ED050
- add r0, r4, #0x0
- bl FUN_0200FF18
- mov r0, #0x1
- str r0, [r4, #0x28]
- mov r0, #0x0
- str r0, [r4, #0x2c]
- pop {r4, pc}
-_0200EBEA:
- bl FUN_0200FF50
- pop {r4, pc}
- .balign 4
-_0200EBF0: .word 0x020ED050
-
- thumb_func_start FUN_0200EBF4
-FUN_0200EBF4: ; 0x0200EBF4
- push {r4, lr}
- add r4, r0, #0x0
- ldr r1, [r4, #0xc]
- cmp r1, #0x0
- bne _0200EC14
- ldrh r0, [r4, #0x24]
- bl FUN_0200E420
- ldr r1, _0200EC1C ; =0x020ED060
- add r0, r4, #0x0
- bl FUN_0200FF18
- mov r0, #0x0
- str r0, [r4, #0x28]
- str r0, [r4, #0x2c]
- pop {r4, pc}
-_0200EC14:
- bl FUN_0200FF50
- pop {r4, pc}
- nop
-_0200EC1C: .word 0x020ED060
-
- thumb_func_start FUN_0200EC20
-FUN_0200EC20: ; 0x0200EC20
- push {r4, lr}
- add r4, r0, #0x0
- ldr r1, [r4, #0xc]
- cmp r1, #0x0
- bne _0200EC42
- ldrh r0, [r4, #0x24]
- bl FUN_0200E420
- ldr r1, _0200EC48 ; =0x020ECFE0
- add r0, r4, #0x0
- bl FUN_020101EC
- mov r0, #0x1
- str r0, [r4, #0x28]
- mov r0, #0x0
- str r0, [r4, #0x2c]
- pop {r4, pc}
-_0200EC42:
- bl FUN_02010224
- pop {r4, pc}
- .balign 4
-_0200EC48: .word 0x020ECFE0
-
- thumb_func_start FUN_0200EC4C
-FUN_0200EC4C: ; 0x0200EC4C
- push {r4, lr}
- add r4, r0, #0x0
- ldr r1, [r4, #0xc]
- cmp r1, #0x0
- bne _0200EC6C
- ldrh r0, [r4, #0x24]
- bl FUN_0200E420
- ldr r1, _0200EC74 ; =0x020ECFEC
- add r0, r4, #0x0
- bl FUN_020101EC
- mov r0, #0x0
- str r0, [r4, #0x28]
- str r0, [r4, #0x2c]
- pop {r4, pc}
-_0200EC6C:
- bl FUN_02010224
- pop {r4, pc}
- nop
-_0200EC74: .word 0x020ECFEC
-
- thumb_func_start FUN_0200EC78
-FUN_0200EC78: ; 0x0200EC78
- push {r4, lr}
- add r4, r0, #0x0
- ldr r1, [r4, #0xc]
- cmp r1, #0x0
- bne _0200EC9A
- ldrh r0, [r4, #0x24]
- bl FUN_0200E420
- ldr r1, _0200ECA0 ; =0x020ED0A0
- add r0, r4, #0x0
- bl FUN_0200FCC8
- mov r0, #0x1
- str r0, [r4, #0x28]
- mov r0, #0x0
- str r0, [r4, #0x2c]
- pop {r4, pc}
-_0200EC9A:
- bl FUN_0200FD1C
- pop {r4, pc}
- .balign 4
-_0200ECA0: .word 0x020ED0A0
-
- thumb_func_start FUN_0200ECA4
-FUN_0200ECA4: ; 0x0200ECA4
- push {r4, lr}
- add r4, r0, #0x0
- ldr r1, [r4, #0xc]
- cmp r1, #0x0
- bne _0200ECC4
- ldrh r0, [r4, #0x24]
- bl FUN_0200E420
- ldr r1, _0200ECCC ; =0x020ED0C4
- add r0, r4, #0x0
- bl FUN_0200FCC8
- mov r0, #0x0
- str r0, [r4, #0x28]
- str r0, [r4, #0x2c]
- pop {r4, pc}
-_0200ECC4:
- bl FUN_0200FD1C
- pop {r4, pc}
- nop
-_0200ECCC: .word 0x020ED0C4
-
- thumb_func_start FUN_0200ECD0
-FUN_0200ECD0: ; 0x0200ECD0
- push {r4, lr}
- add r4, r0, #0x0
- ldr r1, [r4, #0xc]
- cmp r1, #0x0
- bne _0200ECF2
- ldrh r0, [r4, #0x24]
- bl FUN_0200E420
- ldr r1, _0200ECF8 ; =0x020ED10C
- add r0, r4, #0x0
- bl FUN_0200FCC8
- mov r0, #0x1
- str r0, [r4, #0x28]
- mov r0, #0x0
- str r0, [r4, #0x2c]
- pop {r4, pc}
-_0200ECF2:
- bl FUN_0200FD1C
- pop {r4, pc}
- .balign 4
-_0200ECF8: .word 0x020ED10C
-
- thumb_func_start FUN_0200ECFC
-FUN_0200ECFC: ; 0x0200ECFC
- push {r4, lr}
- add r4, r0, #0x0
- ldr r1, [r4, #0xc]
- cmp r1, #0x0
- bne _0200ED1C
- ldrh r0, [r4, #0x24]
- bl FUN_0200E420
- ldr r1, _0200ED24 ; =0x020ED178
- add r0, r4, #0x0
- bl FUN_0200FCC8
- mov r0, #0x0
- str r0, [r4, #0x28]
- str r0, [r4, #0x2c]
- pop {r4, pc}
-_0200ED1C:
- bl FUN_0200FD1C
- pop {r4, pc}
- nop
-_0200ED24: .word 0x020ED178
-
- thumb_func_start FUN_0200ED28
-FUN_0200ED28: ; 0x0200ED28
- push {r4, lr}
- add r4, r0, #0x0
- ldr r1, [r4, #0xc]
- cmp r1, #0x0
- bne _0200ED4A
- ldrh r0, [r4, #0x24]
- bl FUN_0200E420
- ldr r1, _0200ED50 ; =0x020ED004
- add r0, r4, #0x0
- bl FUN_020103F0
- mov r0, #0x1
- str r0, [r4, #0x28]
- mov r0, #0x0
- str r0, [r4, #0x2c]
- pop {r4, pc}
-_0200ED4A:
- bl FUN_02010428
- pop {r4, pc}
- .balign 4
-_0200ED50: .word 0x020ED004
-
- thumb_func_start FUN_0200ED54
-FUN_0200ED54: ; 0x0200ED54
- push {r4, lr}
- add r4, r0, #0x0
- ldr r1, [r4, #0xc]
- cmp r1, #0x0
- bne _0200ED74
- ldrh r0, [r4, #0x24]
- bl FUN_0200E420
- ldr r1, _0200ED7C ; =0x020ED010
- add r0, r4, #0x0
- bl FUN_020103F0
- mov r0, #0x0
- str r0, [r4, #0x28]
- str r0, [r4, #0x2c]
- pop {r4, pc}
-_0200ED74:
- bl FUN_02010428
- pop {r4, pc}
- nop
-_0200ED7C: .word 0x020ED010
-
- thumb_func_start FUN_0200ED80
-FUN_0200ED80: ; 0x0200ED80
- push {r4, lr}
- sub sp, #0x10
- add r4, r0, #0x0
- ldr r1, [r4, #0xc]
- cmp r1, #0x0
- bne _0200EDC4
- ldr r0, _0200EDCC ; =0x020ED298
- mov r1, #0x4
- str r0, [sp, #0x0]
- ldr r0, _0200EDD0 ; =0x020ED2D8
- str r0, [sp, #0x4]
- add r0, sp, #0x0
- strb r1, [r0, #0x8]
- mov r1, #0x0
- strb r1, [r0, #0x9]
- mov r1, #0x3f
- strb r1, [r0, #0xa]
- mov r1, #0x20
- strb r1, [r0, #0xb]
- mov r1, #0x1
- strb r1, [r0, #0xc]
- ldrh r0, [r4, #0x24]
- bl FUN_0200E420
- add r0, r4, #0x0
- add r1, sp, #0x0
- bl FUN_02010688
- mov r0, #0x1
- str r0, [r4, #0x28]
- mov r0, #0x0
- add sp, #0x10
- str r0, [r4, #0x2c]
- pop {r4, pc}
-_0200EDC4:
- bl FUN_020106C0
- add sp, #0x10
- pop {r4, pc}
- .balign 4
-_0200EDCC: .word 0x020ED298
-_0200EDD0: .word 0x020ED2D8
-
- thumb_func_start FUN_0200EDD4
-FUN_0200EDD4: ; 0x0200EDD4
- push {r4, lr}
- sub sp, #0x10
- add r4, r0, #0x0
- ldr r1, [r4, #0xc]
- cmp r1, #0x0
- bne _0200EE14
- ldr r0, _0200EE1C ; =0x020ED318
- mov r1, #0x4
- str r0, [sp, #0x0]
- ldr r0, _0200EE20 ; =0x020ED358
- mov r2, #0x0
- str r0, [sp, #0x4]
- add r0, sp, #0x0
- strb r1, [r0, #0x8]
- strb r2, [r0, #0x9]
- mov r1, #0x3f
- strb r1, [r0, #0xa]
- mov r1, #0x20
- strb r1, [r0, #0xb]
- strb r2, [r0, #0xc]
- ldrh r0, [r4, #0x24]
- bl FUN_0200E420
- add r0, r4, #0x0
- add r1, sp, #0x0
- bl FUN_02010688
- mov r0, #0x0
- str r0, [r4, #0x28]
- add sp, #0x10
- str r0, [r4, #0x2c]
- pop {r4, pc}
-_0200EE14:
- bl FUN_020106C0
- add sp, #0x10
- pop {r4, pc}
- .balign 4
-_0200EE1C: .word 0x020ED318
-_0200EE20: .word 0x020ED358
-
- thumb_func_start FUN_0200EE24
-FUN_0200EE24: ; 0x0200EE24
- push {r4, lr}
- add r4, r0, #0x0
- ldr r1, [r4, #0xc]
- cmp r1, #0x0
- bne _0200EE4C
- ldr r1, _0200EE54 ; =0x020ECFD5
- ldr r0, _0200EE58 ; =0x02105AF8
- str r1, [r0, #0x0]
- ldrh r0, [r4, #0x24]
- bl FUN_0200E420
- ldr r1, _0200EE5C ; =0x02105AF8
- add r0, r4, #0x0
- bl FUN_02010F2C
- mov r0, #0x1
- str r0, [r4, #0x28]
- mov r0, #0x0
- str r0, [r4, #0x2c]
- pop {r4, pc}
-_0200EE4C:
- bl FUN_02010F70
- pop {r4, pc}
- nop
-_0200EE54: .word 0x020ECFD5
-_0200EE58: .word 0x02105AF8
-_0200EE5C: .word 0x02105AF8
-
- thumb_func_start FUN_0200EE60
-FUN_0200EE60: ; 0x0200EE60
- push {r4, lr}
- add r4, r0, #0x0
- ldr r1, [r4, #0xc]
- cmp r1, #0x0
- bne _0200EE86
- ldr r1, _0200EE8C ; =0x020ECFCC
- ldr r0, _0200EE90 ; =0x02105AF8
- str r1, [r0, #0x8]
- ldrh r0, [r4, #0x24]
- bl FUN_0200E420
- ldr r1, _0200EE94 ; =0x02105B00
- add r0, r4, #0x0
- bl FUN_02010F2C
- mov r0, #0x0
- str r0, [r4, #0x28]
- str r0, [r4, #0x2c]
- pop {r4, pc}
-_0200EE86:
- bl FUN_02010F70
- pop {r4, pc}
- .balign 4
-_0200EE8C: .word 0x020ECFCC
-_0200EE90: .word 0x02105AF8
-_0200EE94: .word 0x02105B00
-
- thumb_func_start FUN_0200EE98
-FUN_0200EE98: ; 0x0200EE98
- push {r3-r4, lr}
- sub sp, #0xc
- add r4, r0, #0x0
- ldr r1, [r4, #0xc]
- cmp r1, #0x0
- bne _0200EECA
- ldr r3, _0200EED4 ; =0x020ECFF8
- add r2, sp, #0x0
- ldmia r3!, {r0-r1}
- stmia r2!, {r0-r1}
- ldr r0, [r3, #0x0]
- str r0, [r2, #0x0]
- ldrh r0, [r4, #0x24]
- bl FUN_0200E420
- add r0, r4, #0x0
- add r1, sp, #0x0
- bl FUN_02010948
- mov r0, #0x1
- str r0, [r4, #0x28]
- mov r0, #0x0
- add sp, #0xc
- str r0, [r4, #0x2c]
- pop {r3-r4, pc}
-_0200EECA:
- bl FUN_02010988
- add sp, #0xc
- pop {r3-r4, pc}
- nop
-_0200EED4: .word 0x020ECFF8
-
- thumb_func_start FUN_0200EED8
-FUN_0200EED8: ; 0x0200EED8
- push {r3-r4, lr}
- sub sp, #0xc
- add r4, r0, #0x0
- ldr r1, [r4, #0xc]
- cmp r1, #0x0
- bne _0200EF08
- ldr r3, _0200EF10 ; =0x020ED034
- add r2, sp, #0x0
- ldmia r3!, {r0-r1}
- stmia r2!, {r0-r1}
- ldr r0, [r3, #0x0]
- str r0, [r2, #0x0]
- ldrh r0, [r4, #0x24]
- bl FUN_0200E420
- add r0, r4, #0x0
- add r1, sp, #0x0
- bl FUN_02010948
- mov r0, #0x0
- str r0, [r4, #0x28]
- add sp, #0xc
- str r0, [r4, #0x2c]
- pop {r3-r4, pc}
-_0200EF08:
- bl FUN_02010988
- add sp, #0xc
- pop {r3-r4, pc}
- .balign 4
-_0200EF10: .word 0x020ED034
-
- thumb_func_start FUN_0200EF14
-FUN_0200EF14: ; 0x0200EF14
- push {r3-r4, lr}
- sub sp, #0xc
- add r4, r0, #0x0
- ldr r1, [r4, #0xc]
- cmp r1, #0x0
- bne _0200EF46
- ldr r3, _0200EF50 ; =0x020ED01C
- add r2, sp, #0x0
- ldmia r3!, {r0-r1}
- stmia r2!, {r0-r1}
- ldr r0, [r3, #0x0]
- str r0, [r2, #0x0]
- ldrh r0, [r4, #0x24]
- bl FUN_0200E420
- add r0, r4, #0x0
- add r1, sp, #0x0
- bl FUN_02010C7C
- mov r0, #0x1
- str r0, [r4, #0x28]
- mov r0, #0x0
- add sp, #0xc
- str r0, [r4, #0x2c]
- pop {r3-r4, pc}
-_0200EF46:
- bl FUN_02010CBC
- add sp, #0xc
- pop {r3-r4, pc}
- nop
-_0200EF50: .word 0x020ED01C
-
- thumb_func_start FUN_0200EF54
-FUN_0200EF54: ; 0x0200EF54
- push {r3-r4, lr}
- sub sp, #0xc
- add r4, r0, #0x0
- ldr r1, [r4, #0xc]
- cmp r1, #0x0
- bne _0200EF84
- ldr r3, _0200EF8C ; =0x020ED028
- add r2, sp, #0x0
- ldmia r3!, {r0-r1}
- stmia r2!, {r0-r1}
- ldr r0, [r3, #0x0]
- str r0, [r2, #0x0]
- ldrh r0, [r4, #0x24]
- bl FUN_0200E420
- add r0, r4, #0x0
- add r1, sp, #0x0
- bl FUN_02010C7C
- mov r0, #0x0
- str r0, [r4, #0x28]
- add sp, #0xc
- str r0, [r4, #0x2c]
- pop {r3-r4, pc}
-_0200EF84:
- bl FUN_02010CBC
- add sp, #0xc
- pop {r3-r4, pc}
- .balign 4
-_0200EF8C: .word 0x020ED028
-
- thumb_func_start FUN_0200EF90
-FUN_0200EF90: ; 0x0200EF90
- push {r4, lr}
- add r4, r0, #0x0
- ldr r1, [r4, #0xc]
- cmp r1, #0x0
- bne _0200EFB2
- ldrh r0, [r4, #0x24]
- bl FUN_0200E420
- ldr r1, _0200EFB8 ; =0x020ED080
- add r0, r4, #0x0
- bl FUN_0200FF18
- mov r0, #0x1
- str r0, [r4, #0x28]
- mov r0, #0x0
- str r0, [r4, #0x2c]
- pop {r4, pc}
-_0200EFB2:
- bl FUN_0200FF50
- pop {r4, pc}
- .balign 4
-_0200EFB8: .word 0x020ED080
-
- thumb_func_start FUN_0200EFBC
-FUN_0200EFBC: ; 0x0200EFBC
- push {r4, lr}
- add r4, r0, #0x0
- ldr r1, [r4, #0xc]
- cmp r1, #0x0
- bne _0200EFDC
- ldrh r0, [r4, #0x24]
- bl FUN_0200E420
- ldr r1, _0200EFE4 ; =0x020ED070
- add r0, r4, #0x0
- bl FUN_0200FF18
- mov r0, #0x0
- str r0, [r4, #0x28]
- str r0, [r4, #0x2c]
- pop {r4, pc}
-_0200EFDC:
- bl FUN_0200FF50
- pop {r4, pc}
- nop
-_0200EFE4: .word 0x020ED070
-
- thumb_func_start FUN_0200EFE8
-FUN_0200EFE8: ; 0x0200EFE8
- push {r4, lr}
- add r4, r0, #0x0
- ldr r1, [r4, #0xc]
- cmp r1, #0x0
- bne _0200F00A
- ldrh r0, [r4, #0x24]
- bl FUN_0200E420
- ldr r1, _0200F010 ; =0x020ED130
- add r0, r4, #0x0
- bl FUN_0200FCC8
- mov r0, #0x1
- str r0, [r4, #0x28]
- mov r0, #0x0
- str r0, [r4, #0x2c]
- pop {r4, pc}
-_0200F00A:
- bl FUN_0200FD1C
- pop {r4, pc}
- .balign 4
-_0200F010: .word 0x020ED130
-
- thumb_func_start FUN_0200F014
-FUN_0200F014: ; 0x0200F014
- push {r4, lr}
- add r4, r0, #0x0
- ldr r1, [r4, #0xc]
- cmp r1, #0x0
- bne _0200F034
- ldrh r0, [r4, #0x24]
- bl FUN_0200E420
- ldr r1, _0200F03C ; =0x020ED19C
- add r0, r4, #0x0
- bl FUN_0200FCC8
- mov r0, #0x0
- str r0, [r4, #0x28]
- str r0, [r4, #0x2c]
- pop {r4, pc}
-_0200F034:
- bl FUN_0200FD1C
- pop {r4, pc}
- nop
-_0200F03C: .word 0x020ED19C
-
- thumb_func_start FUN_0200F040
-FUN_0200F040: ; 0x0200F040
- push {r4, lr}
- add r4, r0, #0x0
- ldr r1, [r4, #0xc]
- cmp r1, #0x0
- bne _0200F068
- ldr r1, _0200F070 ; =0x020ECFAE
- ldr r0, _0200F074 ; =0x02105AF8
- str r1, [r0, #0x74]
- ldrh r0, [r4, #0x24]
- bl FUN_0200E420
- ldr r1, _0200F078 ; =0x02105B48
- add r0, r4, #0x0
- bl FUN_020111AC
- mov r0, #0x1
- str r0, [r4, #0x28]
- mov r0, #0x0
- str r0, [r4, #0x2c]
- pop {r4, pc}
-_0200F068:
- bl FUN_02011214
- pop {r4, pc}
- nop
-_0200F070: .word 0x020ECFAE
-_0200F074: .word 0x02105AF8
-_0200F078: .word 0x02105B48
-
- thumb_func_start FUN_0200F07C
-FUN_0200F07C: ; 0x0200F07C
- push {r4, lr}
- add r4, r0, #0x0
- ldr r1, [r4, #0xc]
- cmp r1, #0x0
- bne _0200F0A2
- ldr r1, _0200F0A8 ; =0x020ECFBA
- ldr r0, _0200F0AC ; =0x02105B78
- str r1, [r0, #0x24]
- ldrh r0, [r4, #0x24]
- bl FUN_0200E420
- ldr r1, _0200F0B0 ; =0x02105B78
- add r0, r4, #0x0
- bl FUN_020111AC
- mov r0, #0x0
- str r0, [r4, #0x28]
- str r0, [r4, #0x2c]
- pop {r4, pc}
-_0200F0A2:
- bl FUN_02011214
- pop {r4, pc}
- .balign 4
-_0200F0A8: .word 0x020ECFBA
-_0200F0AC: .word 0x02105B78
-_0200F0B0: .word 0x02105B78
-
- thumb_func_start FUN_0200F0B4
-FUN_0200F0B4: ; 0x0200F0B4
- asr r0, r0, #0x4
- lsl r1, r0, #0x1
- lsl r0, r1, #0x1
- ldr r2, _0200F0C8 ; =0x020FFA38
- add r1, r1, #0x1
- lsl r1, r1, #0x1
- ldr r3, _0200F0CC ; =FX_Div
- ldrsh r0, [r2, r0]
- ldrsh r1, [r2, r1]
- bx r3
- .balign 4
-_0200F0C8: .word 0x020FFA38
-_0200F0CC: .word FX_Div
-
- thumb_func_start FUN_0200F0D0
-FUN_0200F0D0: ; 0x0200F0D0
- push {r4, lr}
- add r4, r1, #0x0
- bl FUN_0200F0B4
- lsl r2, r4, #0xc
- asr r1, r0, #0x1f
- asr r3, r2, #0x1f
- blx _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
- asr r0, r1, #0xc
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0200F0F8
-FUN_0200F0F8: ; 0x0200F0F8
- push {r3-r7, lr}
- sub sp, #0x8
- add r5, r1, #0x0
- add r7, r2, #0x0
- add r6, r3, #0x0
- bl FUN_0200F0B4
- cmp r6, r7
- bge _0200F142
- lsl r1, r6, #0x2
- str r0, [sp, #0x0]
- asr r0, r0, #0x1f
- lsl r4, r6, #0xc
- add r5, r5, r1
- str r0, [sp, #0x4]
-_0200F116:
- ldr r0, [sp, #0x0]
- ldr r1, [sp, #0x4]
- asr r3, r4, #0x1f
- add r2, r4, #0x0
- blx _ll_mul
- mov r2, #0x2
- lsl r2, r2, #0xa
- add r0, r0, r2
- ldr r2, _0200F148 ; =0x00000000
- adc r1, r2
- lsl r1, r1, #0x14
- lsr r0, r0, #0xc
- orr r0, r1
- asr r0, r0, #0xc
- stmia r5!, {r0}
- mov r0, #0x1
- lsl r0, r0, #0xc
- add r6, r6, #0x1
- add r4, r4, r0
- cmp r6, r7
- blt _0200F116
-_0200F142:
- add sp, #0x8
- pop {r3-r7, pc}
- nop
-_0200F148: .word 0x00000000
-
- thumb_func_start FUN_0200F14C
-FUN_0200F14C: ; 0x0200F14C
- push {r4, lr}
- add r4, r1, #0x0
- bl FUN_0200F0B4
- add r1, r0, #0x0
- lsr r0, r4, #0x1f
- add r0, r4, r0
- asr r0, r0, #0x1
- lsl r0, r0, #0xc
- blx FX_Div
- pop {r4, pc}
-
- thumb_func_start FUN_0200F164
-FUN_0200F164: ; 0x0200F164
- ldr r3, _0200F170 ; =_s32_div_f
- sub r0, r1, r0
- lsl r0, r0, #0x7
- add r1, r2, #0x0
- bx r3
- nop
-_0200F170: .word _s32_div_f
-
- thumb_func_start FUN_0200F174
-FUN_0200F174: ; 0x0200F174
- add r0, r0, r1
- bpl _0200F17A
- mov r0, #0x0
-_0200F17A:
- cmp r0, #0xff
- ble _0200F180
- mov r0, #0xff
-_0200F180:
- bx lr
- .balign 4
-
- thumb_func_start FUN_0200F184
-FUN_0200F184: ; 0x0200F184
- ldr r3, [r0, #0x0]
- ldr r2, [r1, #0x0]
- add r2, r3, r2
- str r2, [r0, #0x0]
- ldr r3, [r0, #0x4]
- ldr r2, [r1, #0x4]
- add r2, r3, r2
- str r2, [r0, #0x4]
- ldr r3, [r0, #0x8]
- ldr r2, [r1, #0x8]
- add r2, r3, r2
- str r2, [r0, #0x8]
- ldr r2, [r0, #0xc]
- ldr r1, [r1, #0xc]
- add r1, r2, r1
- str r1, [r0, #0xc]
- bx lr
- .balign 4
-
- thumb_func_start FUN_0200F1A8
-FUN_0200F1A8: ; 0x0200F1A8
- push {r3-r7, lr}
- add r7, r1, #0x0
- ldr r1, [sp, #0x1c]
- add r5, r3, #0x0
- str r1, [sp, #0x1c]
- ldr r1, [r5, #0x0]
- ldr r4, [sp, #0x18]
- lsl r1, r1, #0x7
- str r1, [r0, #0x0]
- ldr r1, [r5, #0x4]
- add r6, r2, #0x0
- lsl r1, r1, #0x7
- str r1, [r0, #0x4]
- ldr r1, [r5, #0x8]
- add r2, r4, #0x0
- lsl r1, r1, #0x7
- str r1, [r0, #0x8]
- ldr r1, [r5, #0xc]
- lsl r1, r1, #0x7
- str r1, [r0, #0xc]
- ldmia r2!, {r0-r1}
- stmia r7!, {r0-r1}
- ldmia r2!, {r0-r1}
- stmia r7!, {r0-r1}
- ldr r0, [r5, #0x0]
- ldr r1, [r4, #0x0]
- ldr r2, [sp, #0x1c]
- bl FUN_0200F164
- str r0, [r6, #0x0]
- ldr r0, [r5, #0x4]
- ldr r1, [r4, #0x4]
- ldr r2, [sp, #0x1c]
- bl FUN_0200F164
- str r0, [r6, #0x4]
- ldr r0, [r5, #0x8]
- ldr r1, [r4, #0x8]
- ldr r2, [sp, #0x1c]
- bl FUN_0200F164
- str r0, [r6, #0x8]
- ldr r0, [r5, #0xc]
- ldr r1, [r4, #0xc]
- ldr r2, [sp, #0x1c]
- bl FUN_0200F164
- str r0, [r6, #0xc]
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0200F20C
-FUN_0200F20C: ; 0x0200F20C
- push {r3-r7, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0x20]
- add r6, r1, #0x0
- mov r1, #0x1c
- bl FUN_02016998
- str r0, [r5, #0x14]
- mov r2, #0x1c
- mov r1, #0x0
-_0200F220:
- strb r1, [r0, #0x0]
- add r0, r0, #0x1
- sub r2, r2, #0x1
- bne _0200F220
- ldr r4, [r5, #0x14]
- cmp r6, #0x0
- ldrh r1, [r5, #0x24]
- ldr r0, _0200F2A8 ; =0x00007FFF
- bne _0200F254
- cmp r1, r0
- bne _0200F23C
- mov r7, #0x10
- mov r6, #0x0
- b _0200F274
-_0200F23C:
- cmp r1, #0x0
- bne _0200F248
- mov r7, #0xf
- mvn r7, r7
- mov r6, #0x0
- b _0200F274
-_0200F248:
- mov r7, #0xf
- mvn r7, r7
- mov r6, #0x0
- bl ErrorHandling
- b _0200F274
-_0200F254:
- cmp r1, r0
- bne _0200F25E
- mov r7, #0x0
- mov r6, #0x10
- b _0200F274
-_0200F25E:
- cmp r1, #0x0
- bne _0200F26A
- mov r7, #0x0
- add r6, r7, #0x0
- sub r6, #0x10
- b _0200F274
-_0200F26A:
- mov r7, #0x0
- add r6, r7, #0x0
- sub r6, #0x10
- bl ErrorHandling
-_0200F274:
- ldr r0, [r5, #0x10]
- add r1, r7, #0x0
- bl FUN_0200E440
- ldr r0, [r5, #0x4]
- add r1, r6, #0x0
- str r0, [r4, #0x0]
- ldr r0, [r5, #0x8]
- str r0, [r4, #0x4]
- mov r0, #0x0
- str r0, [r4, #0x8]
- lsl r0, r7, #0x7
- str r0, [r4, #0xc]
- lsl r0, r6, #0x7
- str r0, [r4, #0x10]
- ldr r2, [r5, #0x4]
- add r0, r7, #0x0
- bl FUN_0200F164
- str r0, [r4, #0x14]
- ldr r0, [r5, #0x10]
- str r0, [r4, #0x18]
- ldr r0, [r5, #0xc]
- add r0, r0, #0x1
- str r0, [r5, #0xc]
- pop {r3-r7, pc}
- .balign 4
-_0200F2A8: .word 0x00007FFF
-
- thumb_func_start FUN_0200F2AC
-FUN_0200F2AC: ; 0x0200F2AC
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r1, [r5, #0xc]
- mov r4, #0x0
- ldr r0, [r5, #0x14]
- cmp r1, #0x1
- beq _0200F2C4
- cmp r1, #0x2
- beq _0200F2D4
- cmp r1, #0x3
- beq _0200F2E6
- b _0200F2E8
-_0200F2C4:
- bl FUN_0200F2EC
- cmp r0, #0x1
- bne _0200F2E8
- ldr r0, [r5, #0xc]
- add r0, r0, #0x1
- str r0, [r5, #0xc]
- b _0200F2E8
-_0200F2D4:
- bl FUN_02016A18
- add r0, r4, #0x0
- str r0, [r5, #0x14]
- ldr r0, [r5, #0xc]
- mov r4, #0x1
- add r0, r0, #0x1
- str r0, [r5, #0xc]
- b _0200F2E8
-_0200F2E6:
- mov r4, #0x1
-_0200F2E8:
- add r0, r4, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0200F2EC
-FUN_0200F2EC: ; 0x0200F2EC
- push {r4, lr}
- add r1, r0, #0x0
- ldr r0, [r1, #0x8]
- mov r4, #0x0
- add r2, r0, #0x1
- str r2, [r1, #0x8]
- ldr r0, [r1, #0x4]
- cmp r2, r0
- blt _0200F32A
- str r4, [r1, #0x8]
- ldr r0, [r1, #0x0]
- sub r0, r0, #0x1
- cmp r0, #0x0
- ble _0200F314
- str r0, [r1, #0x0]
- ldr r2, [r1, #0xc]
- ldr r0, [r1, #0x14]
- add r0, r2, r0
- str r0, [r1, #0xc]
- b _0200F31A
-_0200F314:
- ldr r0, [r1, #0x10]
- mov r4, #0x1
- str r0, [r1, #0xc]
-_0200F31A:
- ldr r2, [r1, #0xc]
- ldr r0, [r1, #0x18]
- asr r1, r2, #0x6
- lsr r1, r1, #0x19
- add r1, r2, r1
- asr r1, r1, #0x7
- bl FUN_0200E440
-_0200F32A:
- add r0, r4, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0200F330
-FUN_0200F330: ; 0x0200F330
- push {r4-r6, lr}
- add r4, r0, #0x0
- bne _0200F33A
- bl ErrorHandling
-_0200F33A:
- ldr r0, _0200F54C ; =0x04000006
- ldrh r0, [r0, #0x0]
- cmp r0, #0xc0
- bge _0200F3E0
- add r5, r0, #0x1
- cmp r5, #0xbf
- ble _0200F34A
- sub r5, #0xc0
-_0200F34A:
- ldr r0, [r4, #0x4]
- cmp r0, #0x1
- bne _0200F3FA
- add r0, r4, #0x0
- mov r1, #0x0
- bl FUN_0200F5D8
- ldr r3, [r4, #0x8]
- lsl r5, r5, #0x1
- mov r4, #0x6
- add r1, r0, r5
- lsl r4, r4, #0x6
- ldrsh r2, [r1, r4]
- lsl r4, r4, #0x2
- ldrsh r1, [r0, r5]
- ldr r0, [r0, r4]
- cmp r0, #0x0
- ldr r0, _0200F550 ; =0x04000004
- bne _0200F3B4
- cmp r3, #0x0
- bne _0200F394
- ldrh r4, [r0, #0x0]
- mov r3, #0x2
- tst r3, r4
- beq _0200F3E0
- lsl r3, r1, #0x8
- mov r1, #0xff
- lsl r1, r1, #0x8
- and r3, r1
- lsl r1, r2, #0x18
- lsr r1, r1, #0x18
- orr r1, r3
- strh r1, [r0, #0x3c]
- mov r1, #0xc0
- add r0, #0x40
- strh r1, [r0, #0x0]
- pop {r4-r6, pc}
-_0200F394:
- ldrh r3, [r0, #0x0]
- mov r0, #0x2
- tst r0, r3
- beq _0200F3E0
- mov r0, #0xff
- lsl r1, r1, #0x8
- lsl r0, r0, #0x8
- and r1, r0
- lsl r0, r2, #0x18
- lsr r0, r0, #0x18
- orr r0, r1
- ldr r1, _0200F554 ; =0x04001040
- strh r0, [r1, #0x0]
- mov r0, #0xc0
- strh r0, [r1, #0x4]
- pop {r4-r6, pc}
-_0200F3B4:
- cmp r3, #0x0
- bne _0200F3D8
- ldrh r4, [r0, #0x0]
- mov r3, #0x2
- tst r3, r4
- beq _0200F3E0
- lsl r3, r1, #0x8
- mov r1, #0xff
- lsl r1, r1, #0x8
- and r3, r1
- lsl r1, r2, #0x18
- lsr r1, r1, #0x18
- orr r1, r3
- strh r1, [r0, #0x3e]
- mov r1, #0xc0
- add r0, #0x42
- strh r1, [r0, #0x0]
- pop {r4-r6, pc}
-_0200F3D8:
- ldrh r3, [r0, #0x0]
- mov r0, #0x2
- tst r0, r3
- bne _0200F3E2
-_0200F3E0:
- b _0200F548
-_0200F3E2:
- mov r0, #0xff
- lsl r1, r1, #0x8
- lsl r0, r0, #0x8
- and r1, r0
- lsl r0, r2, #0x18
- lsr r0, r0, #0x18
- orr r0, r1
- ldr r1, _0200F558 ; =0x04001042
- strh r0, [r1, #0x0]
- mov r0, #0xc0
- strh r0, [r1, #0x4]
- pop {r4-r6, pc}
-_0200F3FA:
- add r0, r4, #0x0
- mov r1, #0x0
- bl FUN_0200F5D8
- add r3, r0, #0x0
- lsl r5, r5, #0x1
- mov r6, #0x6
- add r1, r3, r5
- lsl r6, r6, #0x6
- ldrsh r2, [r1, r6]
- lsl r6, r6, #0x2
- ldrsh r1, [r3, r5]
- ldr r3, [r3, r6]
- ldr r0, [r4, #0x8]
- cmp r3, #0x0
- bne _0200F460
- cmp r0, #0x0
- ldr r0, _0200F550 ; =0x04000004
- bne _0200F440
- ldrh r6, [r0, #0x0]
- mov r3, #0x2
- tst r3, r6
- beq _0200F4A4
- lsl r3, r1, #0x8
- mov r1, #0xff
- lsl r1, r1, #0x8
- and r3, r1
- lsl r1, r2, #0x18
- lsr r1, r1, #0x18
- orr r1, r3
- strh r1, [r0, #0x3c]
- mov r1, #0xc0
- add r0, #0x40
- strh r1, [r0, #0x0]
- b _0200F4A4
-_0200F440:
- ldrh r3, [r0, #0x0]
- mov r0, #0x2
- tst r0, r3
- beq _0200F4A4
- mov r0, #0xff
- lsl r1, r1, #0x8
- lsl r0, r0, #0x8
- and r1, r0
- lsl r0, r2, #0x18
- lsr r0, r0, #0x18
- orr r0, r1
- ldr r1, _0200F554 ; =0x04001040
- strh r0, [r1, #0x0]
- mov r0, #0xc0
- strh r0, [r1, #0x4]
- b _0200F4A4
-_0200F460:
- cmp r0, #0x0
- ldr r0, _0200F550 ; =0x04000004
- bne _0200F486
- ldrh r6, [r0, #0x0]
- mov r3, #0x2
- tst r3, r6
- beq _0200F4A4
- lsl r3, r1, #0x8
- mov r1, #0xff
- lsl r1, r1, #0x8
- and r3, r1
- lsl r1, r2, #0x18
- lsr r1, r1, #0x18
- orr r1, r3
- strh r1, [r0, #0x3e]
- mov r1, #0xc0
- add r0, #0x42
- strh r1, [r0, #0x0]
- b _0200F4A4
-_0200F486:
- ldrh r3, [r0, #0x0]
- mov r0, #0x2
- tst r0, r3
- beq _0200F4A4
- mov r0, #0xff
- lsl r1, r1, #0x8
- lsl r0, r0, #0x8
- and r1, r0
- lsl r0, r2, #0x18
- lsr r0, r0, #0x18
- orr r0, r1
- ldr r1, _0200F558 ; =0x04001042
- strh r0, [r1, #0x0]
- mov r0, #0xc0
- strh r0, [r1, #0x4]
-_0200F4A4:
- add r0, r4, #0x0
- mov r1, #0x1
- bl FUN_0200F5D8
- ldr r3, [r4, #0x8]
- mov r4, #0x6
- add r1, r0, r5
- lsl r4, r4, #0x6
- ldrsh r2, [r1, r4]
- lsl r4, r4, #0x2
- ldrsh r1, [r0, r5]
- ldr r0, [r0, r4]
- cmp r0, #0x0
- ldr r0, _0200F550 ; =0x04000004
- bne _0200F506
- cmp r3, #0x0
- bne _0200F4E6
- ldrh r4, [r0, #0x0]
- mov r3, #0x2
- tst r3, r4
- beq _0200F548
- lsl r3, r1, #0x8
- mov r1, #0xff
- lsl r1, r1, #0x8
- and r3, r1
- lsl r1, r2, #0x18
- lsr r1, r1, #0x18
- orr r1, r3
- strh r1, [r0, #0x3c]
- mov r1, #0xc0
- add r0, #0x40
- strh r1, [r0, #0x0]
- pop {r4-r6, pc}
-_0200F4E6:
- ldrh r3, [r0, #0x0]
- mov r0, #0x2
- tst r0, r3
- beq _0200F548
- mov r0, #0xff
- lsl r1, r1, #0x8
- lsl r0, r0, #0x8
- and r1, r0
- lsl r0, r2, #0x18
- lsr r0, r0, #0x18
- orr r0, r1
- ldr r1, _0200F554 ; =0x04001040
- strh r0, [r1, #0x0]
- mov r0, #0xc0
- strh r0, [r1, #0x4]
- pop {r4-r6, pc}
-_0200F506:
- cmp r3, #0x0
- bne _0200F52A
- ldrh r4, [r0, #0x0]
- mov r3, #0x2
- tst r3, r4
- beq _0200F548
- lsl r3, r1, #0x8
- mov r1, #0xff
- lsl r1, r1, #0x8
- and r3, r1
- lsl r1, r2, #0x18
- lsr r1, r1, #0x18
- orr r1, r3
- strh r1, [r0, #0x3e]
- mov r1, #0xc0
- add r0, #0x42
- strh r1, [r0, #0x0]
- pop {r4-r6, pc}
-_0200F52A:
- ldrh r3, [r0, #0x0]
- mov r0, #0x2
- tst r0, r3
- beq _0200F548
- mov r0, #0xff
- lsl r1, r1, #0x8
- lsl r0, r0, #0x8
- and r1, r0
- lsl r0, r2, #0x18
- lsr r0, r0, #0x18
- orr r0, r1
- ldr r1, _0200F558 ; =0x04001042
- strh r0, [r1, #0x0]
- mov r0, #0xc0
- strh r0, [r1, #0x4]
-_0200F548:
- pop {r4-r6, pc}
- nop
-_0200F54C: .word 0x04000006
-_0200F550: .word 0x04000004
-_0200F554: .word 0x04001040
-_0200F558: .word 0x04001042
-
- thumb_func_start FUN_0200F55C
-FUN_0200F55C: ; 0x0200F55C
- push {r4-r6, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- add r6, r2, #0x0
- cmp r4, #0x0
- beq _0200F572
- cmp r4, #0x1
- beq _0200F572
- cmp r4, #0x2
- beq _0200F58C
- pop {r4-r6, pc}
-_0200F572:
- ldr r1, _0200F5B8 ; =0x00000604
- add r0, r3, #0x0
- bl FUN_02016998
- str r0, [r5, #0x0]
- mov r0, #0x1
- str r0, [r5, #0x4]
- str r6, [r5, #0x8]
- mov r0, #0x6
- ldr r1, [r5, #0x0]
- lsl r0, r0, #0x8
- str r4, [r1, r0]
- pop {r4-r6, pc}
-_0200F58C:
- ldr r1, _0200F5BC ; =0x00000C08
- add r0, r3, #0x0
- bl FUN_02016998
- str r0, [r5, #0x0]
- mov r0, #0x2
- str r0, [r5, #0x4]
- mov r0, #0x6
- mov r3, #0x0
- lsl r0, r0, #0x8
- str r6, [r5, #0x8]
- add r4, r3, #0x0
- add r1, r0, #0x4
-_0200F5A6:
- ldr r2, [r5, #0x0]
- add r2, r2, r4
- str r3, [r2, r0]
- add r3, r3, #0x1
- add r4, r4, r1
- cmp r3, #0x2
- blt _0200F5A6
- pop {r4-r6, pc}
- nop
-_0200F5B8: .word 0x00000604
-_0200F5BC: .word 0x00000C08
-
- thumb_func_start FUN_0200F5C0
-FUN_0200F5C0: ; 0x0200F5C0
- ldr r3, _0200F5C4 ; =FUN_0200F5C8
- bx r3
- .balign 4
-_0200F5C4: .word FUN_0200F5C8
-
- thumb_func_start FUN_0200F5C8
-FUN_0200F5C8: ; 0x0200F5C8
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_02016A18
- mov r0, #0x0
- str r0, [r4, #0x0]
- pop {r4, pc}
-
- thumb_func_start FUN_0200F5D8
-FUN_0200F5D8: ; 0x0200F5D8
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0x4]
- add r4, r1, #0x0
- cmp r0, r4
- bgt _0200F5E8
- bl ErrorHandling
-_0200F5E8:
- ldr r0, _0200F5F4 ; =0x00000604
- ldr r1, [r5, #0x0]
- mul r0, r4
- add r0, r1, r0
- pop {r3-r5, pc}
- nop
-_0200F5F4: .word 0x00000604
-
- thumb_func_start FUN_0200F5F8
-FUN_0200F5F8: ; 0x0200F5F8
- push {r3-r7, lr}
- add r5, r1, #0x0
- str r0, [sp, #0x0]
- ldr r0, [r5, #0x4]
- mov r4, #0x0
- cmp r0, #0x0
- ble _0200F624
- mov r7, #0x3
- lsl r7, r7, #0x8
- add r6, r7, #0x0
-_0200F60C:
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_0200F5D8
- add r1, r0, r6
- add r2, r7, #0x0
- blx memcpy
- ldr r0, [r5, #0x4]
- add r4, r4, #0x1
- cmp r4, r0
- blt _0200F60C
-_0200F624:
- ldr r0, [sp, #0x0]
- bl FUN_0200CAB4
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0200F62C
-FUN_0200F62C: ; 0x0200F62C
- push {r4-r5, lr}
- sub sp, #0xc
- add r5, r1, #0x0
- add r4, r2, #0x0
- cmp r0, #0x0
- bne _0200F644
- add r0, r5, #0x0
- mov r1, #0x0
- bl FUN_02011634
- add sp, #0xc
- pop {r4-r5, pc}
-_0200F644:
- add r0, r5, #0x0
- mov r1, #0x1
- bl FUN_02011634
- mov r2, #0x0
- add r0, r5, #0x0
- mov r1, #0x3f
- add r3, r2, #0x0
- str r4, [sp, #0x0]
- bl FUN_02011650
- mov r1, #0x0
- str r1, [sp, #0x0]
- str r1, [sp, #0x4]
- add r0, r5, #0x0
- add r2, r1, #0x0
- add r3, r1, #0x0
- str r4, [sp, #0x8]
- bl FUN_02011698
- add r0, r5, #0x0
- mov r1, #0x20
- mov r2, #0x0
- add r3, r4, #0x0
- bl FUN_02011678
- add sp, #0xc
- pop {r4-r5, pc}
-
- thumb_func_start FUN_0200F67C
-FUN_0200F67C: ; 0x0200F67C
- push {r4-r7, lr}
- sub sp, #0xc
- add r7, r2, #0x0
- ldr r2, [sp, #0x34]
- add r6, r0, #0x0
- add r5, r3, #0x0
- ldr r4, [sp, #0x20]
- cmp r2, #0x0
- bne _0200F6B8
- add r0, r1, #0x0
- mov r1, #0x0
- add r2, r5, #0x0
- add r3, r4, #0x0
- bl FUN_020114AC
- add r0, r7, #0x0
- mov r1, #0x0
- add r2, r4, #0x0
- bl FUN_02011534
- str r5, [sp, #0x0]
- ldr r0, [sp, #0x24]
- ldr r1, [sp, #0x28]
- ldr r2, [sp, #0x2c]
- ldr r3, [sp, #0x30]
- str r4, [sp, #0x4]
- bl FUN_02011574
- add sp, #0xc
- pop {r4-r7, pc}
-_0200F6B8:
- mov r2, #0x0
- str r4, [sp, #0x0]
- bl FUN_02011650
- add r0, r6, #0x0
- add r1, r7, #0x0
- mov r2, #0x0
- add r3, r4, #0x0
- bl FUN_02011678
- ldr r0, [sp, #0x30]
- ldr r1, [sp, #0x24]
- str r0, [sp, #0x0]
- str r5, [sp, #0x4]
- ldr r2, [sp, #0x28]
- ldr r3, [sp, #0x2c]
- add r0, r6, #0x0
- str r4, [sp, #0x8]
- bl FUN_02011698
- add sp, #0xc
- pop {r4-r7, pc}
-
- thumb_func_start FUN_0200F6E4
-FUN_0200F6E4: ; 0x0200F6E4
- push {r3, lr}
- cmp r3, #0x0
- bne _0200F6F4
- add r0, r1, #0x0
- add r1, r2, #0x0
- bl FUN_02011480
- pop {r3, pc}
-_0200F6F4:
- bl FUN_02011634
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0200F6FC
-FUN_0200F6FC: ; 0x0200F6FC
- push {r3-r7, lr}
- add r4, r2, #0x0
- mov r2, #0xc3
- add r6, r1, #0x0
- mov r1, #0x0
- lsl r2, r2, #0x2
- add r5, r0, #0x0
- add r7, r3, #0x0
- blx Call_FillMemWithValue
- cmp r4, #0x1
- bne _0200F726
- mov r0, #0x6
- lsl r0, r0, #0x6
- str r7, [r5, r0]
- mov r0, #0xc2
- lsl r0, r0, #0x2
- strb r4, [r5, r0]
- add r0, r0, #0x1
- strb r6, [r5, r0]
- pop {r3-r7, pc}
-_0200F726:
- mov r0, #0x6
- lsl r0, r0, #0x6
- str r7, [r5, r0]
- mov r0, #0xc1
- ldr r1, [sp, #0x18]
- lsl r0, r0, #0x2
- str r1, [r5, r0]
- add r1, r0, #0x4
- strb r4, [r5, r1]
- add r0, r0, #0x5
- strb r6, [r5, r0]
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0200F740
-FUN_0200F740: ; 0x0200F740
- ldr r3, _0200F74C ; =FUN_0200CA98
- add r1, r0, #0x0
- ldr r0, _0200F750 ; =FUN_0200F780
- ldr r2, _0200F754 ; =0x000003FF
- bx r3
- nop
-_0200F74C: .word FUN_0200CA98
-_0200F750: .word FUN_0200F780
-_0200F754: .word 0x000003FF
-
- thumb_func_start FUN_0200F758
-FUN_0200F758: ; 0x0200F758
- push {r3, lr}
- ldr r3, _0200F768 ; =0x00000309
- str r2, [sp, #0x0]
- ldrb r3, [r1, r3]
- ldr r2, _0200F76C ; =FUN_0200F7AC
- bl FUN_0200E6CC
- pop {r3, pc}
- .balign 4
-_0200F768: .word 0x00000309
-_0200F76C: .word FUN_0200F7AC
-
- thumb_func_start FUN_0200F770
-FUN_0200F770: ; 0x0200F770
- ldr r3, _0200F778 ; =0x00000309
- ldrb r1, [r1, r3]
- ldr r3, _0200F77C ; =FUN_0200E6F8
- bx r3
- .balign 4
-_0200F778: .word 0x00000309
-_0200F77C: .word FUN_0200E6F8
-
- thumb_func_start FUN_0200F780
-FUN_0200F780: ; 0x0200F780
- push {r3-r7, lr}
- mov r7, #0xc0
- add r6, r7, #0x0
- str r0, [sp, #0x0]
- add r5, r1, #0x0
- mov r4, #0x0
- add r6, #0xc4
-_0200F78E:
- add r0, r5, #0x0
- add r0, #0xc0
- add r1, r5, #0x0
- add r2, r7, #0x0
- blx memcpy
- add r4, r4, #0x1
- add r5, r5, r6
- cmp r4, #0x2
- blt _0200F78E
- ldr r0, [sp, #0x0]
- bl FUN_0200CAB4
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0200F7AC
-FUN_0200F7AC: ; 0x0200F7AC
- push {r3-r5, lr}
- add r4, r0, #0x0
- bne _0200F7B6
- bl ErrorHandling
-_0200F7B6:
- ldr r0, _0200FAC0 ; =0x04000006
- ldrh r0, [r0, #0x0]
- cmp r0, #0xc0
- bge _0200F838
- add r0, r0, #0x1
- cmp r0, #0xbf
- ble _0200F7C6
- sub r0, #0xc0
-_0200F7C6:
- mov r2, #0xc2
- lsl r2, r2, #0x2
- ldrb r1, [r4, r2]
- cmp r1, #0x1
- beq _0200F7D2
- b _0200F96C
-_0200F7D2:
- add r0, r4, r0
- add r0, #0xc0
- ldrb r0, [r0, #0x0]
- cmp r0, #0x0
- bne _0200F8A2
- add r0, r2, #0x1
- ldrb r0, [r4, r0]
- cmp r0, #0x0
- ldr r0, _0200FAC4 ; =0x04000004
- bne _0200F802
- ldrh r2, [r0, #0x0]
- mov r1, #0x2
- tst r1, r2
- beq _0200F81C
- add r0, #0x46
- ldrh r2, [r0, #0x0]
- mov r1, #0x3f
- bic r2, r1
- mov r1, #0x3f
- orr r2, r1
- mov r1, #0x20
- orr r1, r2
- strh r1, [r0, #0x0]
- b _0200F81C
-_0200F802:
- ldrh r1, [r0, #0x0]
- mov r0, #0x2
- tst r0, r1
- beq _0200F81C
- ldr r1, _0200FAC8 ; =0x0400104A
- mov r0, #0x3f
- ldrh r2, [r1, #0x0]
- bic r2, r0
- mov r0, #0x3f
- orr r2, r0
- mov r0, #0x20
- orr r0, r2
- strh r0, [r1, #0x0]
-_0200F81C:
- ldr r0, _0200FACC ; =0x00000309
- ldrb r1, [r4, r0]
- mov r0, #0x6
- lsl r0, r0, #0x6
- ldr r0, [r4, r0]
- cmp r0, #0x0
- bne _0200F868
- cmp r1, #0x0
- bne _0200F84C
- ldr r2, _0200FAC4 ; =0x04000004
- mov r0, #0x2
- ldrh r1, [r2, #0x0]
- tst r0, r1
- bne _0200F83A
-_0200F838:
- b _0200FCB0
-_0200F83A:
- add r2, #0x44
- ldrh r1, [r2, #0x0]
- mov r0, #0x3f
- bic r1, r0
- mov r0, #0x20
- orr r1, r0
- orr r0, r1
- strh r0, [r2, #0x0]
- pop {r3-r5, pc}
-_0200F84C:
- ldr r0, _0200FAC4 ; =0x04000004
- ldrh r1, [r0, #0x0]
- mov r0, #0x2
- tst r0, r1
- beq _0200F954
- ldr r1, _0200FAD0 ; =0x04001048
- mov r0, #0x3f
- ldrh r2, [r1, #0x0]
- bic r2, r0
- mov r0, #0x20
- orr r2, r0
- orr r0, r2
- strh r0, [r1, #0x0]
- pop {r3-r5, pc}
-_0200F868:
- cmp r1, #0x0
- ldr r0, _0200FAC4 ; =0x04000004
- bne _0200F888
- ldrh r1, [r0, #0x0]
- mov r2, #0x2
- tst r1, r2
- beq _0200F954
- add r0, #0x44
- ldrh r3, [r0, #0x0]
- ldr r1, _0200FAD4 ; =0xFFFFC0FF
- and r3, r1
- lsl r1, r2, #0xc
- orr r3, r1
- orr r1, r3
- strh r1, [r0, #0x0]
- pop {r3-r5, pc}
-_0200F888:
- ldrh r1, [r0, #0x0]
- mov r0, #0x2
- tst r0, r1
- beq _0200F954
- ldr r2, _0200FAD0 ; =0x04001048
- ldr r0, _0200FAD4 ; =0xFFFFC0FF
- ldrh r1, [r2, #0x0]
- and r1, r0
- lsr r0, r2, #0xd
- orr r1, r0
- orr r0, r1
- strh r0, [r2, #0x0]
- pop {r3-r5, pc}
-_0200F8A2:
- add r0, r2, #0x1
- ldrb r0, [r4, r0]
- cmp r0, #0x0
- ldr r0, _0200FAC4 ; =0x04000004
- bne _0200F8C6
- ldrh r2, [r0, #0x0]
- mov r1, #0x2
- tst r1, r2
- beq _0200F8DE
- add r0, #0x46
- ldrh r2, [r0, #0x0]
- mov r1, #0x3f
- bic r2, r1
- mov r1, #0x20
- orr r2, r1
- orr r1, r2
- strh r1, [r0, #0x0]
- b _0200F8DE
-_0200F8C6:
- ldrh r1, [r0, #0x0]
- mov r0, #0x2
- tst r0, r1
- beq _0200F8DE
- ldr r1, _0200FAC8 ; =0x0400104A
- mov r0, #0x3f
- ldrh r2, [r1, #0x0]
- bic r2, r0
- mov r0, #0x20
- orr r2, r0
- orr r0, r2
- strh r0, [r1, #0x0]
-_0200F8DE:
- ldr r0, _0200FACC ; =0x00000309
- ldrb r1, [r4, r0]
- mov r0, #0x6
- lsl r0, r0, #0x6
- ldr r0, [r4, r0]
- cmp r0, #0x0
- ldr r0, _0200FAC4 ; =0x04000004
- bne _0200F92A
- cmp r1, #0x0
- bne _0200F90E
- ldrh r2, [r0, #0x0]
- mov r1, #0x2
- tst r1, r2
- beq _0200F954
- add r0, #0x44
- ldrh r2, [r0, #0x0]
- mov r1, #0x3f
- bic r2, r1
- mov r1, #0x3f
- orr r2, r1
- mov r1, #0x20
- orr r1, r2
- strh r1, [r0, #0x0]
- pop {r3-r5, pc}
-_0200F90E:
- ldrh r1, [r0, #0x0]
- mov r0, #0x2
- tst r0, r1
- beq _0200F954
- ldr r1, _0200FAD0 ; =0x04001048
- mov r0, #0x3f
- ldrh r2, [r1, #0x0]
- bic r2, r0
- mov r0, #0x3f
- orr r2, r0
- mov r0, #0x20
- orr r0, r2
- strh r0, [r1, #0x0]
- pop {r3-r5, pc}
-_0200F92A:
- cmp r1, #0x0
- bne _0200F94C
- ldrh r1, [r0, #0x0]
- mov r2, #0x2
- tst r1, r2
- beq _0200F954
- add r0, #0x44
- ldrh r3, [r0, #0x0]
- ldr r1, _0200FAD4 ; =0xFFFFC0FF
- and r3, r1
- mov r1, #0x3f
- lsl r1, r1, #0x8
- orr r3, r1
- lsl r1, r2, #0xc
- orr r1, r3
- strh r1, [r0, #0x0]
- pop {r3-r5, pc}
-_0200F94C:
- ldrh r1, [r0, #0x0]
- mov r0, #0x2
- tst r0, r1
- bne _0200F956
-_0200F954:
- b _0200FCB0
-_0200F956:
- ldr r2, _0200FAD0 ; =0x04001048
- ldr r0, _0200FAD4 ; =0xFFFFC0FF
- ldrh r1, [r2, #0x0]
- and r1, r0
- mov r0, #0x3f
- lsl r0, r0, #0x8
- orr r1, r0
- lsr r0, r2, #0xd
- orr r0, r1
- strh r0, [r2, #0x0]
- pop {r3-r5, pc}
-_0200F96C:
- add r1, r4, r0
- add r1, #0xc0
- ldrb r1, [r1, #0x0]
- cmp r1, #0x0
- bne _0200FA38
- add r1, r2, #0x1
- ldrb r1, [r4, r1]
- cmp r1, #0x0
- ldr r1, _0200FAC4 ; =0x04000004
- bne _0200F99C
- ldrh r3, [r1, #0x0]
- mov r2, #0x2
- tst r2, r3
- beq _0200F9B6
- add r1, #0x46
- ldrh r3, [r1, #0x0]
- mov r2, #0x3f
- bic r3, r2
- mov r2, #0x3f
- orr r3, r2
- mov r2, #0x20
- orr r2, r3
- strh r2, [r1, #0x0]
- b _0200F9B6
-_0200F99C:
- ldrh r2, [r1, #0x0]
- mov r1, #0x2
- tst r1, r2
- beq _0200F9B6
- ldr r2, _0200FAC8 ; =0x0400104A
- mov r1, #0x3f
- ldrh r3, [r2, #0x0]
- bic r3, r1
- mov r1, #0x3f
- orr r3, r1
- mov r1, #0x20
- orr r1, r3
- strh r1, [r2, #0x0]
-_0200F9B6:
- ldr r1, _0200FACC ; =0x00000309
- ldrb r2, [r4, r1]
- mov r1, #0x6
- lsl r1, r1, #0x6
- ldr r1, [r4, r1]
- cmp r1, #0x0
- ldr r1, _0200FAC4 ; =0x04000004
- bne _0200F9FE
- cmp r2, #0x0
- bne _0200F9E4
- ldrh r3, [r1, #0x0]
- mov r2, #0x2
- tst r2, r3
- beq _0200FA0A
- add r1, #0x44
- ldrh r3, [r1, #0x0]
- mov r2, #0x3f
- bic r3, r2
- mov r2, #0x20
- orr r3, r2
- orr r2, r3
- strh r2, [r1, #0x0]
- b _0200FB16
-_0200F9E4:
- ldrh r2, [r1, #0x0]
- mov r1, #0x2
- tst r1, r2
- beq _0200FA0A
- ldr r2, _0200FAD0 ; =0x04001048
- mov r1, #0x3f
- ldrh r3, [r2, #0x0]
- bic r3, r1
- mov r1, #0x20
- orr r3, r1
- orr r1, r3
- strh r1, [r2, #0x0]
- b _0200FB16
-_0200F9FE:
- cmp r2, #0x0
- bne _0200FA1E
- ldrh r2, [r1, #0x0]
- mov r3, #0x2
- tst r2, r3
- bne _0200FA0C
-_0200FA0A:
- b _0200FB16
-_0200FA0C:
- add r1, #0x44
- ldrh r5, [r1, #0x0]
- ldr r2, _0200FAD4 ; =0xFFFFC0FF
- and r5, r2
- lsl r2, r3, #0xc
- orr r5, r2
- orr r2, r5
- strh r2, [r1, #0x0]
- b _0200FB16
-_0200FA1E:
- ldrh r2, [r1, #0x0]
- mov r1, #0x2
- tst r1, r2
- beq _0200FB16
- ldr r3, _0200FAD0 ; =0x04001048
- ldr r1, _0200FAD4 ; =0xFFFFC0FF
- ldrh r2, [r3, #0x0]
- and r2, r1
- lsr r1, r3, #0xd
- orr r2, r1
- orr r1, r2
- strh r1, [r3, #0x0]
- b _0200FB16
-_0200FA38:
- add r1, r2, #0x1
- ldrb r1, [r4, r1]
- cmp r1, #0x0
- ldr r1, _0200FAC4 ; =0x04000004
- bne _0200FA5C
- ldrh r3, [r1, #0x0]
- mov r2, #0x2
- tst r2, r3
- beq _0200FA74
- add r1, #0x46
- ldrh r3, [r1, #0x0]
- mov r2, #0x3f
- bic r3, r2
- mov r2, #0x20
- orr r3, r2
- orr r2, r3
- strh r2, [r1, #0x0]
- b _0200FA74
-_0200FA5C:
- ldrh r2, [r1, #0x0]
- mov r1, #0x2
- tst r1, r2
- beq _0200FA74
- ldr r2, _0200FAC8 ; =0x0400104A
- mov r1, #0x3f
- ldrh r3, [r2, #0x0]
- bic r3, r1
- mov r1, #0x20
- orr r3, r1
- orr r1, r3
- strh r1, [r2, #0x0]
-_0200FA74:
- ldr r1, _0200FACC ; =0x00000309
- ldrb r2, [r4, r1]
- mov r1, #0x6
- lsl r1, r1, #0x6
- ldr r1, [r4, r1]
- cmp r1, #0x0
- ldr r1, _0200FAC4 ; =0x04000004
- bne _0200FAD8
- cmp r2, #0x0
- bne _0200FAA4
- ldrh r3, [r1, #0x0]
- mov r2, #0x2
- tst r2, r3
- beq _0200FB16
- add r1, #0x44
- ldrh r3, [r1, #0x0]
- mov r2, #0x3f
- bic r3, r2
- mov r2, #0x3f
- orr r3, r2
- mov r2, #0x20
- orr r2, r3
- strh r2, [r1, #0x0]
- b _0200FB16
-_0200FAA4:
- ldrh r2, [r1, #0x0]
- mov r1, #0x2
- tst r1, r2
- beq _0200FB16
- ldr r2, _0200FAD0 ; =0x04001048
- mov r1, #0x3f
- ldrh r3, [r2, #0x0]
- bic r3, r1
- mov r1, #0x3f
- orr r3, r1
- mov r1, #0x20
- orr r1, r3
- strh r1, [r2, #0x0]
- b _0200FB16
- .balign 4
-_0200FAC0: .word 0x04000006
-_0200FAC4: .word 0x04000004
-_0200FAC8: .word 0x0400104A
-_0200FACC: .word 0x00000309
-_0200FAD0: .word 0x04001048
-_0200FAD4: .word 0xFFFFC0FF
-_0200FAD8:
- cmp r2, #0x0
- bne _0200FAFA
- ldrh r2, [r1, #0x0]
- mov r3, #0x2
- tst r2, r3
- beq _0200FB16
- add r1, #0x44
- ldrh r5, [r1, #0x0]
- ldr r2, _0200FCB4 ; =0xFFFFC0FF
- and r5, r2
- mov r2, #0x3f
- lsl r2, r2, #0x8
- orr r5, r2
- lsl r2, r3, #0xc
- orr r2, r5
- strh r2, [r1, #0x0]
- b _0200FB16
-_0200FAFA:
- ldrh r2, [r1, #0x0]
- mov r1, #0x2
- tst r1, r2
- beq _0200FB16
- ldr r3, _0200FCB8 ; =0x04001048
- ldr r1, _0200FCB4 ; =0xFFFFC0FF
- ldrh r2, [r3, #0x0]
- and r2, r1
- mov r1, #0x3f
- lsl r1, r1, #0x8
- orr r2, r1
- lsr r1, r3, #0xd
- orr r1, r2
- strh r1, [r3, #0x0]
-_0200FB16:
- mov r1, #0x61
- lsl r1, r1, #0x2
- add r1, r4, r1
- add r0, r1, r0
- add r0, #0xc0
- ldrb r0, [r0, #0x0]
- cmp r0, #0x0
- ldr r0, _0200FCBC ; =0x00000309
- bne _0200FBEC
- ldrb r0, [r4, r0]
- cmp r0, #0x0
- ldr r0, _0200FCC0 ; =0x04000004
- bne _0200FB4C
- ldrh r3, [r0, #0x0]
- mov r2, #0x2
- tst r2, r3
- beq _0200FB66
- add r0, #0x46
- ldrh r3, [r0, #0x0]
- mov r2, #0x3f
- bic r3, r2
- mov r2, #0x3f
- orr r3, r2
- mov r2, #0x20
- orr r2, r3
- strh r2, [r0, #0x0]
- b _0200FB66
-_0200FB4C:
- ldrh r2, [r0, #0x0]
- mov r0, #0x2
- tst r0, r2
- beq _0200FB66
- ldr r2, _0200FCC4 ; =0x0400104A
- mov r0, #0x3f
- ldrh r3, [r2, #0x0]
- bic r3, r0
- mov r0, #0x3f
- orr r3, r0
- mov r0, #0x20
- orr r0, r3
- strh r0, [r2, #0x0]
-_0200FB66:
- ldr r0, _0200FCBC ; =0x00000309
- ldrb r2, [r4, r0]
- mov r0, #0x6
- lsl r0, r0, #0x6
- ldr r0, [r1, r0]
- cmp r0, #0x0
- bne _0200FBB2
- cmp r2, #0x0
- bne _0200FB94
- ldr r2, _0200FCC0 ; =0x04000004
- mov r0, #0x2
- ldrh r1, [r2, #0x0]
- tst r0, r1
- beq _0200FB9E
- add r2, #0x44
- ldrh r1, [r2, #0x0]
- mov r0, #0x3f
- bic r1, r0
- mov r0, #0x20
- orr r1, r0
- orr r0, r1
- strh r0, [r2, #0x0]
- pop {r3-r5, pc}
-_0200FB94:
- ldr r0, _0200FCC0 ; =0x04000004
- ldrh r1, [r0, #0x0]
- mov r0, #0x2
- tst r0, r1
- bne _0200FBA0
-_0200FB9E:
- b _0200FCB0
-_0200FBA0:
- ldr r1, _0200FCB8 ; =0x04001048
- mov r0, #0x3f
- ldrh r2, [r1, #0x0]
- bic r2, r0
- mov r0, #0x20
- orr r2, r0
- orr r0, r2
- strh r0, [r1, #0x0]
- pop {r3-r5, pc}
-_0200FBB2:
- cmp r2, #0x0
- ldr r0, _0200FCC0 ; =0x04000004
- bne _0200FBD2
- ldrh r1, [r0, #0x0]
- mov r2, #0x2
- tst r1, r2
- beq _0200FCB0
- add r0, #0x44
- ldrh r3, [r0, #0x0]
- ldr r1, _0200FCB4 ; =0xFFFFC0FF
- and r3, r1
- lsl r1, r2, #0xc
- orr r3, r1
- orr r1, r3
- strh r1, [r0, #0x0]
- pop {r3-r5, pc}
-_0200FBD2:
- ldrh r1, [r0, #0x0]
- mov r0, #0x2
- tst r0, r1
- beq _0200FCB0
- ldr r2, _0200FCB8 ; =0x04001048
- ldr r0, _0200FCB4 ; =0xFFFFC0FF
- ldrh r1, [r2, #0x0]
- and r1, r0
- lsr r0, r2, #0xd
- orr r1, r0
- orr r0, r1
- strh r0, [r2, #0x0]
- pop {r3-r5, pc}
-_0200FBEC:
- ldrb r0, [r4, r0]
- cmp r0, #0x0
- ldr r0, _0200FCC0 ; =0x04000004
- bne _0200FC0E
- ldrh r3, [r0, #0x0]
- mov r2, #0x2
- tst r2, r3
- beq _0200FC26
- add r0, #0x46
- ldrh r3, [r0, #0x0]
- mov r2, #0x3f
- bic r3, r2
- mov r2, #0x20
- orr r3, r2
- orr r2, r3
- strh r2, [r0, #0x0]
- b _0200FC26
-_0200FC0E:
- ldrh r2, [r0, #0x0]
- mov r0, #0x2
- tst r0, r2
- beq _0200FC26
- ldr r2, _0200FCC4 ; =0x0400104A
- mov r0, #0x3f
- ldrh r3, [r2, #0x0]
- bic r3, r0
- mov r0, #0x20
- orr r3, r0
- orr r0, r3
- strh r0, [r2, #0x0]
-_0200FC26:
- ldr r0, _0200FCBC ; =0x00000309
- ldrb r2, [r4, r0]
- mov r0, #0x6
- lsl r0, r0, #0x6
- ldr r0, [r1, r0]
- cmp r0, #0x0
- ldr r0, _0200FCC0 ; =0x04000004
- bne _0200FC72
- cmp r2, #0x0
- bne _0200FC56
- ldrh r2, [r0, #0x0]
- mov r1, #0x2
- tst r1, r2
- beq _0200FCB0
- add r0, #0x44
- ldrh r2, [r0, #0x0]
- mov r1, #0x3f
- bic r2, r1
- mov r1, #0x3f
- orr r2, r1
- mov r1, #0x20
- orr r1, r2
- strh r1, [r0, #0x0]
- pop {r3-r5, pc}
-_0200FC56:
- ldrh r1, [r0, #0x0]
- mov r0, #0x2
- tst r0, r1
- beq _0200FCB0
- ldr r1, _0200FCB8 ; =0x04001048
- mov r0, #0x3f
- ldrh r2, [r1, #0x0]
- bic r2, r0
- mov r0, #0x3f
- orr r2, r0
- mov r0, #0x20
- orr r0, r2
- strh r0, [r1, #0x0]
- pop {r3-r5, pc}
-_0200FC72:
- cmp r2, #0x0
- bne _0200FC94
- ldrh r1, [r0, #0x0]
- mov r2, #0x2
- tst r1, r2
- beq _0200FCB0
- add r0, #0x44
- ldrh r3, [r0, #0x0]
- ldr r1, _0200FCB4 ; =0xFFFFC0FF
- and r3, r1
- mov r1, #0x3f
- lsl r1, r1, #0x8
- orr r3, r1
- lsl r1, r2, #0xc
- orr r1, r3
- strh r1, [r0, #0x0]
- pop {r3-r5, pc}
-_0200FC94:
- ldrh r1, [r0, #0x0]
- mov r0, #0x2
- tst r0, r1
- beq _0200FCB0
- ldr r2, _0200FCB8 ; =0x04001048
- ldr r0, _0200FCB4 ; =0xFFFFC0FF
- ldrh r1, [r2, #0x0]
- and r1, r0
- mov r0, #0x3f
- lsl r0, r0, #0x8
- orr r1, r0
- lsr r0, r2, #0xd
- orr r0, r1
- strh r0, [r2, #0x0]
-_0200FCB0:
- pop {r3-r5, pc}
- nop
-_0200FCB4: .word 0xFFFFC0FF
-_0200FCB8: .word 0x04001048
-_0200FCBC: .word 0x00000309
-_0200FCC0: .word 0x04000004
-_0200FCC4: .word 0x0400104A
-
- thumb_func_start FUN_0200FCC8
-FUN_0200FCC8: ; 0x0200FCC8
- push {r4-r6, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- ldr r0, [r5, #0x20]
- add r6, r1, #0x0
- mov r1, #0x4c
- bl FUN_02016998
- str r0, [r5, #0x14]
- add r4, r0, #0x0
- ldr r0, [r5, #0x10]
- add r1, r6, #0x0
- str r0, [sp, #0x0]
- ldr r0, [r5, #0x18]
- str r0, [sp, #0x4]
- ldr r2, [r5, #0x4]
- ldr r3, [r5, #0x8]
- add r0, r4, #0x0
- bl FUN_0200FE20
- add r6, #0x20
- ldrb r0, [r6, #0x0]
- cmp r0, #0x0
- ldr r0, [r5, #0x18]
- bne _0200FD06
- ldr r2, [r4, #0x30]
- ldr r3, [r4, #0x44]
- mov r1, #0x1
- bl FUN_0200F6E4
- b _0200FD10
-_0200FD06:
- ldr r2, [r4, #0x30]
- ldr r3, [r4, #0x44]
- mov r1, #0x2
- bl FUN_0200F6E4
-_0200FD10:
- ldr r0, [r5, #0xc]
- add r0, r0, #0x1
- str r0, [r5, #0xc]
- add sp, #0x8
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_0200FD1C
-FUN_0200FD1C: ; 0x0200FD1C
- push {r4-r6, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0xc]
- mov r6, #0x0
- ldr r4, [r5, #0x14]
- cmp r0, #0x1
- beq _0200FD34
- cmp r0, #0x2
- beq _0200FD50
- cmp r0, #0x3
- beq _0200FD64
- b _0200FD66
-_0200FD34:
- add r0, r4, #0x0
- bl FUN_0200FE90
- cmp r0, #0x1
- bne _0200FD66
- ldr r0, [r4, #0x44]
- ldr r1, [r5, #0x18]
- ldr r2, [r5, #0x10]
- bl FUN_0200F62C
- ldr r0, [r5, #0xc]
- add r0, r0, #0x1
- str r0, [r5, #0xc]
- b _0200FD66
-_0200FD50:
- add r0, r4, #0x0
- bl FUN_02016A18
- add r0, r6, #0x0
- str r0, [r5, #0x14]
- ldr r0, [r5, #0xc]
- mov r6, #0x1
- add r0, r0, #0x1
- str r0, [r5, #0xc]
- b _0200FD66
-_0200FD64:
- mov r6, #0x1
-_0200FD66:
- add r0, r6, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_0200FD6C
-FUN_0200FD6C: ; 0x0200FD6C
- push {r3-r7, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- ldr r0, [r5, #0x20]
- add r6, r1, #0x0
- mov r1, #0x98
- add r7, r2, #0x0
- bl FUN_02016998
- str r0, [r5, #0x14]
- add r4, r0, #0x0
- ldr r0, [r5, #0x10]
- add r1, r6, #0x0
- str r0, [sp, #0x0]
- ldr r0, [r5, #0x18]
- str r0, [sp, #0x4]
- ldr r2, [r5, #0x4]
- ldr r3, [r5, #0x8]
- add r0, r4, #0x0
- bl FUN_0200FE20
- ldr r0, [r5, #0x10]
- add r1, r7, #0x0
- str r0, [sp, #0x0]
- ldr r0, [r5, #0x18]
- str r0, [sp, #0x4]
- add r0, r4, #0x0
- ldr r2, [r5, #0x4]
- ldr r3, [r5, #0x8]
- add r0, #0x4c
- bl FUN_0200FE20
- ldr r0, [r5, #0x18]
- ldr r2, [r5, #0x10]
- ldr r3, [r4, #0x44]
- mov r1, #0x3
- bl FUN_0200F6E4
- ldr r0, [r5, #0xc]
- add r0, r0, #0x1
- str r0, [r5, #0xc]
- add sp, #0x8
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0200FDC4
-FUN_0200FDC4: ; 0x0200FDC4
- push {r3-r7, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0xc]
- mov r6, #0x0
- ldr r4, [r5, #0x14]
- cmp r0, #0x1
- beq _0200FDDC
- cmp r0, #0x2
- beq _0200FE04
- cmp r0, #0x3
- beq _0200FE18
- b _0200FE1A
-_0200FDDC:
- add r0, r4, #0x0
- bl FUN_0200FE90
- add r7, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x4c
- bl FUN_0200FE90
- add r0, r7, r0
- cmp r0, #0x2
- bne _0200FE1A
- ldr r0, [r4, #0x44]
- ldr r1, [r5, #0x18]
- ldr r2, [r5, #0x10]
- bl FUN_0200F62C
- ldr r0, [r5, #0xc]
- add r0, r0, #0x1
- str r0, [r5, #0xc]
- b _0200FE1A
-_0200FE04:
- add r0, r4, #0x0
- bl FUN_02016A18
- add r0, r6, #0x0
- str r0, [r5, #0x14]
- ldr r0, [r5, #0xc]
- mov r6, #0x1
- add r0, r0, #0x1
- str r0, [r5, #0xc]
- b _0200FE1A
-_0200FE18:
- mov r6, #0x1
-_0200FE1A:
- add r0, r6, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0200FE20
-FUN_0200FE20: ; 0x0200FE20
- push {r3-r7, lr}
- sub sp, #0x18
- add r4, r1, #0x0
- add r1, #0x10
- add r7, r3, #0x0
- add r5, r0, #0x0
- add r6, r2, #0x0
- str r1, [sp, #0x0]
- add r1, r5, #0x0
- add r2, r5, #0x0
- add r1, #0x20
- add r2, #0x10
- add r3, r4, #0x0
- str r6, [sp, #0x4]
- bl FUN_0200F1A8
- ldr r1, [sp, #0x30]
- add r0, r4, #0x0
- add r2, r4, #0x0
- str r1, [r5, #0x30]
- add r0, #0x20
- ldrb r0, [r0, #0x0]
- add r2, #0x23
- str r0, [r5, #0x34]
- str r6, [r5, #0x38]
- str r7, [r5, #0x3c]
- mov r0, #0x0
- str r0, [r5, #0x40]
- ldr r0, [sp, #0x34]
- str r0, [r5, #0x48]
- ldrb r2, [r2, #0x0]
- str r2, [r5, #0x44]
- str r1, [sp, #0x0]
- ldr r1, [r4, #0x0]
- add r2, r4, #0x0
- str r1, [sp, #0x4]
- ldr r1, [r4, #0x4]
- add r2, #0x22
- str r1, [sp, #0x8]
- ldr r1, [r4, #0x8]
- str r1, [sp, #0xc]
- ldr r1, [r4, #0xc]
- str r1, [sp, #0x10]
- ldr r1, [r5, #0x44]
- str r1, [sp, #0x14]
- add r1, r4, #0x0
- add r1, #0x21
- add r4, #0x20
- ldrb r1, [r1, #0x0]
- ldrb r2, [r2, #0x0]
- ldrb r3, [r4, #0x0]
- bl FUN_0200F67C
- add sp, #0x18
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0200FE90
-FUN_0200FE90: ; 0x0200FE90
- push {r3-r4, lr}
- sub sp, #0xc
- add r4, r0, #0x0
- ldr r1, [r4, #0x40]
- add r2, r1, #0x1
- str r2, [r4, #0x40]
- ldr r1, [r4, #0x3c]
- cmp r2, r1
- blt _0200FF10
- mov r1, #0x0
- str r1, [r4, #0x40]
- ldr r1, [r4, #0x38]
- sub r1, r1, #0x1
- cmp r1, #0x0
- ble _0200FEBA
- str r1, [r4, #0x38]
- add r1, r4, #0x0
- add r1, #0x10
- bl FUN_0200F184
- b _0200FED8
-_0200FEBA:
- ldr r0, [r4, #0x2c]
- str r0, [sp, #0x0]
- ldr r0, [r4, #0x34]
- str r0, [sp, #0x4]
- ldr r0, [r4, #0x30]
- str r0, [sp, #0x8]
- ldr r0, [r4, #0x48]
- ldr r1, [r4, #0x20]
- ldr r2, [r4, #0x24]
- ldr r3, [r4, #0x28]
- bl FUN_02011698
- add sp, #0xc
- mov r0, #0x1
- pop {r3-r4, pc}
-_0200FED8:
- ldr r1, [r4, #0xc]
- asr r0, r1, #0x6
- lsr r0, r0, #0x19
- add r0, r1, r0
- asr r0, r0, #0x7
- str r0, [sp, #0x0]
- ldr r0, [r4, #0x34]
- str r0, [sp, #0x4]
- ldr r0, [r4, #0x30]
- str r0, [sp, #0x8]
- ldr r2, [r4, #0x0]
- ldr r3, [r4, #0x4]
- asr r1, r2, #0x6
- lsr r1, r1, #0x19
- add r1, r2, r1
- ldr r0, [r4, #0x48]
- asr r2, r3, #0x6
- lsr r2, r2, #0x19
- add r2, r3, r2
- ldr r4, [r4, #0x8]
- asr r1, r1, #0x7
- asr r3, r4, #0x6
- lsr r3, r3, #0x19
- add r3, r4, r3
- asr r2, r2, #0x7
- asr r3, r3, #0x7
- bl FUN_02011698
-_0200FF10:
- mov r0, #0x0
- add sp, #0xc
- pop {r3-r4, pc}
- .balign 4
-
- thumb_func_start FUN_0200FF18
-FUN_0200FF18: ; 0x0200FF18
- push {r3-r5, lr}
- sub sp, #0x10
- add r5, r0, #0x0
- ldr r0, [r5, #0x20]
- add r4, r1, #0x0
- mov r1, #0x38
- bl FUN_02016998
- str r0, [r5, #0x14]
- ldr r0, [r5, #0x10]
- add r1, r4, #0x0
- str r0, [sp, #0x0]
- ldr r0, [r5, #0x18]
- str r0, [sp, #0x4]
- ldr r0, [r5, #0x1c]
- str r0, [sp, #0x8]
- ldr r0, [r5, #0x20]
- str r0, [sp, #0xc]
- ldr r0, [r5, #0x14]
- ldr r2, [r5, #0x4]
- ldr r3, [r5, #0x8]
- bl FUN_0200FFAC
- ldr r0, [r5, #0xc]
- add r0, r0, #0x1
- str r0, [r5, #0xc]
- add sp, #0x10
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0200FF50
-FUN_0200FF50: ; 0x0200FF50
- push {r4-r6, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0xc]
- mov r6, #0x0
- ldr r4, [r5, #0x14]
- cmp r0, #0x1
- beq _0200FF68
- cmp r0, #0x2
- beq _0200FF84
- cmp r0, #0x3
- beq _0200FF9E
- b _0200FFA2
-_0200FF68:
- add r0, r4, #0x0
- bl FUN_02010084
- cmp r0, #0x1
- bne _0200FFA6
- ldr r0, [r4, #0x2c]
- ldr r1, [r4, #0x30]
- ldr r2, [r5, #0x10]
- bl FUN_0200F62C
- ldr r0, [r5, #0xc]
- add r0, r0, #0x1
- str r0, [r5, #0xc]
- b _0200FFA6
-_0200FF84:
- add r0, r4, #0x0
- bl FUN_0200F5C0
- ldr r0, [r5, #0x14]
- bl FUN_02016A18
- add r0, r6, #0x0
- str r0, [r5, #0x14]
- ldr r0, [r5, #0xc]
- mov r6, #0x1
- add r0, r0, #0x1
- str r0, [r5, #0xc]
- b _0200FFA6
-_0200FF9E:
- mov r6, #0x1
- b _0200FFA6
-_0200FFA2:
- bl ErrorHandling
-_0200FFA6:
- add r0, r6, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_0200FFAC
-FUN_0200FFAC: ; 0x0200FFAC
- push {r4-r7, lr}
- sub sp, #0x24
- add r4, r1, #0x0
- add r5, r0, #0x0
- ldr r0, [r4, #0x0]
- ldr r1, [r4, #0x4]
- str r2, [sp, #0x18]
- str r3, [sp, #0x1c]
- ldr r6, [sp, #0x38]
- ldr r7, [sp, #0x3c]
- bl FUN_0200F164
- str r0, [sp, #0x20]
- ldrb r1, [r4, #0xc]
- ldr r3, [sp, #0x44]
- add r0, r5, #0x0
- add r2, r6, #0x0
- bl FUN_0200F55C
- ldr r0, [r4, #0x0]
- lsl r0, r0, #0x7
- str r0, [r5, #0xc]
- mov r0, #0x8
- ldrsh r0, [r4, r0]
- str r0, [r5, #0x10]
- mov r0, #0xa
- ldrsh r0, [r4, r0]
- str r0, [r5, #0x14]
- ldr r0, [sp, #0x20]
- str r0, [r5, #0x18]
- ldr r0, [sp, #0x18]
- str r0, [r5, #0x1c]
- ldr r0, [sp, #0x1c]
- str r0, [r5, #0x20]
- mov r0, #0x0
- str r0, [r5, #0x24]
- ldr r0, [sp, #0x40]
- str r7, [r5, #0x30]
- str r0, [r5, #0x34]
- ldr r0, [sp, #0x44]
- str r0, [r5, #0x28]
- ldrb r0, [r4, #0xf]
- str r0, [r5, #0x2c]
- add r0, r5, #0x0
- bl FUN_02010168
- ldr r0, _02010078 ; =FUN_0200F5F8
- ldr r2, _0201007C ; =0x000003FF
- add r1, r5, #0x0
- bl FUN_0200CA98
- add r0, r5, #0x0
- mov r1, #0x0
- bl FUN_0200F5D8
- mov r1, #0x3
- str r6, [sp, #0x0]
- lsl r1, r1, #0x8
- ldrsh r1, [r0, r1]
- str r1, [sp, #0x4]
- mov r1, #0x0
- str r1, [sp, #0x8]
- mov r1, #0x12
- lsl r1, r1, #0x6
- ldrsh r0, [r0, r1]
- str r0, [sp, #0xc]
- mov r0, #0xc0
- str r0, [sp, #0x10]
- ldr r0, [r5, #0x2c]
- str r0, [sp, #0x14]
- ldrb r1, [r4, #0xd]
- ldrb r2, [r4, #0xe]
- ldrb r3, [r4, #0xc]
- add r0, r7, #0x0
- bl FUN_0200F67C
- ldrb r0, [r4, #0xc]
- cmp r0, #0x0
- bne _02010058
- ldr r3, [r5, #0x2c]
- add r0, r7, #0x0
- mov r1, #0x1
- add r2, r6, #0x0
- bl FUN_0200F6E4
- b _02010064
-_02010058:
- ldr r3, [r5, #0x2c]
- add r0, r7, #0x0
- mov r1, #0x2
- add r2, r6, #0x0
- bl FUN_0200F6E4
-_02010064:
- ldr r0, [sp, #0x44]
- ldr r2, _02010080 ; =FUN_0200F330
- str r0, [sp, #0x0]
- ldr r0, [r5, #0x34]
- add r1, r5, #0x0
- add r3, r6, #0x0
- bl FUN_0200E6CC
- add sp, #0x24
- pop {r4-r7, pc}
- .balign 4
-_02010078: .word FUN_0200F5F8
-_0201007C: .word 0x000003FF
-_02010080: .word FUN_0200F330
-
- thumb_func_start FUN_02010084
-FUN_02010084: ; 0x02010084
- push {r4, lr}
- add r4, r0, #0x0
- ldr r1, [r4, #0x24]
- add r2, r1, #0x1
- str r2, [r4, #0x24]
- ldr r1, [r4, #0x20]
- cmp r2, r1
- blt _020100C8
- mov r1, #0x0
- str r1, [r4, #0x24]
- ldr r1, [r4, #0x1c]
- sub r1, r1, #0x1
- cmp r1, #0x0
- ble _020100BA
- str r1, [r4, #0x1c]
- ldr r2, [r4, #0xc]
- ldr r1, [r4, #0x18]
- add r1, r2, r1
- str r1, [r4, #0xc]
- bl FUN_02010168
- ldr r0, _020100CC ; =FUN_0200F5F8
- ldr r2, _020100D0 ; =0x000003FF
- add r1, r4, #0x0
- bl FUN_0200CA98
- b _020100C8
-_020100BA:
- ldr r0, [r4, #0x34]
- ldr r1, [r4, #0x8]
- ldr r2, [r4, #0x28]
- bl FUN_0200E6F8
- mov r0, #0x1
- pop {r4, pc}
-_020100C8:
- mov r0, #0x0
- pop {r4, pc}
- .balign 4
-_020100CC: .word FUN_0200F5F8
-_020100D0: .word 0x000003FF
-
- thumb_func_start FUN_020100D4
-FUN_020100D4: ; 0x020100D4
- push {r4-r7, lr}
- sub sp, #0xc
- str r1, [sp, #0x0]
- asr r1, r0, #0x6
- lsr r1, r1, #0x19
- add r1, r0, r1
- asr r1, r1, #0x7
- ldr r5, [sp, #0x20]
- ldr r4, [sp, #0x24]
- sub r0, r3, r2
- bpl _020100EC
- neg r0, r0
-_020100EC:
- cmp r0, r1
- blt _020100FA
- mov r0, #0x0
- str r0, [r5, #0x0]
- add sp, #0xc
- str r0, [r4, #0x0]
- pop {r4-r7, pc}
-_020100FA:
- lsl r0, r0, #0xc
- str r0, [sp, #0x4]
- asr r7, r0, #0x1f
- lsl r0, r1, #0xc
- asr r1, r0, #0x1f
- add r2, r0, #0x0
- add r3, r1, #0x0
- blx _ll_mul
- str r0, [sp, #0x8]
- ldr r0, [sp, #0x4]
- add r6, r1, #0x0
- add r1, r7, #0x0
- add r2, r0, #0x0
- add r3, r7, #0x0
- blx _ll_mul
- add r2, r0, #0x0
- add r3, r1, #0x0
- mov r0, #0x2
- ldr r1, [sp, #0x8]
- mov r7, #0x0
- lsl r0, r0, #0xa
- add r0, r1, r0
- adc r6, r7
- lsl r1, r6, #0x14
- lsr r0, r0, #0xc
- orr r0, r1
- mov r1, #0x2
- lsl r1, r1, #0xa
- add r2, r2, r1
- adc r3, r7
- lsl r1, r3, #0x14
- lsr r2, r2, #0xc
- orr r2, r1
- sub r0, r0, r2
- blx FX_Sqrt
- asr r2, r0, #0xc
- ldr r0, [sp, #0x0]
- sub r0, r0, r2
- str r0, [r5, #0x0]
- bpl _02010154
- add r0, r7, #0x0
- str r0, [r5, #0x0]
-_02010154:
- ldr r1, [r5, #0x0]
- lsl r0, r2, #0x1
- add r0, r1, r0
- str r0, [r4, #0x0]
- cmp r0, #0xff
- ble _02010164
- mov r0, #0xff
- str r0, [r4, #0x0]
-_02010164:
- add sp, #0xc
- pop {r4-r7, pc}
-
- thumb_func_start FUN_02010168
-FUN_02010168: ; 0x02010168
- push {r3-r7, lr}
- sub sp, #0x10
- mov r1, #0x0
- add r5, r0, #0x0
- bl FUN_0200F5D8
- add r7, r0, #0x0
- mov r4, #0x0
- add r6, r7, #0x0
-_0201017A:
- ldr r2, [r5, #0x14]
- cmp r4, r2
- bgt _02010194
- add r0, sp, #0xc
- str r0, [sp, #0x0]
- add r0, sp, #0x8
- str r0, [sp, #0x4]
- ldr r0, [r5, #0xc]
- ldr r1, [r5, #0x10]
- add r3, r4, #0x0
- bl FUN_020100D4
- b _020101CE
-_02010194:
- lsl r0, r2, #0x1
- cmp r4, r0
- bgt _020101BC
- sub r0, r0, r4
- lsl r0, r0, #0x1
- add r1, r7, r0
- mov r0, #0x3
- lsl r0, r0, #0x8
- ldrsh r0, [r1, r0]
- str r0, [sp, #0xc]
- ldr r0, [r5, #0x14]
- lsl r0, r0, #0x1
- sub r0, r0, r4
- lsl r0, r0, #0x1
- add r1, r7, r0
- mov r0, #0x12
- lsl r0, r0, #0x6
- ldrsh r0, [r1, r0]
- str r0, [sp, #0x8]
- b _020101CE
-_020101BC:
- add r0, sp, #0xc
- str r0, [sp, #0x0]
- add r0, sp, #0x8
- str r0, [sp, #0x4]
- ldr r0, [r5, #0xc]
- ldr r1, [r5, #0x10]
- add r3, r4, #0x0
- bl FUN_020100D4
-_020101CE:
- mov r0, #0x3
- ldr r1, [sp, #0xc]
- lsl r0, r0, #0x8
- strh r1, [r6, r0]
- mov r0, #0x12
- ldr r1, [sp, #0x8]
- lsl r0, r0, #0x6
- strh r1, [r6, r0]
- add r4, r4, #0x1
- add r6, r6, #0x2
- cmp r4, #0xc0
- blt _0201017A
- add sp, #0x10
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_020101EC
-FUN_020101EC: ; 0x020101EC
- push {r3-r5, lr}
- sub sp, #0x10
- add r5, r0, #0x0
- ldr r0, [r5, #0x20]
- add r4, r1, #0x0
- mov r1, #0x30
- bl FUN_02016998
- str r0, [r5, #0x14]
- ldr r0, [r5, #0x10]
- add r1, r4, #0x0
- str r0, [sp, #0x0]
- ldr r0, [r5, #0x18]
- str r0, [sp, #0x4]
- ldr r0, [r5, #0x1c]
- str r0, [sp, #0x8]
- ldr r0, [r5, #0x20]
- str r0, [sp, #0xc]
- ldr r0, [r5, #0x14]
- ldr r2, [r5, #0x4]
- ldr r3, [r5, #0x8]
- bl FUN_02010280
- ldr r0, [r5, #0xc]
- add r0, r0, #0x1
- str r0, [r5, #0xc]
- add sp, #0x10
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02010224
-FUN_02010224: ; 0x02010224
- push {r4-r6, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0xc]
- mov r6, #0x0
- ldr r4, [r5, #0x14]
- cmp r0, #0x1
- beq _0201023C
- cmp r0, #0x2
- beq _02010258
- cmp r0, #0x3
- beq _02010272
- b _02010276
-_0201023C:
- add r0, r4, #0x0
- bl FUN_02010348
- cmp r0, #0x1
- bne _0201027A
- ldr r0, [r4, #0x20]
- ldr r1, [r4, #0x24]
- ldr r2, [r5, #0x10]
- bl FUN_0200F62C
- ldr r0, [r5, #0xc]
- add r0, r0, #0x1
- str r0, [r5, #0xc]
- b _0201027A
-_02010258:
- add r0, r4, #0x0
- bl FUN_0200F5C0
- ldr r0, [r5, #0x14]
- bl FUN_02016A18
- add r0, r6, #0x0
- str r0, [r5, #0x14]
- ldr r0, [r5, #0xc]
- mov r6, #0x1
- add r0, r0, #0x1
- str r0, [r5, #0xc]
- b _0201027A
-_02010272:
- mov r6, #0x1
- b _0201027A
-_02010276:
- bl ErrorHandling
-_0201027A:
- add r0, r6, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02010280
-FUN_02010280: ; 0x02010280
- push {r3-r7, lr}
- sub sp, #0x20
- add r4, r1, #0x0
- add r5, r0, #0x0
- ldr r0, [r4, #0x0]
- ldr r1, [r4, #0x4]
- str r2, [sp, #0x18]
- str r3, [sp, #0x1c]
- ldr r6, [sp, #0x38]
- ldr r7, [sp, #0x3c]
- bl FUN_0200F164
- str r0, [r5, #0x10]
- ldrb r1, [r4, #0x8]
- ldr r3, [sp, #0x44]
- add r0, r5, #0x0
- add r2, r6, #0x0
- bl FUN_0200F55C
- ldr r0, [r4, #0x0]
- lsl r0, r0, #0x7
- str r0, [r5, #0xc]
- ldr r0, [sp, #0x18]
- str r0, [r5, #0x14]
- ldr r0, [sp, #0x1c]
- str r0, [r5, #0x18]
- mov r0, #0x0
- str r0, [r5, #0x1c]
- ldr r0, [sp, #0x40]
- str r7, [r5, #0x24]
- str r0, [r5, #0x28]
- ldr r0, [sp, #0x44]
- str r0, [r5, #0x2c]
- ldrb r0, [r4, #0xb]
- str r0, [r5, #0x20]
- add r0, r5, #0x0
- bl FUN_02010398
- ldr r0, _0201033C ; =FUN_0200F5F8
- ldr r2, _02010340 ; =0x000003FF
- add r1, r5, #0x0
- bl FUN_0200CA98
- add r0, r5, #0x0
- mov r1, #0x0
- bl FUN_0200F5D8
- mov r1, #0x3
- str r6, [sp, #0x0]
- lsl r1, r1, #0x8
- ldrsh r1, [r0, r1]
- str r1, [sp, #0x4]
- mov r1, #0x0
- str r1, [sp, #0x8]
- mov r1, #0x12
- lsl r1, r1, #0x6
- ldrsh r0, [r0, r1]
- str r0, [sp, #0xc]
- mov r0, #0xc0
- str r0, [sp, #0x10]
- ldr r0, [r5, #0x20]
- str r0, [sp, #0x14]
- ldrb r1, [r4, #0x9]
- ldrb r2, [r4, #0xa]
- ldrb r3, [r4, #0x8]
- add r0, r7, #0x0
- bl FUN_0200F67C
- ldrb r0, [r4, #0x8]
- cmp r0, #0x0
- bne _0201031C
- ldr r3, [r5, #0x20]
- add r0, r7, #0x0
- mov r1, #0x1
- add r2, r6, #0x0
- bl FUN_0200F6E4
- b _02010328
-_0201031C:
- ldr r3, [r5, #0x20]
- add r0, r7, #0x0
- mov r1, #0x2
- add r2, r6, #0x0
- bl FUN_0200F6E4
-_02010328:
- ldr r0, [sp, #0x44]
- ldr r2, _02010344 ; =FUN_0200F330
- str r0, [sp, #0x0]
- ldr r0, [r5, #0x28]
- add r1, r5, #0x0
- add r3, r6, #0x0
- bl FUN_0200E6CC
- add sp, #0x20
- pop {r3-r7, pc}
- .balign 4
-_0201033C: .word FUN_0200F5F8
-_02010340: .word 0x000003FF
-_02010344: .word FUN_0200F330
-
- thumb_func_start FUN_02010348
-FUN_02010348: ; 0x02010348
- push {r4, lr}
- add r4, r0, #0x0
- ldr r1, [r4, #0x1c]
- add r2, r1, #0x1
- str r2, [r4, #0x1c]
- ldr r1, [r4, #0x18]
- cmp r2, r1
- blt _0201038C
- mov r1, #0x0
- str r1, [r4, #0x1c]
- ldr r1, [r4, #0x14]
- sub r1, r1, #0x1
- cmp r1, #0x0
- ble _0201037E
- str r1, [r4, #0x14]
- ldr r2, [r4, #0xc]
- ldr r1, [r4, #0x10]
- add r1, r2, r1
- str r1, [r4, #0xc]
- bl FUN_02010398
- ldr r0, _02010390 ; =FUN_0200F5F8
- ldr r2, _02010394 ; =0x000003FF
- add r1, r4, #0x0
- bl FUN_0200CA98
- b _0201038C
-_0201037E:
- ldr r0, [r4, #0x28]
- ldr r1, [r4, #0x8]
- ldr r2, [r4, #0x2c]
- bl FUN_0200E6F8
- mov r0, #0x1
- pop {r4, pc}
-_0201038C:
- mov r0, #0x0
- pop {r4, pc}
- .balign 4
-_02010390: .word FUN_0200F5F8
-_02010394: .word 0x000003FF
-
- thumb_func_start FUN_02010398
-FUN_02010398: ; 0x02010398
- push {r3-r7, lr}
- sub sp, #0x1fc
- sub sp, #0x104
- add r4, r0, #0x0
- mov r1, #0x0
- bl FUN_0200F5D8
- ldr r1, [r4, #0xc]
- add r5, r0, #0x0
- asr r0, r1, #0x6
- lsr r0, r0, #0x19
- add r0, r1, r0
- asr r0, r0, #0x7
- add r1, sp, #0x0
- mov r2, #0xc0
- mov r3, #0x0
- bl FUN_0200F0F8
- mov r7, #0x12
- mov r6, #0x0
- add r4, sp, #0x0
- lsl r7, r7, #0x6
-_020103C4:
- ldr r1, [r4, #0x0]
- mov r0, #0x80
- neg r1, r1
- bl FUN_0200F174
- mov r1, #0x3
- lsl r1, r1, #0x8
- strh r0, [r5, r1]
- ldr r1, [r4, #0x0]
- mov r0, #0x80
- bl FUN_0200F174
- strh r0, [r5, r7]
- add r6, r6, #0x1
- add r4, r4, #0x4
- add r5, r5, #0x2
- cmp r6, #0xc0
- blt _020103C4
- add sp, #0x1fc
- add sp, #0x104
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_020103F0
-FUN_020103F0: ; 0x020103F0
- push {r3-r5, lr}
- sub sp, #0x10
- add r5, r0, #0x0
- ldr r0, [r5, #0x20]
- add r4, r1, #0x0
- mov r1, #0x34
- bl FUN_02016998
- str r0, [r5, #0x14]
- ldr r0, [r5, #0x10]
- add r1, r4, #0x0
- str r0, [sp, #0x0]
- ldr r0, [r5, #0x18]
- str r0, [sp, #0x4]
- ldr r0, [r5, #0x1c]
- str r0, [sp, #0x8]
- ldr r0, [r5, #0x20]
- str r0, [sp, #0xc]
- ldr r0, [r5, #0x14]
- ldr r2, [r5, #0x4]
- ldr r3, [r5, #0x8]
- bl FUN_0201047C
- ldr r0, [r5, #0xc]
- add r0, r0, #0x1
- str r0, [r5, #0xc]
- add sp, #0x10
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02010428
-FUN_02010428: ; 0x02010428
- push {r4-r6, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0xc]
- mov r6, #0x0
- ldr r4, [r5, #0x14]
- cmp r0, #0x1
- beq _02010440
- cmp r0, #0x2
- beq _0201045C
- cmp r0, #0x3
- beq _02010476
- b _02010478
-_02010440:
- add r0, r4, #0x0
- bl FUN_02010550
- cmp r0, #0x1
- bne _02010478
- ldr r0, [r4, #0x24]
- ldr r1, [r4, #0x28]
- ldr r2, [r5, #0x10]
- bl FUN_0200F62C
- ldr r0, [r5, #0xc]
- add r0, r0, #0x1
- str r0, [r5, #0xc]
- b _02010478
-_0201045C:
- add r0, r4, #0x0
- bl FUN_0200F5C0
- ldr r0, [r5, #0x14]
- bl FUN_02016A18
- add r0, r6, #0x0
- str r0, [r5, #0x14]
- ldr r0, [r5, #0xc]
- mov r6, #0x1
- add r0, r0, #0x1
- str r0, [r5, #0xc]
- b _02010478
-_02010476:
- mov r6, #0x1
-_02010478:
- add r0, r6, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_0201047C
-FUN_0201047C: ; 0x0201047C
- push {r4-r7, lr}
- sub sp, #0x24
- add r4, r1, #0x0
- add r5, r0, #0x0
- ldr r1, [r4, #0x4]
- ldr r0, [r4, #0x0]
- str r2, [sp, #0x18]
- sub r0, r1, r0
- add r1, r2, #0x0
- str r3, [sp, #0x1c]
- ldr r6, [sp, #0x38]
- ldr r7, [sp, #0x3c]
- blx _s32_div_f
- str r0, [sp, #0x20]
- ldrb r1, [r4, #0x8]
- ldr r3, [sp, #0x44]
- add r0, r5, #0x0
- add r2, r6, #0x0
- bl FUN_0200F55C
- mov r0, #0x2
- lsl r0, r0, #0x12
- str r0, [r5, #0xc]
- ldr r0, [r4, #0x0]
- str r0, [r5, #0x10]
- ldr r0, [sp, #0x20]
- str r0, [r5, #0x14]
- ldr r0, [sp, #0x18]
- str r0, [r5, #0x18]
- ldr r0, [sp, #0x1c]
- str r0, [r5, #0x1c]
- mov r0, #0x0
- str r0, [r5, #0x20]
- ldr r0, [sp, #0x40]
- str r7, [r5, #0x28]
- str r0, [r5, #0x2c]
- ldr r0, [sp, #0x44]
- str r0, [r5, #0x30]
- ldrb r0, [r4, #0xb]
- str r0, [r5, #0x24]
- add r0, r5, #0x0
- bl FUN_020105A0
- ldr r0, _02010544 ; =FUN_0200F5F8
- ldr r2, _02010548 ; =0x000003FF
- add r1, r5, #0x0
- bl FUN_0200CA98
- add r0, r5, #0x0
- mov r1, #0x0
- bl FUN_0200F5D8
- mov r1, #0xf
- str r6, [sp, #0x0]
- lsl r1, r1, #0x6
- ldrsh r1, [r0, r1]
- str r1, [sp, #0x4]
- mov r1, #0x0
- str r1, [sp, #0x8]
- mov r1, #0x15
- lsl r1, r1, #0x6
- ldrsh r0, [r0, r1]
- str r0, [sp, #0xc]
- mov r0, #0xc0
- str r0, [sp, #0x10]
- ldr r0, [r5, #0x24]
- str r0, [sp, #0x14]
- ldrb r1, [r4, #0x9]
- ldrb r2, [r4, #0xa]
- ldrb r3, [r4, #0x8]
- add r0, r7, #0x0
- bl FUN_0200F67C
- ldrb r0, [r4, #0x8]
- cmp r0, #0x0
- bne _02010524
- ldr r3, [r5, #0x24]
- add r0, r7, #0x0
- mov r1, #0x1
- add r2, r6, #0x0
- bl FUN_0200F6E4
- b _02010530
-_02010524:
- ldr r3, [r5, #0x24]
- add r0, r7, #0x0
- mov r1, #0x2
- add r2, r6, #0x0
- bl FUN_0200F6E4
-_02010530:
- ldr r0, [sp, #0x44]
- ldr r2, _0201054C ; =FUN_0200F330
- str r0, [sp, #0x0]
- ldr r0, [r5, #0x2c]
- add r1, r5, #0x0
- add r3, r6, #0x0
- bl FUN_0200E6CC
- add sp, #0x24
- pop {r4-r7, pc}
- .balign 4
-_02010544: .word FUN_0200F5F8
-_02010548: .word 0x000003FF
-_0201054C: .word FUN_0200F330
-
- thumb_func_start FUN_02010550
-FUN_02010550: ; 0x02010550
- push {r4, lr}
- add r4, r0, #0x0
- ldr r1, [r4, #0x20]
- add r2, r1, #0x1
- str r2, [r4, #0x20]
- ldr r1, [r4, #0x1c]
- cmp r2, r1
- blt _02010594
- mov r1, #0x0
- str r1, [r4, #0x20]
- ldr r1, [r4, #0x18]
- sub r1, r1, #0x1
- cmp r1, #0x0
- ble _02010586
- str r1, [r4, #0x18]
- ldr r2, [r4, #0x10]
- ldr r1, [r4, #0x14]
- add r1, r2, r1
- str r1, [r4, #0x10]
- bl FUN_020105A0
- ldr r0, _02010598 ; =FUN_0200F5F8
- ldr r2, _0201059C ; =0x000003FF
- add r1, r4, #0x0
- bl FUN_0200CA98
- b _02010594
-_02010586:
- ldr r0, [r4, #0x2c]
- ldr r1, [r4, #0x8]
- ldr r2, [r4, #0x30]
- bl FUN_0200E6F8
- mov r0, #0x1
- pop {r4, pc}
-_02010594:
- mov r0, #0x0
- pop {r4, pc}
- .balign 4
-_02010598: .word FUN_0200F5F8
-_0201059C: .word 0x000003FF
-
- thumb_func_start FUN_020105A0
-FUN_020105A0: ; 0x020105A0
- push {r4-r7, lr}
- sub sp, #0x1fc
- sub sp, #0x110
- add r4, r0, #0x0
- mov r1, #0x0
- bl FUN_0200F5D8
- str r0, [sp, #0x0]
- ldr r0, [r4, #0x10]
- ldr r2, [r4, #0xc]
- asr r0, r0, #0x4
- lsl r1, r0, #0x2
- ldr r0, _02010680 ; =0x020FFA38
- asr r3, r2, #0x1f
- ldrsh r0, [r0, r1]
- asr r1, r0, #0x1f
- blx _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
- asr r7, r1, #0xc
- lsl r0, r7, #0x1
- mov r1, #0x15
- blx _s32_div_f
- add r0, r0, #0x1
- lsl r0, r0, #0x1
- mov r1, #0xb4
- sub r2, r1, r0
- ldr r0, _02010684 ; =0x0000FFFF
- add r1, #0xb4
- mul r0, r2
- blx _s32_div_f
- lsr r1, r0, #0x1f
- add r1, r0, r1
- asr r4, r1, #0x1
- mov r1, #0x1
- add r0, r4, #0x0
- lsl r1, r1, #0x8
- bl FUN_0200F14C
- asr r0, r0, #0xc
- str r0, [sp, #0x4]
- cmp r0, #0xc0
- blt _0201060C
- bl ErrorHandling
-_0201060C:
- ldr r2, [sp, #0x4]
- add r0, r4, #0x0
- add r1, sp, #0xc
- mov r3, #0x0
- bl FUN_0200F0F8
- ldr r5, [sp, #0x0]
- mov r4, #0x0
-_0201061C:
- ldr r0, [sp, #0x4]
- add r1, r4, #0x1
- sub r0, r0, r1
- add r6, r7, #0x0
- cmp r0, #0x0
- ble _02010634
- lsl r1, r0, #0x2
- add r0, sp, #0xc
- ldr r0, [r0, r1]
- cmp r0, r7
- ble _02010634
- add r6, r0, #0x0
-_02010634:
- mov r0, #0x80
- neg r1, r6
- bl FUN_0200F174
- str r0, [sp, #0x8]
- mov r0, #0x80
- add r1, r6, #0x0
- bl FUN_0200F174
- ldr r1, [sp, #0x8]
- lsl r0, r0, #0x10
- lsl r1, r1, #0x10
- asr r2, r1, #0x10
- mov r1, #0x3
- lsl r1, r1, #0x8
- strh r2, [r5, r1]
- asr r1, r0, #0x10
- mov r0, #0x12
- lsl r0, r0, #0x6
- strh r1, [r5, r0]
- mov r0, #0xbf
- sub r0, r0, r4
- lsl r3, r0, #0x1
- ldr r0, [sp, #0x0]
- add r4, r4, #0x1
- add r0, r0, r3
- mov r3, #0x3
- lsl r3, r3, #0x8
- strh r2, [r0, r3]
- mov r2, #0x12
- lsl r2, r2, #0x6
- add r5, r5, #0x2
- strh r1, [r0, r2]
- cmp r4, #0x60
- blt _0201061C
- add sp, #0x1fc
- add sp, #0x110
- pop {r4-r7, pc}
- .balign 4
-_02010680: .word 0x020FFA38
-_02010684: .word 0x0000FFFF
-
- thumb_func_start FUN_02010688
-FUN_02010688: ; 0x02010688
- push {r3-r5, lr}
- sub sp, #0x10
- add r5, r0, #0x0
- ldr r0, [r5, #0x20]
- add r4, r1, #0x0
- mov r1, #0x30
- bl FUN_02016998
- str r0, [r5, #0x14]
- ldr r0, [r5, #0x10]
- add r1, r4, #0x0
- str r0, [sp, #0x0]
- ldr r0, [r5, #0x18]
- str r0, [sp, #0x4]
- ldr r0, [r5, #0x1c]
- str r0, [sp, #0x8]
- ldr r0, [r5, #0x20]
- str r0, [sp, #0xc]
- ldr r0, [r5, #0x14]
- ldr r2, [r5, #0x4]
- ldr r3, [r5, #0x8]
- bl FUN_02010720
- ldr r0, [r5, #0xc]
- add r0, r0, #0x1
- str r0, [r5, #0xc]
- add sp, #0x10
- pop {r3-r5, pc}
-
- thumb_func_start FUN_020106C0
-FUN_020106C0: ; 0x020106C0
- push {r4-r6, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0xc]
- mov r6, #0x0
- ldr r4, [r5, #0x14]
- cmp r0, #0x1
- beq _020106D8
- cmp r0, #0x2
- beq _020106F4
- cmp r0, #0x3
- beq _02010714
- b _02010718
-_020106D8:
- add r0, r4, #0x0
- bl FUN_02010834
- cmp r0, #0x1
- bne _0201071C
- ldr r0, [r4, #0x20]
- ldr r1, [r4, #0x24]
- ldr r2, [r5, #0x10]
- bl FUN_0200F62C
- ldr r0, [r5, #0xc]
- add r0, r0, #0x1
- str r0, [r5, #0xc]
- b _0201071C
-_020106F4:
- add r0, r4, #0x0
- bl FUN_02010884
- add r0, r4, #0x0
- bl FUN_0200F5C0
- ldr r0, [r5, #0x14]
- bl FUN_02016A18
- add r0, r6, #0x0
- str r0, [r5, #0x14]
- ldr r0, [r5, #0xc]
- mov r6, #0x1
- add r0, r0, #0x1
- str r0, [r5, #0xc]
- b _0201071C
-_02010714:
- mov r6, #0x1
- b _0201071C
-_02010718:
- bl ErrorHandling
-_0201071C:
- add r0, r6, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02010720
-FUN_02010720: ; 0x02010720
- push {r4-r7, lr}
- sub sp, #0x24
- add r5, r1, #0x0
- add r7, r0, #0x0
- str r2, [sp, #0x18]
- ldr r0, [sp, #0x38]
- ldrb r2, [r5, #0x8]
- str r0, [sp, #0x38]
- ldr r0, [sp, #0x44]
- mov r1, #0x30
- mul r1, r2
- str r3, [sp, #0x1c]
- str r0, [sp, #0x44]
- bl FUN_02016998
- str r0, [r7, #0xc]
- cmp r0, #0x0
- bne _02010748
- bl ErrorHandling
-_02010748:
- ldrb r0, [r5, #0x8]
- str r0, [r7, #0x10]
- mov r0, #0x0
- str r0, [sp, #0x20]
- ldrb r0, [r5, #0x8]
- cmp r0, #0x0
- ble _02010788
- ldr r6, [sp, #0x20]
- add r4, r6, #0x0
-_0201075A:
- ldr r0, [r5, #0x4]
- ldr r2, [r7, #0xc]
- add r0, r0, r6
- str r0, [sp, #0x0]
- ldr r0, [sp, #0x18]
- str r0, [sp, #0x4]
- add r0, r2, r4
- ldr r3, [r5, #0x0]
- add r1, r0, #0x0
- add r2, r2, r4
- add r1, #0x20
- add r2, #0x10
- add r3, r3, r6
- bl FUN_0200F1A8
- ldr r0, [sp, #0x20]
- ldrb r1, [r5, #0x8]
- add r0, r0, #0x1
- add r6, #0x10
- add r4, #0x30
- str r0, [sp, #0x20]
- cmp r0, r1
- blt _0201075A
-_02010788:
- ldrb r1, [r5, #0x9]
- ldr r2, [sp, #0x38]
- ldr r3, [sp, #0x44]
- add r0, r7, #0x0
- bl FUN_0200F55C
- ldr r0, [sp, #0x18]
- str r0, [r7, #0x14]
- ldr r0, [sp, #0x1c]
- str r0, [r7, #0x18]
- mov r0, #0x0
- str r0, [r7, #0x1c]
- ldr r0, [sp, #0x3c]
- str r0, [r7, #0x24]
- ldr r0, [sp, #0x40]
- str r0, [r7, #0x28]
- ldr r0, [sp, #0x44]
- str r0, [r7, #0x2c]
- ldrb r0, [r5, #0xc]
- str r0, [r7, #0x20]
- add r0, r7, #0x0
- bl FUN_02010894
- ldr r0, _02010828 ; =FUN_0200F5F8
- ldr r2, _0201082C ; =0x000003FF
- add r1, r7, #0x0
- bl FUN_0200CA98
- add r0, r7, #0x0
- mov r1, #0x0
- bl FUN_0200F5D8
- ldr r1, [sp, #0x38]
- str r1, [sp, #0x0]
- mov r1, #0x3
- lsl r1, r1, #0x8
- ldrsh r1, [r0, r1]
- str r1, [sp, #0x4]
- mov r1, #0x0
- str r1, [sp, #0x8]
- mov r1, #0x12
- lsl r1, r1, #0x6
- ldrsh r0, [r0, r1]
- str r0, [sp, #0xc]
- mov r0, #0xc0
- str r0, [sp, #0x10]
- ldr r0, [r7, #0x20]
- str r0, [sp, #0x14]
- ldrb r1, [r5, #0xa]
- ldrb r2, [r5, #0xb]
- ldrb r3, [r5, #0x9]
- ldr r0, [sp, #0x3c]
- bl FUN_0200F67C
- ldrb r0, [r5, #0x9]
- cmp r0, #0x0
- ldr r0, [r7, #0x24]
- bne _02010808
- ldr r2, [sp, #0x38]
- ldr r3, [r7, #0x20]
- mov r1, #0x1
- bl FUN_0200F6E4
- b _02010812
-_02010808:
- ldr r2, [sp, #0x38]
- ldr r3, [r7, #0x20]
- mov r1, #0x2
- bl FUN_0200F6E4
-_02010812:
- ldr r0, [sp, #0x44]
- ldr r2, _02010830 ; =FUN_0200F330
- str r0, [sp, #0x0]
- ldr r0, [r7, #0x28]
- ldr r3, [sp, #0x38]
- add r1, r7, #0x0
- bl FUN_0200E6CC
- add sp, #0x24
- pop {r4-r7, pc}
- nop
-_02010828: .word FUN_0200F5F8
-_0201082C: .word 0x000003FF
-_02010830: .word FUN_0200F330
-
- thumb_func_start FUN_02010834
-FUN_02010834: ; 0x02010834
- push {r4, lr}
- add r4, r0, #0x0
- ldr r1, [r4, #0x1c]
- add r2, r1, #0x1
- str r2, [r4, #0x1c]
- ldr r1, [r4, #0x18]
- cmp r2, r1
- blt _02010876
- mov r1, #0x0
- str r1, [r4, #0x1c]
- ldr r1, [r4, #0x14]
- sub r1, r1, #0x1
- cmp r1, #0x0
- ble _02010868
- str r1, [r4, #0x14]
- bl FUN_02010920
- add r0, r4, #0x0
- bl FUN_02010894
- ldr r0, _0201087C ; =FUN_0200F5F8
- ldr r2, _02010880 ; =0x000003FF
- add r1, r4, #0x0
- bl FUN_0200CA98
- b _02010876
-_02010868:
- ldr r0, [r4, #0x28]
- ldr r1, [r4, #0x8]
- ldr r2, [r4, #0x2c]
- bl FUN_0200E6F8
- mov r0, #0x1
- pop {r4, pc}
-_02010876:
- mov r0, #0x0
- pop {r4, pc}
- nop
-_0201087C: .word FUN_0200F5F8
-_02010880: .word 0x000003FF
-
- thumb_func_start FUN_02010884
-FUN_02010884: ; 0x02010884
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0xc]
- bl FUN_02016A18
- mov r0, #0x0
- str r0, [r4, #0xc]
- pop {r4, pc}
-
- thumb_func_start FUN_02010894
-FUN_02010894: ; 0x02010894
- push {r4-r6, lr}
- mov r1, #0x0
- add r6, r0, #0x0
- bl FUN_0200F5D8
- mov r2, #0x3
- lsl r2, r2, #0x8
- add r0, r0, r2
- mov r1, #0x0
- blx Call_FillMemWithValue
- ldr r0, [r6, #0x10]
- sub r4, r0, #0x1
- bmi _020108C6
- mov r0, #0x30
- add r5, r4, #0x0
- mul r5, r0
-_020108B6:
- ldr r1, [r6, #0xc]
- add r0, r6, #0x0
- add r1, r1, r5
- bl FUN_020108C8
- sub r5, #0x30
- sub r4, r4, #0x1
- bpl _020108B6
-_020108C6:
- pop {r4-r6, pc}
-
- thumb_func_start FUN_020108C8
-FUN_020108C8: ; 0x020108C8
- push {r4-r6, lr}
- add r4, r1, #0x0
- mov r1, #0x0
- bl FUN_0200F5D8
- ldr r2, [r4, #0x0]
- ldr r3, [r4, #0x8]
- asr r1, r2, #0x6
- lsr r1, r1, #0x19
- add r1, r2, r1
- asr r2, r1, #0x7
- asr r1, r3, #0x6
- ldr r5, [r4, #0xc]
- lsr r1, r1, #0x19
- add r1, r3, r1
- asr r3, r5, #0x6
- lsr r3, r3, #0x19
- add r3, r5, r3
- ldr r4, [r4, #0x4]
- asr r5, r3, #0x7
- asr r3, r4, #0x6
- lsr r3, r3, #0x19
- add r3, r4, r3
- asr r3, r3, #0x7
- asr r1, r1, #0x7
- cmp r3, r5
- bge _0201091E
- lsl r4, r3, #0x1
- lsl r1, r1, #0x10
- add r4, r0, r4
- lsl r0, r2, #0x10
- asr r6, r1, #0x10
- mov r1, #0x3
- mov r2, #0x12
- asr r0, r0, #0x10
- lsl r1, r1, #0x8
- lsl r2, r2, #0x6
-_02010912:
- strh r0, [r4, r1]
- strh r6, [r4, r2]
- add r3, r3, #0x1
- add r4, r4, #0x2
- cmp r3, r5
- blt _02010912
-_0201091E:
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02010920
-FUN_02010920: ; 0x02010920
- push {r4-r6, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0x10]
- mov r6, #0x0
- cmp r0, #0x0
- ble _02010944
- add r4, r6, #0x0
-_0201092E:
- ldr r1, [r5, #0xc]
- add r0, r1, r4
- add r1, r1, r4
- add r1, #0x10
- bl FUN_0200F184
- ldr r0, [r5, #0x10]
- add r6, r6, #0x1
- add r4, #0x30
- cmp r6, r0
- blt _0201092E
-_02010944:
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02010948
-FUN_02010948: ; 0x02010948
- push {r3-r5, lr}
- sub sp, #0x10
- add r5, r0, #0x0
- ldr r0, [r5, #0x20]
- add r4, r1, #0x0
- mov r1, #0x38
- bl FUN_02016998
- str r0, [r5, #0x14]
- mov r1, #0x0
- mov r2, #0x38
- blx Call_FillMemWithValue
- ldr r0, [r5, #0x10]
- add r1, r4, #0x0
- str r0, [sp, #0x0]
- ldr r0, [r5, #0x18]
- str r0, [sp, #0x4]
- ldr r0, [r5, #0x1c]
- str r0, [sp, #0x8]
- ldr r0, [r5, #0x20]
- str r0, [sp, #0xc]
- ldr r0, [r5, #0x14]
- ldr r2, [r5, #0x4]
- ldr r3, [r5, #0x8]
- bl FUN_020109E8
- ldr r0, [r5, #0xc]
- add r0, r0, #0x1
- str r0, [r5, #0xc]
- add sp, #0x10
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02010988
-FUN_02010988: ; 0x02010988
- push {r4-r6, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0xc]
- mov r6, #0x0
- ldr r4, [r5, #0x14]
- cmp r0, #0x1
- beq _020109A0
- cmp r0, #0x2
- beq _020109BC
- cmp r0, #0x3
- beq _020109DC
- b _020109E0
-_020109A0:
- add r0, r4, #0x0
- bl FUN_02010AE4
- cmp r0, #0x1
- bne _020109E4
- ldr r0, [r4, #0x28]
- ldr r1, [r4, #0x30]
- ldr r2, [r5, #0x10]
- bl FUN_0200F62C
- ldr r0, [r5, #0xc]
- add r0, r0, #0x1
- str r0, [r5, #0xc]
- b _020109E4
-_020109BC:
- add r0, r4, #0x0
- bl FUN_02010B3C
- add r0, r4, #0x0
- bl FUN_0200F5C0
- ldr r0, [r5, #0x14]
- bl FUN_02016A18
- add r0, r6, #0x0
- str r0, [r5, #0x14]
- ldr r0, [r5, #0xc]
- mov r6, #0x1
- add r0, r0, #0x1
- str r0, [r5, #0xc]
- b _020109E4
-_020109DC:
- mov r6, #0x1
- b _020109E4
-_020109E0:
- bl ErrorHandling
-_020109E4:
- add r0, r6, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_020109E8
-FUN_020109E8: ; 0x020109E8
- push {r3-r7, lr}
- sub sp, #0x28
- add r4, r1, #0x0
- add r5, r0, #0x0
- mov r1, #0x0
- str r1, [r5, #0xc]
- ldr r1, [r4, #0x0]
- str r2, [sp, #0x18]
- str r1, [r5, #0x10]
- str r3, [sp, #0x1c]
- ldr r2, [r4, #0x4]
- ldr r1, [r4, #0x0]
- ldr r6, [sp, #0x40]
- sub r1, r2, r1
- str r1, [r5, #0x14]
- ldr r3, [sp, #0x4c]
- mov r1, #0x2
- add r2, r6, #0x0
- ldr r7, [sp, #0x44]
- bl FUN_0200F55C
- ldr r0, [sp, #0x18]
- mov r1, #0x0
- str r0, [r5, #0x18]
- ldr r0, [sp, #0x1c]
- str r1, [r5, #0x1c]
- str r0, [r5, #0x20]
- str r1, [r5, #0x24]
- ldr r0, [sp, #0x48]
- str r7, [r5, #0x30]
- str r0, [r5, #0x34]
- ldr r0, [sp, #0x4c]
- str r0, [r5, #0x2c]
- ldrb r0, [r4, #0xa]
- str r0, [r5, #0x28]
- add r0, r5, #0x0
- ldr r1, [r5, #0x1c]
- ldr r2, [r5, #0x18]
- add r0, #0xc
- bl FUN_02010C64
- add r0, r5, #0x0
- bl FUN_02010B40
- ldr r0, _02010AD8 ; =FUN_0200F5F8
- ldr r2, _02010ADC ; =0x000003FF
- add r1, r5, #0x0
- bl FUN_0200CA98
- add r0, r5, #0x0
- mov r1, #0x0
- bl FUN_0200F5D8
- str r0, [sp, #0x20]
- add r0, r5, #0x0
- mov r1, #0x1
- bl FUN_0200F5D8
- str r0, [sp, #0x24]
- mov r1, #0x3
- ldr r0, [sp, #0x20]
- str r6, [sp, #0x0]
- lsl r1, r1, #0x8
- ldrsh r0, [r0, r1]
- mov r1, #0x12
- mov r3, #0x0
- str r0, [sp, #0x4]
- ldr r0, [sp, #0x20]
- str r3, [sp, #0x8]
- lsl r1, r1, #0x6
- ldrsh r0, [r0, r1]
- str r0, [sp, #0xc]
- mov r0, #0xc0
- str r0, [sp, #0x10]
- ldr r0, [r5, #0x28]
- str r0, [sp, #0x14]
- ldrb r1, [r4, #0x8]
- ldrb r2, [r4, #0x9]
- add r0, r7, #0x0
- bl FUN_0200F67C
- mov r1, #0x3
- ldr r0, [sp, #0x24]
- str r6, [sp, #0x0]
- lsl r1, r1, #0x8
- ldrsh r0, [r0, r1]
- mov r1, #0x12
- lsl r1, r1, #0x6
- str r0, [sp, #0x4]
- mov r0, #0x0
- str r0, [sp, #0x8]
- ldr r0, [sp, #0x24]
- mov r3, #0x1
- ldrsh r0, [r0, r1]
- str r0, [sp, #0xc]
- mov r0, #0xc0
- str r0, [sp, #0x10]
- ldr r0, [r5, #0x28]
- str r0, [sp, #0x14]
- ldrb r1, [r4, #0x8]
- ldrb r2, [r4, #0x9]
- add r0, r7, #0x0
- bl FUN_0200F67C
- ldr r3, [r5, #0x28]
- add r0, r7, #0x0
- mov r1, #0x3
- add r2, r6, #0x0
- bl FUN_0200F6E4
- ldr r0, [sp, #0x4c]
- ldr r2, _02010AE0 ; =FUN_0200F330
- str r0, [sp, #0x0]
- ldr r0, [r5, #0x34]
- add r1, r5, #0x0
- add r3, r6, #0x0
- bl FUN_0200E6CC
- add sp, #0x28
- pop {r3-r7, pc}
- .balign 4
-_02010AD8: .word FUN_0200F5F8
-_02010ADC: .word 0x000003FF
-_02010AE0: .word FUN_0200F330
-
- thumb_func_start FUN_02010AE4
-FUN_02010AE4: ; 0x02010AE4
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x24]
- add r1, r0, #0x1
- str r1, [r4, #0x24]
- ldr r0, [r4, #0x20]
- cmp r1, r0
- blt _02010B2E
- mov r0, #0x0
- str r0, [r4, #0x24]
- ldr r0, [r4, #0x1c]
- add r1, r0, #0x1
- ldr r0, [r4, #0x18]
- cmp r1, r0
- bgt _02010B20
- str r1, [r4, #0x1c]
- add r0, r4, #0x0
- ldr r2, [r4, #0x18]
- add r0, #0xc
- bl FUN_02010C64
- add r0, r4, #0x0
- bl FUN_02010B40
- ldr r0, _02010B34 ; =FUN_0200F5F8
- ldr r2, _02010B38 ; =0x000003FF
- add r1, r4, #0x0
- bl FUN_0200CA98
- b _02010B2E
-_02010B20:
- ldr r0, [r4, #0x34]
- ldr r1, [r4, #0x8]
- ldr r2, [r4, #0x2c]
- bl FUN_0200E6F8
- mov r0, #0x1
- pop {r4, pc}
-_02010B2E:
- mov r0, #0x0
- pop {r4, pc}
- nop
-_02010B34: .word FUN_0200F5F8
-_02010B38: .word 0x000003FF
-
- thumb_func_start FUN_02010B3C
-FUN_02010B3C: ; 0x02010B3C
- bx lr
- .balign 4
-
- thumb_func_start FUN_02010B40
-FUN_02010B40: ; 0x02010B40
- push {r3-r7, lr}
- sub sp, #0x8
- str r0, [sp, #0x0]
- ldr r0, [r0, #0xc]
- ldr r1, _02010C60 ; =0x00003FFF
- blx _s32_div_f
- lsl r0, r1, #0x10
- lsr r0, r0, #0x10
- str r0, [sp, #0x4]
- ldr r0, [sp, #0x0]
- mov r1, #0x0
- bl FUN_0200F5D8
- add r7, r0, #0x0
- ldr r0, [sp, #0x0]
- mov r1, #0x1
- bl FUN_0200F5D8
- add r4, r0, #0x0
- mov r6, #0x0
- add r5, r4, #0x0
-_02010B6C:
- ldr r0, [sp, #0x0]
- ldr r1, [r0, #0xc]
- ldr r0, _02010C60 ; =0x00003FFF
- cmp r1, r0
- bge _02010BB0
- mov r1, #0x60
- ldr r0, [sp, #0x4]
- sub r1, r1, r6
- bl FUN_0200F0D0
- cmp r0, #0x7f
- ble _02010B86
- mov r0, #0x7f
-_02010B86:
- mov r1, #0xbf
- sub r1, r1, r6
- lsl r1, r1, #0x1
- add r3, r7, r1
- mov r1, #0x80
- sub r2, r1, r0
- mov r1, #0x3
- lsl r1, r1, #0x8
- strh r2, [r3, r1]
- mov r1, #0x12
- mov r2, #0x80
- lsl r1, r1, #0x6
- strh r2, [r3, r1]
- mov r1, #0x3
- lsl r1, r1, #0x8
- strh r2, [r5, r1]
- mov r1, #0x12
- add r0, #0x80
- lsl r1, r1, #0x6
- strh r0, [r5, r1]
- b _02010BD8
-_02010BB0:
- mov r0, #0xbf
- sub r0, r0, r6
- lsl r0, r0, #0x1
- mov r1, #0x3
- add r0, r7, r0
- mov r2, #0x0
- lsl r1, r1, #0x8
- strh r2, [r0, r1]
- mov r1, #0x12
- mov r2, #0x80
- lsl r1, r1, #0x6
- strh r2, [r0, r1]
- mov r0, #0x3
- add r1, r2, #0x0
- lsl r0, r0, #0x8
- strh r1, [r5, r0]
- mov r0, #0x12
- mov r1, #0xff
- lsl r0, r0, #0x6
- strh r1, [r5, r0]
-_02010BD8:
- add r6, r6, #0x1
- add r5, r5, #0x2
- cmp r6, #0x60
- blt _02010B6C
- ldr r1, _02010C60 ; =0x00003FFF
- ldr r0, [sp, #0x4]
- mov r5, #0x60
- add r4, #0xc0
- sub r6, r1, r0
-_02010BEA:
- ldr r0, [sp, #0x0]
- ldr r1, [r0, #0xc]
- ldr r0, _02010C60 ; =0x00003FFF
- cmp r1, r0
- bge _02010C1A
- mov r0, #0xbf
- sub r0, r0, r5
- lsl r0, r0, #0x1
- mov r1, #0x3
- add r0, r7, r0
- mov r2, #0x80
- lsl r1, r1, #0x8
- strh r2, [r0, r1]
- mov r1, #0x12
- lsl r1, r1, #0x6
- strh r2, [r0, r1]
- mov r0, #0x3
- add r1, r2, #0x0
- lsl r0, r0, #0x8
- strh r1, [r4, r0]
- mov r0, #0x12
- lsl r0, r0, #0x6
- strh r1, [r4, r0]
- b _02010C54
-_02010C1A:
- add r1, r5, #0x0
- add r0, r6, #0x0
- sub r1, #0x60
- bl FUN_0200F0D0
- add r1, r0, #0x0
- cmp r1, #0x7f
- ble _02010C2C
- mov r1, #0x7f
-_02010C2C:
- mov r0, #0xbf
- sub r0, r0, r5
- lsl r0, r0, #0x1
- mov r2, #0x3
- add r0, r7, r0
- mov r3, #0x0
- lsl r2, r2, #0x8
- strh r3, [r0, r2]
- mov r2, #0x80
- sub r3, r2, r1
- mov r2, #0x12
- lsl r2, r2, #0x6
- strh r3, [r0, r2]
- mov r0, #0x3
- add r1, #0x80
- lsl r0, r0, #0x8
- strh r1, [r4, r0]
- mov r1, #0xff
- add r0, r2, #0x0
- strh r1, [r4, r0]
-_02010C54:
- add r5, r5, #0x1
- add r4, r4, #0x2
- cmp r5, #0xc0
- blt _02010BEA
- add sp, #0x8
- pop {r3-r7, pc}
- .balign 4
-_02010C60: .word 0x00003FFF
-
- thumb_func_start FUN_02010C64
-FUN_02010C64: ; 0x02010C64
- push {r4, lr}
- add r4, r0, #0x0
- ldr r3, [r4, #0x8]
- add r0, r3, #0x0
- mul r0, r1
- add r1, r2, #0x0
- blx _s32_div_f
- ldr r1, [r4, #0x4]
- add r0, r0, r1
- str r0, [r4, #0x0]
- pop {r4, pc}
-
- thumb_func_start FUN_02010C7C
-FUN_02010C7C: ; 0x02010C7C
- push {r3-r5, lr}
- sub sp, #0x10
- add r5, r0, #0x0
- ldr r0, [r5, #0x20]
- add r4, r1, #0x0
- mov r1, #0x38
- bl FUN_02016998
- str r0, [r5, #0x14]
- mov r1, #0x0
- mov r2, #0x38
- blx Call_FillMemWithValue
- ldr r0, [r5, #0x10]
- add r1, r4, #0x0
- str r0, [sp, #0x0]
- ldr r0, [r5, #0x18]
- str r0, [sp, #0x4]
- ldr r0, [r5, #0x1c]
- str r0, [sp, #0x8]
- ldr r0, [r5, #0x20]
- str r0, [sp, #0xc]
- ldr r0, [r5, #0x14]
- ldr r2, [r5, #0x4]
- ldr r3, [r5, #0x8]
- bl FUN_02010D1C
- ldr r0, [r5, #0xc]
- add r0, r0, #0x1
- str r0, [r5, #0xc]
- add sp, #0x10
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02010CBC
-FUN_02010CBC: ; 0x02010CBC
- push {r4-r6, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0xc]
- mov r6, #0x0
- ldr r4, [r5, #0x14]
- cmp r0, #0x1
- beq _02010CD4
- cmp r0, #0x2
- beq _02010CF0
- cmp r0, #0x3
- beq _02010D10
- b _02010D14
-_02010CD4:
- add r0, r4, #0x0
- bl FUN_02010DEC
- cmp r0, #0x1
- bne _02010D18
- ldr r0, [r4, #0x28]
- ldr r1, [r4, #0x30]
- ldr r2, [r5, #0x10]
- bl FUN_0200F62C
- ldr r0, [r5, #0xc]
- add r0, r0, #0x1
- str r0, [r5, #0xc]
- b _02010D18
-_02010CF0:
- add r0, r4, #0x0
- bl FUN_02010E44
- add r0, r4, #0x0
- bl FUN_0200F5C0
- ldr r0, [r5, #0x14]
- bl FUN_02016A18
- add r0, r6, #0x0
- str r0, [r5, #0x14]
- ldr r0, [r5, #0xc]
- mov r6, #0x1
- add r0, r0, #0x1
- str r0, [r5, #0xc]
- b _02010D18
-_02010D10:
- mov r6, #0x1
- b _02010D18
-_02010D14:
- bl ErrorHandling
-_02010D18:
- add r0, r6, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02010D1C
-FUN_02010D1C: ; 0x02010D1C
- push {r3-r7, lr}
- sub sp, #0x20
- add r4, r1, #0x0
- ldr r1, [r4, #0x0]
- add r5, r0, #0x0
- str r1, [r5, #0xc]
- ldr r1, [r4, #0x0]
- str r3, [sp, #0x1c]
- str r1, [r5, #0x10]
- str r2, [sp, #0x18]
- ldr r2, [r4, #0x4]
- ldr r1, [r4, #0x0]
- ldr r6, [sp, #0x38]
- sub r1, r2, r1
- str r1, [r5, #0x14]
- ldr r3, [sp, #0x44]
- mov r1, #0x2
- add r2, r6, #0x0
- ldr r7, [sp, #0x3c]
- bl FUN_0200F55C
- ldr r0, [sp, #0x18]
- mov r1, #0x0
- str r0, [r5, #0x18]
- ldr r0, [sp, #0x1c]
- str r1, [r5, #0x1c]
- str r0, [r5, #0x20]
- str r1, [r5, #0x24]
- ldr r0, [sp, #0x40]
- str r7, [r5, #0x30]
- str r0, [r5, #0x34]
- ldr r0, [sp, #0x44]
- str r0, [r5, #0x2c]
- ldrb r0, [r4, #0xa]
- str r0, [r5, #0x28]
- add r0, r5, #0x0
- bl FUN_02010E48
- ldr r0, _02010DE0 ; =FUN_0200F5F8
- ldr r2, _02010DE4 ; =0x000003FF
- add r1, r5, #0x0
- bl FUN_0200CA98
- add r0, r5, #0x0
- mov r1, #0x0
- bl FUN_0200F5D8
- add r0, r5, #0x0
- mov r1, #0x1
- bl FUN_0200F5D8
- str r6, [sp, #0x0]
- mov r3, #0x0
- str r3, [sp, #0x4]
- str r3, [sp, #0x8]
- mov r0, #0xff
- str r0, [sp, #0xc]
- mov r0, #0xc0
- str r0, [sp, #0x10]
- ldr r0, [r5, #0x28]
- str r0, [sp, #0x14]
- ldrb r1, [r4, #0x8]
- ldrb r2, [r4, #0x9]
- add r0, r7, #0x0
- bl FUN_0200F67C
- str r6, [sp, #0x0]
- mov r0, #0x0
- str r0, [sp, #0x4]
- str r0, [sp, #0x8]
- mov r0, #0xff
- str r0, [sp, #0xc]
- mov r0, #0xc0
- str r0, [sp, #0x10]
- ldr r0, [r5, #0x28]
- mov r3, #0x1
- str r0, [sp, #0x14]
- ldrb r1, [r4, #0x8]
- ldrb r2, [r4, #0x9]
- add r0, r7, #0x0
- bl FUN_0200F67C
- ldr r3, [r5, #0x28]
- add r0, r7, #0x0
- mov r1, #0x3
- add r2, r6, #0x0
- bl FUN_0200F6E4
- ldr r0, [sp, #0x44]
- ldr r2, _02010DE8 ; =FUN_0200F330
- str r0, [sp, #0x0]
- ldr r0, [r5, #0x34]
- add r1, r5, #0x0
- add r3, r6, #0x0
- bl FUN_0200E6CC
- add sp, #0x20
- pop {r3-r7, pc}
- .balign 4
-_02010DE0: .word FUN_0200F5F8
-_02010DE4: .word 0x000003FF
-_02010DE8: .word FUN_0200F330
-
- thumb_func_start FUN_02010DEC
-FUN_02010DEC: ; 0x02010DEC
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x24]
- add r1, r0, #0x1
- str r1, [r4, #0x24]
- ldr r0, [r4, #0x20]
- cmp r1, r0
- blt _02010E36
- mov r0, #0x0
- str r0, [r4, #0x24]
- ldr r0, [r4, #0x1c]
- add r1, r0, #0x1
- ldr r0, [r4, #0x18]
- cmp r1, r0
- bgt _02010E28
- str r1, [r4, #0x1c]
- add r0, r4, #0x0
- ldr r2, [r4, #0x18]
- add r0, #0xc
- bl FUN_02010F14
- add r0, r4, #0x0
- bl FUN_02010E48
- ldr r0, _02010E3C ; =FUN_0200F5F8
- ldr r2, _02010E40 ; =0x000003FF
- add r1, r4, #0x0
- bl FUN_0200CA98
- b _02010E36
-_02010E28:
- ldr r0, [r4, #0x34]
- ldr r1, [r4, #0x8]
- ldr r2, [r4, #0x2c]
- bl FUN_0200E6F8
- mov r0, #0x1
- pop {r4, pc}
-_02010E36:
- mov r0, #0x0
- pop {r4, pc}
- nop
-_02010E3C: .word FUN_0200F5F8
-_02010E40: .word 0x000003FF
-
- thumb_func_start FUN_02010E44
-FUN_02010E44: ; 0x02010E44
- bx lr
- .balign 4
-
- thumb_func_start FUN_02010E48
-FUN_02010E48: ; 0x02010E48
- push {r4-r7, lr}
- sub sp, #0x1c
- add r4, r0, #0x0
- ldr r1, [r4, #0xc]
- lsl r1, r1, #0x10
- lsr r1, r1, #0x10
- str r1, [sp, #0x8]
- mov r1, #0x0
- bl FUN_0200F5D8
- str r0, [sp, #0x10]
- add r0, r4, #0x0
- mov r1, #0x1
- bl FUN_0200F5D8
- str r0, [sp, #0xc]
- add r5, r0, #0x0
- ldr r1, _02010F10 ; =0x00003FFF
- ldr r0, [sp, #0x8]
- ldr r6, [sp, #0x10]
- sub r0, r1, r0
- mov r7, #0x0
- str r0, [sp, #0x4]
-_02010E76:
- mov r0, #0x60
- sub r0, r0, r7
- str r0, [sp, #0x0]
- ldr r0, [sp, #0x8]
- ldr r1, [sp, #0x0]
- bl FUN_0200F0D0
- add r4, r0, #0x0
- ldr r0, [sp, #0x4]
- ldr r1, [sp, #0x0]
- bl FUN_0200F0D0
- cmp r4, #0x7f
- ble _02010E94
- mov r4, #0x7f
-_02010E94:
- cmp r0, #0x7f
- ble _02010E9A
- mov r0, #0x7f
-_02010E9A:
- mov r1, #0x80
- sub r1, r1, r0
- lsl r1, r1, #0x10
- mov r2, #0x3
- asr r1, r1, #0x10
- lsl r2, r2, #0x8
- str r1, [sp, #0x14]
- strh r1, [r6, r2]
- mov r1, #0x80
- sub r1, r1, r4
- lsl r1, r1, #0x10
- asr r2, r1, #0x10
- mov r1, #0x12
- lsl r1, r1, #0x6
- strh r2, [r6, r1]
- mov r1, #0xbf
- sub r1, r1, r7
- mov r12, r2
- lsl r1, r1, #0x1
- ldr r2, [sp, #0x10]
- add r0, #0x80
- add r3, r2, r1
- str r1, [sp, #0x18]
- mov r2, #0x3
- ldr r1, [sp, #0x14]
- lsl r2, r2, #0x8
- strh r1, [r3, r2]
- mov r1, #0x12
- mov r2, r12
- lsl r1, r1, #0x6
- strh r2, [r3, r1]
- add r4, #0x80
- lsl r1, r4, #0x10
- asr r2, r1, #0x10
- mov r1, #0x3
- lsl r1, r1, #0x8
- lsl r0, r0, #0x10
- strh r2, [r5, r1]
- asr r1, r0, #0x10
- mov r0, #0x12
- lsl r0, r0, #0x6
- strh r1, [r5, r0]
- ldr r3, [sp, #0xc]
- ldr r0, [sp, #0x18]
- add r7, r7, #0x1
- add r0, r3, r0
- mov r3, #0x3
- lsl r3, r3, #0x8
- strh r2, [r0, r3]
- mov r2, #0x12
- lsl r2, r2, #0x6
- strh r1, [r0, r2]
- add r6, r6, #0x2
- add r5, r5, #0x2
- cmp r7, #0x60
- blt _02010E76
- add sp, #0x1c
- pop {r4-r7, pc}
- nop
-_02010F10: .word 0x00003FFF
-
- thumb_func_start FUN_02010F14
-FUN_02010F14: ; 0x02010F14
- push {r4, lr}
- add r4, r0, #0x0
- ldr r3, [r4, #0x8]
- add r0, r3, #0x0
- mul r0, r1
- add r1, r2, #0x0
- blx _s32_div_f
- ldr r1, [r4, #0x4]
- add r0, r0, r1
- str r0, [r4, #0x0]
- pop {r4, pc}
-
- thumb_func_start FUN_02010F2C
-FUN_02010F2C: ; 0x02010F2C
- push {r3-r5, lr}
- sub sp, #0x10
- add r5, r0, #0x0
- add r4, r1, #0x0
- mov r1, #0xcd
- ldr r0, [r5, #0x20]
- lsl r1, r1, #0x2
- bl FUN_02016998
- mov r2, #0xcd
- str r0, [r5, #0x14]
- mov r1, #0x0
- lsl r2, r2, #0x2
- blx Call_FillMemWithValue
- ldr r0, [r5, #0x10]
- add r1, r4, #0x0
- str r0, [sp, #0x0]
- ldr r0, [r5, #0x18]
- str r0, [sp, #0x4]
- ldr r0, [r5, #0x1c]
- str r0, [sp, #0x8]
- ldr r0, [r5, #0x20]
- str r0, [sp, #0xc]
- ldr r0, [r5, #0x14]
- ldr r2, [r5, #0x4]
- ldr r3, [r5, #0x8]
- bl FUN_02010FD0
- ldr r0, [r5, #0xc]
- add r0, r0, #0x1
- str r0, [r5, #0xc]
- add sp, #0x10
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02010F70
-FUN_02010F70: ; 0x02010F70
- push {r4-r6, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0xc]
- mov r6, #0x0
- ldr r4, [r5, #0x14]
- cmp r0, #0x1
- beq _02010F88
- cmp r0, #0x2
- beq _02010FAA
- cmp r0, #0x3
- beq _02010FC4
- b _02010FC8
-_02010F88:
- add r0, r4, #0x0
- bl FUN_020110BC
- cmp r0, #0x1
- bne _02010FCC
- mov r1, #0xc9
- lsl r1, r1, #0x2
- ldr r0, [r4, r1]
- add r1, #0x8
- ldr r1, [r4, r1]
- ldr r2, [r5, #0x10]
- bl FUN_0200F62C
- ldr r0, [r5, #0xc]
- add r0, r0, #0x1
- str r0, [r5, #0xc]
- b _02010FCC
-_02010FAA:
- add r0, r4, #0x0
- bl FUN_0201111C
- ldr r0, [r5, #0x14]
- bl FUN_02016A18
- add r0, r6, #0x0
- str r0, [r5, #0x14]
- ldr r0, [r5, #0xc]
- mov r6, #0x1
- add r0, r0, #0x1
- str r0, [r5, #0xc]
- b _02010FCC
-_02010FC4:
- mov r6, #0x1
- b _02010FCC
-_02010FC8:
- bl ErrorHandling
-_02010FCC:
- add r0, r6, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02010FD0
-FUN_02010FD0: ; 0x02010FD0
- push {r3-r7, lr}
- sub sp, #0x20
- ldr r7, [sp, #0x38]
- str r3, [sp, #0x1c]
- mov r3, #0x0
- add r4, r1, #0x0
- str r2, [sp, #0x18]
- str r3, [sp, #0x0]
- add r1, r7, #0x0
- mov r2, #0x1
- add r5, r0, #0x0
- ldr r6, [sp, #0x3c]
- bl FUN_0200F6FC
- ldrb r0, [r4, #0x5]
- cmp r0, #0x0
- bne _0201100A
- add r0, r5, #0x0
- mov r1, #0x1
- mov r2, #0xc0
- blx Call_FillMemWithValue
- add r0, r5, #0x0
- add r0, #0xc0
- mov r1, #0x1
- mov r2, #0xc0
- blx Call_FillMemWithValue
- b _02011020
-_0201100A:
- add r0, r5, #0x0
- mov r1, #0x0
- mov r2, #0xc0
- blx Call_FillMemWithValue
- add r0, r5, #0x0
- add r0, #0xc0
- mov r1, #0x0
- mov r2, #0xc0
- blx Call_FillMemWithValue
-_02011020:
- mov r1, #0xc3
- lsl r1, r1, #0x2
- ldr r0, [r4, #0x0]
- add r3, r1, #0x0
- str r0, [r5, r1]
- ldrb r2, [r4, #0x4]
- add r0, r1, #0x4
- add r3, #0x8
- str r2, [r5, r0]
- add r0, r1, #0x0
- ldrb r2, [r4, #0x5]
- add r0, #0x18
- str r2, [r5, r0]
- add r0, r1, #0x0
- ldr r2, [sp, #0x44]
- add r0, #0x1c
- str r2, [r5, r0]
- ldr r0, [sp, #0x18]
- str r0, [r5, r3]
- add r3, r1, #0x0
- add r3, #0xc
- mov r0, #0x0
- str r0, [r5, r3]
- add r3, r1, #0x0
- ldr r0, [sp, #0x1c]
- add r3, #0x10
- str r0, [r5, r3]
- add r3, r1, #0x0
- add r3, #0x14
- mov r0, #0x0
- str r0, [r5, r3]
- add r0, r1, #0x0
- add r0, #0x20
- str r6, [r5, r0]
- ldr r0, [sp, #0x40]
- add r1, #0x24
- str r0, [r5, r1]
- add r1, r5, #0x0
- bl FUN_0200F758
- ldrb r0, [r4, #0x5]
- cmp r0, #0x1
- str r7, [sp, #0x0]
- bne _02011090
- mov r3, #0x0
- str r3, [sp, #0x4]
- str r3, [sp, #0x8]
- str r3, [sp, #0xc]
- str r3, [sp, #0x10]
- str r0, [sp, #0x14]
- add r0, r6, #0x0
- mov r1, #0x20
- mov r2, #0x3f
- bl FUN_0200F67C
- b _020110A6
-_02011090:
- mov r3, #0x0
- str r3, [sp, #0x4]
- str r3, [sp, #0x8]
- str r3, [sp, #0xc]
- str r3, [sp, #0x10]
- str r0, [sp, #0x14]
- add r0, r6, #0x0
- mov r1, #0x3f
- mov r2, #0x20
- bl FUN_0200F67C
-_020110A6:
- mov r3, #0xc9
- lsl r3, r3, #0x2
- ldr r3, [r5, r3]
- add r0, r6, #0x0
- mov r1, #0x1
- add r2, r7, #0x0
- bl FUN_0200F6E4
- add sp, #0x20
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_020110BC
-FUN_020110BC: ; 0x020110BC
- push {r4, lr}
- mov r2, #0x32
- add r4, r0, #0x0
- lsl r2, r2, #0x4
- ldr r1, [r4, r2]
- add r1, r1, #0x1
- str r1, [r4, r2]
- sub r1, r2, #0x4
- ldr r3, [r4, r2]
- ldr r1, [r4, r1]
- cmp r3, r1
- blt _02011116
- mov r1, #0x0
- str r1, [r4, r2]
- add r1, r2, #0x0
- sub r1, #0x8
- ldr r1, [r4, r1]
- add r3, r1, #0x1
- add r1, r2, #0x0
- sub r1, #0xc
- ldr r1, [r4, r1]
- cmp r3, r1
- bgt _02011102
- add r1, r2, #0x0
- sub r1, #0x8
- ldr r1, [r4, r1]
- sub r2, #0x8
- add r1, r1, #0x1
- str r1, [r4, r2]
- bl FUN_02011120
- add r0, r4, #0x0
- bl FUN_0200F740
- b _02011116
-_02011102:
- add r0, r2, #0x0
- add r0, #0x10
- add r2, #0x8
- ldr r0, [r4, r0]
- ldr r2, [r4, r2]
- add r1, r4, #0x0
- bl FUN_0200F770
- mov r0, #0x1
- pop {r4, pc}
-_02011116:
- mov r0, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0201111C
-FUN_0201111C: ; 0x0201111C
- bx lr
- .balign 4
-
- thumb_func_start FUN_02011120
-FUN_02011120: ; 0x02011120
- push {r3-r7, lr}
- add r5, r0, #0x0
- mov r0, #0x31
- lsl r0, r0, #0x4
- ldr r0, [r5, r0]
- mov r6, #0x0
- cmp r0, #0x0
- ble _0201115A
- mov r7, #0x31
- add r4, r6, #0x0
- lsl r7, r7, #0x4
-_02011136:
- mov r0, #0xc3
- lsl r0, r0, #0x2
- mov r2, #0xc6
- mov r3, #0xc5
- ldr r0, [r5, r0]
- lsl r2, r2, #0x2
- lsl r3, r3, #0x2
- ldr r2, [r5, r2]
- ldr r3, [r5, r3]
- add r0, r0, r4
- add r1, r5, #0x0
- bl FUN_0201115C
- ldr r0, [r5, r7]
- add r6, r6, #0x1
- add r4, r4, #0x3
- cmp r6, r0
- blt _02011136
-_0201115A:
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0201115C
-FUN_0201115C: ; 0x0201115C
- push {r3-r7, lr}
- add r7, r0, #0x0
- ldrb r6, [r7, #0x0]
- ldrb r4, [r7, #0x1]
- add r5, r1, #0x0
- add r1, r3, #0x0
- sub r0, r4, r6
- mul r0, r2
- blx _s32_div_f
- add r0, r0, r6
- cmp r6, r4
- bhi _0201117C
- add r1, r6, #0x0
- ldrb r6, [r7, #0x2]
- b _0201118C
-_0201117C:
- ldrb r2, [r7, #0x2]
- add r1, r4, #0x0
- add r4, r6, #0x0
- cmp r2, #0x0
- bne _0201118A
- mov r6, #0x1
- b _0201118C
-_0201118A:
- mov r6, #0x0
-_0201118C:
- cmp r1, r4
- bge _020111AA
- mov r2, #0x0
- mov r3, #0x1
-_02011194:
- cmp r1, r0
- bne _020111A2
- cmp r6, #0x0
- bne _020111A0
- add r6, r3, #0x0
- b _020111A2
-_020111A0:
- add r6, r2, #0x0
-_020111A2:
- strb r6, [r5, r1]
- add r1, r1, #0x1
- cmp r1, r4
- blt _02011194
-_020111AA:
- pop {r3-r7, pc}
-
- thumb_func_start FUN_020111AC
-FUN_020111AC: ; 0x020111AC
- push {r3-r5, lr}
- sub sp, #0x10
- add r5, r0, #0x0
- add r4, r1, #0x0
- mov r1, #0xe2
- ldr r0, [r5, #0x20]
- lsl r1, r1, #0x2
- bl FUN_02016998
- mov r2, #0xe2
- mov r1, #0x0
- lsl r2, r2, #0x2
- str r0, [r5, #0x14]
- blx Call_FillMemWithValue
- add r1, r4, #0x0
- add r1, #0x23
- ldrb r1, [r1, #0x0]
- ldr r0, [r5, #0x14]
- cmp r1, #0x0
- ldr r1, [r5, #0x10]
- bne _020111F2
- str r1, [sp, #0x0]
- ldr r1, [r5, #0x18]
- str r1, [sp, #0x4]
- ldr r1, [r5, #0x1c]
- str r1, [sp, #0x8]
- ldr r1, [r5, #0x20]
- str r1, [sp, #0xc]
- ldr r2, [r5, #0x4]
- ldr r3, [r5, #0x8]
- add r1, r4, #0x0
- bl FUN_0201127C
- b _0201120A
-_020111F2:
- str r1, [sp, #0x0]
- ldr r1, [r5, #0x18]
- str r1, [sp, #0x4]
- ldr r1, [r5, #0x1c]
- str r1, [sp, #0x8]
- ldr r1, [r5, #0x20]
- str r1, [sp, #0xc]
- ldr r2, [r5, #0x4]
- ldr r3, [r5, #0x8]
- add r1, r4, #0x0
- bl FUN_0201137C
-_0201120A:
- ldr r0, [r5, #0xc]
- add r0, r0, #0x1
- str r0, [r5, #0xc]
- add sp, #0x10
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02011214
-FUN_02011214: ; 0x02011214
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r1, [r5, #0xc]
- mov r4, #0x0
- ldr r0, [r5, #0x14]
- cmp r1, #0x1
- beq _0201122C
- cmp r1, #0x2
- beq _02011258
- cmp r1, #0x3
- beq _0201126A
- b _0201126E
-_0201122C:
- ldr r1, _02011278 ; =0x00000386
- ldrb r1, [r0, r1]
- cmp r1, #0x0
- bne _0201123C
- add r1, r5, #0x0
- bl FUN_02011308
- b _02011242
-_0201123C:
- add r1, r5, #0x0
- bl FUN_020113EC
-_02011242:
- cmp r0, #0x1
- bne _02011272
- ldr r0, [r5, #0x28]
- ldr r1, [r5, #0x18]
- ldr r2, [r5, #0x10]
- bl FUN_0200F62C
- ldr r0, [r5, #0xc]
- add r0, r0, #0x1
- str r0, [r5, #0xc]
- b _02011272
-_02011258:
- bl FUN_02016A18
- add r0, r4, #0x0
- str r0, [r5, #0x14]
- ldr r0, [r5, #0xc]
- mov r4, #0x1
- add r0, r0, #0x1
- str r0, [r5, #0xc]
- b _02011272
-_0201126A:
- mov r4, #0x1
- b _02011272
-_0201126E:
- bl ErrorHandling
-_02011272:
- add r0, r4, #0x0
- pop {r3-r5, pc}
- nop
-_02011278: .word 0x00000386
-
- thumb_func_start FUN_0201127C
-FUN_0201127C: ; 0x0201127C
- push {r3-r7, lr}
- sub sp, #0x8
- add r4, r1, #0x0
- add r6, r2, #0x0
- add r5, r0, #0x0
- lsl r0, r6, #0xc
- ldr r2, [r4, #0x2c]
- add r7, r3, #0x0
- asr r1, r0, #0x1f
- asr r3, r2, #0x1f
- blx _ll_mul
- add r2, r0, #0x0
- mov r0, #0x2
- mov r3, #0x0
- lsl r0, r0, #0xa
- add r0, r2, r0
- adc r1, r3
- lsl r1, r1, #0x14
- lsr r0, r0, #0xc
- orr r0, r1
- asr r2, r0, #0xc
- mov r0, #0xe1
- sub r1, r6, r2
- lsl r0, r0, #0x2
- strb r1, [r5, r0]
- sub r1, r0, #0x4
- str r4, [r5, r1]
- add r1, r4, #0x0
- add r1, #0x23
- ldrb r1, [r1, #0x0]
- add r0, r0, #0x2
- add r3, r7, #0x0
- strb r1, [r5, r0]
- ldr r0, [sp, #0x20]
- add r1, r4, #0x0
- str r0, [sp, #0x0]
- ldr r0, [sp, #0x24]
- str r0, [sp, #0x4]
- add r0, r5, #0x0
- bl FUN_0200FE20
- add r0, r4, #0x0
- add r0, #0x20
- ldrb r0, [r0, #0x0]
- cmp r0, #0x0
- bne _020112EA
- add r4, #0x23
- ldrb r3, [r4, #0x0]
- ldr r0, [sp, #0x24]
- ldr r2, [sp, #0x20]
- mov r1, #0x1
- bl FUN_0200F6E4
- b _020112F8
-_020112EA:
- add r4, #0x23
- ldrb r3, [r4, #0x0]
- ldr r0, [sp, #0x24]
- ldr r2, [sp, #0x20]
- mov r1, #0x2
- bl FUN_0200F6E4
-_020112F8:
- ldr r0, _02011304 ; =0x00000385
- mov r1, #0x0
- strb r1, [r5, r0]
- add sp, #0x8
- pop {r3-r7, pc}
- nop
-_02011304: .word 0x00000385
-
- thumb_func_start FUN_02011308
-FUN_02011308: ; 0x02011308
- push {r4-r6, lr}
- sub sp, #0x10
- add r4, r1, #0x0
- ldr r1, _02011378 ; =0x00000385
- add r5, r0, #0x0
- ldrb r1, [r5, r1]
- mov r6, #0x0
- cmp r1, #0x0
- beq _02011324
- cmp r1, #0x1
- beq _0201135A
- cmp r1, #0x2
- beq _02011370
- b _02011372
-_02011324:
- bl FUN_0200FE90
- cmp r0, #0x1
- bne _02011372
- ldr r2, _02011378 ; =0x00000385
- ldrb r0, [r5, r2]
- sub r1, r2, #0x5
- add r0, r0, #0x1
- strb r0, [r5, r2]
- ldr r0, [r4, #0x10]
- sub r2, r2, #0x1
- str r0, [sp, #0x0]
- ldr r0, [r4, #0x18]
- str r0, [sp, #0x4]
- ldr r0, [r4, #0x1c]
- str r0, [sp, #0x8]
- ldr r0, [r4, #0x20]
- str r0, [sp, #0xc]
- ldr r1, [r5, r1]
- add r0, r5, #0x0
- ldrb r2, [r5, r2]
- ldr r3, [r4, #0x8]
- add r0, #0x4c
- add r1, #0x24
- bl FUN_02010FD0
- b _02011372
-_0201135A:
- add r0, #0x4c
- bl FUN_020110BC
- cmp r0, #0x1
- bne _02011372
- ldr r0, _02011378 ; =0x00000385
- mov r6, #0x1
- ldrb r1, [r5, r0]
- add r1, r1, #0x1
- strb r1, [r5, r0]
- b _02011372
-_02011370:
- mov r6, #0x1
-_02011372:
- add r0, r6, #0x0
- add sp, #0x10
- pop {r4-r6, pc}
- .balign 4
-_02011378: .word 0x00000385
-
- thumb_func_start FUN_0201137C
-FUN_0201137C: ; 0x0201137C
- push {r3-r7, lr}
- sub sp, #0x10
- add r4, r1, #0x0
- add r6, r2, #0x0
- add r5, r0, #0x0
- lsl r0, r6, #0xc
- ldr r2, [r4, #0x2c]
- add r7, r3, #0x0
- asr r1, r0, #0x1f
- asr r3, r2, #0x1f
- blx _ll_mul
- add r2, r0, #0x0
- mov r0, #0x2
- mov r3, #0x0
- lsl r0, r0, #0xa
- add r0, r2, r0
- adc r1, r3
- lsl r1, r1, #0x14
- lsr r0, r0, #0xc
- orr r0, r1
- mov r1, #0xe1
- asr r0, r0, #0xc
- lsl r1, r1, #0x2
- strb r0, [r5, r1]
- ldrb r0, [r5, r1]
- sub r2, r6, r0
- sub r0, r1, #0x4
- str r4, [r5, r0]
- add r4, #0x23
- add r0, r1, #0x2
- ldrb r3, [r4, #0x0]
- sub r1, r1, #0x4
- strb r3, [r5, r0]
- ldr r0, [sp, #0x28]
- add r3, r7, #0x0
- str r0, [sp, #0x0]
- ldr r0, [sp, #0x2c]
- str r0, [sp, #0x4]
- ldr r0, [sp, #0x30]
- str r0, [sp, #0x8]
- ldr r0, [sp, #0x34]
- str r0, [sp, #0xc]
- ldr r1, [r5, r1]
- add r0, r5, #0x0
- add r0, #0x4c
- add r1, #0x24
- bl FUN_02010FD0
- ldr r0, _020113E8 ; =0x00000385
- mov r1, #0x0
- strb r1, [r5, r0]
- add sp, #0x10
- pop {r3-r7, pc}
- .balign 4
-_020113E8: .word 0x00000385
-
- thumb_func_start FUN_020113EC
-FUN_020113EC: ; 0x020113EC
- push {r4-r6, lr}
- sub sp, #0x8
- add r4, r1, #0x0
- ldr r1, _0201147C ; =0x00000385
- add r5, r0, #0x0
- ldrb r1, [r5, r1]
- mov r6, #0x0
- cmp r1, #0x0
- beq _02011408
- cmp r1, #0x1
- beq _02011460
- cmp r1, #0x2
- beq _02011474
- b _02011476
-_02011408:
- add r0, #0x4c
- bl FUN_020110BC
- cmp r0, #0x1
- bne _02011476
- ldr r2, _0201147C ; =0x00000385
- ldrb r0, [r5, r2]
- sub r1, r2, #0x5
- add r0, r0, #0x1
- strb r0, [r5, r2]
- ldr r0, [r4, #0x10]
- sub r2, r2, #0x1
- str r0, [sp, #0x0]
- ldr r0, [r4, #0x18]
- str r0, [sp, #0x4]
- ldrb r2, [r5, r2]
- ldr r1, [r5, r1]
- ldr r3, [r4, #0x8]
- add r0, r5, #0x0
- bl FUN_0200FE20
- mov r0, #0xe
- lsl r0, r0, #0x6
- ldr r3, [r5, r0]
- add r0, r3, #0x0
- add r0, #0x20
- ldrb r0, [r0, #0x0]
- cmp r0, #0x0
- ldr r0, [r4, #0x18]
- bne _02011452
- add r3, #0x23
- ldrb r3, [r3, #0x0]
- ldr r2, [r4, #0x10]
- mov r1, #0x1
- bl FUN_0200F6E4
- b _02011476
-_02011452:
- add r3, #0x23
- ldrb r3, [r3, #0x0]
- ldr r2, [r4, #0x10]
- mov r1, #0x2
- bl FUN_0200F6E4
- b _02011476
-_02011460:
- bl FUN_0200FE90
- cmp r0, #0x1
- bne _02011476
- ldr r0, _0201147C ; =0x00000385
- mov r6, #0x1
- ldrb r1, [r5, r0]
- add r1, r1, #0x1
- strb r1, [r5, r0]
- b _02011476
-_02011474:
- mov r6, #0x1
-_02011476:
- add r0, r6, #0x0
- add sp, #0x8
- pop {r4-r6, pc}
- .balign 4
-_0201147C: .word 0x00000385
-
- thumb_func_start FUN_02011480
-FUN_02011480: ; 0x02011480
- cmp r1, #0x0
- ldr r1, _020114A4 ; =0xFFFF1FFF
- bne _02011496
- mov r3, #0x1
- lsl r3, r3, #0x1a
- ldr r2, [r3, #0x0]
- lsl r0, r0, #0xd
- and r1, r2
- orr r0, r1
- str r0, [r3, #0x0]
- bx lr
-_02011496:
- ldr r3, _020114A8 ; =0x04001000
- lsl r0, r0, #0xd
- ldr r2, [r3, #0x0]
- and r1, r2
- orr r0, r1
- str r0, [r3, #0x0]
- bx lr
- .balign 4
-_020114A4: .word 0xFFFF1FFF
-_020114A8: .word 0x04001000
-
- thumb_func_start FUN_020114AC
-FUN_020114AC: ; 0x020114AC
- push {r3-r4}
- cmp r2, #0x0
- bne _020114EE
- cmp r3, #0x0
- bne _020114D2
- ldr r2, _02011528 ; =0x04000048
- ldrh r3, [r2, #0x0]
- mov r2, #0x3f
- bic r3, r2
- add r2, r3, #0x0
- orr r2, r0
- cmp r1, #0x0
- beq _020114CA
- mov r0, #0x20
- orr r2, r0
-_020114CA:
- ldr r0, _02011528 ; =0x04000048
- strh r2, [r0, #0x0]
- pop {r3-r4}
- bx lr
-_020114D2:
- ldr r2, _0201152C ; =0x04001048
- ldrh r3, [r2, #0x0]
- mov r2, #0x3f
- bic r3, r2
- add r2, r3, #0x0
- orr r2, r0
- cmp r1, #0x0
- beq _020114E6
- mov r0, #0x20
- orr r2, r0
-_020114E6:
- ldr r0, _0201152C ; =0x04001048
- strh r2, [r0, #0x0]
- pop {r3-r4}
- bx lr
-_020114EE:
- cmp r3, #0x0
- ldr r2, _02011530 ; =0xFFFFC0FF
- bne _0201150E
- ldr r4, _02011528 ; =0x04000048
- lsl r0, r0, #0x8
- ldrh r3, [r4, #0x0]
- and r2, r3
- orr r2, r0
- cmp r1, #0x0
- beq _02011506
- lsr r0, r4, #0xd
- orr r2, r0
-_02011506:
- ldr r0, _02011528 ; =0x04000048
- strh r2, [r0, #0x0]
- pop {r3-r4}
- bx lr
-_0201150E:
- ldr r4, _0201152C ; =0x04001048
- lsl r0, r0, #0x8
- ldrh r3, [r4, #0x0]
- and r2, r3
- orr r2, r0
- cmp r1, #0x0
- beq _02011520
- lsr r0, r4, #0xd
- orr r2, r0
-_02011520:
- ldr r0, _0201152C ; =0x04001048
- strh r2, [r0, #0x0]
- pop {r3-r4}
- bx lr
- .balign 4
-_02011528: .word 0x04000048
-_0201152C: .word 0x04001048
-_02011530: .word 0xFFFFC0FF
-
- thumb_func_start FUN_02011534
-FUN_02011534: ; 0x02011534
- cmp r2, #0x0
- bne _02011552
- ldr r2, _0201156C ; =0x0400004A
- ldrh r3, [r2, #0x0]
- mov r2, #0x3f
- bic r3, r2
- add r2, r3, #0x0
- orr r2, r0
- cmp r1, #0x0
- beq _0201154C
- mov r0, #0x20
- orr r2, r0
-_0201154C:
- ldr r0, _0201156C ; =0x0400004A
- strh r2, [r0, #0x0]
- bx lr
-_02011552:
- ldr r2, _02011570 ; =0x0400104A
- ldrh r3, [r2, #0x0]
- mov r2, #0x3f
- bic r3, r2
- add r2, r3, #0x0
- orr r2, r0
- cmp r1, #0x0
- beq _02011566
- mov r0, #0x20
- orr r2, r0
-_02011566:
- ldr r0, _02011570 ; =0x0400104A
- strh r2, [r0, #0x0]
- bx lr
- .balign 4
-_0201156C: .word 0x0400004A
-_02011570: .word 0x0400104A
-
- thumb_func_start FUN_02011574
-FUN_02011574: ; 0x02011574
- push {r4-r5}
- add r4, r2, #0x0
- add r2, r3, #0x0
- ldr r3, [sp, #0x8]
- cmp r3, #0x0
- bne _020115D2
- ldr r3, [sp, #0xc]
- cmp r3, #0x0
- bne _020115AC
- lsl r0, r0, #0x8
- mov r3, #0xff
- add r5, r0, #0x0
- lsl r3, r3, #0x8
- lsl r0, r4, #0x18
- and r5, r3
- lsl r1, r1, #0x8
- and r3, r1
- lsl r1, r2, #0x18
- lsr r1, r1, #0x18
- lsr r0, r0, #0x18
- add r4, r5, #0x0
- orr r4, r0
- ldr r0, _02011624 ; =0x04000040
- orr r1, r3
- strh r4, [r0, #0x0]
- strh r1, [r0, #0x4]
- pop {r4-r5}
- bx lr
-_020115AC:
- lsl r0, r0, #0x8
- mov r3, #0xff
- add r5, r0, #0x0
- lsl r3, r3, #0x8
- lsl r0, r4, #0x18
- and r5, r3
- lsl r1, r1, #0x8
- and r3, r1
- lsl r1, r2, #0x18
- lsr r1, r1, #0x18
- lsr r0, r0, #0x18
- add r4, r5, #0x0
- orr r4, r0
- ldr r0, _02011628 ; =0x04001040
- orr r1, r3
- strh r4, [r0, #0x0]
- strh r1, [r0, #0x4]
- pop {r4-r5}
- bx lr
-_020115D2:
- ldr r3, [sp, #0xc]
- cmp r3, #0x0
- bne _020115FE
- lsl r0, r0, #0x8
- mov r3, #0xff
- add r5, r0, #0x0
- lsl r3, r3, #0x8
- lsl r0, r4, #0x18
- and r5, r3
- lsl r1, r1, #0x8
- and r3, r1
- lsl r1, r2, #0x18
- lsr r1, r1, #0x18
- lsr r0, r0, #0x18
- add r4, r5, #0x0
- orr r4, r0
- ldr r0, _0201162C ; =0x04000042
- orr r1, r3
- strh r4, [r0, #0x0]
- strh r1, [r0, #0x4]
- pop {r4-r5}
- bx lr
-_020115FE:
- lsl r0, r0, #0x8
- mov r3, #0xff
- add r5, r0, #0x0
- lsl r3, r3, #0x8
- lsl r0, r4, #0x18
- and r5, r3
- lsl r1, r1, #0x8
- and r3, r1
- lsl r1, r2, #0x18
- lsr r1, r1, #0x18
- lsr r0, r0, #0x18
- add r4, r5, #0x0
- orr r4, r0
- ldr r0, _02011630 ; =0x04001042
- orr r1, r3
- strh r4, [r0, #0x0]
- strh r1, [r0, #0x4]
- pop {r4-r5}
- bx lr
- .balign 4
-_02011624: .word 0x04000040
-_02011628: .word 0x04001040
-_0201162C: .word 0x04000042
-_02011630: .word 0x04001042
-
- thumb_func_start FUN_02011634
-FUN_02011634: ; 0x02011634
- push {r4, lr}
- lsl r3, r2, #0x3
- add r4, r0, r3
- str r1, [r0, r3]
- str r2, [r4, #0x4]
- ldr r0, _0201164C ; =FUN_020116CC
- add r1, r4, #0x0
- mov r2, #0x1
- bl FUN_0200CA98
- pop {r4, pc}
- nop
-_0201164C: .word FUN_020116CC
-
- thumb_func_start FUN_02011650
-FUN_02011650: ; 0x02011650
- push {r4-r6, lr}
- ldr r5, [sp, #0x10]
- add r0, #0x10
- lsl r4, r5, #0x5
- add r6, r0, r4
- lsl r0, r3, #0x4
- add r4, r6, r0
- str r1, [r6, r0]
- str r2, [r4, #0x4]
- str r3, [r4, #0x8]
- ldr r0, _02011674 ; =FUN_020116E0
- add r1, r4, #0x0
- mov r2, #0x1
- str r5, [r4, #0xc]
- bl FUN_0200CA98
- pop {r4-r6, pc}
- nop
-_02011674: .word FUN_020116E0
-
- thumb_func_start FUN_02011678
-FUN_02011678: ; 0x02011678
- push {r3-r5, lr}
- mov r4, #0xc
- add r0, #0x68
- mul r4, r3
- add r5, r0, r4
- str r1, [r0, r4]
- str r2, [r5, #0x4]
- ldr r0, _02011694 ; =FUN_020116FC
- add r1, r5, #0x0
- mov r2, #0x1
- str r3, [r5, #0x8]
- bl FUN_0200CA98
- pop {r3-r5, pc}
- .balign 4
-_02011694: .word FUN_020116FC
-
- thumb_func_start FUN_02011698
-FUN_02011698: ; 0x02011698
- push {r3-r7, lr}
- ldr r5, [sp, #0x20]
- add r7, r1, #0x0
- add r0, #0x80
- lsl r1, r5, #0x5
- add r6, r0, r1
- add r4, r2, #0x0
- ldr r0, [sp, #0x1c]
- add r2, r3, #0x0
- lsl r3, r0, #0x4
- add r1, r6, r3
- strh r7, [r6, r3]
- strh r4, [r1, #0x2]
- strh r2, [r1, #0x4]
- ldr r2, [sp, #0x18]
- strh r2, [r1, #0x6]
- str r0, [r1, #0x8]
- ldr r0, _020116C8 ; =FUN_02011714
- mov r2, #0x1
- str r5, [r1, #0xc]
- bl FUN_0200CA98
- pop {r3-r7, pc}
- nop
-_020116C8: .word FUN_02011714
-
- thumb_func_start FUN_020116CC
-FUN_020116CC: ; 0x020116CC
- push {r4, lr}
- add r4, r0, #0x0
- ldmia r1!, {r0-r1}
- bl FUN_02011480
- add r0, r4, #0x0
- bl FUN_0200CAB4
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_020116E0
-FUN_020116E0: ; 0x020116E0
- push {r4, lr}
- add r3, r1, #0x0
- add r4, r0, #0x0
- ldr r0, [r3, #0x0]
- ldr r1, [r3, #0x4]
- ldr r2, [r3, #0x8]
- ldr r3, [r3, #0xc]
- bl FUN_020114AC
- add r0, r4, #0x0
- bl FUN_0200CAB4
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_020116FC
-FUN_020116FC: ; 0x020116FC
- push {r4, lr}
- add r2, r1, #0x0
- add r4, r0, #0x0
- ldr r0, [r2, #0x0]
- ldr r1, [r2, #0x4]
- ldr r2, [r2, #0x8]
- bl FUN_02011534
- add r0, r4, #0x0
- bl FUN_0200CAB4
- pop {r4, pc}
-
- thumb_func_start FUN_02011714
-FUN_02011714: ; 0x02011714
- push {r3-r5, lr}
- sub sp, #0x8
- add r3, r1, #0x0
- add r4, r0, #0x0
- ldr r0, [r3, #0x8]
- mov r1, #0x2
- str r0, [sp, #0x0]
- ldr r0, [r3, #0xc]
- mov r2, #0x4
- str r0, [sp, #0x4]
- mov r0, #0x0
- mov r5, #0x6
- ldrsh r0, [r3, r0]
- ldrsh r1, [r3, r1]
- ldrsh r2, [r3, r2]
- ldrsh r3, [r3, r5]
- bl FUN_02011574
- add r0, r4, #0x0
- bl FUN_0200CAB4
- add sp, #0x8
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02011744
-FUN_02011744: ; 0x02011744
- push {r4-r7, lr}
- sub sp, #0xc
- add r7, r1, #0x0
- str r0, [sp, #0x4]
- add r0, r7, #0x0
- mov r1, #0x68
- bl FUN_02016998
- str r0, [sp, #0x8]
- cmp r0, #0x0
- bne _0201175E
- bl ErrorHandling
-_0201175E:
- ldr r4, [sp, #0x8]
- ldr r5, [sp, #0x8]
- mov r6, #0x0
- add r4, #0x30
-_02011766:
- mov r0, #0x23
- add r1, r6, #0x0
- mov r2, #0x0
- add r3, r4, #0x0
- str r7, [sp, #0x0]
- bl FUN_02006C30
- str r0, [r5, #0x0]
- cmp r0, #0x0
- bne _0201177E
- bl ErrorHandling
-_0201177E:
- add r6, r6, #0x1
- add r4, r4, #0x4
- add r5, r5, #0x4
- cmp r6, #0xc
- blt _02011766
- ldr r0, [sp, #0x4]
- mov r1, #0x14
- add r4, r0, #0x0
- mul r4, r1
- add r0, r7, #0x0
- add r1, r4, #0x0
- bl FUN_02016998
- ldr r1, [sp, #0x8]
- cmp r0, #0x0
- str r0, [r1, #0x60]
- bne _020117A4
- bl ErrorHandling
-_020117A4:
- ldr r1, [sp, #0x4]
- ldr r0, [sp, #0x8]
- add r2, r4, #0x0
- str r1, [r0, #0x64]
- ldr r0, [r0, #0x60]
- mov r1, #0x0
- blx Call_FillMemWithValue
- ldr r0, [sp, #0x8]
- add sp, #0xc
- pop {r4-r7, pc}
- .balign 4
-
- thumb_func_start FUN_020117BC
-FUN_020117BC: ; 0x020117BC
- push {r4-r6, lr}
- add r6, r0, #0x0
- bne _020117C6
- bl ErrorHandling
-_020117C6:
- mov r4, #0x0
- add r5, r6, #0x0
-_020117CA:
- ldr r0, [r5, #0x0]
- bl FUN_02016A18
- add r4, r4, #0x1
- add r5, r5, #0x4
- cmp r4, #0xc
- blt _020117CA
- ldr r0, [r6, #0x60]
- bl FUN_02016A18
- add r0, r6, #0x0
- bl FUN_02016A18
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_020117E8
-FUN_020117E8: ; 0x020117E8
- push {r4-r7, lr}
- sub sp, #0x1c
- add r5, r0, #0x0
- bne _020117F4
- bl ErrorHandling
-_020117F4:
- ldr r0, [r5, #0x0]
- bl FUN_02011BA0
- add r4, r0, #0x0
- bne _02011802
- bl ErrorHandling
-_02011802:
- ldr r0, [r5, #0x10]
- add r3, sp, #0x8
- str r0, [r4, #0x8]
- ldr r0, [r5, #0x18]
- str r0, [r4, #0xc]
- ldr r0, [r5, #0x1c]
- str r0, [r4, #0x10]
- str r3, [sp, #0x14]
- str r3, [sp, #0x18]
- ldr r1, [r5, #0x4]
- ldr r2, [r5, #0x2c]
- ldrb r0, [r1, #0x7]
- ldrb r1, [r1, #0x8]
- bl FUN_02011CA4
- add r6, r0, #0x0
- mov r1, #0x24
- ldr r0, [r5, #0x2c]
- mul r1, r6
- bl FUN_020169D8
- add r7, r0, #0x0
- mov r1, #0xc
- ldr r0, [r5, #0x2c]
- mul r1, r6
- bl FUN_02016998
- str r0, [r4, #0x0]
- str r6, [r4, #0x4]
- ldr r0, [r5, #0x28]
- add r1, sp, #0x8
- str r0, [sp, #0x0]
- ldr r0, [r5, #0x2c]
- add r2, r7, #0x0
- str r0, [sp, #0x4]
- ldr r0, [r5, #0x4]
- ldr r3, [r5, #0x14]
- bl FUN_02011D2C
- add r0, r5, #0x0
- add r1, sp, #0x8
- add r2, r7, #0x0
- add r3, r4, #0x0
- bl FUN_02011EAC
- add r0, r7, #0x0
- bl FUN_02016A18
- add r0, sp, #0x8
- bl FUN_02011FDC
- add r0, r4, #0x0
- add sp, #0x1c
- pop {r4-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02011870
-FUN_02011870: ; 0x02011870
- push {r4, lr}
- add r4, r0, #0x0
- bne _0201187A
- bl ErrorHandling
-_0201187A:
- ldr r0, [r4, #0x0]
- cmp r0, #0x0
- bne _02011884
- bl ErrorHandling
-_02011884:
- add r0, r4, #0x0
- bl FUN_02011F00
- ldr r0, [r4, #0x0]
- bl FUN_02016A18
- add r0, r4, #0x0
- bl FUN_02011B90
- pop {r4, pc}
-
- thumb_func_start FUN_02011898
-FUN_02011898: ; 0x02011898
- push {r4-r5, lr}
- sub sp, #0x14
- add r3, sp, #0x0
- add r5, r0, #0x0
- str r3, [sp, #0xc]
- str r3, [sp, #0x10]
- add r4, r1, #0x0
- ldrb r0, [r5, #0x7]
- ldrb r1, [r5, #0x8]
- bl FUN_02011CA4
- add r0, sp, #0x0
- add r1, r4, #0x0
- bl FUN_02011E58
- add r4, r0, #0x0
- add r0, sp, #0x0
- bl FUN_02011FDC
- add r0, r4, #0x0
- add sp, #0x14
- pop {r4-r5, pc}
-
- thumb_func_start FUN_020118C4
-FUN_020118C4: ; 0x020118C4
- push {r3-r7, lr}
- sub sp, #0x10
- add r5, r0, #0x0
- add r7, r2, #0x0
- str r1, [sp, #0x0]
- cmp r5, #0x0
- bne _020118D6
- bl ErrorHandling
-_020118D6:
- ldr r0, [sp, #0x0]
- str r0, [r5, #0xc]
- str r7, [r5, #0x10]
- lsl r0, r0, #0xc
- str r0, [sp, #0x0]
- ldr r0, [r5, #0x8]
- lsl r7, r7, #0xc
- cmp r0, #0x0
- beq _020118F8
- bl FUN_0202011C
- ldr r2, [r0, #0x0]
- ldr r1, [sp, #0x0]
- ldr r0, [r0, #0x4]
- add r1, r1, r2
- str r1, [sp, #0x0]
- add r7, r7, r0
-_020118F8:
- mov r6, #0x0
- str r6, [sp, #0xc]
- ldr r0, [r5, #0x4]
- cmp r0, #0x0
- ble _02011932
- add r4, r6, #0x0
-_02011904:
- ldr r0, [r5, #0x0]
- add r0, r0, r4
- ldr r0, [r0, #0x4]
- lsl r1, r0, #0xc
- ldr r0, [sp, #0x0]
- add r0, r0, r1
- str r0, [sp, #0x4]
- ldr r0, [r5, #0x0]
- add r1, sp, #0x4
- add r0, r0, r4
- ldr r0, [r0, #0x8]
- lsl r0, r0, #0xc
- add r0, r7, r0
- str r0, [sp, #0x8]
- ldr r0, [r5, #0x0]
- ldr r0, [r0, r4]
- bl FUN_02020044
- ldr r0, [r5, #0x4]
- add r6, r6, #0x1
- add r4, #0xc
- cmp r6, r0
- blt _02011904
-_02011932:
- add sp, #0x10
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02011938
-FUN_02011938: ; 0x02011938
- push {r3-r7, lr}
- sub sp, #0x10
- add r5, r0, #0x0
- bne _02011944
- bl ErrorHandling
-_02011944:
- ldr r0, [r5, #0x8]
- cmp r0, #0x0
- beq _0201199E
- ldr r1, [r5, #0xc]
- lsl r1, r1, #0xc
- str r1, [sp, #0x0]
- ldr r1, [r5, #0x10]
- lsl r7, r1, #0xc
- bl FUN_0202011C
- ldr r2, [r0, #0x0]
- ldr r0, [r0, #0x4]
- mov r6, #0x0
- ldr r1, [sp, #0x0]
- str r6, [sp, #0xc]
- add r7, r7, r0
- add r1, r1, r2
- ldr r0, [r5, #0x4]
- str r1, [sp, #0x0]
- cmp r0, #0x0
- ble _0201199E
- add r4, r6, #0x0
-_02011970:
- ldr r0, [r5, #0x0]
- add r0, r0, r4
- ldr r0, [r0, #0x4]
- lsl r1, r0, #0xc
- ldr r0, [sp, #0x0]
- add r0, r0, r1
- str r0, [sp, #0x4]
- ldr r0, [r5, #0x0]
- add r1, sp, #0x4
- add r0, r0, r4
- ldr r0, [r0, #0x8]
- lsl r0, r0, #0xc
- add r0, r7, r0
- str r0, [sp, #0x8]
- ldr r0, [r5, #0x0]
- ldr r0, [r0, r4]
- bl FUN_02020044
- ldr r0, [r5, #0x4]
- add r6, r6, #0x1
- add r4, #0xc
- cmp r6, r0
- blt _02011970
-_0201199E:
- add sp, #0x10
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_020119A4
-FUN_020119A4: ; 0x020119A4
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- add r6, r2, #0x0
- cmp r5, #0x0
- bne _020119B4
- bl ErrorHandling
-_020119B4:
- cmp r4, #0x0
- bne _020119BC
- bl ErrorHandling
-_020119BC:
- cmp r6, #0x0
- bne _020119C4
- bl ErrorHandling
-_020119C4:
- ldr r0, [r5, #0xc]
- str r0, [r4, #0x0]
- ldr r0, [r5, #0x10]
- str r0, [r6, #0x0]
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_020119D0
-FUN_020119D0: ; 0x020119D0
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r7, r1, #0x0
- cmp r5, #0x0
- bne _020119DE
- bl ErrorHandling
-_020119DE:
- ldr r0, [r5, #0x4]
- mov r6, #0x0
- cmp r0, #0x0
- ble _020119FC
- add r4, r6, #0x0
-_020119E8:
- ldr r0, [r5, #0x0]
- add r1, r7, #0x0
- ldr r0, [r0, r4]
- bl FUN_020200A0
- ldr r0, [r5, #0x4]
- add r6, r6, #0x1
- add r4, #0xc
- cmp r6, r0
- blt _020119E8
-_020119FC:
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02011A00
-FUN_02011A00: ; 0x02011A00
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r7, r1, #0x0
- cmp r5, #0x0
- bne _02011A0E
- bl ErrorHandling
-_02011A0E:
- ldr r0, [r5, #0x4]
- mov r6, #0x0
- cmp r0, #0x0
- ble _02011A2C
- add r4, r6, #0x0
-_02011A18:
- ldr r0, [r5, #0x0]
- add r1, r7, #0x0
- ldr r0, [r0, r4]
- bl FUN_02020238
- ldr r0, [r5, #0x4]
- add r6, r6, #0x1
- add r4, #0xc
- cmp r6, r0
- blt _02011A18
-_02011A2C:
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02011A30
-FUN_02011A30: ; 0x02011A30
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r7, r1, #0x0
- cmp r5, #0x0
- bne _02011A3E
- bl ErrorHandling
-_02011A3E:
- ldr r0, [r5, #0x4]
- mov r6, #0x0
- cmp r0, #0x0
- ble _02011A5C
- add r4, r6, #0x0
-_02011A48:
- ldr r0, [r5, #0x0]
- add r1, r7, #0x0
- ldr r0, [r0, r4]
- bl FUN_02020310
- ldr r0, [r5, #0x4]
- add r6, r6, #0x1
- add r4, #0xc
- cmp r6, r0
- blt _02011A48
-_02011A5C:
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02011A60
-FUN_02011A60: ; 0x02011A60
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r7, r1, #0x0
- cmp r5, #0x0
- bne _02011A6E
- bl ErrorHandling
-_02011A6E:
- ldr r0, [r5, #0x4]
- mov r6, #0x0
- cmp r0, #0x0
- ble _02011A8C
- add r4, r6, #0x0
-_02011A78:
- ldr r0, [r5, #0x0]
- add r1, r7, #0x0
- ldr r0, [r0, r4]
- bl FUN_02020248
- ldr r0, [r5, #0x4]
- add r6, r6, #0x1
- add r4, #0xc
- cmp r6, r0
- blt _02011A78
-_02011A8C:
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02011A90
-FUN_02011A90: ; 0x02011A90
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r7, r1, #0x0
- cmp r5, #0x0
- bne _02011A9E
- bl ErrorHandling
-_02011A9E:
- ldr r0, [r5, #0x4]
- mov r6, #0x0
- cmp r0, #0x0
- ble _02011ABC
- add r4, r6, #0x0
-_02011AA8:
- ldr r0, [r5, #0x0]
- add r1, r7, #0x0
- ldr r0, [r0, r4]
- bl FUN_020202A8
- ldr r0, [r5, #0x4]
- add r6, r6, #0x1
- add r4, #0xc
- cmp r6, r0
- blt _02011AA8
-_02011ABC:
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02011AC0
-FUN_02011AC0: ; 0x02011AC0
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r7, r1, #0x0
- cmp r5, #0x0
- bne _02011ACE
- bl ErrorHandling
-_02011ACE:
- ldr r0, [r5, #0x4]
- mov r6, #0x0
- cmp r0, #0x0
- ble _02011AEC
- add r4, r6, #0x0
-_02011AD8:
- ldr r0, [r5, #0x0]
- add r1, r7, #0x0
- ldr r0, [r0, r4]
- bl FUN_020202DC
- ldr r0, [r5, #0x4]
- add r6, r6, #0x1
- add r4, #0xc
- cmp r6, r0
- blt _02011AD8
-_02011AEC:
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02011AF0
-FUN_02011AF0: ; 0x02011AF0
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r7, r1, #0x0
- cmp r5, #0x0
- bne _02011AFE
- bl ErrorHandling
-_02011AFE:
- ldr r0, [r5, #0x4]
- mov r6, #0x0
- cmp r0, #0x0
- ble _02011B1C
- add r4, r6, #0x0
-_02011B08:
- ldr r0, [r5, #0x0]
- add r1, r7, #0x0
- ldr r0, [r0, r4]
- bl FUN_02020398
- ldr r0, [r5, #0x4]
- add r6, r6, #0x1
- add r4, #0xc
- cmp r6, r0
- blt _02011B08
-_02011B1C:
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02011B20
-FUN_02011B20: ; 0x02011B20
- push {r4-r7, lr}
- sub sp, #0xc
- add r6, r0, #0x0
- ldr r0, [sp, #0x20]
- add r7, r1, #0x0
- str r0, [sp, #0x20]
- ldr r0, [sp, #0x24]
- ldrb r1, [r6, #0x7]
- str r0, [sp, #0x24]
- add r0, r3, #0x0
- add r0, r7, r0
- str r2, [sp, #0x0]
- str r3, [sp, #0x4]
- cmp r1, r0
- bge _02011B42
- bl ErrorHandling
-_02011B42:
- ldrb r2, [r6, #0x8]
- ldr r1, [sp, #0x0]
- ldr r0, [sp, #0x20]
- add r0, r1, r0
- cmp r2, r0
- bge _02011B52
- bl ErrorHandling
-_02011B52:
- ldr r0, [sp, #0x0]
- mov r4, #0x0
- cmp r0, #0x0
- ble _02011B8A
- lsl r0, r7, #0x5
- add r5, r4, #0x0
- str r0, [sp, #0x8]
-_02011B60:
- ldrb r1, [r6, #0x7]
- ldr r0, [sp, #0x20]
- add r2, r1, #0x0
- add r0, r4, r0
- mul r2, r0
- ldr r0, [sp, #0x4]
- lsl r1, r5, #0x5
- add r2, r2, r0
- ldr r0, [sp, #0x24]
- lsl r2, r2, #0x5
- add r0, r0, r1
- ldr r1, [r6, #0xc]
- add r1, r1, r2
- ldr r2, [sp, #0x8]
- blx memcpy
- ldr r0, [sp, #0x0]
- add r4, r4, #0x1
- add r5, r5, r7
- cmp r4, r0
- blt _02011B60
-_02011B8A:
- add sp, #0xc
- pop {r4-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02011B90
-FUN_02011B90: ; 0x02011B90
- mov r2, #0x14
- mov r1, #0x0
-_02011B94:
- strb r1, [r0, #0x0]
- add r0, r0, #0x1
- sub r2, r2, #0x1
- bne _02011B94
- bx lr
- .balign 4
-
- thumb_func_start FUN_02011BA0
-FUN_02011BA0: ; 0x02011BA0
- ldr r1, [r0, #0x64]
- mov r2, #0x0
- cmp r1, #0x0
- ble _02011BC4
- ldr r3, [r0, #0x60]
-_02011BAA:
- ldr r1, [r3, #0x0]
- cmp r1, #0x0
- bne _02011BBA
- ldr r1, [r0, #0x60]
- mov r0, #0x14
- mul r0, r2
- add r0, r1, r0
- bx lr
-_02011BBA:
- ldr r1, [r0, #0x64]
- add r2, r2, #0x1
- add r3, #0x14
- cmp r2, r1
- blt _02011BAA
-_02011BC4:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_02011BC8
-FUN_02011BC8: ; 0x02011BC8
- push {r3-r4}
- ldr r4, _02011BF0 ; =0x020ED398
- mov r3, #0x0
-_02011BCE:
- ldrb r2, [r4, #0x0]
- cmp r2, r0
- bgt _02011BE0
- ldrb r2, [r4, #0x1]
- cmp r2, r1
- bgt _02011BE0
- add r0, r3, #0x0
- pop {r3-r4}
- bx lr
-_02011BE0:
- add r3, r3, #0x1
- add r4, r4, #0x2
- cmp r3, #0xc
- blt _02011BCE
- mov r0, #0xc
- pop {r3-r4}
- bx lr
- nop
-_02011BF0: .word 0x020ED398
-
- thumb_func_start FUN_02011BF4
-FUN_02011BF4: ; 0x02011BF4
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r6, r1, #0x0
- add r0, r2, #0x0
- bl FUN_02011FAC
- ldr r1, [r6, #0x10]
- add r4, r0, #0x0
- bl FUN_02011FF4
- ldr r0, [r5, #0x8]
- ldr r1, [r5, #0xc]
- bl FUN_02011BC8
- str r0, [r4, #0x8]
- ldr r0, [r5, #0x4]
- ldr r1, _02011C9C ; =0x020ED398
- str r0, [r4, #0x0]
- ldr r0, [r5, #0x0]
- ldr r6, _02011CA0 ; =0x020ED399
- str r0, [r4, #0x4]
- ldr r0, [r4, #0x8]
- ldr r2, [r5, #0x8]
- lsl r3, r0, #0x1
- ldrb r0, [r1, r3]
- ldrb r3, [r6, r3]
- sub r2, r2, r0
- ldr r0, [r5, #0xc]
- sub r6, r0, r3
- cmp r2, #0x0
- ble _02011C5C
- str r0, [r5, #0x1c]
- str r2, [r5, #0x18]
- ldr r0, [r5, #0x0]
- str r0, [r5, #0x10]
- ldr r2, [r4, #0x8]
- ldr r0, [r5, #0x4]
- lsl r2, r2, #0x1
- ldrb r1, [r1, r2]
- add r0, r0, r1
- str r0, [r5, #0x14]
- add r0, r5, #0x0
- add r0, #0x20
- ldrb r0, [r0, #0x0]
- cmp r0, #0x1
- bne _02011C54
- bl ErrorHandling
-_02011C54:
- add r0, r5, #0x0
- mov r1, #0x1
- add r0, #0x20
- strb r1, [r0, #0x0]
-_02011C5C:
- cmp r6, #0x0
- ble _02011C72
- ldr r0, [r4, #0x8]
- ldr r2, [r5, #0x0]
- lsl r1, r0, #0x1
- ldr r0, _02011CA0 ; =0x020ED399
- ldrb r0, [r0, r1]
- add r0, r2, r0
- str r0, [r5, #0x0]
- str r6, [r5, #0xc]
- b _02011C96
-_02011C72:
- add r0, r5, #0x0
- add r0, #0x20
- ldrb r0, [r0, #0x0]
- cmp r0, #0x1
- bne _02011C92
- add r3, r5, #0x0
- add r3, #0x10
- add r2, r5, #0x0
- ldmia r3!, {r0-r1}
- stmia r2!, {r0-r1}
- ldmia r3!, {r0-r1}
- stmia r2!, {r0-r1}
- mov r0, #0x0
- add r5, #0x20
- strb r0, [r5, #0x0]
- b _02011C96
-_02011C92:
- mov r0, #0x1
- pop {r4-r6, pc}
-_02011C96:
- mov r0, #0x0
- pop {r4-r6, pc}
- nop
-_02011C9C: .word 0x020ED398
-_02011CA0: .word 0x020ED399
-
- thumb_func_start FUN_02011CA4
-FUN_02011CA4: ; 0x02011CA4
- push {r3-r7, lr}
- sub sp, #0x38
- add r7, r0, #0x0
- str r1, [sp, #0x0]
- add r5, r2, #0x0
- add r6, r3, #0x0
- cmp r7, #0x0
- bne _02011CB8
- bl ErrorHandling
-_02011CB8:
- ldr r0, [sp, #0x0]
- cmp r0, #0x0
- bne _02011CC2
- bl ErrorHandling
-_02011CC2:
- ldr r0, [sp, #0x0]
- mov r4, #0x0
- str r0, [sp, #0x10]
- str r4, [sp, #0x4]
- str r4, [sp, #0x8]
- str r7, [sp, #0xc]
- add r0, sp, #0x24
- strb r4, [r0, #0x0]
- ldr r0, [sp, #0x0]
- str r4, [sp, #0x2c]
- str r7, [sp, #0x30]
- cmp r0, #0x0
- beq _02011D20
- add r7, sp, #0x4
-_02011CDE:
- ldr r0, [sp, #0xc]
- ldr r1, [sp, #0x0]
- bl FUN_02011BC8
- lsl r1, r0, #0x1
- ldr r0, _02011D28 ; =0x020ED398
- add r0, r0, r1
- ldrb r0, [r0, #0x1]
- ldr r1, [sp, #0x4]
- add r1, r1, r0
- str r1, [sp, #0x28]
- ldr r1, [sp, #0x10]
- sub r1, r1, r0
- str r1, [sp, #0x34]
- str r0, [sp, #0x10]
-_02011CFC:
- add r0, r7, #0x0
- add r1, r6, #0x0
- add r2, r5, #0x0
- add r4, r4, #0x1
- bl FUN_02011BF4
- cmp r0, #0x0
- beq _02011CFC
- add r3, sp, #0x28
- add r2, sp, #0x4
- ldmia r3!, {r0-r1}
- stmia r2!, {r0-r1}
- ldmia r3!, {r0-r1}
- stmia r2!, {r0-r1}
- ldr r0, [sp, #0x10]
- str r0, [sp, #0x0]
- cmp r0, #0x0
- bne _02011CDE
-_02011D20:
- add r0, r4, #0x0
- add sp, #0x38
- pop {r3-r7, pc}
- nop
-_02011D28: .word 0x020ED398
-
- thumb_func_start FUN_02011D2C
-FUN_02011D2C: ; 0x02011D2C
- push {r4-r7, lr}
- sub sp, #0x1c
- str r0, [sp, #0x10]
- ldr r0, [sp, #0x30]
- str r1, [sp, #0x14]
- str r0, [sp, #0x30]
- ldr r0, [sp, #0x34]
- add r5, r2, #0x0
- str r0, [sp, #0x34]
- ldr r0, [sp, #0x30]
- add r6, r3, #0x0
- cmp r0, #0x1
- bne _02011D4E
- mov r0, #0x1
- lsl r0, r0, #0x1a
- ldr r1, [r0, #0x0]
- b _02011D52
-_02011D4E:
- ldr r0, _02011D98 ; =0x04001000
- ldr r1, [r0, #0x0]
-_02011D52:
- ldr r0, _02011D9C ; =0x00300010
- add r7, r1, #0x0
- and r7, r0
- add r0, r7, #0x0
- bl FUN_0201DED0
- str r0, [sp, #0x18]
- ldr r0, [sp, #0x14]
- ldr r4, [r0, #0xc]
- cmp r4, r0
- beq _02011D92
-_02011D68:
- add r0, r5, #0x0
- blx FUN_020B1A24
- str r7, [sp, #0x0]
- ldr r0, [sp, #0x30]
- str r6, [sp, #0x4]
- str r0, [sp, #0x8]
- ldr r0, [sp, #0x34]
- ldr r3, [sp, #0x18]
- str r0, [sp, #0xc]
- ldr r0, [sp, #0x10]
- add r1, r4, #0x0
- add r2, r5, #0x0
- bl FUN_02011DA0
- add r6, r0, #0x0
- ldr r4, [r4, #0xc]
- ldr r0, [sp, #0x14]
- add r5, #0x24
- cmp r4, r0
- bne _02011D68
-_02011D92:
- add sp, #0x1c
- pop {r4-r7, pc}
- nop
-_02011D98: .word 0x04001000
-_02011D9C: .word 0x00300010
-
- thumb_func_start FUN_02011DA0
-FUN_02011DA0: ; 0x02011DA0
- push {r4-r7, lr}
- sub sp, #0x14
- add r6, r1, #0x0
- str r0, [sp, #0x8]
- ldr r0, [r6, #0x8]
- add r5, r2, #0x0
- lsl r1, r0, #0x1
- ldr r0, _02011E44 ; =0x020ED398
- ldrb r0, [r0, r1]
- str r0, [sp, #0x10]
- ldr r0, _02011E48 ; =0x020ED399
- ldrb r0, [r0, r1]
- ldr r1, [sp, #0x10]
- add r4, r1, #0x0
- mul r4, r0
- str r0, [sp, #0xc]
- cmp r4, r3
- bge _02011DC6
- add r4, r3, #0x0
-_02011DC6:
- lsl r4, r4, #0x5
- ldr r0, [sp, #0x34]
- add r1, r4, #0x0
- bl FUN_020169D8
- add r7, r0, #0x0
- ldr r0, [r6, #0x4]
- ldr r1, [sp, #0x10]
- str r0, [sp, #0x0]
- str r7, [sp, #0x4]
- ldr r0, [sp, #0x8]
- ldr r2, [sp, #0xc]
- ldr r3, [r6, #0x0]
- bl FUN_02011B20
- add r0, r7, #0x0
- add r1, r4, #0x0
- blx DC_FlushRange
- ldr r0, [sp, #0x30]
- cmp r0, #0x1
- bne _02011E08
- ldr r6, [sp, #0x2c]
- add r0, r7, #0x0
- add r1, r6, #0x0
- add r2, r4, #0x0
- blx GX_LoadOBJ
- mov r0, #0x1
- str r6, [r5, #0x4]
- lsl r0, r0, #0x1a
- ldr r1, [r0, #0x0]
- b _02011E1A
-_02011E08:
- ldr r6, [sp, #0x2c]
- add r0, r7, #0x0
- add r1, r6, #0x0
- add r2, r4, #0x0
- blx GXS_LoadOBJ
- ldr r0, _02011E4C ; =0x04001000
- str r6, [r5, #0x8]
- ldr r1, [r0, #0x0]
-_02011E1A:
- ldr r0, _02011E50 ; =0x00300010
- and r0, r1
- str r0, [r5, #0x20]
- ldr r0, _02011E54 ; =0x0000FFFF
- str r0, [r5, #0xc]
- str r0, [r5, #0x10]
- mov r0, #0x3
- str r0, [r5, #0x14]
- mov r0, #0x0
- str r0, [r5, #0x18]
- mov r0, #0x1
- str r0, [r5, #0x1c]
- ldr r0, [sp, #0x28]
- str r0, [r5, #0x20]
- add r0, r7, #0x0
- bl FUN_02016A18
- ldr r0, [sp, #0x2c]
- add r0, r0, r4
- add sp, #0x14
- pop {r4-r7, pc}
- .balign 4
-_02011E44: .word 0x020ED398
-_02011E48: .word 0x020ED399
-_02011E4C: .word 0x04001000
-_02011E50: .word 0x00300010
-_02011E54: .word 0x0000FFFF
-
- thumb_func_start FUN_02011E58
-FUN_02011E58: ; 0x02011E58
- push {r3-r7, lr}
- add r4, r0, #0x0
- cmp r1, #0x1
- bne _02011E68
- mov r0, #0x1
- lsl r0, r0, #0x1a
- ldr r1, [r0, #0x0]
- b _02011E6C
-_02011E68:
- ldr r0, _02011EA0 ; =0x04001000
- ldr r1, [r0, #0x0]
-_02011E6C:
- ldr r0, _02011EA4 ; =0x00300010
- and r0, r1
- bl FUN_0201DED0
- ldr r2, [r4, #0xc]
- mov r3, #0x0
- cmp r2, r4
- beq _02011E9A
- ldr r1, _02011EA8 ; =0x020ED398
-_02011E7E:
- ldr r5, [r2, #0x8]
- lsl r5, r5, #0x1
- add r7, r1, r5
- ldrb r6, [r1, r5]
- ldrb r5, [r7, #0x1]
- mul r5, r6
- cmp r5, r0
- bge _02011E90
- add r5, r0, #0x0
-_02011E90:
- ldr r2, [r2, #0xc]
- lsl r5, r5, #0x5
- add r3, r3, r5
- cmp r2, r4
- bne _02011E7E
-_02011E9A:
- add r0, r3, #0x0
- pop {r3-r7, pc}
- nop
-_02011EA0: .word 0x04001000
-_02011EA4: .word 0x00300010
-_02011EA8: .word 0x020ED398
-
- thumb_func_start FUN_02011EAC
-FUN_02011EAC: ; 0x02011EAC
- push {r3-r7, lr}
- sub sp, #0x8
- str r0, [sp, #0x0]
- add r0, r1, #0x0
- ldr r4, [r0, #0xc]
- str r1, [sp, #0x4]
- add r7, r2, #0x0
- add r6, r3, #0x0
- cmp r4, r0
- beq _02011EFC
- mov r5, #0x0
-_02011EC2:
- ldr r0, [sp, #0x0]
- add r1, r4, #0x0
- add r2, r7, #0x0
- bl FUN_02011F24
- ldr r1, [r6, #0x0]
- str r0, [r1, r5]
- ldr r0, [r6, #0x0]
- ldr r0, [r0, r5]
- cmp r0, #0x0
- bne _02011EDC
- bl ErrorHandling
-_02011EDC:
- ldr r0, [r4, #0x0]
- add r7, #0x24
- lsl r1, r0, #0x3
- ldr r0, [r6, #0x0]
- add r0, r0, r5
- str r1, [r0, #0x4]
- ldr r0, [r4, #0x4]
- lsl r1, r0, #0x3
- ldr r0, [r6, #0x0]
- add r0, r0, r5
- str r1, [r0, #0x8]
- ldr r4, [r4, #0xc]
- ldr r0, [sp, #0x4]
- add r5, #0xc
- cmp r4, r0
- bne _02011EC2
-_02011EFC:
- add sp, #0x8
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02011F00
-FUN_02011F00: ; 0x02011F00
- push {r4-r6, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0x4]
- mov r6, #0x0
- cmp r0, #0x0
- ble _02011F20
- add r4, r6, #0x0
-_02011F0E:
- ldr r0, [r5, #0x0]
- ldr r0, [r0, r4]
- bl FUN_0201FFC8
- ldr r0, [r5, #0x4]
- add r6, r6, #0x1
- add r4, #0xc
- cmp r6, r0
- blt _02011F0E
-_02011F20:
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02011F24
-FUN_02011F24: ; 0x02011F24
- push {r4-r5, lr}
- sub sp, #0x44
- add r5, r0, #0x0
- mov r0, #0x0
- str r2, [sp, #0x0]
- str r0, [sp, #0x4]
- add r4, r1, #0x0
- ldr r1, [r5, #0xc]
- str r1, [sp, #0x8]
- ldr r1, [r4, #0x8]
- ldr r2, [r5, #0x0]
- lsl r1, r1, #0x2
- add r1, r2, r1
- ldr r1, [r1, #0x30]
- str r1, [sp, #0xc]
- str r0, [sp, #0x10]
- str r0, [sp, #0x14]
- str r0, [sp, #0x18]
- str r0, [sp, #0x1c]
- ldr r2, [r5, #0x20]
- add r1, sp, #0x20
- strb r2, [r1, #0x0]
- ldr r1, [r5, #0x8]
- str r1, [sp, #0x24]
- add r1, sp, #0x0
- str r1, [sp, #0x28]
- ldr r1, [r5, #0x24]
- str r1, [sp, #0x38]
- ldr r1, [r5, #0x28]
- str r1, [sp, #0x3c]
- ldr r1, [r5, #0x2c]
- str r1, [sp, #0x40]
- str r0, [sp, #0x2c]
- str r0, [sp, #0x30]
- str r0, [sp, #0x34]
- ldr r0, [r5, #0x10]
- cmp r0, #0x0
- beq _02011F80
- bl FUN_0202011C
- add r3, r0, #0x0
- ldmia r3!, {r0-r1}
- add r2, sp, #0x2c
- stmia r2!, {r0-r1}
- ldr r0, [r3, #0x0]
- str r0, [r2, #0x0]
-_02011F80:
- ldr r1, [r4, #0x0]
- ldr r2, [r5, #0x18]
- lsl r1, r1, #0x3
- add r1, r2, r1
- ldr r0, [sp, #0x2c]
- lsl r1, r1, #0xc
- add r0, r0, r1
- str r0, [sp, #0x2c]
- ldr r1, [r4, #0x4]
- ldr r2, [r5, #0x1c]
- lsl r1, r1, #0x3
- add r1, r2, r1
- ldr r0, [sp, #0x30]
- lsl r1, r1, #0xc
- add r0, r0, r1
- str r0, [sp, #0x30]
- add r0, sp, #0x24
- bl FUN_0201FF84
- add sp, #0x44
- pop {r4-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02011FAC
-FUN_02011FAC: ; 0x02011FAC
- push {r4, lr}
- mov r1, #0x14
- bl FUN_020169D8
- add r4, r0, #0x0
- bne _02011FBC
- bl ErrorHandling
-_02011FBC:
- mov r0, #0x0
- str r0, [r4, #0xc]
- str r0, [r4, #0x10]
- add r0, r4, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02011FC8
-FUN_02011FC8: ; 0x02011FC8
- push {r4, lr}
- add r4, r0, #0x0
- bne _02011FD2
- bl ErrorHandling
-_02011FD2:
- add r0, r4, #0x0
- bl FUN_02016A18
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02011FDC
-FUN_02011FDC: ; 0x02011FDC
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0xc]
- cmp r0, r5
- beq _02011FF2
-_02011FE6:
- ldr r4, [r0, #0xc]
- bl FUN_02011FC8
- add r0, r4, #0x0
- cmp r4, r5
- bne _02011FE6
-_02011FF2:
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02011FF4
-FUN_02011FF4: ; 0x02011FF4
- ldr r2, [r1, #0xc]
- str r2, [r0, #0xc]
- str r1, [r0, #0x10]
- ldr r2, [r1, #0xc]
- str r0, [r2, #0x10]
- str r0, [r1, #0xc]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02012004
-FUN_02012004: ; 0x02012004
- push {r3-r7, lr}
- sub sp, #0x8
- str r0, [sp, #0x0]
- ldr r0, [sp, #0x24]
- ldr r6, [sp, #0x20]
- str r1, [sp, #0x4]
- add r5, r2, #0x0
- add r4, r3, #0x0
- str r0, [sp, #0x24]
- mov r7, #0x0
-_02012018:
- ldr r1, [r4, #0x0]
- ldr r0, [sp, #0x4]
- ldr r2, [r5, #0x0]
- add r0, r0, r1
- ldr r1, [sp, #0x0]
- add r1, r1, r2
- add r2, r6, #0x0
- blx memcpy
- ldr r1, [r5, #0x0]
- ldr r0, [sp, #0x24]
- add r7, r7, #0x1
- add r0, r1, r0
- str r0, [r5, #0x0]
- ldr r0, [r4, #0x0]
- add r0, r0, r6
- str r0, [r4, #0x0]
- cmp r7, #0x8
- blt _02012018
- add sp, #0x8
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02012044
-FUN_02012044: ; 0x02012044
- push {r4-r6, lr}
- add r5, r3, #0x0
- bl LoadFromNarc_2
- add r4, r0, #0x0
- bne _02012054
- bl ErrorHandling
-_02012054:
- add r0, r4, #0x0
- add r1, r5, #0x0
- blx FUN_020B0088
- add r6, r0, #0x0
- cmp r5, #0x0
- bne _02012066
- bl ErrorHandling
-_02012066:
- cmp r6, #0x0
- bne _0201206E
- bl ErrorHandling
-_0201206E:
- add r0, r4, #0x0
- bl FUN_02016A18
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02012078
-FUN_02012078: ; 0x02012078
- push {r4-r7, lr}
- sub sp, #0x2c
- ldr r4, [sp, #0x40]
- str r0, [sp, #0x8]
- add r6, r0, r2
- ldrh r0, [r4, #0x2]
- str r1, [sp, #0xc]
- add r5, r3, #0x0
- cmp r0, r6
- bge _02012090
- bl ErrorHandling
-_02012090:
- ldr r0, [sp, #0xc]
- ldrh r1, [r4, #0x0]
- add r0, r0, r5
- str r0, [sp, #0x14]
- cmp r1, r0
- bge _020120A0
- bl ErrorHandling
-_020120A0:
- ldr r0, [r4, #0x14]
- str r0, [sp, #0x20]
- ldr r0, [sp, #0x44]
- str r0, [sp, #0x1c]
- ldrh r0, [r4, #0x2]
- lsl r7, r0, #0x2
- ldr r0, [sp, #0xc]
- add r1, r0, #0x0
- mul r1, r7
- ldr r0, [sp, #0x8]
- str r1, [sp, #0x18]
- lsl r1, r0, #0x2
- ldr r0, [sp, #0x18]
- str r1, [sp, #0x10]
- add r0, r1, r0
- str r0, [sp, #0x28]
- mov r0, #0x0
- str r0, [sp, #0x24]
- ldr r1, [sp, #0xc]
- ldr r0, [sp, #0x14]
- cmp r1, r0
- bge _0201210A
-_020120CC:
- ldr r4, [sp, #0x8]
- add r0, r4, #0x0
- cmp r0, r6
- bge _020120F8
- ldr r0, [sp, #0x18]
- lsl r1, r0, #0x3
- ldr r0, [sp, #0x10]
- add r5, r0, r1
-_020120DC:
- str r5, [sp, #0x28]
- mov r0, #0x4
- str r0, [sp, #0x0]
- ldr r0, [sp, #0x20]
- ldr r1, [sp, #0x1c]
- add r2, sp, #0x28
- add r3, sp, #0x24
- str r7, [sp, #0x4]
- bl FUN_02012004
- add r4, r4, #0x1
- add r5, r5, #0x4
- cmp r4, r6
- blt _020120DC
-_020120F8:
- ldr r0, [sp, #0x18]
- add r0, r0, r7
- str r0, [sp, #0x18]
- ldr r0, [sp, #0xc]
- add r1, r0, #0x1
- ldr r0, [sp, #0x14]
- str r1, [sp, #0xc]
- cmp r1, r0
- blt _020120CC
-_0201210A:
- add sp, #0x2c
- pop {r4-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02012110
-FUN_02012110: ; 0x02012110
- push {r4-r5}
- sub sp, #0x8
- ldr r2, _02012148 ; =0x020ED3B0
- add r1, sp, #0x0
- ldr r3, [r2, #0x0]
- ldr r2, [r2, #0x4]
- str r3, [sp, #0x0]
- str r2, [sp, #0x4]
- ldr r2, _0201214C ; =0x000001EF
- mov r5, #0x0
- add r3, r2, #0x0
-_02012126:
- ldr r4, [r1, #0x0]
- cmp r4, r3
- beq _02012140
- cmp r4, r0
- bne _02012138
- add sp, #0x8
- mov r0, #0x1
- pop {r4-r5}
- bx lr
-_02012138:
- add r5, r5, #0x1
- add r1, r1, #0x4
- cmp r5, r2
- blt _02012126
-_02012140:
- mov r0, #0x0
- add sp, #0x8
- pop {r4-r5}
- bx lr
- .balign 4
-_02012148: .word 0x020ED3B0
-_0201214C: .word 0x000001EF
-
- thumb_func_start FUN_02012150
-FUN_02012150: ; 0x02012150
- push {r3-r4, lr}
- sub sp, #0xc
- add r4, r3, #0x0
- mov r3, #0x0
- str r3, [sp, #0x8]
- add r3, sp, #0x8
- bl FUN_02012044
- ldr r0, [sp, #0x8]
- ldr r0, [r0, #0x14]
- bl FUN_02008A74
- ldr r0, [sp, #0x34]
- bl FUN_02012110
- ldr r1, [sp, #0x30]
- cmp r1, #0x2
- bne _02012184
- cmp r0, #0x1
- bne _02012184
- ldr r0, [sp, #0x8]
- ldr r1, [sp, #0x28]
- ldr r0, [r0, #0x14]
- ldr r2, [sp, #0x2c]
- bl FUN_02008904
-_02012184:
- ldr r0, [sp, #0x8]
- ldr r1, [sp, #0x18]
- str r0, [sp, #0x0]
- ldr r0, [sp, #0x24]
- ldr r2, [sp, #0x1c]
- str r0, [sp, #0x4]
- ldr r3, [sp, #0x20]
- add r0, r4, #0x0
- bl FUN_02012078
- add sp, #0xc
- pop {r3-r4, pc}
-
- thumb_func_start FUN_0201219C
-FUN_0201219C: ; 0x0201219C
- push {r4-r7, lr}
- sub sp, #0x24
- add r7, r1, #0x0
- add r5, r2, #0x0
- ldr r2, [sp, #0x3c]
- ldr r1, [sp, #0x40]
- add r6, r0, #0x0
- mul r1, r2
- add r0, r5, #0x0
- lsl r1, r1, #0x5
- str r3, [sp, #0x20]
- bl FUN_02016998
- add r4, r0, #0x0
- ldr r0, [sp, #0x38]
- ldr r3, [sp, #0x20]
- str r0, [sp, #0x0]
- ldr r0, [sp, #0x3c]
- add r1, r7, #0x0
- str r0, [sp, #0x4]
- ldr r0, [sp, #0x40]
- add r2, r5, #0x0
- str r0, [sp, #0x8]
- ldr r0, [sp, #0x44]
- str r4, [sp, #0xc]
- str r0, [sp, #0x10]
- ldr r0, [sp, #0x48]
- str r0, [sp, #0x14]
- ldr r0, [sp, #0x4c]
- str r0, [sp, #0x18]
- ldr r0, [sp, #0x50]
- str r0, [sp, #0x1c]
- add r0, r6, #0x0
- bl FUN_02012150
- add r0, r4, #0x0
- add sp, #0x24
- pop {r4-r7, pc}
-
- thumb_func_start FUN_020121E8
-FUN_020121E8: ; 0x020121E8
- push {r3-r7, lr}
- sub sp, #0x30
- str r3, [sp, #0x8]
- ldr r3, [sp, #0x48]
- str r3, [sp, #0x48]
- mov r3, #0x0
- str r3, [sp, #0x2c]
- bl LoadFromNarc_2
- str r0, [sp, #0x20]
- cmp r0, #0x0
- bne _02012204
- bl ErrorHandling
-_02012204:
- ldr r0, [sp, #0x20]
- add r1, sp, #0x2c
- blx FUN_020B0088
- cmp r0, #0x0
- bne _02012214
- bl ErrorHandling
-_02012214:
- ldr r1, [sp, #0x4c]
- ldr r0, [sp, #0x8]
- add r6, r0, r1
- ldr r0, [sp, #0x2c]
- ldrh r0, [r0, #0x2]
- cmp r0, r6
- bge _02012226
- bl ErrorHandling
-_02012226:
- ldr r1, [sp, #0x50]
- ldr r0, [sp, #0x48]
- add r0, r0, r1
- str r0, [sp, #0x10]
- ldr r0, [sp, #0x2c]
- ldrh r1, [r0, #0x0]
- ldr r0, [sp, #0x10]
- cmp r1, r0
- bge _0201223C
- bl ErrorHandling
-_0201223C:
- ldr r0, [sp, #0x2c]
- ldr r0, [r0, #0x14]
- str r0, [sp, #0x1c]
- bl FUN_02008A74
- ldr r0, [sp, #0x54]
- str r0, [sp, #0x18]
- ldr r0, [sp, #0x2c]
- ldrh r0, [r0, #0x2]
- lsl r7, r0, #0x2
- ldr r0, [sp, #0x48]
- add r1, r0, #0x0
- mul r1, r7
- ldr r0, [sp, #0x8]
- str r1, [sp, #0x14]
- lsl r1, r0, #0x2
- ldr r0, [sp, #0x14]
- str r1, [sp, #0xc]
- add r0, r1, r0
- str r0, [sp, #0x28]
- mov r0, #0x0
- str r0, [sp, #0x24]
- ldr r1, [sp, #0x48]
- ldr r0, [sp, #0x10]
- cmp r1, r0
- bge _020122AE
-_02012270:
- ldr r4, [sp, #0x8]
- add r0, r4, #0x0
- cmp r0, r6
- bge _0201229C
- ldr r0, [sp, #0x14]
- lsl r1, r0, #0x3
- ldr r0, [sp, #0xc]
- add r5, r0, r1
-_02012280:
- str r5, [sp, #0x28]
- mov r0, #0x4
- str r0, [sp, #0x0]
- ldr r0, [sp, #0x1c]
- ldr r1, [sp, #0x18]
- add r2, sp, #0x28
- add r3, sp, #0x24
- str r7, [sp, #0x4]
- bl FUN_02012004
- add r4, r4, #0x1
- add r5, r5, #0x4
- cmp r4, r6
- blt _02012280
-_0201229C:
- ldr r0, [sp, #0x14]
- add r0, r0, r7
- str r0, [sp, #0x14]
- ldr r0, [sp, #0x48]
- add r1, r0, #0x1
- ldr r0, [sp, #0x10]
- str r1, [sp, #0x48]
- cmp r1, r0
- blt _02012270
-_020122AE:
- ldr r0, [sp, #0x20]
- bl FUN_02016A18
- add sp, #0x30
- pop {r3-r7, pc}
-
- thumb_func_start FUN_020122B8
-FUN_020122B8: ; 0x020122B8
- push {r4-r7, lr}
- sub sp, #0x14
- add r7, r1, #0x0
- add r5, r2, #0x0
- ldr r2, [sp, #0x2c]
- ldr r1, [sp, #0x30]
- add r6, r0, #0x0
- mul r1, r2
- add r0, r5, #0x0
- lsl r1, r1, #0x5
- str r3, [sp, #0x10]
- bl FUN_02016998
- add r4, r0, #0x0
- ldr r0, [sp, #0x28]
- ldr r3, [sp, #0x10]
- str r0, [sp, #0x0]
- ldr r0, [sp, #0x2c]
- add r1, r7, #0x0
- str r0, [sp, #0x4]
- ldr r0, [sp, #0x30]
- add r2, r5, #0x0
- str r0, [sp, #0x8]
- add r0, r6, #0x0
- str r4, [sp, #0xc]
- bl FUN_020121E8
- add r0, r4, #0x0
- add sp, #0x14
- pop {r4-r7, pc}
-
- thumb_func_start FUN_020122F4
-FUN_020122F4: ; 0x020122F4
- push {r3-r7, lr}
- sub sp, #0x20
- str r0, [sp, #0x0]
- ldr r0, [sp, #0x44]
- ldr r1, [sp, #0x38]
- str r0, [sp, #0x18]
- ldr r0, [sp, #0x48]
- str r2, [sp, #0x4]
- str r0, [sp, #0x14]
- add r0, r2, #0x0
- add r7, r0, r1
- ldr r1, [sp, #0x3c]
- add r0, r3, #0x0
- add r0, r0, r1
- add r1, r3, #0x0
- str r3, [sp, #0x8]
- ldr r5, [sp, #0x40]
- str r0, [sp, #0x10]
- cmp r1, r0
- bge _0201236C
- add r0, r3, #0x0
- lsl r0, r0, #0x5
- str r0, [sp, #0xc]
- add r0, r2, #0x0
- lsl r0, r0, #0x5
- str r0, [sp, #0x1c]
-_02012328:
- ldr r6, [sp, #0x4]
- add r0, r6, #0x0
- cmp r0, r7
- bge _0201235A
- ldr r1, [sp, #0x0]
- ldr r0, [sp, #0xc]
- add r2, r1, #0x0
- mul r2, r0
- ldr r0, [sp, #0x1c]
- add r4, r0, r2
-_0201233C:
- ldr r1, [r5, #0x0]
- ldr r0, [sp, #0x14]
- mov r2, #0x20
- add r0, r0, r1
- ldr r1, [sp, #0x18]
- add r1, r1, r4
- blx memcpy
- ldr r0, [r5, #0x0]
- add r6, r6, #0x1
- add r0, #0x20
- str r0, [r5, #0x0]
- add r4, #0x20
- cmp r6, r7
- blt _0201233C
-_0201235A:
- ldr r0, [sp, #0xc]
- add r0, #0x20
- str r0, [sp, #0xc]
- ldr r0, [sp, #0x8]
- add r1, r0, #0x1
- ldr r0, [sp, #0x10]
- str r1, [sp, #0x8]
- cmp r1, r0
- blt _02012328
-_0201236C:
- add sp, #0x20
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02012370
-FUN_02012370: ; 0x02012370
- push {r3-r4, lr}
- sub sp, #0x14
- add r4, r2, #0x0
- ldr r2, [r4, #0x8]
- str r2, [sp, #0x0]
- ldr r2, [r4, #0xc]
- str r2, [sp, #0x4]
- ldr r2, [sp, #0x20]
- str r3, [sp, #0x8]
- str r2, [sp, #0xc]
- ldr r2, [sp, #0x24]
- str r2, [sp, #0x10]
- ldr r2, [r4, #0x0]
- ldr r3, [r4, #0x4]
- bl FUN_020122F4
- add sp, #0x14
- pop {r3-r4, pc}
-
- thumb_func_start FUN_02012394
-FUN_02012394: ; 0x02012394
- push {r4-r7, lr}
- sub sp, #0x7c
- str r0, [sp, #0xc]
- ldr r0, [sp, #0x9c]
- mov r12, r3
- add r5, r2, #0x0
- ldr r6, [sp, #0x94]
- ldr r7, [sp, #0x98]
- ldr r3, _020123FC ; =0x020ED3D8
- str r1, [sp, #0x10]
- str r0, [sp, #0x9c]
- add r2, sp, #0x1c
- mov r4, #0xc
-_020123AE:
- ldmia r3!, {r0-r1}
- stmia r2!, {r0-r1}
- sub r4, r4, #0x1
- bne _020123AE
- mov r0, #0x0
- str r0, [sp, #0x18]
- ldr r0, [sp, #0x90]
- ldr r1, [sp, #0x10]
- str r0, [sp, #0x0]
- str r6, [sp, #0x4]
- ldr r0, [sp, #0xc]
- add r2, r5, #0x0
- mov r3, r12
- str r7, [sp, #0x8]
- bl FUN_020122B8
- str r0, [sp, #0x14]
- mov r4, #0x0
- add r5, sp, #0x1c
-_020123D4:
- ldr r0, [sp, #0x14]
- add r1, r7, #0x0
- str r0, [sp, #0x0]
- ldr r0, [sp, #0x9c]
- add r2, r5, #0x0
- str r0, [sp, #0x4]
- add r0, r6, #0x0
- add r3, sp, #0x18
- bl FUN_02012370
- add r4, r4, #0x1
- add r5, #0x10
- cmp r4, #0x6
- blt _020123D4
- ldr r0, [sp, #0x14]
- bl FUN_02016A18
- add sp, #0x7c
- pop {r4-r7, pc}
- nop
-_020123FC: .word 0x020ED3D8
-
- thumb_func_start FUN_02012400
-FUN_02012400: ; 0x02012400
- push {r4, lr}
- sub sp, #0x10
- ldr r4, [r3, #0x4]
- str r4, [sp, #0x0]
- ldr r4, [r3, #0x8]
- str r4, [sp, #0x4]
- ldr r4, [r3, #0xc]
- str r4, [sp, #0x8]
- ldr r4, [sp, #0x18]
- str r4, [sp, #0xc]
- ldr r3, [r3, #0x0]
- bl FUN_02012394
- add sp, #0x10
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02012420
-FUN_02012420: ; 0x02012420
- push {r4-r7, lr}
- sub sp, #0x14
- ldr r4, _02012448 ; =0x020ED3B8
- add r5, r3, #0x0
- add r3, sp, #0x4
- add r7, r0, #0x0
- mov r12, r1
- add r6, r3, #0x0
- ldmia r4!, {r0-r1}
- stmia r3!, {r0-r1}
- ldmia r4!, {r0-r1}
- stmia r3!, {r0-r1}
- add r0, r7, #0x0
- mov r1, r12
- add r3, r6, #0x0
- str r5, [sp, #0x0]
- bl FUN_02012400
- add sp, #0x14
- pop {r4-r7, pc}
- .balign 4
-_02012448: .word 0x020ED3B8
-
- thumb_func_start FUN_0201244C
-FUN_0201244C: ; 0x0201244C
- push {r3-r7, lr}
- add r6, r1, #0x0
- mov r1, #0x32
- add r7, r2, #0x0
- add r5, r0, #0x0
- add r0, r7, #0x0
- lsl r1, r1, #0x6
- bl FUN_02016998
- add r4, r0, #0x0
- add r0, r5, #0x0
- add r1, r6, #0x0
- add r2, r7, #0x0
- add r3, r4, #0x0
- bl FUN_02012420
- add r0, r4, #0x0
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02012470
-FUN_02012470: ; 0x02012470
- push {r3-r7, lr}
- add r7, r2, #0x0
- add r5, r0, #0x0
- add r6, r1, #0x0
- add r0, r7, #0x0
- mov r1, #0x20
- bl FUN_02016998
- add r4, r0, #0x0
- add r0, r5, #0x0
- add r1, r6, #0x0
- add r2, r7, #0x0
- bl LoadFromNarc_2
- add r1, sp, #0x0
- add r5, r0, #0x0
- blx FUN_020B0138
- cmp r0, #0x1
- beq _0201249C
- bl ErrorHandling
-_0201249C:
- ldr r0, [sp, #0x0]
- add r1, r4, #0x0
- ldr r0, [r0, #0xc]
- mov r2, #0x20
- blx MIi_CpuCopy16
- add r0, r5, #0x0
- bl FUN_02016A18
- add r0, r4, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_020124B4
-FUN_020124B4: ; 0x020124B4
- push {r4-r7, lr}
- sub sp, #0x8c
- str r0, [sp, #0x1c]
- ldr r0, [sp, #0xac]
- mov r12, r3
- add r5, r2, #0x0
- ldr r6, [sp, #0xa4]
- ldr r7, [sp, #0xa8]
- ldr r3, _0201252C ; =0x020ED438
- str r1, [sp, #0x20]
- str r0, [sp, #0xac]
- add r2, sp, #0x2c
- mov r4, #0xc
-_020124CE:
- ldmia r3!, {r0-r1}
- stmia r2!, {r0-r1}
- sub r4, r4, #0x1
- bne _020124CE
- mov r0, #0x0
- str r0, [sp, #0x28]
- ldr r0, [sp, #0xa0]
- ldr r1, [sp, #0x20]
- str r0, [sp, #0x0]
- str r6, [sp, #0x4]
- ldr r0, [sp, #0xb0]
- str r7, [sp, #0x8]
- str r0, [sp, #0xc]
- ldr r0, [sp, #0xb4]
- add r2, r5, #0x0
- str r0, [sp, #0x10]
- ldr r0, [sp, #0xb8]
- mov r3, r12
- str r0, [sp, #0x14]
- ldr r0, [sp, #0xbc]
- str r0, [sp, #0x18]
- ldr r0, [sp, #0x1c]
- bl FUN_0201219C
- str r0, [sp, #0x24]
- mov r4, #0x0
- add r5, sp, #0x2c
-_02012504:
- ldr r0, [sp, #0x24]
- add r1, r7, #0x0
- str r0, [sp, #0x0]
- ldr r0, [sp, #0xac]
- add r2, r5, #0x0
- str r0, [sp, #0x4]
- add r0, r6, #0x0
- add r3, sp, #0x28
- bl FUN_02012370
- add r4, r4, #0x1
- add r5, #0x10
- cmp r4, #0x6
- blt _02012504
- ldr r0, [sp, #0x24]
- bl FUN_02016A18
- add sp, #0x8c
- pop {r4-r7, pc}
- nop
-_0201252C: .word 0x020ED438
-
- thumb_func_start FUN_02012530
-FUN_02012530: ; 0x02012530
- push {r4, lr}
- sub sp, #0x20
- ldr r4, [r3, #0x4]
- str r4, [sp, #0x0]
- ldr r4, [r3, #0x8]
- str r4, [sp, #0x4]
- ldr r4, [r3, #0xc]
- str r4, [sp, #0x8]
- ldr r4, [sp, #0x28]
- str r4, [sp, #0xc]
- ldr r4, [sp, #0x2c]
- str r4, [sp, #0x10]
- ldr r4, [sp, #0x30]
- str r4, [sp, #0x14]
- ldr r4, [sp, #0x34]
- str r4, [sp, #0x18]
- ldr r4, [sp, #0x38]
- str r4, [sp, #0x1c]
- ldr r3, [r3, #0x0]
- bl FUN_020124B4
- add sp, #0x20
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02012560
-FUN_02012560: ; 0x02012560
- push {r4-r7, lr}
- sub sp, #0x24
- ldr r4, _02012598 ; =0x020ED3C8
- add r5, r3, #0x0
- add r3, sp, #0x14
- add r7, r0, #0x0
- mov r12, r1
- add r6, r3, #0x0
- ldmia r4!, {r0-r1}
- stmia r3!, {r0-r1}
- ldmia r4!, {r0-r1}
- stmia r3!, {r0-r1}
- ldr r0, [sp, #0x38]
- str r5, [sp, #0x0]
- str r0, [sp, #0x4]
- ldr r0, [sp, #0x3c]
- mov r1, r12
- str r0, [sp, #0x8]
- ldr r0, [sp, #0x40]
- add r3, r6, #0x0
- str r0, [sp, #0xc]
- ldr r0, [sp, #0x44]
- str r0, [sp, #0x10]
- add r0, r7, #0x0
- bl FUN_02012530
- add sp, #0x24
- pop {r4-r7, pc}
- .balign 4
-_02012598: .word 0x020ED3C8
-
- thumb_func_start FUN_0201259C
-FUN_0201259C: ; 0x0201259C
- push {r3, lr}
- blx RTC_Init
- ldr r3, _020125CC ; =0x021C4808
- mov r0, #0x0
- add r2, r3, #0x0
- add r1, r0, #0x0
- stmia r2!, {r0-r1}
- stmia r2!, {r0-r1}
- stmia r2!, {r0-r1}
- stmia r2!, {r0-r1}
- stmia r2!, {r0-r1}
- stmia r2!, {r0-r1}
- stmia r2!, {r0-r1}
- stmia r2!, {r0-r1}
- stmia r2!, {r0-r1}
- ldr r1, _020125D0 ; =0x021C4808
- str r0, [r1, #0x0]
- str r0, [r1, #0x4]
- str r0, [r1, #0x8]
- add r0, r3, #0x0
- bl FUN_02012634
- pop {r3, pc}
- .balign 4
-_020125CC: .word 0x021C4808
-_020125D0: .word 0x021C4808
-
- thumb_func_start FUN_020125D4
-FUN_020125D4: ; 0x020125D4
- push {r3, lr}
- ldr r0, _020125F4 ; =0x021C4808
- ldr r1, [r0, #0x4]
- cmp r1, #0x0
- bne _020125F2
- ldr r1, [r0, #0x8]
- add r1, r1, #0x1
- str r1, [r0, #0x8]
- cmp r1, #0xa
- ble _020125F2
- mov r1, #0x0
- str r1, [r0, #0x8]
- ldr r0, _020125F8 ; =0x021C4808
- bl FUN_02012634
-_020125F2:
- pop {r3, pc}
- .balign 4
-_020125F4: .word 0x021C4808
-_020125F8: .word 0x021C4808
-
- thumb_func_start FUN_020125FC
-FUN_020125FC: ; 0x020125FC
- push {r4, lr}
- add r4, r1, #0x0
- str r0, [r4, #0xc]
- cmp r0, #0x0
- beq _0201260A
- bl ErrorHandling
-_0201260A:
- add r3, r4, #0x0
- mov r0, #0x1
- add r2, r4, #0x0
- add r3, #0x2c
- str r0, [r4, #0x0]
- ldmia r3!, {r0-r1}
- add r2, #0x10
- stmia r2!, {r0-r1}
- ldmia r3!, {r0-r1}
- stmia r2!, {r0-r1}
- add r3, r4, #0x0
- add r3, #0x3c
- add r2, r4, #0x0
- ldmia r3!, {r0-r1}
- add r2, #0x20
- stmia r2!, {r0-r1}
- ldr r0, [r3, #0x0]
- str r0, [r2, #0x0]
- mov r0, #0x0
- str r0, [r4, #0x4]
- pop {r4, pc}
-
- thumb_func_start FUN_02012634
-FUN_02012634: ; 0x02012634
- push {r4, lr}
- add r4, r0, #0x0
- mov r0, #0x1
- str r0, [r4, #0x4]
- add r0, r4, #0x0
- add r1, r4, #0x0
- ldr r2, _02012658 ; =FUN_020125FC
- add r0, #0x2c
- add r1, #0x3c
- add r3, r4, #0x0
- blx RTC_GetDateTimeAsync
- str r0, [r4, #0xc]
- cmp r0, #0x0
- beq _02012656
- bl ErrorHandling
-_02012656:
- pop {r4, pc}
- .balign 4
-_02012658: .word FUN_020125FC
-
- thumb_func_start FUN_0201265C
-FUN_0201265C: ; 0x0201265C
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r0, _02012684 ; =0x021C4808
- add r4, r1, #0x0
- ldr r0, [r0, #0x0]
- cmp r0, #0x1
- beq _0201266E
- bl ErrorHandling
-_0201266E:
- ldr r2, _02012688 ; =0x021C4818
- ldmia r2!, {r0-r1}
- stmia r5!, {r0-r1}
- ldmia r2!, {r0-r1}
- ldr r2, _0201268C ; =0x021C4828
- stmia r5!, {r0-r1}
- ldmia r2!, {r0-r1}
- stmia r4!, {r0-r1}
- ldr r0, [r2, #0x0]
- str r0, [r4, #0x0]
- pop {r3-r5, pc}
- .balign 4
-_02012684: .word 0x021C4808
-_02012688: .word 0x021C4818
-_0201268C: .word 0x021C4828
-
- thumb_func_start FUN_02012690
-FUN_02012690: ; 0x02012690
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, _020126AC ; =0x021C4808
- ldr r0, [r0, #0x0]
- cmp r0, #0x1
- beq _020126A0
- bl ErrorHandling
-_020126A0:
- ldr r2, _020126B0 ; =0x021C4828
- ldmia r2!, {r0-r1}
- stmia r4!, {r0-r1}
- ldr r0, [r2, #0x0]
- str r0, [r4, #0x0]
- pop {r4, pc}
- .balign 4
-_020126AC: .word 0x021C4808
-_020126B0: .word 0x021C4828
-
- thumb_func_start FUN_020126B4
-FUN_020126B4: ; 0x020126B4
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, _020126D0 ; =0x021C4808
- ldr r0, [r0, #0x0]
- cmp r0, #0x1
- beq _020126C4
- bl ErrorHandling
-_020126C4:
- ldr r2, _020126D4 ; =0x021C4818
- ldmia r2!, {r0-r1}
- stmia r4!, {r0-r1}
- ldmia r2!, {r0-r1}
- stmia r4!, {r0-r1}
- pop {r4, pc}
- .balign 4
-_020126D0: .word 0x021C4808
-_020126D4: .word 0x021C4818
-
- thumb_func_start FUN_020126D8
-FUN_020126D8: ; 0x020126D8
- push {r3-r4}
- ldr r4, _020126F8 ; =0x021C4828
- mov r0, #0x3c
- ldr r1, [r4, #0x4]
- ldr r3, [r4, #0x8]
- add r2, r1, #0x0
- mul r2, r0
- mov r0, #0xe1
- ldr r1, [r4, #0x0]
- lsl r0, r0, #0x4
- mul r0, r1
- add r0, r2, r0
- add r0, r3, r0
- pop {r3-r4}
- bx lr
- nop
-_020126F8: .word 0x021C4828
-
- thumb_func_start FUN_020126FC
-FUN_020126FC: ; 0x020126FC
- ldr r3, _02012704 ; =RTC_ConvertDateTimeToSecond
- ldr r0, _02012708 ; =0x021C4818
- ldr r1, _0201270C ; =0x021C4828
- bx r3
- .balign 4
-_02012704: .word RTC_ConvertDateTimeToSecond
-_02012708: .word 0x021C4818
-_0201270C: .word 0x021C4828
-
- thumb_func_start FUN_02012710
-FUN_02012710: ; 0x02012710
- push {r4-r6, lr}
- sub sp, #0x10
- add r5, r0, #0x0
- ldr r2, [r5, #0x4]
- ldr r0, _02012778 ; =0x020ED4B2
- lsl r1, r2, #0x1
- ldrh r0, [r0, r1]
- ldr r3, [r5, #0x8]
- add r4, r3, r0
- cmp r2, #0x3
- blo _02012752
- ldr r6, [r5, #0x0]
- mov r0, #0x1e
- lsr r2, r6, #0x1f
- lsl r1, r6, #0x1e
- sub r1, r1, r2
- ror r1, r0
- add r0, r2, r1
- bne _02012742
- add r0, r6, #0x0
- mov r1, #0x64
- blx _s32_div_f
- cmp r1, #0x0
- bne _02012750
-_02012742:
- mov r1, #0x19
- add r0, r6, #0x0
- lsl r1, r1, #0x4
- blx _s32_div_f
- cmp r1, #0x0
- bne _02012752
-_02012750:
- add r4, r4, #0x1
-_02012752:
- add r6, r5, #0x0
- 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, #0x1
- str r0, [sp, #0x4]
- str r0, [sp, #0x8]
- add r0, r2, #0x0
- blx RTC_ConvertDateToDay
- add r0, r5, #0x0
- blx RTC_ConvertDateToDay
- add r0, r4, #0x0
- add sp, #0x10
- pop {r4-r6, pc}
- .balign 4
-_02012778: .word 0x020ED4B2
-
- thumb_func_start FUN_0201277C
-FUN_0201277C: ; 0x0201277C
- push {r3, lr}
- bl FUN_02012794
- cmp r0, #0x3
- beq _0201278A
- cmp r0, #0x4
- bne _0201278E
-_0201278A:
- mov r0, #0x1
- pop {r3, pc}
-_0201278E:
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_02012794
-FUN_02012794: ; 0x02012794
- push {lr}
- sub sp, #0xc
- add r0, sp, #0x0
- bl FUN_02012690
- ldr r0, [sp, #0x0]
- bl FUN_020127A8
- add sp, #0xc
- pop {pc}
-
- thumb_func_start FUN_020127A8
-FUN_020127A8: ; 0x020127A8
- push {r4, lr}
- add r4, r0, #0x0
- bmi _020127B2
- cmp r4, #0x18
- blt _020127B6
-_020127B2:
- bl ErrorHandling
-_020127B6:
- ldr r0, _020127BC ; =0x020ED4CC
- ldrb r0, [r0, r4]
- pop {r4, pc}
- .balign 4
-_020127BC: .word 0x020ED4CC
-
- thumb_func_start FUN_020127C0
-FUN_020127C0: ; 0x020127C0
- push {r4-r7, lr}
- sub sp, #0x24
- add r6, r3, #0x0
- ldr r3, _0201282C ; =0x020ED4A4
- add r4, r0, #0x0
- add r7, r1, #0x0
- add r5, r2, #0x0
- add r2, sp, #0x14
- ldmia r3!, {r0-r1}
- str r2, [sp, #0x0]
- stmia r2!, {r0-r1}
- ldmia r3!, {r0-r1}
- stmia r2!, {r0-r1}
- ldr r3, _02012830 ; =0x020ED498
- add r2, sp, #0x8
- ldmia r3!, {r0-r1}
- str r2, [sp, #0x4]
- stmia r2!, {r0-r1}
- ldr r0, [r3, #0x0]
- ldr r1, [sp, #0x4]
- str r0, [r2, #0x0]
- ldr r0, [sp, #0x0]
- blx RTC_ConvertDateTimeToSecond
- add r2, r1, #0x0
- add r3, r0, #0x0
- mov r1, #0x0
- ldr r0, _02012834 ; =0xBC19137F
- eor r1, r2
- eor r0, r3
- orr r0, r1
- beq _02012804
- bl ErrorHandling
-_02012804:
- sub r0, r4, r5
- mov r12, r7
- mov r0, r12
- sbc r0, r6
- bge _02012818
- sub r0, r5, r4
- sbc r6, r7
- add sp, #0x24
- add r1, r6, #0x0
- pop {r4-r7, pc}
-_02012818:
- ldr r0, _02012834 ; =0xBC19137F
- mov r1, #0x0
- sub r0, r0, r4
- sbc r1, r7
- add r0, r5, r0
- adc r6, r1
- add r1, r6, #0x0
- add sp, #0x24
- pop {r4-r7, pc}
- nop
-_0201282C: .word 0x020ED4A4
-_02012830: .word 0x020ED498
-_02012834: .word 0xBC19137F
-
- thumb_func_start FUN_02012838
-FUN_02012838: ; 0x02012838
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- add r1, r5, #0x1
- add r0, r4, #0x0
- lsl r1, r1, #0x3
- bl FUN_02016998
- cmp r0, #0x0
- beq _0201286E
- mov r2, #0x0
- cmp r5, #0x0
- bls _02012862
- add r3, r0, #0x0
- add r1, r2, #0x0
-_02012856:
- str r1, [r3, #0x0]
- str r1, [r3, #0x4]
- add r2, r2, #0x1
- add r3, #0x8
- cmp r2, r5
- blo _02012856
-_02012862:
- mov r1, #0x0
- lsl r2, r2, #0x3
- mvn r1, r1
- str r1, [r0, r2]
- add r1, r0, r2
- str r4, [r1, #0x4]
-_0201286E:
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02012870
-FUN_02012870: ; 0x02012870
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_0201291C
- add r0, r4, #0x0
- bl FUN_02016A18
- pop {r4, pc}
-
- thumb_func_start FUN_02012880
-FUN_02012880: ; 0x02012880
- push {r3-r7, lr}
- add r6, r1, #0x0
- add r1, sp, #0x0
- add r7, r2, #0x0
- add r5, r3, #0x0
- bl FUN_020128E0
- add r4, r0, #0x0
- beq _0201289E
- add r0, r6, #0x0
- add r1, r7, #0x0
- bl FUN_0200A914
- str r0, [r4, #0x0]
- str r5, [r4, #0x4]
-_0201289E:
- pop {r3-r7, pc}
-
- thumb_func_start FUN_020128A0
-FUN_020128A0: ; 0x020128A0
- push {r3-r6, lr}
- sub sp, #0x4
- add r6, r1, #0x0
- add r1, sp, #0x0
- add r5, r2, #0x0
- bl FUN_020128E0
- add r4, r0, #0x0
- beq _020128BE
- ldr r1, [sp, #0x0]
- add r0, r6, #0x0
- bl FUN_02021ACC
- str r0, [r4, #0x0]
- str r5, [r4, #0x4]
-_020128BE:
- add sp, #0x4
- pop {r3-r6, pc}
- .balign 4
-
- thumb_func_start FUN_020128C4
-FUN_020128C4: ; 0x020128C4
- push {r3-r4, lr}
- sub sp, #0x4
- add r4, r1, #0x0
- add r1, sp, #0x0
- bl FUN_020128E0
- cmp r0, #0x0
- beq _020128DC
- ldr r1, [r4, #0x0]
- str r1, [r0, #0x0]
- ldr r1, [r4, #0x4]
- str r1, [r0, #0x4]
-_020128DC:
- add sp, #0x4
- pop {r3-r4, pc}
-
- thumb_func_start FUN_020128E0
-FUN_020128E0: ; 0x020128E0
- push {r4, lr}
- ldr r3, [r0, #0x0]
- cmp r3, #0x0
- beq _02012900
- mov r2, #0x0
- mvn r2, r2
-_020128EC:
- cmp r3, r2
- bne _020128F8
- bl ErrorHandling
- mov r0, #0x0
- pop {r4, pc}
-_020128F8:
- add r0, #0x8
- ldr r3, [r0, #0x0]
- cmp r3, #0x0
- bne _020128EC
-_02012900:
- mov r2, #0x0
- mvn r2, r2
- add r4, r0, #0x0
- cmp r3, r2
- beq _02012912
-_0201290A:
- add r0, #0x8
- ldr r3, [r0, #0x0]
- cmp r3, r2
- bne _0201290A
-_02012912:
- ldr r0, [r0, #0x4]
- str r0, [r1, #0x0]
- add r0, r4, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0201291C
-FUN_0201291C: ; 0x0201291C
- push {r4-r6, lr}
- add r5, r0, #0x0
- mov r0, #0x0
- ldr r1, [r5, #0x0]
- mvn r0, r0
- cmp r1, r0
- beq _02012942
- mov r4, #0x0
- add r6, r0, #0x0
-_0201292E:
- ldr r0, [r5, #0x0]
- cmp r0, #0x0
- beq _02012942
- bl FUN_02021A20
- str r4, [r5, #0x0]
- add r5, #0x8
- ldr r0, [r5, #0x0]
- cmp r0, r6
- bne _0201292E
-_02012942:
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02012944
-FUN_02012944: ; 0x02012944
- push {r3-r5, lr}
- add r5, r1, #0x0
- mov r1, #0xc
- add r4, r2, #0x0
- 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]
- mov r1, #0x1
- strb r1, [r0, #0x9]
- str r5, [r0, #0x0]
- str r4, [r0, #0x4]
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02012974
-FUN_02012974: ; 0x02012974
- push {r4, lr}
- add r4, r0, #0x0
- bne _0201297E
- bl ErrorHandling
-_0201297E:
- add r0, r4, #0x0
- bl FUN_02016A18
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02012988
-FUN_02012988: ; 0x02012988
- push {r4, lr}
- add r4, r0, #0x0
- bne _02012992
- bl ErrorHandling
-_02012992:
- ldrb r0, [r4, #0x8]
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0201299C
-FUN_0201299C: ; 0x0201299C
- push {r4, lr}
- add r4, r0, #0x0
- bne _020129A6
- bl ErrorHandling
-_020129A6:
- ldrb r1, [r4, #0x8]
- mov r0, #0x1
- eor r0, r1
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_020129B4
-FUN_020129B4: ; 0x020129B4
- cmp r0, #0x0
- beq _020129C6
- ldrb r1, [r0, #0x9]
- cmp r1, #0x0
- beq _020129C6
- ldrb r2, [r0, #0x8]
- mov r1, #0x1
- eor r1, r2
- strb r1, [r0, #0x8]
-_020129C6:
- bx lr
-
- thumb_func_start FUN_020129C8
-FUN_020129C8: ; 0x020129C8
- push {r3, lr}
- mov r0, #0x0
- blx MI_StopDma
- mov r0, #0x0
- blx MI_WaitDma
- pop {r3, pc}
-
- thumb_func_start FUN_020129D8
-FUN_020129D8: ; 0x020129D8
- push {r4-r6, lr}
- add r6, r0, #0x0
- add r5, r1, #0x0
- add r4, r2, #0x0
- cmp r3, #0x1
- bne _020129F2
- mov r0, #0x0
- add r1, r6, #0x0
- add r2, r5, #0x0
- add r3, r4, #0x0
- blx MI_HBlankDmaCopy32
- pop {r4-r6, pc}
-_020129F2:
- mov r0, #0x0
- add r1, r6, #0x0
- add r2, r5, #0x0
- add r3, r4, #0x0
- blx MI_HBlankDmaCopy16
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02012A00
-FUN_02012A00: ; 0x02012A00
- push {r3-r5, lr}
- ldr r1, _02012A2C ; =0x0000079C
- add r5, r0, #0x0
- bl FUN_02016998
- ldr r2, _02012A2C ; =0x0000079C
- mov r1, #0x0
- add r4, r0, #0x0
- blx Call_FillMemWithValue
- mov r2, #0x3
- lsl r2, r2, #0x8
- add r0, r5, #0x0
- add r1, r4, #0x0
- add r2, r4, r2
- bl FUN_02012944
- mov r1, #0x6
- lsl r1, r1, #0x8
- str r0, [r4, r1]
- add r0, r4, #0x0
- pop {r3-r5, pc}
- .balign 4
-_02012A2C: .word 0x0000079C
-
- thumb_func_start FUN_02012A30
-FUN_02012A30: ; 0x02012A30
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- add r6, r2, #0x0
- add r7, r3, #0x0
- cmp r5, #0x0
- bne _02012A42
- bl ErrorHandling
-_02012A42:
- ldr r0, _02012AB0 ; =0x00000604
- ldr r0, [r5, r0]
- cmp r0, #0x0
- beq _02012A4E
- bl ErrorHandling
-_02012A4E:
- ldr r0, _02012AB4 ; =0x0000078C
- mov r2, #0x0
- strb r4, [r5, r0]
- add r1, r0, #0x1
- strb r6, [r5, r1]
- add r1, r0, #0x0
- add r1, #0xc
- strh r2, [r5, r1]
- add r2, sp, #0x8
- mov r1, #0x14
- ldrsh r2, [r2, r1]
- add r1, r0, #0x0
- add r1, #0xe
- strh r2, [r5, r1]
- add r1, r0, #0x4
- ldr r2, [sp, #0x20]
- add r0, #0x8
- str r2, [r5, r1]
- ldr r1, [sp, #0x24]
- ldr r3, [sp, #0x18]
- str r1, [r5, r0]
- ldr r0, _02012AB8 ; =0x0000060C
- mov r1, #0xc0
- add r0, r5, r0
- add r2, r7, #0x0
- bl FUN_02012B88
- ldr r0, _02012ABC ; =FUN_02012BE4
- ldr r2, [sp, #0x28]
- add r1, r5, #0x0
- bl FUN_0200CA44
- ldr r1, _02012AB0 ; =0x00000604
- mov r2, #0x3
- str r0, [r5, r1]
- ldr r0, _02012AC0 ; =0x00000794
- add r1, r5, #0x0
- ldr r0, [r5, r0]
- lsl r2, r2, #0x8
- blx MIi_CpuClear32
- ldr r0, _02012AC0 ; =0x00000794
- mov r2, #0x3
- lsl r2, r2, #0x8
- ldr r0, [r5, r0]
- add r1, r5, r2
- blx MIi_CpuClear32
- pop {r3-r7, pc}
- .balign 4
-_02012AB0: .word 0x00000604
-_02012AB4: .word 0x0000078C
-_02012AB8: .word 0x0000060C
-_02012ABC: .word FUN_02012BE4
-_02012AC0: .word 0x00000794
-
- thumb_func_start FUN_02012AC4
-FUN_02012AC4: ; 0x02012AC4
- push {r4, lr}
- add r4, r0, #0x0
- bne _02012ACE
- bl ErrorHandling
-_02012ACE:
- ldr r0, _02012AF8 ; =0x00000604
- ldr r0, [r4, r0]
- cmp r0, #0x0
- beq _02012AF4
- bl FUN_0200CAB4
- ldr r0, _02012AF8 ; =0x00000604
- mov r1, #0x0
- str r1, [r4, r0]
- sub r0, r0, #0x4
- ldr r0, [r4, r0]
- bl FUN_02012988
- ldr r1, _02012AFC ; =0x00000794
- mov r2, #0x3
- ldr r1, [r4, r1]
- lsl r2, r2, #0x8
- blx Call_FillMemWithValue
-_02012AF4:
- pop {r4, pc}
- nop
-_02012AF8: .word 0x00000604
-_02012AFC: .word 0x00000794
-
- thumb_func_start FUN_02012B00
-FUN_02012B00: ; 0x02012B00
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_02012AC4
- bl FUN_02012C90
- mov r0, #0x6
- lsl r0, r0, #0x8
- ldr r0, [r4, r0]
- bl FUN_02012974
- add r0, r4, #0x0
- bl FUN_02016A18
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02012B20
-FUN_02012B20: ; 0x02012B20
- mov r1, #0x6
- lsl r1, r1, #0x8
- ldr r3, _02012B2C ; =FUN_02012988
- ldr r0, [r0, r1]
- bx r3
- nop
-_02012B2C: .word FUN_02012988
-
- thumb_func_start FUN_02012B30
-FUN_02012B30: ; 0x02012B30
- push {r4, lr}
- add r4, r0, #0x0
- beq _02012B5E
- ldr r0, _02012B60 ; =0x00000604
- ldr r1, [r4, r0]
- cmp r1, #0x0
- beq _02012B5E
- sub r0, r0, #0x4
- ldr r0, [r4, r0]
- bl FUN_020129B4
- mov r0, #0x6
- lsl r0, r0, #0x8
- ldr r0, [r4, r0]
- bl FUN_02012988
- add r1, r0, #0x0
- ldr r0, _02012B64 ; =0x00000794
- mov r2, #0x3
- ldr r0, [r4, r0]
- lsl r2, r2, #0x8
- blx MIi_CpuClear32
-_02012B5E:
- pop {r4, pc}
- .balign 4
-_02012B60: .word 0x00000604
-_02012B64: .word 0x00000794
-
- thumb_func_start FUN_02012B68
-FUN_02012B68: ; 0x02012B68
- push {r4, lr}
- add r4, r0, #0x0
- beq _02012B80
- ldr r0, _02012B84 ; =0x00000604
- ldr r0, [r4, r0]
- cmp r0, #0x0
- beq _02012B80
- bl FUN_02012C90
- add r0, r4, #0x0
- bl FUN_02012C98
-_02012B80:
- pop {r4, pc}
- nop
-_02012B84: .word 0x00000604
-
- thumb_func_start FUN_02012B88
-FUN_02012B88: ; 0x02012B88
- push {r4-r7, lr}
- sub sp, #0xc
- mov r4, #0x0
- add r7, r1, #0x0
- add r5, r0, #0x0
- add r6, r4, #0x0
- str r2, [sp, #0x0]
- cmp r7, #0x0
- bls _02012BD6
- asr r0, r3, #0x1f
- str r3, [sp, #0x4]
- str r0, [sp, #0x8]
-_02012BA0:
- asr r0, r4, #0x4
- lsl r1, r0, #0x2
- ldr r0, _02012BDC ; =0x020FFA38
- ldr r2, [sp, #0x4]
- ldrsh r0, [r0, r1]
- ldr r3, [sp, #0x8]
- asr r1, r0, #0x1f
- blx _ll_mul
- mov r2, #0x2
- lsl r2, r2, #0xa
- add r0, r0, r2
- ldr r2, _02012BE0 ; =0x00000000
- adc r1, r2
- lsl r1, r1, #0x14
- lsr r0, r0, #0xc
- orr r0, r1
- asr r0, r0, #0xc
- strh r0, [r5, #0x0]
- ldr r0, [sp, #0x0]
- add r6, r6, #0x1
- add r0, r4, r0
- lsl r0, r0, #0x10
- lsr r4, r0, #0x10
- add r5, r5, #0x2
- cmp r6, r7
- blo _02012BA0
-_02012BD6:
- add sp, #0xc
- pop {r4-r7, pc}
- nop
-_02012BDC: .word 0x020FFA38
-_02012BE0: .word 0x00000000
-
- thumb_func_start FUN_02012BE4
-FUN_02012BE4: ; 0x02012BE4
- push {r3-r7, lr}
- mov r0, #0x6
- add r6, r1, #0x0
- lsl r0, r0, #0x8
- ldr r0, [r6, r0]
- bl FUN_02012988
- add r5, r0, #0x0
- ldr r0, _02012C80 ; =0x00000798
- mov r1, #0x64
- ldrsh r0, [r6, r0]
- blx _s32_div_f
- lsl r0, r0, #0x18
- lsr r3, r0, #0x18
- ldr r0, _02012C84 ; =0x0000078C
- ldrb r4, [r6, r0]
- add r0, r0, #0x1
- ldrb r0, [r6, r0]
- cmp r4, r0
- bgt _02012C4C
- lsl r0, r4, #0x2
- add r5, r5, r0
-_02012C12:
- ldr r2, [r5, #0x0]
- lsl r0, r2, #0x10
- asr r7, r0, #0x10
- lsl r0, r3, #0x1
- add r1, r6, r0
- ldr r0, _02012C88 ; =0x0000060C
- ldrsh r0, [r1, r0]
- add r0, r7, r0
- lsl r0, r0, #0x10
- asr r1, r0, #0x10
- lsr r0, r2, #0x10
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- lsl r1, r1, #0x10
- lsl r0, r0, #0x10
- lsr r1, r1, #0x10
- orr r0, r1
- stmia r5!, {r0}
- add r0, r3, #0x1
- mov r1, #0xc0
- blx _s32_div_f
- lsl r0, r1, #0x18
- lsr r3, r0, #0x18
- ldr r0, _02012C8C ; =0x0000078D
- add r4, r4, #0x1
- ldrb r0, [r6, r0]
- cmp r4, r0
- ble _02012C12
-_02012C4C:
- ldr r1, _02012C80 ; =0x00000798
- add r0, r1, #0x2
- ldrsh r2, [r6, r1]
- ldrsh r0, [r6, r0]
- add r4, r6, r1
- add r0, r2, r0
- strh r0, [r4, #0x0]
- ldrsh r0, [r6, r1]
- mov r1, #0x4b
- lsl r1, r1, #0x8
- cmp r0, r1
- blt _02012C70
- mov r0, #0x0
- ldrsh r0, [r4, r0]
- blx _s32_div_f
- strh r1, [r4, #0x0]
- pop {r3-r7, pc}
-_02012C70:
- cmp r0, #0x0
- bge _02012C7C
- mov r0, #0x0
- ldrsh r0, [r4, r0]
- add r0, r0, r1
- strh r0, [r4, #0x0]
-_02012C7C:
- pop {r3-r7, pc}
- nop
-_02012C80: .word 0x00000798
-_02012C84: .word 0x0000078C
-_02012C88: .word 0x0000060C
-_02012C8C: .word 0x0000078D
-
- thumb_func_start FUN_02012C90
-FUN_02012C90: ; 0x02012C90
- ldr r3, _02012C94 ; =FUN_020129C8
- bx r3
- .balign 4
-_02012C94: .word FUN_020129C8
-
- thumb_func_start FUN_02012C98
-FUN_02012C98: ; 0x02012C98
- push {r3-r5, lr}
- add r4, r0, #0x0
- bne _02012CA2
- bl ErrorHandling
-_02012CA2:
- mov r0, #0x6
- lsl r0, r0, #0x8
- ldr r0, [r4, r0]
- bl FUN_0201299C
- mov r1, #0x3
- lsl r1, r1, #0x8
- add r5, r0, #0x0
- blx DC_FlushRange
- mov r1, #0x79
- lsl r1, r1, #0x4
- ldr r1, [r4, r1]
- add r0, r5, #0x0
- mov r2, #0x4
- mov r3, #0x1
- bl FUN_020129D8
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02012CC8
-FUN_02012CC8: ; 0x02012CC8
- mov r1, #0x0
- ldr r2, _02012CD8 ; =0x021C4858
- add r0, r1, #0x0
-_02012CCE:
- add r1, r1, #0x1
- stmia r2!, {r0}
- cmp r1, #0x10
- blt _02012CCE
- bx lr
- .balign 4
-_02012CD8: .word 0x021C4858
-
- thumb_func_start FUN_02012CDC
-FUN_02012CDC: ; 0x02012CDC
- push {r3-r7, lr}
- sub sp, #0x10
- str r1, [sp, #0x8]
- ldr r1, _02012DD0 ; =0x021C4858
- add r7, r0, #0x0
- add r6, r2, #0x0
- str r3, [sp, #0xc]
- mov r5, #0x0
-_02012CEC:
- ldr r0, [r1, #0x0]
- cmp r0, #0x0
- beq _02012CFA
- add r5, r5, #0x1
- add r1, r1, #0x4
- cmp r5, #0x10
- blt _02012CEC
-_02012CFA:
- cmp r5, #0x10
- blt _02012D04
- add sp, #0x10
- mov r0, #0x0
- pop {r3-r7, pc}
-_02012D04:
- ldr r0, [sp, #0x2c]
- mov r1, #0xdc
- bl FUN_02016998
- add r4, r0, #0x0
- bne _02012D14
- bl ErrorHandling
-_02012D14:
- add r0, r4, #0x0
- mov r1, #0x0
- mov r2, #0xdc
- blx Call_FillMemWithValue
- add r2, r4, #0x0
- ldr r0, [sp, #0x8]
- str r7, [r4, #0x18]
- ldr r3, _02012DD4 ; =0x020ED4FC
- str r0, [r4, #0x1c]
- ldmia r3!, {r0-r1}
- add r2, #0x34
- stmia r2!, {r0-r1}
- ldr r0, [r3, #0x0]
- ldr r3, _02012DD8 ; =0x020ED4E4
- str r0, [r2, #0x0]
- add r2, r4, #0x0
- ldmia r3!, {r0-r1}
- add r2, #0x40
- stmia r2!, {r0-r1}
- ldr r0, [r3, #0x0]
- ldr r3, _02012DDC ; =0x020ED4F0
- str r0, [r2, #0x0]
- add r2, r4, #0x0
- ldmia r3!, {r0-r1}
- add r2, #0x4c
- stmia r2!, {r0-r1}
- ldr r0, [r3, #0x0]
- mov r1, #0x0
- str r0, [r2, #0x0]
- ldr r2, [sp, #0xc]
- add r0, r6, #0x0
- blx Call_FillMemWithValue
- ldr r0, [sp, #0xc]
- str r6, [r4, #0xc]
- str r6, [r4, #0x10]
- add r0, r6, r0
- str r0, [r4, #0x14]
- add r0, r4, #0x0
- add r0, #0xda
- strb r5, [r0, #0x0]
- ldr r0, _02012DD0 ; =0x021C4858
- lsl r5, r5, #0x2
- str r4, [r0, r5]
- ldr r0, [sp, #0x28]
- cmp r0, #0x1
- bne _02012DA8
- ldr r0, [sp, #0x2c]
- bl FUN_0201EB64
- str r0, [r4, #0x20]
- mov r3, #0x0
- str r3, [r4, #0x24]
- str r3, [r4, #0x28]
- mov r0, #0x2
- str r3, [r4, #0x2c]
- lsl r0, r0, #0xc
- strh r0, [r4, #0x30]
- str r3, [sp, #0x0]
- ldr r0, [r4, #0x20]
- ldr r1, _02012DD4 ; =0x020ED4FC
- str r0, [sp, #0x4]
- ldrh r2, [r4, #0x30]
- ldr r0, _02012DDC ; =0x020ED4F0
- bl FUN_0201ED5C
- add r0, r4, #0x0
- mov r1, #0x0
- add r0, #0xdb
- strb r1, [r0, #0x0]
- ldr r0, [r4, #0x20]
- bl FUN_0201EB8C
-_02012DA8:
- mov r0, #0x6
- str r0, [sp, #0x0]
- mov r0, #0x3f
- str r0, [sp, #0x4]
- ldr r0, _02012DE0 ; =0x020ED508
- mov r1, #0x14
- ldr r0, [r0, r5]
- mov r2, #0xc8
- mov r3, #0x5
- blx FUN_0208B4A0
- str r0, [r4, #0x0]
- ldr r1, _02012DD8 ; =0x020ED4E4
- add r0, r4, #0x0
- bl FUN_020133FC
- add r0, r4, #0x0
- add sp, #0x10
- pop {r3-r7, pc}
- nop
-_02012DD0: .word 0x021C4858
-_02012DD4: .word 0x020ED4FC
-_02012DD8: .word 0x020ED4E4
-_02012DDC: .word 0x020ED4F0
-_02012DE0: .word 0x020ED508
-
- thumb_func_start FUN_02012DE4
-FUN_02012DE4: ; 0x02012DE4
- push {r3-r7, lr}
- add r5, r0, #0x0
- bl FUN_020133D0
- add r0, r5, #0x0
- add r0, #0xd8
- ldrb r1, [r0, #0x0]
- mov r0, #0x1
- tst r0, r1
- beq _02012E02
- add r0, r5, #0x0
- add r0, #0x58
- blx FUN_020AE8CC
- b _02012E22
-_02012E02:
- mov r0, #0x2
- tst r0, r1
- beq _02012E22
- mov r6, #0x0
- add r4, r5, #0x0
- add r7, r6, #0x0
-_02012E0E:
- ldr r0, [r4, #0x58]
- cmp r0, #0x0
- beq _02012E1A
- blx FUN_020AF894
- str r7, [r4, #0x58]
-_02012E1A:
- add r6, r6, #0x1
- add r4, r4, #0x4
- cmp r6, #0x10
- blt _02012E0E
-_02012E22:
- add r0, r5, #0x0
- add r0, #0xd8
- ldrb r1, [r0, #0x0]
- mov r0, #0x4
- tst r0, r1
- beq _02012E38
- add r0, r5, #0x0
- add r0, #0x98
- blx FUN_020AEC7C
- b _02012E60
-_02012E38:
- mov r0, #0x8
- tst r0, r1
- beq _02012E60
- mov r6, #0x0
- add r4, r5, #0x0
- add r7, r6, #0x0
-_02012E44:
- add r0, r4, #0x0
- add r0, #0x98
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- beq _02012E58
- blx FUN_020AFA80
- add r0, r4, #0x0
- add r0, #0x98
- str r7, [r0, #0x0]
-_02012E58:
- add r6, r6, #0x1
- add r4, r4, #0x4
- cmp r6, #0x10
- blt _02012E44
-_02012E60:
- add r0, r5, #0x0
- mov r1, #0x0
- add r0, #0xd8
- strb r1, [r0, #0x0]
- str r1, [r5, #0x8]
- ldr r0, [r5, #0x4]
- cmp r0, #0x0
- beq _02012E78
- bl FUN_02016A18
- mov r0, #0x0
- str r0, [r5, #0x4]
-_02012E78:
- ldr r2, _02012EA8 ; =0x021C4858
- mov r1, #0x0
-_02012E7C:
- ldr r0, [r2, #0x0]
- cmp r0, r5
- bne _02012E8C
- ldr r0, _02012EA8 ; =0x021C4858
- mov r2, #0x0
- lsl r1, r1, #0x2
- str r2, [r0, r1]
- b _02012E94
-_02012E8C:
- add r1, r1, #0x1
- add r2, r2, #0x4
- cmp r1, #0x10
- blt _02012E7C
-_02012E94:
- ldr r0, [r5, #0x20]
- cmp r0, #0x0
- beq _02012E9E
- bl FUN_0201EB70
-_02012E9E:
- add r0, r5, #0x0
- bl FUN_02016A18
- pop {r3-r7, pc}
- nop
-_02012EA8: .word 0x021C4858
-
- thumb_func_start FUN_02012EAC
-FUN_02012EAC: ; 0x02012EAC
- push {r3-r5, lr}
- ldr r5, _02012EC8 ; =0x021C4858
- mov r4, #0x0
-_02012EB2:
- ldr r0, [r5, #0x0]
- cmp r0, #0x0
- beq _02012EBC
- bl FUN_02012DE4
-_02012EBC:
- add r4, r4, #0x1
- add r5, r5, #0x4
- cmp r4, #0x10
- blt _02012EB2
- pop {r3-r5, pc}
- nop
-_02012EC8: .word 0x021C4858
-
- thumb_func_start FUN_02012ECC
-FUN_02012ECC: ; 0x02012ECC
- push {r4, lr}
- ldr r1, _02012EF4 ; =0x021C4850
- mov r2, #0x3
- ldr r1, [r1, #0x8]
- ldr r4, [r1, #0x10]
- add r0, r4, r0
- add r3, r0, #0x0
- and r3, r2
- beq _02012EE4
- mov r2, #0x4
- sub r2, r2, r3
- add r0, r0, r2
-_02012EE4:
- str r0, [r1, #0x10]
- ldr r1, [r1, #0x14]
- cmp r0, r1
- blo _02012EF0
- bl ErrorHandling
-_02012EF0:
- add r0, r4, #0x0
- pop {r4, pc}
- .balign 4
-_02012EF4: .word 0x021C4850
-
- thumb_func_start FUN_02012EF8
-FUN_02012EF8: ; 0x02012EF8
- push {r4, lr}
- ldr r1, _02012F20 ; =0x021C4850
- mov r2, #0x3
- ldr r1, [r1, #0xc]
- ldr r4, [r1, #0x10]
- add r0, r4, r0
- add r3, r0, #0x0
- and r3, r2
- beq _02012F10
- mov r2, #0x4
- sub r2, r2, r3
- add r0, r0, r2
-_02012F10:
- str r0, [r1, #0x10]
- ldr r1, [r1, #0x14]
- cmp r0, r1
- blo _02012F1C
- bl ErrorHandling
-_02012F1C:
- add r0, r4, #0x0
- pop {r4, pc}
- .balign 4
-_02012F20: .word 0x021C4850
-
- thumb_func_start FUN_02012F24
-FUN_02012F24: ; 0x02012F24
- push {r4, lr}
- ldr r1, _02012F4C ; =0x021C4850
- mov r2, #0x3
- ldr r1, [r1, #0x10]
- ldr r4, [r1, #0x10]
- add r0, r4, r0
- add r3, r0, #0x0
- and r3, r2
- beq _02012F3C
- mov r2, #0x4
- sub r2, r2, r3
- add r0, r0, r2
-_02012F3C:
- str r0, [r1, #0x10]
- ldr r1, [r1, #0x14]
- cmp r0, r1
- blo _02012F48
- bl ErrorHandling
-_02012F48:
- add r0, r4, #0x0
- pop {r4, pc}
- .balign 4
-_02012F4C: .word 0x021C4850
-
- thumb_func_start FUN_02012F50
-FUN_02012F50: ; 0x02012F50
- push {r4, lr}
- ldr r1, _02012F78 ; =0x021C4850
- mov r2, #0x3
- ldr r1, [r1, #0x14]
- ldr r4, [r1, #0x10]
- add r0, r4, r0
- add r3, r0, #0x0
- and r3, r2
- beq _02012F68
- mov r2, #0x4
- sub r2, r2, r3
- add r0, r0, r2
-_02012F68:
- str r0, [r1, #0x10]
- ldr r1, [r1, #0x14]
- cmp r0, r1
- blo _02012F74
- bl ErrorHandling
-_02012F74:
- add r0, r4, #0x0
- pop {r4, pc}
- .balign 4
-_02012F78: .word 0x021C4850
-
- thumb_func_start FUN_02012F7C
-FUN_02012F7C: ; 0x02012F7C
- push {r4, lr}
- ldr r1, _02012FA4 ; =0x021C4850
- mov r2, #0x3
- ldr r1, [r1, #0x18]
- ldr r4, [r1, #0x10]
- add r0, r4, r0
- add r3, r0, #0x0
- and r3, r2
- beq _02012F94
- mov r2, #0x4
- sub r2, r2, r3
- add r0, r0, r2
-_02012F94:
- str r0, [r1, #0x10]
- ldr r1, [r1, #0x14]
- cmp r0, r1
- blo _02012FA0
- bl ErrorHandling
-_02012FA0:
- add r0, r4, #0x0
- pop {r4, pc}
- .balign 4
-_02012FA4: .word 0x021C4850
-
- thumb_func_start FUN_02012FA8
-FUN_02012FA8: ; 0x02012FA8
- push {r4, lr}
- ldr r1, _02012FD0 ; =0x021C4850
- mov r2, #0x3
- ldr r1, [r1, #0x1c]
- ldr r4, [r1, #0x10]
- add r0, r4, r0
- add r3, r0, #0x0
- and r3, r2
- beq _02012FC0
- mov r2, #0x4
- sub r2, r2, r3
- add r0, r0, r2
-_02012FC0:
- str r0, [r1, #0x10]
- ldr r1, [r1, #0x14]
- cmp r0, r1
- blo _02012FCC
- bl ErrorHandling
-_02012FCC:
- add r0, r4, #0x0
- pop {r4, pc}
- .balign 4
-_02012FD0: .word 0x021C4850
-
- thumb_func_start FUN_02012FD4
-FUN_02012FD4: ; 0x02012FD4
- push {r4, lr}
- ldr r1, _02012FFC ; =0x021C4850
- mov r2, #0x3
- ldr r1, [r1, #0x20]
- ldr r4, [r1, #0x10]
- add r0, r4, r0
- add r3, r0, #0x0
- and r3, r2
- beq _02012FEC
- mov r2, #0x4
- sub r2, r2, r3
- add r0, r0, r2
-_02012FEC:
- str r0, [r1, #0x10]
- ldr r1, [r1, #0x14]
- cmp r0, r1
- blo _02012FF8
- bl ErrorHandling
-_02012FF8:
- add r0, r4, #0x0
- pop {r4, pc}
- .balign 4
-_02012FFC: .word 0x021C4850
-
- thumb_func_start FUN_02013000
-FUN_02013000: ; 0x02013000
- push {r4, lr}
- ldr r1, _02013028 ; =0x021C4850
- mov r2, #0x3
- ldr r1, [r1, #0x24]
- ldr r4, [r1, #0x10]
- add r0, r4, r0
- add r3, r0, #0x0
- and r3, r2
- beq _02013018
- mov r2, #0x4
- sub r2, r2, r3
- add r0, r0, r2
-_02013018:
- str r0, [r1, #0x10]
- ldr r1, [r1, #0x14]
- cmp r0, r1
- blo _02013024
- bl ErrorHandling
-_02013024:
- add r0, r4, #0x0
- pop {r4, pc}
- .balign 4
-_02013028: .word 0x021C4850
-
- thumb_func_start FUN_0201302C
-FUN_0201302C: ; 0x0201302C
- push {r4, lr}
- ldr r1, _02013054 ; =0x021C4850
- mov r2, #0x3
- ldr r1, [r1, #0x28]
- ldr r4, [r1, #0x10]
- add r0, r4, r0
- add r3, r0, #0x0
- and r3, r2
- beq _02013044
- mov r2, #0x4
- sub r2, r2, r3
- add r0, r0, r2
-_02013044:
- str r0, [r1, #0x10]
- ldr r1, [r1, #0x14]
- cmp r0, r1
- blo _02013050
- bl ErrorHandling
-_02013050:
- add r0, r4, #0x0
- pop {r4, pc}
- .balign 4
-_02013054: .word 0x021C4850
-
- thumb_func_start FUN_02013058
-FUN_02013058: ; 0x02013058
- push {r4, lr}
- ldr r1, _02013080 ; =0x021C4850
- mov r2, #0x3
- ldr r1, [r1, #0x2c]
- ldr r4, [r1, #0x10]
- add r0, r4, r0
- add r3, r0, #0x0
- and r3, r2
- beq _02013070
- mov r2, #0x4
- sub r2, r2, r3
- add r0, r0, r2
-_02013070:
- str r0, [r1, #0x10]
- ldr r1, [r1, #0x14]
- cmp r0, r1
- blo _0201307C
- bl ErrorHandling
-_0201307C:
- add r0, r4, #0x0
- pop {r4, pc}
- .balign 4
-_02013080: .word 0x021C4850
-
- thumb_func_start FUN_02013084
-FUN_02013084: ; 0x02013084
- push {r4, lr}
- ldr r1, _020130AC ; =0x021C4850
- mov r2, #0x3
- ldr r1, [r1, #0x30]
- ldr r4, [r1, #0x10]
- add r0, r4, r0
- add r3, r0, #0x0
- and r3, r2
- beq _0201309C
- mov r2, #0x4
- sub r2, r2, r3
- add r0, r0, r2
-_0201309C:
- str r0, [r1, #0x10]
- ldr r1, [r1, #0x14]
- cmp r0, r1
- blo _020130A8
- bl ErrorHandling
-_020130A8:
- add r0, r4, #0x0
- pop {r4, pc}
- .balign 4
-_020130AC: .word 0x021C4850
-
- thumb_func_start FUN_020130B0
-FUN_020130B0: ; 0x020130B0
- push {r4, lr}
- ldr r1, _020130D8 ; =0x021C4850
- mov r2, #0x3
- ldr r1, [r1, #0x34]
- ldr r4, [r1, #0x10]
- add r0, r4, r0
- add r3, r0, #0x0
- and r3, r2
- beq _020130C8
- mov r2, #0x4
- sub r2, r2, r3
- add r0, r0, r2
-_020130C8:
- str r0, [r1, #0x10]
- ldr r1, [r1, #0x14]
- cmp r0, r1
- blo _020130D4
- bl ErrorHandling
-_020130D4:
- add r0, r4, #0x0
- pop {r4, pc}
- .balign 4
-_020130D8: .word 0x021C4850
-
- thumb_func_start FUN_020130DC
-FUN_020130DC: ; 0x020130DC
- push {r4, lr}
- ldr r1, _02013104 ; =0x021C4850
- mov r2, #0x3
- ldr r1, [r1, #0x38]
- ldr r4, [r1, #0x10]
- add r0, r4, r0
- add r3, r0, #0x0
- and r3, r2
- beq _020130F4
- mov r2, #0x4
- sub r2, r2, r3
- add r0, r0, r2
-_020130F4:
- str r0, [r1, #0x10]
- ldr r1, [r1, #0x14]
- cmp r0, r1
- blo _02013100
- bl ErrorHandling
-_02013100:
- add r0, r4, #0x0
- pop {r4, pc}
- .balign 4
-_02013104: .word 0x021C4850
-
- thumb_func_start FUN_02013108
-FUN_02013108: ; 0x02013108
- push {r4, lr}
- ldr r1, _02013130 ; =0x021C4850
- mov r2, #0x3
- ldr r1, [r1, #0x3c]
- ldr r4, [r1, #0x10]
- add r0, r4, r0
- add r3, r0, #0x0
- and r3, r2
- beq _02013120
- mov r2, #0x4
- sub r2, r2, r3
- add r0, r0, r2
-_02013120:
- str r0, [r1, #0x10]
- ldr r1, [r1, #0x14]
- cmp r0, r1
- blo _0201312C
- bl ErrorHandling
-_0201312C:
- add r0, r4, #0x0
- pop {r4, pc}
- .balign 4
-_02013130: .word 0x021C4850
-
- thumb_func_start FUN_02013134
-FUN_02013134: ; 0x02013134
- push {r4, lr}
- ldr r1, _0201315C ; =0x021C4850
- mov r2, #0x3
- ldr r1, [r1, #0x40]
- ldr r4, [r1, #0x10]
- add r0, r4, r0
- add r3, r0, #0x0
- and r3, r2
- beq _0201314C
- mov r2, #0x4
- sub r2, r2, r3
- add r0, r0, r2
-_0201314C:
- str r0, [r1, #0x10]
- ldr r1, [r1, #0x14]
- cmp r0, r1
- blo _02013158
- bl ErrorHandling
-_02013158:
- add r0, r4, #0x0
- pop {r4, pc}
- .balign 4
-_0201315C: .word 0x021C4850
-
- thumb_func_start FUN_02013160
-FUN_02013160: ; 0x02013160
- push {r4, lr}
- ldr r1, _02013188 ; =0x021C4850
- mov r2, #0x3
- ldr r1, [r1, #0x44]
- ldr r4, [r1, #0x10]
- add r0, r4, r0
- add r3, r0, #0x0
- and r3, r2
- beq _02013178
- mov r2, #0x4
- sub r2, r2, r3
- add r0, r0, r2
-_02013178:
- str r0, [r1, #0x10]
- ldr r1, [r1, #0x14]
- cmp r0, r1
- blo _02013184
- bl ErrorHandling
-_02013184:
- add r0, r4, #0x0
- pop {r4, pc}
- .balign 4
-_02013188: .word 0x021C4850
-
- thumb_func_start FUN_0201318C
-FUN_0201318C: ; 0x0201318C
- ldr r3, _02013190 ; =LoadFromNarc_2
- bx r3
- .balign 4
-_02013190: .word LoadFromNarc_2
-
- thumb_func_start FUN_02013194
-FUN_02013194: ; 0x02013194
- push {r3-r7, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0x0]
- add r6, r1, #0x0
- add r4, r2, #0x0
- add r7, r3, #0x0
- cmp r0, #0x0
- bne _020131A8
- bl ErrorHandling
-_020131A8:
- ldr r0, [r5, #0x4]
- cmp r0, #0x0
- beq _020131B2
- bl ErrorHandling
-_020131B2:
- add r0, r5, #0x0
- add r0, #0xd8
- strb r4, [r0, #0x0]
- mov r0, #0x1
- tst r0, r4
- beq _020131C8
- add r0, r5, #0x0
- add r0, #0x58
- blx FUN_020AE918
- b _020131DE
-_020131C8:
- mov r0, #0x2
- tst r0, r4
- beq _020131DE
- mov r1, #0x0
- add r2, r5, #0x0
- add r0, r1, #0x0
-_020131D4:
- add r1, r1, #0x1
- str r0, [r2, #0x58]
- add r2, r2, #0x4
- cmp r1, #0x10
- blt _020131D4
-_020131DE:
- mov r0, #0x4
- tst r0, r4
- beq _020131EE
- add r0, r5, #0x0
- add r0, #0x98
- blx FUN_020AEC98
- b _02013208
-_020131EE:
- mov r0, #0x8
- tst r0, r4
- beq _02013208
- mov r2, #0x0
- add r3, r5, #0x0
- add r1, r2, #0x0
-_020131FA:
- add r0, r3, #0x0
- add r0, #0x98
- add r2, r2, #0x1
- add r3, r3, #0x4
- str r1, [r0, #0x0]
- cmp r2, #0x10
- blt _020131FA
-_02013208:
- str r6, [r5, #0x4]
- cmp r7, #0x1
- bne _02013216
- add r0, r5, #0x0
- bl FUN_02013228
- pop {r3-r7, pc}
-_02013216:
- ldr r0, _02013224 ; =FUN_02013268
- add r1, r5, #0x0
- mov r2, #0x5
- bl FUN_0200CA98
- pop {r3-r7, pc}
- nop
-_02013224: .word FUN_02013268
-
- thumb_func_start FUN_02013228
-FUN_02013228: ; 0x02013228
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- ldr r1, [r4, #0x4]
- blx FUN_0208B128
- ldr r0, _02013264 ; =0x021C4850
- str r4, [r0, #0x0]
- ldr r1, [r4, #0x18]
- ldr r0, [r4, #0x0]
- cmp r1, #0x0
- bne _02013246
- blx FUN_0208AF94
- b _0201324A
-_02013246:
- blx FUN_0208B05C
-_0201324A:
- ldr r1, [r4, #0x1c]
- ldr r0, [r4, #0x0]
- cmp r1, #0x0
- bne _02013258
- blx FUN_0208AF80
- b _0201325C
-_02013258:
- blx FUN_0208AFA8
-_0201325C:
- ldr r0, _02013264 ; =0x021C4850
- mov r1, #0x0
- str r1, [r0, #0x0]
- pop {r4, pc}
- .balign 4
-_02013264: .word 0x021C4850
-
- thumb_func_start FUN_02013268
-FUN_02013268: ; 0x02013268
- push {r4, lr}
- add r4, r0, #0x0
- add r0, r1, #0x0
- bl FUN_02013228
- add r0, r4, #0x0
- bl FUN_0200CAB4
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0201327C
-FUN_0201327C: ; 0x0201327C
- push {r4, lr}
- add r4, r0, #0x0
- bne _02013286
- bl ErrorHandling
-_02013286:
- ldr r0, _020132B8 ; =0x021C4850
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- bne _02013292
- bl ErrorHandling
-_02013292:
- ldr r0, _020132B8 ; =0x021C4850
- mov r1, #0x0
- ldr r3, [r0, #0x0]
- add r2, r3, #0x0
-_0201329A:
- ldr r0, [r2, #0x58]
- cmp r0, #0x0
- bne _020132A8
- lsl r0, r1, #0x2
- add r0, r3, r0
- str r4, [r0, #0x58]
- pop {r4, pc}
-_020132A8:
- add r1, r1, #0x1
- add r2, r2, #0x4
- cmp r1, #0x10
- blt _0201329A
- bl ErrorHandling
- pop {r4, pc}
- nop
-_020132B8: .word 0x021C4850
-
- thumb_func_start FUN_020132BC
-FUN_020132BC: ; 0x020132BC
- push {r4, lr}
- add r4, r0, #0x0
- bne _020132C6
- bl ErrorHandling
-_020132C6:
- ldr r0, _020132FC ; =0x021C4850
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- bne _020132D2
- bl ErrorHandling
-_020132D2:
- ldr r0, _020132FC ; =0x021C4850
- mov r1, #0x0
- ldr r3, [r0, #0x0]
- add r2, r3, #0x0
-_020132DA:
- add r0, r2, #0x0
- add r0, #0x98
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- bne _020132EE
- lsl r0, r1, #0x2
- add r0, r3, r0
- add r0, #0x98
- str r4, [r0, #0x0]
- pop {r4, pc}
-_020132EE:
- add r1, r1, #0x1
- add r2, r2, #0x4
- cmp r1, #0x10
- blt _020132DA
- bl ErrorHandling
- pop {r4, pc}
- .balign 4
-_020132FC: .word 0x021C4850
-
- thumb_func_start FUN_02013300
-FUN_02013300: ; 0x02013300
- push {r4, lr}
- add r4, r0, #0x0
- ldr r1, [r4, #0x20]
- cmp r1, #0x0
- beq _0201331C
- add r0, #0xdb
- ldrb r0, [r0, #0x0]
- bl FUN_0201EE2C
- ldr r0, [r4, #0x20]
- bl FUN_0201EB8C
- bl FUN_0201EBA4
-_0201331C:
- blx FUN_020B849C
- ldr r0, [r4, #0x0]
- ldr r1, _02013338 ; =0x021CED64
- blx FUN_0208AD80
- ldr r0, [r4, #0x20]
- cmp r0, #0x0
- beq _02013332
- bl FUN_0201EB98
-_02013332:
- blx FUN_020B849C
- pop {r4, pc}
- .balign 4
-_02013338: .word 0x021CED64
-
- thumb_func_start FUN_0201333C
-FUN_0201333C: ; 0x0201333C
- ldr r3, _02013344 ; =0x0208AE48
- ldr r0, [r0, #0x0]
- bx r3
- nop
-_02013344: .word 0x0208AE48
-
- thumb_func_start FUN_02013348
-FUN_02013348: ; 0x02013348
- mov r0, #0x0
- ldr r3, _02013360 ; =0x021C4858
- add r2, r0, #0x0
-_0201334E:
- ldr r1, [r3, #0x0]
- cmp r1, #0x0
- beq _02013356
- add r0, r0, #0x1
-_02013356:
- add r2, r2, #0x1
- add r3, r3, #0x4
- cmp r2, #0x10
- blt _0201334E
- bx lr
- .balign 4
-_02013360: .word 0x021C4858
-
- thumb_func_start FUN_02013364
-FUN_02013364: ; 0x02013364
- push {r4-r6, lr}
- mov r4, #0x0
- ldr r5, _02013384 ; =0x021C4858
- add r6, r4, #0x0
-_0201336C:
- ldr r0, [r5, #0x0]
- cmp r0, #0x0
- beq _02013378
- bl FUN_02013300
- add r4, r4, #0x1
-_02013378:
- add r6, r6, #0x1
- add r5, r5, #0x4
- cmp r6, #0x10
- blt _0201336C
- add r0, r4, #0x0
- pop {r4-r6, pc}
- .balign 4
-_02013384: .word 0x021C4858
-
- thumb_func_start FUN_02013388
-FUN_02013388: ; 0x02013388
- push {r4-r6, lr}
- mov r4, #0x0
- ldr r5, _020133A8 ; =0x021C4858
- add r6, r4, #0x0
-_02013390:
- ldr r0, [r5, #0x0]
- cmp r0, #0x0
- beq _0201339C
- bl FUN_0201333C
- add r4, r4, #0x1
-_0201339C:
- add r6, r6, #0x1
- add r5, r5, #0x4
- cmp r6, #0x10
- blt _02013390
- add r0, r4, #0x0
- pop {r4-r6, pc}
- .balign 4
-_020133A8: .word 0x021C4858
-
- thumb_func_start FUN_020133AC
-FUN_020133AC: ; 0x020133AC
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, _020133C4 ; =0x021C4850
- str r3, [r0, #0x4]
- ldr r0, [r4, #0x0]
- blx FUN_0208ACEC
- ldr r1, _020133C4 ; =0x021C4850
- mov r2, #0x0
- str r2, [r1, #0x4]
- str r0, [r4, #0x8]
- pop {r4, pc}
- .balign 4
-_020133C4: .word 0x021C4850
-
- thumb_func_start FUN_020133C8
-FUN_020133C8: ; 0x020133C8
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x8]
- bx lr
- .balign 4
-
- thumb_func_start FUN_020133D0
-FUN_020133D0: ; 0x020133D0
- ldr r3, _020133D8 ; =0x0208AC14
- ldr r0, [r0, #0x0]
- bx r3
- nop
-_020133D8: .word 0x0208AC14
-
- thumb_func_start FUN_020133DC
-FUN_020133DC: ; 0x020133DC
- ldr r3, _020133E4 ; =0x0208AC58
- ldr r0, [r0, #0x0]
- bx r3
- nop
-_020133E4: .word 0x0208AC58
-
- thumb_func_start FUN_020133E8
-FUN_020133E8: ; 0x020133E8
- ldr r0, [r0, #0xc]
- bx lr
-
- thumb_func_start FUN_020133EC
-FUN_020133EC: ; 0x020133EC
- add r2, r0, #0x0
- add r2, #0x40
- 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_020133FC
-FUN_020133FC: ; 0x020133FC
- push {r3-r5, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- add r3, r4, #0x0
- add r2, r5, #0x0
- ldmia r3!, {r0-r1}
- add r2, #0x40
- stmia r2!, {r0-r1}
- ldr r0, [r3, #0x0]
- str r0, [r2, #0x0]
- ldr r1, [r5, #0x20]
- add r0, r4, #0x0
- bl FUN_0201EC58
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0201341C
-FUN_0201341C: ; 0x0201341C
- ldr r0, _02013424 ; =0x021C4850
- ldr r0, [r0, #0x4]
- bx lr
- nop
-_02013424: .word 0x021C4850
-
- thumb_func_start FUN_02013428
-FUN_02013428: ; 0x02013428
- ldr r2, _02013438 ; =0x020ED4E4
- add r3, r0, #0x0
- ldmia r2!, {r0-r1}
- stmia r3!, {r0-r1}
- ldr r0, [r2, #0x0]
- str r0, [r3, #0x0]
- bx lr
- nop
-_02013438: .word 0x020ED4E4
-
- thumb_func_start FUN_0201343C
-FUN_0201343C: ; 0x0201343C
- ldr r0, [r0, #0x20]
- bx lr
-
- thumb_func_start FUN_02013440
-FUN_02013440: ; 0x02013440
- add r0, #0xdb
- strb r1, [r0, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02013448
-FUN_02013448: ; 0x02013448
- add r0, #0xdb
- ldrb r0, [r0, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02013450
-FUN_02013450: ; 0x02013450
- ldr r0, [r0, #0x20]
- ldr r0, [r0, #0x0]
- str r1, [r0, #0x10]
- bx lr
-
- thumb_func_start FUN_02013458
-FUN_02013458: ; 0x02013458
- push {r4-r7}
- ldr r0, [r0, #0x20]
- add r4, r1, #0x0
- ldrh r2, [r0, #0x1c]
- cmp r2, #0x0
- bne _0201346A
- mov r0, #0x0
- pop {r4-r7}
- bx lr
-_0201346A:
- mov r1, #0x0
- cmp r2, #0x0
- ble _020134F4
- ldr r3, [r0, #0x18]
- ldr r7, _020134FC ; =0x020908DC
- ldr r0, _02013500 ; =0x020909A4
-_02013476:
- cmp r3, #0x0
- beq _020134EC
- cmp r4, #0x5
- bhi _020134E6
- add r5, r4, r4
- add r5, pc
- ldrh r5, [r5, #0x6]
- lsl r5, r5, #0x10
- asr r5, r5, #0x10
- add pc, r5
-_0201348A: ; jump table (using 16-bit offset)
- .short _02013496 - _0201348A - 2; case 0
- .short _020134A2 - _0201348A - 2; case 1
- .short _020134AE - _0201348A - 2; case 2
- .short _020134BC - _0201348A - 2; case 3
- .short _020134CA - _0201348A - 2; case 4
- .short _020134D8 - _0201348A - 2; case 5
-_02013496:
- ldr r5, [r3, #0x0]
- cmp r5, r0
- bne _020134EC
- ldr r0, [r3, #0x4]
- pop {r4-r7}
- bx lr
-_020134A2:
- ldr r5, [r3, #0x0]
- cmp r5, r7
- bne _020134EC
- ldr r0, [r3, #0x4]
- pop {r4-r7}
- bx lr
-_020134AE:
- ldr r6, [r3, #0x0]
- ldr r5, _02013504 ; =0x02090858
- cmp r6, r5
- bne _020134EC
- ldr r0, [r3, #0x4]
- pop {r4-r7}
- bx lr
-_020134BC:
- ldr r6, [r3, #0x0]
- ldr r5, _02013508 ; =0x02090780
- cmp r6, r5
- bne _020134EC
- ldr r0, [r3, #0x4]
- pop {r4-r7}
- bx lr
-_020134CA:
- ldr r6, [r3, #0x0]
- ldr r5, _0201350C ; =0x02090664
- cmp r6, r5
- bne _020134EC
- ldr r0, [r3, #0x4]
- pop {r4-r7}
- bx lr
-_020134D8:
- ldr r6, [r3, #0x0]
- ldr r5, _02013510 ; =0x020905D0
- cmp r6, r5
- bne _020134EC
- ldr r0, [r3, #0x4]
- pop {r4-r7}
- bx lr
-_020134E6:
- mov r0, #0x0
- pop {r4-r7}
- bx lr
-_020134EC:
- add r1, r1, #0x1
- add r3, #0x8
- cmp r1, r2
- blt _02013476
-_020134F4:
- mov r0, #0x0
- pop {r4-r7}
- bx lr
- nop
-_020134FC: .word 0x020908DC
-_02013500: .word 0x020909A4
-_02013504: .word 0x02090858
-_02013508: .word 0x02090780
-_0201350C: .word 0x02090664
-_02013510: .word 0x020905D0
-
- thumb_func_start FUN_02013514
-FUN_02013514: ; 0x02013514
- push {r4, lr}
- add r4, r1, #0x0
- mov r1, #0x0
- bl FUN_02013458
- cmp r0, #0x0
- beq _0201352E
- ldrh r1, [r4, #0x0]
- strh r1, [r0, #0x0]
- ldrh r1, [r4, #0x2]
- strh r1, [r0, #0x2]
- ldrh r1, [r4, #0x4]
- strh r1, [r0, #0x4]
-_0201352E:
- pop {r4, pc}
-
- thumb_func_start FUN_02013530
-FUN_02013530: ; 0x02013530
- push {r4, lr}
- add r4, r1, #0x0
- mov r1, #0x2
- bl FUN_02013458
- add r2, r0, #0x0
- beq _02013546
- ldmia r4!, {r0-r1}
- stmia r2!, {r0-r1}
- ldr r0, [r4, #0x0]
- str r0, [r2, #0x0]
-_02013546:
- pop {r4, pc}
-
- thumb_func_start FUN_02013548
-FUN_02013548: ; 0x02013548
- push {r3-r4, lr}
- sub sp, #0xc
- add r4, r1, #0x0
- mov r1, #0x2
- bl FUN_02013458
- add r2, r0, #0x0
- bne _0201356E
- add r2, sp, #0x0
- mov r0, #0x0
- str r0, [r2, #0x0]
- str r0, [r2, #0x4]
- str r0, [r2, #0x8]
- ldmia r2!, {r0-r1}
- stmia r4!, {r0-r1}
- ldr r0, [r2, #0x0]
- add sp, #0xc
- str r0, [r4, #0x0]
- pop {r3-r4, pc}
-_0201356E:
- ldmia r2!, {r0-r1}
- stmia r4!, {r0-r1}
- ldr r0, [r2, #0x0]
- str r0, [r4, #0x0]
- add sp, #0xc
- pop {r3-r4, pc}
- .balign 4
-
- thumb_func_start FUN_0201357C
-FUN_0201357C: ; 0x0201357C
- push {r4, lr}
- add r4, r1, #0x0
- mov r1, #0x2
- bl FUN_02013458
- cmp r0, #0x0
- beq _02013590
- mov r1, #0x0
- ldrsh r1, [r4, r1]
- strh r1, [r0, #0xc]
-_02013590:
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02013594
-FUN_02013594: ; 0x02013594
- push {r4, lr}
- add r4, r1, #0x0
- mov r1, #0x2
- bl FUN_02013458
- cmp r0, #0x0
- bne _020135A8
- mov r0, #0x0
- strh r0, [r4, #0x0]
- pop {r4, pc}
-_020135A8:
- mov r1, #0xc
- ldrsh r0, [r0, r1]
- strh r0, [r4, #0x0]
- pop {r4, pc}
-
- thumb_func_start FUN_020135B0
-FUN_020135B0: ; 0x020135B0
- push {r4, lr}
- add r4, r1, #0x0
- mov r1, #0x3
- bl FUN_02013458
- cmp r0, #0x0
- beq _020135C2
- ldrh r1, [r4, #0x0]
- strh r1, [r0, #0x0]
-_020135C2:
- pop {r4, pc}
-
- thumb_func_start FUN_020135C4
-FUN_020135C4: ; 0x020135C4
- push {r4, lr}
- add r4, r1, #0x0
- mov r1, #0x3
- bl FUN_02013458
- cmp r0, #0x0
- bne _020135D8
- mov r0, #0x0
- strh r0, [r4, #0x0]
- pop {r4, pc}
-_020135D8:
- ldrh r0, [r0, #0x0]
- strh r0, [r4, #0x0]
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_020135E0
-FUN_020135E0: ; 0x020135E0
- push {r4, lr}
- add r4, r1, #0x0
- mov r1, #0x3
- bl FUN_02013458
- cmp r0, #0x0
- beq _020135F2
- ldrh r1, [r4, #0x0]
- strh r1, [r0, #0x2]
-_020135F2:
- pop {r4, pc}
-
- thumb_func_start FUN_020135F4
-FUN_020135F4: ; 0x020135F4
- push {r4, lr}
- add r4, r1, #0x0
- mov r1, #0x3
- bl FUN_02013458
- cmp r0, #0x0
- bne _02013608
- mov r0, #0x0
- strh r0, [r4, #0x0]
- pop {r4, pc}
-_02013608:
- ldrh r0, [r0, #0x2]
- strh r0, [r4, #0x0]
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02013610
-FUN_02013610: ; 0x02013610
- push {r4, lr}
- add r4, r1, #0x0
- mov r1, #0x5
- bl FUN_02013458
- add r2, r0, #0x0
- beq _02013626
- ldmia r4!, {r0-r1}
- stmia r2!, {r0-r1}
- ldr r0, [r4, #0x0]
- str r0, [r2, #0x0]
-_02013626:
- pop {r4, pc}
-
- thumb_func_start FUN_02013628
-FUN_02013628: ; 0x02013628
- push {r3-r4, lr}
- sub sp, #0xc
- add r4, r1, #0x0
- mov r1, #0x5
- bl FUN_02013458
- add r2, r0, #0x0
- bne _0201364E
- add r2, sp, #0x0
- mov r0, #0x0
- str r0, [r2, #0x0]
- str r0, [r2, #0x4]
- str r0, [r2, #0x8]
- ldmia r2!, {r0-r1}
- stmia r4!, {r0-r1}
- ldr r0, [r2, #0x0]
- add sp, #0xc
- str r0, [r4, #0x0]
- pop {r3-r4, pc}
-_0201364E:
- ldmia r2!, {r0-r1}
- stmia r4!, {r0-r1}
- ldr r0, [r2, #0x0]
- str r0, [r4, #0x0]
- add sp, #0xc
- pop {r3-r4, pc}
- .balign 4
-
- thumb_func_start FUN_0201365C
-FUN_0201365C: ; 0x0201365C
- push {r4, lr}
- add r4, r1, #0x0
- mov r1, #0x5
- bl FUN_02013458
- cmp r0, #0x0
- beq _02013670
- mov r1, #0x0
- ldrsh r1, [r4, r1]
- strh r1, [r0, #0xc]
-_02013670:
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02013674
-FUN_02013674: ; 0x02013674
- push {r4, lr}
- add r4, r1, #0x0
- mov r1, #0x5
- bl FUN_02013458
- cmp r0, #0x0
- bne _02013688
- mov r0, #0x0
- strh r0, [r4, #0x0]
- pop {r4, pc}
-_02013688:
- mov r1, #0xc
- ldrsh r0, [r0, r1]
- strh r0, [r4, #0x0]
- pop {r4, pc}
-
- thumb_func_start FUN_02013690
-FUN_02013690: ; 0x02013690
- push {r3-r5, lr}
- mov r1, #0x8
- add r5, r0, #0x0
- bl FUN_02016998
- add r4, r0, #0x0
- beq _020136B2
- ldr r0, _020136B8 ; =0x0001020F
- add r1, r5, #0x0
- str r0, [r4, #0x0]
- mov r0, #0x4
- bl FUN_020219F4
- ldr r1, _020136BC ; =0x020ED548
- str r0, [r4, #0x4]
- bl FUN_02021E28
-_020136B2:
- add r0, r4, #0x0
- pop {r3-r5, pc}
- nop
-_020136B8: .word 0x0001020F
-_020136BC: .word 0x020ED548
-
- thumb_func_start FUN_020136C0
-FUN_020136C0: ; 0x020136C0
- push {r4, lr}
- add r4, r0, #0x0
- bne _020136CA
- bl ErrorHandling
-_020136CA:
- cmp r4, #0x0
- beq _020136DE
- ldr r0, [r4, #0x4]
- cmp r0, #0x0
- beq _020136D8
- bl FUN_02021A20
-_020136D8:
- add r0, r4, #0x0
- bl FUN_02016A18
-_020136DE:
- pop {r4, pc}
-
- thumb_func_start FUN_020136E0
-FUN_020136E0: ; 0x020136E0
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- cmp r5, #0x0
- bne _020136EE
- bl ErrorHandling
-_020136EE:
- cmp r5, #0x0
- beq _020136F4
- str r4, [r5, #0x0]
-_020136F4:
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_020136F8
-FUN_020136F8: ; 0x020136F8
- push {r4-r6, lr}
- sub sp, #0x10
- add r6, r0, #0x0
- str r3, [sp, #0x0]
- mov r0, #0xff
- str r0, [sp, #0x4]
- ldr r0, [r6, #0x0]
- add r5, r1, #0x0
- str r0, [sp, #0x8]
- mov r1, #0x0
- add r4, r2, #0x0
- str r1, [sp, #0xc]
- ldr r2, [r6, #0x4]
- add r0, r5, #0x0
- add r3, r4, #0x0
- bl FUN_0201BDE0
- add r0, r5, #0x0
- bl FUN_02019548
- add sp, #0x10
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02013724
-FUN_02013724: ; 0x02013724
- ldr r1, _02013738 ; =0x0000FFFF
- mov r2, #0x0
- strh r1, [r0, #0x0]
-_0201372A:
- add r2, r2, #0x1
- strh r1, [r0, #0x4]
- add r0, r0, #0x2
- cmp r2, #0x2
- blt _0201372A
- bx lr
- nop
-_02013738: .word 0x0000FFFF
-
- thumb_func_start FUN_0201373C
-FUN_0201373C: ; 0x0201373C
- strh r1, [r0, #0x0]
- mov r2, #0x0
- ldr r1, _02013750 ; =0x0000FFFF
- strh r2, [r0, #0x2]
-_02013744:
- add r2, r2, #0x1
- strh r1, [r0, #0x4]
- add r0, r0, #0x2
- cmp r2, #0x2
- blt _02013744
- bx lr
- .balign 4
-_02013750: .word 0x0000FFFF
-
- thumb_func_start FUN_02013754
-FUN_02013754: ; 0x02013754
- push {r4, lr}
- mov r1, #0x4
- add r4, r0, #0x0
- bl FUN_0201373C
- mov r0, #0x5
- strh r0, [r4, #0x2]
- pop {r4, pc}
-
- thumb_func_start FUN_02013764
-FUN_02013764: ; 0x02013764
- push {r4-r6, lr}
- add r6, r1, #0x0
- add r5, r0, #0x0
- cmp r6, #0x4
- blo _02013772
- bl ErrorHandling
-_02013772:
- cmp r6, #0x4
- bhs _020137B8
- mov r0, #0xa
- add r4, r6, #0x0
- mul r4, r0
- ldr r1, _020137BC ; =0x020ED556
- add r0, r5, #0x0
- ldrb r1, [r1, r4]
- bl FUN_0201373C
- ldr r0, _020137C0 ; =0x020ED557
- mov r1, #0x0
- ldrb r0, [r0, r4]
- mvn r1, r1
- strh r0, [r5, #0x2]
- ldr r0, _020137C4 ; =0x020ED558
- ldrsh r0, [r0, r4]
- cmp r0, r1
- beq _020137A2
- ldr r1, _020137C8 ; =0x020ED55A
- ldrh r1, [r1, r4]
- bl FUN_02013A9C
- strh r0, [r5, #0x4]
-_020137A2:
- ldr r0, _020137CC ; =0x020ED55C
- mov r1, #0x0
- ldrsh r0, [r0, r4]
- mvn r1, r1
- cmp r0, r1
- beq _020137B8
- ldr r1, _020137D0 ; =0x020ED55E
- ldrh r1, [r1, r4]
- bl FUN_02013A9C
- strh r0, [r5, #0x6]
-_020137B8:
- pop {r4-r6, pc}
- nop
-_020137BC: .word 0x020ED556
-_020137C0: .word 0x020ED557
-_020137C4: .word 0x020ED558
-_020137C8: .word 0x020ED55A
-_020137CC: .word 0x020ED55C
-_020137D0: .word 0x020ED55E
-
- thumb_func_start FUN_020137D4
-FUN_020137D4: ; 0x020137D4
- push {r3-r7, lr}
- sub sp, #0x8
- str r0, [sp, #0x0]
- add r0, r1, #0x0
- str r1, [sp, #0x4]
- bl FUN_0200AA80
- ldr r5, [sp, #0x0]
- ldr r7, _02013838 ; =0x0000FFFF
- add r6, r0, #0x0
- mov r4, #0x0
-_020137EA:
- ldrh r2, [r5, #0x4]
- cmp r2, r7
- beq _02013800
- add r0, r6, #0x0
- add r1, r4, #0x0
- bl FUN_0200B518
- add r4, r4, #0x1
- add r5, r5, #0x2
- cmp r4, #0x2
- blt _020137EA
-_02013800:
- ldr r2, [sp, #0x0]
- mov r0, #0x1
- ldrh r2, [r2, #0x0]
- mov r1, #0x1a
- lsl r3, r2, #0x1
- ldr r2, _0201383C ; =0x020ED54C
- ldrh r2, [r2, r3]
- ldr r3, [sp, #0x4]
- bl FUN_0200A86C
- add r5, r0, #0x0
- ldr r2, [sp, #0x0]
- ldr r3, [sp, #0x4]
- ldrh r2, [r2, #0x2]
- add r0, r6, #0x0
- add r1, r5, #0x0
- bl FUN_0200A9C4
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0200A8B8
- add r0, r6, #0x0
- bl FUN_0200AB18
- add r0, r4, #0x0
- add sp, #0x8
- pop {r3-r7, pc}
- .balign 4
-_02013838: .word 0x0000FFFF
-_0201383C: .word 0x020ED54C
-
- thumb_func_start FUN_02013840
-FUN_02013840: ; 0x02013840
- push {r4, lr}
- add r4, r0, #0x0
- add r3, r1, #0x0
- ldrh r1, [r4, #0x0]
- mov r0, #0x1a
- lsl r2, r1, #0x1
- ldr r1, _02013858 ; =0x020ED54C
- ldrh r1, [r1, r2]
- ldrh r2, [r4, #0x2]
- bl FUN_0200A738
- pop {r4, pc}
- .balign 4
-_02013858: .word 0x020ED54C
-
- thumb_func_start FUN_0201385C
-FUN_0201385C: ; 0x0201385C
- ldrh r1, [r0, #0x0]
- ldr r0, _0201386C ; =0x0000FFFF
- cmp r1, r0
- beq _02013868
- mov r0, #0x1
- bx lr
-_02013868:
- mov r0, #0x0
- bx lr
- .balign 4
-_0201386C: .word 0x0000FFFF
-
- thumb_func_start FUN_02013870
-FUN_02013870: ; 0x02013870
- push {r4, lr}
- add r4, r0, #0x0
- ldrh r0, [r4, #0x0]
- ldrh r1, [r4, #0x2]
- bl FUN_020138A0
- mov r3, #0x0
- cmp r0, #0x0
- bls _02013896
- ldr r1, _0201389C ; =0x0000FFFF
-_02013884:
- ldrh r2, [r4, #0x4]
- cmp r2, r1
- bne _0201388E
- mov r0, #0x0
- pop {r4, pc}
-_0201388E:
- add r3, r3, #0x1
- add r4, r4, #0x2
- cmp r3, r0
- blo _02013884
-_02013896:
- mov r0, #0x1
- pop {r4, pc}
- nop
-_0201389C: .word 0x0000FFFF
-
- thumb_func_start FUN_020138A0
-FUN_020138A0: ; 0x020138A0
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- cmp r5, #0x5
- blo _020138AE
- bl ErrorHandling
-_020138AE:
- add r0, r5, #0x0
- bl FUN_02013974
- cmp r4, r0
- blo _020138BC
- bl ErrorHandling
-_020138BC:
- ldr r1, _02013910 ; =0x020ED54C
- lsl r2, r5, #0x1
- ldrh r1, [r1, r2]
- mov r0, #0x1a
- add r2, r4, #0x0
- mov r3, #0x0
- bl FUN_0200A738
- str r0, [sp, #0x0]
- bl FUN_02021F2C
- add r4, r0, #0x0
- ldrh r1, [r4, #0x0]
- ldr r0, _02013914 ; =0x0000FFFF
- mov r5, #0x0
- cmp r1, r0
- beq _02013904
- add r7, r0, #0x0
- sub r6, r0, #0x1
-_020138E2:
- cmp r1, r6
- bne _020138FC
- add r0, r4, #0x0
- bl FUN_0201B8F8
- cmp r0, #0x0
- beq _020138F2
- add r5, r5, #0x1
-_020138F2:
- add r0, r4, #0x0
- bl FUN_0201B8B8
- add r4, r0, #0x0
- b _020138FE
-_020138FC:
- add r4, r4, #0x2
-_020138FE:
- ldrh r1, [r4, #0x0]
- cmp r1, r7
- bne _020138E2
-_02013904:
- ldr r0, [sp, #0x0]
- bl FUN_02021A20
- add r0, r5, #0x0
- pop {r3-r7, pc}
- nop
-_02013910: .word 0x020ED54C
-_02013914: .word 0x0000FFFF
-
- thumb_func_start FUN_02013918
-FUN_02013918: ; 0x02013918
- lsl r1, r1, #0x1
- add r0, r0, r1
- ldrh r0, [r0, #0x4]
- bx lr
-
- thumb_func_start FUN_02013920
-FUN_02013920: ; 0x02013920
- ldrh r0, [r0, #0x0]
- bx lr
-
- thumb_func_start FUN_02013924
-FUN_02013924: ; 0x02013924
- ldrh r0, [r0, #0x2]
- bx lr
-
- thumb_func_start FUN_02013928
-FUN_02013928: ; 0x02013928
- push {r3-r4}
- ldrh r3, [r0, #0x0]
- ldrh r2, [r1, #0x0]
- cmp r3, r2
- bne _0201393A
- ldrh r3, [r0, #0x2]
- ldrh r2, [r1, #0x2]
- cmp r3, r2
- beq _02013940
-_0201393A:
- mov r0, #0x0
- pop {r3-r4}
- bx lr
-_02013940:
- mov r4, #0x0
-_02013942:
- ldrh r3, [r0, #0x4]
- ldrh r2, [r1, #0x4]
- cmp r3, r2
- beq _02013950
- mov r0, #0x0
- pop {r3-r4}
- bx lr
-_02013950:
- add r4, r4, #0x1
- add r1, r1, #0x2
- add r0, r0, #0x2
- cmp r4, #0x2
- blt _02013942
- mov r0, #0x1
- pop {r3-r4}
- bx lr
-
- thumb_func_start FUN_02013960
-FUN_02013960: ; 0x02013960
- ldrh r2, [r1, #0x0]
- strh r2, [r0, #0x0]
- ldrh r2, [r1, #0x2]
- strh r2, [r0, #0x2]
- ldrh r2, [r1, #0x4]
- strh r2, [r0, #0x4]
- ldrh r1, [r1, #0x6]
- strh r1, [r0, #0x6]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02013974
-FUN_02013974: ; 0x02013974
- cmp r0, #0x5
- bhs _0201397C
- mov r0, #0x14
- bx lr
-_0201397C:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_02013980
-FUN_02013980: ; 0x02013980
- push {r4-r6, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- add r6, r2, #0x0
- cmp r4, #0x5
- blo _02013990
- bl ErrorHandling
-_02013990:
- strh r4, [r5, #0x0]
- strh r6, [r5, #0x2]
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02013998
-FUN_02013998: ; 0x02013998
- push {r4-r6, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- add r6, r2, #0x0
- cmp r4, #0x2
- blo _020139A8
- bl ErrorHandling
-_020139A8:
- lsl r0, r4, #0x1
- add r0, r5, r0
- strh r6, [r0, #0x4]
- pop {r4-r6, pc}
-
- thumb_func_start FUN_020139B0
-FUN_020139B0: ; 0x020139B0
- push {r4, lr}
- add r4, r0, #0x0
- ldrh r0, [r4, #0x0]
- ldrh r1, [r4, #0x2]
- bl FUN_020138A0
- cmp r0, #0x2
- bhs _020139D0
- lsl r1, r0, #0x1
- add r2, r4, r1
- ldr r1, _020139D4 ; =0x0000FFFF
-_020139C6:
- add r0, r0, #0x1
- strh r1, [r2, #0x4]
- add r2, r2, #0x2
- cmp r0, #0x2
- blo _020139C6
-_020139D0:
- pop {r4, pc}
- nop
-_020139D4: .word 0x0000FFFF
-
- thumb_func_start FUN_020139D8
-FUN_020139D8: ; 0x020139D8
- push {r3-r7, lr}
- mov r1, #0x30
- add r6, r0, #0x0
- bl FUN_02016998
- ldr r4, _02013A0C ; =0x020ED5C0
- str r0, [sp, #0x0]
- mov r7, #0x0
- add r5, r0, #0x0
-_020139EA:
- ldr r0, [sp, #0x0]
- mov r1, #0x1a
- str r6, [r0, #0x0]
- ldrh r2, [r4, #0x0]
- mov r0, #0x1
- add r3, r6, #0x0
- bl FUN_0200A86C
- str r0, [r5, #0x4]
- add r7, r7, #0x1
- add r4, r4, #0x2
- add r5, r5, #0x4
- cmp r7, #0xb
- blt _020139EA
- ldr r0, [sp, #0x0]
- pop {r3-r7, pc}
- nop
-_02013A0C: .word 0x020ED5C0
-
- thumb_func_start FUN_02013A10
-FUN_02013A10: ; 0x02013A10
- push {r4-r6, lr}
- add r6, r0, #0x0
- mov r4, #0x0
- add r5, r6, #0x0
-_02013A18:
- ldr r0, [r5, #0x4]
- bl FUN_0200A8B8
- add r4, r4, #0x1
- add r5, r5, #0x4
- cmp r4, #0xb
- blt _02013A18
- add r0, r6, #0x0
- bl FUN_02016A18
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02013A30
-FUN_02013A30: ; 0x02013A30
- push {r3-r5, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- add r4, r2, #0x0
- add r0, r1, #0x0
- add r1, sp, #0x4
- add r2, sp, #0x0
- bl FUN_02013AEC
- ldr r0, [sp, #0x4]
- ldr r1, [sp, #0x0]
- lsl r0, r0, #0x2
- add r0, r5, r0
- ldr r0, [r0, #0x4]
- add r2, r4, #0x0
- bl FUN_0200A8E0
- add sp, #0x8
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02013A58
-FUN_02013A58: ; 0x02013A58
- push {r3-r4, lr}
- sub sp, #0xc
- add r4, r1, #0x0
- ldr r1, _02013A94 ; =0x0000FFFF
- cmp r0, r1
- beq _02013A88
- add r1, sp, #0x8
- add r2, sp, #0x4
- bl FUN_02013AEC
- ldr r0, [sp, #0x8]
- mov r3, #0x0
- lsl r1, r0, #0x1
- ldr r0, _02013A98 ; =0x020ED5C0
- ldrh r0, [r0, r1]
- str r0, [sp, #0x8]
- str r4, [sp, #0x0]
- ldr r1, [sp, #0x8]
- ldr r2, [sp, #0x4]
- mov r0, #0x1a
- bl FUN_0200A648
- add sp, #0xc
- pop {r3-r4, pc}
-_02013A88:
- add r0, r4, #0x0
- bl FUN_02021A4C
- add sp, #0xc
- pop {r3-r4, pc}
- nop
-_02013A94: .word 0x0000FFFF
-_02013A98: .word 0x020ED5C0
-
- thumb_func_start FUN_02013A9C
-FUN_02013A9C: ; 0x02013A9C
- push {r4-r5}
- ldr r4, _02013AE0 ; =0x020ED5C0
- mov r2, #0x0
-_02013AA2:
- ldrh r3, [r4, #0x0]
- cmp r0, r3
- bne _02013AD0
- mov r4, #0x0
- add r3, r4, #0x0
- cmp r2, #0x0
- bls _02013AC6
- ldr r0, _02013AE4 ; =0x020ED5D6
-_02013AB2:
- lsl r5, r4, #0x1
- ldrh r5, [r0, r5]
- add r4, r4, #0x1
- lsl r4, r4, #0x10
- add r3, r3, r5
- lsl r3, r3, #0x10
- lsr r4, r4, #0x10
- lsr r3, r3, #0x10
- cmp r4, r2
- blo _02013AB2
-_02013AC6:
- add r0, r3, r1
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- pop {r4-r5}
- bx lr
-_02013AD0:
- add r2, r2, #0x1
- add r4, r4, #0x2
- cmp r2, #0xb
- blo _02013AA2
- ldr r0, _02013AE8 ; =0x0000FFFF
- pop {r4-r5}
- bx lr
- nop
-_02013AE0: .word 0x020ED5C0
-_02013AE4: .word 0x020ED5D6
-_02013AE8: .word 0x0000FFFF
-
- thumb_func_start FUN_02013AEC
-FUN_02013AEC: ; 0x02013AEC
- push {r3-r6}
- ldr r3, _02013B20 ; =0x00000FFF
- ldr r6, _02013B24 ; =0x020ED5D6
- and r3, r0
- mov r0, #0x0
- add r5, r0, #0x0
-_02013AF8:
- ldrh r4, [r6, #0x0]
- add r0, r0, r4
- cmp r3, r0
- bhs _02013B12
- str r5, [r1, #0x0]
- ldr r1, _02013B24 ; =0x020ED5D6
- lsl r4, r5, #0x1
- ldrh r1, [r1, r4]
- sub r0, r0, r1
- sub r0, r3, r0
- str r0, [r2, #0x0]
- pop {r3-r6}
- bx lr
-_02013B12:
- add r5, r5, #0x1
- add r6, r6, #0x2
- cmp r5, #0xb
- blo _02013AF8
- pop {r3-r6}
- bx lr
- nop
-_02013B20: .word 0x00000FFF
-_02013B24: .word 0x020ED5D6
-
- thumb_func_start FUN_02013B28
-FUN_02013B28: ; 0x02013B28
- mov r0, #0x8
- bx lr
-
- thumb_func_start FUN_02013B2C
-FUN_02013B2C: ; 0x02013B2C
- push {r3, lr}
- mov r2, #0x0
- str r2, [r0, #0x0]
- ldr r3, _02013B54 ; =0x020ED5B4
- str r2, [r0, #0x4]
-_02013B36:
- ldrb r1, [r3, #0x0]
- cmp r1, #0x2
- bne _02013B48
- ldr r1, _02013B58 ; =0x020ED5B5
- lsl r2, r2, #0x1
- ldrb r1, [r1, r2]
- bl FUN_02013C18
- pop {r3, pc}
-_02013B48:
- add r2, r2, #0x1
- add r3, r3, #0x2
- cmp r2, #0x6
- blo _02013B36
- pop {r3, pc}
- nop
-_02013B54: .word 0x020ED5B4
-_02013B58: .word 0x020ED5B5
-
- thumb_func_start FUN_02013B5C
-FUN_02013B5C: ; 0x02013B5C
- ldr r3, _02013B64 ; =FUN_02022610
- mov r1, #0x22
- bx r3
- nop
-_02013B64: .word FUN_02022610
-
- thumb_func_start FUN_02013B68
-FUN_02013B68: ; 0x02013B68
- ldr r0, [r0, #0x4]
- add r2, r0, #0x0
- lsr r2, r1
- mov r0, #0x1
- and r0, r2
- bx lr
-
- thumb_func_start FUN_02013B74
-FUN_02013B74: ; 0x02013B74
- push {r3-r5, lr}
- add r5, r0, #0x0
- mov r2, #0x0
- ldr r3, [r5, #0x4]
- add r4, r2, #0x0
- mov r0, #0x1
-_02013B80:
- add r1, r3, #0x0
- lsr r1, r2
- tst r1, r0
- bne _02013B8A
- add r4, r4, #0x1
-_02013B8A:
- add r2, r2, #0x1
- cmp r2, #0x20
- blo _02013B80
- cmp r4, #0x0
- beq _02013BC4
- bl FUN_0201B9EC
- add r1, r4, #0x0
- blx _u32_div_f
- ldr r4, [r5, #0x4]
- mov r0, #0x0
- mov r2, #0x1
-_02013BA4:
- add r3, r4, #0x0
- lsr r3, r0
- tst r3, r2
- bne _02013BBE
- cmp r1, #0x0
- bne _02013BBC
- mov r1, #0x1
- ldr r2, [r5, #0x4]
- lsl r1, r0
- orr r1, r2
- str r1, [r5, #0x4]
- pop {r3-r5, pc}
-_02013BBC:
- sub r1, r1, #0x1
-_02013BBE:
- add r0, r0, #0x1
- cmp r0, #0x20
- blo _02013BA4
-_02013BC4:
- mov r0, #0x20
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02013BC8
-FUN_02013BC8: ; 0x02013BC8
- ldr r3, [r0, #0x4]
- mov r2, #0x0
- mov r0, #0x1
-_02013BCE:
- add r1, r3, #0x0
- lsr r1, r2
- tst r1, r0
- bne _02013BDA
- mov r0, #0x0
- bx lr
-_02013BDA:
- add r2, r2, #0x1
- cmp r2, #0x20
- blo _02013BCE
- mov r0, #0x1
- bx lr
-
- thumb_func_start FUN_02013BE4
-FUN_02013BE4: ; 0x02013BE4
- push {r3-r4}
- mov r3, #0x0
- ldr r4, _02013C08 ; =0x020ED5D6
- add r2, r3, #0x0
-_02013BEC:
- ldrh r1, [r4, #0x0]
- add r2, r2, #0x1
- add r4, r4, #0x2
- add r1, r3, r1
- lsl r1, r1, #0x10
- lsr r3, r1, #0x10
- cmp r2, #0x9
- blt _02013BEC
- add r0, r3, r0
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- pop {r3-r4}
- bx lr
- nop
-_02013C08: .word 0x020ED5D6
-
- thumb_func_start FUN_02013C0C
-FUN_02013C0C: ; 0x02013C0C
- ldr r0, [r0, #0x0]
- add r2, r0, #0x0
- lsr r2, r1
- mov r0, #0x1
- and r0, r2
- bx lr
-
- thumb_func_start FUN_02013C18
-FUN_02013C18: ; 0x02013C18
- mov r2, #0x1
- ldr r3, [r0, #0x0]
- lsl r2, r1
- add r1, r3, #0x0
- orr r1, r2
- str r1, [r0, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02013C28
-FUN_02013C28: ; 0x02013C28
- push {r4-r7}
- mov r3, #0x0
- ldr r5, _02013C64 ; =0x020ED5EC
- add r2, r3, #0x0
-_02013C30:
- ldr r7, [r5, #0x4]
- add r4, r2, #0x0
- cmp r7, #0x0
- ble _02013C54
- ldr r6, [r5, #0x0]
-_02013C3A:
- ldrh r1, [r6, #0x0]
- cmp r0, r1
- bne _02013C4C
- ldr r0, _02013C68 ; =0x020ED5F0
- lsl r1, r3, #0x3
- ldr r0, [r0, r1]
- sub r0, r0, #0x1
- pop {r4-r7}
- bx lr
-_02013C4C:
- add r4, r4, #0x1
- add r6, r6, #0x2
- cmp r4, r7
- blt _02013C3A
-_02013C54:
- add r3, r3, #0x1
- add r5, #0x8
- cmp r3, #0xc
- blo _02013C30
- mov r0, #0x0
- pop {r4-r7}
- bx lr
- nop
-_02013C64: .word 0x020ED5EC
-_02013C68: .word 0x020ED5F0
-
- thumb_func_start FUN_02013C6C
-FUN_02013C6C: ; 0x02013C6C
- push {r3-r7, lr}
- ldr r3, _02013CC8 ; =0x020ED5EC
- add r6, r1, #0x0
- mov r7, #0x0
-_02013C74:
- ldr r5, [r3, #0x4]
- mov r2, #0x0
- cmp r5, #0x0
- ble _02013CBC
- ldr r4, [r3, #0x0]
-_02013C7E:
- ldrh r1, [r4, #0x0]
- cmp r0, r1
- bne _02013CB4
- ldr r2, _02013CCC ; =0x020ED5F0
- lsl r1, r7, #0x3
- ldr r2, [r2, r1]
- mov r0, #0x0
- cmp r2, #0x0
- beq _02013CAC
- ldr r2, _02013CC8 ; =0x020ED5EC
- add r2, r2, r1
- ldr r2, [r2, #0x4]
-_02013C96:
- cmp r6, #0x0
- bne _02013CA4
- ldr r2, _02013CC8 ; =0x020ED5EC
- lsl r0, r0, #0x1
- ldr r1, [r2, r1]
- ldrh r0, [r1, r0]
- pop {r3-r7, pc}
-_02013CA4:
- sub r6, r6, #0x1
- add r0, r0, #0x1
- cmp r2, #0x0
- bne _02013C96
-_02013CAC:
- bl ErrorHandling
- ldr r0, _02013CD0 ; =0x0000FFFF
- pop {r3-r7, pc}
-_02013CB4:
- add r2, r2, #0x1
- add r4, r4, #0x2
- cmp r2, r5
- blt _02013C7E
-_02013CBC:
- add r7, r7, #0x1
- add r3, #0x8
- cmp r7, #0xc
- blo _02013C74
- pop {r3-r7, pc}
- nop
-_02013CC8: .word 0x020ED5EC
-_02013CCC: .word 0x020ED5F0
-_02013CD0: .word 0x0000FFFF
-
- thumb_func_start FUN_02013CD4
-FUN_02013CD4: ; 0x02013CD4
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0xc]
- mov r1, #0x18
- bl FUN_02016998
- add r4, r0, #0x0
- bne _02013CE8
- bl ErrorHandling
-_02013CE8:
- ldr r0, [r5, #0x0]
- ldr r1, [r5, #0xc]
- bl FUN_02013F68
- str r0, [r4, #0x0]
- ldr r0, [r5, #0x0]
- str r0, [r4, #0x4]
- ldr r0, [r5, #0x4]
- ldr r1, [r5, #0xc]
- bl FUN_02013F98
- str r0, [r4, #0x8]
- ldr r0, [r5, #0x4]
- str r0, [r4, #0xc]
- ldr r0, [r5, #0x8]
- ldr r1, [r5, #0xc]
- bl FUN_02013FC8
- str r0, [r4, #0x10]
- ldr r0, [r5, #0x8]
- str r0, [r4, #0x14]
- add r0, r4, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02013D18
-FUN_02013D18: ; 0x02013D18
- push {r4, lr}
- add r4, r0, #0x0
- bne _02013D22
- bl ErrorHandling
-_02013D22:
- ldr r0, [r4, #0x0]
- cmp r0, #0x0
- bne _02013D2C
- bl ErrorHandling
-_02013D2C:
- ldr r0, [r4, #0x8]
- cmp r0, #0x0
- bne _02013D36
- bl ErrorHandling
-_02013D36:
- ldr r0, [r4, #0x10]
- cmp r0, #0x0
- bne _02013D40
- bl ErrorHandling
-_02013D40:
- ldr r0, [r4, #0x0]
- bl FUN_02016A18
- ldr r0, [r4, #0x8]
- bl FUN_02016A18
- ldr r0, [r4, #0x10]
- bl FUN_02016A18
- add r0, r4, #0x0
- bl FUN_02016A18
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02013D5C
-FUN_02013D5C: ; 0x02013D5C
- push {r4-r6, lr}
- add r5, r0, #0x0
- ldr r0, _02013D90 ; =0x04000444
- mov r6, #0x0
- str r6, [r0, #0x0]
- ldr r0, [r5, #0x4]
- cmp r0, #0x0
- ble _02013D86
- add r4, r6, #0x0
-_02013D6E:
- ldr r0, [r5, #0x0]
- add r0, r0, r4
- ldr r1, [r0, #0x20]
- cmp r1, #0x0
- beq _02013D7C
- bl FUN_020140D8
-_02013D7C:
- ldr r0, [r5, #0x4]
- add r6, r6, #0x1
- add r4, #0x40
- cmp r6, r0
- blt _02013D6E
-_02013D86:
- ldr r0, _02013D94 ; =0x04000448
- mov r1, #0x1
- str r1, [r0, #0x0]
- pop {r4-r6, pc}
- nop
-_02013D90: .word 0x04000444
-_02013D94: .word 0x04000448
-
- thumb_func_start FUN_02013D98
-FUN_02013D98: ; 0x02013D98
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_02014024
- add r4, r0, #0x0
- bne _02013DAA
- bl ErrorHandling
-_02013DAA:
- ldr r0, [r5, #0x4]
- ldr r0, [r0, #0x8]
- cmp r0, #0x0
- beq _02013DB6
- bl ErrorHandling
-_02013DB6:
- ldr r0, [r5, #0x4]
- bl FUN_0201407C
- str r0, [r4, #0x0]
- cmp r0, #0x0
- bne _02013DC6
- bl ErrorHandling
-_02013DC6:
- ldr r0, [r5, #0x4]
- ldr r1, [r4, #0x0]
- add r2, r4, #0x4
- bl FUN_020140A4
- add r0, r4, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02013DD4
-FUN_02013DD4: ; 0x02013DD4
- push {r4, lr}
- ldr r1, _02013DE8 ; =0x021064BC
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- ldr r1, [r1, #0x0]
- blx r1
- add r0, r4, #0x0
- bl FUN_02013F50
- pop {r4, pc}
- .balign 4
-_02013DE8: .word 0x021064BC
-
- thumb_func_start FUN_02013DEC
-FUN_02013DEC: ; 0x02013DEC
- push {r4-r6, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0xc]
- mov r6, #0x0
- cmp r0, #0x0
- ble _02013E12
- add r4, r6, #0x0
-_02013DFA:
- ldr r1, [r5, #0x8]
- ldr r0, [r1, r4]
- cmp r0, #0x0
- beq _02013E08
- add r0, r1, r4
- bl FUN_02013DD4
-_02013E08:
- ldr r0, [r5, #0xc]
- add r6, r6, #0x1
- add r4, #0x28
- cmp r6, r0
- blt _02013DFA
-_02013E12:
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02013E14
-FUN_02013E14: ; 0x02013E14
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_02014050
- add r4, r0, #0x0
- bne _02013E26
- bl ErrorHandling
-_02013E26:
- ldr r0, [r5, #0x8]
- bl FUN_02014090
- str r0, [r4, #0x0]
- cmp r0, #0x0
- bne _02013E36
- bl ErrorHandling
-_02013E36:
- ldr r0, [r5, #0x4]
- ldr r1, [r4, #0x0]
- add r2, r4, #0x4
- bl FUN_020140B4
- add r0, r4, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02013E44
-FUN_02013E44: ; 0x02013E44
- push {r4, lr}
- ldr r1, _02013E58 ; =0x021064C4
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- ldr r1, [r1, #0x0]
- blx r1
- add r0, r4, #0x0
- bl FUN_02013F5C
- pop {r4, pc}
- .balign 4
-_02013E58: .word 0x021064C4
-
- thumb_func_start FUN_02013E5C
-FUN_02013E5C: ; 0x02013E5C
- push {r4-r6, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0x14]
- mov r6, #0x0
- cmp r0, #0x0
- ble _02013E82
- add r4, r6, #0x0
-_02013E6A:
- ldr r1, [r5, #0x10]
- ldr r0, [r1, r4]
- cmp r0, #0x0
- beq _02013E78
- add r0, r1, r4
- bl FUN_02013E44
-_02013E78:
- ldr r0, [r5, #0x14]
- add r6, r6, #0x1
- add r4, #0x18
- cmp r6, r0
- blt _02013E6A
-_02013E82:
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02013E84
-FUN_02013E84: ; 0x02013E84
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_02013FF8
- add r4, r0, #0x0
- bne _02013E96
- bl ErrorHandling
-_02013E96:
- add r0, r4, #0x0
- add r1, r5, #0x0
- bl FUN_02014218
- mov r0, #0x1
- str r0, [r4, #0x1c]
- str r0, [r4, #0x20]
- add r0, r4, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02013EA8
-FUN_02013EA8: ; 0x02013EA8
- ldr r3, _02013EAC ; =FUN_02013F30
- bx r3
- .balign 4
-_02013EAC: .word FUN_02013F30
-
- thumb_func_start FUN_02013EB0
-FUN_02013EB0: ; 0x02013EB0
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- cmp r5, #0x0
- bne _02013EBE
- bl ErrorHandling
-_02013EBE:
- str r4, [r5, #0x20]
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02013EC4
-FUN_02013EC4: ; 0x02013EC4
- strh r1, [r0, #0x0]
- strh r2, [r0, #0x2]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02013ECC
-FUN_02013ECC: ; 0x02013ECC
- ldrh r1, [r0, #0x2]
- ldrh r0, [r0, #0x0]
- lsl r1, r1, #0x10
- orr r0, r1
- bx lr
- .balign 4
-
- thumb_func_start FUN_02013ED8
-FUN_02013ED8: ; 0x02013ED8
- strh r1, [r0, #0x4]
- strh r2, [r0, #0x6]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02013EE0
-FUN_02013EE0: ; 0x02013EE0
- str r1, [r0, #0xc]
- str r2, [r0, #0x10]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02013EE8
-FUN_02013EE8: ; 0x02013EE8
- strh r1, [r0, #0x8]
- strh r2, [r0, #0xa]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02013EF0
-FUN_02013EF0: ; 0x02013EF0
- ldrh r1, [r0, #0xa]
- ldrh r0, [r0, #0x8]
- lsl r1, r1, #0x10
- orr r0, r1
- bx lr
- .balign 4
-
- thumb_func_start FUN_02013EFC
-FUN_02013EFC: ; 0x02013EFC
- str r1, [r0, #0x14]
- bx lr
-
- thumb_func_start FUN_02013F00
-FUN_02013F00: ; 0x02013F00
- ldr r0, [r0, #0x14]
- bx lr
-
- thumb_func_start FUN_02013F04
-FUN_02013F04: ; 0x02013F04
- add r0, #0x3e
- strb r1, [r0, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02013F0C
-FUN_02013F0C: ; 0x02013F0C
- strh r1, [r0, #0x3c]
- bx lr
-
- thumb_func_start FUN_02013F10
-FUN_02013F10: ; 0x02013F10
- str r1, [r0, #0x24]
- bx lr
-
- thumb_func_start FUN_02013F14
-FUN_02013F14: ; 0x02013F14
- str r1, [r0, #0x28]
- bx lr
-
- thumb_func_start FUN_02013F18
-FUN_02013F18: ; 0x02013F18
- str r1, [r0, #0x2c]
- bx lr
-
- thumb_func_start FUN_02013F1C
-FUN_02013F1C: ; 0x02013F1C
- str r1, [r0, #0x30]
- bx lr
-
- thumb_func_start FUN_02013F20
-FUN_02013F20: ; 0x02013F20
- cmp r1, #0x0
- bne _02013F28
- str r2, [r0, #0x34]
- bx lr
-_02013F28:
- str r2, [r0, #0x38]
- bx lr
-
- thumb_func_start FUN_02013F2C
-FUN_02013F2C: ; 0x02013F2C
- str r1, [r0, #0x18]
- bx lr
-
- thumb_func_start FUN_02013F30
-FUN_02013F30: ; 0x02013F30
- push {r4, lr}
- add r4, r0, #0x0
- mov r1, #0x0
- mov r2, #0x40
- blx Call_FillMemWithValue
- add r0, r4, #0x0
- mov r1, #0x1f
- add r0, #0x3e
- strb r1, [r0, #0x0]
- ldr r0, _02013F4C ; =0x00007FFF
- strh r0, [r4, #0x3c]
- pop {r4, pc}
- nop
-_02013F4C: .word 0x00007FFF
-
- thumb_func_start FUN_02013F50
-FUN_02013F50: ; 0x02013F50
- ldr r3, _02013F58 ; =FUN_020B1A24
- mov r1, #0x0
- stmia r0!, {r1}
- bx r3
- .balign 4
-_02013F58: .word FUN_020B1A24
-
- thumb_func_start FUN_02013F5C
-FUN_02013F5C: ; 0x02013F5C
- ldr r3, _02013F64 ; =FUN_020B19DC
- mov r1, #0x0
- stmia r0!, {r1}
- bx r3
- .balign 4
-_02013F64: .word FUN_020B19DC
-
- thumb_func_start FUN_02013F68
-FUN_02013F68: ; 0x02013F68
- push {r3-r7, lr}
- add r6, r0, #0x0
- add r0, r1, #0x0
- lsl r1, r6, #0x6
- bl FUN_02016998
- add r7, r0, #0x0
- bne _02013F7C
- bl ErrorHandling
-_02013F7C:
- mov r4, #0x0
- cmp r6, #0x0
- ble _02013F92
- add r5, r7, #0x0
-_02013F84:
- add r0, r5, #0x0
- bl FUN_02013F30
- add r4, r4, #0x1
- add r5, #0x40
- cmp r4, r6
- blt _02013F84
-_02013F92:
- add r0, r7, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02013F98
-FUN_02013F98: ; 0x02013F98
- push {r3-r7, lr}
- add r6, r0, #0x0
- add r0, r1, #0x0
- mov r1, #0x28
- mul r1, r6
- bl FUN_02016998
- add r7, r0, #0x0
- bne _02013FAE
- bl ErrorHandling
-_02013FAE:
- mov r4, #0x0
- cmp r6, #0x0
- ble _02013FC4
- add r5, r7, #0x0
-_02013FB6:
- add r0, r5, #0x0
- bl FUN_02013F50
- add r4, r4, #0x1
- add r5, #0x28
- cmp r4, r6
- blt _02013FB6
-_02013FC4:
- add r0, r7, #0x0
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02013FC8
-FUN_02013FC8: ; 0x02013FC8
- push {r3-r7, lr}
- add r6, r0, #0x0
- add r0, r1, #0x0
- mov r1, #0x18
- mul r1, r6
- bl FUN_02016998
- add r7, r0, #0x0
- bne _02013FDE
- bl ErrorHandling
-_02013FDE:
- mov r4, #0x0
- cmp r6, #0x0
- ble _02013FF4
- add r5, r7, #0x0
-_02013FE6:
- add r0, r5, #0x0
- bl FUN_02013F5C
- add r4, r4, #0x1
- add r5, #0x18
- cmp r4, r6
- blt _02013FE6
-_02013FF4:
- add r0, r7, #0x0
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02013FF8
-FUN_02013FF8: ; 0x02013FF8
- push {r3-r4}
- ldr r4, [r0, #0x4]
- mov r1, #0x0
- cmp r4, #0x0
- ble _0201401C
- ldr r3, [r0, #0x0]
- add r2, r3, #0x0
-_02014006:
- ldr r0, [r2, #0x1c]
- cmp r0, #0x0
- bne _02014014
- lsl r0, r1, #0x6
- add r0, r3, r0
- pop {r3-r4}
- bx lr
-_02014014:
- add r1, r1, #0x1
- add r2, #0x40
- cmp r1, r4
- blt _02014006
-_0201401C:
- mov r0, #0x0
- pop {r3-r4}
- bx lr
- .balign 4
-
- thumb_func_start FUN_02014024
-FUN_02014024: ; 0x02014024
- push {r3-r4}
- ldr r4, [r0, #0x4]
- mov r1, #0x0
- cmp r4, #0x0
- ble _0201404A
- ldr r3, [r0, #0x8]
- add r2, r3, #0x0
-_02014032:
- ldr r0, [r2, #0x0]
- cmp r0, #0x0
- bne _02014042
- mov r0, #0x28
- mul r0, r1
- add r0, r3, r0
- pop {r3-r4}
- bx lr
-_02014042:
- add r1, r1, #0x1
- add r2, #0x28
- cmp r1, r4
- blt _02014032
-_0201404A:
- mov r0, #0x0
- pop {r3-r4}
- bx lr
-
- thumb_func_start FUN_02014050
-FUN_02014050: ; 0x02014050
- push {r3-r4}
- ldr r4, [r0, #0x4]
- mov r1, #0x0
- cmp r4, #0x0
- ble _02014076
- ldr r3, [r0, #0x10]
- add r2, r3, #0x0
-_0201405E:
- ldr r0, [r2, #0x0]
- cmp r0, #0x0
- bne _0201406E
- mov r0, #0x18
- mul r0, r1
- add r0, r3, r0
- pop {r3-r4}
- bx lr
-_0201406E:
- add r1, r1, #0x1
- add r2, #0x18
- cmp r1, r4
- blt _0201405E
-_02014076:
- mov r0, #0x0
- pop {r3-r4}
- bx lr
-
- thumb_func_start FUN_0201407C
-FUN_0201407C: ; 0x0201407C
- push {r3, lr}
- ldr r3, _0201408C ; =0x021064B8
- mov r1, #0x0
- ldr r0, [r0, #0x10]
- ldr r3, [r3, #0x0]
- add r2, r1, #0x0
- blx r3
- pop {r3, pc}
- .balign 4
-_0201408C: .word 0x021064B8
-
- thumb_func_start FUN_02014090
-FUN_02014090: ; 0x02014090
- push {r3, lr}
- ldr r3, _020140A0 ; =0x021064C0
- mov r1, #0x0
- ldr r3, [r3, #0x0]
- lsl r0, r0, #0x5
- add r2, r1, #0x0
- blx r3
- pop {r3, pc}
- .balign 4
-_020140A0: .word 0x021064C0
-
- thumb_func_start FUN_020140A4
-FUN_020140A4: ; 0x020140A4
- push {r3, lr}
- lsl r1, r1, #0x10
- add r3, r2, #0x0
- lsr r1, r1, #0xd
- mov r2, #0x0
- blx FUN_020B1528
- pop {r3, pc}
-
- thumb_func_start FUN_020140B4
-FUN_020140B4: ; 0x020140B4
- push {r3-r5, lr}
- add r3, r2, #0x0
- ldr r2, _020140D4 ; =0xFFFF0000
- add r5, r0, #0x0
- and r2, r1
- lsr r2, r2, #0x10
- lsl r1, r1, #0x10
- ldr r4, [r5, #0x8]
- lsl r2, r2, #0x3
- str r2, [r5, #0x8]
- lsr r1, r1, #0xd
- mov r2, #0x0
- blx FUN_020B1240
- str r4, [r5, #0x8]
- pop {r3-r5, pc}
- .balign 4
-_020140D4: .word 0xFFFF0000
-
- thumb_func_start FUN_020140D8
-FUN_020140D8: ; 0x020140D8
- push {r3-r7, lr}
- sub sp, #0x18
- ldr r7, _020141F8 ; =0x04000444
- mov r6, #0x0
- add r5, r0, #0x0
- str r6, [r7, #0x0]
- ldrh r1, [r5, #0x3c]
- ldr r0, _020141FC ; =0x7FFF8000
- orr r0, r1
- str r0, [r7, #0x7c]
- add r0, r7, #0x0
- ldr r1, _02014200 ; =0x00004210
- add r0, #0x80
- str r1, [r0, #0x0]
- ldr r3, [r5, #0x24]
- ldr r4, [r3, #0x8]
- ldr r2, [r3, #0x10]
- ldr r1, [r3, #0x4]
- ldr r0, [r3, #0x0]
- lsl r3, r2, #0x1d
- lsl r2, r1, #0x17
- lsl r1, r0, #0x14
- ldr r0, [r5, #0x28]
- lsl r4, r4, #0x1a
- lsr r0, r0, #0x3
- orr r4, r0
- mov r0, #0x1
- lsl r0, r0, #0x1e
- orr r0, r4
- orr r0, r1
- orr r0, r2
- orr r0, r3
- str r0, [r7, #0x64]
- ldr r0, [r5, #0x24]
- ldr r0, [r0, #0x8]
- cmp r0, #0x2
- bne _02014124
- mov r6, #0x1
-_02014124:
- ldr r0, [r5, #0x30]
- ldr r1, [r5, #0x2c]
- lsl r0, r0, #0x5
- add r1, r1, r0
- mov r0, #0x4
- sub r0, r0, r6
- lsr r1, r0
- ldr r2, _02014204 ; =0x040004AC
- add r0, r5, #0x0
- str r1, [r2, #0x0]
- add r0, #0x3e
- ldrb r0, [r0, #0x0]
- sub r2, #0x8
- lsl r1, r0, #0x10
- mov r0, #0xc0
- orr r0, r1
- str r0, [r2, #0x0]
- ldr r0, [r5, #0x34]
- cmp r0, #0x0
- beq _02014156
- mov r0, #0x8
- ldrsh r0, [r5, r0]
- mov r7, #0x0
- str r0, [sp, #0x14]
- b _0201415E
-_02014156:
- mov r0, #0x8
- ldrsh r7, [r5, r0]
- mov r0, #0x0
- str r0, [sp, #0x14]
-_0201415E:
- ldr r0, [r5, #0x38]
- cmp r0, #0x0
- beq _0201416C
- mov r0, #0xa
- ldrsh r6, [r5, r0]
- mov r4, #0x0
- b _02014172
-_0201416C:
- mov r0, #0xa
- ldrsh r4, [r5, r0]
- mov r6, #0x0
-_02014172:
- ldr r0, [r5, #0x14]
- mov r1, #0x6
- lsl r2, r0, #0xc
- mov r0, #0x2
- ldrsh r0, [r5, r0]
- ldrsh r1, [r5, r1]
- mov r3, #0x4
- ldrsh r3, [r5, r3]
- add r0, r0, r1
- lsl r1, r0, #0xc
- mov r0, #0x0
- ldrsh r0, [r5, r0]
- add r0, r0, r3
- ldr r3, _02014208 ; =0x04000470
- lsl r0, r0, #0xc
- str r0, [r3, #0x0]
- str r1, [r3, #0x0]
- str r2, [r3, #0x0]
- ldr r0, [r5, #0x18]
- ldr r1, _0201420C ; =0x020FFA38
- asr r0, r0, #0x4
- lsl r2, r0, #0x1
- lsl r0, r2, #0x1
- add r2, r2, #0x1
- lsl r2, r2, #0x1
- ldrsh r0, [r1, r0]
- ldrsh r1, [r1, r2]
- blx G3_RotZ
- ldr r2, [r5, #0x10]
- ldr r0, [r5, #0xc]
- ldr r1, _02014210 ; =0x0400046C
- mov r3, #0x8
- str r0, [r1, #0x0]
- str r2, [r1, #0x0]
- lsr r0, r1, #0xe
- str r0, [r1, #0x0]
- mov r2, #0x4
- mov r0, #0x6
- ldrsh r2, [r5, r2]
- ldrsh r0, [r5, r0]
- neg r2, r2
- neg r0, r0
- lsl r2, r2, #0xc
- lsl r0, r0, #0xc
- str r2, [r1, #0x4]
- str r0, [r1, #0x4]
- mov r0, #0x0
- str r0, [r1, #0x4]
- mov r1, #0xa
- ldrsh r1, [r5, r1]
- add r2, r0, #0x0
- str r1, [sp, #0x0]
- ldr r1, [sp, #0x14]
- str r1, [sp, #0x4]
- str r6, [sp, #0x8]
- str r7, [sp, #0xc]
- str r4, [sp, #0x10]
- ldrsh r3, [r5, r3]
- add r1, r0, #0x0
- blx FUN_020B0250
- ldr r0, _02014214 ; =0x04000448
- mov r1, #0x1
- str r1, [r0, #0x0]
- add sp, #0x18
- pop {r3-r7, pc}
- .balign 4
-_020141F8: .word 0x04000444
-_020141FC: .word 0x7FFF8000
-_02014200: .word 0x00004210
-_02014204: .word 0x040004AC
-_02014208: .word 0x04000470
-_0201420C: .word 0x020FFA38
-_02014210: .word 0x0400046C
-_02014214: .word 0x04000448
-
- thumb_func_start FUN_02014218
-FUN_02014218: ; 0x02014218
- push {r3-r7, lr}
- add r5, r1, #0x0
- ldr r1, [r5, #0x4]
- add r7, r0, #0x0
- ldr r2, [r1, #0x10]
- mov r6, #0x8
- mov r0, #0x0
- cmp r2, #0x0
- ble _02014236
-_0201422A:
- ldr r2, [r5, #0x4]
- add r0, r0, #0x1
- ldr r2, [r2, #0x10]
- lsl r6, r6, #0x1
- cmp r0, r2
- blt _0201422A
-_02014236:
- ldr r1, [r1, #0x14]
- mov r4, #0x8
- mov r0, #0x0
- cmp r1, #0x0
- ble _0201424C
-_02014240:
- ldr r1, [r5, #0x4]
- add r0, r0, #0x1
- ldr r1, [r1, #0x14]
- lsl r4, r4, #0x1
- cmp r0, r1
- blt _02014240
-_0201424C:
- mov r1, #0xc
- mov r2, #0xe
- ldrsh r1, [r5, r1]
- ldrsh r2, [r5, r2]
- add r0, r7, #0x0
- bl FUN_02013EC4
- lsr r1, r6, #0x1f
- lsr r2, r4, #0x1f
- add r1, r6, r1
- add r2, r4, r2
- lsl r1, r1, #0xf
- lsl r2, r2, #0xf
- add r0, r7, #0x0
- asr r1, r1, #0x10
- asr r2, r2, #0x10
- bl FUN_02013ED8
- mov r0, #0x1
- lsl r0, r0, #0xc
- str r0, [r7, #0xc]
- str r0, [r7, #0x10]
- add r0, r7, #0x0
- add r1, r6, #0x0
- add r2, r4, #0x0
- bl FUN_02013EE8
- ldr r1, [r5, #0x18]
- add r0, r7, #0x0
- bl FUN_02013EFC
- ldr r1, [r5, #0x14]
- add r0, r7, #0x0
- lsl r1, r1, #0x18
- lsr r1, r1, #0x18
- bl FUN_02013F04
- ldr r1, [r5, #0x4]
- add r0, r7, #0x0
- add r1, #0x10
- bl FUN_02013F10
- ldr r0, [r5, #0x4]
- mov r1, #0x0
- add r0, r0, #0x4
- blx FUN_020B1A14
- add r1, r0, #0x0
- add r0, r7, #0x0
- bl FUN_02013F14
- ldr r0, [r5, #0x8]
- mov r1, #0x0
- add r0, r0, #0x4
- blx FUN_020B19C4
- add r1, r0, #0x0
- add r0, r7, #0x0
- bl FUN_02013F18
- ldrh r1, [r5, #0x1c]
- add r0, r7, #0x0
- bl FUN_02013F1C
- mov r1, #0x0
- add r0, r7, #0x0
- add r2, r1, #0x0
- bl FUN_02013F20
- add r0, r7, #0x0
- mov r1, #0x1
- mov r2, #0x0
- bl FUN_02013F20
- ldrh r1, [r5, #0x10]
- add r0, r7, #0x0
- bl FUN_02013F2C
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_020142EC
-FUN_020142EC: ; 0x020142EC
- push {r4-r7, lr}
- sub sp, #0xc
- add r5, r0, #0x0
- add r6, r1, #0x0
- add r7, r2, #0x0
- ldr r0, _02014394 ; =FUN_020143DC
- mov r1, #0x50
- mov r2, #0x0
- bl FUN_020061E8
- str r0, [sp, #0x4]
- bl FUN_0201B6C8
- add r4, r0, #0x0
- cmp r5, #0x0
- beq _02014330
- cmp r6, #0x0
- bne _02014320
- add r0, r5, #0x0
- mov r1, #0x0
- bl FUN_020031FC
- str r0, [sp, #0x0]
- ldr r0, _02014398 ; =FUN_020144E0
- str r0, [r4, #0x4]
- b _0201434A
-_02014320:
- add r0, r5, #0x0
- mov r1, #0x1
- bl FUN_020031FC
- str r0, [sp, #0x0]
- ldr r0, _0201439C ; =FUN_020144FC
- str r0, [r4, #0x4]
- b _0201434A
-_02014330:
- cmp r6, #0x0
- bne _02014340
- bl FUN_020222E8
- str r0, [sp, #0x0]
- ldr r0, _020143A0 ; =FUN_020144B0
- str r0, [r4, #0x4]
- b _0201434A
-_02014340:
- bl FUN_020222F8
- str r0, [sp, #0x0]
- ldr r0, _020143A4 ; =FUN_020144C8
- str r0, [r4, #0x4]
-_0201434A:
- ldr r1, [sp, #0x0]
- lsl r0, r7, #0x5
- str r0, [sp, #0x8]
- add r0, r1, r0
- add r1, r4, #0x0
- add r1, #0xc
- mov r2, #0x20
- blx MIi_CpuCopy16
- ldr r1, [sp, #0x0]
- ldr r0, [sp, #0x8]
- mov r2, #0x20
- add r0, r1, r0
- add r1, r4, #0x0
- add r1, #0x2c
- blx MIi_CpuCopy16
- ldr r0, [sp, #0x4]
- mov r1, #0x1
- str r0, [r4, #0x0]
- add r0, r4, #0x0
- str r5, [r4, #0x8]
- add r0, #0x4c
- strb r6, [r0, #0x0]
- add r0, r4, #0x0
- add r0, #0x4d
- strb r7, [r0, #0x0]
- add r0, r4, #0x0
- add r0, #0x4e
- strb r1, [r0, #0x0]
- add r0, r4, #0x0
- mov r1, #0x0
- add r0, #0x4f
- strb r1, [r0, #0x0]
- add r0, r4, #0x0
- add sp, #0xc
- pop {r4-r7, pc}
- .balign 4
-_02014394: .word FUN_020143DC
-_02014398: .word FUN_020144E0
-_0201439C: .word FUN_020144FC
-_020143A0: .word FUN_020144B0
-_020143A4: .word FUN_020144C8
-
- thumb_func_start FUN_020143A8
-FUN_020143A8: ; 0x020143A8
- cmp r1, #0x0
- beq _020143B6
- cmp r1, #0x1
- beq _020143BE
- cmp r1, #0x2
- beq _020143C6
- bx lr
-_020143B6:
- mov r1, #0x0
- add r0, #0x4e
- strb r1, [r0, #0x0]
- bx lr
-_020143BE:
- mov r1, #0x2
- add r0, #0x4e
- strb r1, [r0, #0x0]
- bx lr
-_020143C6:
- mov r1, #0x3
- add r0, #0x4e
- strb r1, [r0, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_020143D0
-FUN_020143D0: ; 0x020143D0
- ldr r3, _020143D8 ; =FUN_0200621C
- ldr r0, [r0, #0x0]
- bx r3
- nop
-_020143D8: .word FUN_0200621C
-
- thumb_func_start FUN_020143DC
-FUN_020143DC: ; 0x020143DC
- push {r3-r5, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x4e
- ldrb r0, [r0, #0x0]
- cmp r0, #0x3
- bhi _02014452
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_020143F8: ; jump table (using 16-bit offset)
- .short _02014400 - _020143F8 - 2; case 0
- .short _02014410 - _020143F8 - 2; case 1
- .short _02014452 - _020143F8 - 2; case 2
- .short _02014444 - _020143F8 - 2; case 3
-_02014400:
- add r0, r4, #0x0
- mov r1, #0x0
- add r0, #0x4f
- strb r1, [r0, #0x0]
- mov r0, #0x1
- add r4, #0x4e
- strb r0, [r4, #0x0]
- pop {r3-r5, pc}
-_02014410:
- add r0, r4, #0x0
- bl FUN_02014454
- cmp r0, #0x1
- bne _02014424
- add r1, r4, #0x0
- ldr r2, [r4, #0x4]
- add r0, r4, #0x0
- add r1, #0x2c
- blx r2
-_02014424:
- add r0, r4, #0x0
- add r0, #0x4f
- ldrb r0, [r0, #0x0]
- add r1, r0, #0x1
- add r0, r4, #0x0
- add r0, #0x4f
- strb r1, [r0, #0x0]
- add r0, r4, #0x0
- add r0, #0x4f
- ldrb r0, [r0, #0x0]
- cmp r0, #0x20
- bne _02014452
- mov r0, #0x0
- add r4, #0x4f
- strb r0, [r4, #0x0]
- pop {r3-r5, pc}
-_02014444:
- ldr r2, [r4, #0x4]
- add r0, r4, #0x0
- add r1, #0xc
- blx r2
- add r0, r5, #0x0
- bl FUN_0200621C
-_02014452:
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02014454
-FUN_02014454: ; 0x02014454
- push {r4-r5}
- add r1, r0, #0x0
- add r1, #0x4f
- ldrb r1, [r1, #0x0]
- cmp r1, #0x0
- bne _02014482
- mov r1, #0x1e
- mov r4, #0x0
- mov r3, #0x1
- lsl r1, r1, #0xa
-_02014468:
- add r2, r3, #0x0
- lsl r2, r4
- tst r2, r1
- beq _02014474
- ldrh r2, [r0, #0xc]
- strh r2, [r0, #0x2c]
-_02014474:
- add r4, r4, #0x1
- add r0, r0, #0x2
- cmp r4, #0x10
- blo _02014468
- mov r0, #0x1
- pop {r4-r5}
- bx lr
-_02014482:
- cmp r1, #0x18
- bne _020144AA
- mov r1, #0x1e
- mov r5, #0x0
- add r4, r0, #0x0
- mov r3, #0x1
- lsl r1, r1, #0xa
-_02014490:
- add r2, r3, #0x0
- lsl r2, r5
- tst r2, r1
- beq _0201449C
- ldrh r2, [r0, #0x2a]
- strh r2, [r4, #0x2c]
-_0201449C:
- add r5, r5, #0x1
- add r4, r4, #0x2
- cmp r5, #0x10
- blo _02014490
- mov r0, #0x1
- pop {r4-r5}
- bx lr
-_020144AA:
- mov r0, #0x0
- pop {r4-r5}
- bx lr
-
- thumb_func_start FUN_020144B0
-FUN_020144B0: ; 0x020144B0
- push {r3, lr}
- add r3, r0, #0x0
- add r3, #0x4d
- ldrb r3, [r3, #0x0]
- mov r0, #0x0
- mov r2, #0x20
- lsl r3, r3, #0x15
- lsr r3, r3, #0x10
- bl FUN_02017FB4
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_020144C8
-FUN_020144C8: ; 0x020144C8
- push {r3, lr}
- add r3, r0, #0x0
- add r3, #0x4d
- ldrb r3, [r3, #0x0]
- mov r0, #0x4
- mov r2, #0x20
- lsl r3, r3, #0x15
- lsr r3, r3, #0x10
- bl FUN_02017FB4
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_020144E0
-FUN_020144E0: ; 0x020144E0
- push {r3, lr}
- add r3, r0, #0x0
- mov r0, #0x20
- str r0, [sp, #0x0]
- ldr r0, [r3, #0x8]
- add r3, #0x4d
- ldrb r3, [r3, #0x0]
- mov r2, #0x0
- lsl r3, r3, #0x14
- lsr r3, r3, #0x10
- bl FUN_02003054
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_020144FC
-FUN_020144FC: ; 0x020144FC
- push {r3, lr}
- add r3, r0, #0x0
- mov r0, #0x20
- str r0, [sp, #0x0]
- ldr r0, [r3, #0x8]
- add r3, #0x4d
- ldrb r3, [r3, #0x0]
- mov r2, #0x1
- lsl r3, r3, #0x14
- lsr r3, r3, #0x10
- bl FUN_02003054
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_02014518
-FUN_02014518: ; 0x02014518
- push {r3-r7, lr}
- mov r1, #0x78
- add r7, r0, #0x0
- bl FUN_02016998
- mov r1, #0x0
- mov r2, #0x78
- add r6, r0, #0x0
- blx MI_CpuFill8
- ldr r2, _02014560 ; =0x0000019E
- mov r0, #0x0
- mov r1, #0x1a
- add r3, r7, #0x0
- bl FUN_0200A86C
- str r0, [r6, #0x0]
- mov r4, #0x0
- add r5, r6, #0x0
-_0201453E:
- mov r0, #0x16
- add r1, r7, #0x0
- bl FUN_020219F4
- str r0, [r5, #0x4]
- ldr r0, [r6, #0x0]
- ldr r2, [r5, #0x4]
- add r1, r4, #0x0
- bl FUN_0200A8E0
- add r4, r4, #0x1
- add r5, r5, #0x4
- cmp r4, #0x1d
- blt _0201453E
- add r0, r6, #0x0
- pop {r3-r7, pc}
- nop
-_02014560: .word 0x0000019E
-
- thumb_func_start FUN_02014564
-FUN_02014564: ; 0x02014564
- push {r4-r6, lr}
- add r6, r0, #0x0
- add r5, r6, #0x0
- mov r4, #0x1c
- add r5, #0x70
-_0201456E:
- ldr r0, [r5, #0x4]
- bl FUN_02021A20
- sub r5, r5, #0x4
- sub r4, r4, #0x1
- bpl _0201456E
- ldr r0, [r6, #0x0]
- bl FUN_0200A8B8
- add r0, r6, #0x0
- bl FUN_02016A18
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02014588
-FUN_02014588: ; 0x02014588
- lsl r1, r1, #0x2
- add r0, r0, r1
- ldr r0, [r0, #0x4]
- bx lr
-
- thumb_func_start FUN_02014590
-FUN_02014590: ; 0x02014590
- push {r3-r5, lr}
- add r5, r0, #0x0
- mov r1, #0x9c
- bl FUN_02016998
- add r1, r5, #0x0
- add r4, r0, #0x0
- bl FUN_020146F0
- add r0, r4, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_020145A8
-FUN_020145A8: ; 0x020145A8
- push {r4, lr}
- add r4, r0, #0x0
- add r1, r4, #0x0
- add r1, #0x9b
- ldrb r1, [r1, #0x0]
- lsl r1, r1, #0x1c
- lsr r1, r1, #0x1c
- cmp r1, #0x1
- bne _020145BE
- bl FUN_020146C4
-_020145BE:
- add r0, r4, #0x0
- bl FUN_02016A18
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_020145C8
-FUN_020145C8: ; 0x020145C8
- push {r3-r5, lr}
- add r4, r1, #0x0
- ldr r2, [r4, #0x0]
- add r5, r0, #0x0
- str r2, [r5, #0x7c]
- add r2, r5, #0x0
- ldr r3, [r4, #0x4]
- add r2, #0x80
- str r3, [r2, #0x0]
- add r2, r5, #0x0
- ldrb r3, [r4, #0x10]
- add r2, #0x98
- strb r3, [r2, #0x0]
- add r2, r5, #0x0
- ldrb r3, [r4, #0x11]
- add r2, #0x99
- strb r3, [r2, #0x0]
- bl FUN_02014730
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02014754
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02014784
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02014814
- add r0, r5, #0x0
- add r0, #0x9b
- ldrb r1, [r0, #0x0]
- mov r0, #0xf
- bic r1, r0
- mov r0, #0x1
- orr r1, r0
- add r0, r5, #0x0
- add r0, #0x9b
- strb r1, [r0, #0x0]
- add r0, r5, #0x0
- add r0, #0x9b
- ldrb r1, [r0, #0x0]
- mov r0, #0xf0
- add r5, #0x9b
- bic r1, r0
- mov r0, #0x80
- orr r0, r1
- strb r0, [r5, #0x0]
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02014630
-FUN_02014630: ; 0x02014630
- push {r4, lr}
- add r4, r0, #0x0
- add r1, r4, #0x0
- add r1, #0x9b
- ldrb r2, [r1, #0x0]
- mov r1, #0xf0
- bic r2, r1
- mov r1, #0x80
- orr r2, r1
- add r1, r4, #0x0
- add r1, #0x9b
- strb r2, [r1, #0x0]
- bl FUN_0201466C
- cmp r0, #0x0
- bne _0201466A
- add r1, r4, #0x0
- add r1, #0x9b
- ldrb r1, [r1, #0x0]
- lsl r1, r1, #0x18
- lsr r1, r1, #0x1c
- bne _0201466A
- add r4, #0x9a
- ldrb r0, [r4, #0x0]
- cmp r0, #0x0
- bne _02014668
- mov r0, #0x3
- pop {r4, pc}
-_02014668:
- mov r0, #0x4
-_0201466A:
- pop {r4, pc}
-
- thumb_func_start FUN_0201466C
-FUN_0201466C: ; 0x0201466C
- push {r4, lr}
- add r4, r0, #0x0
- add r0, #0x9b
- ldrb r0, [r0, #0x0]
- lsl r0, r0, #0x1c
- lsr r0, r0, #0x1c
- cmp r0, #0x1
- beq _02014680
- bl ErrorHandling
-_02014680:
- add r0, r4, #0x0
- add r0, #0x9a
- ldrb r0, [r0, #0x0]
- cmp r0, #0x3
- bne _02014690
- ldr r0, [r4, #0x0]
- bl FUN_02022144
-_02014690:
- add r1, r4, #0x0
- add r1, #0x9a
- ldrb r2, [r1, #0x0]
- mov r0, #0x0
- cmp r2, #0x3
- beq _020146AA
- add r1, r4, #0x0
- mov r0, #0x38
- add r1, #0xc
- mul r0, r2
- add r0, r1, r0
- bl FUN_02014930
-_020146AA:
- cmp r0, #0x1
- bne _020146BE
- add r4, #0x9a
- ldrb r0, [r4, #0x0]
- cmp r0, #0x0
- bne _020146BA
- mov r0, #0x1
- pop {r4, pc}
-_020146BA:
- mov r0, #0x2
- pop {r4, pc}
-_020146BE:
- mov r0, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_020146C4
-FUN_020146C4: ; 0x020146C4
- push {r4-r6, lr}
- add r6, r0, #0x0
- ldr r0, [r6, #0x0]
- bl FUN_0202212C
- add r5, r6, #0x0
- mov r4, #0x0
- add r5, #0xc
-_020146D4:
- add r0, r5, #0x0
- bl FUN_02014970
- add r4, r4, #0x1
- add r5, #0x38
- cmp r4, #0x2
- blt _020146D4
- add r0, r6, #0x0
- add r6, #0x84
- ldr r1, [r6, #0x0]
- bl FUN_020146F0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_020146F0
-FUN_020146F0: ; 0x020146F0
- push {r3-r5, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- mov r1, #0x0
- mov r2, #0x9c
- blx Call_FillMemWithValue
- add r0, r5, #0x0
- add r0, #0x9b
- ldrb r1, [r0, #0x0]
- mov r0, #0xf
- bic r1, r0
- add r0, r5, #0x0
- add r0, #0x9b
- strb r1, [r0, #0x0]
- add r0, r5, #0x0
- add r0, #0x84
- str r4, [r0, #0x0]
- add r0, r5, #0x0
- mov r1, #0x3
- add r0, #0x9a
- strb r1, [r0, #0x0]
- add r0, r5, #0x0
- add r0, #0x9b
- ldrb r1, [r0, #0x0]
- mov r0, #0xf0
- add r5, #0x9b
- bic r1, r0
- mov r0, #0x80
- orr r0, r1
- strb r0, [r5, #0x0]
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02014730
-FUN_02014730: ; 0x02014730
- push {r3, lr}
- sub sp, #0x8
- add r3, r0, #0x0
- ldr r0, [r1, #0x8]
- mov r1, #0x1
- str r0, [sp, #0x0]
- add r0, r3, #0x0
- add r0, #0x84
- ldr r0, [r0, #0x0]
- str r0, [sp, #0x4]
- ldr r2, [r3, #0x7c]
- add r3, #0x80
- ldr r3, [r3, #0x0]
- mov r0, #0x54
- bl FUN_02014A3C
- add sp, #0x8
- pop {r3, pc}
-
- thumb_func_start FUN_02014754
-FUN_02014754: ; 0x02014754
- push {r3, lr}
- sub sp, #0x8
- add r3, r1, #0x0
- add r1, r0, #0x0
- add r1, #0x80
- ldr r1, [r1, #0x0]
- cmp r1, #0x4
- bhs _02014768
- mov r2, #0x0
- b _0201476A
-_02014768:
- mov r2, #0x4
-_0201476A:
- mov r1, #0x40
- str r1, [sp, #0x0]
- add r0, #0x84
- ldr r0, [r0, #0x0]
- mov r1, #0x0
- str r0, [sp, #0x4]
- ldr r3, [r3, #0xc]
- mov r0, #0x54
- lsl r3, r3, #0x5
- bl FUN_02014A8C
- add sp, #0x8
- pop {r3, pc}
-
- thumb_func_start FUN_02014784
-FUN_02014784: ; 0x02014784
- push {r3-r7, lr}
- sub sp, #0x30
- add r7, r0, #0x0
- mov r3, #0x0
- add r4, r7, #0x0
-_0201478E:
- add r0, r4, #0x0
- add r3, r3, #0x1
- lsl r2, r3, #0xc
- add r0, #0x88
- add r4, r4, #0x4
- str r2, [r0, #0x0]
- cmp r3, #0x4
- blt _0201478E
- ldr r0, [r7, #0x7c]
- mov r5, #0x0
- str r0, [sp, #0x0]
- add r0, r7, #0x0
- add r0, #0x80
- ldr r0, [r0, #0x0]
- add r4, r7, #0x0
- str r0, [sp, #0x4]
- mov r0, #0x54
- str r0, [sp, #0x8]
- ldr r0, [r1, #0x8]
- add r6, r5, #0x0
- str r0, [sp, #0x1c]
- ldr r0, [r1, #0xc]
- add r4, #0xc
- str r0, [sp, #0x20]
- add r0, r7, #0x0
- add r0, #0x88
- str r0, [sp, #0x24]
- mov r0, #0x4
- str r0, [sp, #0x28]
- add r0, r7, #0x0
- add r0, #0x98
- ldrb r1, [r0, #0x0]
- add r0, sp, #0x20
- strb r1, [r0, #0xc]
-_020147D2:
- mov r1, #0x0
- mov r2, #0x2
- add r3, sp, #0x0
-_020147D8:
- add r0, r5, r2
- str r0, [r3, #0xc]
- add r1, r1, #0x1
- add r2, r2, #0x2
- add r3, r3, #0x4
- cmp r1, #0x4
- blt _020147D8
- add r0, r7, #0x0
- add r0, #0x99
- ldrb r0, [r0, #0x0]
- add r2, r7, #0x0
- add r2, #0x84
- add r1, r0, r6
- add r0, sp, #0x20
- strb r1, [r0, #0xd]
- ldr r0, [sp, #0x20]
- add r1, sp, #0x0
- add r0, r0, r5
- str r0, [sp, #0x20]
- ldr r2, [r2, #0x0]
- add r0, r4, #0x0
- bl FUN_020148A8
- add r5, r5, #0x1
- add r6, r6, #0x4
- add r4, #0x38
- cmp r5, #0x2
- blt _020147D2
- add sp, #0x30
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02014814
-FUN_02014814: ; 0x02014814
- push {r3-r4, lr}
- sub sp, #0x4
- add r4, r0, #0x0
- mov r0, #0x0
- add r1, r0, #0x0
- add r2, r4, #0x0
-_02014820:
- add r3, r4, #0x0
- add r3, #0x99
- ldrb r3, [r3, #0x0]
- add r0, r0, #0x1
- lsl r3, r3, #0x3
- add r3, r3, r1
- strb r3, [r2, #0x4]
- add r3, r4, #0x0
- add r3, #0x99
- ldrb r3, [r3, #0x0]
- lsl r3, r3, #0x3
- add r3, r3, r1
- add r3, #0x20
- strb r3, [r2, #0x5]
- add r3, r4, #0x0
- add r3, #0x98
- ldrb r3, [r3, #0x0]
- add r1, #0x20
- lsl r3, r3, #0x3
- strb r3, [r2, #0x6]
- add r3, r4, #0x0
- add r3, #0x98
- ldrb r3, [r3, #0x0]
- lsl r3, r3, #0x3
- add r3, #0x30
- strb r3, [r2, #0x7]
- add r2, r2, #0x4
- cmp r0, #0x2
- blt _02014820
- add r0, r4, #0x0
- add r0, #0x84
- ldr r0, [r0, #0x0]
- ldr r2, _02014874 ; =FUN_02014878
- str r0, [sp, #0x0]
- add r0, r4, #0x4
- mov r1, #0x2
- add r3, r4, #0x0
- bl FUN_020220C4
- str r0, [r4, #0x0]
- add sp, #0x4
- pop {r3-r4, pc}
- .balign 4
-_02014874: .word FUN_02014878
-
- thumb_func_start FUN_02014878
-FUN_02014878: ; 0x02014878
- push {r4, lr}
- add r3, r2, #0x0
- add r3, #0x9b
- ldrb r3, [r3, #0x0]
- mov r4, #0xf0
- bic r3, r4
- lsl r4, r1, #0x18
- lsr r4, r4, #0x18
- lsl r4, r4, #0x1c
- lsr r4, r4, #0x18
- orr r4, r3
- add r3, r2, #0x0
- add r3, #0x9b
- strb r4, [r3, #0x0]
- cmp r1, #0x0
- bne _020148A2
- add r2, #0x9a
- strb r0, [r2, #0x0]
- ldr r0, _020148A4 ; =0x000005E4
- bl FUN_020054C8
-_020148A2:
- pop {r4, pc}
- .balign 4
-_020148A4: .word 0x000005E4
-
- thumb_func_start FUN_020148A8
-FUN_020148A8: ; 0x020148A8
- push {r3-r7, lr}
- sub sp, #0x10
- add r5, r1, #0x0
- str r2, [sp, #0x8]
- str r0, [sp, #0x4]
- ldr r1, [r5, #0x24]
- ldr r2, [r5, #0x28]
- add r0, #0x28
- bl FUN_020149FC
- ldr r1, [r5, #0x0]
- ldr r0, [sp, #0x4]
- ldr r6, [sp, #0x4]
- str r1, [r0, #0x0]
- ldr r1, [r5, #0x4]
- ldr r4, [sp, #0x4]
- str r1, [r0, #0x4]
- add r0, r5, #0x0
- add r0, #0x2c
- ldrb r1, [r0, #0x0]
- ldr r0, [sp, #0x4]
- add r6, #0x18
- add r0, #0x34
- strb r1, [r0, #0x0]
- add r0, r5, #0x0
- add r0, #0x2d
- ldrb r1, [r0, #0x0]
- ldr r0, [sp, #0x4]
- add r7, r5, #0x0
- add r0, #0x35
- strb r1, [r0, #0x0]
- mov r0, #0x0
- str r0, [sp, #0xc]
-_020148EA:
- ldr r0, [sp, #0x8]
- mov r2, #0x1
- str r0, [sp, #0x0]
- ldr r0, [r5, #0x8]
- ldr r1, [r7, #0xc]
- add r3, r6, #0x0
- bl FUN_02006BDC
- str r0, [r4, #0x8]
- ldr r0, [r4, #0x18]
- ldr r1, [r5, #0x1c]
- bl FUN_02014BA4
- ldr r0, [r4, #0x18]
- ldr r1, [r5, #0x20]
- bl FUN_02014BC4
- ldr r0, [sp, #0xc]
- add r6, r6, #0x4
- add r0, r0, #0x1
- add r7, r7, #0x4
- add r4, r4, #0x4
- str r0, [sp, #0xc]
- cmp r0, #0x4
- blt _020148EA
- ldr r0, [sp, #0x4]
- bl FUN_020149D0
- ldr r0, [sp, #0x4]
- mov r1, #0x0
- add r0, #0x36
- str r0, [sp, #0x4]
- strb r1, [r0, #0x0]
- add sp, #0x10
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02014930
-FUN_02014930: ; 0x02014930
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, #0x28
- bl FUN_02014A10
- add r4, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x36
- ldrb r0, [r0, #0x0]
- cmp r0, r4
- beq _02014952
- add r0, r5, #0x0
- bl FUN_020149D0
- add r0, r5, #0x0
- add r0, #0x36
- strb r4, [r0, #0x0]
-_02014952:
- ldr r0, [r5, #0x2c]
- sub r0, r0, #0x1
- cmp r4, r0
- bne _0201495E
- mov r0, #0x1
- pop {r3-r5, pc}
-_0201495E:
- add r5, #0x28
- mov r1, #0x1
- add r0, r5, #0x0
- lsl r1, r1, #0xc
- bl FUN_02014A08
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02014970
-FUN_02014970: ; 0x02014970
- push {r4-r6, lr}
- sub sp, #0x10
- add r6, r0, #0x0
- add r0, #0x35
- ldrb r0, [r0, #0x0]
- ldr r1, [r6, #0x18]
- add r3, r6, #0x0
- str r0, [sp, #0x0]
- ldrh r0, [r1, #0x0]
- mov r2, #0x0
- add r3, #0x34
- lsl r0, r0, #0x15
- lsr r0, r0, #0x18
- str r0, [sp, #0x4]
- ldrh r0, [r1, #0x2]
- lsl r0, r0, #0x15
- lsr r0, r0, #0x18
- str r0, [sp, #0x8]
- str r2, [sp, #0xc]
- ldr r1, [r6, #0x4]
- ldrb r3, [r3, #0x0]
- lsl r1, r1, #0x18
- ldr r0, [r6, #0x0]
- lsr r1, r1, #0x18
- bl FUN_02018540
- ldr r1, [r6, #0x4]
- ldr r0, [r6, #0x0]
- lsl r1, r1, #0x18
- lsr r1, r1, #0x18
- bl FUN_0201AC68
- mov r4, #0x0
- add r5, r6, #0x0
-_020149B4:
- ldr r0, [r5, #0x8]
- bl FUN_02016A18
- add r4, r4, #0x1
- add r5, r5, #0x4
- cmp r4, #0x4
- blt _020149B4
- add r0, r6, #0x0
- mov r1, #0x0
- mov r2, #0x38
- blx Call_FillMemWithValue
- add sp, #0x10
- pop {r4-r6, pc}
-
- thumb_func_start FUN_020149D0
-FUN_020149D0: ; 0x020149D0
- push {r3-r4, lr}
- sub sp, #0x4
- add r4, r0, #0x0
- add r0, #0x28
- bl FUN_02014A10
- add r2, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x35
- ldrb r0, [r0, #0x0]
- lsl r2, r2, #0x2
- add r2, r4, r2
- str r0, [sp, #0x0]
- ldr r0, [r4, #0x0]
- ldr r1, [r4, #0x4]
- add r4, #0x34
- ldrb r3, [r4, #0x0]
- ldr r2, [r2, #0x18]
- bl FUN_02014B58
- add sp, #0x4
- pop {r3-r4, pc}
-
- thumb_func_start FUN_020149FC
-FUN_020149FC: ; 0x020149FC
- str r1, [r0, #0x0]
- str r2, [r0, #0x4]
- mov r1, #0x0
- str r1, [r0, #0x8]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02014A08
-FUN_02014A08: ; 0x02014A08
- ldr r2, [r0, #0x8]
- add r1, r2, r1
- str r1, [r0, #0x8]
- bx lr
-
- thumb_func_start FUN_02014A10
-FUN_02014A10: ; 0x02014A10
- push {r4-r5}
- ldr r5, [r0, #0x4]
- mov r2, #0x0
- cmp r5, #0x0
- bls _02014A34
- ldr r3, [r0, #0x0]
- ldr r4, [r0, #0x8]
-_02014A1E:
- ldr r1, [r3, #0x0]
- cmp r1, r4
- blt _02014A2A
- add r0, r2, #0x0
- pop {r4-r5}
- bx lr
-_02014A2A:
- ldr r1, [r0, #0x4]
- add r2, r2, #0x1
- add r3, r3, #0x4
- cmp r2, r1
- blo _02014A1E
-_02014A34:
- sub r0, r5, #0x1
- pop {r4-r5}
- bx lr
- .balign 4
-
- thumb_func_start FUN_02014A3C
-FUN_02014A3C: ; 0x02014A3C
- push {r3-r7, lr}
- sub sp, #0x8
- add r7, r0, #0x0
- str r1, [sp, #0x4]
- ldr r0, [sp, #0x24]
- mov r1, #0x14
- add r5, r2, #0x0
- add r6, r3, #0x0
- bl FUN_02016998
- add r4, r0, #0x0
- add r2, r4, #0x0
- mov r1, #0x14
- mov r0, #0x0
-_02014A58:
- strb r0, [r2, #0x0]
- add r2, r2, #0x1
- sub r1, r1, #0x1
- bne _02014A58
- ldr r0, [sp, #0x24]
- ldr r1, [sp, #0x4]
- str r0, [sp, #0x0]
- add r0, r7, #0x0
- mov r2, #0x1
- add r3, r4, #0x4
- bl FUN_02006BB0
- str r0, [r4, #0x8]
- str r5, [r4, #0x0]
- ldr r0, [sp, #0x20]
- str r6, [r4, #0xc]
- str r0, [r4, #0x10]
- ldr r0, _02014A88 ; =FUN_02014AD4
- add r1, r4, #0x0
- mov r2, #0x80
- bl FUN_0200CA98
- add sp, #0x8
- pop {r3-r7, pc}
- .balign 4
-_02014A88: .word FUN_02014AD4
-
- thumb_func_start FUN_02014A8C
-FUN_02014A8C: ; 0x02014A8C
- push {r3-r7, lr}
- add r7, r0, #0x0
- str r1, [sp, #0x0]
- ldr r0, [sp, #0x1c]
- mov r1, #0x14
- add r5, r2, #0x0
- add r6, r3, #0x0
- bl FUN_02016998
- add r4, r0, #0x0
- add r2, r4, #0x0
- mov r1, #0x14
- mov r0, #0x0
-_02014AA6:
- strb r0, [r2, #0x0]
- add r2, r2, #0x1
- sub r1, r1, #0x1
- bne _02014AA6
- ldr r1, [sp, #0x0]
- ldr r3, [sp, #0x1c]
- add r0, r7, #0x0
- add r2, r4, #0x0
- bl FUN_02006C08
- str r0, [r4, #0x4]
- str r5, [r4, #0x8]
- ldr r0, [sp, #0x18]
- str r6, [r4, #0xc]
- str r0, [r4, #0x10]
- ldr r0, _02014AD0 ; =FUN_02014B10
- add r1, r4, #0x0
- mov r2, #0x80
- bl FUN_0200CA98
- pop {r3-r7, pc}
- .balign 4
-_02014AD0: .word FUN_02014B10
-
- thumb_func_start FUN_02014AD4
-FUN_02014AD4: ; 0x02014AD4
- push {r3-r5, lr}
- add r4, r1, #0x0
- ldr r1, [r4, #0x4]
- add r5, r0, #0x0
- ldr r0, [r1, #0x14]
- ldr r1, [r1, #0x10]
- blx DC_FlushRange
- ldr r3, [r4, #0x4]
- ldr r0, [r4, #0x10]
- str r0, [sp, #0x0]
- ldr r1, [r4, #0xc]
- ldr r2, [r3, #0x14]
- lsl r1, r1, #0x18
- ldr r0, [r4, #0x0]
- ldr r3, [r3, #0x10]
- lsr r1, r1, #0x18
- bl FUN_02017E14
- add r0, r5, #0x0
- bl FUN_0200CAB4
- ldr r0, [r4, #0x8]
- bl FUN_02016A18
- add r0, r4, #0x0
- bl FUN_02016A18
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02014B10
-FUN_02014B10: ; 0x02014B10
- push {r3-r5, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- ldr r0, [r4, #0x0]
- ldr r1, [r4, #0x10]
- ldr r0, [r0, #0xc]
- blx DC_FlushRange
- ldr r0, [r4, #0x8]
- cmp r0, #0x0
- bne _02014B34
- ldr r0, [r4, #0x0]
- ldr r1, [r4, #0xc]
- ldr r0, [r0, #0xc]
- ldr r2, [r4, #0x10]
- blx GX_LoadBGPltt
- b _02014B44
-_02014B34:
- cmp r0, #0x4
- bne _02014B44
- ldr r0, [r4, #0x0]
- ldr r1, [r4, #0xc]
- ldr r0, [r0, #0xc]
- ldr r2, [r4, #0x10]
- blx GXS_LoadBGPltt
-_02014B44:
- add r0, r5, #0x0
- bl FUN_0200CAB4
- ldr r0, [r4, #0x4]
- bl FUN_02016A18
- add r0, r4, #0x0
- bl FUN_02016A18
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02014B58
-FUN_02014B58: ; 0x02014B58
- push {r3-r6, lr}
- sub sp, #0x1c
- add r4, r1, #0x0
- add r1, r2, #0x0
- add r2, r3, #0x0
- ldrh r6, [r1, #0x0]
- ldrh r3, [r1, #0x2]
- lsl r2, r2, #0x18
- lsl r6, r6, #0x15
- lsr r6, r6, #0x18
- lsl r3, r3, #0x15
- str r6, [sp, #0x0]
- lsr r3, r3, #0x18
- str r3, [sp, #0x4]
- add r1, #0xc
- str r1, [sp, #0x8]
- mov r1, #0x0
- str r1, [sp, #0xc]
- str r1, [sp, #0x10]
- str r6, [sp, #0x14]
- str r3, [sp, #0x18]
- ldr r3, [sp, #0x30]
- lsl r1, r4, #0x18
- lsl r3, r3, #0x18
- lsr r1, r1, #0x18
- lsr r2, r2, #0x18
- lsr r3, r3, #0x18
- add r5, r0, #0x0
- bl FUN_02018170
- lsl r1, r4, #0x18
- add r0, r5, #0x0
- lsr r1, r1, #0x18
- bl FUN_0201AC68
- add sp, #0x1c
- pop {r3-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02014BA4
-FUN_02014BA4: ; 0x02014BA4
- push {r3-r4}
- ldr r2, [r0, #0x8]
- add r0, #0xc
- lsr r4, r2, #0x1
- mov r3, #0x0
- cmp r4, #0x0
- ble _02014BC0
-_02014BB2:
- ldrh r2, [r0, #0x0]
- add r3, r3, #0x1
- add r2, r2, r1
- strh r2, [r0, #0x0]
- add r0, r0, #0x2
- cmp r3, r4
- blt _02014BB2
-_02014BC0:
- pop {r3-r4}
- bx lr
-
- thumb_func_start FUN_02014BC4
-FUN_02014BC4: ; 0x02014BC4
- push {r4-r5}
- ldr r2, [r0, #0x8]
- add r0, #0xc
- lsr r3, r2, #0x1
- mov r2, #0x0
- cmp r3, #0x0
- ble _02014BEA
- ldr r4, _02014BF0 ; =0x00000FFF
- lsl r1, r1, #0xc
-_02014BD6:
- ldrh r5, [r0, #0x0]
- add r2, r2, #0x1
- and r5, r4
- strh r5, [r0, #0x0]
- ldrh r5, [r0, #0x0]
- orr r5, r1
- strh r5, [r0, #0x0]
- add r0, r0, #0x2
- cmp r2, r3
- blt _02014BD6
-_02014BEA:
- pop {r4-r5}
- bx lr
- nop
-_02014BF0: .word 0x00000FFF
-
- thumb_func_start FUN_02014BF4
-FUN_02014BF4: ; 0x02014BF4
- push {r3-r7, lr}
- add r7, r1, #0x0
- mov r1, #0xc
- add r5, r0, #0x0
- add r6, r2, #0x0
- bl FUN_02016998
- add r4, r0, #0x0
- strb r6, [r4, #0x8]
- mov r0, #0x1d
- strb r7, [r4, #0x9]
- lsl r0, r0, #0x4
- add r6, r7, #0x0
- mul r6, r0
- add r0, r5, #0x0
- add r1, r6, #0x0
- str r5, [r4, #0x4]
- bl FUN_02016998
- mov r1, #0x0
- add r2, r6, #0x0
- str r0, [r4, #0x0]
- blx MI_CpuFill8
- add r0, r4, #0x0
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02014C28
-FUN_02014C28: ; 0x02014C28
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_02016A18
- add r0, r4, #0x0
- bl FUN_02016A18
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02014C3C
-FUN_02014C3C: ; 0x02014C3C
- push {r4, lr}
- add r4, r0, #0x0
- cmp r4, #0x19
- blo _02014C48
- bl ErrorHandling
-_02014C48:
- ldr r0, _02014C50 ; =0x020ED64C
- ldrb r0, [r0, r4]
- pop {r4, pc}
- nop
-_02014C50: .word 0x020ED64C
-
- thumb_func_start FUN_02014C54
-FUN_02014C54: ; 0x02014C54
- push {r4-r7, lr}
- sub sp, #0xc
- add r5, r0, #0x0
- str r3, [sp, #0x4]
- add r0, r2, #0x0
- ldrh r6, [r0, #0x0]
- ldrh r0, [r0, #0x2]
- add r7, r1, #0x0
- ldrb r1, [r5, #0x9]
- str r0, [sp, #0x8]
- ldr r0, [sp, #0x4]
- str r2, [sp, #0x0]
- cmp r0, r1
- blo _02014C74
- bl ErrorHandling
-_02014C74:
- ldr r0, [sp, #0x4]
- mov r1, #0x1d
- add r4, r0, #0x0
- lsl r1, r1, #0x4
- ldr r0, [r5, #0x0]
- mul r4, r1
- add r0, r0, r4
- ldr r0, [r0, #0x10]
- cmp r0, #0x0
- beq _02014C8C
- bl ErrorHandling
-_02014C8C:
- ldr r0, [r5, #0x0]
- mov r2, #0x1d
- add r0, r0, r4
- mov r1, #0x0
- lsl r2, r2, #0x4
- blx MI_CpuFill8
- ldr r0, [r5, #0x0]
- mov r1, #0x1
- add r0, r0, r4
- str r1, [r0, #0x10]
- ldr r0, [r5, #0x0]
- cmp r6, #0x86
- str r7, [r0, r4]
- blt _02014CAE
- mov r6, #0x0
- str r6, [sp, #0x8]
-_02014CAE:
- ldr r0, [r5, #0x0]
- add r0, r0, r4
- str r6, [r0, #0x14]
- ldrb r0, [r5, #0x8]
- cmp r0, #0x0
- beq _02014CC0
- ldr r0, [sp, #0x0]
- ldrb r2, [r0, #0x4]
- b _02014CC2
-_02014CC0:
- mov r2, #0x0
-_02014CC2:
- ldr r0, [r5, #0x0]
- add r1, r0, r4
- mov r0, #0x73
- lsl r0, r0, #0x2
- strb r2, [r1, r0]
- ldr r1, [r5, #0x0]
- ldr r2, [r5, #0x4]
- add r1, r1, r4
- ldr r1, [r1, #0x14]
- mov r0, #0x5e
- bl FUN_02006528
- ldr r1, [r5, #0x0]
- mov r2, #0x0
- add r1, r1, r4
- str r0, [r1, #0x8]
- ldr r0, [r5, #0x0]
- mov r6, #0x1c
- add r1, r0, r4
- ldr r0, [r1, #0x8]
- str r0, [r1, #0xc]
- ldr r0, [r5, #0x0]
- add r0, r0, r4
- str r2, [r0, #0x1c]
- ldr r0, [r5, #0x0]
- add r0, r0, r4
- str r2, [r0, #0x20]
- ldr r0, [r5, #0x0]
- add r1, r0, r4
- ldr r0, _02014D74 ; =0x000001CD
- strb r2, [r1, r0]
- ldr r1, [r5, #0x0]
- add r3, r1, r4
- add r1, r0, #0x1
- strb r6, [r3, r1]
- ldr r1, [r5, #0x0]
- add r0, r0, #0x2
- add r1, r1, r4
- strb r2, [r1, r0]
- ldr r1, [r5, #0x0]
- ldr r0, _02014D78 ; =FUN_02014DD8
- add r1, r1, r4
- bl FUN_0200CA44
- ldr r1, [r5, #0x0]
- add r1, r1, r4
- str r0, [r1, #0x4]
- ldr r0, [r5, #0x0]
- add r1, r0, r4
- ldr r0, [sp, #0x8]
- str r0, [r1, #0x54]
- add r0, r7, #0x0
- mov r1, #0x0
- bl FUN_0200782C
- ldr r1, [r5, #0x0]
- add r1, r1, r4
- str r0, [r1, #0x58]
- add r0, r7, #0x0
- mov r1, #0x1
- bl FUN_0200782C
- ldr r1, [r5, #0x0]
- add r1, r1, r4
- str r0, [r1, #0x5c]
- ldr r1, [r5, #0x0]
- mov r0, #0x0
- add r1, r1, r4
- str r0, [r1, #0x60]
- ldr r1, [r5, #0x0]
- add r1, r1, r4
- str r0, [r1, #0x64]
- ldr r1, [r5, #0x0]
- add r1, r1, r4
- str r0, [r1, #0x68]
- ldr r1, [r5, #0x0]
- add r1, r1, r4
- str r0, [r1, #0x6c]
- ldr r1, [r5, #0x0]
- add r1, r1, r4
- str r0, [r1, #0x70]
- ldr r1, [r5, #0x0]
- add r1, r1, r4
- str r0, [r1, #0x74]
- ldr r1, [r5, #0x0]
- add r1, r1, r4
- str r0, [r1, #0x78]
- add sp, #0xc
- pop {r4-r7, pc}
- .balign 4
-_02014D74: .word 0x000001CD
-_02014D78: .word FUN_02014DD8
-
- thumb_func_start FUN_02014D7C
-FUN_02014D7C: ; 0x02014D7C
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldrb r0, [r5, #0x9]
- add r4, r1, #0x0
- cmp r4, r0
- blo _02014D8C
- bl ErrorHandling
-_02014D8C:
- mov r0, #0x1d
- lsl r0, r0, #0x4
- ldr r1, [r5, #0x0]
- mul r0, r4
- add r0, r1, r0
- ldr r0, [r0, #0x20]
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02014D9C
-FUN_02014D9C: ; 0x02014D9C
- push {r3-r5, lr}
- add r5, r0, #0x0
- mov r0, #0x1d
- lsl r0, r0, #0x4
- add r4, r1, #0x0
- mul r4, r0
- ldr r0, [r5, #0x0]
- add r0, r0, r4
- ldr r0, [r0, #0x4]
- cmp r0, #0x0
- beq _02014DD6
- bl FUN_0200CAB4
- ldr r1, [r5, #0x0]
- mov r0, #0x0
- add r1, r1, r4
- str r0, [r1, #0x4]
- ldr r1, [r5, #0x0]
- mov r2, #0x1
- add r1, r1, r4
- str r2, [r1, #0x20]
- ldr r1, [r5, #0x0]
- add r1, r1, r4
- str r0, [r1, #0x10]
- ldr r0, [r5, #0x0]
- add r0, r0, r4
- ldr r0, [r0, #0x8]
- bl FUN_02016A18
-_02014DD6:
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02014DD8
-FUN_02014DD8: ; 0x02014DD8
- push {r3-r5, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- ldr r0, [r4, #0x54]
- cmp r0, #0x0
- bne _02014DEC
- add r0, r4, #0x0
- bl FUN_02014E10
- b _02014DF0
-_02014DEC:
- sub r0, r0, #0x1
- str r0, [r4, #0x54]
-_02014DF0:
- ldr r0, [r4, #0x1c]
- cmp r0, #0x0
- beq _02014E0E
- mov r0, #0x1
- str r0, [r4, #0x20]
- mov r0, #0x0
- str r0, [r4, #0x10]
- add r0, r5, #0x0
- bl FUN_0200CAB4
- mov r0, #0x0
- str r0, [r4, #0x4]
- ldr r0, [r4, #0x8]
- bl FUN_02016A18
-_02014E0E:
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02014E10
-FUN_02014E10: ; 0x02014E10
- push {r3-r7, lr}
- add r5, r0, #0x0
- mov r6, #0x0
- str r6, [r5, #0x18]
- add r7, r5, #0x0
- str r6, [r5, #0x44]
- add r4, r6, #0x0
- add r7, #0x7c
-_02014E20:
- mov r0, #0x54
- add r1, r4, #0x0
- mul r1, r0
- add r0, r7, r1
- ldr r1, [r7, r1]
- cmp r1, #0x0
- beq _02014E4E
- add r1, r0, #0x0
- add r1, #0x2d
- ldrb r1, [r1, #0x0]
- cmp r1, #0x0
- bne _02014E40
- ldr r2, [r0, #0x50]
- add r1, r5, #0x0
- blx r2
- b _02014E54
-_02014E40:
- add r1, r0, #0x0
- add r1, #0x2d
- ldrb r1, [r1, #0x0]
- add r0, #0x2d
- sub r1, r1, #0x1
- strb r1, [r0, #0x0]
- b _02014E54
-_02014E4E:
- add r0, r6, #0x1
- lsl r0, r0, #0x18
- lsr r6, r0, #0x18
-_02014E54:
- add r0, r4, #0x1
- lsl r0, r0, #0x18
- lsr r4, r0, #0x18
- cmp r4, #0x4
- blo _02014E20
- cmp r6, #0x4
- bne _02014E68
- ldr r0, _02014EFC ; =0x000001CD
- mov r1, #0x0
- strb r1, [r5, r0]
-_02014E68:
- ldr r0, _02014EFC ; =0x000001CD
- ldrb r1, [r5, r0]
- cmp r1, #0x0
- beq _02014E7E
- add r0, r5, #0x0
- bl FUN_020156E8
- add r0, r5, #0x0
- bl FUN_02015730
- pop {r3-r7, pc}
-_02014E7E:
- add r0, r0, #0x2
- ldrb r0, [r5, r0]
- cmp r0, #0x0
- beq _02014E96
- ldr r0, [r5, #0x0]
- bl FUN_02007F20
- cmp r0, #0x0
- bne _02014EF8
- ldr r0, _02014F00 ; =0x000001CF
- mov r1, #0x0
- strb r1, [r5, r0]
-_02014E96:
- add r6, r5, #0x0
- add r4, r5, #0x0
- ldr r7, _02014F04 ; =0x020ED6A4
- add r6, #0xc
- add r4, #0x44
-_02014EA0:
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- ldr r0, [r5, #0xc]
- ldr r0, [r0, #0x0]
- cmp r0, #0x22
- blo _02014EB2
- bl ErrorHandling
-_02014EB2:
- ldr r1, [r5, #0xc]
- add r0, r5, #0x0
- ldr r1, [r1, #0x0]
- lsl r1, r1, #0x2
- ldr r1, [r7, r1]
- blx r1
- ldr r0, [r5, #0x1c]
- cmp r0, #0x0
- bne _02014EF8
- ldr r0, [r6, #0x0]
- add r0, r0, #0x4
- str r0, [r6, #0x0]
- ldr r0, [r5, #0x18]
- cmp r0, #0x0
- bne _02014EF8
- ldr r0, _02014EFC ; =0x000001CD
- ldrb r0, [r5, r0]
- cmp r0, #0x0
- beq _02014EE6
- add r0, r5, #0x0
- bl FUN_020156E8
- add r0, r5, #0x0
- bl FUN_02015730
- pop {r3-r7, pc}
-_02014EE6:
- mov r0, #0x1
- ldr r1, [r5, #0x44]
- lsl r0, r0, #0x8
- cmp r1, r0
- blt _02014EA0
- bl ErrorHandling
- mov r0, #0x1
- str r0, [r5, #0x1c]
-_02014EF8:
- pop {r3-r7, pc}
- nop
-_02014EFC: .word 0x000001CD
-_02014F00: .word 0x000001CF
-_02014F04: .word 0x020ED6A4
-
- thumb_func_start FUN_02014F08
-FUN_02014F08: ; 0x02014F08
- push {r4, lr}
- lsl r1, r1, #0x2
- ldr r4, [r0, r1]
- cmp r2, #0x1
- beq _02014F16
- bl ErrorHandling
-_02014F16:
- add r0, r4, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02014F1C
-FUN_02014F1C: ; 0x02014F1C
- ldr r3, _02014F24 ; =FUN_02014F08
- add r2, r1, #0x0
- mov r1, #0x0
- bx r3
- .balign 4
-_02014F24: .word FUN_02014F08
-
- thumb_func_start FUN_02014F28
-FUN_02014F28: ; 0x02014F28
- ldr r3, _02014F30 ; =0x02014F1D
- mov r1, #0x1
- bx r3
- nop
-_02014F30: .word 0x02014F1D
-
- thumb_func_start FUN_02014F34
-FUN_02014F34: ; 0x02014F34
- push {r3-r5, lr}
- add r5, r1, #0x0
- mov r3, #0x0
- add r0, #0x7c
- mov r2, #0x54
-_02014F3E:
- add r1, r3, #0x0
- mul r1, r2
- add r4, r0, r1
- ldr r1, [r0, r1]
- cmp r1, #0x0
- bne _02014F68
- add r0, r4, #0x0
- mov r1, #0x0
- mov r2, #0x54
- blx MI_CpuFill8
- mov r0, #0x1
- str r0, [r4, #0x0]
- mov r0, #0xc
- add r1, r5, #0x0
- mul r1, r0
- ldr r0, _02014F7C ; =0x020ED668
- ldr r0, [r0, r1]
- str r0, [r4, #0x50]
- add r0, r4, #0x0
- pop {r3-r5, pc}
-_02014F68:
- add r1, r3, #0x1
- lsl r1, r1, #0x18
- lsr r3, r1, #0x18
- cmp r3, #0x4
- blo _02014F3E
- bl ErrorHandling
- mov r0, #0x0
- pop {r3-r5, pc}
- nop
-_02014F7C: .word 0x020ED668
-
- thumb_func_start FUN_02014F80
-FUN_02014F80: ; 0x02014F80
- push {r4, lr}
- add r4, r1, #0x0
- ldr r1, [r0, #0xc]
- add r1, r1, #0x4
- str r1, [r0, #0xc]
- add r0, r1, #0x0
- bl FUN_02014F28
- str r0, [r4, #0x0]
- pop {r4, pc}
-
- thumb_func_start FUN_02014F94
-FUN_02014F94: ; 0x02014F94
- push {r4, lr}
- add r4, r1, #0x0
- ldr r1, [r0, #0xc]
- add r1, r1, #0x4
- str r1, [r0, #0xc]
- add r0, r1, #0x0
- bl FUN_02014F28
- strb r0, [r4, #0x0]
- pop {r4, pc}
-
- thumb_func_start FUN_02014FA8
-FUN_02014FA8: ; 0x02014FA8
- push {r4, lr}
- add r4, r1, #0x0
- ldr r1, [r0, #0xc]
- add r1, r1, #0x4
- str r1, [r0, #0xc]
- add r0, r1, #0x0
- bl FUN_02014F28
- strb r0, [r4, #0x0]
- ldrb r0, [r4, #0x0]
- cmp r0, #0x8
- blo _02014FC4
- bl ErrorHandling
-_02014FC4:
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02014FC8
-FUN_02014FC8: ; 0x02014FC8
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r2, #0x0
- bl FUN_02014FA8
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02014FA8
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02014FDC
-FUN_02014FDC: ; 0x02014FDC
- push {r3-r6, lr}
- sub sp, #0x4
- add r5, r0, #0x0
- add r4, r2, #0x0
- add r6, r3, #0x0
- bl FUN_02014FA8
- add r0, r5, #0x0
- add r1, sp, #0x0
- bl FUN_02014F94
- add r0, sp, #0x0
- ldrb r0, [r0, #0x0]
- cmp r0, #0x12
- bne _0201501C
- add r1, sp, #0x0
- add r0, r5, #0x0
- add r1, #0x2
- bl FUN_02014FA8
- add r0, sp, #0x0
- ldrb r0, [r0, #0x2]
- add r1, r6, #0x0
- lsl r0, r0, #0x2
- add r0, r5, r0
- ldr r0, [r0, #0x24]
- str r0, [r4, #0x0]
- add r0, r5, #0x0
- bl FUN_02014F80
- add sp, #0x4
- pop {r3-r6, pc}
-_0201501C:
- cmp r0, #0x13
- bne _02015048
- add r1, sp, #0x0
- add r2, sp, #0x0
- add r0, r5, #0x0
- add r1, #0x2
- add r2, #0x1
- bl FUN_02014FC8
- add r0, sp, #0x0
- ldrb r1, [r0, #0x2]
- add sp, #0x4
- lsl r1, r1, #0x2
- add r1, r5, r1
- ldr r1, [r1, #0x24]
- str r1, [r4, #0x0]
- ldrb r0, [r0, #0x1]
- lsl r0, r0, #0x2
- add r0, r5, r0
- ldr r0, [r0, #0x24]
- str r0, [r6, #0x0]
- pop {r3-r6, pc}
-_02015048:
- bl ErrorHandling
- add sp, #0x4
- pop {r3-r6, pc}
-
- thumb_func_start FUN_02015050
-FUN_02015050: ; 0x02015050
- push {r3-r6, lr}
- sub sp, #0x4
- add r5, r0, #0x0
- add r4, r2, #0x0
- add r6, r3, #0x0
- bl FUN_02014FA8
- add r1, sp, #0x0
- add r0, r5, #0x0
- add r1, #0x1
- bl FUN_02014F94
- add r0, r5, #0x0
- add r1, sp, #0x0
- bl FUN_02014F94
- add r0, sp, #0x0
- ldrb r0, [r0, #0x1]
- cmp r0, #0x12
- bne _02015082
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02014F80
- b _020150A2
-_02015082:
- cmp r0, #0x13
- bne _0201509E
- add r1, sp, #0x0
- add r0, r5, #0x0
- add r1, #0x3
- bl FUN_02014FA8
- add r0, sp, #0x0
- ldrb r0, [r0, #0x3]
- lsl r0, r0, #0x2
- add r0, r5, r0
- ldr r0, [r0, #0x24]
- str r0, [r4, #0x0]
- b _020150A2
-_0201509E:
- bl ErrorHandling
-_020150A2:
- add r0, sp, #0x0
- ldrb r0, [r0, #0x0]
- cmp r0, #0x12
- bne _020150B6
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_02014F80
- add sp, #0x4
- pop {r3-r6, pc}
-_020150B6:
- cmp r0, #0x13
- bne _020150D4
- add r1, sp, #0x0
- add r0, r5, #0x0
- add r1, #0x2
- bl FUN_02014FA8
- add r0, sp, #0x0
- ldrb r0, [r0, #0x2]
- add sp, #0x4
- lsl r0, r0, #0x2
- add r0, r5, r0
- ldr r0, [r0, #0x24]
- str r0, [r6, #0x0]
- pop {r3-r6, pc}
-_020150D4:
- bl ErrorHandling
- add sp, #0x4
- pop {r3-r6, pc}
-
- thumb_func_start FUN_020150DC
-FUN_020150DC: ; 0x020150DC
- push {r3-r7, lr}
- sub sp, #0x8
- add r4, r2, #0x0
- add r2, sp, #0x0
- add r2, #0x3
- add r5, r0, #0x0
- add r6, r3, #0x0
- bl FUN_02014FC8
- add r0, sp, #0x0
- ldrb r0, [r0, #0x3]
- add r1, sp, #0x0
- lsl r0, r0, #0x2
- add r0, r5, r0
- ldr r7, [r0, #0x24]
- add r0, r5, #0x0
- bl FUN_02014F94
- add r0, sp, #0x0
- ldrb r0, [r0, #0x0]
- cmp r0, #0x14
- bne _02015112
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_02014F80
- b _02015132
-_02015112:
- cmp r0, #0x15
- bne _0201512E
- add r1, sp, #0x0
- add r0, r5, #0x0
- add r1, #0x2
- bl FUN_02014FA8
- add r0, sp, #0x0
- ldrb r0, [r0, #0x2]
- lsl r0, r0, #0x2
- add r0, r5, r0
- ldr r0, [r0, #0x24]
- str r0, [r6, #0x0]
- b _02015132
-_0201512E:
- bl ErrorHandling
-_02015132:
- add r0, r5, #0x0
- add r1, sp, #0x0
- bl FUN_02014F94
- add r0, sp, #0x0
- ldrb r0, [r0, #0x0]
- cmp r0, #0x14
- bne _0201514C
- add r0, r5, #0x0
- add r1, sp, #0x4
- bl FUN_02014F80
- b _0201516C
-_0201514C:
- cmp r0, #0x15
- bne _02015168
- add r1, sp, #0x0
- add r0, r5, #0x0
- add r1, #0x1
- bl FUN_02014FA8
- add r0, sp, #0x0
- ldrb r0, [r0, #0x1]
- lsl r0, r0, #0x2
- add r0, r5, r0
- ldr r0, [r0, #0x24]
- str r0, [sp, #0x4]
- b _0201516C
-_02015168:
- bl ErrorHandling
-_0201516C:
- ldr r0, [sp, #0x4]
- add r0, r7, r0
- lsr r2, r0, #0x1f
- lsl r1, r0, #0x10
- sub r1, r1, r2
- mov r0, #0x10
- ror r1, r0
- add r0, r2, r1
- str r0, [r4, #0x0]
- add sp, #0x8
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02015184
-FUN_02015184: ; 0x02015184
- ldr r2, [r0, #0x0]
- ldr r0, [r1, #0x0]
- sub r0, r2, r0
- bpl _02015190
- mov r0, #0xf
- bx lr
-_02015190:
- cmp r0, #0x0
- ble _02015198
- mov r0, #0x10
- bx lr
-_02015198:
- mov r0, #0x11
- bx lr
-
- thumb_func_start FUN_0201519C
-FUN_0201519C: ; 0x0201519C
- add r2, r0, #0x0
- ldr r0, [r2, #0x0]
- ldr r2, [r2, #0x74]
- mov r1, #0x1
- neg r3, r2
- asr r2, r3, #0x2
- lsr r2, r2, #0x1d
- add r2, r3, r2
- ldr r3, _020151B4 ; =FUN_020079E0
- asr r2, r2, #0x3
- bx r3
- nop
-_020151B4: .word FUN_020079E0
-
- thumb_func_start FUN_020151B8
-FUN_020151B8: ; 0x020151B8
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_020151D0
- mov r0, #0x1
- str r0, [r4, #0x18]
- str r0, [r4, #0x1c]
- pop {r4, pc}
-
- thumb_func_start FUN_020151C8
-FUN_020151C8: ; 0x020151C8
- mov r1, #0x1
- str r1, [r0, #0x18]
- bx lr
- .balign 4
-
- thumb_func_start FUN_020151D0
-FUN_020151D0: ; 0x020151D0
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- ldr r2, [r4, #0x58]
- mov r1, #0x0
- bl FUN_02007558
- ldr r0, [r4, #0x0]
- ldr r2, [r4, #0x5c]
- mov r1, #0x1
- bl FUN_02007558
- ldr r0, [r4, #0x0]
- mov r1, #0x9
- mov r2, #0x0
- bl FUN_02007558
- ldr r0, [r4, #0x0]
- mov r1, #0xa
- mov r2, #0x0
- bl FUN_02007558
- mov r1, #0xc
- add r2, r1, #0x0
- ldr r0, [r4, #0x0]
- add r2, #0xf4
- bl FUN_02007558
- mov r1, #0xd
- add r2, r1, #0x0
- ldr r0, [r4, #0x0]
- add r2, #0xf3
- bl FUN_02007558
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02015218
-FUN_02015218: ; 0x02015218
- push {r3-r4, lr}
- sub sp, #0x4
- add r1, sp, #0x0
- add r1, #0x1
- add r2, sp, #0x0
- add r4, r0, #0x0
- bl FUN_02014FC8
- add r0, sp, #0x0
- ldrb r1, [r0, #0x0]
- ldrb r0, [r0, #0x1]
- lsl r1, r1, #0x2
- add r1, r4, r1
- lsl r0, r0, #0x2
- ldr r1, [r1, #0x24]
- add r0, r4, r0
- str r1, [r0, #0x24]
- add sp, #0x4
- pop {r3-r4, pc}
- .balign 4
-
- thumb_func_start FUN_02015240
-FUN_02015240: ; 0x02015240
- push {r3-r4, lr}
- sub sp, #0xc
- add r1, sp, #0x0
- add r2, sp, #0x8
- add r3, sp, #0x4
- add r4, r0, #0x0
- bl FUN_02014FDC
- ldr r1, [sp, #0x8]
- ldr r0, [sp, #0x4]
- add r1, r1, r0
- add r0, sp, #0x0
- ldrb r0, [r0, #0x0]
- lsl r0, r0, #0x2
- add r0, r4, r0
- str r1, [r0, #0x24]
- add sp, #0xc
- pop {r3-r4, pc}
-
- thumb_func_start FUN_02015264
-FUN_02015264: ; 0x02015264
- push {r3-r4, lr}
- sub sp, #0xc
- add r1, sp, #0x0
- add r2, sp, #0x8
- add r3, sp, #0x4
- add r4, r0, #0x0
- bl FUN_02014FDC
- ldr r1, [sp, #0x8]
- ldr r0, [sp, #0x4]
- add r2, r1, #0x0
- mul r2, r0
- add r0, sp, #0x0
- ldrb r0, [r0, #0x0]
- lsl r0, r0, #0x2
- add r0, r4, r0
- str r2, [r0, #0x24]
- add sp, #0xc
- pop {r3-r4, pc}
- .balign 4
-
- thumb_func_start FUN_0201528C
-FUN_0201528C: ; 0x0201528C
- push {r3-r4, lr}
- sub sp, #0xc
- add r1, sp, #0x0
- add r2, sp, #0x8
- add r3, sp, #0x4
- add r4, r0, #0x0
- bl FUN_02015050
- ldr r1, [sp, #0x8]
- ldr r0, [sp, #0x4]
- sub r1, r1, r0
- add r0, sp, #0x0
- ldrb r0, [r0, #0x0]
- lsl r0, r0, #0x2
- add r0, r4, r0
- str r1, [r0, #0x24]
- add sp, #0xc
- pop {r3-r4, pc}
-
- thumb_func_start FUN_020152B0
-FUN_020152B0: ; 0x020152B0
- push {r3-r4, lr}
- sub sp, #0xc
- add r1, sp, #0x0
- add r2, sp, #0x8
- add r3, sp, #0x4
- add r4, r0, #0x0
- bl FUN_02015050
- ldr r0, [sp, #0x8]
- ldr r1, [sp, #0x4]
- blx _s32_div_f
- add r1, sp, #0x0
- ldrb r1, [r1, #0x0]
- lsl r1, r1, #0x2
- add r1, r4, r1
- str r0, [r1, #0x24]
- add sp, #0xc
- pop {r3-r4, pc}
- .balign 4
-
- thumb_func_start FUN_020152D8
-FUN_020152D8: ; 0x020152D8
- push {r3-r4, lr}
- sub sp, #0xc
- add r1, sp, #0x0
- add r2, sp, #0x8
- add r3, sp, #0x4
- add r4, r0, #0x0
- bl FUN_02015050
- ldr r0, [sp, #0x8]
- ldr r1, [sp, #0x4]
- blx _s32_div_f
- add r0, sp, #0x0
- ldrb r0, [r0, #0x0]
- lsl r0, r0, #0x2
- add r0, r4, r0
- str r1, [r0, #0x24]
- add sp, #0xc
- pop {r3-r4, pc}
- .balign 4
-
- thumb_func_start FUN_02015300
-FUN_02015300: ; 0x02015300
- push {r3-r5, lr}
- sub sp, #0x10
- add r1, sp, #0x0
- add r5, r0, #0x0
- bl FUN_02014F94
- add r0, sp, #0x0
- ldrb r0, [r0, #0x0]
- cmp r0, #0x14
- bne _02015334
- add r1, sp, #0x0
- add r0, r5, #0x0
- add r1, #0x3
- bl FUN_02014FA8
- add r0, sp, #0x0
- ldrb r0, [r0, #0x3]
- add r1, sp, #0x8
- lsl r0, r0, #0x2
- add r0, r5, r0
- ldr r0, [r0, #0x24]
- str r0, [sp, #0xc]
- add r0, r5, #0x0
- bl FUN_02014F80
- b _02015362
-_02015334:
- cmp r0, #0x15
- bne _0201535E
- add r1, sp, #0x0
- add r2, sp, #0x0
- add r0, r5, #0x0
- add r1, #0x3
- add r2, #0x2
- bl FUN_02014FC8
- add r0, sp, #0x0
- ldrb r1, [r0, #0x3]
- lsl r1, r1, #0x2
- add r1, r5, r1
- ldr r1, [r1, #0x24]
- str r1, [sp, #0xc]
- ldrb r0, [r0, #0x2]
- lsl r0, r0, #0x2
- add r0, r5, r0
- ldr r0, [r0, #0x24]
- str r0, [sp, #0x8]
- b _02015362
-_0201535E:
- bl ErrorHandling
-_02015362:
- add r1, sp, #0x0
- add r0, r5, #0x0
- add r1, #0x1
- bl FUN_02014F94
- add r0, sp, #0x0
- ldrb r0, [r0, #0x1]
- cmp r0, #0x11
- bls _02015378
- bl ErrorHandling
-_02015378:
- add r0, sp, #0xc
- add r1, sp, #0x8
- bl FUN_02015184
- add r4, r0, #0x0
- add r0, r5, #0x0
- add r1, sp, #0x0
- bl FUN_02014F94
- add r0, sp, #0x0
- ldrb r0, [r0, #0x0]
- cmp r0, #0x14
- bne _020153A6
- add r1, sp, #0x0
- add r0, r5, #0x0
- add r1, #0x3
- bl FUN_02014FA8
- add r0, r5, #0x0
- add r1, sp, #0x4
- bl FUN_02014F80
- b _020153CA
-_020153A6:
- cmp r0, #0x15
- bne _020153C6
- add r1, sp, #0x0
- add r2, sp, #0x0
- add r0, r5, #0x0
- add r1, #0x3
- add r2, #0x2
- bl FUN_02014FC8
- add r0, sp, #0x0
- ldrb r0, [r0, #0x2]
- lsl r0, r0, #0x2
- add r0, r5, r0
- ldr r0, [r0, #0x24]
- str r0, [sp, #0x4]
- b _020153CA
-_020153C6:
- bl ErrorHandling
-_020153CA:
- add r0, sp, #0x0
- ldrb r1, [r0, #0x1]
- cmp r1, r4
- bne _020153DC
- ldrb r0, [r0, #0x3]
- ldr r1, [sp, #0x4]
- lsl r0, r0, #0x2
- add r0, r5, r0
- str r1, [r0, #0x24]
-_020153DC:
- add sp, #0x10
- pop {r3-r5, pc}
-
- thumb_func_start FUN_020153E0
-FUN_020153E0: ; 0x020153E0
- push {r3-r4, lr}
- sub sp, #0x4
- add r4, r0, #0x0
- add r1, sp, #0x0
- bl FUN_02014FA8
- ldr r0, [r4, #0xc]
- add r0, r0, #0x4
- str r0, [r4, #0xc]
- bl FUN_02014F28
- add r1, sp, #0x0
- ldrb r1, [r1, #0x0]
- lsl r1, r1, #0x2
- add r1, r4, r1
- str r0, [r1, #0x24]
- add sp, #0x4
- pop {r3-r4, pc}
-
- thumb_func_start FUN_02015404
-FUN_02015404: ; 0x02015404
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x50]
- cmp r0, #0x0
- beq _02015412
- bl ErrorHandling
-_02015412:
- ldr r0, [r4, #0xc]
- add r0, r0, #0x4
- str r0, [r4, #0xc]
- str r0, [r4, #0x50]
- ldr r0, [r4, #0xc]
- bl FUN_02014F28
- str r0, [r4, #0x48]
- mov r0, #0x0
- str r0, [r4, #0x4c]
- pop {r4, pc}
-
- thumb_func_start FUN_02015428
-FUN_02015428: ; 0x02015428
- ldr r1, [r0, #0x4c]
- add r2, r1, #0x1
- str r2, [r0, #0x4c]
- ldr r1, [r0, #0x48]
- cmp r2, r1
- blt _0201543E
- mov r1, #0x0
- str r1, [r0, #0x50]
- str r1, [r0, #0x4c]
- str r1, [r0, #0x48]
- bx lr
-_0201543E:
- ldr r1, [r0, #0x50]
- str r1, [r0, #0xc]
- bx lr
-
- thumb_func_start FUN_02015444
-FUN_02015444: ; 0x02015444
- push {r4, lr}
- sub sp, #0x8
- add r4, r0, #0x0
- add r1, sp, #0x4
- bl FUN_02014F80
- add r0, r4, #0x0
- add r1, sp, #0x0
- bl FUN_02014FA8
- add r2, sp, #0x0
- ldrb r2, [r2, #0x0]
- ldr r0, [r4, #0x0]
- ldr r1, [sp, #0x4]
- lsl r2, r2, #0x2
- add r2, r4, r2
- ldr r2, [r2, #0x24]
- bl FUN_02007558
- add sp, #0x8
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02015470
-FUN_02015470: ; 0x02015470
- push {r4, lr}
- sub sp, #0x8
- add r4, r0, #0x0
- add r1, sp, #0x4
- bl FUN_02014F80
- add r0, r4, #0x0
- add r1, sp, #0x0
- bl FUN_02014FA8
- add r2, sp, #0x0
- ldrb r2, [r2, #0x0]
- ldr r0, [r4, #0x0]
- ldr r1, [sp, #0x4]
- lsl r2, r2, #0x2
- add r2, r4, r2
- ldr r2, [r2, #0x24]
- bl FUN_020079E0
- add sp, #0x8
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0201549C
-FUN_0201549C: ; 0x0201549C
- push {r3-r4, lr}
- sub sp, #0xc
- add r1, sp, #0x8
- add r4, r0, #0x0
- bl FUN_02014F80
- add r1, sp, #0x0
- add r0, r4, #0x0
- add r1, #0x1
- bl FUN_02014F94
- add r0, sp, #0x0
- ldrb r0, [r0, #0x1]
- cmp r0, #0x14
- bne _020154C4
- add r0, r4, #0x0
- add r1, sp, #0x4
- bl FUN_02014F80
- b _020154E4
-_020154C4:
- cmp r0, #0x15
- bne _020154E0
- add r1, sp, #0x0
- add r0, r4, #0x0
- add r1, #0x2
- bl FUN_02014FA8
- add r0, sp, #0x0
- ldrb r0, [r0, #0x2]
- lsl r0, r0, #0x2
- add r0, r4, r0
- ldr r0, [r0, #0x24]
- str r0, [sp, #0x4]
- b _020154E4
-_020154E0:
- bl ErrorHandling
-_020154E4:
- add r0, r4, #0x0
- add r1, sp, #0x0
- bl FUN_02014F94
- add r0, sp, #0x0
- ldrb r0, [r0, #0x0]
- cmp r0, #0x16
- bne _02015502
- ldr r0, [r4, #0x0]
- ldr r1, [sp, #0x8]
- ldr r2, [sp, #0x4]
- bl FUN_02007558
- add sp, #0xc
- pop {r3-r4, pc}
-_02015502:
- cmp r0, #0x17
- bne _02015514
- ldr r0, [r4, #0x0]
- ldr r1, [sp, #0x8]
- ldr r2, [sp, #0x4]
- bl FUN_020079E0
- add sp, #0xc
- pop {r3-r4, pc}
-_02015514:
- bl ErrorHandling
- add sp, #0xc
- pop {r3-r4, pc}
-
- thumb_func_start FUN_0201551C
-FUN_0201551C: ; 0x0201551C
- push {r3-r4, lr}
- sub sp, #0xc
- add r1, sp, #0x0
- add r2, sp, #0x8
- add r3, sp, #0x4
- add r4, r0, #0x0
- bl FUN_020150DC
- ldr r0, [sp, #0x8]
- ldr r2, [sp, #0x4]
- asr r0, r0, #0x4
- lsl r1, r0, #0x2
- ldr r0, _0201554C ; =0x020FFA38
- ldrsh r0, [r0, r1]
- mul r0, r2
- asr r1, r0, #0xc
- add r0, sp, #0x0
- ldrb r0, [r0, #0x0]
- lsl r0, r0, #0x2
- add r0, r4, r0
- str r1, [r0, #0x24]
- add sp, #0xc
- pop {r3-r4, pc}
- nop
-_0201554C: .word 0x020FFA38
-
- thumb_func_start FUN_02015550
-FUN_02015550: ; 0x02015550
- push {r3-r4, lr}
- sub sp, #0xc
- add r1, sp, #0x0
- add r2, sp, #0x8
- add r3, sp, #0x4
- add r4, r0, #0x0
- bl FUN_020150DC
- ldr r1, [sp, #0x8]
- ldr r0, [sp, #0x4]
- asr r1, r1, #0x4
- lsl r1, r1, #0x1
- add r1, r1, #0x1
- lsl r2, r1, #0x1
- ldr r1, _02015584 ; =0x020FFA38
- ldrsh r1, [r1, r2]
- mul r1, r0
- add r0, sp, #0x0
- ldrb r0, [r0, #0x0]
- asr r1, r1, #0xc
- lsl r0, r0, #0x2
- add r0, r4, r0
- str r1, [r0, #0x24]
- add sp, #0xc
- pop {r3-r4, pc}
- nop
-_02015584: .word 0x020FFA38
-
- thumb_func_start FUN_02015588
-FUN_02015588: ; 0x02015588
- push {r3-r4, lr}
- sub sp, #0x4
- add r1, sp, #0x0
- add r4, r0, #0x0
- add r1, #0x1
- bl FUN_02014FA8
- add r0, r4, #0x0
- add r1, sp, #0x0
- bl FUN_02014F94
- add r0, sp, #0x0
- ldrb r1, [r0, #0x0]
- cmp r1, #0x8
- bne _020155B4
- ldrb r0, [r0, #0x1]
- add sp, #0x4
- lsl r0, r0, #0x2
- add r0, r4, r0
- ldr r0, [r0, #0x24]
- str r0, [r4, #0x60]
- pop {r3-r4, pc}
-_020155B4:
- cmp r1, #0x9
- bne _020155C6
- ldrb r0, [r0, #0x1]
- add sp, #0x4
- lsl r0, r0, #0x2
- add r0, r4, r0
- ldr r0, [r0, #0x24]
- str r0, [r4, #0x64]
- pop {r3-r4, pc}
-_020155C6:
- bl ErrorHandling
- add sp, #0x4
- pop {r3-r4, pc}
- .balign 4
-
- thumb_func_start FUN_020155D0
-FUN_020155D0: ; 0x020155D0
- push {r3-r4, lr}
- sub sp, #0x4
- add r1, sp, #0x0
- add r4, r0, #0x0
- add r1, #0x1
- bl FUN_02014FA8
- add r0, r4, #0x0
- add r1, sp, #0x0
- bl FUN_02014F94
- add r0, sp, #0x0
- ldrb r1, [r0, #0x0]
- cmp r1, #0x8
- bne _02015600
- ldrb r0, [r0, #0x1]
- ldr r1, [r4, #0x60]
- add sp, #0x4
- lsl r0, r0, #0x2
- add r0, r4, r0
- ldr r0, [r0, #0x24]
- add r0, r1, r0
- str r0, [r4, #0x60]
- pop {r3-r4, pc}
-_02015600:
- cmp r1, #0x9
- bne _02015616
- ldrb r0, [r0, #0x1]
- ldr r1, [r4, #0x64]
- add sp, #0x4
- lsl r0, r0, #0x2
- add r0, r4, r0
- ldr r0, [r0, #0x24]
- add r0, r1, r0
- str r0, [r4, #0x64]
- pop {r3-r4, pc}
-_02015616:
- bl ErrorHandling
- add sp, #0x4
- pop {r3-r4, pc}
- .balign 4
-
- thumb_func_start FUN_02015620
-FUN_02015620: ; 0x02015620
- push {r3-r5, lr}
- sub sp, #0x8
- add r1, sp, #0x0
- add r1, #0x3
- add r5, r0, #0x0
- bl FUN_02014F94
- add r0, sp, #0x0
- ldrb r0, [r0, #0x3]
- cmp r0, #0x8
- bne _0201563C
- add r4, r5, #0x0
- add r4, #0x60
- b _0201567C
-_0201563C:
- cmp r0, #0x9
- bne _02015646
- add r4, r5, #0x0
- add r4, #0x64
- b _0201567C
-_02015646:
- cmp r0, #0xa
- bne _02015650
- add r4, r5, #0x0
- add r4, #0x68
- b _0201567C
-_02015650:
- cmp r0, #0xb
- bne _0201565A
- add r4, r5, #0x0
- add r4, #0x6c
- b _0201567C
-_0201565A:
- cmp r0, #0xc
- bne _02015664
- add r4, r5, #0x0
- add r4, #0x70
- b _0201567C
-_02015664:
- cmp r0, #0xd
- bne _0201566E
- add r4, r5, #0x0
- add r4, #0x74
- b _0201567C
-_0201566E:
- cmp r0, #0xe
- bne _02015678
- add r4, r5, #0x0
- add r4, #0x78
- b _0201567C
-_02015678:
- bl ErrorHandling
-_0201567C:
- add r1, sp, #0x0
- add r0, r5, #0x0
- add r1, #0x1
- bl FUN_02014F94
- add r0, sp, #0x0
- ldrb r0, [r0, #0x1]
- cmp r0, #0x14
- bne _02015698
- add r0, r5, #0x0
- add r1, sp, #0x4
- bl FUN_02014F80
- b _020156B8
-_02015698:
- cmp r0, #0x15
- bne _020156B4
- add r1, sp, #0x0
- add r0, r5, #0x0
- add r1, #0x2
- bl FUN_02014FA8
- add r0, sp, #0x0
- ldrb r0, [r0, #0x2]
- lsl r0, r0, #0x2
- add r0, r5, r0
- ldr r0, [r0, #0x24]
- str r0, [sp, #0x4]
- b _020156B8
-_020156B4:
- bl ErrorHandling
-_020156B8:
- add r0, r5, #0x0
- add r1, sp, #0x0
- bl FUN_02014F94
- add r0, sp, #0x0
- ldrb r0, [r0, #0x0]
- cmp r0, #0x16
- bne _020156D0
- ldr r0, [sp, #0x4]
- add sp, #0x8
- str r0, [r4, #0x0]
- pop {r3-r5, pc}
-_020156D0:
- cmp r0, #0x17
- bne _020156E0
- ldr r0, [sp, #0x4]
- ldr r1, [r4, #0x0]
- add sp, #0x8
- add r0, r1, r0
- str r0, [r4, #0x0]
- pop {r3-r5, pc}
-_020156E0:
- bl ErrorHandling
- add sp, #0x8
- pop {r3-r5, pc}
-
- thumb_func_start FUN_020156E8
-FUN_020156E8: ; 0x020156E8
- push {r3-r5, lr}
- add r4, r0, #0x0
- mov r0, #0x73
- lsl r0, r0, #0x2
- ldrb r0, [r4, r0]
- cmp r0, #0x0
- ldr r0, [r4, #0x0]
- beq _0201570A
- ldr r3, [r4, #0x60]
- ldr r2, [r4, #0x68]
- ldr r5, [r4, #0x58]
- add r2, r3, r2
- mov r1, #0x0
- sub r2, r5, r2
- bl FUN_02007558
- b _0201571A
-_0201570A:
- ldr r3, [r4, #0x58]
- ldr r2, [r4, #0x60]
- ldr r5, [r4, #0x68]
- add r2, r3, r2
- mov r1, #0x0
- add r2, r5, r2
- bl FUN_02007558
-_0201571A:
- ldr r3, [r4, #0x5c]
- ldr r2, [r4, #0x64]
- ldr r5, [r4, #0x6c]
- add r2, r3, r2
- ldr r0, [r4, #0x0]
- mov r1, #0x1
- add r2, r5, r2
- bl FUN_02007558
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02015730
-FUN_02015730: ; 0x02015730
- push {r4, lr}
- add r4, r0, #0x0
- mov r1, #0xc
- add r2, r1, #0x0
- ldr r3, [r4, #0x70]
- add r2, #0xf4
- ldr r0, [r4, #0x0]
- add r2, r3, r2
- bl FUN_02007558
- mov r1, #0xd
- add r2, r1, #0x0
- ldr r3, [r4, #0x74]
- add r2, #0xf3
- ldr r0, [r4, #0x0]
- add r2, r3, r2
- bl FUN_02007558
- ldr r2, [r4, #0x78]
- ldr r0, [r4, #0x0]
- lsl r2, r2, #0x10
- mov r1, #0x9
- lsr r2, r2, #0x10
- bl FUN_02007558
- ldr r0, _02015794 ; =0x000001CE
- ldrb r0, [r4, r0]
- cmp r0, #0x1b
- bne _02015778
- ldr r0, [r4, #0x74]
- cmp r0, #0x0
- bge _02015792
- add r0, r4, #0x0
- bl FUN_0201519C
- pop {r4, pc}
-_02015778:
- cmp r0, #0x1d
- bne _0201578A
- ldr r0, [r4, #0x74]
- cmp r0, #0x0
- beq _02015792
- add r0, r4, #0x0
- bl FUN_0201519C
- pop {r4, pc}
-_0201578A:
- cmp r0, #0x1c
- beq _02015792
- bl ErrorHandling
-_02015792:
- pop {r4, pc}
- .balign 4
-_02015794: .word 0x000001CE
-
- thumb_func_start FUN_02015798
-FUN_02015798: ; 0x02015798
- push {r3-r4, lr}
- sub sp, #0x4
- add r4, r0, #0x0
- add r1, sp, #0x0
- bl FUN_02014FA8
- ldr r0, [r4, #0xc]
- add r0, r0, #0x4
- str r0, [r4, #0xc]
- bl FUN_02014F28
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- cmp r0, #0x8
- beq _020157BA
- cmp r0, #0xa
- bne _020157CA
-_020157BA:
- add r0, sp, #0x0
- ldrb r0, [r0, #0x0]
- add sp, #0x4
- lsl r0, r0, #0x2
- add r0, r4, r0
- ldr r0, [r0, #0x24]
- str r0, [r4, #0x68]
- pop {r3-r4, pc}
-_020157CA:
- cmp r0, #0x9
- beq _020157D2
- cmp r0, #0xb
- bne _020157E2
-_020157D2:
- add r0, sp, #0x0
- ldrb r0, [r0, #0x0]
- add sp, #0x4
- lsl r0, r0, #0x2
- add r0, r4, r0
- ldr r0, [r0, #0x24]
- str r0, [r4, #0x6c]
- pop {r3-r4, pc}
-_020157E2:
- bl ErrorHandling
- add sp, #0x4
- pop {r3-r4, pc}
- .balign 4
-
- thumb_func_start FUN_020157EC
-FUN_020157EC: ; 0x020157EC
- push {r4, lr}
- add r4, r0, #0x0
- add r1, r4, #0x0
- add r1, #0x54
- bl FUN_02014F80
- mov r0, #0x1
- str r0, [r4, #0x18]
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02015800
-FUN_02015800: ; 0x02015800
- push {r3-r4, lr}
- sub sp, #0xc
- add r1, sp, #0x4
- add r1, #0x2
- add r4, r0, #0x0
- bl FUN_02014F94
- add r1, sp, #0x4
- add r0, r4, #0x0
- add r1, #0x1
- bl FUN_02014F94
- add r0, r4, #0x0
- add r1, sp, #0x4
- bl FUN_02014F94
- add r0, r4, #0x0
- add r1, sp, #0x8
- bl FUN_02014F80
- ldr r0, [sp, #0x8]
- add r3, sp, #0x4
- str r0, [sp, #0x0]
- ldrb r1, [r3, #0x2]
- ldrb r2, [r3, #0x1]
- ldrb r3, [r3, #0x0]
- ldr r0, [r4, #0x0]
- bl FUN_02007E68
- add sp, #0xc
- pop {r3-r4, pc}
- .balign 4
-
- thumb_func_start FUN_02015840
-FUN_02015840: ; 0x02015840
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_02007F20
- cmp r0, #0x0
- beq _02015856
- ldr r0, _02015858 ; =0x000001CF
- mov r1, #0x1
- strb r1, [r4, r0]
- str r1, [r4, #0x18]
-_02015856:
- pop {r4, pc}
- .balign 4
-_02015858: .word 0x000001CF
-
- thumb_func_start FUN_0201585C
-FUN_0201585C: ; 0x0201585C
- ldr r1, _02015864 ; =0x000001CD
- mov r2, #0x1
- strb r2, [r0, r1]
- bx lr
- .balign 4
-_02015864: .word 0x000001CD
-
- thumb_func_start FUN_02015868
-FUN_02015868: ; 0x02015868
- push {r4, lr}
- ldr r1, _0201589C ; =0x000001CE
- add r4, r0, #0x0
- add r1, r4, r1
- bl FUN_02014F94
- ldr r0, _0201589C ; =0x000001CE
- mov r1, #0x1
- ldrb r0, [r4, r0]
- add r2, r1, #0x0
- cmp r0, #0x1b
- beq _02015886
- cmp r0, #0x1d
- beq _02015886
- mov r2, #0x0
-_02015886:
- cmp r2, #0x0
- bne _02015890
- cmp r0, #0x1c
- beq _02015890
- mov r1, #0x0
-_02015890:
- cmp r1, #0x0
- bne _02015898
- bl ErrorHandling
-_02015898:
- pop {r4, pc}
- nop
-_0201589C: .word 0x000001CE
-
- thumb_func_start FUN_020158A0
-FUN_020158A0: ; 0x020158A0
- ldr r3, _020158A8 ; =FUN_0201598C
- mov r1, #0x0
- bx r3
- nop
-_020158A8: .word FUN_0201598C
-
- thumb_func_start FUN_020158AC
-FUN_020158AC: ; 0x020158AC
- ldr r3, _020158B4 ; =FUN_0201598C
- mov r1, #0x1
- bx r3
- nop
-_020158B4: .word FUN_0201598C
-
- thumb_func_start FUN_020158B8
-FUN_020158B8: ; 0x020158B8
- ldr r3, _020158C0 ; =FUN_0201598C
- mov r1, #0x2
- bx r3
- nop
-_020158C0: .word FUN_0201598C
-
- thumb_func_start FUN_020158C4
-FUN_020158C4: ; 0x020158C4
- ldr r3, _020158CC ; =FUN_0201598C
- mov r1, #0x3
- bx r3
- nop
-_020158CC: .word FUN_0201598C
-
- thumb_func_start FUN_020158D0
-FUN_020158D0: ; 0x020158D0
- ldr r3, _020158D8 ; =FUN_0201598C
- mov r1, #0x4
- bx r3
- nop
-_020158D8: .word FUN_0201598C
-
- thumb_func_start FUN_020158DC
-FUN_020158DC: ; 0x020158DC
- push {r3, lr}
- cmp r0, #0x18
- bne _020158E8
- ldr r0, [r2, #0x0]
- str r0, [r3, #0x0]
- pop {r3, pc}
-_020158E8:
- cmp r0, #0x19
- bne _020158F6
- ldr r1, [r1, #0x0]
- ldr r0, [r2, #0x0]
- add r0, r1, r0
- str r0, [r3, #0x0]
- pop {r3, pc}
-_020158F6:
- cmp r0, #0x1a
- bne _02015904
- ldr r1, [r3, #0x0]
- ldr r0, [r2, #0x0]
- add r0, r1, r0
- str r0, [r3, #0x0]
- pop {r3, pc}
-_02015904:
- bl ErrorHandling
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0201590C
-FUN_0201590C: ; 0x0201590C
- push {r3, lr}
- sub r0, #0x23
- cmp r0, #0x4
- bhi _02015984
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_02015920: ; jump table (using 16-bit offset)
- .short _0201592A - _02015920 - 2; case 0
- .short _0201593C - _02015920 - 2; case 1
- .short _0201594E - _02015920 - 2; case 2
- .short _02015960 - _02015920 - 2; case 3
- .short _02015972 - _02015920 - 2; case 4
-_0201592A:
- add r0, r1, #0x0
- add r0, #0x3c
- str r0, [r1, #0x24]
- add r0, r2, #0x0
- add r0, #0x68
- str r0, [r1, #0x28]
- ldr r0, [r2, #0x68]
- str r0, [r1, #0x30]
- pop {r3, pc}
-_0201593C:
- add r0, r1, #0x0
- add r0, #0x40
- str r0, [r1, #0x24]
- add r0, r2, #0x0
- add r0, #0x6c
- str r0, [r1, #0x28]
- ldr r0, [r2, #0x6c]
- str r0, [r1, #0x30]
- pop {r3, pc}
-_0201594E:
- add r0, r1, #0x0
- add r0, #0x44
- str r0, [r1, #0x24]
- add r0, r2, #0x0
- add r0, #0x70
- str r0, [r1, #0x28]
- ldr r0, [r2, #0x70]
- str r0, [r1, #0x30]
- pop {r3, pc}
-_02015960:
- add r0, r1, #0x0
- add r0, #0x48
- str r0, [r1, #0x24]
- add r0, r2, #0x0
- add r0, #0x74
- str r0, [r1, #0x28]
- ldr r0, [r2, #0x74]
- str r0, [r1, #0x30]
- pop {r3, pc}
-_02015972:
- add r0, r1, #0x0
- add r0, #0x4c
- str r0, [r1, #0x24]
- add r0, r2, #0x0
- add r0, #0x78
- str r0, [r1, #0x28]
- ldr r0, [r2, #0x78]
- str r0, [r1, #0x30]
- pop {r3, pc}
-_02015984:
- bl ErrorHandling
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0201598C
-FUN_0201598C: ; 0x0201598C
- push {r3-r7, lr}
- sub sp, #0x8
- add r6, r1, #0x0
- lsl r1, r6, #0x18
- lsr r1, r1, #0x18
- add r5, r0, #0x0
- bl FUN_02014F34
- str r0, [sp, #0x4]
- ldr r1, [sp, #0x4]
- add r0, r5, #0x0
- add r1, #0x2c
- bl FUN_02014F94
- ldr r1, [sp, #0x4]
- add r0, r5, #0x0
- add r1, #0x2d
- bl FUN_02014F94
- mov r0, #0xc
- mul r0, r6
- ldr r1, _02015A28 ; =0x020ED66C
- str r0, [sp, #0x0]
- ldr r0, [r1, r0]
- mov r4, #0x0
- cmp r0, #0x0
- ble _020159E2
- ldr r1, _02015A2C ; =0x020ED668
- ldr r0, [sp, #0x0]
- add r6, r1, r0
- ldr r0, [sp, #0x4]
- add r7, r0, #0x4
-_020159CC:
- lsl r1, r4, #0x2
- add r0, r5, #0x0
- add r1, r7, r1
- bl FUN_02014F80
- add r0, r4, #0x1
- lsl r0, r0, #0x18
- lsr r4, r0, #0x18
- ldr r0, [r6, #0x4]
- cmp r4, r0
- blt _020159CC
-_020159E2:
- ldr r1, _02015A30 ; =0x020ED670
- ldr r0, [sp, #0x0]
- add r2, r5, #0x0
- ldr r0, [r1, r0]
- lsl r1, r0, #0x2
- ldr r0, [sp, #0x4]
- add r0, r0, r1
- ldr r0, [r0, #0x4]
- ldr r1, [sp, #0x4]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- bl FUN_0201590C
- ldr r0, [sp, #0x4]
- add r0, #0x2d
- ldrb r0, [r0, #0x0]
- cmp r0, #0x0
- bne _02015A14
- ldr r0, [sp, #0x4]
- add r1, r5, #0x0
- add r2, r0, #0x0
- ldr r2, [r2, #0x50]
- blx r2
- add sp, #0x8
- pop {r3-r7, pc}
-_02015A14:
- ldr r0, [sp, #0x4]
- add r0, #0x2d
- ldrb r0, [r0, #0x0]
- sub r1, r0, #0x1
- ldr r0, [sp, #0x4]
- add r0, #0x2d
- str r0, [sp, #0x4]
- strb r1, [r0, #0x0]
- add sp, #0x8
- pop {r3-r7, pc}
- .balign 4
-_02015A28: .word 0x020ED66C
-_02015A2C: .word 0x020ED668
-_02015A30: .word 0x020ED670
-
- thumb_func_start FUN_02015A34
-FUN_02015A34: ; 0x02015A34
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x1c]
- ldr r1, [r4, #0x10]
- add r0, r0, #0x1
- ldr r2, [r4, #0x14]
- mul r0, r1
- add r0, r2, r0
- lsl r0, r0, #0x10
- lsr r1, r0, #0x10
- ldr r0, [r4, #0x4]
- sub r0, #0x1e
- cmp r0, #0x3
- bhi _02015AC0
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_02015A5C: ; jump table (using 16-bit offset)
- .short _02015A64 - _02015A5C - 2; case 0
- .short _02015A78 - _02015A5C - 2; case 1
- .short _02015A90 - _02015A5C - 2; case 2
- .short _02015AA6 - _02015A5C - 2; case 3
-_02015A64:
- asr r0, r1, #0x4
- lsl r1, r0, #0x2
- ldr r0, _02015AE8 ; =0x020FFA38
- ldr r2, [r4, #0xc]
- ldrsh r0, [r0, r1]
- mul r0, r2
- asr r1, r0, #0xc
- ldr r0, [r4, #0x24]
- str r1, [r0, #0x0]
- b _02015AC4
-_02015A78:
- asr r1, r1, #0x4
- lsl r1, r1, #0x1
- add r1, r1, #0x1
- lsl r2, r1, #0x1
- ldr r1, _02015AE8 ; =0x020FFA38
- ldr r0, [r4, #0xc]
- ldrsh r1, [r1, r2]
- mul r1, r0
- ldr r0, [r4, #0x24]
- asr r1, r1, #0xc
- str r1, [r0, #0x0]
- b _02015AC4
-_02015A90:
- asr r0, r1, #0x4
- lsl r1, r0, #0x2
- ldr r0, _02015AE8 ; =0x020FFA38
- ldr r2, [r4, #0xc]
- ldrsh r0, [r0, r1]
- mul r0, r2
- asr r0, r0, #0xc
- neg r1, r0
- ldr r0, [r4, #0x24]
- str r1, [r0, #0x0]
- b _02015AC4
-_02015AA6:
- asr r1, r1, #0x4
- lsl r1, r1, #0x1
- add r1, r1, #0x1
- lsl r2, r1, #0x1
- ldr r1, _02015AE8 ; =0x020FFA38
- ldr r0, [r4, #0xc]
- ldrsh r1, [r1, r2]
- mul r1, r0
- asr r0, r1, #0xc
- neg r1, r0
- ldr r0, [r4, #0x24]
- str r1, [r0, #0x0]
- b _02015AC4
-_02015AC0:
- bl ErrorHandling
-_02015AC4:
- add r0, r4, #0x0
- add r0, #0x2c
- ldrb r0, [r0, #0x0]
- add r1, r4, #0x0
- ldr r2, [r4, #0x24]
- ldr r3, [r4, #0x28]
- add r1, #0x30
- bl FUN_020158DC
- ldr r0, [r4, #0x1c]
- add r1, r0, #0x1
- str r1, [r4, #0x1c]
- ldr r0, [r4, #0x18]
- cmp r1, r0
- blt _02015AE6
- mov r0, #0x0
- str r0, [r4, #0x0]
-_02015AE6:
- pop {r4, pc}
- .balign 4
-_02015AE8: .word 0x020FFA38
-
- thumb_func_start FUN_02015AEC
-FUN_02015AEC: ; 0x02015AEC
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x1c]
- ldr r1, [r4, #0x10]
- add r0, r0, #0x1
- mul r0, r1
- ldr r1, [r4, #0x18]
- blx _s32_div_f
- ldr r1, [r4, #0x14]
- add r0, r1, r0
- lsl r0, r0, #0x10
- lsr r1, r0, #0x10
- ldr r0, [r4, #0x4]
- sub r0, #0x1e
- cmp r0, #0x3
- bhi _02015B7E
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_02015B1A: ; jump table (using 16-bit offset)
- .short _02015B22 - _02015B1A - 2; case 0
- .short _02015B36 - _02015B1A - 2; case 1
- .short _02015B4E - _02015B1A - 2; case 2
- .short _02015B64 - _02015B1A - 2; case 3
-_02015B22:
- asr r0, r1, #0x4
- lsl r1, r0, #0x2
- ldr r0, _02015BA8 ; =0x020FFA38
- ldr r2, [r4, #0xc]
- ldrsh r0, [r0, r1]
- mul r0, r2
- asr r1, r0, #0xc
- ldr r0, [r4, #0x24]
- str r1, [r0, #0x0]
- b _02015B82
-_02015B36:
- asr r1, r1, #0x4
- lsl r1, r1, #0x1
- add r1, r1, #0x1
- lsl r2, r1, #0x1
- ldr r1, _02015BA8 ; =0x020FFA38
- ldr r0, [r4, #0xc]
- ldrsh r1, [r1, r2]
- mul r1, r0
- ldr r0, [r4, #0x24]
- asr r1, r1, #0xc
- str r1, [r0, #0x0]
- b _02015B82
-_02015B4E:
- asr r0, r1, #0x4
- lsl r1, r0, #0x2
- ldr r0, _02015BA8 ; =0x020FFA38
- ldr r2, [r4, #0xc]
- ldrsh r0, [r0, r1]
- mul r0, r2
- asr r0, r0, #0xc
- neg r1, r0
- ldr r0, [r4, #0x24]
- str r1, [r0, #0x0]
- b _02015B82
-_02015B64:
- asr r1, r1, #0x4
- lsl r1, r1, #0x1
- add r1, r1, #0x1
- lsl r2, r1, #0x1
- ldr r1, _02015BA8 ; =0x020FFA38
- ldr r0, [r4, #0xc]
- ldrsh r1, [r1, r2]
- mul r1, r0
- asr r0, r1, #0xc
- neg r1, r0
- ldr r0, [r4, #0x24]
- str r1, [r0, #0x0]
- b _02015B82
-_02015B7E:
- bl ErrorHandling
-_02015B82:
- add r0, r4, #0x0
- add r0, #0x2c
- ldrb r0, [r0, #0x0]
- add r1, r4, #0x0
- ldr r2, [r4, #0x24]
- ldr r3, [r4, #0x28]
- add r1, #0x30
- bl FUN_020158DC
- ldr r0, [r4, #0x1c]
- add r1, r0, #0x1
- str r1, [r4, #0x1c]
- ldr r0, [r4, #0x18]
- cmp r1, r0
- blt _02015BA4
- mov r0, #0x0
- str r0, [r4, #0x0]
-_02015BA4:
- pop {r4, pc}
- nop
-_02015BA8: .word 0x020FFA38
-
- thumb_func_start FUN_02015BAC
-FUN_02015BAC: ; 0x02015BAC
- push {r3-r5, lr}
- add r4, r0, #0x0
- ldr r1, [r4, #0x24]
- ldr r3, [r4, #0xc]
- ldr r2, [r4, #0x14]
- ldr r5, [r4, #0x8]
- mul r2, r3
- ldr r0, [r1, #0x0]
- add r2, r5, r2
- add r0, r0, r2
- str r0, [r1, #0x0]
- add r0, r4, #0x0
- add r0, #0x2c
- add r1, r4, #0x0
- ldrb r0, [r0, #0x0]
- ldr r2, [r4, #0x24]
- ldr r3, [r4, #0x28]
- add r1, #0x30
- bl FUN_020158DC
- ldr r0, [r4, #0x14]
- add r1, r0, #0x1
- str r1, [r4, #0x14]
- ldr r0, [r4, #0x10]
- cmp r1, r0
- blt _02015BE4
- mov r0, #0x0
- str r0, [r4, #0x0]
-_02015BE4:
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02015BE8
-FUN_02015BE8: ; 0x02015BE8
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x10]
- add r1, r0, #0x1
- ldr r0, [r4, #0x8]
- mul r0, r1
- ldr r1, [r4, #0xc]
- blx _s32_div_f
- ldr r1, [r4, #0x24]
- str r0, [r1, #0x0]
- add r0, r4, #0x0
- add r0, #0x2c
- add r1, r4, #0x0
- ldrb r0, [r0, #0x0]
- ldr r2, [r4, #0x24]
- ldr r3, [r4, #0x28]
- add r1, #0x30
- bl FUN_020158DC
- ldr r0, [r4, #0x10]
- add r1, r0, #0x1
- str r1, [r4, #0x10]
- ldr r0, [r4, #0xc]
- cmp r1, r0
- blt _02015C20
- mov r0, #0x0
- str r0, [r4, #0x0]
-_02015C20:
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02015C24
-FUN_02015C24: ; 0x02015C24
- push {r4, lr}
- add r4, r0, #0x0
- ldr r1, [r4, #0xc]
- ldr r0, [r4, #0x14]
- ldr r2, [r4, #0x8]
- mul r0, r1
- ldr r1, [r4, #0x24]
- add r2, r2, r0
- ldr r0, [r1, #0x0]
- add r0, r0, r2
- str r0, [r1, #0x0]
- add r0, r4, #0x0
- add r0, #0x2c
- ldrb r0, [r0, #0x0]
- cmp r0, #0x18
- beq _02015C48
- cmp r0, #0x1a
- bne _02015C6E
-_02015C48:
- cmp r2, #0x0
- ldr r2, [r4, #0x10]
- bge _02015C5E
- ldr r1, [r4, #0x24]
- ldr r0, [r1, #0x0]
- cmp r0, r2
- bgt _02015CA4
- str r2, [r1, #0x0]
- mov r0, #0x0
- str r0, [r4, #0x0]
- b _02015CA4
-_02015C5E:
- ldr r1, [r4, #0x24]
- ldr r0, [r1, #0x0]
- cmp r0, r2
- blt _02015CA4
- str r2, [r1, #0x0]
- mov r0, #0x0
- str r0, [r4, #0x0]
- b _02015CA4
-_02015C6E:
- cmp r0, #0x19
- bne _02015CA0
- ldr r1, [r4, #0x24]
- ldr r3, [r4, #0x30]
- ldr r0, [r1, #0x0]
- add r3, r3, r0
- cmp r2, #0x0
- ldr r2, [r4, #0x10]
- bge _02015C90
- cmp r3, r2
- bgt _02015CA4
- sub r2, r2, r3
- add r0, r0, r2
- str r0, [r1, #0x0]
- mov r0, #0x0
- str r0, [r4, #0x0]
- b _02015CA4
-_02015C90:
- cmp r3, r2
- blt _02015CA4
- sub r2, r3, r2
- sub r0, r0, r2
- str r0, [r1, #0x0]
- mov r0, #0x0
- str r0, [r4, #0x0]
- b _02015CA4
-_02015CA0:
- bl ErrorHandling
-_02015CA4:
- add r0, r4, #0x0
- add r0, #0x2c
- ldrb r0, [r0, #0x0]
- add r1, r4, #0x0
- ldr r2, [r4, #0x24]
- ldr r3, [r4, #0x28]
- add r1, #0x30
- bl FUN_020158DC
- ldr r0, [r4, #0x14]
- add r0, r0, #0x1
- str r0, [r4, #0x14]
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02015CC0
-FUN_02015CC0: ; 0x02015CC0
- ldr r3, _02015CDC ; =0x020ED72C
- mov r2, #0x0
-_02015CC4:
- ldrh r1, [r3, #0x2]
- cmp r0, r1
- bhs _02015CCE
- add r0, r2, #0x0
- bx lr
-_02015CCE:
- add r2, r2, #0x1
- add r3, r3, #0x2
- cmp r2, #0x2
- blt _02015CC4
- add r0, r2, #0x0
- bx lr
- nop
-_02015CDC: .word 0x020ED72C
-
- thumb_func_start FUN_02015CE0
-FUN_02015CE0: ; 0x02015CE0
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_02015CC0
- lsl r1, r0, #0x1
- ldr r0, _02015CF4 ; =0x020ED72C
- ldrh r0, [r0, r1]
- sub r0, r4, r0
- pop {r4, pc}
- nop
-_02015CF4: .word 0x020ED72C
-
- thumb_func_start FUN_02015CF8
-FUN_02015CF8: ; 0x02015CF8
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- cmp r5, #0x3
- blt _02015D06
- bl ErrorHandling
-_02015D06:
- ldr r0, _02015D10 ; =0x020ED72C
- lsl r1, r5, #0x1
- ldrh r0, [r0, r1]
- add r0, r4, r0
- pop {r3-r5, pc}
- .balign 4
-_02015D10: .word 0x020ED72C
-
- thumb_func_start FUN_02015D14
-FUN_02015D14: ; 0x02015D14
- cmp r0, #0x7
- bhi _02015D34
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_02015D24: ; jump table (using 16-bit offset)
- .short _02015D34 - _02015D24 - 2; case 0
- .short _02015D34 - _02015D24 - 2; case 1
- .short _02015D38 - _02015D24 - 2; case 2
- .short _02015D3E - _02015D24 - 2; case 3
- .short _02015D38 - _02015D24 - 2; case 4
- .short _02015D42 - _02015D24 - 2; case 5
- .short _02015D34 - _02015D24 - 2; case 6
- .short _02015D38 - _02015D24 - 2; case 7
-_02015D34:
- mov r0, #0xea
- bx lr
-_02015D38:
- mov r0, #0x6d
- lsl r0, r0, #0x2
- bx lr
-_02015D3E:
- ldr r0, _02015D48 ; =0x000001B7
- bx lr
-_02015D42:
- ldr r0, _02015D4C ; =0x000001B6
- bx lr
- nop
-_02015D48: .word 0x000001B7
-_02015D4C: .word 0x000001B6
-
- thumb_func_start FUN_02015D50
-FUN_02015D50: ; 0x02015D50
- cmp r0, #0x7
- bhi _02015D70
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_02015D60: ; jump table (using 16-bit offset)
- .short _02015D70 - _02015D60 - 2; case 0
- .short _02015D70 - _02015D60 - 2; case 1
- .short _02015D74 - _02015D60 - 2; case 2
- .short _02015D78 - _02015D60 - 2; case 3
- .short _02015D74 - _02015D60 - 2; case 4
- .short _02015D7E - _02015D60 - 2; case 5
- .short _02015D70 - _02015D60 - 2; case 6
- .short _02015D74 - _02015D60 - 2; case 7
-_02015D70:
- mov r0, #0xeb
- bx lr
-_02015D74:
- ldr r0, _02015D84 ; =0x000001B5
- bx lr
-_02015D78:
- mov r0, #0x6e
- lsl r0, r0, #0x2
- bx lr
-_02015D7E:
- mov r0, #0x6d
- lsl r0, r0, #0x2
- bx lr
- .balign 4
-_02015D84: .word 0x000001B5
-
- thumb_func_start FUN_02015D88
-FUN_02015D88: ; 0x02015D88
- push {r3-r7, lr}
- sub sp, #0x10
- add r6, r3, #0x0
- str r0, [sp, #0x0]
- str r1, [sp, #0x4]
- str r2, [sp, #0x8]
- cmp r6, #0x1
- beq _02015D9C
- mov r2, #0x1
- b _02015D9E
-_02015D9C:
- mov r2, #0x0
-_02015D9E:
- ldr r0, [sp, #0x8]
- mov r4, #0x0
- sub r0, r0, #0x1
- str r0, [sp, #0xc]
- beq _02015E18
- ldr r1, _02015E28 ; =0x020ED734
- lsl r0, r2, #0x1
- ldr r5, [sp, #0x4]
- add r7, r1, r0
-_02015DB0:
- ldr r0, [sp, #0x0]
- ldrb r0, [r0, r4]
- cmp r0, #0xff
- beq _02015E18
- cmp r0, #0xf7
- blo _02015DEA
- ldr r0, [sp, #0x8]
- sub r3, r0, #0x1
- cmp r3, #0xa
- blo _02015DC6
- mov r3, #0xa
-_02015DC6:
- mov r1, #0x0
- cmp r3, #0x0
- ble _02015DDC
- mov r0, #0x6b
- ldr r2, [sp, #0x4]
- lsl r0, r0, #0x2
-_02015DD2:
- add r1, r1, #0x1
- strh r0, [r2, #0x0]
- add r2, r2, #0x2
- cmp r1, r3
- blt _02015DD2
-_02015DDC:
- ldr r0, [sp, #0x4]
- ldr r2, _02015E2C ; =0x0000FFFF
- lsl r1, r1, #0x1
- strh r2, [r0, r1]
- add sp, #0x10
- mov r0, #0x0
- pop {r3-r7, pc}
-_02015DEA:
- lsl r0, r0, #0x2
- ldrh r0, [r7, r0]
- cmp r0, #0xea
- beq _02015DF8
- cmp r0, #0xeb
- beq _02015E02
- b _02015E0C
-_02015DF8:
- add r0, r6, #0x0
- bl FUN_02015D14
- strh r0, [r5, #0x0]
- b _02015E0E
-_02015E02:
- add r0, r6, #0x0
- bl FUN_02015D50
- strh r0, [r5, #0x0]
- b _02015E0E
-_02015E0C:
- strh r0, [r5, #0x0]
-_02015E0E:
- ldr r0, [sp, #0xc]
- add r4, r4, #0x1
- add r5, r5, #0x2
- cmp r4, r0
- blo _02015DB0
-_02015E18:
- ldr r2, _02015E2C ; =0x0000FFFF
- ldr r0, [sp, #0x4]
- lsl r1, r4, #0x1
- strh r2, [r0, r1]
- mov r0, #0x1
- add sp, #0x10
- pop {r3-r7, pc}
- nop
-_02015E28: .word 0x020ED734
-_02015E2C: .word 0x0000FFFF
-
- thumb_func_start FUN_02015E30
-FUN_02015E30: ; 0x02015E30
- ldr r0, _02015E38 ; =0x021C4898
- mov r1, #0x0
- str r1, [r0, #0x0]
- bx lr
- .balign 4
-_02015E38: .word 0x021C4898
-
- thumb_func_start FUN_02015E3C
-FUN_02015E3C: ; 0x02015E3C
- push {r3, lr}
- ldr r1, _02015E5C ; =0x021C4898
- mov r2, #0x1
- str r2, [r1, #0x0]
- mov r2, #0x0
- str r2, [r1, #0x10]
- str r2, [r1, #0x14]
- str r2, [r1, #0x8]
- str r2, [r1, #0xc]
- str r0, [r1, #0x4]
- bl FUN_02020BF4
- ldr r2, _02015E5C ; =0x021C4898
- str r0, [r2, #0x18]
- str r1, [r2, #0x1c]
- pop {r3, pc}
- .balign 4
-_02015E5C: .word 0x021C4898
-
- thumb_func_start FUN_02015E60
-FUN_02015E60: ; 0x02015E60
- push {r3-r5, lr}
- ldr r0, _02015E9C ; =0x021C4898
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- beq _02015E9A
- bl FUN_02020BF4
- ldr r2, _02015E9C ; =0x021C4898
- ldr r3, [r2, #0x18]
- ldr r2, [r2, #0x1c]
- sub r0, r0, r3
- sbc r1, r2
- bl FUN_02020C14
- add r5, r1, #0x0
- ldr r1, _02015E9C ; =0x021C4898
- add r4, r0, #0x0
- ldr r3, [r1, #0x8]
- ldr r2, [r1, #0xc]
- sub r0, r3, r4
- sbc r2, r5
- bhs _02015E9A
- ldr r0, [r1, #0x4]
- sub r1, r4, r3
- bl FUN_02029E54
- ldr r0, _02015E9C ; =0x021C4898
- str r4, [r0, #0x8]
- str r5, [r0, #0xc]
-_02015E9A:
- pop {r3-r5, pc}
- .balign 4
-_02015E9C: .word 0x021C4898
-
- thumb_func_start FUN_02015EA0
-FUN_02015EA0: ; 0x02015EA0
- push {r3, lr}
- ldr r3, _02015EC8 ; =0x027E0000
- ldr r1, _02015ECC ; =0x00003FF8
- mov r0, #0x1
- ldr r2, [r3, r1]
- orr r0, r2
- str r0, [r3, r1]
- mov r0, #0x3
- blx MI_WaitDma
- ldr r0, _02015ED0 ; =0x021C48B8
- ldr r0, [r0, #0x1c]
- bl FUN_0201B5CC
- ldr r0, _02015ED0 ; =0x021C48B8
- ldr r1, [r0, #0x30]
- add r1, r1, #0x1
- str r1, [r0, #0x30]
- pop {r3, pc}
- nop
-_02015EC8: .word 0x027E0000
-_02015ECC: .word 0x00003FF8
-_02015ED0: .word 0x021C48B8
-
- thumb_func_start FUN_02015ED4
-FUN_02015ED4: ; 0x02015ED4
- ldr r3, _02015EE8 ; =0x027E0000
- ldr r1, _02015EEC ; =0x00003FF8
- mov r0, #0x1
- ldr r2, [r3, r1]
- orr r0, r2
- str r0, [r3, r1]
- ldr r3, _02015EF0 ; =MI_WaitDma
- mov r0, #0x3
- bx r3
- nop
-_02015EE8: .word 0x027E0000
-_02015EEC: .word 0x00003FF8
-_02015EF0: .word MI_WaitDma
-
- thumb_func_start FUN_02015EF4
-FUN_02015EF4: ; 0x02015EF4
- push {r3, lr}
- mov r0, #0x1
- blx OS_DisableIrqMask
- ldr r1, _02015F0C ; =FUN_02015ED4
- mov r0, #0x1
- blx OS_SetIrqFunction
- mov r0, #0x1
- blx OS_EnableIrqMask
- pop {r3, pc}
- .balign 4
-_02015F0C: .word FUN_02015ED4
-
- thumb_func_start FUN_02015F10
-FUN_02015F10: ; 0x02015F10
- ldr r2, _02015F18 ; =0x021C48B8
- str r0, [r2, #0x0]
- str r1, [r2, #0x4]
- bx lr
- .balign 4
-_02015F18: .word 0x021C48B8
-
- thumb_func_start FUN_02015F1C
-FUN_02015F1C: ; 0x02015F1C
- push {r3, lr}
- mov r0, #0x0
- bl FUN_02015F80
- ldr r0, _02015F30 ; =0x021C48B8
- mov r1, #0x0
- str r1, [r0, #0x8]
- str r1, [r0, #0xc]
- pop {r3, pc}
- nop
-_02015F30: .word 0x021C48B8
-
- thumb_func_start FUN_02015F34
-FUN_02015F34: ; 0x02015F34
- push {r3, lr}
- cmp r0, #0x0
- bne _02015F4C
- mov r0, #0x0
- bl FUN_02015F80
- ldr r0, _02015F68 ; =0x021C48B8
- mov r1, #0x0
- str r1, [r0, #0x8]
- str r1, [r0, #0xc]
- mov r0, #0x1
- pop {r3, pc}
-_02015F4C:
- ldr r2, _02015F68 ; =0x021C48B8
- ldr r3, [r2, #0x8]
- cmp r3, #0x0
- bne _02015F62
- str r1, [r2, #0xc]
- str r0, [r2, #0x8]
- mov r0, #0x1
- bl FUN_02015F80
- mov r0, #0x1
- pop {r3, pc}
-_02015F62:
- mov r0, #0x0
- pop {r3, pc}
- nop
-_02015F68: .word 0x021C48B8
-
- thumb_func_start FUN_02015F6C
-FUN_02015F6C: ; 0x02015F6C
- push {r3, lr}
- ldr r0, _02015F7C ; =0x021C48B8
- ldr r1, [r0, #0x8]
- cmp r1, #0x0
- beq _02015F7A
- ldr r0, [r0, #0xc]
- blx r1
-_02015F7A:
- pop {r3, pc}
- .balign 4
-_02015F7C: .word 0x021C48B8
-
- thumb_func_start FUN_02015F80
-FUN_02015F80: ; 0x02015F80
- push {r3, lr}
- ldr r2, _02015FC0 ; =0x04000208
- ldrh r1, [r2, #0x0]
- mov r1, #0x0
- strh r1, [r2, #0x0]
- cmp r0, #0x0
- bne _02015F9E
- ldr r0, [r2, #0x8]
- mov r0, #0x2
- blx OS_DisableIrqMask
- mov r0, #0x0
- blx GX_HBlankIntr
- b _02015FB4
-_02015F9E:
- ldr r0, [r2, #0x8]
- ldr r1, _02015FC4 ; =FUN_02015F6C
- mov r0, #0x2
- blx OS_SetIrqFunction
- mov r0, #0x2
- blx OS_EnableIrqMask
- mov r0, #0x1
- blx GX_HBlankIntr
-_02015FB4:
- ldr r1, _02015FC0 ; =0x04000208
- ldrh r0, [r1, #0x0]
- mov r0, #0x1
- strh r0, [r1, #0x0]
- pop {r3, pc}
- nop
-_02015FC0: .word 0x04000208
-_02015FC4: .word FUN_02015F6C
-
- thumb_func_start FUN_02015FC8
-FUN_02015FC8: ; 0x02015FC8
- push {r3, lr}
- sub sp, #0x30
- add r0, sp, #0x10
- blx OS_GetLowEntropyData
- add r0, sp, #0x0
- add r1, sp, #0x10
- mov r2, #0x20
- blx MATH_CalcMD5
- mov r3, #0x0
- add r1, r3, #0x0
- add r2, sp, #0x0
-_02015FE2:
- ldrb r0, [r2, #0x0]
- add r1, r1, #0x1
- add r2, r2, #0x1
- add r3, r3, r0
- cmp r1, #0x10
- blo _02015FE2
- lsl r0, r3, #0x18
- lsr r3, r0, #0x18
- mov r0, #0x3
- tst r0, r3
- beq _02016002
- mov r0, #0x3
-_02015FFA:
- add r3, r3, #0x1
- add r1, r3, #0x0
- tst r1, r0
- bne _02015FFA
-_02016002:
- ldr r0, _02016010 ; =0x020EDB10
- mov r1, #0x4
- mov r2, #0x5c
- bl FUN_020166C8
- add sp, #0x30
- pop {r3, pc}
- .balign 4
-_02016010: .word 0x020EDB10
-
- thumb_func_start InitSystemForTheGame
-InitSystemForTheGame: ; 0x02016014
- push {r3-r5, lr}
- blx OS_Init
- blx FX_Init
- ldr r2, _02016124 ; =0x04000304
- ldr r0, _02016128 ; =0xFFFFFDF1
- ldrh r1, [r2, #0x0]
- and r1, r0
- ldr r0, _0201612C ; =0x0000020E
- orr r0, r1
- strh r0, [r2, #0x0]
- blx GX_Init
- blx OS_InitTick
- bl FUN_02015FC8
- mov r0, #0xa0
- bl FUN_0201B578
- add r1, r0, #0x0
- mov r0, #0x0
- mov r2, #0x4
- blx OS_AllocFromArenaLo
- add r1, r0, #0x0
- mov r0, #0xa0
- bl FUN_0201B580
- ldr r1, _02016130 ; =0x021C48B8
- str r0, [r1, #0x18]
- mov r0, #0x10
- bl FUN_0201B578
- add r1, r0, #0x0
- mov r0, #0x0
- mov r2, #0x4
- blx OS_AllocFromArenaLo
- add r1, r0, #0x0
- mov r0, #0x10
- bl FUN_0201B580
- ldr r1, _02016130 ; =0x021C48B8
- str r0, [r1, #0x1c]
- mov r0, #0x20
- bl FUN_0201B578
- add r1, r0, #0x0
- mov r0, #0x0
- mov r2, #0x4
- blx OS_AllocFromArenaLo
- add r1, r0, #0x0
- mov r0, #0x20
- bl FUN_0201B580
- ldr r1, _02016130 ; =0x021C48B8
- str r0, [r1, #0x20]
- mov r0, #0x4
- bl FUN_0201B578
- add r1, r0, #0x0
- mov r0, #0x0
- mov r2, #0x4
- blx OS_AllocFromArenaLo
- add r1, r0, #0x0
- mov r0, #0x4
- bl FUN_0201B580
- ldr r1, _02016130 ; =0x021C48B8
- str r0, [r1, #0x24]
- blx GX_DispOff
- ldr r2, _02016134 ; =0x04001000
- ldr r0, _02016138 ; =0xFFFEFFFF
- ldr r1, [r2, #0x0]
- and r0, r1
- str r0, [r2, #0x0]
- ldr r2, _02016124 ; =0x04000304
- ldrh r1, [r2, #0x0]
- lsr r0, r2, #0xb
- orr r0, r1
- strh r0, [r2, #0x0]
- ldr r1, _0201613C ; =FUN_02015EA0
- mov r0, #0x1
- blx OS_SetIrqFunction
- mov r0, #0x1
- blx OS_EnableIrqMask
- mov r0, #0x1
- lsl r0, r0, #0x12
- blx OS_EnableIrqMask
- ldr r1, _02016140 ; =0x04000208
- ldrh r0, [r1, #0x0]
- mov r0, #0x1
- strh r0, [r1, #0x0]
- blx GX_VBlankIntr
- mov r0, #0x1
- blx FS_Init
- bl FUN_02022450
- mov r0, #0x0
- add r1, r0, #0x0
- blx FS_TryLoadTable
- add r4, r0, #0x0
- mov r0, #0x0
- add r1, r4, #0x0
- mov r2, #0x4
- blx OS_AllocFromArenaLo
- add r5, r0, #0x0
- bne _02016108
- bl ErrorHandling
-_02016108:
- add r0, r5, #0x0
- add r1, r4, #0x0
- blx FS_TryLoadTable
- ldr r0, _02016130 ; =0x021C48B8
- mov r1, #0x0
- str r1, [r0, #0x0]
- str r1, [r0, #0x8]
- str r1, [r0, #0x10]
- str r1, [r0, #0x14]
- str r1, [r0, #0x2c]
- ldr r0, _02016144 ; =0x021C4918
- strb r1, [r0, #0x5]
- pop {r3-r5, pc}
- .balign 4
-_02016124: .word 0x04000304
-_02016128: .word 0xFFFFFDF1
-_0201612C: .word 0x0000020E
-_02016130: .word 0x021C48B8
-_02016134: .word 0x04001000
-_02016138: .word 0xFFFEFFFF
-_0201613C: .word FUN_02015EA0
-_02016140: .word 0x04000208
-_02016144: .word 0x021C4918
-
- thumb_func_start InitGraphicMemory
-InitGraphicMemory: ; 0x02016148
- push {r3, lr}
- ldr r0, _02016198 ; =0x000001FF
- blx GX_SetBankForLCDC
- mov r1, #0x1a
- mov r2, #0x29
- mov r0, #0x0
- lsl r1, r1, #0x16
- lsl r2, r2, #0xe
- blx MIi_CpuClearFast
- blx GX_DisableBankForLCDC
- mov r1, #0x7
- mov r2, #0x1
- mov r0, #0xc0
- lsl r1, r1, #0x18
- lsl r2, r2, #0xa
- blx MIi_CpuClearFast
- mov r2, #0x1
- ldr r1, _0201619C ; =0x07000400
- mov r0, #0xc0
- lsl r2, r2, #0xa
- blx MIi_CpuClearFast
- mov r1, #0x5
- mov r2, #0x1
- mov r0, #0x0
- lsl r1, r1, #0x18
- lsl r2, r2, #0xa
- blx MIi_CpuClearFast
- mov r2, #0x1
- ldr r1, _020161A0 ; =0x05000400
- mov r0, #0x0
- lsl r2, r2, #0xa
- blx MIi_CpuClearFast
- pop {r3, pc}
- .balign 4
-_02016198: .word 0x000001FF
-_0201619C: .word 0x07000400
-_020161A0: .word 0x05000400
-
- thumb_func_start FUN_020161A4
-FUN_020161A4: ; 0x020161A4
- push {r4-r6, lr}
- sub sp, #0x48
- add r6, r0, #0x0
- add r4, r1, #0x0
- add r0, sp, #0x0
- blx FS_InitFile
- add r0, sp, #0x0
- add r1, r4, #0x0
- blx FS_OpenFile
- cmp r0, #0x0
- beq _020161F0
- ldr r1, [sp, #0x28]
- ldr r0, [sp, #0x24]
- sub r5, r1, r0
- add r0, r6, #0x0
- add r1, r5, #0x0
- bl FUN_02016998
- add r4, r0, #0x0
- beq _020161E8
- add r0, sp, #0x0
- add r1, r4, #0x0
- add r2, r5, #0x0
- blx FS_ReadFile
- cmp r5, r0
- beq _020161E8
- add r0, r6, #0x0
- add r1, r4, #0x0
- bl FUN_02016A8C
- mov r4, #0x0
-_020161E8:
- add r0, sp, #0x0
- blx FS_CloseFile
- b _020161F2
-_020161F0:
- mov r4, #0x0
-_020161F2:
- add r0, r4, #0x0
- add sp, #0x48
- pop {r4-r6, pc}
-
- thumb_func_start FUN_020161F8
-FUN_020161F8: ; 0x020161F8
- push {r3-r5, lr}
- sub sp, #0x48
- add r5, r0, #0x0
- add r0, sp, #0x0
- add r4, r1, #0x0
- blx FS_InitFile
- add r0, sp, #0x0
- add r1, r5, #0x0
- blx FS_OpenFile
- cmp r0, #0x0
- beq _0201622A
- ldr r1, [sp, #0x28]
- ldr r0, [sp, #0x24]
- sub r2, r1, r0
- ldr r1, [r4, #0x0]
- cmp r1, #0x0
- beq _02016224
- add r0, sp, #0x0
- blx FS_ReadFile
-_02016224:
- add r0, sp, #0x0
- blx FS_CloseFile
-_0201622A:
- add sp, #0x48
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02016230
-FUN_02016230: ; 0x02016230
- push {r3-r7, lr}
- sub sp, #0x8
- str r0, [sp, #0x0]
- blx strlen
- lsl r0, r0, #0x10
- lsr r3, r0, #0x10
- lsr r2, r3, #0x1f
- lsl r1, r3, #0x1e
- sub r1, r1, r2
- mov r0, #0x1e
- ror r1, r0
- add r0, r2, r1
- beq _02016258
- lsr r0, r3, #0x2
- add r0, r0, #0x1
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- str r0, [sp, #0x4]
- b _0201625E
-_02016258:
- lsl r0, r3, #0xe
- lsr r0, r0, #0x10
- str r0, [sp, #0x4]
-_0201625E:
- ldr r0, [sp, #0x4]
- mov r7, #0x0
- mov r12, r7
- cmp r0, #0x0
- ble _0201629A
- add r6, r7, #0x0
- add r4, r7, #0x0
-_0201626C:
- ldr r2, [sp, #0x0]
- mov r1, #0x0
- add r0, r1, #0x0
- add r2, r2, r6
- add r3, r1, #0x0
-_02016276:
- ldrsb r5, [r2, r4]
- cmp r5, #0x0
- beq _0201628A
- lsl r5, r3
- add r0, r0, #0x1
- orr r1, r5
- add r2, r2, #0x1
- add r3, #0x8
- cmp r0, #0x4
- blt _02016276
-_0201628A:
- mov r0, r12
- eor r7, r1
- add r1, r0, #0x1
- ldr r0, [sp, #0x4]
- add r6, r6, #0x4
- mov r12, r1
- cmp r1, r0
- blt _0201626C
-_0201629A:
- add r0, r7, #0x0
- add sp, #0x8
- pop {r3-r7, pc}
-
- thumb_func_start FUN_020162A0
-FUN_020162A0: ; 0x020162A0
- ldr r3, _020162C4 ; =0x021C4928
- mov r2, #0x0
-_020162A4:
- ldr r1, [r3, #0x4]
- cmp r0, r1
- bne _020162B4
- ldr r1, [r3, #0x0]
- cmp r1, #0x0
- beq _020162B4
- add r0, r2, #0x0
- bx lr
-_020162B4:
- add r2, r2, #0x1
- add r3, #0x8
- cmp r2, #0x80
- blt _020162A4
- mov r0, #0x0
- mvn r0, r0
- bx lr
- nop
-_020162C4: .word 0x021C4928
-
- thumb_func_start FUN_020162C8
-FUN_020162C8: ; 0x020162C8
- push {r3-r4}
- ldr r3, _020162F4 ; =0x021C4928
- mov r4, #0x0
-_020162CE:
- ldr r2, [r3, #0x0]
- cmp r2, #0x0
- bne _020162E4
- ldr r2, _020162F4 ; =0x021C4928
- lsl r3, r4, #0x3
- str r0, [r2, r3]
- ldr r0, _020162F8 ; =0x021C492C
- str r1, [r0, r3]
- add r0, r4, #0x0
- pop {r3-r4}
- bx lr
-_020162E4:
- add r4, r4, #0x1
- add r3, #0x8
- cmp r4, #0x80
- blt _020162CE
- mov r0, #0x0
- mvn r0, r0
- pop {r3-r4}
- bx lr
- .balign 4
-_020162F4: .word 0x021C4928
-_020162F8: .word 0x021C492C
-
- thumb_func_start FUN_020162FC
-FUN_020162FC: ; 0x020162FC
- push {r3-r7, lr}
- mov r6, #0x0
- ldr r5, _02016320 ; =0x021C4D20
- mov r4, #0x7f
- sub r7, r6, #0x1
-_02016306:
- ldr r0, [r5, #0x0]
- cmp r0, #0x0
- beq _02016314
- bl FUN_02016A18
- str r6, [r5, #0x0]
- str r6, [r5, #0x4]
-_02016314:
- sub r4, r4, #0x1
- sub r5, #0x8
- cmp r4, r7
- bgt _02016306
- pop {r3-r7, pc}
- nop
-_02016320: .word 0x021C4D20
-
- thumb_func_start FUN_02016324
-FUN_02016324: ; 0x02016324
- push {r3-r7, lr}
- sub sp, #0x68
- add r2, r0, #0x0
- mov r5, #0x0
- ldrsb r0, [r2, r5]
- add r4, r1, #0x0
- cmp r0, #0x21
- add r0, sp, #0x0
- bne _02016340
- add r1, r2, #0x1
- blx strcpy
- mov r5, #0x1
- b _02016346
-_02016340:
- add r1, r2, #0x0
- blx strcpy
-_02016346:
- add r0, sp, #0x0
- bl FUN_02016230
- add r7, r0, #0x0
- bl FUN_020162A0
- cmp r0, #0x0
- blt _02016362
- cmp r5, #0x0
- bne _02016362
- lsl r1, r0, #0x3
- ldr r0, _020163B8 ; =0x021C4928
- ldr r4, [r0, r1]
- b _020163B2
-_02016362:
- add r0, sp, #0x20
- blx FS_InitFile
- add r0, sp, #0x20
- add r1, sp, #0x0
- blx FS_OpenFile
- cmp r0, #0x0
- beq _020163B0
- ldr r1, [sp, #0x48]
- ldr r0, [sp, #0x44]
- sub r6, r1, r0
- add r0, r4, #0x0
- add r1, r6, #0x0
- bl FUN_02016998
- add r4, r0, #0x0
- beq _0201639C
- add r0, sp, #0x20
- add r1, r4, #0x0
- add r2, r6, #0x0
- blx FS_ReadFile
- cmp r6, r0
- beq _0201639C
- add r0, r4, #0x0
- bl FUN_02016A18
- mov r4, #0x0
-_0201639C:
- add r0, sp, #0x20
- blx FS_CloseFile
- cmp r5, #0x0
- bne _020163B2
- add r0, r4, #0x0
- add r1, r7, #0x0
- bl FUN_020162C8
- b _020163B2
-_020163B0:
- mov r4, #0x0
-_020163B2:
- add r0, r4, #0x0
- add sp, #0x68
- pop {r3-r7, pc}
- .balign 4
-_020163B8: .word 0x021C4928
-
- thumb_func_start FUN_020163BC
-FUN_020163BC: ; 0x020163BC
- push {r3, lr}
- sub sp, #0x8
- ldr r0, _0201641C ; =0x021C48B8
- mov r2, #0x0
- str r2, [r0, #0x34]
- str r2, [r0, #0x38]
- str r2, [r0, #0x3c]
- str r2, [r0, #0x40]
- str r2, [r0, #0x44]
- str r2, [r0, #0x48]
- str r2, [r0, #0x4c]
- str r2, [r0, #0x50]
- mov r1, #0x8
- str r1, [r0, #0x54]
- mov r1, #0xf
- str r1, [r0, #0x58]
- ldr r0, _02016420 ; =0x021C48F8
- strh r2, [r0, #0x1c]
- strh r2, [r0, #0x1e]
- strh r2, [r0, #0x20]
- strh r2, [r0, #0x22]
- ldr r0, _02016424 ; =0x021C4918
- strb r2, [r0, #0x4]
- blx TP_Init
- add r0, sp, #0x0
- blx TP_GetUserInfo
- cmp r0, #0x1
- add r0, sp, #0x0
- bne _02016402
- blx TP_SetCalibrateParam
- add sp, #0x8
- pop {r3, pc}
-_02016402:
- ldr r1, _02016428 ; =0x000002AE
- strh r1, [r0, #0x0]
- ldr r1, _0201642C ; =0x0000058C
- strh r1, [r0, #0x2]
- ldr r1, _02016430 ; =0x00000E25
- strh r1, [r0, #0x4]
- ldr r1, _02016434 ; =0x00001208
- strh r1, [r0, #0x6]
- add r0, sp, #0x0
- blx TP_SetCalibrateParam
- add sp, #0x8
- pop {r3, pc}
- .balign 4
-_0201641C: .word 0x021C48B8
-_02016420: .word 0x021C48F8
-_02016424: .word 0x021C4918
-_02016428: .word 0x000002AE
-_0201642C: .word 0x0000058C
-_02016430: .word 0x00000E25
-_02016434: .word 0x00001208
-
- thumb_func_start FUN_02016438
-FUN_02016438: ; 0x02016438
- ldr r1, _02016440 ; =0x021C4918
- strb r0, [r1, #0x6]
- bx lr
- nop
-_02016440: .word 0x021C4918
-
- thumb_func_start FUN_02016444
-FUN_02016444: ; 0x02016444
- ldr r1, _02016450 ; =0x021C4918
- ldrb r2, [r1, #0x7]
- orr r0, r2
- strb r0, [r1, #0x7]
- bx lr
- nop
-_02016450: .word 0x021C4918
-
- thumb_func_start FUN_02016454
-FUN_02016454: ; 0x02016454
- ldr r1, _02016460 ; =0x021C4918
- mvn r0, r0
- ldrb r2, [r1, #0x7]
- and r0, r2
- strb r0, [r1, #0x7]
- bx lr
- .balign 4
-_02016460: .word 0x021C4918
-
- thumb_func_start FUN_02016464
-FUN_02016464: ; 0x02016464
- push {r4, lr}
- sub sp, #0x10
- ldr r2, _02016550 ; =0x027FFFA8
- mov r0, #0x2
- ldrh r1, [r2, #0x0]
- lsl r0, r0, #0xe
- and r0, r1
- asr r0, r0, #0xf
- beq _0201648A
- ldr r0, _02016554 ; =0x021C48B8
- mov r1, #0x0
- str r1, [r0, #0x48]
- str r1, [r0, #0x44]
- str r1, [r0, #0x4c]
- ldr r0, _02016558 ; =0x021C48F8
- add sp, #0x10
- strh r1, [r0, #0x20]
- strh r1, [r0, #0x22]
- pop {r4, pc}
-_0201648A:
- ldr r0, _0201655C ; =0x04000130
- ldrh r1, [r0, #0x0]
- ldrh r0, [r2, #0x0]
- orr r1, r0
- ldr r0, _02016560 ; =0x00002FFF
- eor r1, r0
- and r0, r1
- ldr r1, _02016554 ; =0x021C48B8
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- ldr r2, [r1, #0x38]
- add r3, r0, #0x0
- eor r3, r2
- and r3, r0
- str r3, [r1, #0x3c]
- str r3, [r1, #0x40]
- cmp r0, #0x0
- beq _020164C2
- cmp r2, r0
- bne _020164C2
- ldr r2, [r1, #0x50]
- sub r2, r2, #0x1
- str r2, [r1, #0x50]
- bne _020164C8
- str r0, [r1, #0x40]
- ldr r2, [r1, #0x54]
- str r2, [r1, #0x50]
- b _020164C8
-_020164C2:
- ldr r1, _02016554 ; =0x021C48B8
- ldr r2, [r1, #0x58]
- str r2, [r1, #0x50]
-_020164C8:
- ldr r1, _02016554 ; =0x021C48B8
- str r0, [r1, #0x38]
- ldr r2, [r1, #0x3c]
- str r2, [r1, #0x48]
- str r0, [r1, #0x44]
- ldr r0, [r1, #0x40]
- str r0, [r1, #0x4c]
- bl FUN_02016568
- ldr r0, _02016564 ; =0x021C4918
- ldrb r0, [r0, #0x4]
- cmp r0, #0x0
- bne _020164F4
- add r4, sp, #0x8
-_020164E4:
- blx TP_RequestSamplingAsync
- add r0, r4, #0x0
- blx TP_WaitRawResult
- cmp r0, #0x0
- bne _020164E4
- b _020164FA
-_020164F4:
- add r0, sp, #0x8
- blx TP_GetLatestRawPointInAuto
-_020164FA:
- add r0, sp, #0x0
- add r1, sp, #0x8
- blx TP_GetCalibratedPoint
- add r1, sp, #0x0
- ldrh r3, [r1, #0x6]
- cmp r3, #0x0
- bne _02016516
- ldrh r2, [r1, #0x0]
- ldr r0, _02016558 ; =0x021C48F8
- strh r2, [r0, #0x1c]
- ldrh r1, [r1, #0x2]
- strh r1, [r0, #0x1e]
- b _0201653A
-_02016516:
- ldr r0, _02016558 ; =0x021C48F8
- ldrh r2, [r0, #0x22]
- cmp r2, #0x0
- beq _02016536
- cmp r3, #0x1
- beq _0201652A
- cmp r3, #0x2
- beq _02016530
- cmp r3, #0x3
- b _0201653A
-_0201652A:
- ldrh r1, [r1, #0x2]
- strh r1, [r0, #0x1e]
- b _0201653A
-_02016530:
- ldrh r1, [r1, #0x0]
- strh r1, [r0, #0x1c]
- b _0201653A
-_02016536:
- mov r0, #0x0
- strh r0, [r1, #0x4]
-_0201653A:
- add r0, sp, #0x0
- ldrh r2, [r0, #0x4]
- ldr r0, _02016558 ; =0x021C48F8
- ldrh r1, [r0, #0x22]
- eor r1, r2
- and r1, r2
- strh r1, [r0, #0x20]
- strh r2, [r0, #0x22]
- add sp, #0x10
- pop {r4, pc}
- nop
-_02016550: .word 0x027FFFA8
-_02016554: .word 0x021C48B8
-_02016558: .word 0x021C48F8
-_0201655C: .word 0x04000130
-_02016560: .word 0x00002FFF
-_02016564: .word 0x021C4918
-
- thumb_func_start FUN_02016568
-FUN_02016568: ; 0x02016568
- ldr r0, _02016690 ; =0x021C48B8
- ldr r1, [r0, #0x34]
- cmp r1, #0x3
- bls _02016572
- b _0201668C
-_02016572:
- add r1, r1, r1
- add r1, pc
- ldrh r1, [r1, #0x6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_0201657E: ; jump table (using 16-bit offset)
- .short _0201668C - _0201657E - 2; case 0
- .short _02016586 - _0201657E - 2; case 1
- .short _020165BC - _0201657E - 2; case 2
- .short _02016642 - _0201657E - 2; case 3
-_02016586:
- ldr r2, [r0, #0x48]
- mov r1, #0x8
- add r3, r2, #0x0
- tst r3, r1
- beq _02016596
- lsl r1, r1, #0x7
- orr r1, r2
- str r1, [r0, #0x48]
-_02016596:
- ldr r1, _02016690 ; =0x021C48B8
- mov r0, #0x8
- ldr r2, [r1, #0x44]
- add r3, r2, #0x0
- tst r3, r0
- beq _020165A8
- lsl r0, r0, #0x7
- orr r0, r2
- str r0, [r1, #0x44]
-_020165A8:
- ldr r1, _02016690 ; =0x021C48B8
- mov r0, #0x8
- ldr r2, [r1, #0x4c]
- add r3, r2, #0x0
- tst r3, r0
- beq _0201668C
- lsl r0, r0, #0x7
- orr r0, r2
- str r0, [r1, #0x4c]
- bx lr
-_020165BC:
- ldr r3, [r0, #0x48]
- mov r0, #0x1
- lsl r0, r0, #0xa
- add r2, r3, #0x0
- mov r1, #0x0
- tst r2, r0
- beq _020165CE
- lsl r0, r0, #0x1
- orr r1, r0
-_020165CE:
- mov r0, #0x2
- lsl r0, r0, #0xa
- add r2, r3, #0x0
- tst r2, r0
- beq _020165DC
- lsr r0, r0, #0x1
- orr r1, r0
-_020165DC:
- ldr r2, _02016690 ; =0x021C48B8
- ldr r0, _02016694 ; =0x0000F3FF
- ldr r3, [r2, #0x48]
- and r0, r3
- orr r0, r1
- str r0, [r2, #0x48]
- ldr r3, [r2, #0x44]
- mov r1, #0x1
- lsl r1, r1, #0xa
- add r2, r3, #0x0
- mov r0, #0x0
- tst r2, r1
- beq _020165FA
- lsl r1, r1, #0x1
- orr r0, r1
-_020165FA:
- mov r1, #0x2
- lsl r1, r1, #0xa
- add r2, r3, #0x0
- tst r2, r1
- beq _02016608
- lsr r1, r1, #0x1
- orr r0, r1
-_02016608:
- ldr r2, _02016690 ; =0x021C48B8
- ldr r1, _02016694 ; =0x0000F3FF
- ldr r3, [r2, #0x44]
- and r1, r3
- orr r0, r1
- str r0, [r2, #0x44]
- ldr r3, [r2, #0x4c]
- mov r1, #0x1
- lsl r1, r1, #0xa
- add r2, r3, #0x0
- mov r0, #0x0
- tst r2, r1
- beq _02016626
- lsl r1, r1, #0x1
- orr r0, r1
-_02016626:
- mov r1, #0x2
- lsl r1, r1, #0xa
- add r2, r3, #0x0
- tst r2, r1
- beq _02016634
- lsr r1, r1, #0x1
- orr r0, r1
-_02016634:
- ldr r2, _02016690 ; =0x021C48B8
- ldr r1, _02016694 ; =0x0000F3FF
- ldr r3, [r2, #0x4c]
- and r1, r3
- orr r0, r1
- str r0, [r2, #0x4c]
- bx lr
-_02016642:
- mov r1, #0x2
- ldr r2, [r0, #0x48]
- lsl r1, r1, #0x8
- tst r1, r2
- beq _02016652
- mov r1, #0x1
- orr r1, r2
- str r1, [r0, #0x48]
-_02016652:
- ldr r1, _02016690 ; =0x021C48B8
- mov r0, #0x2
- ldr r2, [r1, #0x44]
- lsl r0, r0, #0x8
- tst r0, r2
- beq _02016664
- mov r0, #0x1
- orr r0, r2
- str r0, [r1, #0x44]
-_02016664:
- ldr r1, _02016690 ; =0x021C48B8
- mov r0, #0x2
- ldr r2, [r1, #0x4c]
- lsl r0, r0, #0x8
- tst r0, r2
- beq _02016676
- mov r0, #0x1
- orr r0, r2
- str r0, [r1, #0x4c]
-_02016676:
- ldr r1, _02016690 ; =0x021C48B8
- ldr r0, _02016698 ; =0x0000FCFF
- ldr r2, [r1, #0x48]
- and r2, r0
- str r2, [r1, #0x48]
- ldr r2, [r1, #0x44]
- and r2, r0
- str r2, [r1, #0x44]
- ldr r2, [r1, #0x4c]
- and r0, r2
- str r0, [r1, #0x4c]
-_0201668C:
- bx lr
- nop
-_02016690: .word 0x021C48B8
-_02016694: .word 0x0000F3FF
-_02016698: .word 0x0000FCFF
-
- thumb_func_start FUN_0201669C
-FUN_0201669C: ; 0x0201669C
- ldr r2, _020166A4 ; =0x021C48B8
- str r0, [r2, #0x54]
- str r1, [r2, #0x58]
- bx lr
- .balign 4
-_020166A4: .word 0x021C48B8
-
- thumb_func_start FUN_020166A8
-FUN_020166A8: ; 0x020166A8
- ldr r1, _020166B4 ; =0x021C4918
- ldrb r2, [r1, #0x8]
- orr r0, r2
- strb r0, [r1, #0x8]
- bx lr
- nop
-_020166B4: .word 0x021C4918
-
- thumb_func_start FUN_020166B8
-FUN_020166B8: ; 0x020166B8
- ldr r1, _020166C4 ; =0x021C4918
- mvn r0, r0
- ldrb r2, [r1, #0x8]
- and r0, r2
- strb r0, [r1, #0x8]
- bx lr
- .balign 4
-_020166C4: .word 0x021C4918
-
- thumb_func_start FUN_020166C8
-FUN_020166C8: ; 0x020166C8
- push {r3-r7, lr}
- sub sp, #0x8
- add r4, r1, #0x0
- add r5, r0, #0x0
- add r0, r4, #0x0
- str r0, [sp, #0x4]
- add r0, #0x18
- add r6, r2, #0x0
- str r0, [sp, #0x4]
- cmp r6, r0
- bhs _020166E0
- add r6, r0, #0x0
-_020166E0:
- cmp r3, #0x0
- beq _020166FE
- mov r0, #0x3
- tst r0, r3
- beq _020166F4
- mov r0, #0x3
-_020166EC:
- add r3, r3, #0x1
- add r1, r3, #0x0
- tst r1, r0
- bne _020166EC
-_020166F4:
- mov r0, #0x0
- add r1, r3, #0x0
- mov r2, #0x4
- blx OS_AllocFromArenaLo
-_020166FE:
- ldr r1, [sp, #0x4]
- lsl r7, r6, #0x1
- lsl r2, r1, #0x1
- add r1, r1, r2
- add r1, r1, #0x1
- lsl r1, r1, #0x2
- add r1, r7, r1
- mov r0, #0x0
- add r1, r6, r1
- mov r2, #0x4
- blx OS_AllocFromArenaLo
- ldr r1, _020167F0 ; =0x021C4D28
- str r0, [r1, #0x0]
- ldr r1, [sp, #0x4]
- add r1, r1, #0x1
- lsl r1, r1, #0x2
- add r1, r0, r1
- ldr r0, _020167F0 ; =0x021C4D28
- str r1, [r0, #0x4]
- ldr r0, [sp, #0x4]
- lsl r0, r0, #0x2
- add r2, r1, r0
- ldr r1, _020167F0 ; =0x021C4D28
- str r2, [r1, #0x8]
- add r1, r2, r0
- ldr r0, _020167F0 ; =0x021C4D28
- str r1, [r0, #0xc]
- add r1, r1, r7
- str r1, [r0, #0x10]
- strh r6, [r0, #0x14]
- strh r4, [r0, #0x16]
- ldr r0, [sp, #0x4]
- mov r7, #0x0
- lsl r0, r0, #0x10
- lsr r1, r0, #0x10
- ldr r0, _020167F0 ; =0x021C4D28
- cmp r4, #0x0
- strh r1, [r0, #0x1a]
- strh r1, [r0, #0x18]
- bls _020167A0
- str r7, [sp, #0x0]
-_02016752:
- ldr r0, [r5, #0x4]
- cmp r0, #0x0
- beq _0201675C
- cmp r0, #0x2
- beq _02016768
-_0201675C:
- ldr r1, [r5, #0x0]
- mov r0, #0x0
- mov r2, #0x4
- blx OS_AllocFromArenaLo
- b _02016772
-_02016768:
- ldr r1, [r5, #0x0]
- mov r0, #0x2
- mov r2, #0x4
- blx OS_AllocFromArenaHi
-_02016772:
- cmp r0, #0x0
- beq _0201678E
- ldr r1, [r5, #0x0]
- mov r2, #0x0
- blx tempName_NNS_FndCreateExpHeapEx
- ldr r1, _020167F0 ; =0x021C4D28
- ldr r2, [r1, #0x0]
- ldr r1, [sp, #0x0]
- str r0, [r2, r1]
- ldr r0, _020167F0 ; =0x021C4D28
- ldr r0, [r0, #0x10]
- strb r7, [r0, r7]
- b _02016792
-_0201678E:
- bl ErrorHandling
-_02016792:
- ldr r0, [sp, #0x0]
- add r7, r7, #0x1
- add r0, r0, #0x4
- add r5, #0x8
- str r0, [sp, #0x0]
- cmp r7, r4
- blo _02016752
-_020167A0:
- ldr r0, [sp, #0x4]
- add r1, r0, #0x1
- cmp r4, r1
- bhs _020167C0
- ldr r3, _020167F0 ; =0x021C4D28
- lsl r2, r4, #0x2
- mov r0, #0x0
-_020167AE:
- ldr r5, [r3, #0x0]
- str r0, [r5, r2]
- ldrh r7, [r3, #0x1a]
- ldr r5, [r3, #0x10]
- add r2, r2, #0x4
- strb r7, [r5, r4]
- add r4, r4, #0x1
- cmp r4, r1
- blo _020167AE
-_020167C0:
- cmp r4, r6
- bhs _020167D2
- ldr r0, _020167F0 ; =0x021C4D28
-_020167C6:
- ldrh r2, [r0, #0x1a]
- ldr r1, [r0, #0x10]
- strb r2, [r1, r4]
- add r4, r4, #0x1
- cmp r4, r6
- blo _020167C6
-_020167D2:
- mov r4, #0x0
- cmp r6, #0x0
- bls _020167EA
- ldr r0, _020167F0 ; =0x021C4D28
- add r3, r4, #0x0
- add r2, r4, #0x0
-_020167DE:
- ldr r1, [r0, #0xc]
- add r4, r4, #0x1
- strh r2, [r1, r3]
- add r3, r3, #0x2
- cmp r4, r6
- blo _020167DE
-_020167EA:
- add sp, #0x8
- pop {r3-r7, pc}
- nop
-_020167F0: .word 0x021C4D28
-
- thumb_func_start FUN_020167F4
-FUN_020167F4: ; 0x020167F4
- ldr r1, _02016818 ; =0x021C4D28
- ldrh r0, [r1, #0x16]
- ldrh r3, [r1, #0x18]
- cmp r0, r3
- bge _02016812
- ldr r2, [r1, #0x0]
- lsl r1, r0, #0x2
- add r2, r2, r1
-_02016804:
- ldr r1, [r2, #0x0]
- cmp r1, #0x0
- beq _02016816
- add r0, r0, #0x1
- add r2, r2, #0x4
- cmp r0, r3
- blt _02016804
-_02016812:
- mov r0, #0x0
- mvn r0, r0
-_02016816:
- bx lr
- .balign 4
-_02016818: .word 0x021C4D28
-
- thumb_func_start FUN_0201681C
-FUN_0201681C: ; 0x0201681C
- push {r3, lr}
- mov r3, #0x4
- bl FUN_02016834
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_02016828
-FUN_02016828: ; 0x02016828
- push {r3, lr}
- mov r3, #0x3
- mvn r3, r3
- bl FUN_02016834
- pop {r3, pc}
-
- thumb_func_start FUN_02016834
-FUN_02016834: ; 0x02016834
- push {r3-r7, lr}
- sub sp, #0x8
- add r4, r0, #0x0
- add r5, r1, #0x0
- str r2, [sp, #0x0]
- add r7, r3, #0x0
- blx OS_GetProcMode
- cmp r0, #0x12
- bne _0201684C
- bl ErrorHandling
-_0201684C:
- ldr r1, _020168CC ; =0x021C4D28
- ldr r0, [r1, #0x10]
- ldrh r3, [r1, #0x1a]
- ldrb r2, [r0, r5]
- cmp r3, r2
- bne _020168C2
- ldrb r0, [r0, r4]
- ldr r1, [r1, #0x0]
- lsl r0, r0, #0x2
- ldr r6, [r1, r0]
- cmp r6, #0x0
- beq _020168BC
- ldr r1, [sp, #0x0]
- add r0, r6, #0x0
- add r2, r7, #0x0
- blx tempName_NNS_FndAllocFromExpHeapEx
- str r0, [sp, #0x4]
- cmp r0, #0x0
- beq _020168B6
- bl FUN_020167F4
- add r7, r0, #0x0
- bmi _020168B0
- ldr r0, [sp, #0x4]
- ldr r1, [sp, #0x0]
- mov r2, #0x0
- lsl r4, r7, #0x2
- blx tempName_NNS_FndCreateExpHeapEx
- ldr r1, _020168CC ; =0x021C4D28
- ldr r2, [r1, #0x0]
- str r0, [r2, r4]
- ldr r0, [r1, #0x0]
- ldr r0, [r0, r4]
- cmp r0, #0x0
- beq _020168AA
- ldr r0, [r1, #0x4]
- str r6, [r0, r4]
- ldr r0, [sp, #0x4]
- ldr r2, [r1, #0x8]
- add sp, #0x8
- str r0, [r2, r4]
- ldr r0, [r1, #0x10]
- strb r7, [r0, r5]
- mov r0, #0x1
- pop {r3-r7, pc}
-_020168AA:
- bl ErrorHandling
- b _020168C6
-_020168B0:
- bl ErrorHandling
- b _020168C6
-_020168B6:
- bl ErrorHandling
- b _020168C6
-_020168BC:
- bl ErrorHandling
- b _020168C6
-_020168C2:
- bl ErrorHandling
-_020168C6:
- mov r0, #0x0
- add sp, #0x8
- pop {r3-r7, pc}
- .balign 4
-_020168CC: .word 0x021C4D28
-
- thumb_func_start FUN_020168D0
-FUN_020168D0: ; 0x020168D0
- push {r4, lr}
- add r4, r0, #0x0
- blx OS_GetProcMode
- cmp r0, #0x12
- bne _020168E0
- bl ErrorHandling
-_020168E0:
- ldr r0, _02016940 ; =0x021C4D28
- ldr r1, [r0, #0x0]
- ldr r0, [r0, #0x10]
- ldrb r0, [r0, r4]
- lsl r0, r0, #0x2
- ldr r0, [r1, r0]
- cmp r0, #0x0
- beq _0201693E
- blx thunk_FUN_020adc8c
- ldr r1, _02016940 ; =0x021C4D28
- ldr r0, [r1, #0x10]
- ldrb r0, [r0, r4]
- lsl r2, r0, #0x2
- ldr r0, [r1, #0x4]
- ldr r1, [r1, #0x8]
- ldr r0, [r0, r2]
- ldr r1, [r1, r2]
- cmp r0, #0x0
- beq _02016912
- cmp r1, #0x0
- beq _02016912
- blx FUN_020ADDF0
- b _02016916
-_02016912:
- bl ErrorHandling
-_02016916:
- ldr r1, _02016940 ; =0x021C4D28
- mov r0, #0x0
- ldr r2, [r1, #0x10]
- ldr r3, [r1, #0x0]
- ldrb r2, [r2, r4]
- lsl r2, r2, #0x2
- str r0, [r3, r2]
- ldr r2, [r1, #0x10]
- ldr r3, [r1, #0x4]
- ldrb r2, [r2, r4]
- lsl r2, r2, #0x2
- str r0, [r3, r2]
- ldr r2, [r1, #0x10]
- ldr r3, [r1, #0x8]
- ldrb r2, [r2, r4]
- lsl r2, r2, #0x2
- str r0, [r3, r2]
- ldrh r2, [r1, #0x1a]
- ldr r0, [r1, #0x10]
- strb r2, [r0, r4]
-_0201693E:
- pop {r4, pc}
- .balign 4
-_02016940: .word 0x021C4D28
-
- thumb_func_start FUN_02016944
-FUN_02016944: ; 0x02016944
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- add r7, r2, #0x0
- add r6, r3, #0x0
- cmp r5, #0x0
- bne _02016956
- bl ErrorHandling
-_02016956:
- blx OS_DisableInterrupts
- add r4, #0x10
- str r0, [sp, #0x0]
- add r0, r5, #0x0
- add r1, r4, #0x0
- add r2, r7, #0x0
- blx tempName_NNS_FndAllocFromExpHeapEx
- add r4, r0, #0x0
- ldr r0, [sp, #0x0]
- blx OS_RestoreInterrupts
- cmp r4, #0x0
- beq _02016984
- ldr r1, [r4, #0xc]
- mov r0, #0xff
- bic r1, r0
- lsl r0, r6, #0x18
- lsr r0, r0, #0x18
- orr r0, r1
- str r0, [r4, #0xc]
- add r4, #0x10
-_02016984:
- add r0, r4, #0x0
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02016988
-FUN_02016988: ; 0x02016988
- push {r3, lr}
- bl FUN_02031810
- cmp r0, #0x0
- beq _02016996
- bl FUN_0208A9B8
-_02016996:
- pop {r3, pc}
-
- thumb_func_start FUN_02016998
-FUN_02016998: ; 0x02016998
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r0, _020169D4 ; =0x021C4D28
- mov r4, #0x0
- ldrh r2, [r0, #0x14]
- cmp r5, r2
- bhs _020169BA
- ldr r2, [r0, #0x0]
- ldr r0, [r0, #0x10]
- add r3, r5, #0x0
- ldrb r0, [r0, r5]
- lsl r0, r0, #0x2
- ldr r0, [r2, r0]
- mov r2, #0x4
- bl FUN_02016944
- add r4, r0, #0x0
-_020169BA:
- cmp r4, #0x0
- beq _020169CC
- ldr r0, _020169D4 ; =0x021C4D28
- lsl r1, r5, #0x1
- ldr r2, [r0, #0xc]
- ldrh r0, [r2, r1]
- add r0, r0, #0x1
- strh r0, [r2, r1]
- b _020169D0
-_020169CC:
- bl FUN_02016988
-_020169D0:
- add r0, r4, #0x0
- pop {r3-r5, pc}
- .balign 4
-_020169D4: .word 0x021C4D28
-
- thumb_func_start FUN_020169D8
-FUN_020169D8: ; 0x020169D8
- push {r3-r5, lr}
- ldr r2, _02016A14 ; =0x021C4D28
- add r5, r0, #0x0
- ldrh r0, [r2, #0x14]
- mov r4, #0x0
- cmp r5, r0
- bhs _020169FA
- ldr r0, [r2, #0x0]
- ldr r2, [r2, #0x10]
- add r3, r5, #0x0
- ldrb r2, [r2, r5]
- lsl r2, r2, #0x2
- ldr r0, [r0, r2]
- sub r2, r4, #0x4
- bl FUN_02016944
- add r4, r0, #0x0
-_020169FA:
- cmp r4, #0x0
- beq _02016A0C
- ldr r0, _02016A14 ; =0x021C4D28
- lsl r1, r5, #0x1
- ldr r2, [r0, #0xc]
- ldrh r0, [r2, r1]
- add r0, r0, #0x1
- strh r0, [r2, r1]
- b _02016A10
-_02016A0C:
- bl FUN_02016988
-_02016A10:
- add r0, r4, #0x0
- pop {r3-r5, pc}
- .balign 4
-_02016A14: .word 0x021C4D28
-
- thumb_func_start FUN_02016A18
-FUN_02016A18: ; 0x02016A18
- push {r3-r7, lr}
- add r6, r0, #0x0
- sub r0, r6, #0x4
- ldr r0, [r0, #0x0]
- lsl r0, r0, #0x18
- lsr r4, r0, #0x18
- ldr r0, _02016A88 ; =0x021C4D28
- ldrh r1, [r0, #0x14]
- cmp r4, r1
- bhs _02016A80
- ldr r1, [r0, #0x0]
- ldr r0, [r0, #0x10]
- ldrb r0, [r0, r4]
- lsl r0, r0, #0x2
- ldr r7, [r1, r0]
- cmp r7, #0x0
- bne _02016A3E
- bl ErrorHandling
-_02016A3E:
- ldr r0, _02016A88 ; =0x021C4D28
- lsl r5, r4, #0x1
- ldr r0, [r0, #0xc]
- ldrh r0, [r0, r5]
- cmp r0, #0x0
- bne _02016A50
- add r0, r4, #0x0
- bl FUN_02016B90
-_02016A50:
- ldr r0, _02016A88 ; =0x021C4D28
- ldr r0, [r0, #0xc]
- ldrh r0, [r0, r5]
- cmp r0, #0x0
- bne _02016A5E
- bl ErrorHandling
-_02016A5E:
- ldr r0, _02016A88 ; =0x021C4D28
- ldr r1, [r0, #0xc]
- ldrh r0, [r1, r5]
- sub r0, r0, #0x1
- strh r0, [r1, r5]
- blx OS_DisableInterrupts
- sub r6, #0x10
- add r4, r0, #0x0
- add r0, r7, #0x0
- add r1, r6, #0x0
- blx FUN_020ADDF0
- add r0, r4, #0x0
- blx OS_RestoreInterrupts
- pop {r3-r7, pc}
-_02016A80:
- bl ErrorHandling
- pop {r3-r7, pc}
- nop
-_02016A88: .word 0x021C4D28
-
- thumb_func_start FUN_02016A8C
-FUN_02016A8C: ; 0x02016A8C
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- blx OS_GetProcMode
- cmp r0, #0x12
- bne _02016A9E
- bl ErrorHandling
-_02016A9E:
- ldr r0, _02016AF4 ; =0x021C4D28
- ldrh r1, [r0, #0x14]
- cmp r5, r1
- bhs _02016AEE
- ldr r1, [r0, #0x0]
- ldr r0, [r0, #0x10]
- ldrb r0, [r0, r5]
- lsl r0, r0, #0x2
- ldr r6, [r1, r0]
- cmp r6, #0x0
- bne _02016AB8
- bl ErrorHandling
-_02016AB8:
- sub r0, r4, #0x4
- ldr r0, [r0, #0x0]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- cmp r0, r5
- beq _02016AC8
- bl ErrorHandling
-_02016AC8:
- sub r4, #0x10
- add r0, r6, #0x0
- add r1, r4, #0x0
- blx FUN_020ADDF0
- ldr r0, _02016AF4 ; =0x021C4D28
- lsl r4, r5, #0x1
- ldr r0, [r0, #0xc]
- ldrh r0, [r0, r4]
- cmp r0, #0x0
- bne _02016AE2
- bl ErrorHandling
-_02016AE2:
- ldr r0, _02016AF4 ; =0x021C4D28
- ldr r1, [r0, #0xc]
- ldrh r0, [r1, r4]
- sub r0, r0, #0x1
- strh r0, [r1, r4]
- pop {r4-r6, pc}
-_02016AEE:
- bl ErrorHandling
- pop {r4-r6, pc}
- .balign 4
-_02016AF4: .word 0x021C4D28
-
- thumb_func_start FUN_02016AF8
-FUN_02016AF8: ; 0x02016AF8
- push {r3, lr}
- ldr r1, _02016B1C ; =0x021C4D28
- ldrh r2, [r1, #0x14]
- cmp r0, r2
- bhs _02016B12
- ldr r2, [r1, #0x0]
- ldr r1, [r1, #0x10]
- ldrb r0, [r1, r0]
- lsl r0, r0, #0x2
- ldr r0, [r2, r0]
- blx FUN_020ADDC8
- pop {r3, pc}
-_02016B12:
- bl ErrorHandling
- mov r0, #0x0
- pop {r3, pc}
- nop
-_02016B1C: .word 0x021C4D28
-
- thumb_func_start FUN_02016B20
-FUN_02016B20: ; 0x02016B20
- push {r4, lr}
- ldr r4, _02016B40 ; =0x021C4D28
- ldrh r3, [r4, #0x14]
- cmp r1, r3
- bhs _02016B3A
- ldr r3, [r4, #0x0]
- ldr r4, [r4, #0x10]
- ldrb r1, [r4, r1]
- lsl r1, r1, #0x2
- ldr r1, [r3, r1]
- blx FUN_020AE82C
- pop {r4, pc}
-_02016B3A:
- bl ErrorHandling
- pop {r4, pc}
- .balign 4
-_02016B40: .word 0x021C4D28
-
- thumb_func_start FUN_02016B44
-FUN_02016B44: ; 0x02016B44
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- blx OS_GetProcMode
- cmp r0, #0x12
- bne _02016B56
- bl ErrorHandling
-_02016B56:
- add r0, r5, #0x0
- sub r0, #0x10
- blx FUN_020ADDC0
- add r4, #0x10
- cmp r0, r4
- blo _02016B84
- sub r2, r5, #0x4
- ldr r0, _02016B8C ; =0x021C4D28
- ldr r2, [r2, #0x0]
- ldr r1, [r0, #0x0]
- lsl r2, r2, #0x18
- ldr r0, [r0, #0x10]
- lsr r2, r2, #0x18
- ldrb r0, [r0, r2]
- sub r5, #0x10
- add r2, r4, #0x0
- lsl r0, r0, #0x2
- ldr r0, [r1, r0]
- add r1, r5, #0x0
- blx FUN_020ADE2C
- pop {r3-r5, pc}
-_02016B84:
- bl ErrorHandling
- pop {r3-r5, pc}
- nop
-_02016B8C: .word 0x021C4D28
-
- thumb_func_start FUN_02016B90
-FUN_02016B90: ; 0x02016B90
- mov r0, #0x1
- bx lr
-
- thumb_func_start FUN_02016B94
-FUN_02016B94: ; 0x02016B94
- push {r3-r5, lr}
- mov r1, #0x5a
- lsl r1, r1, #0x2
- add r5, r0, #0x0
- bl FUN_02016998
- mov r2, #0x5a
- mov r1, #0x0
- lsl r2, r2, #0x2
- add r4, r0, #0x0
- blx Call_FillMemWithValue
- str r5, [r4, #0x0]
- mov r0, #0x0
- strh r0, [r4, #0x4]
- strh r0, [r4, #0x6]
- add r0, r4, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02016BB8
-FUN_02016BB8: ; 0x02016BB8
- ldr r0, [r0, #0x0]
- bx lr
-
- thumb_func_start FUN_02016BBC
-FUN_02016BBC: ; 0x02016BBC
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- ldr r1, [r4, #0x4]
- ldr r2, [r4, #0xc]
- blx GX_SetGraphicsMode
- ldr r0, [r4, #0x8]
- blx GXS_SetGraphicsMode
- mov r2, #0x1
- lsl r2, r2, #0x1a
- ldr r1, [r2, #0x0]
- ldr r0, _02016BF0 ; =0xC7FFFFFF
- and r1, r0
- str r1, [r2, #0x0]
- ldr r1, [r2, #0x0]
- asr r0, r0, #0x3
- and r0, r1
- str r0, [r2, #0x0]
- bl FUN_0201E6D8
- bl FUN_0201E740
- pop {r4, pc}
- nop
-_02016BF0: .word 0xC7FFFFFF
-
- thumb_func_start FUN_02016BF4
-FUN_02016BF4: ; 0x02016BF4
- push {r3, lr}
- add r2, r0, #0x0
- cmp r1, #0x0
- bne _02016C0C
- ldr r0, [r2, #0x0]
- ldr r1, [r2, #0x4]
- ldr r2, [r2, #0xc]
- blx GX_SetGraphicsMode
- bl FUN_0201E6D8
- pop {r3, pc}
-_02016C0C:
- ldr r0, [r2, #0x8]
- blx GXS_SetGraphicsMode
- bl FUN_0201E740
- pop {r3, pc}
-
- thumb_func_start FUN_02016C18
-FUN_02016C18: ; 0x02016C18
- push {r3-r7, lr}
- sub sp, #0x18
- str r1, [sp, #0x4]
- str r3, [sp, #0x8]
- add r4, r2, #0x0
- str r0, [sp, #0x0]
- ldrb r0, [r4, #0x10]
- ldr r1, [sp, #0x8]
- bl FUN_020177DC
- add r5, r0, #0x0
- ldr r0, [sp, #0x4]
- cmp r0, #0x7
- bls _02016C36
- b _0201705A
-_02016C36:
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_02016C42: ; jump table (using 16-bit offset)
- .short _02016C52 - _02016C42 - 2; case 0
- .short _02016CAA - _02016C42 - 2; case 1
- .short _02016D02 - _02016C42 - 2; case 2
- .short _02016DA4 - _02016C42 - 2; case 3
- .short _02016E46 - _02016C42 - 2; case 4
- .short _02016E9E - _02016C42 - 2; case 5
- .short _02016EF6 - _02016C42 - 2; case 6
- .short _02016F98 - _02016C42 - 2; case 7
-_02016C52:
- mov r0, #0x1
- add r1, r0, #0x0
- bl FUN_0201E6E4
- ldrb r3, [r4, #0x14]
- ldrb r1, [r4, #0x12]
- ldrb r0, [r4, #0x11]
- ldrb r2, [r4, #0x13]
- lsl r6, r3, #0xd
- lsl r0, r0, #0x7
- lsl r3, r2, #0x2
- str r0, [sp, #0xc]
- ldr r2, _02016FB4 ; =0x04000008
- lsl r7, r1, #0x8
- ldrh r1, [r2, #0x0]
- mov r0, #0x43
- and r0, r1
- lsl r1, r5, #0xe
- orr r1, r0
- ldr r0, [sp, #0xc]
- orr r0, r1
- orr r0, r7
- orr r0, r3
- orr r0, r6
- strh r0, [r2, #0x0]
- ldrh r1, [r2, #0x0]
- mov r0, #0x3
- bic r1, r0
- ldrb r0, [r4, #0x15]
- orr r0, r1
- strh r0, [r2, #0x0]
- ldr r0, [r4, #0x18]
- cmp r0, #0x0
- beq _02016CA0
- ldrh r1, [r2, #0x0]
- mov r0, #0x40
- orr r0, r1
- strh r0, [r2, #0x0]
- b _0201705A
-_02016CA0:
- ldrh r1, [r2, #0x0]
- mov r0, #0x40
- bic r1, r0
- strh r1, [r2, #0x0]
- b _0201705A
-_02016CAA:
- mov r0, #0x2
- mov r1, #0x1
- bl FUN_0201E6E4
- ldrb r3, [r4, #0x14]
- ldrb r1, [r4, #0x12]
- ldrb r0, [r4, #0x11]
- ldrb r2, [r4, #0x13]
- lsl r6, r3, #0xd
- lsl r0, r0, #0x7
- lsl r3, r2, #0x2
- str r0, [sp, #0x10]
- ldr r2, _02016FB8 ; =0x0400000A
- lsl r7, r1, #0x8
- ldrh r1, [r2, #0x0]
- mov r0, #0x43
- and r0, r1
- lsl r1, r5, #0xe
- orr r1, r0
- ldr r0, [sp, #0x10]
- orr r0, r1
- orr r0, r7
- orr r0, r3
- orr r0, r6
- strh r0, [r2, #0x0]
- ldrh r1, [r2, #0x0]
- mov r0, #0x3
- bic r1, r0
- ldrb r0, [r4, #0x15]
- orr r0, r1
- strh r0, [r2, #0x0]
- ldr r0, [r4, #0x18]
- cmp r0, #0x0
- beq _02016CF8
- ldrh r1, [r2, #0x0]
- mov r0, #0x40
- orr r0, r1
- strh r0, [r2, #0x0]
- b _0201705A
-_02016CF8:
- ldrh r1, [r2, #0x0]
- mov r0, #0x40
- bic r1, r0
- strh r1, [r2, #0x0]
- b _0201705A
-_02016D02:
- mov r0, #0x4
- mov r1, #0x1
- bl FUN_0201E6E4
- ldr r0, [sp, #0x8]
- cmp r0, #0x0
- beq _02016D18
- cmp r0, #0x1
- beq _02016D3A
- cmp r0, #0x2
- beq _02016D5C
-_02016D18:
- ldrb r1, [r4, #0x12]
- ldr r7, _02016FBC ; =0x0400000C
- ldrb r2, [r4, #0x13]
- lsl r3, r1, #0x8
- ldrb r0, [r4, #0x11]
- lsl r6, r2, #0x2
- ldrh r1, [r7, #0x0]
- lsl r2, r0, #0x7
- mov r0, #0x43
- and r0, r1
- lsl r1, r5, #0xe
- orr r0, r1
- orr r0, r2
- orr r0, r3
- orr r0, r6
- strh r0, [r7, #0x0]
- b _02016D7C
-_02016D3A:
- ldrb r2, [r4, #0x13]
- ldrb r1, [r4, #0x12]
- ldrb r0, [r4, #0x16]
- lsl r3, r2, #0x2
- ldr r7, _02016FBC ; =0x0400000C
- lsl r2, r1, #0x8
- lsl r6, r0, #0xd
- ldrh r1, [r7, #0x0]
- mov r0, #0x43
- and r0, r1
- lsl r1, r5, #0xe
- orr r0, r1
- orr r0, r2
- orr r0, r3
- orr r0, r6
- strh r0, [r7, #0x0]
- b _02016D7C
-_02016D5C:
- ldrb r1, [r4, #0x12]
- ldr r7, _02016FBC ; =0x0400000C
- ldrb r0, [r4, #0x16]
- lsl r3, r1, #0x8
- ldrb r2, [r4, #0x13]
- lsl r6, r0, #0xd
- ldrh r1, [r7, #0x0]
- mov r0, #0x43
- lsl r2, r2, #0x2
- and r0, r1
- lsl r1, r5, #0xe
- orr r0, r1
- orr r0, r2
- orr r0, r3
- orr r0, r6
- strh r0, [r7, #0x0]
-_02016D7C:
- ldr r0, _02016FBC ; =0x0400000C
- mov r1, #0x3
- ldrh r2, [r0, #0x0]
- bic r2, r1
- ldrb r1, [r4, #0x15]
- orr r1, r2
- strh r1, [r0, #0x0]
- ldr r1, [r4, #0x18]
- cmp r1, #0x0
- beq _02016D9A
- ldrh r2, [r0, #0x0]
- mov r1, #0x40
- orr r1, r2
- strh r1, [r0, #0x0]
- b _0201705A
-_02016D9A:
- ldrh r2, [r0, #0x0]
- mov r1, #0x40
- bic r2, r1
- strh r2, [r0, #0x0]
- b _0201705A
-_02016DA4:
- mov r0, #0x8
- mov r1, #0x1
- bl FUN_0201E6E4
- ldr r0, [sp, #0x8]
- cmp r0, #0x0
- beq _02016DBA
- cmp r0, #0x1
- beq _02016DDC
- cmp r0, #0x2
- beq _02016DFE
-_02016DBA:
- ldrb r1, [r4, #0x12]
- ldr r7, _02016FC0 ; =0x0400000E
- ldrb r2, [r4, #0x13]
- lsl r3, r1, #0x8
- ldrb r0, [r4, #0x11]
- lsl r6, r2, #0x2
- ldrh r1, [r7, #0x0]
- lsl r2, r0, #0x7
- mov r0, #0x43
- and r0, r1
- lsl r1, r5, #0xe
- orr r0, r1
- orr r0, r2
- orr r0, r3
- orr r0, r6
- strh r0, [r7, #0x0]
- b _02016E1E
-_02016DDC:
- ldrb r2, [r4, #0x13]
- ldrb r1, [r4, #0x12]
- ldrb r0, [r4, #0x16]
- lsl r3, r2, #0x2
- ldr r7, _02016FC0 ; =0x0400000E
- lsl r2, r1, #0x8
- lsl r6, r0, #0xd
- ldrh r1, [r7, #0x0]
- mov r0, #0x43
- and r0, r1
- lsl r1, r5, #0xe
- orr r0, r1
- orr r0, r2
- orr r0, r3
- orr r0, r6
- strh r0, [r7, #0x0]
- b _02016E1E
-_02016DFE:
- ldrb r1, [r4, #0x12]
- ldr r7, _02016FC0 ; =0x0400000E
- ldrb r0, [r4, #0x16]
- lsl r3, r1, #0x8
- ldrb r2, [r4, #0x13]
- lsl r6, r0, #0xd
- ldrh r1, [r7, #0x0]
- mov r0, #0x43
- lsl r2, r2, #0x2
- and r0, r1
- lsl r1, r5, #0xe
- orr r0, r1
- orr r0, r2
- orr r0, r3
- orr r0, r6
- strh r0, [r7, #0x0]
-_02016E1E:
- ldr r0, _02016FC0 ; =0x0400000E
- mov r1, #0x3
- ldrh r2, [r0, #0x0]
- bic r2, r1
- ldrb r1, [r4, #0x15]
- orr r1, r2
- strh r1, [r0, #0x0]
- ldr r1, [r4, #0x18]
- cmp r1, #0x0
- beq _02016E3C
- ldrh r2, [r0, #0x0]
- mov r1, #0x40
- orr r1, r2
- strh r1, [r0, #0x0]
- b _0201705A
-_02016E3C:
- ldrh r2, [r0, #0x0]
- mov r1, #0x40
- bic r2, r1
- strh r2, [r0, #0x0]
- b _0201705A
-_02016E46:
- mov r0, #0x1
- add r1, r0, #0x0
- bl FUN_0201E74C
- ldrb r3, [r4, #0x14]
- ldrb r1, [r4, #0x12]
- ldrb r0, [r4, #0x11]
- ldrb r2, [r4, #0x13]
- lsl r6, r3, #0xd
- lsl r0, r0, #0x7
- lsl r3, r2, #0x2
- str r0, [sp, #0x14]
- ldr r2, _02016FC4 ; =0x04001008
- lsl r7, r1, #0x8
- ldrh r1, [r2, #0x0]
- mov r0, #0x43
- and r0, r1
- lsl r1, r5, #0xe
- orr r1, r0
- ldr r0, [sp, #0x14]
- orr r0, r1
- orr r0, r7
- orr r0, r3
- orr r0, r6
- strh r0, [r2, #0x0]
- ldrh r1, [r2, #0x0]
- mov r0, #0x3
- bic r1, r0
- ldrb r0, [r4, #0x15]
- orr r0, r1
- strh r0, [r2, #0x0]
- ldr r0, [r4, #0x18]
- cmp r0, #0x0
- beq _02016E94
- ldrh r1, [r2, #0x0]
- mov r0, #0x40
- orr r0, r1
- strh r0, [r2, #0x0]
- b _0201705A
-_02016E94:
- ldrh r1, [r2, #0x0]
- mov r0, #0x40
- bic r1, r0
- strh r1, [r2, #0x0]
- b _0201705A
-_02016E9E:
- mov r0, #0x2
- mov r1, #0x1
- bl FUN_0201E74C
- ldrb r2, [r4, #0x13]
- ldrb r1, [r4, #0x12]
- ldrb r0, [r4, #0x11]
- lsl r6, r2, #0x2
- ldrb r3, [r4, #0x14]
- lsl r0, r0, #0x7
- mov r12, r0
- ldr r2, _02016FC8 ; =0x0400100A
- lsl r7, r1, #0x8
- ldrh r1, [r2, #0x0]
- mov r0, #0x43
- lsl r3, r3, #0xd
- and r0, r1
- lsl r1, r5, #0xe
- orr r0, r1
- mov r1, r12
- orr r0, r1
- orr r0, r7
- orr r0, r6
- orr r0, r3
- strh r0, [r2, #0x0]
- ldrh r1, [r2, #0x0]
- mov r0, #0x3
- bic r1, r0
- ldrb r0, [r4, #0x15]
- orr r0, r1
- strh r0, [r2, #0x0]
- ldr r0, [r4, #0x18]
- cmp r0, #0x0
- beq _02016EEC
- ldrh r1, [r2, #0x0]
- mov r0, #0x40
- orr r0, r1
- strh r0, [r2, #0x0]
- b _0201705A
-_02016EEC:
- ldrh r1, [r2, #0x0]
- mov r0, #0x40
- bic r1, r0
- strh r1, [r2, #0x0]
- b _0201705A
-_02016EF6:
- mov r0, #0x4
- mov r1, #0x1
- bl FUN_0201E74C
- ldr r0, [sp, #0x8]
- cmp r0, #0x0
- beq _02016F0C
- cmp r0, #0x1
- beq _02016F2E
- cmp r0, #0x2
- beq _02016F50
-_02016F0C:
- ldrb r1, [r4, #0x12]
- ldr r7, _02016FCC ; =0x0400100C
- ldrb r2, [r4, #0x13]
- lsl r3, r1, #0x8
- ldrb r0, [r4, #0x11]
- lsl r6, r2, #0x2
- ldrh r1, [r7, #0x0]
- lsl r2, r0, #0x7
- mov r0, #0x43
- and r0, r1
- lsl r1, r5, #0xe
- orr r0, r1
- orr r0, r2
- orr r0, r3
- orr r0, r6
- strh r0, [r7, #0x0]
- b _02016F70
-_02016F2E:
- ldrb r2, [r4, #0x13]
- ldrb r1, [r4, #0x12]
- ldrb r0, [r4, #0x16]
- lsl r3, r2, #0x2
- ldr r7, _02016FCC ; =0x0400100C
- lsl r2, r1, #0x8
- lsl r6, r0, #0xd
- ldrh r1, [r7, #0x0]
- mov r0, #0x43
- and r0, r1
- lsl r1, r5, #0xe
- orr r0, r1
- orr r0, r2
- orr r0, r3
- orr r0, r6
- strh r0, [r7, #0x0]
- b _02016F70
-_02016F50:
- ldrb r1, [r4, #0x12]
- ldr r7, _02016FCC ; =0x0400100C
- ldrb r0, [r4, #0x16]
- lsl r3, r1, #0x8
- ldrb r2, [r4, #0x13]
- lsl r6, r0, #0xd
- ldrh r1, [r7, #0x0]
- mov r0, #0x43
- lsl r2, r2, #0x2
- and r0, r1
- lsl r1, r5, #0xe
- orr r0, r1
- orr r0, r2
- orr r0, r3
- orr r0, r6
- strh r0, [r7, #0x0]
-_02016F70:
- ldr r0, _02016FCC ; =0x0400100C
- mov r1, #0x3
- ldrh r2, [r0, #0x0]
- bic r2, r1
- ldrb r1, [r4, #0x15]
- orr r1, r2
- strh r1, [r0, #0x0]
- ldr r1, [r4, #0x18]
- cmp r1, #0x0
- beq _02016F8E
- ldrh r2, [r0, #0x0]
- mov r1, #0x40
- orr r1, r2
- strh r1, [r0, #0x0]
- b _0201705A
-_02016F8E:
- ldrh r2, [r0, #0x0]
- mov r1, #0x40
- bic r2, r1
- strh r2, [r0, #0x0]
- b _0201705A
-_02016F98:
- mov r0, #0x8
- mov r1, #0x1
- bl FUN_0201E74C
- ldr r0, [sp, #0x8]
- cmp r0, #0x0
- beq _02016FAE
- cmp r0, #0x1
- beq _02016FF2
- cmp r0, #0x2
- beq _02017014
-_02016FAE:
- ldrb r1, [r4, #0x12]
- ldr r7, _02016FD0 ; =0x0400100E
- b _02016FD4
- .balign 4
-_02016FB4: .word 0x04000008
-_02016FB8: .word 0x0400000A
-_02016FBC: .word 0x0400000C
-_02016FC0: .word 0x0400000E
-_02016FC4: .word 0x04001008
-_02016FC8: .word 0x0400100A
-_02016FCC: .word 0x0400100C
-_02016FD0: .word 0x0400100E
-_02016FD4:
- ldrb r2, [r4, #0x13]
- lsl r3, r1, #0x8
- ldrb r0, [r4, #0x11]
- lsl r6, r2, #0x2
- ldrh r1, [r7, #0x0]
- lsl r2, r0, #0x7
- mov r0, #0x43
- and r0, r1
- lsl r1, r5, #0xe
- orr r0, r1
- orr r0, r2
- orr r0, r3
- orr r0, r6
- strh r0, [r7, #0x0]
- b _02017034
-_02016FF2:
- ldrb r2, [r4, #0x13]
- ldrb r1, [r4, #0x12]
- ldrb r0, [r4, #0x16]
- lsl r3, r2, #0x2
- ldr r7, _020170F0 ; =0x0400100E
- lsl r2, r1, #0x8
- lsl r6, r0, #0xd
- ldrh r1, [r7, #0x0]
- mov r0, #0x43
- and r0, r1
- lsl r1, r5, #0xe
- orr r0, r1
- orr r0, r2
- orr r0, r3
- orr r0, r6
- strh r0, [r7, #0x0]
- b _02017034
-_02017014:
- ldrb r1, [r4, #0x12]
- ldr r7, _020170F0 ; =0x0400100E
- ldrb r0, [r4, #0x16]
- lsl r3, r1, #0x8
- ldrb r2, [r4, #0x13]
- lsl r6, r0, #0xd
- ldrh r1, [r7, #0x0]
- mov r0, #0x43
- lsl r2, r2, #0x2
- and r0, r1
- lsl r1, r5, #0xe
- orr r0, r1
- orr r0, r2
- orr r0, r3
- orr r0, r6
- strh r0, [r7, #0x0]
-_02017034:
- ldr r0, _020170F0 ; =0x0400100E
- mov r1, #0x3
- ldrh r2, [r0, #0x0]
- bic r2, r1
- ldrb r1, [r4, #0x15]
- orr r1, r2
- strh r1, [r0, #0x0]
- ldr r1, [r4, #0x18]
- cmp r1, #0x0
- beq _02017052
- ldrh r2, [r0, #0x0]
- mov r1, #0x40
- orr r1, r2
- strh r1, [r0, #0x0]
- b _0201705A
-_02017052:
- ldrh r2, [r0, #0x0]
- mov r1, #0x40
- bic r2, r1
- strh r2, [r0, #0x0]
-_0201705A:
- ldr r0, [sp, #0x4]
- mov r1, #0x2c
- add r5, r0, #0x0
- ldr r0, [sp, #0x0]
- mul r5, r1
- add r2, r0, r5
- mov r3, #0x0
- mov r0, #0x1
- strh r3, [r2, #0x20]
- lsl r0, r0, #0xc
- str r0, [r2, #0x24]
- str r0, [r2, #0x28]
- str r3, [r2, #0x2c]
- str r3, [r2, #0x30]
- ldr r1, [r4, #0x8]
- cmp r1, #0x0
- beq _020170A2
- ldr r0, [sp, #0x0]
- ldr r6, [sp, #0x0]
- ldr r0, [r0, #0x0]
- add r6, #0x8
- bl FUN_02016998
- str r0, [r6, r5]
- ldr r1, [r6, r5]
- ldr r2, [r4, #0x8]
- mov r0, #0x0
- blx MIi_CpuClear16
- ldr r0, [sp, #0x0]
- ldr r2, [r4, #0x8]
- add r1, r0, r5
- str r2, [r1, #0xc]
- ldr r0, [r4, #0xc]
- str r0, [r1, #0x10]
- b _020170A8
-_020170A2:
- str r3, [r2, #0x8]
- str r3, [r2, #0xc]
- str r3, [r2, #0x10]
-_020170A8:
- ldr r0, [sp, #0x0]
- ldrb r1, [r4, #0x10]
- add r0, r0, r5
- strb r1, [r0, #0x1d]
- ldr r1, [sp, #0x8]
- strb r1, [r0, #0x1c]
- ldrb r1, [r4, #0x11]
- strb r1, [r0, #0x1e]
- ldr r1, [sp, #0x8]
- cmp r1, #0x0
- bne _020170CA
- ldrb r1, [r4, #0x11]
- cmp r1, #0x0
- bne _020170CA
- mov r1, #0x20
- strb r1, [r0, #0x1f]
- b _020170D2
-_020170CA:
- ldr r0, [sp, #0x0]
- mov r1, #0x40
- add r0, r0, r5
- strb r1, [r0, #0x1f]
-_020170D2:
- ldr r0, [sp, #0x0]
- ldr r1, [sp, #0x4]
- ldr r3, [r4, #0x0]
- mov r2, #0x0
- bl FUN_020179E0
- ldr r0, [sp, #0x0]
- ldr r1, [sp, #0x4]
- ldr r3, [r4, #0x4]
- mov r2, #0x3
- bl FUN_020179E0
- add sp, #0x18
- pop {r3-r7, pc}
- nop
-_020170F0: .word 0x0400100E
-
- thumb_func_start FUN_020170F4
-FUN_020170F4: ; 0x020170F4
- push {r3-r7, lr}
- sub sp, #0x20
- add r4, r1, #0x0
- add r5, r0, #0x0
- add r1, r2, #0x0
- add r0, r3, #0x0
- cmp r1, #0x0
- bne _0201710C
- mov r2, #0x2c
- mul r2, r4
- add r2, r5, r2
- strb r0, [r2, #0x1e]
-_0201710C:
- cmp r4, #0x7
- bls _02017112
- b _020177C4
-_02017112:
- add r2, r4, r4
- add r2, pc
- ldrh r2, [r2, #0x6]
- lsl r2, r2, #0x10
- asr r2, r2, #0x10
- add pc, r2
-_0201711E: ; jump table (using 16-bit offset)
- .short _0201712E - _0201711E - 2; case 0
- .short _0201719A - _0201711E - 2; case 1
- .short _02017206 - _0201711E - 2; case 2
- .short _0201733A - _0201711E - 2; case 3
- .short _0201746E - _0201711E - 2; case 4
- .short _020174F4 - _0201711E - 2; case 5
- .short _02017560 - _0201711E - 2; case 6
- .short _02017694 - _0201711E - 2; case 7
-_0201712E:
- ldr r2, _02017480 ; =0x04000008
- cmp r1, #0x1
- ldrh r3, [r2, #0x0]
- add r2, sp, #0x0
- strh r3, [r2, #0x1e]
- bne _0201714A
- ldrh r3, [r2, #0x1e]
- ldr r1, _02017484 ; =0xFFFFE0FF
- lsl r0, r0, #0x1b
- and r1, r3
- lsr r0, r0, #0x13
- orr r0, r1
- strh r0, [r2, #0x1e]
- b _0201715C
-_0201714A:
- cmp r1, #0x2
- bne _0201715C
- ldrh r3, [r2, #0x1e]
- mov r1, #0x3c
- lsl r0, r0, #0x1c
- bic r3, r1
- lsr r0, r0, #0x1a
- orr r0, r3
- strh r0, [r2, #0x1e]
-_0201715C:
- add r0, sp, #0x0
- ldrh r3, [r0, #0x1e]
- add sp, #0x20
- lsl r0, r3, #0x12
- lsr r6, r0, #0x1f
- lsl r0, r3, #0x1a
- lsr r2, r0, #0x1c
- lsl r0, r3, #0x13
- lsr r1, r0, #0x1b
- mov r0, #0x2c
- mul r0, r4
- add r0, r5, r0
- lsl r3, r3, #0x10
- lsr r5, r3, #0x1e
- lsl r3, r2, #0x2
- ldrb r0, [r0, #0x1e]
- lsl r2, r1, #0x8
- lsl r4, r6, #0xd
- lsl r1, r0, #0x7
- ldr r0, _02017480 ; =0x04000008
- mov r6, #0x43
- ldrh r7, [r0, #0x0]
- lsl r5, r5, #0xe
- and r6, r7
- orr r5, r6
- orr r1, r5
- orr r1, r2
- orr r1, r3
- orr r1, r4
- strh r1, [r0, #0x0]
- pop {r3-r7, pc}
-_0201719A:
- ldr r2, _02017488 ; =0x0400000A
- cmp r1, #0x1
- ldrh r3, [r2, #0x0]
- add r2, sp, #0x0
- strh r3, [r2, #0x1c]
- bne _020171B6
- ldrh r3, [r2, #0x1c]
- ldr r1, _02017484 ; =0xFFFFE0FF
- lsl r0, r0, #0x1b
- and r1, r3
- lsr r0, r0, #0x13
- orr r0, r1
- strh r0, [r2, #0x1c]
- b _020171C8
-_020171B6:
- cmp r1, #0x2
- bne _020171C8
- ldrh r3, [r2, #0x1c]
- mov r1, #0x3c
- lsl r0, r0, #0x1c
- bic r3, r1
- lsr r0, r0, #0x1a
- orr r0, r3
- strh r0, [r2, #0x1c]
-_020171C8:
- add r0, sp, #0x0
- ldrh r3, [r0, #0x1c]
- add sp, #0x20
- lsl r0, r3, #0x12
- lsr r6, r0, #0x1f
- lsl r0, r3, #0x1a
- lsr r2, r0, #0x1c
- lsl r0, r3, #0x13
- lsr r1, r0, #0x1b
- mov r0, #0x2c
- mul r0, r4
- add r0, r5, r0
- lsl r3, r3, #0x10
- lsr r5, r3, #0x1e
- lsl r3, r2, #0x2
- ldrb r0, [r0, #0x1e]
- lsl r2, r1, #0x8
- lsl r4, r6, #0xd
- lsl r1, r0, #0x7
- ldr r0, _02017488 ; =0x0400000A
- mov r6, #0x43
- ldrh r7, [r0, #0x0]
- lsl r5, r5, #0xe
- and r6, r7
- orr r5, r6
- orr r1, r5
- orr r1, r2
- orr r1, r3
- orr r1, r4
- strh r1, [r0, #0x0]
- pop {r3-r7, pc}
-_02017206:
- mov r2, #0x2c
- mul r2, r4
- add r3, r5, r2
- ldrb r3, [r3, #0x1c]
- cmp r3, #0x0
- beq _0201721A
- cmp r3, #0x1
- beq _0201727A
- cmp r3, #0x2
- beq _020172DA
-_0201721A:
- ldr r3, _0201748C ; =0x0400000C
- cmp r1, #0x1
- ldrh r4, [r3, #0x0]
- add r3, sp, #0x0
- strh r4, [r3, #0x1a]
- bne _02017236
- ldrh r4, [r3, #0x1a]
- ldr r1, _02017484 ; =0xFFFFE0FF
- lsl r0, r0, #0x1b
- and r1, r4
- lsr r0, r0, #0x13
- orr r0, r1
- strh r0, [r3, #0x1a]
- b _02017248
-_02017236:
- cmp r1, #0x2
- bne _02017248
- ldrh r4, [r3, #0x1a]
- mov r1, #0x3c
- lsl r0, r0, #0x1c
- bic r4, r1
- lsr r0, r0, #0x1a
- orr r0, r4
- strh r0, [r3, #0x1a]
-_02017248:
- add r0, sp, #0x0
- ldrh r3, [r0, #0x1a]
- add r2, r5, r2
- ldr r6, _0201748C ; =0x0400000C
- lsl r0, r3, #0x1a
- ldrb r4, [r2, #0x1e]
- lsr r1, r0, #0x1c
- lsl r0, r3, #0x13
- lsl r2, r3, #0x10
- lsr r3, r2, #0x1e
- ldrh r5, [r6, #0x0]
- lsr r0, r0, #0x1b
- lsl r2, r1, #0x2
- lsl r1, r0, #0x8
- lsl r0, r4, #0x7
- mov r4, #0x43
- and r4, r5
- lsl r3, r3, #0xe
- orr r3, r4
- orr r0, r3
- orr r0, r1
- orr r0, r2
- add sp, #0x20
- strh r0, [r6, #0x0]
- pop {r3-r7, pc}
-_0201727A:
- ldr r2, _0201748C ; =0x0400000C
- cmp r1, #0x1
- ldrh r3, [r2, #0x0]
- add r2, sp, #0x0
- strh r3, [r2, #0x18]
- bne _02017296
- ldrh r3, [r2, #0x18]
- ldr r1, _02017484 ; =0xFFFFE0FF
- lsl r0, r0, #0x1b
- and r1, r3
- lsr r0, r0, #0x13
- orr r0, r1
- strh r0, [r2, #0x18]
- b _020172A8
-_02017296:
- cmp r1, #0x2
- bne _020172A8
- ldrh r3, [r2, #0x18]
- mov r1, #0x3c
- lsl r0, r0, #0x1c
- bic r3, r1
- lsr r0, r0, #0x1a
- orr r0, r3
- strh r0, [r2, #0x18]
-_020172A8:
- add r0, sp, #0x0
- ldrh r3, [r0, #0x18]
- ldr r6, _0201748C ; =0x0400000C
- add sp, #0x20
- lsl r1, r3, #0x13
- lsl r0, r3, #0x1a
- lsr r4, r1, #0x1b
- lsl r1, r3, #0x12
- lsr r2, r1, #0x1f
- lsl r1, r3, #0x10
- lsr r3, r1, #0x1e
- lsr r0, r0, #0x1c
- lsl r1, r0, #0x2
- lsl r0, r4, #0x8
- ldrh r5, [r6, #0x0]
- mov r4, #0x43
- lsl r3, r3, #0xe
- and r4, r5
- orr r3, r4
- orr r0, r3
- lsl r2, r2, #0xd
- orr r0, r1
- orr r0, r2
- strh r0, [r6, #0x0]
- pop {r3-r7, pc}
-_020172DA:
- ldr r2, _0201748C ; =0x0400000C
- cmp r1, #0x1
- ldrh r3, [r2, #0x0]
- add r2, sp, #0x0
- strh r3, [r2, #0x16]
- bne _020172F6
- ldrh r3, [r2, #0x16]
- ldr r1, _02017484 ; =0xFFFFE0FF
- lsl r0, r0, #0x1b
- and r1, r3
- lsr r0, r0, #0x13
- orr r0, r1
- strh r0, [r2, #0x16]
- b _02017308
-_020172F6:
- cmp r1, #0x2
- bne _02017308
- ldrh r3, [r2, #0x16]
- mov r1, #0x38
- lsl r0, r0, #0x1d
- bic r3, r1
- lsr r0, r0, #0x1a
- orr r0, r3
- strh r0, [r2, #0x16]
-_02017308:
- add r0, sp, #0x0
- ldrh r3, [r0, #0x16]
- ldr r6, _0201748C ; =0x0400000C
- add sp, #0x20
- lsl r1, r3, #0x13
- lsr r4, r1, #0x1b
- lsl r1, r3, #0x12
- lsr r2, r1, #0x1f
- lsl r0, r3, #0x1a
- lsl r1, r3, #0x10
- lsr r3, r1, #0x1e
- lsl r1, r4, #0x8
- lsr r0, r0, #0x1d
- ldrh r5, [r6, #0x0]
- mov r4, #0x43
- lsl r3, r3, #0xe
- and r4, r5
- lsl r0, r0, #0x2
- orr r3, r4
- orr r0, r3
- lsl r2, r2, #0xd
- orr r0, r1
- orr r0, r2
- strh r0, [r6, #0x0]
- pop {r3-r7, pc}
-_0201733A:
- mov r2, #0x2c
- mul r2, r4
- add r3, r5, r2
- ldrb r3, [r3, #0x1c]
- cmp r3, #0x0
- beq _0201734E
- cmp r3, #0x1
- beq _020173AE
- cmp r3, #0x2
- beq _0201740E
-_0201734E:
- ldr r3, _02017490 ; =0x0400000E
- cmp r1, #0x1
- ldrh r4, [r3, #0x0]
- add r3, sp, #0x0
- strh r4, [r3, #0x14]
- bne _0201736A
- ldrh r4, [r3, #0x14]
- ldr r1, _02017484 ; =0xFFFFE0FF
- lsl r0, r0, #0x1b
- and r1, r4
- lsr r0, r0, #0x13
- orr r0, r1
- strh r0, [r3, #0x14]
- b _0201737C
-_0201736A:
- cmp r1, #0x2
- bne _0201737C
- ldrh r4, [r3, #0x14]
- mov r1, #0x3c
- lsl r0, r0, #0x1c
- bic r4, r1
- lsr r0, r0, #0x1a
- orr r0, r4
- strh r0, [r3, #0x14]
-_0201737C:
- add r0, sp, #0x0
- ldrh r3, [r0, #0x14]
- add r2, r5, r2
- ldr r6, _02017490 ; =0x0400000E
- lsl r0, r3, #0x1a
- ldrb r4, [r2, #0x1e]
- lsr r1, r0, #0x1c
- lsl r0, r3, #0x13
- lsl r2, r3, #0x10
- lsr r3, r2, #0x1e
- ldrh r5, [r6, #0x0]
- lsr r0, r0, #0x1b
- lsl r2, r1, #0x2
- lsl r1, r0, #0x8
- lsl r0, r4, #0x7
- mov r4, #0x43
- and r4, r5
- lsl r3, r3, #0xe
- orr r3, r4
- orr r0, r3
- orr r0, r1
- orr r0, r2
- add sp, #0x20
- strh r0, [r6, #0x0]
- pop {r3-r7, pc}
-_020173AE:
- ldr r2, _02017490 ; =0x0400000E
- cmp r1, #0x1
- ldrh r3, [r2, #0x0]
- add r2, sp, #0x0
- strh r3, [r2, #0x12]
- bne _020173CA
- ldrh r3, [r2, #0x12]
- ldr r1, _02017484 ; =0xFFFFE0FF
- lsl r0, r0, #0x1b
- and r1, r3
- lsr r0, r0, #0x13
- orr r0, r1
- strh r0, [r2, #0x12]
- b _020173DC
-_020173CA:
- cmp r1, #0x2
- bne _020173DC
- ldrh r3, [r2, #0x12]
- mov r1, #0x3c
- lsl r0, r0, #0x1c
- bic r3, r1
- lsr r0, r0, #0x1a
- orr r0, r3
- strh r0, [r2, #0x12]
-_020173DC:
- add r0, sp, #0x0
- ldrh r3, [r0, #0x12]
- ldr r6, _02017490 ; =0x0400000E
- add sp, #0x20
- lsl r1, r3, #0x13
- lsl r0, r3, #0x1a
- lsr r4, r1, #0x1b
- lsl r1, r3, #0x12
- lsr r2, r1, #0x1f
- lsl r1, r3, #0x10
- lsr r3, r1, #0x1e
- lsr r0, r0, #0x1c
- lsl r1, r0, #0x2
- lsl r0, r4, #0x8
- ldrh r5, [r6, #0x0]
- mov r4, #0x43
- lsl r3, r3, #0xe
- and r4, r5
- orr r3, r4
- orr r0, r3
- lsl r2, r2, #0xd
- orr r0, r1
- orr r0, r2
- strh r0, [r6, #0x0]
- pop {r3-r7, pc}
-_0201740E:
- ldr r2, _02017490 ; =0x0400000E
- cmp r1, #0x1
- ldrh r3, [r2, #0x0]
- add r2, sp, #0x0
- strh r3, [r2, #0x10]
- bne _0201742A
- ldrh r3, [r2, #0x10]
- ldr r1, _02017484 ; =0xFFFFE0FF
- lsl r0, r0, #0x1b
- and r1, r3
- lsr r0, r0, #0x13
- orr r0, r1
- strh r0, [r2, #0x10]
- b _0201743C
-_0201742A:
- cmp r1, #0x2
- bne _0201743C
- ldrh r3, [r2, #0x10]
- mov r1, #0x38
- lsl r0, r0, #0x1d
- bic r3, r1
- lsr r0, r0, #0x1a
- orr r0, r3
- strh r0, [r2, #0x10]
-_0201743C:
- add r0, sp, #0x0
- ldrh r3, [r0, #0x10]
- ldr r6, _02017490 ; =0x0400000E
- add sp, #0x20
- lsl r1, r3, #0x13
- lsr r4, r1, #0x1b
- lsl r1, r3, #0x12
- lsr r2, r1, #0x1f
- lsl r0, r3, #0x1a
- lsl r1, r3, #0x10
- lsr r3, r1, #0x1e
- lsl r1, r4, #0x8
- lsr r0, r0, #0x1d
- ldrh r5, [r6, #0x0]
- mov r4, #0x43
- lsl r3, r3, #0xe
- and r4, r5
- lsl r0, r0, #0x2
- orr r3, r4
- orr r0, r3
- lsl r2, r2, #0xd
- orr r0, r1
- orr r0, r2
- strh r0, [r6, #0x0]
- pop {r3-r7, pc}
-_0201746E:
- ldr r2, _02017494 ; =0x04001008
- cmp r1, #0x1
- ldrh r3, [r2, #0x0]
- add r2, sp, #0x0
- strh r3, [r2, #0xe]
- bne _020174A4
- ldrh r3, [r2, #0xe]
- ldr r1, _02017484 ; =0xFFFFE0FF
- b _02017498
- .balign 4
-_02017480: .word 0x04000008
-_02017484: .word 0xFFFFE0FF
-_02017488: .word 0x0400000A
-_0201748C: .word 0x0400000C
-_02017490: .word 0x0400000E
-_02017494: .word 0x04001008
-_02017498:
- lsl r0, r0, #0x1b
- and r1, r3
- lsr r0, r0, #0x13
- orr r0, r1
- strh r0, [r2, #0xe]
- b _020174B6
-_020174A4:
- cmp r1, #0x2
- bne _020174B6
- ldrh r3, [r2, #0xe]
- mov r1, #0x3c
- lsl r0, r0, #0x1c
- bic r3, r1
- lsr r0, r0, #0x1a
- orr r0, r3
- strh r0, [r2, #0xe]
-_020174B6:
- add r0, sp, #0x0
- ldrh r3, [r0, #0xe]
- add sp, #0x20
- lsl r0, r3, #0x12
- lsr r6, r0, #0x1f
- lsl r0, r3, #0x1a
- lsr r2, r0, #0x1c
- lsl r0, r3, #0x13
- lsr r1, r0, #0x1b
- mov r0, #0x2c
- mul r0, r4
- add r0, r5, r0
- lsl r3, r3, #0x10
- lsr r5, r3, #0x1e
- lsl r3, r2, #0x2
- ldrb r0, [r0, #0x1e]
- lsl r2, r1, #0x8
- lsl r4, r6, #0xd
- lsl r1, r0, #0x7
- ldr r0, _020177C8 ; =0x04001008
- mov r6, #0x43
- ldrh r7, [r0, #0x0]
- lsl r5, r5, #0xe
- and r6, r7
- orr r5, r6
- orr r1, r5
- orr r1, r2
- orr r1, r3
- orr r1, r4
- strh r1, [r0, #0x0]
- pop {r3-r7, pc}
-_020174F4:
- ldr r2, _020177CC ; =0x0400100A
- cmp r1, #0x1
- ldrh r3, [r2, #0x0]
- add r2, sp, #0x0
- strh r3, [r2, #0xc]
- bne _02017510
- ldrh r3, [r2, #0xc]
- ldr r1, _020177D0 ; =0xFFFFE0FF
- lsl r0, r0, #0x1b
- and r1, r3
- lsr r0, r0, #0x13
- orr r0, r1
- strh r0, [r2, #0xc]
- b _02017522
-_02017510:
- cmp r1, #0x2
- bne _02017522
- ldrh r3, [r2, #0xc]
- mov r1, #0x3c
- lsl r0, r0, #0x1c
- bic r3, r1
- lsr r0, r0, #0x1a
- orr r0, r3
- strh r0, [r2, #0xc]
-_02017522:
- add r0, sp, #0x0
- ldrh r3, [r0, #0xc]
- add sp, #0x20
- lsl r0, r3, #0x12
- lsr r6, r0, #0x1f
- lsl r0, r3, #0x1a
- lsr r2, r0, #0x1c
- lsl r0, r3, #0x13
- lsr r1, r0, #0x1b
- mov r0, #0x2c
- mul r0, r4
- add r0, r5, r0
- lsl r3, r3, #0x10
- lsr r5, r3, #0x1e
- lsl r3, r2, #0x2
- ldrb r0, [r0, #0x1e]
- lsl r2, r1, #0x8
- lsl r4, r6, #0xd
- lsl r1, r0, #0x7
- ldr r0, _020177CC ; =0x0400100A
- mov r6, #0x43
- ldrh r7, [r0, #0x0]
- lsl r5, r5, #0xe
- and r6, r7
- orr r5, r6
- orr r1, r5
- orr r1, r2
- orr r1, r3
- orr r1, r4
- strh r1, [r0, #0x0]
- pop {r3-r7, pc}
-_02017560:
- mov r2, #0x2c
- mul r2, r4
- add r3, r5, r2
- ldrb r3, [r3, #0x1c]
- cmp r3, #0x0
- beq _02017574
- cmp r3, #0x1
- beq _020175D4
- cmp r3, #0x2
- beq _02017634
-_02017574:
- ldr r3, _020177D4 ; =0x0400100C
- cmp r1, #0x1
- ldrh r4, [r3, #0x0]
- add r3, sp, #0x0
- strh r4, [r3, #0xa]
- bne _02017590
- ldrh r4, [r3, #0xa]
- ldr r1, _020177D0 ; =0xFFFFE0FF
- lsl r0, r0, #0x1b
- and r1, r4
- lsr r0, r0, #0x13
- orr r0, r1
- strh r0, [r3, #0xa]
- b _020175A2
-_02017590:
- cmp r1, #0x2
- bne _020175A2
- ldrh r4, [r3, #0xa]
- mov r1, #0x3c
- lsl r0, r0, #0x1c
- bic r4, r1
- lsr r0, r0, #0x1a
- orr r0, r4
- strh r0, [r3, #0xa]
-_020175A2:
- add r0, sp, #0x0
- ldrh r3, [r0, #0xa]
- add r2, r5, r2
- ldr r6, _020177D4 ; =0x0400100C
- lsl r0, r3, #0x1a
- ldrb r4, [r2, #0x1e]
- lsr r1, r0, #0x1c
- lsl r0, r3, #0x13
- lsl r2, r3, #0x10
- lsr r3, r2, #0x1e
- ldrh r5, [r6, #0x0]
- lsr r0, r0, #0x1b
- lsl r2, r1, #0x2
- lsl r1, r0, #0x8
- lsl r0, r4, #0x7
- mov r4, #0x43
- and r4, r5
- lsl r3, r3, #0xe
- orr r3, r4
- orr r0, r3
- orr r0, r1
- orr r0, r2
- add sp, #0x20
- strh r0, [r6, #0x0]
- pop {r3-r7, pc}
-_020175D4:
- ldr r2, _020177D4 ; =0x0400100C
- cmp r1, #0x1
- ldrh r3, [r2, #0x0]
- add r2, sp, #0x0
- strh r3, [r2, #0x8]
- bne _020175F0
- ldrh r3, [r2, #0x8]
- ldr r1, _020177D0 ; =0xFFFFE0FF
- lsl r0, r0, #0x1b
- and r1, r3
- lsr r0, r0, #0x13
- orr r0, r1
- strh r0, [r2, #0x8]
- b _02017602
-_020175F0:
- cmp r1, #0x2
- bne _02017602
- ldrh r3, [r2, #0x8]
- mov r1, #0x3c
- lsl r0, r0, #0x1c
- bic r3, r1
- lsr r0, r0, #0x1a
- orr r0, r3
- strh r0, [r2, #0x8]
-_02017602:
- add r0, sp, #0x0
- ldrh r3, [r0, #0x8]
- ldr r6, _020177D4 ; =0x0400100C
- add sp, #0x20
- lsl r1, r3, #0x13
- lsl r0, r3, #0x1a
- lsr r4, r1, #0x1b
- lsl r1, r3, #0x12
- lsr r2, r1, #0x1f
- lsl r1, r3, #0x10
- lsr r3, r1, #0x1e
- lsr r0, r0, #0x1c
- lsl r1, r0, #0x2
- lsl r0, r4, #0x8
- ldrh r5, [r6, #0x0]
- mov r4, #0x43
- lsl r3, r3, #0xe
- and r4, r5
- orr r3, r4
- orr r0, r3
- lsl r2, r2, #0xd
- orr r0, r1
- orr r0, r2
- strh r0, [r6, #0x0]
- pop {r3-r7, pc}
-_02017634:
- ldr r2, _020177D4 ; =0x0400100C
- cmp r1, #0x1
- ldrh r3, [r2, #0x0]
- add r2, sp, #0x0
- strh r3, [r2, #0x6]
- bne _02017650
- ldrh r3, [r2, #0x6]
- ldr r1, _020177D0 ; =0xFFFFE0FF
- lsl r0, r0, #0x1b
- and r1, r3
- lsr r0, r0, #0x13
- orr r0, r1
- strh r0, [r2, #0x6]
- b _02017662
-_02017650:
- cmp r1, #0x2
- bne _02017662
- ldrh r3, [r2, #0x6]
- mov r1, #0x38
- lsl r0, r0, #0x1d
- bic r3, r1
- lsr r0, r0, #0x1a
- orr r0, r3
- strh r0, [r2, #0x6]
-_02017662:
- add r0, sp, #0x0
- ldrh r3, [r0, #0x6]
- ldr r6, _020177D4 ; =0x0400100C
- add sp, #0x20
- lsl r1, r3, #0x13
- lsr r4, r1, #0x1b
- lsl r1, r3, #0x12
- lsr r2, r1, #0x1f
- lsl r0, r3, #0x1a
- lsl r1, r3, #0x10
- lsr r3, r1, #0x1e
- lsl r1, r4, #0x8
- lsr r0, r0, #0x1d
- ldrh r5, [r6, #0x0]
- mov r4, #0x43
- lsl r3, r3, #0xe
- and r4, r5
- lsl r0, r0, #0x2
- orr r3, r4
- orr r0, r3
- lsl r2, r2, #0xd
- orr r0, r1
- orr r0, r2
- strh r0, [r6, #0x0]
- pop {r3-r7, pc}
-_02017694:
- mov r2, #0x2c
- mul r2, r4
- add r3, r5, r2
- ldrb r3, [r3, #0x1c]
- cmp r3, #0x0
- beq _020176A8
- cmp r3, #0x1
- beq _02017708
- cmp r3, #0x2
- beq _02017768
-_020176A8:
- ldr r3, _020177D8 ; =0x0400100E
- cmp r1, #0x1
- ldrh r4, [r3, #0x0]
- add r3, sp, #0x0
- strh r4, [r3, #0x4]
- bne _020176C4
- ldrh r4, [r3, #0x4]
- ldr r1, _020177D0 ; =0xFFFFE0FF
- lsl r0, r0, #0x1b
- and r1, r4
- lsr r0, r0, #0x13
- orr r0, r1
- strh r0, [r3, #0x4]
- b _020176D6
-_020176C4:
- cmp r1, #0x2
- bne _020176D6
- ldrh r4, [r3, #0x4]
- mov r1, #0x3c
- lsl r0, r0, #0x1c
- bic r4, r1
- lsr r0, r0, #0x1a
- orr r0, r4
- strh r0, [r3, #0x4]
-_020176D6:
- add r0, sp, #0x0
- ldrh r3, [r0, #0x4]
- add r2, r5, r2
- ldr r6, _020177D8 ; =0x0400100E
- lsl r0, r3, #0x1a
- ldrb r4, [r2, #0x1e]
- lsr r1, r0, #0x1c
- lsl r0, r3, #0x13
- lsl r2, r3, #0x10
- lsr r3, r2, #0x1e
- ldrh r5, [r6, #0x0]
- lsr r0, r0, #0x1b
- lsl r2, r1, #0x2
- lsl r1, r0, #0x8
- lsl r0, r4, #0x7
- mov r4, #0x43
- and r4, r5
- lsl r3, r3, #0xe
- orr r3, r4
- orr r0, r3
- orr r0, r1
- orr r0, r2
- add sp, #0x20
- strh r0, [r6, #0x0]
- pop {r3-r7, pc}
-_02017708:
- ldr r2, _020177D8 ; =0x0400100E
- cmp r1, #0x1
- ldrh r3, [r2, #0x0]
- add r2, sp, #0x0
- strh r3, [r2, #0x2]
- bne _02017724
- ldrh r3, [r2, #0x2]
- ldr r1, _020177D0 ; =0xFFFFE0FF
- lsl r0, r0, #0x1b
- and r1, r3
- lsr r0, r0, #0x13
- orr r0, r1
- strh r0, [r2, #0x2]
- b _02017736
-_02017724:
- cmp r1, #0x2
- bne _02017736
- ldrh r3, [r2, #0x2]
- mov r1, #0x3c
- lsl r0, r0, #0x1c
- bic r3, r1
- lsr r0, r0, #0x1a
- orr r0, r3
- strh r0, [r2, #0x2]
-_02017736:
- add r0, sp, #0x0
- ldrh r3, [r0, #0x2]
- ldr r6, _020177D8 ; =0x0400100E
- add sp, #0x20
- lsl r1, r3, #0x13
- lsl r0, r3, #0x1a
- lsr r4, r1, #0x1b
- lsl r1, r3, #0x12
- lsr r2, r1, #0x1f
- lsl r1, r3, #0x10
- lsr r3, r1, #0x1e
- lsr r0, r0, #0x1c
- lsl r1, r0, #0x2
- lsl r0, r4, #0x8
- ldrh r5, [r6, #0x0]
- mov r4, #0x43
- lsl r3, r3, #0xe
- and r4, r5
- orr r3, r4
- orr r0, r3
- lsl r2, r2, #0xd
- orr r0, r1
- orr r0, r2
- strh r0, [r6, #0x0]
- pop {r3-r7, pc}
-_02017768:
- ldr r2, _020177D8 ; =0x0400100E
- cmp r1, #0x1
- ldrh r3, [r2, #0x0]
- add r2, sp, #0x0
- strh r3, [r2, #0x0]
- bne _02017784
- ldrh r3, [r2, #0x0]
- ldr r1, _020177D0 ; =0xFFFFE0FF
- lsl r0, r0, #0x1b
- and r1, r3
- lsr r0, r0, #0x13
- orr r0, r1
- strh r0, [r2, #0x0]
- b _02017796
-_02017784:
- cmp r1, #0x2
- bne _02017796
- ldrh r3, [r2, #0x0]
- mov r1, #0x38
- lsl r0, r0, #0x1d
- bic r3, r1
- lsr r0, r0, #0x1a
- orr r0, r3
- strh r0, [r2, #0x0]
-_02017796:
- add r0, sp, #0x0
- ldrh r3, [r0, #0x0]
- ldr r6, _020177D8 ; =0x0400100E
- lsl r1, r3, #0x13
- lsr r4, r1, #0x1b
- lsl r1, r3, #0x12
- lsr r2, r1, #0x1f
- lsl r0, r3, #0x1a
- lsl r1, r3, #0x10
- lsr r3, r1, #0x1e
- lsl r1, r4, #0x8
- lsr r0, r0, #0x1d
- ldrh r5, [r6, #0x0]
- mov r4, #0x43
- lsl r3, r3, #0xe
- and r4, r5
- lsl r0, r0, #0x2
- orr r3, r4
- orr r0, r3
- lsl r2, r2, #0xd
- orr r0, r1
- orr r0, r2
- strh r0, [r6, #0x0]
-_020177C4:
- add sp, #0x20
- pop {r3-r7, pc}
- .balign 4
-_020177C8: .word 0x04001008
-_020177CC: .word 0x0400100A
-_020177D0: .word 0xFFFFE0FF
-_020177D4: .word 0x0400100C
-_020177D8: .word 0x0400100E
-
- thumb_func_start FUN_020177DC
-FUN_020177DC: ; 0x020177DC
- cmp r1, #0x0
- beq _020177EA
- cmp r1, #0x1
- beq _0201780A
- cmp r1, #0x2
- beq _0201782A
- b _0201784A
-_020177EA:
- cmp r0, #0x1
- bne _020177F2
- mov r0, #0x0
- bx lr
-_020177F2:
- cmp r0, #0x2
- bne _020177FA
- mov r0, #0x2
- bx lr
-_020177FA:
- cmp r0, #0x3
- bne _02017802
- mov r0, #0x1
- bx lr
-_02017802:
- cmp r0, #0x4
- bne _0201784A
- mov r0, #0x3
- bx lr
-_0201780A:
- cmp r0, #0x0
- bne _02017812
- mov r0, #0x0
- bx lr
-_02017812:
- cmp r0, #0x1
- bne _0201781A
- mov r0, #0x1
- bx lr
-_0201781A:
- cmp r0, #0x4
- bne _02017822
- mov r0, #0x2
- bx lr
-_02017822:
- cmp r0, #0x5
- bne _0201784A
- mov r0, #0x3
- bx lr
-_0201782A:
- cmp r0, #0x0
- bne _02017832
- mov r0, #0x0
- bx lr
-_02017832:
- cmp r0, #0x1
- bne _0201783A
- mov r0, #0x1
- bx lr
-_0201783A:
- cmp r0, #0x4
- bne _02017842
- mov r0, #0x2
- bx lr
-_02017842:
- cmp r0, #0x5
- bne _0201784A
- mov r0, #0x3
- bx lr
-_0201784A:
- mov r0, #0x0
- bx lr
- .balign 4
-
- thumb_func_start FUN_02017850
-FUN_02017850: ; 0x02017850
- cmp r0, #0x5
- bhi _0201789E
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_02017860: ; jump table (using 16-bit offset)
- .short _0201786C - _02017860 - 2; case 0
- .short _02017874 - _02017860 - 2; case 1
- .short _0201787C - _02017860 - 2; case 2
- .short _02017886 - _02017860 - 2; case 3
- .short _02017890 - _02017860 - 2; case 4
- .short _02017898 - _02017860 - 2; case 5
-_0201786C:
- mov r0, #0x10
- strb r0, [r1, #0x0]
- strb r0, [r2, #0x0]
- bx lr
-_02017874:
- mov r0, #0x20
- strb r0, [r1, #0x0]
- strb r0, [r2, #0x0]
- bx lr
-_0201787C:
- mov r0, #0x20
- strb r0, [r1, #0x0]
- mov r0, #0x40
- strb r0, [r2, #0x0]
- bx lr
-_02017886:
- mov r0, #0x40
- strb r0, [r1, #0x0]
- mov r0, #0x20
- strb r0, [r2, #0x0]
- bx lr
-_02017890:
- mov r0, #0x40
- strb r0, [r1, #0x0]
- strb r0, [r2, #0x0]
- bx lr
-_02017898:
- mov r0, #0x80
- strb r0, [r1, #0x0]
- strb r0, [r2, #0x0]
-_0201789E:
- bx lr
-
- thumb_func_start FUN_020178A0
-FUN_020178A0: ; 0x020178A0
- push {r3-r5, lr}
- add r4, r0, #0x0
- mov r2, #0x2c
- add r5, r1, #0x0
- mul r5, r2
- add r4, #0x8
- ldr r0, [r4, r5]
- cmp r0, #0x0
- beq _020178BA
- bl FUN_02016A18
- mov r0, #0x0
- str r0, [r4, r5]
-_020178BA:
- pop {r3-r5, pc}
-
- thumb_func_start FUN_020178BC
-FUN_020178BC: ; 0x020178BC
- cmp r0, #0x7
- bhi _0201795A
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_020178CC: ; jump table (using 16-bit offset)
- .short _020178DC - _020178CC - 2; case 0
- .short _020178EC - _020178CC - 2; case 1
- .short _020178FC - _020178CC - 2; case 2
- .short _0201790C - _020178CC - 2; case 3
- .short _0201791C - _020178CC - 2; case 4
- .short _0201792C - _020178CC - 2; case 5
- .short _0201793C - _020178CC - 2; case 6
- .short _0201794C - _020178CC - 2; case 7
-_020178DC:
- ldr r2, _0201795C ; =0x04000008
- mov r0, #0x3
- ldrh r3, [r2, #0x0]
- bic r3, r0
- add r0, r3, #0x0
- orr r0, r1
- strh r0, [r2, #0x0]
- bx lr
-_020178EC:
- ldr r2, _02017960 ; =0x0400000A
- mov r0, #0x3
- ldrh r3, [r2, #0x0]
- bic r3, r0
- add r0, r3, #0x0
- orr r0, r1
- strh r0, [r2, #0x0]
- bx lr
-_020178FC:
- ldr r2, _02017964 ; =0x0400000C
- mov r0, #0x3
- ldrh r3, [r2, #0x0]
- bic r3, r0
- add r0, r3, #0x0
- orr r0, r1
- strh r0, [r2, #0x0]
- bx lr
-_0201790C:
- ldr r2, _02017968 ; =0x0400000E
- mov r0, #0x3
- ldrh r3, [r2, #0x0]
- bic r3, r0
- add r0, r3, #0x0
- orr r0, r1
- strh r0, [r2, #0x0]
- bx lr
-_0201791C:
- ldr r2, _0201796C ; =0x04001008
- mov r0, #0x3
- ldrh r3, [r2, #0x0]
- bic r3, r0
- add r0, r3, #0x0
- orr r0, r1
- strh r0, [r2, #0x0]
- bx lr
-_0201792C:
- ldr r2, _02017970 ; =0x0400100A
- mov r0, #0x3
- ldrh r3, [r2, #0x0]
- bic r3, r0
- add r0, r3, #0x0
- orr r0, r1
- strh r0, [r2, #0x0]
- bx lr
-_0201793C:
- ldr r2, _02017974 ; =0x0400100C
- mov r0, #0x3
- ldrh r3, [r2, #0x0]
- bic r3, r0
- add r0, r3, #0x0
- orr r0, r1
- strh r0, [r2, #0x0]
- bx lr
-_0201794C:
- ldr r2, _02017978 ; =0x0400100E
- mov r0, #0x3
- ldrh r3, [r2, #0x0]
- bic r3, r0
- add r0, r3, #0x0
- orr r0, r1
- strh r0, [r2, #0x0]
-_0201795A:
- bx lr
- .balign 4
-_0201795C: .word 0x04000008
-_02017960: .word 0x0400000A
-_02017964: .word 0x0400000C
-_02017968: .word 0x0400000E
-_0201796C: .word 0x04001008
-_02017970: .word 0x0400100A
-_02017974: .word 0x0400100C
-_02017978: .word 0x0400100E
-
- thumb_func_start FUN_0201797C
-FUN_0201797C: ; 0x0201797C
- push {r3, lr}
- cmp r0, #0x7
- bhi _020179DC
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_0201798E: ; jump table (using 16-bit offset)
- .short _0201799E - _0201798E - 2; case 0
- .short _020179A6 - _0201798E - 2; case 1
- .short _020179AE - _0201798E - 2; case 2
- .short _020179B6 - _0201798E - 2; case 3
- .short _020179BE - _0201798E - 2; case 4
- .short _020179C6 - _0201798E - 2; case 5
- .short _020179CE - _0201798E - 2; case 6
- .short _020179D6 - _0201798E - 2; case 7
-_0201799E:
- mov r0, #0x1
- bl FUN_0201E6E4
- pop {r3, pc}
-_020179A6:
- mov r0, #0x2
- bl FUN_0201E6E4
- pop {r3, pc}
-_020179AE:
- mov r0, #0x4
- bl FUN_0201E6E4
- pop {r3, pc}
-_020179B6:
- mov r0, #0x8
- bl FUN_0201E6E4
- pop {r3, pc}
-_020179BE:
- mov r0, #0x1
- bl FUN_0201E74C
- pop {r3, pc}
-_020179C6:
- mov r0, #0x2
- bl FUN_0201E74C
- pop {r3, pc}
-_020179CE:
- mov r0, #0x4
- bl FUN_0201E74C
- pop {r3, pc}
-_020179D6:
- mov r0, #0x8
- bl FUN_0201E74C
-_020179DC:
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_020179E0
-FUN_020179E0: ; 0x020179E0
- push {r4-r6, lr}
- add r5, r1, #0x0
- add r4, r0, #0x0
- mov r0, #0x2c
- add r6, r5, #0x0
- mul r6, r0
- add r0, r4, #0x0
- add r0, #0x8
- add r1, r2, #0x0
- add r2, r3, #0x0
- add r0, r0, r6
- bl FUN_02017B8C
- add r0, r4, r6
- ldr r1, [r0, #0x14]
- ldr r0, [r0, #0x18]
- cmp r5, #0x7
- bls _02017A06
- b _02017B1C
-_02017A06:
- add r2, r5, r5
- add r2, pc
- ldrh r2, [r2, #0x6]
- lsl r2, r2, #0x10
- asr r2, r2, #0x10
- add pc, r2
-_02017A12: ; jump table (using 16-bit offset)
- .short _02017A22 - _02017A12 - 2; case 0
- .short _02017A38 - _02017A12 - 2; case 1
- .short _02017A4E - _02017A12 - 2; case 2
- .short _02017A78 - _02017A12 - 2; case 3
- .short _02017AA2 - _02017A12 - 2; case 4
- .short _02017AB8 - _02017A12 - 2; case 5
- .short _02017ACE - _02017A12 - 2; case 6
- .short _02017AF6 - _02017A12 - 2; case 7
-_02017A22:
- ldr r2, _02017B20 ; =0x000001FF
- add r3, r1, #0x0
- lsl r1, r0, #0x10
- lsl r0, r2, #0x10
- and r3, r2
- and r0, r1
- add r1, r3, #0x0
- orr r1, r0
- ldr r0, _02017B24 ; =0x04000010
- str r1, [r0, #0x0]
- pop {r4-r6, pc}
-_02017A38:
- ldr r2, _02017B20 ; =0x000001FF
- add r3, r1, #0x0
- lsl r1, r0, #0x10
- lsl r0, r2, #0x10
- and r3, r2
- and r0, r1
- add r1, r3, #0x0
- orr r1, r0
- ldr r0, _02017B28 ; =0x04000014
- str r1, [r0, #0x0]
- pop {r4-r6, pc}
-_02017A4E:
- add r2, r4, #0x0
- add r2, #0x74
- ldrb r2, [r2, #0x0]
- cmp r2, #0x0
- bne _02017A6E
- ldr r2, _02017B20 ; =0x000001FF
- add r3, r1, #0x0
- lsl r1, r0, #0x10
- lsl r0, r2, #0x10
- and r3, r2
- and r0, r1
- add r1, r3, #0x0
- orr r1, r0
- ldr r0, _02017B2C ; =0x04000018
- str r1, [r0, #0x0]
- pop {r4-r6, pc}
-_02017A6E:
- add r0, r4, #0x0
- mov r1, #0x2
- bl FUN_02017C6C
- pop {r4-r6, pc}
-_02017A78:
- add r2, r4, #0x0
- add r2, #0xa0
- ldrb r2, [r2, #0x0]
- cmp r2, #0x0
- bne _02017A98
- ldr r2, _02017B20 ; =0x000001FF
- add r3, r1, #0x0
- lsl r1, r0, #0x10
- lsl r0, r2, #0x10
- and r3, r2
- and r0, r1
- add r1, r3, #0x0
- orr r1, r0
- ldr r0, _02017B30 ; =0x0400001C
- str r1, [r0, #0x0]
- pop {r4-r6, pc}
-_02017A98:
- add r0, r4, #0x0
- mov r1, #0x3
- bl FUN_02017C6C
- pop {r4-r6, pc}
-_02017AA2:
- ldr r2, _02017B20 ; =0x000001FF
- add r3, r1, #0x0
- lsl r1, r0, #0x10
- lsl r0, r2, #0x10
- and r3, r2
- and r0, r1
- add r1, r3, #0x0
- orr r1, r0
- ldr r0, _02017B34 ; =0x04001010
- str r1, [r0, #0x0]
- pop {r4-r6, pc}
-_02017AB8:
- ldr r2, _02017B20 ; =0x000001FF
- add r3, r1, #0x0
- lsl r1, r0, #0x10
- lsl r0, r2, #0x10
- and r3, r2
- and r0, r1
- add r1, r3, #0x0
- orr r1, r0
- ldr r0, _02017B38 ; =0x04001014
- str r1, [r0, #0x0]
- pop {r4-r6, pc}
-_02017ACE:
- mov r2, #0x49
- lsl r2, r2, #0x2
- ldrb r3, [r4, r2]
- cmp r3, #0x0
- bne _02017AEC
- add r2, #0xdb
- and r2, r1
- lsl r1, r0, #0x10
- ldr r0, _02017B3C ; =0x01FF0000
- and r0, r1
- add r1, r2, #0x0
- orr r1, r0
- ldr r0, _02017B40 ; =0x04001018
- str r1, [r0, #0x0]
- pop {r4-r6, pc}
-_02017AEC:
- add r0, r4, #0x0
- mov r1, #0x6
- bl FUN_02017C6C
- pop {r4-r6, pc}
-_02017AF6:
- mov r2, #0x15
- lsl r2, r2, #0x4
- ldrb r3, [r4, r2]
- cmp r3, #0x0
- bne _02017B14
- add r2, #0xaf
- and r2, r1
- lsl r1, r0, #0x10
- ldr r0, _02017B3C ; =0x01FF0000
- and r0, r1
- add r1, r2, #0x0
- orr r1, r0
- ldr r0, _02017B44 ; =0x0400101C
- str r1, [r0, #0x0]
- pop {r4-r6, pc}
-_02017B14:
- add r0, r4, #0x0
- mov r1, #0x7
- bl FUN_02017C6C
-_02017B1C:
- pop {r4-r6, pc}
- nop
-_02017B20: .word 0x000001FF
-_02017B24: .word 0x04000010
-_02017B28: .word 0x04000014
-_02017B2C: .word 0x04000018
-_02017B30: .word 0x0400001C
-_02017B34: .word 0x04001010
-_02017B38: .word 0x04001014
-_02017B3C: .word 0x01FF0000
-_02017B40: .word 0x04001018
-_02017B44: .word 0x0400101C
-
- thumb_func_start FUN_02017B48
-FUN_02017B48: ; 0x02017B48
- mov r2, #0x2c
- mul r2, r1
- add r0, r0, r2
- ldr r0, [r0, #0x14]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02017B54
-FUN_02017B54: ; 0x02017B54
- mov r2, #0x2c
- mul r2, r1
- add r0, r0, r2
- ldr r0, [r0, #0x18]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02017B60
-FUN_02017B60: ; 0x02017B60
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- add r1, r5, #0x0
- mov r0, #0x2c
- add r1, #0x8
- mul r0, r4
- add r0, r1, r0
- add r1, r2, #0x0
- add r2, r3, #0x0
- bl FUN_02017B8C
- ldr r0, [sp, #0x18]
- ldr r2, [sp, #0x10]
- str r0, [sp, #0x0]
- ldr r3, [sp, #0x14]
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02017BD0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02017B8C
-FUN_02017B8C: ; 0x02017B8C
- cmp r1, #0x5
- bhi _02017BCE
- add r1, r1, r1
- add r1, pc
- ldrh r1, [r1, #0x6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_02017B9C: ; jump table (using 16-bit offset)
- .short _02017BA8 - _02017B9C - 2; case 0
- .short _02017BAC - _02017B9C - 2; case 1
- .short _02017BB4 - _02017B9C - 2; case 2
- .short _02017BBC - _02017B9C - 2; case 3
- .short _02017BC0 - _02017B9C - 2; case 4
- .short _02017BC8 - _02017B9C - 2; case 5
-_02017BA8:
- str r2, [r0, #0xc]
- bx lr
-_02017BAC:
- ldr r1, [r0, #0xc]
- add r1, r1, r2
- str r1, [r0, #0xc]
- bx lr
-_02017BB4:
- ldr r1, [r0, #0xc]
- sub r1, r1, r2
- str r1, [r0, #0xc]
- bx lr
-_02017BBC:
- str r2, [r0, #0x10]
- bx lr
-_02017BC0:
- ldr r1, [r0, #0x10]
- add r1, r1, r2
- str r1, [r0, #0x10]
- bx lr
-_02017BC8:
- ldr r1, [r0, #0x10]
- sub r1, r1, r2
- str r1, [r0, #0x10]
-_02017BCE:
- bx lr
-
- thumb_func_start FUN_02017BD0
-FUN_02017BD0: ; 0x02017BD0
- push {r3-r5, lr}
- sub sp, #0x8
- add r4, r1, #0x0
- add r1, r2, #0x0
- add r2, r3, #0x0
- ldr r3, [sp, #0x18]
- cmp r4, #0x7
- bhi _02017C58
- add r5, r4, r4
- add r5, pc
- ldrh r5, [r5, #0x6]
- lsl r5, r5, #0x10
- asr r5, r5, #0x10
- add pc, r5
-_02017BEC: ; jump table (using 16-bit offset)
- .short _02017C58 - _02017BEC - 2; case 0
- .short _02017C58 - _02017BEC - 2; case 1
- .short _02017BFC - _02017BEC - 2; case 2
- .short _02017C14 - _02017BEC - 2; case 3
- .short _02017C58 - _02017BEC - 2; case 4
- .short _02017C58 - _02017BEC - 2; case 5
- .short _02017C2C - _02017BEC - 2; case 6
- .short _02017C44 - _02017BEC - 2; case 7
-_02017BFC:
- mov r5, #0x2c
- mul r5, r4
- add r4, r0, r5
- ldr r0, [r4, #0x14]
- str r0, [sp, #0x0]
- ldr r0, [r4, #0x18]
- str r0, [sp, #0x4]
- ldr r0, _02017C5C ; =0x04000020
- blx G2x_SetBGyAffine_
- add sp, #0x8
- pop {r3-r5, pc}
-_02017C14:
- mov r5, #0x2c
- mul r5, r4
- add r4, r0, r5
- ldr r0, [r4, #0x14]
- str r0, [sp, #0x0]
- ldr r0, [r4, #0x18]
- str r0, [sp, #0x4]
- ldr r0, _02017C60 ; =0x04000030
- blx G2x_SetBGyAffine_
- add sp, #0x8
- pop {r3-r5, pc}
-_02017C2C:
- mov r5, #0x2c
- mul r5, r4
- add r4, r0, r5
- ldr r0, [r4, #0x14]
- str r0, [sp, #0x0]
- ldr r0, [r4, #0x18]
- str r0, [sp, #0x4]
- ldr r0, _02017C64 ; =0x04001020
- blx G2x_SetBGyAffine_
- add sp, #0x8
- pop {r3-r5, pc}
-_02017C44:
- mov r5, #0x2c
- mul r5, r4
- add r4, r0, r5
- ldr r0, [r4, #0x14]
- str r0, [sp, #0x0]
- ldr r0, [r4, #0x18]
- str r0, [sp, #0x4]
- ldr r0, _02017C68 ; =0x04001030
- blx G2x_SetBGyAffine_
-_02017C58:
- add sp, #0x8
- pop {r3-r5, pc}
- .balign 4
-_02017C5C: .word 0x04000020
-_02017C60: .word 0x04000030
-_02017C64: .word 0x04001020
-_02017C68: .word 0x04001030
-
- thumb_func_start FUN_02017C6C
-FUN_02017C6C: ; 0x02017C6C
- push {r4-r5, lr}
- sub sp, #0x14
- mov r2, #0x1
- lsl r2, r2, #0xc
- add r5, r0, #0x0
- add r4, r1, #0x0
- mov r1, #0x0
- add r0, sp, #0x4
- add r3, r2, #0x0
- str r1, [sp, #0x0]
- bl FUN_0201BB74
- mov r3, #0x0
- add r0, r5, #0x0
- add r1, r4, #0x0
- add r2, sp, #0x4
- str r3, [sp, #0x0]
- bl FUN_02017BD0
- add sp, #0x14
- pop {r4-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02017C98
-FUN_02017C98: ; 0x02017C98
- push {r3-r5, lr}
- cmp r2, #0x0
- bne _02017CA4
- blx MI_UncompressLZ8
- pop {r3-r5, pc}
-_02017CA4:
- mov r4, #0x3
- add r3, r0, #0x0
- tst r3, r4
- bne _02017CCA
- add r3, r1, #0x0
- tst r3, r4
- bne _02017CCA
- lsl r3, r2, #0x10
- lsr r3, r3, #0x10
- lsr r4, r3, #0x1f
- lsl r5, r3, #0x1e
- sub r5, r5, r4
- mov r3, #0x1e
- ror r5, r3
- add r3, r4, r5
- bne _02017CCA
- blx MIi_CpuCopy32
- pop {r3-r5, pc}
-_02017CCA:
- blx MIi_CpuCopy16
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02017CD0
-FUN_02017CD0: ; 0x02017CD0
- push {r3, lr}
- mov r2, #0x2c
- mul r2, r1
- add r3, r0, r2
- ldr r2, [r3, #0x10]
- str r2, [sp, #0x0]
- ldr r2, [r3, #0x8]
- ldr r3, [r3, #0xc]
- bl FUN_02017CE8
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_02017CE8
-FUN_02017CE8: ; 0x02017CE8
- push {r3-r7, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- add r4, r1, #0x0
- add r6, r2, #0x0
- str r3, [sp, #0x0]
- cmp r3, #0x0
- bne _02017D56
- mov r0, #0x2c
- add r7, r4, #0x0
- mul r7, r0
- add r0, r5, r7
- ldr r0, [r0, #0x8]
- str r0, [sp, #0x4]
- cmp r0, #0x0
- beq _02017D26
- ldr r1, [sp, #0x4]
- add r0, r6, #0x0
- add r2, r3, #0x0
- bl FUN_02017C98
- add r3, r5, r7
- ldr r2, [r3, #0x10]
- ldr r1, [sp, #0x4]
- ldr r3, [r3, #0xc]
- add r0, r4, #0x0
- lsl r2, r2, #0x1
- bl FUN_02017D68
- add sp, #0x8
- pop {r3-r7, pc}
-_02017D26:
- ldr r0, [r6, #0x0]
- lsr r7, r0, #0x8
- ldr r0, [r5, #0x0]
- add r1, r7, #0x0
- bl FUN_020169D8
- add r5, r0, #0x0
- ldr r2, [sp, #0x0]
- add r0, r6, #0x0
- add r1, r5, #0x0
- bl FUN_02017C98
- ldr r2, [sp, #0x20]
- add r0, r4, #0x0
- add r1, r5, #0x0
- lsl r2, r2, #0x1
- add r3, r7, #0x0
- bl FUN_02017D68
- add r0, r5, #0x0
- bl FUN_02016A18
- add sp, #0x8
- pop {r3-r7, pc}
-_02017D56:
- ldr r2, [sp, #0x20]
- add r0, r4, #0x0
- add r1, r6, #0x0
- lsl r2, r2, #0x1
- bl FUN_02017D68
- add sp, #0x8
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02017D68
-FUN_02017D68: ; 0x02017D68
- push {r3-r7, lr}
- add r4, r1, #0x0
- add r6, r3, #0x0
- add r7, r0, #0x0
- add r0, r4, #0x0
- add r1, r6, #0x0
- add r5, r2, #0x0
- blx DC_FlushRange
- cmp r7, #0x7
- bhi _02017DF8
- add r0, r7, r7
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_02017D8A: ; jump table (using 16-bit offset)
- .short _02017D9A - _02017D8A - 2; case 0
- .short _02017DA6 - _02017D8A - 2; case 1
- .short _02017DB2 - _02017D8A - 2; case 2
- .short _02017DBE - _02017D8A - 2; case 3
- .short _02017DCA - _02017D8A - 2; case 4
- .short _02017DD6 - _02017D8A - 2; case 5
- .short _02017DE2 - _02017D8A - 2; case 6
- .short _02017DEE - _02017D8A - 2; case 7
-_02017D9A:
- add r0, r4, #0x0
- add r1, r5, #0x0
- add r2, r6, #0x0
- blx GX_LoadBG0Scr
- pop {r3-r7, pc}
-_02017DA6:
- add r0, r4, #0x0
- add r1, r5, #0x0
- add r2, r6, #0x0
- blx GX_LoadBG1Scr
- pop {r3-r7, pc}
-_02017DB2:
- add r0, r4, #0x0
- add r1, r5, #0x0
- add r2, r6, #0x0
- blx GX_LoadBG2Scr
- pop {r3-r7, pc}
-_02017DBE:
- add r0, r4, #0x0
- add r1, r5, #0x0
- add r2, r6, #0x0
- blx GX_LoadBG3Scr
- pop {r3-r7, pc}
-_02017DCA:
- add r0, r4, #0x0
- add r1, r5, #0x0
- add r2, r6, #0x0
- blx GXS_LoadBG0Scr
- pop {r3-r7, pc}
-_02017DD6:
- add r0, r4, #0x0
- add r1, r5, #0x0
- add r2, r6, #0x0
- blx GXS_LoadBG1Scr
- pop {r3-r7, pc}
-_02017DE2:
- add r0, r4, #0x0
- add r1, r5, #0x0
- add r2, r6, #0x0
- blx GXS_LoadBG2Scr
- pop {r3-r7, pc}
-_02017DEE:
- add r0, r4, #0x0
- add r1, r5, #0x0
- add r2, r6, #0x0
- blx GXS_LoadBG3Scr
-_02017DF8:
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02017DFC
-FUN_02017DFC: ; 0x02017DFC
- push {r4, lr}
- add r4, r0, #0x0
- add r0, r2, #0x0
- mov r2, #0x2c
- mul r2, r1
- add r1, r4, r2
- ldr r1, [r1, #0x8]
- add r2, r3, #0x0
- bl FUN_02017C98
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02017E14
-FUN_02017E14: ; 0x02017E14
- push {r3-r4, lr}
- sub sp, #0x4
- mov r4, #0x2c
- mul r4, r1
- add r4, r0, r4
- ldrb r4, [r4, #0x1e]
- cmp r4, #0x0
- bne _02017E32
- ldr r4, [sp, #0x10]
- lsl r4, r4, #0x5
- str r4, [sp, #0x0]
- bl FUN_02017E40
- add sp, #0x4
- pop {r3-r4, pc}
-_02017E32:
- ldr r4, [sp, #0x10]
- lsl r4, r4, #0x6
- str r4, [sp, #0x0]
- bl FUN_02017E40
- add sp, #0x4
- pop {r3-r4, pc}
-
- thumb_func_start FUN_02017E40
-FUN_02017E40: ; 0x02017E40
- push {r3-r7, lr}
- add r7, r1, #0x0
- add r5, r2, #0x0
- str r3, [sp, #0x0]
- cmp r3, #0x0
- bne _02017E78
- ldr r1, [r5, #0x0]
- ldr r0, [r0, #0x0]
- lsr r4, r1, #0x8
- add r1, r4, #0x0
- bl FUN_020169D8
- add r6, r0, #0x0
- ldr r2, [sp, #0x0]
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_02017C98
- ldr r2, [sp, #0x18]
- add r0, r7, #0x0
- add r1, r6, #0x0
- add r3, r4, #0x0
- bl FUN_02017E84
- add r0, r6, #0x0
- bl FUN_02016A18
- pop {r3-r7, pc}
-_02017E78:
- ldr r2, [sp, #0x18]
- add r0, r7, #0x0
- add r1, r5, #0x0
- bl FUN_02017E84
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02017E84
-FUN_02017E84: ; 0x02017E84
- push {r3-r7, lr}
- add r4, r1, #0x0
- add r6, r3, #0x0
- add r7, r0, #0x0
- add r0, r4, #0x0
- add r1, r6, #0x0
- add r5, r2, #0x0
- blx DC_FlushRange
- cmp r7, #0x7
- bhi _02017F14
- add r0, r7, r7
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_02017EA6: ; jump table (using 16-bit offset)
- .short _02017EB6 - _02017EA6 - 2; case 0
- .short _02017EC2 - _02017EA6 - 2; case 1
- .short _02017ECE - _02017EA6 - 2; case 2
- .short _02017EDA - _02017EA6 - 2; case 3
- .short _02017EE6 - _02017EA6 - 2; case 4
- .short _02017EF2 - _02017EA6 - 2; case 5
- .short _02017EFE - _02017EA6 - 2; case 6
- .short _02017F0A - _02017EA6 - 2; case 7
-_02017EB6:
- add r0, r4, #0x0
- add r1, r5, #0x0
- add r2, r6, #0x0
- blx GX_LoadBG0Char
- pop {r3-r7, pc}
-_02017EC2:
- add r0, r4, #0x0
- add r1, r5, #0x0
- add r2, r6, #0x0
- blx GX_LoadBG1Char
- pop {r3-r7, pc}
-_02017ECE:
- add r0, r4, #0x0
- add r1, r5, #0x0
- add r2, r6, #0x0
- blx GX_LoadBG2Char
- pop {r3-r7, pc}
-_02017EDA:
- add r0, r4, #0x0
- add r1, r5, #0x0
- add r2, r6, #0x0
- blx GX_LoadBG3Char
- pop {r3-r7, pc}
-_02017EE6:
- add r0, r4, #0x0
- add r1, r5, #0x0
- add r2, r6, #0x0
- blx GXS_LoadBG0Char
- pop {r3-r7, pc}
-_02017EF2:
- add r0, r4, #0x0
- add r1, r5, #0x0
- add r2, r6, #0x0
- blx GXS_LoadBG1Char
- pop {r3-r7, pc}
-_02017EFE:
- add r0, r4, #0x0
- add r1, r5, #0x0
- add r2, r6, #0x0
- blx GXS_LoadBG2Char
- pop {r3-r7, pc}
-_02017F0A:
- add r0, r4, #0x0
- add r1, r5, #0x0
- add r2, r6, #0x0
- blx GXS_LoadBG3Char
-_02017F14:
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02017F18
-FUN_02017F18: ; 0x02017F18
- push {r3-r7, lr}
- add r6, r0, #0x0
- add r5, r1, #0x0
- add r0, r3, #0x0
- add r7, r2, #0x0
- str r3, [sp, #0x0]
- bl FUN_020169D8
- add r4, r0, #0x0
- mov r1, #0x0
- add r2, r5, #0x0
- blx Call_FillMemWithValue
- add r0, r6, #0x0
- add r1, r4, #0x0
- add r2, r7, #0x0
- add r3, r5, #0x0
- bl FUN_02017E84
- ldr r0, [sp, #0x0]
- add r1, r4, #0x0
- bl FUN_02016A8C
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02017F48
-FUN_02017F48: ; 0x02017F48
- push {r3-r7, lr}
- sub sp, #0x8
- add r7, r1, #0x0
- add r4, r0, #0x0
- mov r1, #0x2c
- add r6, r7, #0x0
- add r4, #0x1f
- mul r6, r1
- ldrb r1, [r4, r6]
- ldr r0, [r0, #0x0]
- add r5, r2, #0x0
- mul r1, r3
- str r1, [sp, #0x0]
- bl FUN_020169D8
- str r0, [sp, #0x4]
- ldrb r0, [r4, r6]
- cmp r0, #0x20
- bne _02017F82
- lsl r2, r5, #0xc
- lsl r1, r5, #0x8
- lsl r0, r5, #0x4
- orr r1, r2
- orr r0, r1
- add r1, r5, #0x0
- orr r1, r0
- lsl r0, r1, #0x10
- add r5, r1, #0x0
- b _02017F8C
-_02017F82:
- lsl r2, r5, #0x18
- lsl r1, r5, #0x10
- lsl r0, r5, #0x8
- orr r1, r2
- orr r0, r1
-_02017F8C:
- orr r5, r0
- ldr r1, [sp, #0x4]
- ldr r2, [sp, #0x0]
- add r0, r5, #0x0
- blx MIi_CpuClearFast
- lsl r0, r7, #0x18
- ldrb r2, [r4, r6]
- ldr r3, [sp, #0x20]
- ldr r1, [sp, #0x4]
- mul r2, r3
- ldr r3, [sp, #0x0]
- lsr r0, r0, #0x18
- bl FUN_02017E84
- ldr r0, [sp, #0x4]
- bl FUN_02016A18
- add sp, #0x8
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02017FB4
-FUN_02017FB4: ; 0x02017FB4
- push {r3-r7, lr}
- add r5, r1, #0x0
- add r4, r2, #0x0
- add r6, r0, #0x0
- add r0, r5, #0x0
- add r1, r4, #0x0
- add r7, r3, #0x0
- blx DC_FlushRange
- cmp r6, #0x4
- bhs _02017FD6
- add r0, r5, #0x0
- add r1, r7, #0x0
- add r2, r4, #0x0
- blx GX_LoadBGPltt
- pop {r3-r7, pc}
-_02017FD6:
- add r0, r5, #0x0
- add r1, r7, #0x0
- add r2, r4, #0x0
- blx GXS_LoadBGPltt
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02017FE4
-FUN_02017FE4: ; 0x02017FE4
- push {r0-r3}
- push {r3, lr}
- add r1, sp, #0xc
- mov r2, #0x2
- mov r3, #0x0
- bl FUN_02017FB4
- pop {r3}
- pop {r3}
- add sp, #0x10
- bx r3
- .balign 4
-
- thumb_func_start FUN_02017FFC
-FUN_02017FFC: ; 0x02017FFC
- cmp r2, #0x5
- bhi _02018066
- add r2, r2, r2
- add r2, pc
- ldrh r2, [r2, #0x6]
- lsl r2, r2, #0x10
- asr r2, r2, #0x10
- add pc, r2
-_0201800C: ; jump table (using 16-bit offset)
- .short _02018018 - _0201800C - 2; case 0
- .short _02018022 - _0201800C - 2; case 1
- .short _02018022 - _0201800C - 2; case 2
- .short _0201802C - _0201800C - 2; case 3
- .short _02018042 - _0201800C - 2; case 4
- .short _02018064 - _0201800C - 2; case 5
-_02018018:
- lsl r1, r1, #0x4
- add r0, r0, r1
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- bx lr
-_02018022:
- lsl r1, r1, #0x5
- add r0, r0, r1
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- bx lr
-_0201802C:
- mov r2, #0x1f
- add r3, r0, #0x0
- and r3, r2
- mov r2, #0x1f
- bic r0, r2
- add r0, r1, r0
- lsl r0, r0, #0x5
- add r0, r3, r0
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- bx lr
-_02018042:
- asr r2, r1, #0x5
- asr r3, r0, #0x5
- lsl r2, r2, #0x1
- add r2, r3, r2
- lsl r2, r2, #0x10
- lsr r2, r2, #0x10
- lsl r2, r2, #0x1a
- lsr r3, r2, #0x10
- mov r2, #0x1f
- and r2, r0
- lsl r0, r1, #0x1b
- lsr r0, r0, #0x16
- add r0, r2, r0
- add r0, r3, r0
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- bx lr
-_02018064:
- mov r0, #0x0
-_02018066:
- bx lr
-
- thumb_func_start FUN_02018068
-FUN_02018068: ; 0x02018068
- push {r3-r7}
- sub sp, #0x4
- str r3, [sp, #0x0]
- add r6, r2, #0x0
- ldr r5, [sp, #0x0]
- add r4, r6, #0x0
- sub r4, #0x20
- sub r5, #0x20
- mov r2, #0x0
- lsl r4, r4, #0x10
- lsl r5, r5, #0x10
- add r3, r2, #0x0
- asr r4, r4, #0x10
- asr r7, r5, #0x10
- lsr r5, r0, #0x5
- beq _0201808E
- add r2, r2, #0x1
- lsl r2, r2, #0x18
- lsr r2, r2, #0x18
-_0201808E:
- lsr r5, r1, #0x5
- beq _02018098
- add r2, r2, #0x2
- lsl r2, r2, #0x18
- lsr r2, r2, #0x18
-_02018098:
- cmp r2, #0x3
- bhi _02018140
- add r2, r2, r2
- add r2, pc
- ldrh r2, [r2, #0x6]
- lsl r2, r2, #0x10
- asr r2, r2, #0x10
- add pc, r2
-_020180A8: ; jump table (using 16-bit offset)
- .short _020180B0 - _020180A8 - 2; case 0
- .short _020180CE - _020180A8 - 2; case 1
- .short _020180F4 - _020180A8 - 2; case 2
- .short _02018120 - _020180A8 - 2; case 3
-_020180B0:
- cmp r4, #0x0
- blt _020180C0
- lsl r1, r1, #0x5
- add r0, r0, r1
- add r0, r3, r0
- lsl r0, r0, #0x10
- lsr r3, r0, #0x10
- b _02018140
-_020180C0:
- add r2, r1, #0x0
- mul r2, r6
- add r0, r0, r2
- add r0, r3, r0
- lsl r0, r0, #0x10
- lsr r3, r0, #0x10
- b _02018140
-_020180CE:
- cmp r7, #0x0
- blt _020180D8
- mov r2, #0x1
- lsl r2, r2, #0xa
- b _020180DC
-_020180D8:
- ldr r2, [sp, #0x0]
- lsl r2, r2, #0x5
-_020180DC:
- add r2, r3, r2
- lsl r2, r2, #0x10
- lsr r3, r2, #0x10
- mov r2, #0x1f
- and r2, r0
- add r0, r1, #0x0
- mul r0, r4
- add r0, r2, r0
- add r0, r3, r0
- lsl r0, r0, #0x10
- lsr r3, r0, #0x10
- b _02018140
-_020180F4:
- lsl r2, r6, #0x5
- add r2, r3, r2
- lsl r2, r2, #0x10
- lsr r2, r2, #0x10
- cmp r4, #0x0
- blt _0201810E
- lsl r1, r1, #0x1b
- lsr r1, r1, #0x16
- add r0, r0, r1
- add r0, r2, r0
- lsl r0, r0, #0x10
- lsr r3, r0, #0x10
- b _02018140
-_0201810E:
- mov r3, #0x1f
- and r1, r3
- add r3, r1, #0x0
- mul r3, r6
- add r0, r0, r3
- add r0, r2, r0
- lsl r0, r0, #0x10
- lsr r3, r0, #0x10
- b _02018140
-_02018120:
- add r2, r6, r7
- lsl r2, r2, #0x5
- add r2, r3, r2
- add r5, r0, #0x0
- mov r3, #0x1f
- add r0, r1, #0x0
- and r0, r3
- add r1, r0, #0x0
- lsl r2, r2, #0x10
- and r5, r3
- mul r1, r4
- lsr r2, r2, #0x10
- add r0, r5, r1
- add r0, r2, r0
- lsl r0, r0, #0x10
- lsr r3, r0, #0x10
-_02018140:
- add r0, r3, #0x0
- add sp, #0x4
- pop {r3-r7}
- bx lr
-
- thumb_func_start FUN_02018148
-FUN_02018148: ; 0x02018148
- push {r3-r6, lr}
- sub sp, #0x1c
- add r6, sp, #0x20
- ldrb r5, [r6, #0x14]
- str r5, [sp, #0x0]
- ldrb r4, [r6, #0x18]
- str r4, [sp, #0x4]
- str r2, [sp, #0x8]
- mov r2, #0x0
- str r2, [sp, #0xc]
- str r2, [sp, #0x10]
- str r5, [sp, #0x14]
- str r4, [sp, #0x18]
- add r2, r3, #0x0
- ldrb r3, [r6, #0x10]
- bl FUN_02018170
- add sp, #0x1c
- pop {r3-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02018170
-FUN_02018170: ; 0x02018170
- push {r4-r5, lr}
- sub sp, #0x1c
- add r4, r2, #0x0
- add r2, r3, #0x0
- mov r3, #0x2c
- add r5, r1, #0x0
- mul r5, r3
- add r1, r0, r5
- ldrb r1, [r1, #0x1c]
- add r3, sp, #0x18
- cmp r1, #0x1
- beq _020181BA
- ldrb r1, [r3, #0x14]
- add r0, #0x8
- add r0, r0, r5
- str r1, [sp, #0x0]
- ldr r1, [sp, #0x30]
- str r1, [sp, #0x4]
- ldrb r1, [r3, #0x1c]
- str r1, [sp, #0x8]
- add r1, sp, #0x38
- ldrb r1, [r1, #0x0]
- str r1, [sp, #0xc]
- add r1, sp, #0x3c
- ldrb r1, [r1, #0x0]
- str r1, [sp, #0x10]
- add r1, sp, #0x40
- ldrb r1, [r1, #0x0]
- str r1, [sp, #0x14]
- mov r1, #0x0
- str r1, [sp, #0x18]
- ldrb r3, [r3, #0x10]
- add r1, r4, #0x0
- bl FUN_02018268
- add sp, #0x1c
- pop {r4-r5, pc}
-_020181BA:
- ldrb r1, [r3, #0x14]
- add r0, #0x8
- add r0, r0, r5
- str r1, [sp, #0x0]
- ldr r1, [sp, #0x30]
- str r1, [sp, #0x4]
- ldrb r1, [r3, #0x1c]
- str r1, [sp, #0x8]
- add r1, sp, #0x38
- ldrb r1, [r1, #0x0]
- str r1, [sp, #0xc]
- add r1, sp, #0x3c
- ldrb r1, [r1, #0x0]
- str r1, [sp, #0x10]
- add r1, sp, #0x40
- ldrb r1, [r1, #0x0]
- str r1, [sp, #0x14]
- mov r1, #0x0
- str r1, [sp, #0x18]
- ldrb r3, [r3, #0x10]
- add r1, r4, #0x0
- bl FUN_020183DC
- add sp, #0x1c
- pop {r4-r5, pc}
-
- thumb_func_start FUN_020181EC
-FUN_020181EC: ; 0x020181EC
- push {r4-r5, lr}
- sub sp, #0x1c
- add r4, r2, #0x0
- add r2, r3, #0x0
- mov r3, #0x2c
- add r5, r1, #0x0
- mul r5, r3
- add r1, r0, r5
- ldrb r1, [r1, #0x1c]
- add r3, sp, #0x18
- cmp r1, #0x1
- beq _02018236
- ldrb r1, [r3, #0x14]
- add r0, #0x8
- add r0, r0, r5
- str r1, [sp, #0x0]
- ldr r1, [sp, #0x30]
- str r1, [sp, #0x4]
- ldrb r1, [r3, #0x1c]
- str r1, [sp, #0x8]
- add r1, sp, #0x38
- ldrb r1, [r1, #0x0]
- str r1, [sp, #0xc]
- add r1, sp, #0x3c
- ldrb r1, [r1, #0x0]
- str r1, [sp, #0x10]
- add r1, sp, #0x40
- ldrb r1, [r1, #0x0]
- str r1, [sp, #0x14]
- mov r1, #0x1
- str r1, [sp, #0x18]
- ldrb r3, [r3, #0x10]
- add r1, r4, #0x0
- bl FUN_02018268
- add sp, #0x1c
- pop {r4-r5, pc}
-_02018236:
- ldrb r1, [r3, #0x14]
- add r0, #0x8
- add r0, r0, r5
- str r1, [sp, #0x0]
- ldr r1, [sp, #0x30]
- str r1, [sp, #0x4]
- ldrb r1, [r3, #0x1c]
- str r1, [sp, #0x8]
- add r1, sp, #0x38
- ldrb r1, [r1, #0x0]
- str r1, [sp, #0xc]
- add r1, sp, #0x3c
- ldrb r1, [r1, #0x0]
- str r1, [sp, #0x10]
- add r1, sp, #0x40
- ldrb r1, [r1, #0x0]
- str r1, [sp, #0x14]
- mov r1, #0x1
- str r1, [sp, #0x18]
- ldrb r3, [r3, #0x10]
- add r1, r4, #0x0
- bl FUN_020183DC
- add sp, #0x1c
- pop {r4-r5, pc}
-
- thumb_func_start FUN_02018268
-FUN_02018268: ; 0x02018268
- push {r4-r7, lr}
- sub sp, #0x44
- str r1, [sp, #0x0]
- str r2, [sp, #0x4]
- add r7, r0, #0x0
- ldr r0, [sp, #0x58]
- add r6, r3, #0x0
- str r0, [sp, #0x58]
- ldr r0, [sp, #0x5c]
- ldr r4, [sp, #0x68]
- str r0, [sp, #0x5c]
- ldr r0, [sp, #0x6c]
- str r0, [sp, #0x6c]
- ldr r0, [r7, #0x0]
- str r0, [sp, #0x2c]
- cmp r0, #0x0
- bne _0201828C
- b _020183D6
-_0201828C:
- ldrb r0, [r7, #0x15]
- add r1, sp, #0x40
- add r1, #0x1
- add r2, sp, #0x40
- bl FUN_02017850
- add r0, sp, #0x70
- ldrb r0, [r0, #0x0]
- cmp r0, #0x0
- bne _0201833A
- mov r0, #0x0
- str r0, [sp, #0x28]
- ldr r0, [sp, #0x58]
- cmp r0, #0x0
- bls _020182CA
- add r1, sp, #0x48
- ldrb r0, [r1, #0x1c]
- str r0, [sp, #0x1c]
- ldrb r0, [r1, #0x18]
- str r0, [sp, #0x18]
- lsl r1, r0, #0x1
- ldr r0, [sp, #0x5c]
- add r0, r0, r1
- str r0, [sp, #0x14]
-_020182BC:
- ldr r1, [sp, #0x4]
- ldr r0, [sp, #0x28]
- add r0, r1, r0
- add r1, sp, #0x40
- ldrb r1, [r1, #0x0]
- cmp r0, r1
- blt _020182CC
-_020182CA:
- b _020183D6
-_020182CC:
- ldr r2, [sp, #0x1c]
- ldr r1, [sp, #0x28]
- add r2, r2, r1
- ldr r1, [sp, #0x6c]
- cmp r2, r1
- bge _020183D6
- mov r5, #0x0
- cmp r6, #0x0
- bls _02018326
- add r1, r4, #0x0
- mul r1, r2
- lsl r2, r1, #0x1
- ldr r1, [sp, #0x14]
- lsl r0, r0, #0x18
- add r1, r1, r2
- lsr r0, r0, #0x18
- str r1, [sp, #0x10]
- str r0, [sp, #0x30]
-_020182F0:
- add r1, sp, #0x40
- ldr r0, [sp, #0x0]
- ldrb r1, [r1, #0x1]
- add r0, r0, r5
- cmp r0, r1
- bge _02018326
- ldr r1, [sp, #0x18]
- add r1, r1, r5
- cmp r1, r4
- bge _02018326
- ldrb r2, [r7, #0x15]
- lsl r0, r0, #0x18
- ldr r1, [sp, #0x30]
- lsr r0, r0, #0x18
- bl FUN_02017FFC
- ldr r1, [sp, #0x10]
- lsl r2, r5, #0x1
- ldrh r1, [r1, r2]
- lsl r2, r0, #0x1
- ldr r0, [sp, #0x2c]
- strh r1, [r0, r2]
- add r0, r5, #0x1
- lsl r0, r0, #0x18
- lsr r5, r0, #0x18
- cmp r5, r6
- blo _020182F0
-_02018326:
- ldr r0, [sp, #0x28]
- add r0, r0, #0x1
- lsl r0, r0, #0x18
- lsr r1, r0, #0x18
- str r1, [sp, #0x28]
- ldr r0, [sp, #0x58]
- cmp r1, r0
- blo _020182BC
- add sp, #0x44
- pop {r4-r7, pc}
-_0201833A:
- mov r0, #0x0
- str r0, [sp, #0x8]
- ldr r0, [sp, #0x58]
- cmp r0, #0x0
- bls _020183D6
- add r1, sp, #0x48
- ldrb r0, [r1, #0x1c]
- str r0, [sp, #0x24]
- ldrb r0, [r1, #0x18]
- str r0, [sp, #0x20]
-_0201834E:
- ldr r1, [sp, #0x4]
- ldr r0, [sp, #0x8]
- add r1, r1, r0
- add r0, sp, #0x40
- ldrb r0, [r0, #0x0]
- cmp r1, r0
- bge _020183D6
- ldr r2, [sp, #0x24]
- ldr r0, [sp, #0x8]
- add r0, r2, r0
- ldr r2, [sp, #0x6c]
- cmp r0, r2
- bge _020183D6
- mov r5, #0x0
- cmp r6, #0x0
- bls _020183C6
- lsl r1, r1, #0x18
- lsl r0, r0, #0x18
- lsr r1, r1, #0x18
- lsr r0, r0, #0x18
- str r1, [sp, #0x34]
- str r0, [sp, #0x3c]
-_0201837A:
- add r1, sp, #0x40
- ldr r0, [sp, #0x0]
- ldrb r1, [r1, #0x1]
- add r0, r0, r5
- cmp r0, r1
- bge _020183C6
- ldr r1, [sp, #0x20]
- add r1, r1, r5
- str r1, [sp, #0xc]
- cmp r1, r4
- bge _020183C6
- ldrb r2, [r7, #0x15]
- lsl r0, r0, #0x18
- ldr r1, [sp, #0x34]
- lsr r0, r0, #0x18
- bl FUN_02017FFC
- str r0, [sp, #0x38]
- ldr r0, [sp, #0xc]
- ldr r1, [sp, #0x3c]
- lsl r0, r0, #0x18
- ldr r3, [sp, #0x6c]
- lsr r0, r0, #0x18
- add r2, r4, #0x0
- bl FUN_02018068
- lsl r1, r0, #0x1
- ldr r0, [sp, #0x5c]
- ldrh r0, [r0, r1]
- ldr r1, [sp, #0x38]
- lsl r2, r1, #0x1
- ldr r1, [sp, #0x2c]
- strh r0, [r1, r2]
- add r0, r5, #0x1
- lsl r0, r0, #0x18
- lsr r5, r0, #0x18
- cmp r5, r6
- blo _0201837A
-_020183C6:
- ldr r0, [sp, #0x8]
- add r0, r0, #0x1
- lsl r0, r0, #0x18
- lsr r1, r0, #0x18
- str r1, [sp, #0x8]
- ldr r0, [sp, #0x58]
- cmp r1, r0
- blo _0201834E
-_020183D6:
- add sp, #0x44
- pop {r4-r7, pc}
- .balign 4
-
- thumb_func_start FUN_020183DC
-FUN_020183DC: ; 0x020183DC
- push {r4-r7, lr}
- sub sp, #0x44
- str r1, [sp, #0x0]
- str r2, [sp, #0x4]
- add r7, r0, #0x0
- ldr r0, [sp, #0x58]
- add r6, r3, #0x0
- str r0, [sp, #0x58]
- ldr r0, [sp, #0x5c]
- ldr r4, [sp, #0x68]
- str r0, [sp, #0x5c]
- ldr r0, [sp, #0x6c]
- str r0, [sp, #0x6c]
- ldr r0, [r7, #0x0]
- str r0, [sp, #0x2c]
- cmp r0, #0x0
- bne _02018400
- b _0201853C
-_02018400:
- ldrb r0, [r7, #0x15]
- add r1, sp, #0x40
- add r1, #0x1
- add r2, sp, #0x40
- bl FUN_02017850
- add r0, sp, #0x70
- ldrb r0, [r0, #0x0]
- cmp r0, #0x0
- bne _020184A4
- mov r0, #0x0
- str r0, [sp, #0x28]
- ldr r0, [sp, #0x58]
- cmp r0, #0x0
- bhi _02018420
- b _0201853C
-_02018420:
- add r1, sp, #0x48
- ldrb r0, [r1, #0x1c]
- str r0, [sp, #0x1c]
- ldrb r0, [r1, #0x18]
- ldr r1, [sp, #0x5c]
- str r0, [sp, #0x18]
- add r0, r1, r0
- str r0, [sp, #0x14]
-_02018430:
- ldr r1, [sp, #0x4]
- ldr r0, [sp, #0x28]
- add r0, r1, r0
- add r1, sp, #0x40
- ldrb r1, [r1, #0x0]
- cmp r0, r1
- bge _0201853C
- ldr r2, [sp, #0x1c]
- ldr r1, [sp, #0x28]
- add r2, r2, r1
- ldr r1, [sp, #0x6c]
- cmp r2, r1
- bge _0201853C
- mov r5, #0x0
- cmp r6, #0x0
- bls _02018490
- ldr r1, [sp, #0x14]
- mul r2, r4
- lsl r0, r0, #0x18
- add r1, r1, r2
- lsr r0, r0, #0x18
- str r1, [sp, #0x10]
- str r0, [sp, #0x30]
-_0201845E:
- add r1, sp, #0x40
- ldr r0, [sp, #0x0]
- ldrb r1, [r1, #0x1]
- add r0, r0, r5
- cmp r0, r1
- bge _02018490
- ldr r1, [sp, #0x18]
- add r1, r1, r5
- cmp r1, r4
- bge _02018490
- ldrb r2, [r7, #0x15]
- lsl r0, r0, #0x18
- ldr r1, [sp, #0x30]
- lsr r0, r0, #0x18
- bl FUN_02017FFC
- ldr r1, [sp, #0x10]
- ldrb r2, [r1, r5]
- ldr r1, [sp, #0x2c]
- strb r2, [r1, r0]
- add r0, r5, #0x1
- lsl r0, r0, #0x18
- lsr r5, r0, #0x18
- cmp r5, r6
- blo _0201845E
-_02018490:
- ldr r0, [sp, #0x28]
- add r0, r0, #0x1
- lsl r0, r0, #0x18
- lsr r1, r0, #0x18
- str r1, [sp, #0x28]
- ldr r0, [sp, #0x58]
- cmp r1, r0
- blo _02018430
- add sp, #0x44
- pop {r4-r7, pc}
-_020184A4:
- mov r0, #0x0
- str r0, [sp, #0x8]
- ldr r0, [sp, #0x58]
- cmp r0, #0x0
- bls _0201853C
- add r1, sp, #0x48
- ldrb r0, [r1, #0x1c]
- str r0, [sp, #0x24]
- ldrb r0, [r1, #0x18]
- str r0, [sp, #0x20]
-_020184B8:
- ldr r1, [sp, #0x4]
- ldr r0, [sp, #0x8]
- add r1, r1, r0
- add r0, sp, #0x40
- ldrb r0, [r0, #0x0]
- cmp r1, r0
- bge _0201853C
- ldr r2, [sp, #0x24]
- ldr r0, [sp, #0x8]
- add r0, r2, r0
- ldr r2, [sp, #0x6c]
- cmp r0, r2
- bge _0201853C
- mov r5, #0x0
- cmp r6, #0x0
- bls _0201852C
- lsl r1, r1, #0x18
- lsl r0, r0, #0x18
- lsr r1, r1, #0x18
- lsr r0, r0, #0x18
- str r1, [sp, #0x34]
- str r0, [sp, #0x3c]
-_020184E4:
- add r1, sp, #0x40
- ldr r0, [sp, #0x0]
- ldrb r1, [r1, #0x1]
- add r0, r0, r5
- cmp r0, r1
- bge _0201852C
- ldr r1, [sp, #0x20]
- add r1, r1, r5
- str r1, [sp, #0xc]
- cmp r1, r4
- bge _0201852C
- ldrb r2, [r7, #0x15]
- lsl r0, r0, #0x18
- ldr r1, [sp, #0x34]
- lsr r0, r0, #0x18
- bl FUN_02017FFC
- str r0, [sp, #0x38]
- ldr r0, [sp, #0xc]
- ldr r1, [sp, #0x3c]
- lsl r0, r0, #0x18
- ldr r3, [sp, #0x6c]
- lsr r0, r0, #0x18
- add r2, r4, #0x0
- bl FUN_02018068
- ldr r1, [sp, #0x5c]
- ldrb r2, [r1, r0]
- ldr r1, [sp, #0x2c]
- ldr r0, [sp, #0x38]
- strb r2, [r1, r0]
- add r0, r5, #0x1
- lsl r0, r0, #0x18
- lsr r5, r0, #0x18
- cmp r5, r6
- blo _020184E4
-_0201852C:
- ldr r0, [sp, #0x8]
- add r0, r0, #0x1
- lsl r0, r0, #0x18
- lsr r1, r0, #0x18
- str r1, [sp, #0x8]
- ldr r0, [sp, #0x58]
- cmp r1, r0
- blo _020184B8
-_0201853C:
- add sp, #0x44
- pop {r4-r7, pc}
-
- thumb_func_start FUN_02018540
-FUN_02018540: ; 0x02018540
- push {r4-r5, lr}
- sub sp, #0xc
- add r4, r2, #0x0
- add r2, r3, #0x0
- mov r3, #0x2c
- add r5, r1, #0x0
- mul r5, r3
- add r1, r0, r5
- ldrb r1, [r1, #0x1c]
- add r3, sp, #0x8
- cmp r1, #0x1
- beq _02018574
- ldrb r1, [r3, #0x14]
- add r0, #0x8
- add r0, r0, r5
- str r1, [sp, #0x0]
- ldrb r1, [r3, #0x18]
- str r1, [sp, #0x4]
- ldrb r1, [r3, #0x1c]
- str r1, [sp, #0x8]
- ldrb r3, [r3, #0x10]
- add r1, r4, #0x0
- bl FUN_02018590
- add sp, #0xc
- pop {r4-r5, pc}
-_02018574:
- ldrb r1, [r3, #0x14]
- add r0, #0x8
- add r0, r0, r5
- str r1, [sp, #0x0]
- ldrb r1, [r3, #0x18]
- str r1, [sp, #0x4]
- lsl r1, r4, #0x18
- ldrb r3, [r3, #0x10]
- lsr r1, r1, #0x18
- bl FUN_02018640
- add sp, #0xc
- pop {r4-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02018590
-FUN_02018590: ; 0x02018590
- push {r4-r7, lr}
- sub sp, #0x1c
- str r2, [sp, #0x4]
- str r3, [sp, #0x8]
- ldr r4, [r0, #0x0]
- add r7, r1, #0x0
- str r0, [sp, #0x0]
- ldr r6, [sp, #0x38]
- cmp r4, #0x0
- beq _0201863A
- ldrb r0, [r0, #0x15]
- add r1, sp, #0x18
- add r1, #0x1
- add r2, sp, #0x18
- bl FUN_02017850
- add r0, sp, #0x20
- ldrb r2, [r0, #0x14]
- ldr r1, [sp, #0x8]
- add r1, r1, r2
- ldr r2, [sp, #0x8]
- str r1, [sp, #0xc]
- cmp r2, r1
- bge _0201863A
- ldrb r2, [r0, #0x10]
- ldr r0, [sp, #0x4]
- lsl r1, r6, #0xc
- add r0, r0, r2
- add r1, r1, r7
- str r0, [sp, #0x10]
- lsl r0, r1, #0x10
- lsr r0, r0, #0x10
- str r0, [sp, #0x14]
-_020185D2:
- add r0, sp, #0x18
- ldrb r1, [r0, #0x0]
- ldr r0, [sp, #0x8]
- cmp r0, r1
- bhs _0201863A
- ldr r5, [sp, #0x4]
- ldr r0, [sp, #0x10]
- add r1, r5, #0x0
- cmp r1, r0
- bge _0201862A
-_020185E6:
- add r0, sp, #0x18
- ldrb r0, [r0, #0x1]
- cmp r5, r0
- bhs _0201862A
- ldr r2, [sp, #0x0]
- ldr r1, [sp, #0x8]
- ldrb r2, [r2, #0x15]
- add r0, r5, #0x0
- bl FUN_02017FFC
- cmp r6, #0x11
- bne _02018604
- lsl r0, r0, #0x1
- strh r7, [r4, r0]
- b _0201861E
-_02018604:
- cmp r6, #0x10
- bne _02018618
- lsl r0, r0, #0x1
- ldrh r2, [r4, r0]
- mov r1, #0xf
- lsl r1, r1, #0xc
- and r1, r2
- add r1, r7, r1
- strh r1, [r4, r0]
- b _0201861E
-_02018618:
- lsl r1, r0, #0x1
- ldr r0, [sp, #0x14]
- strh r0, [r4, r1]
-_0201861E:
- add r0, r5, #0x1
- lsl r0, r0, #0x18
- lsr r5, r0, #0x18
- ldr r0, [sp, #0x10]
- cmp r5, r0
- blt _020185E6
-_0201862A:
- ldr r0, [sp, #0x8]
- add r0, r0, #0x1
- lsl r0, r0, #0x18
- lsr r1, r0, #0x18
- ldr r0, [sp, #0xc]
- str r1, [sp, #0x8]
- cmp r1, r0
- blt _020185D2
-_0201863A:
- add sp, #0x1c
- pop {r4-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02018640
-FUN_02018640: ; 0x02018640
- push {r4-r7, lr}
- sub sp, #0x14
- str r1, [sp, #0x0]
- add r7, r0, #0x0
- str r2, [sp, #0x4]
- ldr r0, [r7, #0x0]
- add r5, r3, #0x0
- str r0, [sp, #0xc]
- cmp r0, #0x0
- beq _020186B0
- ldrb r0, [r7, #0x15]
- add r1, sp, #0x10
- add r1, #0x1
- add r2, sp, #0x10
- bl FUN_02017850
- add r1, sp, #0x18
- ldrb r0, [r1, #0x14]
- add r0, r5, r0
- str r0, [sp, #0x8]
- cmp r5, r0
- bge _020186B0
- ldrb r1, [r1, #0x10]
- ldr r0, [sp, #0x4]
- add r6, r0, r1
-_02018672:
- add r0, sp, #0x10
- ldrb r0, [r0, #0x0]
- cmp r5, r0
- bhs _020186B0
- ldr r4, [sp, #0x4]
- add r0, r4, #0x0
- cmp r0, r6
- bge _020186A4
-_02018682:
- add r0, sp, #0x10
- ldrb r0, [r0, #0x1]
- cmp r4, r0
- bhs _020186A4
- ldrb r2, [r7, #0x15]
- add r0, r4, #0x0
- add r1, r5, #0x0
- bl FUN_02017FFC
- ldr r2, [sp, #0x0]
- ldr r1, [sp, #0xc]
- strb r2, [r1, r0]
- add r0, r4, #0x1
- lsl r0, r0, #0x18
- lsr r4, r0, #0x18
- cmp r4, r6
- blt _02018682
-_020186A4:
- add r0, r5, #0x1
- lsl r0, r0, #0x18
- lsr r5, r0, #0x18
- ldr r0, [sp, #0x8]
- cmp r5, r0
- blt _02018672
-_020186B0:
- add sp, #0x14
- pop {r4-r7, pc}
-
- thumb_func_start FUN_020186B4
-FUN_020186B4: ; 0x020186B4
- push {r4-r7, lr}
- sub sp, #0x14
- add r5, r0, #0x0
- mov r0, #0x2c
- add r7, r1, #0x0
- mul r7, r0
- str r2, [sp, #0x0]
- add r0, r5, r7
- ldr r4, [r0, #0x8]
- add r6, r3, #0x0
- cmp r4, #0x0
- beq _0201873C
- ldrb r0, [r0, #0x1d]
- add r1, sp, #0x10
- add r1, #0x1
- add r2, sp, #0x10
- bl FUN_02017850
- add r0, sp, #0x18
- ldrb r1, [r0, #0x14]
- add r1, r6, r1
- str r1, [sp, #0x4]
- cmp r6, r1
- bge _0201873C
- add r1, r5, r7
- str r1, [sp, #0xc]
- ldrb r1, [r0, #0x18]
- lsl r1, r1, #0xc
- str r1, [sp, #0x8]
- ldrb r1, [r0, #0x10]
- ldr r0, [sp, #0x0]
- add r7, r0, r1
-_020186F4:
- add r0, sp, #0x10
- ldrb r0, [r0, #0x0]
- cmp r6, r0
- bhs _0201873C
- ldr r5, [sp, #0x0]
- add r0, r5, #0x0
- cmp r0, r7
- bge _02018730
-_02018704:
- add r0, sp, #0x10
- ldrb r0, [r0, #0x1]
- cmp r5, r0
- bhs _02018730
- ldr r2, [sp, #0xc]
- add r0, r5, #0x0
- ldrb r2, [r2, #0x1d]
- add r1, r6, #0x0
- bl FUN_02017FFC
- lsl r0, r0, #0x1
- ldrh r2, [r4, r0]
- ldr r1, _02018740 ; =0x00000FFF
- and r2, r1
- ldr r1, [sp, #0x8]
- orr r1, r2
- strh r1, [r4, r0]
- add r0, r5, #0x1
- lsl r0, r0, #0x18
- lsr r5, r0, #0x18
- cmp r5, r7
- blt _02018704
-_02018730:
- add r0, r6, #0x1
- lsl r0, r0, #0x18
- lsr r6, r0, #0x18
- ldr r0, [sp, #0x4]
- cmp r6, r0
- blt _020186F4
-_0201873C:
- add sp, #0x14
- pop {r4-r7, pc}
- .balign 4
-_02018740: .word 0x00000FFF
-
- thumb_func_start FUN_02018744
-FUN_02018744: ; 0x02018744
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- mov r0, #0x2c
- mul r0, r4
- add r2, r5, r0
- ldr r1, [r2, #0x8]
- cmp r1, #0x0
- beq _02018766
- ldr r2, [r2, #0xc]
- mov r0, #0x0
- blx MIi_CpuClear16
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02017CD0
-_02018766:
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02018768
-FUN_02018768: ; 0x02018768
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- mov r0, #0x2c
- mul r0, r4
- add r3, r5, r0
- ldr r1, [r3, #0x8]
- cmp r1, #0x0
- beq _0201878A
- add r0, r2, #0x0
- ldr r2, [r3, #0xc]
- blx MIi_CpuClear16
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02017CD0
-_0201878A:
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0201878C
-FUN_0201878C: ; 0x0201878C
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- mov r0, #0x2c
- mul r0, r4
- add r3, r5, r0
- ldr r1, [r3, #0x8]
- cmp r1, #0x0
- beq _020187AE
- add r0, r2, #0x0
- ldr r2, [r3, #0xc]
- blx MIi_CpuClear16
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_0201AC68
-_020187AE:
- pop {r3-r5, pc}
-
- thumb_func_start FUN_020187B0
-FUN_020187B0: ; 0x020187B0
- push {r3, lr}
- cmp r0, #0x7
- bhi _02018802
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_020187C2: ; jump table (using 16-bit offset)
- .short _020187D2 - _020187C2 - 2; case 0
- .short _020187D8 - _020187C2 - 2; case 1
- .short _020187DE - _020187C2 - 2; case 2
- .short _020187E4 - _020187C2 - 2; case 3
- .short _020187EA - _020187C2 - 2; case 4
- .short _020187F0 - _020187C2 - 2; case 5
- .short _020187F6 - _020187C2 - 2; case 6
- .short _020187FC - _020187C2 - 2; case 7
-_020187D2:
- blx G2_GetBG0CharPtr
- pop {r3, pc}
-_020187D8:
- blx G2_GetBG1CharPtr
- pop {r3, pc}
-_020187DE:
- blx G2_GetBG2CharPtr
- pop {r3, pc}
-_020187E4:
- blx G2_GetBG3CharPtr
- pop {r3, pc}
-_020187EA:
- blx G2S_GetBG0CharPtr
- pop {r3, pc}
-_020187F0:
- blx G2S_GetBG1CharPtr
- pop {r3, pc}
-_020187F6:
- blx G2S_GetBG2CharPtr
- pop {r3, pc}
-_020187FC:
- blx G2S_GetBG3CharPtr
- pop {r3, pc}
-_02018802:
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_02018808
-FUN_02018808: ; 0x02018808
- push {r4-r7}
- lsl r3, r3, #0x1c
- lsr r3, r3, #0x18
- mov r4, #0x0
- cmp r1, #0x0
- bls _02018842
- mov r5, #0xf
- add r6, r5, #0x0
-_02018818:
- ldrb r7, [r0, r4]
- and r7, r6
- strb r7, [r2, #0x0]
- ldrb r7, [r2, #0x0]
- cmp r7, #0x0
- beq _02018828
- add r7, r7, r3
- strb r7, [r2, #0x0]
-_02018828:
- ldrb r7, [r0, r4]
- asr r7, r7, #0x4
- and r7, r5
- strb r7, [r2, #0x1]
- ldrb r7, [r2, #0x1]
- cmp r7, #0x0
- beq _0201883A
- add r7, r7, r3
- strb r7, [r2, #0x1]
-_0201883A:
- add r4, r4, #0x1
- add r2, r2, #0x2
- cmp r4, r1
- blo _02018818
-_02018842:
- pop {r4-r7}
- bx lr
- .balign 4
-
- thumb_func_start FUN_02018848
-FUN_02018848: ; 0x02018848
- push {r3-r7, lr}
- add r5, r1, #0x0
- add r6, r0, #0x0
- add r0, r3, #0x0
- lsl r1, r5, #0x1
- add r7, r2, #0x0
- bl FUN_02016998
- add r4, r0, #0x0
- add r0, r6, #0x0
- add r1, r5, #0x0
- add r2, r4, #0x0
- add r3, r7, #0x0
- bl FUN_02018808
- add r0, r4, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0201886C
-FUN_0201886C: ; 0x0201886C
- mov r2, #0x2c
- mul r2, r1
- add r0, r0, r2
- ldr r0, [r0, #0x8]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02018878
-FUN_02018878: ; 0x02018878
- mov r2, #0x2c
- mul r2, r1
- add r0, r0, r2
- ldrh r0, [r0, #0x20]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02018884
-FUN_02018884: ; 0x02018884
- sub sp, #0x20
- cmp r1, #0x7
- bls _0201888C
- b _02018A38
-_0201888C:
- add r2, r1, r1
- add r2, pc
- ldrh r2, [r2, #0x6]
- lsl r2, r2, #0x10
- asr r2, r2, #0x10
- add pc, r2
-_02018898: ; jump table (using 16-bit offset)
- .short _020188A8 - _02018898 - 2; case 0
- .short _020188BC - _02018898 - 2; case 1
- .short _020188D0 - _02018898 - 2; case 2
- .short _02018920 - _02018898 - 2; case 3
- .short _02018970 - _02018898 - 2; case 4
- .short _02018984 - _02018898 - 2; case 5
- .short _02018998 - _02018898 - 2; case 6
- .short _020189E8 - _02018898 - 2; case 7
-_020188A8:
- ldr r0, _02018A40 ; =0x04000008
- ldrh r1, [r0, #0x0]
- add r0, sp, #0x0
- add sp, #0x20
- strh r1, [r0, #0x1e]
- lsl r0, r1, #0x1e
- lsr r0, r0, #0x1e
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- bx lr
-_020188BC:
- ldr r0, _02018A44 ; =0x0400000A
- ldrh r1, [r0, #0x0]
- add r0, sp, #0x0
- add sp, #0x20
- strh r1, [r0, #0x1c]
- lsl r0, r1, #0x1e
- lsr r0, r0, #0x1e
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- bx lr
-_020188D0:
- mov r2, #0x2c
- mul r2, r1
- add r0, r0, r2
- ldrb r0, [r0, #0x1c]
- cmp r0, #0x0
- beq _020188E4
- cmp r0, #0x1
- beq _020188F8
- cmp r0, #0x2
- beq _0201890C
-_020188E4:
- ldr r0, _02018A48 ; =0x0400000C
- ldrh r1, [r0, #0x0]
- add r0, sp, #0x0
- add sp, #0x20
- strh r1, [r0, #0x1a]
- lsl r0, r1, #0x1e
- lsr r0, r0, #0x1e
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- bx lr
-_020188F8:
- ldr r0, _02018A48 ; =0x0400000C
- ldrh r1, [r0, #0x0]
- add r0, sp, #0x0
- add sp, #0x20
- strh r1, [r0, #0x18]
- lsl r0, r1, #0x1e
- lsr r0, r0, #0x1e
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- bx lr
-_0201890C:
- ldr r0, _02018A48 ; =0x0400000C
- ldrh r1, [r0, #0x0]
- add r0, sp, #0x0
- add sp, #0x20
- strh r1, [r0, #0x16]
- lsl r0, r1, #0x1e
- lsr r0, r0, #0x1e
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- bx lr
-_02018920:
- mov r2, #0x2c
- mul r2, r1
- add r0, r0, r2
- ldrb r0, [r0, #0x1c]
- cmp r0, #0x0
- beq _02018934
- cmp r0, #0x1
- beq _02018948
- cmp r0, #0x2
- beq _0201895C
-_02018934:
- ldr r0, _02018A4C ; =0x0400000E
- ldrh r1, [r0, #0x0]
- add r0, sp, #0x0
- add sp, #0x20
- strh r1, [r0, #0x14]
- lsl r0, r1, #0x1e
- lsr r0, r0, #0x1e
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- bx lr
-_02018948:
- ldr r0, _02018A4C ; =0x0400000E
- ldrh r1, [r0, #0x0]
- add r0, sp, #0x0
- add sp, #0x20
- strh r1, [r0, #0x12]
- lsl r0, r1, #0x1e
- lsr r0, r0, #0x1e
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- bx lr
-_0201895C:
- ldr r0, _02018A4C ; =0x0400000E
- ldrh r1, [r0, #0x0]
- add r0, sp, #0x0
- add sp, #0x20
- strh r1, [r0, #0x10]
- lsl r0, r1, #0x1e
- lsr r0, r0, #0x1e
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- bx lr
-_02018970:
- ldr r0, _02018A50 ; =0x04001008
- ldrh r1, [r0, #0x0]
- add r0, sp, #0x0
- add sp, #0x20
- strh r1, [r0, #0xe]
- lsl r0, r1, #0x1e
- lsr r0, r0, #0x1e
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- bx lr
-_02018984:
- ldr r0, _02018A54 ; =0x0400100A
- ldrh r1, [r0, #0x0]
- add r0, sp, #0x0
- add sp, #0x20
- strh r1, [r0, #0xc]
- lsl r0, r1, #0x1e
- lsr r0, r0, #0x1e
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- bx lr
-_02018998:
- mov r2, #0x2c
- mul r2, r1
- add r0, r0, r2
- ldrb r0, [r0, #0x1c]
- cmp r0, #0x0
- beq _020189AC
- cmp r0, #0x1
- beq _020189C0
- cmp r0, #0x2
- beq _020189D4
-_020189AC:
- ldr r0, _02018A58 ; =0x0400100C
- ldrh r1, [r0, #0x0]
- add r0, sp, #0x0
- add sp, #0x20
- strh r1, [r0, #0xa]
- lsl r0, r1, #0x1e
- lsr r0, r0, #0x1e
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- bx lr
-_020189C0:
- ldr r0, _02018A58 ; =0x0400100C
- ldrh r1, [r0, #0x0]
- add r0, sp, #0x0
- add sp, #0x20
- strh r1, [r0, #0x8]
- lsl r0, r1, #0x1e
- lsr r0, r0, #0x1e
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- bx lr
-_020189D4:
- ldr r0, _02018A58 ; =0x0400100C
- ldrh r1, [r0, #0x0]
- add r0, sp, #0x0
- add sp, #0x20
- strh r1, [r0, #0x6]
- lsl r0, r1, #0x1e
- lsr r0, r0, #0x1e
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- bx lr
-_020189E8:
- mov r2, #0x2c
- mul r2, r1
- add r0, r0, r2
- ldrb r0, [r0, #0x1c]
- cmp r0, #0x0
- beq _020189FC
- cmp r0, #0x1
- beq _02018A10
- cmp r0, #0x2
- beq _02018A24
-_020189FC:
- ldr r0, _02018A5C ; =0x0400100E
- ldrh r1, [r0, #0x0]
- add r0, sp, #0x0
- add sp, #0x20
- strh r1, [r0, #0x4]
- lsl r0, r1, #0x1e
- lsr r0, r0, #0x1e
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- bx lr
-_02018A10:
- ldr r0, _02018A5C ; =0x0400100E
- ldrh r1, [r0, #0x0]
- add r0, sp, #0x0
- add sp, #0x20
- strh r1, [r0, #0x2]
- lsl r0, r1, #0x1e
- lsr r0, r0, #0x1e
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- bx lr
-_02018A24:
- ldr r0, _02018A5C ; =0x0400100E
- ldrh r1, [r0, #0x0]
- add r0, sp, #0x0
- add sp, #0x20
- strh r1, [r0, #0x0]
- lsl r0, r1, #0x1e
- lsr r0, r0, #0x1e
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- bx lr
-_02018A38:
- mov r0, #0x0
- add sp, #0x20
- bx lr
- nop
-_02018A40: .word 0x04000008
-_02018A44: .word 0x0400000A
-_02018A48: .word 0x0400000C
-_02018A4C: .word 0x0400000E
-_02018A50: .word 0x04001008
-_02018A54: .word 0x0400100A
-_02018A58: .word 0x0400100C
-_02018A5C: .word 0x0400100E
-
- thumb_func_start FUN_02018A60
-FUN_02018A60: ; 0x02018A60
- push {r3-r7, lr}
- sub sp, #0x68
- str r2, [sp, #0x8]
- str r3, [sp, #0xc]
- add r2, sp, #0x70
- str r0, [sp, #0x0]
- ldrh r0, [r2, #0x10]
- str r1, [sp, #0x4]
- ldrh r2, [r2, #0x18]
- str r0, [sp, #0x10]
- add r0, r1, #0x0
- ldrh r1, [r0, #0x4]
- ldr r0, [sp, #0x10]
- sub r3, r1, r0
- cmp r3, r2
- bge _02018A88
- ldr r0, [sp, #0x8]
- add r0, r0, r3
- str r0, [sp, #0x50]
- b _02018A8E
-_02018A88:
- ldr r0, [sp, #0x8]
- add r0, r2, r0
- str r0, [sp, #0x50]
-_02018A8E:
- ldr r2, [sp, #0x4]
- add r3, sp, #0x70
- ldrh r0, [r3, #0x14]
- ldrh r2, [r2, #0x6]
- ldrh r3, [r3, #0x1c]
- sub r4, r2, r0
- cmp r4, r3
- bge _02018AA6
- ldr r2, [sp, #0xc]
- add r2, r2, r4
- str r2, [sp, #0x4c]
- b _02018AAC
-_02018AA6:
- ldr r2, [sp, #0xc]
- add r2, r3, r2
- str r2, [sp, #0x4c]
-_02018AAC:
- ldr r2, [sp, #0x0]
- mov r3, #0x7
- ldrh r4, [r2, #0x4]
- add r2, r4, #0x0
- and r2, r3
- add r2, r4, r2
- asr r2, r2, #0x3
- str r2, [sp, #0x48]
- add r2, r1, #0x0
- and r2, r3
- add r1, r1, r2
- asr r1, r1, #0x3
- str r1, [sp, #0x44]
- add r1, sp, #0x70
- ldrh r1, [r1, #0x20]
- ldr r2, _02018C98 ; =0x0000FFFF
- str r1, [sp, #0x38]
- cmp r1, r2
- bne _02018BB4
- ldr r2, [sp, #0xc]
- ldr r1, [sp, #0x4c]
- cmp r2, r1
- bge _02018ADE
- cmp r2, r1
- blt _02018AE0
-_02018ADE:
- b _02018C92
-_02018AE0:
- add r1, r2, #0x0
- lsl r1, r1, #0x2
- lsl r0, r0, #0x2
- str r1, [sp, #0x28]
- str r0, [sp, #0x24]
-_02018AEA:
- ldr r3, [sp, #0x8]
- ldr r0, [sp, #0x50]
- add r1, r3, #0x0
- ldr r4, [sp, #0x10]
- cmp r1, r0
- bge _02018B96
- cmp r1, r0
- bge _02018B96
- add r0, r3, #0x0
- lsl r5, r0, #0x2
- add r0, r4, #0x0
- lsl r6, r0, #0x2
- ldr r0, _02018C9C ; =0x00003FE0
- ldr r1, [sp, #0x28]
- ldr r2, [sp, #0x48]
- and r1, r0
- mul r2, r1
- str r2, [sp, #0x20]
- ldr r2, [sp, #0x28]
- mov r1, #0x1c
- and r2, r1
- str r2, [sp, #0x1c]
- ldr r2, [sp, #0x24]
- and r0, r2
- ldr r2, [sp, #0x44]
- mul r2, r0
- ldr r0, [sp, #0x24]
- str r2, [sp, #0x18]
- and r0, r1
- str r0, [sp, #0x14]
-_02018B26:
- ldr r0, [sp, #0x4]
- asr r2, r4, #0x1
- mov r1, #0x3
- ldr r0, [r0, #0x0]
- and r1, r2
- add r1, r0, r1
- ldr r0, _02018C9C ; =0x00003FE0
- and r0, r6
- add r1, r1, r0
- ldr r0, [sp, #0x18]
- add r6, r6, #0x4
- add r0, r1, r0
- str r0, [sp, #0x64]
- lsl r0, r4, #0x1f
- lsr r2, r0, #0x1d
- ldr r0, [sp, #0x0]
- asr r1, r3, #0x1
- ldr r7, [r0, #0x0]
- mov r0, #0x3
- and r0, r1
- ldr r1, _02018C9C ; =0x00003FE0
- add r4, r4, #0x1
- and r1, r5
- str r1, [sp, #0x54]
- add r1, r7, r0
- ldr r0, [sp, #0x54]
- add r5, r5, #0x4
- add r1, r0, r1
- ldr r0, [sp, #0x20]
- add r1, r0, r1
- ldr r0, [sp, #0x1c]
- ldrb r1, [r0, r1]
- lsl r0, r3, #0x1f
- lsr r0, r0, #0x1d
- asr r1, r0
- mov r0, #0xf
- and r0, r1
- add r7, r0, #0x0
- ldr r1, [sp, #0x14]
- ldr r0, [sp, #0x64]
- lsl r7, r2
- ldrb r0, [r0, r1]
- add r3, r3, #0x1
- str r0, [sp, #0x58]
- mov r0, #0xf0
- asr r0, r2
- ldr r1, [sp, #0x58]
- add r2, r7, #0x0
- and r0, r1
- orr r2, r0
- ldr r1, [sp, #0x14]
- ldr r0, [sp, #0x64]
- strb r2, [r0, r1]
- ldr r0, [sp, #0x50]
- cmp r3, r0
- blt _02018B26
-_02018B96:
- ldr r0, [sp, #0x28]
- add r0, r0, #0x4
- str r0, [sp, #0x28]
- ldr r0, [sp, #0xc]
- add r0, r0, #0x1
- str r0, [sp, #0xc]
- ldr r0, [sp, #0x24]
- ldr r1, [sp, #0xc]
- add r0, r0, #0x4
- str r0, [sp, #0x24]
- ldr r0, [sp, #0x4c]
- cmp r1, r0
- blt _02018AEA
- add sp, #0x68
- pop {r3-r7, pc}
-_02018BB4:
- ldr r2, [sp, #0xc]
- ldr r1, [sp, #0x4c]
- cmp r2, r1
- bge _02018C92
- cmp r2, r1
- bge _02018C92
- add r1, r2, #0x0
- lsl r1, r1, #0x2
- lsl r0, r0, #0x2
- str r1, [sp, #0x40]
- str r0, [sp, #0x3c]
-_02018BCA:
- ldr r3, [sp, #0x8]
- ldr r0, [sp, #0x50]
- add r1, r3, #0x0
- ldr r4, [sp, #0x10]
- cmp r1, r0
- bge _02018C78
- cmp r1, r0
- bge _02018C78
- add r0, r3, #0x0
- lsl r1, r0, #0x2
- add r0, r4, #0x0
- lsl r2, r0, #0x2
- ldr r0, _02018C9C ; =0x00003FE0
- ldr r5, [sp, #0x40]
- ldr r6, [sp, #0x48]
- and r5, r0
- mul r6, r5
- str r6, [sp, #0x34]
- ldr r6, [sp, #0x40]
- mov r5, #0x1c
- and r6, r5
- str r6, [sp, #0x30]
- ldr r6, [sp, #0x3c]
- and r0, r6
- ldr r6, [sp, #0x44]
- mul r6, r0
- ldr r0, [sp, #0x3c]
- str r6, [sp, #0x2c]
- and r0, r5
- str r0, [sp, #0x60]
-_02018C06:
- ldr r0, [sp, #0x4]
- asr r6, r4, #0x1
- mov r5, #0x3
- and r5, r6
- ldr r0, [r0, #0x0]
- asr r6, r3, #0x1
- add r5, r0, r5
- ldr r0, _02018C9C ; =0x00003FE0
- and r0, r2
- add r5, r5, r0
- ldr r0, [sp, #0x2c]
- add r5, r5, r0
- ldr r0, [sp, #0x0]
- ldr r7, [r0, #0x0]
- mov r0, #0x3
- and r0, r6
- ldr r6, _02018C9C ; =0x00003FE0
- and r6, r1
- str r6, [sp, #0x5c]
- add r6, r7, r0
- ldr r0, [sp, #0x5c]
- add r6, r0, r6
- ldr r0, [sp, #0x34]
- add r6, r0, r6
- ldr r0, [sp, #0x30]
- ldrb r6, [r0, r6]
- lsl r0, r3, #0x1f
- lsr r0, r0, #0x1d
- asr r6, r0
- mov r0, #0xf
- and r0, r6
- ldr r6, [sp, #0x38]
- cmp r0, r6
- beq _02018C6A
- lsl r6, r4, #0x1f
- lsr r7, r6, #0x1d
- lsl r0, r7
- mov lr, r0
- ldr r0, [sp, #0x60]
- ldrb r0, [r5, r0]
- mov r12, r0
- mov r0, #0xf0
- add r6, r0, #0x0
- asr r6, r7
- mov r0, r12
- and r0, r6
- mov r6, lr
- orr r6, r0
- ldr r0, [sp, #0x60]
- strb r6, [r5, r0]
-_02018C6A:
- ldr r0, [sp, #0x50]
- add r3, r3, #0x1
- add r1, r1, #0x4
- add r2, r2, #0x4
- add r4, r4, #0x1
- cmp r3, r0
- blt _02018C06
-_02018C78:
- ldr r0, [sp, #0x40]
- add r0, r0, #0x4
- str r0, [sp, #0x40]
- ldr r0, [sp, #0xc]
- add r0, r0, #0x1
- str r0, [sp, #0xc]
- ldr r0, [sp, #0x3c]
- ldr r1, [sp, #0xc]
- add r0, r0, #0x4
- str r0, [sp, #0x3c]
- ldr r0, [sp, #0x4c]
- cmp r1, r0
- blt _02018BCA
-_02018C92:
- add sp, #0x68
- pop {r3-r7, pc}
- nop
-_02018C98: .word 0x0000FFFF
-_02018C9C: .word 0x00003FE0
-
- thumb_func_start FUN_02018CA0
-FUN_02018CA0: ; 0x02018CA0
- push {r3-r7, lr}
- sub sp, #0x50
- str r2, [sp, #0x8]
- str r3, [sp, #0xc]
- add r2, sp, #0x58
- str r0, [sp, #0x0]
- ldrh r0, [r2, #0x10]
- str r1, [sp, #0x4]
- ldrh r2, [r2, #0x18]
- str r0, [sp, #0x10]
- add r0, r1, #0x0
- ldrh r1, [r0, #0x4]
- ldr r0, [sp, #0x10]
- sub r3, r1, r0
- cmp r3, r2
- bge _02018CC6
- ldr r0, [sp, #0x8]
- add r0, r0, r3
- b _02018CCA
-_02018CC6:
- ldr r0, [sp, #0x8]
- add r0, r2, r0
-_02018CCA:
- ldr r2, [sp, #0x4]
- add r3, sp, #0x58
- mov r12, r0
- ldrh r0, [r3, #0x14]
- ldrh r2, [r2, #0x6]
- ldrh r3, [r3, #0x1c]
- sub r4, r2, r0
- cmp r4, r3
- bge _02018CE2
- ldr r2, [sp, #0xc]
- add r2, r2, r4
- b _02018CE6
-_02018CE2:
- ldr r2, [sp, #0xc]
- add r2, r3, r2
-_02018CE6:
- mov lr, r2
- ldr r2, [sp, #0x0]
- mov r3, #0x7
- ldrh r4, [r2, #0x4]
- add r2, r4, #0x0
- and r2, r3
- add r2, r4, r2
- asr r2, r2, #0x3
- str r2, [sp, #0x4c]
- add r2, r1, #0x0
- and r2, r3
- add r1, r1, r2
- asr r1, r1, #0x3
- str r1, [sp, #0x48]
- add r1, sp, #0x58
- ldrh r1, [r1, #0x20]
- ldr r2, _02018E80 ; =0x0000FFFF
- str r1, [sp, #0x3c]
- cmp r1, r2
- bne _02018DC6
- ldr r2, [sp, #0xc]
- mov r1, lr
- cmp r2, r1
- bge _02018D1C
- mov r1, lr
- cmp r2, r1
- blt _02018D1E
-_02018D1C:
- b _02018E7C
-_02018D1E:
- add r1, r2, #0x0
- lsl r1, r1, #0x3
- lsl r0, r0, #0x3
- str r1, [sp, #0x28]
- str r0, [sp, #0x24]
-_02018D28:
- ldr r1, [sp, #0x8]
- mov r0, r12
- add r2, r1, #0x0
- ldr r7, [sp, #0x10]
- cmp r2, r0
- bge _02018DA8
- mov r0, r12
- cmp r2, r0
- bge _02018DA8
- add r0, r1, #0x0
- lsl r2, r0, #0x3
- add r0, r7, #0x0
- lsl r3, r0, #0x3
- ldr r6, _02018E84 ; =0x00007FC0
- ldr r0, [sp, #0x28]
- ldr r4, [sp, #0x4c]
- and r0, r6
- mul r4, r0
- str r4, [sp, #0x20]
- ldr r0, [sp, #0x28]
- mov r5, #0x38
- and r0, r5
- str r0, [sp, #0x1c]
- ldr r0, [sp, #0x24]
- ldr r4, [sp, #0x48]
- and r0, r6
- mul r4, r0
- ldr r0, [sp, #0x24]
- str r4, [sp, #0x18]
- and r0, r5
- str r0, [sp, #0x14]
-_02018D66:
- ldr r0, [sp, #0x0]
- add r5, r1, #0x0
- mov r4, #0x7
- and r5, r4
- ldr r0, [r0, #0x0]
- ldr r4, _02018E84 ; =0x00007FC0
- add r0, r0, r5
- and r4, r2
- add r4, r4, r0
- ldr r0, [sp, #0x20]
- add r5, r7, #0x0
- add r4, r0, r4
- ldr r0, [sp, #0x1c]
- add r1, r1, #0x1
- ldrb r6, [r0, r4]
- ldr r0, [sp, #0x4]
- mov r4, #0x7
- and r5, r4
- ldr r0, [r0, #0x0]
- ldr r4, _02018E84 ; =0x00007FC0
- add r0, r0, r5
- and r4, r3
- add r4, r4, r0
- ldr r0, [sp, #0x18]
- add r2, #0x8
- add r4, r0, r4
- ldr r0, [sp, #0x14]
- add r3, #0x8
- strb r6, [r0, r4]
- mov r0, r12
- add r7, r7, #0x1
- cmp r1, r0
- blt _02018D66
-_02018DA8:
- ldr r0, [sp, #0x28]
- add r0, #0x8
- str r0, [sp, #0x28]
- ldr r0, [sp, #0xc]
- add r0, r0, #0x1
- str r0, [sp, #0xc]
- ldr r0, [sp, #0x24]
- ldr r1, [sp, #0xc]
- add r0, #0x8
- str r0, [sp, #0x24]
- mov r0, lr
- cmp r1, r0
- blt _02018D28
- add sp, #0x50
- pop {r3-r7, pc}
-_02018DC6:
- ldr r2, [sp, #0xc]
- mov r1, lr
- cmp r2, r1
- bge _02018E7C
- mov r1, lr
- cmp r2, r1
- bge _02018E7C
- add r1, r2, #0x0
- lsl r1, r1, #0x3
- lsl r0, r0, #0x3
- str r1, [sp, #0x44]
- str r0, [sp, #0x40]
-_02018DDE:
- ldr r2, [sp, #0x8]
- mov r0, r12
- add r1, r2, #0x0
- ldr r3, [sp, #0x10]
- cmp r1, r0
- bge _02018E62
- mov r0, r12
- cmp r1, r0
- bge _02018E62
- add r0, r2, #0x0
- lsl r6, r0, #0x3
- add r0, r3, #0x0
- lsl r1, r0, #0x3
- ldr r7, _02018E84 ; =0x00007FC0
- ldr r0, [sp, #0x44]
- ldr r4, [sp, #0x4c]
- and r0, r7
- mul r4, r0
- str r4, [sp, #0x38]
- ldr r0, [sp, #0x44]
- mov r5, #0x38
- and r0, r5
- str r0, [sp, #0x34]
- ldr r0, [sp, #0x40]
- ldr r4, [sp, #0x48]
- and r0, r7
- mul r4, r0
- ldr r0, [sp, #0x40]
- str r4, [sp, #0x30]
- and r0, r5
- str r0, [sp, #0x2c]
-_02018E1C:
- ldr r0, [sp, #0x4]
- mov r4, #0x7
- ldr r0, [r0, #0x0]
- and r4, r3
- add r0, r0, r4
- ldr r4, _02018E84 ; =0x00007FC0
- add r5, r2, #0x0
- and r4, r1
- add r4, r0, r4
- ldr r0, [sp, #0x30]
- add r7, r4, r0
- ldr r0, [sp, #0x0]
- mov r4, #0x7
- and r5, r4
- ldr r0, [r0, #0x0]
- ldr r4, _02018E84 ; =0x00007FC0
- add r0, r0, r5
- and r4, r6
- add r4, r4, r0
- ldr r0, [sp, #0x38]
- add r4, r0, r4
- ldr r0, [sp, #0x34]
- ldrb r0, [r0, r4]
- ldr r4, [sp, #0x3c]
- cmp r0, r4
- beq _02018E54
- ldr r4, [sp, #0x2c]
- strb r0, [r7, r4]
-_02018E54:
- add r2, r2, #0x1
- mov r0, r12
- add r6, #0x8
- add r1, #0x8
- add r3, r3, #0x1
- cmp r2, r0
- blt _02018E1C
-_02018E62:
- ldr r0, [sp, #0x44]
- add r0, #0x8
- str r0, [sp, #0x44]
- ldr r0, [sp, #0xc]
- add r0, r0, #0x1
- str r0, [sp, #0xc]
- ldr r0, [sp, #0x40]
- ldr r1, [sp, #0xc]
- add r0, #0x8
- str r0, [sp, #0x40]
- mov r0, lr
- cmp r1, r0
- blt _02018DDE
-_02018E7C:
- add sp, #0x50
- pop {r3-r7, pc}
- .balign 4
-_02018E80: .word 0x0000FFFF
-_02018E84: .word 0x00007FC0
-
- thumb_func_start FUN_02018E88
-FUN_02018E88: ; 0x02018E88
- push {r4-r7, lr}
- sub sp, #0x14
- str r1, [sp, #0x4]
- str r2, [sp, #0x8]
- str r0, [sp, #0x0]
- ldr r0, [sp, #0x2c]
- str r0, [sp, #0x2c]
- ldr r0, [sp, #0x4]
- add r6, r0, r3
- ldr r0, [sp, #0x0]
- ldrh r0, [r0, #0x4]
- cmp r6, r0
- ble _02018EA4
- add r6, r0, #0x0
-_02018EA4:
- add r1, sp, #0x18
- ldrh r2, [r1, #0x10]
- ldr r1, [sp, #0x8]
- add r1, r1, r2
- mov r12, r1
- ldr r1, [sp, #0x0]
- ldrh r2, [r1, #0x6]
- mov r1, r12
- cmp r1, r2
- ble _02018EBA
- mov r12, r2
-_02018EBA:
- mov r1, #0x7
- and r1, r0
- add r0, r0, r1
- asr r0, r0, #0x3
- mov lr, r0
- ldr r1, [sp, #0x8]
- mov r0, r12
- cmp r1, r0
- bge _02018F44
- add r0, r1, #0x0
- lsl r0, r0, #0x2
- str r0, [sp, #0xc]
- ldr r0, [sp, #0x2c]
- lsl r0, r0, #0x4
- str r0, [sp, #0x10]
-_02018ED8:
- ldr r1, [sp, #0x4]
- add r0, r1, #0x0
- cmp r0, r6
- bge _02018F32
- lsl r5, r0, #0x2
- ldr r2, _02018F48 ; =0x00003FE0
- ldr r0, [sp, #0xc]
- and r0, r2
- add r7, r0, #0x0
- mov r2, lr
- mul r7, r2
- ldr r0, [sp, #0xc]
- mov r2, #0x1c
- and r2, r0
-_02018EF4:
- ldr r0, [sp, #0x0]
- asr r3, r1, #0x1
- ldr r4, [r0, #0x0]
- mov r0, #0x3
- and r0, r3
- ldr r3, _02018F48 ; =0x00003FE0
- add r0, r4, r0
- and r3, r5
- add r0, r0, r3
- add r0, r0, r7
- mov r3, #0x1
- tst r3, r1
- ldrb r4, [r0, r2]
- beq _02018F1C
- mov r3, #0xf
- and r3, r4
- strb r3, [r0, r2]
- ldrb r4, [r0, r2]
- ldr r3, [sp, #0x10]
- b _02018F26
-_02018F1C:
- mov r3, #0xf0
- and r3, r4
- strb r3, [r0, r2]
- ldrb r4, [r0, r2]
- ldr r3, [sp, #0x2c]
-_02018F26:
- orr r3, r4
- add r1, r1, #0x1
- strb r3, [r0, r2]
- add r5, r5, #0x4
- cmp r1, r6
- blt _02018EF4
-_02018F32:
- ldr r0, [sp, #0xc]
- add r0, r0, #0x4
- str r0, [sp, #0xc]
- ldr r0, [sp, #0x8]
- add r1, r0, #0x1
- mov r0, r12
- str r1, [sp, #0x8]
- cmp r1, r0
- blt _02018ED8
-_02018F44:
- add sp, #0x14
- pop {r4-r7, pc}
- .balign 4
-_02018F48: .word 0x00003FE0
-
- thumb_func_start FUN_02018F4C
-FUN_02018F4C: ; 0x02018F4C
- push {r4-r7, lr}
- sub sp, #0x14
- str r1, [sp, #0x4]
- str r2, [sp, #0x8]
- str r0, [sp, #0x0]
- ldr r0, [sp, #0x2c]
- str r0, [sp, #0x2c]
- ldr r0, [sp, #0x4]
- add r5, r0, r3
- ldr r0, [sp, #0x0]
- ldrh r0, [r0, #0x4]
- cmp r5, r0
- ble _02018F68
- add r5, r0, #0x0
-_02018F68:
- add r1, sp, #0x18
- ldrh r2, [r1, #0x10]
- ldr r1, [sp, #0x8]
- add r1, r1, r2
- mov lr, r1
- ldr r1, [sp, #0x0]
- ldrh r2, [r1, #0x6]
- mov r1, lr
- cmp r1, r2
- ble _02018F7E
- mov lr, r2
-_02018F7E:
- mov r1, #0x7
- and r1, r0
- add r0, r0, r1
- asr r0, r0, #0x3
- str r0, [sp, #0x10]
- ldr r1, [sp, #0x8]
- mov r0, lr
- cmp r1, r0
- bge _02018FEA
- add r0, r1, #0x0
- lsl r0, r0, #0x3
- str r0, [sp, #0xc]
- ldr r0, [sp, #0x4]
- lsl r0, r0, #0x3
- mov r12, r0
-_02018F9C:
- ldr r2, [sp, #0x4]
- add r0, r2, #0x0
- cmp r0, r5
- bge _02018FD8
- ldr r1, [sp, #0xc]
- ldr r0, _02018FF0 ; =0x00007FC0
- mov r3, r12
- and r0, r1
- add r7, r0, #0x0
- ldr r1, [sp, #0x10]
- mov r0, #0x38
- mul r7, r1
- ldr r1, [sp, #0xc]
- add r6, r1, #0x0
- and r6, r0
-_02018FBA:
- ldr r0, [sp, #0x0]
- ldr r4, _02018FF0 ; =0x00007FC0
- ldr r1, [r0, #0x0]
- mov r0, #0x7
- and r0, r2
- and r4, r3
- add r0, r1, r0
- add r0, r4, r0
- add r1, r7, r0
- ldr r0, [sp, #0x2c]
- add r2, r2, #0x1
- strb r0, [r6, r1]
- add r3, #0x8
- cmp r2, r5
- blt _02018FBA
-_02018FD8:
- ldr r0, [sp, #0xc]
- add r0, #0x8
- str r0, [sp, #0xc]
- ldr r0, [sp, #0x8]
- add r1, r0, #0x1
- mov r0, lr
- str r1, [sp, #0x8]
- cmp r1, r0
- blt _02018F9C
-_02018FEA:
- add sp, #0x14
- pop {r4-r7, pc}
- nop
-_02018FF0: .word 0x00007FC0
-
- thumb_func_start FUN_02018FF4
-FUN_02018FF4: ; 0x02018FF4
- push {r4-r6, lr}
- add r5, r1, #0x0
- lsl r1, r5, #0x4
- bl FUN_02016998
- add r6, r0, #0x0
- mov r4, #0x0
- cmp r5, #0x0
- ble _02019018
-_02019006:
- lsl r0, r4, #0x4
- add r0, r6, r0
- bl FUN_0201901C
- add r0, r4, #0x1
- lsl r0, r0, #0x10
- lsr r4, r0, #0x10
- cmp r4, r5
- blt _02019006
-_02019018:
- add r0, r6, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_0201901C
-FUN_0201901C: ; 0x0201901C
- mov r3, #0x0
- str r3, [r0, #0x0]
- mov r1, #0xff
- strb r1, [r0, #0x4]
- strb r3, [r0, #0x5]
- strb r3, [r0, #0x6]
- strb r3, [r0, #0x7]
- strb r3, [r0, #0x8]
- strb r3, [r0, #0x9]
- ldrh r2, [r0, #0xa]
- ldr r1, _02019044 ; =0xFFFF8000
- and r2, r1
- strh r2, [r0, #0xa]
- str r3, [r0, #0xc]
- ldrh r2, [r0, #0xa]
- sub r1, r1, #0x1
- and r1, r2
- strh r1, [r0, #0xa]
- bx lr
- nop
-_02019044: .word 0xFFFF8000
-
- thumb_func_start FUN_02019048
-FUN_02019048: ; 0x02019048
- ldr r1, [r0, #0x0]
- cmp r1, #0x0
- beq _0201905A
- ldrb r1, [r0, #0x4]
- cmp r1, #0xff
- beq _0201905A
- ldr r0, [r0, #0xc]
- cmp r0, #0x0
- bne _0201905E
-_0201905A:
- mov r0, #0x0
- bx lr
-_0201905E:
- mov r0, #0x1
- bx lr
- .balign 4
-
- thumb_func_start FUN_02019064
-FUN_02019064: ; 0x02019064
- push {r3-r7, lr}
- add r6, r2, #0x0
- add r5, r0, #0x0
- mov r0, #0x2c
- add r7, r6, #0x0
- mul r7, r0
- add r4, r1, #0x0
- str r3, [sp, #0x0]
- add r1, r5, r7
- ldr r0, [r1, #0x8]
- cmp r0, #0x0
- beq _020190E0
- add r3, sp, #0x8
- ldrb r2, [r1, #0x1f]
- ldrb r1, [r3, #0x14]
- ldrb r3, [r3, #0x18]
- ldr r0, [r5, #0x0]
- mul r3, r1
- add r1, r2, #0x0
- mul r1, r3
- bl FUN_02016998
- add r1, r0, #0x0
- beq _020190E0
- str r5, [r4, #0x0]
- strb r6, [r4, #0x4]
- ldr r0, [sp, #0x0]
- add r3, sp, #0x8
- strb r0, [r4, #0x5]
- ldrb r0, [r3, #0x10]
- ldr r2, _020190E4 ; =0xFFFF8000
- strb r0, [r4, #0x6]
- ldrb r0, [r3, #0x14]
- strb r0, [r4, #0x7]
- ldrb r0, [r3, #0x18]
- strb r0, [r4, #0x8]
- ldrb r0, [r3, #0x1c]
- strb r0, [r4, #0x9]
- ldrh r0, [r4, #0xa]
- ldrh r3, [r3, #0x20]
- and r0, r2
- lsr r2, r2, #0x11
- and r2, r3
- orr r0, r2
- strh r0, [r4, #0xa]
- str r1, [r4, #0xc]
- add r0, r5, r7
- ldrb r0, [r0, #0x1e]
- cmp r0, #0x0
- bne _020190CC
- mov r2, #0x0
- b _020190CE
-_020190CC:
- mov r2, #0x1
-_020190CE:
- ldrh r1, [r4, #0xa]
- ldr r0, _020190E8 ; =0xFFFF7FFF
- and r1, r0
- lsl r0, r2, #0x10
- lsr r0, r0, #0x10
- lsl r0, r0, #0x1f
- lsr r0, r0, #0x10
- orr r0, r1
- strh r0, [r4, #0xa]
-_020190E0:
- pop {r3-r7, pc}
- nop
-_020190E4: .word 0xFFFF8000
-_020190E8: .word 0xFFFF7FFF
-
- thumb_func_start FUN_020190EC
-FUN_020190EC: ; 0x020190EC
- push {r3-r7, lr}
- sub sp, #0x8
- str r3, [sp, #0x0]
- add r5, r0, #0x0
- ldr r0, [sp, #0x24]
- add r6, r2, #0x0
- str r0, [sp, #0x24]
- ldr r0, [sp, #0x0]
- add r4, r1, #0x0
- mul r0, r6
- lsl r0, r0, #0x5
- str r0, [sp, #0x4]
- ldr r0, [r5, #0x0]
- ldr r1, [sp, #0x4]
- bl FUN_02016998
- ldr r1, [sp, #0x24]
- add r7, r0, #0x0
- lsl r2, r1, #0x4
- orr r1, r2
- lsl r1, r1, #0x18
- ldr r2, [sp, #0x4]
- lsr r1, r1, #0x18
- blx Call_FillMemWithValue
- cmp r7, #0x0
- beq _02019148
- str r5, [r4, #0x0]
- strb r6, [r4, #0x7]
- ldr r0, [sp, #0x0]
- strb r0, [r4, #0x8]
- ldrh r1, [r4, #0xa]
- ldr r0, _0201914C ; =0xFFFF8000
- add r3, r1, #0x0
- add r1, sp, #0x10
- ldrh r2, [r1, #0x10]
- lsr r1, r0, #0x11
- and r3, r0
- and r1, r2
- orr r1, r3
- strh r1, [r4, #0xa]
- str r7, [r4, #0xc]
- ldrh r1, [r4, #0xa]
- sub r0, r0, #0x1
- and r0, r1
- strh r0, [r4, #0xa]
-_02019148:
- add sp, #0x8
- pop {r3-r7, pc}
- .balign 4
-_0201914C: .word 0xFFFF8000
-
- thumb_func_start FUN_02019150
-FUN_02019150: ; 0x02019150
- push {lr}
- sub sp, #0x14
- add r3, r2, #0x0
- ldrb r2, [r3, #0x2]
- str r2, [sp, #0x0]
- ldrb r2, [r3, #0x3]
- str r2, [sp, #0x4]
- ldrb r2, [r3, #0x4]
- str r2, [sp, #0x8]
- ldrb r2, [r3, #0x5]
- str r2, [sp, #0xc]
- ldrh r2, [r3, #0x6]
- str r2, [sp, #0x10]
- ldrb r2, [r3, #0x0]
- ldrb r3, [r3, #0x1]
- bl FUN_02019064
- add sp, #0x14
- pop {pc}
- .balign 4
-
- thumb_func_start FUN_02019178
-FUN_02019178: ; 0x02019178
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0xc]
- bl FUN_02016A18
- mov r2, #0x0
- str r2, [r4, #0x0]
- mov r0, #0xff
- strb r0, [r4, #0x4]
- strb r2, [r4, #0x5]
- strb r2, [r4, #0x6]
- strb r2, [r4, #0x7]
- strb r2, [r4, #0x8]
- strb r2, [r4, #0x9]
- ldrh r1, [r4, #0xa]
- ldr r0, _020191A0 ; =0xFFFF8000
- and r0, r1
- strh r0, [r4, #0xa]
- str r2, [r4, #0xc]
- pop {r4, pc}
- .balign 4
-_020191A0: .word 0xFFFF8000
-
- thumb_func_start FUN_020191A4
-FUN_020191A4: ; 0x020191A4
- push {r4-r6, lr}
- add r6, r1, #0x0
- add r5, r0, #0x0
- mov r4, #0x0
- cmp r6, #0x0
- ble _020191C8
-_020191B0:
- lsl r0, r4, #0x4
- add r0, r5, r0
- ldr r0, [r0, #0xc]
- cmp r0, #0x0
- beq _020191BE
- bl FUN_02016A18
-_020191BE:
- add r0, r4, #0x1
- lsl r0, r0, #0x10
- lsr r4, r0, #0x10
- cmp r4, r6
- blt _020191B0
-_020191C8:
- add r0, r5, #0x0
- bl FUN_02016A18
- pop {r4-r6, pc}
-
- thumb_func_start FUN_020191D0
-FUN_020191D0: ; 0x020191D0
- push {r4, lr}
- add r4, r0, #0x0
- bne _020191DA
- bl ErrorHandling
-_020191DA:
- ldr r0, [r4, #0x0]
- cmp r0, #0x0
- bne _020191E4
- bl ErrorHandling
-_020191E4:
- ldrb r0, [r4, #0x4]
- cmp r0, #0x8
- blo _020191EE
- bl ErrorHandling
-_020191EE:
- ldrb r1, [r4, #0x4]
- mov r0, #0x2c
- ldr r2, [r4, #0x0]
- mul r0, r1
- add r0, r2, r0
- ldrb r0, [r0, #0x1c]
- cmp r0, #0x3
- blo _02019202
- bl ErrorHandling
-_02019202:
- ldrb r2, [r4, #0x4]
- mov r1, #0x2c
- ldr r3, [r4, #0x0]
- mul r1, r2
- add r1, r3, r1
- ldrb r1, [r1, #0x1c]
- add r0, r4, #0x0
- lsl r2, r1, #0x2
- ldr r1, _0201921C ; =0x020EDB68
- ldr r1, [r1, r2]
- blx r1
- pop {r4, pc}
- nop
-_0201921C: .word 0x020EDB68
-
- thumb_func_start FUN_02019220
-FUN_02019220: ; 0x02019220
- push {r4, lr}
- add r4, r0, #0x0
- bne _0201922A
- bl ErrorHandling
-_0201922A:
- ldr r0, [r4, #0x0]
- cmp r0, #0x0
- bne _02019234
- bl ErrorHandling
-_02019234:
- ldrb r0, [r4, #0x4]
- cmp r0, #0x8
- blo _0201923E
- bl ErrorHandling
-_0201923E:
- ldrb r1, [r4, #0x4]
- mov r0, #0x2c
- ldr r2, [r4, #0x0]
- mul r0, r1
- add r0, r2, r0
- ldrb r0, [r0, #0x1c]
- cmp r0, #0x3
- blo _02019252
- bl ErrorHandling
-_02019252:
- ldrb r2, [r4, #0x4]
- mov r1, #0x2c
- ldr r3, [r4, #0x0]
- mul r1, r2
- add r1, r3, r1
- ldrb r1, [r1, #0x1c]
- add r0, r4, #0x0
- lsl r2, r1, #0x2
- ldr r1, _0201926C ; =0x020EDB5C
- ldr r1, [r1, r2]
- blx r1
- pop {r4, pc}
- nop
-_0201926C: .word 0x020EDB5C
-
- thumb_func_start FUN_02019270
-FUN_02019270: ; 0x02019270
- push {r3, lr}
- ldrb r2, [r0, #0x4]
- mov r1, #0x2c
- ldr r3, [r0, #0x0]
- mul r1, r2
- add r1, r3, r1
- ldrb r1, [r1, #0x1c]
- lsl r2, r1, #0x2
- ldr r1, _02019288 ; =0x020EDB38
- ldr r1, [r1, r2]
- blx r1
- pop {r3, pc}
- .balign 4
-_02019288: .word 0x020EDB38
-
- thumb_func_start FUN_0201928C
-FUN_0201928C: ; 0x0201928C
- push {r4-r6, lr}
- add r5, r0, #0x0
- ldrb r6, [r5, #0x7]
- ldrb r4, [r5, #0x8]
- strb r1, [r5, #0x7]
- strb r2, [r5, #0x8]
- ldrb r3, [r5, #0x4]
- mov r2, #0x2c
- ldr r1, [r5, #0x0]
- mul r2, r3
- add r1, r1, r2
- ldrb r1, [r1, #0x1c]
- lsl r2, r1, #0x2
- ldr r1, _020192B4 ; =0x020EDB38
- ldr r1, [r1, r2]
- blx r1
- strb r6, [r5, #0x7]
- strb r4, [r5, #0x8]
- pop {r4-r6, pc}
- nop
-_020192B4: .word 0x020EDB38
-
- thumb_func_start FUN_020192B8
-FUN_020192B8: ; 0x020192B8
- push {r3, lr}
- ldrb r2, [r0, #0x4]
- mov r1, #0x2c
- ldr r3, [r0, #0x0]
- mul r1, r2
- add r1, r3, r1
- ldrb r1, [r1, #0x1c]
- lsl r2, r1, #0x2
- ldr r1, _020192D0 ; =0x020EDB74
- ldr r1, [r1, r2]
- blx r1
- pop {r3, pc}
- .balign 4
-_020192D0: .word 0x020EDB74
-
- thumb_func_start FUN_020192D4
-FUN_020192D4: ; 0x020192D4
- push {r3-r7, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- ldrb r1, [r5, #0x4]
- mov r0, #0x2c
- ldr r2, [r5, #0x0]
- mul r0, r1
- add r0, r2, r0
- ldr r0, [r0, #0x8]
- str r0, [sp, #0x4]
- cmp r0, #0x0
- beq _02019354
- ldrh r0, [r5, #0xa]
- ldrb r1, [r5, #0x5]
- lsl r0, r0, #0x11
- lsr r3, r0, #0x11
- ldrb r0, [r5, #0x7]
- add r7, r1, r0
- ldrb r0, [r5, #0x6]
- ldrb r1, [r5, #0x8]
- mov r12, r0
- add r0, r0, r1
- mov r1, r12
- mov lr, r0
- cmp r1, r0
- bhs _02019354
-_02019308:
- ldrb r2, [r5, #0x5]
- cmp r2, r7
- bhs _02019348
- mov r0, r12
- lsl r0, r0, #0x1b
- lsr r0, r0, #0x16
- lsl r1, r0, #0x1
- ldr r0, [sp, #0x4]
- add r0, r0, r1
- mov r1, r12
- str r0, [sp, #0x0]
- mov r0, #0x20
- add r6, r1, #0x0
- and r6, r0
-_02019324:
- ldrb r0, [r5, #0x9]
- mov r4, #0x20
- add r1, r3, #0x0
- lsl r0, r0, #0xc
- and r4, r2
- orr r1, r0
- mov r0, #0x1f
- add r4, r6, r4
- and r0, r2
- lsl r4, r4, #0x5
- add r0, r0, r4
- lsl r4, r0, #0x1
- ldr r0, [sp, #0x0]
- add r2, r2, #0x1
- strh r1, [r0, r4]
- add r3, r3, #0x1
- cmp r2, r7
- blo _02019324
-_02019348:
- mov r0, r12
- add r1, r0, #0x1
- mov r0, lr
- mov r12, r1
- cmp r1, r0
- blo _02019308
-_02019354:
- add sp, #0x8
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02019358
-FUN_02019358: ; 0x02019358
- push {r4-r7}
- ldrb r3, [r0, #0x4]
- mov r1, #0x2c
- add r2, r3, #0x0
- mul r2, r1
- ldr r1, [r0, #0x0]
- add r1, r1, r2
- ldr r3, [r1, #0x8]
- cmp r3, #0x0
- beq _020193AC
- ldrb r2, [r1, #0x1d]
- ldr r1, _020193B0 ; =0x020EDB30
- ldrb r6, [r1, r2]
- ldrb r1, [r0, #0x6]
- add r2, r1, #0x0
- mul r2, r6
- add r2, r3, r2
- ldrb r1, [r0, #0x5]
- mov r3, #0x0
- add r4, r2, r1
- ldrh r1, [r0, #0xa]
- lsl r1, r1, #0x11
- lsr r5, r1, #0x11
- ldrb r1, [r0, #0x8]
- cmp r1, #0x0
- ble _020193AC
- add r1, r3, #0x0
-_0201938E:
- ldrb r7, [r0, #0x7]
- add r2, r1, #0x0
- cmp r7, #0x0
- ble _020193A2
-_02019396:
- strb r5, [r4, r2]
- ldrb r7, [r0, #0x7]
- add r2, r2, #0x1
- add r5, r5, #0x1
- cmp r2, r7
- blt _02019396
-_020193A2:
- ldrb r2, [r0, #0x8]
- add r3, r3, #0x1
- add r4, r4, r6
- cmp r3, r2
- blt _0201938E
-_020193AC:
- pop {r4-r7}
- bx lr
- .balign 4
-_020193B0: .word 0x020EDB30
-
- thumb_func_start FUN_020193B4
-FUN_020193B4: ; 0x020193B4
- push {r4-r7, lr}
- sub sp, #0xc
- ldrb r2, [r0, #0x4]
- str r0, [sp, #0x0]
- mov r0, #0x2c
- add r1, r2, #0x0
- mul r1, r0
- ldr r0, [sp, #0x0]
- ldr r0, [r0, #0x0]
- add r1, r0, r1
- ldr r0, [r1, #0x8]
- str r0, [sp, #0x4]
- cmp r0, #0x0
- beq _0201943C
- ldrb r1, [r1, #0x1d]
- ldr r0, _02019440 ; =0x020EDB30
- ldrb r0, [r0, r1]
- str r0, [sp, #0x8]
- ldr r0, [sp, #0x0]
- ldrb r1, [r0, #0x5]
- ldrb r0, [r0, #0x7]
- add r2, r1, r0
- ldr r0, [sp, #0x0]
- ldrb r0, [r0, #0x6]
- mov r12, r0
- ldr r0, [sp, #0x0]
- ldrb r1, [r0, #0x8]
- mov r0, r12
- add r0, r0, r1
- mov r1, r12
- mov lr, r0
- cmp r1, r0
- bhs _0201943C
- mov r6, #0x0
- mov r7, #0x20
-_020193FA:
- ldr r0, [sp, #0x0]
- ldrb r1, [r0, #0x5]
- cmp r1, r2
- bhs _02019430
- mov r3, r12
- mov r0, #0x1f
- and r3, r0
- ldr r0, [sp, #0x8]
- mul r0, r3
- lsl r3, r0, #0x1
- ldr r0, [sp, #0x4]
- add r5, r0, r3
- mov r3, r12
- mov r0, #0x20
- and r3, r0
-_02019418:
- add r4, r1, #0x0
- and r4, r7
- mov r0, #0x1f
- add r4, r3, r4
- and r0, r1
- lsl r4, r4, #0x5
- add r0, r0, r4
- lsl r0, r0, #0x1
- add r1, r1, #0x1
- strh r6, [r5, r0]
- cmp r1, r2
- blo _02019418
-_02019430:
- mov r0, r12
- add r1, r0, #0x1
- mov r0, lr
- mov r12, r1
- cmp r1, r0
- blo _020193FA
-_0201943C:
- add sp, #0xc
- pop {r4-r7, pc}
- .balign 4
-_02019440: .word 0x020EDB30
-
- thumb_func_start FUN_02019444
-FUN_02019444: ; 0x02019444
- push {r4-r7}
- ldrb r3, [r0, #0x4]
- mov r1, #0x2c
- add r2, r3, #0x0
- mul r2, r1
- ldr r1, [r0, #0x0]
- add r1, r1, r2
- ldr r3, [r1, #0x8]
- cmp r3, #0x0
- beq _02019492
- ldrb r2, [r1, #0x1d]
- ldr r1, _02019498 ; =0x020EDB30
- mov r4, #0x0
- ldrb r6, [r1, r2]
- ldrb r1, [r0, #0x6]
- add r2, r1, #0x0
- mul r2, r6
- ldrb r1, [r0, #0x5]
- add r2, r3, r2
- add r5, r2, r1
- ldrb r1, [r0, #0x8]
- cmp r1, #0x0
- ble _02019492
- add r1, r4, #0x0
- add r2, r4, #0x0
-_02019476:
- ldrb r7, [r0, #0x7]
- add r3, r2, #0x0
- cmp r7, #0x0
- ble _02019488
-_0201947E:
- strb r1, [r5, r3]
- ldrb r7, [r0, #0x7]
- add r3, r3, #0x1
- cmp r3, r7
- blt _0201947E
-_02019488:
- ldrb r3, [r0, #0x8]
- add r4, r4, #0x1
- add r5, r5, r6
- cmp r4, r3
- blt _02019476
-_02019492:
- pop {r4-r7}
- bx lr
- nop
-_02019498: .word 0x020EDB30
-
- thumb_func_start FUN_0201949C
-FUN_0201949C: ; 0x0201949C
- push {r3-r4, lr}
- sub sp, #0x4
- add r4, r0, #0x0
- bl FUN_020192D4
- add r0, r4, #0x0
- bl FUN_02019548
- ldrb r1, [r4, #0x4]
- mov r0, #0x2c
- add r2, r1, #0x0
- mul r2, r0
- ldr r0, [r4, #0x0]
- add r3, r0, r2
- ldr r2, [r3, #0x10]
- str r2, [sp, #0x0]
- ldr r2, [r3, #0x8]
- ldr r3, [r3, #0xc]
- bl FUN_02017CE8
- add sp, #0x4
- pop {r3-r4, pc}
-
- thumb_func_start FUN_020194C8
-FUN_020194C8: ; 0x020194C8
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_020192D4
- ldrb r1, [r4, #0x4]
- ldr r0, [r4, #0x0]
- bl FUN_0201AC68
- add r0, r4, #0x0
- bl FUN_02019548
- pop {r4, pc}
-
- thumb_func_start FUN_020194E0
-FUN_020194E0: ; 0x020194E0
- push {r3-r5, lr}
- add r4, r0, #0x0
- bl FUN_02019358
- ldrb r1, [r4, #0x4]
- mov r0, #0x2c
- add r2, r1, #0x0
- mul r2, r0
- ldr r0, [r4, #0x0]
- add r3, r0, r2
- ldr r2, [r3, #0x10]
- str r2, [sp, #0x0]
- ldr r2, [r3, #0x8]
- ldr r3, [r3, #0xc]
- bl FUN_02017CE8
- ldrh r0, [r4, #0xa]
- lsl r0, r0, #0x11
- lsr r0, r0, #0x11
- str r0, [sp, #0x0]
- ldrb r5, [r4, #0x7]
- ldrb r3, [r4, #0x8]
- ldrb r1, [r4, #0x4]
- ldr r0, [r4, #0x0]
- mul r3, r5
- ldr r2, [r4, #0xc]
- lsl r3, r3, #0x6
- bl FUN_02017E14
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0201951C
-FUN_0201951C: ; 0x0201951C
- push {r3-r5, lr}
- add r4, r0, #0x0
- bl FUN_02019358
- ldrb r1, [r4, #0x4]
- ldr r0, [r4, #0x0]
- bl FUN_0201AC68
- ldrh r0, [r4, #0xa]
- lsl r0, r0, #0x11
- lsr r0, r0, #0x11
- str r0, [sp, #0x0]
- ldrb r5, [r4, #0x7]
- ldrb r3, [r4, #0x8]
- ldrb r1, [r4, #0x4]
- ldr r0, [r4, #0x0]
- mul r3, r5
- ldr r2, [r4, #0xc]
- lsl r3, r3, #0x6
- bl FUN_02017E14
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02019548
-FUN_02019548: ; 0x02019548
- push {r3-r5, lr}
- add r3, r0, #0x0
- ldrh r2, [r3, #0xa]
- ldrb r1, [r3, #0x4]
- mov r4, #0x2c
- lsl r2, r2, #0x11
- ldr r0, [r3, #0x0]
- lsr r2, r2, #0x11
- str r2, [sp, #0x0]
- mul r4, r1
- add r4, r0, r4
- ldr r2, [r3, #0xc]
- ldrb r5, [r3, #0x7]
- ldrb r3, [r3, #0x8]
- ldrb r4, [r4, #0x1f]
- mul r3, r5
- mul r3, r4
- bl FUN_02017E14
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02019570
-FUN_02019570: ; 0x02019570
- push {r3, lr}
- ldrb r2, [r0, #0x4]
- mov r1, #0x2c
- ldr r3, [r0, #0x0]
- mul r1, r2
- add r1, r3, r1
- ldrb r1, [r1, #0x1c]
- lsl r2, r1, #0x2
- ldr r1, _02019588 ; =0x020EDB50
- ldr r1, [r1, r2]
- blx r1
- pop {r3, pc}
- .balign 4
-_02019588: .word 0x020EDB50
-
- thumb_func_start FUN_0201958C
-FUN_0201958C: ; 0x0201958C
- push {r3, lr}
- ldrb r2, [r0, #0x4]
- mov r1, #0x2c
- ldr r3, [r0, #0x0]
- mul r1, r2
- add r1, r3, r1
- ldrb r1, [r1, #0x1c]
- lsl r2, r1, #0x2
- ldr r1, _020195A4 ; =0x020EDB44
- ldr r1, [r1, r2]
- blx r1
- pop {r3, pc}
- .balign 4
-_020195A4: .word 0x020EDB44
-
- thumb_func_start FUN_020195A8
-FUN_020195A8: ; 0x020195A8
- push {r3-r4, lr}
- sub sp, #0x4
- add r4, r0, #0x0
- bl FUN_020193B4
- ldrb r1, [r4, #0x4]
- mov r0, #0x2c
- add r2, r1, #0x0
- mul r2, r0
- ldr r0, [r4, #0x0]
- add r3, r0, r2
- ldr r2, [r3, #0x10]
- str r2, [sp, #0x0]
- ldr r2, [r3, #0x8]
- ldr r3, [r3, #0xc]
- bl FUN_02017CE8
- add sp, #0x4
- pop {r3-r4, pc}
- .balign 4
-
- thumb_func_start FUN_020195D0
-FUN_020195D0: ; 0x020195D0
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_020193B4
- ldrb r1, [r4, #0x4]
- ldr r0, [r4, #0x0]
- bl FUN_0201AC68
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_020195E4
-FUN_020195E4: ; 0x020195E4
- push {r3-r4, lr}
- sub sp, #0x4
- add r4, r0, #0x0
- bl FUN_02019444
- ldrb r1, [r4, #0x4]
- mov r0, #0x2c
- add r2, r1, #0x0
- mul r2, r0
- ldr r0, [r4, #0x0]
- add r3, r0, r2
- ldr r2, [r3, #0x10]
- str r2, [sp, #0x0]
- ldr r2, [r3, #0x8]
- ldr r3, [r3, #0xc]
- bl FUN_02017CE8
- add sp, #0x4
- pop {r3-r4, pc}
- .balign 4
-
- thumb_func_start FUN_0201960C
-FUN_0201960C: ; 0x0201960C
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_02019444
- ldrb r1, [r4, #0x4]
- ldr r0, [r4, #0x0]
- bl FUN_0201AC68
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02019620
-FUN_02019620: ; 0x02019620
- push {r3-r5, lr}
- add r4, r0, #0x0
- ldrb r2, [r4, #0x4]
- mov r0, #0x2c
- ldr r3, [r4, #0x0]
- mul r0, r2
- add r0, r3, r0
- ldrb r2, [r0, #0x1f]
- cmp r2, #0x20
- bne _0201963C
- lsl r0, r1, #0x4
- orr r0, r1
- lsl r0, r0, #0x18
- lsr r1, r0, #0x18
-_0201963C:
- lsl r3, r1, #0x18
- lsl r0, r1, #0x10
- orr r0, r3
- lsl r5, r1, #0x8
- orr r0, r5
- orr r0, r1
- ldr r1, [r4, #0xc]
- ldrb r3, [r4, #0x8]
- ldrb r4, [r4, #0x7]
- mul r2, r4
- mul r2, r3
- blx MIi_CpuClearFast
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02019658
-FUN_02019658: ; 0x02019658
- push {r4-r5, lr}
- sub sp, #0x1c
- add r4, sp, #0x18
- ldrh r5, [r4, #0x10]
- str r5, [sp, #0x0]
- ldrh r5, [r4, #0x14]
- str r5, [sp, #0x4]
- ldrh r5, [r4, #0x18]
- str r5, [sp, #0x8]
- ldrh r5, [r4, #0x1c]
- str r5, [sp, #0xc]
- ldrh r5, [r4, #0x20]
- str r5, [sp, #0x10]
- ldrh r4, [r4, #0x24]
- str r4, [sp, #0x14]
- mov r4, #0x0
- str r4, [sp, #0x18]
- bl FUN_02019684
- add sp, #0x1c
- pop {r4-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02019684
-FUN_02019684: ; 0x02019684
- push {r4-r5, lr}
- sub sp, #0x24
- str r1, [sp, #0x1c]
- add r4, sp, #0x20
- ldrh r5, [r4, #0x10]
- add r1, sp, #0x14
- strh r5, [r1, #0xc]
- ldrh r5, [r4, #0x14]
- strh r5, [r1, #0xe]
- ldr r5, [r0, #0xc]
- str r5, [sp, #0x14]
- ldrb r5, [r0, #0x7]
- lsl r5, r5, #0x3
- strh r5, [r1, #0x4]
- ldrb r5, [r0, #0x8]
- lsl r5, r5, #0x3
- strh r5, [r1, #0x6]
- ldrb r5, [r0, #0x4]
- ldr r1, [r0, #0x0]
- mov r0, #0x2c
- mul r0, r5
- add r0, r1, r0
- ldrb r0, [r0, #0x1e]
- add r1, sp, #0x14
- cmp r0, #0x0
- ldrh r0, [r4, #0x18]
- bne _020196D6
- str r0, [sp, #0x0]
- ldrh r0, [r4, #0x1c]
- str r0, [sp, #0x4]
- ldrh r0, [r4, #0x20]
- str r0, [sp, #0x8]
- ldrh r0, [r4, #0x24]
- str r0, [sp, #0xc]
- ldrh r0, [r4, #0x28]
- str r0, [sp, #0x10]
- add r0, sp, #0x1c
- bl FUN_02018A60
- add sp, #0x24
- pop {r4-r5, pc}
-_020196D6:
- str r0, [sp, #0x0]
- ldrh r0, [r4, #0x1c]
- str r0, [sp, #0x4]
- ldrh r0, [r4, #0x20]
- str r0, [sp, #0x8]
- ldrh r0, [r4, #0x24]
- str r0, [sp, #0xc]
- ldrh r0, [r4, #0x28]
- str r0, [sp, #0x10]
- add r0, sp, #0x1c
- bl FUN_02018CA0
- add sp, #0x24
- pop {r4-r5, pc}
- .balign 4
-
- thumb_func_start FUN_020196F4
-FUN_020196F4: ; 0x020196F4
- push {r3-r5, lr}
- sub sp, #0x10
- add r5, r1, #0x0
- ldr r1, [r0, #0xc]
- add r4, r2, #0x0
- str r1, [sp, #0x8]
- ldrb r1, [r0, #0x7]
- add r2, r3, #0x0
- lsl r3, r1, #0x3
- add r1, sp, #0x8
- strh r3, [r1, #0x4]
- ldrb r3, [r0, #0x8]
- lsl r3, r3, #0x3
- strh r3, [r1, #0x6]
- ldrb r3, [r0, #0x4]
- ldr r1, [r0, #0x0]
- mov r0, #0x2c
- mul r0, r3
- add r0, r1, r0
- ldrb r0, [r0, #0x1e]
- add r3, sp, #0x10
- cmp r0, #0x0
- bne _02019736
- ldrh r0, [r3, #0x14]
- add r1, r4, #0x0
- str r0, [sp, #0x0]
- str r5, [sp, #0x4]
- ldrh r3, [r3, #0x10]
- add r0, sp, #0x8
- bl FUN_02018E88
- add sp, #0x10
- pop {r3-r5, pc}
-_02019736:
- ldrh r0, [r3, #0x14]
- add r1, r4, #0x0
- str r0, [sp, #0x0]
- str r5, [sp, #0x4]
- ldrh r3, [r3, #0x10]
- add r0, sp, #0x8
- bl FUN_02018F4C
- add sp, #0x10
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0201974C
-FUN_0201974C: ; 0x0201974C
- push {r4-r7, lr}
- sub sp, #0x1fc
- sub sp, #0x118
- add r5, r0, #0x0
- ldr r0, [sp, #0x330]
- str r1, [sp, #0x0]
- str r0, [sp, #0x330]
- add r1, sp, #0x318
- ldrh r1, [r1, #0x10]
- ldr r0, [r5, #0xc]
- str r1, [sp, #0x5c]
- ldrb r1, [r5, #0x7]
- str r0, [sp, #0x278]
- ldrb r0, [r5, #0x8]
- lsl r1, r1, #0x13
- lsr r4, r1, #0x10
- ldr r1, [sp, #0x5c]
- lsl r0, r0, #0x13
- sub r1, r4, r1
- lsr r0, r0, #0x10
- str r4, [sp, #0x58]
- str r1, [sp, #0x8]
- cmp r1, r2
- blt _0201977E
- str r2, [sp, #0x8]
-_0201977E:
- add r1, sp, #0x318
- ldrh r1, [r1, #0x14]
- sub r0, r0, r1
- str r1, [sp, #0x48]
- str r0, [sp, #0x4]
- cmp r0, r3
- blt _0201978E
- str r3, [sp, #0x4]
-_0201978E:
- ldr r0, [sp, #0x8]
- mov r4, #0x0
- cmp r0, #0x8
- ble _0201979E
- mov r0, #0x1
- orr r0, r4
- lsl r0, r0, #0x18
- lsr r4, r0, #0x18
-_0201979E:
- ldr r0, [sp, #0x4]
- cmp r0, #0x8
- ble _020197AC
- mov r0, #0x2
- orr r0, r4
- lsl r0, r0, #0x18
- lsr r4, r0, #0x18
-_020197AC:
- ldrh r0, [r5, #0xa]
- lsl r0, r0, #0x10
- lsr r0, r0, #0x1f
- beq _020197B8
- bl FUN_0201A12C
-_020197B8:
- cmp r4, #0x3
- bls _020197C0
- bl FUN_0201A8BC
-_020197C0:
- add r0, r4, r4
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_020197CC: ; jump table (using 16-bit offset)
- .short _020197D4 - _020197CC - 2; case 0
- .short _020198D6 - _020197CC - 2; case 1
- .short _02019AE6 - _020197CC - 2; case 2
- .short _02019D06 - _020197CC - 2; case 3
-_020197D4:
- ldr r0, [sp, #0x330]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x70]
- mov r0, #0x0
- str r0, [sp, #0x274]
- ldr r0, [sp, #0x4]
- cmp r0, #0x0
- bgt _020197EA
- bl FUN_0201A8BC
-_020197EA:
- ldr r0, [sp, #0x58]
- mov r1, #0x7
- and r1, r0
- add r0, r0, r1
- asr r0, r0, #0x3
- str r0, [sp, #0x6c]
-_020197F6:
- ldr r0, [sp, #0x0]
- ldr r1, [sp, #0x70]
- ldr r0, [r0, #0x0]
- ldr r2, [sp, #0x5c]
- str r0, [sp, #0x26c]
- ldr r0, [sp, #0x274]
- asr r1, r0
- mov r0, #0x1
- and r0, r1
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x270]
- ldr r0, [sp, #0x8]
- mov r1, #0x0
- cmp r0, #0x0
- ble _020198AA
- ble _020198AA
- add r0, r2, #0x0
- lsl r3, r0, #0x2
- ldr r0, [sp, #0x48]
- ldr r6, [sp, #0x6c]
- lsl r5, r0, #0x2
- ldr r0, _02019B68 ; =0x00003FE0
- add r7, r5, #0x0
- and r0, r5
- mul r6, r0
- mov r0, #0x1c
- and r7, r0
- ldr r0, [sp, #0x48]
- str r6, [sp, #0x68]
- add r0, r0, #0x1
- lsl r6, r0, #0x2
- ldr r0, _02019B68 ; =0x00003FE0
- ldr r5, [sp, #0x6c]
- and r0, r6
- mul r5, r0
- mov r0, #0x1c
- and r0, r6
- add r4, r1, #0x0
- str r5, [sp, #0x64]
- str r0, [sp, #0x60]
-_02019848:
- asr r5, r2, #0x1
- mov r0, #0x3
- and r5, r0
- ldr r0, [sp, #0x278]
- add r0, r0, r5
- ldr r5, _02019B68 ; =0x00003FE0
- and r5, r3
- add r5, r0, r5
- ldr r0, [sp, #0x68]
- str r5, [sp, #0x27c]
- add r0, r5, r0
- ldr r5, [sp, #0x26c]
- add r6, r5, #0x0
- lsr r6, r4
- mov r5, #0xf
- and r5, r6
- lsl r5, r5, #0x18
- lsr r5, r5, #0x18
- beq _0201989C
- lsl r6, r2, #0x1f
- lsr r6, r6, #0x1d
- lsl r5, r6
- str r5, [sp, #0x280]
- ldrb r5, [r0, r7]
- str r5, [sp, #0x284]
- mov r5, #0xf0
- asr r5, r6
- ldr r6, [sp, #0x284]
- and r6, r5
- ldr r5, [sp, #0x280]
- orr r5, r6
- lsl r5, r5, #0x18
- lsr r5, r5, #0x18
- strb r5, [r0, r7]
- ldr r0, [sp, #0x270]
- cmp r0, #0x0
- beq _0201989C
- ldr r6, [sp, #0x27c]
- ldr r0, [sp, #0x64]
- add r6, r6, r0
- ldr r0, [sp, #0x60]
- strb r5, [r0, r6]
-_0201989C:
- ldr r0, [sp, #0x8]
- add r1, r1, #0x1
- add r4, r4, #0x4
- add r3, r3, #0x4
- add r2, r2, #0x1
- cmp r1, r0
- blt _02019848
-_020198AA:
- ldr r0, [sp, #0x270]
- cmp r0, #0x0
- beq _020198B8
- ldr r0, [sp, #0x48]
- add r0, r0, #0x2
- str r0, [sp, #0x48]
- b _020198BE
-_020198B8:
- ldr r0, [sp, #0x48]
- add r0, r0, #0x1
- str r0, [sp, #0x48]
-_020198BE:
- ldr r0, [sp, #0x0]
- add r0, r0, #0x4
- str r0, [sp, #0x0]
- ldr r0, [sp, #0x274]
- add r1, r0, #0x1
- ldr r0, [sp, #0x4]
- str r1, [sp, #0x274]
- cmp r1, r0
- blt _020197F6
- add sp, #0x1fc
- add sp, #0x118
- pop {r4-r7, pc}
-_020198D6:
- ldr r0, [sp, #0x0]
- str r0, [sp, #0x25c]
- ldr r0, [sp, #0x48]
- str r0, [sp, #0x264]
- ldr r0, [sp, #0x330]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x54]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x84]
- mov r0, #0x0
- str r0, [sp, #0x268]
- ldr r0, [sp, #0x4]
- cmp r0, #0x0
- ble _020199D2
- ldr r0, [sp, #0x58]
- mov r1, #0x7
- and r1, r0
- add r0, r0, r1
- asr r0, r0, #0x3
- str r0, [sp, #0x80]
-_02019902:
- ldr r0, [sp, #0x25c]
- ldr r1, [sp, #0x84]
- ldr r0, [r0, #0x0]
- ldr r2, [sp, #0x5c]
- str r0, [sp, #0x258]
- ldr r0, [sp, #0x268]
- ldr r6, [sp, #0x80]
- asr r1, r0
- mov r0, #0x1
- and r0, r1
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x260]
- add r0, r2, #0x0
- lsl r3, r0, #0x2
- ldr r0, [sp, #0x264]
- mov r1, #0x0
- lsl r5, r0, #0x2
- ldr r0, _02019B68 ; =0x00003FE0
- add r7, r5, #0x0
- and r0, r5
- mul r6, r0
- mov r0, #0x1c
- and r7, r0
- ldr r0, [sp, #0x264]
- str r6, [sp, #0x7c]
- add r0, r0, #0x1
- lsl r6, r0, #0x2
- ldr r0, _02019B68 ; =0x00003FE0
- ldr r5, [sp, #0x80]
- and r0, r6
- mul r5, r0
- mov r0, #0x1c
- and r0, r6
- add r4, r1, #0x0
- str r5, [sp, #0x78]
- str r0, [sp, #0x74]
-_0201994C:
- asr r5, r2, #0x1
- mov r0, #0x3
- and r5, r0
- ldr r0, [sp, #0x278]
- add r0, r0, r5
- ldr r5, _02019B68 ; =0x00003FE0
- and r5, r3
- add r5, r0, r5
- ldr r0, [sp, #0x7c]
- str r5, [sp, #0x288]
- add r0, r5, r0
- ldr r5, [sp, #0x258]
- add r6, r5, #0x0
- lsr r6, r4
- mov r5, #0xf
- and r5, r6
- lsl r5, r5, #0x18
- lsr r5, r5, #0x18
- beq _020199A0
- lsl r6, r2, #0x1f
- lsr r6, r6, #0x1d
- lsl r5, r6
- str r5, [sp, #0x28c]
- ldrb r5, [r0, r7]
- str r5, [sp, #0x290]
- mov r5, #0xf0
- asr r5, r6
- ldr r6, [sp, #0x290]
- and r6, r5
- ldr r5, [sp, #0x28c]
- orr r5, r6
- lsl r5, r5, #0x18
- lsr r5, r5, #0x18
- strb r5, [r0, r7]
- ldr r0, [sp, #0x260]
- cmp r0, #0x0
- beq _020199A0
- ldr r6, [sp, #0x288]
- ldr r0, [sp, #0x78]
- add r6, r6, r0
- ldr r0, [sp, #0x74]
- strb r5, [r0, r6]
-_020199A0:
- add r1, r1, #0x1
- add r4, r4, #0x4
- add r3, r3, #0x4
- add r2, r2, #0x1
- cmp r1, #0x8
- blt _0201994C
- ldr r0, [sp, #0x260]
- cmp r0, #0x0
- beq _020199BA
- ldr r0, [sp, #0x264]
- add r0, r0, #0x2
- str r0, [sp, #0x264]
- b _020199C0
-_020199BA:
- ldr r0, [sp, #0x264]
- add r0, r0, #0x1
- str r0, [sp, #0x264]
-_020199C0:
- ldr r0, [sp, #0x25c]
- add r0, r0, #0x4
- str r0, [sp, #0x25c]
- ldr r0, [sp, #0x268]
- add r1, r0, #0x1
- ldr r0, [sp, #0x4]
- str r1, [sp, #0x268]
- cmp r1, r0
- blt _02019902
-_020199D2:
- ldr r0, [sp, #0x0]
- add r0, #0x20
- str r0, [sp, #0x0]
- ldr r0, [sp, #0x54]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x98]
- mov r0, #0x0
- str r0, [sp, #0x254]
- ldr r0, [sp, #0x4]
- cmp r0, #0x0
- bgt _020199EE
- bl FUN_0201A8BC
-_020199EE:
- ldr r0, [sp, #0x5c]
- mov r1, #0x7
- add r0, #0x8
- str r0, [sp, #0x5c]
- ldr r0, [sp, #0x58]
- and r1, r0
- add r0, r0, r1
- asr r0, r0, #0x3
- str r0, [sp, #0x94]
-_02019A00:
- ldr r0, [sp, #0x0]
- ldr r1, [sp, #0x98]
- ldr r0, [r0, #0x0]
- ldr r2, [sp, #0x5c]
- str r0, [sp, #0x24c]
- ldr r0, [sp, #0x254]
- asr r1, r0
- mov r0, #0x1
- and r0, r1
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x250]
- ldr r0, [sp, #0x8]
- mov r1, #0x0
- str r0, [sp, #0x294]
- sub r0, #0x8
- str r0, [sp, #0x294]
- cmp r0, #0x0
- ble _02019ABA
- ble _02019ABA
- add r0, r2, #0x0
- lsl r3, r0, #0x2
- ldr r0, [sp, #0x48]
- ldr r6, [sp, #0x94]
- lsl r5, r0, #0x2
- ldr r0, _02019B68 ; =0x00003FE0
- add r7, r5, #0x0
- and r0, r5
- mul r6, r0
- mov r0, #0x1c
- and r7, r0
- ldr r0, [sp, #0x48]
- str r6, [sp, #0x90]
- add r0, r0, #0x1
- lsl r6, r0, #0x2
- ldr r0, _02019B68 ; =0x00003FE0
- ldr r5, [sp, #0x94]
- and r0, r6
- mul r5, r0
- mov r0, #0x1c
- and r0, r6
- add r4, r1, #0x0
- str r5, [sp, #0x8c]
- str r0, [sp, #0x88]
-_02019A58:
- asr r5, r2, #0x1
- mov r0, #0x3
- and r5, r0
- ldr r0, [sp, #0x278]
- add r0, r0, r5
- ldr r5, _02019B68 ; =0x00003FE0
- and r5, r3
- add r5, r0, r5
- ldr r0, [sp, #0x90]
- str r5, [sp, #0x298]
- add r0, r5, r0
- ldr r5, [sp, #0x24c]
- add r6, r5, #0x0
- lsr r6, r4
- mov r5, #0xf
- and r5, r6
- lsl r5, r5, #0x18
- lsr r5, r5, #0x18
- beq _02019AAC
- lsl r6, r2, #0x1f
- lsr r6, r6, #0x1d
- lsl r5, r6
- str r5, [sp, #0x29c]
- ldrb r5, [r0, r7]
- str r5, [sp, #0x2a0]
- mov r5, #0xf0
- asr r5, r6
- ldr r6, [sp, #0x2a0]
- and r6, r5
- ldr r5, [sp, #0x29c]
- orr r5, r6
- lsl r5, r5, #0x18
- lsr r5, r5, #0x18
- strb r5, [r0, r7]
- ldr r0, [sp, #0x250]
- cmp r0, #0x0
- beq _02019AAC
- ldr r6, [sp, #0x298]
- ldr r0, [sp, #0x8c]
- add r6, r6, r0
- ldr r0, [sp, #0x88]
- strb r5, [r0, r6]
-_02019AAC:
- ldr r0, [sp, #0x294]
- add r1, r1, #0x1
- add r4, r4, #0x4
- add r3, r3, #0x4
- add r2, r2, #0x1
- cmp r1, r0
- blt _02019A58
-_02019ABA:
- ldr r0, [sp, #0x250]
- cmp r0, #0x0
- beq _02019AC8
- ldr r0, [sp, #0x48]
- add r0, r0, #0x2
- str r0, [sp, #0x48]
- b _02019ACE
-_02019AC8:
- ldr r0, [sp, #0x48]
- add r0, r0, #0x1
- str r0, [sp, #0x48]
-_02019ACE:
- ldr r0, [sp, #0x0]
- add r0, r0, #0x4
- str r0, [sp, #0x0]
- ldr r0, [sp, #0x254]
- add r1, r0, #0x1
- ldr r0, [sp, #0x4]
- str r1, [sp, #0x254]
- cmp r1, r0
- blt _02019A00
- add sp, #0x1fc
- add sp, #0x118
- pop {r4-r7, pc}
-_02019AE6:
- ldr r0, [sp, #0x0]
- mov r1, #0x7
- str r0, [sp, #0x23c]
- ldr r0, [sp, #0x48]
- str r0, [sp, #0x244]
- mov r0, #0x0
- str r0, [sp, #0x248]
- ldr r0, [sp, #0x330]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0xa8]
- ldr r0, [sp, #0x58]
- and r1, r0
- add r0, r0, r1
- asr r0, r0, #0x3
- str r0, [sp, #0x40]
-_02019B06:
- ldr r0, [sp, #0x23c]
- ldr r1, [sp, #0xa8]
- ldr r0, [r0, #0x0]
- ldr r2, [sp, #0x5c]
- str r0, [sp, #0x238]
- ldr r0, [sp, #0x248]
- asr r1, r0
- mov r0, #0x1
- and r0, r1
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x240]
- ldr r0, [sp, #0x8]
- mov r1, #0x0
- cmp r0, #0x0
- ble _02019BC2
- ble _02019BC2
- add r0, r2, #0x0
- lsl r3, r0, #0x2
- ldr r0, [sp, #0x244]
- ldr r6, [sp, #0x40]
- lsl r5, r0, #0x2
- ldr r0, _02019B68 ; =0x00003FE0
- add r7, r5, #0x0
- and r0, r5
- mul r6, r0
- mov r0, #0x1c
- and r7, r0
- ldr r0, [sp, #0x244]
- str r6, [sp, #0xa4]
- add r0, r0, #0x1
- lsl r6, r0, #0x2
- ldr r0, _02019B68 ; =0x00003FE0
- ldr r5, [sp, #0x40]
- and r0, r6
- mul r5, r0
- mov r0, #0x1c
- and r0, r6
- add r4, r1, #0x0
- str r5, [sp, #0xa0]
- str r0, [sp, #0x9c]
-_02019B58:
- asr r5, r2, #0x1
- mov r0, #0x3
- and r5, r0
- ldr r0, [sp, #0x278]
- add r0, r0, r5
- ldr r5, _02019B68 ; =0x00003FE0
- b _02019B6C
- nop
-_02019B68: .word 0x00003FE0
-_02019B6C:
- and r5, r3
- add r5, r0, r5
- ldr r0, [sp, #0xa4]
- str r5, [sp, #0x2a4]
- add r0, r5, r0
- ldr r5, [sp, #0x238]
- add r6, r5, #0x0
- lsr r6, r4
- mov r5, #0xf
- and r5, r6
- lsl r5, r5, #0x18
- lsr r5, r5, #0x18
- beq _02019BB4
- lsl r6, r2, #0x1f
- lsr r6, r6, #0x1d
- lsl r5, r6
- str r5, [sp, #0x2a8]
- ldrb r5, [r0, r7]
- str r5, [sp, #0x2ac]
- mov r5, #0xf0
- asr r5, r6
- ldr r6, [sp, #0x2ac]
- and r6, r5
- ldr r5, [sp, #0x2a8]
- orr r5, r6
- lsl r5, r5, #0x18
- lsr r5, r5, #0x18
- strb r5, [r0, r7]
- ldr r0, [sp, #0x240]
- cmp r0, #0x0
- beq _02019BB4
- ldr r6, [sp, #0x2a4]
- ldr r0, [sp, #0xa0]
- add r6, r6, r0
- ldr r0, [sp, #0x9c]
- strb r5, [r0, r6]
-_02019BB4:
- ldr r0, [sp, #0x8]
- add r1, r1, #0x1
- add r4, r4, #0x4
- add r3, r3, #0x4
- add r2, r2, #0x1
- cmp r1, r0
- blt _02019B58
-_02019BC2:
- ldr r0, [sp, #0x240]
- cmp r0, #0x0
- beq _02019BD0
- ldr r0, [sp, #0x244]
- add r0, r0, #0x2
- str r0, [sp, #0x244]
- b _02019BD6
-_02019BD0:
- ldr r0, [sp, #0x244]
- add r0, r0, #0x1
- str r0, [sp, #0x244]
-_02019BD6:
- ldr r0, [sp, #0x23c]
- add r0, r0, #0x4
- str r0, [sp, #0x23c]
- ldr r0, [sp, #0x248]
- add r0, r0, #0x1
- str r0, [sp, #0x248]
- cmp r0, #0x8
- blt _02019B06
- ldr r0, [sp, #0x0]
- mov r2, #0x0
- add r0, #0x40
- str r0, [sp, #0x0]
- ldr r0, [sp, #0x48]
- mov r1, #0x1
- add r0, #0x8
- str r0, [sp, #0x48]
-_02019BF6:
- ldr r0, [sp, #0x330]
- asr r0, r2
- tst r0, r1
- beq _02019C04
- ldr r0, [sp, #0x48]
- add r0, r0, #0x1
- str r0, [sp, #0x48]
-_02019C04:
- add r2, r2, #0x1
- cmp r2, #0x8
- blt _02019BF6
- ldr r0, [sp, #0x330]
- asr r0, r0, #0x8
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0xb8]
- mov r0, #0x0
- str r0, [sp, #0x20]
- ldr r0, [sp, #0x4]
- sub r0, #0x8
- cmp r0, #0x0
- bgt _02019C24
- bl FUN_0201A8BC
-_02019C24:
- ldr r0, [sp, #0x0]
- ldr r1, [sp, #0xb8]
- ldr r0, [r0, #0x0]
- ldr r2, [sp, #0x5c]
- str r0, [sp, #0x230]
- ldr r0, [sp, #0x20]
- asr r1, r0
- mov r0, #0x1
- and r0, r1
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x234]
- ldr r0, [sp, #0x8]
- mov r1, #0x0
- cmp r0, #0x0
- ble _02019CD8
- ble _02019CD8
- add r0, r2, #0x0
- lsl r3, r0, #0x2
- ldr r0, [sp, #0x48]
- ldr r6, [sp, #0x40]
- lsl r5, r0, #0x2
- ldr r0, _02019F88 ; =0x00003FE0
- add r7, r5, #0x0
- and r0, r5
- mul r6, r0
- mov r0, #0x1c
- and r7, r0
- ldr r0, [sp, #0x48]
- str r6, [sp, #0xb4]
- add r0, r0, #0x1
- lsl r6, r0, #0x2
- ldr r0, _02019F88 ; =0x00003FE0
- ldr r5, [sp, #0x40]
- and r0, r6
- mul r5, r0
- mov r0, #0x1c
- and r0, r6
- add r4, r1, #0x0
- str r5, [sp, #0xb0]
- str r0, [sp, #0xac]
-_02019C76:
- asr r5, r2, #0x1
- mov r0, #0x3
- and r5, r0
- ldr r0, [sp, #0x278]
- add r0, r0, r5
- ldr r5, _02019F88 ; =0x00003FE0
- and r5, r3
- add r5, r0, r5
- ldr r0, [sp, #0xb4]
- str r5, [sp, #0x2b0]
- add r0, r5, r0
- ldr r5, [sp, #0x230]
- add r6, r5, #0x0
- lsr r6, r4
- mov r5, #0xf
- and r5, r6
- lsl r5, r5, #0x18
- lsr r5, r5, #0x18
- beq _02019CCA
- lsl r6, r2, #0x1f
- lsr r6, r6, #0x1d
- lsl r5, r6
- str r5, [sp, #0x2b4]
- ldrb r5, [r0, r7]
- str r5, [sp, #0x2b8]
- mov r5, #0xf0
- asr r5, r6
- ldr r6, [sp, #0x2b8]
- and r6, r5
- ldr r5, [sp, #0x2b4]
- orr r5, r6
- lsl r5, r5, #0x18
- lsr r5, r5, #0x18
- strb r5, [r0, r7]
- ldr r0, [sp, #0x234]
- cmp r0, #0x0
- beq _02019CCA
- ldr r6, [sp, #0x2b0]
- ldr r0, [sp, #0xb0]
- add r6, r6, r0
- ldr r0, [sp, #0xac]
- strb r5, [r0, r6]
-_02019CCA:
- ldr r0, [sp, #0x8]
- add r1, r1, #0x1
- add r4, r4, #0x4
- add r3, r3, #0x4
- add r2, r2, #0x1
- cmp r1, r0
- blt _02019C76
-_02019CD8:
- ldr r0, [sp, #0x234]
- cmp r0, #0x0
- beq _02019CE6
- ldr r0, [sp, #0x48]
- add r0, r0, #0x2
- str r0, [sp, #0x48]
- b _02019CEC
-_02019CE6:
- ldr r0, [sp, #0x48]
- add r0, r0, #0x1
- str r0, [sp, #0x48]
-_02019CEC:
- ldr r0, [sp, #0x0]
- ldr r1, [sp, #0x4]
- add r0, r0, #0x4
- str r0, [sp, #0x0]
- ldr r0, [sp, #0x20]
- sub r1, #0x8
- add r0, r0, #0x1
- str r0, [sp, #0x20]
- cmp r0, r1
- blt _02019C24
- add sp, #0x1fc
- add sp, #0x118
- pop {r4-r7, pc}
-_02019D06:
- ldr r0, [sp, #0x0]
- str r0, [sp, #0x220]
- ldr r0, [sp, #0x48]
- str r0, [sp, #0x228]
- ldr r0, [sp, #0x330]
- lsl r0, r0, #0x18
- lsr r1, r0, #0x18
- mov r0, #0x0
- str r0, [sp, #0x22c]
- lsl r0, r1, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x3c]
- ldr r0, [sp, #0x58]
- mov r1, #0x7
- and r1, r0
- add r0, r0, r1
- asr r0, r0, #0x3
- str r0, [sp, #0x38]
-_02019D2A:
- ldr r0, [sp, #0x220]
- ldr r1, [sp, #0x3c]
- ldr r0, [r0, #0x0]
- ldr r2, [sp, #0x5c]
- str r0, [sp, #0x21c]
- ldr r0, [sp, #0x22c]
- ldr r6, [sp, #0x38]
- asr r1, r0
- mov r0, #0x1
- and r0, r1
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x224]
- add r0, r2, #0x0
- lsl r3, r0, #0x2
- ldr r0, [sp, #0x228]
- mov r1, #0x0
- lsl r5, r0, #0x2
- ldr r0, _02019F88 ; =0x00003FE0
- add r7, r5, #0x0
- and r0, r5
- mul r6, r0
- mov r0, #0x1c
- and r7, r0
- ldr r0, [sp, #0x228]
- str r6, [sp, #0xc4]
- add r0, r0, #0x1
- lsl r6, r0, #0x2
- ldr r0, _02019F88 ; =0x00003FE0
- ldr r5, [sp, #0x38]
- and r0, r6
- mul r5, r0
- mov r0, #0x1c
- and r0, r6
- str r3, [sp, #0x34]
- add r4, r1, #0x0
- str r5, [sp, #0xc0]
- str r0, [sp, #0xbc]
-_02019D76:
- asr r5, r2, #0x1
- mov r0, #0x3
- and r5, r0
- ldr r0, [sp, #0x278]
- add r0, r0, r5
- ldr r5, _02019F88 ; =0x00003FE0
- and r5, r3
- add r5, r0, r5
- ldr r0, [sp, #0xc4]
- str r5, [sp, #0x2bc]
- add r0, r5, r0
- ldr r5, [sp, #0x21c]
- add r6, r5, #0x0
- lsr r6, r4
- mov r5, #0xf
- and r5, r6
- lsl r5, r5, #0x18
- lsr r5, r5, #0x18
- beq _02019DCA
- lsl r6, r2, #0x1f
- lsr r6, r6, #0x1d
- lsl r5, r6
- str r5, [sp, #0x2c0]
- ldrb r5, [r0, r7]
- str r5, [sp, #0x2c4]
- mov r5, #0xf0
- asr r5, r6
- ldr r6, [sp, #0x2c4]
- and r6, r5
- ldr r5, [sp, #0x2c0]
- orr r5, r6
- lsl r5, r5, #0x18
- lsr r5, r5, #0x18
- strb r5, [r0, r7]
- ldr r0, [sp, #0x224]
- cmp r0, #0x0
- beq _02019DCA
- ldr r6, [sp, #0x2bc]
- ldr r0, [sp, #0xc0]
- add r6, r6, r0
- ldr r0, [sp, #0xbc]
- strb r5, [r0, r6]
-_02019DCA:
- add r1, r1, #0x1
- add r4, r4, #0x4
- add r3, r3, #0x4
- add r2, r2, #0x1
- cmp r1, #0x8
- blt _02019D76
- ldr r0, [sp, #0x224]
- cmp r0, #0x0
- beq _02019DE4
- ldr r0, [sp, #0x228]
- add r0, r0, #0x2
- str r0, [sp, #0x228]
- b _02019DEA
-_02019DE4:
- ldr r0, [sp, #0x228]
- add r0, r0, #0x1
- str r0, [sp, #0x228]
-_02019DEA:
- ldr r0, [sp, #0x220]
- add r0, r0, #0x4
- str r0, [sp, #0x220]
- ldr r0, [sp, #0x22c]
- add r0, r0, #0x1
- str r0, [sp, #0x22c]
- cmp r0, #0x8
- blt _02019D2A
- ldr r0, [sp, #0x0]
- str r0, [sp, #0x20c]
- add r0, #0x20
- str r0, [sp, #0x20c]
- ldr r0, [sp, #0x48]
- str r0, [sp, #0x214]
- mov r0, #0x0
- str r0, [sp, #0x218]
- ldr r0, [sp, #0x5c]
- str r0, [sp, #0xd4]
- add r0, #0x8
- str r0, [sp, #0xd4]
-_02019E12:
- ldr r0, [sp, #0x20c]
- ldr r1, [sp, #0x3c]
- ldr r0, [r0, #0x0]
- ldr r2, [sp, #0xd4]
- str r0, [sp, #0x208]
- ldr r0, [sp, #0x218]
- asr r1, r0
- mov r0, #0x1
- and r0, r1
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x210]
- ldr r0, [sp, #0x8]
- mov r1, #0x0
- str r0, [sp, #0x2c8]
- sub r0, #0x8
- str r0, [sp, #0x2c8]
- cmp r0, #0x0
- ble _02019ECC
- ble _02019ECC
- add r0, r2, #0x0
- lsl r3, r0, #0x2
- ldr r0, [sp, #0x214]
- ldr r6, [sp, #0x38]
- lsl r5, r0, #0x2
- ldr r0, _02019F88 ; =0x00003FE0
- add r7, r5, #0x0
- and r0, r5
- mul r6, r0
- mov r0, #0x1c
- and r7, r0
- ldr r0, [sp, #0x214]
- str r6, [sp, #0xd0]
- add r0, r0, #0x1
- lsl r6, r0, #0x2
- ldr r0, _02019F88 ; =0x00003FE0
- ldr r5, [sp, #0x38]
- and r0, r6
- mul r5, r0
- mov r0, #0x1c
- and r0, r6
- add r4, r1, #0x0
- str r5, [sp, #0xcc]
- str r0, [sp, #0xc8]
-_02019E6A:
- asr r5, r2, #0x1
- mov r0, #0x3
- and r5, r0
- ldr r0, [sp, #0x278]
- add r0, r0, r5
- ldr r5, _02019F88 ; =0x00003FE0
- and r5, r3
- add r5, r0, r5
- ldr r0, [sp, #0xd0]
- str r5, [sp, #0x2cc]
- add r0, r5, r0
- ldr r5, [sp, #0x208]
- add r6, r5, #0x0
- lsr r6, r4
- mov r5, #0xf
- and r5, r6
- lsl r5, r5, #0x18
- lsr r5, r5, #0x18
- beq _02019EBE
- lsl r6, r2, #0x1f
- lsr r6, r6, #0x1d
- lsl r5, r6
- str r5, [sp, #0x2d0]
- ldrb r5, [r0, r7]
- str r5, [sp, #0x2d4]
- mov r5, #0xf0
- asr r5, r6
- ldr r6, [sp, #0x2d4]
- and r6, r5
- ldr r5, [sp, #0x2d0]
- orr r5, r6
- lsl r5, r5, #0x18
- lsr r5, r5, #0x18
- strb r5, [r0, r7]
- ldr r0, [sp, #0x210]
- cmp r0, #0x0
- beq _02019EBE
- ldr r6, [sp, #0x2cc]
- ldr r0, [sp, #0xcc]
- add r6, r6, r0
- ldr r0, [sp, #0xc8]
- strb r5, [r0, r6]
-_02019EBE:
- ldr r0, [sp, #0x2c8]
- add r1, r1, #0x1
- add r4, r4, #0x4
- add r3, r3, #0x4
- add r2, r2, #0x1
- cmp r1, r0
- blt _02019E6A
-_02019ECC:
- ldr r0, [sp, #0x210]
- cmp r0, #0x0
- beq _02019EDA
- ldr r0, [sp, #0x214]
- add r0, r0, #0x2
- str r0, [sp, #0x214]
- b _02019EE0
-_02019EDA:
- ldr r0, [sp, #0x214]
- add r0, r0, #0x1
- str r0, [sp, #0x214]
-_02019EE0:
- ldr r0, [sp, #0x20c]
- add r0, r0, #0x4
- str r0, [sp, #0x20c]
- ldr r0, [sp, #0x218]
- add r0, r0, #0x1
- str r0, [sp, #0x218]
- cmp r0, #0x8
- blt _02019E12
- ldr r0, [sp, #0x0]
- mov r2, #0x0
- str r0, [sp, #0x1fc]
- add r0, #0x40
- str r0, [sp, #0x1fc]
- ldr r0, [sp, #0x48]
- mov r1, #0x1
- add r0, #0x8
- str r0, [sp, #0x48]
- str r0, [sp, #0x204]
-_02019F04:
- ldr r0, [sp, #0x330]
- asr r0, r2
- tst r0, r1
- beq _02019F12
- ldr r0, [sp, #0x204]
- add r0, r0, #0x1
- str r0, [sp, #0x204]
-_02019F12:
- add r2, r2, #0x1
- cmp r2, #0x8
- blt _02019F04
- ldr r0, [sp, #0x330]
- asr r0, r0, #0x8
- str r0, [sp, #0x50]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0xe4]
- mov r0, #0x0
- str r0, [sp, #0x1c]
- ldr r0, [sp, #0x4]
- sub r0, #0x8
- cmp r0, #0x0
- ble _0201A008
-_02019F30:
- ldr r0, [sp, #0x1fc]
- ldr r1, [sp, #0xe4]
- ldr r0, [r0, #0x0]
- ldr r6, [sp, #0x38]
- str r0, [sp, #0x1f8]
- ldr r0, [sp, #0x1c]
- ldr r2, [sp, #0x5c]
- asr r1, r0
- mov r0, #0x1
- and r0, r1
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x200]
- ldr r0, [sp, #0x204]
- mov r1, #0x0
- lsl r5, r0, #0x2
- ldr r0, _02019F88 ; =0x00003FE0
- add r7, r5, #0x0
- and r0, r5
- mul r6, r0
- mov r0, #0x1c
- and r7, r0
- ldr r0, [sp, #0x204]
- str r6, [sp, #0xe0]
- add r0, r0, #0x1
- lsl r6, r0, #0x2
- ldr r0, _02019F88 ; =0x00003FE0
- ldr r5, [sp, #0x38]
- and r0, r6
- mul r5, r0
- mov r0, #0x1c
- and r0, r6
- ldr r3, [sp, #0x34]
- add r4, r1, #0x0
- str r5, [sp, #0xdc]
- str r0, [sp, #0xd8]
-_02019F78:
- asr r5, r2, #0x1
- mov r0, #0x3
- and r5, r0
- ldr r0, [sp, #0x278]
- add r0, r0, r5
- ldr r5, _02019F88 ; =0x00003FE0
- b _02019F8C
- nop
-_02019F88: .word 0x00003FE0
-_02019F8C:
- and r5, r3
- add r5, r0, r5
- ldr r0, [sp, #0xe0]
- str r5, [sp, #0x2d8]
- add r0, r5, r0
- ldr r5, [sp, #0x1f8]
- add r6, r5, #0x0
- lsr r6, r4
- mov r5, #0xf
- and r5, r6
- lsl r5, r5, #0x18
- lsr r5, r5, #0x18
- beq _02019FD4
- lsl r6, r2, #0x1f
- lsr r6, r6, #0x1d
- lsl r5, r6
- str r5, [sp, #0x2dc]
- ldrb r5, [r0, r7]
- str r5, [sp, #0x2e0]
- mov r5, #0xf0
- asr r5, r6
- ldr r6, [sp, #0x2e0]
- and r6, r5
- ldr r5, [sp, #0x2dc]
- orr r5, r6
- lsl r5, r5, #0x18
- lsr r5, r5, #0x18
- strb r5, [r0, r7]
- ldr r0, [sp, #0x200]
- cmp r0, #0x0
- beq _02019FD4
- ldr r6, [sp, #0x2d8]
- ldr r0, [sp, #0xdc]
- add r6, r6, r0
- ldr r0, [sp, #0xd8]
- strb r5, [r0, r6]
-_02019FD4:
- add r1, r1, #0x1
- add r4, r4, #0x4
- add r3, r3, #0x4
- add r2, r2, #0x1
- cmp r1, #0x8
- blt _02019F78
- ldr r0, [sp, #0x200]
- cmp r0, #0x0
- beq _02019FEE
- ldr r0, [sp, #0x204]
- add r0, r0, #0x2
- str r0, [sp, #0x204]
- b _02019FF4
-_02019FEE:
- ldr r0, [sp, #0x204]
- add r0, r0, #0x1
- str r0, [sp, #0x204]
-_02019FF4:
- ldr r0, [sp, #0x1fc]
- ldr r1, [sp, #0x4]
- add r0, r0, #0x4
- str r0, [sp, #0x1fc]
- ldr r0, [sp, #0x1c]
- sub r1, #0x8
- add r0, r0, #0x1
- str r0, [sp, #0x1c]
- cmp r0, r1
- blt _02019F30
-_0201A008:
- ldr r0, [sp, #0x0]
- mov r2, #0x0
- add r0, #0x60
- str r0, [sp, #0x0]
- mov r1, #0x1
-_0201A012:
- ldr r0, [sp, #0x330]
- asr r0, r2
- tst r0, r1
- beq _0201A020
- ldr r0, [sp, #0x48]
- add r0, r0, #0x1
- str r0, [sp, #0x48]
-_0201A020:
- add r2, r2, #0x1
- cmp r2, #0x8
- blt _0201A012
- ldr r0, [sp, #0x50]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0xf4]
- mov r0, #0x0
- str r0, [sp, #0x18]
- ldr r0, [sp, #0x4]
- sub r0, #0x8
- cmp r0, #0x0
- bgt _0201A03E
- bl FUN_0201A8BC
-_0201A03E:
- ldr r0, [sp, #0x5c]
- add r0, #0x8
- str r0, [sp, #0x5c]
-_0201A044:
- ldr r0, [sp, #0x0]
- ldr r1, [sp, #0xf4]
- ldr r0, [r0, #0x0]
- ldr r2, [sp, #0x5c]
- str r0, [sp, #0x1f0]
- ldr r0, [sp, #0x18]
- asr r1, r0
- mov r0, #0x1
- and r0, r1
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x1f4]
- ldr r0, [sp, #0x8]
- mov r1, #0x0
- str r0, [sp, #0x2e4]
- sub r0, #0x8
- str r0, [sp, #0x2e4]
- cmp r0, #0x0
- ble _0201A0FE
- ble _0201A0FE
- add r0, r2, #0x0
- lsl r3, r0, #0x2
- ldr r0, [sp, #0x48]
- ldr r6, [sp, #0x38]
- lsl r5, r0, #0x2
- ldr r0, _0201A3A8 ; =0x00003FE0
- add r7, r5, #0x0
- and r0, r5
- mul r6, r0
- mov r0, #0x1c
- and r7, r0
- ldr r0, [sp, #0x48]
- str r6, [sp, #0xf0]
- add r0, r0, #0x1
- lsl r6, r0, #0x2
- ldr r0, _0201A3A8 ; =0x00003FE0
- ldr r5, [sp, #0x38]
- and r0, r6
- mul r5, r0
- mov r0, #0x1c
- and r0, r6
- add r4, r1, #0x0
- str r5, [sp, #0xec]
- str r0, [sp, #0xe8]
-_0201A09C:
- asr r5, r2, #0x1
- mov r0, #0x3
- and r5, r0
- ldr r0, [sp, #0x278]
- add r0, r0, r5
- ldr r5, _0201A3A8 ; =0x00003FE0
- and r5, r3
- add r5, r0, r5
- ldr r0, [sp, #0xf0]
- str r5, [sp, #0x2e8]
- add r0, r5, r0
- ldr r5, [sp, #0x1f0]
- add r6, r5, #0x0
- lsr r6, r4
- mov r5, #0xf
- and r5, r6
- lsl r5, r5, #0x18
- lsr r5, r5, #0x18
- beq _0201A0F0
- lsl r6, r2, #0x1f
- lsr r6, r6, #0x1d
- lsl r5, r6
- str r5, [sp, #0x2ec]
- ldrb r5, [r0, r7]
- mov r12, r5
- mov r5, #0xf0
- asr r5, r6
- mov r6, r12
- and r6, r5
- ldr r5, [sp, #0x2ec]
- orr r5, r6
- lsl r5, r5, #0x18
- lsr r5, r5, #0x18
- strb r5, [r0, r7]
- ldr r0, [sp, #0x1f4]
- cmp r0, #0x0
- beq _0201A0F0
- ldr r6, [sp, #0x2e8]
- ldr r0, [sp, #0xec]
- add r6, r6, r0
- ldr r0, [sp, #0xe8]
- strb r5, [r0, r6]
-_0201A0F0:
- ldr r0, [sp, #0x2e4]
- add r1, r1, #0x1
- add r4, r4, #0x4
- add r3, r3, #0x4
- add r2, r2, #0x1
- cmp r1, r0
- blt _0201A09C
-_0201A0FE:
- ldr r0, [sp, #0x1f4]
- cmp r0, #0x0
- beq _0201A10C
- ldr r0, [sp, #0x48]
- add r0, r0, #0x2
- str r0, [sp, #0x48]
- b _0201A112
-_0201A10C:
- ldr r0, [sp, #0x48]
- add r0, r0, #0x1
- str r0, [sp, #0x48]
-_0201A112:
- ldr r0, [sp, #0x0]
- ldr r1, [sp, #0x4]
- add r0, r0, #0x4
- str r0, [sp, #0x0]
- ldr r0, [sp, #0x18]
- sub r1, #0x8
- add r0, r0, #0x1
- str r0, [sp, #0x18]
- cmp r0, r1
- blt _0201A044
- add sp, #0x1fc
- add sp, #0x118
- pop {r4-r7, pc}
-
- thumb_func_start FUN_0201A12C
-FUN_0201A12C: ; 0x0201A12C
- lsl r1, r2, #0x2
- mul r1, r3
- ldr r3, [r5, #0x0]
- ldrb r2, [r5, #0x9]
- ldr r0, [sp, #0x0]
- ldr r3, [r3, #0x0]
- lsl r1, r1, #0x3
- bl FUN_02018848
- str r0, [sp, #0x1ec]
- cmp r4, #0x3
- bhi _0201A21E
- add r0, r4, r4
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_0201A150: ; jump table (using 16-bit offset)
- .short _0201A158 - _0201A150 - 2; case 0
- .short _0201A220 - _0201A150 - 2; case 1
- .short _0201A3CA - _0201A150 - 2; case 2
- .short _0201A56E - _0201A150 - 2; case 3
-_0201A158:
- ldr r0, [sp, #0x330]
- ldr r7, [sp, #0x1ec]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x10c]
- mov r0, #0x0
- str r0, [sp, #0x1e8]
- ldr r0, [sp, #0x4]
- cmp r0, #0x0
- ble _0201A21E
- ldr r0, [sp, #0x58]
- mov r1, #0x7
- and r1, r0
- add r0, r0, r1
- asr r0, r0, #0x3
- str r0, [sp, #0x108]
-_0201A178:
- ldr r1, [sp, #0x10c]
- ldr r0, [sp, #0x1e8]
- mov r4, #0x0
- asr r1, r0
- mov r0, #0x1
- and r0, r1
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x310]
- ldr r0, [sp, #0x8]
- ldr r5, [sp, #0x5c]
- cmp r0, #0x0
- ble _0201A1FC
- ble _0201A1FC
- add r0, r5, #0x0
- lsl r6, r0, #0x3
- ldr r0, [sp, #0x48]
- ldr r2, [sp, #0x108]
- lsl r1, r0, #0x3
- ldr r0, _0201A3AC ; =0x00007FC0
- mov r3, #0x38
- and r0, r1
- mul r2, r0
- add r0, r1, #0x0
- and r0, r3
- str r0, [sp, #0x100]
- ldr r0, [sp, #0x48]
- str r2, [sp, #0x104]
- add r0, r0, #0x1
- lsl r1, r0, #0x3
- ldr r0, _0201A3AC ; =0x00007FC0
- ldr r2, [sp, #0x108]
- and r0, r1
- mul r2, r0
- add r0, r1, #0x0
- and r0, r3
- str r2, [sp, #0xfc]
- str r0, [sp, #0xf8]
-_0201A1C4:
- mov r0, #0x7
- add r1, r5, #0x0
- and r1, r0
- ldr r0, [sp, #0x278]
- add r1, r0, r1
- ldr r0, _0201A3AC ; =0x00007FC0
- and r0, r6
- add r3, r1, r0
- ldr r0, [sp, #0x104]
- ldrb r1, [r7, r4]
- add r2, r3, r0
- cmp r1, #0x0
- beq _0201A1F0
- ldr r0, [sp, #0x100]
- strb r1, [r2, r0]
- ldr r0, [sp, #0x310]
- cmp r0, #0x0
- beq _0201A1F0
- ldr r0, [sp, #0xfc]
- add r2, r3, r0
- ldr r0, [sp, #0xf8]
- strb r1, [r0, r2]
-_0201A1F0:
- ldr r0, [sp, #0x8]
- add r4, r4, #0x1
- add r6, #0x8
- add r5, r5, #0x1
- cmp r4, r0
- blt _0201A1C4
-_0201A1FC:
- ldr r0, [sp, #0x310]
- cmp r0, #0x0
- beq _0201A20A
- ldr r0, [sp, #0x48]
- add r0, r0, #0x2
- str r0, [sp, #0x48]
- b _0201A210
-_0201A20A:
- ldr r0, [sp, #0x48]
- add r0, r0, #0x1
- str r0, [sp, #0x48]
-_0201A210:
- ldr r0, [sp, #0x1e8]
- add r7, #0x8
- add r1, r0, #0x1
- ldr r0, [sp, #0x4]
- str r1, [sp, #0x1e8]
- cmp r1, r0
- blt _0201A178
-_0201A21E:
- b _0201A8B6
-_0201A220:
- ldr r0, [sp, #0x48]
- ldr r7, [sp, #0x1ec]
- str r0, [sp, #0x1e0]
- ldr r0, [sp, #0x330]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x4c]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x124]
- mov r0, #0x0
- str r0, [sp, #0x1e4]
- ldr r0, [sp, #0x4]
- cmp r0, #0x0
- ble _0201A2E6
- ldr r0, [sp, #0x58]
- mov r1, #0x7
- and r1, r0
- add r0, r0, r1
- asr r0, r0, #0x3
- str r0, [sp, #0x120]
-_0201A24A:
- ldr r1, [sp, #0x124]
- ldr r0, [sp, #0x1e4]
- ldr r5, [sp, #0x5c]
- asr r1, r0
- mov r0, #0x1
- and r0, r1
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x30c]
- add r0, r5, #0x0
- lsl r6, r0, #0x3
- ldr r0, [sp, #0x1e0]
- ldr r2, [sp, #0x120]
- lsl r1, r0, #0x3
- ldr r0, _0201A3AC ; =0x00007FC0
- mov r3, #0x38
- and r0, r1
- mul r2, r0
- add r0, r1, #0x0
- and r0, r3
- str r0, [sp, #0x118]
- ldr r0, [sp, #0x1e0]
- str r2, [sp, #0x11c]
- add r0, r0, #0x1
- lsl r1, r0, #0x3
- ldr r0, _0201A3AC ; =0x00007FC0
- ldr r2, [sp, #0x120]
- and r0, r1
- mul r2, r0
- add r0, r1, #0x0
- and r0, r3
- mov r4, #0x0
- str r2, [sp, #0x114]
- str r0, [sp, #0x110]
-_0201A28E:
- mov r0, #0x7
- add r1, r5, #0x0
- and r1, r0
- ldr r0, [sp, #0x278]
- add r1, r0, r1
- ldr r0, _0201A3AC ; =0x00007FC0
- and r0, r6
- add r3, r1, r0
- ldr r0, [sp, #0x11c]
- ldrb r1, [r7, r4]
- add r2, r3, r0
- cmp r1, #0x0
- beq _0201A2BA
- ldr r0, [sp, #0x118]
- strb r1, [r2, r0]
- ldr r0, [sp, #0x30c]
- cmp r0, #0x0
- beq _0201A2BA
- ldr r0, [sp, #0x114]
- add r2, r3, r0
- ldr r0, [sp, #0x110]
- strb r1, [r0, r2]
-_0201A2BA:
- add r4, r4, #0x1
- add r6, #0x8
- add r5, r5, #0x1
- cmp r4, #0x8
- blt _0201A28E
- ldr r0, [sp, #0x30c]
- cmp r0, #0x0
- beq _0201A2D2
- ldr r0, [sp, #0x1e0]
- add r0, r0, #0x2
- str r0, [sp, #0x1e0]
- b _0201A2D8
-_0201A2D2:
- ldr r0, [sp, #0x1e0]
- add r0, r0, #0x1
- str r0, [sp, #0x1e0]
-_0201A2D8:
- ldr r0, [sp, #0x1e4]
- add r7, #0x8
- add r1, r0, #0x1
- ldr r0, [sp, #0x4]
- str r1, [sp, #0x1e4]
- cmp r1, r0
- blt _0201A24A
-_0201A2E6:
- ldr r0, [sp, #0x1ec]
- str r0, [sp, #0x308]
- add r0, #0x40
- str r0, [sp, #0x308]
- ldr r0, [sp, #0x4c]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x13c]
- mov r0, #0x0
- str r0, [sp, #0x1dc]
- ldr r0, [sp, #0x4]
- cmp r0, #0x0
- ble _0201A3C8
- ldr r0, [sp, #0x5c]
- mov r1, #0x7
- add r0, #0x8
- str r0, [sp, #0x5c]
- ldr r0, [sp, #0x58]
- and r1, r0
- add r0, r0, r1
- asr r0, r0, #0x3
- str r0, [sp, #0x138]
-_0201A312:
- ldr r1, [sp, #0x13c]
- ldr r0, [sp, #0x1dc]
- ldr r7, [sp, #0x8]
- asr r1, r0
- mov r0, #0x1
- and r0, r1
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- sub r7, #0x8
- mov r4, #0x0
- str r0, [sp, #0x1d8]
- ldr r5, [sp, #0x5c]
- cmp r7, #0x0
- ble _0201A398
- ble _0201A398
- add r0, r5, #0x0
- lsl r6, r0, #0x3
- ldr r0, [sp, #0x48]
- ldr r2, [sp, #0x138]
- lsl r1, r0, #0x3
- ldr r0, _0201A3AC ; =0x00007FC0
- mov r3, #0x38
- and r0, r1
- mul r2, r0
- add r0, r1, #0x0
- and r0, r3
- str r0, [sp, #0x130]
- ldr r0, [sp, #0x48]
- str r2, [sp, #0x134]
- add r0, r0, #0x1
- lsl r1, r0, #0x3
- ldr r0, _0201A3AC ; =0x00007FC0
- ldr r2, [sp, #0x138]
- and r0, r1
- mul r2, r0
- add r0, r1, #0x0
- and r0, r3
- str r2, [sp, #0x12c]
- str r0, [sp, #0x128]
-_0201A360:
- mov r0, #0x7
- add r1, r5, #0x0
- and r1, r0
- ldr r0, [sp, #0x278]
- add r1, r0, r1
- ldr r0, _0201A3AC ; =0x00007FC0
- and r0, r6
- add r3, r1, r0
- ldr r0, [sp, #0x134]
- add r2, r3, r0
- ldr r0, [sp, #0x308]
- ldrb r1, [r0, r4]
- cmp r1, #0x0
- beq _0201A38E
- ldr r0, [sp, #0x130]
- strb r1, [r2, r0]
- ldr r0, [sp, #0x1d8]
- cmp r0, #0x0
- beq _0201A38E
- ldr r0, [sp, #0x12c]
- add r2, r3, r0
- ldr r0, [sp, #0x128]
- strb r1, [r0, r2]
-_0201A38E:
- add r4, r4, #0x1
- add r6, #0x8
- add r5, r5, #0x1
- cmp r4, r7
- blt _0201A360
-_0201A398:
- ldr r0, [sp, #0x1d8]
- cmp r0, #0x0
- beq _0201A3B0
- ldr r0, [sp, #0x48]
- add r0, r0, #0x2
- str r0, [sp, #0x48]
- b _0201A3B6
- nop
-_0201A3A8: .word 0x00003FE0
-_0201A3AC: .word 0x00007FC0
-_0201A3B0:
- ldr r0, [sp, #0x48]
- add r0, r0, #0x1
- str r0, [sp, #0x48]
-_0201A3B6:
- ldr r0, [sp, #0x308]
- add r0, #0x8
- str r0, [sp, #0x308]
- ldr r0, [sp, #0x1dc]
- add r1, r0, #0x1
- ldr r0, [sp, #0x4]
- str r1, [sp, #0x1dc]
- cmp r1, r0
- blt _0201A312
-_0201A3C8:
- b _0201A8B6
-_0201A3CA:
- ldr r0, [sp, #0x48]
- mov r1, #0x7
- str r0, [sp, #0x1d0]
- mov r0, #0x0
- str r0, [sp, #0x1d4]
- ldr r0, [sp, #0x330]
- ldr r7, [sp, #0x1ec]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x150]
- ldr r0, [sp, #0x58]
- and r1, r0
- add r0, r0, r1
- asr r0, r0, #0x3
- str r0, [sp, #0x30]
-_0201A3E8:
- ldr r1, [sp, #0x150]
- ldr r0, [sp, #0x1d4]
- mov r4, #0x0
- asr r1, r0
- mov r0, #0x1
- and r0, r1
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x304]
- ldr r0, [sp, #0x8]
- ldr r5, [sp, #0x5c]
- cmp r0, #0x0
- ble _0201A46C
- ble _0201A46C
- add r0, r5, #0x0
- lsl r6, r0, #0x3
- ldr r0, [sp, #0x1d0]
- ldr r2, [sp, #0x30]
- lsl r1, r0, #0x3
- ldr r0, _0201A748 ; =0x00007FC0
- mov r3, #0x38
- and r0, r1
- mul r2, r0
- add r0, r1, #0x0
- and r0, r3
- str r0, [sp, #0x148]
- ldr r0, [sp, #0x1d0]
- str r2, [sp, #0x14c]
- add r0, r0, #0x1
- lsl r1, r0, #0x3
- ldr r0, _0201A748 ; =0x00007FC0
- ldr r2, [sp, #0x30]
- and r0, r1
- mul r2, r0
- add r0, r1, #0x0
- and r0, r3
- str r2, [sp, #0x144]
- str r0, [sp, #0x140]
-_0201A434:
- mov r0, #0x7
- add r1, r5, #0x0
- and r1, r0
- ldr r0, [sp, #0x278]
- add r1, r0, r1
- ldr r0, _0201A748 ; =0x00007FC0
- and r0, r6
- add r3, r1, r0
- ldr r0, [sp, #0x14c]
- ldrb r1, [r7, r4]
- add r2, r3, r0
- cmp r1, #0x0
- beq _0201A460
- ldr r0, [sp, #0x148]
- strb r1, [r2, r0]
- ldr r0, [sp, #0x304]
- cmp r0, #0x0
- beq _0201A460
- ldr r0, [sp, #0x144]
- add r2, r3, r0
- ldr r0, [sp, #0x140]
- strb r1, [r0, r2]
-_0201A460:
- ldr r0, [sp, #0x8]
- add r4, r4, #0x1
- add r6, #0x8
- add r5, r5, #0x1
- cmp r4, r0
- blt _0201A434
-_0201A46C:
- ldr r0, [sp, #0x304]
- cmp r0, #0x0
- beq _0201A47A
- ldr r0, [sp, #0x1d0]
- add r0, r0, #0x2
- str r0, [sp, #0x1d0]
- b _0201A480
-_0201A47A:
- ldr r0, [sp, #0x1d0]
- add r0, r0, #0x1
- str r0, [sp, #0x1d0]
-_0201A480:
- ldr r0, [sp, #0x1d4]
- add r7, #0x8
- add r0, r0, #0x1
- str r0, [sp, #0x1d4]
- cmp r0, #0x8
- blt _0201A3E8
- ldr r0, [sp, #0x48]
- ldr r7, [sp, #0x1ec]
- add r0, #0x8
- str r0, [sp, #0x48]
- add r7, #0x80
- mov r0, #0x0
- mov r2, #0x1
-_0201A49A:
- ldr r1, [sp, #0x330]
- asr r1, r0
- tst r1, r2
- beq _0201A4A8
- ldr r1, [sp, #0x48]
- add r1, r1, #0x1
- str r1, [sp, #0x48]
-_0201A4A8:
- add r0, r0, #0x1
- cmp r0, #0x8
- blt _0201A49A
- ldr r0, [sp, #0x330]
- asr r0, r0, #0x8
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x164]
- mov r0, #0x0
- str r0, [sp, #0x14]
- ldr r0, [sp, #0x4]
- sub r0, #0x8
- cmp r0, #0x0
- ble _0201A56C
-_0201A4C4:
- ldr r1, [sp, #0x164]
- ldr r0, [sp, #0x14]
- mov r4, #0x0
- asr r1, r0
- mov r0, #0x1
- and r0, r1
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x300]
- ldr r0, [sp, #0x8]
- ldr r5, [sp, #0x5c]
- cmp r0, #0x0
- ble _0201A548
- ble _0201A548
- add r0, r5, #0x0
- lsl r6, r0, #0x3
- ldr r0, [sp, #0x48]
- ldr r2, [sp, #0x30]
- lsl r1, r0, #0x3
- ldr r0, _0201A748 ; =0x00007FC0
- mov r3, #0x38
- and r0, r1
- mul r2, r0
- add r0, r1, #0x0
- and r0, r3
- str r0, [sp, #0x15c]
- ldr r0, [sp, #0x48]
- str r2, [sp, #0x160]
- add r0, r0, #0x1
- lsl r1, r0, #0x3
- ldr r0, _0201A748 ; =0x00007FC0
- ldr r2, [sp, #0x30]
- and r0, r1
- mul r2, r0
- add r0, r1, #0x0
- and r0, r3
- str r2, [sp, #0x158]
- str r0, [sp, #0x154]
-_0201A510:
- mov r0, #0x7
- add r1, r5, #0x0
- and r1, r0
- ldr r0, [sp, #0x278]
- add r1, r0, r1
- ldr r0, _0201A748 ; =0x00007FC0
- and r0, r6
- add r3, r1, r0
- ldr r0, [sp, #0x160]
- ldrb r1, [r7, r4]
- add r2, r3, r0
- cmp r1, #0x0
- beq _0201A53C
- ldr r0, [sp, #0x15c]
- strb r1, [r2, r0]
- ldr r0, [sp, #0x300]
- cmp r0, #0x0
- beq _0201A53C
- ldr r0, [sp, #0x158]
- add r2, r3, r0
- ldr r0, [sp, #0x154]
- strb r1, [r0, r2]
-_0201A53C:
- ldr r0, [sp, #0x8]
- add r4, r4, #0x1
- add r6, #0x8
- add r5, r5, #0x1
- cmp r4, r0
- blt _0201A510
-_0201A548:
- ldr r0, [sp, #0x300]
- cmp r0, #0x0
- beq _0201A556
- ldr r0, [sp, #0x48]
- add r0, r0, #0x2
- str r0, [sp, #0x48]
- b _0201A55C
-_0201A556:
- ldr r0, [sp, #0x48]
- add r0, r0, #0x1
- str r0, [sp, #0x48]
-_0201A55C:
- ldr r0, [sp, #0x14]
- ldr r1, [sp, #0x4]
- add r0, r0, #0x1
- sub r1, #0x8
- add r7, #0x8
- str r0, [sp, #0x14]
- cmp r0, r1
- blt _0201A4C4
-_0201A56C:
- b _0201A8B6
-_0201A56E:
- ldr r0, [sp, #0x48]
- ldr r7, [sp, #0x1ec]
- str r0, [sp, #0x1c8]
- ldr r0, [sp, #0x330]
- lsl r0, r0, #0x18
- lsr r1, r0, #0x18
- mov r0, #0x0
- str r0, [sp, #0x1cc]
- lsl r0, r1, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x2c]
- ldr r0, [sp, #0x58]
- mov r1, #0x7
- and r1, r0
- add r0, r0, r1
- asr r0, r0, #0x3
- str r0, [sp, #0x28]
-_0201A590:
- ldr r1, [sp, #0x2c]
- ldr r0, [sp, #0x1cc]
- ldr r5, [sp, #0x5c]
- asr r1, r0
- mov r0, #0x1
- and r0, r1
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x2fc]
- add r0, r5, #0x0
- lsl r6, r0, #0x3
- ldr r0, [sp, #0x1c8]
- ldr r2, [sp, #0x28]
- lsl r1, r0, #0x3
- ldr r0, _0201A748 ; =0x00007FC0
- mov r3, #0x38
- and r0, r1
- mul r2, r0
- add r0, r1, #0x0
- and r0, r3
- str r0, [sp, #0x170]
- ldr r0, [sp, #0x1c8]
- str r2, [sp, #0x174]
- add r0, r0, #0x1
- lsl r1, r0, #0x3
- ldr r0, _0201A748 ; =0x00007FC0
- ldr r2, [sp, #0x28]
- and r0, r1
- mul r2, r0
- add r0, r1, #0x0
- and r0, r3
- mov r4, #0x0
- str r6, [sp, #0x24]
- str r2, [sp, #0x16c]
- str r0, [sp, #0x168]
-_0201A5D6:
- mov r0, #0x7
- add r1, r5, #0x0
- and r1, r0
- ldr r0, [sp, #0x278]
- add r1, r0, r1
- ldr r0, _0201A748 ; =0x00007FC0
- and r0, r6
- add r3, r1, r0
- ldr r0, [sp, #0x174]
- ldrb r1, [r7, r4]
- add r2, r3, r0
- cmp r1, #0x0
- beq _0201A602
- ldr r0, [sp, #0x170]
- strb r1, [r2, r0]
- ldr r0, [sp, #0x2fc]
- cmp r0, #0x0
- beq _0201A602
- ldr r0, [sp, #0x16c]
- add r2, r3, r0
- ldr r0, [sp, #0x168]
- strb r1, [r0, r2]
-_0201A602:
- add r4, r4, #0x1
- add r6, #0x8
- add r5, r5, #0x1
- cmp r4, #0x8
- blt _0201A5D6
- ldr r0, [sp, #0x2fc]
- cmp r0, #0x0
- beq _0201A61A
- ldr r0, [sp, #0x1c8]
- add r0, r0, #0x2
- str r0, [sp, #0x1c8]
- b _0201A620
-_0201A61A:
- ldr r0, [sp, #0x1c8]
- add r0, r0, #0x1
- str r0, [sp, #0x1c8]
-_0201A620:
- ldr r0, [sp, #0x1cc]
- add r7, #0x8
- add r0, r0, #0x1
- str r0, [sp, #0x1cc]
- cmp r0, #0x8
- blt _0201A590
- ldr r0, [sp, #0x1ec]
- str r0, [sp, #0x2f8]
- add r0, #0x40
- str r0, [sp, #0x2f8]
- ldr r0, [sp, #0x48]
- str r0, [sp, #0x1c0]
- mov r0, #0x0
- str r0, [sp, #0x1c4]
- ldr r0, [sp, #0x5c]
- str r0, [sp, #0x188]
- add r0, #0x8
- str r0, [sp, #0x188]
-_0201A644:
- ldr r1, [sp, #0x2c]
- ldr r0, [sp, #0x1c4]
- ldr r7, [sp, #0x8]
- asr r1, r0
- mov r0, #0x1
- and r0, r1
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- sub r7, #0x8
- mov r4, #0x0
- str r0, [sp, #0x1bc]
- ldr r5, [sp, #0x188]
- cmp r7, #0x0
- ble _0201A6CA
- ble _0201A6CA
- add r0, r5, #0x0
- lsl r6, r0, #0x3
- ldr r0, [sp, #0x1c0]
- ldr r2, [sp, #0x28]
- lsl r1, r0, #0x3
- ldr r0, _0201A748 ; =0x00007FC0
- mov r3, #0x38
- and r0, r1
- mul r2, r0
- add r0, r1, #0x0
- and r0, r3
- str r0, [sp, #0x180]
- ldr r0, [sp, #0x1c0]
- str r2, [sp, #0x184]
- add r0, r0, #0x1
- lsl r1, r0, #0x3
- ldr r0, _0201A748 ; =0x00007FC0
- ldr r2, [sp, #0x28]
- and r0, r1
- mul r2, r0
- add r0, r1, #0x0
- and r0, r3
- str r2, [sp, #0x17c]
- str r0, [sp, #0x178]
-_0201A692:
- mov r0, #0x7
- add r1, r5, #0x0
- and r1, r0
- ldr r0, [sp, #0x278]
- add r1, r0, r1
- ldr r0, _0201A748 ; =0x00007FC0
- and r0, r6
- add r3, r1, r0
- ldr r0, [sp, #0x184]
- add r2, r3, r0
- ldr r0, [sp, #0x2f8]
- ldrb r1, [r0, r4]
- cmp r1, #0x0
- beq _0201A6C0
- ldr r0, [sp, #0x180]
- strb r1, [r2, r0]
- ldr r0, [sp, #0x1bc]
- cmp r0, #0x0
- beq _0201A6C0
- ldr r0, [sp, #0x17c]
- add r2, r3, r0
- ldr r0, [sp, #0x178]
- strb r1, [r0, r2]
-_0201A6C0:
- add r4, r4, #0x1
- add r6, #0x8
- add r5, r5, #0x1
- cmp r4, r7
- blt _0201A692
-_0201A6CA:
- ldr r0, [sp, #0x1bc]
- cmp r0, #0x0
- beq _0201A6D8
- ldr r0, [sp, #0x1c0]
- add r0, r0, #0x2
- str r0, [sp, #0x1c0]
- b _0201A6DE
-_0201A6D8:
- ldr r0, [sp, #0x1c0]
- add r0, r0, #0x1
- str r0, [sp, #0x1c0]
-_0201A6DE:
- ldr r0, [sp, #0x2f8]
- add r0, #0x8
- str r0, [sp, #0x2f8]
- ldr r0, [sp, #0x1c4]
- add r0, r0, #0x1
- str r0, [sp, #0x1c4]
- cmp r0, #0x8
- blt _0201A644
- ldr r0, [sp, #0x48]
- ldr r7, [sp, #0x1ec]
- add r0, #0x8
- add r7, #0x80
- str r0, [sp, #0x48]
- str r0, [sp, #0x1b8]
- mov r0, #0x0
- mov r2, #0x1
-_0201A6FE:
- ldr r1, [sp, #0x330]
- asr r1, r0
- tst r1, r2
- beq _0201A70C
- ldr r1, [sp, #0x1b8]
- add r1, r1, #0x1
- str r1, [sp, #0x1b8]
-_0201A70C:
- add r0, r0, #0x1
- cmp r0, #0x8
- blt _0201A6FE
- ldr r0, [sp, #0x330]
- asr r0, r0, #0x8
- str r0, [sp, #0x44]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x19c]
- mov r0, #0x0
- str r0, [sp, #0x10]
- ldr r0, [sp, #0x4]
- sub r0, #0x8
- cmp r0, #0x0
- ble _0201A7CE
-_0201A72A:
- ldr r1, [sp, #0x19c]
- ldr r0, [sp, #0x10]
- ldr r2, [sp, #0x28]
- asr r1, r0
- mov r0, #0x1
- and r0, r1
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x2f4]
- ldr r0, [sp, #0x1b8]
- mov r3, #0x38
- lsl r1, r0, #0x3
- ldr r0, _0201A748 ; =0x00007FC0
- b _0201A74C
- nop
-_0201A748: .word 0x00007FC0
-_0201A74C:
- ldr r5, [sp, #0x5c]
- and r0, r1
- mul r2, r0
- add r0, r1, #0x0
- and r0, r3
- str r0, [sp, #0x194]
- ldr r0, [sp, #0x1b8]
- str r2, [sp, #0x198]
- add r0, r0, #0x1
- lsl r1, r0, #0x3
- ldr r0, _0201A8C4 ; =0x00007FC0
- ldr r2, [sp, #0x28]
- and r0, r1
- mul r2, r0
- add r0, r1, #0x0
- and r0, r3
- ldr r6, [sp, #0x24]
- mov r4, #0x0
- str r2, [sp, #0x190]
- str r0, [sp, #0x18c]
-_0201A774:
- mov r0, #0x7
- add r1, r5, #0x0
- and r1, r0
- ldr r0, [sp, #0x278]
- add r1, r0, r1
- ldr r0, _0201A8C4 ; =0x00007FC0
- and r0, r6
- add r3, r1, r0
- ldr r0, [sp, #0x198]
- ldrb r1, [r7, r4]
- add r2, r3, r0
- cmp r1, #0x0
- beq _0201A7A0
- ldr r0, [sp, #0x194]
- strb r1, [r2, r0]
- ldr r0, [sp, #0x2f4]
- cmp r0, #0x0
- beq _0201A7A0
- ldr r0, [sp, #0x190]
- add r2, r3, r0
- ldr r0, [sp, #0x18c]
- strb r1, [r0, r2]
-_0201A7A0:
- add r4, r4, #0x1
- add r6, #0x8
- add r5, r5, #0x1
- cmp r4, #0x8
- blt _0201A774
- ldr r0, [sp, #0x2f4]
- cmp r0, #0x0
- beq _0201A7B8
- ldr r0, [sp, #0x1b8]
- add r0, r0, #0x2
- str r0, [sp, #0x1b8]
- b _0201A7BE
-_0201A7B8:
- ldr r0, [sp, #0x1b8]
- add r0, r0, #0x1
- str r0, [sp, #0x1b8]
-_0201A7BE:
- ldr r0, [sp, #0x10]
- ldr r1, [sp, #0x4]
- add r0, r0, #0x1
- sub r1, #0x8
- add r7, #0x8
- str r0, [sp, #0x10]
- cmp r0, r1
- blt _0201A72A
-_0201A7CE:
- ldr r0, [sp, #0x1ec]
- mov r2, #0x0
- str r0, [sp, #0x2f0]
- add r0, #0xc0
- str r0, [sp, #0x2f0]
- mov r1, #0x1
-_0201A7DA:
- ldr r0, [sp, #0x330]
- asr r0, r2
- tst r0, r1
- beq _0201A7E8
- ldr r0, [sp, #0x48]
- add r0, r0, #0x1
- str r0, [sp, #0x48]
-_0201A7E8:
- add r2, r2, #0x1
- cmp r2, #0x8
- blt _0201A7DA
- ldr r0, [sp, #0x44]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x1b0]
- mov r0, #0x0
- str r0, [sp, #0xc]
- ldr r0, [sp, #0x4]
- sub r0, #0x8
- cmp r0, #0x0
- ble _0201A8B6
- ldr r0, [sp, #0x5c]
- add r0, #0x8
- str r0, [sp, #0x5c]
-_0201A808:
- ldr r1, [sp, #0x1b0]
- ldr r0, [sp, #0xc]
- ldr r7, [sp, #0x8]
- asr r1, r0
- mov r0, #0x1
- and r0, r1
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- sub r7, #0x8
- mov r4, #0x0
- str r0, [sp, #0x1b4]
- ldr r5, [sp, #0x5c]
- cmp r7, #0x0
- ble _0201A88E
- ble _0201A88E
- add r0, r5, #0x0
- lsl r6, r0, #0x3
- ldr r0, [sp, #0x48]
- ldr r2, [sp, #0x28]
- lsl r1, r0, #0x3
- ldr r0, _0201A8C4 ; =0x00007FC0
- mov r3, #0x38
- and r0, r1
- mul r2, r0
- add r0, r1, #0x0
- and r0, r3
- str r0, [sp, #0x1a8]
- ldr r0, [sp, #0x48]
- str r2, [sp, #0x1ac]
- add r0, r0, #0x1
- lsl r1, r0, #0x3
- ldr r0, _0201A8C4 ; =0x00007FC0
- ldr r2, [sp, #0x28]
- and r0, r1
- mul r2, r0
- add r0, r1, #0x0
- and r0, r3
- str r2, [sp, #0x1a4]
- str r0, [sp, #0x1a0]
-_0201A856:
- mov r0, #0x7
- add r1, r5, #0x0
- and r1, r0
- ldr r0, [sp, #0x278]
- add r1, r0, r1
- ldr r0, _0201A8C4 ; =0x00007FC0
- and r0, r6
- add r3, r1, r0
- ldr r0, [sp, #0x1ac]
- add r2, r3, r0
- ldr r0, [sp, #0x2f0]
- ldrb r1, [r0, r4]
- cmp r1, #0x0
- beq _0201A884
- ldr r0, [sp, #0x1a8]
- strb r1, [r2, r0]
- ldr r0, [sp, #0x1b4]
- cmp r0, #0x0
- beq _0201A884
- ldr r0, [sp, #0x1a4]
- add r2, r3, r0
- ldr r0, [sp, #0x1a0]
- strb r1, [r0, r2]
-_0201A884:
- add r4, r4, #0x1
- add r6, #0x8
- add r5, r5, #0x1
- cmp r4, r7
- blt _0201A856
-_0201A88E:
- ldr r0, [sp, #0x1b4]
- cmp r0, #0x0
- beq _0201A89C
- ldr r0, [sp, #0x48]
- add r0, r0, #0x2
- str r0, [sp, #0x48]
- b _0201A8A2
-_0201A89C:
- ldr r0, [sp, #0x48]
- add r0, r0, #0x1
- str r0, [sp, #0x48]
-_0201A8A2:
- ldr r0, [sp, #0x2f0]
- ldr r1, [sp, #0x4]
- add r0, #0x8
- str r0, [sp, #0x2f0]
- ldr r0, [sp, #0xc]
- sub r1, #0x8
- add r0, r0, #0x1
- str r0, [sp, #0xc]
- cmp r0, r1
- blt _0201A808
-_0201A8B6:
- ldr r0, [sp, #0x1ec]
- bl FUN_02016A18
-
- thumb_func_start FUN_0201A8BC
-FUN_0201A8BC: ; 0x0201A8BC
- add sp, #0x1fc
- add sp, #0x118
- pop {r4-r7, pc}
- nop
-_0201A8C4: .word 0x00007FC0
-
- thumb_func_start FUN_0201A8C8
-FUN_0201A8C8: ; 0x0201A8C8
- push {r4-r6, lr}
- ldrb r6, [r0, #0x4]
- mov r5, #0x2c
- ldr r4, [r0, #0x0]
- mul r5, r6
- add r4, r4, r5
- ldrb r4, [r4, #0x1e]
- cmp r4, #0x0
- bne _0201A8E0
- bl FUN_0201A8E8
- pop {r4-r6, pc}
-_0201A8E0:
- bl FUN_0201A9D4
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_0201A8E8
-FUN_0201A8E8: ; 0x0201A8E8
- push {r3-r7, lr}
- sub sp, #0x10
- add r6, r3, #0x0
- add r4, r0, #0x0
- add r0, r1, #0x0
- lsl r3, r6, #0x18
- lsl r1, r6, #0x10
- str r2, [sp, #0x0]
- orr r1, r3
- lsl r5, r6, #0x8
- orr r1, r5
- orr r1, r6
- str r1, [sp, #0x4]
- ldrb r1, [r4, #0x7]
- ldrb r3, [r4, #0x8]
- ldr r2, [r4, #0xc]
- str r1, [sp, #0x8]
- mul r1, r3
- lsl r1, r1, #0x5
- str r1, [sp, #0xc]
- cmp r0, #0x3
- bhi _0201A9CE
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_0201A920: ; jump table (using 16-bit offset)
- .short _0201A928 - _0201A920 - 2; case 0
- .short _0201A976 - _0201A920 - 2; case 1
- .short _0201A9CE - _0201A920 - 2; case 2
- .short _0201A9CE - _0201A920 - 2; case 3
-_0201A928:
- add r0, r1, #0x0
- mov r7, #0x0
- cmp r0, #0x0
- ble _0201A9CE
- mov r0, #0x7
- mov lr, r0
-_0201A934:
- ldr r3, [sp, #0x0]
- mov r4, #0x0
- add r5, r7, #0x0
-_0201A93A:
- mov r0, #0x7
- add r6, r3, #0x0
- and r6, r0
- add r1, r3, #0x0
- mov r0, lr
- bic r1, r0
- ldr r0, [sp, #0x8]
- mul r1, r0
- add r0, r6, #0x0
- orr r0, r1
- lsl r0, r0, #0x2
- add r1, r7, r0
- ldr r0, [sp, #0xc]
- cmp r1, r0
- bge _0201A95C
- ldr r0, [r2, r1]
- b _0201A95E
-_0201A95C:
- ldr r0, [sp, #0x4]
-_0201A95E:
- add r4, r4, #0x1
- str r0, [r2, r5]
- add r3, r3, #0x1
- add r5, r5, #0x4
- cmp r4, #0x8
- blt _0201A93A
- ldr r0, [sp, #0xc]
- add r7, #0x20
- cmp r7, r0
- blt _0201A934
- add sp, #0x10
- pop {r3-r7, pc}
-_0201A976:
- add r0, r1, #0x0
- sub r0, r0, #0x4
- add r2, r2, r0
- add r0, r1, #0x0
- mov r7, #0x0
- cmp r0, #0x0
- ble _0201A9CE
- mov r0, #0x7
- mov r12, r0
-_0201A988:
- ldr r4, [sp, #0x0]
- mov r5, #0x0
- add r3, r7, #0x0
-_0201A98E:
- mov r0, #0x7
- add r6, r4, #0x0
- and r6, r0
- add r1, r4, #0x0
- mov r0, r12
- bic r1, r0
- ldr r0, [sp, #0x8]
- mul r1, r0
- add r0, r6, #0x0
- orr r0, r1
- lsl r0, r0, #0x2
- add r1, r7, r0
- ldr r0, [sp, #0xc]
- cmp r1, r0
- bge _0201A9B6
- sub r0, r2, r1
- ldr r1, [r0, #0x0]
- sub r0, r2, r3
- str r1, [r0, #0x0]
- b _0201A9BC
-_0201A9B6:
- ldr r0, [sp, #0x4]
- sub r1, r2, r3
- str r0, [r1, #0x0]
-_0201A9BC:
- add r5, r5, #0x1
- add r4, r4, #0x1
- add r3, r3, #0x4
- cmp r5, #0x8
- blt _0201A98E
- ldr r0, [sp, #0xc]
- add r7, #0x20
- cmp r7, r0
- blt _0201A988
-_0201A9CE:
- add sp, #0x10
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0201A9D4
-FUN_0201A9D4: ; 0x0201A9D4
- push {r3-r7, lr}
- sub sp, #0x20
- add r6, r3, #0x0
- add r4, r0, #0x0
- str r2, [sp, #0x0]
- lsl r2, r6, #0x18
- lsl r0, r6, #0x10
- orr r0, r2
- ldrb r2, [r4, #0x7]
- ldr r3, [r4, #0xc]
- lsl r5, r6, #0x8
- orr r0, r5
- ldrb r4, [r4, #0x8]
- str r2, [sp, #0x10]
- orr r0, r6
- mul r2, r4
- lsl r2, r2, #0x6
- str r2, [sp, #0x1c]
- cmp r1, #0x3
- bls _0201A9FE
- b _0201AB04
-_0201A9FE:
- add r1, r1, r1
- add r1, pc
- ldrh r1, [r1, #0x6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_0201AA0A: ; jump table (using 16-bit offset)
- .short _0201AA12 - _0201AA0A - 2; case 0
- .short _0201AA80 - _0201AA0A - 2; case 1
- .short _0201AB04 - _0201AA0A - 2; case 2
- .short _0201AB04 - _0201AA0A - 2; case 3
-_0201AA12:
- mov r1, #0x0
- str r1, [sp, #0xc]
- add r1, r2, #0x0
- cmp r1, #0x0
- ble _0201AB04
- add r1, r1, #0x4
- str r1, [sp, #0x14]
- mov r1, #0x7
- mov lr, r1
-_0201AA24:
- ldr r4, [sp, #0x0]
- ldr r5, [sp, #0xc]
- mov r7, #0x0
-_0201AA2A:
- mov r1, #0x7
- add r6, r4, #0x0
- and r6, r1
- add r2, r4, #0x0
- mov r1, lr
- bic r2, r1
- ldr r1, [sp, #0x10]
- mul r2, r1
- add r1, r6, #0x0
- orr r1, r2
- lsl r2, r1, #0x3
- ldr r1, [sp, #0xc]
- add r1, r1, r2
- ldr r2, [sp, #0x1c]
- cmp r1, r2
- bge _0201AA50
- ldr r2, [r3, r1]
- str r2, [r3, r5]
- b _0201AA52
-_0201AA50:
- str r0, [r3, r5]
-_0201AA52:
- add r2, r1, #0x4
- ldr r1, [sp, #0x14]
- cmp r2, r1
- bge _0201AA62
- ldr r2, [r3, r2]
- add r1, r5, #0x4
- str r2, [r3, r1]
- b _0201AA66
-_0201AA62:
- add r1, r5, #0x4
- str r0, [r3, r1]
-_0201AA66:
- add r7, r7, #0x1
- add r4, r4, #0x1
- add r5, #0x8
- cmp r7, #0x8
- blt _0201AA2A
- ldr r2, [sp, #0xc]
- ldr r1, [sp, #0x1c]
- add r2, #0x40
- str r2, [sp, #0xc]
- cmp r2, r1
- blt _0201AA24
- add sp, #0x20
- pop {r3-r7, pc}
-_0201AA80:
- add r1, r2, #0x0
- sub r1, #0x8
- add r3, r3, r1
- mov r1, #0x0
- str r1, [sp, #0x8]
- add r1, r2, #0x0
- cmp r1, #0x0
- ble _0201AB04
-_0201AA90:
- mov r1, #0x0
- str r1, [sp, #0x4]
- ldr r1, [sp, #0x1c]
- ldr r5, [sp, #0x0]
- sub r1, r1, #0x4
- str r1, [sp, #0x18]
- mov r1, #0x7
- ldr r4, [sp, #0x8]
- mov r12, r1
-_0201AAA2:
- mov r1, #0x7
- add r6, r5, #0x0
- and r6, r1
- add r2, r5, #0x0
- mov r1, r12
- bic r2, r1
- ldr r1, [sp, #0x10]
- mul r2, r1
- add r1, r6, #0x0
- orr r1, r2
- lsl r2, r1, #0x3
- ldr r1, [sp, #0x8]
- add r6, r1, r2
- ldr r1, [sp, #0x1c]
- cmp r6, r1
- bge _0201AACC
- sub r1, r3, r6
- ldr r2, [r1, #0x0]
- sub r1, r3, r4
- str r2, [r1, #0x0]
- b _0201AAD0
-_0201AACC:
- sub r1, r3, r4
- str r0, [r1, #0x0]
-_0201AAD0:
- ldr r1, [sp, #0x18]
- sub r2, r6, #0x4
- cmp r2, r1
- bge _0201AAE4
- sub r1, r3, r2
- sub r2, r4, #0x4
- ldr r1, [r1, #0x0]
- sub r2, r3, r2
- str r1, [r2, #0x0]
- b _0201AAEA
-_0201AAE4:
- sub r1, r4, #0x4
- sub r1, r3, r1
- str r0, [r1, #0x0]
-_0201AAEA:
- ldr r1, [sp, #0x4]
- add r5, r5, #0x1
- add r1, r1, #0x1
- add r4, #0x8
- str r1, [sp, #0x4]
- cmp r1, #0x8
- blt _0201AAA2
- ldr r2, [sp, #0x8]
- ldr r1, [sp, #0x1c]
- add r2, #0x40
- str r2, [sp, #0x8]
- cmp r2, r1
- blt _0201AA90
-_0201AB04:
- add sp, #0x20
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0201AB08
-FUN_0201AB08: ; 0x0201AB08
- ldrb r0, [r0, #0x4]
- bx lr
-
- thumb_func_start FUN_0201AB0C
-FUN_0201AB0C: ; 0x0201AB0C
- ldrb r0, [r0, #0x7]
- bx lr
-
- thumb_func_start FUN_0201AB10
-FUN_0201AB10: ; 0x0201AB10
- ldrb r0, [r0, #0x8]
- bx lr
-
- thumb_func_start FUN_0201AB14
-FUN_0201AB14: ; 0x0201AB14
- ldrb r0, [r0, #0x5]
- bx lr
-
- thumb_func_start FUN_0201AB18
-FUN_0201AB18: ; 0x0201AB18
- ldrb r0, [r0, #0x6]
- bx lr
-
- thumb_func_start FUN_0201AB1C
-FUN_0201AB1C: ; 0x0201AB1C
- strb r1, [r0, #0x5]
- bx lr
-
- thumb_func_start FUN_0201AB20
-FUN_0201AB20: ; 0x0201AB20
- strb r1, [r0, #0x6]
- bx lr
-
- thumb_func_start FUN_0201AB24
-FUN_0201AB24: ; 0x0201AB24
- strb r1, [r0, #0x9]
- bx lr
-
- thumb_func_start FUN_0201AB28
-FUN_0201AB28: ; 0x0201AB28
- push {r3-r4, lr}
- sub sp, #0x4
- add r4, r0, #0x0
- add r0, r1, #0x0
- add r1, r2, #0x0
- bl FUN_020161A4
- add r1, sp, #0x0
- str r0, [r4, #0x0]
- blx FUN_020B0030
- ldr r0, [sp, #0x0]
- add sp, #0x4
- pop {r3-r4, pc}
-
- thumb_func_start FUN_0201AB44
-FUN_0201AB44: ; 0x0201AB44
- push {r3-r4, lr}
- sub sp, #0x4
- add r4, r0, #0x0
- add r0, r1, #0x0
- add r1, r2, #0x0
- bl FUN_020161A4
- add r1, sp, #0x0
- str r0, [r4, #0x0]
- blx FUN_020B0138
- ldr r0, [sp, #0x0]
- add sp, #0x4
- pop {r3-r4, pc}
-
- thumb_func_start FUN_0201AB60
-FUN_0201AB60: ; 0x0201AB60
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_0201AC78
- add r0, r4, #0x0
- bl FUN_0201AB78
- mov r0, #0x0
- strh r0, [r4, #0x4]
- strh r0, [r4, #0x6]
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0201AB78
-FUN_0201AB78: ; 0x0201AB78
- push {r4, lr}
- add r4, r0, #0x0
- ldrh r1, [r4, #0x6]
- mov r0, #0x1
- tst r0, r1
- beq _0201AB92
- ldr r2, [r4, #0x10]
- ldr r1, [r4, #0x8]
- ldr r3, [r4, #0xc]
- mov r0, #0x0
- lsl r2, r2, #0x1
- bl FUN_02017D68
-_0201AB92:
- ldrh r1, [r4, #0x6]
- mov r0, #0x2
- tst r0, r1
- beq _0201ABA8
- ldr r2, [r4, #0x3c]
- ldr r1, [r4, #0x34]
- ldr r3, [r4, #0x38]
- mov r0, #0x1
- lsl r2, r2, #0x1
- bl FUN_02017D68
-_0201ABA8:
- ldrh r1, [r4, #0x6]
- mov r0, #0x4
- tst r0, r1
- beq _0201ABBE
- ldr r2, [r4, #0x68]
- ldr r1, [r4, #0x60]
- ldr r3, [r4, #0x64]
- mov r0, #0x2
- lsl r2, r2, #0x1
- bl FUN_02017D68
-_0201ABBE:
- ldrh r1, [r4, #0x6]
- mov r0, #0x8
- tst r0, r1
- beq _0201ABE0
- add r2, r4, #0x0
- add r1, r4, #0x0
- add r2, #0x94
- add r3, r4, #0x0
- add r1, #0x8c
- ldr r2, [r2, #0x0]
- add r3, #0x90
- ldr r1, [r1, #0x0]
- ldr r3, [r3, #0x0]
- mov r0, #0x3
- lsl r2, r2, #0x1
- bl FUN_02017D68
-_0201ABE0:
- ldrh r1, [r4, #0x6]
- mov r0, #0x10
- tst r0, r1
- beq _0201AC02
- add r2, r4, #0x0
- add r1, r4, #0x0
- add r2, #0xc0
- add r3, r4, #0x0
- add r1, #0xb8
- ldr r2, [r2, #0x0]
- add r3, #0xbc
- ldr r1, [r1, #0x0]
- ldr r3, [r3, #0x0]
- mov r0, #0x4
- lsl r2, r2, #0x1
- bl FUN_02017D68
-_0201AC02:
- ldrh r1, [r4, #0x6]
- mov r0, #0x20
- tst r0, r1
- beq _0201AC24
- add r2, r4, #0x0
- add r1, r4, #0x0
- add r2, #0xec
- add r3, r4, #0x0
- add r1, #0xe4
- ldr r2, [r2, #0x0]
- add r3, #0xe8
- ldr r1, [r1, #0x0]
- ldr r3, [r3, #0x0]
- mov r0, #0x5
- lsl r2, r2, #0x1
- bl FUN_02017D68
-_0201AC24:
- ldrh r0, [r4, #0x6]
- mov r3, #0x40
- tst r0, r3
- beq _0201AC44
- add r2, r3, #0x0
- add r1, r3, #0x0
- add r2, #0xd8
- add r1, #0xd0
- ldr r2, [r4, r2]
- add r3, #0xd4
- ldr r1, [r4, r1]
- ldr r3, [r4, r3]
- mov r0, #0x6
- lsl r2, r2, #0x1
- bl FUN_02017D68
-_0201AC44:
- ldrh r0, [r4, #0x6]
- mov r3, #0x80
- tst r0, r3
- beq _0201AC64
- add r2, r3, #0x0
- add r1, r3, #0x0
- add r2, #0xc4
- add r1, #0xbc
- ldr r2, [r4, r2]
- add r3, #0xc0
- ldr r1, [r4, r1]
- ldr r3, [r4, r3]
- mov r0, #0x7
- lsl r2, r2, #0x1
- bl FUN_02017D68
-_0201AC64:
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0201AC68
-FUN_0201AC68: ; 0x0201AC68
- ldrh r3, [r0, #0x6]
- mov r2, #0x1
- lsl r2, r1
- add r1, r3, #0x0
- orr r1, r2
- strh r1, [r0, #0x6]
- bx lr
- .balign 4
-
- thumb_func_start FUN_0201AC78
-FUN_0201AC78: ; 0x0201AC78
- push {r4, lr}
- sub sp, #0x48
- add r4, r0, #0x0
- ldrh r1, [r4, #0x4]
- mov r0, #0x1
- tst r0, r1
- beq _0201AC9E
- ldr r1, [r4, #0x14]
- ldr r0, _0201AEB0 ; =0x000001FF
- add r2, r1, #0x0
- ldr r1, [r4, #0x18]
- and r2, r0
- lsl r1, r1, #0x10
- lsl r0, r0, #0x10
- and r0, r1
- add r1, r2, #0x0
- orr r1, r0
- ldr r0, _0201AEB4 ; =0x04000010
- str r1, [r0, #0x0]
-_0201AC9E:
- ldrh r1, [r4, #0x4]
- mov r0, #0x2
- tst r0, r1
- beq _0201ACBE
- ldr r1, [r4, #0x40]
- ldr r0, _0201AEB0 ; =0x000001FF
- add r2, r1, #0x0
- ldr r1, [r4, #0x44]
- and r2, r0
- lsl r1, r1, #0x10
- lsl r0, r0, #0x10
- and r0, r1
- add r1, r2, #0x0
- orr r1, r0
- ldr r0, _0201AEB8 ; =0x04000014
- str r1, [r0, #0x0]
-_0201ACBE:
- ldrh r1, [r4, #0x4]
- mov r0, #0x4
- tst r0, r1
- beq _0201AD1E
- add r0, r4, #0x0
- add r0, #0x74
- ldrb r0, [r0, #0x0]
- cmp r0, #0x0
- bne _0201ACEA
- ldr r1, [r4, #0x6c]
- ldr r0, _0201AEB0 ; =0x000001FF
- add r2, r1, #0x0
- ldr r1, [r4, #0x70]
- and r2, r0
- lsl r1, r1, #0x10
- lsl r0, r0, #0x10
- and r0, r1
- add r1, r2, #0x0
- orr r1, r0
- ldr r0, _0201AEBC ; =0x04000018
- str r1, [r0, #0x0]
- b _0201AD1E
-_0201ACEA:
- mov r0, #0x2
- str r0, [sp, #0x0]
- add r1, r4, #0x0
- add r1, #0x78
- add r3, r4, #0x0
- add r3, #0x80
- ldrh r1, [r1, #0x0]
- ldr r2, [r4, #0x7c]
- ldr r3, [r3, #0x0]
- add r0, sp, #0x38
- bl FUN_0201BB74
- ldr r0, [r4, #0x6c]
- add r2, r4, #0x0
- str r0, [sp, #0x0]
- ldr r0, [r4, #0x70]
- add r3, r4, #0x0
- str r0, [sp, #0x4]
- add r2, #0x84
- add r3, #0x88
- ldr r0, _0201AEC0 ; =0x04000020
- ldr r2, [r2, #0x0]
- ldr r3, [r3, #0x0]
- add r1, sp, #0x38
- blx G2x_SetBGyAffine_
-_0201AD1E:
- ldrh r1, [r4, #0x4]
- mov r0, #0x8
- tst r0, r1
- beq _0201AD8E
- add r0, r4, #0x0
- add r0, #0xa0
- ldrb r0, [r0, #0x0]
- cmp r0, #0x0
- bne _0201AD4E
- add r0, r4, #0x0
- add r2, r4, #0x0
- add r0, #0x98
- add r2, #0x9c
- ldr r2, [r2, #0x0]
- ldr r0, [r0, #0x0]
- ldr r1, _0201AEB0 ; =0x000001FF
- lsl r2, r2, #0x10
- and r0, r1
- lsl r1, r1, #0x10
- and r1, r2
- orr r1, r0
- ldr r0, _0201AEC4 ; =0x0400001C
- str r1, [r0, #0x0]
- b _0201AD8E
-_0201AD4E:
- mov r0, #0x2
- add r1, r4, #0x0
- str r0, [sp, #0x0]
- add r1, #0xa4
- add r2, r4, #0x0
- add r3, r4, #0x0
- add r2, #0xa8
- add r3, #0xac
- ldrh r1, [r1, #0x0]
- ldr r2, [r2, #0x0]
- ldr r3, [r3, #0x0]
- add r0, sp, #0x28
- bl FUN_0201BB74
- add r0, r4, #0x0
- add r0, #0x98
- ldr r0, [r0, #0x0]
- add r2, r4, #0x0
- str r0, [sp, #0x0]
- add r0, r4, #0x0
- add r0, #0x9c
- ldr r0, [r0, #0x0]
- add r3, r4, #0x0
- str r0, [sp, #0x4]
- add r2, #0xb0
- add r3, #0xb4
- ldr r0, _0201AEC8 ; =0x04000030
- ldr r2, [r2, #0x0]
- ldr r3, [r3, #0x0]
- add r1, sp, #0x28
- blx G2x_SetBGyAffine_
-_0201AD8E:
- ldrh r1, [r4, #0x4]
- mov r0, #0x10
- tst r0, r1
- beq _0201ADB2
- add r0, r4, #0x0
- add r2, r4, #0x0
- add r0, #0xc4
- add r2, #0xc8
- ldr r2, [r2, #0x0]
- ldr r0, [r0, #0x0]
- ldr r1, _0201AEB0 ; =0x000001FF
- lsl r2, r2, #0x10
- and r0, r1
- lsl r1, r1, #0x10
- and r1, r2
- orr r1, r0
- ldr r0, _0201AECC ; =0x04001010
- str r1, [r0, #0x0]
-_0201ADB2:
- ldrh r1, [r4, #0x4]
- mov r0, #0x20
- tst r0, r1
- beq _0201ADD6
- add r0, r4, #0x0
- add r2, r4, #0x0
- add r0, #0xf0
- add r2, #0xf4
- ldr r2, [r2, #0x0]
- ldr r0, [r0, #0x0]
- ldr r1, _0201AEB0 ; =0x000001FF
- lsl r2, r2, #0x10
- and r0, r1
- lsl r1, r1, #0x10
- and r1, r2
- orr r1, r0
- ldr r0, _0201AED0 ; =0x04001014
- str r1, [r0, #0x0]
-_0201ADD6:
- ldrh r0, [r4, #0x4]
- mov r3, #0x40
- tst r0, r3
- beq _0201AE3E
- add r0, r3, #0x0
- add r0, #0xe4
- ldrb r0, [r4, r0]
- cmp r0, #0x0
- bne _0201AE04
- ldr r1, _0201AEB0 ; =0x000001FF
- add r3, #0xdc
- add r2, r1, #0x0
- sub r2, #0xdf
- ldr r0, [r4, r3]
- ldr r2, [r4, r2]
- and r0, r1
- lsl r2, r2, #0x10
- lsl r1, r1, #0x10
- and r1, r2
- orr r1, r0
- ldr r0, _0201AED4 ; =0x04001018
- str r1, [r0, #0x0]
- b _0201AE3E
-_0201AE04:
- mov r0, #0x2
- add r1, r3, #0x0
- add r2, r3, #0x0
- str r0, [sp, #0x0]
- add r1, #0xe8
- add r2, #0xec
- add r3, #0xf0
- ldrh r1, [r4, r1]
- ldr r2, [r4, r2]
- ldr r3, [r4, r3]
- add r0, sp, #0x18
- bl FUN_0201BB74
- mov r3, #0x47
- lsl r3, r3, #0x2
- ldr r0, [r4, r3]
- add r2, r3, #0x0
- str r0, [sp, #0x0]
- add r0, r3, #0x4
- ldr r0, [r4, r0]
- add r2, #0x18
- str r0, [sp, #0x4]
- add r3, #0x1c
- ldr r0, _0201AED8 ; =0x04001020
- ldr r2, [r4, r2]
- ldr r3, [r4, r3]
- add r1, sp, #0x18
- blx G2x_SetBGyAffine_
-_0201AE3E:
- ldrh r0, [r4, #0x4]
- mov r3, #0x80
- tst r0, r3
- beq _0201AEAC
- add r0, r3, #0x0
- add r0, #0xd0
- ldrb r0, [r4, r0]
- cmp r0, #0x0
- bne _0201AE72
- add r3, #0xc8
- ldr r1, [r4, r3]
- ldr r0, _0201AEB0 ; =0x000001FF
- add r2, r1, #0x0
- add r1, r0, #0x0
- sub r1, #0xb3
- ldr r1, [r4, r1]
- and r2, r0
- lsl r1, r1, #0x10
- lsl r0, r0, #0x10
- and r0, r1
- add r1, r2, #0x0
- orr r1, r0
- ldr r0, _0201AEDC ; =0x0400101C
- add sp, #0x48
- str r1, [r0, #0x0]
- pop {r4, pc}
-_0201AE72:
- mov r0, #0x2
- add r1, r3, #0x0
- add r2, r3, #0x0
- str r0, [sp, #0x0]
- add r1, #0xd4
- add r2, #0xd8
- add r3, #0xdc
- ldrh r1, [r4, r1]
- ldr r2, [r4, r2]
- ldr r3, [r4, r3]
- add r0, sp, #0x8
- bl FUN_0201BB74
- mov r3, #0x52
- lsl r3, r3, #0x2
- ldr r0, [r4, r3]
- add r2, r3, #0x0
- str r0, [sp, #0x0]
- add r0, r3, #0x4
- ldr r0, [r4, r0]
- add r2, #0x18
- str r0, [sp, #0x4]
- add r3, #0x1c
- ldr r0, _0201AEE0 ; =0x04001030
- ldr r2, [r4, r2]
- ldr r3, [r4, r3]
- add r1, sp, #0x8
- blx G2x_SetBGyAffine_
-_0201AEAC:
- add sp, #0x48
- pop {r4, pc}
- .balign 4
-_0201AEB0: .word 0x000001FF
-_0201AEB4: .word 0x04000010
-_0201AEB8: .word 0x04000014
-_0201AEBC: .word 0x04000018
-_0201AEC0: .word 0x04000020
-_0201AEC4: .word 0x0400001C
-_0201AEC8: .word 0x04000030
-_0201AECC: .word 0x04001010
-_0201AED0: .word 0x04001014
-_0201AED4: .word 0x04001018
-_0201AED8: .word 0x04001020
-_0201AEDC: .word 0x0400101C
-_0201AEE0: .word 0x04001030
-
- thumb_func_start FUN_0201AEE4
-FUN_0201AEE4: ; 0x0201AEE4
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- add r1, r5, #0x0
- mov r0, #0x2c
- add r1, #0x8
- mul r0, r4
- add r0, r1, r0
- add r1, r2, #0x0
- add r2, r3, #0x0
- bl FUN_02017B8C
- mov r0, #0x1
- ldrh r1, [r5, #0x4]
- lsl r0, r4
- orr r0, r1
- strh r0, [r5, #0x4]
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0201AF08
-FUN_0201AF08: ; 0x0201AF08
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- add r1, r5, #0x0
- mov r0, #0x2c
- add r1, #0x8
- mul r0, r4
- add r0, r1, r0
- add r1, r2, #0x0
- add r2, r3, #0x0
- bl FUN_0201AF2C
- mov r0, #0x1
- ldrh r1, [r5, #0x4]
- lsl r0, r4
- orr r0, r1
- strh r0, [r5, #0x4]
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0201AF2C
-FUN_0201AF2C: ; 0x0201AF2C
- cmp r1, #0x0
- beq _0201AF3A
- cmp r1, #0x1
- beq _0201AF3E
- cmp r1, #0x2
- beq _0201AF46
- bx lr
-_0201AF3A:
- strh r2, [r0, #0x18]
- bx lr
-_0201AF3E:
- ldrh r1, [r0, #0x18]
- add r1, r1, r2
- strh r1, [r0, #0x18]
- bx lr
-_0201AF46:
- ldrh r1, [r0, #0x18]
- sub r1, r1, r2
- strh r1, [r0, #0x18]
- bx lr
- .balign 4
-
- thumb_func_start FUN_0201AF50
-FUN_0201AF50: ; 0x0201AF50
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- add r1, r5, #0x0
- mov r0, #0x2c
- add r1, #0x8
- mul r0, r4
- add r0, r1, r0
- add r1, r2, #0x0
- add r2, r3, #0x0
- bl FUN_0201AF74
- mov r0, #0x1
- ldrh r1, [r5, #0x4]
- lsl r0, r4
- orr r0, r1
- strh r0, [r5, #0x4]
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0201AF74
-FUN_0201AF74: ; 0x0201AF74
- sub r1, #0x9
- cmp r1, #0x5
- bhi _0201AFB8
- add r1, r1, r1
- add r1, pc
- ldrh r1, [r1, #0x6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_0201AF86: ; jump table (using 16-bit offset)
- .short _0201AF92 - _0201AF86 - 2; case 0
- .short _0201AF96 - _0201AF86 - 2; case 1
- .short _0201AF9E - _0201AF86 - 2; case 2
- .short _0201AFA6 - _0201AF86 - 2; case 3
- .short _0201AFAA - _0201AF86 - 2; case 4
- .short _0201AFB2 - _0201AF86 - 2; case 5
-_0201AF92:
- str r2, [r0, #0x24]
- bx lr
-_0201AF96:
- ldr r1, [r0, #0x24]
- add r1, r1, r2
- str r1, [r0, #0x24]
- bx lr
-_0201AF9E:
- ldr r1, [r0, #0x24]
- sub r1, r1, r2
- str r1, [r0, #0x24]
- bx lr
-_0201AFA6:
- str r2, [r0, #0x28]
- bx lr
-_0201AFAA:
- ldr r1, [r0, #0x28]
- add r1, r1, r2
- str r1, [r0, #0x28]
- bx lr
-_0201AFB2:
- ldr r1, [r0, #0x28]
- sub r1, r1, r2
- str r1, [r0, #0x28]
-_0201AFB8:
- bx lr
- .balign 4
-
- thumb_func_start FUN_0201AFBC
-FUN_0201AFBC: ; 0x0201AFBC
- push {r4-r7, lr}
- sub sp, #0x1c
- str r1, [sp, #0x0]
- add r7, r0, #0x0
- str r2, [sp, #0x4]
- ldr r0, [sp, #0x30]
- str r3, [sp, #0x8]
- str r0, [sp, #0x30]
- ldr r0, [sp, #0x0]
- add r4, r7, #0x0
- mov r1, #0x2c
- add r5, r0, #0x0
- mul r5, r1
- add r4, #0x8
- ldr r0, [r4, r5]
- cmp r0, #0x0
- bne _0201AFE4
- add sp, #0x1c
- mov r0, #0x0
- pop {r4-r7, pc}
-_0201AFE4:
- ldr r0, [sp, #0x4]
- ldr r1, [sp, #0x8]
- add r2, r7, r5
- lsl r0, r0, #0x15
- lsl r1, r1, #0x15
- ldrb r2, [r2, #0x1d]
- lsr r0, r0, #0x18
- lsr r1, r1, #0x18
- bl FUN_02017FFC
- add r6, r0, #0x0
- ldr r0, [sp, #0x0]
- bl FUN_020187B0
- str r0, [sp, #0x18]
- ldr r1, [sp, #0x4]
- mov r0, #0x7
- and r1, r0
- lsl r1, r1, #0x18
- lsr r1, r1, #0x18
- str r1, [sp, #0x14]
- ldr r1, [sp, #0x8]
- and r0, r1
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- add r1, r7, r5
- str r0, [sp, #0x10]
- ldrb r0, [r1, #0x1e]
- cmp r0, #0x0
- bne _0201B096
- ldr r0, [r4, r5]
- mov r1, #0x40
- str r0, [sp, #0xc]
- ldr r0, [r7, #0x0]
- bl FUN_020169D8
- add r4, r0, #0x0
- lsl r0, r6, #0x1
- ldr r1, [sp, #0xc]
- mov r12, r0
- ldrh r0, [r1, r0]
- mov r3, #0x0
- mov r6, #0xf
- lsl r0, r0, #0x16
- lsr r1, r0, #0x11
- ldr r0, [sp, #0x18]
- add r2, r0, r1
-_0201B042:
- ldrb r5, [r2, r3]
- lsl r0, r3, #0x1
- add r1, r4, r0
- and r5, r6
- strb r5, [r4, r0]
- ldrb r0, [r2, r3]
- asr r0, r0, #0x4
- strb r0, [r1, #0x1]
- add r0, r3, #0x1
- lsl r0, r0, #0x18
- lsr r3, r0, #0x18
- cmp r3, #0x20
- blo _0201B042
- ldr r2, [sp, #0xc]
- mov r1, r12
- ldrh r1, [r2, r1]
- add r0, r7, #0x0
- asr r2, r1, #0xa
- mov r1, #0x3
- and r1, r2
- lsl r1, r1, #0x18
- lsr r1, r1, #0x18
- add r2, r4, #0x0
- bl FUN_0201B118
- ldr r0, [sp, #0x10]
- lsl r1, r0, #0x3
- ldr r0, [sp, #0x14]
- add r0, r0, r1
- ldrb r5, [r4, r0]
- add r0, r4, #0x0
- bl FUN_02016A18
- ldr r0, [sp, #0x30]
- ldrh r2, [r0, #0x0]
- mov r0, #0x1
- add r1, r0, #0x0
- lsl r1, r5
- tst r1, r2
- beq _0201B10C
- add sp, #0x1c
- pop {r4-r7, pc}
-_0201B096:
- ldrb r0, [r1, #0x1c]
- cmp r0, #0x1
- beq _0201B0E0
- ldr r0, [r7, #0x0]
- ldr r4, [r4, r5]
- mov r1, #0x40
- bl FUN_020169D8
- lsl r6, r6, #0x1
- ldrh r1, [r4, r6]
- add r5, r0, #0x0
- lsl r1, r1, #0x16
- lsr r2, r1, #0x10
- ldr r1, [sp, #0x18]
- add r1, r1, r2
- mov r2, #0x40
- blx memcpy
- ldrh r1, [r4, r6]
- add r0, r7, #0x0
- asr r2, r1, #0xa
- mov r1, #0x3
- and r1, r2
- lsl r1, r1, #0x18
- lsr r1, r1, #0x18
- add r2, r5, #0x0
- bl FUN_0201B118
- ldr r0, [sp, #0x10]
- lsl r1, r0, #0x3
- ldr r0, [sp, #0x14]
- add r0, r0, r1
- ldrb r4, [r5, r0]
- add r0, r5, #0x0
- bl FUN_02016A18
- b _0201B0F4
-_0201B0E0:
- ldr r1, [r4, r5]
- ldr r0, [sp, #0x10]
- ldrb r1, [r1, r6]
- lsl r0, r0, #0x3
- lsl r2, r1, #0x6
- ldr r1, [sp, #0x14]
- add r1, r1, r2
- add r1, r0, r1
- ldr r0, [sp, #0x18]
- ldrb r4, [r0, r1]
-_0201B0F4:
- ldr r0, [sp, #0x30]
- ldrh r2, [r0, #0x0]
- lsl r0, r2, #0x18
- lsr r1, r0, #0x18
- ldr r0, _0201B114 ; =0x0000FFFF
-_0201B0FE:
- cmp r2, r0
- beq _0201B10C
- cmp r4, r1
- bne _0201B0FE
- add sp, #0x1c
- mov r0, #0x1
- pop {r4-r7, pc}
-_0201B10C:
- mov r0, #0x0
- add sp, #0x1c
- pop {r4-r7, pc}
- nop
-_0201B114: .word 0x0000FFFF
-
- thumb_func_start FUN_0201B118
-FUN_0201B118: ; 0x0201B118
- push {r3-r7, lr}
- str r1, [sp, #0x0]
- ldr r1, [sp, #0x0]
- add r7, r2, #0x0
- cmp r1, #0x0
- beq _0201B1A4
- ldr r0, [r0, #0x0]
- mov r1, #0x40
- bl FUN_020169D8
- add r4, r0, #0x0
- ldr r0, [sp, #0x0]
- mov r1, #0x1
- tst r0, r1
- beq _0201B166
- mov r0, #0x0
- mov r5, #0x7
-_0201B13A:
- lsl r3, r0, #0x3
- add r2, r7, r3
- mov r1, #0x0
- add r3, r4, r3
-_0201B142:
- sub r6, r5, r1
- ldrb r6, [r2, r6]
- strb r6, [r3, r1]
- add r1, r1, #0x1
- lsl r1, r1, #0x18
- lsr r1, r1, #0x18
- cmp r1, #0x8
- blo _0201B142
- add r0, r0, #0x1
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- cmp r0, #0x8
- blo _0201B13A
- add r0, r7, #0x0
- add r1, r4, #0x0
- mov r2, #0x40
- blx memcpy
-_0201B166:
- ldr r0, [sp, #0x0]
- mov r1, #0x2
- tst r0, r1
- beq _0201B19E
- mov r5, #0x0
- mov r6, #0x7
-_0201B172:
- lsl r0, r5, #0x3
- add r3, r4, r0
- sub r0, r6, r5
- lsl r0, r0, #0x3
- add r2, r7, r0
- mov r1, #0x8
-_0201B17E:
- ldrb r0, [r2, #0x0]
- add r2, r2, #0x1
- strb r0, [r3, #0x0]
- add r3, r3, #0x1
- sub r1, r1, #0x1
- bne _0201B17E
- add r0, r5, #0x1
- lsl r0, r0, #0x18
- lsr r5, r0, #0x18
- cmp r5, #0x8
- blo _0201B172
- add r0, r7, #0x0
- add r1, r4, #0x0
- mov r2, #0x40
- blx memcpy
-_0201B19E:
- add r0, r4, #0x0
- bl FUN_02016A18
-_0201B1A4:
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0201B1A8
-FUN_0201B1A8: ; 0x0201B1A8
- push {r3-r5, lr}
- add r5, r3, #0x0
- add r4, r2, #0x0
- bl FUN_020161A4
- str r0, [r5, #0x0]
- blx FUN_020BC0FC
- cmp r0, #0x0
- beq _0201B1D2
- bl FUN_0201B254
- cmp r0, #0x0
- bne _0201B1D2
- ldr r0, [r5, #0x0]
- ldr r1, [r0, #0x8]
- blx DC_FlushRange
- ldr r0, [r5, #0x0]
- blx FUN_020BB59C
-_0201B1D2:
- ldr r0, [r5, #0x0]
- blx FUN_020BC13C
- ldrh r1, [r0, #0xe]
- add r1, r0, r1
- ldr r1, [r1, #0xc]
- add r0, r0, r1
- str r0, [r4, #0x0]
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0201B1E4
-FUN_0201B1E4: ; 0x0201B1E4
- push {r3-r5, lr}
- add r5, r1, #0x0
- add r4, r0, #0x0
- ldr r0, [r5, #0x0]
- blx FUN_020BC0FC
- cmp r0, #0x0
- beq _0201B20A
- bl FUN_0201B254
- cmp r0, #0x0
- bne _0201B20A
- ldr r0, [r5, #0x0]
- ldr r1, [r0, #0x8]
- blx DC_FlushRange
- ldr r0, [r5, #0x0]
- blx FUN_020BB59C
-_0201B20A:
- ldr r0, [r5, #0x0]
- blx FUN_020BC13C
- ldrh r1, [r0, #0xe]
- add r1, r0, r1
- ldr r1, [r1, #0xc]
- add r0, r0, r1
- str r0, [r4, #0x0]
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0201B21C
-FUN_0201B21C: ; 0x0201B21C
- push {r3-r5, lr}
- add r4, r3, #0x0
- add r5, r2, #0x0
- ldr r3, [sp, #0x10]
- add r2, r4, #0x0
- bl FUN_0201B1A8
- ldr r1, [r4, #0x0]
- add r0, r5, #0x0
- blx FUN_020B80B4
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0201B234
-FUN_0201B234: ; 0x0201B234
- push {r3-r5, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- add r0, r4, #0x0
- add r1, r2, #0x0
- bl FUN_0201B1E4
- cmp r4, #0x0
- bne _0201B24A
- bl ErrorHandling
-_0201B24A:
- ldr r1, [r4, #0x0]
- add r0, r5, #0x0
- blx FUN_020B80B4
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0201B254
-FUN_0201B254: ; 0x0201B254
- ldrh r2, [r0, #0x10]
- mov r1, #0x1
- tst r2, r1
- bne _0201B262
- ldrh r0, [r0, #0x20]
- tst r0, r1
- beq _0201B266
-_0201B262:
- mov r0, #0x1
- bx lr
-_0201B266:
- mov r0, #0x0
- bx lr
- .balign 4
-
- thumb_func_start FUN_0201B26C
-FUN_0201B26C: ; 0x0201B26C
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r0, r1, #0x0
- add r4, r2, #0x0
- add r6, r3, #0x0
- blx FUN_020B8474
- ldr r1, _0201B2A0 ; =0x021CEDD4
- add r0, r4, #0x0
- blx MI_Copy36B
- ldr r1, _0201B2A4 ; =0x021CED98
- mov r0, #0xa4
- ldr r2, [r1, #0x7c]
- bic r2, r0
- add r0, r6, #0x0
- str r2, [r1, #0x7c]
- blx FUN_020B844C
- blx FUN_020B849C
- add r0, r5, #0x0
- blx FUN_020BAC98
- pop {r4-r6, pc}
- nop
-_0201B2A0: .word 0x021CEDD4
-_0201B2A4: .word 0x021CED98
-
- thumb_func_start FUN_0201B2A8
-FUN_0201B2A8: ; 0x0201B2A8
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r0, r1, #0x0
- add r4, r2, #0x0
- add r6, r3, #0x0
- blx FUN_020B8474
- ldr r1, _0201B2E4 ; =0x021CEDD4
- add r0, r4, #0x0
- blx MI_Copy36B
- ldr r1, _0201B2E8 ; =0x021CED98
- mov r0, #0xa4
- ldr r2, [r1, #0x7c]
- bic r2, r0
- str r2, [r1, #0x7c]
- add r0, r6, #0x0
- blx FUN_020B844C
- blx FUN_020B849C
- mov r1, #0x0
- ldr r0, [r5, #0x4]
- add r2, r1, #0x0
- mov r3, #0x1
- blx FUN_020BAFB8
- blx FUN_020BB394
- pop {r4-r6, pc}
- .balign 4
-_0201B2E4: .word 0x021CEDD4
-_0201B2E8: .word 0x021CED98
-
- thumb_func_start FUN_0201B2EC
-FUN_0201B2EC: ; 0x0201B2EC
- push {r3, lr}
- sub sp, #0x8
- mov r1, #0x4
- str r1, [sp, #0x0]
- ldr r1, _0201B30C ; =FUN_0201B314
- mov r2, #0x2
- str r1, [sp, #0x4]
- mov r1, #0x0
- add r3, r1, #0x0
- bl FUN_02022318
- ldr r1, _0201B310 ; =0x021C4D44
- str r0, [r1, #0x0]
- add sp, #0x8
- pop {r3, pc}
- nop
-_0201B30C: .word FUN_0201B314
-_0201B310: .word 0x021C4D44
-
- thumb_func_start FUN_0201B314
-FUN_0201B314: ; 0x0201B314
- push {r3, lr}
- mov r0, #0x1
- add r1, r0, #0x0
- bl FUN_0201E6E4
- ldr r0, _0201B380 ; =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, _0201B384 ; =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, _0201B388 ; =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
- blx G3X_SetFog
- mov r0, #0x0
- ldr r2, _0201B38C ; =0x00007FFF
- add r1, r0, #0x0
- mov r3, #0x3f
- str r0, [sp, #0x0]
- blx G3X_SetClearColor
- ldr r1, _0201B390 ; =0xBFFF0000
- ldr r0, _0201B394 ; =0x04000580
- str r1, [r0, #0x0]
- pop {r3, pc}
- .balign 4
-_0201B380: .word 0x04000008
-_0201B384: .word 0xFFFFCFFD
-_0201B388: .word 0x0000CFFB
-_0201B38C: .word 0x00007FFF
-_0201B390: .word 0xBFFF0000
-_0201B394: .word 0x04000580
-
- thumb_func_start FUN_0201B398
-FUN_0201B398: ; 0x0201B398
- ldr r0, _0201B3A0 ; =0x021C4D44
- ldr r3, _0201B3A4 ; =FUN_020223BC
- ldr r0, [r0, #0x0]
- bx r3
- .balign 4
-_0201B3A0: .word 0x021C4D44
-_0201B3A4: .word FUN_020223BC
-
- thumb_func_start FUN_0201B3A8
-FUN_0201B3A8: ; 0x0201B3A8
- push {r4, lr}
- add r4, r1, #0x0
- blx FUN_020BC13C
- cmp r4, #0x0
- beq _0201B3BE
- add r1, r4, #0x0
- blx FUN_020B7790
- mov r0, #0x1
- pop {r4, pc}
-_0201B3BE:
- mov r0, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0201B3C4
-FUN_0201B3C4: ; 0x0201B3C4
- push {r3-r7, lr}
- sub sp, #0x10
- add r5, r0, #0x0
- bne _0201B3D2
- add sp, #0x10
- mov r0, #0x0
- pop {r3-r7, pc}
-_0201B3D2:
- mov r1, #0x0
- str r1, [r5, #0x8]
- mov r1, #0x1
- str r1, [sp, #0x8]
- str r1, [sp, #0x4]
- str r1, [sp, #0x0]
- cmp r5, #0x0
- beq _0201B4D0
- blx FUN_020B7E1C
- add r6, r0, #0x0
- add r0, r5, #0x0
- blx FUN_020B7E10
- add r4, r0, #0x0
- add r0, r5, #0x0
- blx FUN_020B7CE4
- str r0, [sp, #0xc]
- cmp r6, #0x0
- beq _0201B412
- ldr r3, _0201B4D8 ; =0x021064B8
- mov r1, #0x0
- ldr r3, [r3, #0x0]
- add r0, r6, #0x0
- add r2, r1, #0x0
- blx r3
- add r7, r0, #0x0
- bne _0201B414
- mov r0, #0x0
- str r0, [sp, #0x8]
- b _0201B414
-_0201B412:
- mov r7, #0x0
-_0201B414:
- cmp r4, #0x0
- beq _0201B42E
- ldr r3, _0201B4D8 ; =0x021064B8
- add r0, r4, #0x0
- ldr r3, [r3, #0x0]
- mov r1, #0x1
- mov r2, #0x0
- blx r3
- add r6, r0, #0x0
- bne _0201B430
- mov r0, #0x0
- str r0, [sp, #0x4]
- b _0201B430
-_0201B42E:
- mov r6, #0x0
-_0201B430:
- ldr r0, [sp, #0xc]
- cmp r0, #0x0
- beq _0201B450
- ldr r3, _0201B4DC ; =0x021064C0
- mov r1, #0x2
- ldrh r2, [r5, #0x20]
- lsl r1, r1, #0xe
- ldr r3, [r3, #0x0]
- and r1, r2
- mov r2, #0x0
- blx r3
- add r4, r0, #0x0
- bne _0201B452
- mov r0, #0x0
- str r0, [sp, #0x0]
- b _0201B452
-_0201B450:
- mov r4, #0x0
-_0201B452:
- ldr r0, [sp, #0x8]
- cmp r0, #0x0
- bne _0201B46E
- ldr r1, _0201B4E0 ; =0x021064BC
- add r0, r7, #0x0
- ldr r1, [r1, #0x0]
- blx r1
- cmp r0, #0x0
- beq _0201B468
- bl ErrorHandling
-_0201B468:
- add sp, #0x10
- mov r0, #0x0
- pop {r3-r7, pc}
-_0201B46E:
- ldr r0, [sp, #0x4]
- cmp r0, #0x0
- bne _0201B48A
- ldr r1, _0201B4E0 ; =0x021064BC
- add r0, r6, #0x0
- ldr r1, [r1, #0x0]
- blx r1
- cmp r0, #0x0
- beq _0201B484
- bl ErrorHandling
-_0201B484:
- add sp, #0x10
- mov r0, #0x0
- pop {r3-r7, pc}
-_0201B48A:
- ldr r0, [sp, #0x0]
- cmp r0, #0x0
- bne _0201B4A6
- ldr r1, _0201B4E4 ; =0x021064C4
- add r0, r4, #0x0
- ldr r1, [r1, #0x0]
- blx r1
- cmp r0, #0x0
- beq _0201B4A0
- bl ErrorHandling
-_0201B4A0:
- add sp, #0x10
- mov r0, #0x0
- pop {r3-r7, pc}
-_0201B4A6:
- add r0, r5, #0x0
- add r1, r7, #0x0
- add r2, r6, #0x0
- blx FUN_020B7DFC
- add r0, r5, #0x0
- add r1, r4, #0x0
- blx FUN_020B7CDC
- ldr r1, [r5, #0x4]
- add r0, r5, #0x0
- blx DC_FlushRange
- add r0, r5, #0x0
- mov r1, #0x1
- blx FUN_020B7D28
- add r0, r5, #0x0
- mov r1, #0x1
- blx FUN_020B7C78
-_0201B4D0:
- mov r0, #0x1
- add sp, #0x10
- pop {r3-r7, pc}
- nop
-_0201B4D8: .word 0x021064B8
-_0201B4DC: .word 0x021064C0
-_0201B4E0: .word 0x021064BC
-_0201B4E4: .word 0x021064C4
-
- thumb_func_start FUN_0201B4E8
-FUN_0201B4E8: ; 0x0201B4E8
- str r0, [r1, #0x0]
- add r0, r0, #0x4
- str r0, [r1, #0x8]
- str r0, [r1, #0x4]
- mov r0, #0x0
- str r0, [r1, #0xc]
- str r0, [r1, #0x10]
- str r0, [r1, #0x14]
- bx lr
- .balign 4
-
- thumb_func_start FUN_0201B4FC
-FUN_0201B4FC: ; 0x0201B4FC
- push {r3-r7, lr}
- add r5, r0, #0x0
- ldrh r0, [r5, #0x0]
- mov r7, #0x0
- cmp r0, #0x0
- ble _0201B52A
- add r4, r7, #0x0
- add r6, r7, #0x0
-_0201B50C:
- ldr r1, [r5, #0x24]
- add r0, r5, #0x0
- add r1, r1, r4
- bl FUN_0201B4E8
- ldr r0, [r5, #0x24]
- add r7, r7, #0x1
- add r1, r0, r4
- ldr r0, [r5, #0x20]
- add r4, #0x1c
- str r1, [r0, r6]
- ldrh r0, [r5, #0x0]
- add r6, r6, #0x4
- cmp r7, r0
- blt _0201B50C
-_0201B52A:
- mov r0, #0x0
- strh r0, [r5, #0x2]
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0201B530
-FUN_0201B530: ; 0x0201B530
- ldrh r3, [r0, #0x2]
- ldrh r1, [r0, #0x0]
- cmp r3, r1
- bne _0201B53C
- mov r0, #0x0
- bx lr
-_0201B53C:
- ldr r2, [r0, #0x20]
- lsl r1, r3, #0x2
- ldr r2, [r2, r1]
- add r1, r3, #0x1
- strh r1, [r0, #0x2]
- add r0, r2, #0x0
- bx lr
- .balign 4
-
- thumb_func_start FUN_0201B54C
-FUN_0201B54C: ; 0x0201B54C
- ldrh r2, [r0, #0x2]
- cmp r2, #0x0
- bne _0201B556
- mov r0, #0x0
- bx lr
-_0201B556:
- str r0, [r1, #0x0]
- add r2, r0, #0x4
- str r2, [r1, #0x8]
- str r2, [r1, #0x4]
- mov r2, #0x0
- str r2, [r1, #0xc]
- str r2, [r1, #0x10]
- str r2, [r1, #0x14]
- ldrh r2, [r0, #0x2]
- sub r2, r2, #0x1
- strh r2, [r0, #0x2]
- ldr r2, [r0, #0x20]
- ldrh r0, [r0, #0x2]
- lsl r0, r0, #0x2
- str r1, [r2, r0]
- mov r0, #0x1
- bx lr
-
- thumb_func_start FUN_0201B578
-FUN_0201B578: ; 0x0201B578
- lsl r0, r0, #0x5
- add r0, #0x34
- bx lr
- .balign 4
-
- thumb_func_start FUN_0201B580
-FUN_0201B580: ; 0x0201B580
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- bne _0201B58C
- bl ErrorHandling
-_0201B58C:
- add r1, r4, #0x0
- add r1, #0x34
- lsl r0, r5, #0x2
- str r1, [r4, #0x20]
- add r0, r1, r0
- str r0, [r4, #0x24]
- strh r5, [r4, #0x0]
- mov r0, #0x0
- strh r0, [r4, #0x2]
- str r0, [r4, #0x28]
- add r0, r4, #0x0
- bl FUN_0201B5AC
- add r0, r4, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0201B5AC
-FUN_0201B5AC: ; 0x0201B5AC
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_0201B4FC
- str r4, [r4, #0x4]
- add r0, r4, #0x4
- str r0, [r4, #0xc]
- str r0, [r4, #0x8]
- mov r0, #0x0
- str r0, [r4, #0x10]
- str r0, [r4, #0x14]
- str r0, [r4, #0x18]
- ldr r0, [r4, #0xc]
- str r0, [r4, #0x2c]
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0201B5CC
-FUN_0201B5CC: ; 0x0201B5CC
- push {r4-r6, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0x28]
- cmp r0, #0x0
- bne _0201B608
- ldr r1, [r5, #0xc]
- add r4, r5, #0x4
- str r1, [r5, #0x2c]
- cmp r1, r4
- beq _0201B604
- mov r6, #0x0
-_0201B5E2:
- ldr r0, [r1, #0x8]
- str r0, [r5, #0x30]
- ldr r0, [r5, #0x2c]
- ldr r1, [r0, #0x18]
- cmp r1, #0x0
- bne _0201B5FA
- ldr r2, [r0, #0x14]
- cmp r2, #0x0
- beq _0201B5FC
- ldr r1, [r0, #0x10]
- blx r2
- b _0201B5FC
-_0201B5FA:
- str r6, [r0, #0x18]
-_0201B5FC:
- ldr r1, [r5, #0x30]
- str r1, [r5, #0x2c]
- cmp r1, r4
- bne _0201B5E2
-_0201B604:
- mov r0, #0x0
- str r0, [r1, #0x14]
-_0201B608:
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_0201B60C
-FUN_0201B60C: ; 0x0201B60C
- push {r3-r5, lr}
- add r4, r0, #0x0
- mov r5, #0x1
- str r5, [r4, #0x28]
- bl FUN_0201B620
- mov r1, #0x0
- str r1, [r4, #0x28]
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0201B620
-FUN_0201B620: ; 0x0201B620
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r6, r1, #0x0
- add r7, r2, #0x0
- add r4, r3, #0x0
- bl FUN_0201B530
- cmp r0, #0x0
- bne _0201B636
- mov r0, #0x0
- pop {r3-r7, pc}
-_0201B636:
- str r4, [r0, #0xc]
- str r7, [r0, #0x10]
- str r6, [r0, #0x14]
- ldr r2, [r5, #0x2c]
- ldr r1, [r2, #0x14]
- cmp r1, #0x0
- beq _0201B656
- ldr r1, [r2, #0xc]
- cmp r1, r4
- bhi _0201B650
- mov r1, #0x1
- str r1, [r0, #0x18]
- b _0201B65A
-_0201B650:
- mov r1, #0x0
- str r1, [r0, #0x18]
- b _0201B65A
-_0201B656:
- mov r1, #0x0
- str r1, [r0, #0x18]
-_0201B65A:
- ldr r3, [r5, #0xc]
- add r2, r5, #0x4
- cmp r3, r2
- beq _0201B686
- ldr r4, [r0, #0xc]
-_0201B664:
- ldr r1, [r3, #0xc]
- cmp r1, r4
- bls _0201B680
- ldr r1, [r3, #0x4]
- str r1, [r0, #0x4]
- str r3, [r0, #0x8]
- ldr r1, [r3, #0x4]
- str r0, [r1, #0x8]
- str r0, [r3, #0x4]
- ldr r1, [r5, #0x30]
- cmp r3, r1
- bne _0201B69E
- str r0, [r5, #0x30]
- pop {r3-r7, pc}
-_0201B680:
- ldr r3, [r3, #0x8]
- cmp r3, r2
- bne _0201B664
-_0201B686:
- ldr r2, [r5, #0x30]
- add r1, r5, #0x4
- cmp r2, r1
- bne _0201B690
- str r0, [r5, #0x30]
-_0201B690:
- ldr r1, [r5, #0x8]
- str r1, [r0, #0x4]
- add r1, r5, #0x4
- str r1, [r0, #0x8]
- ldr r1, [r5, #0x8]
- str r0, [r1, #0x8]
- str r0, [r5, #0x8]
-_0201B69E:
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0201B6A0
-FUN_0201B6A0: ; 0x0201B6A0
- add r1, r0, #0x0
- ldr r2, [r1, #0x0]
- ldr r0, [r2, #0x30]
- cmp r0, r1
- bne _0201B6AE
- ldr r0, [r1, #0x8]
- str r0, [r2, #0x30]
-_0201B6AE:
- ldr r2, [r1, #0x8]
- ldr r0, [r1, #0x4]
- ldr r3, _0201B6C0 ; =0x0201B54D
- str r2, [r0, #0x8]
- ldr r2, [r1, #0x4]
- ldr r0, [r1, #0x8]
- str r2, [r0, #0x4]
- ldr r0, [r1, #0x0]
- bx r3
- .balign 4
-_0201B6C0: .word 0x0201B54D
-
- thumb_func_start FUN_0201B6C4
-FUN_0201B6C4: ; 0x0201B6C4
- str r1, [r0, #0x14]
- bx lr
-
- thumb_func_start FUN_0201B6C8
-FUN_0201B6C8: ; 0x0201B6C8
- ldr r0, [r0, #0x10]
- bx lr
-
- thumb_func_start FUN_0201B6CC
-FUN_0201B6CC: ; 0x0201B6CC
- ldr r0, [r0, #0xc]
- bx lr
-
- thumb_func_start FUN_0201B6D0
-FUN_0201B6D0: ; 0x0201B6D0
- push {r4-r7, lr}
- sub sp, #0x34
- add r6, r1, #0x0
- add r4, r0, #0x0
- add r5, r2, #0x0
- ldmia r6!, {r0-r1}
- add r2, sp, #0x1c
- stmia r2!, {r0-r1}
- ldr r0, [r6, #0x0]
- add r4, #0x14
- str r0, [r2, #0x0]
- mov r0, #0x20
- ldrsh r0, [r4, r0]
- add r7, r3, #0x0
- mov r1, #0x1a
- str r0, [sp, #0x0]
- mov r0, #0x22
- ldrsh r0, [r4, r0]
- mov r2, #0x1c
- mov r3, #0x1e
- str r0, [sp, #0x4]
- add r0, sp, #0x28
- str r0, [sp, #0x8]
- mov r0, #0x18
- ldrsh r0, [r4, r0]
- ldrsh r1, [r4, r1]
- ldrsh r2, [r4, r2]
- ldrsh r3, [r4, r3]
- bl FUN_0201B808
- add r0, sp, #0x1c
- blx FUN_020B8474
- ldr r1, _0201B764 ; =0x021CEDD4
- add r0, r5, #0x0
- blx MI_Copy36B
- ldr r1, _0201B768 ; =0x021CED98
- mov r0, #0xa4
- ldr r2, [r1, #0x7c]
- bic r2, r0
- add r0, r7, #0x0
- str r2, [r1, #0x7c]
- blx FUN_020B844C
- blx FUN_020B849C
- mov r1, #0x0
- mov r0, #0x11
- add r2, r1, #0x0
- blx FUN_020BB1C0
- ldr r0, [r4, #0x24]
- add r1, sp, #0x10
- str r0, [sp, #0x10]
- str r0, [sp, #0x14]
- str r0, [sp, #0x18]
- mov r0, #0x1b
- mov r2, #0x3
- blx FUN_020BB1C0
- add r0, sp, #0x28
- bl FUN_0201B82C
- add r4, r0, #0x0
- mov r2, #0x1
- mov r0, #0x12
- add r1, sp, #0xc
- str r2, [sp, #0xc]
- blx FUN_020BB1C0
- add r0, r4, #0x0
- add sp, #0x34
- pop {r4-r7, pc}
- .balign 4
-_0201B764: .word 0x021CEDD4
-_0201B768: .word 0x021CED98
-
- thumb_func_start FUN_0201B76C
-FUN_0201B76C: ; 0x0201B76C
- push {r3-r5, lr}
- sub sp, #0x28
- add r5, r0, #0x0
- add r4, r1, #0x0
- mov r0, #0x2
- ldrsh r0, [r4, r0]
- str r0, [sp, #0x0]
- mov r0, #0x4
- ldrsh r0, [r4, r0]
- str r0, [sp, #0x4]
- add r0, sp, #0x1c
- str r0, [sp, #0x8]
- mov r0, #0x0
- ldrsh r3, [r4, r0]
- add r1, r0, #0x0
- add r2, r0, #0x0
- bl FUN_0201B808
- add r0, r5, #0x0
- blx FUN_020B8474
- blx FUN_020B849C
- mov r1, #0x0
- mov r0, #0x11
- add r2, r1, #0x0
- blx FUN_020BB1C0
- ldr r0, [r4, #0x10]
- lsl r2, r0, #0xc
- ldr r0, [r4, #0xc]
- lsl r1, r0, #0xc
- ldr r0, [r4, #0x8]
- lsl r0, r0, #0xc
- str r0, [sp, #0x10]
- str r1, [sp, #0x14]
- str r2, [sp, #0x18]
- mov r0, #0x1b
- add r1, sp, #0x10
- mov r2, #0x3
- blx FUN_020BB1C0
- add r0, sp, #0x1c
- bl FUN_0201B82C
- add r4, r0, #0x0
- mov r2, #0x1
- mov r0, #0x12
- add r1, sp, #0xc
- str r2, [sp, #0xc]
- blx FUN_020BB1C0
- add r0, r4, #0x0
- add sp, #0x28
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0201B7DC
-FUN_0201B7DC: ; 0x0201B7DC
- push {r4-r6, lr}
- add r6, r3, #0x0
- add r4, r2, #0x0
- add r2, r6, #0x0
- add r5, r1, #0x0
- add r1, r6, #0x0
- add r2, #0x8
- bl FUN_0201B880
- add r2, r6, #0x0
- add r0, r5, #0x0
- add r1, r6, #0x2
- add r2, #0xc
- bl FUN_0201B880
- add r1, r6, #0x4
- add r6, #0x10
- add r0, r4, #0x0
- add r2, r6, #0x0
- bl FUN_0201B880
- pop {r4-r6, pc}
-
- thumb_func_start FUN_0201B808
-FUN_0201B808: ; 0x0201B808
- push {r3-r4}
- ldr r4, [sp, #0x10]
- strh r0, [r4, #0x0]
- strh r1, [r4, #0x2]
- ldr r1, _0201B828 ; =0xFFFFFFF8
- strh r2, [r4, #0x4]
- strh r3, [r4, #0x6]
- add r1, sp
- mov r0, #0x10
- ldrsh r0, [r1, r0]
- strh r0, [r4, #0x8]
- mov r0, #0x14
- ldrsh r0, [r1, r0]
- strh r0, [r4, #0xa]
- pop {r3-r4}
- bx lr
- .balign 4
-_0201B828: .word 0xFFFFFFF8
-
- thumb_func_start FUN_0201B82C
-FUN_0201B82C: ; 0x0201B82C
- push {r3-r4, lr}
- sub sp, #0xc
- add r4, r0, #0x0
- ldr r0, _0201B87C ; =0x000030C1
- mov r2, #0x1
- str r0, [sp, #0x4]
- mov r0, #0x29
- add r1, sp, #0x4
- str r2, [sp, #0x8]
- blx FUN_020BB1C0
- mov r0, #0x0
- str r0, [sp, #0x0]
- mov r0, #0x40
- add r1, sp, #0x0
- mov r2, #0x1
- blx FUN_020BB1C0
- mov r1, #0x0
- mov r0, #0x41
- add r2, r1, #0x0
- blx FUN_020BB1C0
- mov r0, #0x70
- add r1, r4, #0x0
- mov r2, #0x3
- blx FUN_020BB1C0
- blx FUN_020BB394
- add r4, sp, #0x8
-_0201B86A:
- add r0, r4, #0x0
- blx G3X_GetBoxTestResult
- cmp r0, #0x0
- bne _0201B86A
- ldr r0, [sp, #0x8]
- add sp, #0xc
- pop {r3-r4, pc}
- nop
-_0201B87C: .word 0x000030C1
-
- thumb_func_start FUN_0201B880
-FUN_0201B880: ; 0x0201B880
- push {r3-r4}
- ldr r4, _0201B8B4 ; =0x00007FFF
- mov r3, #0x0
- cmp r0, r4
- blo _0201B896
-_0201B88A:
- add r3, r3, #0x1
- lsl r3, r3, #0x18
- lsr r0, r0, #0x1
- lsr r3, r3, #0x18
- cmp r0, r4
- bhs _0201B88A
-_0201B896:
- strh r0, [r1, #0x0]
- mov r0, #0x1
- mov r1, #0x0
- str r0, [r2, #0x0]
- cmp r3, #0x0
- ble _0201B8AE
-_0201B8A2:
- ldr r0, [r2, #0x0]
- add r1, r1, #0x1
- lsl r0, r0, #0x1
- str r0, [r2, #0x0]
- cmp r1, r3
- blt _0201B8A2
-_0201B8AE:
- pop {r3-r4}
- bx lr
- nop
-_0201B8B4: .word 0x00007FFF
-
- thumb_func_start FUN_0201B8B8
-FUN_0201B8B8: ; 0x0201B8B8
- push {r4, lr}
- add r4, r0, #0x0
- ldrh r1, [r4, #0x0]
- ldr r0, _0201B8DC ; =0x0000FFFE
- cmp r1, r0
- beq _0201B8C8
- bl ErrorHandling
-_0201B8C8:
- ldrh r1, [r4, #0x0]
- ldr r0, _0201B8DC ; =0x0000FFFE
- cmp r1, r0
- bne _0201B8D8
- ldrh r0, [r4, #0x4]
- add r1, r4, #0x6
- lsl r0, r0, #0x1
- add r4, r1, r0
-_0201B8D8:
- add r0, r4, #0x0
- pop {r4, pc}
- .balign 4
-_0201B8DC: .word 0x0000FFFE
-
- thumb_func_start FUN_0201B8E0
-FUN_0201B8E0: ; 0x0201B8E0
- push {r4, lr}
- add r4, r0, #0x0
- ldrh r1, [r4, #0x0]
- ldr r0, _0201B8F4 ; =0x0000FFFE
- cmp r1, r0
- beq _0201B8F0
- bl ErrorHandling
-_0201B8F0:
- ldrh r0, [r4, #0x2]
- pop {r4, pc}
- .balign 4
-_0201B8F4: .word 0x0000FFFE
-
- thumb_func_start FUN_0201B8F8
-FUN_0201B8F8: ; 0x0201B8F8
- push {r3, lr}
- bl FUN_0201B8E0
- mov r1, #0xff
- lsl r1, r1, #0x8
- and r1, r0
- mov r0, #0x1
- lsl r0, r0, #0x8
- cmp r1, r0
- bne _0201B910
- mov r0, #0x1
- pop {r3, pc}
-_0201B910:
- mov r0, #0x0
- pop {r3, pc}
-
- thumb_func_start FUN_0201B914
-FUN_0201B914: ; 0x0201B914
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- ldrh r1, [r5, #0x0]
- ldr r0, _0201B938 ; =0x0000FFFE
- cmp r1, r0
- beq _0201B926
- bl ErrorHandling
-_0201B926:
- ldrh r0, [r5, #0x4]
- cmp r4, r0
- blo _0201B930
- bl ErrorHandling
-_0201B930:
- lsl r0, r4, #0x1
- add r0, r5, r0
- ldrh r0, [r0, #0x6]
- pop {r3-r5, pc}
- .balign 4
-_0201B938: .word 0x0000FFFE
-
- thumb_func_start FUN_0201B93C
-FUN_0201B93C: ; 0x0201B93C
- mov r1, #0x5a
- lsl r1, r1, #0x2
- cmp r0, r1
- blo _0201B948
- mov r0, #0x0
- bx lr
-_0201B948:
- lsl r1, r0, #0x2
- ldr r0, _0201B950 ; =0x020EDF50
- ldr r0, [r0, r1]
- bx lr
- .balign 4
-_0201B950: .word 0x020EDF50
-
- thumb_func_start FUN_0201B954
-FUN_0201B954: ; 0x0201B954
- mov r1, #0x5a
- lsl r1, r1, #0x2
- cmp r0, r1
- blo _0201B960
- mov r0, #0x0
- bx lr
-_0201B960:
- add r0, #0x5a
- lsl r1, r0, #0x2
- ldr r0, _0201B96C ; =0x020EDF50
- ldr r0, [r0, r1]
- bx lr
- nop
-_0201B96C: .word 0x020EDF50
-
- thumb_func_start FUN_0201B970
-FUN_0201B970: ; 0x0201B970
- push {r3, lr}
- mov r1, #0x5a
- lsl r1, r1, #0x2
- blx _s32_div_f
- ldr r0, _0201B984 ; =0x020EDF50
- lsl r1, r1, #0x2
- ldr r0, [r0, r1]
- pop {r3, pc}
- nop
-_0201B984: .word 0x020EDF50
-
- thumb_func_start FUN_0201B988
-FUN_0201B988: ; 0x0201B988
- push {r3, lr}
- mov r1, #0x5a
- lsl r1, r1, #0x2
- blx _s32_div_f
- add r1, #0x5a
- ldr r0, _0201B99C ; =0x020EDF50
- lsl r1, r1, #0x2
- ldr r0, [r0, r1]
- pop {r3, pc}
- .balign 4
-_0201B99C: .word 0x020EDF50
-
- thumb_func_start FUN_0201B9A0
-FUN_0201B9A0: ; 0x0201B9A0
- push {r3, lr}
- mov r1, #0x5a
- lsl r1, r1, #0x2
- blx _s32_div_f
- ldr r0, _0201B9B4 ; =0x020EDC7E
- lsl r1, r1, #0x1
- ldrh r0, [r0, r1]
- pop {r3, pc}
- nop
-_0201B9B4: .word 0x020EDC7E
-
- thumb_func_start FUN_0201B9B8
-FUN_0201B9B8: ; 0x0201B9B8
- push {r3, lr}
- lsl r0, r0, #0x4
- mov r1, #0x5a
- lsr r0, r0, #0x10
- lsl r1, r1, #0x2
- blx _s32_div_f
- ldr r0, _0201B9D0 ; =0x020EDF50
- lsl r1, r1, #0x2
- ldr r0, [r0, r1]
- pop {r3, pc}
- nop
-_0201B9D0: .word 0x020EDF50
-
- thumb_func_start FUN_0201B9D4
-FUN_0201B9D4: ; 0x0201B9D4
- ldr r0, _0201B9DC ; =0x021C4D48
- ldr r0, [r0, #0x0]
- bx lr
- nop
-_0201B9DC: .word 0x021C4D48
-
- thumb_func_start FUN_0201B9E0
-FUN_0201B9E0: ; 0x0201B9E0
- ldr r1, _0201B9E8 ; =0x021C4D48
- str r0, [r1, #0x0]
- bx lr
- nop
-_0201B9E8: .word 0x021C4D48
-
- thumb_func_start FUN_0201B9EC
-FUN_0201B9EC: ; 0x0201B9EC
- ldr r1, _0201BA04 ; =0x021C4D48
- ldr r0, _0201BA08 ; =0x41C64E6D
- ldr r2, [r1, #0x0]
- add r3, r2, #0x0
- mul r3, r0
- ldr r0, _0201BA0C ; =0x00006073
- add r0, r3, r0
- str r0, [r1, #0x0]
- lsr r0, r0, #0x10
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- bx lr
- .balign 4
-_0201BA04: .word 0x021C4D48
-_0201BA08: .word 0x41C64E6D
-_0201BA0C: .word 0x00006073
-
- thumb_func_start FUN_0201BA10
-FUN_0201BA10: ; 0x0201BA10
- ldr r1, _0201BA18 ; =0x6C078965
- mul r1, r0
- add r0, r1, #0x1
- bx lr
- .balign 4
-_0201BA18: .word 0x6C078965
-
- thumb_func_start FUN_0201BA1C
-FUN_0201BA1C: ; 0x0201BA1C
- push {r4-r5}
- ldr r1, _0201BA50 ; =0x021C4D48
- mov r4, #0x27
- str r0, [r1, #0x4]
- ldr r1, _0201BA54 ; =0x02105BA8
- mov r0, #0x1
- str r0, [r1, #0x0]
- ldr r1, _0201BA58 ; =0x021C4D50
- ldr r3, _0201BA5C ; =0x6C078965
- lsl r4, r4, #0x4
-_0201BA30:
- sub r2, r1, #0x4
- ldr r5, [r2, #0x0]
- lsr r2, r5, #0x1e
- eor r2, r5
- add r5, r2, #0x0
- mul r5, r3
- add r2, r0, r5
- add r0, r0, #0x1
- stmia r1!, {r2}
- cmp r0, r4
- blt _0201BA30
- ldr r1, _0201BA54 ; =0x02105BA8
- str r0, [r1, #0x0]
- pop {r4-r5}
- bx lr
- nop
-_0201BA50: .word 0x021C4D48
-_0201BA54: .word 0x02105BA8
-_0201BA58: .word 0x021C4D50
-_0201BA5C: .word 0x6C078965
-
- thumb_func_start FUN_0201BA60
-FUN_0201BA60: ; 0x0201BA60
- push {r3-r7, lr}
- ldr r0, _0201BB44 ; =0x02105BA8
- ldr r1, [r0, #0x0]
- mov r0, #0x27
- lsl r0, r0, #0x4
- cmp r1, r0
- blt _0201BB18
- add r0, r0, #0x1
- cmp r1, r0
- bne _0201BA7A
- ldr r0, _0201BB48 ; =0x00001571
- bl FUN_0201BA1C
-_0201BA7A:
- ldr r4, _0201BB4C ; =0x021C4D4C
- ldr r1, _0201BB50 ; =0x02105BAC
- ldr r5, _0201BB54 ; =0x7FFFFFFF
- ldr r6, _0201BB58 ; =0x00000634
- mov r0, #0x0
-_0201BA84:
- mov r2, #0x2
- ldr r3, [r4, #0x0]
- lsl r2, r2, #0x1e
- and r3, r2
- ldr r2, [r4, #0x4]
- add r0, r0, #0x1
- and r2, r5
- orr r3, r2
- lsr r7, r3, #0x1
- lsl r3, r3, #0x1f
- ldr r2, [r4, r6]
- lsr r3, r3, #0x1d
- ldr r3, [r1, r3]
- eor r2, r7
- eor r2, r3
- stmia r4!, {r2}
- cmp r0, #0xe3
- blt _0201BA84
- ldr r1, _0201BB5C ; =0x0000026F
- cmp r0, r1
- bge _0201BAE4
- ldr r2, _0201BB4C ; =0x021C4D4C
- lsl r1, r0, #0x2
- add r1, r2, r1
- mov r2, #0xe3
- ldr r4, _0201BB50 ; =0x02105BAC
- ldr r3, _0201BB5C ; =0x0000026F
- lsl r2, r2, #0x2
-_0201BABC:
- mov r5, #0x2
- ldr r6, [r1, #0x0]
- lsl r5, r5, #0x1e
- and r5, r6
- ldr r7, [r1, #0x4]
- ldr r6, _0201BB54 ; =0x7FFFFFFF
- add r0, r0, #0x1
- and r6, r7
- orr r6, r5
- lsr r5, r6, #0x1
- sub r7, r1, r2
- lsl r6, r6, #0x1f
- ldr r7, [r7, #0x0]
- lsr r6, r6, #0x1d
- ldr r6, [r4, r6]
- eor r5, r7
- eor r5, r6
- stmia r1!, {r5}
- cmp r0, r3
- blt _0201BABC
-_0201BAE4:
- ldr r2, _0201BB60 ; =0x021C56C8
- mov r0, #0x2
- ldr r1, [r2, #0x40]
- lsl r0, r0, #0x1e
- add r3, r1, #0x0
- ldr r1, _0201BB64 ; =0x021C4D48
- and r3, r0
- ldr r1, [r1, #0x4]
- sub r0, r0, #0x1
- and r0, r1
- add r4, r3, #0x0
- orr r4, r0
- ldr r0, _0201BB68 ; =0x021C5348
- ldr r1, [r0, #0x34]
- lsr r0, r4, #0x1
- add r3, r1, #0x0
- eor r3, r0
- lsl r0, r4, #0x1f
- lsr r1, r0, #0x1d
- ldr r0, _0201BB50 ; =0x02105BAC
- ldr r0, [r0, r1]
- mov r1, #0x0
- eor r0, r3
- str r0, [r2, #0x40]
- ldr r0, _0201BB44 ; =0x02105BA8
- str r1, [r0, #0x0]
-_0201BB18:
- ldr r0, _0201BB44 ; =0x02105BA8
- ldr r2, [r0, #0x0]
- add r1, r2, #0x1
- str r1, [r0, #0x0]
- ldr r0, _0201BB4C ; =0x021C4D4C
- lsl r1, r2, #0x2
- ldr r1, [r0, r1]
- lsr r0, r1, #0xb
- add r2, r1, #0x0
- eor r2, r0
- ldr r0, _0201BB6C ; =0x9D2C5680
- lsl r1, r2, #0x7
- and r0, r1
- eor r2, r0
- ldr r0, _0201BB70 ; =0xEFC60000
- lsl r1, r2, #0xf
- and r0, r1
- add r1, r2, #0x0
- eor r1, r0
- lsr r0, r1, #0x12
- eor r0, r1
- pop {r3-r7, pc}
- .balign 4
-_0201BB44: .word 0x02105BA8
-_0201BB48: .word 0x00001571
-_0201BB4C: .word 0x021C4D4C
-_0201BB50: .word 0x02105BAC
-_0201BB54: .word 0x7FFFFFFF
-_0201BB58: .word 0x00000634
-_0201BB5C: .word 0x0000026F
-_0201BB60: .word 0x021C56C8
-_0201BB64: .word 0x021C4D48
-_0201BB68: .word 0x021C5348
-_0201BB6C: .word 0x9D2C5680
-_0201BB70: .word 0xEFC60000
-
- thumb_func_start FUN_0201BB74
-FUN_0201BB74: ; 0x0201BB74
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r0, sp, #0x0
- ldrb r0, [r0, #0x10]
- add r4, r2, #0x0
- add r6, r3, #0x0
- cmp r0, #0x1
- bne _0201BB8E
- ldr r0, _0201BBC8 ; =0x0000FFFF
- mul r0, r1
- lsl r0, r0, #0x8
- lsr r1, r0, #0x10
- b _0201BBA2
-_0201BB8E:
- cmp r0, #0x2
- bne _0201BBA2
- ldr r0, _0201BBC8 ; =0x0000FFFF
- mul r0, r1
- mov r1, #0x5a
- lsl r1, r1, #0x2
- blx _u32_div_f
- lsl r0, r0, #0x10
- lsr r1, r0, #0x10
-_0201BBA2:
- asr r0, r1, #0x4
- lsl r3, r0, #0x1
- lsl r1, r3, #0x1
- ldr r2, _0201BBCC ; =0x020FFA38
- add r3, r3, #0x1
- lsl r3, r3, #0x1
- ldrsh r1, [r2, r1]
- ldrsh r2, [r2, r3]
- add r0, r5, #0x0
- bl FUN_020C3EA4
- add r0, r5, #0x0
- add r1, r5, #0x0
- add r2, r4, #0x0
- add r3, r6, #0x0
- blx FUN_020C3EB0
- pop {r4-r6, pc}
- nop
-_0201BBC8: .word 0x0000FFFF
-_0201BBCC: .word 0x020FFA38
-
- thumb_func_start FUN_0201BBD0
-FUN_0201BBD0: ; 0x0201BBD0
- push {r3-r7, lr}
- sub sp, #0x38
- lsl r5, r0, #0xc
- lsl r4, r1, #0xc
- mov r1, #0x0
- lsl r0, r2, #0xc
- lsl r6, r3, #0xc
- str r1, [sp, #0x34]
- str r0, [sp, #0x0]
- str r0, [sp, #0x20]
- str r1, [sp, #0x28]
- str r1, [sp, #0x8]
- str r1, [sp, #0xc]
- asr r1, r5, #0x1f
- add r0, r5, #0x0
- asr r3, r6, #0x1f
- add r2, r6, #0x0
- str r5, [sp, #0x2c]
- str r4, [sp, #0x30]
- str r6, [sp, #0x24]
- blx _ll_mul
- str r0, [sp, #0x4]
- add r2, r4, #0x0
- ldr r0, [sp, #0x20]
- add r7, r1, #0x0
- asr r1, r0, #0x1f
- asr r3, r2, #0x1f
- blx _ll_mul
- mov r2, #0x2
- ldr r3, [sp, #0x4]
- lsl r2, r2, #0xa
- add r3, r3, r2
- ldr r2, _0201BC80 ; =0x00000000
- str r4, [sp, #0x2c]
- adc r7, r2
- lsl r2, r7, #0x14
- lsr r3, r3, #0xc
- orr r3, r2
- mov r2, #0x2
- lsl r2, r2, #0xa
- add r0, r0, r2
- ldr r2, _0201BC80 ; =0x00000000
- str r5, [sp, #0x30]
- adc r1, r2
- lsl r1, r1, #0x14
- lsr r0, r0, #0xc
- orr r0, r1
- sub r2, r3, r0
- ldr r1, [sp, #0x8]
- ldr r0, [sp, #0xc]
- str r2, [sp, #0x10]
- add r0, r1, r0
- add r7, r2, r0
- mov r0, #0x0
- str r0, [sp, #0x34]
- add r0, sp, #0x2c
- add r1, sp, #0x14
- blx VEC_Normalize
- mov r1, #0x0
- ldr r0, [sp, #0x0]
- str r1, [sp, #0x34]
- str r0, [sp, #0x20]
- str r1, [sp, #0x28]
- add r0, sp, #0x20
- add r1, sp, #0x2c
- add r2, sp, #0x8
- str r5, [sp, #0x2c]
- str r4, [sp, #0x30]
- str r6, [sp, #0x24]
- blx VEC_Subtract
- add r0, sp, #0x14
- add r1, sp, #0x8
- blx VEC_DotProduct
- asr r0, r0, #0xc
- bpl _0201BC72
- neg r0, r0
-_0201BC72:
- cmp r7, #0x0
- bgt _0201BC7C
- mov r1, #0x0
- mvn r1, r1
- mul r0, r1
-_0201BC7C:
- add sp, #0x38
- pop {r3-r7, pc}
- .balign 4
-_0201BC80: .word 0x00000000
-
- thumb_func_start FUN_0201BC84
-FUN_0201BC84: ; 0x0201BC84
- push {r3-r5, lr}
- lsl r0, r0, #0xd
- add r4, r1, #0x0
- ldr r2, _0201BCB4 ; =0x0000323D
- asr r1, r0, #0x1f
- mov r3, #0x0
- blx _ll_mul
- add r5, r0, #0x0
- ldr r0, _0201BCB8 ; =0x0000FFFF
- mov r2, #0x2
- mov r3, #0x0
- lsl r2, r2, #0xa
- mul r0, r4
- add r2, r5, r2
- adc r1, r3
- lsl r1, r1, #0x14
- lsr r2, r2, #0xc
- orr r2, r1
- asr r1, r2, #0xc
- blx _s32_div_f
- pop {r3-r5, pc}
- nop
-_0201BCB4: .word 0x0000323D
-_0201BCB8: .word 0x0000FFFF
-
- thumb_func_start FUN_0201BCBC
-FUN_0201BCBC: ; 0x0201BCBC
- ldr r1, _0201BCC4 ; =0x02105BB4
- str r0, [r1, #0x0]
- bx lr
- nop
-_0201BCC4: .word 0x02105BB4
-
- thumb_func_start FUN_0201BCC8
-FUN_0201BCC8: ; 0x0201BCC8
- push {r4-r6, lr}
- ldr r4, _0201BCF8 ; =0x021C5714
- mov r5, #0x0
-_0201BCCE:
- ldr r3, [r4, #0x0]
- cmp r3, #0x0
- bne _0201BCE8
- ldr r6, _0201BCF8 ; =0x021C5714
- lsl r4, r5, #0x2
- bl FUN_0200CA7C
- str r0, [r6, r4]
- ldr r0, [r6, r4]
- cmp r0, #0x0
- bne _0201BCF0
- mov r5, #0x8
- b _0201BCF0
-_0201BCE8:
- add r5, r5, #0x1
- add r4, r4, #0x4
- cmp r5, #0x8
- blt _0201BCCE
-_0201BCF0:
- lsl r0, r5, #0x18
- lsr r0, r0, #0x18
- pop {r4-r6, pc}
- nop
-_0201BCF8: .word 0x021C5714
-
- thumb_func_start FUN_0201BCFC
-FUN_0201BCFC: ; 0x0201BCFC
- push {r4-r6, lr}
- add r5, r0, #0x0
- cmp r5, #0x8
- blo _0201BD08
- bl ErrorHandling
-_0201BD08:
- ldr r6, _0201BD40 ; =0x021C5714
- lsl r4, r5, #0x2
- ldr r0, [r6, r4]
- cmp r0, #0x0
- bne _0201BD16
- bl ErrorHandling
-_0201BD16:
- cmp r5, #0x8
- bhs _0201BD3C
- ldr r0, [r6, r4]
- cmp r0, #0x0
- beq _0201BD3C
- bl FUN_0201B6C8
- add r5, r0, #0x0
- beq _0201BD32
- bl FUN_0201C238
- add r0, r5, #0x0
- bl FUN_02016A18
-_0201BD32:
- ldr r0, [r6, r4]
- bl FUN_0200CAB4
- mov r0, #0x0
- str r0, [r6, r4]
-_0201BD3C:
- pop {r4-r6, pc}
- nop
-_0201BD40: .word 0x021C5714
-
- thumb_func_start FUN_0201BD44
-FUN_0201BD44: ; 0x0201BD44
- lsl r1, r0, #0x2
- ldr r0, _0201BD58 ; =0x021C5714
- ldr r0, [r0, r1]
- cmp r0, #0x0
- beq _0201BD52
- mov r0, #0x1
- bx lr
-_0201BD52:
- mov r0, #0x0
- bx lr
- nop
-_0201BD58: .word 0x021C5714
-
- thumb_func_start FUN_0201BD5C
-FUN_0201BD5C: ; 0x0201BD5C
- mov r1, #0x0
- ldr r2, _0201BD6C ; =0x021C5714
- add r0, r1, #0x0
-_0201BD62:
- add r1, r1, #0x1
- stmia r2!, {r0}
- cmp r1, #0x8
- blt _0201BD62
- bx lr
- .balign 4
-_0201BD6C: .word 0x021C5714
-
- thumb_func_start FUN_0201BD70
-FUN_0201BD70: ; 0x0201BD70
- push {r3, lr}
- bl FUN_0201BD44
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- pop {r3, pc}
-
- thumb_func_start FUN_0201BD7C
-FUN_0201BD7C: ; 0x0201BD7C
- ldr r3, _0201BD80 ; =FUN_0201BCFC
- bx r3
- .balign 4
-_0201BD80: .word FUN_0201BCFC
-
- thumb_func_start FUN_0201BD84
-FUN_0201BD84: ; 0x0201BD84
- push {r3, lr}
- sub sp, #0x18
- str r0, [sp, #0x4]
- lsl r0, r3, #0x18
- lsr r3, r0, #0x18
- ldr r0, [sp, #0x20]
- str r2, [sp, #0x0]
- add r2, sp, #0x0
- strb r1, [r2, #0x9]
- lsl r0, r0, #0x18
- strb r3, [r2, #0xa]
- lsr r0, r0, #0x18
- strb r0, [r2, #0xb]
- strb r3, [r2, #0xc]
- strb r0, [r2, #0xd]
- ldr r0, _0201BDDC ; =0x02105BB4
- lsl r1, r1, #0x3
- ldr r0, [r0, #0x0]
- add r1, r0, r1
- ldrb r0, [r1, #0x2]
- strb r0, [r2, #0xe]
- ldrb r0, [r1, #0x3]
- strb r0, [r2, #0xf]
- ldrb r0, [r1, #0x4]
- strb r0, [r2, #0x10]
- ldrb r0, [r1, #0x5]
- strb r0, [r2, #0x11]
- ldrb r0, [r1, #0x6]
- strb r0, [r2, #0x12]
- ldrb r0, [r1, #0x7]
- ldr r1, [sp, #0x24]
- strb r0, [r2, #0x13]
- mov r0, #0x0
- strh r0, [r2, #0x14]
- strb r0, [r2, #0x16]
- mov r0, #0xff
- strb r0, [r2, #0x17]
- ldr r2, [sp, #0x28]
- add r0, sp, #0x0
- bl FUN_0201BE98
- add sp, #0x18
- pop {r3, pc}
- nop
-_0201BDDC: .word 0x02105BB4
-
- thumb_func_start FUN_0201BDE0
-FUN_0201BDE0: ; 0x0201BDE0
- push {r3, lr}
- sub sp, #0x18
- str r0, [sp, #0x4]
- lsl r0, r3, #0x18
- lsr r3, r0, #0x18
- ldr r0, [sp, #0x20]
- str r2, [sp, #0x0]
- add r2, sp, #0x0
- strb r1, [r2, #0x9]
- lsl r0, r0, #0x18
- strb r3, [r2, #0xa]
- lsr r0, r0, #0x18
- strb r0, [r2, #0xb]
- strb r3, [r2, #0xc]
- strb r0, [r2, #0xd]
- ldr r0, _0201BE38 ; =0x02105BB4
- lsl r1, r1, #0x3
- ldr r0, [r0, #0x0]
- add r1, r0, r1
- ldrb r0, [r1, #0x2]
- strb r0, [r2, #0xe]
- ldrb r0, [r1, #0x3]
- strb r0, [r2, #0xf]
- ldrb r0, [r1, #0x4]
- ldr r1, [sp, #0x28]
- strb r0, [r2, #0x10]
- lsr r0, r1, #0x10
- strb r0, [r2, #0x11]
- lsr r0, r1, #0x8
- strb r0, [r2, #0x13]
- strb r1, [r2, #0x12]
- mov r0, #0x0
- strh r0, [r2, #0x14]
- strb r0, [r2, #0x16]
- mov r0, #0xff
- strb r0, [r2, #0x17]
- ldr r1, [sp, #0x24]
- ldr r2, [sp, #0x2c]
- add r0, sp, #0x0
- bl FUN_0201BE98
- add sp, #0x18
- pop {r3, pc}
- nop
-_0201BE38: .word 0x02105BB4
-
- thumb_func_start FUN_0201BE3C
-FUN_0201BE3C: ; 0x0201BE3C
- push {r3, lr}
- sub sp, #0x18
- str r0, [sp, #0x4]
- lsl r0, r3, #0x18
- lsr r3, r0, #0x18
- ldr r0, [sp, #0x20]
- str r2, [sp, #0x0]
- add r2, sp, #0x0
- strb r1, [r2, #0x9]
- lsl r0, r0, #0x18
- strb r3, [r2, #0xa]
- lsr r0, r0, #0x18
- strb r0, [r2, #0xb]
- strb r3, [r2, #0xc]
- strb r0, [r2, #0xd]
- ldr r0, [sp, #0x2c]
- strb r0, [r2, #0xe]
- ldr r0, [sp, #0x30]
- strb r0, [r2, #0xf]
- ldr r0, _0201BE94 ; =0x02105BB4
- ldr r3, [r0, #0x0]
- lsl r0, r1, #0x3
- add r0, r3, r0
- ldrb r0, [r0, #0x4]
- ldr r1, [sp, #0x28]
- strb r0, [r2, #0x10]
- lsr r0, r1, #0x10
- strb r0, [r2, #0x11]
- lsr r0, r1, #0x8
- strb r0, [r2, #0x13]
- strb r1, [r2, #0x12]
- mov r0, #0x0
- strh r0, [r2, #0x14]
- strb r0, [r2, #0x16]
- mov r0, #0xff
- strb r0, [r2, #0x17]
- ldr r1, [sp, #0x24]
- ldr r2, [sp, #0x34]
- add r0, sp, #0x0
- bl FUN_0201BE98
- add sp, #0x18
- pop {r3, pc}
- nop
-_0201BE94: .word 0x02105BB4
-
- thumb_func_start FUN_0201BE98
-FUN_0201BE98: ; 0x0201BE98
- push {r3-r7, lr}
- add r7, r0, #0x0
- ldr r0, _0201BFD0 ; =0x02105BB4
- add r6, r1, #0x0
- ldr r0, [r0, #0x0]
- add r5, r2, #0x0
- cmp r0, #0x0
- bne _0201BEAC
- mov r0, #0xff
- pop {r3-r7, pc}
-_0201BEAC:
- mov r0, #0x0
- mov r1, #0x30
- bl FUN_02016998
- add r4, r0, #0x0
- mov r1, #0x1
- add r0, #0x23
- strb r1, [r0, #0x0]
- add r0, r4, #0x0
- mov r3, #0x0
- add r0, #0x24
- strb r3, [r0, #0x0]
- add r0, r4, #0x0
- add r0, #0x25
- ldrb r2, [r0, #0x0]
- mov r0, #0x7f
- bic r2, r0
- lsl r0, r6, #0x18
- lsr r1, r0, #0x18
- mov r0, #0x7f
- and r0, r1
- add r1, r2, #0x0
- orr r1, r0
- add r0, r4, #0x0
- add r0, #0x25
- strb r1, [r0, #0x0]
- add r0, r4, #0x0
- add r0, #0x26
- strb r3, [r0, #0x0]
- add r0, r4, #0x0
- add r0, #0x27
- strb r3, [r0, #0x0]
- add r0, r4, #0x0
- add r0, #0x29
- strb r3, [r0, #0x0]
- add r1, r3, #0x0
-_0201BEF4:
- add r0, r4, r3
- add r3, r3, #0x1
- strb r1, [r0, #0x1c]
- cmp r3, #0x7
- blt _0201BEF4
- add r3, r7, #0x0
- add r2, r4, #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, #0x0]
- bl FUN_02021F2C
- str r0, [r4, #0x0]
- ldr r0, _0201BFD4 ; =0x021C570C
- str r5, [r4, #0x18]
- mov r1, #0x0
- strb r1, [r0, #0x0]
- add r0, r4, #0x0
- bl FUN_0201C1A8
- cmp r6, #0xff
- beq _0201BF74
- cmp r6, #0x0
- beq _0201BF74
- add r0, r4, #0x0
- add r0, #0x25
- ldrb r2, [r0, #0x0]
- mov r1, #0x7f
- add r0, r2, #0x0
- bic r0, r1
- lsl r1, r2, #0x19
- lsr r1, r1, #0x19
- add r1, #0xff
- lsl r1, r1, #0x18
- lsr r2, r1, #0x18
- mov r1, #0x7f
- and r1, r2
- orr r1, r0
- add r0, r4, #0x0
- add r0, #0x25
- strb r1, [r0, #0x0]
- add r0, r4, #0x0
- add r0, #0x25
- ldrb r1, [r0, #0x0]
- mov r0, #0x80
- mov r2, #0x1
- orr r1, r0
- add r0, r4, #0x0
- add r0, #0x25
- strb r1, [r0, #0x0]
- ldr r0, _0201BFD8 ; =FUN_0201BFDC
- add r1, r4, #0x0
- bl FUN_0201BCC8
- add r1, r4, #0x0
- add r1, #0x28
- strb r0, [r1, #0x0]
- add r4, #0x28
- ldrb r0, [r4, #0x0]
- pop {r3-r7, pc}
-_0201BF74:
- add r0, r4, #0x0
- add r0, #0x25
- ldrb r1, [r0, #0x0]
- mov r0, #0x7f
- mov r5, #0x0
- bic r1, r0
- add r0, r4, #0x0
- add r0, #0x25
- strb r1, [r0, #0x0]
- add r0, r4, #0x0
- add r0, #0x25
- ldrb r1, [r0, #0x0]
- mov r0, #0x80
- bic r1, r0
- add r0, r4, #0x0
- add r0, #0x25
- strb r1, [r0, #0x0]
- ldrb r0, [r7, #0x11]
- ldrb r1, [r7, #0x12]
- ldrb r2, [r7, #0x13]
- bl FUN_0201C05C
- mov r7, #0x1
- lsl r7, r7, #0xa
-_0201BFA4:
- add r0, r4, #0x0
- bl FUN_0201C048
- cmp r0, #0x1
- beq _0201BFB4
- add r5, r5, #0x1
- cmp r5, r7
- blo _0201BFA4
-_0201BFB4:
- cmp r6, #0xff
- beq _0201BFBE
- ldr r0, [r4, #0x4]
- bl FUN_020191D0
-_0201BFBE:
- add r0, r4, #0x0
- bl FUN_0201C238
- add r0, r4, #0x0
- bl FUN_02016A18
- mov r0, #0x8
- pop {r3-r7, pc}
- nop
-_0201BFD0: .word 0x02105BB4
-_0201BFD4: .word 0x021C570C
-_0201BFD8: .word FUN_0201BFDC
-
- thumb_func_start FUN_0201BFDC
-FUN_0201BFDC: ; 0x0201BFDC
- push {r4, lr}
- ldr r0, _0201C044 ; =0x021C570C
- add r4, r1, #0x0
- ldrb r0, [r0, #0x0]
- cmp r0, #0x0
- bne _0201C042
- add r0, r4, #0x0
- add r0, #0x29
- ldrb r0, [r0, #0x0]
- cmp r0, #0x0
- bne _0201C036
- mov r0, #0x0
- strh r0, [r4, #0x2a]
- ldrb r0, [r4, #0x11]
- ldrb r1, [r4, #0x12]
- ldrb r2, [r4, #0x13]
- bl FUN_0201C05C
- add r0, r4, #0x0
- bl FUN_0201C048
- cmp r0, #0x0
- beq _0201C014
- cmp r0, #0x1
- beq _0201C02C
- cmp r0, #0x3
- beq _0201C01A
- pop {r4, pc}
-_0201C014:
- ldr r0, [r4, #0x4]
- bl FUN_020191D0
-_0201C01A:
- ldr r2, [r4, #0x18]
- cmp r2, #0x0
- beq _0201C042
- ldrh r1, [r4, #0x2a]
- add r0, r4, #0x0
- blx r2
- add r4, #0x29
- strb r0, [r4, #0x0]
- pop {r4, pc}
-_0201C02C:
- add r4, #0x28
- ldrb r0, [r4, #0x0]
- bl FUN_0201BCFC
- pop {r4, pc}
-_0201C036:
- ldrh r1, [r4, #0x2a]
- ldr r2, [r4, #0x18]
- add r0, r4, #0x0
- blx r2
- add r4, #0x29
- strb r0, [r4, #0x0]
-_0201C042:
- pop {r4, pc}
- .balign 4
-_0201C044: .word 0x021C570C
-
- thumb_func_start FUN_0201C048
-FUN_0201C048: ; 0x0201C048
- push {r4, lr}
- add r4, r0, #0x0
-_0201C04C:
- ldrb r0, [r4, #0x9]
- add r1, r4, #0x0
- bl FUN_02002DB0
- cmp r0, #0x2
- beq _0201C04C
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0201C05C
-FUN_0201C05C: ; 0x0201C05C
- push {r3-r7, lr}
- sub sp, #0x30
- ldr r3, _0201C0F8 ; =0x021C570C
- mov r5, #0x0
- str r5, [sp, #0x20]
- str r0, [sp, #0x24]
- str r2, [sp, #0x28]
- str r1, [sp, #0x2c]
- strh r1, [r3, #0x6]
- strh r0, [r3, #0x2]
- add r0, sp, #0x20
- strh r2, [r3, #0x4]
- str r5, [sp, #0x14]
- str r0, [sp, #0x8]
- mov r12, r0
- mov lr, r0
- str r0, [sp, #0x18]
-_0201C07E:
- mov r0, #0x0
- str r0, [sp, #0x10]
- ldr r0, [sp, #0x18]
- str r0, [sp, #0x4]
- ldr r0, [sp, #0x8]
- ldr r0, [r0, #0x0]
- str r0, [sp, #0x1c]
-_0201C08C:
- mov r0, #0x0
- str r0, [sp, #0xc]
- mov r0, lr
- str r0, [sp, #0x0]
- ldr r0, [sp, #0x4]
- ldr r0, [r0, #0x0]
- lsl r7, r0, #0x4
-_0201C09A:
- ldr r0, [sp, #0x0]
- mov r3, #0x0
- ldr r0, [r0, #0x0]
- mov r4, r12
- lsl r6, r0, #0x8
-_0201C0A4:
- ldr r0, [r4, #0x0]
- add r1, r7, #0x0
- lsl r0, r0, #0xc
- orr r0, r6
- orr r1, r0
- ldr r0, [sp, #0x1c]
- add r3, r3, #0x1
- add r2, r0, #0x0
- orr r2, r1
- lsl r1, r5, #0x1
- ldr r0, _0201C0FC ; =0x021C5734
- add r5, r5, #0x1
- add r4, r4, #0x4
- strh r2, [r0, r1]
- cmp r3, #0x4
- blt _0201C0A4
- ldr r0, [sp, #0x0]
- add r0, r0, #0x4
- str r0, [sp, #0x0]
- ldr r0, [sp, #0xc]
- add r0, r0, #0x1
- str r0, [sp, #0xc]
- cmp r0, #0x4
- blt _0201C09A
- ldr r0, [sp, #0x4]
- add r0, r0, #0x4
- str r0, [sp, #0x4]
- ldr r0, [sp, #0x10]
- add r0, r0, #0x1
- str r0, [sp, #0x10]
- cmp r0, #0x4
- blt _0201C08C
- ldr r0, [sp, #0x8]
- add r0, r0, #0x4
- str r0, [sp, #0x8]
- ldr r0, [sp, #0x14]
- add r0, r0, #0x1
- str r0, [sp, #0x14]
- cmp r0, #0x4
- blt _0201C07E
- add sp, #0x30
- pop {r3-r7, pc}
- .balign 4
-_0201C0F8: .word 0x021C570C
-_0201C0FC: .word 0x021C5734
-
- thumb_func_start FUN_0201C100
-FUN_0201C100: ; 0x0201C100
- ldrh r2, [r0, #0x0]
- lsr r2, r2, #0x8
- lsl r3, r2, #0x1
- ldr r2, _0201C1A4 ; =0x021C5734
- ldrh r3, [r2, r3]
- strh r3, [r1, #0x0]
- ldrh r3, [r0, #0x0]
- lsl r3, r3, #0x18
- lsr r3, r3, #0x17
- ldrh r3, [r2, r3]
- strh r3, [r1, #0x2]
- ldrh r3, [r0, #0x2]
- lsr r3, r3, #0x8
- lsl r3, r3, #0x1
- ldrh r3, [r2, r3]
- strh r3, [r1, #0x4]
- ldrh r3, [r0, #0x2]
- lsl r3, r3, #0x18
- lsr r3, r3, #0x17
- ldrh r3, [r2, r3]
- strh r3, [r1, #0x6]
- ldrh r3, [r0, #0x4]
- lsr r3, r3, #0x8
- lsl r3, r3, #0x1
- ldrh r3, [r2, r3]
- strh r3, [r1, #0x8]
- ldrh r3, [r0, #0x4]
- lsl r3, r3, #0x18
- lsr r3, r3, #0x17
- ldrh r3, [r2, r3]
- strh r3, [r1, #0xa]
- ldrh r3, [r0, #0x6]
- lsr r3, r3, #0x8
- lsl r3, r3, #0x1
- ldrh r3, [r2, r3]
- strh r3, [r1, #0xc]
- ldrh r3, [r0, #0x6]
- lsl r3, r3, #0x18
- lsr r3, r3, #0x17
- ldrh r3, [r2, r3]
- strh r3, [r1, #0xe]
- ldrh r3, [r0, #0x8]
- lsr r3, r3, #0x8
- lsl r3, r3, #0x1
- ldrh r3, [r2, r3]
- strh r3, [r1, #0x10]
- ldrh r3, [r0, #0x8]
- lsl r3, r3, #0x18
- lsr r3, r3, #0x17
- ldrh r3, [r2, r3]
- strh r3, [r1, #0x12]
- ldrh r3, [r0, #0xa]
- lsr r3, r3, #0x8
- lsl r3, r3, #0x1
- ldrh r3, [r2, r3]
- strh r3, [r1, #0x14]
- ldrh r3, [r0, #0xa]
- lsl r3, r3, #0x18
- lsr r3, r3, #0x17
- ldrh r3, [r2, r3]
- strh r3, [r1, #0x16]
- ldrh r3, [r0, #0xc]
- lsr r3, r3, #0x8
- lsl r3, r3, #0x1
- ldrh r3, [r2, r3]
- strh r3, [r1, #0x18]
- ldrh r3, [r0, #0xc]
- lsl r3, r3, #0x18
- lsr r3, r3, #0x17
- ldrh r3, [r2, r3]
- strh r3, [r1, #0x1a]
- ldrh r3, [r0, #0xe]
- lsr r3, r3, #0x8
- lsl r3, r3, #0x1
- ldrh r3, [r2, r3]
- strh r3, [r1, #0x1c]
- ldrh r0, [r0, #0xe]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x17
- ldrh r0, [r2, r0]
- strh r0, [r1, #0x1e]
- bx lr
- .balign 4
-_0201C1A4: .word 0x021C5734
-
- thumb_func_start FUN_0201C1A8
-FUN_0201C1A8: ; 0x0201C1A8
- mov r1, #0x0
- str r1, [r0, #0x2c]
- bx lr
- .balign 4
-
- thumb_func_start FUN_0201C1B0
-FUN_0201C1B0: ; 0x0201C1B0
- push {r3-r5, lr}
- sub sp, #0x8
- mov r1, #0x6
- mov r0, #0x0
- lsl r1, r1, #0x8
- bl FUN_02016998
- mov r2, #0x0
- add r5, r0, #0x0
- str r2, [sp, #0x0]
- mov r0, #0xe
- mov r1, #0x5
- add r3, sp, #0x4
- bl FUN_02006BB0
- add r4, r0, #0x0
- ldr r0, [sp, #0x4]
- mov r2, #0x6
- ldr r0, [r0, #0x14]
- add r1, r5, #0x0
- lsl r2, r2, #0x8
- blx MIi_CpuCopy32
- add r0, r4, #0x0
- bl FUN_02016A18
- add r0, r5, #0x0
- add sp, #0x8
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0201C1EC
-FUN_0201C1EC: ; 0x0201C1EC
- push {r3-r7, lr}
- sub sp, #0x18
- add r4, r0, #0x0
- ldr r0, [r4, #0x2c]
- add r7, r3, #0x0
- ldr r5, [r4, #0x4]
- cmp r0, #0x0
- bne _0201C202
- bl FUN_0201C1B0
- str r0, [r4, #0x2c]
-_0201C202:
- mov r0, #0x6
- lsl r0, r0, #0x6
- add r6, r7, #0x0
- mul r6, r0
- add r0, r5, #0x0
- ldr r4, [r4, #0x2c]
- bl FUN_0201AB0C
- sub r0, r0, #0x3
- lsl r0, r0, #0x13
- mov r1, #0x18
- lsr r2, r0, #0x10
- str r1, [sp, #0x0]
- mov r0, #0x20
- str r0, [sp, #0x4]
- str r2, [sp, #0x8]
- mov r2, #0x0
- str r2, [sp, #0xc]
- str r1, [sp, #0x10]
- str r0, [sp, #0x14]
- add r0, r5, #0x0
- add r1, r4, r6
- add r3, r2, #0x0
- bl FUN_02019658
- add sp, #0x18
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0201C238
-FUN_0201C238: ; 0x0201C238
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x2c]
- cmp r0, #0x0
- beq _0201C24A
- bl FUN_02016A18
- mov r0, #0x0
- str r0, [r4, #0x2c]
-_0201C24A:
- pop {r4, pc}
-
- thumb_func_start FUN_0201C24C
-FUN_0201C24C: ; 0x0201C24C
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r0, _0201C298 ; =0x021C5934
- add r4, r1, #0x0
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- beq _0201C25E
- bl ErrorHandling
-_0201C25E:
- add r0, r4, #0x0
- mov r1, #0xc
- bl FUN_02016998
- ldr r1, _0201C298 ; =0x021C5934
- cmp r0, #0x0
- str r0, [r1, #0x0]
- bne _0201C272
- bl ErrorHandling
-_0201C272:
- add r0, r4, #0x0
- lsl r1, r5, #0x4
- bl FUN_02016998
- ldr r1, _0201C298 ; =0x021C5934
- ldr r2, [r1, #0x0]
- str r0, [r2, #0x8]
- ldr r0, [r1, #0x0]
- mov r2, #0x0
- str r5, [r0, #0x0]
- ldr r0, [r1, #0x0]
- str r2, [r0, #0x4]
- ldr r1, [r1, #0x0]
- ldr r0, [r1, #0x8]
- ldr r1, [r1, #0x0]
- blx FUN_020AEF1C
- pop {r3-r5, pc}
- nop
-_0201C298: .word 0x021C5934
-
- thumb_func_start FUN_0201C29C
-FUN_0201C29C: ; 0x0201C29C
- push {r3, lr}
- ldr r0, _0201C2C4 ; =0x021C5934
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- bne _0201C2AA
- bl ErrorHandling
-_0201C2AA:
- ldr r0, _0201C2C4 ; =0x021C5934
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x8]
- bl FUN_02016A18
- ldr r0, _0201C2C4 ; =0x021C5934
- ldr r0, [r0, #0x0]
- bl FUN_02016A18
- ldr r0, _0201C2C4 ; =0x021C5934
- mov r1, #0x0
- str r1, [r0, #0x0]
- pop {r3, pc}
- .balign 4
-_0201C2C4: .word 0x021C5934
-
- thumb_func_start FUN_0201C2C8
-FUN_0201C2C8: ; 0x0201C2C8
- push {r3-r7, lr}
- add r5, r0, #0x0
- ldr r0, _0201C308 ; =0x021C5934
- add r4, r1, #0x0
- ldr r0, [r0, #0x0]
- add r6, r2, #0x0
- add r7, r3, #0x0
- cmp r0, #0x0
- bne _0201C2DE
- bl ErrorHandling
-_0201C2DE:
- ldr r1, _0201C308 ; =0x021C5934
- ldr r0, [r1, #0x0]
- ldr r2, [r0, #0x4]
- add r2, r2, #0x1
- str r2, [r0, #0x4]
- ldr r0, [r1, #0x0]
- ldr r1, [r0, #0x4]
- ldr r0, [r0, #0x0]
- cmp r1, r0
- blo _0201C2FA
- bl ErrorHandling
- mov r0, #0x0
- pop {r3-r7, pc}
-_0201C2FA:
- add r0, r5, #0x0
- add r1, r4, #0x0
- add r2, r6, #0x0
- add r3, r7, #0x0
- blx FUN_020AEE40
- pop {r3-r7, pc}
- .balign 4
-_0201C308: .word 0x021C5934
-
- thumb_func_start FUN_0201C30C
-FUN_0201C30C: ; 0x0201C30C
- push {r3, lr}
- ldr r0, _0201C324 ; =0x021C5934
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- beq _0201C322
- blx FUN_020AEEB8
- ldr r0, _0201C324 ; =0x021C5934
- mov r1, #0x0
- ldr r0, [r0, #0x0]
- str r1, [r0, #0x4]
-_0201C322:
- pop {r3, pc}
- .balign 4
-_0201C324: .word 0x021C5934
-
- thumb_func_start FUN_0201C328
-FUN_0201C328: ; 0x0201C328
- push {r3-r5, lr}
- add r4, r0, #0x0
- add r0, r1, #0x0
- mov r1, #0x30
- mul r1, r4
- bl FUN_02016998
- ldr r2, _0201C344 ; =FUN_0201C358
- add r1, r4, #0x0
- add r5, r0, #0x0
- blx FUN_020B4568
- add r0, r5, #0x0
- pop {r3-r5, pc}
- .balign 4
-_0201C344: .word FUN_0201C358
-
- thumb_func_start FUN_0201C348
-FUN_0201C348: ; 0x0201C348
- ldr r3, _0201C34C ; =FUN_020B442C
- bx r3
- .balign 4
-_0201C34C: .word FUN_020B442C
-
- thumb_func_start FUN_0201C350
-FUN_0201C350: ; 0x0201C350
- ldr r3, _0201C354 ; =FUN_02016A18
- bx r3
- .balign 4
-_0201C354: .word FUN_02016A18
-
- thumb_func_start FUN_0201C358
-FUN_0201C358: ; 0x0201C358
- push {r3, lr}
- bl FUN_0201C2C8
- pop {r3, pc}
-
- thumb_func_start FUN_0201C360
-FUN_0201C360: ; 0x0201C360
- push {r4-r6, lr}
- add r6, r1, #0x0
- add r5, r0, #0x0
- add r0, r6, #0x0
- mov r1, #0x8
- bl FUN_02016998
- mov r1, #0x14
- add r4, r0, #0x0
- add r0, r6, #0x0
- mul r1, r5
- bl FUN_02016998
- str r0, [r4, #0x0]
- mov r6, #0x0
- str r5, [r4, #0x4]
- cmp r5, #0x0
- ble _0201C398
- add r5, r6, #0x0
-_0201C386:
- ldr r0, [r4, #0x0]
- add r0, r0, r5
- bl FUN_0201C444
- ldr r0, [r4, #0x4]
- add r6, r6, #0x1
- add r5, #0x14
- cmp r6, r0
- blt _0201C386
-_0201C398:
- add r0, r4, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_0201C39C
-FUN_0201C39C: ; 0x0201C39C
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_0201C414
- ldr r0, [r4, #0x0]
- bl FUN_02016A18
- add r0, r4, #0x0
- bl FUN_02016A18
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0201C3B4
-FUN_0201C3B4: ; 0x0201C3B4
- push {r3-r7, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0x4]
- mov r4, #0x0
- add r7, r2, #0x0
- mov r12, r1
- add r6, r3, #0x0
- add r2, r4, #0x0
- cmp r0, #0x0
- ble _0201C3E2
- ldr r5, [r5, #0x0]
- add r3, r5, #0x0
-_0201C3CC:
- ldr r1, [r3, #0x0]
- cmp r1, #0x0
- bne _0201C3DA
- mov r0, #0x14
- mul r0, r2
- add r4, r5, r0
- b _0201C3E2
-_0201C3DA:
- add r2, r2, #0x1
- add r3, #0x14
- cmp r2, r0
- blt _0201C3CC
-_0201C3E2:
- cmp r4, #0x0
- bne _0201C3EA
- mov r0, #0x0
- pop {r3-r7, pc}
-_0201C3EA:
- mov r0, r12
- str r0, [r4, #0x0]
- str r7, [r4, #0x4]
- ldr r1, [sp, #0x1c]
- ldr r0, [sp, #0x18]
- str r6, [r4, #0x8]
- str r0, [r4, #0xc]
- mov r0, #0xff
- strb r0, [r4, #0x10]
- lsl r1, r1, #0x4
- strb r0, [r4, #0x11]
- add r0, r4, #0x0
- lsr r1, r1, #0x10
- bl FUN_0201C454
- add r0, r4, #0x0
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0201C40C
-FUN_0201C40C: ; 0x0201C40C
- ldr r3, _0201C410 ; =FUN_0201C444
- bx r3
- .balign 4
-_0201C410: .word FUN_0201C444
-
- thumb_func_start FUN_0201C414
-FUN_0201C414: ; 0x0201C414
- push {r4-r6, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0x4]
- mov r6, #0x0
- cmp r0, #0x0
- ble _0201C434
- add r4, r6, #0x0
-_0201C422:
- ldr r0, [r5, #0x0]
- add r0, r0, r4
- bl FUN_0201C444
- ldr r0, [r5, #0x4]
- add r6, r6, #0x1
- add r4, #0x14
- cmp r6, r0
- blt _0201C422
-_0201C434:
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_0201C438
-FUN_0201C438: ; 0x0201C438
- ldr r3, _0201C440 ; =FUN_0201C454
- lsl r1, r1, #0x4
- lsr r1, r1, #0x10
- bx r3
- .balign 4
-_0201C440: .word FUN_0201C454
-
- thumb_func_start FUN_0201C444
-FUN_0201C444: ; 0x0201C444
- mov r1, #0x0
- str r1, [r0, #0x0]
- str r1, [r0, #0x4]
- str r1, [r0, #0x8]
- str r1, [r0, #0xc]
- strb r1, [r0, #0x10]
- strb r1, [r0, #0x11]
- bx lr
-
- thumb_func_start FUN_0201C454
-FUN_0201C454: ; 0x0201C454
- push {r3-r4, lr}
- sub sp, #0x4
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_02022244
- add r2, sp, #0x0
- strb r0, [r2, #0x0]
- lsr r0, r0, #0x8
- strb r0, [r2, #0x1]
- ldrb r0, [r2, #0x0]
- add r1, sp, #0x0
- add r1, #0x2
- strb r0, [r2, #0x2]
- ldrb r0, [r2, #0x1]
- strb r0, [r2, #0x3]
- ldrb r3, [r4, #0x10]
- ldrb r0, [r2, #0x2]
- cmp r3, r0
- beq _0201C482
- add r0, r4, #0x0
- bl FUN_0201C49C
-_0201C482:
- add r0, sp, #0x0
- ldrb r1, [r4, #0x11]
- ldrb r0, [r0, #0x3]
- cmp r1, r0
- beq _0201C496
- add r1, sp, #0x0
- add r0, r4, #0x0
- add r1, #0x2
- bl FUN_0201C4C8
-_0201C496:
- add sp, #0x4
- pop {r3-r4, pc}
- .balign 4
-
- thumb_func_start FUN_0201C49C
-FUN_0201C49C: ; 0x0201C49C
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- bl FUN_0201C4F4
- ldr r3, [r5, #0x8]
- add r2, r0, #0x0
- lsl r1, r3, #0x10
- ldr r6, _0201C4C4 ; =0x7FFF0000
- mov r0, #0x0
- and r3, r6
- lsr r3, r3, #0x10
- lsr r1, r1, #0xd
- lsl r3, r3, #0x4
- bl FUN_0201C2C8
- ldrb r0, [r4, #0x0]
- strb r0, [r5, #0x10]
- pop {r4-r6, pc}
- nop
-_0201C4C4: .word 0x7FFF0000
-
- thumb_func_start FUN_0201C4C8
-FUN_0201C4C8: ; 0x0201C4C8
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- bl FUN_0201C500
- ldr r3, [r5, #0xc]
- add r2, r0, #0x0
- lsl r1, r3, #0x10
- ldr r6, _0201C4F0 ; =0xFFFF0000
- mov r0, #0x1
- and r3, r6
- lsr r3, r3, #0x10
- lsr r1, r1, #0xd
- lsl r3, r3, #0x3
- bl FUN_0201C2C8
- ldrb r0, [r4, #0x1]
- strb r0, [r5, #0x11]
- pop {r4-r6, pc}
- nop
-_0201C4F0: .word 0xFFFF0000
-
- thumb_func_start FUN_0201C4F4
-FUN_0201C4F4: ; 0x0201C4F4
- ldr r3, _0201C4FC ; =0x0201C50D
- ldr r0, [r0, #0x4]
- ldrb r1, [r1, #0x0]
- bx r3
- .balign 4
-_0201C4FC: .word 0x0201C50D
-
- thumb_func_start FUN_0201C500
-FUN_0201C500: ; 0x0201C500
- ldr r3, _0201C508 ; =0x0201C541
- ldr r0, [r0, #0x4]
- ldrb r1, [r1, #0x1]
- bx r3
- .balign 4
-_0201C508: .word 0x0201C541
-
- thumb_func_start FUN_0201C50C
-FUN_0201C50C: ; 0x0201C50C
- push {r3-r4}
- add r2, r0, #0x0
- add r2, #0x42
- ldrh r2, [r2, #0x0]
- add r4, r0, #0x0
- add r4, #0x3c
- add r3, r4, r2
- ldrh r2, [r4, r2]
- add r3, r3, #0x4
- mul r1, r2
- add r3, r3, r1
- bne _0201C52A
- mov r0, #0x0
- pop {r3-r4}
- bx lr
-_0201C52A:
- ldr r1, [r0, #0x14]
- add r2, r0, r1
- ldr r1, [r3, #0x0]
- ldr r0, [r0, #0x8]
- lsl r1, r1, #0x10
- lsr r1, r1, #0x10
- add r0, r1, r0
- lsl r0, r0, #0x3
- add r0, r2, r0
- pop {r3-r4}
- bx lr
-
- thumb_func_start FUN_0201C540
-FUN_0201C540: ; 0x0201C540
- push {r3-r4}
- ldrh r2, [r0, #0x34]
- add r4, r0, r2
- ldrh r2, [r4, #0x6]
- add r3, r4, r2
- ldrh r2, [r4, r2]
- add r3, r3, #0x4
- mul r1, r2
- add r2, r3, r1
- bne _0201C55A
- mov r0, #0x0
- pop {r3-r4}
- bx lr
-_0201C55A:
- ldr r1, [r0, #0x38]
- add r1, r0, r1
- ldrh r0, [r2, #0x0]
- lsl r0, r0, #0x3
- add r0, r1, r0
- pop {r3-r4}
- bx lr
-
- thumb_func_start FUN_0201C568
-FUN_0201C568: ; 0x0201C568
- ldr r1, [r1, #0x0]
- ldr r0, [r0, #0x8]
- lsl r1, r1, #0x10
- lsl r0, r0, #0x10
- lsr r1, r1, #0xd
- lsr r0, r0, #0xd
- add r0, r1, r0
- bx lr
-
- thumb_func_start FUN_0201C578
-FUN_0201C578: ; 0x0201C578
- push {r4, lr}
- sub sp, #0x10
- add r4, r0, #0x0
- add r0, sp, #0x0
- bl FUN_0201C750
- add r0, r4, #0x0
- add r0, #0x3c
- add r1, sp, #0x0
- blx FUN_020BC2A0
- add r1, r0, #0x0
- bne _0201C598
- add sp, #0x10
- mov r0, #0x0
- pop {r4, pc}
-_0201C598:
- add r0, r4, #0x0
- bl FUN_0201C568
- add sp, #0x10
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0201C5A4
-FUN_0201C5A4: ; 0x0201C5A4
- push {r3, lr}
- ldr r0, [r1, #0x0]
- mov r1, #0x7
- lsl r1, r1, #0x1a
- and r1, r0
- lsr r1, r1, #0x1a
- cmp r1, #0x4
- bhi _0201C5DA
- add r1, r1, r1
- add r1, pc
- ldrh r1, [r1, #0x6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_0201C5C0: ; jump table (using 16-bit offset)
- .short _0201C5DA - _0201C5C0 - 2; case 0
- .short _0201C5D6 - _0201C5C0 - 2; case 1
- .short _0201C5CA - _0201C5C0 - 2; case 2
- .short _0201C5CE - _0201C5C0 - 2; case 3
- .short _0201C5D2 - _0201C5C0 - 2; case 4
-_0201C5CA:
- mov r1, #0x4
- b _0201C5DE
-_0201C5CE:
- mov r1, #0x2
- b _0201C5DE
-_0201C5D2:
- mov r1, #0x1
- b _0201C5DE
-_0201C5D6:
- mov r1, #0x1
- b _0201C5DE
-_0201C5DA:
- mov r0, #0x0
- pop {r3, pc}
-_0201C5DE:
- mov r3, #0x7
- lsl r3, r3, #0x14
- add r2, r0, #0x0
- and r2, r3
- lsl r3, r3, #0x3
- and r0, r3
- lsr r2, r2, #0x14
- lsr r0, r0, #0x17
- lsl r2, r2, #0x4
- lsl r0, r0, #0x4
- mul r0, r2
- blx _u32_div_f
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0201C5FC
-FUN_0201C5FC: ; 0x0201C5FC
- push {r4, lr}
- sub sp, #0x10
- add r4, r0, #0x0
- add r0, sp, #0x0
- bl FUN_0201C750
- add r0, r4, #0x0
- add r0, #0x3c
- add r1, sp, #0x0
- blx FUN_020BC2A0
- add r1, r0, #0x0
- add r0, r4, #0x0
- bl FUN_0201C5A4
- add sp, #0x10
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0201C620
-FUN_0201C620: ; 0x0201C620
- ldrb r3, [r0, #0x0]
- strb r3, [r1, #0x0]
- ldrb r0, [r0, #0x1]
- strb r0, [r2, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_0201C62C
-FUN_0201C62C: ; 0x0201C62C
- ldrb r3, [r0, #0x2]
- strb r3, [r1, #0x0]
- ldrb r0, [r0, #0x3]
- strb r0, [r2, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_0201C638
-FUN_0201C638: ; 0x0201C638
- push {r4-r5}
- ldr r5, _0201C6B0 ; =0xFFFFFFF8
- ldr r4, [sp, #0xc]
- add r5, sp
- ldrb r5, [r5, #0x18]
- cmp r5, #0x3
- bhi _0201C678
- add r5, r5, r5
- add r5, pc
- ldrh r5, [r5, #0x6]
- lsl r5, r5, #0x10
- asr r5, r5, #0x10
- add pc, r5
-_0201C652: ; jump table (using 16-bit offset)
- .short _0201C65A - _0201C652 - 2; case 0
- .short _0201C662 - _0201C652 - 2; case 1
- .short _0201C66A - _0201C652 - 2; case 2
- .short _0201C672 - _0201C652 - 2; case 3
-_0201C65A:
- lsl r4, r4, #0x3
- add r4, r0, r4
- ldrb r4, [r4, #0x4]
- b _0201C678
-_0201C662:
- lsl r4, r4, #0x3
- add r4, r0, r4
- ldrb r4, [r4, #0x5]
- b _0201C678
-_0201C66A:
- lsl r4, r4, #0x3
- add r4, r0, r4
- ldrb r4, [r4, #0x6]
- b _0201C678
-_0201C672:
- lsl r4, r4, #0x3
- add r4, r0, r4
- ldrb r4, [r4, #0x7]
-_0201C678:
- cmp r1, #0x0
- beq _0201C682
- lsl r5, r4, #0x3
- ldrb r5, [r0, r5]
- strb r5, [r1, #0x0]
-_0201C682:
- cmp r2, #0x0
- beq _0201C68E
- lsl r1, r4, #0x3
- add r1, r0, r1
- ldrb r1, [r1, #0x1]
- strb r1, [r2, #0x0]
-_0201C68E:
- cmp r3, #0x0
- beq _0201C69A
- lsl r1, r4, #0x3
- add r1, r0, r1
- ldrb r1, [r1, #0x2]
- strb r1, [r3, #0x0]
-_0201C69A:
- ldr r2, [sp, #0x8]
- cmp r2, #0x0
- beq _0201C6A8
- lsl r1, r4, #0x3
- add r0, r0, r1
- ldrb r0, [r0, #0x3]
- strb r0, [r2, #0x0]
-_0201C6A8:
- add r0, r4, #0x0
- pop {r4-r5}
- bx lr
- nop
-_0201C6B0: .word 0xFFFFFFF8
-
- thumb_func_start FUN_0201C6B4
-FUN_0201C6B4: ; 0x0201C6B4
- mov r2, #0x0
- ldrsb r1, [r0, r2]
- cmp r1, #0x0
- beq _0201C6C4
-_0201C6BC:
- add r2, r2, #0x1
- ldrsb r1, [r0, r2]
- cmp r1, #0x0
- bne _0201C6BC
-_0201C6C4:
- add r0, r2, #0x0
- bx lr
-
- thumb_func_start FUN_0201C6C8
-FUN_0201C6C8: ; 0x0201C6C8
- push {r4-r5}
- mov r4, #0x1
- mov r3, #0x0
- lsl r4, r4, #0x8
-_0201C6D0:
- ldrsb r5, [r0, r3]
- strb r5, [r1, r3]
- ldrsb r5, [r0, r3]
- cmp r2, r5
- beq _0201C6DE
- cmp r5, #0x0
- bne _0201C6FE
-_0201C6DE:
- mov r4, #0x0
- strb r4, [r1, r3]
- cmp r2, #0xd
- bne _0201C6F6
- add r1, r3, #0x1
- ldrsb r1, [r0, r1]
- cmp r1, #0xa
- bne _0201C6F6
- add r1, r3, #0x2
- add r0, r0, r1
- pop {r4-r5}
- bx lr
-_0201C6F6:
- add r1, r3, #0x1
- add r0, r0, r1
- pop {r4-r5}
- bx lr
-_0201C6FE:
- add r3, r3, #0x1
- cmp r3, r4
- blt _0201C6D0
- mov r0, #0x0
- pop {r4-r5}
- bx lr
- .balign 4
-
- thumb_func_start FUN_0201C70C
-FUN_0201C70C: ; 0x0201C70C
- push {r4-r6, lr}
- add r4, r0, #0x0
- bl FUN_0201C6B4
- mov r5, #0x1
- mov r6, #0x0
- sub r3, r0, #0x1
- bmi _0201C74A
- sub r1, r6, #0x1
- mov r0, #0xa
-_0201C720:
- ldrsb r2, [r4, r3]
- cmp r2, #0x30
- blt _0201C732
- cmp r2, #0x39
- bgt _0201C732
- sub r2, #0x30
- mul r2, r5
- add r6, r6, r2
- b _0201C744
-_0201C732:
- cmp r3, #0x0
- bne _0201C73E
- cmp r2, #0x2d
- bne _0201C744
- mul r6, r1
- b _0201C744
-_0201C73E:
- mov r0, #0x0
- mvn r0, r0
- pop {r4-r6, pc}
-_0201C744:
- mul r5, r0
- sub r3, r3, #0x1
- bpl _0201C720
-_0201C74A:
- add r0, r6, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_0201C750
-FUN_0201C750: ; 0x0201C750
- push {r3-r5, lr}
- mov r2, #0x0
- add r4, r1, #0x0
- add r5, r0, #0x0
- add r1, r2, #0x0
-_0201C75A:
- lsl r0, r2, #0x2
- str r1, [r5, r0]
- add r0, r2, #0x1
- lsl r0, r0, #0x18
- lsr r2, r0, #0x18
- cmp r2, #0x4
- blo _0201C75A
- add r0, r4, #0x0
- bl FUN_0201C6B4
- lsl r0, r0, #0x18
- lsr r1, r0, #0x18
- ldr r2, _0201C788 ; =0x00000000
- beq _0201C784
-_0201C776:
- ldrsb r0, [r4, r2]
- strb r0, [r5, r2]
- add r0, r2, #0x1
- lsl r0, r0, #0x18
- lsr r2, r0, #0x18
- cmp r2, r1
- blo _0201C776
-_0201C784:
- pop {r3-r5, pc}
- nop
-_0201C788: .word 0x00000000
-
- thumb_func_start FUN_0201C78C
-FUN_0201C78C: ; 0x0201C78C
- ldr r1, _0201C79C ; =0x00000121
- cmp r0, r1
- bhs _0201C796
- mov r0, #0x1
- bx lr
-_0201C796:
- mov r0, #0x0
- bx lr
- nop
-_0201C79C: .word 0x00000121
-
- thumb_func_start FUN_0201C7A0
-FUN_0201C7A0: ; 0x0201C7A0
- cmp r0, r1
- blt _0201C7A6
- add r0, r1, #0x0
-_0201C7A6:
- bx lr
-
- thumb_func_start FUN_0201C7A8
-FUN_0201C7A8: ; 0x0201C7A8
- cmp r0, r1
- bgt _0201C7AE
- add r0, r1, #0x0
-_0201C7AE:
- bx lr
-
- thumb_func_start FUN_0201C7B0
-FUN_0201C7B0: ; 0x0201C7B0
- push {r3-r7, lr}
- sub sp, #0x30
- add r4, r1, #0x0
- add r1, sp, #0x24
- blx VEC_Normalize
- add r0, r4, #0x0
- add r1, sp, #0x18
- blx VEC_Normalize
- ldr r0, [sp, #0x24]
- ldr r4, [sp, #0x18]
- str r0, [sp, #0x0]
- asr r0, r0, #0x1f
- str r0, [sp, #0x4]
- ldr r0, [sp, #0x20]
- asr r6, r4, #0x1f
- str r0, [sp, #0x8]
- asr r0, r0, #0x1f
- str r0, [sp, #0xc]
- ldr r0, [sp, #0x2c]
- ldr r2, [sp, #0x8]
- asr r7, r0, #0x1f
- ldr r3, [sp, #0xc]
- add r1, r7, #0x0
- str r0, [sp, #0x10]
- blx _ll_mul
- str r0, [sp, #0x14]
- add r5, r1, #0x0
- ldr r0, [sp, #0x0]
- ldr r1, [sp, #0x4]
- add r2, r4, #0x0
- add r3, r6, #0x0
- blx _ll_mul
- mov r2, #0x2
- ldr r3, [sp, #0x14]
- lsl r2, r2, #0xa
- add r3, r3, r2
- ldr r2, _0201C874 ; =0x00000000
- adc r5, r2
- lsl r2, r5, #0x14
- lsr r3, r3, #0xc
- orr r3, r2
- mov r2, #0x2
- lsl r2, r2, #0xa
- add r0, r0, r2
- ldr r2, _0201C874 ; =0x00000000
- adc r1, r2
- lsl r1, r1, #0x14
- lsr r0, r0, #0xc
- orr r0, r1
- add r5, r3, r0
- ldr r0, [sp, #0x10]
- add r1, r7, #0x0
- add r2, r4, #0x0
- add r3, r6, #0x0
- blx _ll_mul
- add r6, r0, #0x0
- add r4, r1, #0x0
- ldr r0, [sp, #0x0]
- ldr r1, [sp, #0x4]
- ldr r2, [sp, #0x8]
- ldr r3, [sp, #0xc]
- blx _ll_mul
- mov r2, #0x2
- mov r3, #0x0
- lsl r2, r2, #0xa
- add r6, r6, r2
- adc r4, r3
- lsl r4, r4, #0x14
- lsr r6, r6, #0xc
- orr r6, r4
- add r4, r0, r2
- adc r1, r3
- lsl r0, r1, #0x14
- lsr r1, r4, #0xc
- orr r1, r0
- sub r0, r6, r1
- cmp r5, #0x0
- bne _0201C86A
- cmp r0, #0x0
- ble _0201C862
- add sp, #0x30
- lsl r0, r2, #0x3
- pop {r3-r7, pc}
-_0201C862:
- mov r0, #0x3
- add sp, #0x30
- lsl r0, r0, #0xe
- pop {r3-r7, pc}
-_0201C86A:
- add r1, r5, #0x0
- blx FX_Modf
- add sp, #0x30
- pop {r3-r7, pc}
- .balign 4
-_0201C874: .word 0x00000000
-
- thumb_func_start FUN_0201C878
-FUN_0201C878: ; 0x0201C878
- push {r0-r3}
- push {r4-r7, lr}
- sub sp, #0x54
- ldr r0, [sp, #0x7c]
- ldr r2, [sp, #0x80]
- str r0, [sp, #0x8]
- ldr r0, [sp, #0x94]
- ldr r1, [sp, #0x8c]
- str r0, [sp, #0xc]
- ldr r0, [sp, #0x88]
- ldr r4, [sp, #0x70]
- str r0, [sp, #0x10]
- sub r0, r2, r1
- str r0, [sp, #0x14]
- asr r0, r0, #0x1f
- str r0, [sp, #0x18]
- ldr r0, [sp, #0x8]
- asr r0, r0, #0x1f
- str r0, [sp, #0x1c]
- ldr r0, [sp, #0x74]
- sub r3, r0, r2
- sub r0, r1, r0
- str r3, [sp, #0x20]
- asr r3, r3, #0x1f
- str r3, [sp, #0x24]
- ldr r3, [sp, #0xc]
- str r0, [sp, #0x2c]
- asr r0, r0, #0x1f
- str r0, [sp, #0x30]
- ldr r0, [sp, #0x10]
- asr r3, r3, #0x1f
- str r3, [sp, #0x28]
- asr r0, r0, #0x1f
- ldr r3, [sp, #0x68]
- str r0, [sp, #0x34]
- asr r0, r4, #0x1f
- str r0, [sp, #0x38]
- sub r2, r2, r3
- ldr r0, [sp, #0x8]
- ldr r1, [sp, #0x1c]
- asr r3, r2, #0x1f
- blx _ll_mul
- add r7, r0, #0x0
- add r6, r1, #0x0
- ldr r3, [sp, #0x68]
- ldr r2, [sp, #0x74]
- ldr r0, [sp, #0x10]
- sub r2, r3, r2
- ldr r1, [sp, #0x34]
- asr r3, r2, #0x1f
- blx _ll_mul
- add r5, r1, #0x0
- str r0, [sp, #0x3c]
- ldr r1, [sp, #0x38]
- ldr r2, [sp, #0x20]
- ldr r3, [sp, #0x24]
- add r0, r4, #0x0
- blx _ll_mul
- mov r2, #0x2
- str r0, [sp, #0x4c]
- add r0, r1, #0x0
- mov r1, #0x0
- lsl r2, r2, #0xa
- add r3, r7, r2
- adc r6, r1
- lsl r2, r6, #0x14
- lsr r3, r3, #0xc
- orr r3, r2
- mov r2, #0x2
- ldr r6, [sp, #0x3c]
- lsl r2, r2, #0xa
- add r2, r6, r2
- adc r5, r1
- mov r6, #0x2
- lsl r5, r5, #0x14
- lsr r2, r2, #0xc
- orr r2, r5
- ldr r5, [sp, #0x4c]
- lsl r6, r6, #0xa
- add r5, r5, r6
- adc r0, r1
- lsl r0, r0, #0x14
- lsr r1, r5, #0xc
- orr r1, r0
- add r0, r2, r1
- add r0, r3, r0
- str r0, [sp, #0x4]
- ldr r3, [sp, #0x8c]
- ldr r2, [sp, #0x68]
- ldr r0, [sp, #0x10]
- sub r2, r3, r2
- ldr r1, [sp, #0x34]
- asr r3, r2, #0x1f
- blx _ll_mul
- add r7, r0, #0x0
- add r6, r1, #0x0
- ldr r3, [sp, #0x68]
- ldr r2, [sp, #0x80]
- ldr r0, [sp, #0xc]
- sub r2, r3, r2
- ldr r1, [sp, #0x28]
- asr r3, r2, #0x1f
- blx _ll_mul
- str r0, [sp, #0x40]
- add r5, r1, #0x0
- ldr r1, [sp, #0x38]
- ldr r2, [sp, #0x14]
- ldr r3, [sp, #0x18]
- add r0, r4, #0x0
- blx _ll_mul
- mov r2, #0x2
- str r0, [sp, #0x50]
- add r0, r1, #0x0
- mov r1, #0x0
- lsl r2, r2, #0xa
- add r3, r7, r2
- adc r6, r1
- lsl r2, r6, #0x14
- lsr r3, r3, #0xc
- orr r3, r2
- mov r2, #0x2
- ldr r6, [sp, #0x40]
- lsl r2, r2, #0xa
- add r2, r6, r2
- adc r5, r1
- mov r6, #0x2
- lsl r5, r5, #0x14
- lsr r2, r2, #0xc
- orr r2, r5
- ldr r5, [sp, #0x50]
- lsl r6, r6, #0xa
- add r5, r5, r6
- adc r0, r1
- lsl r0, r0, #0x14
- lsr r1, r5, #0xc
- orr r1, r0
- add r0, r2, r1
- add r0, r3, r0
- str r0, [sp, #0x0]
- ldr r3, [sp, #0x74]
- ldr r2, [sp, #0x68]
- ldr r0, [sp, #0xc]
- sub r2, r3, r2
- ldr r1, [sp, #0x28]
- asr r3, r2, #0x1f
- blx _ll_mul
- add r7, r0, #0x0
- add r6, r1, #0x0
- ldr r3, [sp, #0x68]
- ldr r2, [sp, #0x8c]
- ldr r0, [sp, #0x8]
- sub r2, r3, r2
- ldr r1, [sp, #0x1c]
- asr r3, r2, #0x1f
- blx _ll_mul
- add r5, r1, #0x0
- str r0, [sp, #0x44]
- ldr r1, [sp, #0x38]
- ldr r2, [sp, #0x2c]
- ldr r3, [sp, #0x30]
- add r0, r4, #0x0
- blx _ll_mul
- mov r3, #0x2
- mov r2, #0x0
- lsl r3, r3, #0xa
- add r4, r7, r3
- adc r6, r2
- lsl r3, r6, #0x14
- lsr r4, r4, #0xc
- orr r4, r3
- mov r3, #0x2
- ldr r6, [sp, #0x44]
- lsl r3, r3, #0xa
- add r3, r6, r3
- adc r5, r2
- lsl r5, r5, #0x14
- lsr r3, r3, #0xc
- orr r3, r5
- mov r5, #0x2
- lsl r5, r5, #0xa
- add r5, r0, r5
- adc r1, r2
- lsl r0, r1, #0x14
- lsr r1, r5, #0xc
- orr r1, r0
- add r0, r3, r1
- add r6, r4, r0
- ldr r0, [sp, #0x10]
- ldr r1, [sp, #0x34]
- ldr r2, [sp, #0x2c]
- ldr r3, [sp, #0x30]
- blx _ll_mul
- add r7, r0, #0x0
- add r5, r1, #0x0
- ldr r0, [sp, #0xc]
- ldr r1, [sp, #0x28]
- ldr r2, [sp, #0x20]
- ldr r3, [sp, #0x24]
- blx _ll_mul
- str r0, [sp, #0x48]
- add r4, r1, #0x0
- ldr r0, [sp, #0x8]
- ldr r1, [sp, #0x1c]
- ldr r2, [sp, #0x14]
- ldr r3, [sp, #0x18]
- blx _ll_mul
- mov r12, r0
- mov r0, #0x2
- add r2, r1, #0x0
- mov r1, #0x0
- lsl r0, r0, #0xa
- add r0, r7, r0
- adc r5, r1
- lsl r3, r5, #0x14
- lsr r0, r0, #0xc
- orr r0, r3
- mov r3, #0x2
- ldr r5, [sp, #0x48]
- lsl r3, r3, #0xa
- add r3, r5, r3
- adc r4, r1
- lsl r4, r4, #0x14
- lsr r3, r3, #0xc
- orr r3, r4
- mov r4, #0x2
- lsl r4, r4, #0xa
- mov r5, r12
- add r4, r5, r4
- adc r2, r1
- lsl r2, r2, #0x14
- lsr r4, r4, #0xc
- orr r4, r2
- add r2, r3, r4
- add r0, r0, r2
- bpl _0201CA72
- add sp, #0x54
- add r0, r1, #0x0
- pop {r4-r7}
- pop {r3}
- add sp, #0x10
- bx r3
-_0201CA72:
- ldr r0, [sp, #0x4]
- cmp r0, #0x0
- bge _0201CA84
- add sp, #0x54
- add r0, r1, #0x0
- pop {r4-r7}
- pop {r3}
- add sp, #0x10
- bx r3
-_0201CA84:
- ldr r0, [sp, #0x0]
- cmp r0, #0x0
- bge _0201CA96
- add sp, #0x54
- add r0, r1, #0x0
- pop {r4-r7}
- pop {r3}
- add sp, #0x10
- bx r3
-_0201CA96:
- cmp r6, #0x0
- blt _0201CA9C
- mov r1, #0x1
-_0201CA9C:
- add r0, r1, #0x0
- add sp, #0x54
- pop {r4-r7}
- pop {r3}
- add sp, #0x10
- bx r3
-
- thumb_func_start FUN_0201CAA8
-FUN_0201CAA8: ; 0x0201CAA8
- push {r4-r5, lr}
- sub sp, #0x24
- add r4, r1, #0x0
- ldr r1, [r4, #0x0]
- ldr r3, _0201CB1C ; =0x020FFA38
- lsl r1, r1, #0x10
- lsr r1, r1, #0x10
- asr r1, r1, #0x4
- lsl r2, r1, #0x1
- lsl r1, r2, #0x1
- add r2, r2, #0x1
- lsl r2, r2, #0x1
- ldrsh r1, [r3, r1]
- ldrsh r2, [r3, r2]
- add r5, r0, #0x0
- bl MTX_RotX33_
- ldr r0, [r4, #0x4]
- ldr r3, _0201CB1C ; =0x020FFA38
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- asr r0, r0, #0x4
- lsl r2, r0, #0x1
- lsl r1, r2, #0x1
- add r2, r2, #0x1
- lsl r2, r2, #0x1
- ldrsh r1, [r3, r1]
- ldrsh r2, [r3, r2]
- add r0, sp, #0x0
- bl MTX_RotY33_
- add r0, r5, #0x0
- add r1, sp, #0x0
- add r2, r5, #0x0
- blx MTX_Concat33
- ldr r0, [r4, #0x8]
- ldr r3, _0201CB1C ; =0x020FFA38
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- asr r0, r0, #0x4
- lsl r2, r0, #0x1
- lsl r1, r2, #0x1
- add r2, r2, #0x1
- lsl r2, r2, #0x1
- ldrsh r1, [r3, r1]
- ldrsh r2, [r3, r2]
- add r0, sp, #0x0
- bl MTX_RotZ33_
- add r0, r5, #0x0
- add r1, sp, #0x0
- add r2, r5, #0x0
- blx MTX_Concat33
- add sp, #0x24
- pop {r4-r5, pc}
- nop
-_0201CB1C: .word 0x020FFA38
-
- thumb_func_start FUN_0201CB20
-FUN_0201CB20: ; 0x0201CB20
- push {r4-r7, lr}
- sub sp, #0x24
- add r6, r1, #0x0
- add r5, r2, #0x0
- lsl r1, r6, #0x2
- ldr r2, _0201CB78 ; =0x020EDF50
- add r6, #0x5a
- add r4, r3, #0x0
- lsl r3, r6, #0x2
- ldr r1, [r2, r1]
- ldr r2, [r2, r3]
- add r7, r0, #0x0
- bl MTX_RotX33_
- lsl r1, r5, #0x2
- ldr r3, _0201CB78 ; =0x020EDF50
- add r5, #0x5a
- lsl r2, r5, #0x2
- ldr r1, [r3, r1]
- ldr r2, [r3, r2]
- add r0, sp, #0x0
- bl MTX_RotY33_
- add r0, r7, #0x0
- add r1, sp, #0x0
- add r2, r7, #0x0
- blx MTX_Concat33
- lsl r1, r4, #0x2
- ldr r3, _0201CB78 ; =0x020EDF50
- add r4, #0x5a
- lsl r2, r4, #0x2
- ldr r1, [r3, r1]
- ldr r2, [r3, r2]
- add r0, sp, #0x0
- bl MTX_RotZ33_
- add r0, r7, #0x0
- add r1, sp, #0x0
- add r2, r7, #0x0
- blx MTX_Concat33
- add sp, #0x24
- pop {r4-r7, pc}
- .balign 4
-_0201CB78: .word 0x020EDF50
-
- thumb_func_start FUN_0201CB7C
-FUN_0201CB7C: ; 0x0201CB7C
- push {r3-r7, lr}
- asr r0, r0, #0x4
- add r7, r2, #0x0
- lsl r2, r0, #0x1
- add r6, r1, #0x0
- lsl r0, r2, #0x1
- ldr r1, _0201CBE8 ; =0x020FFA38
- add r2, r2, #0x1
- lsl r2, r2, #0x1
- ldrsh r0, [r1, r0]
- ldrsh r1, [r1, r2]
- add r5, r3, #0x0
- ldr r4, [sp, #0x18]
- blx FX_Div
- add r2, r0, #0x0
- asr r1, r6, #0x1f
- add r0, r6, #0x0
- asr r3, r2, #0x1f
- blx _ll_mul
- mov r6, #0x2
- mov r2, #0x0
- lsl r6, r6, #0xa
- add r0, r0, r6
- adc r1, r2
- lsl r1, r1, #0x14
- lsr r0, r0, #0xc
- orr r0, r1
- asr r3, r0, #0x1f
- lsr r1, r0, #0x13
- lsl r3, r3, #0xd
- orr r3, r1
- lsl r0, r0, #0xd
- add r0, r0, r6
- adc r3, r2
- lsl r1, r3, #0x14
- lsr r0, r0, #0xc
- orr r0, r1
- asr r1, r0, #0x1f
- asr r3, r7, #0x1f
- add r2, r7, #0x0
- str r0, [r4, #0x0]
- blx _ll_mul
- mov r3, #0x0
- add r2, r6, #0x0
- add r2, r0, r2
- adc r1, r3
- lsl r0, r1, #0x14
- lsr r1, r2, #0xc
- orr r1, r0
- str r1, [r5, #0x0]
- pop {r3-r7, pc}
- .balign 4
-_0201CBE8: .word 0x020FFA38
-
- thumb_func_start FUN_0201CBEC
-FUN_0201CBEC: ; 0x0201CBEC
- push {r3, lr}
- sub r0, r0, r2
- sub r2, r1, r3
- add r1, r0, #0x0
- mul r1, r0
- add r0, r2, #0x0
- mul r0, r2
- add r0, r1, r0
- lsl r0, r0, #0xc
- blx FX_Sqrt
- asr r0, r0, #0xc
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0201CC08
-FUN_0201CC08: ; 0x0201CC08
- push {r3, lr}
- ldr r0, _0201CC20 ; =0x021C5978
- ldrh r0, [r0, #0x1a]
- cmp r0, #0x0
- beq _0201CC16
- bl ErrorHandling
-_0201CC16:
- ldr r0, _0201CC20 ; =0x021C5978
- mov r1, #0x0
- strh r1, [r0, #0x18]
- strh r1, [r0, #0x1a]
- pop {r3, pc}
- .balign 4
-_0201CC20: .word 0x021C5978
-
- thumb_func_start FUN_0201CC24
-FUN_0201CC24: ; 0x0201CC24
- push {r4, lr}
- sub sp, #0x8
- add r4, r0, #0x0
- ldr r0, _0201CC74 ; =0x021C5978
- ldrh r0, [r0, #0x1a]
- cmp r0, #0x0
- beq _0201CC36
- bl ErrorHandling
-_0201CC36:
- cmp r4, #0x5
- bhs _0201CC3E
- cmp r4, #0x0
- bne _0201CC44
-_0201CC3E:
- add sp, #0x8
- mov r0, #0x0
- pop {r4, pc}
-_0201CC44:
- ldr r0, _0201CC74 ; =0x021C5978
- ldrh r0, [r0, #0x18]
- cmp r0, #0x0
- beq _0201CC52
- add sp, #0x8
- mov r0, #0x0
- pop {r4, pc}
-_0201CC52:
- add r0, r4, #0x0
- bl FUN_0201CE2C
- cmp r0, #0x1
- bne _0201CC70
- mov r2, #0x0
- str r2, [sp, #0x0]
- lsl r0, r4, #0x1
- str r0, [sp, #0x4]
- mov r0, #0x2
- mov r1, #0x1
- add r3, r2, #0x0
- bl FUN_0201CC78
- mov r0, #0x1
-_0201CC70:
- add sp, #0x8
- pop {r4, pc}
- .balign 4
-_0201CC74: .word 0x021C5978
-
- thumb_func_start FUN_0201CC78
-FUN_0201CC78: ; 0x0201CC78
- push {r4, lr}
- ldr r4, _0201CC9C ; =0x021C5978
- strh r0, [r4, #0x18]
- ldr r0, _0201CCA0 ; =0x021C4918
- strb r1, [r0, #0x4]
- ldr r0, _0201CCA4 ; =0x021C5938
- ldr r1, [sp, #0xc]
- str r2, [r0, #0x0]
- str r3, [r0, #0x4]
- str r1, [r0, #0x8]
- ldr r1, [sp, #0x8]
- str r1, [r0, #0x54]
- ldr r0, _0201CCA8 ; =0x021C5944
- mov r1, #0x9
- bl FUN_0201CCAC
- pop {r4, pc}
- nop
-_0201CC9C: .word 0x021C5978
-_0201CCA0: .word 0x021C4918
-_0201CCA4: .word 0x021C5938
-_0201CCA8: .word 0x021C5944
-
- thumb_func_start FUN_0201CCAC
-FUN_0201CCAC: ; 0x0201CCAC
- mov r3, #0x0
- cmp r1, #0x0
- ble _0201CCBE
- add r2, r3, #0x0
-_0201CCB4:
- add r3, r3, #0x1
- strh r2, [r0, #0x4]
- add r0, #0x8
- cmp r3, r1
- blt _0201CCB4
-_0201CCBE:
- bx lr
-
- thumb_func_start FUN_0201CCC0
-FUN_0201CCC0: ; 0x0201CCC0
- push {r4-r6, lr}
- ldr r0, _0201CD00 ; =0x021C5978
- mov r5, #0x0
- ldrh r0, [r0, #0x18]
- cmp r0, #0x0
- bne _0201CCD0
- mov r0, #0x1
- pop {r4-r6, pc}
-_0201CCD0:
- mov r4, #0x4
- add r6, r4, #0x0
-_0201CCD4:
- blx TP_RequestAutoSamplingStopAsync
- add r0, r4, #0x0
- blx TP_WaitBusy
- add r0, r6, #0x0
- blx TP_CheckError
- cmp r0, #0x0
- beq _0201CCEA
- add r5, r5, #0x1
-_0201CCEA:
- cmp r0, #0x0
- beq _0201CCF2
- cmp r5, #0x5
- bls _0201CCD4
-_0201CCF2:
- cmp r5, #0x5
- bls _0201CCFA
- mov r0, #0x2
- pop {r4-r6, pc}
-_0201CCFA:
- mov r0, #0x1
- pop {r4-r6, pc}
- nop
-_0201CD00: .word 0x021C5978
-
- thumb_func_start FUN_0201CD04
-FUN_0201CD04: ; 0x0201CD04
- push {r4, lr}
- sub sp, #0x8
- ldr r0, _0201CD34 ; =0x021C5978
- ldrh r0, [r0, #0x1a]
- cmp r0, #0x0
- beq _0201CD14
- bl ErrorHandling
-_0201CD14:
- bl FUN_0201CCC0
- add r4, r0, #0x0
- cmp r4, #0x1
- bne _0201CD2E
- mov r0, #0x0
- str r0, [sp, #0x0]
- add r1, r0, #0x0
- add r2, r0, #0x0
- add r3, r0, #0x0
- str r0, [sp, #0x4]
- bl FUN_0201CC78
-_0201CD2E:
- add r0, r4, #0x0
- add sp, #0x8
- pop {r4, pc}
- .balign 4
-_0201CD34: .word 0x021C5978
-
- thumb_func_start FUN_0201CD38
-FUN_0201CD38: ; 0x0201CD38
- push {r3-r7, lr}
- add r4, r0, #0x0
- ldr r0, _0201CD8C ; =0x021C5978
- add r6, r1, #0x0
- ldrh r0, [r0, #0x1a]
- add r7, r2, #0x0
- mov r5, #0x3
- cmp r0, #0x0
- beq _0201CD4E
- bl ErrorHandling
-_0201CD4E:
- ldr r0, _0201CD8C ; =0x021C5978
- ldrh r0, [r0, #0x18]
- cmp r0, #0x0
- beq _0201CD88
- blx TP_GetLatestIndexInAuto
- add r5, r0, #0x0
- ldr r0, _0201CD90 ; =0x021C5944
- mov r1, #0x9
- bl FUN_0201CD94
- cmp r4, #0x0
- beq _0201CD70
- add r0, r4, #0x0
- add r1, r5, #0x0
- bl FUN_0201CFD0
-_0201CD70:
- ldr r0, _0201CD8C ; =0x021C5978
- ldrh r0, [r0, #0x18]
- cmp r0, #0x1
- bne _0201CD86
- add r0, r6, #0x0
- add r1, r5, #0x0
- add r2, r7, #0x0
- bl FUN_0201CE70
- add r5, r0, #0x0
- b _0201CD88
-_0201CD86:
- mov r5, #0x1
-_0201CD88:
- add r0, r5, #0x0
- pop {r3-r7, pc}
- .balign 4
-_0201CD8C: .word 0x021C5978
-_0201CD90: .word 0x021C5944
-
- thumb_func_start FUN_0201CD94
-FUN_0201CD94: ; 0x0201CD94
- push {r4-r7, lr}
- sub sp, #0xc
- add r5, r0, #0x0
- mov r7, #0x0
- str r1, [sp, #0x0]
- add r0, r1, #0x0
- beq _0201CDCA
- add r4, r5, #0x0
- add r6, sp, #0x4
-_0201CDA6:
- add r0, sp, #0x4
- add r1, r5, #0x0
- blx TP_GetCalibratedPoint
- ldrh r0, [r6, #0x0]
- add r7, r7, #0x1
- add r5, #0x8
- strh r0, [r4, #0x0]
- ldrh r0, [r6, #0x2]
- strh r0, [r4, #0x2]
- ldrh r0, [r6, #0x4]
- strh r0, [r4, #0x4]
- ldrh r0, [r6, #0x6]
- strh r0, [r4, #0x6]
- ldr r0, [sp, #0x0]
- add r4, #0x8
- cmp r7, r0
- blo _0201CDA6
-_0201CDCA:
- add sp, #0xc
- pop {r4-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0201CDD0
-FUN_0201CDD0: ; 0x0201CDD0
- push {r3, lr}
- ldr r0, _0201CDFC ; =0x021C5978
- ldrh r1, [r0, #0x1a]
- cmp r1, #0x0
- beq _0201CDF8
- ldrh r0, [r0, #0x18]
- cmp r0, #0x0
- beq _0201CDF8
- ldr r0, _0201CE00 ; =0x021C5938
- ldr r0, [r0, #0x8]
- lsr r0, r0, #0x1
- bl FUN_0201CE2C
- cmp r0, #0x1
- beq _0201CDF2
- bl ErrorHandling
-_0201CDF2:
- ldr r0, _0201CDFC ; =0x021C5978
- mov r1, #0x0
- strh r1, [r0, #0x1a]
-_0201CDF8:
- pop {r3, pc}
- nop
-_0201CDFC: .word 0x021C5978
-_0201CE00: .word 0x021C5938
-
- thumb_func_start FUN_0201CE04
-FUN_0201CE04: ; 0x0201CE04
- push {r3, lr}
- ldr r0, _0201CE28 ; =0x021C5978
- ldrh r1, [r0, #0x1a]
- cmp r1, #0x1
- beq _0201CE26
- ldrh r0, [r0, #0x18]
- cmp r0, #0x0
- beq _0201CE26
- bl FUN_0201CCC0
- cmp r0, #0x1
- beq _0201CE20
- bl ErrorHandling
-_0201CE20:
- ldr r0, _0201CE28 ; =0x021C5978
- mov r1, #0x1
- strh r1, [r0, #0x1a]
-_0201CE26:
- pop {r3, pc}
- .balign 4
-_0201CE28: .word 0x021C5978
-
- thumb_func_start FUN_0201CE2C
-FUN_0201CE2C: ; 0x0201CE2C
- push {r3-r7, lr}
- mov r5, #0x0
- lsl r0, r0, #0x10
- ldr r7, _0201CE6C ; =0x021C5944
- add r6, r5, #0x0
- lsr r4, r0, #0x10
-_0201CE38:
- add r0, r6, #0x0
- add r1, r4, #0x0
- add r2, r7, #0x0
- mov r3, #0x9
- blx TP_RequestAutoSamplingStartAsync
- mov r0, #0x2
- blx TP_WaitBusy
- mov r0, #0x2
- blx TP_CheckError
- cmp r0, #0x0
- beq _0201CE56
- add r5, r5, #0x1
-_0201CE56:
- cmp r0, #0x0
- beq _0201CE5E
- cmp r5, #0x5
- ble _0201CE38
-_0201CE5E:
- cmp r5, #0x5
- ble _0201CE66
- mov r0, #0x2
- pop {r3-r7, pc}
-_0201CE66:
- mov r0, #0x1
- pop {r3-r7, pc}
- nop
-_0201CE6C: .word 0x021C5944
-
- thumb_func_start FUN_0201CE70
-FUN_0201CE70: ; 0x0201CE70
- push {r3, lr}
- cmp r0, #0x5
- bhi _0201CE9A
- add r3, r0, r0
- add r3, pc
- ldrh r3, [r3, #0x6]
- lsl r3, r3, #0x10
- asr r3, r3, #0x10
- add pc, r3
-_0201CE82: ; jump table (using 16-bit offset)
- .short _0201CE9A - _0201CE82 - 2; case 0
- .short _0201CE8E - _0201CE82 - 2; case 1
- .short _0201CE9A - _0201CE82 - 2; case 2
- .short _0201CE8E - _0201CE82 - 2; case 3
- .short _0201CE94 - _0201CE82 - 2; case 4
- .short _0201CE94 - _0201CE82 - 2; case 5
-_0201CE8E:
- bl FUN_0201CEA0
- pop {r3, pc}
-_0201CE94:
- bl FUN_0201CF58
- pop {r3, pc}
-_0201CE9A:
- mov r0, #0x1
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0201CEA0
-FUN_0201CEA0: ; 0x0201CEA0
- push {r3-r7, lr}
- sub sp, #0x8
- ldr r5, _0201CF50 ; =0x021C5938
- str r1, [sp, #0x4]
- ldr r1, [r5, #0x8]
- str r0, [sp, #0x0]
- add r7, r2, #0x0
- mov r4, #0x0
- cmp r1, #0x0
- bls _0201CF46
-_0201CEB4:
- ldr r0, [sp, #0x4]
- sub r0, r0, r1
- add r0, r4, r0
- add r0, r0, #0x1
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- bpl _0201CEC8
- add r0, #0x9
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
-_0201CEC8:
- lsl r1, r0, #0x3
- ldr r0, _0201CF54 ; =0x021C5938
- add r1, r0, r1
- ldrh r0, [r1, #0x10]
- cmp r0, #0x1
- bne _0201CF3E
- ldrh r0, [r1, #0x12]
- cmp r0, #0x0
- bne _0201CF3E
- ldr r2, [r5, #0x54]
- ldr r0, [r5, #0x0]
- lsl r2, r2, #0x3
- add r2, r0, r2
- add r0, r2, #0x0
- sub r0, #0x8
- ldrh r3, [r1, #0xc]
- ldrh r0, [r0, #0x0]
- cmp r0, r3
- blt _0201CEF2
- sub r3, r0, r3
- b _0201CEF4
-_0201CEF2:
- sub r3, r3, r0
-_0201CEF4:
- sub r6, r2, #0x6
- ldrh r0, [r1, #0xe]
- ldrh r6, [r6, #0x0]
- cmp r6, r0
- blt _0201CF02
- sub r0, r6, r0
- b _0201CF04
-_0201CF02:
- sub r0, r0, r6
-_0201CF04:
- cmp r3, r7
- bhs _0201CF0C
- cmp r0, r7
- blo _0201CF3E
-_0201CF0C:
- ldrh r0, [r1, #0xc]
- strh r0, [r2, #0x0]
- ldrh r0, [r1, #0xe]
- strh r0, [r2, #0x2]
- ldrh r0, [r1, #0x10]
- strh r0, [r2, #0x4]
- ldrh r0, [r1, #0x12]
- strh r0, [r2, #0x6]
- ldr r0, [r5, #0x54]
- add r0, r0, #0x1
- str r0, [r5, #0x54]
- ldr r1, [r5, #0x4]
- cmp r0, r1
- blo _0201CF3E
- ldr r2, [sp, #0x0]
- cmp r2, #0x1
- bne _0201CF36
- blx _u32_div_f
- str r1, [r5, #0x54]
- b _0201CF3E
-_0201CF36:
- mov r0, #0x0
- add sp, #0x8
- mvn r0, r0
- pop {r3-r7, pc}
-_0201CF3E:
- ldr r1, [r5, #0x8]
- add r4, r4, #0x1
- cmp r4, r1
- blo _0201CEB4
-_0201CF46:
- ldr r0, _0201CF50 ; =0x021C5938
- ldr r0, [r0, #0x54]
- add sp, #0x8
- pop {r3-r7, pc}
- nop
-_0201CF50: .word 0x021C5938
-_0201CF54: .word 0x021C5938
-
- thumb_func_start FUN_0201CF58
-FUN_0201CF58: ; 0x0201CF58
- push {r3-r7, lr}
- ldr r5, _0201CFC8 ; =0x021C5938
- str r1, [sp, #0x0]
- ldr r1, [r5, #0x8]
- add r7, r0, #0x0
- mov r4, #0x0
- cmp r1, #0x0
- bls _0201CFC0
-_0201CF68:
- ldr r0, [sp, #0x0]
- sub r0, r0, r1
- add r0, r4, r0
- add r0, r0, #0x1
- lsl r0, r0, #0x10
- asr r1, r0, #0x10
- bpl _0201CF7C
- add r1, #0x9
- lsl r0, r1, #0x10
- asr r1, r0, #0x10
-_0201CF7C:
- ldr r0, [r5, #0x54]
- lsl r1, r1, #0x3
- lsl r3, r0, #0x3
- ldr r0, _0201CFCC ; =0x021C5938
- ldr r6, [r5, #0x0]
- add r2, r0, r1
- ldrh r0, [r2, #0xc]
- add r1, r6, r3
- strh r0, [r6, r3]
- ldrh r0, [r2, #0xe]
- strh r0, [r1, #0x2]
- ldrh r0, [r2, #0x10]
- strh r0, [r1, #0x4]
- ldrh r0, [r2, #0x12]
- strh r0, [r1, #0x6]
- ldr r0, [r5, #0x54]
- add r0, r0, #0x1
- str r0, [r5, #0x54]
- ldr r1, [r5, #0x4]
- cmp r0, r1
- blo _0201CFB8
- cmp r7, #0x4
- bne _0201CFB2
- blx _u32_div_f
- str r1, [r5, #0x54]
- b _0201CFB8
-_0201CFB2:
- mov r0, #0x0
- mvn r0, r0
- pop {r3-r7, pc}
-_0201CFB8:
- ldr r1, [r5, #0x8]
- add r4, r4, #0x1
- cmp r4, r1
- blo _0201CF68
-_0201CFC0:
- ldr r0, _0201CFC8 ; =0x021C5938
- ldr r0, [r0, #0x54]
- pop {r3-r7, pc}
- nop
-_0201CFC8: .word 0x021C5938
-_0201CFCC: .word 0x021C5938
-
- thumb_func_start FUN_0201CFD0
-FUN_0201CFD0: ; 0x0201CFD0
- push {r4-r7}
- mov r2, #0x0
- strh r2, [r0, #0x0]
- add r3, r0, #0x0
- add r6, r2, #0x0
-_0201CFDA:
- strh r6, [r3, #0x8]
- strh r6, [r3, #0x6]
- strh r6, [r3, #0x2]
- strh r6, [r3, #0x4]
- add r2, r2, #0x1
- add r3, #0x8
- cmp r2, #0x8
- blt _0201CFDA
- ldr r2, _0201D038 ; =0x021C5938
- ldr r3, [r2, #0x8]
- cmp r3, #0x0
- bls _0201D034
- ldr r4, _0201D03C ; =0x021C5938
-_0201CFF4:
- sub r3, r1, r3
- add r3, r6, r3
- add r3, r3, #0x1
- lsl r3, r3, #0x10
- asr r3, r3, #0x10
- bpl _0201D006
- add r3, #0x9
- lsl r3, r3, #0x10
- asr r3, r3, #0x10
-_0201D006:
- lsl r3, r3, #0x3
- add r5, r4, r3
- ldrh r3, [r5, #0x12]
- cmp r3, #0x0
- bne _0201D02C
- ldrh r3, [r0, #0x0]
- ldrh r7, [r5, #0xc]
- lsl r3, r3, #0x3
- add r3, r0, r3
- strh r7, [r3, #0x2]
- ldrh r7, [r5, #0xe]
- strh r7, [r3, #0x4]
- ldrh r7, [r5, #0x10]
- strh r7, [r3, #0x6]
- ldrh r5, [r5, #0x12]
- strh r5, [r3, #0x8]
- ldrh r3, [r0, #0x0]
- add r3, r3, #0x1
- strh r3, [r0, #0x0]
-_0201D02C:
- ldr r3, [r2, #0x8]
- add r6, r6, #0x1
- cmp r6, r3
- blo _0201CFF4
-_0201D034:
- pop {r4-r7}
- bx lr
- .balign 4
-_0201D038: .word 0x021C5938
-_0201D03C: .word 0x021C5938
-
- thumb_func_start FUN_0201D040
-FUN_0201D040: ; 0x0201D040
- ldr r1, _0201D054 ; =0x04001000
- ldr r2, [r1, #0x0]
- ldr r1, _0201D058 ; =0x00300010
- lsl r3, r1, #0x16
- ldr r3, [r3, #0x0]
- and r2, r1
- and r1, r3
- ldr r3, _0201D05C ; =FUN_0201D060
- bx r3
- nop
-_0201D054: .word 0x04001000
-_0201D058: .word 0x00300010
-_0201D05C: .word FUN_0201D060
-
- thumb_func_start FUN_0201D060
-FUN_0201D060: ; 0x0201D060
- push {r3-r7, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- ldr r0, _0201D120 ; =0x021C5994
- str r1, [sp, #0x0]
- ldr r0, [r0, #0x0]
- str r2, [sp, #0x4]
- cmp r0, #0x0
- bne _0201D11A
- ldr r0, [r5, #0xc]
- mov r1, #0x3c
- bl FUN_02016998
- add r1, r0, #0x0
- ldr r0, _0201D120 ; =0x021C5994
- mov r2, #0x3c
- str r1, [r0, #0x0]
- mov r0, #0x0
- blx MIi_CpuClear32
- ldr r1, _0201D120 ; =0x021C5994
- ldr r2, [r5, #0x0]
- ldr r0, [r1, #0x0]
- str r2, [r0, #0x4]
- ldr r1, [r1, #0x0]
- ldr r0, [r5, #0xc]
- ldr r2, [r1, #0x4]
- mov r1, #0x54
- mul r1, r2
- bl FUN_02016998
- ldr r7, _0201D120 ; =0x021C5994
- mov r6, #0x0
- ldr r1, [r7, #0x0]
- str r0, [r1, #0x0]
- ldr r0, [r5, #0x0]
- cmp r0, #0x0
- ble _0201D0C2
- add r4, r6, #0x0
-_0201D0AE:
- ldr r0, [r7, #0x0]
- ldr r0, [r0, #0x0]
- add r0, r0, r4
- bl FUN_0201D690
- ldr r0, [r5, #0x0]
- add r6, r6, #0x1
- add r4, #0x54
- cmp r6, r0
- blt _0201D0AE
-_0201D0C2:
- ldr r0, [sp, #0x0]
- bl FUN_0201DED0
- ldr r1, _0201D120 ; =0x021C5994
- ldr r1, [r1, #0x0]
- str r0, [r1, #0x2c]
- ldr r0, [sp, #0x4]
- bl FUN_0201DED0
- ldr r2, _0201D120 ; =0x021C5994
- mov r3, #0x1
- ldr r1, [r2, #0x0]
- lsl r3, r3, #0x1a
- str r0, [r1, #0x30]
- ldr r0, [r3, #0x0]
- ldr r1, _0201D124 ; =0xFFCFFFEF
- add r4, r0, #0x0
- ldr r0, [sp, #0x0]
- and r4, r1
- orr r0, r4
- str r0, [r3, #0x0]
- ldr r3, _0201D128 ; =0x04001000
- ldr r0, [r3, #0x0]
- and r1, r0
- ldr r0, [sp, #0x4]
- orr r0, r1
- str r0, [r3, #0x0]
- ldr r1, [r2, #0x0]
- ldr r0, [r5, #0x4]
- ldr r1, [r1, #0x2c]
- bl FUN_0201DF2C
- ldr r1, _0201D120 ; =0x021C5994
- add r4, r0, #0x0
- ldr r1, [r1, #0x0]
- ldr r0, [r5, #0x8]
- ldr r1, [r1, #0x30]
- bl FUN_0201DF2C
- add r1, r0, #0x0
- ldr r2, [r5, #0xc]
- add r0, r4, #0x0
- bl FUN_0201DC58
-_0201D11A:
- add sp, #0x8
- pop {r3-r7, pc}
- nop
-_0201D120: .word 0x021C5994
-_0201D124: .word 0xFFCFFFEF
-_0201D128: .word 0x04001000
-
- thumb_func_start FUN_0201D12C
-FUN_0201D12C: ; 0x0201D12C
- push {r3, lr}
- ldr r0, _0201D164 ; =0x021C5994
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- beq _0201D162
- ldr r0, [r0, #0x34]
- bl FUN_0201DCC0
- ldr r0, _0201D164 ; =0x021C5994
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x38]
- bl FUN_0201DCC0
- bl FUN_0201D374
- ldr r0, _0201D164 ; =0x021C5994
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x0]
- bl FUN_02016A18
- ldr r0, _0201D164 ; =0x021C5994
- ldr r0, [r0, #0x0]
- bl FUN_02016A18
- ldr r0, _0201D164 ; =0x021C5994
- mov r1, #0x0
- str r1, [r0, #0x0]
-_0201D162:
- pop {r3, pc}
- .balign 4
-_0201D164: .word 0x021C5994
-
- thumb_func_start FUN_0201D168
-FUN_0201D168: ; 0x0201D168
- push {r3, lr}
- ldr r0, _0201D190 ; =0x021C5994
- mov r2, #0x0
- ldr r1, [r0, #0x0]
- str r2, [r1, #0xc]
- ldr r1, [r0, #0x0]
- str r2, [r1, #0x10]
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x34]
- bl FUN_0201DD00
- ldr r0, _0201D190 ; =0x021C5994
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x38]
- bl FUN_0201DD00
- bl FUN_0201DAE8
- pop {r3, pc}
- nop
-_0201D190: .word 0x021C5994
-
- thumb_func_start FUN_0201D194
-FUN_0201D194: ; 0x0201D194
- push {r3-r4, lr}
- sub sp, #0xc
- add r4, r0, #0x0
- add r3, r1, #0x0
- cmp r2, #0x1
- add r0, sp, #0x4
- bne _0201D1CA
- str r0, [sp, #0x0]
- ldr r0, _0201D1F4 ; =0x021C5994
- add r2, r3, #0x0
- ldr r0, [r0, #0x0]
- add r1, r4, #0x0
- ldr r0, [r0, #0x1c]
- add r3, sp, #0x8
- bl FUN_0201DFF0
- ldr r3, [sp, #0x4]
- cmp r3, #0x0
- ble _0201D1F0
- mov r2, #0x0
- str r2, [sp, #0x0]
- ldr r1, [sp, #0x8]
- mov r0, #0x1
- bl FUN_0201D948
- add sp, #0xc
- pop {r3-r4, pc}
-_0201D1CA:
- str r0, [sp, #0x0]
- ldr r0, _0201D1F4 ; =0x021C5994
- add r2, r3, #0x0
- ldr r0, [r0, #0x0]
- add r1, r4, #0x0
- ldr r0, [r0, #0x20]
- add r3, sp, #0x8
- bl FUN_0201DFF0
- ldr r0, [sp, #0x4]
- cmp r0, #0x0
- ble _0201D1F0
- str r0, [sp, #0x0]
- mov r1, #0x0
- ldr r2, [sp, #0x8]
- mov r0, #0x2
- add r3, r1, #0x0
- bl FUN_0201D948
-_0201D1F0:
- add sp, #0xc
- pop {r3-r4, pc}
- .balign 4
-_0201D1F4: .word 0x021C5994
-
- thumb_func_start FUN_0201D1F8
-FUN_0201D1F8: ; 0x0201D1F8
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0x8]
- bl FUN_0201D2AC
- cmp r0, #0x1
- bne _0201D20A
- bl ErrorHandling
-_0201D20A:
- bl FUN_0201DAAC
- add r4, r0, #0x0
- bne _0201D21A
- bl ErrorHandling
- mov r0, #0x0
- pop {r3-r5, pc}
-_0201D21A:
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_0201D6B4
- cmp r0, #0x0
- bne _0201D22A
- mov r0, #0x0
- pop {r3-r5, pc}
-_0201D22A:
- add r0, r4, #0x0
- bl FUN_0201D724
- cmp r0, #0x0
- bne _0201D23E
- ldr r0, [r4, #0xc]
- bl FUN_0201D324
- mov r0, #0x0
- pop {r3-r5, pc}
-_0201D23E:
- ldr r0, _0201D24C ; =0x021C5994
- ldr r1, [r0, #0x0]
- ldr r0, [r1, #0x8]
- add r0, r0, #0x1
- str r0, [r1, #0x8]
- mov r0, #0x1
- pop {r3-r5, pc}
- .balign 4
-_0201D24C: .word 0x021C5994
-
- thumb_func_start FUN_0201D250
-FUN_0201D250: ; 0x0201D250
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0x8]
- bl FUN_0201D2AC
- cmp r0, #0x1
- bne _0201D262
- bl ErrorHandling
-_0201D262:
- bl FUN_0201DAAC
- add r4, r0, #0x0
- bne _0201D272
- bl ErrorHandling
- mov r0, #0x0
- pop {r3-r5, pc}
-_0201D272:
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_0201D6B4
- cmp r0, #0x0
- bne _0201D282
- mov r0, #0x0
- pop {r3-r5, pc}
-_0201D282:
- mov r0, #0x1
- str r0, [r4, #0x40]
- add r0, r4, #0x0
- bl FUN_0201D724
- cmp r0, #0x0
- bne _0201D29A
- ldr r0, [r4, #0xc]
- bl FUN_0201D324
- mov r0, #0x0
- pop {r3-r5, pc}
-_0201D29A:
- ldr r0, _0201D2A8 ; =0x021C5994
- ldr r1, [r0, #0x0]
- ldr r0, [r1, #0x8]
- add r0, r0, #0x1
- str r0, [r1, #0x8]
- mov r0, #0x1
- pop {r3-r5, pc}
- .balign 4
-_0201D2A8: .word 0x021C5994
-
- thumb_func_start FUN_0201D2AC
-FUN_0201D2AC: ; 0x0201D2AC
- push {r3-r4}
- ldr r1, _0201D2D8 ; =0x021C5994
- mov r2, #0x0
- ldr r4, [r1, #0x0]
- ldr r1, [r4, #0x4]
- cmp r1, #0x0
- ble _0201D2D2
- ldr r3, [r4, #0x0]
-_0201D2BC:
- ldr r1, [r3, #0xc]
- cmp r0, r1
- bne _0201D2C8
- mov r0, #0x1
- pop {r3-r4}
- bx lr
-_0201D2C8:
- ldr r1, [r4, #0x4]
- add r2, r2, #0x1
- add r3, #0x54
- cmp r2, r1
- blt _0201D2BC
-_0201D2D2:
- mov r0, #0x0
- pop {r3-r4}
- bx lr
- .balign 4
-_0201D2D8: .word 0x021C5994
-
- thumb_func_start FUN_0201D2DC
-FUN_0201D2DC: ; 0x0201D2DC
- push {r3-r5, lr}
- add r4, r0, #0x0
- add r5, r1, #0x0
- bne _0201D2E8
- bl ErrorHandling
-_0201D2E8:
- add r0, r4, #0x0
- bl FUN_0201D7F8
- add r4, r0, #0x0
- bne _0201D2F6
- bl ErrorHandling
-_0201D2F6:
- str r5, [r4, #0x0]
- ldr r1, [r4, #0x4]
- mov r0, #0x1
- tst r0, r1
- beq _0201D30C
- ldr r1, [r4, #0x34]
- ldr r2, [r5, #0x14]
- ldr r3, [r5, #0x10]
- mov r0, #0x13
- bl FUN_0201C2C8
-_0201D30C:
- ldr r1, [r4, #0x4]
- mov r0, #0x2
- tst r0, r1
- beq _0201D320
- ldr r1, [r4, #0x38]
- ldr r2, [r5, #0x14]
- ldr r3, [r5, #0x10]
- mov r0, #0x23
- bl FUN_0201C2C8
-_0201D320:
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0201D324
-FUN_0201D324: ; 0x0201D324
- push {r3-r7, lr}
- add r6, r0, #0x0
- mov r5, #0x1
- mov r7, #0x0
-_0201D32C:
- add r0, r6, #0x0
- bl FUN_0201D7F8
- add r4, r0, #0x0
- bne _0201D33A
- bl ErrorHandling
-_0201D33A:
- add r0, r4, #0x0
- add r0, #0x3c
- ldrb r0, [r0, #0x0]
- cmp r0, #0x4
- bne _0201D34E
- add r0, r4, #0x0
- add r0, #0x10
- bl FUN_0201D4F0
- b _0201D350
-_0201D34E:
- add r5, r7, #0x0
-_0201D350:
- cmp r5, #0x0
- bne _0201D32C
- add r0, r4, #0x0
- add r0, #0x3c
- ldrb r0, [r0, #0x0]
- cmp r0, #0x0
- beq _0201D36E
- add r0, r4, #0x0
- bl FUN_0201D7E0
- ldr r0, _0201D370 ; =0x021C5994
- ldr r1, [r0, #0x0]
- ldr r0, [r1, #0x8]
- sub r0, r0, #0x1
- str r0, [r1, #0x8]
-_0201D36E:
- pop {r3-r7, pc}
- .balign 4
-_0201D370: .word 0x021C5994
-
- thumb_func_start FUN_0201D374
-FUN_0201D374: ; 0x0201D374
- push {r4-r6, lr}
- ldr r6, _0201D3AC ; =0x021C5994
- mov r4, #0x0
- ldr r1, [r6, #0x0]
- ldr r0, [r1, #0x4]
- cmp r0, #0x0
- ble _0201D3AA
- add r5, r4, #0x0
-_0201D384:
- ldr r1, [r1, #0x0]
- add r0, r1, r5
- add r0, #0x3c
- ldrb r0, [r0, #0x0]
- cmp r0, #0x0
- beq _0201D39E
- add r0, r1, r5
- bl FUN_0201D7E0
- ldr r1, [r6, #0x0]
- ldr r0, [r1, #0x8]
- sub r0, r0, #0x1
- str r0, [r1, #0x8]
-_0201D39E:
- ldr r1, [r6, #0x0]
- add r4, r4, #0x1
- ldr r0, [r1, #0x4]
- add r5, #0x54
- cmp r4, r0
- blt _0201D384
-_0201D3AA:
- pop {r4-r6, pc}
- .balign 4
-_0201D3AC: .word 0x021C5994
-
- thumb_func_start FUN_0201D3B0
-FUN_0201D3B0: ; 0x0201D3B0
- push {r4, lr}
- bl FUN_0201D7F8
- add r4, r0, #0x0
- bne _0201D3BE
- bl ErrorHandling
-_0201D3BE:
- add r0, r4, #0x0
- add r0, #0x3c
- ldrb r0, [r0, #0x0]
- cmp r0, #0x0
- bne _0201D3CC
- mov r0, #0x0
- pop {r4, pc}
-_0201D3CC:
- add r4, #0x10
- add r0, r4, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0201D3D4
-FUN_0201D3D4: ; 0x0201D3D4
- push {r3-r5, lr}
- sub sp, #0x18
- add r5, r1, #0x0
- bl FUN_0201D7F8
- add r4, r0, #0x0
- bne _0201D3E6
- bl ErrorHandling
-_0201D3E6:
- add r0, r4, #0x0
- add r0, #0x3c
- ldrb r0, [r0, #0x0]
- cmp r0, #0x0
- bne _0201D3F6
- add sp, #0x18
- mov r0, #0x0
- pop {r3-r5, pc}
-_0201D3F6:
- add r0, sp, #0xc
- str r0, [sp, #0x0]
- add r0, sp, #0x8
- str r0, [sp, #0x4]
- ldr r0, [r4, #0x4]
- add r1, sp, #0x14
- add r2, sp, #0x10
- add r3, r5, #0x0
- bl FUN_0201D86C
- add r0, r4, #0x0
- add r0, #0x3c
- ldrb r0, [r0, #0x0]
- cmp r0, #0x3
- bne _0201D41A
- add sp, #0x18
- mov r0, #0x0
- pop {r3-r5, pc}
-_0201D41A:
- add r0, r4, #0x0
- mov r1, #0x3
- add r0, #0x3c
- strb r1, [r0, #0x0]
- ldr r1, [sp, #0x14]
- ldr r2, [sp, #0x10]
- add r0, r4, #0x0
- bl FUN_0201D918
- mov r0, #0x1
- str r0, [r4, #0x48]
- ldr r0, [sp, #0xc]
- str r0, [r4, #0x4c]
- ldr r0, [sp, #0x8]
- str r0, [r4, #0x50]
- add r0, r4, #0x0
- bl FUN_0201DA38
- ldr r0, [sp, #0x8]
- str r0, [sp, #0x0]
- ldr r0, [r4, #0x4]
- ldr r1, [sp, #0x14]
- ldr r2, [sp, #0x10]
- ldr r3, [sp, #0xc]
- bl FUN_0201D948
- add r4, #0x10
- add r0, r4, #0x0
- add sp, #0x18
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0201D458
-FUN_0201D458: ; 0x0201D458
- push {r3-r5, lr}
- sub sp, #0x18
- bl FUN_0201D6D8
- add r4, r0, #0x0
- bne _0201D468
- bl ErrorHandling
-_0201D468:
- bl FUN_0201DAAC
- add r5, r0, #0x0
- bne _0201D474
- bl ErrorHandling
-_0201D474:
- add r0, r4, #0x0
- add r0, #0x3c
- ldrb r0, [r0, #0x0]
- cmp r0, #0x3
- beq _0201D484
- add sp, #0x18
- mov r0, #0x0
- pop {r3-r5, pc}
-_0201D484:
- add r3, r5, #0x0
- mov r2, #0xa
-_0201D488:
- ldmia r4!, {r0-r1}
- stmia r3!, {r0-r1}
- sub r2, r2, #0x1
- bne _0201D488
- ldr r0, [r4, #0x0]
- mov r1, #0x4
- str r0, [r3, #0x0]
- add r0, r5, #0x0
- add r0, #0x3c
- strb r1, [r0, #0x0]
- ldr r0, [r5, #0x4]
- mov r1, #0x1
- tst r1, r0
- beq _0201D4A8
- ldr r3, [r5, #0x4c]
- b _0201D4AA
-_0201D4A8:
- ldr r3, [r5, #0x50]
-_0201D4AA:
- add r1, sp, #0xc
- str r1, [sp, #0x0]
- add r1, sp, #0x8
- str r1, [sp, #0x4]
- add r1, sp, #0x14
- add r2, sp, #0x10
- bl FUN_0201D86C
- ldr r1, [sp, #0x14]
- ldr r2, [sp, #0x10]
- add r0, r5, #0x0
- bl FUN_0201D918
- mov r0, #0x1
- str r0, [r5, #0x48]
- ldr r0, [sp, #0xc]
- str r0, [r5, #0x4c]
- ldr r0, [sp, #0x8]
- str r0, [r5, #0x50]
- add r0, r5, #0x0
- bl FUN_0201DA38
- ldr r0, [sp, #0x8]
- str r0, [sp, #0x0]
- ldr r0, [r5, #0x4]
- ldr r1, [sp, #0x14]
- ldr r2, [sp, #0x10]
- ldr r3, [sp, #0xc]
- bl FUN_0201D948
- add r5, #0x10
- add r0, r5, #0x0
- add sp, #0x18
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0201D4F0
-FUN_0201D4F0: ; 0x0201D4F0
- push {r4-r6, lr}
- ldr r2, _0201D564 ; =0x021C5994
- mov r1, #0x0
- ldr r5, [r2, #0x0]
- ldr r4, [r5, #0x4]
- cmp r4, #0x0
- ble _0201D52E
- ldr r2, [r5, #0x0]
- add r3, r1, #0x0
-_0201D502:
- add r6, r2, #0x0
- add r6, #0x3c
- ldrb r6, [r6, #0x0]
- cmp r6, #0x3
- beq _0201D518
- ldr r6, [r5, #0x0]
- add r6, r6, r3
- add r6, #0x3c
- ldrb r6, [r6, #0x0]
- cmp r6, #0x4
- bne _0201D522
-_0201D518:
- ldr r6, [r5, #0x0]
- add r6, r6, r3
- add r6, #0x10
- cmp r6, r0
- beq _0201D52E
-_0201D522:
- ldr r6, [r5, #0x4]
- add r1, r1, #0x1
- add r2, #0x54
- add r3, #0x54
- cmp r1, r6
- blt _0201D502
-_0201D52E:
- cmp r1, r4
- bge _0201D562
- mov r0, #0x54
- add r4, r1, #0x0
- mul r4, r0
- ldr r0, [r5, #0x0]
- add r0, r0, r4
- bl FUN_0201DE4C
- ldr r0, _0201D564 ; =0x021C5994
- ldr r1, [r0, #0x0]
- ldr r2, [r1, #0x0]
- add r2, #0x3c
- ldrb r1, [r2, r4]
- cmp r1, #0x3
- bne _0201D554
- mov r0, #0x2
- strb r0, [r2, r4]
- pop {r4-r6, pc}
-_0201D554:
- mov r1, #0x0
- strb r1, [r2, r4]
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x0]
- add r0, r0, r4
- bl FUN_0201D690
-_0201D562:
- pop {r4-r6, pc}
- .balign 4
-_0201D564: .word 0x021C5994
-
- thumb_func_start FUN_0201D568
-FUN_0201D568: ; 0x0201D568
- push {r3-r7, lr}
- sub sp, #0x18
- add r6, r0, #0x0
- add r5, r2, #0x0
- add r4, r3, #0x0
- cmp r1, #0x0
- bne _0201D5A0
- add r1, r5, #0x0
- add r2, sp, #0x14
- add r3, sp, #0x10
- bl FUN_0201DF44
- add r7, r0, #0x0
- beq _0201D5E0
- add r0, r6, #0x0
- add r1, r5, #0x0
- bl FUN_0201DF94
- str r5, [r4, #0x8]
- str r6, [r4, #0x0]
- cmp r5, #0x1
- bne _0201D59A
- ldr r0, [sp, #0x14]
- str r0, [r4, #0x4]
- b _0201D5E0
-_0201D59A:
- ldr r0, [sp, #0x10]
- str r0, [r4, #0x4]
- b _0201D5E0
-_0201D5A0:
- add r0, sp, #0xc
- str r0, [sp, #0x0]
- add r0, sp, #0x8
- str r0, [sp, #0x4]
- add r0, r5, #0x0
- add r1, sp, #0x14
- add r2, sp, #0x10
- add r3, r6, #0x0
- bl FUN_0201D86C
- add r7, r0, #0x0
- beq _0201D5E0
- ldr r0, [sp, #0x8]
- str r0, [sp, #0x0]
- ldr r1, [sp, #0x14]
- ldr r2, [sp, #0x10]
- ldr r3, [sp, #0xc]
- add r0, r5, #0x0
- bl FUN_0201D948
- str r5, [r4, #0x8]
- cmp r5, #0x1
- bne _0201D5D8
- ldr r0, [sp, #0xc]
- str r0, [r4, #0x0]
- ldr r0, [sp, #0x14]
- str r0, [r4, #0x4]
- b _0201D5E0
-_0201D5D8:
- ldr r0, [sp, #0x8]
- str r0, [r4, #0x0]
- ldr r0, [sp, #0x10]
- str r0, [r4, #0x4]
-_0201D5E0:
- add r0, r7, #0x0
- add sp, #0x18
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0201D5E8
-FUN_0201D5E8: ; 0x0201D5E8
- push {r3-r5, lr}
- add r4, r0, #0x0
- ldr r1, [r4, #0x8]
- mov r0, #0x1
- tst r0, r1
- beq _0201D61E
- ldr r1, _0201D654 ; =0x021C5994
- ldr r0, [r4, #0x0]
- ldr r1, [r1, #0x0]
- ldr r1, [r1, #0x2c]
- bl FUN_0201DF2C
- add r5, r0, #0x0
- ldr r0, _0201D654 ; =0x021C5994
- ldr r1, [r4, #0x4]
- ldr r2, [r0, #0x0]
- ldr r0, [r2, #0x1c]
- sub r0, r1, r0
- ldr r1, [r2, #0x2c]
- bl FUN_0201DF2C
- ldr r2, _0201D654 ; =0x021C5994
- add r1, r5, #0x0
- ldr r2, [r2, #0x0]
- ldr r2, [r2, #0x34]
- bl FUN_0201DDFC
-_0201D61E:
- ldr r1, [r4, #0x8]
- mov r0, #0x2
- tst r0, r1
- beq _0201D650
- ldr r1, _0201D654 ; =0x021C5994
- ldr r0, [r4, #0x0]
- ldr r1, [r1, #0x0]
- ldr r1, [r1, #0x30]
- bl FUN_0201DF2C
- add r5, r0, #0x0
- ldr r0, _0201D654 ; =0x021C5994
- ldr r1, [r4, #0x4]
- ldr r2, [r0, #0x0]
- ldr r0, [r2, #0x20]
- sub r0, r1, r0
- ldr r1, [r2, #0x30]
- bl FUN_0201DF2C
- ldr r2, _0201D654 ; =0x021C5994
- add r1, r5, #0x0
- ldr r2, [r2, #0x0]
- ldr r2, [r2, #0x38]
- bl FUN_0201DDFC
-_0201D650:
- pop {r3-r5, pc}
- nop
-_0201D654: .word 0x021C5994
-
- thumb_func_start FUN_0201D658
-FUN_0201D658: ; 0x0201D658
- push {r3, lr}
- ldr r0, _0201D670 ; =0x021C5994
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- bne _0201D666
- bl ErrorHandling
-_0201D666:
- ldr r1, _0201D670 ; =0x021C5994
- mov r2, #0x0
- ldr r0, [r1, #0x0]
- str r2, [r1, #0x0]
- pop {r3, pc}
- .balign 4
-_0201D670: .word 0x021C5994
-
- thumb_func_start FUN_0201D674
-FUN_0201D674: ; 0x0201D674
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, _0201D68C ; =0x021C5994
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- beq _0201D684
- bl ErrorHandling
-_0201D684:
- ldr r0, _0201D68C ; =0x021C5994
- str r4, [r0, #0x0]
- pop {r4, pc}
- nop
-_0201D68C: .word 0x021C5994
-
- thumb_func_start FUN_0201D690
-FUN_0201D690: ; 0x0201D690
- mov r2, #0x0
- str r2, [r0, #0x0]
- str r2, [r0, #0x4]
- strb r2, [r0, #0x8]
- sub r1, r2, #0x1
- str r1, [r0, #0xc]
- str r2, [r0, #0x34]
- add r1, r0, #0x0
- str r2, [r0, #0x38]
- add r1, #0x3c
- strb r2, [r1, #0x0]
- str r2, [r0, #0x40]
- ldr r3, _0201D6B0 ; =FUN_020B1A24
- add r0, #0x10
- bx r3
- nop
-_0201D6B0: .word FUN_020B1A24
-
- thumb_func_start FUN_0201D6B4
-FUN_0201D6B4: ; 0x0201D6B4
- ldr r2, [r0, #0x0]
- str r2, [r1, #0x0]
- ldr r2, [r0, #0x8]
- str r2, [r1, #0xc]
- ldr r2, [r0, #0x4]
- str r2, [r1, #0x4]
- ldr r2, [r1, #0x0]
- ldr r2, [r2, #0xc]
- lsr r2, r2, #0x8
- strb r2, [r1, #0x8]
- ldr r0, [r0, #0xc]
- str r0, [r1, #0x44]
- mov r0, #0x0
- str r0, [r1, #0x48]
- str r0, [r1, #0x4c]
- str r0, [r1, #0x50]
- mov r0, #0x1
- bx lr
-
- thumb_func_start FUN_0201D6D8
-FUN_0201D6D8: ; 0x0201D6D8
- push {r3-r6}
- ldr r2, _0201D720 ; =0x021C5994
- mov r1, #0x0
- ldr r5, [r2, #0x0]
- ldr r4, [r5, #0x4]
- cmp r4, #0x0
- ble _0201D70A
- ldr r2, [r5, #0x0]
- add r3, r1, #0x0
-_0201D6EA:
- add r6, r2, #0x0
- add r6, #0x3c
- ldrb r6, [r6, #0x0]
- cmp r6, #0x0
- beq _0201D6FE
- ldr r6, [r5, #0x0]
- add r6, r6, r3
- add r6, #0x10
- cmp r6, r0
- beq _0201D70A
-_0201D6FE:
- ldr r6, [r5, #0x4]
- add r1, r1, #0x1
- add r2, #0x54
- add r3, #0x54
- cmp r1, r6
- blt _0201D6EA
-_0201D70A:
- cmp r1, r4
- blt _0201D714
- mov r0, #0x0
- pop {r3-r6}
- bx lr
-_0201D714:
- mov r0, #0x54
- ldr r2, [r5, #0x0]
- mul r0, r1
- add r0, r2, r0
- pop {r3-r6}
- bx lr
- .balign 4
-_0201D720: .word 0x021C5994
-
- thumb_func_start FUN_0201D724
-FUN_0201D724: ; 0x0201D724
- push {r3, lr}
- ldrb r1, [r0, #0x8]
- mov r2, #0x1
- cmp r1, #0x0
- beq _0201D736
- mov r1, #0x2
- add r0, #0x3c
- strb r1, [r0, #0x0]
- b _0201D750
-_0201D736:
- add r1, r0, #0x0
- add r1, #0x3c
- strb r2, [r1, #0x0]
- ldr r1, [r0, #0x44]
- cmp r1, #0x0
- bne _0201D74A
- bl FUN_0201D754
- add r2, r0, #0x0
- b _0201D750
-_0201D74A:
- bl FUN_0201D788
- add r2, r0, #0x0
-_0201D750:
- add r0, r2, #0x0
- pop {r3, pc}
-
- thumb_func_start FUN_0201D754
-FUN_0201D754: ; 0x0201D754
- push {r3-r5, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- ldr r0, [r5, #0x0]
- ldr r1, [r5, #0x4]
- ldr r0, [r0, #0x10]
- add r2, sp, #0x4
- add r3, sp, #0x0
- bl FUN_0201DF44
- add r4, r0, #0x0
- beq _0201D780
- ldr r1, [sp, #0x4]
- ldr r2, [sp, #0x0]
- add r0, r5, #0x0
- bl FUN_0201D858
- ldr r0, [r5, #0x0]
- ldr r1, [r5, #0x4]
- ldr r0, [r0, #0x10]
- bl FUN_0201DF94
-_0201D780:
- add r0, r4, #0x0
- add sp, #0x8
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0201D788
-FUN_0201D788: ; 0x0201D788
- push {r4, lr}
- sub sp, #0x18
- add r4, r0, #0x0
- add r0, sp, #0xc
- str r0, [sp, #0x0]
- add r0, sp, #0x8
- str r0, [sp, #0x4]
- ldr r3, [r4, #0x0]
- ldr r0, [r4, #0x4]
- ldr r3, [r3, #0x10]
- add r1, sp, #0x14
- add r2, sp, #0x10
- bl FUN_0201D86C
- cmp r0, #0x0
- bne _0201D7AE
- add sp, #0x18
- mov r0, #0x0
- pop {r4, pc}
-_0201D7AE:
- ldr r1, [sp, #0x14]
- ldr r2, [sp, #0x10]
- add r0, r4, #0x0
- bl FUN_0201D918
- mov r0, #0x1
- str r0, [r4, #0x48]
- ldr r0, [sp, #0xc]
- str r0, [r4, #0x4c]
- ldr r0, [sp, #0x8]
- str r0, [r4, #0x50]
- add r0, r4, #0x0
- bl FUN_0201D9B0
- ldr r0, [sp, #0x8]
- str r0, [sp, #0x0]
- ldr r0, [r4, #0x4]
- ldr r1, [sp, #0x14]
- ldr r2, [sp, #0x10]
- ldr r3, [sp, #0xc]
- bl FUN_0201D948
- mov r0, #0x1
- add sp, #0x18
- pop {r4, pc}
-
- thumb_func_start FUN_0201D7E0
-FUN_0201D7E0: ; 0x0201D7E0
- push {r4, lr}
- add r4, r0, #0x0
- ldr r1, [r4, #0x48]
- cmp r1, #0x0
- beq _0201D7EE
- bl FUN_0201DE4C
-_0201D7EE:
- add r0, r4, #0x0
- bl FUN_0201D690
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0201D7F8
-FUN_0201D7F8: ; 0x0201D7F8
- push {r4-r5}
- ldr r2, _0201D82C ; =0x021C5994
- mov r1, #0x0
- ldr r5, [r2, #0x0]
- ldr r2, [r5, #0x4]
- cmp r2, #0x0
- ble _0201D824
- ldr r2, [r5, #0x0]
- add r4, r2, #0x0
-_0201D80A:
- ldr r3, [r4, #0xc]
- cmp r0, r3
- bne _0201D81A
- mov r0, #0x54
- mul r0, r1
- add r0, r2, r0
- pop {r4-r5}
- bx lr
-_0201D81A:
- ldr r3, [r5, #0x4]
- add r1, r1, #0x1
- add r4, #0x54
- cmp r1, r3
- blt _0201D80A
-_0201D824:
- mov r0, #0x0
- pop {r4-r5}
- bx lr
- nop
-_0201D82C: .word 0x021C5994
-
- thumb_func_start FUN_0201D830
-FUN_0201D830: ; 0x0201D830
- cmp r1, #0x1
- bne _0201D83C
- mov r1, #0x1
- lsl r1, r1, #0x1a
- ldr r2, [r1, #0x0]
- b _0201D840
-_0201D83C:
- ldr r1, _0201D850 ; =0x04001000
- ldr r2, [r1, #0x0]
-_0201D840:
- ldr r1, _0201D854 ; =0x00300010
- and r2, r1
- ldr r1, [r0, #0x0]
- str r2, [r1, #0x8]
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x8]
- bx lr
- nop
-_0201D850: .word 0x04001000
-_0201D854: .word 0x00300010
-
- thumb_func_start FUN_0201D858
-FUN_0201D858: ; 0x0201D858
- push {r3, lr}
- str r1, [r0, #0x34]
- str r2, [r0, #0x38]
- ldrb r1, [r0, #0x8]
- cmp r1, #0x0
- bne _0201D868
- bl FUN_0201D9B0
-_0201D868:
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0201D86C
-FUN_0201D86C: ; 0x0201D86C
- push {r3-r7, lr}
- add r5, r0, #0x0
- ldr r0, [sp, #0x1c]
- add r6, r2, #0x0
- str r0, [sp, #0x1c]
- mov r2, #0x1
- add r0, r5, #0x0
- add r4, r1, #0x0
- str r3, [sp, #0x0]
- ldr r7, [sp, #0x18]
- tst r0, r2
- beq _0201D8C4
- ldr r1, _0201D914 ; =0x021C5994
- add r0, r3, #0x0
- ldr r1, [r1, #0x0]
- ldr r1, [r1, #0x2c]
- bl FUN_0201DF10
- ldr r1, _0201D914 ; =0x021C5994
- str r0, [r7, #0x0]
- ldr r1, [r1, #0x0]
- ldr r1, [r1, #0x2c]
- bl FUN_0201DF2C
- ldr r1, _0201D914 ; =0x021C5994
- ldr r1, [r1, #0x0]
- ldr r1, [r1, #0x34]
- bl FUN_0201DD74
- mov r1, #0x0
- mvn r1, r1
- str r0, [r4, #0x0]
- cmp r0, r1
- bne _0201D8B8
- bl ErrorHandling
- mov r0, #0x0
- pop {r3-r7, pc}
-_0201D8B8:
- ldr r1, _0201D914 ; =0x021C5994
- ldr r1, [r1, #0x0]
- ldr r1, [r1, #0x2c]
- bl FUN_0201DF3C
- str r0, [r4, #0x0]
-_0201D8C4:
- mov r0, #0x2
- tst r0, r5
- beq _0201D90E
- ldr r1, _0201D914 ; =0x021C5994
- ldr r0, [sp, #0x0]
- ldr r1, [r1, #0x0]
- mov r2, #0x1
- ldr r1, [r1, #0x30]
- bl FUN_0201DF10
- ldr r1, [sp, #0x1c]
- str r0, [r1, #0x0]
- ldr r1, _0201D914 ; =0x021C5994
- ldr r1, [r1, #0x0]
- ldr r1, [r1, #0x30]
- bl FUN_0201DF2C
- ldr r1, _0201D914 ; =0x021C5994
- ldr r1, [r1, #0x0]
- ldr r1, [r1, #0x38]
- bl FUN_0201DD74
- mov r1, #0x0
- mvn r1, r1
- str r0, [r6, #0x0]
- cmp r0, r1
- bne _0201D902
- bl ErrorHandling
- mov r0, #0x0
- pop {r3-r7, pc}
-_0201D902:
- ldr r1, _0201D914 ; =0x021C5994
- ldr r1, [r1, #0x0]
- ldr r1, [r1, #0x30]
- bl FUN_0201DF3C
- str r0, [r6, #0x0]
-_0201D90E:
- mov r0, #0x1
- pop {r3-r7, pc}
- nop
-_0201D914: .word 0x021C5994
-
- thumb_func_start FUN_0201D918
-FUN_0201D918: ; 0x0201D918
- push {r3-r4}
- ldr r4, [r0, #0x4]
- mov r3, #0x1
- tst r3, r4
- beq _0201D92C
- ldr r3, _0201D944 ; =0x021C5994
- ldr r3, [r3, #0x0]
- ldr r3, [r3, #0x1c]
- add r1, r1, r3
- str r1, [r0, #0x34]
-_0201D92C:
- ldr r3, [r0, #0x4]
- mov r1, #0x2
- tst r1, r3
- beq _0201D93E
- ldr r1, _0201D944 ; =0x021C5994
- ldr r1, [r1, #0x0]
- ldr r1, [r1, #0x20]
- add r1, r2, r1
- str r1, [r0, #0x38]
-_0201D93E:
- pop {r3-r4}
- bx lr
- nop
-_0201D944: .word 0x021C5994
-
- thumb_func_start FUN_0201D948
-FUN_0201D948: ; 0x0201D948
- push {r3-r7, lr}
- add r5, r0, #0x0
- mov r0, #0x1
- add r4, r1, #0x0
- add r6, r2, #0x0
- tst r0, r5
- beq _0201D97C
- ldr r1, _0201D9AC ; =0x021C5994
- add r0, r3, #0x0
- ldr r1, [r1, #0x0]
- ldr r1, [r1, #0x2c]
- bl FUN_0201DF2C
- ldr r1, _0201D9AC ; =0x021C5994
- add r7, r0, #0x0
- ldr r1, [r1, #0x0]
- add r0, r4, #0x0
- ldr r1, [r1, #0x2c]
- bl FUN_0201DF2C
- ldr r2, _0201D9AC ; =0x021C5994
- add r1, r7, #0x0
- ldr r2, [r2, #0x0]
- ldr r2, [r2, #0x34]
- bl FUN_0201DD18
-_0201D97C:
- mov r0, #0x2
- tst r0, r5
- beq _0201D9A8
- ldr r1, _0201D9AC ; =0x021C5994
- ldr r0, [sp, #0x18]
- ldr r1, [r1, #0x0]
- ldr r1, [r1, #0x30]
- bl FUN_0201DF2C
- ldr r1, _0201D9AC ; =0x021C5994
- add r4, r0, #0x0
- ldr r1, [r1, #0x0]
- add r0, r6, #0x0
- ldr r1, [r1, #0x30]
- bl FUN_0201DF2C
- ldr r2, _0201D9AC ; =0x021C5994
- add r1, r4, #0x0
- ldr r2, [r2, #0x0]
- ldr r2, [r2, #0x38]
- bl FUN_0201DD18
-_0201D9A8:
- pop {r3-r7, pc}
- nop
-_0201D9AC: .word 0x021C5994
-
- thumb_func_start FUN_0201D9B0
-FUN_0201D9B0: ; 0x0201D9B0
- push {r4, lr}
- add r4, r0, #0x0
- add r0, #0x10
- blx FUN_020B1A24
- ldr r1, [r4, #0x4]
- cmp r1, #0x3
- beq _0201D9C8
- add r0, r4, #0x0
- bl FUN_0201D9DC
- pop {r4, pc}
-_0201D9C8:
- add r0, r4, #0x0
- mov r1, #0x1
- bl FUN_0201D9DC
- add r0, r4, #0x0
- mov r1, #0x2
- bl FUN_0201D9DC
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0201D9DC
-FUN_0201D9DC: ; 0x0201D9DC
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r2, [r5, #0x40]
- add r4, r1, #0x0
- cmp r2, #0x0
- beq _0201D9EE
- bl FUN_0201D830
- b _0201D9F0
-_0201D9EE:
- add r0, r4, #0x0
-_0201D9F0:
- cmp r4, #0x1
- bne _0201D9FE
- mov r2, #0x1
- lsl r2, r2, #0x1a
- ldr r1, [r5, #0x34]
- ldr r2, [r2, #0x0]
- b _0201DA04
-_0201D9FE:
- ldr r2, _0201DA34 ; =0x04001000
- ldr r1, [r5, #0x38]
- ldr r2, [r2, #0x0]
-_0201DA04:
- cmp r0, #0x0
- ldr r0, [r5, #0x0]
- bne _0201DA16
- add r5, #0x10
- add r2, r4, #0x0
- add r3, r5, #0x0
- blx FUN_020B1528
- b _0201DA20
-_0201DA16:
- add r5, #0x10
- add r2, r4, #0x0
- add r3, r5, #0x0
- blx FUN_020B1768
-_0201DA20:
- cmp r4, #0x1
- bne _0201DA2C
- mov r0, #0x1
- lsl r0, r0, #0x1a
- ldr r0, [r0, #0x0]
- pop {r3-r5, pc}
-_0201DA2C:
- ldr r0, _0201DA34 ; =0x04001000
- ldr r0, [r0, #0x0]
- pop {r3-r5, pc}
- nop
-_0201DA34: .word 0x04001000
-
- thumb_func_start FUN_0201DA38
-FUN_0201DA38: ; 0x0201DA38
- push {r4, lr}
- add r4, r0, #0x0
- add r0, #0x10
- blx FUN_020B1A24
- ldr r1, [r4, #0x4]
- cmp r1, #0x3
- beq _0201DA50
- add r0, r4, #0x0
- bl FUN_0201DA64
- pop {r4, pc}
-_0201DA50:
- add r0, r4, #0x0
- mov r1, #0x1
- bl FUN_0201DA64
- add r0, r4, #0x0
- mov r1, #0x2
- bl FUN_0201DA64
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0201DA64
-FUN_0201DA64: ; 0x0201DA64
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r2, [r5, #0x40]
- add r4, r1, #0x0
- cmp r2, #0x0
- beq _0201DA74
- bl FUN_0201D830
-_0201DA74:
- cmp r4, #0x1
- bne _0201DA82
- mov r0, #0x1
- lsl r0, r0, #0x1a
- ldr r1, [r5, #0x34]
- ldr r0, [r0, #0x0]
- b _0201DA88
-_0201DA82:
- ldr r0, _0201DAA8 ; =0x04001000
- ldr r1, [r5, #0x38]
- ldr r0, [r0, #0x0]
-_0201DA88:
- ldr r0, [r5, #0x0]
- add r5, #0x10
- add r2, r4, #0x0
- add r3, r5, #0x0
- blx FUN_020B1340
- cmp r4, #0x1
- bne _0201DAA0
- mov r0, #0x1
- lsl r0, r0, #0x1a
- ldr r0, [r0, #0x0]
- pop {r3-r5, pc}
-_0201DAA0:
- ldr r0, _0201DAA8 ; =0x04001000
- ldr r0, [r0, #0x0]
- pop {r3-r5, pc}
- nop
-_0201DAA8: .word 0x04001000
-
- thumb_func_start FUN_0201DAAC
-FUN_0201DAAC: ; 0x0201DAAC
- push {r3-r4}
- ldr r1, _0201DAE4 ; =0x021C5994
- mov r0, #0x0
- ldr r4, [r1, #0x0]
- ldr r1, [r4, #0x4]
- cmp r1, #0x0
- ble _0201DADC
- ldr r1, [r4, #0x0]
- add r3, r1, #0x0
-_0201DABE:
- add r2, r3, #0x0
- add r2, #0x3c
- ldrb r2, [r2, #0x0]
- cmp r2, #0x0
- bne _0201DAD2
- mov r2, #0x54
- mul r2, r0
- add r0, r1, r2
- pop {r3-r4}
- bx lr
-_0201DAD2:
- ldr r2, [r4, #0x4]
- add r0, r0, #0x1
- add r3, #0x54
- cmp r0, r2
- blt _0201DABE
-_0201DADC:
- mov r0, #0x0
- pop {r3-r4}
- bx lr
- nop
-_0201DAE4: .word 0x021C5994
-
- thumb_func_start FUN_0201DAE8
-FUN_0201DAE8: ; 0x0201DAE8
- push {r3, lr}
- blx GX_GetBankForOBJ
- cmp r0, #0x30
- bgt _0201DB18
- bge _0201DB60
- cmp r0, #0x10
- bgt _0201DB12
- bge _0201DB54
- cmp r0, #0x3
- bhi _0201DB90
- add r1, r0, r0
- add r1, pc
- ldrh r1, [r1, #0x6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_0201DB0A: ; jump table (using 16-bit offset)
- .short _0201DB32 - _0201DB0A - 2; case 0
- .short _0201DB78 - _0201DB0A - 2; case 1
- .short _0201DB78 - _0201DB0A - 2; case 2
- .short _0201DB84 - _0201DB0A - 2; case 3
-_0201DB12:
- cmp r0, #0x20
- beq _0201DB3C
- b _0201DB90
-_0201DB18:
- cmp r0, #0x50
- bgt _0201DB24
- bge _0201DB60
- cmp r0, #0x40
- beq _0201DB3C
- b _0201DB90
-_0201DB24:
- cmp r0, #0x60
- bgt _0201DB2C
- beq _0201DB48
- b _0201DB90
-_0201DB2C:
- cmp r0, #0x70
- beq _0201DB6C
- b _0201DB90
-_0201DB32:
- ldr r0, _0201DC38 ; =0x021C5994
- mov r1, #0x0
- ldr r0, [r0, #0x0]
- str r1, [r0, #0x14]
- b _0201DB98
-_0201DB3C:
- ldr r0, _0201DC38 ; =0x021C5994
- mov r1, #0x1
- ldr r0, [r0, #0x0]
- lsl r1, r1, #0xe
- str r1, [r0, #0x14]
- b _0201DB98
-_0201DB48:
- ldr r0, _0201DC38 ; =0x021C5994
- mov r1, #0x2
- ldr r0, [r0, #0x0]
- lsl r1, r1, #0xe
- str r1, [r0, #0x14]
- b _0201DB98
-_0201DB54:
- ldr r0, _0201DC38 ; =0x021C5994
- mov r1, #0x1
- ldr r0, [r0, #0x0]
- lsl r1, r1, #0x10
- str r1, [r0, #0x14]
- b _0201DB98
-_0201DB60:
- ldr r0, _0201DC38 ; =0x021C5994
- mov r1, #0x5
- ldr r0, [r0, #0x0]
- lsl r1, r1, #0xe
- str r1, [r0, #0x14]
- b _0201DB98
-_0201DB6C:
- ldr r0, _0201DC38 ; =0x021C5994
- mov r1, #0x6
- ldr r0, [r0, #0x0]
- lsl r1, r1, #0xe
- str r1, [r0, #0x14]
- b _0201DB98
-_0201DB78:
- ldr r0, _0201DC38 ; =0x021C5994
- mov r1, #0x2
- ldr r0, [r0, #0x0]
- lsl r1, r1, #0x10
- str r1, [r0, #0x14]
- b _0201DB98
-_0201DB84:
- ldr r0, _0201DC38 ; =0x021C5994
- mov r1, #0x1
- ldr r0, [r0, #0x0]
- lsl r1, r1, #0x12
- str r1, [r0, #0x14]
- b _0201DB98
-_0201DB90:
- ldr r0, _0201DC38 ; =0x021C5994
- mov r1, #0x0
- ldr r0, [r0, #0x0]
- str r1, [r0, #0x14]
-_0201DB98:
- blx GX_GetBankForSubOBJ
- cmp r0, #0x0
- beq _0201DBAE
- cmp r0, #0x8
- beq _0201DBC2
- mov r1, #0x1
- lsl r1, r1, #0x8
- cmp r0, r1
- beq _0201DBB8
- b _0201DBCE
-_0201DBAE:
- ldr r0, _0201DC38 ; =0x021C5994
- mov r1, #0x0
- ldr r0, [r0, #0x0]
- str r1, [r0, #0x18]
- b _0201DBD6
-_0201DBB8:
- ldr r0, _0201DC38 ; =0x021C5994
- lsl r1, r1, #0x6
- ldr r0, [r0, #0x0]
- str r1, [r0, #0x18]
- b _0201DBD6
-_0201DBC2:
- ldr r0, _0201DC38 ; =0x021C5994
- mov r1, #0x2
- ldr r0, [r0, #0x0]
- lsl r1, r1, #0x10
- str r1, [r0, #0x18]
- b _0201DBD6
-_0201DBCE:
- ldr r0, _0201DC38 ; =0x021C5994
- mov r1, #0x0
- ldr r0, [r0, #0x0]
- str r1, [r0, #0x18]
-_0201DBD6:
- ldr r0, _0201DC38 ; =0x021C5994
- ldr r1, [r0, #0x0]
- ldr r0, [r1, #0x24]
- ldr r1, [r1, #0x2c]
- bl FUN_0201DF3C
- ldr r1, _0201DC38 ; =0x021C5994
- ldr r3, [r1, #0x0]
- ldr r2, [r3, #0x14]
- sub r0, r2, r0
- str r0, [r3, #0x1c]
- ldr r1, [r1, #0x0]
- ldr r0, [r1, #0x28]
- ldr r1, [r1, #0x30]
- bl FUN_0201DF3C
- ldr r1, _0201DC38 ; =0x021C5994
- ldr r3, [r1, #0x0]
- ldr r2, [r3, #0x18]
- sub r0, r2, r0
- str r0, [r3, #0x20]
- ldr r1, [r1, #0x0]
- mov r2, #0x0
- ldr r0, [r1, #0x1c]
- cmp r0, #0x0
- blt _0201DC12
- ldr r0, [r1, #0x20]
- cmp r0, #0x0
- blt _0201DC12
- mov r2, #0x1
-_0201DC12:
- cmp r2, #0x0
- bne _0201DC1A
- bl ErrorHandling
-_0201DC1A:
- ldr r0, _0201DC38 ; =0x021C5994
- mov r2, #0x0
- ldr r1, [r0, #0x0]
- ldr r0, [r1, #0x1c]
- cmp r0, #0x0
- blt _0201DC2E
- ldr r0, [r1, #0x20]
- cmp r0, #0x0
- blt _0201DC2E
- mov r2, #0x1
-_0201DC2E:
- cmp r2, #0x0
- bne _0201DC36
- bl ErrorHandling
-_0201DC36:
- pop {r3, pc}
- .balign 4
-_0201DC38: .word 0x021C5994
-
- thumb_func_start FUN_0201DC3C
-FUN_0201DC3C: ; 0x0201DC3C
- push {r3, lr}
- ldr r0, _0201DC54 ; =0x021C5994
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x34]
- bl FUN_0201DD00
- ldr r0, _0201DC54 ; =0x021C5994
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x38]
- bl FUN_0201DD00
- pop {r3, pc}
- .balign 4
-_0201DC54: .word 0x021C5994
-
- thumb_func_start FUN_0201DC58
-FUN_0201DC58: ; 0x0201DC58
- push {r4-r6, lr}
- add r5, r0, #0x0
- ldr r0, _0201DCBC ; =0x021C5994
- add r4, r1, #0x0
- ldr r1, [r0, #0x0]
- add r6, r2, #0x0
- str r5, [r1, #0x24]
- ldr r1, [r0, #0x0]
- str r4, [r1, #0x28]
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x34]
- cmp r0, #0x0
- beq _0201DC76
- bl FUN_02016A18
-_0201DC76:
- ldr r0, _0201DCBC ; =0x021C5994
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x38]
- cmp r0, #0x0
- beq _0201DC84
- bl FUN_02016A18
-_0201DC84:
- ldr r0, _0201DCBC ; =0x021C5994
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x24]
- cmp r0, #0x0
- beq _0201DC9C
- add r0, r6, #0x0
- lsr r1, r5, #0x3
- bl FUN_02016998
- ldr r1, _0201DCBC ; =0x021C5994
- ldr r1, [r1, #0x0]
- str r0, [r1, #0x34]
-_0201DC9C:
- ldr r0, _0201DCBC ; =0x021C5994
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x28]
- cmp r0, #0x0
- beq _0201DCB4
- add r0, r6, #0x0
- lsr r1, r4, #0x3
- bl FUN_02016998
- ldr r1, _0201DCBC ; =0x021C5994
- ldr r1, [r1, #0x0]
- str r0, [r1, #0x38]
-_0201DCB4:
- bl FUN_0201DC3C
- pop {r4-r6, pc}
- nop
-_0201DCBC: .word 0x021C5994
-
- thumb_func_start FUN_0201DCC0
-FUN_0201DCC0: ; 0x0201DCC0
- push {r3, lr}
- cmp r0, #0x0
- beq _0201DCE2
- ldr r1, _0201DCE4 ; =0x021C5994
- ldr r2, [r1, #0x0]
- ldr r1, [r2, #0x34]
- cmp r0, r1
- bne _0201DCDA
- mov r1, #0x0
- str r1, [r2, #0x24]
- bl FUN_02016A18
- pop {r3, pc}
-_0201DCDA:
- mov r1, #0x0
- str r1, [r2, #0x28]
- bl FUN_02016A18
-_0201DCE2:
- pop {r3, pc}
- .balign 4
-_0201DCE4: .word 0x021C5994
-
- thumb_func_start FUN_0201DCE8
-FUN_0201DCE8: ; 0x0201DCE8
- ldr r1, _0201DCFC ; =0x021C5994
- ldr r2, [r1, #0x0]
- ldr r1, [r2, #0x34]
- cmp r0, r1
- bne _0201DCF6
- ldr r0, [r2, #0x24]
- bx lr
-_0201DCF6:
- ldr r0, [r2, #0x28]
- bx lr
- nop
-_0201DCFC: .word 0x021C5994
-
- thumb_func_start FUN_0201DD00
-FUN_0201DD00: ; 0x0201DD00
- push {r4, lr}
- add r4, r0, #0x0
- beq _0201DD16
- bl FUN_0201DCE8
- add r2, r0, #0x0
- add r0, r4, #0x0
- mov r1, #0x0
- lsr r2, r2, #0x3
- blx Call_FillMemWithValue
-_0201DD16:
- pop {r4, pc}
-
- thumb_func_start FUN_0201DD18
-FUN_0201DD18: ; 0x0201DD18
- push {r3-r7, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- add r6, r1, #0x0
- add r4, r2, #0x0
- beq _0201DD6E
- add r0, r4, #0x0
- bl FUN_0201DCE8
- add r6, r5, r6
- add r7, r0, #0x0
- cmp r5, r6
- bhs _0201DD6E
-_0201DD32:
- cmp r5, r7
- bhs _0201DD6E
- add r0, r5, #0x0
- add r1, sp, #0x4
- add r2, sp, #0x0
- bl FUN_0201DFE4
- add r0, sp, #0x0
- ldrb r1, [r0, #0x0]
- mov r0, #0x1
- lsl r0, r1
- ldr r1, [sp, #0x4]
- ldrb r1, [r4, r1]
- tst r0, r1
- beq _0201DD54
- bl ErrorHandling
-_0201DD54:
- add r2, sp, #0x0
- ldrb r3, [r2, #0x0]
- ldr r1, [sp, #0x4]
- mov r2, #0x1
- lsl r2, r3
- lsl r2, r2, #0x18
- ldrb r0, [r4, r1]
- lsr r2, r2, #0x18
- add r5, r5, #0x1
- orr r0, r2
- strb r0, [r4, r1]
- cmp r5, r6
- blo _0201DD32
-_0201DD6E:
- add sp, #0x8
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0201DD74
-FUN_0201DD74: ; 0x0201DD74
- push {r3-r7, lr}
- sub sp, #0x10
- add r7, r0, #0x0
- str r1, [sp, #0x0]
- cmp r1, #0x0
- beq _0201DDF2
- add r0, r1, #0x0
- bl FUN_0201DCE8
- mov r6, #0x0
- str r0, [sp, #0x4]
- cmp r0, #0x0
- bls _0201DDF2
-_0201DD8E:
- add r0, r6, #0x0
- add r1, sp, #0xc
- add r2, sp, #0x8
- bl FUN_0201DFE4
- add r0, sp, #0x8
- ldrb r1, [r0, #0x0]
- mov r0, #0x1
- mov r4, #0x0
- lsl r0, r1
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- b _0201DDD0
-_0201DDA8:
- add r5, r6, r4
- add r0, r5, #0x0
- add r1, sp, #0xc
- add r2, sp, #0x8
- bl FUN_0201DFE4
- add r0, sp, #0x8
- ldrb r1, [r0, #0x0]
- mov r0, #0x1
- lsl r0, r1
- lsl r0, r0, #0x18
- ldr r1, [sp, #0x4]
- lsr r0, r0, #0x18
- cmp r5, r1
- blo _0201DDCE
- mov r0, #0x0
- add sp, #0x10
- mvn r0, r0
- pop {r3-r7, pc}
-_0201DDCE:
- add r4, r4, #0x1
-_0201DDD0:
- ldr r2, [sp, #0xc]
- ldr r1, [sp, #0x0]
- ldrb r1, [r1, r2]
- tst r0, r1
- bne _0201DDDE
- cmp r4, r7
- bls _0201DDA8
-_0201DDDE:
- cmp r4, r7
- bls _0201DDE8
- add sp, #0x10
- add r0, r6, #0x0
- pop {r3-r7, pc}
-_0201DDE8:
- add r0, r6, r4
- add r6, r0, #0x1
- ldr r0, [sp, #0x4]
- cmp r6, r0
- blo _0201DD8E
-_0201DDF2:
- mov r0, #0x0
- mvn r0, r0
- add sp, #0x10
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0201DDFC
-FUN_0201DDFC: ; 0x0201DDFC
- push {r3-r7, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- add r4, r2, #0x0
- beq _0201DE46
- add r6, r5, r1
- cmp r5, r6
- bhs _0201DE46
- add r7, sp, #0x0
-_0201DE0E:
- add r0, r5, #0x0
- add r1, sp, #0x4
- add r2, sp, #0x0
- bl FUN_0201DFE4
- ldrb r1, [r7, #0x0]
- mov r0, #0x1
- lsl r0, r1
- ldr r1, [sp, #0x4]
- ldrb r1, [r4, r1]
- tst r0, r1
- bne _0201DE2A
- bl ErrorHandling
-_0201DE2A:
- ldrb r0, [r7, #0x0]
- mov r1, #0x1
- ldr r3, [sp, #0x4]
- lsl r1, r0
- mov r0, #0xff
- eor r0, r1
- lsl r0, r0, #0x18
- ldrb r2, [r4, r3]
- lsr r0, r0, #0x18
- add r5, r5, #0x1
- and r0, r2
- strb r0, [r4, r3]
- cmp r5, r6
- blo _0201DE0E
-_0201DE46:
- add sp, #0x8
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0201DE4C
-FUN_0201DE4C: ; 0x0201DE4C
- push {r3-r5, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x4]
- mov r1, #0x1
- tst r0, r1
- beq _0201DE8A
- add r0, r4, #0x0
- add r0, #0x10
- blx FUN_020B1A14
- ldr r1, _0201DECC ; =0x021C5994
- ldr r2, [r1, #0x0]
- ldr r1, [r2, #0x1c]
- sub r0, r0, r1
- ldr r1, [r2, #0x2c]
- bl FUN_0201DF2C
- ldr r1, _0201DECC ; =0x021C5994
- add r5, r0, #0x0
- ldr r1, [r1, #0x0]
- ldr r0, [r4, #0x4c]
- ldr r1, [r1, #0x2c]
- bl FUN_0201DF2C
- ldr r2, _0201DECC ; =0x021C5994
- add r1, r0, #0x0
- ldr r2, [r2, #0x0]
- add r0, r5, #0x0
- ldr r2, [r2, #0x34]
- bl FUN_0201DDFC
-_0201DE8A:
- ldr r0, [r4, #0x4]
- mov r1, #0x2
- tst r0, r1
- beq _0201DEC4
- add r0, r4, #0x0
- add r0, #0x10
- blx FUN_020B1A14
- ldr r1, _0201DECC ; =0x021C5994
- ldr r2, [r1, #0x0]
- ldr r1, [r2, #0x20]
- sub r0, r0, r1
- ldr r1, [r2, #0x30]
- bl FUN_0201DF2C
- ldr r1, _0201DECC ; =0x021C5994
- add r5, r0, #0x0
- ldr r1, [r1, #0x0]
- ldr r0, [r4, #0x50]
- ldr r1, [r1, #0x30]
- bl FUN_0201DF2C
- ldr r2, _0201DECC ; =0x021C5994
- add r1, r0, #0x0
- ldr r2, [r2, #0x0]
- add r0, r5, #0x0
- ldr r2, [r2, #0x38]
- bl FUN_0201DDFC
-_0201DEC4:
- mov r0, #0x0
- str r0, [r4, #0x48]
- pop {r3-r5, pc}
- nop
-_0201DECC: .word 0x021C5994
-
- thumb_func_start FUN_0201DED0
-FUN_0201DED0: ; 0x0201DED0
- ldr r1, _0201DF04 ; =0x00100010
- cmp r0, r1
- bgt _0201DEDE
- bge _0201DEF4
- cmp r0, #0x10
- beq _0201DEF0
- b _0201DF00
-_0201DEDE:
- ldr r1, _0201DF08 ; =0x00200010
- cmp r0, r1
- bgt _0201DEE8
- beq _0201DEF8
- b _0201DF00
-_0201DEE8:
- ldr r1, _0201DF0C ; =0x00300010
- cmp r0, r1
- beq _0201DEFC
- b _0201DF00
-_0201DEF0:
- mov r0, #0x1
- bx lr
-_0201DEF4:
- mov r0, #0x2
- bx lr
-_0201DEF8:
- mov r0, #0x4
- bx lr
-_0201DEFC:
- mov r0, #0x8
- bx lr
-_0201DF00:
- mov r0, #0x1
- bx lr
- .balign 4
-_0201DF04: .word 0x00100010
-_0201DF08: .word 0x00200010
-_0201DF0C: .word 0x00300010
-
- thumb_func_start FUN_0201DF10
-FUN_0201DF10: ; 0x0201DF10
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- add r6, r2, #0x0
- blx _s32_div_f
- cmp r1, #0x0
- beq _0201DF28
- sub r5, r5, r1
- cmp r6, #0x1
- bne _0201DF28
- add r5, r5, r4
-_0201DF28:
- add r0, r5, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_0201DF2C
-FUN_0201DF2C: ; 0x0201DF2C
- asr r2, r0, #0x4
- lsr r2, r2, #0x1b
- add r2, r0, r2
- ldr r3, _0201DF38 ; =_s32_div_f
- asr r0, r2, #0x5
- bx r3
- .balign 4
-_0201DF38: .word _s32_div_f
-
- thumb_func_start FUN_0201DF3C
-FUN_0201DF3C: ; 0x0201DF3C
- mul r1, r0
- lsl r0, r1, #0x5
- bx lr
- .balign 4
-
- thumb_func_start FUN_0201DF44
-FUN_0201DF44: ; 0x0201DF44
- push {r3-r7, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- add r1, r2, #0x0
- mov r0, #0x1
- add r2, r4, #0x0
- add r7, r3, #0x0
- tst r2, r0
- beq _0201DF6E
- ldr r2, _0201DF90 ; =0x021C5994
- ldr r2, [r2, #0x0]
- ldr r6, [r2, #0xc]
- ldr r2, [r2, #0x1c]
- add r3, r6, r5
- cmp r3, r2
- bls _0201DF6C
- bl ErrorHandling
- mov r0, #0x0
- b _0201DF6E
-_0201DF6C:
- str r6, [r1, #0x0]
-_0201DF6E:
- mov r1, #0x2
- tst r1, r4
- beq _0201DF8C
- ldr r1, _0201DF90 ; =0x021C5994
- ldr r1, [r1, #0x0]
- ldr r3, [r1, #0x10]
- ldr r1, [r1, #0x20]
- add r2, r3, r5
- cmp r2, r1
- bls _0201DF8A
- bl ErrorHandling
- mov r0, #0x0
- pop {r3-r7, pc}
-_0201DF8A:
- str r3, [r7, #0x0]
-_0201DF8C:
- pop {r3-r7, pc}
- nop
-_0201DF90: .word 0x021C5994
-
- thumb_func_start FUN_0201DF94
-FUN_0201DF94: ; 0x0201DF94
- push {r3-r5, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- mov r2, #0x1
- add r0, r4, #0x0
- tst r0, r2
- beq _0201DFBC
- ldr r0, _0201DFE0 ; =0x021C5994
- ldr r3, [r0, #0x0]
- ldr r1, [r3, #0xc]
- add r1, r1, r5
- str r1, [r3, #0xc]
- ldr r1, [r0, #0x0]
- ldr r0, [r1, #0xc]
- ldr r1, [r1, #0x2c]
- bl FUN_0201DF10
- ldr r1, _0201DFE0 ; =0x021C5994
- ldr r1, [r1, #0x0]
- str r0, [r1, #0xc]
-_0201DFBC:
- mov r0, #0x2
- tst r0, r4
- beq _0201DFDE
- ldr r0, _0201DFE0 ; =0x021C5994
- ldr r2, [r0, #0x0]
- ldr r1, [r2, #0x10]
- add r1, r1, r5
- str r1, [r2, #0x10]
- ldr r1, [r0, #0x0]
- mov r2, #0x1
- ldr r0, [r1, #0x10]
- ldr r1, [r1, #0x30]
- bl FUN_0201DF10
- ldr r1, _0201DFE0 ; =0x021C5994
- ldr r1, [r1, #0x0]
- str r0, [r1, #0x10]
-_0201DFDE:
- pop {r3-r5, pc}
- .balign 4
-_0201DFE0: .word 0x021C5994
-
- thumb_func_start FUN_0201DFE4
-FUN_0201DFE4: ; 0x0201DFE4
- asr r3, r0, #0x3
- str r3, [r1, #0x0]
- mov r1, #0x7
- and r0, r1
- strb r0, [r2, #0x0]
- bx lr
-
- thumb_func_start FUN_0201DFF0
-FUN_0201DFF0: ; 0x0201DFF0
- push {r3-r4}
- sub r0, r1, r0
- ldr r4, [sp, #0x8]
- str r0, [r3, #0x0]
- bpl _0201E006
- add r0, r2, r0
- str r0, [r4, #0x0]
- mov r0, #0x0
- str r0, [r3, #0x0]
- pop {r3-r4}
- bx lr
-_0201E006:
- str r2, [r4, #0x0]
- pop {r3-r4}
- bx lr
-
- thumb_func_start FUN_0201E00C
-FUN_0201E00C: ; 0x0201E00C
- push {r3-r7, lr}
- add r6, r0, #0x0
- ldr r0, _0201E064 ; =0x021C5998
- add r4, r1, #0x0
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- bne _0201E060
- add r0, r4, #0x0
- mov r1, #0x28
- bl FUN_02016998
- add r1, r0, #0x0
- ldr r0, _0201E064 ; =0x021C5998
- mov r2, #0x28
- str r1, [r0, #0x0]
- mov r0, #0x0
- blx MIi_CpuClear32
- ldr r0, _0201E064 ; =0x021C5998
- mov r1, #0x30
- ldr r0, [r0, #0x0]
- mul r1, r6
- str r6, [r0, #0x4]
- add r0, r4, #0x0
- bl FUN_02016998
- ldr r7, _0201E064 ; =0x021C5998
- mov r4, #0x0
- ldr r1, [r7, #0x0]
- cmp r6, #0x0
- str r0, [r1, #0x0]
- ble _0201E060
- add r5, r4, #0x0
-_0201E04E:
- ldr r0, [r7, #0x0]
- ldr r0, [r0, #0x0]
- add r0, r0, r5
- bl FUN_0201E2F8
- add r4, r4, #0x1
- add r5, #0x30
- cmp r4, r6
- blt _0201E04E
-_0201E060:
- pop {r3-r7, pc}
- nop
-_0201E064: .word 0x021C5998
-
- thumb_func_start FUN_0201E068
-FUN_0201E068: ; 0x0201E068
- cmp r1, #0x1
- bne _0201E078
- ldr r1, _0201E088 ; =0x021C5998
- ldr r2, [r1, #0x0]
- ldrh r1, [r2, #0x24]
- orr r0, r1
- strh r0, [r2, #0x24]
- bx lr
-_0201E078:
- cmp r1, #0x2
- bne _0201E086
- ldr r1, _0201E088 ; =0x021C5998
- ldr r2, [r1, #0x0]
- ldrh r1, [r2, #0x26]
- orr r0, r1
- strh r0, [r2, #0x26]
-_0201E086:
- bx lr
- .balign 4
-_0201E088: .word 0x021C5998
-
- thumb_func_start FUN_0201E08C
-FUN_0201E08C: ; 0x0201E08C
- push {r3, lr}
- ldr r0, _0201E0B4 ; =0x021C5998
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- beq _0201E0B2
- bl FUN_0201E1F0
- ldr r0, _0201E0B4 ; =0x021C5998
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x0]
- bl FUN_02016A18
- ldr r0, _0201E0B4 ; =0x021C5998
- ldr r0, [r0, #0x0]
- bl FUN_02016A18
- ldr r0, _0201E0B4 ; =0x021C5998
- mov r1, #0x0
- str r1, [r0, #0x0]
-_0201E0B2:
- pop {r3, pc}
- .balign 4
-_0201E0B4: .word 0x021C5998
-
- thumb_func_start FUN_0201E0B8
-FUN_0201E0B8: ; 0x0201E0B8
- bx lr
- .balign 4
-
- thumb_func_start FUN_0201E0BC
-FUN_0201E0BC: ; 0x0201E0BC
- push {r3, lr}
- ldr r0, _0201E0E0 ; =0x021C5998
- mov r2, #0x0
- ldr r1, [r0, #0x0]
- str r2, [r1, #0xc]
- ldr r1, [r0, #0x0]
- str r2, [r1, #0x10]
- ldr r1, [r0, #0x0]
- str r2, [r1, #0x14]
- ldr r0, [r0, #0x0]
- str r2, [r0, #0x18]
- bl FUN_0201E464
- ldr r0, _0201E0E0 ; =0x021C5998
- ldr r0, [r0, #0x0]
- bl FUN_0201E574
- pop {r3, pc}
- .balign 4
-_0201E0E0: .word 0x021C5998
-
- thumb_func_start FUN_0201E0E4
-FUN_0201E0E4: ; 0x0201E0E4
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl FUN_0201E428
- add r4, r0, #0x0
- bne _0201E0F8
- bl ErrorHandling
- mov r0, #0x0
- pop {r3-r5, pc}
-_0201E0F8:
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_0201E2C4
- cmp r0, #0x0
- bne _0201E108
- mov r0, #0x0
- pop {r3-r5, pc}
-_0201E108:
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_0201E314
- cmp r0, #0x0
- bne _0201E11E
- ldr r0, [r5, #0xc]
- bl FUN_0201E1C8
- mov r0, #0x0
- pop {r3-r5, pc}
-_0201E11E:
- add r0, r4, #0x0
- bl FUN_0201E57C
- mov r0, #0x1
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0201E128
-FUN_0201E128: ; 0x0201E128
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl FUN_0201E428
- add r4, r0, #0x0
- bne _0201E13C
- bl ErrorHandling
- mov r0, #0x0
- pop {r3-r5, pc}
-_0201E13C:
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_0201E2C4
- cmp r0, #0x0
- bne _0201E14C
- mov r0, #0x0
- pop {r3-r5, pc}
-_0201E14C:
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_0201E36C
- cmp r0, #0x0
- bne _0201E162
- ldr r0, [r5, #0xc]
- bl FUN_0201E1C8
- mov r0, #0x0
- pop {r3-r5, pc}
-_0201E162:
- mov r0, #0x1
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0201E168
-FUN_0201E168: ; 0x0201E168
- push {r3-r5, lr}
- add r4, r0, #0x0
- add r5, r1, #0x0
- bne _0201E174
- bl ErrorHandling
-_0201E174:
- add r0, r4, #0x0
- bl FUN_0201E3F0
- add r4, r0, #0x0
- bne _0201E182
- bl ErrorHandling
-_0201E182:
- str r5, [r4, #0x0]
- ldr r1, [r4, #0x4]
- mov r0, #0x1
- tst r0, r1
- beq _0201E19A
- ldr r3, [r4, #0x8]
- ldr r1, [r4, #0x24]
- ldr r2, [r5, #0xc]
- mov r0, #0xe
- lsl r3, r3, #0x5
- bl FUN_0201C2C8
-_0201E19A:
- ldr r1, [r4, #0x4]
- mov r0, #0x2
- tst r0, r1
- beq _0201E1B0
- ldr r3, [r4, #0x8]
- ldr r1, [r4, #0x28]
- ldr r2, [r5, #0xc]
- mov r0, #0x1e
- lsl r3, r3, #0x5
- bl FUN_0201C2C8
-_0201E1B0:
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0201E1B4
-FUN_0201E1B4: ; 0x0201E1B4
- push {r3, lr}
- bl FUN_0201E3F0
- cmp r0, #0x0
- beq _0201E1C2
- mov r0, #0x1
- pop {r3, pc}
-_0201E1C2:
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0201E1C8
-FUN_0201E1C8: ; 0x0201E1C8
- push {r4, lr}
- bl FUN_0201E3F0
- add r4, r0, #0x0
- bne _0201E1D6
- bl ErrorHandling
-_0201E1D6:
- add r0, r4, #0x0
- add r0, #0x2c
- ldrb r0, [r0, #0x0]
- cmp r0, #0x1
- bne _0201E1EC
- add r0, r4, #0x0
- bl FUN_0201E5B8
- add r0, r4, #0x0
- bl FUN_0201E2BC
-_0201E1EC:
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0201E1F0
-FUN_0201E1F0: ; 0x0201E1F0
- push {r4-r6, lr}
- ldr r6, _0201E22C ; =0x021C5998
- mov r4, #0x0
- ldr r1, [r6, #0x0]
- ldr r0, [r1, #0x4]
- cmp r0, #0x0
- ble _0201E228
- add r5, r4, #0x0
-_0201E200:
- ldr r1, [r1, #0x0]
- add r0, r1, r5
- add r0, #0x2c
- ldrb r0, [r0, #0x0]
- cmp r0, #0x1
- bne _0201E21C
- add r0, r1, r5
- bl FUN_0201E5B8
- ldr r0, [r6, #0x0]
- ldr r0, [r0, #0x0]
- add r0, r0, r5
- bl FUN_0201E2BC
-_0201E21C:
- ldr r1, [r6, #0x0]
- add r4, r4, #0x1
- ldr r0, [r1, #0x4]
- add r5, #0x30
- cmp r4, r0
- blt _0201E200
-_0201E228:
- pop {r4-r6, pc}
- nop
-_0201E22C: .word 0x021C5998
-
- thumb_func_start FUN_0201E230
-FUN_0201E230: ; 0x0201E230
- push {r3, lr}
- bl FUN_0201E3F0
- cmp r0, #0x0
- bne _0201E244
- bne _0201E240
- bl ErrorHandling
-_0201E240:
- mov r0, #0x0
- pop {r3, pc}
-_0201E244:
- add r1, r0, #0x0
- add r1, #0x2c
- ldrb r1, [r1, #0x0]
- cmp r1, #0x1
- bne _0201E252
- add r0, #0x10
- pop {r3, pc}
-_0201E252:
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0201E258
-FUN_0201E258: ; 0x0201E258
- push {r4, lr}
- add r4, r1, #0x0
- bl FUN_0201E3F0
- cmp r0, #0x0
- bne _0201E26E
- bne _0201E26A
- bl ErrorHandling
-_0201E26A:
- mov r0, #0x0
- pop {r4, pc}
-_0201E26E:
- add r1, r0, #0x0
- add r1, #0x2c
- ldrb r1, [r1, #0x0]
- cmp r1, #0x1
- beq _0201E27C
- mov r0, #0x0
- pop {r4, pc}
-_0201E27C:
- ldr r1, [r0, #0x0]
- ldr r1, [r1, #0x4]
- cmp r1, #0x0
- beq _0201E288
- mov r1, #0x1
- str r1, [r4, #0x18]
-_0201E288:
- add r0, #0x10
- pop {r4, pc}
-
- thumb_func_start FUN_0201E28C
-FUN_0201E28C: ; 0x0201E28C
- push {r4, lr}
- ldr r2, [r0, #0x4]
- cmp r2, #0x0
- beq _0201E29A
- mov r4, #0x2
- lsl r4, r4, #0x8
- b _0201E2A6
-_0201E29A:
- ldr r2, [r0, #0x0]
- cmp r2, #0x4
- bne _0201E2A4
- mov r4, #0x0
- b _0201E2A6
-_0201E2A4:
- mov r4, #0x20
-_0201E2A6:
- cmp r4, #0x0
- beq _0201E2B6
- blx FUN_020B19C4
- add r1, r4, #0x0
- blx _u32_div_f
- pop {r4, pc}
-_0201E2B6:
- mov r0, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0201E2BC
-FUN_0201E2BC: ; 0x0201E2BC
- ldr r3, _0201E2C0 ; =FUN_0201E2F8
- bx r3
- .balign 4
-_0201E2C0: .word FUN_0201E2F8
-
- thumb_func_start FUN_0201E2C4
-FUN_0201E2C4: ; 0x0201E2C4
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0x0]
- add r4, r1, #0x0
- str r0, [r4, #0x0]
- ldr r0, [r5, #0xc]
- bl FUN_0201E1B4
- cmp r0, #0x1
- bne _0201E2E0
- bl ErrorHandling
- mov r0, #0x0
- pop {r3-r5, pc}
-_0201E2E0:
- ldr r0, [r5, #0xc]
- add r1, r4, #0x0
- str r0, [r4, #0xc]
- ldr r0, [r5, #0x4]
- add r1, #0x2c
- str r0, [r4, #0x4]
- mov r0, #0x1
- strb r0, [r1, #0x0]
- ldr r1, [r5, #0x8]
- str r1, [r4, #0x8]
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0201E2F8
-FUN_0201E2F8: ; 0x0201E2F8
- push {r4, lr}
- mov r1, #0x0
- mov r2, #0x30
- add r4, r0, #0x0
- blx Call_FillMemWithValue
- mov r0, #0x0
- mvn r0, r0
- str r0, [r4, #0xc]
- add r4, #0x10
- add r0, r4, #0x0
- blx FUN_020B19DC
- pop {r4, pc}
-
- thumb_func_start FUN_0201E314
-FUN_0201E314: ; 0x0201E314
- push {r3-r6, lr}
- sub sp, #0x4
- add r6, r1, #0x0
- ldr r0, [r6, #0x0]
- ldr r0, [r0, #0x4]
- cmp r0, #0x0
- beq _0201E334
- ldr r0, _0201E368 ; =0x021C5998
- ldr r0, [r0, #0x0]
- add r4, r0, #0x0
- add r5, r0, #0x0
- ldr r3, [r0, #0x1c]
- add r4, #0x14
- add r5, #0x18
- ldr r0, [r0, #0x20]
- b _0201E344
-_0201E334:
- ldr r0, _0201E368 ; =0x021C5998
- mov r3, #0x2
- ldr r5, [r0, #0x0]
- lsl r3, r3, #0x8
- add r4, r5, #0x0
- add r4, #0xc
- add r5, #0x10
- add r0, r3, #0x0
-_0201E344:
- str r0, [sp, #0x0]
- ldr r1, [r4, #0x0]
- ldr r2, [r5, #0x0]
- add r0, r6, #0x0
- bl FUN_0201E5F4
- add r0, r6, #0x0
- bl FUN_0201E4AC
- add r0, r6, #0x0
- add r1, r4, #0x0
- add r2, r5, #0x0
- bl FUN_0201E640
- mov r0, #0x1
- add sp, #0x4
- pop {r3-r6, pc}
- nop
-_0201E368: .word 0x021C5998
-
- thumb_func_start FUN_0201E36C
-FUN_0201E36C: ; 0x0201E36C
- push {r4-r6, lr}
- add r5, r1, #0x0
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0x4]
- cmp r0, #0x0
- beq _0201E37C
- bl ErrorHandling
-_0201E37C:
- ldr r1, [r5, #0x4]
- mov r0, #0x1
- tst r0, r1
- beq _0201E39E
- ldr r0, _0201E3EC ; =0x021C5998
- ldr r1, [r5, #0x8]
- ldr r0, [r0, #0x0]
- ldrh r0, [r0, #0x24]
- bl FUN_0201E534
- add r6, r0, #0x0
- mov r0, #0x0
- mvn r0, r0
- cmp r6, r0
- bne _0201E39E
- mov r0, #0x0
- pop {r4-r6, pc}
-_0201E39E:
- ldr r1, [r5, #0x4]
- mov r0, #0x2
- tst r0, r1
- beq _0201E3C0
- ldr r0, _0201E3EC ; =0x021C5998
- ldr r1, [r5, #0x8]
- ldr r0, [r0, #0x0]
- ldrh r0, [r0, #0x26]
- bl FUN_0201E534
- add r4, r0, #0x0
- mov r0, #0x0
- mvn r0, r0
- cmp r4, r0
- bne _0201E3C0
- mov r0, #0x0
- pop {r4-r6, pc}
-_0201E3C0:
- ldr r1, [r5, #0x4]
- mov r0, #0x1
- tst r0, r1
- beq _0201E3CA
- str r6, [r5, #0x24]
-_0201E3CA:
- ldr r1, [r5, #0x4]
- mov r0, #0x2
- tst r0, r1
- beq _0201E3D4
- str r4, [r5, #0x28]
-_0201E3D4:
- ldr r0, [r5, #0x8]
- lsl r1, r0, #0x5
- ldr r0, [r5, #0x0]
- str r1, [r0, #0x8]
- add r0, r5, #0x0
- bl FUN_0201E4BC
- add r0, r5, #0x0
- bl FUN_0201E57C
- mov r0, #0x1
- pop {r4-r6, pc}
- .balign 4
-_0201E3EC: .word 0x021C5998
-
- thumb_func_start FUN_0201E3F0
-FUN_0201E3F0: ; 0x0201E3F0
- push {r4-r5}
- ldr r2, _0201E424 ; =0x021C5998
- mov r1, #0x0
- ldr r5, [r2, #0x0]
- ldr r2, [r5, #0x4]
- cmp r2, #0x0
- ble _0201E41C
- ldr r2, [r5, #0x0]
- add r4, r2, #0x0
-_0201E402:
- ldr r3, [r4, #0xc]
- cmp r0, r3
- bne _0201E412
- mov r0, #0x30
- mul r0, r1
- add r0, r2, r0
- pop {r4-r5}
- bx lr
-_0201E412:
- ldr r3, [r5, #0x4]
- add r1, r1, #0x1
- add r4, #0x30
- cmp r1, r3
- blt _0201E402
-_0201E41C:
- mov r0, #0x0
- pop {r4-r5}
- bx lr
- nop
-_0201E424: .word 0x021C5998
-
- thumb_func_start FUN_0201E428
-FUN_0201E428: ; 0x0201E428
- push {r3-r4}
- ldr r1, _0201E460 ; =0x021C5998
- mov r0, #0x0
- ldr r4, [r1, #0x0]
- ldr r1, [r4, #0x4]
- cmp r1, #0x0
- ble _0201E458
- ldr r1, [r4, #0x0]
- add r3, r1, #0x0
-_0201E43A:
- add r2, r3, #0x0
- add r2, #0x2c
- ldrb r2, [r2, #0x0]
- cmp r2, #0x0
- bne _0201E44E
- mov r2, #0x30
- mul r2, r0
- add r0, r1, r2
- pop {r3-r4}
- bx lr
-_0201E44E:
- ldr r2, [r4, #0x4]
- add r0, r0, #0x1
- add r3, #0x30
- cmp r0, r2
- blt _0201E43A
-_0201E458:
- mov r0, #0x0
- pop {r3-r4}
- bx lr
- nop
-_0201E460: .word 0x021C5998
-
- thumb_func_start FUN_0201E464
-FUN_0201E464: ; 0x0201E464
- push {r3, lr}
- blx GX_GetBankForOBJExtPltt
- cmp r0, #0x20
- beq _0201E472
- cmp r0, #0x40
- bne _0201E47E
-_0201E472:
- ldr r0, _0201E4A8 ; =0x021C5998
- mov r1, #0x2
- ldr r0, [r0, #0x0]
- lsl r1, r1, #0xc
- str r1, [r0, #0x1c]
- b _0201E486
-_0201E47E:
- ldr r0, _0201E4A8 ; =0x021C5998
- mov r1, #0x0
- ldr r0, [r0, #0x0]
- str r1, [r0, #0x1c]
-_0201E486:
- blx GX_GetBankForSubOBJExtPltt
- mov r1, #0x1
- lsl r1, r1, #0x8
- cmp r0, r1
- bne _0201E49C
- ldr r0, _0201E4A8 ; =0x021C5998
- lsl r1, r1, #0x5
- ldr r0, [r0, #0x0]
- str r1, [r0, #0x20]
- pop {r3, pc}
-_0201E49C:
- ldr r0, _0201E4A8 ; =0x021C5998
- mov r1, #0x0
- ldr r0, [r0, #0x0]
- str r1, [r0, #0x20]
- pop {r3, pc}
- nop
-_0201E4A8: .word 0x021C5998
-
- thumb_func_start FUN_0201E4AC
-FUN_0201E4AC: ; 0x0201E4AC
- ldr r1, [r0, #0x8]
- ldr r3, _0201E4B8 ; =FUN_0201E4BC
- lsl r2, r1, #0x5
- ldr r1, [r0, #0x0]
- str r2, [r1, #0x8]
- bx r3
- .balign 4
-_0201E4B8: .word FUN_0201E4BC
-
- thumb_func_start FUN_0201E4BC
-FUN_0201E4BC: ; 0x0201E4BC
- push {r4, lr}
- add r4, r0, #0x0
- add r0, #0x10
- blx FUN_020B19DC
- ldr r0, [r4, #0x4]
- mov r2, #0x1
- tst r0, r2
- beq _0201E4DA
- add r3, r4, #0x0
- ldr r0, [r4, #0x0]
- ldr r1, [r4, #0x24]
- add r3, #0x10
- blx FUN_020B1240
-_0201E4DA:
- ldr r0, [r4, #0x4]
- mov r2, #0x2
- tst r0, r2
- beq _0201E4EE
- ldr r0, [r4, #0x0]
- ldr r1, [r4, #0x28]
- add r4, #0x10
- add r3, r4, #0x0
- blx FUN_020B1240
-_0201E4EE:
- pop {r4, pc}
-
- thumb_func_start FUN_0201E4F0
-FUN_0201E4F0: ; 0x0201E4F0
- push {r4-r7}
- mov r3, #0x0
- cmp r1, #0x0
- ble _0201E50E
- mov r5, #0x1
-_0201E4FA:
- ldrh r7, [r0, #0x0]
- add r4, r2, r3
- add r6, r5, #0x0
- lsl r6, r4
- add r4, r7, #0x0
- orr r4, r6
- add r3, r3, #0x1
- strh r4, [r0, #0x0]
- cmp r3, r1
- blt _0201E4FA
-_0201E50E:
- pop {r4-r7}
- bx lr
- .balign 4
-
- thumb_func_start FUN_0201E514
-FUN_0201E514: ; 0x0201E514
- push {r4-r7}
- mov r4, #0x0
- cmp r1, #0x0
- ble _0201E530
- mov r6, #0x1
-_0201E51E:
- add r5, r2, r4
- add r7, r6, #0x0
- ldrh r3, [r0, #0x0]
- lsl r7, r5
- bic r3, r7
- add r4, r4, #0x1
- strh r3, [r0, #0x0]
- cmp r4, r1
- blt _0201E51E
-_0201E530:
- pop {r4-r7}
- bx lr
-
- thumb_func_start FUN_0201E534
-FUN_0201E534: ; 0x0201E534
- push {r4-r7}
- mov r3, #0x0
- mov r6, #0x1
- add r2, r3, #0x0
-_0201E53C:
- add r4, r2, #0x0
- b _0201E546
-_0201E540:
- cmp r5, #0x10
- bge _0201E554
- add r4, r4, #0x1
-_0201E546:
- add r5, r3, r4
- add r7, r6, #0x0
- lsl r7, r5
- tst r7, r0
- bne _0201E554
- cmp r4, r1
- blt _0201E540
-_0201E554:
- cmp r4, r1
- bge _0201E560
- add r3, r3, r4
- add r3, r3, #0x1
- cmp r3, #0x10
- blt _0201E53C
-_0201E560:
- cmp r3, #0x10
- blt _0201E56C
- mov r0, #0x0
- mvn r0, r0
- pop {r4-r7}
- bx lr
-_0201E56C:
- lsl r0, r3, #0x5
- pop {r4-r7}
- bx lr
- .balign 4
-
- thumb_func_start FUN_0201E574
-FUN_0201E574: ; 0x0201E574
- mov r1, #0x0
- strh r1, [r0, #0x24]
- strh r1, [r0, #0x26]
- bx lr
-
- thumb_func_start FUN_0201E57C
-FUN_0201E57C: ; 0x0201E57C
- push {r4, lr}
- add r4, r0, #0x0
- ldr r1, [r4, #0x4]
- mov r0, #0x1
- tst r0, r1
- beq _0201E598
- ldr r0, _0201E5B4 ; =0x021C5998
- ldr r2, [r4, #0x24]
- ldr r0, [r0, #0x0]
- ldr r1, [r4, #0x8]
- add r0, #0x24
- lsr r2, r2, #0x5
- bl FUN_0201E4F0
-_0201E598:
- ldr r1, [r4, #0x4]
- mov r0, #0x2
- tst r0, r1
- beq _0201E5B0
- ldr r0, _0201E5B4 ; =0x021C5998
- ldr r2, [r4, #0x28]
- ldr r0, [r0, #0x0]
- ldr r1, [r4, #0x8]
- add r0, #0x26
- lsr r2, r2, #0x5
- bl FUN_0201E4F0
-_0201E5B0:
- pop {r4, pc}
- nop
-_0201E5B4: .word 0x021C5998
-
- thumb_func_start FUN_0201E5B8
-FUN_0201E5B8: ; 0x0201E5B8
- push {r4, lr}
- add r4, r0, #0x0
- ldr r1, [r4, #0x4]
- mov r0, #0x1
- tst r0, r1
- beq _0201E5D4
- ldr r0, _0201E5F0 ; =0x021C5998
- ldr r2, [r4, #0x24]
- ldr r0, [r0, #0x0]
- ldr r1, [r4, #0x8]
- add r0, #0x24
- lsr r2, r2, #0x5
- bl FUN_0201E514
-_0201E5D4:
- ldr r1, [r4, #0x4]
- mov r0, #0x2
- tst r0, r1
- beq _0201E5EC
- ldr r0, _0201E5F0 ; =0x021C5998
- ldr r2, [r4, #0x28]
- ldr r0, [r0, #0x0]
- ldr r1, [r4, #0x8]
- add r0, #0x26
- lsr r2, r2, #0x5
- bl FUN_0201E514
-_0201E5EC:
- pop {r4, pc}
- nop
-_0201E5F0: .word 0x021C5998
-
- thumb_func_start FUN_0201E5F4
-FUN_0201E5F4: ; 0x0201E5F4
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r2, #0x0
- ldr r2, [r5, #0x4]
- mov r0, #0x1
- tst r2, r0
- beq _0201E61A
- ldr r2, [r5, #0x8]
- lsl r2, r2, #0x5
- add r2, r1, r2
- cmp r2, r3
- bls _0201E618
- bl ErrorHandling
- bl FUN_0201E0B8
- mov r0, #0x0
- b _0201E61A
-_0201E618:
- str r1, [r5, #0x24]
-_0201E61A:
- ldr r2, [r5, #0x4]
- mov r1, #0x2
- tst r1, r2
- beq _0201E63C
- ldr r1, [r5, #0x8]
- lsl r1, r1, #0x5
- add r2, r4, r1
- ldr r1, [sp, #0x10]
- cmp r2, r1
- bls _0201E63A
- bl ErrorHandling
- bl FUN_0201E0B8
- mov r0, #0x0
- pop {r3-r5, pc}
-_0201E63A:
- str r4, [r5, #0x28]
-_0201E63C:
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0201E640
-FUN_0201E640: ; 0x0201E640
- push {r3-r4}
- ldr r4, [r0, #0x4]
- mov r3, #0x1
- tst r3, r4
- beq _0201E654
- ldr r3, [r0, #0x8]
- ldr r4, [r1, #0x0]
- lsl r3, r3, #0x5
- add r3, r4, r3
- str r3, [r1, #0x0]
-_0201E654:
- ldr r3, [r0, #0x4]
- mov r1, #0x2
- tst r1, r3
- beq _0201E666
- ldr r0, [r0, #0x8]
- ldr r1, [r2, #0x0]
- lsl r0, r0, #0x5
- add r0, r1, r0
- str r0, [r2, #0x0]
-_0201E666:
- pop {r3-r4}
- bx lr
- .balign 4
-
- thumb_func_start FUN_0201E66C
-FUN_0201E66C: ; 0x0201E66C
- push {r4, lr}
- add r4, r0, #0x0
- blx GX_ResetBankForBG
- blx GX_ResetBankForBGExtPltt
- blx GX_ResetBankForSubBG
- blx FUN_020C6034
- blx GX_ResetBankForOBJ
- blx GX_ResetBankForOBJExtPltt
- blx FUN_020C605C
- blx GX_ResetBankForSubOBJ
- blx GX_ResetBankForTex
- blx GX_ResetBankForTexPltt
- ldr r0, [r4, #0x0]
- blx GX_SetBankForBG
- ldr r0, [r4, #0x4]
- blx GX_SetBankForBGExtPltt
- ldr r0, [r4, #0x8]
- blx GX_SetBankForSubBG
- ldr r0, [r4, #0xc]
- blx GX_SetBankForSubBGExtPltt
- ldr r0, [r4, #0x10]
- blx GX_SetBankForOBJ
- ldr r0, [r4, #0x14]
- blx GX_SetBankForOBJExtPltt
- ldr r0, [r4, #0x18]
- blx GX_SetBankForSubOBJ
- ldr r0, [r4, #0x1c]
- blx GX_SetBankForSubOBJExtPltt
- ldr r0, [r4, #0x20]
- blx GX_SetBankForTex
- ldr r0, [r4, #0x24]
- blx GX_SetBankForTexPltt
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0201E6D8
-FUN_0201E6D8: ; 0x0201E6D8
- ldr r0, _0201E6E0 ; =0x021C599C
- mov r1, #0x0
- str r1, [r0, #0x4]
- bx lr
- .balign 4
-_0201E6E0: .word 0x021C599C
-
- thumb_func_start FUN_0201E6E4
-FUN_0201E6E4: ; 0x0201E6E4
- cmp r1, #0x1
- bne _0201E6F2
- ldr r1, _0201E718 ; =0x021C599C
- ldr r1, [r1, #0x4]
- tst r1, r0
- beq _0201E6FA
- bx lr
-_0201E6F2:
- ldr r1, _0201E718 ; =0x021C599C
- ldr r1, [r1, #0x4]
- tst r1, r0
- beq _0201E714
-_0201E6FA:
- ldr r1, _0201E718 ; =0x021C599C
- ldr r2, [r1, #0x4]
- add r3, r2, #0x0
- eor r3, r0
- mov r2, #0x1
- lsl r2, r2, #0x1a
- str r3, [r1, #0x4]
- ldr r1, [r2, #0x0]
- ldr r0, _0201E71C ; =0xFFFFE0FF
- and r1, r0
- lsl r0, r3, #0x8
- orr r0, r1
- str r0, [r2, #0x0]
-_0201E714:
- bx lr
- nop
-_0201E718: .word 0x021C599C
-_0201E71C: .word 0xFFFFE0FF
-
- thumb_func_start FUN_0201E720
-FUN_0201E720: ; 0x0201E720
- ldr r1, _0201E738 ; =0x021C599C
- mov r3, #0x1
- str r0, [r1, #0x4]
- lsl r3, r3, #0x1a
- ldr r2, [r3, #0x0]
- ldr r1, _0201E73C ; =0xFFFFE0FF
- lsl r0, r0, #0x8
- and r1, r2
- orr r0, r1
- str r0, [r3, #0x0]
- bx lr
- nop
-_0201E738: .word 0x021C599C
-_0201E73C: .word 0xFFFFE0FF
-
- thumb_func_start FUN_0201E740
-FUN_0201E740: ; 0x0201E740
- ldr r0, _0201E748 ; =0x021C599C
- mov r1, #0x0
- str r1, [r0, #0x0]
- bx lr
- .balign 4
-_0201E748: .word 0x021C599C
-
- thumb_func_start FUN_0201E74C
-FUN_0201E74C: ; 0x0201E74C
- cmp r1, #0x1
- bne _0201E75A
- ldr r1, _0201E77C ; =0x021C599C
- ldr r1, [r1, #0x0]
- tst r1, r0
- beq _0201E762
- bx lr
-_0201E75A:
- ldr r1, _0201E77C ; =0x021C599C
- ldr r1, [r1, #0x0]
- tst r1, r0
- beq _0201E77A
-_0201E762:
- ldr r1, _0201E77C ; =0x021C599C
- ldr r2, [r1, #0x0]
- add r3, r2, #0x0
- eor r3, r0
- ldr r2, _0201E780 ; =0x04001000
- str r3, [r1, #0x0]
- ldr r1, [r2, #0x0]
- ldr r0, _0201E784 ; =0xFFFFE0FF
- and r1, r0
- lsl r0, r3, #0x8
- orr r0, r1
- str r0, [r2, #0x0]
-_0201E77A:
- bx lr
- .balign 4
-_0201E77C: .word 0x021C599C
-_0201E780: .word 0x04001000
-_0201E784: .word 0xFFFFE0FF
-
- thumb_func_start FUN_0201E788
-FUN_0201E788: ; 0x0201E788
- push {r3, lr}
- blx GX_DispOn
- ldr r2, _0201E79C ; =0x04001000
- mov r0, #0x1
- ldr r1, [r2, #0x0]
- lsl r0, r0, #0x10
- orr r0, r1
- str r0, [r2, #0x0]
- pop {r3, pc}
- .balign 4
-_0201E79C: .word 0x04001000
-
- thumb_func_start FUN_0201E7A0
-FUN_0201E7A0: ; 0x0201E7A0
- ldr r0, _0201E7C0 ; =0x021C4918
- ldr r2, _0201E7C4 ; =0x04000304
- ldrb r0, [r0, #0x5]
- cmp r0, #0x0
- bne _0201E7B4
- ldrh r1, [r2, #0x0]
- lsr r0, r2, #0xb
- orr r0, r1
- strh r0, [r2, #0x0]
- bx lr
-_0201E7B4:
- ldrh r1, [r2, #0x0]
- ldr r0, _0201E7C8 ; =0xFFFF7FFF
- and r0, r1
- strh r0, [r2, #0x0]
- bx lr
- nop
-_0201E7C0: .word 0x021C4918
-_0201E7C4: .word 0x04000304
-_0201E7C8: .word 0xFFFF7FFF
-
- thumb_func_start FUN_0201E7CC
-FUN_0201E7CC: ; 0x0201E7CC
- ldr r0, _0201E7D4 ; =0x021C599C
- ldr r0, [r0, #0x4]
- bx lr
- nop
-_0201E7D4: .word 0x021C599C
-
- thumb_func_start FUN_0201E7D8
-FUN_0201E7D8: ; 0x0201E7D8
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldrh r0, [r5, #0x3e]
- ldr r2, [r5, #0x38]
- ldrh r4, [r5, #0x3c]
- asr r0, r0, #0x4
- lsl r1, r0, #0x2
- ldr r0, _0201E8B4 ; =0x020FFA38
- asr r3, r2, #0x1f
- ldrsh r0, [r0, r1]
- asr r1, r0, #0x1f
- blx _ll_mul
- mov r2, #0x2
- mov r3, #0x0
- lsl r2, r2, #0xa
- add r0, r0, r2
- adc r1, r3
- asr r2, r4, #0x4
- lsl r2, r2, #0x1
- add r2, r2, #0x1
- lsl r3, r2, #0x1
- ldr r2, _0201E8B4 ; =0x020FFA38
- lsl r1, r1, #0x14
- ldrsh r2, [r2, r3]
- lsr r0, r0, #0xc
- orr r0, r1
- asr r1, r0, #0x1f
- asr r3, r2, #0x1f
- blx _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, [r5, #0x14]
- ldrh r0, [r5, #0x3e]
- ldr r2, [r5, #0x38]
- asr r0, r0, #0x4
- lsl r0, r0, #0x1
- add r0, r0, #0x1
- lsl r1, r0, #0x1
- ldr r0, _0201E8B4 ; =0x020FFA38
- asr r3, r2, #0x1f
- ldrsh r0, [r0, r1]
- asr r1, r0, #0x1f
- blx _ll_mul
- mov r2, #0x2
- lsl r2, r2, #0xa
- mov r3, #0x0
- add r0, r0, r2
- adc r1, r3
- ldrh r2, [r5, #0x3c]
- lsl r1, r1, #0x14
- lsr r0, r0, #0xc
- asr r2, r2, #0x4
- lsl r2, r2, #0x1
- add r2, r2, #0x1
- lsl r3, r2, #0x1
- ldr r2, _0201E8B4 ; =0x020FFA38
- orr r0, r1
- ldrsh r2, [r2, r3]
- asr r1, r0, #0x1f
- asr r3, r2, #0x1f
- blx _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
- neg r0, r4
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- str r1, [r5, #0x1c]
- asr r0, r0, #0x4
- lsl r1, r0, #0x2
- ldr r0, _0201E8B4 ; =0x020FFA38
- ldr r2, [r5, #0x38]
- ldrsh r0, [r0, r1]
- asr r3, r2, #0x1f
- asr r1, r0, #0x1f
- blx _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
- add r0, r5, #0x0
- str r1, [r5, #0x18]
- add r0, #0x14
- add r5, #0x20
- add r1, r5, #0x0
- add r2, r0, #0x0
- blx VEC_Add
- pop {r3-r5, pc}
- nop
-_0201E8B4: .word 0x020FFA38
-
- thumb_func_start FUN_0201E8B8
-FUN_0201E8B8: ; 0x0201E8B8
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldrh r0, [r5, #0x3e]
- ldr r2, [r5, #0x38]
- ldrh r4, [r5, #0x3c]
- asr r0, r0, #0x4
- lsl r1, r0, #0x2
- ldr r0, _0201E998 ; =0x020FFA38
- asr r3, r2, #0x1f
- ldrsh r0, [r0, r1]
- asr r1, r0, #0x1f
- blx _ll_mul
- mov r2, #0x2
- mov r3, #0x0
- lsl r2, r2, #0xa
- add r0, r0, r2
- adc r1, r3
- asr r2, r4, #0x4
- lsl r2, r2, #0x1
- add r2, r2, #0x1
- lsl r3, r2, #0x1
- ldr r2, _0201E998 ; =0x020FFA38
- lsl r1, r1, #0x14
- ldrsh r2, [r2, r3]
- lsr r0, r0, #0xc
- orr r0, r1
- asr r1, r0, #0x1f
- asr r3, r2, #0x1f
- blx _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
- neg r0, r1
- str r0, [r5, #0x20]
- ldrh r0, [r5, #0x3e]
- ldr r2, [r5, #0x38]
- asr r0, r0, #0x4
- lsl r0, r0, #0x1
- add r0, r0, #0x1
- lsl r1, r0, #0x1
- ldr r0, _0201E998 ; =0x020FFA38
- asr r3, r2, #0x1f
- ldrsh r0, [r0, r1]
- asr r1, r0, #0x1f
- blx _ll_mul
- mov r2, #0x2
- lsl r2, r2, #0xa
- mov r3, #0x0
- add r0, r0, r2
- adc r1, r3
- ldrh r2, [r5, #0x3c]
- lsl r1, r1, #0x14
- lsr r0, r0, #0xc
- asr r2, r2, #0x4
- lsl r2, r2, #0x1
- add r2, r2, #0x1
- lsl r3, r2, #0x1
- ldr r2, _0201E998 ; =0x020FFA38
- orr r0, r1
- ldrsh r2, [r2, r3]
- asr r1, r0, #0x1f
- asr r3, r2, #0x1f
- blx _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
- neg r0, r1
- str r0, [r5, #0x28]
- neg r0, r4
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- asr r0, r0, #0x4
- lsl r1, r0, #0x2
- ldr r0, _0201E998 ; =0x020FFA38
- ldr r2, [r5, #0x38]
- ldrsh r0, [r0, r1]
- asr r3, r2, #0x1f
- asr r1, r0, #0x1f
- blx _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
- neg r0, r1
- str r0, [r5, #0x24]
- add r0, r5, #0x0
- add r0, #0x20
- add r5, #0x14
- add r1, r5, #0x0
- add r2, r0, #0x0
- blx VEC_Add
- pop {r3-r5, pc}
- .balign 4
-_0201E998: .word 0x020FFA38
-
- thumb_func_start FUN_0201E99C
-FUN_0201E99C: ; 0x0201E99C
- add r2, r1, #0x0
- add r2, #0x46
- strh r0, [r2, #0x0]
- asr r0, r0, #0x4
- lsl r3, r0, #0x1
- ldr r2, _0201E9E0 ; =0x020FFA38
- lsl r0, r3, #0x1
- ldrsh r0, [r2, r0]
- str r0, [r1, #0x0]
- add r0, r3, #0x1
- lsl r0, r0, #0x1
- ldrsh r0, [r2, r0]
- mov r2, #0x0
- str r0, [r1, #0x4]
- ldr r0, _0201E9E4 ; =0x00001555
- str r0, [r1, #0x8]
- mov r0, #0x96
- lsl r0, r0, #0xc
- str r0, [r1, #0xc]
- mov r0, #0xe1
- lsl r0, r0, #0xe
- str r0, [r1, #0x10]
- mov r0, #0x1
- str r2, [r1, #0x2c]
- lsl r0, r0, #0xc
- str r0, [r1, #0x30]
- str r2, [r1, #0x34]
- str r2, [r1, #0x54]
- str r2, [r1, #0x58]
- str r2, [r1, #0x5c]
- str r2, [r1, #0x60]
- str r2, [r1, #0x64]
- bx lr
- nop
-_0201E9E0: .word 0x020FFA38
-_0201E9E4: .word 0x00001555
-
- thumb_func_start FUN_0201E9E8
-FUN_0201E9E8: ; 0x0201E9E8
- ldr r2, [r0, #0x58]
- cmp r2, #0x0
- bne _0201E9F2
- mov r2, #0x0
- str r2, [r1, #0x0]
-_0201E9F2:
- ldr r2, [r0, #0x5c]
- cmp r2, #0x0
- bne _0201E9FC
- mov r2, #0x0
- str r2, [r1, #0x4]
-_0201E9FC:
- ldr r0, [r0, #0x60]
- cmp r0, #0x0
- bne _0201EA06
- mov r0, #0x0
- str r0, [r1, #0x8]
-_0201EA06:
- bx lr
-
- thumb_func_start FUN_0201EA08
-FUN_0201EA08: ; 0x0201EA08
- push {r3-r7, lr}
- add r5, r0, #0x0
- ldr r7, [r5, #0x64]
- add r4, r1, #0x0
- add r6, r2, #0x0
- cmp r7, #0x0
- bne _0201EA20
- ldmia r4!, {r0-r1}
- stmia r6!, {r0-r1}
- ldr r0, [r4, #0x0]
- str r0, [r6, #0x0]
- pop {r3-r7, pc}
-_0201EA20:
- add r0, r7, #0x0
- str r0, [sp, #0x0]
- add r0, #0x8
- str r0, [sp, #0x0]
- ldr r0, [r7, #0x10]
- cmp r0, #0x0
- bne _0201EA48
- add r3, r4, #0x0
- ldmia r3!, {r0-r1}
- stmia r2!, {r0-r1}
- ldr r0, [r3, #0x0]
- str r0, [r2, #0x0]
- ldr r0, [r5, #0x64]
- ldr r2, [r7, #0x4]
- ldr r1, [r0, #0xc]
- cmp r2, r1
- bne _0201EA5C
- mov r1, #0x1
- str r1, [r0, #0x10]
- b _0201EA5C
-_0201EA48:
- ldr r2, [r7, #0x4]
- mov r1, #0xc
- mul r1, r2
- ldr r0, [r7, #0x20]
- add r2, r6, #0x0
- add r3, r0, r1
- ldmia r3!, {r0-r1}
- stmia r2!, {r0-r1}
- ldr r0, [r3, #0x0]
- str r0, [r2, #0x0]
-_0201EA5C:
- ldr r1, [r5, #0x64]
- ldr r0, [r7, #0x4]
- ldr r1, [r1, #0x0]
- add r0, r0, #0x1
- blx _s32_div_f
- str r1, [r7, #0x4]
- ldr r1, [sp, #0x0]
- ldr r0, [r5, #0x64]
- ldr r2, [r1, #0x0]
- mov r1, #0xc
- ldr r0, [r0, #0x20]
- mul r1, r2
- add r3, r4, #0x0
- add r2, r0, r1
- ldmia r3!, {r0-r1}
- stmia r2!, {r0-r1}
- ldr r0, [r3, #0x0]
- str r0, [r2, #0x0]
- ldr r0, [sp, #0x0]
- ldr r1, [r5, #0x64]
- ldr r0, [r0, #0x0]
- ldr r1, [r1, #0x0]
- add r0, r0, #0x1
- blx _s32_div_f
- ldr r0, [sp, #0x0]
- str r1, [r0, #0x0]
- ldr r0, [r5, #0x64]
- ldr r0, [r0, #0x14]
- cmp r0, #0x0
- bne _0201EAA0
- ldr r0, [r4, #0x0]
- str r0, [r6, #0x0]
-_0201EAA0:
- ldr r0, [r5, #0x64]
- ldr r0, [r0, #0x18]
- cmp r0, #0x0
- bne _0201EAAC
- ldr r0, [r4, #0x4]
- str r0, [r6, #0x4]
-_0201EAAC:
- ldr r0, [r5, #0x64]
- ldr r0, [r0, #0x1c]
- cmp r0, #0x0
- bne _0201EAB8
- ldr r0, [r4, #0x8]
- str r0, [r6, #0x8]
-_0201EAB8:
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0201EABC
-FUN_0201EABC: ; 0x0201EABC
- push {r3-r7, lr}
- add r5, r0, #0x0
- ldr r0, [sp, #0x18]
- add r7, r1, #0x0
- str r0, [sp, #0x18]
- ldr r0, [r0, #0x54]
- add r6, r2, #0x0
- str r3, [sp, #0x0]
- cmp r0, #0x0
- beq _0201EB46
- add r0, r7, #0x1
- cmp r0, r5
- ble _0201EADA
- bl ErrorHandling
-_0201EADA:
- ldr r0, [sp, #0x0]
- mov r1, #0x24
- bl FUN_02016998
- add r4, r0, #0x0
- mov r1, #0xc
- ldr r0, [sp, #0x0]
- mul r1, r5
- bl FUN_02016998
- mov r1, #0x0
- str r0, [r4, #0x20]
- cmp r5, #0x0
- ble _0201EB12
- add r2, r1, #0x0
- add r0, r1, #0x0
-_0201EAFA:
- ldr r3, [r4, #0x20]
- add r1, r1, #0x1
- str r0, [r3, r2]
- ldr r3, [r4, #0x20]
- add r3, r3, r2
- str r0, [r3, #0x4]
- ldr r3, [r4, #0x20]
- add r3, r3, r2
- str r0, [r3, #0x8]
- add r2, #0xc
- cmp r1, r5
- blt _0201EAFA
-_0201EB12:
- str r5, [r4, #0x0]
- mov r0, #0x0
- str r0, [r4, #0x4]
- str r7, [r4, #0x8]
- str r7, [r4, #0xc]
- str r0, [r4, #0x10]
- str r0, [r4, #0x14]
- str r0, [r4, #0x18]
- str r0, [r4, #0x1c]
- mov r0, #0x1
- add r1, r6, #0x0
- tst r1, r0
- beq _0201EB2E
- str r0, [r4, #0x14]
-_0201EB2E:
- mov r0, #0x2
- tst r0, r6
- beq _0201EB38
- mov r0, #0x1
- str r0, [r4, #0x18]
-_0201EB38:
- mov r0, #0x4
- tst r0, r6
- beq _0201EB42
- mov r0, #0x1
- str r0, [r4, #0x1c]
-_0201EB42:
- ldr r0, [sp, #0x18]
- str r4, [r0, #0x64]
-_0201EB46:
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0201EB48
-FUN_0201EB48: ; 0x0201EB48
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x64]
- cmp r0, #0x0
- beq _0201EB62
- ldr r0, [r0, #0x20]
- bl FUN_02016A18
- ldr r0, [r4, #0x64]
- bl FUN_02016A18
- mov r0, #0x0
- str r0, [r4, #0x64]
-_0201EB62:
- pop {r4, pc}
-
- thumb_func_start FUN_0201EB64
-FUN_0201EB64: ; 0x0201EB64
- ldr r3, _0201EB6C ; =FUN_02016998
- mov r1, #0x68
- bx r3
- nop
-_0201EB6C: .word FUN_02016998
-
- thumb_func_start FUN_0201EB70
-FUN_0201EB70: ; 0x0201EB70
- ldr r3, _0201EB74 ; =FUN_02016A18
- bx r3
- .balign 4
-_0201EB74: .word FUN_02016A18
-
- thumb_func_start FUN_0201EB78
-FUN_0201EB78: ; 0x0201EB78
- push {r3-r4}
- add r4, r0, #0x0
- add r3, r1, #0x0
- mov r2, #0xd
-_0201EB80:
- ldmia r4!, {r0-r1}
- stmia r3!, {r0-r1}
- sub r2, r2, #0x1
- bne _0201EB80
- pop {r3-r4}
- bx lr
-
- thumb_func_start FUN_0201EB8C
-FUN_0201EB8C: ; 0x0201EB8C
- ldr r1, _0201EB94 ; =0x021C59A4
- str r0, [r1, #0x0]
- bx lr
- nop
-_0201EB94: .word 0x021C59A4
-
- thumb_func_start FUN_0201EB98
-FUN_0201EB98: ; 0x0201EB98
- ldr r0, _0201EBA0 ; =0x021C59A4
- mov r1, #0x0
- str r1, [r0, #0x0]
- bx lr
- .balign 4
-_0201EBA0: .word 0x021C59A4
-
- thumb_func_start FUN_0201EBA4
-FUN_0201EBA4: ; 0x0201EBA4
- push {r3-r6, lr}
- sub sp, #0x1c
- ldr r0, _0201EC40 ; =0x021C59A4
- ldr r1, [r0, #0x0]
- cmp r1, #0x0
- beq _0201EC3A
- ldr r0, [r1, #0x54]
- cmp r0, #0x0
- beq _0201EBEE
- add r1, #0x48
- add r2, sp, #0x10
- blx VEC_Subtract
- ldr r0, _0201EC40 ; =0x021C59A4
- add r1, sp, #0x10
- ldr r0, [r0, #0x0]
- bl FUN_0201E9E8
- ldr r0, _0201EC40 ; =0x021C59A4
- add r1, sp, #0x10
- ldr r0, [r0, #0x0]
- add r2, sp, #0x4
- bl FUN_0201EA08
- ldr r1, _0201EC40 ; =0x021C59A4
- add r0, sp, #0x4
- ldr r1, [r1, #0x0]
- bl FUN_0201EF70
- ldr r0, _0201EC40 ; =0x021C59A4
- ldr r3, [r0, #0x0]
- ldr r2, [r3, #0x54]
- add r3, #0x48
- ldmia r2!, {r0-r1}
- stmia r3!, {r0-r1}
- ldr r0, [r2, #0x0]
- str r0, [r3, #0x0]
-_0201EBEE:
- ldr r0, _0201EC40 ; =0x021C59A4
- ldr r5, _0201EC44 ; =0x021CEF58
- ldr r4, [r0, #0x0]
- add r3, r4, #0x0
- add r2, r4, #0x0
- add r4, #0x14
- add r6, r4, #0x0
- ldmia r6!, {r0-r1}
- stmia r5!, {r0-r1}
- ldr r0, [r6, #0x0]
- add r2, #0x2c
- str r0, [r5, #0x0]
- add r6, r2, #0x0
- ldr r5, _0201EC48 ; =0x021CEF64
- ldmia r6!, {r0-r1}
- stmia r5!, {r0-r1}
- ldr r0, [r6, #0x0]
- add r3, #0x20
- str r0, [r5, #0x0]
- add r6, r3, #0x0
- ldr r5, _0201EC4C ; =0x021CEF70
- ldmia r6!, {r0-r1}
- stmia r5!, {r0-r1}
- ldr r0, [r6, #0x0]
- add r1, r2, #0x0
- str r0, [r5, #0x0]
- ldr r0, _0201EC50 ; =0x021CED64
- add r2, r3, #0x0
- str r0, [sp, #0x0]
- add r0, r4, #0x0
- mov r3, #0x0
- blx G3i_LookAt_
- ldr r1, _0201EC54 ; =0x021CED98
- mov r0, #0xe8
- ldr r2, [r1, #0x7c]
- bic r2, r0
- str r2, [r1, #0x7c]
-_0201EC3A:
- add sp, #0x1c
- pop {r3-r6, pc}
- nop
-_0201EC40: .word 0x021C59A4
-_0201EC44: .word 0x021CEF58
-_0201EC48: .word 0x021CEF64
-_0201EC4C: .word 0x021CEF70
-_0201EC50: .word 0x021CED64
-_0201EC54: .word 0x021CED98
-
- thumb_func_start FUN_0201EC58
-FUN_0201EC58: ; 0x0201EC58
- add r3, r0, #0x0
- add r2, r1, #0x0
- ldmia r3!, {r0-r1}
- add r2, #0x2c
- stmia r2!, {r0-r1}
- ldr r0, [r3, #0x0]
- str r0, [r2, #0x0]
- bx lr
-
- thumb_func_start FUN_0201EC68
-FUN_0201EC68: ; 0x0201EC68
- push {r3-r4}
- add r3, r1, #0x0
- add r4, r0, #0x0
- str r4, [r3, #0x54]
- add r2, r3, #0x0
- ldmia r4!, {r0-r1}
- add r2, #0x48
- stmia r2!, {r0-r1}
- ldr r0, [r4, #0x0]
- str r0, [r2, #0x0]
- mov r0, #0x1
- str r0, [r3, #0x58]
- str r0, [r3, #0x5c]
- str r0, [r3, #0x60]
- pop {r3-r4}
- bx lr
-
- thumb_func_start FUN_0201EC88
-FUN_0201EC88: ; 0x0201EC88
- mov r1, #0x0
- str r1, [r0, #0x54]
- str r1, [r0, #0x58]
- str r1, [r0, #0x5c]
- str r1, [r0, #0x60]
- bx lr
-
- thumb_func_start FUN_0201EC94
-FUN_0201EC94: ; 0x0201EC94
- str r0, [r2, #0xc]
- add r0, r2, #0x0
- str r1, [r2, #0x10]
- add r0, #0x44
- ldr r3, _0201ECA4 ; =FUN_0201EE2C
- ldrb r0, [r0, #0x0]
- add r1, r2, #0x0
- bx r3
- .balign 4
-_0201ECA4: .word FUN_0201EE2C
-
- thumb_func_start FUN_0201ECA8
-FUN_0201ECA8: ; 0x0201ECA8
- push {r3-r7, lr}
- ldr r4, [sp, #0x20]
- add r5, r0, #0x0
- add r7, r1, #0x0
- add r0, r3, #0x0
- add r1, r4, #0x0
- add r6, r2, #0x0
- bl FUN_0201E99C
- add r3, r5, #0x0
- add r2, r4, #0x0
- ldmia r3!, {r0-r1}
- add r2, #0x20
- stmia r2!, {r0-r1}
- ldr r0, [r3, #0x0]
- str r0, [r2, #0x0]
- str r7, [r4, #0x38]
- ldrh r0, [r6, #0x0]
- strh r0, [r4, #0x3c]
- ldrh r0, [r6, #0x2]
- strh r0, [r4, #0x3e]
- add r0, r4, #0x0
- ldrh r1, [r6, #0x4]
- add r0, #0x40
- strh r1, [r0, #0x0]
- add r0, r4, #0x0
- ldrh r1, [r6, #0x6]
- add r0, #0x42
- strh r1, [r0, #0x0]
- add r0, r4, #0x0
- bl FUN_0201E7D8
- add r0, sp, #0x8
- ldrb r0, [r0, #0x10]
- add r1, r4, #0x0
- bl FUN_0201EE2C
- ldr r0, [sp, #0x1c]
- cmp r0, #0x0
- beq _0201ED0E
- str r5, [r4, #0x54]
- add r2, r4, #0x0
- ldmia r5!, {r0-r1}
- add r2, #0x48
- stmia r2!, {r0-r1}
- ldr r0, [r5, #0x0]
- str r0, [r2, #0x0]
- mov r0, #0x1
- str r0, [r4, #0x58]
- str r0, [r4, #0x5c]
- str r0, [r4, #0x60]
-_0201ED0E:
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0201ED10
-FUN_0201ED10: ; 0x0201ED10
- push {r3-r7, lr}
- ldr r4, [sp, #0x1c]
- add r6, r0, #0x0
- add r7, r1, #0x0
- add r0, r3, #0x0
- add r1, r4, #0x0
- add r5, r2, #0x0
- bl FUN_0201E99C
- add r2, r4, #0x0
- ldmia r6!, {r0-r1}
- add r2, #0x14
- stmia r2!, {r0-r1}
- ldr r0, [r6, #0x0]
- str r0, [r2, #0x0]
- str r7, [r4, #0x38]
- ldrh r0, [r5, #0x0]
- strh r0, [r4, #0x3c]
- ldrh r0, [r5, #0x2]
- strh r0, [r4, #0x3e]
- add r0, r4, #0x0
- ldrh r1, [r5, #0x4]
- add r0, #0x40
- strh r1, [r0, #0x0]
- add r0, r4, #0x0
- ldrh r1, [r5, #0x6]
- add r0, #0x42
- strh r1, [r0, #0x0]
- add r0, r4, #0x0
- bl FUN_0201E8B8
- add r0, sp, #0x8
- ldrb r0, [r0, #0x10]
- add r1, r4, #0x0
- bl FUN_0201EE2C
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0201ED5C
-FUN_0201ED5C: ; 0x0201ED5C
- push {r4-r7, lr}
- sub sp, #0x3c
- ldr r4, [sp, #0x54]
- add r5, r0, #0x0
- add r6, r1, #0x0
- add r0, r2, #0x0
- add r1, r4, #0x0
- add r7, r3, #0x0
- bl FUN_0201E99C
- add r3, r5, #0x0
- add r2, r4, #0x0
- ldmia r3!, {r0-r1}
- add r2, #0x20
- stmia r2!, {r0-r1}
- ldr r0, [r3, #0x0]
- add r3, r6, #0x0
- str r0, [r2, #0x0]
- add r2, r4, #0x0
- ldmia r3!, {r0-r1}
- add r2, #0x14
- stmia r2!, {r0-r1}
- ldr r0, [r3, #0x0]
- add r1, r5, #0x0
- str r0, [r2, #0x0]
- add r0, r6, #0x0
- add r2, sp, #0x30
- blx VEC_Subtract
- add r0, sp, #0x30
- blx VEC_Mag
- str r0, [r4, #0x38]
- mov r6, #0x0
- add r0, sp, #0x24
- str r6, [r0, #0x0]
- str r6, [r0, #0x4]
- str r6, [r0, #0x8]
- add r0, sp, #0x18
- str r6, [r0, #0x0]
- str r6, [r0, #0x4]
- str r6, [r0, #0x8]
- add r0, sp, #0xc
- str r6, [r0, #0x0]
- str r6, [r0, #0x4]
- str r6, [r0, #0x8]
- mov r0, #0x1
- lsl r0, r0, #0xc
- add r3, sp, #0x30
- str r0, [sp, #0x8]
- ldmia r3!, {r0-r1}
- add r2, sp, #0xc
- stmia r2!, {r0-r1}
- ldr r0, [r3, #0x0]
- str r6, [sp, #0x0]
- str r0, [r2, #0x0]
- str r6, [sp, #0x4]
- str r6, [sp, #0x10]
- add r0, sp, #0x0
- add r1, sp, #0xc
- bl FUN_0201C7B0
- strh r0, [r4, #0x3e]
- add r1, r6, #0x0
- mov r0, #0x1
- lsl r0, r0, #0xc
- str r0, [sp, #0x0]
- ldr r0, [sp, #0x38]
- str r1, [sp, #0x4]
- str r0, [sp, #0xc]
- ldr r0, [sp, #0x34]
- str r1, [sp, #0x8]
- str r0, [sp, #0x14]
- str r1, [sp, #0x10]
- add r0, sp, #0x0
- add r1, sp, #0xc
- bl FUN_0201C7B0
- strh r0, [r4, #0x3c]
- add r0, r4, #0x0
- add r1, r6, #0x0
- add r0, #0x40
- strh r1, [r0, #0x0]
- add r0, r7, #0x0
- add r1, r4, #0x0
- bl FUN_0201EE2C
- ldr r0, [sp, #0x50]
- cmp r0, #0x0
- beq _0201EE26
- str r5, [r4, #0x54]
- add r2, r4, #0x0
- ldmia r5!, {r0-r1}
- add r2, #0x48
- stmia r2!, {r0-r1}
- ldr r0, [r5, #0x0]
- str r0, [r2, #0x0]
- mov r0, #0x1
- str r0, [r4, #0x58]
- str r0, [r4, #0x5c]
- str r0, [r4, #0x60]
-_0201EE26:
- add sp, #0x3c
- pop {r4-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0201EE2C
-FUN_0201EE2C: ; 0x0201EE2C
- push {r3-r6, lr}
- sub sp, #0x14
- add r5, r1, #0x0
- cmp r0, #0x0
- bne _0201EE6C
- ldr r0, [r5, #0x10]
- str r0, [sp, #0x0]
- mov r0, #0x1
- lsl r0, r0, #0xc
- str r0, [sp, #0x4]
- mov r0, #0x0
- str r0, [sp, #0x8]
- ldr r0, _0201EEE4 ; =0x021CED20
- str r0, [sp, #0xc]
- ldr r0, [r5, #0x0]
- ldr r1, [r5, #0x4]
- ldr r2, [r5, #0x8]
- ldr r3, [r5, #0xc]
- blx G3i_PerspectiveW_
- ldr r1, _0201EEE8 ; =0x021CED98
- mov r0, #0x50
- ldr r2, [r1, #0x7c]
- add r5, #0x44
- bic r2, r0
- str r2, [r1, #0x7c]
- mov r1, #0x0
- ldr r0, _0201EEEC ; =0x02105BB8
- strb r1, [r5, #0x0]
- str r1, [r0, #0x0]
- add sp, #0x14
- pop {r3-r6, pc}
-_0201EE6C:
- ldr r4, [r5, #0x38]
- ldr r0, [r5, #0x0]
- ldr r1, [r5, #0x4]
- blx FX_Div
- asr r1, r0, #0x1f
- asr r3, r4, #0x1f
- add r2, r4, #0x0
- blx _ll_mul
- mov r2, #0x2
- mov r3, #0x0
- lsl r2, r2, #0xa
- add r2, r0, r2
- adc r1, r3
- lsr r4, r2, #0xc
- lsl r0, r1, #0x14
- orr r4, r0
- ldr r2, [r5, #0x8]
- asr r1, r4, #0x1f
- add r0, r4, #0x0
- asr r3, r2, #0x1f
- blx _ll_mul
- mov r6, #0x2
- mov r2, #0x0
- lsl r6, r6, #0xa
- add r3, r0, r6
- adc r1, r2
- lsl r0, r1, #0x14
- lsr r3, r3, #0xc
- orr r3, r0
- ldr r0, [r5, #0xc]
- neg r1, r4
- str r0, [sp, #0x0]
- ldr r0, [r5, #0x10]
- str r0, [sp, #0x4]
- lsl r0, r6, #0x1
- str r0, [sp, #0x8]
- str r2, [sp, #0xc]
- ldr r0, _0201EEE4 ; =0x021CED20
- neg r2, r3
- str r0, [sp, #0x10]
- add r0, r4, #0x0
- blx G3i_OrthoW_
- ldr r1, _0201EEE8 ; =0x021CED98
- mov r0, #0x50
- ldr r2, [r1, #0x7c]
- add r5, #0x44
- bic r2, r0
- str r2, [r1, #0x7c]
- mov r0, #0x1
- strb r0, [r5, #0x0]
- ldr r0, _0201EEEC ; =0x02105BB8
- mov r1, #0x0
- str r1, [r0, #0x0]
- add sp, #0x14
- pop {r3-r6, pc}
- nop
-_0201EEE4: .word 0x021CED20
-_0201EEE8: .word 0x021CED98
-_0201EEEC: .word 0x02105BB8
-
- thumb_func_start FUN_0201EEF0
-FUN_0201EEF0: ; 0x0201EEF0
- add r2, r1, #0x0
- add r2, #0x46
- strh r0, [r2, #0x0]
- add r0, r1, #0x0
- add r0, #0x46
- ldrh r0, [r0, #0x0]
- ldr r3, _0201EF24 ; =FUN_0201EE2C
- asr r0, r0, #0x4
- lsl r2, r0, #0x2
- ldr r0, _0201EF28 ; =0x020FFA38
- ldrsh r2, [r0, r2]
- str r2, [r1, #0x0]
- add r2, r1, #0x0
- add r2, #0x46
- ldrh r2, [r2, #0x0]
- asr r2, r2, #0x4
- lsl r2, r2, #0x1
- add r2, r2, #0x1
- lsl r2, r2, #0x1
- ldrsh r0, [r0, r2]
- str r0, [r1, #0x4]
- add r0, r1, #0x0
- add r0, #0x44
- ldrb r0, [r0, #0x0]
- bx r3
- nop
-_0201EF24: .word FUN_0201EE2C
-_0201EF28: .word 0x020FFA38
-
- thumb_func_start FUN_0201EF2C
-FUN_0201EF2C: ; 0x0201EF2C
- add r2, r1, #0x0
- add r2, #0x46
- ldrh r2, [r2, #0x0]
- ldr r3, _0201EF68 ; =FUN_0201EE2C
- add r2, r2, r0
- add r0, r1, #0x0
- add r0, #0x46
- strh r2, [r0, #0x0]
- add r0, r1, #0x0
- add r0, #0x46
- ldrh r0, [r0, #0x0]
- asr r0, r0, #0x4
- lsl r2, r0, #0x2
- ldr r0, _0201EF6C ; =0x020FFA38
- ldrsh r2, [r0, r2]
- str r2, [r1, #0x0]
- add r2, r1, #0x0
- add r2, #0x46
- ldrh r2, [r2, #0x0]
- asr r2, r2, #0x4
- lsl r2, r2, #0x1
- add r2, r2, #0x1
- lsl r2, r2, #0x1
- ldrsh r0, [r0, r2]
- str r0, [r1, #0x4]
- add r0, r1, #0x0
- add r0, #0x44
- ldrb r0, [r0, #0x0]
- bx r3
- nop
-_0201EF68: .word FUN_0201EE2C
-_0201EF6C: .word 0x020FFA38
-
- thumb_func_start FUN_0201EF70
-FUN_0201EF70: ; 0x0201EF70
- push {r3-r5, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x14
- add r1, r5, #0x0
- add r2, r0, #0x0
- blx VEC_Add
- add r4, #0x20
- add r0, r4, #0x0
- add r1, r5, #0x0
- add r2, r4, #0x0
- blx VEC_Add
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0201EF90
-FUN_0201EF90: ; 0x0201EF90
- ldrh r2, [r0, #0x0]
- strh r2, [r1, #0x3c]
- ldrh r2, [r0, #0x2]
- strh r2, [r1, #0x3e]
- add r2, r1, #0x0
- ldrh r3, [r0, #0x4]
- add r2, #0x40
- strh r3, [r2, #0x0]
- ldrh r2, [r0, #0x6]
- add r0, r1, #0x0
- add r0, #0x42
- strh r2, [r0, #0x0]
- ldr r3, _0201EFB0 ; =FUN_0201E7D8
- add r0, r1, #0x0
- bx r3
- nop
-_0201EFB0: .word FUN_0201E7D8
-
- thumb_func_start FUN_0201EFB4
-FUN_0201EFB4: ; 0x0201EFB4
- ldrh r3, [r1, #0x3c]
- ldrh r2, [r0, #0x0]
- add r2, r3, r2
- strh r2, [r1, #0x3c]
- ldrh r3, [r1, #0x3e]
- ldrh r2, [r0, #0x2]
- add r2, r3, r2
- strh r2, [r1, #0x3e]
- add r2, r1, #0x0
- add r2, #0x40
- ldrh r2, [r2, #0x0]
- ldrh r0, [r0, #0x4]
- ldr r3, _0201EFDC ; =FUN_0201E8B8
- add r2, r2, r0
- add r0, r1, #0x0
- add r0, #0x40
- strh r2, [r0, #0x0]
- add r0, r1, #0x0
- bx r3
- nop
-_0201EFDC: .word FUN_0201E8B8
-
- thumb_func_start FUN_0201EFE0
-FUN_0201EFE0: ; 0x0201EFE0
- ldr r3, _0201EFE8 ; =FUN_0201E7D8
- str r0, [r1, #0x38]
- add r0, r1, #0x0
- bx r3
- .balign 4
-_0201EFE8: .word FUN_0201E7D8
-
- thumb_func_start FUN_0201EFEC
-FUN_0201EFEC: ; 0x0201EFEC
- push {r4, lr}
- add r3, r1, #0x0
- add r4, r0, #0x0
- add r2, r3, #0x0
- ldmia r4!, {r0-r1}
- add r2, #0x20
- stmia r2!, {r0-r1}
- ldr r0, [r4, #0x0]
- str r0, [r2, #0x0]
- add r0, r3, #0x0
- bl FUN_0201E7D8
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0201F008
-FUN_0201F008: ; 0x0201F008
- add r0, #0x46
- ldrh r0, [r0, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_0201F010
-FUN_0201F010: ; 0x0201F010
- ldr r0, [r0, #0x38]
- bx lr
-
- thumb_func_start FUN_0201F014
-FUN_0201F014: ; 0x0201F014
- ldrh r2, [r1, #0x3c]
- strh r2, [r0, #0x0]
- ldrh r2, [r1, #0x3e]
- strh r2, [r0, #0x2]
- add r2, r1, #0x0
- add r2, #0x40
- ldrh r2, [r2, #0x0]
- add r1, #0x42
- strh r2, [r0, #0x4]
- ldrh r1, [r1, #0x0]
- strh r1, [r0, #0x6]
- bx lr
-
- thumb_func_start FUN_0201F02C
-FUN_0201F02C: ; 0x0201F02C
- add r2, r1, #0x0
- add r2, #0x20
- add r3, r0, #0x0
- ldmia r2!, {r0-r1}
- stmia r3!, {r0-r1}
- ldr r0, [r2, #0x0]
- str r0, [r3, #0x0]
- bx lr
-
- thumb_func_start FUN_0201F03C
-FUN_0201F03C: ; 0x0201F03C
- add r2, r1, #0x0
- add r2, #0x14
- add r3, r0, #0x0
- ldmia r2!, {r0-r1}
- stmia r3!, {r0-r1}
- ldr r0, [r2, #0x0]
- str r0, [r3, #0x0]
- bx lr
-
- thumb_func_start FUN_0201F04C
-FUN_0201F04C: ; 0x0201F04C
- add r3, r0, #0x0
- add r2, r1, #0x0
- ldmia r3!, {r0-r1}
- add r2, #0x20
- stmia r2!, {r0-r1}
- ldr r0, [r3, #0x0]
- str r0, [r2, #0x0]
- bx lr
-
- thumb_func_start FUN_0201F05C
-FUN_0201F05C: ; 0x0201F05C
- add r3, r0, #0x0
- add r2, r1, #0x0
- ldmia r3!, {r0-r1}
- add r2, #0x14
- stmia r2!, {r0-r1}
- ldr r0, [r3, #0x0]
- str r0, [r2, #0x0]
- bx lr
-
- thumb_func_start FUN_0201F06C
-FUN_0201F06C: ; 0x0201F06C
- mov r2, #0x0
- strb r2, [r0, #0x0]
- strb r2, [r0, #0x1]
- str r2, [r0, #0x4]
- add r1, r0, #0x0
- str r2, [r0, #0x8]
- add r1, #0xc4
- str r2, [r1, #0x0]
- add r1, r0, #0x0
- add r1, #0xc8
- str r2, [r1, #0x0]
- add r1, r0, #0x0
- add r1, #0xcc
- str r2, [r1, #0x0]
- add r1, r0, #0x0
- add r1, #0xd0
- str r2, [r1, #0x0]
- strb r2, [r0, #0x3]
- bx lr
- .balign 4
-
- thumb_func_start FUN_0201F094
-FUN_0201F094: ; 0x0201F094
- mov r3, #0x0
- str r3, [r0, #0x1c]
- str r3, [r0, #0x20]
- str r3, [r0, #0x78]
- add r1, r0, #0x0
- str r3, [r0, #0x7c]
- add r1, #0x80
- str r3, [r1, #0x0]
- add r1, r0, #0x0
- add r1, #0x84
- add r2, r0, #0x0
- str r3, [r1, #0x0]
- add r2, #0x94
- mov r1, #0x10
-_0201F0B0:
- strb r3, [r2, #0x0]
- add r2, r2, #0x1
- sub r1, r1, #0x1
- bne _0201F0B0
- add r2, r0, #0x0
- mov r1, #0x0
- add r2, #0x88
- str r1, [r2, #0x0]
- add r2, r0, #0x0
- add r2, #0x8c
- str r1, [r2, #0x0]
- add r2, r0, #0x0
- add r2, #0x90
- str r1, [r2, #0x0]
- add r2, r0, #0x0
- add r2, #0xa4
- str r1, [r2, #0x0]
- str r1, [r0, #0x0]
- str r1, [r0, #0x4]
- mov r2, #0x1
- str r1, [r0, #0x8]
- lsl r2, r2, #0xc
- str r2, [r0, #0xc]
- str r2, [r0, #0x10]
- str r2, [r0, #0x14]
- add r2, r0, #0x0
- add r2, #0xaa
- strh r1, [r2, #0x0]
- add r2, r0, #0x0
- add r2, #0xa8
- strb r1, [r2, #0x0]
- add r2, r0, #0x0
- add r2, #0xb0
- str r1, [r2, #0x0]
- add r2, r0, #0x0
- add r2, #0xb4
- str r1, [r2, #0x0]
- strb r1, [r0, #0x18]
- bx lr
- .balign 4
-
- thumb_func_start FUN_0201F100
-FUN_0201F100: ; 0x0201F100
- push {r3-r7, lr}
- add r6, r0, #0x0
- ldr r0, _0201F13C ; =0x021C59A8
- add r4, r1, #0x0
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- beq _0201F112
- bl ErrorHandling
-_0201F112:
- mov r1, #0xd4
- add r0, r4, #0x0
- mul r1, r6
- bl FUN_02016998
- ldr r7, _0201F13C ; =0x021C59A8
- mov r4, #0x0
- str r0, [r7, #0x0]
- str r6, [r7, #0x4]
- cmp r6, #0x0
- ble _0201F13A
- add r5, r4, #0x0
-_0201F12A:
- ldr r0, [r7, #0x0]
- add r0, r0, r5
- bl FUN_0201F06C
- add r4, r4, #0x1
- add r5, #0xd4
- cmp r4, r6
- blt _0201F12A
-_0201F13A:
- pop {r3-r7, pc}
- .balign 4
-_0201F13C: .word 0x021C59A8
-
- thumb_func_start FUN_0201F140
-FUN_0201F140: ; 0x0201F140
- push {r4-r6, lr}
- ldr r6, _0201F174 ; =0x021C59A8
- mov r4, #0x0
- ldr r0, [r6, #0x4]
- cmp r0, #0x0
- ble _0201F160
- add r5, r4, #0x0
-_0201F14E:
- ldr r0, [r6, #0x0]
- add r0, r0, r5
- bl FUN_0201F23C
- ldr r0, [r6, #0x4]
- add r4, r4, #0x1
- add r5, #0xd4
- cmp r4, r0
- blt _0201F14E
-_0201F160:
- ldr r0, _0201F174 ; =0x021C59A8
- ldr r0, [r0, #0x0]
- bl FUN_02016A18
- ldr r0, _0201F174 ; =0x021C59A8
- mov r1, #0x0
- str r1, [r0, #0x0]
- str r1, [r0, #0x4]
- pop {r4-r6, pc}
- nop
-_0201F174: .word 0x021C59A8
-
- thumb_func_start FUN_0201F178
-FUN_0201F178: ; 0x0201F178
- push {r3-r7, lr}
- ldr r6, _0201F1B0 ; =0x021C59A8
- mov r4, #0x0
- ldr r0, [r6, #0x4]
- cmp r0, #0x0
- ble _0201F1AC
- add r5, r4, #0x0
- mov r7, #0x2
-_0201F188:
- ldr r0, [r6, #0x0]
- add r0, r0, r5
- ldrb r1, [r0, #0x1]
- cmp r1, #0x1
- bne _0201F196
- bl FUN_0201F318
-_0201F196:
- ldr r0, [r6, #0x0]
- add r1, r0, r5
- ldrb r0, [r1, #0x3]
- cmp r0, #0x1
- bne _0201F1A2
- strb r7, [r1, #0x3]
-_0201F1A2:
- ldr r0, [r6, #0x4]
- add r4, r4, #0x1
- add r5, #0xd4
- cmp r4, r0
- blt _0201F188
-_0201F1AC:
- pop {r3-r7, pc}
- nop
-_0201F1B0: .word 0x021C59A8
-
- thumb_func_start FUN_0201F1B4
-FUN_0201F1B4: ; 0x0201F1B4
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl FUN_0201F2E4
- add r4, r0, #0x0
- bne _0201F1C8
- bl ErrorHandling
- mov r0, #0x0
- pop {r3-r5, pc}
-_0201F1C8:
- mov r0, #0x1
- strb r0, [r4, #0x0]
- strb r0, [r4, #0x1]
- ldr r2, [r5, #0x0]
- mov r1, #0xb8
- ldr r0, [r5, #0x4]
- mul r1, r2
- bl FUN_02016998
- str r0, [r4, #0x4]
- ldr r0, [r5, #0x0]
- str r0, [r4, #0x8]
- add r0, r4, #0x0
- add r0, #0xc
- bl FUN_0201F094
- add r1, r4, #0x0
- add r0, r4, #0x0
- add r1, #0xc
- add r0, #0xbc
- str r1, [r0, #0x0]
- add r0, r4, #0x0
- add r0, #0xc0
- str r1, [r0, #0x0]
- ldr r1, [r5, #0x0]
- ldr r0, [r5, #0x4]
- lsl r1, r1, #0x2
- bl FUN_02016998
- add r1, r4, #0x0
- add r1, #0xc4
- str r0, [r1, #0x0]
- add r0, r4, #0x0
- bl FUN_0201FABC
- ldr r0, [r5, #0x4]
- mov r1, #0x10
- bl FUN_02016998
- add r1, r4, #0x0
- add r1, #0xcc
- str r0, [r1, #0x0]
- add r0, r4, #0x0
- add r0, #0xcc
- ldr r0, [r0, #0x0]
- ldr r1, [r5, #0x4]
- mov r2, #0x4
- bl FUN_02016B20
- ldr r0, [r5, #0x0]
- ldr r1, [r5, #0x4]
- bl FUN_0201C360
- add r1, r4, #0x0
- add r1, #0xd0
- str r0, [r1, #0x0]
- add r0, r4, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0201F23C
-FUN_0201F23C: ; 0x0201F23C
- push {r4, lr}
- add r4, r0, #0x0
- bne _0201F24A
- bl ErrorHandling
- mov r0, #0x0
- pop {r4, pc}
-_0201F24A:
- ldrb r1, [r4, #0x0]
- cmp r1, #0x0
- beq _0201F27E
- bl FUN_0201F284
- ldr r0, [r4, #0x4]
- bl FUN_02016A18
- add r0, r4, #0x0
- add r0, #0xc4
- ldr r0, [r0, #0x0]
- bl FUN_02016A18
- add r0, r4, #0x0
- add r0, #0xcc
- ldr r0, [r0, #0x0]
- bl FUN_02016A18
- add r0, r4, #0x0
- add r0, #0xd0
- ldr r0, [r0, #0x0]
- bl FUN_0201C39C
- add r0, r4, #0x0
- bl FUN_0201F06C
-_0201F27E:
- mov r0, #0x1
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0201F284
-FUN_0201F284: ; 0x0201F284
- push {r3-r5, lr}
- cmp r0, #0x0
- bne _0201F294
- bne _0201F290
- bl ErrorHandling
-_0201F290:
- mov r0, #0x0
- pop {r3-r5, pc}
-_0201F294:
- ldrb r1, [r0, #0x0]
- cmp r1, #0x0
- beq _0201F2BA
- add r1, r0, #0x0
- add r1, #0xbc
- add r4, r0, #0x0
- ldr r1, [r1, #0x0]
- add r4, #0xc
- cmp r1, r4
- beq _0201F2BA
-_0201F2A8:
- add r0, r1, #0x0
- add r0, #0xb0
- ldr r5, [r0, #0x0]
- add r0, r1, #0x0
- bl FUN_0201F744
- add r1, r5, #0x0
- cmp r5, r4
- bne _0201F2A8
-_0201F2BA:
- mov r0, #0x1
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0201F2C0
-FUN_0201F2C0: ; 0x0201F2C0
- push {r4, lr}
- add r4, r0, #0x0
- bne _0201F2CA
- bl ErrorHandling
-_0201F2CA:
- ldrb r0, [r4, #0x3]
- cmp r0, #0x0
- bne _0201F2D4
- mov r0, #0x0
- pop {r4, pc}
-_0201F2D4:
- mov r0, #0x1
- pop {r4, pc}
-
- thumb_func_start FUN_0201F2D8
-FUN_0201F2D8: ; 0x0201F2D8
- ldrb r1, [r0, #0x3]
- cmp r1, #0x2
- bne _0201F2E2
- mov r1, #0x0
- strb r1, [r0, #0x3]
-_0201F2E2:
- bx lr
-
- thumb_func_start FUN_0201F2E4
-FUN_0201F2E4: ; 0x0201F2E4
- push {r3-r4}
- ldr r0, _0201F314 ; =0x021C59A8
- mov r1, #0x0
- ldr r3, [r0, #0x4]
- cmp r3, #0x0
- ble _0201F30C
- ldr r4, [r0, #0x0]
- add r2, r4, #0x0
-_0201F2F4:
- ldrb r0, [r2, #0x0]
- cmp r0, #0x0
- bne _0201F304
- mov r0, #0xd4
- mul r0, r1
- add r0, r4, r0
- pop {r3-r4}
- bx lr
-_0201F304:
- add r1, r1, #0x1
- add r2, #0xd4
- cmp r1, r3
- blt _0201F2F4
-_0201F30C:
- mov r0, #0x0
- pop {r3-r4}
- bx lr
- nop
-_0201F314: .word 0x021C59A8
-
- thumb_func_start FUN_0201F318
-FUN_0201F318: ; 0x0201F318
- push {r3-r6, lr}
- sub sp, #0x24
- add r5, r0, #0x0
- bne _0201F324
- bl ErrorHandling
-_0201F324:
- add r0, sp, #0x0
- blx MTX_Identity33_
- add r0, r5, #0x0
- add r0, #0xbc
- ldr r4, [r0, #0x0]
- add r5, #0xc
- cmp r4, r5
- beq _0201F37E
- add r6, sp, #0x0
-_0201F338:
- ldrb r0, [r4, #0x18]
- cmp r0, #0x1
- bne _0201F376
- add r0, r4, #0x0
- bl FUN_0201FC54
- add r0, r4, #0x0
- add r0, #0xa8
- ldrb r0, [r0, #0x0]
- cmp r0, #0x3
- bne _0201F356
- add r0, r4, #0x0
- bl FUN_0201F90C
- b _0201F360
-_0201F356:
- cmp r0, #0x2
- bne _0201F360
- add r0, r4, #0x0
- bl FUN_0201F8F0
-_0201F360:
- add r0, r4, #0x0
- add r3, r4, #0x0
- add r0, #0x24
- add r1, r4, #0x0
- add r2, r6, #0x0
- add r3, #0xc
- bl FUN_0201B26C
- add r0, r4, #0x0
- bl FUN_0201FC70
-_0201F376:
- add r4, #0xb0
- ldr r4, [r4, #0x0]
- cmp r4, r5
- bne _0201F338
-_0201F37E:
- add sp, #0x24
- pop {r3-r6, pc}
- .balign 4
-
- thumb_func_start FUN_0201F384
-FUN_0201F384: ; 0x0201F384
- push {r4-r6, lr}
- add r5, r0, #0x0
- ldr r6, [r5, #0x1c]
- add r4, r1, #0x0
- add r0, r6, #0x0
- add r1, r5, #0x0
- bl FUN_0201F5B8
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_0201F5D4
- add r0, r6, #0x0
- add r1, r5, #0x0
- add r2, r4, #0x0
- bl FUN_0201F648
- add r0, r5, #0x0
- add r0, #0xa8
- ldrb r0, [r0, #0x0]
- cmp r0, #0x1
- bne _0201F3BA
- add r6, #0xc
- add r0, r6, #0x0
- add r1, r5, #0x0
- bl FUN_0201FB58
-_0201F3BA:
- add r0, r5, #0x0
- mov r1, #0x2
- add r0, #0xa8
- strb r1, [r0, #0x0]
- ldr r0, [r4, #0x8]
- mov r1, #0x0
- str r0, [r5, #0x20]
- add r0, r5, #0x0
- add r0, #0xaa
- strh r1, [r0, #0x0]
- add r5, #0xac
- str r1, [r5, #0x0]
- pop {r4-r6, pc}
-
- thumb_func_start FUN_0201F3D4
-FUN_0201F3D4: ; 0x0201F3D4
- push {r4-r6, lr}
- add r5, r0, #0x0
- ldr r6, [r5, #0x1c]
- add r4, r1, #0x0
- add r0, r6, #0x0
- add r1, r5, #0x0
- bl FUN_0201F5B8
- add r0, r5, #0x0
- add r0, #0xa8
- ldrb r0, [r0, #0x0]
- cmp r0, #0x2
- bne _0201F3FE
- add r0, r5, #0x0
- add r1, r5, #0x0
- add r2, r5, #0x0
- add r0, #0x88
- add r1, #0x8c
- add r2, #0x90
- bl FUN_0201F524
-_0201F3FE:
- add r0, r5, #0x0
- ldr r1, [r4, #0x1c]
- add r0, #0x88
- str r1, [r0, #0x0]
- add r0, r5, #0x0
- ldr r1, [r4, #0x20]
- add r0, #0x8c
- str r1, [r0, #0x0]
- add r0, r5, #0x0
- ldr r1, [r4, #0x24]
- add r0, #0x90
- str r1, [r0, #0x0]
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_0201F69C
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_0201F6C8
- add r0, r5, #0x0
- add r0, #0xa8
- ldrb r0, [r0, #0x0]
- cmp r0, #0x1
- bne _0201F43A
- add r6, #0xc
- add r0, r6, #0x0
- add r1, r5, #0x0
- bl FUN_0201FB58
-_0201F43A:
- add r0, r5, #0x0
- mov r1, #0x3
- add r0, #0xa8
- strb r1, [r0, #0x0]
- ldr r0, [r4, #0x8]
- mov r1, #0x0
- str r0, [r5, #0x20]
- add r0, r5, #0x0
- add r0, #0xaa
- strh r1, [r0, #0x0]
- add r5, #0xac
- str r1, [r5, #0x0]
- pop {r4-r6, pc}
-
- thumb_func_start FUN_0201F454
-FUN_0201F454: ; 0x0201F454
- push {r4-r7, lr}
- sub sp, #0xc
- add r5, r0, #0x0
- add r4, r1, #0x0
- add r6, r2, #0x0
- add r7, r3, #0x0
- blx FUN_020B7E1C
- str r0, [sp, #0x8]
- add r0, r5, #0x0
- blx FUN_020B7E10
- str r0, [sp, #0x4]
- add r0, r5, #0x0
- blx FUN_020B7CE4
- str r0, [sp, #0x0]
- ldr r0, [sp, #0x8]
- cmp r0, #0x0
- beq _0201F492
- ldr r3, _0201F4E4 ; =0x021064B8
- mov r1, #0x0
- ldr r3, [r3, #0x0]
- add r2, r1, #0x0
- blx r3
- str r0, [r4, #0x0]
- cmp r0, #0x0
- bne _0201F496
- bl ErrorHandling
- b _0201F496
-_0201F492:
- mov r0, #0x0
- str r0, [r4, #0x0]
-_0201F496:
- ldr r0, [sp, #0x4]
- cmp r0, #0x0
- beq _0201F4B2
- ldr r3, _0201F4E4 ; =0x021064B8
- mov r1, #0x1
- ldr r3, [r3, #0x0]
- mov r2, #0x0
- blx r3
- str r0, [r6, #0x0]
- cmp r0, #0x0
- bne _0201F4B6
- bl ErrorHandling
- b _0201F4B6
-_0201F4B2:
- mov r0, #0x0
- str r0, [r6, #0x0]
-_0201F4B6:
- ldr r0, [sp, #0x0]
- cmp r0, #0x0
- beq _0201F4DA
- ldr r3, _0201F4E8 ; =0x021064C0
- mov r1, #0x2
- ldrh r2, [r5, #0x20]
- lsl r1, r1, #0xe
- ldr r3, [r3, #0x0]
- and r1, r2
- mov r2, #0x0
- blx r3
- str r0, [r7, #0x0]
- cmp r0, #0x0
- bne _0201F4DE
- bl ErrorHandling
- add sp, #0xc
- pop {r4-r7, pc}
-_0201F4DA:
- mov r0, #0x0
- str r0, [r7, #0x0]
-_0201F4DE:
- add sp, #0xc
- pop {r4-r7, pc}
- nop
-_0201F4E4: .word 0x021064B8
-_0201F4E8: .word 0x021064C0
-
- thumb_func_start FUN_0201F4EC
-FUN_0201F4EC: ; 0x0201F4EC
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r3, #0x0
- blx FUN_020B7CF0
- add r0, r5, #0x0
- blx FUN_020B7C58
- str r0, [r4, #0x0]
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0201F500
-FUN_0201F500: ; 0x0201F500
- push {r3-r5, lr}
- add r4, r1, #0x0
- ldr r1, [r2, #0x0]
- ldr r2, [r3, #0x0]
- add r5, r0, #0x0
- blx FUN_020B7DFC
- ldr r1, [sp, #0x10]
- add r0, r5, #0x0
- ldr r1, [r1, #0x0]
- blx FUN_020B7CDC
- add r0, r4, #0x0
- add r1, r5, #0x0
- blx FUN_020B7790
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0201F524
-FUN_0201F524: ; 0x0201F524
- push {r3-r5, lr}
- ldr r0, [r0, #0x0]
- add r5, r1, #0x0
- add r4, r2, #0x0
- cmp r0, #0x0
- beq _0201F536
- ldr r1, _0201F550 ; =0x021064BC
- ldr r1, [r1, #0x0]
- blx r1
-_0201F536:
- ldr r0, [r5, #0x0]
- cmp r0, #0x0
- beq _0201F542
- ldr r1, _0201F550 ; =0x021064BC
- ldr r1, [r1, #0x0]
- blx r1
-_0201F542:
- ldr r0, [r4, #0x0]
- cmp r0, #0x0
- beq _0201F54E
- ldr r1, _0201F554 ; =0x021064C4
- ldr r1, [r1, #0x0]
- blx r1
-_0201F54E:
- pop {r3-r5, pc}
- .balign 4
-_0201F550: .word 0x021064BC
-_0201F554: .word 0x021064C4
-
- thumb_func_start FUN_0201F558
-FUN_0201F558: ; 0x0201F558
- push {r3-r7, lr}
- sub sp, #0x8
- add r4, r0, #0x0
- add r5, r1, #0x0
- cmp r4, #0x0
- beq _0201F568
- cmp r5, #0x0
- bne _0201F56E
-_0201F568:
- add sp, #0x8
- mov r0, #0x0
- pop {r3-r7, pc}
-_0201F56E:
- blx FUN_020B7E1C
- str r0, [sp, #0x0]
- add r0, r4, #0x0
- blx FUN_020B7E10
- str r0, [sp, #0x4]
- add r0, r4, #0x0
- blx FUN_020B7CE4
- add r4, r0, #0x0
- add r0, r5, #0x0
- blx FUN_020B7E1C
- add r6, r0, #0x0
- add r0, r5, #0x0
- blx FUN_020B7E10
- add r7, r0, #0x0
- add r0, r5, #0x0
- blx FUN_020B7CE4
- ldr r1, [sp, #0x0]
- cmp r1, r6
- bne _0201F5AA
- ldr r1, [sp, #0x4]
- cmp r1, r7
- bne _0201F5AA
- cmp r4, r0
- beq _0201F5B0
-_0201F5AA:
- add sp, #0x8
- mov r0, #0x0
- pop {r3-r7, pc}
-_0201F5B0:
- mov r0, #0x1
- add sp, #0x8
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0201F5B8
-FUN_0201F5B8: ; 0x0201F5B8
- push {r4, lr}
- add r4, r1, #0x0
- add r0, r4, #0x0
- add r0, #0xa4
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- beq _0201F5D0
- bl FUN_0201C40C
- mov r0, #0x0
- add r4, #0xa4
- str r0, [r4, #0x0]
-_0201F5D0:
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0201F5D4
-FUN_0201F5D4: ; 0x0201F5D4
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, #0x80
- ldr r4, [r0, #0x0]
- add r0, r1, #0x0
- add r1, r5, #0x0
- add r2, r5, #0x0
- add r1, #0x7c
- add r2, #0x80
- bl FUN_0201FB9C
- str r0, [r5, #0x78]
- add r0, r5, #0x0
- ldr r1, [r5, #0x7c]
- add r0, #0x24
- blx FUN_020B80B4
- add r0, r5, #0x0
- add r0, #0xa8
- ldrb r0, [r0, #0x0]
- cmp r0, #0x3
- beq _0201F60E
- add r1, r5, #0x0
- add r1, #0x80
- ldr r1, [r1, #0x0]
- add r0, r4, #0x0
- bl FUN_0201F558
- b _0201F610
-_0201F60E:
- mov r0, #0x0
-_0201F610:
- cmp r0, #0x0
- bne _0201F644
- add r0, r5, #0x0
- add r0, #0xa8
- ldrb r0, [r0, #0x0]
- cmp r0, #0x2
- bne _0201F62E
- add r0, r5, #0x0
- add r1, r5, #0x0
- add r2, r5, #0x0
- add r0, #0x88
- add r1, #0x8c
- add r2, #0x90
- bl FUN_0201F524
-_0201F62E:
- add r0, r5, #0x0
- add r0, #0x80
- add r1, r5, #0x0
- add r2, r5, #0x0
- add r5, #0x90
- ldr r0, [r0, #0x0]
- add r1, #0x88
- add r2, #0x8c
- add r3, r5, #0x0
- bl FUN_0201F454
-_0201F644:
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0201F648
-FUN_0201F648: ; 0x0201F648
- push {r4-r6, lr}
- sub sp, #0x8
- add r4, r2, #0x0
- add r6, r0, #0x0
- add r5, r1, #0x0
- add r0, r4, #0x0
- bl FUN_0201FBCC
- add r1, r5, #0x0
- add r1, #0x84
- add r3, r5, #0x0
- add r3, #0x94
- str r0, [r1, #0x0]
- add r4, #0xc
- add r2, r3, #0x0
- ldmia r4!, {r0-r1}
- stmia r3!, {r0-r1}
- ldmia r4!, {r0-r1}
- stmia r3!, {r0-r1}
- add r0, r5, #0x0
- add r0, #0x90
- ldr r0, [r0, #0x0]
- add r1, r2, #0x0
- str r0, [sp, #0x0]
- add r0, r5, #0x0
- add r0, #0xac
- ldr r0, [r0, #0x0]
- add r2, r5, #0x0
- add r3, r5, #0x0
- str r0, [sp, #0x4]
- add r6, #0xd0
- add r2, #0x84
- add r3, #0x88
- ldr r0, [r6, #0x0]
- ldr r2, [r2, #0x0]
- ldr r3, [r3, #0x0]
- bl FUN_0201C3B4
- add r5, #0xa4
- str r0, [r5, #0x0]
- add sp, #0x8
- pop {r4-r6, pc}
-
- thumb_func_start FUN_0201F69C
-FUN_0201F69C: ; 0x0201F69C
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- add r1, r5, #0x0
- add r2, r5, #0x0
- add r0, r4, #0x0
- add r1, #0x7c
- add r2, #0x80
- bl FUN_0201FB9C
- str r0, [r5, #0x78]
- add r0, r5, #0x0
- ldr r1, [r5, #0x7c]
- add r0, #0x24
- blx FUN_020B80B4
- add r0, r4, #0x0
- bl FUN_0201FBCC
- add r5, #0x84
- str r0, [r5, #0x0]
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0201F6C8
-FUN_0201F6C8: ; 0x0201F6C8
- push {r3-r4}
- add r4, r0, #0x0
- add r2, r4, #0x0
- add r3, r1, #0x0
- add r3, #0xc
- add r2, #0x94
- ldmia r3!, {r0-r1}
- stmia r2!, {r0-r1}
- ldmia r3!, {r0-r1}
- stmia r2!, {r0-r1}
- mov r0, #0x0
- add r4, #0xa4
- str r0, [r4, #0x0]
- pop {r3-r4}
- bx lr
- .balign 4
-
- thumb_func_start FUN_0201F6E8
-FUN_0201F6E8: ; 0x0201F6E8
- push {r4-r6, lr}
- add r5, r0, #0x0
- ldr r6, [r5, #0x0]
- cmp r6, #0x0
- bne _0201F6F6
- mov r0, #0x0
- pop {r4-r6, pc}
-_0201F6F6:
- add r0, r6, #0x0
- bl FUN_0201FAF4
- add r4, r0, #0x0
- bne _0201F704
- mov r0, #0x0
- pop {r4-r6, pc}
-_0201F704:
- add r3, r5, #0x0
- str r6, [r4, #0x1c]
- add r3, #0x8
- ldmia r3!, {r0-r1}
- add r2, r4, #0x0
- stmia r2!, {r0-r1}
- ldr r0, [r3, #0x0]
- add r3, r5, #0x0
- str r0, [r2, #0x0]
- add r3, #0x14
- add r2, r4, #0x0
- ldmia r3!, {r0-r1}
- add r2, #0xc
- stmia r2!, {r0-r1}
- ldr r0, [r3, #0x0]
- mov r1, #0x0
- str r0, [r2, #0x0]
- add r0, r4, #0x0
- add r0, #0xaa
- strh r1, [r0, #0x0]
- mov r1, #0x1
- add r0, r4, #0x0
- strb r1, [r4, #0x18]
- add r0, #0xa8
- strb r1, [r0, #0x0]
- ldr r1, [r5, #0x4]
- add r0, r4, #0x0
- bl FUN_0201FBD8
- add r0, r4, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_0201F744
-FUN_0201F744: ; 0x0201F744
- push {r3-r5, lr}
- add r5, r0, #0x0
- bne _0201F74E
- bl ErrorHandling
-_0201F74E:
- add r0, r5, #0x0
- add r0, #0xa8
- ldrb r0, [r0, #0x0]
- cmp r0, #0x1
- bne _0201F75C
- bl ErrorHandling
-_0201F75C:
- add r0, r5, #0x0
- add r0, #0xa8
- ldrb r0, [r0, #0x0]
- ldr r4, [r5, #0x1c]
- cmp r0, #0x0
- bne _0201F76C
- mov r0, #0x0
- pop {r3-r5, pc}
-_0201F76C:
- add r0, r5, #0x0
- bl FUN_0201FB7C
- add r0, r5, #0x0
- add r0, #0xa8
- ldrb r0, [r0, #0x0]
- cmp r0, #0x2
- bne _0201F78C
- add r0, r5, #0x0
- add r1, r5, #0x0
- add r2, r5, #0x0
- add r0, #0x88
- add r1, #0x8c
- add r2, #0x90
- bl FUN_0201F524
-_0201F78C:
- add r0, r4, #0x0
- add r1, r5, #0x0
- bl FUN_0201F5B8
- add r0, r4, #0x0
- add r1, r5, #0x0
- bl FUN_0201FB20
- mov r0, #0x1
- strb r0, [r4, #0x3]
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0201F7A4
-FUN_0201F7A4: ; 0x0201F7A4
- push {r3-r4}
- add r4, r0, #0x0
- str r1, [r4, #0x0]
- str r2, [r4, #0x4]
- str r3, [r4, #0x8]
- ldr r3, [sp, #0x8]
- add r2, r4, #0x0
- add r2, #0xc
- ldmia r3!, {r0-r1}
- stmia r2!, {r0-r1}
- ldmia r3!, {r0-r1}
- stmia r2!, {r0-r1}
- mov r0, #0x0
- str r0, [r4, #0x1c]
- str r0, [r4, #0x20]
- str r0, [r4, #0x24]
- pop {r3-r4}
- bx lr
-
- thumb_func_start FUN_0201F7C8
-FUN_0201F7C8: ; 0x0201F7C8
- push {r3-r5, lr}
- add r4, r0, #0x0
- add r5, r1, #0x0
- cmp r4, #0x0
- bne _0201F7D6
- bl ErrorHandling
-_0201F7D6:
- ldmia r5!, {r0-r1}
- stmia r4!, {r0-r1}
- ldr r0, [r5, #0x0]
- str r0, [r4, #0x0]
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0201F7E0
-FUN_0201F7E0: ; 0x0201F7E0
- push {r4, lr}
- add r4, r0, #0x0
- bne _0201F7EA
- bl ErrorHandling
-_0201F7EA:
- add r0, r4, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0201F7F0
-FUN_0201F7F0: ; 0x0201F7F0
- push {r3-r5, lr}
- add r4, r0, #0x0
- add r5, r1, #0x0
- cmp r4, #0x0
- bne _0201F7FE
- bl ErrorHandling
-_0201F7FE:
- ldmia r5!, {r0-r1}
- add r4, #0xc
- stmia r4!, {r0-r1}
- ldr r0, [r5, #0x0]
- str r0, [r4, #0x0]
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0201F80C
-FUN_0201F80C: ; 0x0201F80C
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- cmp r5, #0x0
- bne _0201F81A
- bl ErrorHandling
-_0201F81A:
- strb r4, [r5, #0x18]
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0201F820
-FUN_0201F820: ; 0x0201F820
- push {r4, lr}
- add r4, r0, #0x0
- bne _0201F82A
- bl ErrorHandling
-_0201F82A:
- ldrb r0, [r4, #0x18]
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0201F830
-FUN_0201F830: ; 0x0201F830
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- cmp r5, #0x0
- bne _0201F83E
- bl ErrorHandling
-_0201F83E:
- add r5, #0xaa
- strh r4, [r5, #0x0]
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0201F844
-FUN_0201F844: ; 0x0201F844
- push {r4, lr}
- add r4, r0, #0x0
- bne _0201F84E
- bl ErrorHandling
-_0201F84E:
- add r4, #0xaa
- ldrh r0, [r4, #0x0]
- pop {r4, pc}
-
- thumb_func_start FUN_0201F854
-FUN_0201F854: ; 0x0201F854
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- cmp r5, #0x0
- bne _0201F862
- bl ErrorHandling
-_0201F862:
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_0201FBFC
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0201F86C
-FUN_0201F86C: ; 0x0201F86C
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- cmp r5, #0x0
- bne _0201F87A
- bl ErrorHandling
-_0201F87A:
- add r5, #0xac
- str r4, [r5, #0x0]
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0201F880
-FUN_0201F880: ; 0x0201F880
- push {r4, lr}
- add r4, r0, #0x0
- bne _0201F88A
- bl ErrorHandling
-_0201F88A:
- add r4, #0xac
- ldr r0, [r4, #0x0]
- pop {r4, pc}
-
- thumb_func_start FUN_0201F890
-FUN_0201F890: ; 0x0201F890
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- cmp r5, #0x0
- bne _0201F89E
- bl ErrorHandling
-_0201F89E:
- add r1, r5, #0x0
- add r1, #0xaa
- ldrh r1, [r1, #0x0]
- add r0, r5, #0x0
- bl FUN_0201FBEC
- add r1, r5, #0x0
- add r1, #0xac
- str r0, [r1, #0x0]
- add r0, r5, #0x0
- add r0, #0xac
- ldr r0, [r0, #0x0]
- add r5, #0xac
- add r0, r0, r4
- str r0, [r5, #0x0]
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0201F8C0
-FUN_0201F8C0: ; 0x0201F8C0
- push {r4, lr}
- add r4, r0, #0x0
- bne _0201F8CA
- bl ErrorHandling
-_0201F8CA:
- add r1, r4, #0x0
- add r1, #0xaa
- ldrh r1, [r1, #0x0]
- add r0, r4, #0x0
- bl FUN_0201FBEC
- add r4, #0xac
- ldr r1, [r4, #0x0]
- sub r0, r1, r0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0201F8E0
-FUN_0201F8E0: ; 0x0201F8E0
- push {r4, lr}
- add r4, r0, #0x0
- bne _0201F8EA
- bl ErrorHandling
-_0201F8EA:
- ldr r0, [r4, #0x7c]
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0201F8F0
-FUN_0201F8F0: ; 0x0201F8F0
- push {r3, lr}
- add r1, r0, #0x0
- add r0, #0xa8
- ldrb r0, [r0, #0x0]
- cmp r0, #0x2
- bne _0201F90A
- add r0, r1, #0x0
- add r0, #0xa4
- add r1, #0xac
- ldr r0, [r0, #0x0]
- ldr r1, [r1, #0x0]
- bl FUN_0201C438
-_0201F90A:
- pop {r3, pc}
-
- thumb_func_start FUN_0201F90C
-FUN_0201F90C: ; 0x0201F90C
- push {r3-r4, lr}
- sub sp, #0x4
- add r4, r0, #0x0
- add r1, r4, #0x0
- add r1, #0xac
- ldr r1, [r1, #0x0]
- add r0, #0x94
- lsl r1, r1, #0x4
- lsr r1, r1, #0x10
- bl FUN_02022244
- add r2, sp, #0x0
- strb r0, [r2, #0x0]
- lsr r0, r0, #0x8
- strb r0, [r2, #0x1]
- ldrb r0, [r2, #0x0]
- add r1, r4, #0x0
- add r1, #0x84
- strb r0, [r2, #0x2]
- ldrb r0, [r2, #0x1]
- strb r0, [r2, #0x3]
- ldrb r2, [r2, #0x2]
- ldr r0, [r4, #0x7c]
- ldr r1, [r1, #0x0]
- bl FUN_0201F954
- add r2, sp, #0x0
- ldr r0, [r4, #0x7c]
- add r4, #0x84
- ldrb r2, [r2, #0x3]
- ldr r1, [r4, #0x0]
- bl FUN_0201FA04
- add sp, #0x4
- pop {r3-r4, pc}
- .balign 4
-
- thumb_func_start FUN_0201F954
-FUN_0201F954: ; 0x0201F954
- push {r3-r7, lr}
- ldr r3, [r0, #0x8]
- mov r5, #0x0
- add r6, r0, r3
- ldrh r0, [r0, r3]
- add r3, r1, #0x0
- add r1, #0x42
- ldrh r1, [r1, #0x0]
- add r3, #0x3c
- add r4, r6, r0
- add r0, r3, r1
- ldrh r1, [r3, r1]
- mul r2, r1
- add r0, r0, r2
- ldr r0, [r0, #0x4]
- lsl r0, r0, #0x10
- lsr r7, r0, #0x10
- ldrb r0, [r4, #0x1]
- cmp r0, #0x0
- ble _0201F9A2
-_0201F97C:
- ldrh r0, [r4, #0x6]
- add r1, r4, r0
- ldrh r0, [r4, r0]
- add r2, r1, #0x4
- add r1, r0, #0x0
- mul r1, r5
- add r1, r2, r1
- ldrb r2, [r1, #0x3]
- mov r0, #0x1
- tst r0, r2
- beq _0201F99A
- add r0, r6, #0x0
- add r2, r7, #0x0
- bl FUN_0201F9A4
-_0201F99A:
- ldrb r0, [r4, #0x1]
- add r5, r5, #0x1
- cmp r5, r0
- blt _0201F97C
-_0201F9A2:
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0201F9A4
-FUN_0201F9A4: ; 0x0201F9A4
- push {r4-r7, lr}
- sub sp, #0xc
- add r6, r0, #0x0
- add r0, r1, #0x0
- ldrh r0, [r0, #0x0]
- str r1, [sp, #0x0]
- add r7, r2, #0x0
- add r0, r6, r0
- str r0, [sp, #0x4]
- add r0, r1, #0x0
- ldrb r0, [r0, #0x2]
- mov r4, #0x0
- cmp r0, #0x0
- ble _0201F9FC
- add r0, r6, #0x4
- str r0, [sp, #0x8]
-_0201F9C4:
- ldrh r2, [r6, #0xa]
- ldr r0, [sp, #0x8]
- ldr r1, [sp, #0x8]
- add r0, r0, r2
- ldrh r2, [r1, r2]
- ldr r1, [sp, #0x4]
- ldrb r1, [r1, r4]
- mul r1, r2
- add r0, r0, r1
- ldr r0, [r0, #0x4]
- add r5, r6, r0
- ldr r0, [r5, #0x14]
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- add r1, r0, r7
- ldr r0, _0201FA00 ; =0x0000FFFF
- cmp r1, r0
- bls _0201F9EC
- bl ErrorHandling
-_0201F9EC:
- ldr r0, [r5, #0x14]
- add r4, r4, #0x1
- add r0, r0, r7
- str r0, [r5, #0x14]
- ldr r0, [sp, #0x0]
- ldrb r0, [r0, #0x2]
- cmp r4, r0
- blt _0201F9C4
-_0201F9FC:
- add sp, #0xc
- pop {r4-r7, pc}
- .balign 4
-_0201FA00: .word 0x0000FFFF
-
- thumb_func_start FUN_0201FA04
-FUN_0201FA04: ; 0x0201FA04
- push {r3-r7, lr}
- ldr r3, [r0, #0x8]
- add r7, r0, r3
- ldrh r0, [r7, #0x2]
- add r4, r7, r0
- ldrh r0, [r1, #0x34]
- add r5, r1, r0
- ldrh r0, [r5, #0x6]
- add r1, r5, r0
- ldrh r0, [r5, r0]
- add r3, r1, #0x4
- add r1, r0, #0x0
- mul r1, r2
- add r0, r3, r1
- ldrh r6, [r3, r1]
- ldrh r1, [r0, #0x2]
- mov r0, #0x1
- tst r0, r1
- bne _0201FA2C
- lsr r6, r6, #0x1
-_0201FA2C:
- ldrb r0, [r4, #0x1]
- mov r5, #0x0
- cmp r0, #0x0
- bls _0201FA5A
-_0201FA34:
- ldrh r0, [r4, #0x6]
- add r1, r4, r0
- ldrh r0, [r4, r0]
- add r2, r1, #0x4
- add r1, r0, #0x0
- mul r1, r5
- add r1, r2, r1
- ldrb r2, [r1, #0x3]
- mov r0, #0x1
- tst r0, r2
- beq _0201FA52
- add r0, r7, #0x0
- add r2, r6, #0x0
- bl FUN_0201FA5C
-_0201FA52:
- ldrb r0, [r4, #0x1]
- add r5, r5, #0x1
- cmp r5, r0
- blo _0201FA34
-_0201FA5A:
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0201FA5C
-FUN_0201FA5C: ; 0x0201FA5C
- push {r4-r7, lr}
- sub sp, #0xc
- add r6, r0, #0x0
- add r0, r1, #0x0
- ldrh r0, [r0, #0x0]
- str r1, [sp, #0x0]
- add r7, r2, #0x0
- add r0, r6, r0
- str r0, [sp, #0x4]
- add r0, r1, #0x0
- ldrb r0, [r0, #0x2]
- mov r4, #0x0
- cmp r0, #0x0
- bls _0201FAB4
- add r0, r6, #0x4
- str r0, [sp, #0x8]
-_0201FA7C:
- ldrh r2, [r6, #0xa]
- ldr r0, [sp, #0x8]
- ldr r1, [sp, #0x8]
- add r0, r0, r2
- ldrh r2, [r1, r2]
- ldr r1, [sp, #0x4]
- ldrb r1, [r1, r4]
- mul r1, r2
- add r0, r0, r1
- ldr r0, [r0, #0x4]
- add r5, r6, r0
- ldrh r1, [r5, #0x1c]
- ldr r0, _0201FAB8 ; =0x00001FFF
- and r0, r1
- add r1, r0, r7
- ldr r0, _0201FAB8 ; =0x00001FFF
- cmp r1, r0
- bls _0201FAA4
- bl ErrorHandling
-_0201FAA4:
- ldrh r0, [r5, #0x1c]
- add r4, r4, #0x1
- add r0, r0, r7
- strh r0, [r5, #0x1c]
- ldr r0, [sp, #0x0]
- ldrb r0, [r0, #0x2]
- cmp r4, r0
- blo _0201FA7C
-_0201FAB4:
- add sp, #0xc
- pop {r4-r7, pc}
- .balign 4
-_0201FAB8: .word 0x00001FFF
-
- thumb_func_start FUN_0201FABC
-FUN_0201FABC: ; 0x0201FABC
- push {r3-r7, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0x8]
- mov r7, #0x0
- cmp r0, #0x0
- ble _0201FAEC
- add r4, r7, #0x0
- add r6, r7, #0x0
-_0201FACC:
- ldr r0, [r5, #0x4]
- add r0, r0, r4
- bl FUN_0201F094
- ldr r0, [r5, #0x4]
- add r7, r7, #0x1
- add r1, r0, r4
- add r0, r5, #0x0
- add r0, #0xc4
- ldr r0, [r0, #0x0]
- add r4, #0xb8
- str r1, [r0, r6]
- ldr r0, [r5, #0x8]
- add r6, r6, #0x4
- cmp r7, r0
- blt _0201FACC
-_0201FAEC:
- mov r0, #0x0
- add r5, #0xc8
- str r0, [r5, #0x0]
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0201FAF4
-FUN_0201FAF4: ; 0x0201FAF4
- add r1, r0, #0x0
- add r1, #0xc8
- ldr r3, [r1, #0x0]
- ldr r1, [r0, #0x8]
- cmp r3, r1
- blt _0201FB04
- mov r0, #0x0
- bx lr
-_0201FB04:
- add r1, r0, #0x0
- add r1, #0xc4
- ldr r2, [r1, #0x0]
- lsl r1, r3, #0x2
- ldr r2, [r2, r1]
- add r1, r0, #0x0
- add r1, #0xc8
- ldr r1, [r1, #0x0]
- add r0, #0xc8
- add r1, r1, #0x1
- str r1, [r0, #0x0]
- add r0, r2, #0x0
- bx lr
- .balign 4
-
- thumb_func_start FUN_0201FB20
-FUN_0201FB20: ; 0x0201FB20
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, #0xc8
- ldr r0, [r0, #0x0]
- add r4, r1, #0x0
- cmp r0, #0x0
- bgt _0201FB32
- mov r0, #0x0
- pop {r3-r5, pc}
-_0201FB32:
- add r0, r4, #0x0
- bl FUN_0201F094
- add r0, r5, #0x0
- add r0, #0xc8
- ldr r0, [r0, #0x0]
- sub r1, r0, #0x1
- add r0, r5, #0x0
- add r0, #0xc8
- str r1, [r0, #0x0]
- add r0, r5, #0x0
- add r0, #0xc4
- add r5, #0xc8
- ldr r1, [r0, #0x0]
- ldr r0, [r5, #0x0]
- lsl r0, r0, #0x2
- str r4, [r1, r0]
- mov r0, #0x1
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0201FB58
-FUN_0201FB58: ; 0x0201FB58
- add r2, r0, #0x0
- add r2, #0xb4
- ldr r3, [r2, #0x0]
- add r2, r1, #0x0
- add r2, #0xb4
- str r3, [r2, #0x0]
- add r2, r0, #0x0
- add r2, #0xb4
- ldr r2, [r2, #0x0]
- add r2, #0xb0
- str r1, [r2, #0x0]
- add r2, r1, #0x0
- add r2, #0xb0
- str r0, [r2, #0x0]
- add r0, #0xb4
- str r1, [r0, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_0201FB7C
-FUN_0201FB7C: ; 0x0201FB7C
- add r1, r0, #0x0
- add r1, #0xb0
- ldr r2, [r1, #0x0]
- add r1, r0, #0x0
- add r1, #0xb4
- ldr r1, [r1, #0x0]
- add r1, #0xb0
- str r2, [r1, #0x0]
- add r1, r0, #0x0
- add r0, #0xb0
- add r1, #0xb4
- ldr r0, [r0, #0x0]
- ldr r1, [r1, #0x0]
- add r0, #0xb4
- str r1, [r0, #0x0]
- bx lr
-
- thumb_func_start FUN_0201FB9C
-FUN_0201FB9C: ; 0x0201FB9C
- push {r3-r7, lr}
- add r6, r1, #0x0
- mov r1, #0x0
- add r5, r2, #0x0
- bl FUN_0201FC90
- add r7, r0, #0x0
- blx FUN_020BC13C
- add r4, r0, #0x0
- ldrh r0, [r4, #0xe]
- add r0, r4, r0
- ldr r0, [r0, #0xc]
- add r0, r4, r0
- str r0, [r6, #0x0]
- cmp r5, #0x0
- beq _0201FBC6
- add r0, r7, #0x0
- blx FUN_020BC0FC
- str r0, [r5, #0x0]
-_0201FBC6:
- add r0, r4, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0201FBCC
-FUN_0201FBCC: ; 0x0201FBCC
- ldr r3, _0201FBD4 ; =FUN_0201FC90
- mov r1, #0x1
- bx r3
- nop
-_0201FBD4: .word FUN_0201FC90
-
- thumb_func_start FUN_0201FBD8
-FUN_0201FBD8: ; 0x0201FBD8
- push {r3, lr}
- ldr r2, [r1, #0x1c]
- cmp r2, #0x0
- bne _0201FBE6
- bl FUN_0201F384
- pop {r3, pc}
-_0201FBE6:
- bl FUN_0201F3D4
- pop {r3, pc}
-
- thumb_func_start FUN_0201FBEC
-FUN_0201FBEC: ; 0x0201FBEC
- push {r3, lr}
- ldr r0, [r0, #0x20]
- bl FUN_0201FCA8
- ldr r0, [r0, #0x0]
- lsl r0, r0, #0xc
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0201FBFC
-FUN_0201FBFC: ; 0x0201FBFC
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- add r1, r5, #0x0
- add r1, #0xaa
- ldrh r1, [r1, #0x0]
- ldr r0, [r5, #0x20]
- bl FUN_0201FCA8
- add r5, #0xac
- add r1, r5, #0x0
- add r2, r4, #0x0
- bl FUN_0201FC1C
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0201FC1C
-FUN_0201FC1C: ; 0x0201FC1C
- push {r3-r6}
- ldr r4, [r0, #0x0]
- ldr r6, [r1, #0x0]
- lsl r4, r4, #0xc
- mov r3, #0x0
- cmp r4, r6
- bgt _0201FC32
- ldr r5, [r0, #0x4]
- lsl r5, r5, #0xc
- cmp r5, r6
- bge _0201FC36
-_0201FC32:
- str r4, [r1, #0x0]
- b _0201FC4E
-_0201FC36:
- add r2, r6, r2
- cmp r5, r2
- bge _0201FC4C
- ldr r0, [r0, #0x8]
- cmp r0, #0x0
- bne _0201FC46
- str r4, [r1, #0x0]
- b _0201FC4E
-_0201FC46:
- mov r3, #0x1
- str r5, [r1, #0x0]
- b _0201FC4E
-_0201FC4C:
- str r2, [r1, #0x0]
-_0201FC4E:
- add r0, r3, #0x0
- pop {r3-r6}
- bx lr
-
- thumb_func_start FUN_0201FC54
-FUN_0201FC54: ; 0x0201FC54
- push {r3, lr}
- add r3, r0, #0x0
- add r0, #0x90
- str r0, [sp, #0x0]
- add r0, r3, #0x0
- add r0, #0x80
- add r2, r3, #0x0
- ldr r1, [r3, #0x78]
- ldr r0, [r0, #0x0]
- add r2, #0x88
- add r3, #0x8c
- bl FUN_0201F500
- pop {r3, pc}
-
- thumb_func_start FUN_0201FC70
-FUN_0201FC70: ; 0x0201FC70
- push {r3-r4, lr}
- sub sp, #0xc
- add r4, r0, #0x0
- ldr r0, [r4, #0x78]
- blx FUN_020B772C
- add r4, #0x80
- ldr r0, [r4, #0x0]
- add r1, sp, #0x4
- add r2, sp, #0x8
- add r3, sp, #0x0
- bl FUN_0201F4EC
- add sp, #0xc
- pop {r3-r4, pc}
- .balign 4
-
- thumb_func_start FUN_0201FC90
-FUN_0201FC90: ; 0x0201FC90
- cmp r1, #0x0
- beq _0201FC9A
- cmp r1, #0x1
- beq _0201FC9E
- b _0201FCA2
-_0201FC9A:
- ldr r0, [r0, #0x0]
- bx lr
-_0201FC9E:
- ldr r0, [r0, #0x4]
- bx lr
-_0201FCA2:
- mov r0, #0x0
- bx lr
- .balign 4
-
- thumb_func_start FUN_0201FCA8
-FUN_0201FCA8: ; 0x0201FCA8
- mov r2, #0xc
- mul r2, r1
- add r0, r0, r2
- bx lr
-
- thumb_func_start FUN_0201FCB0
-FUN_0201FCB0: ; 0x0201FCB0
- push {r3-r5, lr}
- add r5, r0, #0x0
- bne _0201FCBA
- bl ErrorHandling
-_0201FCBA:
- ldr r0, [r5, #0x4]
- cmp r0, #0x0
- bne _0201FCC4
- bl ErrorHandling
-_0201FCC4:
- mov r1, #0x49
- ldr r0, [r5, #0x8]
- lsl r1, r1, #0x2
- bl FUN_02016998
- add r4, r0, #0x0
- bne _0201FCD6
- bl ErrorHandling
-_0201FCD6:
- add r0, r4, #0x0
- bl FUN_0201FE44
- ldr r2, [r5, #0x0]
- ldr r0, [r5, #0x8]
- lsl r1, r2, #0x6
- add r1, r2, r1
- lsl r1, r1, #0x2
- bl FUN_02016998
- str r0, [r4, #0x0]
- cmp r0, #0x0
- bne _0201FCF4
- bl ErrorHandling
-_0201FCF4:
- ldr r0, [r5, #0x0]
- str r0, [r4, #0x4]
- ldr r1, [r5, #0x0]
- ldr r0, [r5, #0x8]
- lsl r1, r1, #0x2
- bl FUN_02016998
- str r0, [r4, #0x8]
- cmp r0, #0x0
- bne _0201FD0C
- bl ErrorHandling
-_0201FD0C:
- add r0, r4, #0x0
- bl FUN_0202083C
- add r0, r4, #0x0
- add r0, #0x10
- bl FUN_0201FE6C
- add r2, r4, #0x0
- mov r1, #0x43
- lsl r1, r1, #0x2
- add r2, #0x10
- str r2, [r4, r1]
- add r0, r1, #0x4
- str r2, [r4, r0]
- ldr r0, [r5, #0x4]
- add r1, #0x8
- str r0, [r4, r1]
- ldr r0, [r5, #0x8]
- ldr r1, _0201FD54 ; =0x02105BBC
- bl FUN_020161A4
- mov r1, #0x46
- lsl r1, r1, #0x2
- str r0, [r4, r1]
- ldr r0, [r4, r1]
- add r1, r1, #0x4
- add r1, r4, r1
- blx thunk_FUN_020afda0_2
- mov r0, #0x12
- mov r1, #0x1
- lsl r0, r0, #0x4
- str r1, [r4, r0]
- add r0, r4, #0x0
- pop {r3-r5, pc}
- nop
-_0201FD54: .word 0x02105BBC
-
- thumb_func_start FUN_0201FD58
-FUN_0201FD58: ; 0x0201FD58
- push {r4, lr}
- add r4, r0, #0x0
- bne _0201FD62
- mov r0, #0x0
- pop {r4, pc}
-_0201FD62:
- ldr r1, [r4, #0x0]
- cmp r1, #0x0
- bne _0201FD6C
- mov r0, #0x1
- pop {r4, pc}
-_0201FD6C:
- bl FUN_0201FDB4
- mov r0, #0x46
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- bl FUN_02016A18
- ldr r0, [r4, #0x8]
- bl FUN_02016A18
- ldr r0, [r4, #0x0]
- bl FUN_02016A18
- add r0, r4, #0x0
- bl FUN_0201FE44
- add r0, r4, #0x0
- bl FUN_02016A18
- mov r0, #0x1
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0201FD98
-FUN_0201FD98: ; 0x0201FD98
- cmp r0, #0x0
- bne _0201FDA0
- mov r0, #0x0
- bx lr
-_0201FDA0:
- ldr r2, [r0, #0x0]
- cmp r2, #0x0
- bne _0201FDAA
- mov r0, #0x0
- bx lr
-_0201FDAA:
- mov r2, #0x12
- lsl r2, r2, #0x4
- str r1, [r0, r2]
- mov r0, #0x1
- bx lr
-
- thumb_func_start FUN_0201FDB4
-FUN_0201FDB4: ; 0x0201FDB4
- push {r4-r6, lr}
- cmp r0, #0x0
- bne _0201FDBE
- mov r0, #0x0
- pop {r4-r6, pc}
-_0201FDBE:
- ldr r1, [r0, #0x0]
- cmp r1, #0x0
- bne _0201FDC8
- mov r0, #0x1
- pop {r4-r6, pc}
-_0201FDC8:
- mov r1, #0x11
- lsl r1, r1, #0x4
- add r4, r0, #0x0
- ldr r1, [r0, r1]
- add r4, #0x10
- cmp r1, r4
- beq _0201FDE8
- mov r6, #0x1
- lsl r6, r6, #0x8
-_0201FDDA:
- ldr r5, [r1, r6]
- add r0, r1, #0x0
- bl FUN_0201FFC8
- add r1, r5, #0x0
- cmp r5, r4
- bne _0201FDDA
-_0201FDE8:
- mov r0, #0x1
- pop {r4-r6, pc}
-
- thumb_func_start FUN_0201FDEC
-FUN_0201FDEC: ; 0x0201FDEC
- push {r3-r7, lr}
- add r5, r0, #0x0
- bne _0201FDF6
- bl ErrorHandling
-_0201FDF6:
- mov r0, #0x12
- lsl r0, r0, #0x4
- ldr r1, [r5, r0]
- cmp r1, #0x0
- beq _0201FE38
- sub r0, #0x10
- add r6, r5, #0x0
- ldr r4, [r5, r0]
- add r6, #0x10
- cmp r4, r6
- beq _0201FE38
- ldr r7, _0201FE3C ; =0x020EE658
-_0201FE0E:
- add r2, r4, #0x0
- add r2, #0x34
- ldrb r2, [r2, #0x0]
- add r0, r5, #0x0
- add r1, r4, #0x0
- lsl r2, r2, #0x2
- ldr r2, [r7, r2]
- blx r2
- add r1, r4, #0x0
- add r1, #0x35
- ldrb r1, [r1, #0x0]
- add r0, r4, #0x0
- lsl r2, r1, #0x2
- ldr r1, _0201FE40 ; =0x020EE660
- ldr r1, [r1, r2]
- blx r1
- mov r0, #0x1
- lsl r0, r0, #0x8
- ldr r4, [r4, r0]
- cmp r4, r6
- bne _0201FE0E
-_0201FE38:
- pop {r3-r7, pc}
- nop
-_0201FE3C: .word 0x020EE658
-_0201FE40: .word 0x020EE660
-
- thumb_func_start FUN_0201FE44
-FUN_0201FE44: ; 0x0201FE44
- push {r4, lr}
- add r4, r0, #0x0
- mov r1, #0x0
- str r1, [r4, #0x0]
- str r1, [r4, #0x4]
- str r1, [r4, #0x8]
- mov r0, #0x45
- str r1, [r4, #0xc]
- lsl r0, r0, #0x2
- str r1, [r4, r0]
- add r0, r4, #0x0
- add r0, #0x10
- bl FUN_0201FE6C
- mov r0, #0x12
- mov r1, #0x0
- lsl r0, r0, #0x4
- str r1, [r4, r0]
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0201FE6C
-FUN_0201FE6C: ; 0x0201FE6C
- push {r4, lr}
- mov r2, #0x41
- add r4, r0, #0x0
- mov r1, #0x0
- lsl r2, r2, #0x2
- str r1, [r4, #0x3c]
- blx Call_FillMemWithValue
- add r0, r4, #0x0
- add r0, #0xb4
- blx FUN_020B1A24
- add r0, r4, #0x0
- add r0, #0xd8
- blx FUN_020B19DC
- mov r0, #0x0
- str r0, [r4, #0x30]
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0201FE94
-FUN_0201FE94: ; 0x0201FE94
- push {r4-r6, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_02020874
- add r4, r0, #0x0
- bne _0201FEA6
- mov r0, #0x0
- pop {r4-r6, pc}
-_0201FEA6:
- ldr r0, [r5, #0x0]
- add r6, r5, #0x0
- str r0, [r4, #0x3c]
- add r0, r4, #0x0
- mov r2, #0x0
- add r0, #0xf0
- add r6, #0x8
- strh r2, [r0, #0x0]
- ldmia r6!, {r0-r1}
- add r3, r4, #0x0
- stmia r3!, {r0-r1}
- ldr r0, [r6, #0x0]
- add r6, r5, #0x0
- str r0, [r3, #0x0]
- add r6, #0x14
- add r3, r4, #0x0
- ldmia r6!, {r0-r1}
- add r3, #0x18
- stmia r3!, {r0-r1}
- ldr r0, [r6, #0x0]
- str r0, [r3, #0x0]
- ldrh r0, [r5, #0x20]
- strh r0, [r4, #0x24]
- add r0, r4, #0x0
- ldr r1, [r5, #0x28]
- add r0, #0xf8
- str r1, [r0, #0x0]
- add r0, r4, #0x0
- ldr r1, [r5, #0x24]
- add r0, #0xf4
- strh r1, [r0, #0x0]
- add r0, r4, #0x0
- add r0, #0x26
- strb r2, [r0, #0x0]
- add r0, r4, #0x0
- add r0, #0x27
- strb r2, [r0, #0x0]
- str r2, [r4, #0x2c]
- add r0, r4, #0x0
- str r2, [r4, #0x30]
- mov r1, #0x11
- add r0, #0x28
- strb r1, [r0, #0x0]
- mov r0, #0x45
- ldr r1, [r5, #0x0]
- lsl r0, r0, #0x2
- ldr r0, [r1, r0]
- add r1, r4, #0x0
- add r1, #0x26
- ldrb r1, [r1, #0x0]
- blx FUN_020B502C
- add r0, r4, #0x0
- add r0, #0x27
- ldrb r2, [r0, #0x0]
- mov r0, #0x45
- ldr r1, [r5, #0x0]
- lsl r0, r0, #0x2
- ldr r0, [r1, r0]
- mov r1, #0x1
- mov r3, #0x2
- and r1, r2
- and r2, r3
- blx FUN_020B4F38
- add r0, r4, #0x0
- mov r2, #0x1
- add r0, #0x34
- strb r2, [r0, #0x0]
- add r0, r4, #0x0
- mov r1, #0x0
- add r0, #0x35
- strb r1, [r0, #0x0]
- lsl r0, r2, #0xd
- str r0, [r4, #0x38]
- ldr r0, [r5, #0x0]
- ldr r1, [r5, #0x4]
- ldr r3, [r5, #0x2c]
- add r2, r4, #0x0
- bl FUN_02020434
- cmp r0, #0x0
- bne _0201FF56
- add r0, r4, #0x0
- bl FUN_0201FFC8
- mov r0, #0x0
- pop {r4-r6, pc}
-_0201FF56:
- add r1, r4, #0x0
- add r1, #0xf8
- add r0, r4, #0x0
- ldr r1, [r1, #0x0]
- add r0, #0xd8
- bl FUN_020205E8
- add r1, r4, #0x0
- add r1, #0x2a
- strb r0, [r1, #0x0]
- add r0, r4, #0x0
- add r0, #0x2a
- ldrb r1, [r0, #0x0]
- add r0, r4, #0x0
- add r0, #0x29
- strb r1, [r0, #0x0]
- ldr r0, [r5, #0x0]
- add r1, r4, #0x0
- bl FUN_02020788
- add r0, r4, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_0201FF84
-FUN_0201FF84: ; 0x0201FF84
- push {r4, lr}
- sub sp, #0x30
- add r2, r0, #0x0
- ldr r0, [r2, #0x0]
- add r4, r2, #0x0
- str r0, [sp, #0x0]
- ldr r0, [r2, #0x4]
- add r4, #0x8
- str r0, [sp, #0x4]
- ldmia r4!, {r0-r1}
- add r3, sp, #0x8
- stmia r3!, {r0-r1}
- ldr r0, [r4, #0x0]
- mov r1, #0x0
- str r0, [r3, #0x0]
- mov r0, #0x1
- lsl r0, r0, #0xc
- str r0, [sp, #0x14]
- str r0, [sp, #0x18]
- str r0, [sp, #0x1c]
- add r0, sp, #0x0
- strh r1, [r0, #0x20]
- ldr r0, [r2, #0x14]
- str r0, [sp, #0x24]
- ldr r0, [r2, #0x18]
- str r0, [sp, #0x28]
- ldr r0, [r2, #0x1c]
- str r0, [sp, #0x2c]
- add r0, sp, #0x0
- bl FUN_0201FE94
- add sp, #0x30
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0201FFC8
-FUN_0201FFC8: ; 0x0201FFC8
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r1, r5, #0x0
- add r1, #0xec
- ldr r1, [r1, #0x0]
- cmp r1, #0x0
- beq _02020040
- add r1, r5, #0x0
- add r1, #0xfc
- ldr r1, [r1, #0x0]
- cmp r1, #0x0
- beq _0201FFE4
- bl FUN_02020820
-_0201FFE4:
- add r0, r5, #0x0
- add r0, #0xec
- ldr r0, [r0, #0x0]
- cmp r0, #0x3
- bne _0202000E
- add r1, r5, #0x0
- add r1, #0xf8
- add r0, r5, #0x0
- add r4, r5, #0x0
- ldr r1, [r1, #0x0]
- add r0, #0xb4
- add r4, #0x40
- blx FUN_020B1A14
- mov r1, #0x0
- mvn r1, r1
- cmp r0, r1
- beq _0202000E
- ldr r0, [r4, #0x5c]
- blx FUN_020B4358
-_0202000E:
- add r0, r5, #0x0
- add r0, #0xec
- ldr r0, [r0, #0x0]
- cmp r0, #0x2
- bne _02020030
- add r4, r5, #0x0
- add r4, #0x40
- ldr r0, [r4, #0x70]
- cmp r0, #0x0
- beq _02020026
- bl FUN_02016A18
-_02020026:
- ldr r0, [r4, #0x74]
- cmp r0, #0x0
- beq _02020030
- bl FUN_02016A18
-_02020030:
- add r0, r5, #0x0
- mov r1, #0x0
- add r0, #0xec
- str r1, [r0, #0x0]
- ldr r0, [r5, #0x3c]
- add r1, r5, #0x0
- bl FUN_02020890
-_02020040:
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02020044
-FUN_02020044: ; 0x02020044
- add r2, r1, #0x0
- add r3, r0, #0x0
- ldmia r2!, {r0-r1}
- stmia r3!, {r0-r1}
- ldr r0, [r2, #0x0]
- str r0, [r3, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02020054
-FUN_02020054: ; 0x02020054
- add r3, r1, #0x0
- add r2, r0, #0x0
- ldmia r3!, {r0-r1}
- add r2, #0xc
- stmia r2!, {r0-r1}
- ldr r0, [r3, #0x0]
- str r0, [r2, #0x0]
- bx lr
-
- thumb_func_start FUN_02020064
-FUN_02020064: ; 0x02020064
- add r3, r1, #0x0
- add r2, r0, #0x0
- ldmia r3!, {r0-r1}
- add r2, #0x18
- stmia r2!, {r0-r1}
- ldr r0, [r3, #0x0]
- str r0, [r2, #0x0]
- bx lr
-
- thumb_func_start FUN_02020074
-FUN_02020074: ; 0x02020074
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r2, #0x0
- bl FUN_02020064
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_020200EC
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02020088
-FUN_02020088: ; 0x02020088
- strh r1, [r0, #0x24]
- bx lr
-
- thumb_func_start FUN_0202008C
-FUN_0202008C: ; 0x0202008C
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r2, #0x0
- bl FUN_02020088
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_020200EC
- pop {r3-r5, pc}
-
- thumb_func_start FUN_020200A0
-FUN_020200A0: ; 0x020200A0
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- cmp r5, #0x0
- bne _020200AE
- bl ErrorHandling
-_020200AE:
- cmp r4, #0x2
- blt _020200B6
- bl ErrorHandling
-_020200B6:
- add r5, #0x34
- strb r4, [r5, #0x0]
- pop {r3-r5, pc}
-
- thumb_func_start FUN_020200BC
-FUN_020200BC: ; 0x020200BC
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- cmp r5, #0x0
- bne _020200CA
- bl ErrorHandling
-_020200CA:
- cmp r4, #0x2
- blt _020200D2
- bl ErrorHandling
-_020200D2:
- add r5, #0x35
- strb r4, [r5, #0x0]
- pop {r3-r5, pc}
-
- thumb_func_start FUN_020200D8
-FUN_020200D8: ; 0x020200D8
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- cmp r5, #0x0
- bne _020200E6
- bl ErrorHandling
-_020200E6:
- str r4, [r5, #0x38]
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_020200EC
-FUN_020200EC: ; 0x020200EC
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- cmp r5, #0x0
- bne _020200FA
- bl ErrorHandling
-_020200FA:
- add r5, #0x26
- strb r4, [r5, #0x0]
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02020100
-FUN_02020100: ; 0x02020100
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- cmp r5, #0x0
- bne _0202010E
- bl ErrorHandling
-_0202010E:
- add r0, r5, #0x0
- add r0, #0x27
- strb r4, [r0, #0x0]
- mov r0, #0x0
- add r5, #0x26
- strb r0, [r5, #0x0]
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0202011C
-FUN_0202011C: ; 0x0202011C
- bx lr
- .balign 4
-
- thumb_func_start FUN_02020120
-FUN_02020120: ; 0x02020120
- add r0, #0x18
- bx lr
-
- thumb_func_start FUN_02020124
-FUN_02020124: ; 0x02020124
- ldrh r0, [r0, #0x24]
- bx lr
-
- thumb_func_start FUN_02020128
-FUN_02020128: ; 0x02020128
- add r0, #0x34
- ldrb r0, [r0, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02020130
-FUN_02020130: ; 0x02020130
- push {r4, lr}
- lsl r2, r1, #0x10
- lsr r3, r2, #0x10
- add r2, r0, #0x0
- add r2, #0xf0
- strh r3, [r2, #0x0]
- add r2, r0, #0x0
- add r2, #0xec
- ldr r2, [r2, #0x0]
- cmp r2, #0x1
- beq _0202014A
- cmp r2, #0x3
- bne _02020168
-_0202014A:
- add r4, r0, #0x0
- add r4, #0x40
- lsl r1, r1, #0x10
- ldr r0, [r4, #0x4]
- lsr r1, r1, #0x10
- blx FUN_020AFC04
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x8
- blx FUN_020B1EE4
- mov r0, #0x1
- str r0, [r4, #0x10]
- pop {r4, pc}
-_02020168:
- add r4, r0, #0x0
- add r4, #0x40
- ldr r0, [r4, #0x6c]
- add r1, r3, #0x0
- blx FUN_020AFC04
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x8
- blx FUN_020B242C
- mov r0, #0x1
- str r0, [r4, #0x10]
- pop {r4, pc}
-
- thumb_func_start FUN_02020184
-FUN_02020184: ; 0x02020184
- push {r3, lr}
- add r2, r0, #0x0
- add r2, #0xf0
- ldrh r2, [r2, #0x0]
- cmp r2, r1
- beq _02020194
- bl FUN_02020130
-_02020194:
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_02020198
-FUN_02020198: ; 0x02020198
- push {r3-r5, lr}
- add r4, r0, #0x0
- add r0, #0xec
- ldr r0, [r0, #0x0]
- cmp r0, #0x1
- beq _020201A8
- cmp r0, #0x3
- bne _020201C2
-_020201A8:
- add r5, r4, #0x0
- add r5, #0x40
- add r0, r5, #0x0
- add r0, #0x8
- blx FUN_020B0448
- mov r0, #0x1
- str r0, [r5, #0x10]
- add r0, r4, #0x0
- mov r1, #0x0
- bl FUN_02020208
- pop {r3-r5, pc}
-_020201C2:
- add r5, r4, #0x0
- add r5, #0x40
- add r0, r5, #0x0
- add r0, #0x8
- blx FUN_020B0448
- mov r0, #0x1
- str r0, [r5, #0x10]
- add r0, r4, #0x0
- mov r1, #0x0
- bl FUN_02020208
- pop {r3-r5, pc}
-
- thumb_func_start FUN_020201DC
-FUN_020201DC: ; 0x020201DC
- add r0, #0xf0
- ldrh r0, [r0, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_020201E4
-FUN_020201E4: ; 0x020201E4
- push {r3, lr}
- add r2, r0, #0x0
- add r2, #0xec
- ldr r2, [r2, #0x0]
- cmp r2, #0x1
- beq _020201F4
- cmp r2, #0x3
- bne _020201FE
-_020201F4:
- add r0, #0x40
- add r0, #0x8
- blx FUN_020B1EC4
- pop {r3, pc}
-_020201FE:
- add r0, #0x40
- add r0, #0x8
- blx FUN_020B224C
- pop {r3, pc}
-
- thumb_func_start FUN_02020208
-FUN_02020208: ; 0x02020208
- push {r3, lr}
- add r2, r0, #0x0
- add r2, #0xec
- ldr r2, [r2, #0x0]
- cmp r2, #0x1
- beq _02020218
- cmp r2, #0x3
- bne _02020222
-_02020218:
- add r0, #0x40
- add r0, #0x8
- blx FUN_020B1EA4
- pop {r3, pc}
-_02020222:
- add r0, #0x40
- add r0, #0x8
- blx FUN_020B2194
- pop {r3, pc}
-
- thumb_func_start FUN_0202022C
-FUN_0202022C: ; 0x0202022C
- ldr r3, _02020234 ; =0x020B04FC
- add r0, #0x40
- add r0, #0x8
- bx r3
- .balign 4
-_02020234: .word 0x020B04FC
-
- thumb_func_start FUN_02020238
-FUN_02020238: ; 0x02020238
- add r0, #0xf2
- strb r1, [r0, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02020240
-FUN_02020240: ; 0x02020240
- add r0, #0xf2
- ldrb r0, [r0, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02020248
-FUN_02020248: ; 0x02020248
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- cmp r5, #0x0
- bne _02020256
- bl ErrorHandling
-_02020256:
- add r0, r5, #0x0
- add r0, #0x29
- strb r4, [r0, #0x0]
- add r0, r5, #0x0
- add r0, #0x28
- ldrb r1, [r0, #0x0]
- mov r0, #0x2
- orr r1, r0
- add r0, r5, #0x0
- add r0, #0x28
- strb r1, [r0, #0x0]
- add r0, r5, #0x0
- add r0, #0x28
- ldrb r1, [r0, #0x0]
- mov r0, #0x10
- add r5, #0x28
- bic r1, r0
- strb r1, [r5, #0x0]
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0202027C
-FUN_0202027C: ; 0x0202027C
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_02020248
- add r1, r4, #0x0
- add r1, #0xf8
- add r0, r4, #0x0
- ldr r1, [r1, #0x0]
- add r0, #0xd8
- bl FUN_020205E8
- add r1, r4, #0x0
- add r1, #0x29
- ldrb r1, [r1, #0x0]
- add r4, #0x29
- add r0, r1, r0
- strb r0, [r4, #0x0]
- pop {r4, pc}
-
- thumb_func_start FUN_020202A0
-FUN_020202A0: ; 0x020202A0
- add r0, #0x29
- ldrb r0, [r0, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_020202A8
-FUN_020202A8: ; 0x020202A8
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- cmp r5, #0x0
- bne _020202B6
- bl ErrorHandling
-_020202B6:
- add r0, r5, #0x0
- add r0, #0x2a
- strb r4, [r0, #0x0]
- add r0, r5, #0x0
- add r0, #0x28
- ldrb r1, [r0, #0x0]
- mov r0, #0x10
- orr r1, r0
- add r0, r5, #0x0
- add r0, #0x28
- strb r1, [r0, #0x0]
- add r0, r5, #0x0
- add r0, #0x28
- ldrb r1, [r0, #0x0]
- mov r0, #0x2
- add r5, #0x28
- bic r1, r0
- strb r1, [r5, #0x0]
- pop {r3-r5, pc}
-
- thumb_func_start FUN_020202DC
-FUN_020202DC: ; 0x020202DC
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_020202A8
- add r1, r4, #0x0
- add r1, #0xf8
- add r0, r4, #0x0
- ldr r1, [r1, #0x0]
- add r0, #0xd8
- bl FUN_020205E8
- add r1, r4, #0x0
- add r1, #0x2a
- ldrb r1, [r1, #0x0]
- add r4, #0x2a
- add r0, r1, r0
- strb r0, [r4, #0x0]
- pop {r4, pc}
-
- thumb_func_start FUN_02020300
-FUN_02020300: ; 0x02020300
- push {r4, lr}
- add r4, r0, #0x0
- bne _0202030A
- bl ErrorHandling
-_0202030A:
- add r4, #0x2a
- ldrb r0, [r4, #0x0]
- pop {r4, pc}
-
- thumb_func_start FUN_02020310
-FUN_02020310: ; 0x02020310
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r2, r5, #0x0
- ldr r4, [r5, #0x3c]
- add r2, #0xf4
- strh r1, [r2, #0x0]
- bl FUN_02020820
- add r0, r4, #0x0
- add r1, r5, #0x0
- bl FUN_02020788
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0202032C
-FUN_0202032C: ; 0x0202032C
- add r0, #0xf4
- ldrh r0, [r0, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02020334
-FUN_02020334: ; 0x02020334
- push {r3-r4}
- add r3, r0, #0x0
- add r4, r1, #0x0
- add r3, #0xb4
- mov r2, #0x4
-_0202033E:
- ldmia r4!, {r0-r1}
- stmia r3!, {r0-r1}
- sub r2, r2, #0x1
- bne _0202033E
- ldr r0, [r4, #0x0]
- str r0, [r3, #0x0]
- pop {r3-r4}
- bx lr
- .balign 4
-
- thumb_func_start FUN_02020350
-FUN_02020350: ; 0x02020350
- add r0, #0xb4
- bx lr
-
- thumb_func_start FUN_02020354
-FUN_02020354: ; 0x02020354
- add r0, #0xd8
- bx lr
-
- thumb_func_start FUN_02020358
-FUN_02020358: ; 0x02020358
- str r1, [r0, #0x2c]
- cmp r1, #0x1
- bne _0202036E
- add r1, r0, #0x0
- add r1, #0x28
- ldrb r2, [r1, #0x0]
- mov r1, #0x4
- add r0, #0x28
- orr r1, r2
- strb r1, [r0, #0x0]
- bx lr
-_0202036E:
- add r1, r0, #0x0
- add r1, #0x28
- ldrb r2, [r1, #0x0]
- mov r1, #0x4
- eor r1, r2
- add r0, #0x28
- strb r1, [r0, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02020380
-FUN_02020380: ; 0x02020380
- add r0, #0xf8
- ldr r0, [r0, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02020388
-FUN_02020388: ; 0x02020388
- push {r4, lr}
- add r4, r0, #0x0
- bne _02020392
- bl ErrorHandling
-_02020392:
- ldr r0, [r4, #0x50]
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02020398
-FUN_02020398: ; 0x02020398
- push {r3-r5, lr}
- add r4, r0, #0x0
- add r5, r1, #0x0
- cmp r4, #0x0
- bne _020203A6
- bl ErrorHandling
-_020203A6:
- str r5, [r4, #0x30]
- cmp r5, #0x0
- bne _020203BC
- add r0, r4, #0x0
- add r0, #0x28
- ldrb r1, [r0, #0x0]
- mov r0, #0x8
- add r4, #0x28
- eor r0, r1
- strb r0, [r4, #0x0]
- pop {r3-r5, pc}
-_020203BC:
- add r0, r4, #0x0
- add r0, #0x28
- ldrb r1, [r0, #0x0]
- mov r0, #0x8
- orr r0, r1
- add r4, #0x28
- strb r0, [r4, #0x0]
- pop {r3-r5, pc}
-
- thumb_func_start FUN_020203CC
-FUN_020203CC: ; 0x020203CC
- push {r4, lr}
- mov r1, #0x1
- lsl r1, r1, #0xa
- bl FUN_02016998
- add r4, r0, #0x0
- mov r0, #0xb
- mov r2, #0x1
- lsl r0, r0, #0x6
- add r1, r4, #0x0
- lsl r2, r2, #0xa
- blx MIi_CpuClear16
- mov r1, #0x1
- add r0, r4, #0x0
- lsl r1, r1, #0xa
- blx DC_FlushRange
- mov r2, #0x1
- add r0, r4, #0x0
- mov r1, #0x0
- lsl r2, r2, #0xa
- blx GX_LoadOAM
- add r0, r4, #0x0
- bl FUN_02016A18
- pop {r4, pc}
-
- thumb_func_start FUN_02020404
-FUN_02020404: ; 0x02020404
- push {r4, lr}
- mov r1, #0x1
- lsl r1, r1, #0xa
- bl FUN_02016998
- add r4, r0, #0x0
- mov r0, #0xb
- mov r2, #0x1
- lsl r0, r0, #0x6
- add r1, r4, #0x0
- lsl r2, r2, #0xa
- blx MIi_CpuClear16
- mov r2, #0x1
- add r0, r4, #0x0
- mov r1, #0x0
- lsl r2, r2, #0xa
- blx GXS_LoadOAM
- add r0, r4, #0x0
- bl FUN_02016A18
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02020434
-FUN_02020434: ; 0x02020434
- push {r3-r7, lr}
- add r5, r1, #0x0
- str r0, [sp, #0x0]
- add r4, r2, #0x0
- add r0, r5, #0x0
- add r7, r3, #0x0
- bl FUN_020204DC
- add r1, r4, #0x0
- add r1, #0xec
- str r0, [r1, #0x0]
- add r3, r4, #0x0
- ldr r6, [r5, #0x0]
- add r3, #0xb4
- mov r2, #0x4
-_02020452:
- ldmia r6!, {r0-r1}
- stmia r3!, {r0-r1}
- sub r2, r2, #0x1
- bne _02020452
- ldr r0, [r6, #0x0]
- add r2, r4, #0x0
- str r0, [r3, #0x0]
- ldr r3, [r5, #0x8]
- add r2, #0xd8
- ldmia r3!, {r0-r1}
- stmia r2!, {r0-r1}
- ldmia r3!, {r0-r1}
- stmia r2!, {r0-r1}
- ldr r0, [r3, #0x0]
- add r1, r4, #0x0
- str r0, [r2, #0x0]
- ldr r0, [r5, #0xc]
- bl FUN_020204F4
- ldr r0, [r5, #0x10]
- cmp r0, #0x0
- beq _02020486
- add r1, r4, #0x0
- bl FUN_020204F8
- b _02020494
-_02020486:
- mov r1, #0x47
- ldr r0, [sp, #0x0]
- lsl r1, r1, #0x2
- ldr r0, [r0, r1]
- add r1, r4, #0x0
- bl FUN_020204F8
-_02020494:
- add r0, r4, #0x0
- add r0, #0xec
- ldr r0, [r0, #0x0]
- cmp r0, #0x2
- bne _020204B8
- ldr r0, [r5, #0x14]
- add r1, r4, #0x0
- bl FUN_020204FC
- ldr r0, [r5, #0x18]
- add r1, r4, #0x0
- bl FUN_02020504
- add r0, r4, #0x0
- add r1, r7, #0x0
- bl FUN_02020588
- b _020204D0
-_020204B8:
- cmp r0, #0x3
- bne _020204C8
- add r0, r5, #0x0
- add r1, r4, #0x0
- add r2, r7, #0x0
- bl FUN_0202052C
- b _020204D0
-_020204C8:
- add r0, r4, #0x0
- add r1, r7, #0x0
- bl FUN_0202050C
-_020204D0:
- add r5, #0x20
- ldrb r0, [r5, #0x0]
- add r4, #0xf2
- strb r0, [r4, #0x0]
- mov r0, #0x1
- pop {r3-r7, pc}
-
- thumb_func_start FUN_020204DC
-FUN_020204DC: ; 0x020204DC
- ldr r1, [r0, #0x14]
- cmp r1, #0x0
- beq _020204E6
- mov r0, #0x2
- bx lr
-_020204E6:
- ldr r0, [r0, #0x1c]
- cmp r0, #0x1
- bne _020204F0
- mov r0, #0x3
- bx lr
-_020204F0:
- mov r0, #0x1
- bx lr
-
- thumb_func_start FUN_020204F4
-FUN_020204F4: ; 0x020204F4
- str r0, [r1, #0x40]
- bx lr
-
- thumb_func_start FUN_020204F8
-FUN_020204F8: ; 0x020204F8
- str r0, [r1, #0x44]
- bx lr
-
- thumb_func_start FUN_020204FC
-FUN_020204FC: ; 0x020204FC
- add r1, #0xa8
- str r0, [r1, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02020504
-FUN_02020504: ; 0x02020504
- add r1, #0xac
- str r0, [r1, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_0202050C
-FUN_0202050C: ; 0x0202050C
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r5, #0x0
- add r4, #0x40
- ldr r0, [r4, #0x4]
- mov r1, #0x0
- blx FUN_020AFC04
- add r4, #0x8
- add r1, r0, #0x0
- ldr r2, [r5, #0x40]
- add r0, r4, #0x0
- blx FUN_020B1F80
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0202052C
-FUN_0202052C: ; 0x0202052C
- push {r4-r7, lr}
- sub sp, #0x1c
- add r6, r1, #0x0
- add r4, r6, #0x0
- add r4, #0x40
- add r5, r0, #0x0
- blx FUN_020B43A4
- str r0, [r4, #0x5c]
- ldr r0, [r4, #0x4]
- mov r1, #0x0
- ldr r5, [r5, #0x4]
- blx FUN_020AFC04
- str r0, [sp, #0x18]
- add r0, r6, #0x0
- add r0, #0xb4
- mov r1, #0x1
- blx FUN_020B1A14
- add r7, r0, #0x0
- add r0, r6, #0x0
- add r0, #0xb4
- mov r1, #0x2
- blx FUN_020B1A14
- mov r1, #0x0
- mvn r1, r1
- str r1, [sp, #0x0]
- str r7, [sp, #0x4]
- str r0, [sp, #0x8]
- ldr r0, [r5, #0x14]
- ldr r1, [sp, #0x18]
- str r0, [sp, #0xc]
- mov r0, #0x0
- str r0, [sp, #0x10]
- ldr r0, [r5, #0x10]
- str r0, [sp, #0x14]
- add r0, r4, #0x0
- ldr r2, [r6, #0x40]
- ldr r3, [r4, #0x5c]
- add r0, #0x8
- blx FUN_020B1EFC
- add sp, #0x1c
- pop {r4-r7, pc}
-
- thumb_func_start FUN_02020588
-FUN_02020588: ; 0x02020588
- push {r3-r7, lr}
- sub sp, #0x10
- add r5, r0, #0x0
- add r4, r5, #0x0
- add r4, #0x40
- ldr r0, [r4, #0x6c]
- add r7, r1, #0x0
- mov r1, #0x0
- blx FUN_020AFC04
- str r0, [sp, #0xc]
- ldr r0, [r4, #0x68]
- blx FUN_020B23D8
- add r6, r0, #0x0
- mov r1, #0x28
- add r0, r7, #0x0
- mul r1, r6
- bl FUN_02016998
- mov r1, #0x54
- str r0, [r4, #0x70]
- add r0, r7, #0x0
- mul r1, r6
- bl FUN_02016998
- str r0, [r4, #0x74]
- ldr r0, [r4, #0x4]
- add r3, r6, #0x0
- str r0, [sp, #0x0]
- ldr r0, [r5, #0x40]
- str r0, [sp, #0x4]
- ldr r0, [r4, #0x68]
- str r0, [sp, #0x8]
- add r0, r4, #0x0
- ldr r1, [r4, #0x70]
- ldr r2, [r4, #0x74]
- add r0, #0x8
- blx FUN_020B20C8
- add r4, #0x8
- ldr r1, [sp, #0xc]
- add r0, r4, #0x0
- blx FUN_020B242C
- add sp, #0x10
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_020205E8
-FUN_020205E8: ; 0x020205E8
- push {r4, lr}
- ldr r2, [r0, #0x4]
- cmp r2, #0x0
- beq _020205F6
- mov r4, #0x2
- lsl r4, r4, #0x8
- b _02020602
-_020205F6:
- ldr r2, [r0, #0x0]
- cmp r2, #0x4
- bne _02020600
- mov r4, #0x0
- b _02020602
-_02020600:
- mov r4, #0x20
-_02020602:
- cmp r4, #0x0
- beq _02020612
- blx FUN_020B19C4
- add r1, r4, #0x0
- blx _u32_div_f
- pop {r4, pc}
-_02020612:
- mov r0, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02020618
-FUN_02020618: ; 0x02020618
- push {r3-r6, lr}
- sub sp, #0xc
- add r4, r1, #0x0
- add r3, r4, #0x0
- add r5, r0, #0x0
- ldmia r3!, {r0-r1}
- add r2, sp, #0x0
- stmia r2!, {r0-r1}
- ldr r0, [r3, #0x0]
- add r1, r4, #0x0
- str r0, [r2, #0x0]
- mov r0, #0x45
- lsl r0, r0, #0x2
- add r2, r4, #0x0
- ldr r0, [r5, r0]
- add r1, #0xb4
- add r2, #0xd8
- blx thunk_FUN_020b5040
- mov r0, #0x45
- lsl r0, r0, #0x2
- ldr r0, [r5, r0]
- blx FUN_020B326C
- blx FUN_020B2B58
- add r1, r4, #0x0
- mov r0, #0x45
- add r1, #0x26
- lsl r0, r0, #0x2
- ldrb r1, [r1, #0x0]
- ldr r0, [r5, r0]
- blx FUN_020B502C
- add r0, r4, #0x0
- add r0, #0x26
- ldrb r0, [r0, #0x0]
- cmp r0, #0x0
- bne _02020680
- add r0, r4, #0x0
- add r0, #0x27
- ldrb r2, [r0, #0x0]
- mov r0, #0x45
- lsl r0, r0, #0x2
- mov r1, #0x1
- ldr r0, [r5, r0]
- mov r3, #0x2
- and r1, r2
- and r2, r3
- blx FUN_020B4F38
- b _0202068E
-_02020680:
- mov r0, #0x45
- lsl r0, r0, #0x2
- mov r1, #0x0
- ldr r0, [r5, r0]
- add r2, r1, #0x0
- blx FUN_020B4F38
-_0202068E:
- ldr r0, [sp, #0x0]
- ldr r1, [sp, #0x4]
- ldr r2, [sp, #0x8]
- blx FUN_020B2A08
- add r0, r4, #0x0
- add r0, #0x26
- ldrb r0, [r0, #0x0]
- cmp r0, #0x0
- beq _020206DC
- ldr r0, [r4, #0xc]
- ldr r1, [r4, #0x10]
- ldr r2, [r4, #0x14]
- blx FUN_020B2A08
- ldr r0, [r4, #0x18]
- ldr r1, [r4, #0x1c]
- ldr r2, [r4, #0x20]
- blx FUN_020B28B4
- ldrh r0, [r4, #0x24]
- ldr r2, _02020770 ; =0x020FFA38
- asr r0, r0, #0x4
- lsl r1, r0, #0x1
- lsl r0, r1, #0x1
- add r1, r1, #0x1
- lsl r1, r1, #0x1
- ldrsh r0, [r2, r0]
- ldrsh r1, [r2, r1]
- blx FUN_020B2794
- ldr r0, [r4, #0xc]
- ldr r1, [r4, #0x10]
- ldr r2, [r4, #0x14]
- neg r0, r0
- neg r1, r1
- neg r2, r2
- blx FUN_020B2A08
-_020206DC:
- add r0, r4, #0x0
- add r0, #0x28
- ldrb r3, [r0, #0x0]
- mov r0, #0x45
- lsl r0, r0, #0x2
- ldr r2, [r5, r0]
- add r1, r2, #0x0
- add r1, #0x84
- ldr r1, [r1, #0x0]
- add r2, #0x84
- orr r1, r3
- str r1, [r2, #0x0]
- add r1, r4, #0x0
- add r1, #0x28
- ldrb r1, [r1, #0x0]
- mvn r6, r1
- ldr r1, [r5, r0]
- add r2, r1, #0x0
- add r2, #0x84
- ldr r3, [r2, #0x0]
- mvn r2, r6
- and r2, r3
- add r1, #0x84
- str r2, [r1, #0x0]
- add r1, r4, #0x0
- add r1, #0x29
- ldrb r2, [r1, #0x0]
- ldr r1, [r5, r0]
- add r1, #0x8a
- strh r2, [r1, #0x0]
- add r1, r4, #0x0
- add r1, #0x2a
- ldrb r2, [r1, #0x0]
- ldr r1, [r5, r0]
- add r1, #0x94
- strh r2, [r1, #0x0]
- ldr r1, [r5, r0]
- ldr r2, [r4, #0x2c]
- add r1, #0x90
- str r2, [r1, #0x0]
- ldr r1, [r5, r0]
- ldr r2, [r4, #0x30]
- add r1, #0x8c
- str r2, [r1, #0x0]
- add r1, r4, #0x0
- add r1, #0xf2
- ldr r0, [r5, r0]
- ldrb r1, [r1, #0x0]
- add r0, #0x88
- strh r1, [r0, #0x0]
- add r0, r4, #0x0
- add r0, #0xec
- ldr r0, [r0, #0x0]
- cmp r0, #0x1
- beq _0202074E
- cmp r0, #0x3
- bne _0202075A
-_0202074E:
- add r4, #0x40
- add r4, #0x8
- add r0, r4, #0x0
- blx FUN_020B317C
- b _02020764
-_0202075A:
- add r4, #0x40
- add r4, #0x8
- add r0, r4, #0x0
- blx FUN_020B2D9C
-_02020764:
- blx FUN_020B2B08
- blx FUN_020B31F0
- add sp, #0xc
- pop {r3-r6, pc}
- .balign 4
-_02020770: .word 0x020FFA38
-
- thumb_func_start FUN_02020774
-FUN_02020774: ; 0x02020774
- bx lr
- .balign 4
-
- thumb_func_start FUN_02020778
-FUN_02020778: ; 0x02020778
- ldr r3, _02020780 ; =FUN_020201E4
- ldr r1, [r0, #0x38]
- bx r3
- nop
-_02020780: .word FUN_020201E4
-
- thumb_func_start FUN_02020784
-FUN_02020784: ; 0x02020784
- bx lr
- .balign 4
-
- thumb_func_start FUN_02020788
-FUN_02020788: ; 0x02020788
- push {r4-r7}
- mov r2, #0x11
- lsl r2, r2, #0x4
- add r4, r0, #0x0
- ldr r5, [r0, r2]
- add r4, #0x10
- cmp r5, r4
- bne _020207AC
- str r1, [r0, r2]
- sub r3, r2, #0x4
- str r1, [r0, r3]
- add r0, r1, #0x0
- add r0, #0xfc
- str r4, [r0, #0x0]
- sub r2, #0x10
- str r4, [r1, r2]
- pop {r4-r7}
- bx lr
-_020207AC:
- add r3, r1, #0x0
- add r3, #0xf4
- ldrh r6, [r3, #0x0]
- sub r3, r2, #0x4
- ldr r3, [r0, r3]
- add r7, r3, #0x0
- add r7, #0xf4
- ldrh r7, [r7, #0x0]
- cmp r7, r6
- bhi _020207DE
- add r5, r1, #0x0
- add r5, #0xfc
- str r3, [r5, #0x0]
- sub r3, r2, #0x4
- ldr r5, [r0, r3]
- add r3, r2, #0x0
- sub r3, #0x10
- str r1, [r5, r3]
- add r3, r2, #0x0
- sub r3, #0x10
- str r4, [r1, r3]
- sub r2, r2, #0x4
- str r1, [r0, r2]
- pop {r4-r7}
- bx lr
-_020207DE:
- cmp r5, r4
- beq _0202081A
- add r0, r2, #0x0
- sub r0, #0x10
-_020207E6:
- add r2, r5, #0x0
- add r2, #0xf4
- ldrh r2, [r2, #0x0]
- cmp r2, r6
- bls _02020814
- add r0, r5, #0x0
- add r0, #0xfc
- mov r2, #0x1
- ldr r0, [r0, #0x0]
- lsl r2, r2, #0x8
- str r1, [r0, r2]
- add r0, r5, #0x0
- add r0, #0xfc
- ldr r3, [r0, #0x0]
- add r0, r1, #0x0
- add r0, #0xfc
- str r3, [r0, #0x0]
- add r0, r5, #0x0
- add r0, #0xfc
- str r1, [r0, #0x0]
- str r5, [r1, r2]
- pop {r4-r7}
- bx lr
-_02020814:
- ldr r5, [r5, r0]
- cmp r5, r4
- bne _020207E6
-_0202081A:
- pop {r4-r7}
- bx lr
- .balign 4
-
- thumb_func_start FUN_02020820
-FUN_02020820: ; 0x02020820
- mov r2, #0x1
- add r1, r0, #0x0
- lsl r2, r2, #0x8
- add r1, #0xfc
- ldr r3, [r0, r2]
- ldr r1, [r1, #0x0]
- str r3, [r1, r2]
- add r1, r0, #0x0
- add r1, #0xfc
- ldr r0, [r0, r2]
- ldr r1, [r1, #0x0]
- add r0, #0xfc
- str r1, [r0, #0x0]
- bx lr
-
- thumb_func_start FUN_0202083C
-FUN_0202083C: ; 0x0202083C
- push {r3-r7, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0x4]
- mov r7, #0x0
- cmp r0, #0x0
- ble _0202086C
- add r4, r7, #0x0
- add r6, r7, #0x0
-_0202084C:
- ldr r0, [r5, #0x0]
- add r0, r0, r4
- bl FUN_0201FE6C
- ldr r0, [r5, #0x0]
- add r7, r7, #0x1
- add r1, r0, r4
- ldr r0, [r5, #0x8]
- str r1, [r0, r6]
- mov r0, #0x41
- lsl r0, r0, #0x2
- add r4, r4, r0
- ldr r0, [r5, #0x4]
- add r6, r6, #0x4
- cmp r7, r0
- blt _0202084C
-_0202086C:
- mov r0, #0x0
- str r0, [r5, #0xc]
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02020874
-FUN_02020874: ; 0x02020874
- ldr r3, [r0, #0xc]
- ldr r1, [r0, #0x4]
- cmp r3, r1
- blt _02020880
- mov r0, #0x0
- bx lr
-_02020880:
- ldr r2, [r0, #0x8]
- lsl r1, r3, #0x2
- ldr r2, [r2, r1]
- add r1, r3, #0x1
- str r1, [r0, #0xc]
- add r0, r2, #0x0
- bx lr
- .balign 4
-
- thumb_func_start FUN_02020890
-FUN_02020890: ; 0x02020890
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0xc]
- add r4, r1, #0x0
- cmp r0, #0x0
- bgt _020208A0
- mov r0, #0x0
- pop {r3-r5, pc}
-_020208A0:
- add r0, r4, #0x0
- bl FUN_0201FE6C
- ldr r0, [r5, #0xc]
- sub r0, r0, #0x1
- str r0, [r5, #0xc]
- ldr r1, [r5, #0x8]
- lsl r0, r0, #0x2
- str r4, [r1, r0]
- mov r0, #0x1
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_020208B8
-FUN_020208B8: ; 0x020208B8
- push {r4-r7}
- ldrb r3, [r0, #0x0]
- mov r4, #0x0
- cmp r3, #0xff
- beq _020208FA
-_020208C2:
- ldrb r7, [r0, #0x2]
- ldrb r3, [r0, #0x3]
- ldrb r5, [r0, #0x0]
- sub r6, r1, r7
- sub r3, r3, r7
- cmp r6, r3
- bhs _020208D4
- mov r6, #0x1
- b _020208D6
-_020208D4:
- mov r6, #0x0
-_020208D6:
- ldrb r7, [r0, #0x1]
- sub r3, r2, r5
- sub r5, r7, r5
- cmp r3, r5
- bhs _020208E4
- mov r3, #0x1
- b _020208E6
-_020208E4:
- mov r3, #0x0
-_020208E6:
- tst r3, r6
- beq _020208F0
- add r0, r4, #0x0
- pop {r4-r7}
- bx lr
-_020208F0:
- add r0, r0, #0x4
- ldrb r3, [r0, #0x0]
- add r4, r4, #0x1
- cmp r3, #0xff
- bne _020208C2
-_020208FA:
- mov r0, #0x0
- mvn r0, r0
- pop {r4-r7}
- bx lr
- .balign 4
-
- thumb_func_start FUN_02020904
-FUN_02020904: ; 0x02020904
- push {r3-r4}
- ldrb r3, [r0, #0x1]
- sub r4, r3, r1
- ldrb r1, [r0, #0x2]
- sub r3, r1, r2
- ldrb r2, [r0, #0x3]
- add r1, r4, #0x0
- add r0, r3, #0x0
- mul r1, r4
- mul r0, r3
- add r1, r1, r0
- add r0, r2, #0x0
- mul r0, r2
- cmp r1, r0
- bhs _02020928
- mov r0, #0x1
- pop {r3-r4}
- bx lr
-_02020928:
- mov r0, #0x0
- pop {r3-r4}
- bx lr
- .balign 4
-
- thumb_func_start FUN_02020930
-FUN_02020930: ; 0x02020930
- push {r4-r5}
- ldrb r5, [r0, #0x2]
- ldrb r3, [r0, #0x0]
- sub r4, r1, r5
- ldrb r1, [r0, #0x3]
- sub r1, r1, r5
- cmp r4, r1
- bhs _02020944
- mov r4, #0x1
- b _02020946
-_02020944:
- mov r4, #0x0
-_02020946:
- ldrb r0, [r0, #0x1]
- sub r1, r2, r3
- sub r0, r0, r3
- cmp r1, r0
- bhs _02020954
- mov r0, #0x1
- b _02020956
-_02020954:
- mov r0, #0x0
-_02020956:
- tst r0, r4
- beq _02020960
- mov r0, #0x1
- pop {r4-r5}
- bx lr
-_02020960:
- mov r0, #0x0
- pop {r4-r5}
- bx lr
- .balign 4
-
- thumb_func_start FUN_02020968
-FUN_02020968: ; 0x02020968
- push {r3, lr}
- ldr r2, _02020984 ; =0x021C48F8
- ldrh r1, [r2, #0x22]
- cmp r1, #0x0
- beq _0202097C
- ldrh r1, [r2, #0x1c]
- ldrh r2, [r2, #0x1e]
- bl FUN_020208B8
- pop {r3, pc}
-_0202097C:
- mov r0, #0x0
- mvn r0, r0
- pop {r3, pc}
- nop
-_02020984: .word 0x021C48F8
-
- thumb_func_start FUN_02020988
-FUN_02020988: ; 0x02020988
- push {r3, lr}
- ldr r2, _020209A4 ; =0x021C48F8
- ldrh r1, [r2, #0x20]
- cmp r1, #0x0
- beq _0202099C
- ldrh r1, [r2, #0x1c]
- ldrh r2, [r2, #0x1e]
- bl FUN_020208B8
- pop {r3, pc}
-_0202099C:
- mov r0, #0x0
- mvn r0, r0
- pop {r3, pc}
- nop
-_020209A4: .word 0x021C48F8
-
- thumb_func_start FUN_020209A8
-FUN_020209A8: ; 0x020209A8
- push {r3-r7, lr}
- ldr r7, _020209F0 ; =0x021C48F8
- add r5, r0, #0x0
- ldrh r0, [r7, #0x22]
- cmp r0, #0x0
- beq _020209EA
- mov r6, #0x0
- add r4, r5, #0x0
-_020209B8:
- ldrb r0, [r5, #0x0]
- cmp r0, #0xfe
- bne _020209D0
- ldrh r1, [r7, #0x1c]
- ldrh r2, [r7, #0x1e]
- add r0, r4, #0x0
- bl FUN_02020904
- cmp r0, #0x0
- beq _020209E2
- add r0, r6, #0x0
- pop {r3-r7, pc}
-_020209D0:
- ldrh r1, [r7, #0x1c]
- ldrh r2, [r7, #0x1e]
- add r0, r4, #0x0
- bl FUN_02020930
- cmp r0, #0x0
- beq _020209E2
- add r0, r6, #0x0
- pop {r3-r7, pc}
-_020209E2:
- add r5, r5, #0x4
- add r4, r4, #0x4
- add r6, r6, #0x1
- b _020209B8
-_020209EA:
- mov r0, #0x0
- mvn r0, r0
- pop {r3-r7, pc}
- .balign 4
-_020209F0: .word 0x021C48F8
-
- thumb_func_start FUN_020209F4
-FUN_020209F4: ; 0x020209F4
- push {r3-r7, lr}
- ldr r7, _02020A3C ; =0x021C48F8
- add r5, r0, #0x0
- ldrh r0, [r7, #0x20]
- cmp r0, #0x0
- beq _02020A36
- mov r6, #0x0
- add r4, r5, #0x0
-_02020A04:
- ldrb r0, [r5, #0x0]
- cmp r0, #0xfe
- bne _02020A1C
- ldrh r1, [r7, #0x1c]
- ldrh r2, [r7, #0x1e]
- add r0, r4, #0x0
- bl FUN_02020904
- cmp r0, #0x0
- beq _02020A2E
- add r0, r6, #0x0
- pop {r3-r7, pc}
-_02020A1C:
- ldrh r1, [r7, #0x1c]
- ldrh r2, [r7, #0x1e]
- add r0, r4, #0x0
- bl FUN_02020930
- cmp r0, #0x0
- beq _02020A2E
- add r0, r6, #0x0
- pop {r3-r7, pc}
-_02020A2E:
- add r5, r5, #0x4
- add r4, r4, #0x4
- add r6, r6, #0x1
- b _02020A04
-_02020A36:
- mov r0, #0x0
- mvn r0, r0
- pop {r3-r7, pc}
- .balign 4
-_02020A3C: .word 0x021C48F8
-
- thumb_func_start FUN_02020A40
-FUN_02020A40: ; 0x02020A40
- push {r3, lr}
- ldr r2, _02020A68 ; =0x021C48F8
- ldrh r1, [r2, #0x22]
- cmp r1, #0x0
- beq _02020A62
- ldrb r1, [r0, #0x0]
- cmp r1, #0xfe
- ldrh r1, [r2, #0x1c]
- bne _02020A5A
- ldrh r2, [r2, #0x1e]
- bl FUN_02020904
- pop {r3, pc}
-_02020A5A:
- ldrh r2, [r2, #0x1e]
- bl FUN_02020930
- pop {r3, pc}
-_02020A62:
- mov r0, #0x0
- pop {r3, pc}
- nop
-_02020A68: .word 0x021C48F8
-
- thumb_func_start FUN_02020A6C
-FUN_02020A6C: ; 0x02020A6C
- push {r3, lr}
- ldr r2, _02020A94 ; =0x021C48F8
- ldrh r1, [r2, #0x20]
- cmp r1, #0x0
- beq _02020A8E
- ldrb r1, [r0, #0x0]
- cmp r1, #0xfe
- ldrh r1, [r2, #0x1c]
- bne _02020A86
- ldrh r2, [r2, #0x1e]
- bl FUN_02020904
- pop {r3, pc}
-_02020A86:
- ldrh r2, [r2, #0x1e]
- bl FUN_02020930
- pop {r3, pc}
-_02020A8E:
- mov r0, #0x0
- pop {r3, pc}
- nop
-_02020A94: .word 0x021C48F8
-
- thumb_func_start FUN_02020A98
-FUN_02020A98: ; 0x02020A98
- ldr r0, _02020AA0 ; =0x021C48F8
- ldrh r0, [r0, #0x22]
- bx lr
- nop
-_02020AA0: .word 0x021C48F8
-
- thumb_func_start FUN_02020AA4
-FUN_02020AA4: ; 0x02020AA4
- ldr r0, _02020AAC ; =0x021C48F8
- ldrh r0, [r0, #0x20]
- bx lr
- nop
-_02020AAC: .word 0x021C48F8
-
- thumb_func_start FUN_02020AB0
-FUN_02020AB0: ; 0x02020AB0
- ldr r2, _02020AC8 ; =0x021C48F8
- ldrh r3, [r2, #0x22]
- cmp r3, #0x0
- beq _02020AC4
- ldrh r3, [r2, #0x1c]
- str r3, [r0, #0x0]
- ldrh r0, [r2, #0x1e]
- str r0, [r1, #0x0]
- mov r0, #0x1
- bx lr
-_02020AC4:
- mov r0, #0x0
- bx lr
- .balign 4
-_02020AC8: .word 0x021C48F8
-
- thumb_func_start FUN_02020ACC
-FUN_02020ACC: ; 0x02020ACC
- ldr r2, _02020AE4 ; =0x021C48F8
- ldrh r3, [r2, #0x20]
- cmp r3, #0x0
- beq _02020AE0
- ldrh r3, [r2, #0x1c]
- str r3, [r0, #0x0]
- ldrh r0, [r2, #0x1e]
- str r0, [r1, #0x0]
- mov r0, #0x1
- bx lr
-_02020AE0:
- mov r0, #0x0
- bx lr
- .balign 4
-_02020AE4: .word 0x021C48F8
-
- thumb_func_start FUN_02020AE8
-FUN_02020AE8: ; 0x02020AE8
- push {r3, lr}
- ldrb r3, [r0, #0x0]
- cmp r3, #0xfe
- bne _02020AF6
- bl FUN_02020904
- pop {r3, pc}
-_02020AF6:
- bl FUN_02020930
- pop {r3, pc}
-
- thumb_func_start FUN_02020AFC
-FUN_02020AFC: ; 0x02020AFC
- push {r3, lr}
- ldr r0, _02020B24 ; =0x021C59B0
- mov r2, #0x0
- str r2, [r0, #0x4]
- str r2, [r0, #0x8]
- ldr r1, _02020B28 ; =0x0400010E
- str r2, [r0, #0x0]
- strh r2, [r1, #0x0]
- sub r0, r1, #0x2
- strh r2, [r0, #0x0]
- mov r0, #0xc1
- strh r0, [r1, #0x0]
- ldr r1, _02020B2C ; =FUN_02020B30
- mov r0, #0x40
- blx OS_SetIrqFunction
- mov r0, #0x40
- blx OS_EnableIrqMask
- pop {r3, pc}
- .balign 4
-_02020B24: .word 0x021C59B0
-_02020B28: .word 0x0400010E
-_02020B2C: .word FUN_02020B30
-
- thumb_func_start FUN_02020B30
-FUN_02020B30: ; 0x02020B30
- ldr r0, _02020B68 ; =0x021C59B0
- mov r3, #0x0
- ldr r1, [r0, #0x4]
- ldr r2, [r0, #0x8]
- add r1, r1, #0x1
- adc r2, r3
- str r1, [r0, #0x4]
- str r2, [r0, #0x8]
- ldr r1, [r0, #0x0]
- cmp r1, #0x0
- beq _02020B54
- ldr r2, _02020B6C ; =0x0400010E
- strh r3, [r2, #0x0]
- sub r1, r2, #0x2
- strh r3, [r1, #0x0]
- mov r1, #0xc1
- strh r1, [r2, #0x0]
- str r3, [r0, #0x0]
-_02020B54:
- ldr r3, _02020B70 ; =0x027E0000
- ldr r1, _02020B74 ; =0x00003FF8
- mov r0, #0x40
- ldr r2, [r3, r1]
- orr r2, r0
- str r2, [r3, r1]
- ldr r3, _02020B78 ; =OS_SetIrqFunction
- ldr r1, _02020B7C ; =FUN_02020B30
- bx r3
- nop
-_02020B68: .word 0x021C59B0
-_02020B6C: .word 0x0400010E
-_02020B70: .word 0x027E0000
-_02020B74: .word 0x00003FF8
-_02020B78: .word OS_SetIrqFunction
-_02020B7C: .word FUN_02020B30
-
- thumb_func_start FUN_02020B80
-FUN_02020B80: ; 0x02020B80
- push {r4-r5, lr}
- sub sp, #0xc
- blx OS_DisableInterrupts
- ldr r1, _02020BE4 ; =0x0400010C
- add r3, sp, #0x0
- ldrh r1, [r1, #0x0]
- ldr r2, _02020BE8 ; =0x0000FFFF
- strh r1, [r3, #0x0]
- ldr r1, _02020BEC ; =0x021C59B0
- ldr r5, [r1, #0x4]
- ldr r4, [r1, #0x8]
- mov r1, #0x0
- mvn r1, r1
- and r1, r5
- str r1, [sp, #0x4]
- and r2, r4
- ldr r1, _02020BF0 ; =0x04000214
- str r2, [sp, #0x8]
- ldr r2, [r1, #0x0]
- mov r1, #0x40
- tst r2, r1
- beq _02020BC4
- ldrh r2, [r3, #0x0]
- lsl r1, r1, #0x9
- tst r1, r2
- bne _02020BC4
- ldr r2, [sp, #0x4]
- mov r1, #0x0
- ldr r3, [sp, #0x8]
- add r2, r2, #0x1
- adc r3, r1
- str r2, [sp, #0x4]
- str r3, [sp, #0x8]
-_02020BC4:
- blx OS_RestoreInterrupts
- ldr r2, [sp, #0x4]
- ldr r1, [sp, #0x8]
- lsr r0, r2, #0x10
- lsl r1, r1, #0x10
- orr r1, r0
- add r0, sp, #0x0
- lsl r3, r2, #0x10
- ldrh r2, [r0, #0x0]
- asr r0, r2, #0x1f
- orr r1, r0
- add r0, r3, #0x0
- orr r0, r2
- add sp, #0xc
- pop {r4-r5, pc}
- .balign 4
-_02020BE4: .word 0x0400010C
-_02020BE8: .word 0x0000FFFF
-_02020BEC: .word 0x021C59B0
-_02020BF0: .word 0x04000214
-
- thumb_func_start FUN_02020BF4
-FUN_02020BF4: ; 0x02020BF4
- ldr r3, _02020BF8 ; =FUN_02020B80
- bx r3
- .balign 4
-_02020BF8: .word FUN_02020B80
-
- thumb_func_start FUN_02020BFC
-FUN_02020BFC: ; 0x02020BFC
- push {r3, lr}
- lsr r2, r0, #0x1a
- lsl r1, r1, #0x6
- orr r1, r2
- ldr r2, _02020C10 ; =0x000082EA
- lsl r0, r0, #0x6
- mov r3, #0x0
- blx _ll_udiv
- pop {r3, pc}
- .balign 4
-_02020C10: .word 0x000082EA
-
- thumb_func_start FUN_02020C14
-FUN_02020C14: ; 0x02020C14
- push {r3, lr}
- lsr r2, r0, #0x1a
- lsl r1, r1, #0x6
- orr r1, r2
- ldr r2, _02020C28 ; =0x01FF6210
- lsl r0, r0, #0x6
- mov r3, #0x0
- blx _ll_udiv
- pop {r3, pc}
- .balign 4
-_02020C28: .word 0x01FF6210
-
- thumb_func_start ErrorHandling
-ErrorHandling: ; 0x02020C2C
- push {r3, lr}
- bl FUN_02031810
- cmp r0, #0x0
- beq _02020C42
- blx OS_GetProcMode
- cmp r0, #0x12
- beq _02020C42
- bl FUN_0208A9B8
-_02020C42:
- pop {r3, pc}
-
- thumb_func_start FUN_02020C44
-FUN_02020C44: ; 0x02020C44
- push {r3-r7, lr}
- add r4, r1, #0x0
- add r7, r0, #0x0
- add r0, r4, #0x0
- mov r1, #0xc
- bl FUN_02016998
- add r6, r0, #0x0
- bne _02020C5A
- bl ErrorHandling
-_02020C5A:
- add r0, r4, #0x0
- lsl r1, r7, #0x3
- bl FUN_02016998
- str r0, [r6, #0x0]
- cmp r0, #0x0
- bne _02020C6C
- bl ErrorHandling
-_02020C6C:
- mov r4, #0x0
- cmp r7, #0x0
- ble _02020C84
- add r5, r4, #0x0
-_02020C74:
- ldr r0, [r6, #0x0]
- add r0, r0, r5
- bl FUN_02020E78
- add r4, r4, #0x1
- add r5, #0x8
- cmp r4, r7
- blt _02020C74
-_02020C84:
- str r7, [r6, #0x4]
- mov r0, #0x0
- str r0, [r6, #0x8]
- add r0, r6, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02020C90
-FUN_02020C90: ; 0x02020C90
- push {r4, lr}
- add r4, r0, #0x0
- bne _02020C9A
- bl ErrorHandling
-_02020C9A:
- add r0, r4, #0x0
- bl FUN_02020D9C
- ldr r0, [r4, #0x0]
- bl FUN_02016A18
- add r0, r4, #0x0
- bl FUN_02016A18
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02020CB0
-FUN_02020CB0: ; 0x02020CB0
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- cmp r5, #0x0
- bne _02020CBE
- bl ErrorHandling
-_02020CBE:
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02020DD8
- cmp r0, #0x0
- bne _02020CCE
- mov r0, #0x1
- pop {r3-r5, pc}
-_02020CCE:
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02020CD4
-FUN_02020CD4: ; 0x02020CD4
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r7, r1, #0x0
- add r6, r2, #0x0
- cmp r5, #0x0
- bne _02020CE4
- bl ErrorHandling
-_02020CE4:
- add r0, r5, #0x0
- bl FUN_02020E48
- add r4, r0, #0x0
- bne _02020CF2
- bl ErrorHandling
-_02020CF2:
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_02020CB0
- cmp r0, #0x1
- beq _02020D02
- bl ErrorHandling
-_02020D02:
- str r7, [r4, #0x4]
- str r6, [r4, #0x0]
- ldr r0, [r5, #0x8]
- add r0, r0, #0x1
- str r0, [r5, #0x8]
- add r0, r4, #0x0
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02020D10
-FUN_02020D10: ; 0x02020D10
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r6, r1, #0x0
- add r7, r2, #0x0
- str r3, [sp, #0x0]
- cmp r5, #0x0
- bne _02020D22
- bl ErrorHandling
-_02020D22:
- cmp r6, #0x0
- bne _02020D2A
- bl ErrorHandling
-_02020D2A:
- add r0, r5, #0x0
- bl FUN_02020E48
- add r4, r0, #0x0
- bne _02020D38
- bl ErrorHandling
-_02020D38:
- add r0, r5, #0x0
- add r1, r7, #0x0
- bl FUN_02020CB0
- cmp r0, #0x1
- beq _02020D48
- bl ErrorHandling
-_02020D48:
- ldr r0, [sp, #0x0]
- add r1, r6, #0x0
- bl FUN_020161A4
- str r0, [r4, #0x4]
- cmp r0, #0x0
- bne _02020D5A
- bl ErrorHandling
-_02020D5A:
- str r7, [r4, #0x0]
- ldr r0, [r5, #0x8]
- add r0, r0, #0x1
- str r0, [r5, #0x8]
- add r0, r4, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02020D68
-FUN_02020D68: ; 0x02020D68
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- cmp r5, #0x0
- bne _02020D76
- bl ErrorHandling
-_02020D76:
- cmp r4, #0x0
- bne _02020D7E
- bl ErrorHandling
-_02020D7E:
- ldr r0, [r4, #0x4]
- cmp r0, #0x0
- beq _02020D8C
- bl FUN_02016A18
- mov r0, #0x0
- str r0, [r4, #0x4]
-_02020D8C:
- mov r0, #0x0
- mvn r0, r0
- str r0, [r4, #0x0]
- ldr r0, [r5, #0x8]
- sub r0, r0, #0x1
- str r0, [r5, #0x8]
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02020D9C
-FUN_02020D9C: ; 0x02020D9C
- push {r3-r7, lr}
- add r5, r0, #0x0
- bne _02020DA6
- bl ErrorHandling
-_02020DA6:
- ldr r0, [r5, #0x0]
- cmp r0, #0x0
- bne _02020DB0
- bl ErrorHandling
-_02020DB0:
- ldr r0, [r5, #0x4]
- mov r6, #0x0
- cmp r0, #0x0
- ble _02020DD6
- add r4, r6, #0x0
- sub r7, r6, #0x1
-_02020DBC:
- ldr r1, [r5, #0x0]
- ldr r0, [r1, r4]
- cmp r0, r7
- beq _02020DCC
- add r0, r5, #0x0
- add r1, r1, r4
- bl FUN_02020D68
-_02020DCC:
- ldr r0, [r5, #0x4]
- add r6, r6, #0x1
- add r4, #0x8
- cmp r6, r0
- blt _02020DBC
-_02020DD6:
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02020DD8
-FUN_02020DD8: ; 0x02020DD8
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- cmp r5, #0x0
- bne _02020DE6
- bl ErrorHandling
-_02020DE6:
- ldr r6, [r5, #0x4]
- mov r1, #0x0
- cmp r6, #0x0
- ble _02020E06
- ldr r3, [r5, #0x0]
- add r2, r3, #0x0
-_02020DF2:
- ldr r0, [r2, #0x0]
- cmp r4, r0
- bne _02020DFE
- lsl r0, r1, #0x3
- add r0, r3, r0
- pop {r4-r6, pc}
-_02020DFE:
- add r1, r1, #0x1
- add r2, #0x8
- cmp r1, r6
- blt _02020DF2
-_02020E06:
- mov r0, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02020E0C
-FUN_02020E0C: ; 0x02020E0C
- push {r4, lr}
- add r4, r0, #0x0
- bne _02020E16
- bl ErrorHandling
-_02020E16:
- ldr r0, [r4, #0x4]
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02020E1C
-FUN_02020E1C: ; 0x02020E1C
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- cmp r5, #0x0
- bne _02020E2A
- bl ErrorHandling
-_02020E2A:
- ldr r0, [r5, #0x4]
- cmp r0, #0x0
- beq _02020E34
- bl FUN_02016A18
-_02020E34:
- str r4, [r5, #0x4]
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02020E38
-FUN_02020E38: ; 0x02020E38
- push {r4, lr}
- add r4, r0, #0x0
- bne _02020E42
- bl ErrorHandling
-_02020E42:
- ldr r0, [r4, #0x0]
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02020E48
-FUN_02020E48: ; 0x02020E48
- push {r3-r5, lr}
- add r4, r0, #0x0
- bne _02020E52
- bl ErrorHandling
-_02020E52:
- ldr r5, [r4, #0x4]
- mov r2, #0x0
- cmp r5, #0x0
- ble _02020E74
- ldr r4, [r4, #0x0]
- sub r0, r2, #0x1
- add r3, r4, #0x0
-_02020E60:
- ldr r1, [r3, #0x0]
- cmp r1, r0
- bne _02020E6C
- lsl r0, r2, #0x3
- add r0, r4, r0
- pop {r3-r5, pc}
-_02020E6C:
- add r2, r2, #0x1
- add r3, #0x8
- cmp r2, r5
- blt _02020E60
-_02020E74:
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02020E78
-FUN_02020E78: ; 0x02020E78
- push {r4, lr}
- add r4, r0, #0x0
- bne _02020E82
- bl ErrorHandling
-_02020E82:
- mov r0, #0x0
- mvn r0, r0
- str r0, [r4, #0x0]
- mov r0, #0x0
- str r0, [r4, #0x4]
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02020E90
-FUN_02020E90: ; 0x02020E90
- push {r3-r7, lr}
- add r4, r1, #0x0
- add r6, r0, #0x0
- add r0, r4, #0x0
- mov r1, #0x8
- bl FUN_02016998
- add r7, r0, #0x0
- add r0, r6, #0x0
- add r1, r4, #0x0
- bl FUN_02020C44
- mov r1, #0x18
- str r0, [r7, #0x0]
- add r0, r4, #0x0
- mul r1, r6
- bl FUN_02016998
- mov r4, #0x0
- str r0, [r7, #0x4]
- cmp r6, #0x0
- ble _02020ECE
- add r5, r4, #0x0
-_02020EBE:
- ldr r0, [r7, #0x4]
- add r0, r0, r5
- bl FUN_0202120C
- add r4, r4, #0x1
- add r5, #0x18
- cmp r4, r6
- blt _02020EBE
-_02020ECE:
- add r0, r7, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02020ED4
-FUN_02020ED4: ; 0x02020ED4
- push {r4, lr}
- add r4, r0, #0x0
- bne _02020EDE
- bl ErrorHandling
-_02020EDE:
- add r0, r4, #0x0
- bl FUN_02021010
- ldr r0, [r4, #0x0]
- bl FUN_02020C90
- ldr r0, [r4, #0x4]
- bl FUN_02016A18
- add r0, r4, #0x0
- bl FUN_02016A18
- pop {r4, pc}
-
- thumb_func_start FUN_02020EF8
-FUN_02020EF8: ; 0x02020EF8
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- cmp r5, #0x0
- bne _02020F06
- bl ErrorHandling
-_02020F06:
- ldr r0, [r5, #0x0]
- add r1, r4, #0x0
- bl FUN_02020CB0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02020F10
-FUN_02020F10: ; 0x02020F10
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r6, r1, #0x0
- add r7, r3, #0x0
- str r2, [sp, #0x0]
- cmp r5, #0x0
- bne _02020F22
- bl ErrorHandling
-_02020F22:
- add r0, r5, #0x0
- bl FUN_020211DC
- add r4, r0, #0x0
- strh r7, [r4, #0x16]
- ldrh r0, [r4, #0x16]
- cmp r0, #0x1
- bne _02020F40
- ldr r1, [sp, #0x18]
- add r0, r6, #0x0
- bl FUN_02021310
- add r1, r0, #0x0
- str r6, [r4, #0x10]
- b _02020F46
-_02020F40:
- mov r0, #0x0
- add r1, r6, #0x0
- str r0, [r4, #0x10]
-_02020F46:
- ldr r0, [r5, #0x0]
- ldr r2, [sp, #0x0]
- bl FUN_02020CD4
- str r0, [r4, #0x0]
- add r0, r4, #0x0
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02020F54
-FUN_02020F54: ; 0x02020F54
- push {r3-r4, lr}
- sub sp, #0x4
- ldr r4, [sp, #0x10]
- str r4, [sp, #0x0]
- bl FUN_02020F10
- add r4, r0, #0x0
- bl FUN_02021174
- add r0, r4, #0x0
- add sp, #0x4
- pop {r3-r4, pc}
-
- thumb_func_start FUN_02020F6C
-FUN_02020F6C: ; 0x02020F6C
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- cmp r5, #0x0
- bne _02020F7A
- bl ErrorHandling
-_02020F7A:
- cmp r4, #0x0
- bne _02020F82
- bl ErrorHandling
-_02020F82:
- ldrh r0, [r4, #0x16]
- cmp r0, #0x1
- bne _02020F98
- ldrh r0, [r4, #0x14]
- cmp r0, #0x0
- bne _02020F98
- ldr r0, [r4, #0x10]
- bl FUN_02016A18
- mov r0, #0x0
- strh r0, [r4, #0x16]
-_02020F98:
- ldr r1, [r4, #0x0]
- cmp r1, #0x0
- beq _02020FA4
- ldr r0, [r5, #0x0]
- bl FUN_02020D68
-_02020FA4:
- ldr r0, [r4, #0x4]
- cmp r0, #0x0
- beq _02020FB8
- ldr r1, _02020FE8 ; =0x021064BC
- ldr r1, [r1, #0x0]
- blx r1
- cmp r0, #0x0
- beq _02020FB8
- bl ErrorHandling
-_02020FB8:
- ldr r0, [r4, #0x8]
- cmp r0, #0x0
- beq _02020FCC
- ldr r1, _02020FE8 ; =0x021064BC
- ldr r1, [r1, #0x0]
- blx r1
- cmp r0, #0x0
- beq _02020FCC
- bl ErrorHandling
-_02020FCC:
- ldr r0, [r4, #0xc]
- cmp r0, #0x0
- beq _02020FE0
- ldr r1, _02020FEC ; =0x021064C4
- ldr r1, [r1, #0x0]
- blx r1
- cmp r0, #0x0
- beq _02020FE0
- bl ErrorHandling
-_02020FE0:
- add r0, r4, #0x0
- bl FUN_0202120C
- pop {r3-r5, pc}
- .balign 4
-_02020FE8: .word 0x021064BC
-_02020FEC: .word 0x021064C4
-
- thumb_func_start FUN_02020FF0
-FUN_02020FF0: ; 0x02020FF0
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- cmp r5, #0x0
- bne _02020FFE
- bl ErrorHandling
-_02020FFE:
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02021050
- add r1, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02020F6C
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02021010
-FUN_02021010: ; 0x02021010
- push {r4-r6, lr}
- add r5, r0, #0x0
- bne _0202101A
- bl ErrorHandling
-_0202101A:
- ldr r0, [r5, #0x4]
- cmp r0, #0x0
- bne _02021024
- bl ErrorHandling
-_02021024:
- ldr r0, [r5, #0x0]
- mov r6, #0x0
- ldr r0, [r0, #0x4]
- cmp r0, #0x0
- ble _0202104C
- add r4, r6, #0x0
-_02021030:
- ldr r1, [r5, #0x4]
- ldr r0, [r1, r4]
- cmp r0, #0x0
- beq _02021040
- add r0, r5, #0x0
- add r1, r1, r4
- bl FUN_02020F6C
-_02021040:
- ldr r0, [r5, #0x0]
- add r6, r6, #0x1
- ldr r0, [r0, #0x4]
- add r4, #0x18
- cmp r6, r0
- blt _02021030
-_0202104C:
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02021050
-FUN_02021050: ; 0x02021050
- push {r3-r7, lr}
- add r6, r0, #0x0
- add r7, r1, #0x0
- cmp r6, #0x0
- bne _0202105E
- bl ErrorHandling
-_0202105E:
- ldr r0, [r6, #0x0]
- mov r4, #0x0
- ldr r0, [r0, #0x4]
- cmp r0, #0x0
- ble _02021092
- add r5, r4, #0x0
-_0202106A:
- ldr r1, [r6, #0x4]
- ldr r0, [r1, r5]
- cmp r0, #0x0
- beq _02021086
- add r0, r1, r5
- bl FUN_02021098
- cmp r0, r7
- bne _02021086
- mov r0, #0x18
- ldr r1, [r6, #0x4]
- mul r0, r4
- add r0, r1, r0
- pop {r3-r7, pc}
-_02021086:
- ldr r0, [r6, #0x0]
- add r4, r4, #0x1
- ldr r0, [r0, #0x4]
- add r5, #0x18
- cmp r4, r0
- blt _0202106A
-_02021092:
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02021098
-FUN_02021098: ; 0x02021098
- push {r4, lr}
- add r4, r0, #0x0
- bne _020210A2
- bl ErrorHandling
-_020210A2:
- ldr r0, [r4, #0x0]
- bl FUN_02020E38
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_020210AC
-FUN_020210AC: ; 0x020210AC
- push {r4, lr}
- add r4, r0, #0x0
- bne _020210B6
- bl ErrorHandling
-_020210B6:
- add r0, r4, #0x0
- bl FUN_02021220
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_020210C0
-FUN_020210C0: ; 0x020210C0
- push {r4, lr}
- add r4, r0, #0x0
- bne _020210CA
- bl ErrorHandling
-_020210CA:
- ldrh r0, [r4, #0x14]
- cmp r0, #0x0
- beq _020210D4
- bl ErrorHandling
-_020210D4:
- ldr r0, [r4, #0xc]
- cmp r0, #0x0
- bne _020210E0
- bl ErrorHandling
- pop {r4, pc}
-_020210E0:
- add r0, r4, #0x0
- bl FUN_02021230
- add r1, r4, #0x0
- bl FUN_020212B8
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_020210F0
-FUN_020210F0: ; 0x020210F0
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- cmp r5, #0x0
- bne _020210FE
- bl ErrorHandling
-_020210FE:
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02021050
- bl FUN_020210C0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0202110C
-FUN_0202110C: ; 0x0202110C
- push {r4, lr}
- add r4, r0, #0x0
- bne _02021116
- bl ErrorHandling
-_02021116:
- ldrh r0, [r4, #0x16]
- cmp r0, #0x0
- bne _02021122
- bl ErrorHandling
- pop {r4, pc}
-_02021122:
- ldrh r0, [r4, #0x14]
- cmp r0, #0x0
- beq _0202112E
- bl ErrorHandling
- pop {r4, pc}
-_0202112E:
- add r0, r4, #0x0
- bl FUN_02021230
- bl FUN_020212F8
- add r0, r4, #0x0
- bl FUN_02021220
- ldr r1, [r4, #0x4]
- ldr r2, [r4, #0x8]
- ldr r3, [r4, #0xc]
- bl FUN_020212E4
- ldr r0, [r4, #0x10]
- bl FUN_02016A18
- mov r0, #0x0
- str r0, [r4, #0x10]
- mov r0, #0x1
- strh r0, [r4, #0x14]
- pop {r4, pc}
-
- thumb_func_start FUN_02021158
-FUN_02021158: ; 0x02021158
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- cmp r5, #0x0
- bne _02021166
- bl ErrorHandling
-_02021166:
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02021050
- bl FUN_0202110C
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02021174
-FUN_02021174: ; 0x02021174
- push {r4, lr}
- add r4, r0, #0x0
- bne _0202117E
- bl ErrorHandling
-_0202117E:
- ldrh r0, [r4, #0x14]
- cmp r0, #0x0
- beq _02021188
- bl ErrorHandling
-_02021188:
- ldr r0, [r4, #0xc]
- cmp r0, #0x0
- beq _02021194
- bl ErrorHandling
- pop {r4, pc}
-_02021194:
- add r0, r4, #0x0
- bl FUN_02021230
- add r2, r4, #0x0
- add r1, r4, #0x4
- add r4, #0xc
- add r2, #0x8
- add r3, r4, #0x0
- bl FUN_02021248
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_020211AC
-FUN_020211AC: ; 0x020211AC
- push {r4, lr}
- add r4, r0, #0x0
- bne _020211B6
- bl ErrorHandling
-_020211B6:
- ldr r0, [r4, #0x4]
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_020211BC
-FUN_020211BC: ; 0x020211BC
- push {r4, lr}
- add r4, r0, #0x0
- bne _020211C6
- bl ErrorHandling
-_020211C6:
- ldr r0, [r4, #0x8]
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_020211CC
-FUN_020211CC: ; 0x020211CC
- push {r4, lr}
- add r4, r0, #0x0
- bne _020211D6
- bl ErrorHandling
-_020211D6:
- ldr r0, [r4, #0xc]
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_020211DC
-FUN_020211DC: ; 0x020211DC
- push {r3-r4}
- ldr r1, [r0, #0x0]
- mov r2, #0x0
- ldr r4, [r1, #0x4]
- cmp r4, #0x0
- ble _02021204
- ldr r3, [r0, #0x4]
-_020211EA:
- ldr r1, [r3, #0x0]
- cmp r1, #0x0
- bne _020211FC
- ldr r1, [r0, #0x4]
- mov r0, #0x18
- mul r0, r2
- add r0, r1, r0
- pop {r3-r4}
- bx lr
-_020211FC:
- add r2, r2, #0x1
- add r3, #0x18
- cmp r2, r4
- blt _020211EA
-_02021204:
- mov r0, #0x0
- pop {r3-r4}
- bx lr
- .balign 4
-
- thumb_func_start FUN_0202120C
-FUN_0202120C: ; 0x0202120C
- mov r1, #0x0
- str r1, [r0, #0x0]
- str r1, [r0, #0x4]
- str r1, [r0, #0x8]
- str r1, [r0, #0xc]
- strh r1, [r0, #0x14]
- str r1, [r0, #0x10]
- strh r1, [r0, #0x14]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02021220
-FUN_02021220: ; 0x02021220
- push {r3, lr}
- ldr r0, [r0, #0x0]
- bl FUN_02020E0C
- blx FUN_020BC0FC
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_02021230
-FUN_02021230: ; 0x02021230
- push {r3, lr}
- ldrh r1, [r0, #0x16]
- cmp r1, #0x0
- bne _02021240
- ldr r0, [r0, #0x0]
- bl FUN_02020E0C
- b _02021242
-_02021240:
- ldr r0, [r0, #0x10]
-_02021242:
- blx FUN_020BC0FC
- pop {r3, pc}
-
- thumb_func_start FUN_02021248
-FUN_02021248: ; 0x02021248
- push {r4-r7, lr}
- sub sp, #0xc
- add r5, r0, #0x0
- str r1, [sp, #0x0]
- str r2, [sp, #0x4]
- str r3, [sp, #0x8]
- blx FUN_020B7E1C
- add r7, r0, #0x0
- add r0, r5, #0x0
- blx FUN_020B7E10
- add r6, r0, #0x0
- add r0, r5, #0x0
- blx FUN_020B7CE4
- add r4, r0, #0x0
- cmp r7, #0x0
- beq _0202127E
- ldr r3, _020212B0 ; =0x021064B8
- mov r1, #0x0
- ldr r3, [r3, #0x0]
- add r0, r7, #0x0
- add r2, r1, #0x0
- blx r3
- ldr r1, [sp, #0x0]
- str r0, [r1, #0x0]
-_0202127E:
- cmp r6, #0x0
- beq _02021292
- ldr r3, _020212B0 ; =0x021064B8
- add r0, r6, #0x0
- ldr r3, [r3, #0x0]
- mov r1, #0x1
- mov r2, #0x0
- blx r3
- ldr r1, [sp, #0x4]
- str r0, [r1, #0x0]
-_02021292:
- cmp r4, #0x0
- beq _020212AC
- ldr r3, _020212B4 ; =0x021064C0
- mov r1, #0x2
- ldrh r2, [r5, #0x20]
- lsl r1, r1, #0xe
- ldr r3, [r3, #0x0]
- and r1, r2
- add r0, r4, #0x0
- mov r2, #0x0
- blx r3
- ldr r1, [sp, #0x8]
- str r0, [r1, #0x0]
-_020212AC:
- add sp, #0xc
- pop {r4-r7, pc}
- .balign 4
-_020212B0: .word 0x021064B8
-_020212B4: .word 0x021064C0
-
- thumb_func_start FUN_020212B8
-FUN_020212B8: ; 0x020212B8
- push {r4, lr}
- add r3, r1, #0x0
- ldr r1, [r3, #0x4]
- ldr r2, [r3, #0x8]
- ldr r3, [r3, #0xc]
- add r4, r0, #0x0
- bl FUN_020212E4
- ldr r1, [r4, #0x4]
- add r0, r4, #0x0
- blx DC_FlushRange
- add r0, r4, #0x0
- mov r1, #0x1
- blx FUN_020B7D28
- add r0, r4, #0x0
- mov r1, #0x1
- blx FUN_020B7C78
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_020212E4
-FUN_020212E4: ; 0x020212E4
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r3, #0x0
- blx FUN_020B7DFC
- add r0, r5, #0x0
- add r1, r4, #0x0
- blx FUN_020B7CDC
- pop {r3-r5, pc}
-
- thumb_func_start FUN_020212F8
-FUN_020212F8: ; 0x020212F8
- push {r4, lr}
- sub sp, #0x8
- add r4, r0, #0x0
- add r1, sp, #0x4
- add r2, sp, #0x0
- blx FUN_020B7CF0
- add r0, r4, #0x0
- blx FUN_020B7C58
- add sp, #0x8
- pop {r4, pc}
-
- thumb_func_start FUN_02021310
-FUN_02021310: ; 0x02021310
- push {r4-r6, lr}
- add r6, r0, #0x0
- add r4, r1, #0x0
- bl FUN_02021334
- add r5, r0, #0x0
- add r0, r4, #0x0
- add r1, r5, #0x0
- bl FUN_02016998
- add r1, r6, #0x0
- add r2, r5, #0x0
- add r4, r0, #0x0
- blx memcpy
- add r0, r4, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02021334
-FUN_02021334: ; 0x02021334
- push {r3-r5, lr}
- add r5, r0, #0x0
- blx FUN_020BC0FC
- add r4, r0, #0x0
- bne _02021344
- bl ErrorHandling
-_02021344:
- ldr r0, [r4, #0x14]
- add r0, r4, r0
- sub r0, r0, r5
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0202134C
-FUN_0202134C: ; 0x0202134C
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- blx FUN_020B33A0
- add r5, #0x80
- str r4, [r5, #0x0]
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0202135C
-FUN_0202135C: ; 0x0202135C
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- add r6, r2, #0x0
- add r7, r3, #0x0
- blx FUN_020B3334
- add r2, r5, #0x0
- ldmia r4!, {r0-r1}
- stmia r2!, {r0-r1}
- ldmia r4!, {r0-r1}
- stmia r2!, {r0-r1}
- str r6, [r5, #0x28]
- ldr r0, [sp, #0x18]
- str r7, [r5, #0x2c]
- str r0, [r5, #0x34]
- ldr r0, [sp, #0x1c]
- str r0, [r5, #0x14]
- ldr r0, [sp, #0x20]
- cmp r0, #0x0
- beq _0202138C
- add r1, r5, #0x0
- blx FUN_020B3390
-_0202138C:
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02021390
-FUN_02021390: ; 0x02021390
- add r3, r0, #0x0
- add r2, r1, #0x0
- ldmia r2!, {r0-r1}
- stmia r3!, {r0-r1}
- ldmia r2!, {r0-r1}
- stmia r3!, {r0-r1}
- bx lr
- .balign 4
-
- thumb_func_start FUN_020213A0
-FUN_020213A0: ; 0x020213A0
- push {r3-r7, lr}
- sub sp, #0x60
- add r5, r1, #0x0
- add r6, r2, #0x0
- ldr r4, [r5, #0x10]
- ldr r3, [r6, #0x0]
- add r2, r0, #0x0
- sub r3, r4, r3
- ldrh r1, [r0, #0x2]
- mov r0, #0x3f
- str r3, [sp, #0x18]
- and r0, r1
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- lsl r0, r0, #0x1a
- ldr r4, [r5, #0x14]
- ldr r3, [r6, #0x4]
- add r2, #0x8
- sub r3, r4, r3
- str r3, [sp, #0x14]
- asr r3, r1, #0xb
- mov r1, #0x1
- and r1, r3
- lsr r0, r0, #0x18
- cmp r1, #0x1
- bne _020213F4
- mov r0, #0x6
- ldrsh r0, [r2, r0]
- lsl r4, r0, #0xc
- mov r0, #0x2
- ldrsh r0, [r2, r0]
- lsl r0, r0, #0xc
- str r0, [sp, #0x10]
- mov r0, #0x4
- ldrsh r0, [r2, r0]
- lsl r0, r0, #0xc
- str r0, [sp, #0xc]
- mov r0, #0x0
- ldrsh r0, [r2, r0]
- lsl r0, r0, #0xc
- str r0, [sp, #0x8]
- b _02021400
-_020213F4:
- neg r1, r0
- lsl r0, r0, #0xc
- lsl r4, r1, #0xc
- str r0, [sp, #0x10]
- str r4, [sp, #0xc]
- str r0, [sp, #0x8]
-_02021400:
- ldr r0, [r5, #0xc]
- str r0, [sp, #0x1c]
- asr r0, r0, #0x1f
- str r0, [sp, #0x20]
- asr r0, r4, #0x1f
- str r0, [sp, #0x24]
- ldr r0, [r5, #0x4]
- ldr r1, [sp, #0x24]
- str r0, [sp, #0x28]
- asr r0, r0, #0x1f
- str r0, [sp, #0x2c]
- ldr r2, [sp, #0x28]
- ldr r3, [sp, #0x2c]
- add r0, r4, #0x0
- blx _ll_mul
- add r7, r1, #0x0
- str r0, [sp, #0x30]
- ldr r1, [sp, #0x24]
- ldr r2, [sp, #0x1c]
- ldr r3, [sp, #0x20]
- add r0, r4, #0x0
- blx _ll_mul
- add r2, r0, #0x0
- add r3, r1, #0x0
- mov r0, #0x2
- ldr r1, [sp, #0x30]
- mov r4, #0x0
- lsl r0, r0, #0xa
- add r0, r1, r0
- adc r7, r4
- lsl r1, r7, #0x14
- lsr r0, r0, #0xc
- orr r0, r1
- mov r1, #0x2
- lsl r1, r1, #0xa
- add r2, r2, r1
- adc r3, r4
- lsl r1, r3, #0x14
- lsr r2, r2, #0xc
- orr r2, r1
- add r1, r0, r2
- ldr r0, [sp, #0x14]
- ldr r2, [sp, #0x28]
- add r0, r0, r1
- str r0, [sp, #0x5c]
- ldr r0, [sp, #0x10]
- ldr r3, [sp, #0x2c]
- asr r0, r0, #0x1f
- str r0, [sp, #0x34]
- ldr r0, [sp, #0x10]
- ldr r1, [sp, #0x34]
- blx _ll_mul
- str r0, [sp, #0x38]
- add r4, r1, #0x0
- ldr r0, [sp, #0x10]
- ldr r1, [sp, #0x34]
- ldr r2, [sp, #0x1c]
- ldr r3, [sp, #0x20]
- blx _ll_mul
- mov r2, #0x2
- ldr r3, [sp, #0x38]
- lsl r2, r2, #0xa
- add r2, r3, r2
- ldr r3, _0202158C ; =0x00000000
- adc r4, r3
- lsl r3, r4, #0x14
- lsr r2, r2, #0xc
- orr r2, r3
- mov r3, #0x2
- lsl r3, r3, #0xa
- add r3, r0, r3
- ldr r0, _0202158C ; =0x00000000
- adc r1, r0
- lsl r0, r1, #0x14
- lsr r1, r3, #0xc
- orr r1, r0
- ldr r0, [sp, #0x14]
- add r1, r2, r1
- add r4, r0, r1
- ldr r0, [r5, #0x8]
- str r0, [sp, #0x3c]
- asr r0, r0, #0x1f
- str r0, [sp, #0x40]
- ldr r0, [sp, #0xc]
- asr r0, r0, #0x1f
- str r0, [sp, #0x44]
- ldr r0, [r5, #0x0]
- ldr r1, [sp, #0x44]
- str r0, [sp, #0x48]
- asr r0, r0, #0x1f
- str r0, [sp, #0x4c]
- ldr r0, [sp, #0xc]
- ldr r2, [sp, #0x48]
- ldr r3, [sp, #0x4c]
- blx _ll_mul
- str r0, [sp, #0x50]
- add r5, r1, #0x0
- ldr r0, [sp, #0xc]
- ldr r1, [sp, #0x44]
- ldr r2, [sp, #0x3c]
- ldr r3, [sp, #0x40]
- blx _ll_mul
- mov r2, #0x2
- ldr r3, [sp, #0x50]
- lsl r2, r2, #0xa
- add r2, r3, r2
- ldr r3, _0202158C ; =0x00000000
- adc r5, r3
- lsl r3, r5, #0x14
- lsr r2, r2, #0xc
- orr r2, r3
- mov r3, #0x2
- lsl r3, r3, #0xa
- add r3, r0, r3
- ldr r0, _0202158C ; =0x00000000
- adc r1, r0
- lsl r0, r1, #0x14
- lsr r1, r3, #0xc
- orr r1, r0
- ldr r0, [sp, #0x18]
- add r1, r2, r1
- add r5, r0, r1
- ldr r0, [sp, #0x8]
- asr r0, r0, #0x1f
- str r0, [sp, #0x54]
- ldr r0, [sp, #0x8]
- ldr r1, [sp, #0x54]
- ldr r2, [sp, #0x48]
- ldr r3, [sp, #0x4c]
- blx _ll_mul
- str r0, [sp, #0x58]
- str r1, [sp, #0x4]
- ldr r0, [sp, #0x8]
- ldr r1, [sp, #0x54]
- ldr r2, [sp, #0x3c]
- ldr r3, [sp, #0x40]
- blx _ll_mul
- mov r12, r0
- add r2, r1, #0x0
- mov r0, #0x2
- ldr r1, [sp, #0x58]
- lsl r0, r0, #0xa
- add r3, r1, r0
- ldr r1, [sp, #0x4]
- ldr r0, _0202158C ; =0x00000000
- adc r1, r0
- str r1, [sp, #0x4]
- lsl r0, r1, #0x14
- lsr r1, r3, #0xc
- orr r1, r0
- mov r0, #0x2
- lsl r0, r0, #0xa
- mov r3, r12
- add r0, r3, r0
- ldr r3, _0202158C ; =0x00000000
- adc r2, r3
- lsl r2, r2, #0x14
- lsr r0, r0, #0xc
- orr r0, r2
- add r1, r1, r0
- ldr r0, [sp, #0x18]
- add r0, r0, r1
- ldr r1, [sp, #0x5c]
- cmp r4, r1
- bge _02021560
- add r1, r4, #0x0
- ldr r4, [sp, #0x5c]
- str r1, [sp, #0x5c]
-_02021560:
- cmp r0, r5
- bge _0202156A
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r5, r1, #0x0
-_0202156A:
- cmp r4, #0x0
- ble _02021586
- ldr r2, [r6, #0xc]
- ldr r1, [sp, #0x5c]
- cmp r1, r2
- bge _02021586
- cmp r0, #0x0
- ble _02021586
- ldr r0, [r6, #0x8]
- cmp r5, r0
- bge _02021586
- add sp, #0x60
- mov r0, #0x1
- pop {r3-r7, pc}
-_02021586:
- mov r0, #0x0
- add sp, #0x60
- pop {r3-r7, pc}
- .balign 4
-_0202158C: .word 0x00000000
-
- thumb_func_start FUN_02021590
-FUN_02021590: ; 0x02021590
- push {r3-r7, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- add r6, r1, #0x0
- ldr r0, [sp, #0x20]
- mov r1, #0x78
- add r7, r2, #0x0
- str r3, [sp, #0x4]
- bl FUN_02016998
- add r4, r0, #0x0
- beq _020215C0
- ldr r1, [sp, #0x20]
- ldr r3, [sp, #0x4]
- str r1, [sp, #0x0]
- add r1, r5, #0x0
- add r2, r6, #0x0
- bl FUN_02021600
- ldr r2, [sp, #0x20]
- add r0, r4, #0x0
- add r1, r7, #0x0
- bl FUN_020216D4
-_020215C0:
- add r0, r4, #0x0
- add sp, #0x8
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_020215C8
-FUN_020215C8: ; 0x020215C8
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_02021728
- add r0, r4, #0x0
- bl FUN_020216B8
- add r0, r4, #0x0
- bl FUN_02016A18
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_020215E0
-FUN_020215E0: ; 0x020215E0
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- ldr r1, [r5, #0x0]
- add r6, r2, #0x0
- cmp r1, r4
- beq _020215FC
- bl FUN_02021728
- add r0, r5, #0x0
- add r1, r4, #0x0
- add r2, r6, #0x0
- bl FUN_020216D4
-_020215FC:
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02021600
-FUN_02021600: ; 0x02021600
- push {r3-r6, lr}
- sub sp, #0x4
- add r5, r0, #0x0
- add r0, r1, #0x0
- ldr r1, [sp, #0x18]
- add r4, r2, #0x0
- add r6, r3, #0x0
- bl FUN_02006670
- str r0, [r5, #0x54]
- cmp r0, #0x0
- beq _020216A6
- add r1, r5, #0x0
- add r1, #0x5c
- str r1, [sp, #0x0]
- add r1, r4, #0x0
- mov r2, #0x0
- mov r3, #0x10
- bl FUN_02006814
- str r6, [r5, #0x6c]
- cmp r6, #0x0
- beq _02021638
- mov r0, #0x0
- str r0, [r5, #0x74]
- ldr r0, _020216AC ; =FUN_0202192C
- str r0, [r5, #0x70]
- b _02021660
-_02021638:
- ldr r0, [r5, #0x60]
- cmp r0, #0x0
- bne _02021642
- bl ErrorHandling
-_02021642:
- ldr r0, [sp, #0x18]
- ldr r1, [r5, #0x64]
- bl FUN_02016998
- str r0, [r5, #0x74]
- ldr r0, _020216B0 ; =FUN_02021924
- add r1, r4, #0x0
- str r0, [r5, #0x70]
- ldr r0, [r5, #0x74]
- str r0, [sp, #0x0]
- ldr r0, [r5, #0x54]
- ldr r2, [r5, #0x60]
- ldr r3, [r5, #0x64]
- bl FUN_02006814
-_02021660:
- add r0, r5, #0x0
- add r0, #0x6a
- ldrb r0, [r0, #0x0]
- cmp r0, #0x2
- bhi _02021674
- add r0, r5, #0x0
- add r0, #0x6b
- ldrb r0, [r0, #0x0]
- cmp r0, #0x2
- bls _02021678
-_02021674:
- bl ErrorHandling
-_02021678:
- add r0, r5, #0x0
- add r0, #0x6a
- ldrb r0, [r0, #0x0]
- ldr r2, _020216B4 ; =0x020EE668
- sub r0, r0, #0x1
- lsl r3, r0, #0x1
- add r0, r5, #0x0
- add r0, #0x6b
- ldrb r0, [r0, #0x0]
- sub r1, r0, #0x1
- add r0, r2, r3
- ldrb r0, [r1, r0]
- str r0, [r5, #0x8]
- add r0, r5, #0x0
- add r0, #0x6b
- ldrb r1, [r0, #0x0]
- add r0, r5, #0x0
- add r0, #0x6a
- ldrb r0, [r0, #0x0]
- lsl r0, r0, #0x4
- mul r0, r1
- str r0, [r5, #0xc]
- str r4, [r5, #0x58]
-_020216A6:
- add sp, #0x4
- pop {r3-r6, pc}
- nop
-_020216AC: .word FUN_0202192C
-_020216B0: .word FUN_02021924
-_020216B4: .word 0x020EE668
-
- thumb_func_start FUN_020216B8
-FUN_020216B8: ; 0x020216B8
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x74]
- cmp r0, #0x0
- beq _020216C6
- bl FUN_02016A18
-_020216C6:
- ldr r0, [r4, #0x54]
- cmp r0, #0x0
- beq _020216D0
- bl FUN_020066F4
-_020216D0:
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_020216D4
-FUN_020216D4: ; 0x020216D4
- push {r3, lr}
- add r3, r1, #0x0
- add r1, r2, #0x0
- str r3, [r0, #0x0]
- ldr r2, _020216E8 ; =0x020EE66C
- lsl r3, r3, #0x2
- ldr r2, [r2, r3]
- blx r2
- pop {r3, pc}
- nop
-_020216E8: .word 0x020EE66C
-
- thumb_func_start FUN_020216EC
-FUN_020216EC: ; 0x020216EC
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r2, [r5, #0xc]
- ldr r0, [r5, #0x64]
- add r4, r2, #0x0
- mul r4, r0
- add r0, r1, #0x0
- add r1, r4, #0x0
- bl FUN_02016998
- str r0, [r5, #0x10]
- ldr r0, _02021718 ; =FUN_02021774
- add r3, r4, #0x0
- str r0, [r5, #0x4]
- ldr r0, [r5, #0x10]
- str r0, [sp, #0x0]
- ldr r0, [r5, #0x54]
- ldr r1, [r5, #0x58]
- ldr r2, [r5, #0x5c]
- bl FUN_02006814
- pop {r3-r5, pc}
- .balign 4
-_02021718: .word FUN_02021774
-
- thumb_func_start FUN_0202171C
-FUN_0202171C: ; 0x0202171C
- ldr r1, _02021724 ; =FUN_0202181C
- str r1, [r0, #0x4]
- bx lr
- nop
-_02021724: .word FUN_0202181C
-
- thumb_func_start FUN_02021728
-FUN_02021728: ; 0x02021728
- push {r3, lr}
- ldr r1, [r0, #0x0]
- lsl r2, r1, #0x2
- ldr r1, _02021738 ; =0x020EE674
- ldr r1, [r1, r2]
- blx r1
- pop {r3, pc}
- nop
-_02021738: .word 0x020EE674
-
- thumb_func_start FUN_0202173C
-FUN_0202173C: ; 0x0202173C
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x10]
- bl FUN_02016A18
- mov r0, #0x0
- str r0, [r4, #0x10]
- pop {r4, pc}
-
- thumb_func_start FUN_0202174C
-FUN_0202174C: ; 0x0202174C
- bx lr
- .balign 4
-
- thumb_func_start FUN_02021750
-FUN_02021750: ; 0x02021750
- push {r3, lr}
- ldr r3, [r0, #0x64]
- cmp r1, r3
- bhi _02021764
- sub r1, r1, #0x1
- lsl r1, r1, #0x10
- ldr r3, [r0, #0x4]
- lsr r1, r1, #0x10
- blx r3
- pop {r3, pc}
-_02021764:
- add r0, r2, #0x0
- mov r1, #0x0
- add r0, #0x80
- strb r1, [r0, #0x0]
- add r2, #0x81
- strb r1, [r2, #0x0]
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_02021774
-FUN_02021774: ; 0x02021774
- push {r3-r7, lr}
- str r1, [sp, #0x0]
- add r7, r0, #0x0
- ldr r0, [sp, #0x0]
- ldr r1, [r7, #0xc]
- add r5, r0, #0x0
- ldr r0, [r7, #0x8]
- add r6, r2, #0x0
- mul r5, r1
- ldr r4, [r7, #0x10]
- cmp r0, #0x3
- bhi _02021802
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_02021798: ; jump table (using 16-bit offset)
- .short _020217A0 - _02021798 - 2; case 0
- .short _020217AA - _02021798 - 2; case 1
- .short _020217C0 - _02021798 - 2; case 2
- .short _020217D6 - _02021798 - 2; case 3
-_020217A0:
- add r0, r4, r5
- add r1, r6, #0x0
- bl FUN_0201C100
- b _02021802
-_020217AA:
- add r0, r4, r5
- add r1, r6, #0x0
- bl FUN_0201C100
- add r0, r4, r5
- add r1, r6, #0x0
- add r0, #0x10
- add r1, #0x40
- bl FUN_0201C100
- b _02021802
-_020217C0:
- add r0, r4, r5
- add r1, r6, #0x0
- bl FUN_0201C100
- add r0, r4, r5
- add r1, r6, #0x0
- add r0, #0x10
- add r1, #0x20
- bl FUN_0201C100
- b _02021802
-_020217D6:
- add r0, r4, r5
- add r1, r6, #0x0
- bl FUN_0201C100
- add r0, r4, r5
- add r1, r6, #0x0
- add r0, #0x10
- add r1, #0x20
- bl FUN_0201C100
- add r0, r4, r5
- add r1, r6, #0x0
- add r0, #0x20
- add r1, #0x40
- bl FUN_0201C100
- add r0, r4, r5
- add r1, r6, #0x0
- add r0, #0x30
- add r1, #0x60
- bl FUN_0201C100
-_02021802:
- ldr r1, [sp, #0x0]
- ldr r2, [r7, #0x70]
- add r0, r7, #0x0
- blx r2
- add r1, r6, #0x0
- add r1, #0x80
- add r7, #0x69
- strb r0, [r1, #0x0]
- ldrb r0, [r7, #0x0]
- add r6, #0x81
- strb r0, [r6, #0x0]
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0202181C
-FUN_0202181C: ; 0x0202181C
- push {r3-r7, lr}
- add r4, r0, #0x0
- ldr r6, [r4, #0xc]
- add r0, #0x14
- str r0, [sp, #0x0]
- add r7, r1, #0x0
- add r5, r2, #0x0
- add r2, r7, #0x0
- ldr r3, [r4, #0x5c]
- mul r2, r6
- add r2, r3, r2
- ldr r0, [r4, #0x54]
- ldr r1, [r4, #0x58]
- add r3, r6, #0x0
- bl FUN_02006814
- ldr r0, [r4, #0x8]
- cmp r0, #0x3
- bhi _020218C0
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_0202184E: ; jump table (using 16-bit offset)
- .short _02021856 - _0202184E - 2; case 0
- .short _02021862 - _0202184E - 2; case 1
- .short _0202187A - _0202184E - 2; case 2
- .short _02021892 - _0202184E - 2; case 3
-_02021856:
- add r0, r4, #0x0
- add r0, #0x14
- add r1, r5, #0x0
- bl FUN_0201C100
- b _020218C0
-_02021862:
- add r0, r4, #0x0
- add r0, #0x14
- add r1, r5, #0x0
- bl FUN_0201C100
- add r0, r4, #0x0
- add r1, r5, #0x0
- add r0, #0x24
- add r1, #0x40
- bl FUN_0201C100
- b _020218C0
-_0202187A:
- add r0, r4, #0x0
- add r0, #0x14
- add r1, r5, #0x0
- bl FUN_0201C100
- add r0, r4, #0x0
- add r1, r5, #0x0
- add r0, #0x24
- add r1, #0x20
- bl FUN_0201C100
- b _020218C0
-_02021892:
- add r0, r4, #0x0
- add r0, #0x14
- add r1, r5, #0x0
- bl FUN_0201C100
- add r0, r4, #0x0
- add r1, r5, #0x0
- add r0, #0x24
- add r1, #0x20
- bl FUN_0201C100
- add r0, r4, #0x0
- add r1, r5, #0x0
- add r0, #0x34
- add r1, #0x40
- bl FUN_0201C100
- add r0, r4, #0x0
- add r1, r5, #0x0
- add r0, #0x44
- add r1, #0x60
- bl FUN_0201C100
-_020218C0:
- ldr r2, [r4, #0x70]
- add r0, r4, #0x0
- add r1, r7, #0x0
- blx r2
- add r1, r5, #0x0
- add r1, #0x80
- add r4, #0x69
- strb r0, [r1, #0x0]
- ldrb r0, [r4, #0x0]
- add r5, #0x81
- strb r0, [r5, #0x0]
- pop {r3-r7, pc}
-
- thumb_func_start FUN_020218D8
-FUN_020218D8: ; 0x020218D8
- push {r3-r7, lr}
- add r4, r1, #0x0
- ldrh r1, [r4, #0x0]
- add r5, r0, #0x0
- ldr r0, _0202191C ; =0x0000FFFF
- add r7, r2, #0x0
- mov r6, #0x0
- cmp r1, r0
- beq _02021916
-_020218EA:
- ldr r0, _02021920 ; =0x0000FFFE
- cmp r1, r0
- bne _02021900
- add r0, r4, #0x0
- bl FUN_0201B8B8
- add r4, r0, #0x0
- ldrh r1, [r4, #0x0]
- ldr r0, _0202191C ; =0x0000FFFF
- cmp r1, r0
- beq _02021916
-_02021900:
- ldr r2, [r5, #0x70]
- add r0, r5, #0x0
- sub r1, r1, #0x1
- blx r2
- add r4, r4, #0x2
- add r0, r7, r0
- add r6, r6, r0
- ldrh r1, [r4, #0x0]
- ldr r0, _0202191C ; =0x0000FFFF
- cmp r1, r0
- bne _020218EA
-_02021916:
- sub r0, r6, r7
- pop {r3-r7, pc}
- nop
-_0202191C: .word 0x0000FFFF
-_02021920: .word 0x0000FFFE
-
- thumb_func_start FUN_02021924
-FUN_02021924: ; 0x02021924
- ldr r0, [r0, #0x74]
- ldrb r0, [r0, r1]
- bx lr
- .balign 4
-
- thumb_func_start FUN_0202192C
-FUN_0202192C: ; 0x0202192C
- add r0, #0x68
- ldrb r0, [r0, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02021934
-FUN_02021934: ; 0x02021934
- push {r3-r7, lr}
- add r5, r1, #0x0
- ldrh r1, [r5, #0x0]
- add r7, r0, #0x0
- mov r4, #0x0
- ldr r0, _02021994 ; =0x0000FFFF
- add r6, r2, #0x0
- str r4, [sp, #0x0]
- cmp r1, r0
- beq _02021986
-_02021948:
- ldr r0, _02021998 ; =0x0000FFFE
- cmp r1, r0
- bne _02021958
- add r0, r5, #0x0
- bl FUN_0201B8B8
- add r5, r0, #0x0
- b _0202197E
-_02021958:
- mov r0, #0xe
- lsl r0, r0, #0xc
- cmp r1, r0
- bne _02021970
- ldr r0, [sp, #0x0]
- sub r1, r4, r6
- cmp r0, r1
- bhs _0202196A
- str r1, [sp, #0x0]
-_0202196A:
- mov r4, #0x0
- add r5, r5, #0x2
- b _0202197E
-_02021970:
- ldr r2, [r7, #0x70]
- add r0, r7, #0x0
- sub r1, r1, #0x1
- blx r2
- add r0, r6, r0
- add r4, r4, r0
- add r5, r5, #0x2
-_0202197E:
- ldrh r1, [r5, #0x0]
- ldr r0, _02021994 ; =0x0000FFFF
- cmp r1, r0
- bne _02021948
-_02021986:
- ldr r0, [sp, #0x0]
- sub r1, r4, r6
- cmp r0, r1
- bhs _02021990
- str r1, [sp, #0x0]
-_02021990:
- ldr r0, [sp, #0x0]
- pop {r3-r7, pc}
- .balign 4
-_02021994: .word 0x0000FFFF
-_02021998: .word 0x0000FFFE
-
- thumb_func_start FUN_0202199C
-FUN_0202199C: ; 0x0202199C
- push {r3-r7, lr}
- add r5, r1, #0x0
- ldrh r1, [r5, #0x0]
- add r6, r0, #0x0
- ldr r0, _020219EC ; =0x0000FFFF
- mov r4, #0x0
- cmp r1, r0
- beq _020219E8
- sub r7, r0, #0x1
-_020219AE:
- cmp r1, r7
- bne _020219D4
- add r0, r5, #0x0
- bl FUN_0201B8E0
- ldr r1, _020219F0 ; =0x00000203
- cmp r0, r1
- bne _020219CA
- add r0, r5, #0x0
- mov r1, #0x0
- bl FUN_0201B914
- add r4, r0, #0x0
- sub r4, #0xc
-_020219CA:
- add r0, r5, #0x0
- bl FUN_0201B8B8
- add r5, r0, #0x0
- b _020219E0
-_020219D4:
- ldr r2, [r6, #0x70]
- add r0, r6, #0x0
- sub r1, r1, #0x1
- blx r2
- add r4, r4, r0
- add r5, r5, #0x2
-_020219E0:
- ldrh r1, [r5, #0x0]
- ldr r0, _020219EC ; =0x0000FFFF
- cmp r1, r0
- bne _020219AE
-_020219E8:
- add r0, r4, #0x0
- pop {r3-r7, pc}
- .balign 4
-_020219EC: .word 0x0000FFFF
-_020219F0: .word 0x00000203
-
- thumb_func_start FUN_020219F4
-FUN_020219F4: ; 0x020219F4
- push {r4, lr}
- add r4, r0, #0x0
- add r0, r1, #0x0
- lsl r1, r4, #0x1
- add r1, #0xa
- bl FUN_02016998
- cmp r0, #0x0
- beq _02021A14
- ldr r1, _02021A18 ; =0xB6F8D2EC
- str r1, [r0, #0x4]
- strh r4, [r0, #0x0]
- mov r1, #0x0
- strh r1, [r0, #0x2]
- ldr r1, _02021A1C ; =0x0000FFFF
- strh r1, [r0, #0x8]
-_02021A14:
- pop {r4, pc}
- nop
-_02021A18: .word 0xB6F8D2EC
-_02021A1C: .word 0x0000FFFF
-
- thumb_func_start FUN_02021A20
-FUN_02021A20: ; 0x02021A20
- push {r4, lr}
- add r4, r0, #0x0
- bne _02021A2A
- bl ErrorHandling
-_02021A2A:
- ldr r1, [r4, #0x4]
- ldr r0, _02021A44 ; =0xB6F8D2EC
- cmp r1, r0
- beq _02021A36
- bl ErrorHandling
-_02021A36:
- ldr r0, _02021A48 ; =0xB6F8D2ED
- str r0, [r4, #0x4]
- add r0, r4, #0x0
- bl FUN_02016A18
- pop {r4, pc}
- nop
-_02021A44: .word 0xB6F8D2EC
-_02021A48: .word 0xB6F8D2ED
-
- thumb_func_start FUN_02021A4C
-FUN_02021A4C: ; 0x02021A4C
- push {r4, lr}
- add r4, r0, #0x0
- bne _02021A56
- bl ErrorHandling
-_02021A56:
- ldr r1, [r4, #0x4]
- ldr r0, _02021A6C ; =0xB6F8D2EC
- cmp r1, r0
- beq _02021A62
- bl ErrorHandling
-_02021A62:
- mov r0, #0x0
- strh r0, [r4, #0x2]
- ldr r0, _02021A70 ; =0x0000FFFF
- strh r0, [r4, #0x8]
- pop {r4, pc}
- .balign 4
-_02021A6C: .word 0xB6F8D2EC
-_02021A70: .word 0x0000FFFF
-
- thumb_func_start FUN_02021A74
-FUN_02021A74: ; 0x02021A74
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- cmp r5, #0x0
- bne _02021A82
- bl ErrorHandling
-_02021A82:
- ldr r1, [r5, #0x4]
- ldr r0, _02021AC8 ; =0xB6F8D2EC
- cmp r1, r0
- beq _02021A8E
- bl ErrorHandling
-_02021A8E:
- cmp r4, #0x0
- bne _02021A96
- bl ErrorHandling
-_02021A96:
- ldr r1, [r4, #0x4]
- ldr r0, _02021AC8 ; =0xB6F8D2EC
- cmp r1, r0
- beq _02021AA2
- bl ErrorHandling
-_02021AA2:
- ldrh r2, [r4, #0x2]
- ldrh r0, [r5, #0x0]
- cmp r0, r2
- bls _02021AC0
- add r0, r5, #0x0
- add r1, r4, #0x0
- add r2, r2, #0x1
- add r0, #0x8
- add r1, #0x8
- lsl r2, r2, #0x1
- blx memcpy
- ldrh r0, [r4, #0x2]
- strh r0, [r5, #0x2]
- pop {r3-r5, pc}
-_02021AC0:
- bl ErrorHandling
- pop {r3-r5, pc}
- nop
-_02021AC8: .word 0xB6F8D2EC
-
- thumb_func_start FUN_02021ACC
-FUN_02021ACC: ; 0x02021ACC
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- cmp r5, #0x0
- bne _02021ADA
- bl ErrorHandling
-_02021ADA:
- ldr r1, [r5, #0x4]
- ldr r0, _02021B00 ; =0xB6F8D2EC
- cmp r1, r0
- beq _02021AE6
- bl ErrorHandling
-_02021AE6:
- ldrh r0, [r5, #0x2]
- add r1, r4, #0x0
- add r0, r0, #0x1
- bl FUN_020219F4
- add r4, r0, #0x0
- beq _02021AFA
- add r1, r5, #0x0
- bl FUN_02021A74
-_02021AFA:
- add r0, r4, #0x0
- pop {r3-r5, pc}
- nop
-_02021B00: .word 0xB6F8D2EC
-
- thumb_func_start FUN_02021B04
-FUN_02021B04: ; 0x02021B04
- push {r3-r7, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- ldr r0, [sp, #0x20]
- add r6, r1, #0x0
- add r7, r3, #0x0
- str r2, [sp, #0x0]
- str r0, [sp, #0x20]
- cmp r5, #0x0
- bne _02021B1C
- bl ErrorHandling
-_02021B1C:
- ldr r1, [r5, #0x4]
- ldr r0, _02021C1C ; =0xB6F8D2EC
- cmp r1, r0
- beq _02021B28
- bl ErrorHandling
-_02021B28:
- cmp r6, #0x0
- bge _02021B30
- mov r4, #0x1
- b _02021B32
-_02021B30:
- mov r4, #0x0
-_02021B32:
- ldr r0, [sp, #0x0]
- ldrh r1, [r5, #0x0]
- add r0, r0, r4
- cmp r1, r0
- bls _02021C14
- ldr r0, [sp, #0x20]
- cmp r0, #0x0
- bne _02021B48
- ldr r0, _02021C20 ; =0x020EE67C
- str r0, [sp, #0x4]
- b _02021B4C
-_02021B48:
- ldr r0, _02021C24 ; =0x020EE690
- str r0, [sp, #0x4]
-_02021B4C:
- add r0, r5, #0x0
- bl FUN_02021A4C
- cmp r4, #0x0
- beq _02021B74
- mov r0, #0x0
- mvn r0, r0
- mul r6, r0
- ldr r0, [sp, #0x20]
- cmp r0, #0x0
- bne _02021B66
- mov r0, #0xf1
- b _02021B68
-_02021B66:
- ldr r0, _02021C28 ; =0x000001BE
-_02021B68:
- ldrh r2, [r5, #0x2]
- add r1, r2, #0x1
- strh r1, [r5, #0x2]
- lsl r1, r2, #0x1
- add r1, r5, r1
- strh r0, [r1, #0x8]
-_02021B74:
- ldr r0, [sp, #0x0]
- lsl r1, r0, #0x2
- ldr r0, _02021C2C ; =0x020EE6A0
- ldr r4, [r0, r1]
- cmp r4, #0x0
- beq _02021C06
-_02021B80:
- add r0, r6, #0x0
- add r1, r4, #0x0
- blx _u32_div_f
- lsl r0, r0, #0x10
- lsr r1, r0, #0x10
- add r0, r4, #0x0
- mul r0, r1
- sub r6, r6, r0
- cmp r7, #0x2
- bne _02021BB4
- cmp r1, #0xa
- bhs _02021BA2
- ldr r0, [sp, #0x4]
- lsl r1, r1, #0x1
- ldrh r1, [r0, r1]
- b _02021BA4
-_02021BA2:
- mov r1, #0xe2
-_02021BA4:
- ldrh r0, [r5, #0x2]
- add r2, r0, #0x0
- add r2, r2, #0x1
- lsl r0, r0, #0x1
- strh r2, [r5, #0x2]
- add r0, r5, r0
- strh r1, [r0, #0x8]
- b _02021BFA
-_02021BB4:
- cmp r1, #0x0
- bne _02021BBC
- cmp r4, #0x1
- bne _02021BDC
-_02021BBC:
- mov r7, #0x2
- cmp r1, #0xa
- bhs _02021BCA
- ldr r0, [sp, #0x4]
- lsl r1, r1, #0x1
- ldrh r1, [r0, r1]
- b _02021BCC
-_02021BCA:
- mov r1, #0xe2
-_02021BCC:
- ldrh r0, [r5, #0x2]
- add r2, r0, #0x0
- add r2, r2, #0x1
- lsl r0, r0, #0x1
- strh r2, [r5, #0x2]
- add r0, r5, r0
- strh r1, [r0, #0x8]
- b _02021BFA
-_02021BDC:
- cmp r7, #0x1
- bne _02021BFA
- ldr r0, [sp, #0x20]
- cmp r0, #0x0
- bne _02021BEA
- mov r1, #0x1
- b _02021BEC
-_02021BEA:
- ldr r1, _02021C30 ; =0x000001E2
-_02021BEC:
- ldrh r0, [r5, #0x2]
- add r2, r0, #0x0
- add r2, r2, #0x1
- lsl r0, r0, #0x1
- strh r2, [r5, #0x2]
- add r0, r5, r0
- strh r1, [r0, #0x8]
-_02021BFA:
- add r0, r4, #0x0
- mov r1, #0xa
- blx _u32_div_f
- add r4, r0, #0x0
- bne _02021B80
-_02021C06:
- ldrh r0, [r5, #0x2]
- ldr r1, _02021C34 ; =0x0000FFFF
- add sp, #0x8
- lsl r0, r0, #0x1
- add r0, r5, r0
- strh r1, [r0, #0x8]
- pop {r3-r7, pc}
-_02021C14:
- bl ErrorHandling
- add sp, #0x8
- pop {r3-r7, pc}
- .balign 4
-_02021C1C: .word 0xB6F8D2EC
-_02021C20: .word 0x020EE67C
-_02021C24: .word 0x020EE690
-_02021C28: .word 0x000001BE
-_02021C2C: .word 0x020EE6A0
-_02021C30: .word 0x000001E2
-_02021C34: .word 0x0000FFFF
-
- thumb_func_start FUN_02021C38
-FUN_02021C38: ; 0x02021C38
- push {r3-r7, lr}
- sub sp, #0x10
- str r1, [sp, #0x0]
- mov r1, #0x0
- str r1, [sp, #0x8]
- str r1, [sp, #0xc]
- add r5, r1, #0x0
- ldrh r1, [r0, #0x2]
- mov r7, #0x1
- cmp r1, #0x12
- bls _02021C56
- ldr r0, [sp, #0x8]
- add sp, #0x10
- add r1, r0, #0x0
- pop {r3-r7, pc}
-_02021C56:
- sub r1, r1, #0x1
- str r1, [sp, #0x4]
- bmi _02021CCC
- lsl r1, r1, #0x1
- add r4, r0, r1
-_02021C60:
- ldrh r6, [r4, #0x8]
- mov r3, #0xa
- mov r0, #0x0
- add r1, r6, #0x0
- sub r1, #0xa2
- asr r2, r1, #0x1f
- sub r3, r1, r3
- mov r12, r2
- mov r3, r12
- sbc r3, r0
- blo _02021C98
- ldr r0, _02021CDC ; =0x00000121
- mov r3, #0xa
- sub r1, r6, r0
- asr r2, r1, #0x1f
- mov r0, #0x0
- sub r3, r1, r3
- mov r12, r2
- mov r3, r12
- sbc r3, r0
- blo _02021C98
- ldr r0, [sp, #0x0]
- mov r1, #0x0
- str r1, [r0, #0x0]
- ldr r0, [sp, #0x8]
- ldr r1, [sp, #0xc]
- add sp, #0x10
- pop {r3-r7, pc}
-_02021C98:
- add r0, r1, #0x0
- add r1, r2, #0x0
- add r2, r7, #0x0
- add r3, r5, #0x0
- blx _ll_mul
- add r2, r1, #0x0
- ldr r1, [sp, #0x8]
- add r0, r1, r0
- str r0, [sp, #0x8]
- ldr r0, [sp, #0xc]
- adc r0, r2
- str r0, [sp, #0xc]
- add r0, r7, #0x0
- add r1, r5, #0x0
- mov r2, #0xa
- mov r3, #0x0
- blx _ll_mul
- add r7, r0, #0x0
- ldr r0, [sp, #0x4]
- add r5, r1, #0x0
- sub r4, r4, #0x2
- sub r0, r0, #0x1
- str r0, [sp, #0x4]
- bpl _02021C60
-_02021CCC:
- ldr r0, [sp, #0x0]
- mov r1, #0x1
- str r1, [r0, #0x0]
- ldr r0, [sp, #0x8]
- ldr r1, [sp, #0xc]
- add sp, #0x10
- pop {r3-r7, pc}
- nop
-_02021CDC: .word 0x00000121
-
- thumb_func_start FUN_02021CE0
-FUN_02021CE0: ; 0x02021CE0
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- cmp r5, #0x0
- bne _02021CEE
- bl ErrorHandling
-_02021CEE:
- ldr r1, [r5, #0x4]
- ldr r0, _02021D34 ; =0xB6F8D2EC
- cmp r1, r0
- beq _02021CFA
- bl ErrorHandling
-_02021CFA:
- cmp r4, #0x0
- bne _02021D02
- bl ErrorHandling
-_02021D02:
- ldr r1, [r4, #0x4]
- ldr r0, _02021D34 ; =0xB6F8D2EC
- cmp r1, r0
- beq _02021D0E
- bl ErrorHandling
-_02021D0E:
- ldrh r1, [r5, #0x8]
- ldrh r0, [r4, #0x8]
- cmp r1, r0
- bne _02021D2E
- ldr r0, _02021D38 ; =0x0000FFFF
-_02021D18:
- ldrh r1, [r5, #0x8]
- cmp r1, r0
- bne _02021D22
- mov r0, #0x0
- pop {r3-r5, pc}
-_02021D22:
- add r5, r5, #0x2
- add r4, r4, #0x2
- ldrh r2, [r5, #0x8]
- ldrh r1, [r4, #0x8]
- cmp r2, r1
- beq _02021D18
-_02021D2E:
- mov r0, #0x1
- pop {r3-r5, pc}
- nop
-_02021D34: .word 0xB6F8D2EC
-_02021D38: .word 0x0000FFFF
-
- thumb_func_start FUN_02021D3C
-FUN_02021D3C: ; 0x02021D3C
- push {r4, lr}
- add r4, r0, #0x0
- bne _02021D46
- bl ErrorHandling
-_02021D46:
- ldr r1, [r4, #0x4]
- ldr r0, _02021D58 ; =0xB6F8D2EC
- cmp r1, r0
- beq _02021D52
- bl ErrorHandling
-_02021D52:
- ldrh r0, [r4, #0x2]
- pop {r4, pc}
- nop
-_02021D58: .word 0xB6F8D2EC
-
- thumb_func_start FUN_02021D5C
-FUN_02021D5C: ; 0x02021D5C
- push {r3-r5, lr}
- add r4, r0, #0x0
- bne _02021D66
- bl ErrorHandling
-_02021D66:
- ldr r1, [r4, #0x4]
- ldr r0, _02021D98 ; =0xB6F8D2EC
- cmp r1, r0
- beq _02021D72
- bl ErrorHandling
-_02021D72:
- ldrh r1, [r4, #0x2]
- mov r3, #0x0
- mov r0, #0x1
- cmp r1, #0x0
- ble _02021D94
- mov r1, #0xe
- add r5, r4, #0x0
- lsl r1, r1, #0xc
-_02021D82:
- ldrh r2, [r5, #0x8]
- cmp r2, r1
- bne _02021D8A
- add r0, r0, #0x1
-_02021D8A:
- ldrh r2, [r4, #0x2]
- add r3, r3, #0x1
- add r5, r5, #0x2
- cmp r3, r2
- blt _02021D82
-_02021D94:
- pop {r3-r5, pc}
- nop
-_02021D98: .word 0xB6F8D2EC
-
- thumb_func_start FUN_02021D9C
-FUN_02021D9C: ; 0x02021D9C
- push {r3-r7, lr}
- add r5, r1, #0x0
- add r7, r0, #0x0
- add r6, r2, #0x0
- cmp r5, #0x0
- bne _02021DAC
- bl ErrorHandling
-_02021DAC:
- ldr r1, [r5, #0x4]
- ldr r0, _02021E24 ; =0xB6F8D2EC
- cmp r1, r0
- beq _02021DB8
- bl ErrorHandling
-_02021DB8:
- cmp r7, #0x0
- bne _02021DC0
- bl ErrorHandling
-_02021DC0:
- ldr r1, [r7, #0x4]
- ldr r0, _02021E24 ; =0xB6F8D2EC
- cmp r1, r0
- beq _02021DCC
- bl ErrorHandling
-_02021DCC:
- mov r4, #0x0
- cmp r6, #0x0
- beq _02021DF6
- ldrh r0, [r5, #0x2]
- cmp r0, #0x0
- ble _02021DF6
- mov r1, #0xe
- add r0, r5, #0x0
- lsl r1, r1, #0xc
-_02021DDE:
- ldrh r2, [r0, #0x8]
- cmp r2, r1
- bne _02021DEC
- sub r6, r6, #0x1
- bne _02021DEC
- add r4, r4, #0x1
- b _02021DF6
-_02021DEC:
- ldrh r2, [r5, #0x2]
- add r4, r4, #0x1
- add r0, r0, #0x2
- cmp r4, r2
- blt _02021DDE
-_02021DF6:
- add r0, r7, #0x0
- bl FUN_02021A4C
- ldrh r0, [r5, #0x2]
- cmp r4, r0
- bge _02021E20
- lsl r0, r4, #0x1
- add r6, r5, r0
-_02021E06:
- ldrh r1, [r6, #0x8]
- mov r0, #0xe
- lsl r0, r0, #0xc
- cmp r1, r0
- beq _02021E20
- add r0, r7, #0x0
- bl FUN_02021FB0
- ldrh r0, [r5, #0x2]
- add r4, r4, #0x1
- add r6, r6, #0x2
- cmp r4, r0
- blt _02021E06
-_02021E20:
- pop {r3-r7, pc}
- nop
-_02021E24: .word 0xB6F8D2EC
-
- thumb_func_start FUN_02021E28
-FUN_02021E28: ; 0x02021E28
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- cmp r5, #0x0
- bne _02021E36
- bl ErrorHandling
-_02021E36:
- ldr r1, [r5, #0x4]
- ldr r0, _02021E84 ; =0xB6F8D2EC
- cmp r1, r0
- beq _02021E42
- bl ErrorHandling
-_02021E42:
- mov r0, #0x0
- strh r0, [r5, #0x2]
- ldrh r1, [r4, #0x0]
- ldr r0, _02021E88 ; =0x0000FFFF
- cmp r1, r0
- beq _02021E76
- add r1, r0, #0x0
-_02021E50:
- ldrh r2, [r5, #0x0]
- ldrh r0, [r5, #0x2]
- sub r2, r2, #0x1
- cmp r0, r2
- blt _02021E60
- bl ErrorHandling
- b _02021E76
-_02021E60:
- add r2, r0, #0x0
- add r2, r2, #0x1
- strh r2, [r5, #0x2]
- ldrh r2, [r4, #0x0]
- lsl r0, r0, #0x1
- add r0, r5, r0
- add r4, r4, #0x2
- strh r2, [r0, #0x8]
- ldrh r0, [r4, #0x0]
- cmp r0, r1
- bne _02021E50
-_02021E76:
- ldrh r0, [r5, #0x2]
- ldr r1, _02021E88 ; =0x0000FFFF
- lsl r0, r0, #0x1
- add r0, r5, r0
- strh r1, [r0, #0x8]
- pop {r3-r5, pc}
- nop
-_02021E84: .word 0xB6F8D2EC
-_02021E88: .word 0x0000FFFF
-
- thumb_func_start FUN_02021E8C
-FUN_02021E8C: ; 0x02021E8C
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r7, r1, #0x0
- add r4, r2, #0x0
- cmp r5, #0x0
- bne _02021E9C
- bl ErrorHandling
-_02021E9C:
- ldr r1, [r5, #0x4]
- ldr r0, _02021EE8 ; =0xB6F8D2EC
- cmp r1, r0
- beq _02021EA8
- bl ErrorHandling
-_02021EA8:
- ldrh r0, [r5, #0x0]
- cmp r4, r0
- bhi _02021EE2
- lsl r6, r4, #0x1
- add r0, r5, #0x0
- add r0, #0x8
- add r1, r7, #0x0
- add r2, r6, #0x0
- blx memcpy
- mov r2, #0x0
- cmp r4, #0x0
- bls _02021ED4
- ldr r0, _02021EEC ; =0x0000FFFF
- add r3, r5, #0x0
-_02021EC6:
- ldrh r1, [r3, #0x8]
- cmp r1, r0
- beq _02021ED4
- add r2, r2, #0x1
- add r3, r3, #0x2
- cmp r2, r4
- blo _02021EC6
-_02021ED4:
- strh r2, [r5, #0x2]
- cmp r2, r4
- bne _02021EE6
- ldr r1, _02021EEC ; =0x0000FFFF
- add r0, r5, r6
- strh r1, [r0, #0x6]
- pop {r3-r7, pc}
-_02021EE2:
- bl ErrorHandling
-_02021EE6:
- pop {r3-r7, pc}
- .balign 4
-_02021EE8: .word 0xB6F8D2EC
-_02021EEC: .word 0x0000FFFF
-
- thumb_func_start FUN_02021EF0
-FUN_02021EF0: ; 0x02021EF0
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r6, r1, #0x0
- add r4, r2, #0x0
- cmp r5, #0x0
- bne _02021F00
- bl ErrorHandling
-_02021F00:
- ldr r1, [r5, #0x4]
- ldr r0, _02021F28 ; =0xB6F8D2EC
- cmp r1, r0
- beq _02021F0C
- bl ErrorHandling
-_02021F0C:
- ldrh r0, [r5, #0x2]
- add r2, r0, #0x1
- cmp r2, r4
- bhi _02021F22
- add r5, #0x8
- add r0, r6, #0x0
- add r1, r5, #0x0
- lsl r2, r2, #0x1
- blx memcpy
- pop {r4-r6, pc}
-_02021F22:
- bl ErrorHandling
- pop {r4-r6, pc}
- .balign 4
-_02021F28: .word 0xB6F8D2EC
-
- thumb_func_start FUN_02021F2C
-FUN_02021F2C: ; 0x02021F2C
- push {r4, lr}
- add r4, r0, #0x0
- bne _02021F36
- bl ErrorHandling
-_02021F36:
- ldr r1, [r4, #0x4]
- ldr r0, _02021F48 ; =0xB6F8D2EC
- cmp r1, r0
- beq _02021F42
- bl ErrorHandling
-_02021F42:
- add r4, #0x8
- add r0, r4, #0x0
- pop {r4, pc}
- .balign 4
-_02021F48: .word 0xB6F8D2EC
-
- thumb_func_start FUN_02021F4C
-FUN_02021F4C: ; 0x02021F4C
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- cmp r5, #0x0
- bne _02021F5A
- bl ErrorHandling
-_02021F5A:
- ldr r1, [r5, #0x4]
- ldr r0, _02021FAC ; =0xB6F8D2EC
- cmp r1, r0
- beq _02021F66
- bl ErrorHandling
-_02021F66:
- cmp r4, #0x0
- bne _02021F6E
- bl ErrorHandling
-_02021F6E:
- ldr r1, [r4, #0x4]
- ldr r0, _02021FAC ; =0xB6F8D2EC
- cmp r1, r0
- beq _02021F7A
- bl ErrorHandling
-_02021F7A:
- ldrh r2, [r4, #0x2]
- ldrh r0, [r5, #0x2]
- add r1, r0, r2
- add r3, r1, #0x1
- ldrh r1, [r5, #0x0]
- cmp r3, r1
- bgt _02021FA6
- add r1, r5, #0x0
- add r1, #0x8
- lsl r0, r0, #0x1
- add r0, r1, r0
- add r1, r4, #0x0
- add r2, r2, #0x1
- add r1, #0x8
- lsl r2, r2, #0x1
- blx memcpy
- ldrh r1, [r5, #0x2]
- ldrh r0, [r4, #0x2]
- add r0, r1, r0
- strh r0, [r5, #0x2]
- pop {r3-r5, pc}
-_02021FA6:
- bl ErrorHandling
- pop {r3-r5, pc}
- .balign 4
-_02021FAC: .word 0xB6F8D2EC
-
- thumb_func_start FUN_02021FB0
-FUN_02021FB0: ; 0x02021FB0
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- cmp r5, #0x0
- bne _02021FBE
- bl ErrorHandling
-_02021FBE:
- ldr r1, [r5, #0x4]
- ldr r0, _02021FF0 ; =0xB6F8D2EC
- cmp r1, r0
- beq _02021FCA
- bl ErrorHandling
-_02021FCA:
- ldrh r2, [r5, #0x2]
- ldrh r0, [r5, #0x0]
- add r1, r2, #0x1
- cmp r1, r0
- bge _02021FE8
- lsl r0, r2, #0x1
- strh r1, [r5, #0x2]
- add r0, r5, r0
- strh r4, [r0, #0x8]
- ldrh r0, [r5, #0x2]
- ldr r1, _02021FF4 ; =0x0000FFFF
- lsl r0, r0, #0x1
- add r0, r5, r0
- strh r1, [r0, #0x8]
- pop {r3-r5, pc}
-_02021FE8:
- bl ErrorHandling
- pop {r3-r5, pc}
- nop
-_02021FF0: .word 0xB6F8D2EC
-_02021FF4: .word 0x0000FFFF
-
- thumb_func_start FUN_02021FF8
-FUN_02021FF8: ; 0x02021FF8
- push {r4, lr}
- add r4, r0, #0x0
- bne _02022002
- bl ErrorHandling
-_02022002:
- ldr r1, [r4, #0x4]
- ldr r0, _02022028 ; =0xB6F8D2EC
- cmp r1, r0
- beq _0202200E
- bl ErrorHandling
-_0202200E:
- ldrh r0, [r4, #0x2]
- cmp r0, #0x0
- beq _02022026
- ldrh r1, [r4, #0x8]
- ldr r0, _0202202C ; =0x00000145
- cmp r1, r0
- blo _02022026
- add r0, #0x19
- cmp r1, r0
- bhi _02022026
- sub r1, #0x1a
- strh r1, [r4, #0x8]
-_02022026:
- pop {r4, pc}
- .balign 4
-_02022028: .word 0xB6F8D2EC
-_0202202C: .word 0x00000145
-
- thumb_func_start FUN_02022030
-FUN_02022030: ; 0x02022030
- ldrh r1, [r0, #0x2]
- cmp r1, #0x0
- beq _02022044
- ldrh r1, [r0, #0x8]
- mov r0, #0xf1
- lsl r0, r0, #0x8
- cmp r1, r0
- bne _02022044
- mov r0, #0x1
- bx lr
-_02022044:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_02022048
-FUN_02022048: ; 0x02022048
- push {r3-r7, lr}
- add r4, r1, #0x0
- str r0, [sp, #0x0]
- add r0, r4, #0x0
- bl FUN_02022030
- cmp r0, #0x0
- beq _020220B2
- ldr r0, [sp, #0x0]
- ldr r1, [sp, #0x0]
- ldrh r0, [r0, #0x2]
- add r1, #0x8
- ldr r7, _020220BC ; =0x000001FF
- lsl r0, r0, #0x1
- add r3, r1, r0
- mov r0, #0x0
- add r4, #0xa
- add r1, r0, #0x0
-_0202206C:
- ldrh r2, [r4, #0x0]
- asr r2, r0
- and r2, r7
- lsl r2, r2, #0x10
- add r0, #0x9
- lsr r2, r2, #0x10
- cmp r0, #0xf
- blt _02022094
- add r4, r4, #0x2
- sub r0, #0xf
- beq _02022094
- ldrh r6, [r4, #0x0]
- mov r5, #0x9
- sub r5, r5, r0
- lsl r6, r5
- ldr r5, _020220BC ; =0x000001FF
- and r5, r6
- orr r2, r5
- lsl r2, r2, #0x10
- lsr r2, r2, #0x10
-_02022094:
- ldr r5, _020220BC ; =0x000001FF
- cmp r2, r5
- beq _020220A2
- strh r2, [r3, #0x0]
- add r3, r3, #0x2
- add r1, r1, #0x1
- b _0202206C
-_020220A2:
- ldr r0, _020220C0 ; =0x0000FFFF
- strh r0, [r3, #0x0]
- ldr r0, [sp, #0x0]
- ldrh r0, [r0, #0x2]
- add r1, r0, r1
- ldr r0, [sp, #0x0]
- strh r1, [r0, #0x2]
- pop {r3-r7, pc}
-_020220B2:
- ldr r0, [sp, #0x0]
- add r1, r4, #0x0
- bl FUN_02021F4C
- pop {r3-r7, pc}
- .balign 4
-_020220BC: .word 0x000001FF
-_020220C0: .word 0x0000FFFF
-
- thumb_func_start FUN_020220C4
-FUN_020220C4: ; 0x020220C4
- push {r3-r7, lr}
- add r7, r1, #0x0
- add r5, r0, #0x0
- add r6, r2, #0x0
- str r3, [sp, #0x0]
- cmp r7, #0x0
- bne _020220D6
- bl ErrorHandling
-_020220D6:
- ldr r0, [sp, #0x18]
- mov r1, #0x14
- bl FUN_02016998
- add r4, r0, #0x0
- beq _0202211C
- str r5, [r4, #0x0]
- str r7, [r4, #0x4]
- ldr r0, [sp, #0x0]
- str r6, [r4, #0x8]
- str r0, [r4, #0xc]
- ldr r0, [sp, #0x18]
- lsl r1, r7, #0x2
- bl FUN_02016998
- str r0, [r4, #0x10]
- cmp r0, #0x0
- beq _02022114
- mov r6, #0x0
- cmp r7, #0x0
- bls _0202211C
- add r5, r6, #0x0
-_02022102:
- ldr r0, [r4, #0x10]
- add r0, r0, r5
- bl FUN_02022120
- add r6, r6, #0x1
- add r5, r5, #0x4
- cmp r6, r7
- blo _02022102
- b _0202211C
-_02022114:
- add r0, r4, #0x0
- bl FUN_02016A18
- mov r4, #0x0
-_0202211C:
- add r0, r4, #0x0
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02022120
-FUN_02022120: ; 0x02022120
- mov r1, #0x0
- strb r1, [r0, #0x0]
- strb r1, [r0, #0x1]
- strh r1, [r0, #0x2]
- bx lr
- .balign 4
-
- thumb_func_start FUN_0202212C
-FUN_0202212C: ; 0x0202212C
- push {r4, lr}
- add r4, r0, #0x0
- bne _02022136
- bl ErrorHandling
-_02022136:
- ldr r0, [r4, #0x10]
- bl FUN_02016A18
- add r0, r4, #0x0
- bl FUN_02016A18
- pop {r4, pc}
-
- thumb_func_start FUN_02022144
-FUN_02022144: ; 0x02022144
- push {r3-r7, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- bl FUN_02020A98
- str r0, [sp, #0x0]
- cmp r0, #0x0
- beq _02022190
- bl FUN_02020AA4
- str r0, [sp, #0x4]
- ldr r0, [r5, #0x4]
- mov r6, #0x0
- cmp r0, #0x0
- bls _020221AE
- add r4, r6, #0x0
-_02022164:
- ldr r0, [r5, #0x10]
- add r0, r0, r4
- ldrb r0, [r0, #0x1]
- cmp r0, #0x0
- ldr r0, [r5, #0x0]
- beq _02022178
- add r0, r0, r4
- bl FUN_02020A40
- b _0202217E
-_02022178:
- add r0, r0, r4
- bl FUN_02020A6C
-_0202217E:
- ldr r1, [r5, #0x10]
- add r6, r6, #0x1
- add r1, r1, r4
- strb r0, [r1, #0x1]
- ldr r0, [r5, #0x4]
- add r4, r4, #0x4
- cmp r6, r0
- blo _02022164
- b _020221AE
-_02022190:
- ldr r0, [r5, #0x4]
- mov r3, #0x0
- str r3, [sp, #0x4]
- cmp r0, #0x0
- bls _020221AE
- add r2, r3, #0x0
- add r1, r3, #0x0
-_0202219E:
- ldr r0, [r5, #0x10]
- add r3, r3, #0x1
- add r0, r0, r2
- strb r1, [r0, #0x1]
- ldr r0, [r5, #0x4]
- add r2, r2, #0x4
- cmp r3, r0
- blo _0202219E
-_020221AE:
- mov r4, #0x0
- cmp r0, #0x0
- bls _020221E4
- add r7, r4, #0x0
-_020221B6:
- ldr r3, [r5, #0x10]
- ldr r1, [sp, #0x0]
- add r0, r3, r7
- ldrb r3, [r3, r7]
- ldr r2, [sp, #0x4]
- lsl r6, r3, #0x2
- ldr r3, _020221E8 ; =0x020EE6CC
- ldr r3, [r3, r6]
- blx r3
- add r1, r0, #0x0
- mov r0, #0x0
- mvn r0, r0
- cmp r1, r0
- beq _020221DA
- ldr r2, [r5, #0xc]
- ldr r3, [r5, #0x8]
- add r0, r4, #0x0
- blx r3
-_020221DA:
- ldr r0, [r5, #0x4]
- add r4, r4, #0x1
- add r7, r7, #0x4
- cmp r4, r0
- blo _020221B6
-_020221E4:
- add sp, #0x8
- pop {r3-r7, pc}
- .balign 4
-_020221E8: .word 0x020EE6CC
-
- thumb_func_start FUN_020221EC
-FUN_020221EC: ; 0x020221EC
- push {r3, lr}
- ldrb r1, [r0, #0x1]
- cmp r1, #0x0
- beq _02022202
- cmp r2, #0x0
- beq _02022202
- mov r1, #0x1
- bl FUN_0202223C
- mov r0, #0x0
- pop {r3, pc}
-_02022202:
- mov r0, #0x0
- mvn r0, r0
- pop {r3, pc}
-
- thumb_func_start FUN_02022208
-FUN_02022208: ; 0x02022208
- push {r3, lr}
- ldrb r2, [r0, #0x1]
- cmp r2, #0x0
- beq _02022220
- ldrh r2, [r0, #0x2]
- ldr r1, _02022238 ; =0x0000FFFF
- cmp r2, r1
- bhs _0202221C
- add r1, r2, #0x1
- strh r1, [r0, #0x2]
-_0202221C:
- mov r0, #0x2
- pop {r3, pc}
-_02022220:
- cmp r1, #0x0
- beq _0202222E
- mov r1, #0x0
- bl FUN_0202223C
- mov r0, #0x3
- pop {r3, pc}
-_0202222E:
- mov r1, #0x0
- bl FUN_0202223C
- mov r0, #0x1
- pop {r3, pc}
- .balign 4
-_02022238: .word 0x0000FFFF
-
- thumb_func_start FUN_0202223C
-FUN_0202223C: ; 0x0202223C
- strb r1, [r0, #0x0]
- mov r1, #0x0
- strh r1, [r0, #0x2]
- bx lr
-
- thumb_func_start FUN_02022244
-FUN_02022244: ; 0x02022244
- push {r3-r4}
- ldr r3, [r0, #0xc]
- mov r2, #0x0
- sub r3, r3, #0x1
- beq _02022262
- ldr r4, [r0, #0x0]
-_02022250:
- ldrh r3, [r4, #0x2]
- cmp r3, r1
- bhi _02022262
- ldr r3, [r0, #0xc]
- add r2, r2, #0x1
- sub r3, r3, #0x1
- add r4, r4, #0x2
- cmp r2, r3
- blo _02022250
-_02022262:
- ldr r1, [r0, #0x4]
- ldrb r3, [r1, r2]
- add r1, sp, #0x0
- strb r3, [r1, #0x0]
- ldr r0, [r0, #0x8]
- ldrb r2, [r0, r2]
- strb r2, [r1, #0x1]
- ldrb r0, [r1, #0x0]
- lsl r1, r2, #0x8
- orr r0, r1
- pop {r3-r4}
- bx lr
- .balign 4
-
- thumb_func_start FUN_0202227C
-FUN_0202227C: ; 0x0202227C
- ldr r2, [r0, #0x0]
- str r2, [r1, #0xc]
- add r2, r0, #0x4
- str r2, [r1, #0x0]
- ldr r0, [r1, #0xc]
- lsl r0, r0, #0x1
- add r2, r2, r0
- str r2, [r1, #0x4]
- ldr r0, [r1, #0xc]
- add r0, r2, r0
- str r0, [r1, #0x8]
- bx lr
-
- thumb_func_start FUN_02022294
-FUN_02022294: ; 0x02022294
- ldr r0, _020222A4 ; =0x021C59BC
- mov r1, #0x0
- str r1, [r0, #0x0]
- str r1, [r0, #0x4]
- str r1, [r0, #0x8]
- ldr r0, _020222A8 ; =0x021C59BC
- str r1, [r0, #0x0]
- bx lr
- .balign 4
-_020222A4: .word 0x021C59BC
-_020222A8: .word 0x021C59BC
-
- thumb_func_start FUN_020222AC
-FUN_020222AC: ; 0x020222AC
- ldr r3, _020222B0 ; =G3X_ResetMtxStack
- bx r3
- .balign 4
-_020222B0: .word G3X_ResetMtxStack
-
- thumb_func_start FUN_020222B4
-FUN_020222B4: ; 0x020222B4
- ldr r2, _020222C0 ; =0x021C59BC
- str r0, [r2, #0x4]
- str r1, [r2, #0x8]
- mov r0, #0x1
- str r0, [r2, #0x0]
- bx lr
- .balign 4
-_020222C0: .word 0x021C59BC
-
- thumb_func_start FUN_020222C4
-FUN_020222C4: ; 0x020222C4
- ldr r0, _020222E0 ; =0x021C59BC
- ldr r1, [r0, #0x0]
- cmp r1, #0x0
- beq _020222DC
- ldr r1, [r0, #0x8]
- ldr r2, [r0, #0x4]
- lsl r1, r1, #0x1
- orr r2, r1
- ldr r1, _020222E4 ; =0x04000540
- str r2, [r1, #0x0]
- mov r1, #0x0
- str r1, [r0, #0x0]
-_020222DC:
- bx lr
- nop
-_020222E0: .word 0x021C59BC
-_020222E4: .word 0x04000540
-
- thumb_func_start FUN_020222E8
-FUN_020222E8: ; 0x020222E8
- mov r0, #0x5
- lsl r0, r0, #0x18
- bx lr
- .balign 4
-
- thumb_func_start FUN_020222F0
-FUN_020222F0: ; 0x020222F0
- mov r0, #0x2
- lsl r0, r0, #0x8
- bx lr
- .balign 4
-
- thumb_func_start FUN_020222F8
-FUN_020222F8: ; 0x020222F8
- ldr r0, _020222FC ; =0x05000400
- bx lr
- .balign 4
-_020222FC: .word 0x05000400
-
- thumb_func_start FUN_02022300
-FUN_02022300: ; 0x02022300
- mov r0, #0x2
- lsl r0, r0, #0x8
- bx lr
- .balign 4
-
- thumb_func_start FUN_02022308
-FUN_02022308: ; 0x02022308
- ldr r0, _0202230C ; =0x05000200
- bx lr
- .balign 4
-_0202230C: .word 0x05000200
-
- thumb_func_start FUN_02022310
-FUN_02022310: ; 0x02022310
- ldr r0, _02022314 ; =0x05000600
- bx lr
- .balign 4
-_02022314: .word 0x05000600
-
- thumb_func_start FUN_02022318
-FUN_02022318: ; 0x02022318
- push {r3-r7, lr}
- sub sp, #0x8
- add r7, r1, #0x0
- mov r1, #0xc
- add r6, r0, #0x0
- add r5, r2, #0x0
- str r3, [sp, #0x4]
- bl FUN_02016998
- add r4, r0, #0x0
- str r6, [r4, #0x0]
- blx FUN_020BB7F4
- blx G3X_InitMtxStack
- mov r1, #0x2
- ldr r0, _020223B8 ; =0x04000540
- cmp r7, #0x0
- str r1, [r0, #0x0]
- bne _02022364
- lsl r0, r5, #0x7
- blx FUN_020AFA28
- add r6, r0, #0x0
- ldr r0, [r4, #0x0]
- add r1, r6, #0x0
- bl FUN_02016998
- str r0, [r4, #0x8]
- mov r0, #0x1
- str r0, [sp, #0x0]
- ldr r2, [r4, #0x8]
- lsl r0, r5, #0x11
- mov r1, #0x0
- add r3, r6, #0x0
- blx FUN_020AF9C4
- b _0202236E
-_02022364:
- lsl r0, r5, #0x10
- lsr r0, r0, #0x10
- mov r1, #0x1
- blx FUN_020AEB70
-_0202236E:
- ldr r0, [sp, #0x4]
- cmp r0, #0x0
- bne _02022398
- ldr r0, [sp, #0x20]
- lsl r0, r0, #0x8
- blx FUN_020AFBFC
- add r5, r0, #0x0
- ldr r0, [r4, #0x0]
- add r1, r5, #0x0
- bl FUN_02016998
- str r0, [r4, #0x4]
- ldr r0, [sp, #0x20]
- ldr r1, [r4, #0x4]
- lsl r0, r0, #0xd
- add r2, r5, #0x0
- mov r3, #0x1
- blx FUN_020AFBA8
- b _020223A4
-_02022398:
- ldr r0, [sp, #0x20]
- mov r1, #0x1
- lsl r0, r0, #0x1d
- lsr r0, r0, #0x10
- blx FUN_020AEB70
-_020223A4:
- ldr r0, [sp, #0x24]
- cmp r0, #0x0
- beq _020223AE
- blx r0
- b _020223B2
-_020223AE:
- bl FUN_020223D4
-_020223B2:
- add r0, r4, #0x0
- add sp, #0x8
- pop {r3-r7, pc}
- .balign 4
-_020223B8: .word 0x04000540
-
- thumb_func_start FUN_020223BC
-FUN_020223BC: ; 0x020223BC
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x4]
- bl FUN_02016A18
- ldr r0, [r4, #0x8]
- bl FUN_02016A18
- add r0, r4, #0x0
- bl FUN_02016A18
- pop {r4, pc}
-
- thumb_func_start FUN_020223D4
-FUN_020223D4: ; 0x020223D4
- push {r3, lr}
- mov r0, #0x1
- add r1, r0, #0x0
- bl FUN_0201E6E4
- ldr r0, _02022438 ; =0x04000008
- mov r1, #0x3
- ldrh r2, [r0, #0x0]
- bic r2, r1
- strh r2, [r0, #0x0]
- add r0, #0x58
- ldrh r2, [r0, #0x0]
- ldr r1, _0202243C ; =0xFFFFCFFD
- and r1, r2
- strh r1, [r0, #0x0]
- ldrh r1, [r0, #0x0]
- ldr r2, _02022440 ; =0x0000CFEF
- and r1, r2
- strh r1, [r0, #0x0]
- add r1, r2, #0x0
- ldrh r3, [r0, #0x0]
- add r1, #0xc
- and r1, r3
- strh r1, [r0, #0x0]
- add r1, r2, #0x0
- ldrh r3, [r0, #0x0]
- add r1, #0x8
- sub r2, #0x10
- and 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
- blx G3X_SetFog
- mov r0, #0x0
- ldr r2, _02022444 ; =0x00007FFF
- add r1, r0, #0x0
- mov r3, #0x3f
- str r0, [sp, #0x0]
- blx G3X_SetClearColor
- ldr r1, _02022448 ; =0xBFFF0000
- ldr r0, _0202244C ; =0x04000580
- str r1, [r0, #0x0]
- pop {r3, pc}
- .balign 4
-_02022438: .word 0x04000008
-_0202243C: .word 0xFFFFCFFD
-_02022440: .word 0x0000CFEF
-_02022444: .word 0x00007FFF
-_02022448: .word 0xBFFF0000
-_0202244C: .word 0x04000580
-
- thumb_func_start FUN_02022450
-FUN_02022450: ; 0x02022450
- push {r3, lr}
- blx FS_IsAvailable
- cmp r0, #0x0
- bne _02022460
- blx OS_Terminate
- pop {r3, pc}
-_02022460:
- ldr r0, _020224BC ; =0x027FF00C
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- bne _0202248A
- blx CARD_Init
- mov r2, #0x16
- ldr r0, _020224C0 ; =0x027FFE00
- ldr r1, _020224C4 ; =0x027FF000
- lsl r2, r2, #0x4
- blx MI_CpuCopy8
- mov r2, #0x16
- ldr r0, _020224C0 ; =0x027FFE00
- ldr r1, _020224C8 ; =0x027FFA80
- lsl r2, r2, #0x4
- blx MI_CpuCopy8
- ldr r1, _020224CC ; =0x4A414441
- ldr r0, _020224BC ; =0x027FF00C
- str r1, [r0, #0x0]
-_0202248A:
- ldr r0, _020224D0 ; =0x020EE6D4
- mov r1, #0x3
- blx FS_FindArchive
- ldr r1, _020224C4 ; =0x027FF000
- ldr r2, [r1, #0x48]
- str r2, [r0, #0x2c]
- ldr r2, [r1, #0x4c]
- str r2, [r0, #0x30]
- ldr r2, [r1, #0x40]
- str r2, [r0, #0x34]
- ldr r2, [r1, #0x44]
- str r2, [r0, #0x38]
- ldr r2, [r1, #0xc]
- ldr r0, _020224CC ; =0x4A414441
- cmp r2, r0
- bne _020224B4
- ldrh r1, [r1, #0x10]
- ldr r0, _020224D4 ; =0x00003130
- cmp r1, r0
- beq _020224B8
-_020224B4:
- blx OS_Terminate
-_020224B8:
- pop {r3, pc}
- nop
-_020224BC: .word 0x027FF00C
-_020224C0: .word 0x027FFE00
-_020224C4: .word 0x027FF000
-_020224C8: .word 0x027FFA80
-_020224CC: .word 0x4A414441
-_020224D0: .word 0x020EE6D4
-_020224D4: .word 0x00003130
-
- thumb_func_start FUN_020224D8
-FUN_020224D8: ; 0x020224D8
- push {r4, lr}
- sub sp, #0x48
- add r4, r0, #0x0
- add r0, sp, #0x0
- blx FS_InitFile
- add r0, sp, #0x0
- add r1, r4, #0x0
- blx FS_OpenFile
- cmp r0, #0x0
- beq _020224FC
- ldr r1, [sp, #0x24]
- ldr r0, _02022500 ; =0x027FFC2C
- str r1, [r0, #0x0]
- mov r0, #0x0
- blx OS_ResetSystem
-_020224FC:
- add sp, #0x48
- pop {r4, pc}
- .balign 4
-_02022500: .word 0x027FFC2C
-
- thumb_func_start FUN_02022504
-FUN_02022504: ; 0x02022504
- ldr r3, _0202250C ; =FUN_02022610
- mov r1, #0x1b
- bx r3
- nop
-_0202250C: .word FUN_02022610
-
- thumb_func_start FUN_02022510
-FUN_02022510: ; 0x02022510
- ldr r3, _02022518 ; =FUN_02022610
- mov r1, #0x23
- bx r3
- nop
-_02022518: .word FUN_02022610
-
- thumb_func_start FUN_0202251C
-FUN_0202251C: ; 0x0202251C
- ldr r3, _02022524 ; =FUN_02022610
- mov r1, #0x1f
- bx r3
- nop
-_02022524: .word FUN_02022610
-
- thumb_func_start FUN_02022528
-FUN_02022528: ; 0x02022528
- ldr r3, _02022530 ; =FUN_02022610
- mov r1, #0x20
- bx r3
- nop
-_02022530: .word FUN_02022610
-
- thumb_func_start FUN_02022534
-FUN_02022534: ; 0x02022534
- push {r3, lr}
- add r3, r2, #0x0
- mov r2, #0x0
- bl FUN_02023408
- pop {r3, pc}
-
- thumb_func_start FUN_02022540
-FUN_02022540: ; 0x02022540
- ldr r3, _02022548 ; =FUN_020232BC
- add r2, r1, #0x0
- mov r1, #0x0
- bx r3
- .balign 4
-_02022548: .word FUN_020232BC
-
- thumb_func_start FUN_0202254C
-FUN_0202254C: ; 0x0202254C
- push {r4, lr}
- ldr r1, _020225E0 ; =0x000204A8
- mov r0, #0x1
- bl FUN_02016998
- add r4, r0, #0x0
- ldr r2, _020225E0 ; =0x000204A8
- mov r0, #0x0
- add r1, r4, #0x0
- blx MIi_CpuClearFast
- ldr r0, _020225E4 ; =0x021C59C8
- str r4, [r0, #0x0]
- bl FUN_02023570
- str r0, [r4, #0x0]
- mov r0, #0x0
- str r0, [r4, #0x4]
- mov r0, #0x1
- str r0, [r4, #0x8]
- str r0, [r4, #0xc]
- add r0, r4, #0x0
- ldr r1, _020225E8 ; =0x00001021
- add r0, #0x14
- blx MATHi_CRC16InitTable
- ldr r0, _020225EC ; =0x00020224
- add r0, r4, r0
- bl FUN_020230E4
- ldr r0, _020225F0 ; =0x00020464
- ldr r1, _020225EC ; =0x00020224
- add r0, r4, r0
- add r1, r4, r1
- bl FUN_02023160
- ldr r1, _020225F4 ; =0x00020218
- mov r0, #0x0
- add r1, r4, r1
- mov r2, #0x8
- blx MIi_CpuClearFast
- add r0, r4, #0x0
- bl FUN_02022AD8
- str r0, [r4, #0x10]
- cmp r0, #0x3
- bhi _020225DA
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_020225B8: ; jump table (using 16-bit offset)
- .short _020225D4 - _020225B8 - 2; case 0
- .short _020225C0 - _020225B8 - 2; case 1
- .short _020225C4 - _020225B8 - 2; case 2
- .short _020225D4 - _020225B8 - 2; case 3
-_020225C0:
- mov r0, #0x0
- str r0, [r4, #0xc]
-_020225C4:
- add r0, r4, #0x0
- bl FUN_02022D08
- mov r0, #0x1
- str r0, [r4, #0x4]
- mov r0, #0x0
- str r0, [r4, #0x8]
- b _020225DA
-_020225D4:
- add r0, r4, #0x0
- bl FUN_020227DC
-_020225DA:
- add r0, r4, #0x0
- pop {r4, pc}
- nop
-_020225E0: .word 0x000204A8
-_020225E4: .word 0x021C59C8
-_020225E8: .word 0x00001021
-_020225EC: .word 0x00020224
-_020225F0: .word 0x00020464
-_020225F4: .word 0x00020218
-
- thumb_func_start FUN_020225F8
-FUN_020225F8: ; 0x020225F8
- push {r3, lr}
- ldr r0, _0202260C ; =0x021C59C8
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- bne _02022606
- bl ErrorHandling
-_02022606:
- ldr r0, _0202260C ; =0x021C59C8
- ldr r0, [r0, #0x0]
- pop {r3, pc}
- .balign 4
-_0202260C: .word 0x021C59C8
-
- thumb_func_start FUN_02022610
-FUN_02022610: ; 0x02022610
- push {r3-r5, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- cmp r4, #0x24
- blt _0202261E
- bl ErrorHandling
-_0202261E:
- mov r0, #0x85
- lsl r0, r0, #0x2
- add r2, r5, r0
- lsl r0, r4, #0x4
- add r1, r5, r0
- ldr r0, _02022630 ; =0x0002022C
- ldr r0, [r1, r0]
- add r0, r2, r0
- pop {r3-r5, pc}
- .balign 4
-_02022630: .word 0x0002022C
-
- thumb_func_start FUN_02022634
-FUN_02022634: ; 0x02022634
- ldr r3, _02022638 ; =FUN_02022610
- bx r3
- .balign 4
-_02022638: .word FUN_02022610
-
- thumb_func_start FUN_0202263C
-FUN_0202263C: ; 0x0202263C
- push {r3-r7, lr}
- mov r1, #0x1
- str r0, [sp, #0x0]
- mov r0, #0x3
- lsl r1, r1, #0xc
- bl FUN_020169D8
- add r6, r0, #0x0
- mov r0, #0x1
- bl FUN_02016444
- ldr r1, _020226F4 ; =0x00020220
- ldr r0, [sp, #0x0]
- ldrb r0, [r0, r1]
- cmp r0, #0x0
- bne _02022660
- mov r2, #0x1
- b _02022662
-_02022660:
- mov r2, #0x0
-_02022662:
- ldr r0, [sp, #0x0]
- mov r1, #0x0
- bl FUN_02023074
- ldr r1, _020226F8 ; =0x00020221
- ldr r0, [sp, #0x0]
- ldrb r0, [r0, r1]
- cmp r0, #0x0
- bne _02022678
- mov r2, #0x1
- b _0202267A
-_02022678:
- mov r2, #0x0
-_0202267A:
- ldr r0, [sp, #0x0]
- mov r1, #0x1
- bl FUN_02023074
- ldr r0, [sp, #0x0]
- ldr r3, _020226F4 ; =0x00020220
- add r2, r0, #0x0
- ldrb r2, [r2, r3]
- mov r1, #0x0
- bl FUN_02023074
- ldr r0, [sp, #0x0]
- ldr r3, _020226F8 ; =0x00020221
- add r2, r0, #0x0
- ldrb r2, [r2, r3]
- mov r1, #0x1
- bl FUN_02023074
- mov r0, #0x0
- mov r2, #0x1
- mvn r0, r0
- add r1, r6, #0x0
- lsl r2, r2, #0xc
- blx MIi_CpuClearFast
- mov r4, #0x0
- mov r7, #0x1
- add r5, r4, #0x0
- lsl r7, r7, #0xc
-_020226B4:
- add r0, r5, #0x0
- add r1, r6, #0x0
- add r2, r7, #0x0
- bl FUN_020235D0
- add r0, r4, #0x0
- add r0, #0x40
- lsl r0, r0, #0xc
- add r1, r6, #0x0
- add r2, r7, #0x0
- bl FUN_020235D0
- mov r0, #0x1
- lsl r0, r0, #0xc
- add r4, r4, #0x1
- add r5, r5, r0
- cmp r4, #0x40
- blt _020226B4
- add r0, r6, #0x0
- bl FUN_02016A18
- ldr r0, [sp, #0x0]
- bl FUN_020227DC
- ldr r0, [sp, #0x0]
- mov r1, #0x0
- str r1, [r0, #0x4]
- mov r0, #0x1
- bl FUN_02016454
- mov r0, #0x1
- pop {r3-r7, pc}
- .balign 4
-_020226F4: .word 0x00020220
-_020226F8: .word 0x00020221
-
- thumb_func_start FUN_020226FC
-FUN_020226FC: ; 0x020226FC
- push {r4, lr}
- add r4, r0, #0x0
- ldr r1, [r4, #0x0]
- cmp r1, #0x0
- bne _0202270A
- mov r0, #0x0
- pop {r4, pc}
-_0202270A:
- bl FUN_02022D08
- cmp r0, #0x0
- beq _0202271C
- mov r0, #0x1
- str r0, [r4, #0x4]
- mov r1, #0x0
- str r1, [r4, #0x8]
- pop {r4, pc}
-_0202271C:
- mov r0, #0x0
- pop {r4, pc}
-
- thumb_func_start FUN_02022720
-FUN_02022720: ; 0x02022720
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- cmp r0, #0x0
- bne _0202272E
- mov r0, #0x3
- pop {r4, pc}
-_0202272E:
- ldr r0, [r4, #0x8]
- cmp r0, #0x0
- beq _02022784
- mov r0, #0x1
- bl FUN_02016444
- ldr r0, _02022798 ; =0x00020220
- ldrb r0, [r4, r0]
- cmp r0, #0x0
- bne _02022746
- mov r2, #0x1
- b _02022748
-_02022746:
- mov r2, #0x0
-_02022748:
- add r0, r4, #0x0
- mov r1, #0x0
- bl FUN_02023074
- ldr r0, _0202279C ; =0x00020221
- ldrb r0, [r4, r0]
- cmp r0, #0x0
- bne _0202275C
- mov r2, #0x1
- b _0202275E
-_0202275C:
- mov r2, #0x0
-_0202275E:
- add r0, r4, #0x0
- mov r1, #0x1
- bl FUN_02023074
- ldr r2, _02022798 ; =0x00020220
- add r0, r4, #0x0
- ldrb r2, [r4, r2]
- mov r1, #0x0
- bl FUN_02023074
- ldr r2, _0202279C ; =0x00020221
- add r0, r4, #0x0
- ldrb r2, [r4, r2]
- mov r1, #0x1
- bl FUN_02023074
- mov r0, #0x1
- bl FUN_02016454
-_02022784:
- add r0, r4, #0x0
- bl FUN_02023044
- cmp r0, #0x2
- bne _02022796
- mov r1, #0x1
- str r1, [r4, #0x4]
- mov r1, #0x0
- str r1, [r4, #0x8]
-_02022796:
- pop {r4, pc}
- .balign 4
-_02022798: .word 0x00020220
-_0202279C: .word 0x00020221
-
- thumb_func_start FUN_020227A0
-FUN_020227A0: ; 0x020227A0
- push {r3-r5, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- cmp r4, #0x2
- blt _020227AE
- bl ErrorHandling
-_020227AE:
- ldr r0, [r5, #0x8]
- cmp r0, #0x0
- beq _020227B8
- bl ErrorHandling
-_020227B8:
- ldr r0, [r5, #0x4]
- cmp r0, #0x1
- beq _020227C2
- bl ErrorHandling
-_020227C2:
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02022840
-_020227CA:
- add r0, r5, #0x0
- bl FUN_02022854
- cmp r0, #0x0
- beq _020227CA
- cmp r0, #0x1
- beq _020227CA
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_020227DC
-FUN_020227DC: ; 0x020227DC
- add r2, r0, #0x0
- mov r0, #0x1
- str r0, [r2, #0x8]
- str r0, [r2, #0xc]
- mov r0, #0x85
- ldr r1, _020227F4 ; =0x00020224
- lsl r0, r0, #0x2
- ldr r3, _020227F8 ; =FUN_020231F4
- add r0, r2, r0
- add r1, r2, r1
- bx r3
- nop
-_020227F4: .word 0x00020224
-_020227F8: .word FUN_020231F4
-
- thumb_func_start FUN_020227FC
-FUN_020227FC: ; 0x020227FC
- ldr r0, [r0, #0x0]
- bx lr
-
- thumb_func_start FUN_02022800
-FUN_02022800: ; 0x02022800
- ldr r0, [r0, #0x10]
- bx lr
-
- thumb_func_start FUN_02022804
-FUN_02022804: ; 0x02022804
- ldr r0, [r0, #0x4]
- bx lr
-
- thumb_func_start FUN_02022808
-FUN_02022808: ; 0x02022808
- ldr r0, [r0, #0x8]
- bx lr
-
- thumb_func_start FUN_0202280C
-FUN_0202280C: ; 0x0202280C
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_02022808
- cmp r0, #0x0
- beq _02022826
- add r0, r4, #0x0
- bl FUN_02022804
- cmp r0, #0x0
- beq _02022826
- mov r0, #0x1
- pop {r4, pc}
-_02022826:
- mov r0, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0202282C
-FUN_0202282C: ; 0x0202282C
- ldr r0, [r0, #0xc]
- bx lr
-
- thumb_func_start FUN_02022830
-FUN_02022830: ; 0x02022830
- ldr r0, _0202283C ; =0x021C59C8
- mov r1, #0x1
- ldr r0, [r0, #0x0]
- str r1, [r0, #0xc]
- bx lr
- nop
-_0202283C: .word 0x021C59C8
-
- thumb_func_start FUN_02022840
-FUN_02022840: ; 0x02022840
- add r2, r1, #0x0
- ldr r1, _0202284C ; =0x0002047C
- ldr r3, _02022850 ; =FUN_02022DFC
- add r1, r0, r1
- bx r3
- nop
-_0202284C: .word 0x0002047C
-_02022850: .word FUN_02022DFC
-
- thumb_func_start FUN_02022854
-FUN_02022854: ; 0x02022854
- push {r3-r5, lr}
- ldr r1, _02022878 ; =0x0002047C
- add r5, r0, #0x0
- add r1, r5, r1
- bl FUN_02022E78
- add r4, r0, #0x0
- beq _02022874
- cmp r4, #0x1
- beq _02022874
- ldr r1, _02022878 ; =0x0002047C
- add r0, r5, #0x0
- add r1, r5, r1
- add r2, r4, #0x0
- bl FUN_02022F80
-_02022874:
- add r0, r4, #0x0
- pop {r3-r5, pc}
- .balign 4
-_02022878: .word 0x0002047C
-
- thumb_func_start FUN_0202287C
-FUN_0202287C: ; 0x0202287C
- ldr r1, _02022884 ; =0x0002047C
- ldr r3, _02022888 ; =FUN_02022FF0
- add r1, r0, r1
- bx r3
- .balign 4
-_02022884: .word 0x0002047C
-_02022888: .word FUN_02022FF0
-
- thumb_func_start FUN_0202288C
-FUN_0202288C: ; 0x0202288C
- mov r1, #0x0
- str r1, [r0, #0x0]
- str r1, [r0, #0x4]
- str r1, [r0, #0x8]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02022898
-FUN_02022898: ; 0x02022898
- ldr r3, _020228A0 ; =MATH_CalcCRC16CCITT
- add r0, #0x14
- sub r2, #0x14
- bx r3
- .balign 4
-_020228A0: .word MATH_CalcCRC16CCITT
-
- thumb_func_start FUN_020228A4
-FUN_020228A4: ; 0x020228A4
- cmp r0, #0x0
- bne _020228AC
- mov r2, #0x0
- b _020228B0
-_020228AC:
- mov r2, #0x1
- lsl r2, r2, #0x12
-_020228B0:
- ldr r0, [r1, #0x4]
- add r0, r2, r0
- bx lr
- .balign 4
-
- thumb_func_start FUN_020228B8
-FUN_020228B8: ; 0x020228B8
- push {r3-r5, lr}
- ldr r3, _020228DC ; =0x00020464
- add r3, r0, r3
- mov r0, #0xc
- mul r0, r2
- add r5, r3, r0
- ldr r0, [r5, #0x4]
- add r4, r1, r0
- ldr r0, [r5, #0x8]
- cmp r0, #0x0
- bne _020228D2
- bl ErrorHandling
-_020228D2:
- ldr r0, [r5, #0x8]
- add r0, r4, r0
- sub r0, #0x14
- pop {r3-r5, pc}
- nop
-_020228DC: .word 0x00020464
-
- thumb_func_start FUN_020228E0
-FUN_020228E0: ; 0x020228E0
- push {r3-r7, lr}
- ldr r4, _02022934 ; =0x00020464
- add r3, r0, #0x0
- add r3, r3, r4
- add r5, r2, #0x0
- mov r4, #0xc
- mul r4, r5
- str r0, [sp, #0x0]
- add r7, r1, #0x0
- add r6, r3, r4
- bl FUN_020228B8
- add r4, r0, #0x0
- ldr r2, [r6, #0x8]
- ldr r0, [r4, #0x8]
- ldr r1, [r6, #0x4]
- cmp r0, r2
- beq _02022908
- mov r0, #0x0
- pop {r3-r7, pc}
-_02022908:
- ldr r3, [r4, #0xc]
- ldr r0, _02022938 ; =0x20060623
- cmp r3, r0
- beq _02022914
- mov r0, #0x0
- pop {r3-r7, pc}
-_02022914:
- ldrb r0, [r4, #0x10]
- cmp r0, r5
- beq _0202291E
- mov r0, #0x0
- pop {r3-r7, pc}
-_0202291E:
- ldr r0, [sp, #0x0]
- add r1, r7, r1
- bl FUN_02022898
- ldrh r1, [r4, #0x12]
- cmp r1, r0
- bne _02022930
- mov r0, #0x1
- pop {r3-r7, pc}
-_02022930:
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-_02022934: .word 0x00020464
-_02022938: .word 0x20060623
-
- thumb_func_start FUN_0202293C
-FUN_0202293C: ; 0x0202293C
- push {r3-r7, lr}
- add r7, r2, #0x0
- add r6, r1, #0x0
- add r5, r0, #0x0
- str r3, [sp, #0x0]
- add r0, r6, #0x0
- add r1, r7, #0x0
- add r2, r3, #0x0
- bl FUN_020228B8
- add r4, r0, #0x0
- ldr r2, [sp, #0x0]
- add r0, r6, #0x0
- add r1, r7, #0x0
- bl FUN_020228E0
- str r0, [r5, #0x0]
- ldr r0, [r4, #0x0]
- str r0, [r5, #0x4]
- ldr r0, [r4, #0x4]
- str r0, [r5, #0x8]
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02022968
-FUN_02022968: ; 0x02022968
- push {r3-r7, lr}
- ldr r3, _020229AC ; =0x00020464
- add r5, r0, #0x0
- add r7, r2, #0x0
- mov r4, #0xc
- add r3, r5, r3
- mul r4, r7
- str r1, [sp, #0x0]
- add r6, r3, r4
- bl FUN_020228B8
- ldr r2, _020229B0 ; =0x00020214
- add r4, r0, #0x0
- ldr r0, [r5, r2]
- ldr r1, [r6, #0x4]
- add r2, r2, #0x4
- str r0, [r4, #0x0]
- lsl r0, r7, #0x2
- add r0, r5, r0
- ldr r0, [r0, r2]
- ldr r2, [sp, #0x0]
- str r0, [r4, #0x4]
- ldr r0, [r6, #0x8]
- add r1, r2, r1
- str r0, [r4, #0x8]
- ldr r0, _020229B4 ; =0x20060623
- str r0, [r4, #0xc]
- strb r7, [r4, #0x10]
- ldr r2, [r6, #0x8]
- add r0, r5, #0x0
- bl FUN_02022898
- strh r0, [r4, #0x12]
- pop {r3-r7, pc}
- .balign 4
-_020229AC: .word 0x00020464
-_020229B0: .word 0x00020214
-_020229B4: .word 0x20060623
-
- thumb_func_start FUN_020229B8
-FUN_020229B8: ; 0x020229B8
- mov r2, #0x0
- mvn r2, r2
- cmp r0, r2
- bne _020229C8
- cmp r1, #0x0
- bne _020229C8
- add r0, r2, #0x0
- bx lr
-_020229C8:
- cmp r0, #0x0
- bne _020229D8
- mov r2, #0x0
- mvn r2, r2
- cmp r1, r2
- bne _020229D8
- mov r0, #0x1
- bx lr
-_020229D8:
- cmp r0, r1
- bls _020229E0
- mov r0, #0x1
- bx lr
-_020229E0:
- cmp r0, r1
- bhs _020229E8
- mov r0, #0x1
- b _020229EA
-_020229E8:
- mov r0, #0x0
-_020229EA:
- neg r0, r0
- bx lr
- .balign 4
-
- thumb_func_start FUN_020229F0
-FUN_020229F0: ; 0x020229F0
- push {r3-r7, lr}
- add r7, r0, #0x0
- add r6, r1, #0x0
- ldr r0, [r7, #0x4]
- ldr r1, [r6, #0x4]
- add r5, r2, #0x0
- add r4, r3, #0x0
- bl FUN_020229B8
- str r0, [sp, #0x0]
- ldr r0, [r7, #0x8]
- ldr r1, [r6, #0x8]
- bl FUN_020229B8
- ldr r2, [r7, #0x0]
- cmp r2, #0x0
- beq _02022A6A
- ldr r1, [r6, #0x0]
- cmp r1, #0x0
- beq _02022A6A
- ldr r1, [sp, #0x0]
- cmp r1, #0x0
- ble _02022A30
- cmp r0, #0x0
- bgt _02022A26
- bl ErrorHandling
-_02022A26:
- mov r0, #0x0
- str r0, [r5, #0x0]
- mov r0, #0x1
- str r0, [r4, #0x0]
- b _02022A66
-_02022A30:
- bge _02022A44
- cmp r0, #0x0
- blt _02022A3A
- bl ErrorHandling
-_02022A3A:
- mov r0, #0x1
- str r0, [r5, #0x0]
- mov r0, #0x0
- str r0, [r4, #0x0]
- b _02022A66
-_02022A44:
- cmp r0, #0x0
- ble _02022A52
- mov r0, #0x0
- str r0, [r5, #0x0]
- mov r0, #0x1
- str r0, [r4, #0x0]
- b _02022A66
-_02022A52:
- bge _02022A5E
- mov r0, #0x1
- str r0, [r5, #0x0]
- mov r0, #0x0
- str r0, [r4, #0x0]
- b _02022A66
-_02022A5E:
- mov r0, #0x0
- str r0, [r5, #0x0]
- mov r0, #0x1
- str r0, [r4, #0x0]
-_02022A66:
- mov r0, #0x2
- pop {r3-r7, pc}
-_02022A6A:
- cmp r2, #0x0
- beq _02022A80
- ldr r0, [r6, #0x0]
- cmp r0, #0x0
- bne _02022A80
- mov r0, #0x0
- str r0, [r5, #0x0]
- mov r0, #0x2
- str r0, [r4, #0x0]
- mov r0, #0x1
- pop {r3-r7, pc}
-_02022A80:
- cmp r2, #0x0
- bne _02022A94
- ldr r0, [r6, #0x0]
- cmp r0, #0x0
- beq _02022A94
- mov r0, #0x1
- str r0, [r5, #0x0]
- mov r1, #0x2
- str r1, [r4, #0x0]
- pop {r3-r7, pc}
-_02022A94:
- mov r0, #0x2
- str r0, [r5, #0x0]
- str r0, [r4, #0x0]
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02022AA0
-FUN_02022AA0: ; 0x02022AA0
- push {r3-r6}
- mov r4, #0xc
- add r5, r3, #0x0
- mul r5, r4
- add r6, r1, r5
- ldr r5, [r6, #0x4]
- ldr r1, _02022AD4 ; =0x00020214
- str r5, [r0, r1]
- ldr r6, [r6, #0x8]
- add r5, r1, #0x4
- str r6, [r0, r5]
- ldr r5, [sp, #0x10]
- mul r4, r5
- add r2, r2, r4
- ldr r4, [r2, #0x8]
- add r2, r1, #0x0
- add r2, #0x8
- str r4, [r0, r2]
- add r2, r1, #0x0
- add r2, #0xc
- strb r3, [r0, r2]
- add r1, #0xd
- strb r5, [r0, r1]
- pop {r3-r6}
- bx lr
- nop
-_02022AD4: .word 0x00020214
-
- thumb_func_start FUN_02022AD8
-FUN_02022AD8: ; 0x02022AD8
- push {r3-r6, lr}
- sub sp, #0x44
- mov r1, #0x2
- add r5, r0, #0x0
- mov r0, #0x3
- lsl r1, r1, #0x10
- bl FUN_020169D8
- mov r1, #0x2
- add r6, r0, #0x0
- mov r0, #0x3
- lsl r1, r1, #0x10
- bl FUN_020169D8
- mov r2, #0x2
- add r4, r0, #0x0
- mov r0, #0x0
- add r1, r6, #0x0
- lsl r2, r2, #0x10
- bl FUN_020235EC
- cmp r0, #0x0
- add r0, sp, #0x2c
- beq _02022B20
- add r1, r5, #0x0
- add r2, r6, #0x0
- mov r3, #0x0
- bl FUN_0202293C
- add r0, sp, #0x14
- add r1, r5, #0x0
- add r2, r6, #0x0
- mov r3, #0x1
- bl FUN_0202293C
- b _02022B2A
-_02022B20:
- bl FUN_0202288C
- add r0, sp, #0x14
- bl FUN_0202288C
-_02022B2A:
- mov r0, #0x1
- lsl r0, r0, #0x12
- add r1, r4, #0x0
- lsr r2, r0, #0x1
- bl FUN_020235EC
- cmp r0, #0x0
- add r0, sp, #0x38
- beq _02022B54
- add r1, r5, #0x0
- add r2, r4, #0x0
- mov r3, #0x0
- bl FUN_0202293C
- add r0, sp, #0x20
- add r1, r5, #0x0
- add r2, r4, #0x0
- mov r3, #0x1
- bl FUN_0202293C
- b _02022B5E
-_02022B54:
- bl FUN_0202288C
- add r0, sp, #0x20
- bl FUN_0202288C
-_02022B5E:
- add r0, r6, #0x0
- bl FUN_02016A18
- add r0, r4, #0x0
- bl FUN_02016A18
- add r0, sp, #0x2c
- add r1, sp, #0x38
- add r2, sp, #0x10
- add r3, sp, #0x8
- bl FUN_020229F0
- add r4, r0, #0x0
- add r0, sp, #0x14
- add r1, sp, #0x20
- add r2, sp, #0xc
- add r3, sp, #0x4
- bl FUN_020229F0
- cmp r4, #0x0
- bne _02022B92
- cmp r0, #0x0
- bne _02022B92
- add sp, #0x44
- mov r0, #0x0
- pop {r3-r6, pc}
-_02022B92:
- cmp r4, #0x0
- beq _02022B9A
- cmp r0, #0x0
- bne _02022BA0
-_02022B9A:
- add sp, #0x44
- mov r0, #0x3
- pop {r3-r6, pc}
-_02022BA0:
- cmp r4, #0x2
- bne _02022BE4
- cmp r0, #0x2
- bne _02022BE4
- ldr r3, [sp, #0x10]
- ldr r1, [sp, #0xc]
- mov r2, #0xc
- add r4, r3, #0x0
- mul r4, r2
- add r0, sp, #0x30
- ldr r0, [r0, r4]
- add r4, r1, #0x0
- mul r4, r2
- add r2, sp, #0x18
- ldr r2, [r2, r4]
- cmp r0, r2
- str r1, [sp, #0x0]
- add r1, sp, #0x2c
- bne _02022BD4
- add r0, r5, #0x0
- add r2, sp, #0x14
- bl FUN_02022AA0
- add sp, #0x44
- mov r0, #0x1
- pop {r3-r6, pc}
-_02022BD4:
- ldr r3, [sp, #0x8]
- add r0, r5, #0x0
- add r2, sp, #0x14
- bl FUN_02022AA0
- add sp, #0x44
- mov r0, #0x2
- pop {r3-r6, pc}
-_02022BE4:
- cmp r4, #0x1
- bne _02022C3A
- cmp r0, #0x2
- bne _02022C3A
- ldr r3, [sp, #0x10]
- ldr r0, [sp, #0xc]
- mov r4, #0xc
- add r2, r3, #0x0
- add r6, r0, #0x0
- mul r2, r4
- add r1, sp, #0x30
- ldr r2, [r1, r2]
- mul r6, r4
- add r1, sp, #0x18
- ldr r6, [r1, r6]
- cmp r2, r6
- bne _02022C18
- str r0, [sp, #0x0]
- add r0, r5, #0x0
- add r1, sp, #0x2c
- add r2, sp, #0x14
- bl FUN_02022AA0
- add sp, #0x44
- mov r0, #0x2
- pop {r3-r6, pc}
-_02022C18:
- ldr r0, [sp, #0x4]
- mul r4, r0
- ldr r1, [r1, r4]
- cmp r2, r1
- bne _02022C34
- str r0, [sp, #0x0]
- add r0, r5, #0x0
- add r1, sp, #0x2c
- add r2, sp, #0x14
- bl FUN_02022AA0
- add sp, #0x44
- mov r0, #0x2
- pop {r3-r6, pc}
-_02022C34:
- add sp, #0x44
- mov r0, #0x3
- pop {r3-r6, pc}
-_02022C3A:
- cmp r4, #0x2
- bne _02022C7E
- cmp r0, #0x1
- bne _02022C7E
- ldr r3, [sp, #0x10]
- ldr r1, [sp, #0xc]
- mov r2, #0xc
- add r4, r3, #0x0
- mul r4, r2
- add r0, sp, #0x30
- ldr r0, [r0, r4]
- add r4, r1, #0x0
- mul r4, r2
- add r2, sp, #0x18
- ldr r2, [r2, r4]
- cmp r0, r2
- str r1, [sp, #0x0]
- add r1, sp, #0x2c
- bne _02022C6E
- add r0, r5, #0x0
- add r2, sp, #0x14
- bl FUN_02022AA0
- add sp, #0x44
- mov r0, #0x1
- pop {r3-r6, pc}
-_02022C6E:
- ldr r3, [sp, #0x8]
- add r0, r5, #0x0
- add r2, sp, #0x14
- bl FUN_02022AA0
- add sp, #0x44
- mov r0, #0x2
- pop {r3-r6, pc}
-_02022C7E:
- cmp r4, #0x1
- bne _02022CBC
- cmp r0, #0x1
- bne _02022CBC
- ldr r0, [sp, #0xc]
- ldr r2, [sp, #0x10]
- cmp r2, r0
- bne _02022CBC
- add r3, r2, #0x0
- mov r1, #0xc
- mul r3, r1
- add r2, sp, #0x30
- mul r1, r0
- add r0, sp, #0x18
- ldr r2, [r2, r3]
- ldr r0, [r0, r1]
- cmp r2, r0
- beq _02022CA6
- bl ErrorHandling
-_02022CA6:
- ldr r0, [sp, #0xc]
- add r1, sp, #0x2c
- str r0, [sp, #0x0]
- ldr r3, [sp, #0x10]
- add r0, r5, #0x0
- add r2, sp, #0x14
- bl FUN_02022AA0
- add sp, #0x44
- mov r0, #0x1
- pop {r3-r6, pc}
-_02022CBC:
- ldr r1, [sp, #0x10]
- mov r0, #0xc
- add r2, r1, #0x0
- mul r2, r0
- add r1, sp, #0x30
- ldr r3, [r1, r2]
- ldr r1, [sp, #0xc]
- add r2, r1, #0x0
- mul r2, r0
- add r0, sp, #0x18
- ldr r0, [r0, r2]
- cmp r3, r0
- beq _02022CDA
- bl ErrorHandling
-_02022CDA:
- ldr r0, [sp, #0xc]
- add r1, sp, #0x2c
- str r0, [sp, #0x0]
- ldr r3, [sp, #0x10]
- add r0, r5, #0x0
- add r2, sp, #0x14
- bl FUN_02022AA0
- mov r0, #0x2
- add sp, #0x44
- pop {r3-r6, pc}
-
- thumb_func_start FUN_02022CF0
-FUN_02022CF0: ; 0x02022CF0
- push {r3-r5, lr}
- add r5, r1, #0x0
- add r4, r2, #0x0
- bl FUN_020228A4
- ldr r1, [r5, #0x4]
- ldr r2, [r5, #0x8]
- add r1, r4, r1
- bl FUN_020235EC
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02022D08
-FUN_02022D08: ; 0x02022D08
- push {r3-r7, lr}
- add r5, r0, #0x0
- ldr r0, _02022D4C ; =0x00020464
- mov r7, #0x85
- mov r4, #0x0
- add r6, r5, r0
- lsl r7, r7, #0x2
-_02022D16:
- ldr r0, _02022D50 ; =0x00020220
- add r1, r5, r4
- ldrb r0, [r1, r0]
- add r1, r6, #0x0
- add r2, r5, r7
- bl FUN_02022CF0
- cmp r0, #0x0
- bne _02022D2C
- mov r0, #0x0
- pop {r3-r7, pc}
-_02022D2C:
- add r0, r5, #0x0
- add r1, r5, r7
- add r2, r4, #0x0
- bl FUN_020228E0
- cmp r0, #0x0
- bne _02022D3E
- mov r0, #0x0
- pop {r3-r7, pc}
-_02022D3E:
- add r4, r4, #0x1
- add r6, #0xc
- cmp r4, #0x2
- blt _02022D16
- mov r0, #0x1
- pop {r3-r7, pc}
- nop
-_02022D4C: .word 0x00020464
-_02022D50: .word 0x00020220
-
- thumb_func_start FUN_02022D54
-FUN_02022D54: ; 0x02022D54
- push {r4-r6, lr}
- add r3, r1, #0x0
- ldr r1, _02022D90 ; =0x00020464
- add r5, r0, #0x0
- add r6, r2, #0x0
- add r2, r5, r1
- mov r1, #0xc
- mul r1, r3
- add r4, r2, r1
- mov r1, #0x85
- lsl r1, r1, #0x2
- add r1, r5, r1
- add r2, r3, #0x0
- bl FUN_02022968
- add r0, r6, #0x0
- add r1, r4, #0x0
- bl FUN_020228A4
- mov r1, #0x85
- lsl r1, r1, #0x2
- add r2, r5, r1
- ldr r1, [r4, #0x4]
- add r1, r2, r1
- ldr r2, [r4, #0x8]
- sub r2, #0x14
- bl FUN_02023668
- pop {r4-r6, pc}
- nop
-_02022D90: .word 0x00020464
-
- thumb_func_start FUN_02022D94
-FUN_02022D94: ; 0x02022D94
- push {r4-r6, lr}
- add r6, r0, #0x0
- ldr r0, _02022DC4 ; =0x00020464
- add r3, r6, r0
- mov r0, #0xc
- mul r0, r1
- add r4, r3, r0
- add r0, r2, #0x0
- add r1, r4, #0x0
- ldr r5, [r4, #0x8]
- bl FUN_020228A4
- mov r1, #0x2
- lsl r1, r1, #0x8
- add r2, r6, r1
- ldr r1, [r4, #0x4]
- add r0, r5, r0
- add r1, r2, r1
- sub r0, #0x14
- add r1, r1, r5
- mov r2, #0x14
- bl FUN_02023668
- pop {r4-r6, pc}
- .balign 4
-_02022DC4: .word 0x00020464
-
- thumb_func_start FUN_02022DC8
-FUN_02022DC8: ; 0x02022DC8
- push {r4-r6, lr}
- add r6, r0, #0x0
- ldr r0, _02022DF8 ; =0x00020464
- add r3, r6, r0
- mov r0, #0xc
- mul r0, r1
- add r4, r3, r0
- add r0, r2, #0x0
- add r1, r4, #0x0
- ldr r5, [r4, #0x8]
- bl FUN_020228A4
- mov r1, #0x82
- lsl r1, r1, #0x2
- add r2, r6, r1
- ldr r1, [r4, #0x4]
- add r0, r5, r0
- add r1, r2, r1
- sub r0, #0xc
- add r1, r1, r5
- mov r2, #0x8
- bl FUN_02023668
- pop {r4-r6, pc}
- .balign 4
-_02022DF8: .word 0x00020464
-
- thumb_func_start FUN_02022DFC
-FUN_02022DFC: ; 0x02022DFC
- push {r3-r7, lr}
- ldr r7, _02022E70 ; =0x00020218
- add r4, r1, #0x0
- mov r12, r2
- mov r1, #0x0
- add r2, r0, #0x0
- add r3, r4, #0x0
- add r6, r7, #0x0
-_02022E0C:
- ldr r5, _02022E70 ; =0x00020218
- add r1, r1, #0x1
- ldr r5, [r2, r5]
- str r5, [r3, #0x1c]
- ldr r5, [r2, r7]
- add r3, r3, #0x4
- add r5, r5, #0x1
- str r5, [r2, r6]
- add r2, r2, #0x4
- cmp r1, #0x2
- blt _02022E0C
- mov r1, #0x0
- str r1, [r4, #0x14]
- mov r2, r12
- str r1, [r4, #0x0]
- cmp r2, #0x2
- bne _02022E58
- ldr r2, [r0, #0xc]
- cmp r2, #0x0
- beq _02022E4E
- mov r2, #0x1
- str r2, [r4, #0x0]
- ldr r2, _02022E74 ; =0x00020214
- ldr r3, [r0, r2]
- str r3, [r4, #0x18]
- ldr r3, [r0, r2]
- add r3, r3, #0x1
- str r3, [r0, r2]
- str r1, [r4, #0x4]
- str r1, [r4, #0x8]
- mov r0, #0x2
- str r0, [r4, #0xc]
- b _02022E66
-_02022E4E:
- str r1, [r4, #0x4]
- str r1, [r4, #0x8]
- mov r0, #0x1
- str r0, [r4, #0xc]
- b _02022E66
-_02022E58:
- mov r0, r12
- str r0, [r4, #0x4]
- mov r0, r12
- str r0, [r4, #0x8]
- mov r0, r12
- add r0, r0, #0x1
- str r0, [r4, #0xc]
-_02022E66:
- mov r0, #0x1
- bl FUN_02016444
- pop {r3-r7, pc}
- nop
-_02022E70: .word 0x00020218
-_02022E74: .word 0x00020214
-
- thumb_func_start FUN_02022E78
-FUN_02022E78: ; 0x02022E78
- push {r3-r5, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- ldr r0, [r4, #0x14]
- cmp r0, #0x5
- bhi _02022F78
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_02022E90: ; jump table (using 16-bit offset)
- .short _02022E9C - _02022E90 - 2; case 0
- .short _02022EC0 - _02022E90 - 2; case 1
- .short _02022EDC - _02022E90 - 2; case 2
- .short _02022F00 - _02022E90 - 2; case 3
- .short _02022F2A - _02022E90 - 2; case 4
- .short _02022F4E - _02022E90 - 2; case 5
-_02022E9C:
- ldr r1, [r4, #0x8]
- ldr r0, _02022F7C ; =0x00020220
- add r2, r5, r1
- ldrb r0, [r2, r0]
- cmp r0, #0x0
- bne _02022EAC
- mov r2, #0x1
- b _02022EAE
-_02022EAC:
- mov r2, #0x0
-_02022EAE:
- lsl r2, r2, #0x18
- add r0, r5, #0x0
- lsr r2, r2, #0x18
- bl FUN_02022D54
- str r0, [r4, #0x10]
- ldr r0, [r4, #0x14]
- add r0, r0, #0x1
- str r0, [r4, #0x14]
-_02022EC0:
- ldr r0, [r4, #0x10]
- add r1, sp, #0x0
- bl FUN_020236E4
- cmp r0, #0x0
- beq _02022F78
- ldr r0, [sp, #0x0]
- cmp r0, #0x0
- bne _02022ED6
- mov r0, #0x3
- pop {r3-r5, pc}
-_02022ED6:
- ldr r0, [r4, #0x14]
- add r0, r0, #0x1
- str r0, [r4, #0x14]
-_02022EDC:
- ldr r1, [r4, #0x8]
- ldr r0, _02022F7C ; =0x00020220
- add r2, r5, r1
- ldrb r0, [r2, r0]
- cmp r0, #0x0
- bne _02022EEC
- mov r2, #0x1
- b _02022EEE
-_02022EEC:
- mov r2, #0x0
-_02022EEE:
- lsl r2, r2, #0x18
- add r0, r5, #0x0
- lsr r2, r2, #0x18
- bl FUN_02022DC8
- str r0, [r4, #0x10]
- ldr r0, [r4, #0x14]
- add r0, r0, #0x1
- str r0, [r4, #0x14]
-_02022F00:
- ldr r0, [r4, #0x10]
- add r1, sp, #0x0
- bl FUN_020236E4
- cmp r0, #0x0
- beq _02022F78
- ldr r0, [sp, #0x0]
- cmp r0, #0x0
- bne _02022F16
- mov r0, #0x3
- pop {r3-r5, pc}
-_02022F16:
- ldr r0, [r4, #0x14]
- add r0, r0, #0x1
- str r0, [r4, #0x14]
- ldr r0, [r4, #0x8]
- add r1, r0, #0x1
- ldr r0, [r4, #0xc]
- cmp r1, r0
- bne _02022F2A
- mov r0, #0x1
- pop {r3-r5, pc}
-_02022F2A:
- ldr r1, [r4, #0x8]
- ldr r0, _02022F7C ; =0x00020220
- add r2, r5, r1
- ldrb r0, [r2, r0]
- cmp r0, #0x0
- bne _02022F3A
- mov r2, #0x1
- b _02022F3C
-_02022F3A:
- mov r2, #0x0
-_02022F3C:
- lsl r2, r2, #0x18
- add r0, r5, #0x0
- lsr r2, r2, #0x18
- bl FUN_02022D94
- str r0, [r4, #0x10]
- ldr r0, [r4, #0x14]
- add r0, r0, #0x1
- str r0, [r4, #0x14]
-_02022F4E:
- ldr r0, [r4, #0x10]
- add r1, sp, #0x0
- bl FUN_020236E4
- cmp r0, #0x0
- beq _02022F78
- ldr r0, [sp, #0x0]
- cmp r0, #0x0
- bne _02022F64
- mov r0, #0x3
- pop {r3-r5, pc}
-_02022F64:
- ldr r0, [r4, #0x8]
- add r1, r0, #0x1
- str r1, [r4, #0x8]
- ldr r0, [r4, #0xc]
- cmp r1, r0
- bne _02022F74
- mov r0, #0x2
- pop {r3-r5, pc}
-_02022F74:
- mov r0, #0x0
- str r0, [r4, #0x14]
-_02022F78:
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-_02022F7C: .word 0x00020220
-
- thumb_func_start FUN_02022F80
-FUN_02022F80: ; 0x02022F80
- push {r3-r7, lr}
- add r3, r0, #0x0
- add r0, r1, #0x0
- cmp r2, #0x3
- bne _02022FAA
- ldr r1, [r0, #0x0]
- cmp r1, #0x0
- beq _02022F96
- ldr r2, [r0, #0x18]
- ldr r1, _02022FE4 ; =0x00020214
- str r2, [r3, r1]
-_02022F96:
- ldr r1, _02022FE8 ; =0x00020218
- mov r4, #0x0
-_02022F9A:
- ldr r2, [r0, #0x1c]
- add r4, r4, #0x1
- str r2, [r3, r1]
- add r0, r0, #0x4
- add r3, r3, #0x4
- cmp r4, #0x2
- blt _02022F9A
- b _02022FDA
-_02022FAA:
- ldr r6, [r0, #0x4]
- ldr r1, [r0, #0xc]
- cmp r6, r1
- bge _02022FD0
- ldr r1, _02022FEC ; =0x00020220
- mov r7, #0x1
- add r2, r1, #0x0
-_02022FB8:
- add r5, r3, r6
- ldrb r4, [r5, r2]
- cmp r4, #0x0
- bne _02022FC4
- add r4, r7, #0x0
- b _02022FC6
-_02022FC4:
- mov r4, #0x0
-_02022FC6:
- strb r4, [r5, r1]
- ldr r4, [r0, #0xc]
- add r6, r6, #0x1
- cmp r6, r4
- blt _02022FB8
-_02022FD0:
- mov r0, #0x1
- str r0, [r3, #0x4]
- mov r0, #0x0
- str r0, [r3, #0x8]
- str r0, [r3, #0xc]
-_02022FDA:
- mov r0, #0x1
- bl FUN_02016454
- pop {r3-r7, pc}
- nop
-_02022FE4: .word 0x00020214
-_02022FE8: .word 0x00020218
-_02022FEC: .word 0x00020220
-
- thumb_func_start FUN_02022FF0
-FUN_02022FF0: ; 0x02022FF0
- push {r3-r5, lr}
- add r4, r1, #0x0
- ldr r1, [r4, #0x0]
- cmp r1, #0x0
- beq _02023000
- ldr r2, [r4, #0x18]
- ldr r1, _0202303C ; =0x00020214
- str r2, [r0, r1]
-_02023000:
- ldr r1, _02023040 ; =0x00020218
- mov r3, #0x0
- add r5, r4, #0x0
-_02023006:
- ldr r2, [r5, #0x1c]
- add r3, r3, #0x1
- str r2, [r0, r1]
- add r5, r5, #0x4
- add r0, r0, #0x4
- cmp r3, #0x2
- blt _02023006
- blx CARD_TryWaitBackupAsync
- cmp r0, #0x0
- bne _02023034
- blx CARD_CancelBackupAsync
- ldr r0, [r4, #0x10]
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- blx CARD_UnlockBackup
- ldr r0, [r4, #0x10]
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- blx OS_ReleaseLockID
-_02023034:
- mov r0, #0x1
- bl FUN_02016454
- pop {r3-r5, pc}
- .balign 4
-_0202303C: .word 0x00020214
-_02023040: .word 0x00020218
-
- thumb_func_start FUN_02023044
-FUN_02023044: ; 0x02023044
- push {r3-r6, lr}
- sub sp, #0x24
- add r1, sp, #0x0
- mov r2, #0x2
- add r5, r0, #0x0
- bl FUN_02022DFC
- add r6, sp, #0x0
-_02023054:
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_02022E78
- add r4, r0, #0x0
- beq _02023054
- cmp r4, #0x1
- beq _02023054
- add r0, r5, #0x0
- add r1, sp, #0x0
- add r2, r4, #0x0
- bl FUN_02022F80
- add r0, r4, #0x0
- add sp, #0x24
- pop {r3-r6, pc}
-
- thumb_func_start FUN_02023074
-FUN_02023074: ; 0x02023074
- push {r4-r5, lr}
- sub sp, #0x14
- add r4, r2, #0x0
- ldr r2, _020230A8 ; =0x00020464
- add r2, r0, r2
- mov r0, #0xc
- mul r0, r1
- add r5, r2, r0
- add r0, sp, #0x0
- mov r1, #0xff
- mov r2, #0x14
- blx MI_CpuFill8
- add r0, r4, #0x0
- add r1, r5, #0x0
- bl FUN_020228A4
- ldr r1, [r5, #0x8]
- mov r2, #0x14
- add r0, r1, r0
- sub r0, #0x14
- add r1, sp, #0x0
- bl FUN_020235D0
- add sp, #0x14
- pop {r4-r5, pc}
- .balign 4
-_020230A8: .word 0x00020464
-
- thumb_func_start FUN_020230AC
-FUN_020230AC: ; 0x020230AC
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r0, _020230DC ; =0x020EE6DC
- ldr r4, _020230E0 ; =0x020EE700
- ldr r0, [r0, #0x0]
- cmp r5, r0
- blt _020230BE
- bl ErrorHandling
-_020230BE:
- lsl r0, r5, #0x4
- add r0, r4, r0
- ldr r0, [r0, #0x8]
- blx r0
- lsr r3, r0, #0x1f
- lsl r2, r0, #0x1e
- sub r2, r2, r3
- mov r1, #0x1e
- ror r2, r1
- add r2, r3, r2
- mov r1, #0x4
- sub r1, r1, r2
- add r0, r0, r1
- pop {r3-r5, pc}
- nop
-_020230DC: .word 0x020EE6DC
-_020230E0: .word 0x020EE700
-
- thumb_func_start FUN_020230E4
-FUN_020230E4: ; 0x020230E4
- push {r3-r7, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- ldr r0, _02023158 ; =0x020EE6DC
- ldr r4, _0202315C ; =0x020EE700
- ldr r0, [r0, #0x0]
- mov r7, #0x0
- str r0, [sp, #0x0]
- cmp r0, #0x24
- beq _020230FC
- bl ErrorHandling
-_020230FC:
- ldr r0, [sp, #0x0]
- mov r6, #0x0
- cmp r0, #0x0
- ble _02023148
- sub r0, r0, #0x1
- str r0, [sp, #0x4]
-_02023108:
- ldr r0, [r4, #0x0]
- cmp r6, r0
- beq _02023112
- bl ErrorHandling
-_02023112:
- ldr r0, [r4, #0x0]
- str r0, [r5, #0x0]
- add r0, r6, #0x0
- bl FUN_020230AC
- str r0, [r5, #0x4]
- str r7, [r5, #0x8]
- mov r0, #0x0
- strh r0, [r5, #0xc]
- ldr r0, [r4, #0x4]
- strh r0, [r5, #0xe]
- ldr r0, [r5, #0x4]
- add r7, r7, r0
- ldr r0, [sp, #0x4]
- cmp r6, r0
- beq _0202313A
- ldr r1, [r4, #0x4]
- ldr r0, [r4, #0x14]
- cmp r1, r0
- beq _0202313C
-_0202313A:
- add r7, #0x14
-_0202313C:
- ldr r0, [sp, #0x0]
- add r6, r6, #0x1
- add r4, #0x10
- add r5, #0x10
- cmp r6, r0
- blt _02023108
-_02023148:
- mov r0, #0x2
- lsl r0, r0, #0x10
- cmp r7, r0
- ble _02023154
- bl ErrorHandling
-_02023154:
- add sp, #0x8
- pop {r3-r7, pc}
- .balign 4
-_02023158: .word 0x020EE6DC
-_0202315C: .word 0x020EE700
-
- thumb_func_start FUN_02023160
-FUN_02023160: ; 0x02023160
- push {r3-r7, lr}
- sub sp, #0x8
- str r0, [sp, #0x0]
- mov r0, #0x0
- str r0, [sp, #0x4]
- mov r12, r0
- add r3, r0, #0x0
- add r6, r0, #0x0
- ldr r0, _020231EC ; =0x020EE6DC
- ldr r4, [sp, #0x0]
- ldr r7, [r0, #0x0]
- add r5, r1, #0x0
-_02023178:
- add r2, r4, #0x0
- strb r6, [r4, #0x0]
- mov r0, #0x0
- str r0, [r4, #0x8]
- add r2, #0x8
- b _02023190
-_02023184:
- ldr r0, [r5, #0x4]
- ldr r1, [r2, #0x0]
- add r5, #0x10
- add r0, r1, r0
- str r0, [r2, #0x0]
- add r3, r3, #0x1
-_02023190:
- ldrh r0, [r5, #0xe]
- cmp r6, r0
- bne _0202319A
- cmp r3, r7
- blt _02023184
-_0202319A:
- ldr r0, [r4, #0x8]
- add r6, r6, #0x1
- add r0, #0x14
- str r0, [r4, #0x8]
- ldr r0, [sp, #0x4]
- strb r0, [r4, #0x1]
- mov r0, r12
- str r0, [r4, #0x4]
- ldr r1, [r4, #0x8]
- ldr r0, _020231F0 ; =0x00000FFF
- add r0, r1, r0
- lsr r0, r0, #0xc
- strb r0, [r4, #0x2]
- ldrb r1, [r4, #0x2]
- ldr r0, [sp, #0x4]
- add r0, r0, r1
- str r0, [sp, #0x4]
- ldr r0, [r4, #0x8]
- mov r1, r12
- add r0, r1, r0
- add r4, #0xc
- mov r12, r0
- cmp r6, #0x2
- blt _02023178
- ldr r0, [sp, #0x0]
- ldrb r1, [r0, #0xd]
- ldrb r0, [r0, #0xe]
- add r1, r1, r0
- ldr r0, [sp, #0x4]
- cmp r0, r1
- beq _020231DC
- bl ErrorHandling
-_020231DC:
- ldr r0, [sp, #0x4]
- cmp r0, #0x20
- ble _020231E6
- bl ErrorHandling
-_020231E6:
- add sp, #0x8
- pop {r3-r7, pc}
- nop
-_020231EC: .word 0x020EE6DC
-_020231F0: .word 0x00000FFF
-
- thumb_func_start FUN_020231F4
-FUN_020231F4: ; 0x020231F4
- push {r3-r7, lr}
- sub sp, #0x8
- add r6, r0, #0x0
- mov r2, #0x2
- add r5, r1, #0x0
- mov r0, #0x0
- add r1, r6, #0x0
- lsl r2, r2, #0x10
- ldr r4, _02023240 ; =0x020EE700
- blx MIi_CpuClearFast
- ldr r0, _02023244 ; =0x020EE6DC
- mov r7, #0x0
- ldr r0, [r0, #0x0]
- str r0, [sp, #0x0]
- cmp r0, #0x0
- ble _0202323A
-_02023216:
- ldr r0, [r5, #0x8]
- ldr r2, [r5, #0x4]
- str r0, [sp, #0x4]
- ldr r1, [sp, #0x4]
- mov r0, #0x0
- add r1, r6, r1
- blx MIi_CpuClearFast
- ldr r0, [sp, #0x4]
- ldr r1, [r4, #0xc]
- add r0, r6, r0
- blx r1
- ldr r0, [sp, #0x0]
- add r7, r7, #0x1
- add r5, #0x10
- add r4, #0x10
- cmp r7, r0
- blt _02023216
-_0202323A:
- add sp, #0x8
- pop {r3-r7, pc}
- nop
-_02023240: .word 0x020EE700
-_02023244: .word 0x020EE6DC
-
- thumb_func_start FUN_02023248
-FUN_02023248: ; 0x02023248
- push {r3-r5, lr}
- ldr r5, _0202326C ; =0x20060623
- add r4, r1, r3
- str r5, [r1, r3]
- ldr r5, _02023270 ; =0x000204A4
- ldr r5, [r0, r5]
- add r0, #0x14
- add r5, r5, #0x1
- str r5, [r4, #0x4]
- str r3, [r4, #0x8]
- add r3, #0xe
- strh r2, [r4, #0xc]
- add r2, r3, #0x0
- blx MATH_CalcCRC16CCITT
- strh r0, [r4, #0xe]
- pop {r3-r5, pc}
- nop
-_0202326C: .word 0x20060623
-_02023270: .word 0x000204A4
-
- thumb_func_start FUN_02023274
-FUN_02023274: ; 0x02023274
- push {r4-r6, lr}
- ldr r6, [r1, r3]
- ldr r5, _020232B0 ; =0x20060623
- add r4, r1, r3
- cmp r6, r5
- beq _02023284
- mov r0, #0x0
- pop {r4-r6, pc}
-_02023284:
- ldr r5, [r4, #0x8]
- cmp r5, r3
- beq _0202328E
- mov r0, #0x0
- pop {r4-r6, pc}
-_0202328E:
- ldrh r5, [r4, #0xc]
- cmp r5, r2
- beq _02023298
- mov r0, #0x0
- pop {r4-r6, pc}
-_02023298:
- add r3, #0xe
- add r0, #0x14
- add r2, r3, #0x0
- blx MATH_CalcCRC16CCITT
- ldrh r1, [r4, #0xe]
- cmp r1, r0
- bne _020232AC
- mov r0, #0x1
- pop {r4-r6, pc}
-_020232AC:
- mov r0, #0x0
- pop {r4-r6, pc}
- .balign 4
-_020232B0: .word 0x20060623
-
- thumb_func_start FUN_020232B4
-FUN_020232B4: ; 0x020232B4
- add r0, r0, r1
- ldr r0, [r0, #0x4]
- bx lr
- .balign 4
-
- thumb_func_start FUN_020232BC
-FUN_020232BC: ; 0x020232BC
- push {r3-r7, lr}
- sub sp, #0x8
- add r7, r0, #0x0
- mov r0, #0x1
- add r5, r1, #0x0
- add r6, r2, #0x0
- bl FUN_02016444
- ldr r0, _020233FC ; =0x020EE6D8
- ldr r0, [r0, #0x0]
- cmp r5, r0
- blt _020232D8
- bl ErrorHandling
-_020232D8:
- ldr r1, _02023400 ; =0x020EE6E0
- lsl r0, r5, #0x4
- add r4, r1, r0
- ldr r0, [r1, r0]
- cmp r0, r5
- beq _020232E8
- bl ErrorHandling
-_020232E8:
- ldr r0, [r4, #0x8]
- blx r0
- str r0, [sp, #0x4]
- add r0, #0x10
- str r0, [sp, #0x4]
- ldr r0, _02023404 ; =0x000204A0
- ldr r0, [r7, r0]
- cmp r0, #0x1
- ldr r0, [r4, #0x8]
- bne _0202336E
- blx r0
- add r3, r0, #0x0
- add r0, r7, #0x0
- add r1, r6, #0x0
- add r2, r5, #0x0
- bl FUN_02023248
- ldr r0, [r4, #0x4]
- ldr r2, [sp, #0x4]
- lsl r0, r0, #0xc
- add r1, r6, #0x0
- bl FUN_020235D0
- str r0, [sp, #0x0]
- ldr r0, [r4, #0x8]
- blx r0
- add r3, r0, #0x0
- add r0, r7, #0x0
- add r1, r6, #0x0
- add r2, r5, #0x0
- bl FUN_02023274
- cmp r0, #0x1
- beq _02023330
- bl ErrorHandling
-_02023330:
- ldr r0, [r4, #0x8]
- blx r0
- add r3, r0, #0x0
- add r0, r7, #0x0
- add r1, r6, #0x0
- add r2, r5, #0x0
- bl FUN_02023248
- ldr r0, [r4, #0x4]
- ldr r2, [sp, #0x4]
- add r0, #0x40
- lsl r0, r0, #0xc
- add r1, r6, #0x0
- bl FUN_020235D0
- ldr r1, [sp, #0x0]
- orr r0, r1
- str r0, [sp, #0x0]
- ldr r0, [r4, #0x8]
- blx r0
- add r3, r0, #0x0
- add r0, r7, #0x0
- add r1, r6, #0x0
- add r2, r5, #0x0
- bl FUN_02023274
- cmp r0, #0x1
- beq _020233DE
- bl ErrorHandling
- b _020233DE
-_0202336E:
- blx r0
- add r3, r0, #0x0
- add r0, r7, #0x0
- add r1, r6, #0x0
- add r2, r5, #0x0
- bl FUN_02023248
- ldr r0, [r4, #0x4]
- ldr r2, [sp, #0x4]
- add r0, #0x40
- lsl r0, r0, #0xc
- add r1, r6, #0x0
- bl FUN_020235D0
- str r0, [sp, #0x0]
- ldr r0, [r4, #0x8]
- blx r0
- add r3, r0, #0x0
- add r0, r7, #0x0
- add r1, r6, #0x0
- add r2, r5, #0x0
- bl FUN_02023274
- cmp r0, #0x1
- beq _020233A4
- bl ErrorHandling
-_020233A4:
- ldr r0, [r4, #0x8]
- blx r0
- add r3, r0, #0x0
- add r0, r7, #0x0
- add r1, r6, #0x0
- add r2, r5, #0x0
- bl FUN_02023248
- ldr r0, [r4, #0x4]
- ldr r2, [sp, #0x4]
- lsl r0, r0, #0xc
- add r1, r6, #0x0
- bl FUN_020235D0
- ldr r1, [sp, #0x0]
- orr r0, r1
- str r0, [sp, #0x0]
- ldr r0, [r4, #0x8]
- blx r0
- add r3, r0, #0x0
- add r0, r7, #0x0
- add r1, r6, #0x0
- add r2, r5, #0x0
- bl FUN_02023274
- cmp r0, #0x1
- beq _020233DE
- bl ErrorHandling
-_020233DE:
- ldr r0, [sp, #0x0]
- cmp r0, #0x1
- bne _020233F0
- mov r0, #0x1
- bl FUN_02016454
- add sp, #0x8
- mov r0, #0x2
- pop {r3-r7, pc}
-_020233F0:
- mov r0, #0x1
- bl FUN_02016454
- mov r0, #0x3
- add sp, #0x8
- pop {r3-r7, pc}
- .balign 4
-_020233FC: .word 0x020EE6D8
-_02023400: .word 0x020EE6E0
-_02023404: .word 0x000204A0
-
- thumb_func_start FUN_02023408
-FUN_02023408: ; 0x02023408
- push {r4-r7, lr}
- sub sp, #0x14
- add r5, r0, #0x0
- ldr r0, _02023564 ; =0x020EE6D8
- add r7, r2, #0x0
- ldr r0, [r0, #0x0]
- add r6, r1, #0x0
- str r3, [sp, #0x0]
- cmp r7, r0
- blt _02023420
- bl ErrorHandling
-_02023420:
- ldr r1, _02023568 ; =0x020EE6E0
- lsl r0, r7, #0x4
- add r4, r1, r0
- ldr r0, [r1, r0]
- cmp r0, r7
- beq _02023430
- bl ErrorHandling
-_02023430:
- ldr r0, [r4, #0x8]
- blx r0
- str r0, [sp, #0x10]
- add r0, #0x10
- str r0, [sp, #0x10]
- ldr r1, [sp, #0x10]
- add r0, r6, #0x0
- bl FUN_02016998
- add r6, r0, #0x0
- ldr r0, [r4, #0x4]
- ldr r2, [sp, #0x10]
- lsl r0, r0, #0xc
- add r1, r6, #0x0
- bl FUN_020235EC
- ldr r0, [r4, #0x8]
- blx r0
- add r3, r0, #0x0
- add r0, r5, #0x0
- add r1, r6, #0x0
- add r2, r7, #0x0
- bl FUN_02023274
- str r0, [sp, #0xc]
- ldr r0, [r4, #0x8]
- blx r0
- add r1, r0, #0x0
- add r0, r6, #0x0
- bl FUN_020232B4
- str r0, [sp, #0x8]
- ldr r0, [r4, #0x4]
- ldr r2, [sp, #0x10]
- add r0, #0x40
- lsl r0, r0, #0xc
- add r1, r6, #0x0
- bl FUN_020235EC
- ldr r0, [r4, #0x8]
- blx r0
- add r3, r0, #0x0
- add r0, r5, #0x0
- add r1, r6, #0x0
- add r2, r7, #0x0
- bl FUN_02023274
- add r7, r0, #0x0
- ldr r0, [r4, #0x8]
- blx r0
- add r1, r0, #0x0
- add r0, r6, #0x0
- bl FUN_020232B4
- str r0, [sp, #0x4]
- ldr r0, [sp, #0x0]
- mov r1, #0x1
- str r1, [r0, #0x0]
- ldr r0, [sp, #0xc]
- cmp r0, #0x1
- bne _020234CC
- cmp r7, #0x0
- bne _020234CC
- ldr r0, _0202356C ; =0x000204A0
- mov r1, #0x0
- str r1, [r5, r0]
- add r1, r0, #0x4
- ldr r0, [sp, #0x8]
- ldr r2, [sp, #0x10]
- str r0, [r5, r1]
- ldr r0, [r4, #0x4]
- add r1, r6, #0x0
- lsl r0, r0, #0xc
- bl FUN_020235EC
- add sp, #0x14
- add r0, r6, #0x0
- pop {r4-r7, pc}
-_020234CC:
- ldr r0, [sp, #0xc]
- cmp r0, #0x0
- bne _020234F6
- cmp r7, #0x1
- bne _020234F6
- ldr r0, _0202356C ; =0x000204A0
- mov r1, #0x1
- str r1, [r5, r0]
- add r1, r0, #0x4
- ldr r0, [sp, #0x4]
- ldr r2, [sp, #0x10]
- str r0, [r5, r1]
- ldr r0, [r4, #0x4]
- add r1, r6, #0x0
- add r0, #0x40
- lsl r0, r0, #0xc
- bl FUN_020235EC
- add sp, #0x14
- add r0, r6, #0x0
- pop {r4-r7, pc}
-_020234F6:
- ldr r0, [sp, #0xc]
- cmp r0, #0x1
- bne _0202354C
- cmp r7, #0x1
- bne _0202354C
- ldr r0, [sp, #0x8]
- ldr r1, [sp, #0x4]
- bl FUN_020229B8
- mov r1, #0x0
- mvn r1, r1
- cmp r0, r1
- ldr r0, _0202356C ; =0x000204A0
- beq _0202352E
- mov r1, #0x0
- str r1, [r5, r0]
- add r1, r0, #0x4
- ldr r0, [sp, #0x8]
- ldr r2, [sp, #0x10]
- str r0, [r5, r1]
- ldr r0, [r4, #0x4]
- add r1, r6, #0x0
- lsl r0, r0, #0xc
- bl FUN_020235EC
- add sp, #0x14
- add r0, r6, #0x0
- pop {r4-r7, pc}
-_0202352E:
- mov r1, #0x1
- str r1, [r5, r0]
- add r1, r0, #0x4
- ldr r0, [sp, #0x4]
- ldr r2, [sp, #0x10]
- str r0, [r5, r1]
- ldr r0, [r4, #0x4]
- add r1, r6, #0x0
- add r0, #0x40
- lsl r0, r0, #0xc
- bl FUN_020235EC
- add sp, #0x14
- add r0, r6, #0x0
- pop {r4-r7, pc}
-_0202354C:
- ldr r0, [sp, #0x0]
- mov r1, #0x2
- str r1, [r0, #0x0]
- ldr r0, _0202356C ; =0x000204A0
- mov r1, #0x0
- str r1, [r5, r0]
- add r0, r0, #0x4
- str r1, [r5, r0]
- add r0, r6, #0x0
- add sp, #0x14
- pop {r4-r7, pc}
- nop
-_02023564: .word 0x020EE6D8
-_02023568: .word 0x020EE6E0
-_0202356C: .word 0x000204A0
-
- thumb_func_start FUN_02023570
-FUN_02023570: ; 0x02023570
- push {r3-r5, lr}
- blx OS_GetLockID
- add r4, r0, #0x0
- mov r0, #0x2
- mvn r0, r0
- cmp r4, r0
- bne _02023584
- bl ErrorHandling
-_02023584:
- lsl r0, r4, #0x10
- lsr r0, r0, #0x10
- blx CARD_LockBackup
- ldr r0, _020235C8 ; =0x00001302
- blx CARD_IdentifyBackup
- cmp r0, #0x0
- beq _0202359A
- ldr r5, _020235C8 ; =0x00001302
- b _020235AA
-_0202359A:
- ldr r0, _020235CC ; =0x00001202
- blx CARD_IdentifyBackup
- cmp r0, #0x0
- beq _020235A8
- ldr r5, _020235CC ; =0x00001202
- b _020235AA
-_020235A8:
- mov r5, #0x0
-_020235AA:
- lsl r0, r4, #0x10
- lsr r0, r0, #0x10
- blx CARD_UnlockBackup
- lsl r0, r4, #0x10
- lsr r0, r0, #0x10
- blx OS_ReleaseLockID
- cmp r5, #0x0
- beq _020235C2
- mov r0, #0x1
- pop {r3-r5, pc}
-_020235C2:
- mov r0, #0x0
- pop {r3-r5, pc}
- nop
-_020235C8: .word 0x00001302
-_020235CC: .word 0x00001202
-
- thumb_func_start FUN_020235D0
-FUN_020235D0: ; 0x020235D0
- push {r3-r5, lr}
- bl FUN_02023668
- add r5, r0, #0x0
- add r4, sp, #0x0
-_020235DA:
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_020236E4
- cmp r0, #0x0
- beq _020235DA
- ldr r0, [sp, #0x0]
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_020235EC
-FUN_020235EC: ; 0x020235EC
- push {r4-r7, lr}
- sub sp, #0x14
- add r5, r0, #0x0
- add r6, r1, #0x0
- add r7, r2, #0x0
- blx OS_GetLockID
- add r4, r0, #0x0
- mov r0, #0x2
- mvn r0, r0
- cmp r4, r0
- bne _02023608
- bl ErrorHandling
-_02023608:
- lsl r0, r4, #0x10
- lsr r0, r0, #0x10
- blx CARD_LockBackup
- mov r3, #0x0
- str r3, [sp, #0x0]
- mov r1, #0x1
- str r1, [sp, #0x4]
- mov r0, #0x6
- str r0, [sp, #0x8]
- str r1, [sp, #0xc]
- add r0, r5, #0x0
- add r1, r6, #0x0
- add r2, r7, #0x0
- str r3, [sp, #0x10]
- blx CARDi_RequestStreamCommand
- blx CARD_WaitBackupAsync
- add r5, r0, #0x0
- lsl r0, r4, #0x10
- lsr r0, r0, #0x10
- blx CARD_UnlockBackup
- lsl r0, r4, #0x10
- lsr r0, r0, #0x10
- blx OS_ReleaseLockID
- cmp r5, #0x0
- bne _02023652
- ldr r0, _02023658 ; =0x021C59C8
- ldr r0, [r0, #0x0]
- bl FUN_02016A18
- mov r0, #0x1
- bl FUN_02089D90
-_02023652:
- add r0, r5, #0x0
- add sp, #0x14
- pop {r4-r7, pc}
- .balign 4
-_02023658: .word 0x021C59C8
-
- thumb_func_start FUN_0202365C
-FUN_0202365C: ; 0x0202365C
- ldr r0, _02023664 ; =0x021C59C8
- mov r1, #0x1
- str r1, [r0, #0x4]
- bx lr
- .balign 4
-_02023664: .word 0x021C59C8
-
- thumb_func_start FUN_02023668
-FUN_02023668: ; 0x02023668
- push {r3-r7, lr}
- sub sp, #0x18
- add r5, r0, #0x0
- add r6, r1, #0x0
- add r7, r2, #0x0
- blx OS_GetLockID
- add r4, r0, #0x0
- mov r0, #0x2
- mvn r0, r0
- cmp r4, r0
- bne _02023684
- bl ErrorHandling
-_02023684:
- lsl r0, r4, #0x10
- lsr r0, r0, #0x10
- blx CARD_LockBackup
- mov r0, #0x0
- str r0, [sp, #0x0]
- str r0, [sp, #0x4]
- mov r1, #0x6
- str r1, [sp, #0x8]
- mov r1, #0x1
- str r1, [sp, #0xc]
- add r1, sp, #0x14
- mov r2, #0x4
- add r3, r0, #0x0
- str r0, [sp, #0x10]
- blx CARDi_RequestStreamCommand
- cmp r0, #0x0
- bne _020236B2
- add r0, r4, #0x0
- mov r1, #0x1
- bl FUN_02023740
-_020236B2:
- ldr r0, _020236DC ; =0x021C59C8
- mov r1, #0x0
- str r1, [r0, #0x4]
- str r1, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- mov r0, #0x7
- str r0, [sp, #0x8]
- mov r0, #0xa
- str r0, [sp, #0xc]
- mov r0, #0x2
- str r0, [sp, #0x10]
- ldr r3, _020236E0 ; =FUN_0202365C
- add r0, r6, #0x0
- add r1, r5, #0x0
- add r2, r7, #0x0
- blx CARDi_RequestStreamCommand
- add r0, r4, #0x0
- add sp, #0x18
- pop {r3-r7, pc}
- .balign 4
-_020236DC: .word 0x021C59C8
-_020236E0: .word FUN_0202365C
-
- thumb_func_start FUN_020236E4
-FUN_020236E4: ; 0x020236E4
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r0, _0202373C ; =0x021C59C8
- add r4, r1, #0x0
- ldr r0, [r0, #0x4]
- cmp r0, #0x1
- bne _02023738
- lsl r0, r5, #0x10
- lsr r0, r0, #0x10
- blx CARD_UnlockBackup
- lsl r0, r5, #0x10
- lsr r0, r0, #0x10
- blx OS_ReleaseLockID
- blx CARD_GetResultCode
- cmp r0, #0x0
- beq _02023714
- cmp r0, #0x4
- beq _0202371E
- cmp r0, #0x6
- beq _02023728
- b _0202371A
-_02023714:
- mov r0, #0x1
- str r0, [r4, #0x0]
- b _02023734
-_0202371A:
- bl ErrorHandling
-_0202371E:
- mov r1, #0x0
- add r0, r5, #0x0
- str r1, [r4, #0x0]
- bl FUN_02023740
-_02023728:
- mov r0, #0x0
- str r0, [r4, #0x0]
- add r0, r5, #0x0
- mov r1, #0x1
- bl FUN_02023740
-_02023734:
- mov r0, #0x1
- pop {r3-r5, pc}
-_02023738:
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-_0202373C: .word 0x021C59C8
-
- thumb_func_start FUN_02023740
-FUN_02023740: ; 0x02023740
- push {r3-r5, lr}
- add r5, r0, #0x0
- lsl r0, r5, #0x10
- lsr r0, r0, #0x10
- add r4, r1, #0x0
- blx CARD_UnlockBackup
- lsl r0, r5, #0x10
- lsr r0, r0, #0x10
- blx OS_ReleaseLockID
- ldr r0, _02023768 ; =0x021C59C8
- ldr r0, [r0, #0x0]
- bl FUN_02016A18
- mov r0, #0x1
- add r1, r4, #0x0
- bl FUN_0208A0B8
- pop {r3-r5, pc}
- .balign 4
-_02023768: .word 0x021C59C8
-
- thumb_func_start FUN_0202376C
-FUN_0202376C: ; 0x0202376C
- mov r0, #0x5c
- bx lr
-
- thumb_func_start FUN_02023770
-FUN_02023770: ; 0x02023770
- push {r4, lr}
- add r4, r0, #0x0
- mov r0, #0x0
- add r1, r4, #0x0
- mov r2, #0x5c
- blx MIi_CpuClearFast
- add r4, #0x10
- add r0, r4, #0x0
- bl FUN_02023840
- pop {r4, pc}
-
- thumb_func_start FUN_02023788
-FUN_02023788: ; 0x02023788
- ldr r3, _02023790 ; =FUN_02022610
- mov r1, #0x0
- bx r3
- nop
-_02023790: .word FUN_02022610
-
- thumb_func_start FUN_02023794
-FUN_02023794: ; 0x02023794
- push {r3, lr}
- bl FUN_02023788
- add r0, #0x10
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_020237A0
-FUN_020237A0: ; 0x020237A0
- push {r4, lr}
- sub sp, #0x50
- add r4, r0, #0x0
- blx OS_GetOwnerRtcOffset
- str r0, [r4, #0x0]
- add r0, r4, #0x0
- add r0, #0x8
- str r1, [r4, #0x4]
- blx OS_GetMacAddress
- add r0, sp, #0x0
- blx OS_GetOwnerInfo
- add r0, sp, #0x0
- ldrb r1, [r0, #0x2]
- strb r1, [r4, #0xe]
- ldrb r0, [r0, #0x3]
- strb r0, [r4, #0xf]
- add sp, #0x50
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_020237CC
-FUN_020237CC: ; 0x020237CC
- push {r4, lr}
- sub sp, #0x8
- add r4, r0, #0x0
- add r0, sp, #0x0
- blx OS_GetMacAddress
- mov r2, #0x0
- add r3, sp, #0x0
-_020237DC:
- add r0, r4, r2
- ldrb r1, [r3, #0x0]
- ldrb r0, [r0, #0x8]
- cmp r1, r0
- beq _020237EC
- add sp, #0x8
- mov r0, #0x0
- pop {r4, pc}
-_020237EC:
- add r2, r2, #0x1
- add r3, r3, #0x1
- cmp r2, #0x6
- blt _020237DC
- mov r0, #0x1
- add sp, #0x8
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_020237FC
-FUN_020237FC: ; 0x020237FC
- push {r4, lr}
- add r4, r0, #0x0
- blx OS_GetOwnerRtcOffset
- ldr r3, [r4, #0x0]
- ldr r2, [r4, #0x4]
- eor r0, r3
- eor r1, r2
- orr r0, r1
- bne _02023814
- mov r0, #0x1
- pop {r4, pc}
-_02023814:
- mov r0, #0x0
- pop {r4, pc}
-
- thumb_func_start FUN_02023818
-FUN_02023818: ; 0x02023818
- ldrb r0, [r0, #0xe]
- bx lr
-
- thumb_func_start FUN_0202381C
-FUN_0202381C: ; 0x0202381C
- ldrb r0, [r0, #0xf]
- bx lr
-
- thumb_func_start FUN_02023820
-FUN_02023820: ; 0x02023820
- add r0, #0x48
- ldrb r0, [r0, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02023828
-FUN_02023828: ; 0x02023828
- add r0, #0x48
- strb r1, [r0, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02023830
-FUN_02023830: ; 0x02023830
- ldr r0, [r0, #0x4c]
- bx lr
-
- thumb_func_start FUN_02023834
-FUN_02023834: ; 0x02023834
- ldr r2, [r0, #0x4c]
- cmp r2, #0x0
- bne _0202383C
- str r1, [r0, #0x4c]
-_0202383C:
- bx lr
- .balign 4
-
- thumb_func_start FUN_02023840
-FUN_02023840: ; 0x02023840
- push {r4, lr}
- add r4, r0, #0x0
- mov r0, #0x1
- add r1, r4, #0x0
- str r0, [r4, #0x0]
- add r0, r4, #0x4
- add r1, #0x14
- bl FUN_0201265C
- add r0, r4, #0x4
- blx RTC_ConvertDateToDay
- add r1, r4, #0x0
- str r0, [r4, #0x20]
- add r0, r4, #0x4
- add r1, #0x14
- blx RTC_ConvertDateTimeToSecond
- str r0, [r4, #0x24]
- str r1, [r4, #0x28]
- mov r0, #0x0
- str r0, [r4, #0x2c]
- str r0, [r4, #0x30]
- str r0, [r4, #0x34]
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02023874
-FUN_02023874: ; 0x02023874
- ldr r0, [r0, #0x34]
- cmp r0, #0x0
- beq _0202387E
- mov r0, #0x1
- bx lr
-_0202387E:
- mov r0, #0x0
- bx lr
- .balign 4
-
- thumb_func_start FUN_02023884
-FUN_02023884: ; 0x02023884
- mov r2, #0x5a
- ldr r3, [r0, #0x34]
- lsl r2, r2, #0x4
- cmp r3, r2
- bls _02023890
- str r2, [r0, #0x34]
-_02023890:
- ldr r2, [r0, #0x34]
- cmp r2, r1
- bhs _0202389C
- mov r1, #0x0
- str r1, [r0, #0x34]
- bx lr
-_0202389C:
- sub r1, r2, r1
- str r1, [r0, #0x34]
- bx lr
- .balign 4
-
- thumb_func_start FUN_020238A4
-FUN_020238A4: ; 0x020238A4
- push {r4, lr}
- add r4, r0, #0x0
- mov r0, #0x5a
- lsl r0, r0, #0x4
- add r1, r4, #0x0
- str r0, [r4, #0x34]
- add r0, r4, #0x4
- add r1, #0x14
- bl FUN_0201265C
- add r0, r4, #0x4
- blx RTC_ConvertDateToDay
- str r0, [r4, #0x20]
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_020238C4
-FUN_020238C4: ; 0x020238C4
- mov r0, #0x2c
- bx lr
-
- thumb_func_start FUN_020238C8
-FUN_020238C8: ; 0x020238C8
- push {r4, lr}
- add r4, r0, #0x0
- mov r0, #0x0
- add r1, r4, #0x0
- mov r2, #0x2c
- blx MIi_CpuClearFast
- add r0, r4, #0x0
- bl FUN_02024F50
- add r0, r4, #0x4
- bl FUN_02023948
- add r0, r4, #0x0
- add r0, #0x24
- bl FUN_02028910
- add r4, #0x26
- add r0, r4, #0x0
- bl FUN_02029E48
- pop {r4, pc}
-
- thumb_func_start FUN_020238F4
-FUN_020238F4: ; 0x020238F4
- push {r3, lr}
- mov r1, #0x1
- bl FUN_02022610
- add r0, r0, #0x4
- pop {r3, pc}
-
- thumb_func_start LoadPlayerDataAddress
-LoadPlayerDataAddress: ; 0x02023900
- ldr r3, _02023908 ; =FUN_02022610
- mov r1, #0x1
- bx r3
- nop
-_02023908: .word FUN_02022610
-
- thumb_func_start FUN_0202390C
-FUN_0202390C: ; 0x0202390C
- push {r3, lr}
- mov r1, #0x1
- bl FUN_02022610
- add r0, #0x24
- pop {r3, pc}
-
- thumb_func_start FUN_02023918
-FUN_02023918: ; 0x02023918
- push {r3, lr}
- mov r1, #0x1
- bl FUN_02022610
- add r0, #0x26
- pop {r3, pc}
-
- thumb_func_start FUN_02023924
-FUN_02023924: ; 0x02023924
- mov r0, #0x20
- bx lr
-
- thumb_func_start FUN_02023928
-FUN_02023928: ; 0x02023928
- push {r4, lr}
- mov r1, #0x20
- bl FUN_02016998
- add r4, r0, #0x0
- bl FUN_02023948
- add r0, r4, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0202393C
-FUN_0202393C: ; 0x0202393C
- ldr r3, _02023944 ; =MI_CpuCopy8
- mov r2, #0x20
- bx r3
- nop
-_02023944: .word MI_CpuCopy8
-
- thumb_func_start FUN_02023948
-FUN_02023948: ; 0x02023948
- push {r4, lr}
- mov r1, #0x0
- mov r2, #0x20
- add r4, r0, #0x0
- blx Call_FillMemWithValue
- mov r0, #0x2
- strb r0, [r4, #0x19]
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0202395C
-FUN_0202395C: ; 0x0202395C
- push {r3-r5, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl StringLength
- cmp r0, #0x8
- blt _02023970
- bl ErrorHandling
-_02023970:
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl StringCopy
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0202397C
-FUN_0202397C: ; 0x0202397C
- ldr r3, _02023988 ; =FUN_02021EF0
- add r2, r0, #0x0
- add r0, r1, #0x0
- add r1, r2, #0x0
- mov r2, #0x8
- bx r3
- .balign 4
-_02023988: .word FUN_02021EF0
-
- thumb_func_start FUN_0202398C
-FUN_0202398C: ; 0x0202398C
- bx lr
- .balign 4
-
- thumb_func_start FUN_02023990
-FUN_02023990: ; 0x02023990
- ldr r3, _0202399C ; =FUN_02021E28
- add r2, r0, #0x0
- add r0, r1, #0x0
- add r1, r2, #0x0
- bx r3
- nop
-_0202399C: .word FUN_02021E28
-
- thumb_func_start FUN_020239A0
-FUN_020239A0: ; 0x020239A0
- push {r3-r5, lr}
- add r5, r0, #0x0
- mov r0, #0x8
- bl FUN_020219F4
- add r4, r0, #0x0
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02023990
- add r0, r4, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_020239B8
-FUN_020239B8: ; 0x020239B8
- str r1, [r0, #0x10]
- bx lr
-
- thumb_func_start FUN_020239BC
-FUN_020239BC: ; 0x020239BC
- ldr r0, [r0, #0x10]
- bx lr
-
- thumb_func_start FUN_020239C0
-FUN_020239C0: ; 0x020239C0
- ldr r0, [r0, #0x10]
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- bx lr
-
- thumb_func_start FUN_020239C8
-FUN_020239C8: ; 0x020239C8
- strb r1, [r0, #0x18]
- bx lr
-
- thumb_func_start FUN_020239CC
-FUN_020239CC: ; 0x020239CC
- ldrb r0, [r0, #0x18]
- bx lr
-
- thumb_func_start FUN_020239D0
-FUN_020239D0: ; 0x020239D0
- ldrb r3, [r0, #0x1a]
- mov r0, #0x1
- add r2, r0, #0x0
- lsl r2, r1
- add r1, r3, #0x0
- tst r1, r2
- bne _020239E0
- mov r0, #0x0
-_020239E0:
- bx lr
- .balign 4
-
- thumb_func_start FUN_020239E4
-FUN_020239E4: ; 0x020239E4
- ldrb r3, [r0, #0x1a]
- mov r2, #0x1
- lsl r2, r1
- add r1, r3, #0x0
- orr r1, r2
- strb r1, [r0, #0x1a]
- bx lr
- .balign 4
-
- thumb_func_start FUN_020239F4
-FUN_020239F4: ; 0x020239F4
- ldrb r3, [r0, #0x1a]
- mov r2, #0x0
- cmp r3, #0x0
- beq _02023A0A
- mov r0, #0x1
-_020239FE:
- add r1, r3, #0x0
- tst r1, r0
- beq _02023A06
- add r2, r2, #0x1
-_02023A06:
- lsr r3, r3, #0x1
- bne _020239FE
-_02023A0A:
- add r0, r2, #0x0
- bx lr
- .balign 4
-
- thumb_func_start FUN_02023A10
-FUN_02023A10: ; 0x02023A10
- ldr r0, [r0, #0x14]
- bx lr
-
- thumb_func_start FUN_02023A14
-FUN_02023A14: ; 0x02023A14
- ldr r2, _02023A24 ; =0x000F423F
- cmp r1, r2
- bls _02023A1C
- add r1, r2, #0x0
-_02023A1C:
- str r1, [r0, #0x14]
- add r0, r1, #0x0
- bx lr
- nop
-_02023A24: .word 0x000F423F
-
- thumb_func_start FUN_02023A28
-FUN_02023A28: ; 0x02023A28
- ldrb r0, [r0, #0x1b]
- bx lr
-
- thumb_func_start FUN_02023A2C
-FUN_02023A2C: ; 0x02023A2C
- strb r1, [r0, #0x1b]
- bx lr
-
- thumb_func_start FUN_02023A30
-FUN_02023A30: ; 0x02023A30
- ldr r2, _02023A50 ; =0x000F423F
- cmp r1, r2
- bls _02023A3A
- str r2, [r0, #0x14]
- b _02023A40
-_02023A3A:
- ldr r2, [r0, #0x14]
- add r1, r2, r1
- str r1, [r0, #0x14]
-_02023A40:
- ldr r2, [r0, #0x14]
- ldr r1, _02023A50 ; =0x000F423F
- cmp r2, r1
- bls _02023A4A
- str r1, [r0, #0x14]
-_02023A4A:
- ldr r0, [r0, #0x14]
- bx lr
- nop
-_02023A50: .word 0x000F423F
-
- thumb_func_start FUN_02023A54
-FUN_02023A54: ; 0x02023A54
- ldr r2, [r0, #0x14]
- cmp r2, r1
- bhs _02023A5E
- mov r1, #0x0
- b _02023A60
-_02023A5E:
- sub r1, r2, r1
-_02023A60:
- str r1, [r0, #0x14]
- ldr r0, [r0, #0x14]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02023A68
-FUN_02023A68: ; 0x02023A68
- ldrb r0, [r0, #0x1c]
- bx lr
-
- thumb_func_start FUN_02023A6C
-FUN_02023A6C: ; 0x02023A6C
- strb r1, [r0, #0x1c]
- bx lr
-
- thumb_func_start FUN_02023A70
-FUN_02023A70: ; 0x02023A70
- ldrb r0, [r0, #0x19]
- bx lr
-
- thumb_func_start FUN_02023A74
-FUN_02023A74: ; 0x02023A74
- strb r1, [r0, #0x19]
- bx lr
-
- thumb_func_start FUN_02023A78
-FUN_02023A78: ; 0x02023A78
- ldrb r2, [r0, #0x1d]
- mov r1, #0x1
- bic r2, r1
- mov r1, #0x1
- orr r1, r2
- strb r1, [r0, #0x1d]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02023A88
-FUN_02023A88: ; 0x02023A88
- ldrb r0, [r0, #0x1d]
- lsl r0, r0, #0x1f
- lsr r0, r0, #0x1f
- bx lr
-
- thumb_func_start FUN_02023A90
-FUN_02023A90: ; 0x02023A90
- ldrb r2, [r0, #0x1d]
- mov r1, #0x2
- orr r1, r2
- strb r1, [r0, #0x1d]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02023A9C
-FUN_02023A9C: ; 0x02023A9C
- ldrb r0, [r0, #0x1d]
- lsl r0, r0, #0x1e
- lsr r0, r0, #0x1f
- bx lr
-
- thumb_func_start FUN_02023AA4
-FUN_02023AA4: ; 0x02023AA4
- push {r3-r5, lr}
- mov r2, #0x7
- add r5, r0, #0x0
- add r4, r1, #0x0
- bl StringNotEqualN
- cmp r0, #0x0
- bne _02023AC0
- ldr r1, [r5, #0x10]
- ldr r0, [r4, #0x10]
- cmp r1, r0
- bne _02023AC0
- mov r0, #0x1
- pop {r3-r5, pc}
-_02023AC0:
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02023AC4
-FUN_02023AC4: ; 0x02023AC4
- mov r0, #0x20
- bx lr
-
- thumb_func_start FUN_02023AC8
-FUN_02023AC8: ; 0x02023AC8
- mov r0, #0x20
- bx lr
-
- thumb_func_start FUN_02023ACC
-FUN_02023ACC: ; 0x02023ACC
- ldr r3, _02023AD4 ; =MI_CpuCopy8
- mov r2, #0x20
- bx r3
- nop
-_02023AD4: .word MI_CpuCopy8
-
- thumb_func_start FUN_02023AD8
-FUN_02023AD8: ; 0x02023AD8
- ldr r3, _02023AE0 ; =Call_FillMemWithValue
- mov r1, #0x0
- mov r2, #0x20
- bx r3
- .balign 4
-_02023AE0: .word Call_FillMemWithValue
-
- thumb_func_start FUN_02023AE4
-FUN_02023AE4: ; 0x02023AE4
- ldr r3, _02023AF0 ; =FUN_02021E8C
- add r2, r0, #0x0
- add r0, r1, #0x0
- add r1, r2, #0x0
- mov r2, #0xc
- bx r3
- .balign 4
-_02023AF0: .word FUN_02021E8C
-
- thumb_func_start FUN_02023AF4
-FUN_02023AF4: ; 0x02023AF4
- push {r3-r5, lr}
- add r5, r0, #0x0
- mov r0, #0x18
- bl FUN_020219F4
- add r1, r5, #0x0
- add r4, r0, #0x0
- bl FUN_02021E28
- add r0, r4, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02023B0C
-FUN_02023B0C: ; 0x02023B0C
- mov r2, #0x0
- cmp r1, #0xc
- bhi _02023B9E
- add r1, r1, r1
- add r1, pc
- ldrh r1, [r1, #0x6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_02023B1E: ; jump table (using 16-bit offset)
- .short _02023B9E - _02023B1E - 2; case 0
- .short _02023B38 - _02023B1E - 2; case 1
- .short _02023B3C - _02023B1E - 2; case 2
- .short _02023B40 - _02023B1E - 2; case 3
- .short _02023B44 - _02023B1E - 2; case 4
- .short _02023B4C - _02023B1E - 2; case 5
- .short _02023B52 - _02023B1E - 2; case 6
- .short _02023B66 - _02023B1E - 2; case 7
- .short _02023B6C - _02023B1E - 2; case 8
- .short _02023B80 - _02023B1E - 2; case 9
- .short _02023B88 - _02023B1E - 2; case 10
- .short _02023B90 - _02023B1E - 2; case 11
- .short _02023B98 - _02023B1E - 2; case 12
-_02023B38:
- ldrb r2, [r0, #0x1a]
- b _02023B9E
-_02023B3C:
- ldrb r2, [r0, #0x1b]
- b _02023B9E
-_02023B40:
- ldrh r2, [r0, #0x18]
- b _02023B9E
-_02023B44:
- ldrb r0, [r0, #0x1e]
- lsl r0, r0, #0x1f
- lsr r2, r0, #0x1f
- b _02023B9E
-_02023B4C:
- mov r1, #0x1c
- ldrsb r2, [r0, r1]
- b _02023B9E
-_02023B52:
- mov r1, #0x1c
- ldrsb r0, [r0, r1]
- cmp r0, #0x0
- ble _02023B5E
- mov r2, #0x1
- b _02023B9E
-_02023B5E:
- bge _02023B9E
- add r2, r1, #0x0
- sub r2, #0x1d
- b _02023B9E
-_02023B66:
- mov r1, #0x1d
- ldrsb r2, [r0, r1]
- b _02023B9E
-_02023B6C:
- mov r1, #0x1d
- ldrsb r0, [r0, r1]
- cmp r0, #0x0
- ble _02023B78
- mov r2, #0x1
- b _02023B9E
-_02023B78:
- bge _02023B9E
- add r2, r1, #0x0
- sub r2, #0x1e
- b _02023B9E
-_02023B80:
- ldrb r0, [r0, #0x1e]
- lsl r0, r0, #0x1c
- lsr r2, r0, #0x1f
- b _02023B9E
-_02023B88:
- ldrb r0, [r0, #0x1e]
- lsl r0, r0, #0x1d
- lsr r2, r0, #0x1f
- b _02023B9E
-_02023B90:
- ldrb r0, [r0, #0x1e]
- lsl r0, r0, #0x1e
- lsr r2, r0, #0x1f
- b _02023B9E
-_02023B98:
- ldrb r0, [r0, #0x1e]
- lsl r0, r0, #0x1b
- lsr r2, r0, #0x1f
-_02023B9E:
- add r0, r2, #0x0
- bx lr
- .balign 4
-
- thumb_func_start FUN_02023BA4
-FUN_02023BA4: ; 0x02023BA4
- push {r3-r5, lr}
- add r5, r1, #0x0
- add r4, r0, #0x0
- cmp r5, #0x1
- blt _02023BB2
- bl ErrorHandling
-_02023BB2:
- add r0, r4, #0x0
- mov r1, #0xd
- bl FUN_02022610
- add r4, r0, #0x0
- lsl r5, r5, #0x5
- add r0, r4, r5
- mov r1, #0x1
- bl FUN_02023B0C
- cmp r0, #0x0
- beq _02023BCE
- add r0, r4, r5
- pop {r3-r5, pc}
-_02023BCE:
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02023BD4
-FUN_02023BD4: ; 0x02023BD4
- push {r4, lr}
- add r4, r1, #0x0
- mov r1, #0xd
- bl FUN_02022610
- add r1, r0, #0x0
- add r0, r4, #0x0
- bl FUN_02023ACC
- pop {r4, pc}
-
- thumb_func_start FUN_02023BE8
-FUN_02023BE8: ; 0x02023BE8
- push {r3, lr}
- cmp r1, #0x5
- bhs _02023BF6
- ldr r2, _02023C00 ; =0x02105BD4
- lsl r0, r1, #0x5
- add r0, r2, r0
- pop {r3, pc}
-_02023BF6:
- mov r1, #0xd
- bl FUN_02022610
- pop {r3, pc}
- nop
-_02023C00: .word 0x02105BD4
-
- thumb_func_start FUN_02023C04
-FUN_02023C04: ; 0x02023C04
- push {r4-r6, lr}
- add r5, r1, #0x0
- add r4, r2, #0x0
- cmp r5, #0x5
- bhs _02023C2C
- ldr r2, _02023C3C ; =0x0000013A
- mov r0, #0x0
- mov r1, #0x1a
- bl FUN_0200A86C
- add r5, #0x38
- add r6, r0, #0x0
- add r1, r5, #0x0
- add r2, r4, #0x0
- bl FUN_0200A8E0
- add r0, r6, #0x0
- bl FUN_0200A8B8
- pop {r4-r6, pc}
-_02023C2C:
- mov r1, #0x0
- bl FUN_02023BA4
- add r1, r4, #0x0
- bl FUN_02023AE4
- pop {r4-r6, pc}
- nop
-_02023C3C: .word 0x0000013A
-
- thumb_func_start FUN_02023C40
-FUN_02023C40: ; 0x02023C40
- mov r0, #0x1e
- lsl r0, r0, #0x4
- bx lr
- .balign 4
-
- thumb_func_start FUN_02023C48
-FUN_02023C48: ; 0x02023C48
- push {r4, lr}
- mov r2, #0x1e
- add r4, r0, #0x0
- mov r1, #0x0
- lsl r2, r2, #0x4
- blx Call_FillMemWithValue
- add r0, r4, #0x0
- bl FUN_020669A0
- add r0, r4, #0x0
- add r0, #0xec
- bl FUN_020669A0
- mov r0, #0x76
- mov r1, #0x0
- lsl r0, r0, #0x2
- str r1, [r4, r0]
- add r0, r0, #0x4
- strb r1, [r4, r0]
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02023C74
-FUN_02023C74: ; 0x02023C74
- mov r2, #0xec
- mul r2, r1
- add r0, r0, r2
- bx lr
-
- thumb_func_start FUN_02023C7C
-FUN_02023C7C: ; 0x02023C7C
- bx lr
- .balign 4
-
- thumb_func_start FUN_02023C80
-FUN_02023C80: ; 0x02023C80
- add r0, #0x88
- bx lr
-
- thumb_func_start FUN_02023C84
-FUN_02023C84: ; 0x02023C84
- add r0, #0xe8
- ldr r0, [r0, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02023C8C
-FUN_02023C8C: ; 0x02023C8C
- bx lr
- .balign 4
-
- thumb_func_start FUN_02023C90
-FUN_02023C90: ; 0x02023C90
- mov r1, #0x76
- lsl r1, r1, #0x2
- ldr r0, [r0, r1]
- bx lr
-
- thumb_func_start FUN_02023C98
-FUN_02023C98: ; 0x02023C98
- mov r1, #0x77
- lsl r1, r1, #0x2
- ldrb r0, [r0, r1]
- bx lr
-
- thumb_func_start FUN_02023CA0
-FUN_02023CA0: ; 0x02023CA0
- add r0, #0xe8
- str r1, [r0, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02023CA8
-FUN_02023CA8: ; 0x02023CA8
- add r2, r0, #0x0
- add r2, #0xe8
- ldr r2, [r2, #0x0]
- add r0, #0xe8
- add r1, r2, r1
- str r1, [r0, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02023CB8
-FUN_02023CB8: ; 0x02023CB8
- mov r2, #0x76
- lsl r2, r2, #0x2
- str r1, [r0, r2]
- bx lr
-
- thumb_func_start FUN_02023CC0
-FUN_02023CC0: ; 0x02023CC0
- mov r2, #0x77
- lsl r2, r2, #0x2
- strb r1, [r0, r2]
- bx lr
-
- thumb_func_start FUN_02023CC8
-FUN_02023CC8: ; 0x02023CC8
- push {r3-r5, lr}
- add r5, r0, #0x0
- mov r1, #0xc
- mov r2, #0x0
- bl FUN_020672BC
- add r5, #0xec
- add r4, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0xc
- mov r2, #0x0
- bl FUN_020672BC
- cmp r4, r0
- beq _02023CEA
- mov r0, #0x1
- pop {r3-r5, pc}
-_02023CEA:
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02023CF0
-FUN_02023CF0: ; 0x02023CF0
- push {r3-r4}
- add r4, r0, #0x0
- add r3, r1, #0x0
- mov r2, #0x1d
-_02023CF8:
- ldmia r3!, {r0-r1}
- stmia r4!, {r0-r1}
- sub r2, r2, #0x1
- bne _02023CF8
- ldr r0, [r3, #0x0]
- str r0, [r4, #0x0]
- pop {r3-r4}
- bx lr
-
- thumb_func_start FUN_02023D08
-FUN_02023D08: ; 0x02023D08
- push {r3-r4}
- mov r1, #0x0
- add r2, r0, #0x0
- add r4, r1, #0x0
-_02023D10:
- add r1, r1, #0x1
- strh r4, [r2, #0x38]
- add r2, r2, #0x2
- cmp r1, #0x8
- blt _02023D10
- add r3, r0, #0x0
- mov r2, #0x0
-_02023D1E:
- add r1, r3, #0x0
- add r1, #0x48
- add r4, r4, #0x1
- add r3, r3, #0x2
- strh r2, [r1, #0x0]
- cmp r4, #0xb
- blt _02023D1E
- ldr r1, _02023D38 ; =0x0000FFFF
- strh r1, [r0, #0x38]
- add r0, #0x48
- strh r1, [r0, #0x0]
- pop {r3-r4}
- bx lr
- .balign 4
-_02023D38: .word 0x0000FFFF
-
- thumb_func_start FUN_02023D3C
-FUN_02023D3C: ; 0x02023D3C
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_020669A0
- add r0, r4, #0x0
- mov r1, #0x0
- add r0, #0xe8
- add r4, #0x88
- str r1, [r0, #0x0]
- add r0, r4, #0x0
- bl FUN_02023D08
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02023D58
-FUN_02023D58: ; 0x02023D58
- ldr r3, _02023D60 ; =FUN_02022610
- mov r1, #0x8
- bx r3
- nop
-_02023D60: .word FUN_02022610
-
- thumb_func_start FUN_02023D64
-FUN_02023D64: ; 0x02023D64
- mov r0, #0x4f
- lsl r0, r0, #0x2
- bx lr
- .balign 4
-
- thumb_func_start FUN_02023D6C
-FUN_02023D6C: ; 0x02023D6C
- push {r4, lr}
- mov r1, #0x4f
- lsl r1, r1, #0x2
- bl FUN_02016998
- add r4, r0, #0x0
- bl FUN_02024378
- add r0, r4, #0x0
- pop {r4, pc}
-
- thumb_func_start FUN_02023D80
-FUN_02023D80: ; 0x02023D80
- ldr r3, _02023D88 ; =MI_CpuCopy8
- mov r2, #0x4f
- lsl r2, r2, #0x2
- bx r3
- .balign 4
-_02023D88: .word MI_CpuCopy8
-
- thumb_func_start FUN_02023D8C
-FUN_02023D8C: ; 0x02023D8C
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r0, _02023DE8 ; =0x000001A6
- add r4, r1, #0x0
- cmp r4, r0
- beq _02023DA2
- add r0, r0, #0x1
- cmp r4, r0
- beq _02023DA2
- bl ErrorHandling
-_02023DA2:
- lsl r1, r4, #0x10
- add r0, r5, #0x0
- lsr r1, r1, #0x10
- bl FUN_020245F0
- cmp r0, #0x0
- bne _02023DB4
- mov r0, #0x0
- pop {r3-r5, pc}
-_02023DB4:
- ldr r0, _02023DE8 ; =0x000001A6
- cmp r4, r0
- bne _02023DBE
- sub r0, #0x9e
- b _02023DC0
-_02023DBE:
- sub r0, #0x9d
-_02023DC0:
- add r0, r5, r0
- ldrb r1, [r0, #0x0]
- mov r2, #0x1
- add r0, r1, #0x0
- tst r0, r2
- bne _02023DCE
- mov r2, #0x0
-_02023DCE:
- mov r0, #0x2
- tst r0, r1
- beq _02023DD8
- mov r0, #0x1
- b _02023DDA
-_02023DD8:
- mov r0, #0x0
-_02023DDA:
- cmp r2, r0
- bne _02023DE2
- mov r0, #0x1
- pop {r3-r5, pc}
-_02023DE2:
- mov r0, #0x2
- pop {r3-r5, pc}
- nop
-_02023DE8: .word 0x000001A6
-
- thumb_func_start FUN_02023DEC
-FUN_02023DEC: ; 0x02023DEC
- push {r3-r7, lr}
- add r7, r0, #0x0
- ldr r0, _02023E6C ; =0x000001A6
- add r6, r1, #0x0
- add r5, r2, #0x0
- cmp r6, r0
- beq _02023E04
- add r0, r0, #0x1
- cmp r6, r0
- beq _02023E04
- bl ErrorHandling
-_02023E04:
- lsl r1, r6, #0x10
- add r0, r7, #0x0
- lsr r1, r1, #0x10
- bl FUN_020245F0
- cmp r0, #0x0
- bne _02023E16
- mov r0, #0x0
- pop {r3-r7, pc}
-_02023E16:
- ldr r0, _02023E6C ; =0x000001A6
- cmp r6, r0
- bne _02023E20
- sub r0, #0x9e
- b _02023E22
-_02023E20:
- sub r0, #0x9d
-_02023E22:
- add r4, r7, r0
- add r0, r7, #0x0
- add r1, r6, #0x0
- bl FUN_02023D8C
- mov r6, #0x0
- cmp r0, #0x0
- bls _02023E66
- mov r1, #0x1
-_02023E34:
- add r2, r6, #0x1
- lsl r2, r2, #0x10
- lsr r2, r2, #0x10
- sub r2, r2, #0x1
- lsl r2, r2, #0x10
- lsr r3, r2, #0x10
- add r7, r3, #0x0
- mov r2, #0x7
- asr r3, r3, #0x3
- and r7, r2
- add r2, r1, #0x0
- ldrb r3, [r4, r3]
- lsl r2, r7
- tst r2, r3
- beq _02023E56
- add r2, r1, #0x0
- b _02023E58
-_02023E56:
- mov r2, #0x0
-_02023E58:
- cmp r2, r5
- bne _02023E60
- mov r0, #0x1
- pop {r3-r7, pc}
-_02023E60:
- add r6, r6, #0x1
- cmp r6, r0
- blo _02023E34
-_02023E66:
- mov r0, #0x0
- pop {r3-r7, pc}
- nop
-_02023E6C: .word 0x000001A6
-
- thumb_func_start FUN_02023E70
-FUN_02023E70: ; 0x02023E70
- push {r3-r7, lr}
- add r6, r0, #0x0
- ldr r0, _02023F28 ; =0x000001A6
- add r5, r1, #0x0
- add r7, r2, #0x0
- cmp r5, r0
- beq _02023E88
- add r0, r0, #0x1
- cmp r5, r0
- beq _02023E88
- bl ErrorHandling
-_02023E88:
- lsl r2, r7, #0x18
- add r0, r6, #0x0
- add r1, r5, #0x0
- lsr r2, r2, #0x18
- bl FUN_02023DEC
- cmp r0, #0x0
- bne _02023F26
- ldr r0, _02023F28 ; =0x000001A6
- cmp r5, r0
- bne _02023EA2
- sub r0, #0x9e
- b _02023EA4
-_02023EA2:
- sub r0, #0x9d
-_02023EA4:
- add r4, r6, r0
- add r0, r6, #0x0
- add r1, r5, #0x0
- bl FUN_02023D8C
- add r5, r0, #0x0
- cmp r5, #0x2
- bge _02023F26
- add r0, r5, #0x1
- lsl r0, r0, #0x10
- lsr r6, r0, #0x10
- lsl r0, r7, #0x18
- lsr r0, r0, #0x18
- cmp r0, #0x2
- blo _02023EC6
- bl ErrorHandling
-_02023EC6:
- sub r0, r6, #0x1
- lsl r0, r0, #0x10
- lsr r1, r0, #0x10
- add r2, r1, #0x0
- mov r0, #0x7
- and r2, r0
- asr r1, r1, #0x3
- mov r3, #0x1
- lsl r3, r2
- ldrb r0, [r4, r1]
- mvn r3, r3
- and r0, r3
- strb r0, [r4, r1]
- lsl r0, r7, #0x18
- lsr r6, r0, #0x18
- add r0, r6, #0x0
- ldrb r3, [r4, r1]
- lsl r0, r2
- orr r0, r3
- strb r0, [r4, r1]
- cmp r5, #0x0
- bne _02023F26
- add r0, r5, #0x2
- lsl r0, r0, #0x10
- lsr r5, r0, #0x10
- cmp r6, #0x2
- blo _02023F00
- bl ErrorHandling
-_02023F00:
- sub r0, r5, #0x1
- lsl r0, r0, #0x10
- lsr r2, r0, #0x10
- mov r0, #0x7
- add r1, r2, #0x0
- and r1, r0
- asr r0, r2, #0x3
- mov r2, #0x1
- lsl r2, r1
- ldrb r3, [r4, r0]
- mvn r2, r2
- and r2, r3
- strb r2, [r4, r0]
- add r2, r6, #0x0
- ldrb r3, [r4, r0]
- lsl r2, r1
- add r1, r3, #0x0
- orr r1, r2
- strb r1, [r4, r0]
-_02023F26:
- pop {r3-r7, pc}
- .balign 4
-_02023F28: .word 0x000001A6
-
- thumb_func_start FUN_02023F2C
-FUN_02023F2C: ; 0x02023F2C
- push {r3-r5, lr}
- add r5, r0, #0x0
- mov r0, #0x67
- add r4, r1, #0x0
- lsl r0, r0, #0x2
- cmp r4, r0
- beq _02023F44
- add r0, r0, #0x1
- cmp r4, r0
- beq _02023F44
- bl ErrorHandling
-_02023F44:
- lsl r1, r4, #0x10
- add r0, r5, #0x0
- lsr r1, r1, #0x10
- bl FUN_020245F0
- cmp r0, #0x0
- bne _02023F56
- mov r0, #0x0
- pop {r3-r5, pc}
-_02023F56:
- mov r0, #0x67
- lsl r0, r0, #0x2
- cmp r4, r0
- bne _02023F62
- sub r0, #0x92
- b _02023F64
-_02023F62:
- sub r0, #0x91
-_02023F64:
- add r1, r5, r0
- mov r0, #0x0
- mov r3, #0x3
-_02023F6A:
- lsl r2, r0, #0x10
- lsr r5, r2, #0x10
- asr r2, r5, #0x2
- ldrb r4, [r1, r2]
- lsl r2, r5, #0x1e
- lsr r2, r2, #0x1d
- asr r4, r2
- add r2, r4, #0x0
- and r2, r3
- cmp r2, #0x3
- beq _02023F86
- add r0, r0, #0x1
- cmp r0, #0x3
- blt _02023F6A
-_02023F86:
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02023F88
-FUN_02023F88: ; 0x02023F88
- push {r4-r6, lr}
- add r6, r0, #0x0
- mov r0, #0x67
- add r5, r1, #0x0
- lsl r0, r0, #0x2
- add r4, r2, #0x0
- cmp r5, r0
- beq _02023FA2
- add r0, r0, #0x1
- cmp r5, r0
- beq _02023FA2
- bl ErrorHandling
-_02023FA2:
- lsl r1, r5, #0x10
- add r0, r6, #0x0
- lsr r1, r1, #0x10
- bl FUN_020245F0
- cmp r0, #0x0
- bne _02023FB4
- mov r0, #0x0
- pop {r4-r6, pc}
-_02023FB4:
- mov r0, #0x67
- lsl r0, r0, #0x2
- cmp r5, r0
- bne _02023FC0
- sub r0, #0x92
- b _02023FC2
-_02023FC0:
- sub r0, #0x91
-_02023FC2:
- add r1, r6, r0
- mov r0, #0x0
- mov r3, #0x3
-_02023FC8:
- lsl r2, r0, #0x10
- lsr r6, r2, #0x10
- asr r2, r6, #0x2
- ldrb r5, [r1, r2]
- lsl r2, r6, #0x1e
- lsr r2, r2, #0x1d
- asr r5, r2
- add r2, r5, #0x0
- and r2, r3
- cmp r2, r4
- bne _02023FE2
- mov r0, #0x1
- pop {r4-r6, pc}
-_02023FE2:
- add r0, r0, #0x1
- cmp r0, #0x3
- blt _02023FC8
- mov r0, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02023FEC
-FUN_02023FEC: ; 0x02023FEC
- push {r3-r7, lr}
- add r6, r0, #0x0
- mov r0, #0x67
- add r5, r1, #0x0
- lsl r0, r0, #0x2
- add r7, r2, #0x0
- cmp r5, r0
- beq _02024006
- add r0, r0, #0x1
- cmp r5, r0
- beq _02024006
- bl ErrorHandling
-_02024006:
- lsl r2, r7, #0x18
- add r0, r6, #0x0
- add r1, r5, #0x0
- lsr r2, r2, #0x18
- bl FUN_02023F88
- cmp r0, #0x0
- bne _02024064
- mov r0, #0x67
- lsl r0, r0, #0x2
- cmp r5, r0
- bne _02024022
- sub r0, #0x92
- b _02024024
-_02024022:
- sub r0, #0x91
-_02024024:
- add r4, r6, r0
- add r0, r6, #0x0
- add r1, r5, #0x0
- bl FUN_02023F2C
- add r5, r0, #0x0
- cmp r5, #0x3
- bge _02024064
- lsl r0, r7, #0x18
- lsr r0, r0, #0x18
- cmp r0, #0x4
- blo _02024040
- bl ErrorHandling
-_02024040:
- lsl r0, r5, #0x10
- lsr r2, r0, #0x10
- lsl r0, r2, #0x1e
- lsr r1, r0, #0x1d
- asr r0, r2, #0x2
- mov r2, #0x3
- lsl r2, r1
- ldrb r3, [r4, r0]
- mvn r2, r2
- and r2, r3
- strb r2, [r4, r0]
- lsl r2, r7, #0x18
- lsr r2, r2, #0x18
- ldrb r3, [r4, r0]
- lsl r2, r1
- add r1, r3, #0x0
- orr r1, r2
- strb r1, [r4, r0]
-_02024064:
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02024068
-FUN_02024068: ; 0x02024068
- push {r4-r6, lr}
- add r6, r2, #0x0
- add r5, r0, #0x0
- add r4, r1, #0x0
- cmp r6, #0x4
- blo _02024078
- bl ErrorHandling
-_02024078:
- cmp r4, #0xf
- bls _02024080
- bl ErrorHandling
-_02024080:
- cmp r6, #0x2
- bhs _0202409E
- lsl r0, r6, #0x2
- add r0, #0x18
- mov r1, #0xf
- lsl r1, r0
- ldr r2, [r5, #0x40]
- mvn r1, r1
- and r2, r1
- add r1, r4, #0x0
- lsl r1, r0
- add r0, r2, #0x0
- orr r0, r1
- str r0, [r5, #0x40]
- pop {r4-r6, pc}
-_0202409E:
- sub r0, r6, #0x2
- lsl r0, r0, #0x18
- add r1, r5, #0x0
- lsr r0, r0, #0x16
- add r1, #0x80
- ldr r2, [r1, #0x0]
- add r0, #0x18
- mov r1, #0xf
- lsl r1, r0
- mvn r1, r1
- and r2, r1
- add r1, r5, #0x0
- add r1, #0x80
- str r2, [r1, #0x0]
- add r1, r5, #0x0
- add r1, #0x80
- ldr r2, [r1, #0x0]
- add r1, r4, #0x0
- lsl r1, r0
- add r0, r2, #0x0
- orr r0, r1
- add r5, #0x80
- str r0, [r5, #0x0]
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_020240D0
-FUN_020240D0: ; 0x020240D0
- push {r3-r6}
- mov r3, #0xf
- mov r1, #0x0
- add r4, r3, #0x0
-_020240D8:
- lsl r2, r1, #0x18
- lsr r6, r2, #0x18
- cmp r6, #0x2
- bhs _020240EE
- lsl r2, r6, #0x2
- ldr r5, [r0, #0x40]
- add r2, #0x18
- lsr r5, r2
- add r2, r5, #0x0
- and r2, r4
- b _02024102
-_020240EE:
- add r2, r0, #0x0
- add r2, #0x80
- ldr r5, [r2, #0x0]
- sub r2, r6, #0x2
- lsl r2, r2, #0x18
- lsr r2, r2, #0x16
- add r2, #0x18
- lsr r5, r2
- add r2, r5, #0x0
- and r2, r3
-_02024102:
- cmp r2, #0xf
- beq _0202410C
- add r1, r1, #0x1
- cmp r1, #0x4
- blt _020240D8
-_0202410C:
- add r0, r1, #0x0
- pop {r3-r6}
- bx lr
- .balign 4
-
- thumb_func_start FUN_02024114
-FUN_02024114: ; 0x02024114
- push {r4-r7}
- mov r2, #0xf
- mov r6, #0x0
- add r3, r2, #0x0
-_0202411C:
- lsl r4, r6, #0x18
- lsr r5, r4, #0x18
- cmp r5, #0x2
- bhs _02024134
- ldr r7, [r0, #0x40]
- lsl r4, r5, #0x2
- add r4, #0x18
- add r5, r7, #0x0
- lsr r5, r4
- add r4, r5, #0x0
- and r4, r3
- b _02024146
-_02024134:
- add r4, r0, #0x0
- sub r5, r5, #0x2
- add r4, #0x80
- lsl r5, r5, #0x18
- lsr r5, r5, #0x16
- ldr r4, [r4, #0x0]
- add r5, #0x18
- lsr r4, r5
- and r4, r2
-_02024146:
- cmp r1, r4
- bne _02024150
- mov r0, #0x1
- pop {r4-r7}
- bx lr
-_02024150:
- add r6, r6, #0x1
- cmp r6, #0x4
- blt _0202411C
- mov r0, #0x0
- pop {r4-r7}
- bx lr
-
- thumb_func_start FUN_0202415C
-FUN_0202415C: ; 0x0202415C
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r6, r1, #0x0
- add r0, r2, #0x0
- mov r1, #0x70
- mov r2, #0x0
- bl FUN_020671BC
- lsl r0, r0, #0x18
- lsr r4, r0, #0x18
- ldr r0, _02024198 ; =0x00000182
- cmp r6, r0
- bne _02024196
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02024114
- cmp r0, #0x0
- bne _02024196
- add r0, r5, #0x0
- bl FUN_020240D0
- add r2, r0, #0x0
- lsl r2, r2, #0x18
- add r0, r5, #0x0
- add r1, r4, #0x0
- lsr r2, r2, #0x18
- bl FUN_02024068
-_02024196:
- pop {r4-r6, pc}
- .balign 4
-_02024198: .word 0x00000182
-
- thumb_func_start FUN_0202419C
-FUN_0202419C: ; 0x0202419C
- push {r4-r6, lr}
- add r5, r0, #0x0
- mov r4, #0x0
- mov r6, #0xf
-_020241A4:
- lsl r2, r4, #0x18
- add r0, r5, #0x0
- add r1, r6, #0x0
- lsr r2, r2, #0x18
- bl FUN_02024068
- add r4, r4, #0x1
- cmp r4, #0x4
- blt _020241A4
- pop {r4-r6, pc}
-
- thumb_func_start FUN_020241B8
-FUN_020241B8: ; 0x020241B8
- push {r4-r6, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- cmp r4, #0xc9
- bne _02024210
- add r0, r2, #0x0
- bl FUN_020690CC
- lsl r1, r0, #0x18
- lsr r3, r1, #0x18
- mov r1, #0x43
- mov r4, #0x0
- add r6, r5, #0x0
- lsl r1, r1, #0x2
-_020241D4:
- ldrb r2, [r6, r1]
- cmp r3, r2
- bne _020241DE
- mov r1, #0x1
- b _020241E8
-_020241DE:
- add r4, r4, #0x1
- add r6, r6, #0x1
- cmp r4, #0x1c
- blt _020241D4
- mov r1, #0x0
-_020241E8:
- cmp r1, #0x0
- bne _02024290
- mov r1, #0x43
- mov r3, #0x0
- add r4, r5, #0x0
- lsl r1, r1, #0x2
-_020241F4:
- ldrb r2, [r4, r1]
- cmp r2, #0xff
- beq _02024202
- add r3, r3, #0x1
- add r4, r4, #0x1
- cmp r3, #0x1c
- blt _020241F4
-_02024202:
- cmp r3, #0x1c
- bge _02024290
- mov r1, #0x43
- add r2, r5, r3
- lsl r1, r1, #0x2
- strb r0, [r2, r1]
- pop {r4-r6, pc}
-_02024210:
- mov r6, #0x67
- lsl r6, r6, #0x2
- cmp r4, r6
- bne _0202422E
- add r0, r2, #0x0
- mov r1, #0x70
- mov r2, #0x0
- bl FUN_020671BC
- add r2, r0, #0x0
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02023FEC
- pop {r4-r6, pc}
-_0202422E:
- add r3, r6, #0x1
- cmp r4, r3
- bne _0202424A
- add r0, r2, #0x0
- mov r1, #0x70
- mov r2, #0x0
- bl FUN_020671BC
- add r2, r0, #0x0
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02023FEC
- pop {r4-r6, pc}
-_0202424A:
- add r3, r6, #0x0
- add r3, #0xa
- cmp r4, r3
- bne _02024268
- add r0, r2, #0x0
- mov r1, #0x70
- mov r2, #0x0
- bl FUN_020671BC
- add r2, r0, #0x0
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02023E70
- pop {r4-r6, pc}
-_02024268:
- add r3, r6, #0x0
- add r3, #0xb
- cmp r4, r3
- bne _02024286
- add r0, r2, #0x0
- mov r1, #0x70
- mov r2, #0x0
- bl FUN_020671BC
- add r2, r0, #0x0
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02023E70
- pop {r4-r6, pc}
-_02024286:
- sub r6, #0x1a
- cmp r4, r6
- bne _02024290
- bl FUN_0202415C
-_02024290:
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02024294
-FUN_02024294: ; 0x02024294
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r6, r2, #0x0
- add r0, r1, #0x0
- bl FUN_02087A50
- add r4, r0, #0x0
- add r0, r6, #0x0
- bl FUN_02087A1C
- cmp r4, #0xe
- beq _020242C0
- cmp r0, #0x6
- beq _020242C0
- ldr r1, _020242C4 ; =0x00000129
- add r3, r5, r1
- ldrb r2, [r3, r4]
- mov r1, #0x1
- lsl r1, r0
- add r0, r2, #0x0
- orr r0, r1
- strb r0, [r3, r4]
-_020242C0:
- pop {r4-r6, pc}
- nop
-_020242C4: .word 0x00000129
-
- thumb_func_start FUN_020242C8
-FUN_020242C8: ; 0x020242C8
- push {r4-r6, lr}
- add r6, r1, #0x0
- add r5, r0, #0x0
- add r0, r6, #0x0
- mov r1, #0x12
- add r4, r2, #0x0
- bl FUN_02068678
- cmp r0, #0xff
- bne _020242EA
- cmp r4, #0x0
- bne _020242E4
- mov r0, #0x2
- pop {r4-r6, pc}
-_020242E4:
- mov r0, #0x0
- mvn r0, r0
- pop {r4-r6, pc}
-_020242EA:
- sub r0, r6, #0x1
- lsl r0, r0, #0x10
- lsr r2, r0, #0x10
- mov r1, #0x1
- mov r0, #0x7
- add r3, r2, #0x0
- and r3, r0
- add r0, r1, #0x0
- lsl r0, r3
- asr r3, r2, #0x3
- add r3, r5, r3
- add r3, #0x84
- ldrb r3, [r3, #0x0]
- tst r0, r3
- bne _0202430A
- mov r1, #0x0
-_0202430A:
- lsl r0, r1, #0x18
- lsr r1, r0, #0x18
- cmp r4, #0x1
- bne _0202433A
- add r4, r2, #0x0
- asr r2, r2, #0x3
- add r2, r5, r2
- mov r0, #0x7
- add r2, #0xc4
- mov r3, #0x1
- and r4, r0
- add r0, r3, #0x0
- ldrb r2, [r2, #0x0]
- lsl r0, r4
- tst r0, r2
- bne _0202432C
- mov r3, #0x0
-_0202432C:
- lsl r0, r3, #0x18
- lsr r0, r0, #0x18
- cmp r0, r1
- bne _0202433C
- mov r0, #0x0
- mvn r0, r0
- pop {r4-r6, pc}
-_0202433A:
- add r0, r1, #0x0
-_0202433C:
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02024340
-FUN_02024340: ; 0x02024340
- push {r4-r5}
- mov r3, #0x0
- ldr r5, _02024360 ; =0x020EE942
- mov r4, #0x1
- add r1, r3, #0x0
-_0202434A:
- ldrh r2, [r5, #0x0]
- cmp r0, r2
- bne _02024352
- add r4, r1, #0x0
-_02024352:
- add r3, r3, #0x1
- add r5, r5, #0x2
- cmp r3, #0xb
- blt _0202434A
- add r0, r4, #0x0
- pop {r4-r5}
- bx lr
- .balign 4
-_02024360: .word 0x020EE942
-
- thumb_func_start FUN_02024364
-FUN_02024364: ; 0x02024364
- ldr r1, _02024374 ; =0x000001EA
- mov r2, #0x1
- cmp r0, r1
- bne _0202436E
- mov r2, #0x0
-_0202436E:
- add r0, r2, #0x0
- bx lr
- nop
-_02024374: .word 0x000001EA
-
- thumb_func_start FUN_02024378
-FUN_02024378: ; 0x02024378
- push {r4, lr}
- mov r2, #0x4f
- mov r1, #0x0
- lsl r2, r2, #0x2
- add r4, r0, #0x0
- blx Call_FillMemWithValue
- ldr r0, _020243C0 ; =0xBEEFCAFE
- mov r1, #0x0
- str r0, [r4, #0x0]
- ldr r0, _020243C4 ; =0x00000139
- mov r2, #0x1c
- strb r1, [r4, r0]
- sub r0, #0x2d
- add r0, r4, r0
- mov r1, #0xff
- blx Call_FillMemWithValue
- mov r1, #0xff
- add r0, r1, #0x0
- add r0, #0x9
- strb r1, [r4, r0]
- add r0, r1, #0x0
- add r0, #0xa
- strb r1, [r4, r0]
- add r0, r1, #0x0
- add r0, #0xb
- strb r1, [r4, r0]
- add r0, r1, #0x0
- add r0, #0xc
- strb r1, [r4, r0]
- add r0, r4, #0x0
- bl FUN_0202419C
- pop {r4, pc}
- nop
-_020243C0: .word 0xBEEFCAFE
-_020243C4: .word 0x00000139
-
- thumb_func_start FUN_020243C8
-FUN_020243C8: ; 0x020243C8
- push {r3-r7, lr}
- add r6, r0, #0x0
- ldr r1, [r6, #0x0]
- ldr r0, _020243FC ; =0xBEEFCAFE
- cmp r1, r0
- beq _020243D8
- bl ErrorHandling
-_020243D8:
- ldr r7, _02024400 ; =0x000001ED
- mov r5, #0x0
- mov r4, #0x1
-_020243DE:
- lsl r1, r4, #0x10
- add r0, r6, #0x0
- lsr r1, r1, #0x10
- bl FUN_02024594
- cmp r0, #0x1
- bne _020243EE
- add r5, r5, #0x1
-_020243EE:
- add r4, r4, #0x1
- cmp r4, r7
- ble _020243DE
- lsl r0, r5, #0x10
- lsr r0, r0, #0x10
- pop {r3-r7, pc}
- nop
-_020243FC: .word 0xBEEFCAFE
-_02024400: .word 0x000001ED
-
- thumb_func_start FUN_02024404
-FUN_02024404: ; 0x02024404
- push {r3-r7, lr}
- add r6, r0, #0x0
- ldr r1, [r6, #0x0]
- ldr r0, _02024438 ; =0xBEEFCAFE
- cmp r1, r0
- beq _02024414
- bl ErrorHandling
-_02024414:
- ldr r7, _0202443C ; =0x000001ED
- mov r5, #0x0
- mov r4, #0x1
-_0202441A:
- lsl r1, r4, #0x10
- add r0, r6, #0x0
- lsr r1, r1, #0x10
- bl FUN_020245F0
- cmp r0, #0x1
- bne _0202442A
- add r5, r5, #0x1
-_0202442A:
- add r4, r4, #0x1
- cmp r4, r7
- ble _0202441A
- lsl r0, r5, #0x10
- lsr r0, r0, #0x10
- pop {r3-r7, pc}
- nop
-_02024438: .word 0xBEEFCAFE
-_0202443C: .word 0x000001ED
-
- thumb_func_start FUN_02024440
-FUN_02024440: ; 0x02024440
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_02024CA4
- cmp r0, #0x0
- beq _02024454
- add r0, r4, #0x0
- bl FUN_02024404
- pop {r4, pc}
-_02024454:
- add r0, r4, #0x0
- bl FUN_020244A4
- pop {r4, pc}
-
- thumb_func_start FUN_0202445C
-FUN_0202445C: ; 0x0202445C
- push {r3-r7, lr}
- add r6, r0, #0x0
- ldr r1, [r6, #0x0]
- ldr r0, _0202449C ; =0xBEEFCAFE
- cmp r1, r0
- beq _0202446C
- bl ErrorHandling
-_0202446C:
- ldr r7, _020244A0 ; =0x000001ED
- mov r5, #0x0
- mov r4, #0x1
-_02024472:
- lsl r1, r4, #0x10
- add r0, r6, #0x0
- lsr r1, r1, #0x10
- bl FUN_02024594
- cmp r0, #0x1
- bne _0202448E
- lsl r0, r4, #0x10
- lsr r0, r0, #0x10
- bl FUN_02069B40
- cmp r0, #0x0
- beq _0202448E
- add r5, r5, #0x1
-_0202448E:
- add r4, r4, #0x1
- cmp r4, r7
- ble _02024472
- lsl r0, r5, #0x10
- lsr r0, r0, #0x10
- pop {r3-r7, pc}
- nop
-_0202449C: .word 0xBEEFCAFE
-_020244A0: .word 0x000001ED
-
- thumb_func_start FUN_020244A4
-FUN_020244A4: ; 0x020244A4
- push {r3-r7, lr}
- add r6, r0, #0x0
- ldr r1, [r6, #0x0]
- ldr r0, _020244E4 ; =0xBEEFCAFE
- cmp r1, r0
- beq _020244B4
- bl ErrorHandling
-_020244B4:
- ldr r7, _020244E8 ; =0x000001ED
- mov r5, #0x0
- mov r4, #0x1
-_020244BA:
- lsl r1, r4, #0x10
- add r0, r6, #0x0
- lsr r1, r1, #0x10
- bl FUN_020245F0
- cmp r0, #0x1
- bne _020244D6
- lsl r0, r4, #0x10
- lsr r0, r0, #0x10
- bl FUN_02069B40
- cmp r0, #0x0
- beq _020244D6
- add r5, r5, #0x1
-_020244D6:
- add r4, r4, #0x1
- cmp r4, r7
- ble _020244BA
- lsl r0, r5, #0x10
- lsr r0, r0, #0x10
- pop {r3-r7, pc}
- nop
-_020244E4: .word 0xBEEFCAFE
-_020244E8: .word 0x000001ED
-
- thumb_func_start FUN_020244EC
-FUN_020244EC: ; 0x020244EC
- push {r3, lr}
- bl FUN_02024518
- ldr r1, _02024500 ; =0x000001E2
- cmp r0, r1
- blo _020244FC
- mov r0, #0x1
- pop {r3, pc}
-_020244FC:
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-_02024500: .word 0x000001E2
-
- thumb_func_start FUN_02024504
-FUN_02024504: ; 0x02024504
- push {r3, lr}
- bl FUN_02024550
- cmp r0, #0x96
- blo _02024512
- mov r0, #0x1
- pop {r3, pc}
-_02024512:
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_02024518
-FUN_02024518: ; 0x02024518
- push {r3-r7, lr}
- ldr r7, _0202454C ; =0x000001ED
- add r6, r0, #0x0
- mov r5, #0x0
- mov r4, #0x1
-_02024522:
- lsl r1, r4, #0x10
- add r0, r6, #0x0
- lsr r1, r1, #0x10
- bl FUN_02024594
- cmp r0, #0x1
- bne _02024542
- lsl r0, r4, #0x10
- lsr r0, r0, #0x10
- bl FUN_02024340
- cmp r0, #0x1
- bne _02024542
- add r0, r5, #0x1
- lsl r0, r0, #0x10
- lsr r5, r0, #0x10
-_02024542:
- add r4, r4, #0x1
- cmp r4, r7
- ble _02024522
- add r0, r5, #0x0
- pop {r3-r7, pc}
- .balign 4
-_0202454C: .word 0x000001ED
-
- thumb_func_start FUN_02024550
-FUN_02024550: ; 0x02024550
- push {r3-r7, lr}
- ldr r7, _02024590 ; =0x000001ED
- add r6, r0, #0x0
- mov r5, #0x0
- mov r4, #0x1
-_0202455A:
- lsl r1, r4, #0x10
- add r0, r6, #0x0
- lsr r1, r1, #0x10
- bl FUN_020245F0
- cmp r0, #0x1
- bne _02024586
- lsl r0, r4, #0x10
- lsr r0, r0, #0x10
- bl FUN_02069B40
- cmp r0, #0x0
- beq _02024586
- lsl r0, r4, #0x10
- lsr r0, r0, #0x10
- bl FUN_02024364
- cmp r0, #0x1
- bne _02024586
- add r0, r5, #0x1
- lsl r0, r0, #0x10
- lsr r5, r0, #0x10
-_02024586:
- add r4, r4, #0x1
- cmp r4, r7
- ble _0202455A
- add r0, r5, #0x0
- pop {r3-r7, pc}
- .balign 4
-_02024590: .word 0x000001ED
-
- thumb_func_start FUN_02024594
-FUN_02024594: ; 0x02024594
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- ldr r1, [r5, #0x0]
- ldr r0, _020245E8 ; =0xBEEFCAFE
- cmp r1, r0
- beq _020245A6
- bl ErrorHandling
-_020245A6:
- cmp r4, #0x0
- beq _020245B0
- ldr r0, _020245EC ; =0x000001ED
- cmp r4, r0
- bls _020245B8
-_020245B0:
- bl ErrorHandling
- mov r0, #0x1
- b _020245BA
-_020245B8:
- mov r0, #0x0
-_020245BA:
- cmp r0, #0x0
- beq _020245C2
- mov r0, #0x0
- pop {r3-r5, pc}
-_020245C2:
- sub r0, r4, #0x1
- lsl r0, r0, #0x10
- lsr r2, r0, #0x10
- mov r0, #0x1
- mov r1, #0x7
- and r1, r2
- add r3, r0, #0x0
- lsl r3, r1
- asr r1, r2, #0x3
- add r2, r5, r1
- ldrb r1, [r2, #0x4]
- tst r1, r3
- beq _020245E4
- add r2, #0x44
- ldrb r1, [r2, #0x0]
- tst r1, r3
- bne _020245E6
-_020245E4:
- mov r0, #0x0
-_020245E6:
- pop {r3-r5, pc}
- .balign 4
-_020245E8: .word 0xBEEFCAFE
-_020245EC: .word 0x000001ED
-
- thumb_func_start FUN_020245F0
-FUN_020245F0: ; 0x020245F0
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- ldr r1, [r5, #0x0]
- ldr r0, _02024640 ; =0xBEEFCAFE
- cmp r1, r0
- beq _02024602
- bl ErrorHandling
-_02024602:
- cmp r4, #0x0
- beq _0202460C
- ldr r0, _02024644 ; =0x000001ED
- cmp r4, r0
- bls _02024614
-_0202460C:
- bl ErrorHandling
- mov r0, #0x1
- b _02024616
-_02024614:
- mov r0, #0x0
-_02024616:
- cmp r0, #0x0
- beq _0202461E
- mov r0, #0x0
- pop {r3-r5, pc}
-_0202461E:
- sub r0, r4, #0x1
- lsl r0, r0, #0x10
- lsr r3, r0, #0x10
- mov r0, #0x1
- mov r1, #0x7
- and r1, r3
- add r2, r0, #0x0
- lsl r2, r1
- asr r1, r3, #0x3
- add r1, r5, r1
- add r1, #0x44
- ldrb r1, [r1, #0x0]
- tst r1, r2
- bne _0202463C
- mov r0, #0x0
-_0202463C:
- pop {r3-r5, pc}
- nop
-_02024640: .word 0xBEEFCAFE
-_02024644: .word 0x000001ED
-
- thumb_func_start FUN_02024648
-FUN_02024648: ; 0x02024648
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- ldr r1, [r5, #0x0]
- ldr r0, _02024670 ; =0xBEEFCAFE
- cmp r1, r0
- beq _0202465A
- bl ErrorHandling
-_0202465A:
- cmp r4, #0x0
- bne _02024666
- mov r0, #0x41
- lsl r0, r0, #0x2
- ldr r6, [r5, r0]
- b _0202466A
-_02024666:
- bl ErrorHandling
-_0202466A:
- add r0, r6, #0x0
- pop {r4-r6, pc}
- nop
-_02024670: .word 0xBEEFCAFE
-
- thumb_func_start FUN_02024674
-FUN_02024674: ; 0x02024674
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- ldr r1, [r5, #0x0]
- ldr r0, _020246D4 ; =0xBEEFCAFE
- add r6, r2, #0x0
- cmp r1, r0
- beq _02024688
- bl ErrorHandling
-_02024688:
- cmp r4, #0x0
- beq _02024692
- ldr r0, _020246D8 ; =0x000001ED
- cmp r4, r0
- bls _0202469A
-_02024692:
- bl ErrorHandling
- mov r0, #0x1
- b _0202469C
-_0202469A:
- mov r0, #0x0
-_0202469C:
- cmp r0, #0x0
- beq _020246A6
- mov r0, #0x0
- mvn r0, r0
- pop {r4-r6, pc}
-_020246A6:
- sub r0, r4, #0x1
- lsl r0, r0, #0x10
- lsr r2, r0, #0x10
- add r3, r2, #0x0
- asr r2, r2, #0x3
- add r2, r5, r2
- mov r0, #0x7
- add r2, #0x44
- mov r1, #0x1
- and r3, r0
- ldrb r2, [r2, #0x0]
- lsl r1, r3
- tst r1, r2
- beq _020246CE
- add r0, r5, #0x0
- add r1, r4, #0x0
- add r2, r6, #0x0
- bl FUN_020242C8
- pop {r4-r6, pc}
-_020246CE:
- sub r0, #0x8
- pop {r4-r6, pc}
- nop
-_020246D4: .word 0xBEEFCAFE
-_020246D8: .word 0x000001ED
-
- thumb_func_start FUN_020246DC
-FUN_020246DC: ; 0x020246DC
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- ldr r1, [r5, #0x0]
- ldr r0, _02024718 ; =0xBEEFCAFE
- cmp r1, r0
- beq _020246EE
- bl ErrorHandling
-_020246EE:
- mov r0, #0x43
- mov r2, #0x0
- lsl r0, r0, #0x2
-_020246F4:
- add r1, r5, r2
- ldrb r1, [r1, r0]
- cmp r1, #0xff
- beq _02024702
- add r2, r2, #0x1
- cmp r2, #0x1c
- blt _020246F4
-_02024702:
- cmp r2, r4
- bgt _0202470C
- mov r0, #0x0
- mvn r0, r0
- pop {r3-r5, pc}
-_0202470C:
- mov r0, #0x43
- add r1, r5, r4
- lsl r0, r0, #0x2
- ldrb r0, [r1, r0]
- pop {r3-r5, pc}
- nop
-_02024718: .word 0xBEEFCAFE
-
- thumb_func_start FUN_0202471C
-FUN_0202471C: ; 0x0202471C
- push {r4, lr}
- add r4, r0, #0x0
- ldr r1, [r4, #0x0]
- ldr r0, _02024744 ; =0xBEEFCAFE
- cmp r1, r0
- beq _0202472C
- bl ErrorHandling
-_0202472C:
- mov r1, #0x43
- mov r0, #0x0
- lsl r1, r1, #0x2
-_02024732:
- add r2, r4, r0
- ldrb r2, [r2, r1]
- cmp r2, #0xff
- beq _02024740
- add r0, r0, #0x1
- cmp r0, #0x1c
- blt _02024732
-_02024740:
- pop {r4, pc}
- nop
-_02024744: .word 0xBEEFCAFE
-
- thumb_func_start FUN_02024748
-FUN_02024748: ; 0x02024748
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- ldr r1, [r5, #0x0]
- ldr r0, _0202479C ; =0xBEEFCAFE
- cmp r1, r0
- beq _0202475A
- bl ErrorHandling
-_0202475A:
- ldr r1, _020247A0 ; =0x000001A6
- add r0, r5, #0x0
- bl FUN_02023D8C
- cmp r0, r4
- bgt _0202476C
- mov r0, #0x0
- mvn r0, r0
- pop {r3-r5, pc}
-_0202476C:
- cmp r4, #0x2
- blt _02024774
- bl ErrorHandling
-_02024774:
- add r0, r4, #0x1
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- sub r0, r0, #0x1
- lsl r0, r0, #0x10
- lsr r2, r0, #0x10
- mov r0, #0x1
- mov r1, #0x7
- and r1, r2
- add r3, r0, #0x0
- lsl r3, r1
- asr r1, r2, #0x3
- add r2, r5, r1
- mov r1, #0x42
- lsl r1, r1, #0x2
- ldrb r1, [r2, r1]
- tst r1, r3
- bne _0202479A
- mov r0, #0x0
-_0202479A:
- pop {r3-r5, pc}
- .balign 4
-_0202479C: .word 0xBEEFCAFE
-_020247A0: .word 0x000001A6
-
- thumb_func_start FUN_020247A4
-FUN_020247A4: ; 0x020247A4
- push {r4, lr}
- add r4, r0, #0x0
- ldr r1, [r4, #0x0]
- ldr r0, _020247C0 ; =0xBEEFCAFE
- cmp r1, r0
- beq _020247B4
- bl ErrorHandling
-_020247B4:
- ldr r1, _020247C4 ; =0x000001A6
- add r0, r4, #0x0
- bl FUN_02023D8C
- pop {r4, pc}
- nop
-_020247C0: .word 0xBEEFCAFE
-_020247C4: .word 0x000001A6
-
- thumb_func_start FUN_020247C8
-FUN_020247C8: ; 0x020247C8
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- ldr r1, [r5, #0x0]
- ldr r0, _0202481C ; =0xBEEFCAFE
- cmp r1, r0
- beq _020247DA
- bl ErrorHandling
-_020247DA:
- ldr r1, _02024820 ; =0x000001A7
- add r0, r5, #0x0
- bl FUN_02023D8C
- cmp r0, r4
- bgt _020247EC
- mov r0, #0x0
- mvn r0, r0
- pop {r3-r5, pc}
-_020247EC:
- cmp r4, #0x2
- blt _020247F4
- bl ErrorHandling
-_020247F4:
- add r0, r4, #0x1
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- sub r0, r0, #0x1
- lsl r0, r0, #0x10
- lsr r2, r0, #0x10
- mov r0, #0x1
- mov r1, #0x7
- and r1, r2
- add r3, r0, #0x0
- lsl r3, r1
- asr r1, r2, #0x3
- add r2, r5, r1
- ldr r1, _02024824 ; =0x00000109
- ldrb r1, [r2, r1]
- tst r1, r3
- bne _02024818
- mov r0, #0x0
-_02024818:
- pop {r3-r5, pc}
- nop
-_0202481C: .word 0xBEEFCAFE
-_02024820: .word 0x000001A7
-_02024824: .word 0x00000109
-
- thumb_func_start FUN_02024828
-FUN_02024828: ; 0x02024828
- push {r4, lr}
- add r4, r0, #0x0
- ldr r1, [r4, #0x0]
- ldr r0, _02024844 ; =0xBEEFCAFE
- cmp r1, r0
- beq _02024838
- bl ErrorHandling
-_02024838:
- ldr r1, _02024848 ; =0x000001A7
- add r0, r4, #0x0
- bl FUN_02023D8C
- pop {r4, pc}
- nop
-_02024844: .word 0xBEEFCAFE
-_02024848: .word 0x000001A7
-
- thumb_func_start FUN_0202484C
-FUN_0202484C: ; 0x0202484C
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- ldr r1, [r5, #0x0]
- ldr r0, _02024894 ; =0xBEEFCAFE
- cmp r1, r0
- beq _0202485E
- bl ErrorHandling
-_0202485E:
- mov r1, #0x67
- add r0, r5, #0x0
- lsl r1, r1, #0x2
- bl FUN_02023F2C
- cmp r0, r4
- bgt _02024872
- mov r0, #0x0
- mvn r0, r0
- pop {r3-r5, pc}
-_02024872:
- cmp r4, #0x3
- blt _0202487A
- bl ErrorHandling
-_0202487A:
- lsl r0, r4, #0x10
- lsr r2, r0, #0x10
- asr r0, r2, #0x2
- add r1, r5, r0
- ldr r0, _02024898 ; =0x0000010A
- ldrb r1, [r1, r0]
- lsl r0, r2, #0x1e
- lsr r0, r0, #0x1d
- asr r1, r0
- mov r0, #0x3
- and r0, r1
- pop {r3-r5, pc}
- nop
-_02024894: .word 0xBEEFCAFE
-_02024898: .word 0x0000010A
-
- thumb_func_start FUN_0202489C
-FUN_0202489C: ; 0x0202489C
- push {r4, lr}
- add r4, r0, #0x0
- ldr r1, [r4, #0x0]
- ldr r0, _020248B8 ; =0xBEEFCAFE
- cmp r1, r0
- beq _020248AC
- bl ErrorHandling
-_020248AC:
- mov r1, #0x67
- add r0, r4, #0x0
- lsl r1, r1, #0x2
- bl FUN_02023F2C
- pop {r4, pc}
- .balign 4
-_020248B8: .word 0xBEEFCAFE
-
- thumb_func_start FUN_020248BC
-FUN_020248BC: ; 0x020248BC
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- ldr r1, [r5, #0x0]
- ldr r0, _02024900 ; =0xBEEFCAFE
- cmp r1, r0
- beq _020248CE
- bl ErrorHandling
-_020248CE:
- ldr r1, _02024904 ; =0x0000019D
- add r0, r5, #0x0
- bl FUN_02023F2C
- cmp r0, r4
- bgt _020248E0
- mov r0, #0x0
- mvn r0, r0
- pop {r3-r5, pc}
-_020248E0:
- cmp r4, #0x3
- blt _020248E8
- bl ErrorHandling
-_020248E8:
- lsl r0, r4, #0x10
- lsr r2, r0, #0x10
- asr r0, r2, #0x2
- add r1, r5, r0
- ldr r0, _02024908 ; =0x0000010B
- ldrb r1, [r1, r0]
- lsl r0, r2, #0x1e
- lsr r0, r0, #0x1d
- asr r1, r0
- mov r0, #0x3
- and r0, r1
- pop {r3-r5, pc}
- .balign 4
-_02024900: .word 0xBEEFCAFE
-_02024904: .word 0x0000019D
-_02024908: .word 0x0000010B
-
- thumb_func_start FUN_0202490C
-FUN_0202490C: ; 0x0202490C
- push {r4, lr}
- add r4, r0, #0x0
- ldr r1, [r4, #0x0]
- ldr r0, _02024928 ; =0xBEEFCAFE
- cmp r1, r0
- beq _0202491C
- bl ErrorHandling
-_0202491C:
- ldr r1, _0202492C ; =0x0000019D
- add r0, r4, #0x0
- bl FUN_02023F2C
- pop {r4, pc}
- nop
-_02024928: .word 0xBEEFCAFE
-_0202492C: .word 0x0000019D
-
- thumb_func_start FUN_02024930
-FUN_02024930: ; 0x02024930
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- ldr r1, [r5, #0x0]
- ldr r0, _0202496C ; =0xBEEFCAFE
- cmp r1, r0
- beq _02024942
- bl ErrorHandling
-_02024942:
- lsl r0, r4, #0x18
- lsr r0, r0, #0x18
- cmp r0, #0x2
- bhs _02024958
- lsl r0, r0, #0x2
- ldr r1, [r5, #0x40]
- add r0, #0x18
- lsr r1, r0
- mov r0, #0xf
- and r0, r1
- pop {r3-r5, pc}
-_02024958:
- add r5, #0x80
- sub r0, r0, #0x2
- lsl r0, r0, #0x18
- ldr r1, [r5, #0x0]
- lsr r0, r0, #0x16
- add r0, #0x18
- lsr r1, r0
- mov r0, #0xf
- and r0, r1
- pop {r3-r5, pc}
- .balign 4
-_0202496C: .word 0xBEEFCAFE
-
- thumb_func_start FUN_02024970
-FUN_02024970: ; 0x02024970
- push {r4, lr}
- add r4, r0, #0x0
- ldr r1, [r4, #0x0]
- ldr r0, _02024988 ; =0xBEEFCAFE
- cmp r1, r0
- beq _02024980
- bl ErrorHandling
-_02024980:
- add r0, r4, #0x0
- bl FUN_020240D0
- pop {r4, pc}
- .balign 4
-_02024988: .word 0xBEEFCAFE
-
- thumb_func_start FUN_0202498C
-FUN_0202498C: ; 0x0202498C
- push {r3-r7, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- str r1, [sp, #0x0]
- add r0, r1, #0x0
- mov r1, #0x5
- mov r2, #0x0
- bl FUN_020671BC
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- str r0, [sp, #0x4]
- mov r1, #0x0
- ldr r0, [sp, #0x0]
- add r2, r1, #0x0
- bl FUN_020671BC
- add r7, r0, #0x0
- ldr r0, [sp, #0x0]
- bl FUN_020689E0
- add r6, r0, #0x0
- ldr r1, [r5, #0x0]
- ldr r0, _02024AE4 ; =0xBEEFCAFE
- cmp r1, r0
- beq _020249C4
- bl ErrorHandling
-_020249C4:
- ldr r0, [sp, #0x4]
- cmp r0, #0x0
- beq _020249D0
- ldr r1, _02024AE8 ; =0x000001ED
- cmp r0, r1
- bls _020249D8
-_020249D0:
- bl ErrorHandling
- mov r0, #0x1
- b _020249DA
-_020249D8:
- mov r0, #0x0
-_020249DA:
- cmp r0, #0x0
- bne _02024ADE
- ldr r0, [sp, #0x4]
- mov r2, #0x1
- sub r0, r0, #0x1
- lsl r0, r0, #0x10
- lsr r4, r0, #0x10
- mov r0, #0x7
- and r0, r4
- add r1, r2, #0x0
- lsl r1, r0
- asr r0, r4, #0x3
- add r3, r5, r0
- add r3, #0x44
- ldrb r3, [r3, #0x0]
- tst r3, r1
- bne _02024A70
- ldr r1, _02024AEC ; =0x00000147
- ldr r0, [sp, #0x4]
- cmp r0, r1
- bne _02024A08
- sub r1, #0x43
- str r7, [r5, r1]
-_02024A08:
- lsl r0, r6, #0x18
- lsr r6, r0, #0x18
- cmp r6, #0x2
- bls _02024A14
- bl ErrorHandling
-_02024A14:
- cmp r6, #0x2
- bne _02024A1A
- mov r6, #0x0
-_02024A1A:
- cmp r6, #0x2
- blo _02024A22
- bl ErrorHandling
-_02024A22:
- add r2, r5, #0x0
- mov r0, #0x7
- add r3, r4, #0x0
- and r3, r0
- mov r0, #0x1
- lsl r0, r3
- add r2, #0xc4
- asr r1, r4, #0x3
- ldrb r7, [r2, r1]
- mvn r0, r0
- and r0, r7
- strb r0, [r2, r1]
- add r0, r6, #0x0
- ldrb r7, [r2, r1]
- lsl r0, r3
- orr r0, r7
- strb r0, [r2, r1]
- cmp r6, #0x2
- blo _02024A4C
- bl ErrorHandling
-_02024A4C:
- add r1, r5, #0x0
- mov r0, #0x7
- add r2, r4, #0x0
- and r2, r0
- mov r3, #0x1
- lsl r3, r2
- add r1, #0x84
- asr r0, r4, #0x3
- ldrb r7, [r1, r0]
- mvn r3, r3
- lsl r6, r2
- and r3, r7
- strb r3, [r1, r0]
- ldrb r3, [r1, r0]
- add r2, r3, #0x0
- orr r2, r6
- strb r2, [r1, r0]
- b _02024AC0
-_02024A70:
- add r0, r5, r0
- add r0, #0x84
- ldrb r0, [r0, #0x0]
- tst r0, r1
- bne _02024A7C
- mov r2, #0x0
-_02024A7C:
- lsl r0, r2, #0x18
- lsr r0, r0, #0x18
- cmp r0, r6
- beq _02024AC0
- lsl r0, r6, #0x18
- lsr r6, r0, #0x18
- cmp r6, #0x2
- bls _02024A90
- bl ErrorHandling
-_02024A90:
- cmp r6, #0x2
- bne _02024A96
- mov r6, #0x0
-_02024A96:
- cmp r6, #0x2
- blo _02024A9E
- bl ErrorHandling
-_02024A9E:
- add r1, r5, #0x0
- mov r0, #0x7
- add r2, r4, #0x0
- and r2, r0
- mov r3, #0x1
- lsl r3, r2
- add r1, #0xc4
- asr r0, r4, #0x3
- ldrb r7, [r1, r0]
- mvn r3, r3
- lsl r6, r2
- and r3, r7
- strb r3, [r1, r0]
- ldrb r3, [r1, r0]
- add r2, r3, #0x0
- orr r2, r6
- strb r2, [r1, r0]
-_02024AC0:
- ldr r1, [sp, #0x4]
- ldr r2, [sp, #0x0]
- add r0, r5, #0x0
- bl FUN_020241B8
- mov r1, #0x7
- add r5, #0x44
- asr r0, r4, #0x3
- ldrb r3, [r5, r0]
- mov r2, #0x1
- and r1, r4
- lsl r2, r1
- add r1, r3, #0x0
- orr r1, r2
- strb r1, [r5, r0]
-_02024ADE:
- add sp, #0x8
- pop {r3-r7, pc}
- nop
-_02024AE4: .word 0xBEEFCAFE
-_02024AE8: .word 0x000001ED
-_02024AEC: .word 0x00000147
-
- thumb_func_start FUN_02024AF0
-FUN_02024AF0: ; 0x02024AF0
- push {r4-r7, lr}
- sub sp, #0x14
- add r4, r0, #0x0
- str r1, [sp, #0x0]
- add r0, r1, #0x0
- mov r1, #0x5
- mov r2, #0x0
- bl FUN_020671BC
- lsl r0, r0, #0x10
- lsr r6, r0, #0x10
- ldr r0, [sp, #0x0]
- mov r1, #0xc
- mov r2, #0x0
- bl FUN_020671BC
- str r0, [sp, #0x8]
- mov r1, #0x0
- ldr r0, [sp, #0x0]
- add r2, r1, #0x0
- bl FUN_020671BC
- str r0, [sp, #0x4]
- ldr r0, [sp, #0x0]
- bl FUN_020689E0
- add r7, r0, #0x0
- ldr r1, [r4, #0x0]
- ldr r0, _02024C78 ; =0xBEEFCAFE
- cmp r1, r0
- beq _02024B32
- bl ErrorHandling
-_02024B32:
- cmp r6, #0x0
- beq _02024B3C
- ldr r0, _02024C7C ; =0x000001ED
- cmp r6, r0
- bls _02024B44
-_02024B3C:
- bl ErrorHandling
- mov r0, #0x1
- b _02024B46
-_02024B44:
- mov r0, #0x0
-_02024B46:
- cmp r0, #0x0
- beq _02024B4C
- b _02024C72
-_02024B4C:
- sub r0, r6, #0x1
- lsl r0, r0, #0x10
- lsr r5, r0, #0x10
- mov r0, #0x1
- mov r1, #0x7
- and r1, r5
- add r2, r0, #0x0
- asr r3, r5, #0x3
- lsl r2, r1
- add r1, r4, r3
- add r1, #0x44
- ldrb r1, [r1, #0x0]
- tst r1, r2
- bne _02024BEA
- ldr r1, _02024C80 ; =0x00000147
- cmp r6, r1
- bne _02024B74
- ldr r0, [sp, #0x4]
- sub r1, #0x43
- str r0, [r4, r1]
-_02024B74:
- lsl r0, r7, #0x18
- lsr r7, r0, #0x18
- cmp r7, #0x2
- bls _02024B80
- bl ErrorHandling
-_02024B80:
- cmp r7, #0x2
- bne _02024B86
- mov r7, #0x0
-_02024B86:
- cmp r7, #0x2
- blo _02024B8E
- bl ErrorHandling
-_02024B8E:
- mov r0, #0x7
- and r0, r5
- str r0, [sp, #0x10]
- add r0, r4, #0x0
- add r0, #0xc4
- asr r3, r5, #0x3
- ldrb r1, [r0, r3]
- mov r2, #0x1
- str r1, [sp, #0xc]
- ldr r1, [sp, #0x10]
- lsl r2, r1
- ldr r1, [sp, #0xc]
- mvn r2, r2
- and r1, r2
- strb r1, [r0, r3]
- ldrb r1, [r0, r3]
- add r2, r7, #0x0
- mov r12, r1
- ldr r1, [sp, #0x10]
- lsl r2, r1
- mov r1, r12
- orr r1, r2
- strb r1, [r0, r3]
- cmp r7, #0x2
- blo _02024BC4
- bl ErrorHandling
-_02024BC4:
- add r1, r4, #0x0
- mov r0, #0x7
- add r2, r5, #0x0
- and r2, r0
- mov r3, #0x1
- lsl r3, r2
- add r1, #0x84
- asr r0, r5, #0x3
- ldrb r5, [r1, r0]
- mvn r3, r3
- and r3, r5
- strb r3, [r1, r0]
- add r5, r7, #0x0
- ldrb r3, [r1, r0]
- lsl r5, r2
- add r2, r3, #0x0
- orr r2, r5
- strb r2, [r1, r0]
- b _02024C3C
-_02024BEA:
- add r1, r4, r3
- add r1, #0x84
- ldrb r1, [r1, #0x0]
- tst r1, r2
- bne _02024BF6
- mov r0, #0x0
-_02024BF6:
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- cmp r0, r7
- beq _02024C3C
- lsl r0, r7, #0x18
- lsr r7, r0, #0x18
- cmp r7, #0x2
- bls _02024C0A
- bl ErrorHandling
-_02024C0A:
- cmp r7, #0x2
- bne _02024C10
- mov r7, #0x0
-_02024C10:
- cmp r7, #0x2
- blo _02024C18
- bl ErrorHandling
-_02024C18:
- add r1, r4, #0x0
- mov r0, #0x7
- add r2, r5, #0x0
- and r2, r0
- mov r3, #0x1
- lsl r3, r2
- add r1, #0xc4
- asr r0, r5, #0x3
- ldrb r5, [r1, r0]
- mvn r3, r3
- and r3, r5
- strb r3, [r1, r0]
- add r5, r7, #0x0
- ldrb r3, [r1, r0]
- lsl r5, r2
- add r2, r3, #0x0
- orr r2, r5
- strb r2, [r1, r0]
-_02024C3C:
- ldr r2, [sp, #0x0]
- add r0, r4, #0x0
- add r1, r6, #0x0
- bl FUN_020241B8
- ldr r2, [sp, #0x8]
- add r0, r4, #0x0
- add r1, r6, #0x0
- bl FUN_02024294
- sub r0, r6, #0x1
- lsl r0, r0, #0x10
- lsr r6, r0, #0x10
- add r1, r4, #0x4
- asr r0, r6, #0x3
- mov r2, #0x7
- ldrb r5, [r1, r0]
- mov r3, #0x1
- and r2, r6
- lsl r3, r2
- add r2, r5, #0x0
- orr r2, r3
- add r4, #0x44
- strb r2, [r1, r0]
- ldrb r1, [r4, r0]
- orr r1, r3
- strb r1, [r4, r0]
-_02024C72:
- add sp, #0x14
- pop {r4-r7, pc}
- nop
-_02024C78: .word 0xBEEFCAFE
-_02024C7C: .word 0x000001ED
-_02024C80: .word 0x00000147
-
- thumb_func_start FUN_02024C84
-FUN_02024C84: ; 0x02024C84
- push {r4, lr}
- add r4, r0, #0x0
- ldr r1, [r4, #0x0]
- ldr r0, _02024C9C ; =0xBEEFCAFE
- cmp r1, r0
- beq _02024C94
- bl ErrorHandling
-_02024C94:
- ldr r0, _02024CA0 ; =0x00000139
- mov r1, #0x1
- strb r1, [r4, r0]
- pop {r4, pc}
- .balign 4
-_02024C9C: .word 0xBEEFCAFE
-_02024CA0: .word 0x00000139
-
- thumb_func_start FUN_02024CA4
-FUN_02024CA4: ; 0x02024CA4
- push {r4, lr}
- add r4, r0, #0x0
- ldr r1, [r4, #0x0]
- ldr r0, _02024CBC ; =0xBEEFCAFE
- cmp r1, r0
- beq _02024CB4
- bl ErrorHandling
-_02024CB4:
- ldr r0, _02024CC0 ; =0x00000139
- ldrb r0, [r4, r0]
- pop {r4, pc}
- nop
-_02024CBC: .word 0xBEEFCAFE
-_02024CC0: .word 0x00000139
-
- thumb_func_start FUN_02024CC4
-FUN_02024CC4: ; 0x02024CC4
- push {r4, lr}
- add r4, r0, #0x0
- ldr r1, [r4, #0x0]
- ldr r0, _02024CDC ; =0xBEEFCAFE
- cmp r1, r0
- beq _02024CD4
- bl ErrorHandling
-_02024CD4:
- mov r0, #0x4a
- lsl r0, r0, #0x2
- ldrb r0, [r4, r0]
- pop {r4, pc}
- .balign 4
-_02024CDC: .word 0xBEEFCAFE
-
- thumb_func_start FUN_02024CE0
-FUN_02024CE0: ; 0x02024CE0
- push {r4, lr}
- add r4, r0, #0x0
- ldr r1, [r4, #0x0]
- ldr r0, _02024CFC ; =0xBEEFCAFE
- cmp r1, r0
- beq _02024CF0
- bl ErrorHandling
-_02024CF0:
- mov r0, #0x4a
- mov r1, #0x1
- lsl r0, r0, #0x2
- strb r1, [r4, r0]
- pop {r4, pc}
- nop
-_02024CFC: .word 0xBEEFCAFE
-
- thumb_func_start FUN_02024D00
-FUN_02024D00: ; 0x02024D00
- push {r4-r6, lr}
- add r6, r2, #0x0
- add r4, r0, #0x0
- add r5, r1, #0x0
- cmp r6, #0x8
- blo _02024D10
- bl ErrorHandling
-_02024D10:
- ldr r1, [r4, #0x0]
- ldr r0, _02024D44 ; =0xBEEFCAFE
- cmp r1, r0
- beq _02024D1C
- bl ErrorHandling
-_02024D1C:
- add r0, r5, #0x0
- bl FUN_02087A50
- add r5, r0, #0x0
- cmp r5, #0xe
- bne _02024D2C
- mov r0, #0x0
- pop {r4-r6, pc}
-_02024D2C:
- add r0, r6, #0x0
- bl FUN_02087A1C
- mov r1, #0x1
- add r2, r1, #0x0
- lsl r2, r0
- ldr r0, _02024D48 ; =0x00000129
- add r1, r4, r5
- ldrb r0, [r1, r0]
- and r0, r2
- pop {r4-r6, pc}
- nop
-_02024D44: .word 0xBEEFCAFE
-_02024D48: .word 0x00000129
-
- thumb_func_start FUN_02024D4C
-FUN_02024D4C: ; 0x02024D4C
- ldr r1, _02024D54 ; =0x00000137
- mov r2, #0x1
- strb r2, [r0, r1]
- bx lr
- .balign 4
-_02024D54: .word 0x00000137
-
- thumb_func_start FUN_02024D58
-FUN_02024D58: ; 0x02024D58
- ldr r1, _02024D60 ; =0x00000137
- ldrb r0, [r0, r1]
- bx lr
- nop
-_02024D60: .word 0x00000137
-
- thumb_func_start FUN_02024D64
-FUN_02024D64: ; 0x02024D64
- push {r4, lr}
- add r4, r0, #0x0
- ldr r1, [r4, #0x0]
- ldr r0, _02024D7C ; =0xBEEFCAFE
- cmp r1, r0
- beq _02024D74
- bl ErrorHandling
-_02024D74:
- mov r0, #0x4e
- lsl r0, r0, #0x2
- ldrb r0, [r4, r0]
- pop {r4, pc}
- .balign 4
-_02024D7C: .word 0xBEEFCAFE
-
- thumb_func_start FUN_02024D80
-FUN_02024D80: ; 0x02024D80
- push {r4, lr}
- add r4, r0, #0x0
- ldr r1, [r4, #0x0]
- ldr r0, _02024D9C ; =0xBEEFCAFE
- cmp r1, r0
- beq _02024D90
- bl ErrorHandling
-_02024D90:
- mov r0, #0x4e
- mov r1, #0x1
- lsl r0, r0, #0x2
- strb r1, [r4, r0]
- pop {r4, pc}
- nop
-_02024D9C: .word 0xBEEFCAFE
-
- thumb_func_start FUN_02024DA0
-FUN_02024DA0: ; 0x02024DA0
- ldr r3, _02024DA8 ; =FUN_02022610
- mov r1, #0x7
- bx r3
- nop
-_02024DA8: .word FUN_02022610
-
- thumb_func_start FUN_02024DAC
-FUN_02024DAC: ; 0x02024DAC
- push {r3-r5, lr}
- add r4, r2, #0x0
- ldr r2, _02024E60 ; =0x0000019D
- add r5, r0, #0x0
- cmp r1, r2
- bgt _02024DD6
- sub r3, r2, #0x1
- cmp r1, r3
- blt _02024DC6
- beq _02024E24
- cmp r1, r2
- beq _02024E36
- b _02024E5A
-_02024DC6:
- cmp r1, #0xc9
- bgt _02024DCE
- beq _02024DEE
- b _02024E5A
-_02024DCE:
- sub r2, #0x1b
- cmp r1, r2
- beq _02024E48
- b _02024E5A
-_02024DD6:
- add r3, r2, #0x0
- add r3, #0x9
- cmp r1, r3
- bgt _02024DE6
- add r2, #0x9
- cmp r1, r2
- beq _02024E00
- b _02024E5A
-_02024DE6:
- add r2, #0xa
- cmp r1, r2
- beq _02024E12
- b _02024E5A
-_02024DEE:
- bl FUN_0202471C
- cmp r4, r0
- bhs _02024E5A
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_020246DC
- pop {r3-r5, pc}
-_02024E00:
- bl FUN_020247A4
- cmp r4, r0
- bhs _02024E5A
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02024748
- pop {r3-r5, pc}
-_02024E12:
- bl FUN_02024828
- cmp r4, r0
- bhs _02024E5A
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_020247C8
- pop {r3-r5, pc}
-_02024E24:
- bl FUN_0202489C
- cmp r4, r0
- bhs _02024E5A
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_0202484C
- pop {r3-r5, pc}
-_02024E36:
- bl FUN_0202490C
- cmp r4, r0
- bhs _02024E5A
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_020248BC
- pop {r3-r5, pc}
-_02024E48:
- bl FUN_02024970
- cmp r4, r0
- bhs _02024E5A
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02024930
- pop {r3-r5, pc}
-_02024E5A:
- mov r0, #0x0
- pop {r3-r5, pc}
- nop
-_02024E60: .word 0x0000019D
-
- thumb_func_start FUN_02024E64
-FUN_02024E64: ; 0x02024E64
- ldr r0, _02024E68 ; =0x0000074C
- bx lr
- .balign 4
-_02024E68: .word 0x0000074C
-
- thumb_func_start FUN_02024E6C
-FUN_02024E6C: ; 0x02024E6C
- push {r4, lr}
- add r4, r0, #0x0
- ldr r2, _02024EA4 ; =0x0000074C
- mov r0, #0x0
- add r1, r4, #0x0
- blx MIi_CpuClearFast
- add r0, r4, #0x0
- bl FUN_020250A4
- mov r0, #0x7
- lsl r0, r0, #0x8
- add r0, r4, r0
- bl FUN_02025484
- ldr r1, _02024EA8 ; =0x00000724
- ldr r0, _02024EAC ; =0x0000FFFF
- add r1, r4, r1
- mov r2, #0x8
- blx MIi_CpuClear16
- ldr r1, _02024EB0 ; =0x00000734
- ldr r0, _02024EAC ; =0x0000FFFF
- add r1, r4, r1
- mov r2, #0xb
- blx MIi_CpuClear16
- pop {r4, pc}
- .balign 4
-_02024EA4: .word 0x0000074C
-_02024EA8: .word 0x00000724
-_02024EAC: .word 0x0000FFFF
-_02024EB0: .word 0x00000734
-
- thumb_func_start FUN_02024EB4
-FUN_02024EB4: ; 0x02024EB4
- ldr r3, _02024EBC ; =FUN_02022610
- mov r1, #0xa
- bx r3
- nop
-_02024EBC: .word FUN_02022610
-
- thumb_func_start FUN_02024EC0
-FUN_02024EC0: ; 0x02024EC0
- ldr r3, _02024EC8 ; =0x02022635
- mov r1, #0xa
- bx r3
- nop
-_02024EC8: .word 0x02022635
-
- thumb_func_start FUN_02024ECC
-FUN_02024ECC: ; 0x02024ECC
- ldr r3, _02024ED4 ; =FUN_02022610
- mov r1, #0xa
- bx r3
- nop
-_02024ED4: .word FUN_02022610
-
- thumb_func_start FUN_02024ED8
-FUN_02024ED8: ; 0x02024ED8
- push {r3, lr}
- mov r1, #0xa
- bl FUN_02022610
- mov r1, #0x7
- lsl r1, r1, #0x8
- add r0, r0, r1
- pop {r3, pc}
-
- thumb_func_start FUN_02024EE8
-FUN_02024EE8: ; 0x02024EE8
- ldr r1, _02024EF0 ; =0x00000724
- add r0, r0, r1
- bx lr
- nop
-_02024EF0: .word 0x00000724
-
- thumb_func_start FUN_02024EF4
-FUN_02024EF4: ; 0x02024EF4
- add r2, r0, #0x0
- add r0, r1, #0x0
- ldr r1, _02024F04 ; =0x00000724
- ldr r3, _02024F08 ; =FUN_02021EF0
- add r1, r2, r1
- mov r2, #0x8
- bx r3
- nop
-_02024F04: .word 0x00000724
-_02024F08: .word FUN_02021EF0
-
- thumb_func_start FUN_02024F0C
-FUN_02024F0C: ; 0x02024F0C
- ldr r1, _02024F14 ; =0x00000734
- add r0, r0, r1
- bx lr
- nop
-_02024F14: .word 0x00000734
-
- thumb_func_start FUN_02024F18
-FUN_02024F18: ; 0x02024F18
- add r2, r0, #0x0
- add r0, r1, #0x0
- ldr r1, _02024F28 ; =0x00000734
- ldr r3, _02024F2C ; =FUN_02021EF0
- add r1, r2, r1
- mov r2, #0xb
- bx r3
- nop
-_02024F28: .word 0x00000734
-_02024F2C: .word FUN_02021EF0
-
- thumb_func_start FUN_02024F30
-FUN_02024F30: ; 0x02024F30
- push {r4, lr}
- mov r1, #0x2
- bl FUN_02016998
- add r4, r0, #0x0
- bl FUN_02024F50
- add r0, r4, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02024F44
-FUN_02024F44: ; 0x02024F44
- ldr r3, _02024F4C ; =MI_CpuCopy8
- mov r2, #0x2
- bx r3
- nop
-_02024F4C: .word MI_CpuCopy8
-
- thumb_func_start FUN_02024F50
-FUN_02024F50: ; 0x02024F50
- push {r4, lr}
- add r4, r0, #0x0
- mov r1, #0x0
- mov r2, #0x2
- blx MI_CpuFill8
- ldrh r1, [r4, #0x0]
- mov r0, #0xf
- bic r1, r0
- mov r0, #0x1
- orr r0, r1
- strh r0, [r4, #0x0]
- ldrh r1, [r4, #0x0]
- mov r0, #0x30
- bic r1, r0
- strh r1, [r4, #0x0]
- ldrh r1, [r4, #0x0]
- mov r0, #0x40
- bic r1, r0
- strh r1, [r4, #0x0]
- ldrh r1, [r4, #0x0]
- mov r0, #0x80
- bic r1, r0
- strh r1, [r4, #0x0]
- ldrh r1, [r4, #0x0]
- ldr r0, _02024F94 ; =0xFFFFFCFF
- and r0, r1
- strh r0, [r4, #0x0]
- ldrh r1, [r4, #0x0]
- ldr r0, _02024F98 ; =0xFFFF83FF
- and r0, r1
- strh r0, [r4, #0x0]
- pop {r4, pc}
- nop
-_02024F94: .word 0xFFFFFCFF
-_02024F98: .word 0xFFFF83FF
-
- thumb_func_start FUN_02024F9C
-FUN_02024F9C: ; 0x02024F9C
- push {r3, lr}
- cmp r0, #0x0
- beq _02024FAC
- bl LoadPlayerDataAddress
- bl FUN_02025064
- add r1, r0, #0x0
-_02024FAC:
- cmp r1, #0x0
- beq _02024FCA
- cmp r1, #0x1
- beq _02024FBA
- cmp r1, #0x2
- beq _02024FC2
- b _02024FCA
-_02024FBA:
- ldr r0, _02024FD4 ; =0x021C48B8
- mov r1, #0x1
- str r1, [r0, #0x34]
- pop {r3, pc}
-_02024FC2:
- ldr r0, _02024FD4 ; =0x021C48B8
- mov r1, #0x3
- str r1, [r0, #0x34]
- pop {r3, pc}
-_02024FCA:
- ldr r0, _02024FD4 ; =0x021C48B8
- mov r1, #0x0
- str r1, [r0, #0x34]
- pop {r3, pc}
- nop
-_02024FD4: .word 0x021C48B8
-
- thumb_func_start FUN_02024FD8
-FUN_02024FD8: ; 0x02024FD8
- ldrh r0, [r0, #0x0]
- lsl r0, r0, #0x1c
- lsr r0, r0, #0x1c
- bx lr
-
- thumb_func_start FUN_02024FE0
-FUN_02024FE0: ; 0x02024FE0
- ldrh r3, [r0, #0x0]
- mov r2, #0xf
- lsl r1, r1, #0x10
- bic r3, r2
- lsr r2, r1, #0x10
- mov r1, #0xf
- and r1, r2
- orr r1, r3
- strh r1, [r0, #0x0]
- bx lr
-
- thumb_func_start FUN_02024FF4
-FUN_02024FF4: ; 0x02024FF4
- push {r3, lr}
- bl FUN_02024FD8
- cmp r0, #0x0
- bne _02025002
- mov r0, #0x8
- pop {r3, pc}
-_02025002:
- cmp r0, #0x1
- bne _0202500A
- mov r0, #0x4
- pop {r3, pc}
-_0202500A:
- mov r0, #0x1
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_02025010
-FUN_02025010: ; 0x02025010
- ldrh r0, [r0, #0x0]
- lsl r0, r0, #0x1a
- lsr r0, r0, #0x1e
- bx lr
-
- thumb_func_start FUN_02025018
-FUN_02025018: ; 0x02025018
- lsl r1, r1, #0x10
- lsr r1, r1, #0x10
- lsl r1, r1, #0x1e
- ldrh r3, [r0, #0x0]
- mov r2, #0x30
- lsr r1, r1, #0x1a
- bic r3, r2
- orr r1, r3
- strh r1, [r0, #0x0]
- bx lr
-
- thumb_func_start FUN_0202502C
-FUN_0202502C: ; 0x0202502C
- ldrh r0, [r0, #0x0]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x1f
- bx lr
-
- thumb_func_start FUN_02025034
-FUN_02025034: ; 0x02025034
- lsl r1, r1, #0x10
- lsr r1, r1, #0x10
- lsl r1, r1, #0x1f
- ldrh r3, [r0, #0x0]
- mov r2, #0x80
- lsr r1, r1, #0x18
- bic r3, r2
- orr r1, r3
- strh r1, [r0, #0x0]
- bx lr
-
- thumb_func_start FUN_02025048
-FUN_02025048: ; 0x02025048
- ldrh r0, [r0, #0x0]
- lsl r0, r0, #0x19
- lsr r0, r0, #0x1f
- bx lr
-
- thumb_func_start FUN_02025050
-FUN_02025050: ; 0x02025050
- lsl r1, r1, #0x10
- lsr r1, r1, #0x10
- lsl r1, r1, #0x1f
- ldrh r3, [r0, #0x0]
- mov r2, #0x40
- lsr r1, r1, #0x19
- bic r3, r2
- orr r1, r3
- strh r1, [r0, #0x0]
- bx lr
-
- thumb_func_start FUN_02025064
-FUN_02025064: ; 0x02025064
- ldrh r0, [r0, #0x0]
- lsl r0, r0, #0x16
- lsr r0, r0, #0x1e
- bx lr
-
- thumb_func_start FUN_0202506C
-FUN_0202506C: ; 0x0202506C
- lsl r1, r1, #0x10
- lsr r1, r1, #0x10
- lsl r1, r1, #0x1e
- ldrh r3, [r0, #0x0]
- ldr r2, _02025080 ; =0xFFFFFCFF
- lsr r1, r1, #0x16
- and r2, r3
- orr r1, r2
- strh r1, [r0, #0x0]
- bx lr
- .balign 4
-_02025080: .word 0xFFFFFCFF
-
- thumb_func_start FUN_02025084
-FUN_02025084: ; 0x02025084
- ldrh r0, [r0, #0x0]
- lsl r0, r0, #0x11
- lsr r0, r0, #0x1b
- bx lr
-
- thumb_func_start FUN_0202508C
-FUN_0202508C: ; 0x0202508C
- lsl r1, r1, #0x10
- lsr r1, r1, #0x10
- lsl r1, r1, #0x1b
- ldrh r3, [r0, #0x0]
- ldr r2, _020250A0 ; =0xFFFF83FF
- lsr r1, r1, #0x11
- and r2, r3
- orr r1, r2
- strh r1, [r0, #0x0]
- bx lr
- .balign 4
-_020250A0: .word 0xFFFF83FF
-
- thumb_func_start FUN_020250A4
-FUN_020250A4: ; 0x020250A4
- push {r4, lr}
- mov r2, #0x7
- mov r1, #0x0
- lsl r2, r2, #0x8
- add r4, r0, #0x0
- blx MI_CpuFill8
- mov r1, #0x0
- add r0, r1, #0x0
-_020250B6:
- strb r0, [r4, #0x1]
- strb r0, [r4, #0x0]
- add r1, r1, #0x1
- add r4, #0xe
- cmp r1, #0x80
- blt _020250B6
- pop {r4, pc}
-
- thumb_func_start FUN_020250C4
-FUN_020250C4: ; 0x020250C4
- push {r4-r7, lr}
- sub sp, #0xc
- add r5, r0, #0x0
- add r0, r1, #0x0
- str r2, [sp, #0x0]
- str r3, [sp, #0x4]
- bl FUN_02025128
- mov r4, #0x0
- str r0, [sp, #0x8]
- add r6, r4, #0x0
- b _02025112
-_020250DC:
- add r0, r5, #0x0
- bl FUN_02025184
- ldr r0, [sp, #0x0]
- lsl r1, r6, #0x1
- add r7, r0, r1
- ldrh r0, [r0, r1]
- sub r0, #0x94
- strb r0, [r5, #0x0]
- mov r0, #0x5
- strb r0, [r5, #0x1]
- ldrb r1, [r5, #0x0]
- ldrb r2, [r5, #0xc]
- ldr r0, [sp, #0x8]
- bl FUN_020251B0
- lsl r0, r0, #0x2
- strh r0, [r5, #0x2]
- ldrh r0, [r7, #0x2]
- add r6, r6, #0x2
- add r4, r4, #0x1
- strh r0, [r5, #0x8]
- mov r0, #0x64
- strb r0, [r5, #0xa]
- mov r0, #0x3
- strb r0, [r5, #0xb]
- add r5, #0xe
-_02025112:
- cmp r4, #0x80
- blt _020250DC
- ldr r0, [sp, #0x4]
- cmp r4, r0
- blt _020250DC
- ldr r0, [sp, #0x8]
- bl FUN_02016A18
- add sp, #0xc
- pop {r4-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02025128
-FUN_02025128: ; 0x02025128
- push {r3-r7, lr}
- sub sp, #0x8
- add r7, r0, #0x0
- bl FUN_02085258
- str r0, [sp, #0x0]
- add r0, r7, #0x0
- mov r1, #0xc0
- bl FUN_02016998
- str r0, [sp, #0x4]
- mov r6, #0x0
- add r5, r0, #0x0
-_02025142:
- ldr r0, [sp, #0x0]
- add r1, r6, #0x0
- add r2, r7, #0x0
- bl FUN_02085264
- add r4, r0, #0x0
- mov r1, #0x3
- bl FUN_02085290
- strb r0, [r5, #0x0]
- add r0, r4, #0x0
- mov r1, #0x4
- bl FUN_02085290
- strb r0, [r5, #0x1]
- add r0, r4, #0x0
- mov r1, #0x2
- bl FUN_02085290
- strb r0, [r5, #0x2]
- add r0, r4, #0x0
- bl FUN_02016A18
- add r6, r6, #0x1
- add r5, r5, #0x3
- cmp r6, #0x40
- blt _02025142
- ldr r0, [sp, #0x0]
- bl FUN_0208526C
- ldr r0, [sp, #0x4]
- add sp, #0x8
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02025184
-FUN_02025184: ; 0x02025184
- mov r1, #0x0
- strb r1, [r0, #0x0]
- strb r1, [r0, #0x1]
- strh r1, [r0, #0x2]
- strh r1, [r0, #0x4]
- strb r1, [r0, #0x6]
- strh r1, [r0, #0x8]
- strb r1, [r0, #0xa]
- strb r1, [r0, #0xb]
- strb r1, [r0, #0xc]
- strb r1, [r0, #0xd]
- bx lr
-
- thumb_func_start FUN_0202519C
-FUN_0202519C: ; 0x0202519C
- ldrb r2, [r0, #0xb]
- ldrb r0, [r0, #0x0]
- sub r3, r0, #0x1
- lsl r0, r3, #0x1
- add r0, r3, r0
- add r0, r1, r0
- ldrb r0, [r0, #0x2]
- mul r0, r2
- bx lr
- .balign 4
-
- thumb_func_start FUN_020251B0
-FUN_020251B0: ; 0x020251B0
- sub r3, r1, #0x1
- lsl r1, r3, #0x1
- add r1, r3, r1
- ldrb r1, [r0, r1]
- mov r0, #0x3c
- mul r0, r1
- cmp r2, #0x1
- bne _020251CE
- lsl r1, r0, #0x1
- add r1, r0, r1
- asr r0, r1, #0x1
- lsr r0, r0, #0x1e
- add r0, r1, r0
- asr r0, r0, #0x2
- bx lr
-_020251CE:
- cmp r2, #0x2
- bne _020251DA
- lsr r1, r0, #0x1f
- add r1, r0, r1
- asr r1, r1, #0x1
- add r0, r0, r1
-_020251DA:
- bx lr
-
- thumb_func_start FUN_020251DC
-FUN_020251DC: ; 0x020251DC
- sub r3, r1, #0x1
- lsl r1, r3, #0x1
- add r1, r3, r1
- add r0, r0, r1
- ldrb r0, [r0, #0x1]
- cmp r2, #0x2
- bne _020251F2
- lsr r1, r0, #0x1f
- add r1, r0, r1
- asr r0, r1, #0x1
- bx lr
-_020251F2:
- cmp r2, #0x1
- bne _020251FE
- lsr r1, r0, #0x1f
- add r1, r0, r1
- asr r1, r1, #0x1
- add r0, r0, r1
-_020251FE:
- bx lr
-
- thumb_func_start FUN_02025200
-FUN_02025200: ; 0x02025200
- ldrb r0, [r0, #0xc]
- cmp r0, #0x3
- bne _0202520A
- mov r0, #0x6
- bx lr
-_0202520A:
- mov r0, #0x4
- bx lr
- .balign 4
-
- thumb_func_start FUN_02025210
-FUN_02025210: ; 0x02025210
- ldrb r0, [r0, #0xc]
- cmp r0, #0x4
- bne _0202521A
- mov r0, #0xf
- bx lr
-_0202521A:
- mov r0, #0xa
- bx lr
- .balign 4
-
- thumb_func_start FUN_02025220
-FUN_02025220: ; 0x02025220
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl FUN_02025200
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02025210
- add r1, r4, #0x3
- mul r0, r1
- add r0, r0, #0x1
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02025238
-FUN_02025238: ; 0x02025238
- mov r2, #0xe
- mul r2, r1
- add r0, r0, r2
- ldrb r0, [r0, #0x1]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02025244
-FUN_02025244: ; 0x02025244
- mov r2, #0xe
- mul r2, r1
- ldrb r0, [r0, r2]
- bx lr
-
- thumb_func_start FUN_0202524C
-FUN_0202524C: ; 0x0202524C
- mov r2, #0xe
- mul r2, r1
- add r0, r0, r2
- ldrb r0, [r0, #0xa]
- cmp r0, #0x0
- bne _0202525C
- mov r0, #0x0
- bx lr
-_0202525C:
- cmp r0, #0x32
- bgt _02025264
- mov r0, #0x1
- bx lr
-_02025264:
- mov r0, #0x2
- bx lr
-
- thumb_func_start FUN_02025268
-FUN_02025268: ; 0x02025268
- mov r2, #0xe
- mul r2, r1
- add r0, r0, r2
- ldrb r0, [r0, #0xb]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02025274
-FUN_02025274: ; 0x02025274
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- mov r0, #0xe
- mul r4, r0
- strb r3, [r5, r4]
- mov r0, #0x1
- add r6, r5, r4
- strb r0, [r6, #0x1]
- add r0, r2, #0x0
- ldrb r2, [r6, #0xc]
- add r1, r3, #0x0
- bl FUN_020251B0
- add r1, r6, #0x0
- strh r0, [r1, #0x2]
- mov r0, #0x0
- strh r0, [r1, #0x4]
- strb r0, [r1, #0x6]
- strh r0, [r1, #0x8]
- mov r0, #0x64
- strb r0, [r1, #0xa]
- mov r0, #0x5
- strb r0, [r1, #0xb]
- mov r0, #0x1
- strb r0, [r1, #0xd]
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_020252AC
-FUN_020252AC: ; 0x020252AC
- mov r2, #0xe
- mul r2, r1
- mov r3, #0x64
- add r0, r0, r2
- strb r3, [r0, #0xa]
- bx lr
-
- thumb_func_start FUN_020252B8
-FUN_020252B8: ; 0x020252B8
- mov r2, #0xe
- mul r2, r1
- add r0, r0, r2
- ldrb r0, [r0, #0xd]
- bx lr
- .balign 4
-
- thumb_func_start FUN_020252C4
-FUN_020252C4: ; 0x020252C4
- mov r3, #0xe
- mul r3, r1
- add r0, r0, r3
- strb r2, [r0, #0xd]
- bx lr
- .balign 4
-
- thumb_func_start FUN_020252D0
-FUN_020252D0: ; 0x020252D0
- mov r2, #0xe
- mul r2, r1
- add r0, r0, r2
- ldrb r0, [r0, #0xc]
- bx lr
- .balign 4
-
- thumb_func_start FUN_020252DC
-FUN_020252DC: ; 0x020252DC
- mov r3, #0xe
- mul r3, r1
- add r0, r0, r3
- strb r2, [r0, #0xc]
- bx lr
- .balign 4
-
- thumb_func_start FUN_020252E8
-FUN_020252E8: ; 0x020252E8
- mov r2, #0xe
- mul r2, r1
- add r0, r0, r2
- ldrh r0, [r0, #0x8]
- bx lr
- .balign 4
-
- thumb_func_start FUN_020252F4
-FUN_020252F4: ; 0x020252F4
- push {r4, lr}
- mov r2, #0xe
- mul r2, r1
- add r0, r0, r2
- ldrh r4, [r0, #0x8]
- bl FUN_02025184
- add r0, r4, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02025308
-FUN_02025308: ; 0x02025308
- push {r4, lr}
- add r4, r0, #0x0
- ldrb r2, [r4, #0x1]
- cmp r2, #0x5
- bhi _02025370
- add r3, r2, r2
- add r3, pc
- ldrh r3, [r3, #0x6]
- lsl r3, r3, #0x10
- asr r3, r3, #0x10
- add pc, r3
-_0202531E: ; jump table (using 16-bit offset)
- .short _0202532A - _0202531E - 2; case 0
- .short _02025330 - _0202531E - 2; case 1
- .short _02025330 - _0202531E - 2; case 2
- .short _02025330 - _0202531E - 2; case 3
- .short _02025336 - _0202531E - 2; case 4
- .short _0202534E - _0202531E - 2; case 5
-_0202532A:
- bl ErrorHandling
- pop {r4, pc}
-_02025330:
- add r0, r2, #0x1
- strb r0, [r4, #0x1]
- pop {r4, pc}
-_02025336:
- bl FUN_0202519C
- strh r0, [r4, #0x8]
- ldrh r0, [r4, #0x8]
- cmp r0, #0x2
- bhs _02025346
- mov r0, #0x2
- strh r0, [r4, #0x8]
-_02025346:
- ldrb r0, [r4, #0x1]
- add r0, r0, #0x1
- strb r0, [r4, #0x1]
- pop {r4, pc}
-_0202534E:
- mov r1, #0x0
- strh r1, [r4, #0x8]
- mov r1, #0x2
- strb r1, [r4, #0x1]
- mov r1, #0x5
- strb r1, [r4, #0xb]
- ldrb r1, [r4, #0x6]
- add r1, r1, #0x1
- strb r1, [r4, #0x6]
- bl FUN_02025210
- ldrb r1, [r4, #0x6]
- cmp r1, r0
- bne _02025370
- add r0, r4, #0x0
- bl FUN_02025184
-_02025370:
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02025374
-FUN_02025374: ; 0x02025374
- push {r3-r7, lr}
- add r5, r0, #0x0
- ldrb r0, [r5, #0x1]
- add r7, r2, #0x0
- cmp r0, #0x5
- beq _020253DE
- add r0, r1, #0x0
- ldrb r1, [r5, #0x0]
- ldrb r2, [r5, #0xc]
- bl FUN_020251DC
- add r6, r0, #0x0
- ldrh r0, [r5, #0x4]
- mov r1, #0x3c
- str r0, [sp, #0x0]
- add r0, r7, r0
- blx _s32_div_f
- add r4, r0, #0x0
- ldr r0, [sp, #0x0]
- mov r1, #0x3c
- add r0, r7, r0
- blx _s32_div_f
- strh r1, [r5, #0x4]
- cmp r4, #0x0
- beq _020253DE
- ldrb r1, [r5, #0xa]
- add r0, r6, #0x0
- mul r0, r4
- cmp r1, r0
- blt _020253BA
- sub r0, r1, r0
- strb r0, [r5, #0xa]
- pop {r3-r7, pc}
-_020253BA:
- cmp r1, #0x0
- beq _020253CE
- sub r0, r6, #0x1
- add r0, r1, r0
- add r1, r6, #0x0
- blx _s32_div_f
- sub r4, r4, r0
- mov r0, #0x0
- strb r0, [r5, #0xa]
-_020253CE:
- ldrb r0, [r5, #0xb]
- cmp r0, r4
- ble _020253DA
- sub r0, r0, r4
- strb r0, [r5, #0xb]
- pop {r3-r7, pc}
-_020253DA:
- mov r0, #0x0
- strb r0, [r5, #0xb]
-_020253DE:
- pop {r3-r7, pc}
-
- thumb_func_start FUN_020253E0
-FUN_020253E0: ; 0x020253E0
- push {r3-r7, lr}
- add r5, r0, #0x0
- mov r0, #0x0
- add r6, r1, #0x0
- add r7, r2, #0x0
- str r0, [sp, #0x0]
-_020253EC:
- ldrb r1, [r5, #0x0]
- cmp r1, #0x0
- beq _02025474
- ldrb r0, [r5, #0x1]
- cmp r0, #0x0
- beq _02025474
- ldrb r0, [r5, #0xd]
- cmp r0, #0x0
- beq _02025474
- ldrb r2, [r5, #0xc]
- add r0, r6, #0x0
- bl FUN_020251B0
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02025220
- mul r0, r4
- cmp r7, r0
- blt _0202541C
- add r0, r5, #0x0
- bl FUN_02025184
- b _02025474
-_0202541C:
- add r4, r7, #0x0
- b _0202546A
-_02025420:
- ldrh r2, [r5, #0x2]
- cmp r2, r4
- ble _02025438
- add r0, r5, #0x0
- add r1, r6, #0x0
- add r2, r4, #0x0
- bl FUN_02025374
- ldrh r0, [r5, #0x2]
- sub r0, r0, r4
- strh r0, [r5, #0x2]
- b _02025474
-_02025438:
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_02025374
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_02025308
- ldrh r0, [r5, #0x2]
- ldrb r1, [r5, #0x0]
- ldrb r2, [r5, #0xc]
- sub r4, r4, r0
- add r0, r6, #0x0
- bl FUN_020251B0
- strh r0, [r5, #0x2]
- ldrb r0, [r5, #0x1]
- cmp r0, #0x5
- bne _0202546A
- add r0, r5, #0x0
- bl FUN_02025200
- ldrh r1, [r5, #0x2]
- mul r0, r1
- strh r0, [r5, #0x2]
-_0202546A:
- ldrb r0, [r5, #0x1]
- cmp r0, #0x0
- beq _02025474
- cmp r4, #0x0
- bne _02025420
-_02025474:
- ldr r0, [sp, #0x0]
- add r5, #0xe
- add r0, r0, #0x1
- str r0, [sp, #0x0]
- cmp r0, #0x80
- blt _020253EC
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02025484
-FUN_02025484: ; 0x02025484
- ldr r3, _0202548C ; =MI_CpuFill8
- mov r1, #0x0
- mov r2, #0x24
- bx r3
- .balign 4
-_0202548C: .word MI_CpuFill8
-
- thumb_func_start FUN_02025490
-FUN_02025490: ; 0x02025490
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- bl FUN_02025484
- str r4, [r5, #0x0]
- add r0, r5, #0x4
- pop {r3-r5, pc}
-
- thumb_func_start FUN_020254A0
-FUN_020254A0: ; 0x020254A0
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- cmp r0, r1
- beq _020254AE
- bl ErrorHandling
-_020254AE:
- add r0, r4, #0x4
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_020254B4
-FUN_020254B4: ; 0x020254B4
- ldr r0, [r0, #0x0]
- bx lr
-
- thumb_func_start FUN_020254B8
-FUN_020254B8: ; 0x020254B8
- mov r0, #0x22
- lsl r0, r0, #0x6
- bx lr
- .balign 4
-
- thumb_func_start FUN_020254C0
-FUN_020254C0: ; 0x020254C0
- ldr r3, _020254C8 ; =FUN_02022610
- mov r1, #0x9
- bx r3
- nop
-_020254C8: .word FUN_02022610
-
- thumb_func_start FUN_020254CC
-FUN_020254CC: ; 0x020254CC
- push {r3-r7, lr}
- mov r4, #0x0
- ldr r6, _020254EC ; =0x0000FFFF
- add r5, r0, #0x0
- add r7, r4, #0x0
-_020254D6:
- add r0, r5, #0x0
- add r1, r7, #0x0
- mov r2, #0x88
- blx Call_FillMemWithValue
- strh r6, [r5, #0x0]
- add r4, r4, #0x1
- add r5, #0x88
- cmp r4, #0x10
- blt _020254D6
- pop {r3-r7, pc}
- .balign 4
-_020254EC: .word 0x0000FFFF
-
- thumb_func_start FUN_020254F0
-FUN_020254F0: ; 0x020254F0
- mov r2, #0x88
- mul r2, r1
- add r0, r0, r2
- bx lr
-
- thumb_func_start FUN_020254F8
-FUN_020254F8: ; 0x020254F8
- add r0, r0, r1
- add r0, #0x68
- ldrb r0, [r0, #0x0]
- bx lr
-
- thumb_func_start FUN_02025500
-FUN_02025500: ; 0x02025500
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- bl StringNotEqual
- cmp r0, #0x0
- bne _0202551A
- ldr r1, [r5, #0x10]
- ldr r0, [r4, #0x10]
- cmp r1, r0
- bne _0202551A
- mov r0, #0x1
- pop {r3-r5, pc}
-_0202551A:
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02025520
-FUN_02025520: ; 0x02025520
- push {r4-r7, lr}
- sub sp, #0x2c
- str r1, [sp, #0x4]
- mov r1, #0x22
- str r0, [sp, #0x0]
- add r0, r3, #0x0
- lsl r1, r1, #0x6
- str r2, [sp, #0x8]
- bl FUN_02016998
- str r0, [sp, #0x10]
- bl FUN_020254CC
- mov r0, #0x0
- str r0, [sp, #0x14]
- ldr r0, [sp, #0x8]
- cmp r0, #0x0
- ble _02025578
- ldr r7, [sp, #0x4]
- add r6, sp, #0x18
-_02025548:
- mov r0, #0x0
- mvn r0, r0
- ldr r5, [sp, #0x0]
- str r0, [r6, #0x0]
- mov r4, #0x0
-_02025552:
- add r0, r5, #0x0
- add r1, r7, #0x0
- bl FUN_02025500
- cmp r0, #0x0
- beq _02025560
- str r4, [r6, #0x0]
-_02025560:
- add r4, r4, #0x1
- add r5, #0x88
- cmp r4, #0x10
- blt _02025552
- ldr r0, [sp, #0x14]
- add r6, r6, #0x4
- add r1, r0, #0x1
- ldr r0, [sp, #0x8]
- add r7, #0x88
- str r1, [sp, #0x14]
- cmp r1, r0
- blt _02025548
-_02025578:
- ldr r0, [sp, #0x8]
- mov r4, #0x0
- str r4, [sp, #0xc]
- cmp r0, #0x0
- ble _020255BE
- ldr r5, [sp, #0x10]
- add r6, sp, #0x18
-_02025586:
- ldr r3, [sp, #0x4]
- add r7, r5, #0x0
- mov r2, #0x11
-_0202558C:
- ldmia r3!, {r0-r1}
- stmia r7!, {r0-r1}
- sub r2, r2, #0x1
- bne _0202558C
- ldr r1, [r6, #0x0]
- cmp r1, #0x0
- blt _020255A6
- add r2, r1, #0x0
- mov r0, #0x88
- mul r2, r0
- ldr r1, _02025610 ; =0x0000FFFF
- ldr r0, [sp, #0x0]
- strh r1, [r0, r2]
-_020255A6:
- ldr r0, [sp, #0x4]
- add r5, #0x88
- add r0, #0x88
- str r0, [sp, #0x4]
- ldr r0, [sp, #0xc]
- add r4, r4, #0x1
- add r1, r0, #0x1
- ldr r0, [sp, #0x8]
- add r6, r6, #0x4
- str r1, [sp, #0xc]
- cmp r1, r0
- blt _02025586
-_020255BE:
- mov r0, #0x0
- mov r12, r0
- mov r0, #0x88
- add r1, r4, #0x0
- mul r1, r0
- ldr r0, [sp, #0x10]
- ldr r3, [sp, #0x0]
- add r5, r0, r1
-_020255CE:
- ldrh r1, [r3, #0x0]
- ldr r0, _02025610 ; =0x0000FFFF
- cmp r1, r0
- beq _020255EC
- add r6, r3, #0x0
- add r7, r5, #0x0
- mov r2, #0x11
-_020255DC:
- ldmia r6!, {r0-r1}
- stmia r7!, {r0-r1}
- sub r2, r2, #0x1
- bne _020255DC
- add r4, r4, #0x1
- add r5, #0x88
- cmp r4, #0x10
- bge _020255F8
-_020255EC:
- mov r0, r12
- add r0, r0, #0x1
- add r3, #0x88
- mov r12, r0
- cmp r0, #0x10
- blt _020255CE
-_020255F8:
- mov r2, #0x22
- ldr r0, [sp, #0x0]
- ldr r1, [sp, #0x10]
- lsl r2, r2, #0x6
- blx memcpy
- ldr r0, [sp, #0x10]
- bl FUN_02016A18
- add sp, #0x2c
- pop {r4-r7, pc}
- nop
-_02025610: .word 0x0000FFFF
-
- thumb_func_start FUN_02025614
-FUN_02025614: ; 0x02025614
- push {r3-r6}
- mov r3, #0x0
- add r4, r0, #0x0
-_0202561A:
- ldr r2, [r4, #0x10]
- cmp r1, r2
- bne _02025626
- mov r0, #0x1
- pop {r3-r6}
- bx lr
-_02025626:
- add r3, r3, #0x1
- add r4, #0x88
- cmp r3, #0x10
- blt _0202561A
- mov r6, #0x0
- add r3, r6, #0x0
-_02025632:
- add r4, r3, #0x0
- add r5, r0, #0x0
-_02025636:
- ldr r2, [r5, #0x18]
- cmp r1, r2
- bne _02025642
- add r0, r6, #0x2
- pop {r3-r6}
- bx lr
-_02025642:
- add r4, r4, #0x1
- add r5, r5, #0x4
- cmp r4, #0x10
- blt _02025636
- add r6, r6, #0x1
- add r0, #0x88
- cmp r6, #0x10
- blt _02025632
- mov r0, #0x0
- pop {r3-r6}
- bx lr
-
- thumb_func_start FUN_02025658
-FUN_02025658: ; 0x02025658
- push {r3-r5, lr}
- add r4, r0, #0x0
- mov r0, #0x0
- str r0, [r4, #0x0]
- strb r0, [r4, #0x4]
- ldr r0, _020256A0 ; =0x020ECAC4
- mov r1, #0x8
- ldrb r0, [r0, #0x0]
- strb r0, [r4, #0x5]
- ldr r0, _020256A4 ; =0x020ECAC0
- ldrb r0, [r0, #0x0]
- strb r0, [r4, #0x6]
- mov r0, #0xff
- strb r0, [r4, #0x7]
- add r0, r4, #0x0
- add r0, #0x8
- bl StringFillEOS
- ldr r0, _020256A8 ; =0x0000FFFF
- mov r1, #0x0
- add r2, r4, #0x0
-_02025682:
- add r1, r1, #0x1
- strh r0, [r2, #0x18]
- add r2, r2, #0x2
- cmp r1, #0x3
- blt _02025682
- mov r5, #0x0
- add r4, #0x20
-_02025690:
- add r0, r4, #0x0
- bl FUN_02013724
- add r5, r5, #0x1
- add r4, #0x8
- cmp r5, #0x3
- blt _02025690
- pop {r3-r5, pc}
- .balign 4
-_020256A0: .word 0x020ECAC4
-_020256A4: .word 0x020ECAC0
-_020256A8: .word 0x0000FFFF
-
- thumb_func_start FUN_020256AC
-FUN_020256AC: ; 0x020256AC
- ldrb r0, [r0, #0x7]
- cmp r0, #0xb
- bhi _020256B6
- mov r0, #0x1
- bx lr
-_020256B6:
- mov r0, #0x0
- bx lr
- .balign 4
-
- thumb_func_start FUN_020256BC
-FUN_020256BC: ; 0x020256BC
- push {r4, lr}
- mov r1, #0x38
- bl FUN_020169D8
- add r4, r0, #0x0
- bl FUN_02025658
- add r0, r4, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_020256D0
-FUN_020256D0: ; 0x020256D0
- ldr r3, _020256D8 ; =MI_CpuCopy8
- mov r2, #0x38
- bx r3
- nop
-_020256D8: .word MI_CpuCopy8
-
- thumb_func_start FUN_020256DC
-FUN_020256DC: ; 0x020256DC
- push {r4-r7, lr}
- sub sp, #0x14
- add r7, r3, #0x0
- add r5, r0, #0x0
- add r6, r1, #0x0
- add r4, r2, #0x0
- bl FUN_02025658
- add r0, r7, #0x0
- strb r6, [r5, #0x7]
- bl FUN_0206BB1C
- str r0, [sp, #0x0]
- add r0, r7, #0x0
- bl FUN_020238F4
- add r6, r0, #0x0
- bl FUN_0202398C
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x8
- bl StringCopy
- add r0, r6, #0x0
- bl FUN_020239CC
- strb r0, [r5, #0x4]
- add r0, r6, #0x0
- bl FUN_020239BC
- str r0, [r5, #0x0]
- ldr r0, [sp, #0x0]
- mov r6, #0x0
- bl FUN_0206B9AC
- cmp r4, r0
- bge _020257AE
- add r5, #0x18
-_0202572A:
- ldr r0, [sp, #0x0]
- add r1, r4, #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]
- add r0, r7, #0x0
- mov r1, #0x4c
- mov r2, #0x0
- bl FUN_020671BC
- str r0, [sp, #0x8]
- add r0, r7, #0x0
- mov r1, #0x70
- mov r2, #0x0
- bl FUN_020671BC
- str r0, [sp, #0xc]
- add r0, r7, #0x0
- bl FUN_0206B6C8
- str r0, [sp, #0x10]
- ldr r0, [sp, #0x4]
- ldr r1, [sp, #0xc]
- ldr r2, [sp, #0x8]
- bl FUN_0206B7BC
- lsl r3, r6, #0x1
- ldrh r1, [r5, r3]
- add r7, r0, #0x0
- ldr r0, _020257B4 ; =0xFFFFF000
- add r2, r1, #0x0
- and r2, r0
- ldr r0, [sp, #0x10]
- lsl r0, r0, #0x10
- lsr r1, r0, #0x10
- ldr r0, _020257B8 ; =0x00000FFF
- and r0, r1
- orr r0, r2
- strh r0, [r5, r3]
- add r0, r6, #0x1
- lsl r0, r0, #0x18
- lsr r6, r0, #0x18
- ldrh r1, [r5, r3]
- ldr r0, _020257BC ; =0xFFFF0FFF
- and r0, r1
- lsl r1, r7, #0x1c
- lsr r1, r1, #0x10
- orr r0, r1
- strh r0, [r5, r3]
- cmp r6, #0x3
- bhs _020257AE
- add r0, r4, #0x1
- lsl r0, r0, #0x18
- lsr r4, r0, #0x18
- ldr r0, [sp, #0x0]
- bl FUN_0206B9AC
- cmp r4, r0
- blt _0202572A
-_020257AE:
- add sp, #0x14
- pop {r4-r7, pc}
- nop
-_020257B4: .word 0xFFFFF000
-_020257B8: .word 0x00000FFF
-_020257BC: .word 0xFFFF0FFF
-
- thumb_func_start FUN_020257C0
-FUN_020257C0: ; 0x020257C0
- ldr r0, [r0, #0x0]
- bx lr
-
- thumb_func_start FUN_020257C4
-FUN_020257C4: ; 0x020257C4
- add r0, #0x8
- bx lr
-
- thumb_func_start FUN_020257C8
-FUN_020257C8: ; 0x020257C8
- ldrb r0, [r0, #0x4]
- bx lr
-
- thumb_func_start FUN_020257CC
-FUN_020257CC: ; 0x020257CC
- ldrb r0, [r0, #0x7]
- bx lr
-
- thumb_func_start FUN_020257D0
-FUN_020257D0: ; 0x020257D0
- cmp r1, #0xc
- bhs _020257D6
- strb r1, [r0, #0x7]
-_020257D6:
- bx lr
-
- thumb_func_start FUN_020257D8
-FUN_020257D8: ; 0x020257D8
- ldrb r0, [r0, #0x5]
- bx lr
-
- thumb_func_start FUN_020257DC
-FUN_020257DC: ; 0x020257DC
- ldrb r0, [r0, #0x6]
- bx lr
-
- thumb_func_start FUN_020257E0
-FUN_020257E0: ; 0x020257E0
- cmp r1, #0x3
- bhs _02025810
- cmp r2, #0x0
- beq _020257F0
- cmp r2, #0x1
- beq _020257FC
- cmp r2, #0x2
- b _02025808
-_020257F0:
- lsl r1, r1, #0x1
- add r0, r0, r1
- ldrh r0, [r0, #0x18]
- lsl r0, r0, #0x14
- lsr r0, r0, #0x14
- bx lr
-_020257FC:
- lsl r1, r1, #0x1
- add r0, r0, r1
- ldrh r0, [r0, #0x18]
- lsl r0, r0, #0x10
- lsr r0, r0, #0x1c
- bx lr
-_02025808:
- lsl r1, r1, #0x1
- add r0, r0, r1
- ldrh r0, [r0, #0x18]
- bx lr
-_02025810:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_02025814
-FUN_02025814: ; 0x02025814
- cmp r1, #0x3
- bhs _02025820
- add r0, #0x20
- lsl r1, r1, #0x3
- add r0, r0, r1
- bx lr
-_02025820:
- add r0, #0x20
- bx lr
-
- thumb_func_start FUN_02025824
-FUN_02025824: ; 0x02025824
- push {r3, lr}
- cmp r2, #0x3
- bhs _02025834
- add r0, #0x20
- lsl r2, r2, #0x3
- add r0, r0, r2
- bl FUN_02013960
-_02025834:
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_02025838
-FUN_02025838: ; 0x02025838
- ldr r3, _02025840 ; =FUN_02022610
- mov r1, #0xf
- bx r3
- nop
-_02025840: .word FUN_02022610
-
- thumb_func_start FUN_02025844
-FUN_02025844: ; 0x02025844
- mov r0, #0x46
- lsl r0, r0, #0x4
- bx lr
- .balign 4
-
- thumb_func_start FUN_0202584C
-FUN_0202584C: ; 0x0202584C
- push {r3-r5, lr}
- add r5, r0, #0x0
- mov r4, #0x0
-_02025852:
- add r0, r5, #0x0
- bl FUN_02025658
- add r4, r4, #0x1
- add r5, #0x38
- cmp r4, #0x14
- blt _02025852
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02025864
-FUN_02025864: ; 0x02025864
- push {r3, lr}
- cmp r1, #0x0
- bne _02025872
- mov r1, #0x14
- bl FUN_020258F0
- pop {r3, pc}
-_02025872:
- mov r0, #0x0
- mvn r0, r0
- pop {r3, pc}
-
- thumb_func_start FUN_02025878
-FUN_02025878: ; 0x02025878
- push {r3, lr}
- bl FUN_02025940
- cmp r0, #0x0
- beq _02025886
- bl FUN_02025658
-_02025886:
- pop {r3, pc}
-
- thumb_func_start FUN_02025888
-FUN_02025888: ; 0x02025888
- push {r4, lr}
- add r4, r3, #0x0
- bl FUN_02025940
- add r1, r0, #0x0
- beq _0202589A
- add r0, r4, #0x0
- bl FUN_020256D0
-_0202589A:
- pop {r4, pc}
-
- thumb_func_start FUN_0202589C
-FUN_0202589C: ; 0x0202589C
- push {r3, lr}
- cmp r1, #0x0
- bne _020258AA
- mov r1, #0x14
- bl FUN_02025918
- pop {r3, pc}
-_020258AA:
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_020258B0
-FUN_020258B0: ; 0x020258B0
- push {r3-r5, lr}
- add r5, r3, #0x0
- bl FUN_02025940
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_020256BC
- add r5, r0, #0x0
- cmp r4, #0x0
- beq _020258CE
- add r0, r4, #0x0
- add r1, r5, #0x0
- bl FUN_020256D0
-_020258CE:
- add r0, r5, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_020258D4
-FUN_020258D4: ; 0x020258D4
- push {r4, lr}
- add r4, r3, #0x0
- bl FUN_02025940
- cmp r0, #0x0
- bne _020258E8
- add r0, r4, #0x0
- bl FUN_02025658
- pop {r4, pc}
-_020258E8:
- add r1, r4, #0x0
- bl FUN_020256D0
- pop {r4, pc}
-
- thumb_func_start FUN_020258F0
-FUN_020258F0: ; 0x020258F0
- push {r4-r6, lr}
- add r6, r1, #0x0
- add r5, r0, #0x0
- mov r4, #0x0
- cmp r6, #0x0
- ble _02025912
-_020258FC:
- add r0, r5, #0x0
- bl FUN_020256AC
- cmp r0, #0x0
- bne _0202590A
- add r0, r4, #0x0
- pop {r4-r6, pc}
-_0202590A:
- add r4, r4, #0x1
- add r5, #0x38
- cmp r4, r6
- blt _020258FC
-_02025912:
- mov r0, #0x0
- mvn r0, r0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02025918
-FUN_02025918: ; 0x02025918
- push {r3-r7, lr}
- mov r4, #0x0
- add r7, r1, #0x0
- add r5, r0, #0x0
- add r6, r4, #0x0
- cmp r7, #0x0
- ble _0202593A
-_02025926:
- add r0, r5, #0x0
- bl FUN_020256AC
- cmp r0, #0x0
- beq _02025932
- add r4, r4, #0x1
-_02025932:
- add r6, r6, #0x1
- add r5, #0x38
- cmp r6, r7
- blt _02025926
-_0202593A:
- add r0, r4, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02025940
-FUN_02025940: ; 0x02025940
- mov r3, #0x0
- cmp r1, #0x0
- bne _02025950
- cmp r2, #0x14
- bge _02025950
- mov r1, #0x38
- mul r1, r2
- add r3, r0, r1
-_02025950:
- add r0, r3, #0x0
- bx lr
-
- thumb_func_start FUN_02025954
-FUN_02025954: ; 0x02025954
- ldr r0, _02025958 ; =0x000009B4
- bx lr
- .balign 4
-_02025958: .word 0x000009B4
-
- thumb_func_start FUN_0202595C
-FUN_0202595C: ; 0x0202595C
- mov r0, #0x94
- bx lr
-
- thumb_func_start FUN_02025960
-FUN_02025960: ; 0x02025960
- mov r0, #0x3c
- bx lr
-
- thumb_func_start FUN_02025964
-FUN_02025964: ; 0x02025964
- push {r4, lr}
- mov r1, #0x3c
- bl FUN_02016998
- mov r1, #0x0
- mov r2, #0x3c
- add r4, r0, #0x0
- blx MI_CpuFill8
- add r0, r4, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0202597C
-FUN_0202597C: ; 0x0202597C
- push {r4-r7, lr}
- sub sp, #0x1c
- add r4, r0, #0x0
- add r0, sp, #0xc
- add r1, sp, #0x0
- bl FUN_0201265C
- ldr r0, _020259D8 ; =0x021C48B8
- ldr r6, [sp, #0xc]
- ldr r1, [sp, #0x8]
- ldr r0, [r0, #0x2c]
- lsl r6, r6, #0x5
- add r5, r1, r0
- ldr r0, [sp, #0x10]
- ldr r1, [sp, #0x14]
- add r0, r0, r6
- lsl r0, r0, #0x5
- add r0, r1, r0
- mov r7, #0x0
- ldr r2, [sp, #0x0]
- lsl r0, r0, #0x5
- add r0, r2, r0
- ldr r3, [sp, #0x4]
- lsl r0, r0, #0x5
- add r0, r3, r0
- lsl r0, r0, #0x5
- add r5, r5, r0
- ldr r2, _020259DC ; =0x000009B4
- add r0, r4, #0x0
- add r1, r7, #0x0
- blx MI_CpuFill8
- add r0, r4, #0x0
- add r0, #0x94
- mov r1, #0x9b
- str r5, [r0, #0x0]
- lsl r1, r1, #0x4
- ldrb r2, [r4, r1]
- mov r0, #0xf
- bic r2, r0
- mov r0, #0x1
- orr r0, r2
- strb r0, [r4, r1]
- add sp, #0x1c
- pop {r4-r7, pc}
- nop
-_020259D8: .word 0x021C48B8
-_020259DC: .word 0x000009B4
-
- thumb_func_start FUN_020259E0
-FUN_020259E0: ; 0x020259E0
- mov r1, #0x9
- mov r3, #0x0
- lsl r1, r1, #0x8
-_020259E6:
- add r2, r0, r3
- ldrb r2, [r2, r1]
- cmp r2, #0x0
- bne _020259F2
- add r0, r3, #0x0
- bx lr
-_020259F2:
- add r3, r3, #0x1
- cmp r3, #0x28
- blt _020259E6
- mov r0, #0x0
- mvn r0, r0
- bx lr
- .balign 4
-
- thumb_func_start FUN_02025A00
-FUN_02025A00: ; 0x02025A00
- mov r1, #0x95
- mov r3, #0x0
- lsl r1, r1, #0x4
-_02025A06:
- add r2, r0, r3
- ldrb r2, [r2, r1]
- cmp r2, #0x0
- bne _02025A12
- add r0, r3, #0x0
- bx lr
-_02025A12:
- add r3, r3, #0x1
- cmp r3, #0x28
- blt _02025A06
- mov r0, #0x0
- mvn r0, r0
- bx lr
- .balign 4
-
- thumb_func_start FUN_02025A20
-FUN_02025A20: ; 0x02025A20
- ldr r1, _02025A3C ; =0x00000928
- mov r3, #0x0
-_02025A24:
- add r2, r0, r3
- ldrb r2, [r2, r1]
- cmp r2, #0x0
- bne _02025A30
- add r0, r3, #0x0
- bx lr
-_02025A30:
- add r3, r3, #0x1
- cmp r3, #0x28
- blt _02025A24
- mov r0, #0x0
- mvn r0, r0
- bx lr
- .balign 4
-_02025A3C: .word 0x00000928
-
- thumb_func_start FUN_02025A40
-FUN_02025A40: ; 0x02025A40
- ldr r1, _02025A5C ; =0x000008D8
- mov r3, #0x0
-_02025A44:
- add r2, r0, r3
- ldrb r2, [r2, r1]
- cmp r2, #0x0
- bne _02025A50
- add r0, r3, #0x0
- bx lr
-_02025A50:
- add r3, r3, #0x1
- cmp r3, #0x28
- blt _02025A44
- mov r0, #0x0
- mvn r0, r0
- bx lr
- .balign 4
-_02025A5C: .word 0x000008D8
-
- thumb_func_start FUN_02025A60
-FUN_02025A60: ; 0x02025A60
- push {r4-r7, lr}
- sub sp, #0x14
- str r1, [sp, #0x0]
- bl FUN_02026CC4
- ldr r1, _02025B50 ; =0x020EE958
- add r6, r0, #0x0
- ldrb r2, [r1, #0x0]
- add r0, sp, #0x8
- strb r2, [r0, #0x6]
- ldrb r2, [r1, #0x1]
- strb r2, [r0, #0x7]
- ldrb r2, [r1, #0x2]
- strb r2, [r0, #0x8]
- ldrb r2, [r1, #0x3]
- strb r2, [r0, #0x9]
- ldrb r2, [r1, #0x4]
- strb r2, [r0, #0xa]
- ldrb r2, [r1, #0x5]
- strb r2, [r0, #0xb]
- ldrb r2, [r1, #0x6]
- strb r2, [r0, #0x0]
- ldrb r2, [r1, #0x7]
- strb r2, [r0, #0x1]
- ldrb r2, [r1, #0x8]
- strb r2, [r0, #0x2]
- ldrb r2, [r1, #0x9]
- strb r2, [r0, #0x3]
- ldrb r2, [r1, #0xa]
- strb r2, [r0, #0x4]
- ldrb r1, [r1, #0xb]
- strb r1, [r0, #0x5]
- ldr r0, [sp, #0x0]
- cmp r0, #0x0
- ble _02025B4C
- str r0, [sp, #0x4]
- cmp r0, #0x63
- ble _02025AB0
- mov r0, #0x63
- str r0, [sp, #0x4]
-_02025AB0:
- add r0, r6, #0x0
- add r0, #0x94
- ldr r3, [r0, #0x0]
- mov r0, #0x0
- mov r12, r0
- ldr r0, [sp, #0x4]
- cmp r0, #0x0
- ble _02025B28
- add r7, sp, #0xc
- add r7, #0x2
-_02025AC4:
- mov r2, #0x0
-_02025AC6:
- ldr r0, _02025B54 ; =0x0000055C
- add r4, r6, r2
- ldrb r5, [r4, r0]
- cmp r5, #0x0
- beq _02025B16
- ldr r0, _02025B58 ; =0x5D588B65
- ldrb r1, [r7, r5]
- mul r0, r3
- ldr r3, _02025B5C ; =0x00269EC3
- add r3, r0, r3
- cmp r1, #0x0
- bne _02025AE2
- lsr r0, r3, #0x10
- b _02025AE8
-_02025AE2:
- lsr r0, r3, #0x10
- mul r1, r0
- lsr r0, r1, #0x10
-_02025AE8:
- lsl r0, r0, #0x10
- lsr r1, r0, #0x10
- add r0, sp, #0x8
- ldrb r0, [r0, r5]
- add r0, r0, r1
- mov r1, #0x17
- lsl r1, r1, #0x6
- ldrb r1, [r4, r1]
- add r1, r0, r1
- cmp r1, #0x63
- bge _02025B0E
- mov r1, #0x17
- lsl r1, r1, #0x6
- ldrb r1, [r4, r1]
- add r1, r1, r0
- mov r0, #0x17
- lsl r0, r0, #0x6
- strb r1, [r4, r0]
- b _02025B16
-_02025B0E:
- mov r0, #0x17
- mov r1, #0x63
- lsl r0, r0, #0x6
- strb r1, [r4, r0]
-_02025B16:
- add r2, r2, #0x1
- cmp r2, #0x64
- blt _02025AC6
- mov r0, r12
- add r1, r0, #0x1
- ldr r0, [sp, #0x4]
- mov r12, r1
- cmp r1, r0
- blt _02025AC4
-_02025B28:
- add r0, r6, #0x0
- add r0, #0x94
- ldr r1, [r0, #0x0]
- ldr r0, [sp, #0x0]
- add r0, r1, r0
- bl FUN_0201BA10
- add r1, r6, #0x0
- add r1, #0x94
- str r0, [r1, #0x0]
- mov r1, #0x9b
- lsl r1, r1, #0x4
- ldrb r2, [r6, r1]
- mov r0, #0xf
- bic r2, r0
- mov r0, #0x1
- orr r0, r2
- strb r0, [r6, r1]
-_02025B4C:
- add sp, #0x14
- pop {r4-r7, pc}
- .balign 4
-_02025B50: .word 0x020EE958
-_02025B54: .word 0x0000055C
-_02025B58: .word 0x5D588B65
-_02025B5C: .word 0x00269EC3
-
- thumb_func_start FUN_02025B60
-FUN_02025B60: ; 0x02025B60
- push {r3-r5, lr}
- add r4, r1, #0x0
- add r5, r2, #0x0
- bl FUN_02026CC4
- cmp r4, #0x0
- blt _02025B90
- cmp r5, #0x0
- bne _02025B90
- add r1, r0, #0x0
- add r1, #0x98
- ldr r1, [r1, #0x0]
- cmp r1, r4
- bge _02025B84
- mov r1, #0x0
- add r0, #0x98
- str r1, [r0, #0x0]
- pop {r3-r5, pc}
-_02025B84:
- add r1, r0, #0x0
- add r1, #0x98
- ldr r1, [r1, #0x0]
- add r0, #0x98
- sub r1, r1, r4
- str r1, [r0, #0x0]
-_02025B90:
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02025B94
-FUN_02025B94: ; 0x02025B94
- push {r3, lr}
- bl FUN_02026CC4
- add r1, r0, #0x0
- add r1, #0x98
- ldr r1, [r1, #0x0]
- cmp r1, #0x0
- bne _02025BB6
- add r1, r0, #0x0
- add r1, #0x9c
- ldrb r1, [r1, #0x0]
- cmp r1, #0x2
- bne _02025BB6
- add r1, r0, #0x0
- mov r2, #0x0
- add r1, #0x9c
- strb r2, [r1, #0x0]
-_02025BB6:
- add r1, r0, #0x0
- add r1, #0x98
- ldr r1, [r1, #0x0]
- cmp r1, #0x0
- bne _02025BD4
- add r1, r0, #0x0
- add r1, #0x9c
- ldrb r1, [r1, #0x0]
- cmp r1, #0x1
- bne _02025BD4
- mov r2, #0x5a
- add r1, r0, #0x0
- lsl r2, r2, #0x4
- add r1, #0x98
- str r2, [r1, #0x0]
-_02025BD4:
- add r1, r0, #0x0
- add r1, #0x9c
- ldrb r1, [r1, #0x0]
- cmp r1, #0x1
- bne _02025BE4
- mov r1, #0x2
- add r0, #0x9c
- strb r1, [r0, #0x0]
-_02025BE4:
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_02025BE8
-FUN_02025BE8: ; 0x02025BE8
- push {r3, lr}
- bl FUN_02026CC4
- add r1, r0, #0x0
- add r1, #0x9c
- ldrb r1, [r1, #0x0]
- cmp r1, #0x0
- bne _02025BFE
- mov r1, #0x1
- add r0, #0x9c
- strb r1, [r0, #0x0]
-_02025BFE:
- pop {r3, pc}
-
- thumb_func_start FUN_02025C00
-FUN_02025C00: ; 0x02025C00
- push {r3, lr}
- bl FUN_02026CC4
- add r1, r0, #0x0
- add r1, #0x9c
- ldrb r1, [r1, #0x0]
- cmp r1, #0x1
- bne _02025C16
- mov r1, #0x0
- add r0, #0x9c
- strb r1, [r0, #0x0]
-_02025C16:
- pop {r3, pc}
-
- thumb_func_start FUN_02025C18
-FUN_02025C18: ; 0x02025C18
- push {r3, lr}
- bl FUN_02026CC4
- add r0, #0x9c
- ldrb r0, [r0, #0x0]
- cmp r0, #0x2
- beq _02025C2A
- mov r0, #0x1
- pop {r3, pc}
-_02025C2A:
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_02025C30
-FUN_02025C30: ; 0x02025C30
- mov r1, #0x1
- add r0, #0x9d
- strb r1, [r0, #0x0]
- bx lr
-
- thumb_func_start FUN_02025C38
-FUN_02025C38: ; 0x02025C38
- add r0, #0x9d
- ldrb r0, [r0, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02025C40
-FUN_02025C40: ; 0x02025C40
- push {r3-r7, lr}
- add r7, r0, #0x0
- ldr r0, _02025CD0 ; =0x0000010E
- add r6, r1, #0x0
- ldrb r0, [r7, r0]
- mov r4, #0x0
- add r5, r7, #0x0
- str r0, [sp, #0x0]
-_02025C50:
- add r0, r6, #0x0
- bl FUN_020239BC
- add r1, r5, #0x0
- add r1, #0xa0
- ldr r1, [r1, #0x0]
- cmp r1, r0
- beq _02025CCC
- add r4, r4, #0x1
- add r5, r5, #0x4
- cmp r4, #0x5
- blt _02025C50
- ldr r0, [sp, #0x0]
- cmp r0, #0x5
- blt _02025C72
- bl ErrorHandling
-_02025C72:
- add r0, r6, #0x0
- bl FUN_0202398C
- ldr r1, [sp, #0x0]
- add r2, r7, #0x0
- add r2, #0xb4
- lsl r1, r1, #0x4
- add r1, r2, r1
- mov r2, #0x10
- blx MI_CpuCopy8
- add r0, r6, #0x0
- bl FUN_020239BC
- ldr r1, [sp, #0x0]
- lsl r1, r1, #0x2
- add r1, r7, r1
- add r1, #0xa0
- str r0, [r1, #0x0]
- add r0, r6, #0x0
- bl FUN_02023A70
- ldr r1, [sp, #0x0]
- add r2, r7, r1
- mov r1, #0x41
- lsl r1, r1, #0x2
- strb r0, [r2, r1]
- add r0, r6, #0x0
- bl FUN_02023A68
- ldr r1, [sp, #0x0]
- add r2, r7, r1
- ldr r1, _02025CD4 ; =0x00000109
- strb r0, [r2, r1]
- add r0, r1, #0x5
- ldrb r0, [r7, r0]
- add r2, r0, #0x1
- add r0, r1, #0x5
- strb r2, [r7, r0]
- ldrb r0, [r7, r0]
- cmp r0, #0x5
- blo _02025CCC
- mov r2, #0x0
- add r0, r1, #0x5
- strb r2, [r7, r0]
-_02025CCC:
- pop {r3-r7, pc}
- nop
-_02025CD0: .word 0x0000010E
-_02025CD4: .word 0x00000109
-
- thumb_func_start FUN_02025CD8
-FUN_02025CD8: ; 0x02025CD8
- push {r3-r7, lr}
- add r5, r0, #0x0
- ldr r0, _02025D38 ; =0x0000010E
- ldrb r0, [r5, r0]
- sub r0, r0, r2
- sub r4, r0, #0x1
- bpl _02025CE8
- add r4, r4, #0x5
-_02025CE8:
- add r7, r5, #0x0
- lsl r0, r4, #0x4
- add r7, #0xb4
- str r0, [sp, #0x0]
- ldrh r0, [r7, r0]
- cmp r0, #0x0
- beq _02025D32
- add r0, r1, #0x0
- bl FUN_02023928
- ldr r1, [sp, #0x0]
- add r6, r0, #0x0
- add r1, r7, r1
- bl FUN_0202395C
- ldr r1, _02025D3C ; =0x00000109
- add r2, r5, r4
- ldrb r1, [r2, r1]
- add r0, r6, #0x0
- bl FUN_02023A6C
- mov r1, #0x41
- add r2, r5, r4
- lsl r1, r1, #0x2
- ldrb r1, [r2, r1]
- add r0, r6, #0x0
- bl FUN_02023A74
- lsl r1, r4, #0x2
- add r1, r5, r1
- add r1, #0xa0
- ldr r1, [r1, #0x0]
- add r0, r6, #0x0
- bl FUN_020239B8
- add r0, r6, #0x0
- pop {r3-r7, pc}
-_02025D32:
- mov r0, #0x0
- pop {r3-r7, pc}
- nop
-_02025D38: .word 0x0000010E
-_02025D3C: .word 0x00000109
-
- thumb_func_start FUN_02025D40
-FUN_02025D40: ; 0x02025D40
- add r0, #0x94
- ldr r0, [r0, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02025D48
-FUN_02025D48: ; 0x02025D48
- push {r4, lr}
- add r4, r0, #0x0
- cmp r4, #0xb
- bge _02025D54
- bl ErrorHandling
-_02025D54:
- cmp r4, #0x3c
- blt _02025D5C
- bl ErrorHandling
-_02025D5C:
- sub r4, #0xb
- ldr r0, _02025D68 ; =0x02105C74
- lsl r1, r4, #0x1
- ldrh r0, [r0, r1]
- pop {r4, pc}
- nop
-_02025D68: .word 0x02105C74
-
- thumb_func_start FUN_02025D6C
-FUN_02025D6C: ; 0x02025D6C
- push {r4-r5}
- mov r2, #0x81
- mov r5, #0x0
- lsl r2, r2, #0x4
-_02025D74:
- add r4, r0, r5
- ldrb r3, [r4, r2]
- cmp r3, #0x0
- bne _02025D88
- mov r0, #0x81
- lsl r0, r0, #0x4
- strb r1, [r4, r0]
- mov r0, #0x1
- pop {r4-r5}
- bx lr
-_02025D88:
- add r5, r5, #0x1
- cmp r5, #0xc8
- blt _02025D74
- mov r0, #0x0
- pop {r4-r5}
- bx lr
-
- thumb_func_start FUN_02025D94
-FUN_02025D94: ; 0x02025D94
- mov r1, #0x81
- mov r3, #0x0
- lsl r1, r1, #0x4
-_02025D9A:
- add r2, r0, r3
- ldrb r2, [r2, r1]
- cmp r2, #0x0
- bne _02025DA6
- mov r0, #0x1
- bx lr
-_02025DA6:
- add r3, r3, #0x1
- cmp r3, #0xc8
- blt _02025D9A
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_02025DB0
-FUN_02025DB0: ; 0x02025DB0
- mov r1, #0x81
- mov r3, #0x0
- lsl r1, r1, #0x4
-_02025DB6:
- add r2, r0, r3
- ldrb r2, [r2, r1]
- cmp r2, #0x0
- beq _02025DC4
- add r3, r3, #0x1
- cmp r3, #0xc8
- blt _02025DB6
-_02025DC4:
- add r0, r3, #0x0
- bx lr
-
- thumb_func_start FUN_02025DC8
-FUN_02025DC8: ; 0x02025DC8
- add r1, r0, r1
- mov r0, #0x81
- lsl r0, r0, #0x4
- ldrb r0, [r1, r0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02025DD4
-FUN_02025DD4: ; 0x02025DD4
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- bl FUN_02025F0C
- cmp r0, #0x0
- beq _02025DE6
- bl ErrorHandling
-_02025DE6:
- mov r0, #0x81
- add r1, r5, r4
- lsl r0, r0, #0x4
- add r6, r4, #0x0
- ldrb r7, [r1, r0]
- cmp r4, #0xc7
- bge _02025E06
- mov r1, #0x81
- add r0, r0, #0x1
- lsl r1, r1, #0x4
-_02025DFA:
- add r3, r5, r6
- ldrb r2, [r3, r0]
- add r6, r6, #0x1
- cmp r6, #0xc7
- strb r2, [r3, r1]
- blt _02025DFA
-_02025E06:
- ldr r0, _02025E1C ; =0x000008D7
- mov r2, #0x0
- strb r2, [r5, r0]
- add r0, r5, #0x0
- add r1, r4, #0x0
- sub r2, r2, #0x1
- bl FUN_02025F58
- add r0, r7, #0x0
- pop {r3-r7, pc}
- nop
-_02025E1C: .word 0x000008D7
-
- thumb_func_start FUN_02025E20
-FUN_02025E20: ; 0x02025E20
- push {r4-r7, lr}
- sub sp, #0xd4
- mov r4, #0x0
- add r5, r0, #0x0
- sub r0, r4, #0x1
- str r0, [sp, #0x4]
- mov r0, #0x81
- lsl r0, r0, #0x4
- str r1, [sp, #0x8]
- str r2, [sp, #0x0]
- add r0, r5, r0
- add r1, sp, #0xc
- mov r2, #0xc8
- blx MI_CpuCopy8
- ldr r2, [sp, #0x8]
- add r1, sp, #0xc
- add r0, r4, #0x0
- add r7, r1, r2
-_02025E46:
- ldr r2, [sp, #0x8]
- cmp r0, r2
- beq _02025E58
- ldrb r6, [r1, #0x0]
- mov r2, #0x81
- add r3, r5, r4
- lsl r2, r2, #0x4
- strb r6, [r3, r2]
- add r4, r4, #0x1
-_02025E58:
- ldr r2, [sp, #0x0]
- cmp r0, r2
- bne _02025E6A
- ldrb r6, [r7, #0x0]
- mov r2, #0x81
- add r3, r5, r4
- lsl r2, r2, #0x4
- strb r6, [r3, r2]
- add r4, r4, #0x1
-_02025E6A:
- add r0, r0, #0x1
- add r1, r1, #0x1
- cmp r0, #0xc8
- blt _02025E46
- ldr r0, [sp, #0x8]
- mov r3, #0x0
- add r2, r0, #0x1
- mov r0, #0x9a
- lsl r0, r0, #0x4
-_02025E7C:
- add r1, r5, r3
- ldrb r1, [r1, r0]
- cmp r2, r1
- bne _02025E88
- str r3, [sp, #0x4]
- b _02025E8E
-_02025E88:
- add r3, r3, #0x1
- cmp r3, #0xf
- blt _02025E7C
-_02025E8E:
- ldr r1, [sp, #0x0]
- add r0, r5, #0x0
- mov r2, #0x1
- bl FUN_02025F58
- mov r2, #0x0
- ldr r1, [sp, #0x8]
- add r0, r5, #0x0
- mvn r2, r2
- bl FUN_02025F58
- mov r1, #0x0
- ldr r0, [sp, #0x4]
- mvn r1, r1
- cmp r0, r1
- beq _02025ED6
- ldr r1, [sp, #0x0]
- ldr r0, [sp, #0x8]
- cmp r0, r1
- bge _02025EC8
- add r0, r1, #0x0
- add r2, r0, #0x1
- ldr r0, [sp, #0x4]
- add sp, #0xd4
- add r1, r5, r0
- mov r0, #0x9a
- lsl r0, r0, #0x4
- strb r2, [r1, r0]
- pop {r4-r7, pc}
-_02025EC8:
- add r0, r1, #0x0
- add r2, r0, #0x2
- ldr r0, [sp, #0x4]
- add r1, r5, r0
- mov r0, #0x9a
- lsl r0, r0, #0x4
- strb r2, [r1, r0]
-_02025ED6:
- add sp, #0xd4
- pop {r4-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02025EDC
-FUN_02025EDC: ; 0x02025EDC
- push {r4-r6, lr}
- add r6, r2, #0x0
- add r5, r0, #0x0
- add r4, r1, #0x0
- cmp r6, #0x1
- bge _02025EEC
- bl ErrorHandling
-_02025EEC:
- cmp r6, #0xf
- ble _02025EF4
- bl ErrorHandling
-_02025EF4:
- sub r0, r6, #0x1
- add r1, r5, r0
- mov r0, #0x9a
- add r2, r4, #0x1
- lsl r0, r0, #0x4
- strb r2, [r1, r0]
- mov r0, #0x81
- add r1, r5, r4
- lsl r0, r0, #0x4
- ldrb r0, [r1, r0]
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02025F0C
-FUN_02025F0C: ; 0x02025F0C
- push {r3-r4}
- add r3, r1, #0x1
- mov r1, #0x9a
- mov r4, #0x0
- lsl r1, r1, #0x4
-_02025F16:
- add r2, r0, r4
- ldrb r2, [r2, r1]
- cmp r3, r2
- bne _02025F24
- mov r0, #0x1
- pop {r3-r4}
- bx lr
-_02025F24:
- add r4, r4, #0x1
- cmp r4, #0xf
- blt _02025F16
- mov r0, #0x0
- pop {r3-r4}
- bx lr
-
- thumb_func_start FUN_02025F30
-FUN_02025F30: ; 0x02025F30
- sub r1, r1, #0x1
- cmp r1, #0xf
- bge _02025F40
- add r1, r0, r1
- mov r0, #0x9a
- mov r2, #0x0
- lsl r0, r0, #0x4
- strb r2, [r1, r0]
-_02025F40:
- bx lr
- .balign 4
-
- thumb_func_start FUN_02025F44
-FUN_02025F44: ; 0x02025F44
- mov r1, #0x9a
- lsl r1, r1, #0x4
- add r0, r0, r1
- ldr r3, _02025F54 ; =MI_CpuFill8
- mov r1, #0x0
- mov r2, #0xf
- bx r3
- nop
-_02025F54: .word MI_CpuFill8
-
- thumb_func_start FUN_02025F58
-FUN_02025F58: ; 0x02025F58
- push {r4-r7}
- mov r6, #0x9a
- lsl r6, r6, #0x4
- mov r4, #0x0
- add r1, r1, #0x1
- add r7, r6, #0x0
-_02025F64:
- add r3, r0, r4
- ldrb r5, [r3, r7]
- cmp r5, r1
- ble _02025F76
- mov r5, #0x9a
- lsl r5, r5, #0x4
- ldrb r5, [r3, r5]
- add r5, r5, r2
- strb r5, [r3, r6]
-_02025F76:
- add r4, r4, #0x1
- cmp r4, #0xf
- blt _02025F64
- pop {r4-r7}
- bx lr
-
- thumb_func_start FUN_02025F80
-FUN_02025F80: ; 0x02025F80
- mov r1, #0x9
- mov r3, #0x0
- lsl r1, r1, #0x8
-_02025F86:
- add r2, r0, r3
- ldrb r2, [r2, r1]
- cmp r2, #0x0
- beq _02025F94
- add r3, r3, #0x1
- cmp r3, #0x28
- blt _02025F86
-_02025F94:
- add r0, r3, #0x0
- bx lr
-
- thumb_func_start FUN_02025F98
-FUN_02025F98: ; 0x02025F98
- add r1, r0, r1
- mov r0, #0x9
- lsl r0, r0, #0x8
- ldrb r0, [r1, r0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02025FA4
-FUN_02025FA4: ; 0x02025FA4
- push {r3-r6}
- mov r2, #0x9
- add r3, r0, r1
- lsl r2, r2, #0x8
- ldrb r2, [r3, r2]
- cmp r1, #0x27
- bge _02025FC2
- ldr r3, _02025FD0 ; =0x00000901
- sub r4, r3, #0x1
-_02025FB6:
- add r6, r0, r1
- ldrb r5, [r6, r3]
- add r1, r1, #0x1
- cmp r1, #0x27
- strb r5, [r6, r4]
- blt _02025FB6
-_02025FC2:
- ldr r1, _02025FD4 ; =0x00000927
- mov r3, #0x0
- strb r3, [r0, r1]
- add r0, r2, #0x0
- pop {r3-r6}
- bx lr
- nop
-_02025FD0: .word 0x00000901
-_02025FD4: .word 0x00000927
-
- thumb_func_start FUN_02025FD8
-FUN_02025FD8: ; 0x02025FD8
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- bl FUN_020259E0
- mov r1, #0x0
- mvn r1, r1
- cmp r0, r1
- beq _02025FF6
- add r1, r5, r0
- mov r0, #0x9
- lsl r0, r0, #0x8
- strb r4, [r1, r0]
- mov r0, #0x1
- pop {r3-r5, pc}
-_02025FF6:
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02025FFC
-FUN_02025FFC: ; 0x02025FFC
- push {r3-r7, lr}
- sub sp, #0x30
- add r5, r0, #0x0
- mov r0, #0x9
- lsl r0, r0, #0x8
- str r1, [sp, #0x4]
- str r2, [sp, #0x0]
- add r0, r5, r0
- add r1, sp, #0x8
- mov r2, #0x28
- mov r4, #0x0
- blx MI_CpuCopy8
- ldr r2, [sp, #0x4]
- add r1, sp, #0x8
- add r0, r4, #0x0
- add r7, r1, r2
-_0202601E:
- ldr r2, [sp, #0x4]
- cmp r0, r2
- beq _02026030
- ldrb r6, [r1, #0x0]
- mov r2, #0x9
- add r3, r5, r4
- lsl r2, r2, #0x8
- strb r6, [r3, r2]
- add r4, r4, #0x1
-_02026030:
- ldr r2, [sp, #0x0]
- cmp r0, r2
- bne _02026042
- ldrb r6, [r7, #0x0]
- mov r2, #0x9
- add r3, r5, r4
- lsl r2, r2, #0x8
- strb r6, [r3, r2]
- add r4, r4, #0x1
-_02026042:
- add r0, r0, #0x1
- add r1, r1, #0x1
- cmp r0, #0x28
- blt _0202601E
- add sp, #0x30
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02026050
-FUN_02026050: ; 0x02026050
- mov r1, #0x95
- mov r3, #0x0
- lsl r1, r1, #0x4
-_02026056:
- add r2, r0, r3
- ldrb r2, [r2, r1]
- cmp r2, #0x0
- beq _02026064
- add r3, r3, #0x1
- cmp r3, #0x28
- blt _02026056
-_02026064:
- add r0, r3, #0x0
- bx lr
-
- thumb_func_start FUN_02026068
-FUN_02026068: ; 0x02026068
- add r1, r0, r1
- mov r0, #0x95
- lsl r0, r0, #0x4
- ldrb r0, [r1, r0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02026074
-FUN_02026074: ; 0x02026074
- add r1, r0, r1
- ldr r0, _0202607C ; =0x00000978
- ldrb r0, [r1, r0]
- bx lr
- .balign 4
-_0202607C: .word 0x00000978
-
- thumb_func_start FUN_02026080
-FUN_02026080: ; 0x02026080
- push {r4-r7}
- add r2, r0, #0x0
- mov r0, #0x95
- add r3, r2, r1
- lsl r0, r0, #0x4
- ldrb r0, [r3, r0]
- cmp r1, #0x27
- mov r12, r0
- bge _020260AE
- ldr r7, _020260BC ; =0x00000951
- add r4, r7, #0x0
- add r5, r7, #0x0
- sub r3, r7, #0x1
- add r4, #0x28
- add r5, #0x27
-_0202609E:
- add r0, r2, r1
- ldrb r6, [r0, r7]
- add r1, r1, #0x1
- cmp r1, #0x27
- strb r6, [r0, r3]
- ldrb r6, [r0, r4]
- strb r6, [r0, r5]
- blt _0202609E
-_020260AE:
- ldr r0, _020260C0 ; =0x00000977
- mov r1, #0x0
- strb r1, [r2, r0]
- mov r0, r12
- pop {r4-r7}
- bx lr
- nop
-_020260BC: .word 0x00000951
-_020260C0: .word 0x00000977
-
- thumb_func_start FUN_020260C4
-FUN_020260C4: ; 0x020260C4
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- add r6, r2, #0x0
- bl FUN_02025A00
- mov r1, #0x0
- mvn r1, r1
- cmp r0, r1
- beq _020260E8
- add r1, r5, r0
- mov r0, #0x95
- lsl r0, r0, #0x4
- strb r4, [r1, r0]
- add r0, #0x28
- strb r6, [r1, r0]
- mov r0, #0x1
- pop {r4-r6, pc}
-_020260E8:
- mov r0, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_020260EC
-FUN_020260EC: ; 0x020260EC
- push {r4-r7, lr}
- sub sp, #0x5c
- add r7, r0, #0x0
- mov r0, #0x95
- lsl r0, r0, #0x4
- str r1, [sp, #0x0]
- str r2, [sp, #0x4]
- add r0, r7, r0
- add r1, sp, #0x34
- mov r2, #0x28
- mov r4, #0x0
- blx MI_CpuCopy8
- ldr r0, _02026168 ; =0x00000978
- add r1, sp, #0xc
- add r0, r7, r0
- mov r2, #0x28
- blx MI_CpuCopy8
- ldr r3, [sp, #0x0]
- add r1, sp, #0x34
- add r3, r1, r3
- mov r12, r3
- ldr r3, [sp, #0x0]
- add r2, sp, #0xc
- add r3, r2, r3
- add r0, r4, #0x0
- str r3, [sp, #0x8]
-_02026124:
- ldr r3, [sp, #0x0]
- cmp r0, r3
- beq _0202613C
- ldrb r5, [r1, #0x0]
- mov r3, #0x95
- add r6, r7, r4
- lsl r3, r3, #0x4
- strb r5, [r6, r3]
- ldrb r5, [r2, #0x0]
- add r3, #0x28
- add r4, r4, #0x1
- strb r5, [r6, r3]
-_0202613C:
- ldr r3, [sp, #0x4]
- cmp r0, r3
- bne _02026158
- mov r3, r12
- ldrb r5, [r3, #0x0]
- mov r3, #0x95
- add r6, r7, r4
- lsl r3, r3, #0x4
- strb r5, [r6, r3]
- ldr r3, [sp, #0x8]
- add r4, r4, #0x1
- ldrb r5, [r3, #0x0]
- ldr r3, _02026168 ; =0x00000978
- strb r5, [r6, r3]
-_02026158:
- add r0, r0, #0x1
- add r1, r1, #0x1
- add r2, r2, #0x1
- cmp r0, #0x28
- blt _02026124
- add sp, #0x5c
- pop {r4-r7, pc}
- nop
-_02026168: .word 0x00000978
-
- thumb_func_start FUN_0202616C
-FUN_0202616C: ; 0x0202616C
- ldr r1, _02026184 ; =0x00000928
- mov r3, #0x0
-_02026170:
- add r2, r0, r3
- ldrb r2, [r2, r1]
- cmp r2, #0x0
- beq _0202617E
- add r3, r3, #0x1
- cmp r3, #0x28
- blt _02026170
-_0202617E:
- add r0, r3, #0x0
- bx lr
- nop
-_02026184: .word 0x00000928
-
- thumb_func_start FUN_02026188
-FUN_02026188: ; 0x02026188
- add r1, r0, r1
- ldr r0, _02026190 ; =0x00000928
- ldrb r0, [r1, r0]
- bx lr
- .balign 4
-_02026190: .word 0x00000928
-
- thumb_func_start FUN_02026194
-FUN_02026194: ; 0x02026194
- push {r3-r6}
- ldr r2, _020261BC ; =0x00000928
- add r3, r0, r1
- ldrb r2, [r3, r2]
- cmp r1, #0x27
- bge _020261B0
- ldr r3, _020261C0 ; =0x00000929
- sub r4, r3, #0x1
-_020261A4:
- add r6, r0, r1
- ldrb r5, [r6, r3]
- add r1, r1, #0x1
- cmp r1, #0x27
- strb r5, [r6, r4]
- blt _020261A4
-_020261B0:
- ldr r1, _020261C4 ; =0x0000094F
- mov r3, #0x0
- strb r3, [r0, r1]
- add r0, r2, #0x0
- pop {r3-r6}
- bx lr
- .balign 4
-_020261BC: .word 0x00000928
-_020261C0: .word 0x00000929
-_020261C4: .word 0x0000094F
-
- thumb_func_start FUN_020261C8
-FUN_020261C8: ; 0x020261C8
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- bl FUN_02025A20
- mov r1, #0x0
- mvn r1, r1
- cmp r0, r1
- beq _020261E4
- add r1, r5, r0
- ldr r0, _020261E8 ; =0x00000928
- strb r4, [r1, r0]
- mov r0, #0x1
- pop {r3-r5, pc}
-_020261E4:
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-_020261E8: .word 0x00000928
-
- thumb_func_start FUN_020261EC
-FUN_020261EC: ; 0x020261EC
- push {r3-r7, lr}
- sub sp, #0x30
- add r5, r0, #0x0
- ldr r0, _02026238 ; =0x00000928
- str r1, [sp, #0x4]
- str r2, [sp, #0x0]
- add r0, r5, r0
- add r1, sp, #0x8
- mov r2, #0x28
- mov r4, #0x0
- blx MI_CpuCopy8
- ldr r2, [sp, #0x4]
- add r1, sp, #0x8
- add r0, r4, #0x0
- add r7, r1, r2
-_0202620C:
- ldr r2, [sp, #0x4]
- cmp r0, r2
- beq _0202621C
- ldrb r6, [r1, #0x0]
- ldr r2, _02026238 ; =0x00000928
- add r3, r5, r4
- strb r6, [r3, r2]
- add r4, r4, #0x1
-_0202621C:
- ldr r2, [sp, #0x0]
- cmp r0, r2
- bne _0202622C
- ldrb r6, [r7, #0x0]
- ldr r2, _02026238 ; =0x00000928
- add r3, r5, r4
- strb r6, [r3, r2]
- add r4, r4, #0x1
-_0202622C:
- add r0, r0, #0x1
- add r1, r1, #0x1
- cmp r0, #0x28
- blt _0202620C
- add sp, #0x30
- pop {r3-r7, pc}
- .balign 4
-_02026238: .word 0x00000928
-
- thumb_func_start FUN_0202623C
-FUN_0202623C: ; 0x0202623C
- ldr r1, _02026254 ; =0x000008D8
- mov r3, #0x0
-_02026240:
- add r2, r0, r3
- ldrb r2, [r2, r1]
- cmp r2, #0x0
- beq _0202624E
- add r3, r3, #0x1
- cmp r3, #0x28
- blt _02026240
-_0202624E:
- add r0, r3, #0x0
- bx lr
- nop
-_02026254: .word 0x000008D8
-
- thumb_func_start FUN_02026258
-FUN_02026258: ; 0x02026258
- add r1, r0, r1
- ldr r0, _02026260 ; =0x000008D8
- ldrb r0, [r1, r0]
- bx lr
- .balign 4
-_02026260: .word 0x000008D8
-
- thumb_func_start FUN_02026264
-FUN_02026264: ; 0x02026264
- push {r3-r6}
- ldr r2, _0202628C ; =0x000008D8
- add r3, r0, r1
- ldrb r2, [r3, r2]
- cmp r1, #0x27
- bge _02026280
- ldr r3, _02026290 ; =0x000008D9
- sub r4, r3, #0x1
-_02026274:
- add r6, r0, r1
- ldrb r5, [r6, r3]
- add r1, r1, #0x1
- cmp r1, #0x27
- strb r5, [r6, r4]
- blt _02026274
-_02026280:
- ldr r1, _02026294 ; =0x000008FF
- mov r3, #0x0
- strb r3, [r0, r1]
- add r0, r2, #0x0
- pop {r3-r6}
- bx lr
- .balign 4
-_0202628C: .word 0x000008D8
-_02026290: .word 0x000008D9
-_02026294: .word 0x000008FF
-
- thumb_func_start FUN_02026298
-FUN_02026298: ; 0x02026298
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- bl FUN_02025A40
- mov r1, #0x0
- mvn r1, r1
- cmp r0, r1
- beq _020262B4
- add r1, r5, r0
- ldr r0, _020262B8 ; =0x000008D8
- strb r4, [r1, r0]
- mov r0, #0x1
- pop {r3-r5, pc}
-_020262B4:
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-_020262B8: .word 0x000008D8
-
- thumb_func_start FUN_020262BC
-FUN_020262BC: ; 0x020262BC
- push {r3-r7, lr}
- sub sp, #0x30
- add r5, r0, #0x0
- ldr r0, _02026308 ; =0x000008D8
- str r1, [sp, #0x4]
- str r2, [sp, #0x0]
- add r0, r5, r0
- add r1, sp, #0x8
- mov r2, #0x28
- mov r4, #0x0
- blx MI_CpuCopy8
- ldr r2, [sp, #0x4]
- add r1, sp, #0x8
- add r0, r4, #0x0
- add r7, r1, r2
-_020262DC:
- ldr r2, [sp, #0x4]
- cmp r0, r2
- beq _020262EC
- ldrb r6, [r1, #0x0]
- ldr r2, _02026308 ; =0x000008D8
- add r3, r5, r4
- strb r6, [r3, r2]
- add r4, r4, #0x1
-_020262EC:
- ldr r2, [sp, #0x0]
- cmp r0, r2
- bne _020262FC
- ldrb r6, [r7, #0x0]
- ldr r2, _02026308 ; =0x000008D8
- add r3, r5, r4
- strb r6, [r3, r2]
- add r4, r4, #0x1
-_020262FC:
- add r0, r0, #0x1
- add r1, r1, #0x1
- cmp r0, #0x28
- blt _020262DC
- add sp, #0x30
- pop {r3-r7, pc}
- .balign 4
-_02026308: .word 0x000008D8
-
- thumb_func_start FUN_0202630C
-FUN_0202630C: ; 0x0202630C
- push {r3-r7, lr}
- add r4, r2, #0x0
- add r5, r0, #0x0
- add r7, r1, #0x0
- add r6, r3, #0x0
- cmp r4, #0x40
- blt _0202631E
- bl ErrorHandling
-_0202631E:
- ldr r0, _02026350 ; =0x0000010F
- add r1, r5, r4
- strb r7, [r1, r0]
- lsl r1, r4, #0x1
- add r1, r4, r1
- add r2, r0, #0x0
- add r1, r5, r1
- add r2, #0x40
- strb r6, [r1, r2]
- mov r2, #0xf
- lsl r2, r2, #0x8
- add r3, r6, #0x0
- and r3, r2
- asr r4, r3, #0x8
- ldr r3, [sp, #0x18]
- and r2, r3
- asr r2, r2, #0x4
- add r4, r4, r2
- add r2, r0, #0x0
- add r2, #0x41
- strb r4, [r1, r2]
- add r0, #0x42
- strb r3, [r1, r0]
- pop {r3-r7, pc}
- nop
-_02026350: .word 0x0000010F
-
- thumb_func_start FUN_02026354
-FUN_02026354: ; 0x02026354
- push {r3-r5, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- cmp r4, #0x40
- blt _02026362
- bl ErrorHandling
-_02026362:
- ldr r0, _0202636C ; =0x0000010F
- add r1, r5, r4
- ldrb r0, [r1, r0]
- pop {r3-r5, pc}
- nop
-_0202636C: .word 0x0000010F
-
- thumb_func_start FUN_02026370
-FUN_02026370: ; 0x02026370
- push {r3-r5, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- cmp r4, #0x40
- blt _0202637E
- bl ErrorHandling
-_0202637E:
- lsl r0, r4, #0x1
- add r0, r4, r0
- add r1, r5, r0
- ldr r0, _02026398 ; =0x0000014F
- ldrb r2, [r1, r0]
- add r0, r0, #0x1
- ldrb r0, [r1, r0]
- lsl r1, r0, #0x8
- mov r0, #0xf
- lsl r0, r0, #0x8
- and r0, r1
- add r0, r2, r0
- pop {r3-r5, pc}
- .balign 4
-_02026398: .word 0x0000014F
-
- thumb_func_start FUN_0202639C
-FUN_0202639C: ; 0x0202639C
- push {r3-r5, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- cmp r4, #0x40
- blt _020263AA
- bl ErrorHandling
-_020263AA:
- lsl r0, r4, #0x1
- add r0, r4, r0
- add r1, r5, r0
- ldr r0, _020263C4 ; =0x00000151
- ldrb r2, [r1, r0]
- sub r0, r0, #0x1
- ldrb r0, [r1, r0]
- lsl r1, r0, #0x4
- mov r0, #0xf
- lsl r0, r0, #0x8
- and r0, r1
- add r0, r2, r0
- pop {r3-r5, pc}
- .balign 4
-_020263C4: .word 0x00000151
-
- thumb_func_start FUN_020263C8
-FUN_020263C8: ; 0x020263C8
- push {r3-r5, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- cmp r4, #0x40
- blt _020263D6
- bl ErrorHandling
-_020263D6:
- ldr r0, _020263F0 ; =0x0000010F
- mov r1, #0x0
- add r2, r5, r4
- strb r1, [r2, r0]
- add r0, #0x40
- add r2, r5, r0
- lsl r0, r4, #0x1
- add r0, r4, r0
- add r0, r2, r0
- mov r2, #0x3
- blx MI_CpuFill8
- pop {r3-r5, pc}
- .balign 4
-_020263F0: .word 0x0000010F
-
- thumb_func_start FUN_020263F4
-FUN_020263F4: ; 0x020263F4
- push {r3-r7, lr}
- add r4, r2, #0x0
- add r5, r0, #0x0
- add r7, r1, #0x0
- add r6, r3, #0x0
- cmp r4, #0x10
- blt _02026406
- bl ErrorHandling
-_02026406:
- lsl r2, r4, #0x1
- ldr r1, _02026440 ; =0x0000050C
- add r0, r5, r4
- add r2, r4, r2
- add r4, r5, r2
- add r2, r1, #0x0
- mov r5, #0xf
- strb r7, [r0, r1]
- add r2, #0x10
- strb r6, [r4, r2]
- lsl r5, r5, #0x8
- add r2, r6, #0x0
- and r2, r5
- asr r3, r2, #0x8
- ldr r2, [sp, #0x18]
- and r5, r2
- asr r5, r5, #0x4
- add r5, r3, r5
- add r3, r1, #0x0
- add r3, #0x11
- strb r5, [r4, r3]
- add r3, r1, #0x0
- add r3, #0x12
- strb r2, [r4, r3]
- ldr r2, [sp, #0x1c]
- add r1, #0x40
- strb r2, [r0, r1]
- pop {r3-r7, pc}
- nop
-_02026440: .word 0x0000050C
-
- thumb_func_start FUN_02026444
-FUN_02026444: ; 0x02026444
- add r1, r0, r1
- ldr r0, _0202644C ; =0x0000050C
- ldrb r0, [r1, r0]
- bx lr
- .balign 4
-_0202644C: .word 0x0000050C
-
- thumb_func_start FUN_02026450
-FUN_02026450: ; 0x02026450
- lsl r2, r1, #0x1
- add r1, r1, r2
- add r1, r0, r1
- ldr r0, _0202646C ; =0x0000051C
- ldrb r2, [r1, r0]
- add r0, r0, #0x1
- ldrb r0, [r1, r0]
- lsl r1, r0, #0x8
- mov r0, #0xf
- lsl r0, r0, #0x8
- and r0, r1
- add r0, r2, r0
- bx lr
- nop
-_0202646C: .word 0x0000051C
-
- thumb_func_start FUN_02026470
-FUN_02026470: ; 0x02026470
- lsl r2, r1, #0x1
- add r1, r1, r2
- add r1, r0, r1
- ldr r0, _0202648C ; =0x0000051E
- ldrb r2, [r1, r0]
- sub r0, r0, #0x1
- ldrb r0, [r1, r0]
- lsl r1, r0, #0x4
- mov r0, #0xf
- lsl r0, r0, #0x8
- and r0, r1
- add r0, r2, r0
- bx lr
- nop
-_0202648C: .word 0x0000051E
-
- thumb_func_start FUN_02026490
-FUN_02026490: ; 0x02026490
- add r1, r0, r1
- ldr r0, _02026498 ; =0x0000054C
- ldrb r0, [r1, r0]
- bx lr
- .balign 4
-_02026498: .word 0x0000054C
-
- thumb_func_start FUN_0202649C
-FUN_0202649C: ; 0x0202649C
- push {r3-r7, lr}
- add r4, r2, #0x0
- add r5, r0, #0x0
- add r6, r1, #0x0
- add r7, r3, #0x0
- cmp r4, #0x64
- blt _020264AE
- bl ErrorHandling
-_020264AE:
- ldr r1, _020264E8 ; =0x0000055C
- add r0, r5, r4
- strb r6, [r0, r1]
- lsl r1, r4, #0x1
- add r1, r4, r1
- add r4, r5, r1
- mov r5, #0xf
- lsl r5, r5, #0x8
- add r2, r7, #0x0
- and r2, r5
- asr r3, r2, #0x8
- ldr r2, [sp, #0x18]
- ldr r1, _020264EC ; =0x00000688
- and r5, r2
- asr r5, r5, #0x4
- add r5, r3, r5
- strb r7, [r4, r1]
- add r3, r1, #0x1
- strb r5, [r4, r3]
- add r3, r1, #0x2
- strb r2, [r4, r3]
- add r2, r1, #0x0
- ldr r3, [sp, #0x1c]
- sub r2, #0x64
- strb r3, [r0, r2]
- ldr r2, [sp, #0x20]
- sub r1, #0xc8
- strb r2, [r0, r1]
- pop {r3-r7, pc}
- .balign 4
-_020264E8: .word 0x0000055C
-_020264EC: .word 0x00000688
-
- thumb_func_start FUN_020264F0
-FUN_020264F0: ; 0x020264F0
- add r1, r0, r1
- ldr r0, _020264F8 ; =0x0000055C
- ldrb r0, [r1, r0]
- bx lr
- .balign 4
-_020264F8: .word 0x0000055C
-
- thumb_func_start FUN_020264FC
-FUN_020264FC: ; 0x020264FC
- lsl r2, r1, #0x1
- add r1, r1, r2
- add r1, r0, r1
- ldr r0, _02026518 ; =0x00000688
- ldrb r2, [r1, r0]
- add r0, r0, #0x1
- ldrb r0, [r1, r0]
- lsl r1, r0, #0x8
- mov r0, #0xf
- lsl r0, r0, #0x8
- and r0, r1
- add r0, r2, r0
- bx lr
- nop
-_02026518: .word 0x00000688
-
- thumb_func_start FUN_0202651C
-FUN_0202651C: ; 0x0202651C
- lsl r2, r1, #0x1
- add r1, r1, r2
- add r1, r0, r1
- ldr r0, _02026538 ; =0x0000068A
- ldrb r2, [r1, r0]
- sub r0, r0, #0x1
- ldrb r0, [r1, r0]
- lsl r1, r0, #0x4
- mov r0, #0xf
- lsl r0, r0, #0x8
- and r0, r1
- add r0, r2, r0
- bx lr
- nop
-_02026538: .word 0x0000068A
-
- thumb_func_start FUN_0202653C
-FUN_0202653C: ; 0x0202653C
- add r1, r0, r1
- ldr r0, _02026544 ; =0x00000624
- ldrb r0, [r1, r0]
- bx lr
- .balign 4
-_02026544: .word 0x00000624
-
- thumb_func_start FUN_02026548
-FUN_02026548: ; 0x02026548
- add r1, r0, r1
- mov r0, #0x17
- lsl r0, r0, #0x6
- ldrb r0, [r1, r0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02026554
-FUN_02026554: ; 0x02026554
- push {r4-r7}
- ldr r3, _020265B0 ; =0x00000211
- add r7, r0, #0x0
- mov r12, r1
- mov r0, #0x0
- add r1, r7, #0x0
- sub r4, r3, #0x1
- sub r5, r3, #0x2
-_02026564:
- ldrb r6, [r1, r5]
- cmp r6, #0x0
- bne _020265A0
- ldrb r6, [r1, r4]
- cmp r6, #0x0
- bne _020265A0
- ldrb r6, [r1, r3]
- cmp r6, #0x0
- bne _020265A0
- lsl r1, r0, #0x1
- add r1, r0, r1
- mov r5, #0xf
- ldr r4, _020265B4 ; =0x0000020F
- add r1, r7, r1
- mov r3, r12
- strb r3, [r1, r4]
- lsl r5, r5, #0x8
- mov r3, r12
- and r3, r5
- asr r6, r3, #0x8
- add r3, r2, #0x0
- and r3, r5
- asr r3, r3, #0x4
- add r5, r6, r3
- add r3, r4, #0x1
- strb r5, [r1, r3]
- add r3, r4, #0x2
- strb r2, [r1, r3]
- pop {r4-r7}
- bx lr
-_020265A0:
- add r0, r0, #0x1
- add r1, r1, #0x3
- cmp r0, #0xff
- blt _02026564
- mov r0, #0x0
- pop {r4-r7}
- bx lr
- nop
-_020265B0: .word 0x00000211
-_020265B4: .word 0x0000020F
-
- thumb_func_start FUN_020265B8
-FUN_020265B8: ; 0x020265B8
- push {r3-r5, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- cmp r4, #0xff
- blt _020265C6
- bl ErrorHandling
-_020265C6:
- ldr r0, _020265DC ; =0x0000020F
- mov r2, #0x3
- add r1, r5, r0
- lsl r0, r4, #0x1
- add r0, r4, r0
- add r0, r1, r0
- mov r1, #0x0
- blx MI_CpuFill8
- pop {r3-r5, pc}
- nop
-_020265DC: .word 0x0000020F
-
- thumb_func_start FUN_020265E0
-FUN_020265E0: ; 0x020265E0
- lsl r2, r1, #0x1
- add r1, r1, r2
- add r1, r0, r1
- ldr r0, _020265FC ; =0x0000020F
- ldrb r2, [r1, r0]
- add r0, r0, #0x1
- ldrb r0, [r1, r0]
- lsl r1, r0, #0x8
- mov r0, #0xf
- lsl r0, r0, #0x8
- and r0, r1
- add r0, r2, r0
- bx lr
- nop
-_020265FC: .word 0x0000020F
-
- thumb_func_start FUN_02026600
-FUN_02026600: ; 0x02026600
- lsl r2, r1, #0x1
- add r1, r1, r2
- add r1, r0, r1
- ldr r0, _0202661C ; =0x00000211
- ldrb r2, [r1, r0]
- sub r0, r0, #0x1
- ldrb r0, [r1, r0]
- lsl r1, r0, #0x4
- mov r0, #0xf
- lsl r0, r0, #0x8
- and r0, r1
- add r0, r2, r0
- bx lr
- nop
-_0202661C: .word 0x00000211
-
- thumb_func_start FUN_02026620
-FUN_02026620: ; 0x02026620
- mov r1, #0x9b
- lsl r1, r1, #0x4
- ldrb r0, [r0, r1]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x1c
- bne _02026630
- mov r0, #0x1
- bx lr
-_02026630:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_02026634
-FUN_02026634: ; 0x02026634
- mov r2, #0x9b
- lsl r2, r2, #0x4
- ldrb r3, [r0, r2]
- mov r1, #0xf0
- bic r3, r1
- mov r1, #0x10
- orr r1, r3
- strb r1, [r0, r2]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02026648
-FUN_02026648: ; 0x02026648
- mov r1, #0x9b
- lsl r1, r1, #0x4
- ldrb r0, [r0, r1]
- lsl r0, r0, #0x1c
- lsr r0, r0, #0x1c
- bx lr
-
- thumb_func_start FUN_02026654
-FUN_02026654: ; 0x02026654
- mov r2, #0x9b
- lsl r2, r2, #0x4
- ldrb r3, [r0, r2]
- mov r1, #0xf
- bic r3, r1
- strb r3, [r0, r2]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02026664
-FUN_02026664: ; 0x02026664
- push {r3-r4}
- cmp r1, #0x2c
- blt _0202667E
- cmp r1, #0x3b
- bgt _0202667E
- ldr r2, _02026684 ; =0x0000080C
- mov r3, #0x1
- sub r1, #0x2c
- ldr r4, [r0, r2]
- lsl r3, r1
- add r1, r4, #0x0
- orr r1, r3
- str r1, [r0, r2]
-_0202667E:
- pop {r3-r4}
- bx lr
- nop
-_02026684: .word 0x0000080C
-
- thumb_func_start FUN_02026688
-FUN_02026688: ; 0x02026688
- cmp r1, #0x2c
- blt _02026690
- cmp r1, #0x3b
- ble _02026694
-_02026690:
- mov r0, #0x1
- bx lr
-_02026694:
- ldr r2, _020266AC ; =0x0000080C
- sub r1, #0x2c
- ldr r3, [r0, r2]
- mov r0, #0x1
- add r2, r0, #0x0
- lsl r2, r1
- add r1, r3, #0x0
- tst r1, r2
- beq _020266A8
- mov r0, #0x0
-_020266A8:
- bx lr
- nop
-_020266AC: .word 0x0000080C
-
- thumb_func_start FUN_020266B0
-FUN_020266B0: ; 0x020266B0
- ldr r1, _020266C4 ; =0x000009AF
- ldrb r2, [r0, r1]
- cmp r2, #0x63
- blo _020266BE
- mov r2, #0x0
- strb r2, [r0, r1]
- bx lr
-_020266BE:
- add r2, r2, #0x1
- strb r2, [r0, r1]
- bx lr
- .balign 4
-_020266C4: .word 0x000009AF
-
- thumb_func_start FUN_020266C8
-FUN_020266C8: ; 0x020266C8
- ldr r1, _020266D0 ; =0x000009AF
- ldrb r0, [r0, r1]
- bx lr
- nop
-_020266D0: .word 0x000009AF
-
- thumb_func_start FUN_020266D4
-FUN_020266D4: ; 0x020266D4
- ldr r3, _020266DC ; =MI_CpuFill8
- mov r1, #0x0
- mov r2, #0x94
- bx r3
- .balign 4
-_020266DC: .word MI_CpuFill8
-
- thumb_func_start FUN_020266E0
-FUN_020266E0: ; 0x020266E0
- push {r4, lr}
- add r4, r0, #0x0
- mov r1, #0x0
- mov r2, #0x2d
- blx MI_CpuFill8
- add r0, r4, #0x0
- add r0, #0x2d
- mov r1, #0x0
- mov r2, #0x20
- blx MI_CpuFill8
- add r0, r4, #0x0
- mov r1, #0x0
- add r0, #0x8c
- strh r1, [r0, #0x0]
- add r0, r4, #0x0
- add r0, #0x8e
- strh r1, [r0, #0x0]
- add r0, r4, #0x0
- add r0, #0x90
- strb r1, [r0, #0x0]
- add r4, #0x91
- strb r1, [r4, #0x0]
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02026714
-FUN_02026714: ; 0x02026714
- mov r1, #0x0
- add r0, #0x91
- strb r1, [r0, #0x0]
- bx lr
-
- thumb_func_start FUN_0202671C
-FUN_0202671C: ; 0x0202671C
- push {r3-r7, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- add r7, r2, #0x0
- add r6, r3, #0x0
- cmp r4, #0x20
- blt _0202672E
- bl ErrorHandling
-_0202672E:
- cmp r6, #0x20
- blt _02026736
- bl ErrorHandling
-_02026736:
- ldr r0, [sp, #0x18]
- cmp r0, #0x20
- blt _02026740
- bl ErrorHandling
-_02026740:
- cmp r5, #0x0
- bne _02026748
- bl ErrorHandling
-_02026748:
- cmp r4, #0x0
- beq _02026774
- cmp r4, #0x10
- bge _02026762
- sub r1, r4, #0x1
- lsl r0, r1, #0x1
- add r0, r1, r0
- strb r6, [r5, r0]
- ldr r1, [sp, #0x18]
- add r0, r5, r0
- strb r1, [r0, #0x1]
- strb r7, [r0, #0x2]
- pop {r3-r7, pc}
-_02026762:
- sub r4, #0x10
- lsl r2, r4, #0x1
- add r0, r5, r2
- add r0, #0x2d
- strb r6, [r0, #0x0]
- add r0, r5, r2
- ldr r1, [sp, #0x18]
- add r0, #0x2e
- strb r1, [r0, #0x0]
-_02026774:
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02026778
-FUN_02026778: ; 0x02026778
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r6, r1, #0x0
- add r7, r2, #0x0
- add r4, r3, #0x0
- bl FUN_020267C4
- add r2, r0, #0x0
- add r0, r5, #0x0
- add r1, r6, #0x0
- add r3, r7, #0x0
- str r4, [sp, #0x0]
- bl FUN_0202671C
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02026798
-FUN_02026798: ; 0x02026798
- add r0, #0x88
- ldr r0, [r0, #0x0]
- lsl r0, r0, #0xc
- lsr r0, r0, #0xc
- cmp r0, #0x32
- blt _020267A8
- mov r0, #0x5
- bx lr
-_020267A8:
- cmp r0, #0xa
- blt _020267B0
- mov r0, #0x4
- bx lr
-_020267B0:
- cmp r0, #0x3
- blt _020267B8
- mov r0, #0x3
- bx lr
-_020267B8:
- cmp r0, #0x1
- blt _020267C0
- mov r0, #0x2
- bx lr
-_020267C0:
- mov r0, #0x1
- bx lr
-
- thumb_func_start FUN_020267C4
-FUN_020267C4: ; 0x020267C4
- push {r3-r5, lr}
- add r5, r1, #0x0
- add r4, r0, #0x0
- cmp r5, #0x20
- blt _020267D2
- bl ErrorHandling
-_020267D2:
- cmp r5, #0x0
- bne _020267DE
- add r0, r4, #0x0
- bl FUN_02026798
- pop {r3-r5, pc}
-_020267DE:
- cmp r5, #0x10
- bge _020267EE
- sub r1, r5, #0x1
- lsl r0, r1, #0x1
- add r0, r1, r0
- add r0, r4, r0
- ldrb r0, [r0, #0x2]
- pop {r3-r5, pc}
-_020267EE:
- sub r5, #0x10
- lsl r1, r5, #0x1
- add r0, r4, r1
- add r0, #0x2d
- ldrb r0, [r0, #0x0]
- cmp r0, #0x0
- beq _0202680A
- add r0, r4, r1
- add r0, #0x2e
- ldrb r0, [r0, #0x0]
- cmp r0, #0x0
- beq _0202680A
- mov r0, #0x6
- pop {r3-r5, pc}
-_0202680A:
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02026810
-FUN_02026810: ; 0x02026810
- push {r3-r5, lr}
- add r5, r1, #0x0
- add r4, r0, #0x0
- cmp r5, #0x20
- blt _0202681E
- bl ErrorHandling
-_0202681E:
- cmp r5, #0x0
- bne _02026826
- mov r0, #0xf
- pop {r3-r5, pc}
-_02026826:
- cmp r5, #0x10
- bge _02026834
- sub r1, r5, #0x1
- lsl r0, r1, #0x1
- add r0, r1, r0
- ldrb r0, [r4, r0]
- pop {r3-r5, pc}
-_02026834:
- sub r5, #0x10
- lsl r0, r5, #0x1
- add r0, r4, r0
- add r0, #0x2d
- ldrb r0, [r0, #0x0]
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02026840
-FUN_02026840: ; 0x02026840
- push {r3-r5, lr}
- add r5, r1, #0x0
- add r4, r0, #0x0
- cmp r5, #0x20
- blt _0202684E
- bl ErrorHandling
-_0202684E:
- cmp r5, #0x0
- bne _02026856
- mov r0, #0xc
- pop {r3-r5, pc}
-_02026856:
- cmp r5, #0x10
- bge _02026866
- sub r1, r5, #0x1
- lsl r0, r1, #0x1
- add r0, r1, r0
- add r0, r4, r0
- ldrb r0, [r0, #0x1]
- pop {r3-r5, pc}
-_02026866:
- sub r5, #0x10
- lsl r0, r5, #0x1
- add r0, r4, r0
- add r0, #0x2e
- ldrb r0, [r0, #0x0]
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02026874
-FUN_02026874: ; 0x02026874
- add r0, #0x88
- ldr r0, [r0, #0x0]
- lsl r0, r0, #0xc
- lsr r0, r0, #0xc
- cmp r0, #0x32
- blo _02026884
- mov r0, #0x0
- bx lr
-_02026884:
- cmp r0, #0xa
- blo _0202688C
- mov r0, #0x6
- bx lr
-_0202688C:
- cmp r0, #0x3
- blo _02026894
- mov r0, #0xb
- bx lr
-_02026894:
- cmp r0, #0x1
- blo _0202689C
- mov r0, #0xf
- bx lr
-_0202689C:
- mov r0, #0x10
- bx lr
-
- thumb_func_start FUN_020268A0
-FUN_020268A0: ; 0x020268A0
- add r0, #0x88
- ldr r0, [r0, #0x0]
- lsl r0, r0, #0xc
- lsr r0, r0, #0xc
- cmp r0, #0x32
- blo _020268B0
- mov r0, #0xf
- bx lr
-_020268B0:
- cmp r0, #0xa
- blo _020268B8
- mov r0, #0xf
- bx lr
-_020268B8:
- cmp r0, #0x3
- blo _020268C0
- mov r0, #0xf
- bx lr
-_020268C0:
- cmp r0, #0x1
- blo _020268C8
- mov r0, #0xc
- bx lr
-_020268C8:
- mov r0, #0xa
- bx lr
-
- thumb_func_start FUN_020268CC
-FUN_020268CC: ; 0x020268CC
- ldr r0, [r0, #0x0]
- lsl r0, r0, #0xc
- lsr r0, r0, #0xc
- bx lr
-
- thumb_func_start FUN_020268D4
-FUN_020268D4: ; 0x020268D4
- push {r3, lr}
- bl FUN_020269A0
- cmp r0, #0x4
- bne _020268E2
- mov r0, #0x1
- pop {r3, pc}
-_020268E2:
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_020268E8
-FUN_020268E8: ; 0x020268E8
- ldr r3, [r0, #0x0]
- ldr r2, _020268F8 ; =0xFFF00000
- and r3, r2
- ldr r2, _020268FC ; =0x000FFFFF
- and r1, r2
- orr r1, r3
- str r1, [r0, #0x0]
- bx lr
- .balign 4
-_020268F8: .word 0xFFF00000
-_020268FC: .word 0x000FFFFF
-
- thumb_func_start FUN_02026900
-FUN_02026900: ; 0x02026900
- ldr r0, [r0, #0x4]
- lsl r0, r0, #0xc
- lsr r0, r0, #0xc
- bx lr
-
- thumb_func_start FUN_02026908
-FUN_02026908: ; 0x02026908
- push {r3-r4}
- ldr r2, [r0, #0x4]
- lsl r1, r2, #0xc
- lsr r4, r1, #0xc
- ldr r1, _0202692C ; =0x000F423F
- cmp r4, r1
- bhs _02026926
- ldr r1, _02026930 ; =0xFFF00000
- add r3, r2, #0x0
- and r3, r1
- ldr r1, _02026934 ; =0x000FFFFF
- add r2, r4, #0x1
- and r1, r2
- orr r1, r3
- str r1, [r0, #0x4]
-_02026926:
- pop {r3-r4}
- bx lr
- nop
-_0202692C: .word 0x000F423F
-_02026930: .word 0xFFF00000
-_02026934: .word 0x000FFFFF
-
- thumb_func_start FUN_02026938
-FUN_02026938: ; 0x02026938
- ldr r0, [r0, #0x8]
- lsl r0, r0, #0xc
- lsr r0, r0, #0xc
- bx lr
-
- thumb_func_start FUN_02026940
-FUN_02026940: ; 0x02026940
- push {r3-r4}
- ldr r2, [r0, #0x8]
- lsl r1, r2, #0xc
- lsr r4, r1, #0xc
- ldr r1, _02026964 ; =0x000F423F
- cmp r4, r1
- bhs _0202695E
- ldr r1, _02026968 ; =0xFFF00000
- add r3, r2, #0x0
- and r3, r1
- ldr r1, _0202696C ; =0x000FFFFF
- add r2, r4, #0x1
- and r1, r2
- orr r1, r3
- str r1, [r0, #0x8]
-_0202695E:
- pop {r3-r4}
- bx lr
- nop
-_02026964: .word 0x000F423F
-_02026968: .word 0xFFF00000
-_0202696C: .word 0x000FFFFF
-
- thumb_func_start FUN_02026970
-FUN_02026970: ; 0x02026970
- push {r3-r4}
- ldr r2, [r0, #0xc]
- lsl r1, r2, #0xc
- lsr r4, r1, #0xc
- ldr r1, _02026994 ; =0x000F423F
- cmp r4, r1
- bhs _0202698E
- ldr r1, _02026998 ; =0xFFF00000
- add r3, r2, #0x0
- and r3, r1
- ldr r1, _0202699C ; =0x000FFFFF
- add r2, r4, #0x1
- and r1, r2
- orr r1, r3
- str r1, [r0, #0xc]
-_0202698E:
- pop {r3-r4}
- bx lr
- nop
-_02026994: .word 0x000F423F
-_02026998: .word 0xFFF00000
-_0202699C: .word 0x000FFFFF
-
- thumb_func_start FUN_020269A0
-FUN_020269A0: ; 0x020269A0
- ldr r0, [r0, #0x38]
- lsl r0, r0, #0xc
- lsr r0, r0, #0xc
- cmp r0, #0x32
- blt _020269AE
- mov r0, #0x4
- bx lr
-_020269AE:
- cmp r0, #0xa
- blt _020269B6
- mov r0, #0x3
- bx lr
-_020269B6:
- cmp r0, #0x3
- blt _020269BE
- mov r0, #0x2
- bx lr
-_020269BE:
- cmp r0, #0x1
- blt _020269C6
- mov r0, #0x1
- bx lr
-_020269C6:
- mov r0, #0x0
- bx lr
- .balign 4
-
- thumb_func_start FUN_020269CC
-FUN_020269CC: ; 0x020269CC
- ldr r0, [r0, #0x38]
- lsl r0, r0, #0xc
- lsr r0, r0, #0xc
- bx lr
-
- thumb_func_start FUN_020269D4
-FUN_020269D4: ; 0x020269D4
- push {r3-r4}
- ldr r2, [r0, #0x38]
- lsl r1, r2, #0xc
- lsr r4, r1, #0xc
- ldr r1, _020269F8 ; =0x000F423F
- cmp r4, r1
- bhs _020269F2
- ldr r1, _020269FC ; =0xFFF00000
- add r3, r2, #0x0
- and r3, r1
- ldr r1, _02026A00 ; =0x000FFFFF
- add r2, r4, #0x1
- and r1, r2
- orr r1, r3
- str r1, [r0, #0x38]
-_020269F2:
- pop {r3-r4}
- bx lr
- nop
-_020269F8: .word 0x000F423F
-_020269FC: .word 0xFFF00000
-_02026A00: .word 0x000FFFFF
-
- thumb_func_start FUN_02026A04
-FUN_02026A04: ; 0x02026A04
- ldr r0, [r0, #0x10]
- lsl r0, r0, #0xc
- lsr r0, r0, #0xc
- bx lr
-
- thumb_func_start FUN_02026A0C
-FUN_02026A0C: ; 0x02026A0C
- push {r4-r5}
- cmp r1, #0x0
- ble _02026A2C
- ldr r4, [r0, #0x10]
- lsl r2, r4, #0xc
- lsr r5, r2, #0xc
- ldr r2, _02026A44 ; =0x000F423F
- sub r3, r2, r1
- cmp r5, r3
- bls _02026A2C
- ldr r1, _02026A48 ; =0xFFF00000
- and r1, r4
- orr r1, r2
- str r1, [r0, #0x10]
- pop {r4-r5}
- bx lr
-_02026A2C:
- ldr r3, [r0, #0x10]
- ldr r2, _02026A48 ; =0xFFF00000
- and r2, r3
- lsl r3, r3, #0xc
- lsr r3, r3, #0xc
- add r3, r3, r1
- ldr r1, _02026A4C ; =0x000FFFFF
- and r1, r3
- orr r1, r2
- str r1, [r0, #0x10]
- pop {r4-r5}
- bx lr
- .balign 4
-_02026A44: .word 0x000F423F
-_02026A48: .word 0xFFF00000
-_02026A4C: .word 0x000FFFFF
-
- thumb_func_start FUN_02026A50
-FUN_02026A50: ; 0x02026A50
- ldr r0, [r0, #0x14]
- lsl r0, r0, #0xc
- lsr r0, r0, #0xc
- bx lr
-
- thumb_func_start FUN_02026A58
-FUN_02026A58: ; 0x02026A58
- push {r4-r5}
- cmp r1, #0x0
- ble _02026A78
- ldr r4, [r0, #0x14]
- lsl r2, r4, #0xc
- lsr r5, r2, #0xc
- ldr r2, _02026A90 ; =0x000F423F
- sub r3, r2, r1
- cmp r5, r3
- bls _02026A78
- ldr r1, _02026A94 ; =0xFFF00000
- and r1, r4
- orr r1, r2
- str r1, [r0, #0x14]
- pop {r4-r5}
- bx lr
-_02026A78:
- ldr r3, [r0, #0x14]
- ldr r2, _02026A94 ; =0xFFF00000
- and r2, r3
- lsl r3, r3, #0xc
- lsr r3, r3, #0xc
- add r3, r3, r1
- ldr r1, _02026A98 ; =0x000FFFFF
- and r1, r3
- orr r1, r2
- str r1, [r0, #0x14]
- pop {r4-r5}
- bx lr
- .balign 4
-_02026A90: .word 0x000F423F
-_02026A94: .word 0xFFF00000
-_02026A98: .word 0x000FFFFF
-
- thumb_func_start FUN_02026A9C
-FUN_02026A9C: ; 0x02026A9C
- push {r4-r5}
- cmp r1, #0x0
- ble _02026ABC
- ldr r4, [r0, #0x18]
- lsl r2, r4, #0xc
- lsr r5, r2, #0xc
- ldr r2, _02026AD4 ; =0x000F423F
- sub r3, r2, r1
- cmp r5, r3
- bls _02026ABC
- ldr r1, _02026AD8 ; =0xFFF00000
- and r1, r4
- orr r1, r2
- str r1, [r0, #0x18]
- pop {r4-r5}
- bx lr
-_02026ABC:
- ldr r3, [r0, #0x18]
- ldr r2, _02026AD8 ; =0xFFF00000
- and r2, r3
- lsl r3, r3, #0xc
- lsr r3, r3, #0xc
- add r3, r3, r1
- ldr r1, _02026ADC ; =0x000FFFFF
- and r1, r3
- orr r1, r2
- str r1, [r0, #0x18]
- pop {r4-r5}
- bx lr
- .balign 4
-_02026AD4: .word 0x000F423F
-_02026AD8: .word 0xFFF00000
-_02026ADC: .word 0x000FFFFF
-
- thumb_func_start FUN_02026AE0
-FUN_02026AE0: ; 0x02026AE0
- ldr r0, [r0, #0x1c]
- lsl r0, r0, #0xc
- lsr r0, r0, #0xc
- bx lr
-
- thumb_func_start FUN_02026AE8
-FUN_02026AE8: ; 0x02026AE8
- push {r3-r4}
- ldr r2, [r0, #0x1c]
- lsl r1, r2, #0xc
- lsr r4, r1, #0xc
- ldr r1, _02026B0C ; =0x000F423F
- cmp r4, r1
- bhs _02026B06
- ldr r1, _02026B10 ; =0xFFF00000
- add r3, r2, #0x0
- and r3, r1
- ldr r1, _02026B14 ; =0x000FFFFF
- add r2, r4, #0x1
- and r1, r2
- orr r1, r3
- str r1, [r0, #0x1c]
-_02026B06:
- pop {r3-r4}
- bx lr
- nop
-_02026B0C: .word 0x000F423F
-_02026B10: .word 0xFFF00000
-_02026B14: .word 0x000FFFFF
-
- thumb_func_start FUN_02026B18
-FUN_02026B18: ; 0x02026B18
- ldr r0, [r0, #0x20]
- lsl r0, r0, #0xc
- lsr r0, r0, #0xc
- bx lr
-
- thumb_func_start FUN_02026B20
-FUN_02026B20: ; 0x02026B20
- push {r3-r4}
- ldr r2, [r0, #0x20]
- lsl r1, r2, #0xc
- lsr r4, r1, #0xc
- ldr r1, _02026B44 ; =0x000F423F
- cmp r4, r1
- bhs _02026B3E
- ldr r1, _02026B48 ; =0xFFF00000
- add r3, r2, #0x0
- and r3, r1
- ldr r1, _02026B4C ; =0x000FFFFF
- add r2, r4, #0x1
- and r1, r2
- orr r1, r3
- str r1, [r0, #0x20]
-_02026B3E:
- pop {r3-r4}
- bx lr
- nop
-_02026B44: .word 0x000F423F
-_02026B48: .word 0xFFF00000
-_02026B4C: .word 0x000FFFFF
-
- thumb_func_start FUN_02026B50
-FUN_02026B50: ; 0x02026B50
- ldr r0, [r0, #0x24]
- lsl r0, r0, #0xc
- lsr r0, r0, #0xc
- bx lr
-
- thumb_func_start FUN_02026B58
-FUN_02026B58: ; 0x02026B58
- push {r3-r4}
- ldr r2, [r0, #0x24]
- lsl r1, r2, #0xc
- lsr r4, r1, #0xc
- ldr r1, _02026B7C ; =0x000F423F
- cmp r4, r1
- bhs _02026B76
- ldr r1, _02026B80 ; =0xFFF00000
- add r3, r2, #0x0
- and r3, r1
- ldr r1, _02026B84 ; =0x000FFFFF
- add r2, r4, #0x1
- and r1, r2
- orr r1, r3
- str r1, [r0, #0x24]
-_02026B76:
- pop {r3-r4}
- bx lr
- nop
-_02026B7C: .word 0x000F423F
-_02026B80: .word 0xFFF00000
-_02026B84: .word 0x000FFFFF
-
- thumb_func_start FUN_02026B88
-FUN_02026B88: ; 0x02026B88
- ldr r0, [r0, #0x28]
- lsl r0, r0, #0xc
- lsr r0, r0, #0xc
- bx lr
-
- thumb_func_start FUN_02026B90
-FUN_02026B90: ; 0x02026B90
- push {r3-r4}
- ldr r2, [r0, #0x28]
- lsl r1, r2, #0xc
- lsr r4, r1, #0xc
- ldr r1, _02026BB4 ; =0x000F423F
- cmp r4, r1
- bhs _02026BAE
- ldr r1, _02026BB8 ; =0xFFF00000
- add r3, r2, #0x0
- and r3, r1
- ldr r1, _02026BBC ; =0x000FFFFF
- add r2, r4, #0x1
- and r1, r2
- orr r1, r3
- str r1, [r0, #0x28]
-_02026BAE:
- pop {r3-r4}
- bx lr
- nop
-_02026BB4: .word 0x000F423F
-_02026BB8: .word 0xFFF00000
-_02026BBC: .word 0x000FFFFF
-
- thumb_func_start FUN_02026BC0
-FUN_02026BC0: ; 0x02026BC0
- ldr r0, [r0, #0x2c]
- lsl r0, r0, #0xc
- lsr r0, r0, #0xc
- bx lr
-
- thumb_func_start FUN_02026BC8
-FUN_02026BC8: ; 0x02026BC8
- push {r3-r4}
- ldr r2, [r0, #0x2c]
- lsl r1, r2, #0xc
- lsr r4, r1, #0xc
- ldr r1, _02026BEC ; =0x000F423F
- cmp r4, r1
- bhs _02026BE6
- ldr r1, _02026BF0 ; =0xFFF00000
- add r3, r2, #0x0
- and r3, r1
- ldr r1, _02026BF4 ; =0x000FFFFF
- add r2, r4, #0x1
- and r1, r2
- orr r1, r3
- str r1, [r0, #0x2c]
-_02026BE6:
- pop {r3-r4}
- bx lr
- nop
-_02026BEC: .word 0x000F423F
-_02026BF0: .word 0xFFF00000
-_02026BF4: .word 0x000FFFFF
-
- thumb_func_start FUN_02026BF8
-FUN_02026BF8: ; 0x02026BF8
- ldr r0, [r0, #0x30]
- lsl r0, r0, #0xc
- lsr r0, r0, #0xc
- bx lr
-
- thumb_func_start FUN_02026C00
-FUN_02026C00: ; 0x02026C00
- push {r3-r4}
- ldr r2, [r0, #0x30]
- lsl r1, r2, #0xc
- lsr r4, r1, #0xc
- ldr r1, _02026C24 ; =0x000F423F
- cmp r4, r1
- bhs _02026C1E
- ldr r1, _02026C28 ; =0xFFF00000
- add r3, r2, #0x0
- and r3, r1
- ldr r1, _02026C2C ; =0x000FFFFF
- add r2, r4, #0x1
- and r1, r2
- orr r1, r3
- str r1, [r0, #0x30]
-_02026C1E:
- pop {r3-r4}
- bx lr
- nop
-_02026C24: .word 0x000F423F
-_02026C28: .word 0xFFF00000
-_02026C2C: .word 0x000FFFFF
-
- thumb_func_start FUN_02026C30
-FUN_02026C30: ; 0x02026C30
- ldr r0, [r0, #0x34]
- lsl r0, r0, #0xc
- lsr r0, r0, #0xc
- bx lr
-
- thumb_func_start FUN_02026C38
-FUN_02026C38: ; 0x02026C38
- push {r3-r4}
- ldr r2, [r0, #0x34]
- lsl r1, r2, #0xc
- lsr r4, r1, #0xc
- ldr r1, _02026C5C ; =0x000F423F
- cmp r4, r1
- bhs _02026C56
- ldr r1, _02026C60 ; =0xFFF00000
- add r3, r2, #0x0
- and r3, r1
- ldr r1, _02026C64 ; =0x000FFFFF
- add r2, r4, #0x1
- and r1, r2
- orr r1, r3
- str r1, [r0, #0x34]
-_02026C56:
- pop {r3-r4}
- bx lr
- nop
-_02026C5C: .word 0x000F423F
-_02026C60: .word 0xFFF00000
-_02026C64: .word 0x000FFFFF
-
- thumb_func_start FUN_02026C68
-FUN_02026C68: ; 0x02026C68
- push {r3-r4}
- add r4, r0, #0x0
- add r4, #0x8c
- strh r1, [r4, #0x0]
- add r1, r0, #0x0
- add r1, #0x8e
- strh r2, [r1, #0x0]
- add r1, r0, #0x0
- add r1, #0x90
- strb r3, [r1, #0x0]
- mov r1, #0x1
- add r0, #0x91
- strb r1, [r0, #0x0]
- pop {r3-r4}
- bx lr
- .balign 4
-
- thumb_func_start FUN_02026C88
-FUN_02026C88: ; 0x02026C88
- add r0, #0x8c
- ldrh r0, [r0, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02026C90
-FUN_02026C90: ; 0x02026C90
- add r0, #0x8e
- ldrh r0, [r0, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02026C98
-FUN_02026C98: ; 0x02026C98
- add r0, #0x90
- ldrb r0, [r0, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02026CA0
-FUN_02026CA0: ; 0x02026CA0
- add r0, #0x91
- ldrb r0, [r0, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02026CA8
-FUN_02026CA8: ; 0x02026CA8
- ldr r3, _02026CB0 ; =FUN_02022610
- mov r1, #0xc
- bx r3
- nop
-_02026CB0: .word FUN_02022610
-
- thumb_func_start FUN_02026CB4
-FUN_02026CB4: ; 0x02026CB4
- push {r3, lr}
- mov r1, #0xc
- bl FUN_02022610
- add r0, #0x50
- pop {r3, pc}
-
- thumb_func_start FUN_02026CC0
-FUN_02026CC0: ; 0x02026CC0
- add r0, #0x50
- bx lr
-
- thumb_func_start FUN_02026CC4
-FUN_02026CC4: ; 0x02026CC4
- ldr r3, _02026CCC ; =FUN_02022610
- mov r1, #0xc
- bx r3
- nop
-_02026CCC: .word FUN_02022610
-
- thumb_func_start FUN_02026CD0
-FUN_02026CD0: ; 0x02026CD0
- push {r3-r7, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- add r6, r2, #0x0
- add r0, r4, #0x0
- mov r1, #0x5
- mov r2, #0x0
- add r7, r3, #0x0
- bl FUN_020671BC
- add r2, r5, #0x0
- strh r0, [r5, #0x8]
- add r0, r4, #0x0
- mov r1, #0x74
- add r2, #0xa
- bl FUN_020671BC
- mov r1, #0x0
- add r0, r4, #0x0
- add r2, r1, #0x0
- bl FUN_020671BC
- str r0, [r5, #0x0]
- add r0, r4, #0x0
- mov r1, #0x7
- mov r2, #0x0
- bl FUN_020671BC
- str r0, [r5, #0x4]
- add r0, r4, #0x0
- mov r1, #0x70
- mov r2, #0x0
- bl FUN_020671BC
- add r1, r5, #0x0
- add r1, #0x33
- strb r0, [r1, #0x0]
- add r0, r5, #0x0
- add r0, #0x31
- strb r6, [r0, #0x0]
- add r0, r5, #0x0
- add r0, #0x32
- strb r7, [r0, #0x0]
- add r1, sp, #0x8
- mov r0, #0x10
- ldrsb r0, [r1, r0]
- add r5, #0x30
- strb r0, [r5, #0x0]
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02026D34
-FUN_02026D34: ; 0x02026D34
- push {r3-r6, lr}
- sub sp, #0xc
- add r4, r2, #0x0
- add r5, r0, #0x0
- add r6, r1, #0x0
- add r0, r4, #0x0
- add r1, sp, #0x4
- add r2, sp, #0x8
- bl FUN_021DB858
- add r0, r4, #0x0
- bl FUN_021DB7E8
- add r4, r0, #0x0
- mov r0, #0x1
- ldr r1, [sp, #0x4]
- lsl r0, r0, #0x8
- cmp r1, r0
- blt _02026D5E
- bl ErrorHandling
-_02026D5E:
- mov r0, #0x1
- ldr r1, [sp, #0x8]
- lsl r0, r0, #0x8
- cmp r1, r0
- blt _02026D6C
- bl ErrorHandling
-_02026D6C:
- mov r0, #0x7f
- mvn r0, r0
- cmp r4, r0
- bgt _02026D78
- bl ErrorHandling
-_02026D78:
- lsl r0, r4, #0x18
- asr r0, r0, #0x18
- str r0, [sp, #0x0]
- ldr r2, [sp, #0x4]
- ldr r3, [sp, #0x8]
- lsl r2, r2, #0x18
- lsl r3, r3, #0x18
- add r0, r5, #0x0
- add r1, r6, #0x0
- lsr r2, r2, #0x18
- lsr r3, r3, #0x18
- bl FUN_02026CD0
- add sp, #0xc
- pop {r3-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02026D98
-FUN_02026D98: ; 0x02026D98
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, r1, #0x0
- add r1, r5, #0x0
- add r4, r2, #0x0
- add r1, #0x20
- mov r2, #0x8
- bl FUN_02021EF0
- add r5, #0x34
- strb r4, [r5, #0x0]
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02026DB0
-FUN_02026DB0: ; 0x02026DB0
- strb r1, [r0, #0x0]
- ldr r1, _02026DC0 ; =0xFFFFFFF0
- strb r2, [r0, #0x1]
- strb r3, [r0, #0x2]
- add r1, sp
- ldrb r1, [r1, #0x10]
- strb r1, [r0, #0x3]
- bx lr
- .balign 4
-_02026DC0: .word 0xFFFFFFF0
-
- thumb_func_start FUN_02026DC4
-FUN_02026DC4: ; 0x02026DC4
- push {r4-r6, lr}
- add r4, r2, #0x0
- add r5, r0, #0x0
- add r6, r1, #0x0
- cmp r4, #0x3d
- blo _02026DD4
- bl ErrorHandling
-_02026DD4:
- lsr r2, r4, #0x1f
- lsl r1, r4, #0x1d
- sub r1, r1, r2
- mov r0, #0x1d
- ror r1, r0
- add r0, r2, r1
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- lsl r0, r0, #0x1a
- lsr r1, r0, #0x18
- lsr r0, r4, #0x3
- lsl r0, r0, #0x18
- mov r2, #0xf
- lsr r0, r0, #0x16
- lsl r2, r1
- ldr r3, [r5, r0]
- mvn r2, r2
- and r2, r3
- str r2, [r5, r0]
- add r2, r6, #0x0
- ldr r3, [r5, r0]
- lsl r2, r1
- add r1, r3, #0x0
- orr r1, r2
- str r1, [r5, r0]
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02026E08
-FUN_02026E08: ; 0x02026E08
- push {r3-r5, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- cmp r4, #0x3d
- blo _02026E16
- bl ErrorHandling
-_02026E16:
- lsr r3, r4, #0x1f
- lsl r2, r4, #0x1d
- lsr r0, r4, #0x3
- lsl r0, r0, #0x18
- lsr r0, r0, #0x16
- sub r2, r2, r3
- mov r1, #0x1d
- ror r2, r1
- add r1, r3, r2
- lsl r1, r1, #0x18
- ldr r0, [r5, r0]
- lsr r1, r1, #0x18
- lsl r1, r1, #0x1a
- add r2, r0, #0x0
- lsr r1, r1, #0x18
- lsr r2, r1
- mov r0, #0xf
- and r0, r2
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- cmp r0, #0x9
- bls _02026E44
- mov r0, #0x9
-_02026E44:
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02026E48
-FUN_02026E48: ; 0x02026E48
- push {r4-r6, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- add r6, r2, #0x0
- cmp r4, #0x2
- blo _02026E58
- bl ErrorHandling
-_02026E58:
- lsr r2, r6, #0x1f
- lsl r1, r6, #0x1b
- sub r1, r1, r2
- mov r0, #0x1b
- ror r1, r0
- add r0, r2, r1
- lsl r0, r0, #0x18
- lsr r1, r0, #0x18
- lsr r0, r6, #0x5
- lsl r0, r0, #0x18
- mov r2, #0x1
- lsr r0, r0, #0x16
- lsl r2, r1
- ldr r3, [r5, r0]
- mvn r2, r2
- and r2, r3
- str r2, [r5, r0]
- add r2, r4, #0x0
- ldr r3, [r5, r0]
- lsl r2, r1
- add r1, r3, #0x0
- orr r1, r2
- str r1, [r5, r0]
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02026E88
-FUN_02026E88: ; 0x02026E88
- lsr r2, r1, #0x5
- lsl r2, r2, #0x18
- lsr r2, r2, #0x16
- ldr r3, [r0, r2]
- lsr r2, r1, #0x1f
- lsl r1, r1, #0x1b
- sub r1, r1, r2
- mov r0, #0x1b
- ror r1, r0
- add r0, r2, r1
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- add r1, r3, #0x0
- lsr r1, r0
- mov r0, #0x1
- and r0, r1
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- bx lr
- .balign 4
-
- thumb_func_start FUN_02026EB0
-FUN_02026EB0: ; 0x02026EB0
- push {r4-r6, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- add r6, r2, #0x0
- cmp r4, #0x12
- bls _02026EC0
- bl ErrorHandling
-_02026EC0:
- lsr r2, r6, #0x1f
- lsl r1, r6, #0x1e
- sub r1, r1, r2
- mov r0, #0x1e
- ror r1, r0
- add r0, r2, r1
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- lsl r0, r0, #0x1b
- lsr r1, r0, #0x18
- lsr r0, r6, #0x2
- lsl r0, r0, #0x18
- mov r2, #0xff
- lsr r0, r0, #0x16
- lsl r2, r1
- ldr r3, [r5, r0]
- mvn r2, r2
- and r2, r3
- str r2, [r5, r0]
- add r2, r4, #0x0
- ldr r3, [r5, r0]
- lsl r2, r1
- add r1, r3, #0x0
- orr r1, r2
- str r1, [r5, r0]
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02026EF4
-FUN_02026EF4: ; 0x02026EF4
- lsr r2, r1, #0x2
- lsl r2, r2, #0x18
- lsr r2, r2, #0x16
- ldr r0, [r0, r2]
- lsr r3, r1, #0x1f
- lsl r2, r1, #0x1e
- sub r2, r2, r3
- mov r1, #0x1e
- ror r2, r1
- add r1, r3, r2
- lsl r1, r1, #0x18
- lsr r1, r1, #0x18
- lsl r1, r1, #0x1b
- lsr r1, r1, #0x18
- lsr r0, r1
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- bx lr
-
- thumb_func_start FUN_02026F18
-FUN_02026F18: ; 0x02026F18
- push {r4-r6, lr}
- mov r5, #0x0
- add r6, r0, #0x0
- add r4, r5, #0x0
-_02026F20:
- lsl r1, r4, #0x18
- add r0, r6, #0x0
- lsr r1, r1, #0x18
- bl FUN_02026EF4
- cmp r0, #0x12
- beq _02026F30
- add r5, r5, #0x1
-_02026F30:
- add r4, r4, #0x1
- cmp r4, #0x12
- blt _02026F20
- lsl r0, r5, #0x18
- lsr r0, r0, #0x18
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02026F3C
-FUN_02026F3C: ; 0x02026F3C
- push {r3-r5, lr}
- add r5, r1, #0x0
- mov r1, #0x2
- add r4, r2, #0x0
- bl FUN_02068E14
- mov r1, #0x80
- strb r1, [r5, #0x0]
- mov r1, #0x28
- sub r1, r1, r0
- mov r0, #0x8d
- sub r0, r0, r1
- strb r0, [r4, #0x0]
- ldrb r0, [r4, #0x0]
- add r0, #0x28
- strb r0, [r4, #0x0]
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02026F60
-FUN_02026F60: ; 0x02026F60
- push {r3-r7, lr}
- add r7, r0, #0x0
- ldr r6, _02026FC8 ; =0x00001234
- mov r4, #0x0
- add r5, r7, #0x0
-_02026F6A:
- add r0, r5, #0x0
- mov r1, #0x0
- mov r2, #0x74
- blx Call_FillMemWithValue
- str r6, [r5, #0x0]
- add r4, r4, #0x1
- add r5, #0x74
- cmp r4, #0xb
- blt _02026F6A
- ldr r0, _02026FCC ; =0x000004FC
- mov r6, #0x0
- add r4, r7, r0
- add r5, r7, #0x0
-_02026F86:
- add r0, r4, #0x0
- mov r1, #0x0
- mov r2, #0x98
- blx Call_FillMemWithValue
- ldr r1, _02026FC8 ; =0x00001234
- ldr r0, _02026FCC ; =0x000004FC
- add r6, r6, #0x1
- str r1, [r5, r0]
- add r4, #0x98
- add r5, #0x98
- cmp r6, #0x5
- blt _02026F86
- ldr r0, _02026FD0 ; =0x000007F4
- mov r1, #0x0
- add r0, r7, r0
- mov r2, #0x40
- blx Call_FillMemWithValue
- ldr r5, _02026FD4 ; =0x0000081C
- mov r4, #0x0
- mov r6, #0x12
-_02026FB2:
- lsl r2, r4, #0x18
- add r0, r7, r5
- add r1, r6, #0x0
- lsr r2, r2, #0x18
- bl FUN_02026EB0
- add r4, r4, #0x1
- cmp r4, #0x12
- blt _02026FB2
- pop {r3-r7, pc}
- nop
-_02026FC8: .word 0x00001234
-_02026FCC: .word 0x000004FC
-_02026FD0: .word 0x000007F4
-_02026FD4: .word 0x0000081C
-
- thumb_func_start FUN_02026FD8
-FUN_02026FD8: ; 0x02026FD8
- ldr r0, _02026FDC ; =0x00000834
- bx lr
- .balign 4
-_02026FDC: .word 0x00000834
-
- thumb_func_start FUN_02026FE0
-FUN_02026FE0: ; 0x02026FE0
- mov r0, #0x74
- bx lr
-
- thumb_func_start FUN_02026FE4
-FUN_02026FE4: ; 0x02026FE4
- mov r0, #0x98
- bx lr
-
- thumb_func_start FUN_02026FE8
-FUN_02026FE8: ; 0x02026FE8
- push {r4, lr}
- mov r1, #0x98
- bl FUN_02016998
- mov r1, #0x0
- mov r2, #0x98
- add r4, r0, #0x0
- blx Call_FillMemWithValue
- ldr r0, _02027004 ; =0x00001234
- str r0, [r4, #0x0]
- add r0, r4, #0x0
- pop {r4, pc}
- nop
-_02027004: .word 0x00001234
-
- thumb_func_start FUN_02027008
-FUN_02027008: ; 0x02027008
- push {r4-r6, lr}
- add r6, r1, #0x0
- add r5, r0, #0x0
- cmp r6, #0xb
- blt _02027016
- bl ErrorHandling
-_02027016:
- mov r0, #0x74
- add r4, r6, #0x0
- mul r4, r0
- ldr r1, [r5, r4]
- ldr r0, _0202703C ; =0x00001234
- cmp r1, r0
- beq _0202702A
- ldr r0, _02027040 ; =0x00002345
- cmp r1, r0
- bne _0202702E
-_0202702A:
- mov r0, #0x1
- b _02027030
-_0202702E:
- mov r0, #0x0
-_02027030:
- cmp r0, #0x0
- bne _02027038
- bl ErrorHandling
-_02027038:
- add r0, r5, r4
- pop {r4-r6, pc}
- .balign 4
-_0202703C: .word 0x00001234
-_02027040: .word 0x00002345
-
- thumb_func_start FUN_02027044
-FUN_02027044: ; 0x02027044
- push {r4-r6, lr}
- add r6, r1, #0x0
- add r5, r0, #0x0
- cmp r6, #0x5
- blt _02027052
- bl ErrorHandling
-_02027052:
- mov r0, #0x98
- add r4, r6, #0x0
- mul r4, r0
- ldr r0, _02027080 ; =0x000004FC
- add r1, r5, r4
- ldr r1, [r1, r0]
- ldr r0, _02027084 ; =0x00001234
- cmp r1, r0
- beq _0202706A
- ldr r0, _02027088 ; =0x00002345
- cmp r1, r0
- bne _0202706E
-_0202706A:
- mov r0, #0x1
- b _02027070
-_0202706E:
- mov r0, #0x0
-_02027070:
- cmp r0, #0x0
- bne _02027078
- bl ErrorHandling
-_02027078:
- ldr r0, _02027080 ; =0x000004FC
- add r0, r5, r0
- add r0, r0, r4
- pop {r4-r6, pc}
- .balign 4
-_02027080: .word 0x000004FC
-_02027084: .word 0x00001234
-_02027088: .word 0x00002345
-
- thumb_func_start FUN_0202708C
-FUN_0202708C: ; 0x0202708C
- ldr r1, _02027094 ; =0x000007F4
- add r0, r0, r1
- bx lr
- nop
-_02027094: .word 0x000007F4
-
- thumb_func_start FUN_02027098
-FUN_02027098: ; 0x02027098
- push {r3-r5, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- cmp r4, #0xb
- blt _020270A6
- bl ErrorHandling
-_020270A6:
- mov r0, #0x74
- mul r0, r4
- add r0, r5, r0
- bl FUN_0202729C
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_020270B4
-FUN_020270B4: ; 0x020270B4
- push {r3-r5, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- cmp r4, #0x5
- blt _020270C2
- bl ErrorHandling
-_020270C2:
- ldr r0, _020270D4 ; =0x000004FC
- add r1, r5, r0
- mov r0, #0x98
- mul r0, r4
- add r0, r1, r0
- bl FUN_020276D8
- pop {r3-r5, pc}
- nop
-_020270D4: .word 0x000004FC
-
- thumb_func_start FUN_020270D8
-FUN_020270D8: ; 0x020270D8
- push {r4-r6, lr}
- add r6, r1, #0x0
- add r5, r2, #0x0
- mov r4, #0x1
- bl FUN_02027114
- cmp r6, #0x3d
- bhs _020270F2
- add r0, r0, r5
- cmp r0, #0x9
- bls _020270FA
- mov r4, #0x0
- b _020270FA
-_020270F2:
- add r0, r0, r5
- cmp r0, #0x1
- bls _020270FA
- mov r4, #0x0
-_020270FA:
- add r0, r4, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02027100
-FUN_02027100: ; 0x02027100
- push {r3, lr}
- bl FUN_0202714C
- cmp r0, #0x12
- beq _0202710E
- mov r0, #0x1
- pop {r3, pc}
-_0202710E:
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_02027114
-FUN_02027114: ; 0x02027114
- push {r3-r5, lr}
- add r5, r1, #0x0
- add r4, r0, #0x0
- cmp r5, #0x64
- blo _02027122
- bl ErrorHandling
-_02027122:
- cmp r5, #0x3d
- bhs _02027132
- lsl r1, r5, #0x18
- add r0, r4, #0x0
- lsr r1, r1, #0x18
- bl FUN_02026E08
- pop {r3-r5, pc}
-_02027132:
- bhs _02027138
- bl ErrorHandling
-_02027138:
- sub r5, #0x3d
- lsl r0, r5, #0x18
- lsr r1, r0, #0x18
- add r4, #0x20
- lsl r1, r1, #0x18
- add r0, r4, #0x0
- lsr r1, r1, #0x18
- bl FUN_02026E88
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0202714C
-FUN_0202714C: ; 0x0202714C
- push {r3-r5, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- cmp r4, #0x12
- blo _0202715A
- bl ErrorHandling
-_0202715A:
- add r5, #0x28
- lsl r1, r4, #0x18
- add r0, r5, #0x0
- lsr r1, r1, #0x18
- bl FUN_02026EF4
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02027168
-FUN_02027168: ; 0x02027168
- push {r4-r6, lr}
- mov r5, #0x0
- add r6, r0, #0x0
- add r4, r5, #0x0
-_02027170:
- add r0, r6, #0x0
- add r1, r4, #0x0
- bl FUN_02027114
- add r4, r4, #0x1
- add r5, r5, r0
- cmp r4, #0x64
- blt _02027170
- add r0, r5, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02027184
-FUN_02027184: ; 0x02027184
- push {r4-r6, lr}
- mov r5, #0x0
- add r6, r0, #0x0
- add r4, r5, #0x0
-_0202718C:
- add r0, r6, #0x0
- add r1, r4, #0x0
- bl FUN_0202714C
- cmp r0, #0x12
- beq _0202719A
- add r5, r5, #0x1
-_0202719A:
- add r4, r4, #0x1
- cmp r4, #0x12
- blt _0202718C
- add r0, r5, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_020271A4
-FUN_020271A4: ; 0x020271A4
- push {r4-r6, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- add r6, r2, #0x0
- cmp r4, #0x64
- blo _020271B4
- bl ErrorHandling
-_020271B4:
- cmp r4, #0x3d
- bhs _020271DA
- lsl r1, r4, #0x18
- add r0, r5, #0x0
- lsr r1, r1, #0x18
- bl FUN_02026E08
- add r0, r0, r6
- lsl r0, r0, #0x18
- lsr r1, r0, #0x18
- cmp r1, #0x9
- bls _020271CE
- mov r1, #0x9
-_020271CE:
- lsl r2, r4, #0x18
- add r0, r5, #0x0
- lsr r2, r2, #0x18
- bl FUN_02026DC4
- pop {r4-r6, pc}
-_020271DA:
- add r0, r5, #0x0
- lsl r1, r4, #0x18
- add r0, #0x20
- lsr r1, r1, #0x18
- bl FUN_02026E88
- add r0, r0, r6
- lsl r0, r0, #0x18
- lsr r6, r0, #0x18
- cmp r6, #0x1
- bls _020271F2
- mov r6, #0x1
-_020271F2:
- cmp r4, #0x3d
- bhs _020271FA
- bl ErrorHandling
-_020271FA:
- sub r4, #0x3d
- lsl r0, r4, #0x18
- lsr r2, r0, #0x18
- add r5, #0x20
- lsl r2, r2, #0x18
- add r0, r5, #0x0
- add r1, r6, #0x0
- lsr r2, r2, #0x18
- bl FUN_02026E48
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02027210
-FUN_02027210: ; 0x02027210
- push {r4-r6, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- add r6, r2, #0x0
- cmp r4, #0x64
- blo _02027220
- bl ErrorHandling
-_02027220:
- cmp r4, #0x3d
- bhs _02027248
- lsl r1, r4, #0x18
- add r0, r5, #0x0
- lsr r1, r1, #0x18
- bl FUN_02026E08
- cmp r0, r6
- bls _0202723A
- sub r0, r0, r6
- lsl r0, r0, #0x18
- lsr r1, r0, #0x18
- b _0202723C
-_0202723A:
- mov r1, #0x0
-_0202723C:
- lsl r2, r4, #0x18
- add r0, r5, #0x0
- lsr r2, r2, #0x18
- bl FUN_02026DC4
- pop {r4-r6, pc}
-_02027248:
- bhs _0202724E
- bl ErrorHandling
-_0202724E:
- sub r4, #0x3d
- lsl r0, r4, #0x18
- lsr r2, r0, #0x18
- add r5, #0x20
- lsl r2, r2, #0x18
- add r0, r5, #0x0
- mov r1, #0x0
- lsr r2, r2, #0x18
- bl FUN_02026E48
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02027264
-FUN_02027264: ; 0x02027264
- push {r3-r5, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- cmp r4, #0x12
- blo _02027272
- bl ErrorHandling
-_02027272:
- add r0, r5, #0x0
- lsl r1, r4, #0x18
- add r0, #0x28
- lsr r1, r1, #0x18
- bl FUN_02026EF4
- cmp r0, #0x12
- bne _02027298
- add r0, r5, #0x0
- add r0, #0x28
- bl FUN_02026F18
- lsl r2, r4, #0x18
- add r5, #0x28
- add r1, r0, #0x0
- add r0, r5, #0x0
- lsr r2, r2, #0x18
- bl FUN_02026EB0
-_02027298:
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0202729C
-FUN_0202729C: ; 0x0202729C
- push {r4, lr}
- add r4, r0, #0x0
- ldr r1, [r4, #0x0]
- ldr r0, _020272CC ; =0x00001234
- cmp r1, r0
- beq _020272AE
- ldr r0, _020272D0 ; =0x00002345
- cmp r1, r0
- bne _020272B2
-_020272AE:
- mov r0, #0x1
- b _020272B4
-_020272B2:
- mov r0, #0x0
-_020272B4:
- cmp r0, #0x0
- bne _020272BC
- bl ErrorHandling
-_020272BC:
- ldr r1, [r4, #0x0]
- ldr r0, _020272D0 ; =0x00002345
- cmp r1, r0
- bne _020272C8
- mov r0, #0x1
- pop {r4, pc}
-_020272C8:
- mov r0, #0x0
- pop {r4, pc}
- .balign 4
-_020272CC: .word 0x00001234
-_020272D0: .word 0x00002345
-
- thumb_func_start FUN_020272D4
-FUN_020272D4: ; 0x020272D4
- push {r4, lr}
- add r4, r0, #0x0
- ldr r1, [r4, #0x0]
- ldr r0, _02027304 ; =0x00001234
- cmp r1, r0
- beq _020272E6
- ldr r0, _02027308 ; =0x00002345
- cmp r1, r0
- bne _020272EA
-_020272E6:
- mov r0, #0x1
- b _020272EC
-_020272EA:
- mov r0, #0x0
-_020272EC:
- cmp r0, #0x0
- bne _020272F4
- bl ErrorHandling
-_020272F4:
- ldr r0, _02027308 ; =0x00002345
- str r0, [r4, #0x0]
- ldr r0, _0202730C ; =0x020ECAC4
- add r4, #0x71
- ldrb r0, [r0, #0x0]
- strb r0, [r4, #0x0]
- pop {r4, pc}
- nop
-_02027304: .word 0x00001234
-_02027308: .word 0x00002345
-_0202730C: .word 0x020ECAC4
-
- thumb_func_start FUN_02027310
-FUN_02027310: ; 0x02027310
- push {r4, lr}
- add r4, r0, #0x0
- ldr r1, [r4, #0x0]
- ldr r0, _02027340 ; =0x00001234
- cmp r1, r0
- beq _02027322
- ldr r0, _02027344 ; =0x00002345
- cmp r1, r0
- bne _02027326
-_02027322:
- mov r0, #0x1
- b _02027328
-_02027326:
- mov r0, #0x0
-_02027328:
- cmp r0, #0x0
- bne _02027330
- bl ErrorHandling
-_02027330:
- add r0, r4, #0x0
- mov r1, #0x0
- mov r2, #0x74
- blx Call_FillMemWithValue
- ldr r0, _02027340 ; =0x00001234
- str r0, [r4, #0x0]
- pop {r4, pc}
- .balign 4
-_02027340: .word 0x00001234
-_02027344: .word 0x00002345
-
- thumb_func_start FUN_02027348
-FUN_02027348: ; 0x02027348
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- ldr r1, [r5, #0x0]
- ldr r0, _02027378 ; =0x00001234
- add r6, r2, #0x0
- cmp r1, r0
- beq _0202735E
- ldr r0, _0202737C ; =0x00002345
- cmp r1, r0
- bne _02027362
-_0202735E:
- mov r0, #0x1
- b _02027364
-_02027362:
- mov r0, #0x0
-_02027364:
- cmp r0, #0x0
- bne _0202736C
- bl ErrorHandling
-_0202736C:
- add r0, r5, #0x4
- add r1, r4, #0x0
- add r2, r6, #0x0
- bl FUN_02026D34
- pop {r4-r6, pc}
- .balign 4
-_02027378: .word 0x00001234
-_0202737C: .word 0x00002345
-
- thumb_func_start FUN_02027380
-FUN_02027380: ; 0x02027380
- push {r4-r7, lr}
- sub sp, #0x14
- add r4, r1, #0x0
- add r5, r0, #0x0
- ldr r0, [r4, #0x4]
- add r6, r2, #0x0
- bl FUN_02013ECC
- add r1, sp, #0xc
- strh r0, [r1, #0x0]
- lsr r0, r0, #0x10
- strh r0, [r1, #0x2]
- ldrh r0, [r1, #0x0]
- strh r0, [r1, #0x4]
- ldrh r0, [r1, #0x2]
- strh r0, [r1, #0x6]
- ldr r0, [r4, #0x4]
- bl FUN_02013F00
- str r0, [sp, #0x8]
- cmp r6, #0xa
- blt _020273B0
- bl ErrorHandling
-_020273B0:
- add r1, sp, #0xc
- mov r0, #0x4
- ldrsh r1, [r1, r0]
- add r0, #0xfc
- cmp r1, r0
- blt _020273C0
- bl ErrorHandling
-_020273C0:
- add r1, sp, #0xc
- mov r0, #0x6
- ldrsh r7, [r1, r0]
- add r0, #0xfa
- cmp r7, r0
- blt _020273D0
- bl ErrorHandling
-_020273D0:
- mov r1, #0x7f
- ldr r0, [sp, #0x8]
- mvn r1, r1
- cmp r0, r1
- bgt _020273DE
- bl ErrorHandling
-_020273DE:
- mov r0, #0x1
- lsl r0, r6
- ldr r1, [r5, #0x3c]
- str r0, [sp, #0x4]
- tst r0, r1
- beq _020273EE
- bl ErrorHandling
-_020273EE:
- ldr r1, [r5, #0x0]
- ldr r0, _02027440 ; =0x00001234
- cmp r1, r0
- beq _020273FC
- ldr r0, _02027444 ; =0x00002345
- cmp r1, r0
- bne _02027400
-_020273FC:
- mov r0, #0x1
- b _02027402
-_02027400:
- mov r0, #0x0
-_02027402:
- cmp r0, #0x0
- bne _0202740A
- bl ErrorHandling
-_0202740A:
- ldr r0, [sp, #0x8]
- add r1, r5, #0x0
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x0]
- add r3, sp, #0xc
- mov r2, #0x4
- ldrsh r2, [r3, r2]
- lsl r3, r7, #0x18
- add r1, #0x48
- lsl r0, r6, #0x2
- add r0, r1, r0
- ldr r1, [r4, #0x0]
- lsl r2, r2, #0x18
- lsl r1, r1, #0x18
- lsr r1, r1, #0x18
- lsr r2, r2, #0x18
- lsr r3, r3, #0x18
- bl FUN_02026DB0
- ldr r1, [r5, #0x3c]
- ldr r0, [sp, #0x4]
- orr r0, r1
- str r0, [r5, #0x3c]
- add sp, #0x14
- pop {r4-r7, pc}
- nop
-_02027440: .word 0x00001234
-_02027444: .word 0x00002345
-
- thumb_func_start FUN_02027448
-FUN_02027448: ; 0x02027448
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- ldr r1, [r5, #0x0]
- ldr r0, _02027470 ; =0x00001234
- cmp r1, r0
- beq _0202745C
- ldr r0, _02027474 ; =0x00002345
- cmp r1, r0
- bne _02027460
-_0202745C:
- mov r0, #0x1
- b _02027462
-_02027460:
- mov r0, #0x0
-_02027462:
- cmp r0, #0x0
- bne _0202746A
- bl ErrorHandling
-_0202746A:
- add r5, #0x70
- strb r4, [r5, #0x0]
- pop {r3-r5, pc}
- .balign 4
-_02027470: .word 0x00001234
-_02027474: .word 0x00002345
-
- thumb_func_start FUN_02027478
-FUN_02027478: ; 0x02027478
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- ldr r1, [r5, #0x0]
- ldr r0, _020274B0 ; =0x00001234
- cmp r1, r0
- beq _0202748C
- ldr r0, _020274B4 ; =0x00002345
- cmp r1, r0
- bne _02027490
-_0202748C:
- mov r0, #0x1
- b _02027492
-_02027490:
- mov r0, #0x0
-_02027492:
- cmp r0, #0x0
- bne _0202749A
- bl ErrorHandling
-_0202749A:
- add r0, r5, #0x0
- add r0, #0x40
- bl FUN_02013724
- add r5, #0x40
- add r0, r5, #0x0
- mov r1, #0x0
- add r2, r4, #0x0
- bl FUN_02013998
- pop {r3-r5, pc}
- .balign 4
-_020274B0: .word 0x00001234
-_020274B4: .word 0x00002345
-
- thumb_func_start FUN_020274B8
-FUN_020274B8: ; 0x020274B8
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- ldr r1, [r5, #0x0]
- ldr r0, _020274E8 ; =0x00001234
- cmp r1, r0
- beq _020274CC
- ldr r0, _020274EC ; =0x00002345
- cmp r1, r0
- bne _020274D0
-_020274CC:
- mov r0, #0x1
- b _020274D2
-_020274D0:
- mov r0, #0x0
-_020274D2:
- cmp r0, #0x0
- bne _020274DA
- bl ErrorHandling
-_020274DA:
- add r0, r5, #0x0
- add r1, r4, #0x0
- mov r2, #0x74
- blx memcpy
- pop {r3-r5, pc}
- nop
-_020274E8: .word 0x00001234
-_020274EC: .word 0x00002345
-
- thumb_func_start FUN_020274F0
-FUN_020274F0: ; 0x020274F0
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- ldr r1, [r5, #0x0]
- ldr r0, _02027520 ; =0x00001234
- add r6, r2, #0x0
- cmp r1, r0
- beq _02027506
- ldr r0, _02027524 ; =0x00002345
- cmp r1, r0
- bne _0202750A
-_02027506:
- mov r0, #0x1
- b _0202750C
-_0202750A:
- mov r0, #0x0
-_0202750C:
- cmp r0, #0x0
- bne _02027514
- bl ErrorHandling
-_02027514:
- add r0, r5, #0x4
- add r1, r4, #0x0
- add r2, r6, #0x0
- bl FUN_02026D98
- pop {r4-r6, pc}
- .balign 4
-_02027520: .word 0x00001234
-_02027524: .word 0x00002345
-
- thumb_func_start FUN_02027528
-FUN_02027528: ; 0x02027528
- push {r3-r5, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- cmp r4, #0xa
- blt _02027536
- bl ErrorHandling
-_02027536:
- ldr r1, [r5, #0x0]
- ldr r0, _0202755C ; =0x00001234
- cmp r1, r0
- beq _02027544
- ldr r0, _02027560 ; =0x00002345
- cmp r1, r0
- bne _02027548
-_02027544:
- mov r0, #0x1
- b _0202754A
-_02027548:
- mov r0, #0x0
-_0202754A:
- cmp r0, #0x0
- bne _02027552
- bl ErrorHandling
-_02027552:
- mov r0, #0x1
- ldr r1, [r5, #0x3c]
- lsl r0, r4
- and r0, r1
- pop {r3-r5, pc}
- .balign 4
-_0202755C: .word 0x00001234
-_02027560: .word 0x00002345
-
- thumb_func_start FUN_02027564
-FUN_02027564: ; 0x02027564
- push {r4, lr}
- add r4, r0, #0x0
- ldr r1, [r4, #0x0]
- ldr r0, _02027588 ; =0x00001234
- cmp r1, r0
- beq _02027576
- ldr r0, _0202758C ; =0x00002345
- cmp r1, r0
- bne _0202757A
-_02027576:
- mov r0, #0x1
- b _0202757C
-_0202757A:
- mov r0, #0x0
-_0202757C:
- cmp r0, #0x0
- bne _02027584
- bl ErrorHandling
-_02027584:
- add r0, r4, #0x4
- pop {r4, pc}
- .balign 4
-_02027588: .word 0x00001234
-_0202758C: .word 0x00002345
-
- thumb_func_start FUN_02027590
-FUN_02027590: ; 0x02027590
- push {r3-r5, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- cmp r4, #0xa
- blt _0202759E
- bl ErrorHandling
-_0202759E:
- mov r0, #0x1
- ldr r1, [r5, #0x3c]
- lsl r0, r4
- tst r0, r1
- bne _020275AC
- bl ErrorHandling
-_020275AC:
- ldr r1, [r5, #0x0]
- ldr r0, _020275D0 ; =0x00001234
- cmp r1, r0
- beq _020275BA
- ldr r0, _020275D4 ; =0x00002345
- cmp r1, r0
- bne _020275BE
-_020275BA:
- mov r0, #0x1
- b _020275C0
-_020275BE:
- mov r0, #0x0
-_020275C0:
- cmp r0, #0x0
- bne _020275C8
- bl ErrorHandling
-_020275C8:
- add r5, #0x48
- lsl r0, r4, #0x2
- add r0, r5, r0
- pop {r3-r5, pc}
- .balign 4
-_020275D0: .word 0x00001234
-_020275D4: .word 0x00002345
-
- thumb_func_start FUN_020275D8
-FUN_020275D8: ; 0x020275D8
- push {r4, lr}
- add r4, r0, #0x0
- ldr r1, [r4, #0x0]
- ldr r0, _02027600 ; =0x00001234
- cmp r1, r0
- beq _020275EA
- ldr r0, _02027604 ; =0x00002345
- cmp r1, r0
- bne _020275EE
-_020275EA:
- mov r0, #0x1
- b _020275F0
-_020275EE:
- mov r0, #0x0
-_020275F0:
- cmp r0, #0x0
- bne _020275F8
- bl ErrorHandling
-_020275F8:
- add r0, r4, #0x4
- bl FUN_02027C84
- pop {r4, pc}
- .balign 4
-_02027600: .word 0x00001234
-_02027604: .word 0x00002345
-
- thumb_func_start FUN_02027608
-FUN_02027608: ; 0x02027608
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- ldr r1, [r5, #0x0]
- ldr r0, _02027634 ; =0x00001234
- cmp r1, r0
- beq _0202761C
- ldr r0, _02027638 ; =0x00002345
- cmp r1, r0
- bne _02027620
-_0202761C:
- mov r0, #0x1
- b _02027622
-_02027620:
- mov r0, #0x0
-_02027622:
- cmp r0, #0x0
- bne _0202762A
- bl ErrorHandling
-_0202762A:
- add r0, r5, #0x4
- add r1, r4, #0x0
- bl FUN_02027C88
- pop {r3-r5, pc}
- .balign 4
-_02027634: .word 0x00001234
-_02027638: .word 0x00002345
-
- thumb_func_start FUN_0202763C
-FUN_0202763C: ; 0x0202763C
- push {r4, lr}
- add r4, r0, #0x0
- ldr r1, [r4, #0x0]
- ldr r0, _02027664 ; =0x00001234
- cmp r1, r0
- beq _0202764E
- ldr r0, _02027668 ; =0x00002345
- cmp r1, r0
- bne _02027652
-_0202764E:
- mov r0, #0x1
- b _02027654
-_02027652:
- mov r0, #0x0
-_02027654:
- cmp r0, #0x0
- bne _0202765C
- bl ErrorHandling
-_0202765C:
- add r0, r4, #0x4
- bl FUN_02027C98
- pop {r4, pc}
- .balign 4
-_02027664: .word 0x00001234
-_02027668: .word 0x00002345
-
- thumb_func_start FUN_0202766C
-FUN_0202766C: ; 0x0202766C
- push {r4, lr}
- add r4, r0, #0x0
- ldr r1, [r4, #0x0]
- ldr r0, _02027694 ; =0x00001234
- cmp r1, r0
- beq _0202767E
- ldr r0, _02027698 ; =0x00002345
- cmp r1, r0
- bne _02027682
-_0202767E:
- mov r0, #0x1
- b _02027684
-_02027682:
- mov r0, #0x0
-_02027684:
- cmp r0, #0x0
- bne _0202768C
- bl ErrorHandling
-_0202768C:
- add r4, #0x70
- ldrb r0, [r4, #0x0]
- pop {r4, pc}
- nop
-_02027694: .word 0x00001234
-_02027698: .word 0x00002345
-
- thumb_func_start FUN_0202769C
-FUN_0202769C: ; 0x0202769C
- ldr r3, _020276A4 ; =FUN_02013918
- add r0, #0x40
- mov r1, #0x0
- bx r3
- .balign 4
-_020276A4: .word FUN_02013918
-
- thumb_func_start FUN_020276A8
-FUN_020276A8: ; 0x020276A8
- push {r4, lr}
- add r4, r0, #0x0
- ldr r1, [r4, #0x0]
- ldr r0, _020276D0 ; =0x00001234
- cmp r1, r0
- beq _020276BA
- ldr r0, _020276D4 ; =0x00002345
- cmp r1, r0
- bne _020276BE
-_020276BA:
- mov r0, #0x1
- b _020276C0
-_020276BE:
- mov r0, #0x0
-_020276C0:
- cmp r0, #0x0
- bne _020276C8
- bl ErrorHandling
-_020276C8:
- add r4, #0x71
- ldrb r0, [r4, #0x0]
- pop {r4, pc}
- nop
-_020276D0: .word 0x00001234
-_020276D4: .word 0x00002345
-
- thumb_func_start FUN_020276D8
-FUN_020276D8: ; 0x020276D8
- push {r4, lr}
- add r4, r0, #0x0
- ldr r1, [r4, #0x0]
- ldr r0, _02027708 ; =0x00001234
- cmp r1, r0
- beq _020276EA
- ldr r0, _0202770C ; =0x00002345
- cmp r1, r0
- bne _020276EE
-_020276EA:
- mov r0, #0x1
- b _020276F0
-_020276EE:
- mov r0, #0x0
-_020276F0:
- cmp r0, #0x0
- bne _020276F8
- bl ErrorHandling
-_020276F8:
- ldr r1, [r4, #0x0]
- ldr r0, _0202770C ; =0x00002345
- cmp r1, r0
- bne _02027704
- mov r0, #0x1
- pop {r4, pc}
-_02027704:
- mov r0, #0x0
- pop {r4, pc}
- .balign 4
-_02027708: .word 0x00001234
-_0202770C: .word 0x00002345
-
- thumb_func_start FUN_02027710
-FUN_02027710: ; 0x02027710
- push {r4, lr}
- add r4, r0, #0x0
- ldr r1, [r4, #0x0]
- ldr r0, _02027738 ; =0x00001234
- cmp r1, r0
- beq _02027722
- ldr r0, _0202773C ; =0x00002345
- cmp r1, r0
- bne _02027726
-_02027722:
- mov r0, #0x1
- b _02027728
-_02027726:
- mov r0, #0x0
-_02027728:
- cmp r0, #0x0
- bne _02027730
- bl ErrorHandling
-_02027730:
- ldr r0, _0202773C ; =0x00002345
- str r0, [r4, #0x0]
- pop {r4, pc}
- nop
-_02027738: .word 0x00001234
-_0202773C: .word 0x00002345
-
- thumb_func_start FUN_02027740
-FUN_02027740: ; 0x02027740
- push {r4, lr}
- add r4, r0, #0x0
- ldr r1, [r4, #0x0]
- ldr r0, _02027770 ; =0x00001234
- cmp r1, r0
- beq _02027752
- ldr r0, _02027774 ; =0x00002345
- cmp r1, r0
- bne _02027756
-_02027752:
- mov r0, #0x1
- b _02027758
-_02027756:
- mov r0, #0x0
-_02027758:
- cmp r0, #0x0
- bne _02027760
- bl ErrorHandling
-_02027760:
- add r0, r4, #0x0
- mov r1, #0x0
- mov r2, #0x98
- blx Call_FillMemWithValue
- ldr r0, _02027770 ; =0x00001234
- str r0, [r4, #0x0]
- pop {r4, pc}
- .balign 4
-_02027770: .word 0x00001234
-_02027774: .word 0x00002345
-
- thumb_func_start FUN_02027778
-FUN_02027778: ; 0x02027778
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- ldr r1, [r5, #0x0]
- ldr r0, _020277AC ; =0x00001234
- add r6, r2, #0x0
- cmp r1, r0
- beq _0202778E
- ldr r0, _020277B0 ; =0x00002345
- cmp r1, r0
- bne _02027792
-_0202778E:
- mov r0, #0x1
- b _02027794
-_02027792:
- mov r0, #0x0
-_02027794:
- cmp r0, #0x0
- bne _0202779C
- bl ErrorHandling
-_0202779C:
- add r5, #0x8
- add r0, r5, #0x0
- add r1, r4, #0x0
- add r2, r6, #0x0
- bl FUN_02026D34
- pop {r4-r6, pc}
- nop
-_020277AC: .word 0x00001234
-_020277B0: .word 0x00002345
-
- thumb_func_start FUN_020277B4
-FUN_020277B4: ; 0x020277B4
- push {r4-r7, lr}
- sub sp, #0x14
- add r4, r1, #0x0
- add r5, r0, #0x0
- ldr r0, [r4, #0x4]
- add r6, r2, #0x0
- bl FUN_02013ECC
- add r1, sp, #0xc
- strh r0, [r1, #0x0]
- lsr r0, r0, #0x10
- strh r0, [r1, #0x2]
- ldrh r0, [r1, #0x0]
- strh r0, [r1, #0x4]
- ldrh r0, [r1, #0x2]
- strh r0, [r1, #0x6]
- ldr r0, [r4, #0x4]
- bl FUN_02013F00
- str r0, [sp, #0x8]
- cmp r6, #0x14
- blt _020277E4
- bl ErrorHandling
-_020277E4:
- add r1, sp, #0xc
- mov r0, #0x4
- ldrsh r1, [r1, r0]
- add r0, #0xfc
- cmp r1, r0
- blt _020277F4
- bl ErrorHandling
-_020277F4:
- add r1, sp, #0xc
- mov r0, #0x6
- ldrsh r7, [r1, r0]
- add r0, #0xfa
- cmp r7, r0
- blt _02027804
- bl ErrorHandling
-_02027804:
- mov r1, #0x7f
- ldr r0, [sp, #0x8]
- mvn r1, r1
- cmp r0, r1
- bgt _02027812
- bl ErrorHandling
-_02027812:
- mov r0, #0x1
- lsl r0, r6
- ldr r1, [r5, #0x40]
- str r0, [sp, #0x4]
- tst r0, r1
- beq _02027822
- bl ErrorHandling
-_02027822:
- ldr r1, [r5, #0x0]
- ldr r0, _02027874 ; =0x00001234
- cmp r1, r0
- beq _02027830
- ldr r0, _02027878 ; =0x00002345
- cmp r1, r0
- bne _02027834
-_02027830:
- mov r0, #0x1
- b _02027836
-_02027834:
- mov r0, #0x0
-_02027836:
- cmp r0, #0x0
- bne _0202783E
- bl ErrorHandling
-_0202783E:
- ldr r0, [sp, #0x8]
- add r1, r5, #0x0
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x0]
- add r3, sp, #0xc
- mov r2, #0x4
- ldrsh r2, [r3, r2]
- lsl r3, r7, #0x18
- add r1, #0x44
- lsl r0, r6, #0x2
- add r0, r1, r0
- ldr r1, [r4, #0x0]
- lsl r2, r2, #0x18
- lsl r1, r1, #0x18
- lsr r1, r1, #0x18
- lsr r2, r2, #0x18
- lsr r3, r3, #0x18
- bl FUN_02026DB0
- ldr r1, [r5, #0x40]
- ldr r0, [sp, #0x4]
- orr r0, r1
- str r0, [r5, #0x40]
- add sp, #0x14
- pop {r4-r7, pc}
- nop
-_02027874: .word 0x00001234
-_02027878: .word 0x00002345
-
- thumb_func_start FUN_0202787C
-FUN_0202787C: ; 0x0202787C
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- ldr r1, [r5, #0x0]
- ldr r0, _020278A4 ; =0x00001234
- cmp r1, r0
- beq _02027890
- ldr r0, _020278A8 ; =0x00002345
- cmp r1, r0
- bne _02027894
-_02027890:
- mov r0, #0x1
- b _02027896
-_02027894:
- mov r0, #0x0
-_02027896:
- cmp r0, #0x0
- bne _0202789E
- bl ErrorHandling
-_0202789E:
- add r5, #0x94
- strb r4, [r5, #0x0]
- pop {r3-r5, pc}
- .balign 4
-_020278A4: .word 0x00001234
-_020278A8: .word 0x00002345
-
- thumb_func_start FUN_020278AC
-FUN_020278AC: ; 0x020278AC
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- ldr r1, [r5, #0x0]
- ldr r0, _020278D4 ; =0x00001234
- cmp r1, r0
- beq _020278C0
- ldr r0, _020278D8 ; =0x00002345
- cmp r1, r0
- bne _020278C4
-_020278C0:
- mov r0, #0x1
- b _020278C6
-_020278C4:
- mov r0, #0x0
-_020278C6:
- cmp r0, #0x0
- bne _020278CE
- bl ErrorHandling
-_020278CE:
- str r4, [r5, #0x4]
- pop {r3-r5, pc}
- nop
-_020278D4: .word 0x00001234
-_020278D8: .word 0x00002345
-
- thumb_func_start FUN_020278DC
-FUN_020278DC: ; 0x020278DC
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- ldr r1, [r5, #0x0]
- ldr r0, _0202790C ; =0x00001234
- cmp r1, r0
- beq _020278F0
- ldr r0, _02027910 ; =0x00002345
- cmp r1, r0
- bne _020278F4
-_020278F0:
- mov r0, #0x1
- b _020278F6
-_020278F4:
- mov r0, #0x0
-_020278F6:
- cmp r0, #0x0
- bne _020278FE
- bl ErrorHandling
-_020278FE:
- add r0, r5, #0x0
- add r1, r4, #0x0
- mov r2, #0x98
- blx memcpy
- pop {r3-r5, pc}
- nop
-_0202790C: .word 0x00001234
-_02027910: .word 0x00002345
-
- thumb_func_start FUN_02027914
-FUN_02027914: ; 0x02027914
- push {r4-r6, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- add r4, r1, #0x0
- ldr r1, [r5, #0x0]
- ldr r0, _0202795C ; =0x00001234
- add r6, r2, #0x0
- cmp r1, r0
- beq _0202792C
- ldr r0, _02027960 ; =0x00002345
- cmp r1, r0
- bne _02027930
-_0202792C:
- mov r0, #0x1
- b _02027932
-_02027930:
- mov r0, #0x0
-_02027932:
- cmp r0, #0x0
- bne _0202793A
- bl ErrorHandling
-_0202793A:
- add r1, sp, #0x4
- add r0, r4, #0x0
- add r1, #0x1
- add r2, sp, #0x4
- bl FUN_02026F3C
- add r5, #0x8
- str r6, [sp, #0x0]
- add r3, sp, #0x4
- ldrb r2, [r3, #0x1]
- ldrb r3, [r3, #0x0]
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02026CD0
- add sp, #0x8
- pop {r4-r6, pc}
- .balign 4
-_0202795C: .word 0x00001234
-_02027960: .word 0x00002345
-
- thumb_func_start FUN_02027964
-FUN_02027964: ; 0x02027964
- push {r4-r7, lr}
- sub sp, #0xc
- str r3, [sp, #0x4]
- add r6, r1, #0x0
- add r5, r0, #0x0
- add r7, r2, #0x0
- ldr r4, [sp, #0x24]
- cmp r6, #0x14
- blo _0202797A
- bl ErrorHandling
-_0202797A:
- cmp r7, #0x64
- blo _02027982
- bl ErrorHandling
-_02027982:
- mov r1, #0x1
- ldr r0, [sp, #0x4]
- lsl r1, r1, #0x8
- cmp r0, r1
- blt _02027990
- bl ErrorHandling
-_02027990:
- add r0, sp, #0x10
- ldrb r1, [r0, #0x10]
- mov r0, #0x1
- lsl r0, r0, #0x8
- cmp r1, r0
- blt _020279A0
- bl ErrorHandling
-_020279A0:
- mov r0, #0x7f
- mvn r0, r0
- cmp r4, r0
- bgt _020279AC
- bl ErrorHandling
-_020279AC:
- mov r0, #0x1
- lsl r0, r6
- ldr r1, [r5, #0x40]
- str r0, [sp, #0x8]
- tst r0, r1
- beq _020279BC
- bl ErrorHandling
-_020279BC:
- ldr r1, [r5, #0x0]
- ldr r0, _02027A0C ; =0x00001234
- cmp r1, r0
- beq _020279CA
- ldr r0, _02027A10 ; =0x00002345
- cmp r1, r0
- bne _020279CE
-_020279CA:
- mov r0, #0x1
- b _020279D0
-_020279CE:
- mov r0, #0x0
-_020279D0:
- cmp r0, #0x0
- bne _020279D8
- bl ErrorHandling
-_020279D8:
- mov r0, #0x38
- ldrsb r0, [r5, r0]
- cmp r0, r4
- blt _020279E6
- add r0, r0, #0x1
- lsl r0, r0, #0x18
- asr r4, r0, #0x18
-_020279E6:
- lsl r0, r4, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x0]
- add r3, sp, #0x10
- add r1, r5, #0x0
- ldrb r3, [r3, #0x10]
- add r1, #0x44
- lsl r0, r6, #0x2
- add r0, r1, r0
- ldr r2, [sp, #0x4]
- add r1, r7, #0x0
- bl FUN_02026DB0
- ldr r1, [r5, #0x40]
- ldr r0, [sp, #0x8]
- orr r0, r1
- str r0, [r5, #0x40]
- add sp, #0xc
- pop {r4-r7, pc}
- .balign 4
-_02027A0C: .word 0x00001234
-_02027A10: .word 0x00002345
-
- thumb_func_start FUN_02027A14
-FUN_02027A14: ; 0x02027A14
- push {r3-r5, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- cmp r4, #0x14
- blt _02027A22
- bl ErrorHandling
-_02027A22:
- ldr r1, [r5, #0x0]
- ldr r0, _02027A50 ; =0x00001234
- cmp r1, r0
- beq _02027A30
- ldr r0, _02027A54 ; =0x00002345
- cmp r1, r0
- bne _02027A34
-_02027A30:
- mov r0, #0x1
- b _02027A36
-_02027A34:
- mov r0, #0x0
-_02027A36:
- cmp r0, #0x0
- bne _02027A3E
- bl ErrorHandling
-_02027A3E:
- mov r0, #0x1
- add r1, r0, #0x0
- ldr r2, [r5, #0x40]
- lsl r1, r4
- tst r1, r2
- bne _02027A4C
- mov r0, #0x0
-_02027A4C:
- pop {r3-r5, pc}
- nop
-_02027A50: .word 0x00001234
-_02027A54: .word 0x00002345
-
- thumb_func_start FUN_02027A58
-FUN_02027A58: ; 0x02027A58
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- ldr r1, [r5, #0x0]
- ldr r0, _02027A8C ; =0x00001234
- add r6, r2, #0x0
- cmp r1, r0
- beq _02027A6E
- ldr r0, _02027A90 ; =0x00002345
- cmp r1, r0
- bne _02027A72
-_02027A6E:
- mov r0, #0x1
- b _02027A74
-_02027A72:
- mov r0, #0x0
-_02027A74:
- cmp r0, #0x0
- bne _02027A7C
- bl ErrorHandling
-_02027A7C:
- add r5, #0x8
- add r0, r5, #0x0
- add r1, r4, #0x0
- add r2, r6, #0x0
- bl FUN_02026D98
- pop {r4-r6, pc}
- nop
-_02027A8C: .word 0x00001234
-_02027A90: .word 0x00002345
-
- thumb_func_start FUN_02027A94
-FUN_02027A94: ; 0x02027A94
- push {r4, lr}
- add r4, r0, #0x0
- ldr r1, [r4, #0x0]
- ldr r0, _02027ABC ; =0x00001234
- cmp r1, r0
- beq _02027AA6
- ldr r0, _02027AC0 ; =0x00002345
- cmp r1, r0
- bne _02027AAA
-_02027AA6:
- mov r0, #0x1
- b _02027AAC
-_02027AAA:
- mov r0, #0x0
-_02027AAC:
- cmp r0, #0x0
- bne _02027AB4
- bl ErrorHandling
-_02027AB4:
- add r4, #0x8
- add r0, r4, #0x0
- pop {r4, pc}
- nop
-_02027ABC: .word 0x00001234
-_02027AC0: .word 0x00002345
-
- thumb_func_start FUN_02027AC4
-FUN_02027AC4: ; 0x02027AC4
- push {r3-r5, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- cmp r4, #0x14
- blt _02027AD2
- bl ErrorHandling
-_02027AD2:
- mov r0, #0x1
- ldr r1, [r5, #0x40]
- lsl r0, r4
- tst r0, r1
- bne _02027AE0
- bl ErrorHandling
-_02027AE0:
- ldr r1, [r5, #0x0]
- ldr r0, _02027B04 ; =0x00001234
- cmp r1, r0
- beq _02027AEE
- ldr r0, _02027B08 ; =0x00002345
- cmp r1, r0
- bne _02027AF2
-_02027AEE:
- mov r0, #0x1
- b _02027AF4
-_02027AF2:
- mov r0, #0x0
-_02027AF4:
- cmp r0, #0x0
- bne _02027AFC
- bl ErrorHandling
-_02027AFC:
- add r5, #0x44
- lsl r0, r4, #0x2
- add r0, r5, r0
- pop {r3-r5, pc}
- .balign 4
-_02027B04: .word 0x00001234
-_02027B08: .word 0x00002345
-
- thumb_func_start FUN_02027B0C
-FUN_02027B0C: ; 0x02027B0C
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- ldr r1, [r5, #0x0]
- ldr r0, _02027B3C ; =0x00001234
- cmp r1, r0
- beq _02027B20
- ldr r0, _02027B40 ; =0x00002345
- cmp r1, r0
- bne _02027B24
-_02027B20:
- mov r0, #0x1
- b _02027B26
-_02027B24:
- mov r0, #0x0
-_02027B26:
- cmp r0, #0x0
- bne _02027B2E
- bl ErrorHandling
-_02027B2E:
- add r5, #0x8
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02027C88
- pop {r3-r5, pc}
- nop
-_02027B3C: .word 0x00001234
-_02027B40: .word 0x00002345
-
- thumb_func_start FUN_02027B44
-FUN_02027B44: ; 0x02027B44
- push {r4, lr}
- add r4, r0, #0x0
- ldr r1, [r4, #0x0]
- ldr r0, _02027B70 ; =0x00001234
- cmp r1, r0
- beq _02027B56
- ldr r0, _02027B74 ; =0x00002345
- cmp r1, r0
- bne _02027B5A
-_02027B56:
- mov r0, #0x1
- b _02027B5C
-_02027B5A:
- mov r0, #0x0
-_02027B5C:
- cmp r0, #0x0
- bne _02027B64
- bl ErrorHandling
-_02027B64:
- add r4, #0x8
- add r0, r4, #0x0
- bl FUN_02027C98
- pop {r4, pc}
- nop
-_02027B70: .word 0x00001234
-_02027B74: .word 0x00002345
-
- thumb_func_start FUN_02027B78
-FUN_02027B78: ; 0x02027B78
- push {r3-r5, lr}
- sub sp, #0x10
- add r5, r0, #0x0
- add r4, r1, #0x0
- ldr r1, [r5, #0x0]
- ldr r0, _02027BD4 ; =0x00001234
- cmp r1, r0
- beq _02027B8E
- ldr r0, _02027BD8 ; =0x00002345
- cmp r1, r0
- bne _02027B92
-_02027B8E:
- mov r0, #0x1
- b _02027B94
-_02027B92:
- mov r0, #0x0
-_02027B94:
- cmp r0, #0x0
- bne _02027B9C
- bl ErrorHandling
-_02027B9C:
- mov r1, #0x1
- str r1, [sp, #0x0]
- ldr r0, [r5, #0x8]
- mov r2, #0x0
- str r0, [sp, #0x4]
- str r1, [sp, #0x8]
- ldr r0, [r5, #0xc]
- add r3, r2, #0x0
- str r0, [sp, #0xc]
- ldrh r1, [r5, #0x10]
- add r0, r4, #0x0
- bl FUN_02066ACC
- add r2, r5, #0x0
- add r0, r4, #0x0
- mov r1, #0x74
- add r2, #0x12
- bl FUN_02067830
- add r5, #0x3b
- add r0, r4, #0x0
- mov r1, #0x70
- add r2, r5, #0x0
- bl FUN_02067830
- add sp, #0x10
- pop {r3-r5, pc}
- nop
-_02027BD4: .word 0x00001234
-_02027BD8: .word 0x00002345
-
- thumb_func_start FUN_02027BDC
-FUN_02027BDC: ; 0x02027BDC
- push {r3-r5, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- cmp r4, #0x14
- blt _02027BEA
- bl ErrorHandling
-_02027BEA:
- mov r0, #0x1
- ldr r1, [r5, #0x40]
- lsl r0, r4
- tst r0, r1
- bne _02027BF8
- bl ErrorHandling
-_02027BF8:
- ldr r1, [r5, #0x0]
- ldr r0, _02027C20 ; =0x00001234
- cmp r1, r0
- beq _02027C06
- ldr r0, _02027C24 ; =0x00002345
- cmp r1, r0
- bne _02027C0A
-_02027C06:
- mov r0, #0x1
- b _02027C0C
-_02027C0A:
- mov r0, #0x0
-_02027C0C:
- cmp r0, #0x0
- bne _02027C14
- bl ErrorHandling
-_02027C14:
- add r5, #0x44
- lsl r0, r4, #0x2
- add r0, r5, r0
- bl FUN_02027CF8
- pop {r3-r5, pc}
- .balign 4
-_02027C20: .word 0x00001234
-_02027C24: .word 0x00002345
-
- thumb_func_start FUN_02027C28
-FUN_02027C28: ; 0x02027C28
- push {r4, lr}
- add r4, r0, #0x0
- ldr r1, [r4, #0x0]
- ldr r0, _02027C50 ; =0x00001234
- cmp r1, r0
- beq _02027C3A
- ldr r0, _02027C54 ; =0x00002345
- cmp r1, r0
- bne _02027C3E
-_02027C3A:
- mov r0, #0x1
- b _02027C40
-_02027C3E:
- mov r0, #0x0
-_02027C40:
- cmp r0, #0x0
- bne _02027C48
- bl ErrorHandling
-_02027C48:
- add r4, #0x94
- ldrb r0, [r4, #0x0]
- pop {r4, pc}
- nop
-_02027C50: .word 0x00001234
-_02027C54: .word 0x00002345
-
- thumb_func_start FUN_02027C58
-FUN_02027C58: ; 0x02027C58
- push {r4, lr}
- add r4, r0, #0x0
- ldr r1, [r4, #0x0]
- ldr r0, _02027C7C ; =0x00001234
- cmp r1, r0
- beq _02027C6A
- ldr r0, _02027C80 ; =0x00002345
- cmp r1, r0
- bne _02027C6E
-_02027C6A:
- mov r0, #0x1
- b _02027C70
-_02027C6E:
- mov r0, #0x0
-_02027C70:
- cmp r0, #0x0
- bne _02027C78
- bl ErrorHandling
-_02027C78:
- ldr r0, [r4, #0x4]
- pop {r4, pc}
- .balign 4
-_02027C7C: .word 0x00001234
-_02027C80: .word 0x00002345
-
- thumb_func_start FUN_02027C84
-FUN_02027C84: ; 0x02027C84
- ldrh r0, [r0, #0x8]
- bx lr
-
- thumb_func_start FUN_02027C88
-FUN_02027C88: ; 0x02027C88
- add r2, r0, #0x0
- ldr r3, _02027C94 ; =FUN_02021E28
- add r2, #0x20
- add r0, r1, #0x0
- add r1, r2, #0x0
- bx r3
- .balign 4
-_02027C94: .word FUN_02021E28
-
- thumb_func_start FUN_02027C98
-FUN_02027C98: ; 0x02027C98
- add r0, #0x34
- ldrb r0, [r0, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02027CA0
-FUN_02027CA0: ; 0x02027CA0
- mov r1, #0x30
- ldrsb r0, [r0, r1]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02027CA8
-FUN_02027CA8: ; 0x02027CA8
- add r0, #0x31
- ldrb r0, [r0, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02027CB0
-FUN_02027CB0: ; 0x02027CB0
- add r0, #0x32
- ldrb r0, [r0, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02027CB8
-FUN_02027CB8: ; 0x02027CB8
- push {r3-r5, lr}
- sub sp, #0x10
- add r4, r1, #0x0
- mov r1, #0x1
- add r5, r0, #0x0
- str r1, [sp, #0x0]
- ldr r0, [r5, #0x0]
- mov r2, #0x0
- str r0, [sp, #0x4]
- str r1, [sp, #0x8]
- ldr r0, [r5, #0x4]
- add r3, r2, #0x0
- str r0, [sp, #0xc]
- ldrh r1, [r5, #0x8]
- add r0, r4, #0x0
- bl FUN_02066ACC
- add r2, r5, #0x0
- add r0, r4, #0x0
- mov r1, #0x74
- add r2, #0xa
- bl FUN_02067830
- add r5, #0x33
- add r0, r4, #0x0
- mov r1, #0x70
- add r2, r5, #0x0
- bl FUN_02067830
- add sp, #0x10
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02027CF8
-FUN_02027CF8: ; 0x02027CF8
- ldrb r0, [r0, #0x0]
- bx lr
-
- thumb_func_start FUN_02027CFC
-FUN_02027CFC: ; 0x02027CFC
- ldrb r0, [r0, #0x1]
- bx lr
-
- thumb_func_start FUN_02027D00
-FUN_02027D00: ; 0x02027D00
- ldrb r0, [r0, #0x2]
- bx lr
-
- thumb_func_start FUN_02027D04
-FUN_02027D04: ; 0x02027D04
- mov r1, #0x3
- ldrsb r0, [r0, r1]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02027D0C
-FUN_02027D0C: ; 0x02027D0C
- push {r4-r7, lr}
- sub sp, #0x1fc
- sub sp, #0x1fc
- sub sp, #0xc
- add r7, r0, #0x0
- mov r0, #0x1
- add r4, r1, #0x0
- str r0, [sp, #0x0]
- add r0, r4, #0x0
- bl FUN_0202729C
- cmp r0, #0x1
- bne _02027D6A
- ldr r1, _02027D78 ; =0xEDB88320
- add r0, sp, #0x4
- blx MATHi_CRC32InitTableRev
- add r0, sp, #0x4
- add r1, r4, #0x0
- mov r2, #0x74
- blx MATH_CalcCRC32
- add r6, r0, #0x0
- mov r5, #0x0
-_02027D3C:
- add r0, r7, #0x0
- add r1, r5, #0x0
- bl FUN_02027008
- add r4, r0, #0x0
- ldr r1, _02027D78 ; =0xEDB88320
- add r0, sp, #0x4
- blx MATHi_CRC32InitTableRev
- add r0, sp, #0x4
- add r1, r4, #0x0
- mov r2, #0x74
- blx MATH_CalcCRC32
- cmp r0, r6
- bne _02027D62
- mov r0, #0x0
- str r0, [sp, #0x0]
- b _02027D6E
-_02027D62:
- add r5, r5, #0x1
- cmp r5, #0xb
- blt _02027D3C
- b _02027D6E
-_02027D6A:
- mov r0, #0x0
- str r0, [sp, #0x0]
-_02027D6E:
- ldr r0, [sp, #0x0]
- add sp, #0x1fc
- add sp, #0x1fc
- add sp, #0xc
- pop {r4-r7, pc}
- .balign 4
-_02027D78: .word 0xEDB88320
-
- thumb_func_start FUN_02027D7C
-FUN_02027D7C: ; 0x02027D7C
- push {r4-r7, lr}
- sub sp, #0xc
- str r0, [sp, #0x0]
- mov r7, #0x0
- ldr r0, [sp, #0x0]
- str r1, [sp, #0x4]
- add r5, r2, #0x0
- add r6, r7, #0x0
- str r3, [sp, #0x8]
- cmp r0, #0x0
- ble _02027DB6
- add r4, r3, #0x0
-_02027D94:
- ldr r0, [sp, #0x4]
- cmp r6, r0
- beq _02027DAC
- ldr r1, [r4, #0x0]
- cmp r1, #0x0
- beq _02027DAC
- add r0, r5, #0x0
- bl FUN_02027D0C
- cmp r0, #0x1
- bne _02027DAC
- add r7, r7, #0x1
-_02027DAC:
- ldr r0, [sp, #0x0]
- add r6, r6, #0x1
- add r4, r4, #0x4
- cmp r6, r0
- blt _02027D94
-_02027DB6:
- mov r4, #0xa
-_02027DB8:
- add r1, r4, r7
- cmp r1, #0xb
- bge _02027DD6
- add r0, r5, #0x0
- bl FUN_02027008
- add r6, r0, #0x0
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02027008
- add r1, r0, #0x0
- add r0, r6, #0x0
- bl FUN_020274B8
-_02027DD6:
- sub r4, r4, #0x1
- cmp r4, #0x1
- bge _02027DB8
- ldr r0, [sp, #0x0]
- mov r6, #0x1
- mov r4, #0x0
- cmp r0, #0x0
- ble _02027E1E
-_02027DE6:
- ldr r0, [sp, #0x4]
- cmp r4, r0
- beq _02027E10
- ldr r0, [sp, #0x8]
- ldr r7, [r0, #0x0]
- cmp r7, #0x0
- beq _02027E10
- add r0, r5, #0x0
- add r1, r7, #0x0
- bl FUN_02027D0C
- cmp r0, #0x1
- bne _02027E10
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_02027008
- add r1, r7, #0x0
- add r6, r6, #0x1
- bl FUN_020274B8
-_02027E10:
- ldr r0, [sp, #0x8]
- add r4, r4, #0x1
- add r0, r0, #0x4
- str r0, [sp, #0x8]
- ldr r0, [sp, #0x0]
- cmp r4, r0
- blt _02027DE6
-_02027E1E:
- add sp, #0xc
- pop {r4-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02027E24
-FUN_02027E24: ; 0x02027E24
- ldr r3, _02027E2C ; =FUN_02022610
- mov r1, #0xe
- bx r3
- nop
-_02027E2C: .word FUN_02022610
-
- thumb_func_start FUN_02027E30
-FUN_02027E30: ; 0x02027E30
- mov r0, #0x8
- bx lr
-
- thumb_func_start FUN_02027E34
-FUN_02027E34: ; 0x02027E34
- ldrb r0, [r0, #0x0]
- cmp r0, #0x1e
- beq _02027E3E
- mov r0, #0x1
- bx lr
-_02027E3E:
- mov r0, #0x0
- bx lr
- .balign 4
-
- thumb_func_start FUN_02027E44
-FUN_02027E44: ; 0x02027E44
- mov r1, #0x1e
- strb r1, [r0, #0x0]
- mov r1, #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]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02027E5C
-FUN_02027E5C: ; 0x02027E5C
- push {r4, lr}
- mov r1, #0x8
- bl FUN_020169D8
- add r4, r0, #0x0
- bl FUN_02027E44
- add r0, r4, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02027E70
-FUN_02027E70: ; 0x02027E70
- ldrb r2, [r0, #0x0]
- strb r2, [r1, #0x0]
- ldrb r2, [r0, #0x1]
- strb r2, [r1, #0x1]
- ldrb r2, [r0, #0x2]
- strb r2, [r1, #0x2]
- ldrb r2, [r0, #0x3]
- strb r2, [r1, #0x3]
- ldrb r2, [r0, #0x4]
- strb r2, [r1, #0x4]
- ldrb r2, [r0, #0x5]
- strb r2, [r1, #0x5]
- ldrb r2, [r0, #0x6]
- strb r2, [r1, #0x6]
- ldrb r0, [r0, #0x7]
- strb r0, [r1, #0x7]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02027E94
-FUN_02027E94: ; 0x02027E94
- cmp r1, #0x6
- bhi _02027ECA
- add r1, r1, r1
- add r1, pc
- ldrh r1, [r1, #0x6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_02027EA4: ; jump table (using 16-bit offset)
- .short _02027EB2 - _02027EA4 - 2; case 0
- .short _02027EB6 - _02027EA4 - 2; case 1
- .short _02027EBA - _02027EA4 - 2; case 2
- .short _02027EBE - _02027EA4 - 2; case 3
- .short _02027EC2 - _02027EA4 - 2; case 4
- .short _02027EC6 - _02027EA4 - 2; case 5
- .short _02027ECA - _02027EA4 - 2; case 6
-_02027EB2:
- ldrb r0, [r0, #0x0]
- bx lr
-_02027EB6:
- ldrb r0, [r0, #0x1]
- bx lr
-_02027EBA:
- ldrb r0, [r0, #0x2]
- bx lr
-_02027EBE:
- ldrb r0, [r0, #0x3]
- bx lr
-_02027EC2:
- ldrb r0, [r0, #0x4]
- bx lr
-_02027EC6:
- ldrb r0, [r0, #0x5]
- bx lr
-_02027ECA:
- ldrb r0, [r0, #0x6]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02027ED0
-FUN_02027ED0: ; 0x02027ED0
- push {r3-r7, lr}
- add r5, r0, #0x0
- str r1, [sp, #0x0]
- mov r4, #0x0
- mov r6, #0x2
- mov r7, #0x5
-_02027EDC:
- bl FUN_0201B9EC
- add r1, r7, #0x0
- blx _s32_div_f
- lsl r0, r1, #0x18
- lsr r0, r0, #0x18
- add r1, r5, r0
- ldrb r0, [r1, #0x1]
- cmp r0, #0x0
- bne _02027EF6
- strb r6, [r1, #0x1]
- add r4, r4, #0x1
-_02027EF6:
- cmp r4, #0x3
- blt _02027EDC
- mov r0, #0x1b
- strb r0, [r5, #0x0]
- ldr r0, [sp, #0x0]
- strb r0, [r5, #0x6]
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02027F04
-FUN_02027F04: ; 0x02027F04
- push {r3-r7, lr}
- sub sp, #0x8
- mov r12, r2
- mov r2, #0x0
- add r6, r2, #0x0
- mov r5, #0x1b
- cmp r3, #0x0
- beq _02027F20
- mov r1, r12
- bl FUN_02027ED0
- add sp, #0x8
- add r0, r5, #0x0
- pop {r3-r7, pc}
-_02027F20:
- add r4, r2, #0x0
- add r7, sp, #0x0
-_02027F24:
- ldrb r3, [r1, r4]
- cmp r3, #0x0
- beq _02027F34
- cmp r3, #0x32
- blo _02027F30
- mov r6, #0x1
-_02027F30:
- strb r4, [r7, r2]
- add r2, r2, #0x1
-_02027F34:
- add r4, r4, #0x1
- cmp r4, #0x5
- blt _02027F24
- cmp r2, #0x5
- bhi _02027F9C
- add r2, r2, r2
- add r2, pc
- ldrh r2, [r2, #0x6]
- lsl r2, r2, #0x10
- asr r2, r2, #0x10
- add pc, r2
-_02027F4A: ; jump table (using 16-bit offset)
- .short _02027F56 - _02027F4A - 2; case 0
- .short _02027F62 - _02027F4A - 2; case 1
- .short _02027F70 - _02027F4A - 2; case 2
- .short _02027F96 - _02027F4A - 2; case 3
- .short _02027F9A - _02027F4A - 2; case 4
- .short _02027F9A - _02027F4A - 2; case 5
-_02027F56:
- mov r1, r12
- bl FUN_02027ED0
- add sp, #0x8
- mov r0, #0x1b
- pop {r3-r7, pc}
-_02027F62:
- add r2, sp, #0x0
- ldrb r3, [r2, #0x0]
- mov r2, #0x6
- mul r2, r3
- lsl r2, r2, #0x18
- lsr r5, r2, #0x18
- b _02027F9C
-_02027F70:
- add r2, sp, #0x0
- ldrb r3, [r2, #0x1]
- ldrb r2, [r2, #0x0]
- ldrb r4, [r1, r3]
- ldrb r5, [r1, r2]
- cmp r5, r4
- blo _02027F8A
- lsl r4, r2, #0x2
- add r2, r2, r4
- add r2, r3, r2
- lsl r2, r2, #0x18
- lsr r5, r2, #0x18
- b _02027F9C
-_02027F8A:
- lsl r4, r3, #0x2
- add r3, r3, r4
- add r2, r2, r3
- lsl r2, r2, #0x18
- lsr r5, r2, #0x18
- b _02027F9C
-_02027F96:
- mov r5, #0x19
- b _02027F9C
-_02027F9A:
- mov r5, #0x1a
-_02027F9C:
- cmp r6, #0x0
- beq _02027FA2
- mov r5, #0x1c
-_02027FA2:
- mov r4, #0x0
-_02027FA4:
- ldrb r3, [r1, r4]
- add r2, r0, r4
- add r4, r4, #0x1
- strb r3, [r2, #0x1]
- cmp r4, #0x5
- blt _02027FA4
- strb r5, [r0, #0x0]
- mov r1, r12
- strb r1, [r0, #0x6]
- add r0, r5, #0x0
- add sp, #0x8
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02027FBC
-FUN_02027FBC: ; 0x02027FBC
- ldrb r2, [r0, #0x0]
- strb r2, [r1, #0x0]
- ldrb r2, [r0, #0x1]
- strb r2, [r1, #0x1]
- ldrb r2, [r0, #0x2]
- strb r2, [r1, #0x2]
- ldrb r2, [r0, #0x3]
- strb r2, [r1, #0x3]
- ldrb r2, [r0, #0x4]
- strb r2, [r1, #0x4]
- ldrb r2, [r0, #0x5]
- strb r2, [r1, #0x5]
- ldrb r0, [r0, #0x6]
- strb r0, [r1, #0x6]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02027FDC
-FUN_02027FDC: ; 0x02027FDC
- push {r4, lr}
- add r4, r0, #0x0
- ldrb r0, [r4, #0x0]
- mov r1, #0x5
- blx _s32_div_f
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- cmp r0, #0x5
- bhi _0202801C
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_02027FFC: ; jump table (using 16-bit offset)
- .short _02028008 - _02027FFC - 2; case 0
- .short _0202800C - _02027FFC - 2; case 1
- .short _02028010 - _02027FFC - 2; case 2
- .short _02028014 - _02027FFC - 2; case 3
- .short _02028018 - _02027FFC - 2; case 4
- .short _0202801C - _02027FFC - 2; case 5
-_02028008:
- ldrb r0, [r4, #0x1]
- b _0202803E
-_0202800C:
- ldrb r0, [r4, #0x2]
- b _0202803E
-_02028010:
- ldrb r0, [r4, #0x3]
- b _0202803E
-_02028014:
- ldrb r0, [r4, #0x4]
- b _0202803E
-_02028018:
- ldrb r0, [r4, #0x5]
- b _0202803E
-_0202801C:
- ldrb r0, [r4, #0x1]
- ldrb r1, [r4, #0x2]
- cmp r0, r1
- bhs _02028026
- add r0, r1, #0x0
-_02028026:
- ldrb r1, [r4, #0x3]
- cmp r0, r1
- bhs _0202802E
- add r0, r1, #0x0
-_0202802E:
- ldrb r1, [r4, #0x4]
- cmp r0, r1
- bhs _02028036
- add r0, r1, #0x0
-_02028036:
- ldrb r1, [r4, #0x5]
- cmp r0, r1
- bhs _0202803E
- add r0, r1, #0x0
-_0202803E:
- cmp r0, #0x63
- bls _02028044
- mov r0, #0x63
-_02028044:
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02028048
-FUN_02028048: ; 0x02028048
- ldr r3, _02028050 ; =FUN_02022610
- mov r1, #0x10
- bx r3
- nop
-_02028050: .word FUN_02022610
-
- thumb_func_start FUN_02028054
-FUN_02028054: ; 0x02028054
- mov r0, #0x32
- lsl r0, r0, #0x4
- bx lr
- .balign 4
-
- thumb_func_start FUN_0202805C
-FUN_0202805C: ; 0x0202805C
- push {r3-r5, lr}
- add r5, r0, #0x0
- mov r4, #0x0
-_02028062:
- add r0, r5, #0x0
- bl FUN_02027E44
- add r4, r4, #0x1
- add r5, #0x8
- cmp r4, #0x64
- blt _02028062
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02028074
-FUN_02028074: ; 0x02028074
- mov r2, #0x0
-_02028076:
- lsl r1, r2, #0x3
- ldrb r1, [r0, r1]
- cmp r1, #0x1e
- bne _02028082
- add r0, r2, #0x0
- bx lr
-_02028082:
- add r1, r2, #0x1
- lsl r1, r1, #0x10
- lsr r2, r1, #0x10
- cmp r2, #0x64
- blo _02028076
- ldr r0, _02028090 ; =0x0000FFFF
- bx lr
- .balign 4
-_02028090: .word 0x0000FFFF
-
- thumb_func_start FUN_02028094
-FUN_02028094: ; 0x02028094
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r6, r1, #0x0
- bl FUN_02028074
- ldr r1, _020280B4 ; =0x0000FFFF
- add r4, r0, #0x0
- cmp r4, r1
- beq _020280B2
- lsl r1, r4, #0x3
- add r0, r6, #0x0
- add r1, r5, r1
- bl FUN_02027E70
- add r0, r4, #0x0
-_020280B2:
- pop {r4-r6, pc}
- .balign 4
-_020280B4: .word 0x0000FFFF
-
- thumb_func_start FUN_020280B8
-FUN_020280B8: ; 0x020280B8
- push {r3, lr}
- cmp r1, #0x64
- blo _020280C2
- mov r0, #0x0
- pop {r3, pc}
-_020280C2:
- lsl r1, r1, #0x3
- add r0, r0, r1
- bl FUN_02027E44
- mov r0, #0x1
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_020280D0
-FUN_020280D0: ; 0x020280D0
- cmp r1, #0x64
- bhs _020280EA
-_020280D4:
- lsl r2, r1, #0x3
- ldrb r2, [r0, r2]
- cmp r2, #0x1e
- beq _020280E0
- add r0, r1, #0x0
- bx lr
-_020280E0:
- add r1, r1, #0x1
- lsl r1, r1, #0x10
- lsr r1, r1, #0x10
- cmp r1, #0x64
- blo _020280D4
-_020280EA:
- ldr r0, _020280F0 ; =0x0000FFFF
- bx lr
- nop
-_020280F0: .word 0x0000FFFF
-
- thumb_func_start FUN_020280F4
-FUN_020280F4: ; 0x020280F4
- push {r4-r7, lr}
- sub sp, #0xc
- add r5, r0, #0x0
- mov r0, #0x0
- mov r7, #0x64
- str r0, [sp, #0x4]
-_02028100:
- ldr r0, [sp, #0x4]
- lsl r0, r0, #0x3
- ldrb r0, [r5, r0]
- cmp r0, #0x1e
- bne _0202815C
- ldr r6, [sp, #0x4]
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_020280D0
- add r4, r0, #0x0
- ldr r0, _02028170 ; =0x0000FFFF
- cmp r4, r0
- beq _0202816A
- ldr r0, [sp, #0x4]
- sub r0, r4, r0
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- str r0, [sp, #0x0]
- cmp r4, r7
- bhs _02028154
- cmp r4, r7
- bhs _02028154
-_0202812E:
- lsl r0, r4, #0x3
- lsl r1, r6, #0x3
- str r0, [sp, #0x8]
- add r0, r5, r0
- add r1, r5, r1
- bl FUN_02027E70
- ldr r0, [sp, #0x8]
- add r0, r5, r0
- bl FUN_02027E44
- add r0, r6, #0x1
- lsl r0, r0, #0x10
- lsr r6, r0, #0x10
- add r0, r4, #0x1
- lsl r0, r0, #0x10
- lsr r4, r0, #0x10
- cmp r4, r7
- blo _0202812E
-_02028154:
- ldr r0, [sp, #0x0]
- sub r0, r7, r0
- lsl r0, r0, #0x10
- lsr r7, r0, #0x10
-_0202815C:
- ldr r0, [sp, #0x4]
- add r0, r0, #0x1
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- str r0, [sp, #0x4]
- cmp r0, r7
- blo _02028100
-_0202816A:
- add sp, #0xc
- pop {r4-r7, pc}
- nop
-_02028170: .word 0x0000FFFF
-
- thumb_func_start FUN_02028174
-FUN_02028174: ; 0x02028174
- push {r3, lr}
- cmp r1, #0x64
- blo _02028182
- add r0, r2, #0x0
- bl FUN_02027E44
- pop {r3, pc}
-_02028182:
- lsl r1, r1, #0x3
- add r0, r0, r1
- add r1, r2, #0x0
- bl FUN_02027E70
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_02028190
-FUN_02028190: ; 0x02028190
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r0, r2, #0x0
- add r4, r1, #0x0
- bl FUN_02027E5C
- add r6, r0, #0x0
- cmp r4, #0x64
- blo _020281AA
- bl FUN_02027E44
- mov r0, #0x0
- pop {r4-r6, pc}
-_020281AA:
- lsl r0, r4, #0x3
- add r0, r5, r0
- add r1, r6, #0x0
- bl FUN_02027E70
- add r0, r6, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_020281B8
-FUN_020281B8: ; 0x020281B8
- push {r4-r6, lr}
- mov r4, #0x0
- add r6, r0, #0x0
- add r5, r4, #0x0
-_020281C0:
- lsl r0, r5, #0x3
- add r0, r6, r0
- bl FUN_02027E34
- cmp r0, #0x0
- beq _020281D2
- add r0, r4, #0x1
- lsl r0, r0, #0x10
- lsr r4, r0, #0x10
-_020281D2:
- add r0, r5, #0x1
- lsl r0, r0, #0x10
- lsr r5, r0, #0x10
- cmp r5, #0x64
- blo _020281C0
- add r0, r4, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_020281E0
-FUN_020281E0: ; 0x020281E0
- mov r0, #0x1f
- lsl r0, r0, #0x6
- bx lr
- .balign 4
-
- thumb_func_start FUN_020281E8
-FUN_020281E8: ; 0x020281E8
- push {r3-r7, lr}
- add r7, r0, #0x0
- mov r2, #0x1f
- mov r0, #0x0
- add r1, r7, #0x0
- lsl r2, r2, #0x6
- blx MIi_CpuClearFast
- mov r0, #0x1d
- lsl r0, r0, #0x4
- add r1, r0, #0x0
- add r2, r0, #0x0
- ldr r4, _02028224 ; =0x0000FFFF
- mov r5, #0x0
- add r6, r7, #0x0
- mov r3, #0x2
- sub r1, #0x10
- add r2, #0x1e
-_0202820C:
- strh r4, [r6, r0]
- strh r4, [r6, r1]
- strb r3, [r6, r2]
- add r5, r5, #0x1
- add r6, #0x30
- cmp r5, #0x20
- blt _0202820C
- add r0, r7, #0x0
- bl FUN_0203380C
- pop {r3-r7, pc}
- nop
-_02028224: .word 0x0000FFFF
-
- thumb_func_start FUN_02028228
-FUN_02028228: ; 0x02028228
- bx lr
- .balign 4
-
- thumb_func_start FUN_0202822C
-FUN_0202822C: ; 0x0202822C
- push {r3-r7, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- add r7, r2, #0x0
- cmp r4, #0x20
- blt _0202823C
- bl ErrorHandling
-_0202823C:
- cmp r7, #0x8
- bhi _020282D0
- add r0, r7, r7
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_0202824C: ; jump table (using 16-bit offset)
- .short _0202825E - _0202824C - 2; case 0
- .short _0202826C - _0202824C - 2; case 1
- .short _0202827A - _0202824C - 2; case 2
- .short _02028286 - _0202824C - 2; case 3
- .short _02028294 - _0202824C - 2; case 4
- .short _020282A0 - _0202824C - 2; case 5
- .short _020282AE - _0202824C - 2; case 6
- .short _020282C6 - _0202824C - 2; case 7
- .short _020282BA - _0202824C - 2; case 8
-_0202825E:
- mov r0, #0x30
- mul r0, r4
- add r1, r5, r0
- mov r0, #0x1e
- lsl r0, r0, #0x4
- ldr r6, [r1, r0]
- b _020282D0
-_0202826C:
- mov r0, #0x30
- mul r0, r4
- add r1, r5, r0
- mov r0, #0x79
- lsl r0, r0, #0x2
- ldrh r6, [r1, r0]
- b _020282D0
-_0202827A:
- mov r0, #0x30
- mul r0, r4
- add r1, r5, r0
- ldr r0, _020282D4 ; =0x000001E6
- ldrh r6, [r1, r0]
- b _020282D0
-_02028286:
- mov r0, #0x30
- mul r0, r4
- add r1, r5, r0
- mov r0, #0x7a
- lsl r0, r0, #0x2
- ldrh r6, [r1, r0]
- b _020282D0
-_02028294:
- mov r0, #0x30
- mul r0, r4
- add r1, r5, r0
- ldr r0, _020282D8 ; =0x000001EA
- ldrh r6, [r1, r0]
- b _020282D0
-_020282A0:
- mov r0, #0x30
- mul r0, r4
- add r1, r5, r0
- mov r0, #0x7b
- lsl r0, r0, #0x2
- ldrb r6, [r1, r0]
- b _020282D0
-_020282AE:
- mov r0, #0x30
- mul r0, r4
- add r1, r5, r0
- ldr r0, _020282DC ; =0x000001ED
- ldrb r6, [r1, r0]
- b _020282D0
-_020282BA:
- mov r0, #0x30
- mul r0, r4
- add r1, r5, r0
- ldr r0, _020282E0 ; =0x000001EE
- ldrb r6, [r1, r0]
- b _020282D0
-_020282C6:
- mov r0, #0x30
- mul r0, r4
- add r1, r5, r0
- ldr r0, _020282E4 ; =0x000001EF
- ldrb r6, [r1, r0]
-_020282D0:
- add r0, r6, #0x0
- pop {r3-r7, pc}
- .balign 4
-_020282D4: .word 0x000001E6
-_020282D8: .word 0x000001EA
-_020282DC: .word 0x000001ED
-_020282E0: .word 0x000001EE
-_020282E4: .word 0x000001EF
-
- thumb_func_start FUN_020282E8
-FUN_020282E8: ; 0x020282E8
- push {r3-r7, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- add r7, r2, #0x0
- add r6, r3, #0x0
- cmp r4, #0x20
- blt _020282FA
- bl ErrorHandling
-_020282FA:
- cmp r7, #0x8
- bhi _02028378
- add r0, r7, r7
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_0202830A: ; jump table (using 16-bit offset)
- .short _0202831C - _0202830A - 2; case 0
- .short _0202832A - _0202830A - 2; case 1
- .short _02028330 - _0202830A - 2; case 2
- .short _02028336 - _0202830A - 2; case 3
- .short _0202833C - _0202830A - 2; case 4
- .short _02028348 - _0202830A - 2; case 5
- .short _02028356 - _0202830A - 2; case 6
- .short _0202836E - _0202830A - 2; case 7
- .short _02028362 - _0202830A - 2; case 8
-_0202831C:
- mov r0, #0x30
- mul r0, r4
- add r1, r5, r0
- mov r0, #0x1e
- lsl r0, r0, #0x4
- str r6, [r1, r0]
- pop {r3-r7, pc}
-_0202832A:
- bl ErrorHandling
- pop {r3-r7, pc}
-_02028330:
- bl ErrorHandling
- pop {r3-r7, pc}
-_02028336:
- bl ErrorHandling
- pop {r3-r7, pc}
-_0202833C:
- mov r0, #0x30
- mul r0, r4
- add r1, r5, r0
- ldr r0, _0202837C ; =0x000001EA
- strh r6, [r1, r0]
- pop {r3-r7, pc}
-_02028348:
- mov r0, #0x30
- mul r0, r4
- add r1, r5, r0
- mov r0, #0x7b
- lsl r0, r0, #0x2
- strb r6, [r1, r0]
- pop {r3-r7, pc}
-_02028356:
- mov r0, #0x30
- mul r0, r4
- add r1, r5, r0
- ldr r0, _02028380 ; =0x000001ED
- strb r6, [r1, r0]
- pop {r3-r7, pc}
-_02028362:
- mov r0, #0x30
- mul r0, r4
- add r1, r5, r0
- ldr r0, _02028384 ; =0x000001EE
- strb r6, [r1, r0]
- pop {r3-r7, pc}
-_0202836E:
- mov r0, #0x30
- mul r0, r4
- add r1, r5, r0
- ldr r0, _02028388 ; =0x000001EF
- strb r6, [r1, r0]
-_02028378:
- pop {r3-r7, pc}
- nop
-_0202837C: .word 0x000001EA
-_02028380: .word 0x000001ED
-_02028384: .word 0x000001EE
-_02028388: .word 0x000001EF
-
- thumb_func_start FUN_0202838C
-FUN_0202838C: ; 0x0202838C
- push {r3-r5, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- cmp r4, #0x20
- blt _0202839A
- bl ErrorHandling
-_0202839A:
- mov r0, #0xc
- add r5, #0x40
- mul r0, r4
- add r0, r5, r0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_020283A4
-FUN_020283A4: ; 0x020283A4
- push {r3-r5, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- cmp r4, #0x20
- blt _020283B2
- bl ErrorHandling
-_020283B2:
- mov r0, #0x1d
- lsl r0, r0, #0x4
- add r1, r5, r0
- mov r0, #0x30
- mul r0, r4
- add r0, r1, r0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_020283C0
-FUN_020283C0: ; 0x020283C0
- push {r4-r6, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- add r6, r2, #0x0
- cmp r4, #0x20
- blt _020283D0
- bl ErrorHandling
-_020283D0:
- mov r1, #0x1d
- lsl r1, r1, #0x4
- add r2, r5, r1
- mov r1, #0x30
- mul r1, r4
- add r1, r2, r1
- add r0, r6, #0x0
- mov r2, #0x10
- bl FUN_02021EF0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_020283E8
-FUN_020283E8: ; 0x020283E8
- push {r3-r5, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- cmp r4, #0x20
- blt _020283F6
- bl ErrorHandling
-_020283F6:
- mov r0, #0x7
- lsl r0, r0, #0x6
- add r1, r5, r0
- mov r0, #0x30
- mul r0, r4
- add r0, r1, r0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02028404
-FUN_02028404: ; 0x02028404
- push {r4-r6, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- add r6, r2, #0x0
- cmp r4, #0x20
- blt _02028414
- bl ErrorHandling
-_02028414:
- mov r1, #0x7
- lsl r1, r1, #0x6
- add r2, r5, r1
- mov r1, #0x30
- mul r1, r4
- add r1, r2, r1
- add r0, r6, #0x0
- mov r2, #0x10
- bl FUN_02021EF0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_0202842C
-FUN_0202842C: ; 0x0202842C
- push {r3-r5, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- cmp r4, #0x20
- blt _0202843A
- bl ErrorHandling
-_0202843A:
- mov r0, #0xc
- add r5, #0x40
- mul r0, r4
- add r0, r5, r0
- blx FUN_0209700C
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02028448
-FUN_02028448: ; 0x02028448
- push {r4-r6, lr}
- mov r5, #0x0
- add r6, r0, #0x0
- add r4, r5, #0x0
-_02028450:
- add r0, r6, #0x0
- add r1, r4, #0x0
- bl FUN_0202842C
- cmp r0, #0x0
- beq _0202845E
- add r5, r5, #0x1
-_0202845E:
- add r4, r4, #0x1
- cmp r4, #0x20
- blt _02028450
- add r0, r5, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02028468
-FUN_02028468: ; 0x02028468
- push {r4-r7, lr}
- sub sp, #0xc
- add r5, r1, #0x0
- str r0, [sp, #0x0]
- cmp r5, #0x20
- blt _02028478
- bl ErrorHandling
-_02028478:
- cmp r5, #0x1f
- bge _020284D2
- mov r1, #0x7
- ldr r0, [sp, #0x0]
- lsl r1, r1, #0x6
- add r0, r0, r1
- str r0, [sp, #0x4]
- mov r0, #0x30
- add r1, r5, #0x0
- mul r1, r0
- ldr r0, [sp, #0x4]
- add r6, r0, r1
- ldr r0, [sp, #0x0]
- add r1, r5, #0x0
- str r0, [sp, #0x8]
- add r0, #0x40
- str r0, [sp, #0x8]
- mov r0, #0xc
- mul r1, r0
- ldr r0, [sp, #0x8]
- add r4, r0, r1
-_020284A2:
- add r7, r5, #0x1
- mov r0, #0x30
- add r1, r7, #0x0
- mul r1, r0
- ldr r0, [sp, #0x4]
- mov r2, #0x30
- add r0, r0, r1
- add r1, r6, #0x0
- blx MI_CpuCopy8
- mov r0, #0xc
- add r1, r7, #0x0
- mul r1, r0
- ldr r0, [sp, #0x8]
- mov r2, #0xc
- add r0, r0, r1
- add r1, r4, #0x0
- blx MI_CpuCopy8
- add r5, r5, #0x1
- add r6, #0x30
- add r4, #0xc
- cmp r5, #0x1f
- blt _020284A2
-_020284D2:
- mov r2, #0x7
- ldr r1, [sp, #0x0]
- lsl r2, r2, #0x6
- add r2, r1, r2
- mov r1, #0x5d
- lsl r1, r1, #0x4
- add r1, r2, r1
- mov r0, #0x0
- mov r2, #0x30
- blx MIi_CpuClearFast
- ldr r2, [sp, #0x0]
- mov r1, #0x5d
- add r2, #0x40
- lsl r1, r1, #0x2
- add r1, r2, r1
- mov r0, #0x0
- mov r2, #0xc
- blx MIi_CpuClearFast
- mov r2, #0x7a
- lsl r2, r2, #0x4
- add r1, r2, #0x0
- ldr r3, _02028514 ; =0x0000FFFF
- ldr r0, [sp, #0x0]
- sub r1, #0x10
- strh r3, [r0, r2]
- strh r3, [r0, r1]
- mov r1, #0x2
- add r2, #0x1e
- strb r1, [r0, r2]
- add sp, #0xc
- pop {r4-r7, pc}
- .balign 4
-_02028514: .word 0x0000FFFF
-
- thumb_func_start FUN_02028518
-FUN_02028518: ; 0x02028518
- push {r4-r7, lr}
- sub sp, #0xc
- str r2, [sp, #0x4]
- add r7, r0, #0x0
- ldr r0, [sp, #0x4]
- mov r2, #0x30
- add r5, r0, #0x0
- mov r0, #0x7
- lsl r0, r0, #0x6
- add r3, r1, #0x0
- mul r5, r2
- add r4, r7, r0
- mul r3, r2
- str r1, [sp, #0x0]
- add r0, r4, r5
- add r1, r4, r3
- blx MI_CpuCopy8
- ldr r0, [sp, #0x4]
- add r6, r7, #0x0
- mov r3, #0xc
- add r1, r0, #0x0
- mul r1, r3
- add r6, #0x40
- str r1, [sp, #0x8]
- add r0, r6, r1
- ldr r1, [sp, #0x0]
- add r2, r1, #0x0
- mul r2, r3
- add r1, r6, r2
- add r2, r3, #0x0
- blx MI_CpuCopy8
- mov r0, #0x0
- add r1, r4, r5
- mov r2, #0x30
- blx MIi_CpuClearFast
- ldr r1, [sp, #0x8]
- mov r0, #0x0
- add r1, r6, r1
- mov r2, #0xc
- blx MIi_CpuClearFast
- mov r0, #0x1d
- ldr r1, _02028588 ; =0x0000FFFF
- add r2, r7, r5
- lsl r0, r0, #0x4
- strh r1, [r2, r0]
- strh r1, [r4, r5]
- mov r1, #0x2
- add r0, #0x1e
- strb r1, [r2, r0]
- add sp, #0xc
- pop {r4-r7, pc}
- nop
-_02028588: .word 0x0000FFFF
-
- thumb_func_start FUN_0202858C
-FUN_0202858C: ; 0x0202858C
- push {r3-r7, lr}
- mov r5, #0x0
- mvn r5, r5
- add r6, r0, #0x0
- mov r4, #0x0
- add r7, r5, #0x0
-_02028598:
- add r0, r6, #0x0
- add r1, r4, #0x0
- bl FUN_0202842C
- cmp r0, #0x0
- beq _020285BC
- mov r0, #0x0
- mvn r0, r0
- cmp r5, r0
- beq _020285C6
- add r0, r6, #0x0
- add r1, r5, #0x0
- add r2, r4, #0x0
- bl FUN_02028518
- add r4, r7, #0x0
- add r5, r7, #0x0
- b _020285C6
-_020285BC:
- mov r0, #0x0
- mvn r0, r0
- cmp r5, r0
- bne _020285C6
- add r5, r4, #0x0
-_020285C6:
- add r4, r4, #0x1
- cmp r4, #0x20
- blt _02028598
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_020285D0
-FUN_020285D0: ; 0x020285D0
- push {r3-r5, lr}
- sub sp, #0x10
- add r5, r0, #0x0
- add r4, r1, #0x0
- add r0, sp, #0x0
- bl FUN_020126B4
- mov r0, #0x30
- add r2, r4, #0x0
- mul r2, r0
- mov r0, #0x7d
- ldr r1, [sp, #0x0]
- lsl r0, r0, #0x4
- add r1, r1, r0
- ldr r0, _02028604 ; =0x000001EA
- add r3, r5, r2
- strh r1, [r3, r0]
- add r1, r0, #0x2
- ldr r2, [sp, #0x4]
- add r0, r0, #0x3
- strb r2, [r3, r1]
- ldr r1, [sp, #0x8]
- strb r1, [r3, r0]
- add sp, #0x10
- pop {r3-r5, pc}
- nop
-_02028604: .word 0x000001EA
-
- thumb_func_start FUN_02028608
-FUN_02028608: ; 0x02028608
- push {r4-r6, lr}
- mov r5, #0x79
- add r4, r0, #0x0
- mov r0, #0x30
- lsl r5, r5, #0x2
- mul r0, r1
- add r5, r4, r5
- ldrh r6, [r5, r0]
- add r2, r6, r2
- strh r2, [r5, r0]
- ldrh r6, [r5, r0]
- ldr r2, _0202865C ; =0x0000270F
- cmp r6, r2
- bls _02028626
- strh r2, [r5, r0]
-_02028626:
- ldr r2, _02028660 ; =0x000001E6
- add r2, r4, r2
- ldrh r5, [r2, r0]
- add r3, r5, r3
- strh r3, [r2, r0]
- ldrh r5, [r2, r0]
- ldr r3, _0202865C ; =0x0000270F
- cmp r5, r3
- bls _0202863A
- strh r3, [r2, r0]
-_0202863A:
- mov r2, #0x7a
- lsl r2, r2, #0x2
- add r2, r4, r2
- ldrh r5, [r2, r0]
- ldr r3, [sp, #0x10]
- add r3, r5, r3
- strh r3, [r2, r0]
- ldrh r5, [r2, r0]
- ldr r3, _0202865C ; =0x0000270F
- cmp r5, r3
- bls _02028652
- strh r3, [r2, r0]
-_02028652:
- add r0, r4, #0x0
- bl FUN_020285D0
- pop {r4-r6, pc}
- nop
-_0202865C: .word 0x0000270F
-_02028660: .word 0x000001E6
-
- thumb_func_start FUN_02028664
-FUN_02028664: ; 0x02028664
- push {r4-r6, lr}
- add r5, r0, #0x0
- mov r3, #0x79
- mov r0, #0x30
- add r4, r1, #0x0
- mul r4, r0
- lsl r3, r3, #0x2
- mul r0, r2
- add r2, r5, r3
- add r6, r5, r4
- ldrh r1, [r2, r0]
- ldrh r3, [r6, r3]
- add r1, r1, r3
- strh r1, [r2, r0]
- ldrh r3, [r2, r0]
- ldr r1, _020286E0 ; =0x0000270F
- cmp r3, r1
- bls _0202868A
- strh r1, [r2, r0]
-_0202868A:
- ldr r3, _020286E4 ; =0x000001E6
- add r6, r5, r4
- add r2, r5, r3
- ldrh r1, [r2, r0]
- ldrh r3, [r6, r3]
- add r1, r1, r3
- strh r1, [r2, r0]
- ldrh r3, [r2, r0]
- ldr r1, _020286E0 ; =0x0000270F
- cmp r3, r1
- bls _020286A2
- strh r1, [r2, r0]
-_020286A2:
- mov r3, #0x7a
- lsl r3, r3, #0x2
- add r2, r5, r3
- add r6, r5, r4
- ldrh r1, [r2, r0]
- ldrh r3, [r6, r3]
- add r1, r1, r3
- strh r1, [r2, r0]
- ldrh r3, [r2, r0]
- ldr r1, _020286E0 ; =0x0000270F
- cmp r3, r1
- bls _020286BC
- strh r1, [r2, r0]
-_020286BC:
- mov r0, #0x7
- lsl r0, r0, #0x6
- add r6, r5, r0
- mov r0, #0x0
- add r1, r6, r4
- mov r2, #0x30
- blx MIi_CpuClearFast
- mov r0, #0x1d
- ldr r1, _020286E8 ; =0x0000FFFF
- add r2, r5, r4
- lsl r0, r0, #0x4
- strh r1, [r2, r0]
- strh r1, [r6, r4]
- mov r1, #0x2
- add r0, #0x1e
- strb r1, [r2, r0]
- pop {r4-r6, pc}
- .balign 4
-_020286E0: .word 0x0000270F
-_020286E4: .word 0x000001E6
-_020286E8: .word 0x0000FFFF
-
- thumb_func_start FUN_020286EC
-FUN_020286EC: ; 0x020286EC
- ldr r3, _020286F4 ; =FUN_02022610
- mov r1, #0x1d
- bx r3
- nop
-_020286F4: .word FUN_02022610
-
- thumb_func_start FUN_020286F8
-FUN_020286F8: ; 0x020286F8
- mov r0, #0x42
- lsl r0, r0, #0x2
- bx lr
- .balign 4
-
- thumb_func_start FUN_02028700
-FUN_02028700: ; 0x02028700
- push {r4-r5}
- add r5, r2, #0x0
- mov r3, #0x2c
- add r2, r1, #0x0
- mul r2, r3
- mul r5, r3
- add r4, r0, r2
- add r3, r0, r5
- mov r2, #0x5
-_02028712:
- ldmia r4!, {r0-r1}
- stmia r3!, {r0-r1}
- sub r2, r2, #0x1
- bne _02028712
- ldr r0, [r4, #0x0]
- str r0, [r3, #0x0]
- pop {r4-r5}
- bx lr
- .balign 4
-
- thumb_func_start FUN_02028724
-FUN_02028724: ; 0x02028724
- push {r4, lr}
- add r4, r0, #0x0
- mov r2, #0x42
- mov r0, #0x0
- add r1, r4, #0x0
- lsl r2, r2, #0x2
- blx MIi_CpuClearFast
- ldr r0, _0202874C ; =0x0000FFFF
- mov r1, #0x0
- add r2, r4, #0x0
-_0202873A:
- strh r0, [r2, #0x0]
- strh r0, [r2, #0x10]
- add r1, r1, #0x1
- add r2, #0x2c
- cmp r1, #0x6
- blt _0202873A
- ldr r0, _02028750 ; =0x021C59D0
- str r4, [r0, #0x0]
- pop {r4, pc}
- .balign 4
-_0202874C: .word 0x0000FFFF
-_02028750: .word 0x021C59D0
-
- thumb_func_start FUN_02028754
-FUN_02028754: ; 0x02028754
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r6, r1, #0x0
- mov r7, #0x0
-_0202875C:
- mov r4, #0x0
- cmp r6, #0x0
- bls _02028770
-_02028762:
- ldr r0, [r5, #0x28]
- bl FUN_0201BA10
- add r4, r4, #0x1
- str r0, [r5, #0x28]
- cmp r4, r6
- blo _02028762
-_02028770:
- add r7, r7, #0x1
- add r5, #0x2c
- cmp r7, #0x6
- blo _0202875C
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0202877C
-FUN_0202877C: ; 0x0202877C
- mov r2, #0x2c
- mul r2, r1
- add r0, r0, r2
- ldr r0, [r0, #0x24]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02028788
-FUN_02028788: ; 0x02028788
- push {r3-r5, lr}
- add r5, r0, #0x0
- mov r0, #0x2c
- add r4, r1, #0x0
- mul r4, r0
- add r0, r5, r4
- str r2, [r0, #0x24]
- add r0, r2, #0x0
- bl FUN_0201BA10
- add r1, r5, r4
- str r0, [r1, #0x28]
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_020287A4
-FUN_020287A4: ; 0x020287A4
- ldr r0, [r0, #0x54]
- bx lr
-
- thumb_func_start FUN_020287A8
-FUN_020287A8: ; 0x020287A8
- cmp r2, #0x0
- bne _020287B4
- mov r2, #0x2c
- mul r2, r1
- add r0, r0, r2
- bx lr
-_020287B4:
- mov r2, #0x2c
- mul r2, r1
- add r0, r0, r2
- add r0, #0x10
- bx lr
- .balign 4
-
- thumb_func_start FUN_020287C0
-FUN_020287C0: ; 0x020287C0
- push {r4, lr}
- add r4, r0, #0x0
- cmp r2, #0x0
- bne _020287D8
- mov r2, #0x2c
- mul r2, r1
- add r1, r4, r2
- add r0, r3, #0x0
- mov r2, #0x8
- bl FUN_02021EF0
- pop {r4, pc}
-_020287D8:
- mov r2, #0x2c
- mul r2, r1
- add r1, r4, r2
- add r0, r3, #0x0
- add r1, #0x10
- mov r2, #0x8
- bl FUN_02021EF0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_020287EC
-FUN_020287EC: ; 0x020287EC
- mov r3, #0x2c
- mul r3, r1
- add r0, r0, r3
- add r0, #0x20
- strb r2, [r0, #0x0]
- bx lr
-
- thumb_func_start FUN_020287F8
-FUN_020287F8: ; 0x020287F8
- mov r2, #0x2c
- mul r2, r1
- add r0, r0, r2
- add r0, #0x20
- ldrb r0, [r0, #0x0]
- bx lr
-
- thumb_func_start FUN_02028804
-FUN_02028804: ; 0x02028804
- mov r2, #0x2c
- mul r2, r1
- add r0, r0, r2
- add r0, #0x21
- ldrb r0, [r0, #0x0]
- bx lr
-
- thumb_func_start FUN_02028810
-FUN_02028810: ; 0x02028810
- mov r3, #0x2c
- mul r3, r1
- add r0, r0, r3
- add r0, #0x21
- strb r2, [r0, #0x0]
- bx lr
-
- thumb_func_start FUN_0202881C
-FUN_0202881C: ; 0x0202881C
- ldr r3, _02028824 ; =FUN_02022610
- mov r1, #0x11
- bx r3
- nop
-_02028824: .word FUN_02022610
-
- thumb_func_start FUN_02028828
-FUN_02028828: ; 0x02028828
- push {r3, lr}
- mov r2, #0x2c
- mul r2, r1
- add r0, r0, r2
- bl FUN_0202888C
- cmp r0, #0x0
- bne _0202883C
- mov r0, #0x1
- pop {r3, pc}
-_0202883C:
- mov r0, #0x0
- pop {r3, pc}
-
- thumb_func_start FUN_02028840
-FUN_02028840: ; 0x02028840
- mov r2, #0x2c
- add r3, r0, #0x0
- mul r2, r1
- add r1, r3, r2
- ldr r3, _02028850 ; =FUN_020288AC
- add r0, #0x2c
- bx r3
- nop
-_02028850: .word FUN_020288AC
-
- thumb_func_start FUN_02028854
-FUN_02028854: ; 0x02028854
- push {r3-r7, lr}
- add r6, r1, #0x0
- ldrh r1, [r6, #0x0]
- add r5, r0, #0x0
- ldr r0, _02028888 ; =0x0000FFFF
- cmp r1, r0
- bne _02028866
- mov r0, #0x0
- pop {r3-r7, pc}
-_02028866:
- mov r4, #0x0
- mov r7, #0x8
-_0202886A:
- add r0, r6, #0x0
- add r1, r5, #0x0
- add r2, r7, #0x0
- bl StringNotEqualN
- cmp r0, #0x0
- bne _0202887C
- mov r0, #0x1
- pop {r3-r7, pc}
-_0202887C:
- add r4, r4, #0x1
- add r5, #0x2c
- cmp r4, #0x6
- blt _0202886A
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-_02028888: .word 0x0000FFFF
-
- thumb_func_start FUN_0202888C
-FUN_0202888C: ; 0x0202888C
- ldrh r2, [r0, #0x0]
- ldr r1, _020288A8 ; =0x0000FFFF
- cmp r2, r1
- bne _02028898
- mov r0, #0x1
- bx lr
-_02028898:
- ldrh r0, [r0, #0x10]
- cmp r0, r1
- bne _020288A2
- mov r0, #0x1
- bx lr
-_020288A2:
- mov r0, #0x0
- bx lr
- nop
-_020288A8: .word 0x0000FFFF
-
- thumb_func_start FUN_020288AC
-FUN_020288AC: ; 0x020288AC
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- add r0, #0x10
- add r1, #0x10
- mov r2, #0x8
- bl StringNotEqualN
- cmp r0, #0x0
- beq _020288C4
- mov r0, #0x0
- pop {r3-r5, pc}
-_020288C4:
- add r0, r5, #0x0
- add r1, r4, #0x0
- mov r2, #0x8
- bl StringNotEqualN
- cmp r0, #0x0
- beq _020288D6
- mov r0, #0x0
- pop {r3-r5, pc}
-_020288D6:
- add r0, r5, #0x0
- add r0, #0x20
- ldrb r1, [r0, #0x0]
- add r0, r4, #0x0
- add r0, #0x20
- ldrb r0, [r0, #0x0]
- cmp r1, r0
- beq _020288EA
- mov r0, #0x0
- pop {r3-r5, pc}
-_020288EA:
- add r0, r5, #0x0
- add r0, #0x21
- ldrb r1, [r0, #0x0]
- add r0, r4, #0x0
- add r0, #0x21
- ldrb r0, [r0, #0x0]
- cmp r1, r0
- beq _020288FE
- mov r0, #0x0
- pop {r3-r5, pc}
-_020288FE:
- ldr r1, [r5, #0x24]
- ldr r0, [r4, #0x24]
- cmp r1, r0
- bne _0202890A
- mov r0, #0x1
- pop {r3-r5, pc}
-_0202890A:
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02028910
-FUN_02028910: ; 0x02028910
- mov r1, #0x0
- strh r1, [r0, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02028918
-FUN_02028918: ; 0x02028918
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r0, _0202892C ; =0x0000C350
- add r4, r1, #0x0
- cmp r4, r0
- bls _02028928
- bl ErrorHandling
-_02028928:
- strh r4, [r5, #0x0]
- pop {r3-r5, pc}
- .balign 4
-_0202892C: .word 0x0000C350
-
- thumb_func_start FUN_02028930
-FUN_02028930: ; 0x02028930
- ldrh r0, [r0, #0x0]
- bx lr
-
- thumb_func_start FUN_02028934
-FUN_02028934: ; 0x02028934
- ldrh r3, [r0, #0x0]
- ldr r2, _02028950 ; =0x0000C350
- cmp r3, r2
- blo _02028940
- mov r0, #0x0
- bx lr
-_02028940:
- add r1, r3, r1
- strh r1, [r0, #0x0]
- ldrh r1, [r0, #0x0]
- cmp r1, r2
- bls _0202894C
- strh r2, [r0, #0x0]
-_0202894C:
- mov r0, #0x1
- bx lr
- .balign 4
-_02028950: .word 0x0000C350
-
- thumb_func_start FUN_02028954
-FUN_02028954: ; 0x02028954
- ldrh r0, [r0, #0x0]
- add r1, r1, r0
- ldr r0, _02028968 ; =0x0000C350
- cmp r1, r0
- bhi _02028962
- mov r0, #0x1
- bx lr
-_02028962:
- mov r0, #0x0
- bx lr
- nop
-_02028968: .word 0x0000C350
-
- thumb_func_start FUN_0202896C
-FUN_0202896C: ; 0x0202896C
- ldrh r2, [r0, #0x0]
- cmp r2, r1
- bhs _02028976
- mov r0, #0x0
- bx lr
-_02028976:
- sub r1, r2, r1
- strh r1, [r0, #0x0]
- mov r0, #0x1
- bx lr
- .balign 4
-
- thumb_func_start FUN_02028980
-FUN_02028980: ; 0x02028980
- mov r0, #0x46
- lsl r0, r0, #0x4
- bx lr
- .balign 4
-
- thumb_func_start FUN_02028988
-FUN_02028988: ; 0x02028988
- ldr r3, _02028990 ; =Call_FillMemWithValue
- mov r1, #0x0
- mov r2, #0x70
- bx r3
- .balign 4
-_02028990: .word Call_FillMemWithValue
-
- thumb_func_start FUN_02028994
-FUN_02028994: ; 0x02028994
- ldr r3, _020289A0 ; =Call_FillMemWithValue
- mov r2, #0x46
- mov r1, #0x0
- lsl r2, r2, #0x4
- bx r3
- nop
-_020289A0: .word Call_FillMemWithValue
-
- thumb_func_start FUN_020289A4
-FUN_020289A4: ; 0x020289A4
- ldr r3, _020289AC ; =FUN_02022610
- mov r1, #0x12
- bx r3
- nop
-_020289AC: .word FUN_02022610
-
- thumb_func_start FUN_020289B0
-FUN_020289B0: ; 0x020289B0
- push {r3-r7, lr}
- sub sp, #0x10
- add r7, r0, #0x0
- cmp r1, #0x1
- beq _020289C0
- add sp, #0x10
- mov r0, #0x0
- pop {r3-r7, pc}
-_020289C0:
- add r0, sp, #0x0
- bl FUN_020126B4
- ldr r0, [r7, #0x0]
- lsl r1, r0, #0x15
- lsr r3, r1, #0x1c
- beq _02028A18
- lsl r1, r0, #0x19
- lsr r2, r1, #0x19
- ldr r1, [sp, #0x0]
- cmp r2, r1
- bne _020289F2
- ldr r1, [sp, #0x4]
- cmp r3, r1
- bne _020289F2
- lsl r1, r0, #0xd
- lsr r2, r1, #0x1b
- ldr r1, [sp, #0x8]
- cmp r2, r1
- bne _020289F2
- lsl r0, r0, #0x12
- lsr r1, r0, #0x1d
- ldr r0, [sp, #0xc]
- cmp r1, r0
- beq _02028A18
-_020289F2:
- mov r0, #0x3f
- lsl r0, r0, #0x4
- mov r5, #0x9
- add r6, r7, r0
-_020289FA:
- add r4, r6, #0x0
- sub r4, #0x70
- add r3, r6, #0x0
- mov r2, #0xe
-_02028A02:
- ldmia r4!, {r0-r1}
- stmia r3!, {r0-r1}
- sub r2, r2, #0x1
- bne _02028A02
- sub r5, r5, #0x1
- sub r6, #0x70
- cmp r5, #0x1
- bge _020289FA
- add r0, r7, #0x0
- bl FUN_02028988
-_02028A18:
- add r0, r7, #0x0
- add sp, #0x10
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02028A20
-FUN_02028A20: ; 0x02028A20
- push {r4, lr}
- sub sp, #0x20
- add r4, r0, #0x0
- cmp r1, #0x1
- beq _02028A30
- add sp, #0x20
- mov r0, #0x0
- pop {r4, pc}
-_02028A30:
- add r0, sp, #0x0
- bl FUN_020126B4
- ldr r0, [r4, #0x0]
- lsl r0, r0, #0x19
- lsr r0, r0, #0x19
- str r0, [sp, #0x10]
- ldr r0, [r4, #0x0]
- lsl r0, r0, #0x15
- lsr r0, r0, #0x1c
- str r0, [sp, #0x14]
- ldr r0, [r4, #0x0]
- lsl r0, r0, #0xd
- lsr r0, r0, #0x1b
- str r0, [sp, #0x18]
- ldr r0, [r4, #0x0]
- lsl r0, r0, #0x12
- lsr r0, r0, #0x1d
- str r0, [sp, #0x1c]
- add r0, sp, #0x0
- bl FUN_02012710
- add r4, r0, #0x0
- add r0, sp, #0x10
- bl FUN_02012710
- ldr r2, [sp, #0x4]
- sub r0, r4, r0
- cmp r2, #0xc
- bne _02028A7E
- ldr r1, [sp, #0x8]
- cmp r1, #0x1f
- bne _02028A7E
- ldr r1, [sp, #0x14]
- cmp r1, #0x1
- bne _02028A7E
- ldr r1, [sp, #0x18]
- cmp r1, #0x1
- beq _02028A94
-_02028A7E:
- cmp r2, #0x1
- bne _02028AAC
- ldr r1, [sp, #0x8]
- cmp r1, #0x1
- bne _02028AAC
- ldr r1, [sp, #0x14]
- cmp r1, #0xc
- bne _02028AAC
- ldr r1, [sp, #0x18]
- cmp r1, #0x1f
- bne _02028AAC
-_02028A94:
- ldr r1, [sp, #0x0]
- ldr r0, [sp, #0x10]
- sub r1, r1, r0
- cmp r1, #0x2
- bge _02028AA6
- mov r0, #0x1
- mvn r0, r0
- cmp r1, r0
- bgt _02028ACC
-_02028AA6:
- add sp, #0x20
- mov r0, #0x1
- pop {r4, pc}
-_02028AAC:
- mov r1, #0x1
- mvn r1, r1
- cmp r0, r1
- ble _02028AB8
- cmp r0, #0x2
- blt _02028ABE
-_02028AB8:
- add sp, #0x20
- mov r0, #0x1
- pop {r4, pc}
-_02028ABE:
- ldr r1, [sp, #0x0]
- ldr r0, [sp, #0x10]
- cmp r1, r0
- beq _02028ACC
- add sp, #0x20
- mov r0, #0x1
- pop {r4, pc}
-_02028ACC:
- mov r0, #0x0
- add sp, #0x20
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02028AD4
-FUN_02028AD4: ; 0x02028AD4
- push {r4, lr}
- add r4, r1, #0x0
- cmp r0, #0x0
- beq _02028B12
- cmp r2, #0x4
- bhi _02028B12
- add r2, r2, r2
- add r2, pc
- ldrh r2, [r2, #0x6]
- lsl r2, r2, #0x10
- asr r2, r2, #0x10
- add pc, r2
-_02028AEC: ; jump table (using 16-bit offset)
- .short _02028AF6 - _02028AEC - 2; case 0
- .short _02028AFC - _02028AEC - 2; case 1
- .short _02028B02 - _02028AEC - 2; case 2
- .short _02028B08 - _02028AEC - 2; case 3
- .short _02028B0E - _02028AEC - 2; case 4
-_02028AF6:
- bl FUN_02028B1C
- b _02028B12
-_02028AFC:
- bl FUN_02028B5C
- b _02028B12
-_02028B02:
- bl FUN_02028BF0
- b _02028B12
-_02028B08:
- bl FUN_02028BFC
- b _02028B12
-_02028B0E:
- bl FUN_02028C08
-_02028B12:
- add r0, r4, #0x0
- bl FUN_02016A18
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02028B1C
-FUN_02028B1C: ; 0x02028B1C
- push {r4-r5}
- ldr r3, [r0, #0x0]
- lsl r2, r3, #0x19
- lsr r5, r2, #0x19
- ldr r2, [r1, #0x0]
- lsl r4, r2, #0x19
- lsr r4, r4, #0x19
- cmp r5, r4
- bne _02028B52
- lsl r4, r3, #0x15
- lsr r5, r4, #0x1c
- lsl r4, r2, #0x15
- lsr r4, r4, #0x1c
- cmp r5, r4
- bne _02028B52
- lsl r4, r3, #0xd
- lsr r5, r4, #0x1b
- lsl r4, r2, #0xd
- lsr r4, r4, #0x1b
- cmp r5, r4
- bne _02028B52
- lsl r3, r3, #0x12
- lsl r2, r2, #0x12
- lsr r3, r3, #0x1d
- lsr r2, r2, #0x1d
- cmp r3, r2
- beq _02028B56
-_02028B52:
- ldr r1, [r1, #0x0]
- str r1, [r0, #0x0]
-_02028B56:
- pop {r4-r5}
- bx lr
- .balign 4
-
- thumb_func_start FUN_02028B5C
-FUN_02028B5C: ; 0x02028B5C
- push {r3, lr}
- ldrb r2, [r1, #0x0]
- cmp r2, #0x23
- bhi _02028BEE
- add r2, r2, r2
- add r2, pc
- ldrh r2, [r2, #0x6]
- lsl r2, r2, #0x10
- asr r2, r2, #0x10
- add pc, r2
-_02028B70: ; jump table (using 16-bit offset)
- .short _02028BEE - _02028B70 - 2; case 0
- .short _02028BB8 - _02028B70 - 2; case 1
- .short _02028BB8 - _02028B70 - 2; case 2
- .short _02028BB8 - _02028B70 - 2; case 3
- .short _02028BB8 - _02028B70 - 2; case 4
- .short _02028BB8 - _02028B70 - 2; case 5
- .short _02028BB8 - _02028B70 - 2; case 6
- .short _02028BB8 - _02028B70 - 2; case 7
- .short _02028BB8 - _02028B70 - 2; case 8
- .short _02028BC0 - _02028B70 - 2; case 9
- .short _02028BC0 - _02028B70 - 2; case 10
- .short _02028BC8 - _02028B70 - 2; case 11
- .short _02028BD0 - _02028B70 - 2; case 12
- .short _02028BD8 - _02028B70 - 2; case 13
- .short _02028BD8 - _02028B70 - 2; case 14
- .short _02028BD8 - _02028B70 - 2; case 15
- .short _02028BB8 - _02028B70 - 2; case 16
- .short _02028BB8 - _02028B70 - 2; case 17
- .short _02028BE0 - _02028B70 - 2; case 18
- .short _02028BE8 - _02028B70 - 2; case 19
- .short _02028BE8 - _02028B70 - 2; case 20
- .short _02028BE8 - _02028B70 - 2; case 21
- .short _02028BE8 - _02028B70 - 2; case 22
- .short _02028BE8 - _02028B70 - 2; case 23
- .short _02028BE8 - _02028B70 - 2; case 24
- .short _02028BE8 - _02028B70 - 2; case 25
- .short _02028BE8 - _02028B70 - 2; case 26
- .short _02028BE8 - _02028B70 - 2; case 27
- .short _02028BE8 - _02028B70 - 2; case 28
- .short _02028BE8 - _02028B70 - 2; case 29
- .short _02028BE8 - _02028B70 - 2; case 30
- .short _02028BEE - _02028B70 - 2; case 31
- .short _02028BE8 - _02028B70 - 2; case 32
- .short _02028BE8 - _02028B70 - 2; case 33
- .short _02028BB8 - _02028B70 - 2; case 34
- .short _02028BB8 - _02028B70 - 2; case 35
-_02028BB8:
- add r0, r0, #0x4
- bl FUN_02028CE8
- pop {r3, pc}
-_02028BC0:
- add r0, r0, #0x4
- bl FUN_02028D98
- pop {r3, pc}
-_02028BC8:
- add r0, r0, #0x4
- bl FUN_02028D44
- pop {r3, pc}
-_02028BD0:
- add r0, r0, #0x4
- bl FUN_02028D24
- pop {r3, pc}
-_02028BD8:
- add r0, r0, #0x4
- bl FUN_02028DFC
- pop {r3, pc}
-_02028BE0:
- add r0, r0, #0x4
- bl FUN_02028E44
- pop {r3, pc}
-_02028BE8:
- add r0, r0, #0x4
- bl FUN_02028E8C
-_02028BEE:
- pop {r3, pc}
-
- thumb_func_start FUN_02028BF0
-FUN_02028BF0: ; 0x02028BF0
- ldrh r2, [r1, #0x0]
- strh r2, [r0, #0x14]
- ldrh r1, [r1, #0x2]
- strh r1, [r0, #0x16]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02028BFC
-FUN_02028BFC: ; 0x02028BFC
- ldrh r2, [r1, #0x0]
- strh r2, [r0, #0x18]
- ldrh r1, [r1, #0x2]
- strh r1, [r0, #0x1a]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02028C08
-FUN_02028C08: ; 0x02028C08
- push {r3-r5, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- bl FUN_02028CA8
- ldrb r1, [r4, #0x0]
- cmp r1, #0x10
- bhi _02028C6E
- add r1, r1, r1
- add r1, pc
- ldrh r1, [r1, #0x6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_02028C24: ; jump table (using 16-bit offset)
- .short _02028C6E - _02028C24 - 2; case 0
- .short _02028C46 - _02028C24 - 2; case 1
- .short _02028C46 - _02028C24 - 2; case 2
- .short _02028C46 - _02028C24 - 2; case 3
- .short _02028C46 - _02028C24 - 2; case 4
- .short _02028C46 - _02028C24 - 2; case 5
- .short _02028C4E - _02028C24 - 2; case 6
- .short _02028C56 - _02028C24 - 2; case 7
- .short _02028C5E - _02028C24 - 2; case 8
- .short _02028C56 - _02028C24 - 2; case 9
- .short _02028C5E - _02028C24 - 2; case 10
- .short _02028C46 - _02028C24 - 2; case 11
- .short _02028C5E - _02028C24 - 2; case 12
- .short _02028C68 - _02028C24 - 2; case 13
- .short _02028C5E - _02028C24 - 2; case 14
- .short _02028C56 - _02028C24 - 2; case 15
- .short _02028C5E - _02028C24 - 2; case 16
-_02028C46:
- add r1, r4, #0x0
- bl FUN_02028ED4
- pop {r3-r5, pc}
-_02028C4E:
- add r1, r4, #0x0
- bl FUN_02028F10
- pop {r3-r5, pc}
-_02028C56:
- add r1, r4, #0x0
- bl FUN_02028F2C
- pop {r3-r5, pc}
-_02028C5E:
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02028F60
- pop {r3-r5, pc}
-_02028C68:
- add r1, r4, #0x0
- bl FUN_02028F94
-_02028C6E:
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02028C70
-FUN_02028C70: ; 0x02028C70
- push {r3-r4}
- mov r3, #0x0
- add r4, r0, #0x0
- mov r1, #0x3f
-_02028C78:
- ldr r2, [r4, #0x0]
- tst r2, r1
- bne _02028C86
- lsl r1, r3, #0x2
- add r0, r0, r1
- pop {r3-r4}
- bx lr
-_02028C86:
- add r3, r3, #0x1
- add r4, r4, #0x4
- cmp r3, #0x4
- blo _02028C78
- mov r3, #0x0
- add r2, r0, #0x0
-_02028C92:
- ldr r1, [r2, #0x4]
- add r3, r3, #0x1
- stmia r2!, {r1}
- cmp r3, #0x3
- blo _02028C92
- lsl r2, r3, #0x2
- mov r1, #0x0
- str r1, [r0, r2]
- add r0, r0, r2
- pop {r3-r4}
- bx lr
-
- thumb_func_start FUN_02028CA8
-FUN_02028CA8: ; 0x02028CA8
- push {r4, lr}
- add r4, r0, #0x0
- mov r1, #0x0
- add r2, r4, #0x0
-_02028CB0:
- ldrb r0, [r2, #0x1c]
- cmp r0, #0x0
- bne _02028CC0
- mov r0, #0x2a
- add r4, #0x1c
- mul r0, r1
- add r0, r4, r0
- pop {r4, pc}
-_02028CC0:
- add r1, r1, #0x1
- add r2, #0x2a
- cmp r1, #0x2
- blo _02028CB0
- add r0, r4, #0x0
- add r1, r4, #0x0
- add r0, #0x1c
- add r1, #0x46
- mov r2, #0x2a
- blx memcpy
- add r4, #0x46
- add r0, r4, #0x0
- mov r1, #0x0
- mov r2, #0x2a
- blx Call_FillMemWithValue
- add r0, r4, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02028CE8
-FUN_02028CE8: ; 0x02028CE8
- push {r4, lr}
- add r4, r1, #0x0
- mov r2, #0x0
- add r3, r0, #0x0
-_02028CF0:
- ldr r1, [r3, #0x0]
- cmp r1, #0x0
- beq _02028CFE
- add r2, r2, #0x1
- add r3, r3, #0x4
- cmp r2, #0x4
- blo _02028CF0
-_02028CFE:
- cmp r2, #0x0
- beq _02028D14
- lsl r2, r2, #0x2
- add r2, r0, r2
- sub r2, r2, #0x4
- ldr r3, [r2, #0x0]
- mov r2, #0x3f
- ldrb r1, [r4, #0x0]
- and r2, r3
- cmp r1, r2
- beq _02028D20
-_02028D14:
- bl FUN_02028C70
- ldrb r2, [r4, #0x0]
- mov r1, #0x3f
- and r1, r2
- str r1, [r0, #0x0]
-_02028D20:
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02028D24
-FUN_02028D24: ; 0x02028D24
- push {r4, lr}
- add r4, r1, #0x0
- bl FUN_02028C70
- ldrb r2, [r4, #0x0]
- mov r1, #0x3f
- and r1, r2
- ldrh r2, [r4, #0x2]
- lsl r3, r2, #0x10
- ldrh r2, [r4, #0x4]
- lsl r2, r2, #0x16
- lsr r2, r2, #0x10
- orr r2, r3
- orr r1, r2
- str r1, [r0, #0x0]
- pop {r4, pc}
-
- thumb_func_start FUN_02028D44
-FUN_02028D44: ; 0x02028D44
- push {r3-r5, lr}
- add r4, r1, #0x0
- mov r2, #0x0
- mov r3, #0x3f
-_02028D4C:
- lsl r1, r2, #0x2
- ldr r5, [r0, r1]
- and r5, r3
- cmp r5, #0xb
- bne _02028D72
- mov r3, #0x0
- str r3, [r0, r1]
- cmp r2, #0x3
- bhs _02028D7C
-_02028D5E:
- lsl r3, r2, #0x2
- add r1, r0, r3
- ldr r1, [r1, #0x4]
- str r1, [r0, r3]
- add r1, r2, #0x1
- lsl r1, r1, #0x10
- lsr r2, r1, #0x10
- cmp r2, #0x3
- blo _02028D5E
- b _02028D7C
-_02028D72:
- add r1, r2, #0x1
- lsl r1, r1, #0x10
- lsr r2, r1, #0x10
- cmp r2, #0x4
- blo _02028D4C
-_02028D7C:
- bl FUN_02028C70
- ldrb r2, [r4, #0x0]
- mov r1, #0x3f
- and r1, r2
- ldrh r2, [r4, #0x2]
- lsl r3, r2, #0x10
- ldrh r2, [r4, #0x4]
- lsl r2, r2, #0x16
- lsr r2, r2, #0x10
- orr r2, r3
- orr r1, r2
- str r1, [r0, #0x0]
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02028D98
-FUN_02028D98: ; 0x02028D98
- push {r4-r6, lr}
- add r4, r1, #0x0
- mov r6, #0x0
- mov r1, #0x3f
-_02028DA0:
- lsl r5, r6, #0x2
- ldr r3, [r0, r5]
- add r2, r3, #0x0
- and r2, r1
- cmp r2, #0x9
- bne _02028DD4
- lsr r3, r3, #0x10
- lsl r3, r3, #0x10
- ldrh r2, [r4, #0x2]
- lsr r3, r3, #0x10
- cmp r2, r3
- bne _02028DD4
- mov r1, #0x0
- str r1, [r0, r5]
- cmp r6, #0x3
- bhs _02028DDE
-_02028DC0:
- lsl r2, r6, #0x2
- add r1, r0, r2
- ldr r1, [r1, #0x4]
- str r1, [r0, r2]
- add r1, r6, #0x1
- lsl r1, r1, #0x10
- lsr r6, r1, #0x10
- cmp r6, #0x3
- blo _02028DC0
- b _02028DDE
-_02028DD4:
- add r2, r6, #0x1
- lsl r2, r2, #0x10
- lsr r6, r2, #0x10
- cmp r6, #0x4
- blo _02028DA0
-_02028DDE:
- bl FUN_02028C70
- ldrb r2, [r4, #0x0]
- mov r1, #0x3f
- and r1, r2
- ldrh r2, [r4, #0x2]
- lsl r3, r2, #0x10
- ldrh r2, [r4, #0x4]
- lsl r2, r2, #0x16
- lsr r2, r2, #0x10
- orr r2, r3
- orr r1, r2
- str r1, [r0, #0x0]
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02028DFC
-FUN_02028DFC: ; 0x02028DFC
- push {r4, lr}
- add r4, r1, #0x0
- mov r2, #0x0
- add r3, r0, #0x0
-_02028E04:
- ldr r1, [r3, #0x0]
- cmp r1, #0x0
- beq _02028E12
- add r2, r2, #0x1
- add r3, r3, #0x4
- cmp r2, #0x4
- blo _02028E04
-_02028E12:
- cmp r2, #0x0
- beq _02028E30
- lsl r1, r2, #0x2
- add r1, r0, r1
- sub r1, r1, #0x4
- ldr r3, [r1, #0x0]
- mov r1, #0x3f
- ldrb r2, [r4, #0x0]
- and r1, r3
- cmp r2, r1
- bne _02028E30
- ldrh r2, [r4, #0x2]
- lsr r1, r3, #0x10
- cmp r2, r1
- beq _02028E42
-_02028E30:
- bl FUN_02028C70
- ldrh r1, [r4, #0x2]
- ldrb r2, [r4, #0x0]
- lsl r3, r1, #0x10
- mov r1, #0x3f
- and r1, r2
- orr r1, r3
- str r1, [r0, #0x0]
-_02028E42:
- pop {r4, pc}
-
- thumb_func_start FUN_02028E44
-FUN_02028E44: ; 0x02028E44
- push {r4, lr}
- add r4, r1, #0x0
- mov r2, #0x0
- add r3, r0, #0x0
-_02028E4C:
- ldr r1, [r3, #0x0]
- cmp r1, #0x0
- beq _02028E5A
- add r2, r2, #0x1
- add r3, r3, #0x4
- cmp r2, #0x4
- blo _02028E4C
-_02028E5A:
- cmp r2, #0x0
- beq _02028E78
- lsl r1, r2, #0x2
- add r1, r0, r1
- sub r1, r1, #0x4
- ldr r3, [r1, #0x0]
- mov r1, #0x3f
- ldrb r2, [r4, #0x0]
- and r1, r3
- cmp r2, r1
- bne _02028E78
- ldrh r2, [r4, #0x6]
- lsr r1, r3, #0x10
- cmp r2, r1
- beq _02028E8A
-_02028E78:
- bl FUN_02028C70
- ldrh r1, [r4, #0x6]
- ldrb r2, [r4, #0x0]
- lsl r3, r1, #0x10
- mov r1, #0x3f
- and r1, r2
- orr r1, r3
- str r1, [r0, #0x0]
-_02028E8A:
- pop {r4, pc}
-
- thumb_func_start FUN_02028E8C
-FUN_02028E8C: ; 0x02028E8C
- push {r4, lr}
- add r4, r1, #0x0
- mov r2, #0x0
- add r3, r0, #0x0
-_02028E94:
- ldr r1, [r3, #0x0]
- cmp r1, #0x0
- beq _02028EA2
- add r2, r2, #0x1
- add r3, r3, #0x4
- cmp r2, #0x4
- blo _02028E94
-_02028EA2:
- cmp r2, #0x0
- beq _02028EC0
- lsl r1, r2, #0x2
- add r1, r0, r1
- sub r1, r1, #0x4
- ldr r3, [r1, #0x0]
- mov r1, #0x3f
- ldrb r2, [r4, #0x0]
- and r1, r3
- cmp r2, r1
- bne _02028EC0
- ldrh r2, [r4, #0x2]
- lsr r1, r3, #0x10
- cmp r2, r1
- beq _02028ED2
-_02028EC0:
- bl FUN_02028C70
- ldrh r1, [r4, #0x2]
- ldrb r2, [r4, #0x0]
- lsl r3, r1, #0x10
- mov r1, #0x3f
- and r1, r2
- orr r1, r3
- str r1, [r0, #0x0]
-_02028ED2:
- pop {r4, pc}
-
- thumb_func_start FUN_02028ED4
-FUN_02028ED4: ; 0x02028ED4
- push {r3-r5, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- ldrb r0, [r4, #0x0]
- strb r0, [r5, #0x0]
- ldrb r3, [r4, #0x1]
- lsl r1, r3, #0x1c
- lsr r2, r1, #0x1a
- lsl r1, r3, #0x1b
- lsr r1, r1, #0x1f
- lsl r0, r3, #0x1a
- lsl r1, r1, #0x1
- orr r1, r2
- lsr r0, r0, #0x1f
- orr r0, r1
- strb r0, [r5, #0x1]
- add r0, r4, #0x2
- add r1, r5, #0x2
- mov r2, #0x8
- bl FUN_020292D4
- add r4, #0x12
- add r5, #0x12
- add r0, r4, #0x0
- add r1, r5, #0x0
- mov r2, #0x8
- bl FUN_020292D4
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02028F10
-FUN_02028F10: ; 0x02028F10
- add r2, r0, #0x0
- ldrb r0, [r1, #0x0]
- ldr r3, _02028F28 ; =FUN_020292D4
- strb r0, [r2, #0x0]
- ldrb r0, [r1, #0x1]
- lsl r0, r0, #0x1b
- lsr r0, r0, #0x1f
- strb r0, [r2, #0x1]
- add r0, r1, #0x2
- add r1, r2, #0x2
- mov r2, #0x8
- bx r3
- .balign 4
-_02028F28: .word FUN_020292D4
-
- thumb_func_start FUN_02028F2C
-FUN_02028F2C: ; 0x02028F2C
- push {r3-r5, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- ldrb r0, [r4, #0x0]
- mov r2, #0x8
- strb r0, [r5, #0x0]
- ldrb r0, [r4, #0x1]
- lsl r1, r0, #0x1b
- lsr r1, r1, #0x1f
- lsl r0, r0, #0x18
- lsl r1, r1, #0x2
- lsr r0, r0, #0x1e
- orr r0, r1
- strb r0, [r5, #0x1]
- add r0, r4, #0x2
- add r1, r5, #0x2
- bl FUN_020292D4
- add r4, #0x22
- add r5, #0x12
- add r0, r4, #0x0
- add r1, r5, #0x0
- mov r2, #0xc
- bl FUN_020292D4
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02028F60
-FUN_02028F60: ; 0x02028F60
- push {r4, lr}
- add r4, r1, #0x0
- mov r3, #0x0
- add r2, r0, #0x0
-_02028F68:
- ldrb r1, [r2, #0x1c]
- cmp r1, #0x0
- beq _02028F76
- add r3, r3, #0x1
- add r2, #0x2a
- cmp r3, #0x2
- blo _02028F68
-_02028F76:
- cmp r3, #0x0
- beq _02028F8A
- mov r1, #0x2a
- mul r1, r3
- add r1, r0, r1
- sub r1, #0xe
- ldrb r2, [r4, #0x0]
- ldrb r1, [r1, #0x0]
- cmp r2, r1
- beq _02028F92
-_02028F8A:
- bl FUN_02028CA8
- ldrb r1, [r4, #0x0]
- strb r1, [r0, #0x0]
-_02028F92:
- pop {r4, pc}
-
- thumb_func_start FUN_02028F94
-FUN_02028F94: ; 0x02028F94
- ldrb r2, [r1, #0x0]
- strb r2, [r0, #0x0]
- ldrb r1, [r1, #0x1]
- lsl r1, r1, #0x1c
- lsr r1, r1, #0x1c
- strb r1, [r0, #0x1]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02028FA4
-FUN_02028FA4: ; 0x02028FA4
- push {r3-r5, lr}
- sub sp, #0x10
- add r5, r0, #0x0
- add r0, r1, #0x0
- mov r1, #0x4
- bl FUN_02016998
- add r4, r0, #0x0
- add r0, sp, #0x0
- bl FUN_020126B4
- ldr r2, [r4, #0x0]
- mov r0, #0x7f
- bic r2, r0
- ldr r1, [sp, #0x0]
- mov r0, #0x7f
- and r0, r1
- add r1, r2, #0x0
- orr r1, r0
- str r1, [r4, #0x0]
- add r2, r1, #0x0
- ldr r1, [sp, #0x4]
- ldr r0, _02029008 ; =0xFFFFF87F
- lsl r1, r1, #0x1c
- and r2, r0
- lsr r1, r1, #0x15
- orr r2, r1
- ldr r1, _0202900C ; =0xFFF83FFF
- str r2, [r4, #0x0]
- and r2, r1
- ldr r1, [sp, #0x8]
- lsr r0, r0, #0xd
- lsl r1, r1, #0x1b
- lsr r1, r1, #0xd
- orr r2, r1
- ldr r1, _02029010 ; =0xFFFFC7FF
- str r2, [r4, #0x0]
- and r2, r1
- ldr r1, [sp, #0xc]
- lsl r1, r1, #0x1d
- lsr r1, r1, #0x12
- orr r1, r2
- and r1, r0
- lsl r0, r5, #0x13
- orr r0, r1
- str r0, [r4, #0x0]
- add r0, r4, #0x0
- add sp, #0x10
- pop {r3-r5, pc}
- nop
-_02029008: .word 0xFFFFF87F
-_0202900C: .word 0xFFF83FFF
-_02029010: .word 0xFFFFC7FF
-
- thumb_func_start FUN_02029014
-FUN_02029014: ; 0x02029014
- 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]
- pop {r3, pc}
-
- thumb_func_start FUN_02029030
-FUN_02029030: ; 0x02029030
- push {r3, lr}
- bl FUN_02029014
- mov r1, #0x1
- strb r1, [r0, #0x0]
- pop {r3, pc}
-
- thumb_func_start FUN_0202903C
-FUN_0202903C: ; 0x0202903C
- push {r3, lr}
- bl FUN_02029014
- mov r1, #0x2
- strb r1, [r0, #0x0]
- pop {r3, pc}
-
- thumb_func_start FUN_02029048
-FUN_02029048: ; 0x02029048
- push {r3, lr}
- bl FUN_02029014
- mov r1, #0x3
- strb r1, [r0, #0x0]
- pop {r3, pc}
-
- thumb_func_start FUN_02029054
-FUN_02029054: ; 0x02029054
- push {r3, lr}
- bl FUN_02029014
- mov r1, #0x4
- strb r1, [r0, #0x0]
- pop {r3, pc}
-
- thumb_func_start FUN_02029060
-FUN_02029060: ; 0x02029060
- push {r3, lr}
- bl FUN_02029014
- mov r1, #0x5
- strb r1, [r0, #0x0]
- pop {r3, pc}
-
- thumb_func_start FUN_0202906C
-FUN_0202906C: ; 0x0202906C
- push {r3, lr}
- bl FUN_02029014
- mov r1, #0x6
- strb r1, [r0, #0x0]
- pop {r3, pc}
-
- thumb_func_start FUN_02029078
-FUN_02029078: ; 0x02029078
- push {r3, lr}
- bl FUN_02029014
- mov r1, #0x7
- strb r1, [r0, #0x0]
- pop {r3, pc}
-
- thumb_func_start FUN_02029084
-FUN_02029084: ; 0x02029084
- push {r3, lr}
- bl FUN_02029014
- mov r1, #0x8
- strb r1, [r0, #0x0]
- pop {r3, pc}
-
- thumb_func_start FUN_02029090
-FUN_02029090: ; 0x02029090
- push {r4, lr}
- add r4, r0, #0x0
- add r0, r1, #0x0
- bl FUN_02029014
- mov r1, #0x9
- strb r1, [r0, #0x0]
- strh r4, [r0, #0x2]
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_020290A4
-FUN_020290A4: ; 0x020290A4
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, r2, #0x0
- add r4, r1, #0x0
- bl FUN_02029014
- mov r1, #0xa
- strb r1, [r0, #0x0]
- strh r5, [r0, #0x2]
- strh r4, [r0, #0x4]
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_020290BC
-FUN_020290BC: ; 0x020290BC
- push {r4, lr}
- add r4, r0, #0x0
- add r0, r1, #0x0
- bl FUN_02029014
- mov r1, #0xb
- strb r1, [r0, #0x0]
- strh r4, [r0, #0x4]
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_020290D0
-FUN_020290D0: ; 0x020290D0
- push {r4, lr}
- add r4, r0, #0x0
- add r0, r1, #0x0
- bl FUN_02029014
- mov r1, #0xc
- strb r1, [r0, #0x0]
- strh r4, [r0, #0x4]
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_020290E4
-FUN_020290E4: ; 0x020290E4
- push {r4, lr}
- add r4, r0, #0x0
- add r0, r1, #0x0
- bl FUN_02029014
- mov r1, #0xd
- strb r1, [r0, #0x0]
- strh r4, [r0, #0x2]
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_020290F8
-FUN_020290F8: ; 0x020290F8
- push {r4, lr}
- add r4, r0, #0x0
- add r0, r1, #0x0
- bl FUN_02029014
- mov r1, #0xe
- strb r1, [r0, #0x0]
- strh r4, [r0, #0x2]
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0202910C
-FUN_0202910C: ; 0x0202910C
- push {r4, lr}
- add r4, r0, #0x0
- add r0, r1, #0x0
- bl FUN_02029014
- mov r1, #0xf
- strb r1, [r0, #0x0]
- strh r4, [r0, #0x2]
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02029120
-FUN_02029120: ; 0x02029120
- push {r3, lr}
- bl FUN_02029014
- mov r1, #0x10
- strb r1, [r0, #0x0]
- pop {r3, pc}
-
- thumb_func_start FUN_0202912C
-FUN_0202912C: ; 0x0202912C
- push {r3, lr}
- bl FUN_02029014
- mov r1, #0x11
- strb r1, [r0, #0x0]
- pop {r3, pc}
-
- thumb_func_start FUN_02029138
-FUN_02029138: ; 0x02029138
- push {r4, lr}
- add r4, r0, #0x0
- add r0, r1, #0x0
- bl FUN_02029014
- mov r1, #0x12
- strb r1, [r0, #0x0]
- strh r4, [r0, #0x6]
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0202914C
-FUN_0202914C: ; 0x0202914C
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, r2, #0x0
- add r4, r1, #0x0
- bl FUN_02029014
- add r5, #0x13
- strb r5, [r0, #0x0]
- strh r4, [r0, #0x2]
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02029160
-FUN_02029160: ; 0x02029160
- push {r3, lr}
- bl FUN_02029014
- mov r1, #0x22
- strb r1, [r0, #0x0]
- pop {r3, pc}
-
- thumb_func_start FUN_0202916C
-FUN_0202916C: ; 0x0202916C
- push {r3, lr}
- bl FUN_02029014
- mov r1, #0x23
- strb r1, [r0, #0x0]
- pop {r3, pc}
-
- thumb_func_start FUN_02029178
-FUN_02029178: ; 0x02029178
- push {r3, lr}
- mov r1, #0x4
- bl FUN_02016998
- mov r1, #0x0
- strb r1, [r0, #0x0]
- strb r1, [r0, #0x1]
- strb r1, [r0, #0x2]
- strb r1, [r0, #0x3]
- pop {r3, pc}
-
- thumb_func_start FUN_0202918C
-FUN_0202918C: ; 0x0202918C
- push {r3-r7, lr}
- str r0, [sp, #0x0]
- ldr r0, [sp, #0x18]
- add r5, r1, #0x0
- add r6, r2, #0x0
- add r7, r3, #0x0
- bl FUN_02029178
- add r4, r0, #0x0
- mov r0, #0x1
- strb r0, [r4, #0x0]
- strh r5, [r4, #0x2]
- ldrb r1, [r4, #0x1]
- mov r0, #0xc0
- bic r1, r0
- lsl r0, r6, #0x1e
- lsr r0, r0, #0x18
- orr r0, r1
- strb r0, [r4, #0x1]
- ldrb r1, [r4, #0x1]
- mov r0, #0x3c
- bic r1, r0
- lsl r0, r7, #0x1c
- lsr r0, r0, #0x1a
- orr r0, r1
- strb r0, [r4, #0x1]
- ldr r0, [sp, #0x0]
- bl FUN_02029EC0
- mov r1, #0xa
- blx _s32_div_f
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- beq _020291DA
- cmp r0, #0x2
- beq _020291DA
- cmp r0, #0x4
- bne _020291E4
-_020291DA:
- ldrb r1, [r4, #0x1]
- mov r0, #0x3
- bic r1, r0
- strb r1, [r4, #0x1]
- b _02029206
-_020291E4:
- cmp r0, #0x1
- beq _020291EC
- cmp r0, #0x3
- bne _020291FA
-_020291EC:
- ldrb r1, [r4, #0x1]
- mov r0, #0x3
- bic r1, r0
- mov r0, #0x1
- orr r0, r1
- strb r0, [r4, #0x1]
- b _02029206
-_020291FA:
- ldrb r1, [r4, #0x1]
- mov r0, #0x3
- bic r1, r0
- mov r0, #0x2
- orr r0, r1
- strb r0, [r4, #0x1]
-_02029206:
- add r0, r4, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0202920C
-FUN_0202920C: ; 0x0202920C
- push {r3-r7, lr}
- str r0, [sp, #0x0]
- ldr r0, [sp, #0x18]
- add r5, r1, #0x0
- add r6, r2, #0x0
- add r7, r3, #0x0
- bl FUN_02029178
- add r4, r0, #0x0
- mov r0, #0x2
- strb r0, [r4, #0x0]
- strh r5, [r4, #0x2]
- ldrb r1, [r4, #0x1]
- mov r0, #0xc0
- bic r1, r0
- lsl r0, r6, #0x1e
- lsr r0, r0, #0x18
- orr r0, r1
- strb r0, [r4, #0x1]
- ldrb r1, [r4, #0x1]
- mov r0, #0x3c
- bic r1, r0
- lsl r0, r7, #0x1c
- lsr r0, r0, #0x1a
- orr r0, r1
- strb r0, [r4, #0x1]
- ldr r0, [sp, #0x0]
- bl FUN_02029EC0
- mov r1, #0xa
- blx _s32_div_f
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- cmp r0, #0x1
- beq _0202925C
- cmp r0, #0x3
- beq _0202925C
- cmp r0, #0x5
- bne _02029266
-_0202925C:
- ldrb r1, [r4, #0x1]
- mov r0, #0x3
- bic r1, r0
- strb r1, [r4, #0x1]
- b _02029288
-_02029266:
- cmp r0, #0x2
- beq _0202926E
- cmp r0, #0x4
- bne _0202927C
-_0202926E:
- ldrb r1, [r4, #0x1]
- mov r0, #0x3
- bic r1, r0
- mov r0, #0x1
- orr r0, r1
- strb r0, [r4, #0x1]
- b _02029288
-_0202927C:
- ldrb r1, [r4, #0x1]
- mov r0, #0x3
- bic r1, r0
- mov r0, #0x2
- orr r0, r1
- strb r0, [r4, #0x1]
-_02029288:
- add r0, r4, #0x0
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0202928C
-FUN_0202928C: ; 0x0202928C
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- add r0, r2, #0x0
- mov r1, #0x4
- bl FUN_02016998
- ldrh r2, [r0, #0x0]
- mov r1, #0x1
- bic r2, r1
- mov r1, #0x1
- orr r1, r2
- strh r1, [r0, #0x0]
- strh r5, [r0, #0x2]
- ldrh r2, [r0, #0x0]
- ldr r1, _020292B8 ; =0xFFFF0001
- and r2, r1
- lsl r1, r4, #0x11
- lsr r1, r1, #0x10
- orr r1, r2
- strh r1, [r0, #0x0]
- pop {r3-r5, pc}
- .balign 4
-_020292B8: .word 0xFFFF0001
-
- thumb_func_start FUN_020292BC
-FUN_020292BC: ; 0x020292BC
- push {r4, lr}
- mov r1, #0x3a
- bl FUN_02016998
- mov r1, #0x0
- mov r2, #0x3a
- add r4, r0, #0x0
- blx Call_FillMemWithValue
- add r0, r4, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_020292D4
-FUN_020292D4: ; 0x020292D4
- push {r4-r5}
- mov r4, #0x0
- cmp r2, #0x0
- bls _020292EA
- ldr r3, _02029308 ; =0x0000FFFF
- add r5, r1, #0x0
-_020292E0:
- add r4, r4, #0x1
- strh r3, [r5, #0x0]
- add r5, r5, #0x2
- cmp r4, r2
- blo _020292E0
-_020292EA:
- mov r5, #0x0
- cmp r2, #0x0
- bls _02029304
- ldr r3, _02029308 ; =0x0000FFFF
-_020292F2:
- ldrh r4, [r0, #0x0]
- cmp r4, r3
- beq _02029304
- add r5, r5, #0x1
- strh r4, [r1, #0x0]
- add r0, r0, #0x2
- add r1, r1, #0x2
- cmp r5, r2
- blo _020292F2
-_02029304:
- pop {r4-r5}
- bx lr
- .balign 4
-_02029308: .word 0x0000FFFF
-
- thumb_func_start FUN_0202930C
-FUN_0202930C: ; 0x0202930C
- push {r3-r7, lr}
- add r7, r0, #0x0
- add r0, r3, #0x0
- add r5, r1, #0x0
- add r6, r2, #0x0
- bl FUN_020292BC
- add r4, r0, #0x0
- mov r0, #0x1
- strb r0, [r4, #0x0]
- ldrb r0, [r4, #0x1]
- mov r1, #0xf
- mov r2, #0x8
- bic r0, r1
- mov r1, #0xf
- and r1, r6
- orr r0, r1
- strb r0, [r4, #0x1]
- ldrb r1, [r4, #0x1]
- mov r0, #0x10
- bic r1, r0
- lsl r0, r5, #0x1f
- lsr r0, r0, #0x1b
- orr r0, r1
- strb r0, [r4, #0x1]
- add r0, r7, #0x0
- add r1, r4, #0x2
- bl FUN_020292D4
- add r0, r4, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0202934C
-FUN_0202934C: ; 0x0202934C
- push {r3-r7, lr}
- add r7, r0, #0x0
- add r0, r3, #0x0
- add r5, r1, #0x0
- add r6, r2, #0x0
- bl FUN_020292BC
- add r4, r0, #0x0
- mov r0, #0x2
- strb r0, [r4, #0x0]
- ldrb r0, [r4, #0x1]
- mov r1, #0xf
- mov r2, #0x8
- bic r0, r1
- mov r1, #0xf
- and r1, r6
- orr r0, r1
- strb r0, [r4, #0x1]
- ldrb r1, [r4, #0x1]
- mov r0, #0x10
- bic r1, r0
- lsl r0, r5, #0x1f
- lsr r0, r0, #0x1b
- orr r0, r1
- strb r0, [r4, #0x1]
- add r0, r7, #0x0
- add r1, r4, #0x2
- bl FUN_020292D4
- add r0, r4, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0202938C
-FUN_0202938C: ; 0x0202938C
- push {r3-r7, lr}
- add r7, r0, #0x0
- ldr r0, [sp, #0x1c]
- str r1, [sp, #0x0]
- add r5, r2, #0x0
- add r6, r3, #0x0
- bl FUN_020292BC
- add r4, r0, #0x0
- mov r0, #0x3
- strb r0, [r4, #0x0]
- ldrb r0, [r4, #0x1]
- mov r1, #0xf
- bic r0, r1
- add r1, sp, #0x8
- ldrb r2, [r1, #0x10]
- mov r1, #0xf
- and r1, r2
- orr r0, r1
- strb r0, [r4, #0x1]
- ldrb r0, [r4, #0x1]
- mov r1, #0x10
- mov r2, #0x8
- bic r0, r1
- lsl r1, r5, #0x1f
- lsr r1, r1, #0x1b
- orr r0, r1
- strb r0, [r4, #0x1]
- ldrb r1, [r4, #0x1]
- mov r0, #0x20
- bic r1, r0
- lsl r0, r6, #0x1f
- lsr r0, r0, #0x1a
- orr r0, r1
- strb r0, [r4, #0x1]
- add r0, r7, #0x0
- add r1, r4, #0x2
- bl FUN_020292D4
- add r1, r4, #0x0
- ldr r0, [sp, #0x0]
- add r1, #0x12
- mov r2, #0x8
- bl FUN_020292D4
- add r0, r4, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_020293EC
-FUN_020293EC: ; 0x020293EC
- push {r3-r7, lr}
- add r7, r0, #0x0
- add r0, r3, #0x0
- add r5, r1, #0x0
- add r6, r2, #0x0
- bl FUN_020292BC
- add r4, r0, #0x0
- mov r0, #0x4
- strb r0, [r4, #0x0]
- ldrb r0, [r4, #0x1]
- mov r1, #0xf
- mov r2, #0x8
- bic r0, r1
- mov r1, #0xf
- and r1, r6
- orr r0, r1
- strb r0, [r4, #0x1]
- ldrb r1, [r4, #0x1]
- mov r0, #0x10
- bic r1, r0
- lsl r0, r5, #0x1f
- lsr r0, r0, #0x1b
- orr r0, r1
- strb r0, [r4, #0x1]
- add r0, r7, #0x0
- add r1, r4, #0x2
- bl FUN_020292D4
- add r0, r4, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0202942C
-FUN_0202942C: ; 0x0202942C
- push {r4-r6, lr}
- add r6, r0, #0x0
- add r0, r2, #0x0
- add r5, r1, #0x0
- bl FUN_020292BC
- add r4, r0, #0x0
- mov r0, #0x6
- strb r0, [r4, #0x0]
- ldrb r1, [r4, #0x1]
- mov r0, #0x10
- mov r2, #0x8
- bic r1, r0
- lsl r0, r5, #0x1f
- lsr r0, r0, #0x1b
- orr r0, r1
- strb r0, [r4, #0x1]
- add r0, r6, #0x0
- add r1, r4, #0x2
- bl FUN_020292D4
- add r0, r4, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_0202945C
-FUN_0202945C: ; 0x0202945C
- push {r3-r7, lr}
- add r7, r0, #0x0
- ldr r0, [sp, #0x18]
- add r5, r1, #0x0
- str r2, [sp, #0x0]
- add r6, r3, #0x0
- bl FUN_020292BC
- add r4, r0, #0x0
- mov r0, #0x7
- strb r0, [r4, #0x0]
- ldrb r0, [r4, #0x1]
- mov r1, #0x10
- mov r2, #0x8
- bic r0, r1
- lsl r1, r5, #0x1f
- lsr r1, r1, #0x1b
- orr r0, r1
- strb r0, [r4, #0x1]
- ldrb r1, [r4, #0x1]
- mov r0, #0xc0
- bic r1, r0
- lsl r0, r6, #0x1e
- lsr r0, r0, #0x18
- orr r0, r1
- strb r0, [r4, #0x1]
- add r0, r7, #0x0
- add r1, r4, #0x2
- bl FUN_020292D4
- add r1, r4, #0x0
- ldr r0, [sp, #0x0]
- add r1, #0x22
- mov r2, #0xc
- bl FUN_020292D4
- add r0, r4, #0x0
- pop {r3-r7, pc}
-
- thumb_func_start FUN_020294A8
-FUN_020294A8: ; 0x020294A8
- push {r3, lr}
- bl FUN_020292BC
- mov r1, #0x8
- strb r1, [r0, #0x0]
- pop {r3, pc}
-
- thumb_func_start FUN_020294B4
-FUN_020294B4: ; 0x020294B4
- push {r3-r7, lr}
- add r7, r0, #0x0
- add r0, r3, #0x0
- add r5, r1, #0x0
- add r6, r2, #0x0
- bl FUN_020292BC
- add r4, r0, #0x0
- mov r0, #0xb
- strb r0, [r4, #0x0]
- ldrb r0, [r4, #0x1]
- mov r1, #0xf
- mov r2, #0x8
- bic r0, r1
- mov r1, #0xf
- and r1, r6
- orr r0, r1
- strb r0, [r4, #0x1]
- ldrb r1, [r4, #0x1]
- mov r0, #0x10
- bic r1, r0
- lsl r0, r5, #0x1f
- lsr r0, r0, #0x1b
- orr r0, r1
- strb r0, [r4, #0x1]
- add r0, r7, #0x0
- add r1, r4, #0x2
- bl FUN_020292D4
- add r0, r4, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_020294F4
-FUN_020294F4: ; 0x020294F4
- push {r3, lr}
- bl FUN_020292BC
- mov r1, #0xc
- strb r1, [r0, #0x0]
- pop {r3, pc}
-
- thumb_func_start FUN_02029500
-FUN_02029500: ; 0x02029500
- push {r4, lr}
- add r4, r0, #0x0
- add r0, r1, #0x0
- bl FUN_020292BC
- mov r1, #0xd
- strb r1, [r0, #0x0]
- ldrb r2, [r0, #0x1]
- mov r1, #0xf
- bic r2, r1
- mov r1, #0xf
- and r1, r4
- orr r1, r2
- strb r1, [r0, #0x1]
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02029520
-FUN_02029520: ; 0x02029520
- push {r3, lr}
- bl FUN_020292BC
- mov r1, #0xe
- strb r1, [r0, #0x0]
- pop {r3, pc}
-
- thumb_func_start FUN_0202952C
-FUN_0202952C: ; 0x0202952C
- push {r3-r7, lr}
- add r7, r0, #0x0
- ldr r0, [sp, #0x18]
- add r5, r1, #0x0
- str r2, [sp, #0x0]
- add r6, r3, #0x0
- bl FUN_020292BC
- add r4, r0, #0x0
- mov r0, #0xf
- strb r0, [r4, #0x0]
- ldrb r0, [r4, #0x1]
- mov r1, #0x10
- mov r2, #0x8
- bic r0, r1
- lsl r1, r5, #0x1f
- lsr r1, r1, #0x1b
- orr r0, r1
- strb r0, [r4, #0x1]
- ldrb r1, [r4, #0x1]
- mov r0, #0xc0
- bic r1, r0
- lsl r0, r6, #0x1e
- lsr r0, r0, #0x18
- orr r0, r1
- strb r0, [r4, #0x1]
- add r0, r7, #0x0
- add r1, r4, #0x2
- bl FUN_020292D4
- add r1, r4, #0x0
- ldr r0, [sp, #0x0]
- add r1, #0x22
- mov r2, #0xc
- bl FUN_020292D4
- add r0, r4, #0x0
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02029578
-FUN_02029578: ; 0x02029578
- push {r3, lr}
- bl FUN_020292BC
- mov r1, #0x10
- strb r1, [r0, #0x0]
- pop {r3, pc}
-
- thumb_func_start FUN_02029584
-FUN_02029584: ; 0x02029584
- push {r3, lr}
- cmp r2, #0x4
- bhi _020295DA
- add r2, r2, r2
- add r2, pc
- ldrh r2, [r2, #0x6]
- lsl r2, r2, #0x10
- asr r2, r2, #0x10
- add pc, r2
-_02029596: ; jump table (using 16-bit offset)
- .short _020295A0 - _02029596 - 2; case 0
- .short _020295AC - _02029596 - 2; case 1
- .short _020295B8 - _02029596 - 2; case 2
- .short _020295C4 - _02029596 - 2; case 3
- .short _020295D0 - _02029596 - 2; case 4
-_020295A0:
- mov r2, #0x70
- mul r2, r3
- add r0, r0, r2
- bl FUN_020295DC
- pop {r3, pc}
-_020295AC:
- mov r2, #0x70
- mul r2, r3
- add r0, r0, r2
- bl FUN_020295E4
- pop {r3, pc}
-_020295B8:
- mov r2, #0x70
- mul r2, r3
- add r0, r0, r2
- bl FUN_02029690
- pop {r3, pc}
-_020295C4:
- mov r2, #0x70
- mul r2, r3
- add r0, r0, r2
- bl FUN_0202969C
- pop {r3, pc}
-_020295D0:
- mov r2, #0x70
- mul r2, r3
- add r0, r0, r2
- bl FUN_020296A8
-_020295DA:
- pop {r3, pc}
-
- thumb_func_start FUN_020295DC
-FUN_020295DC: ; 0x020295DC
- ldr r0, [r0, #0x0]
- str r0, [r1, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_020295E4
-FUN_020295E4: ; 0x020295E4
- push {r3-r7, lr}
- mov r6, #0x0
- add r5, r0, #0x0
- add r4, r1, #0x0
- add r7, r6, #0x0
-_020295EE:
- strb r7, [r4, #0x0]
- strb r7, [r4, #0x1]
- strb r7, [r4, #0x2]
- strb r7, [r4, #0x3]
- strb r7, [r4, #0x4]
- strb r7, [r4, #0x5]
- strb r7, [r4, #0x6]
- strb r7, [r4, #0x7]
- ldr r0, [r5, #0x4]
- mov r1, #0x3f
- and r1, r0
- cmp r1, #0x23
- bhi _02029682
- add r1, r1, r1
- add r1, pc
- ldrh r1, [r1, #0x6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_02029614: ; jump table (using 16-bit offset)
- .short _02029682 - _02029614 - 2; case 0
- .short _0202965C - _02029614 - 2; case 1
- .short _0202965C - _02029614 - 2; case 2
- .short _0202965C - _02029614 - 2; case 3
- .short _0202965C - _02029614 - 2; case 4
- .short _0202965C - _02029614 - 2; case 5
- .short _0202965C - _02029614 - 2; case 6
- .short _0202965C - _02029614 - 2; case 7
- .short _0202965C - _02029614 - 2; case 8
- .short _02029664 - _02029614 - 2; case 9
- .short _02029664 - _02029614 - 2; case 10
- .short _02029664 - _02029614 - 2; case 11
- .short _02029664 - _02029614 - 2; case 12
- .short _0202966C - _02029614 - 2; case 13
- .short _0202966C - _02029614 - 2; case 14
- .short _0202966C - _02029614 - 2; case 15
- .short _0202965C - _02029614 - 2; case 16
- .short _0202965C - _02029614 - 2; case 17
- .short _02029674 - _02029614 - 2; case 18
- .short _0202967C - _02029614 - 2; case 19
- .short _0202967C - _02029614 - 2; case 20
- .short _0202967C - _02029614 - 2; case 21
- .short _0202967C - _02029614 - 2; case 22
- .short _0202967C - _02029614 - 2; case 23
- .short _0202967C - _02029614 - 2; case 24
- .short _0202967C - _02029614 - 2; case 25
- .short _0202967C - _02029614 - 2; case 26
- .short _0202967C - _02029614 - 2; case 27
- .short _0202967C - _02029614 - 2; case 28
- .short _0202967C - _02029614 - 2; case 29
- .short _0202967C - _02029614 - 2; case 30
- .short _02029682 - _02029614 - 2; case 31
- .short _0202967C - _02029614 - 2; case 32
- .short _0202967C - _02029614 - 2; case 33
- .short _0202965C - _02029614 - 2; case 34
- .short _0202965C - _02029614 - 2; case 35
-_0202965C:
- add r1, r4, #0x0
- bl FUN_02029730
- b _02029682
-_02029664:
- add r1, r4, #0x0
- bl FUN_02029738
- b _02029682
-_0202966C:
- add r1, r4, #0x0
- bl FUN_02029750
- b _02029682
-_02029674:
- add r1, r4, #0x0
- bl FUN_0202975C
- b _02029682
-_0202967C:
- add r1, r4, #0x0
- bl FUN_02029768
-_02029682:
- add r6, r6, #0x1
- add r4, #0x8
- add r5, r5, #0x4
- cmp r6, #0x4
- blo _020295EE
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02029690
-FUN_02029690: ; 0x02029690
- ldrh r2, [r0, #0x14]
- strh r2, [r1, #0x0]
- ldrh r0, [r0, #0x16]
- strh r0, [r1, #0x2]
- bx lr
- .balign 4
-
- thumb_func_start FUN_0202969C
-FUN_0202969C: ; 0x0202969C
- ldrh r2, [r0, #0x18]
- strh r2, [r1, #0x0]
- ldrh r0, [r0, #0x1a]
- strh r0, [r1, #0x2]
- bx lr
- .balign 4
-
- thumb_func_start FUN_020296A8
-FUN_020296A8: ; 0x020296A8
- push {r3-r7, lr}
- add r6, r0, #0x0
- add r5, r6, #0x0
- add r4, r1, #0x0
- mov r7, #0x0
- add r5, #0x1c
-_020296B4:
- add r0, r4, #0x0
- mov r1, #0x0
- mov r2, #0x3a
- blx Call_FillMemWithValue
- ldrb r0, [r6, #0x1c]
- cmp r0, #0x10
- bhi _02029722
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_020296D0: ; jump table (using 16-bit offset)
- .short _02029722 - _020296D0 - 2; case 0
- .short _020296F2 - _020296D0 - 2; case 1
- .short _020296F2 - _020296D0 - 2; case 2
- .short _020296F2 - _020296D0 - 2; case 3
- .short _020296F2 - _020296D0 - 2; case 4
- .short _020296F2 - _020296D0 - 2; case 5
- .short _020296FC - _020296D0 - 2; case 6
- .short _02029706 - _020296D0 - 2; case 7
- .short _02029710 - _020296D0 - 2; case 8
- .short _02029706 - _020296D0 - 2; case 9
- .short _02029710 - _020296D0 - 2; case 10
- .short _020296F2 - _020296D0 - 2; case 11
- .short _02029710 - _020296D0 - 2; case 12
- .short _0202971A - _020296D0 - 2; case 13
- .short _02029710 - _020296D0 - 2; case 14
- .short _02029706 - _020296D0 - 2; case 15
- .short _02029710 - _020296D0 - 2; case 16
-_020296F2:
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02029774
- b _02029722
-_020296FC:
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_020297E4
- b _02029722
-_02029706:
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02029808
- b _02029722
-_02029710:
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02029860
- b _02029722
-_0202971A:
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02029868
-_02029722:
- add r7, r7, #0x1
- add r4, #0x3a
- add r6, #0x2a
- add r5, #0x2a
- cmp r7, #0x2
- blo _020296B4
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02029730
-FUN_02029730: ; 0x02029730
- mov r2, #0x3f
- and r0, r2
- strb r0, [r1, #0x0]
- bx lr
-
- thumb_func_start FUN_02029738
-FUN_02029738: ; 0x02029738
- mov r2, #0x3f
- and r2, r0
- strb r2, [r1, #0x0]
- lsr r3, r0, #0x6
- ldr r2, _0202974C ; =0x000003FF
- lsr r0, r0, #0x10
- and r2, r3
- strh r2, [r1, #0x4]
- strh r0, [r1, #0x2]
- bx lr
- .balign 4
-_0202974C: .word 0x000003FF
-
- thumb_func_start FUN_02029750
-FUN_02029750: ; 0x02029750
- mov r2, #0x3f
- and r2, r0
- strb r2, [r1, #0x0]
- lsr r0, r0, #0x10
- strh r0, [r1, #0x2]
- bx lr
-
- thumb_func_start FUN_0202975C
-FUN_0202975C: ; 0x0202975C
- mov r2, #0x3f
- and r2, r0
- strb r2, [r1, #0x0]
- lsr r0, r0, #0x10
- strh r0, [r1, #0x6]
- bx lr
-
- thumb_func_start FUN_02029768
-FUN_02029768: ; 0x02029768
- mov r2, #0x3f
- and r2, r0
- strb r2, [r1, #0x0]
- lsr r0, r0, #0x10
- strh r0, [r1, #0x2]
- bx lr
-
- thumb_func_start FUN_02029774
-FUN_02029774: ; 0x02029774
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldrb r0, [r5, #0x0]
- add r4, r1, #0x0
- mov r1, #0xf
- strb r0, [r4, #0x0]
- ldrb r0, [r4, #0x1]
- bic r0, r1
- ldrb r1, [r5, #0x1]
- asr r2, r1, #0x2
- mov r1, #0x1f
- and r1, r2
- lsl r1, r1, #0x18
- lsr r2, r1, #0x18
- mov r1, #0xf
- and r1, r2
- orr r0, r1
- strb r0, [r4, #0x1]
- ldrb r0, [r4, #0x1]
- mov r1, #0x10
- mov r2, #0x1
- bic r0, r1
- ldrb r1, [r5, #0x1]
- asr r1, r1, #0x1
- and r1, r2
- lsl r1, r1, #0x18
- lsr r1, r1, #0x18
- lsl r1, r1, #0x1f
- lsr r1, r1, #0x1b
- orr r0, r1
- strb r0, [r4, #0x1]
- ldrb r0, [r4, #0x1]
- mov r1, #0x20
- bic r0, r1
- ldrb r1, [r5, #0x1]
- and r1, r2
- lsl r1, r1, #0x18
- lsr r1, r1, #0x18
- lsl r1, r1, #0x1f
- lsr r1, r1, #0x1a
- orr r0, r1
- strb r0, [r4, #0x1]
- add r0, r5, #0x2
- add r1, r4, #0x2
- mov r2, #0x8
- bl FUN_020292D4
- add r5, #0x12
- add r4, #0x12
- add r0, r5, #0x0
- add r1, r4, #0x0
- mov r2, #0x8
- bl FUN_020292D4
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_020297E4
-FUN_020297E4: ; 0x020297E4
- ldrb r2, [r0, #0x0]
- strb r2, [r1, #0x0]
- ldrb r3, [r1, #0x1]
- mov r2, #0x10
- bic r3, r2
- ldrb r2, [r0, #0x1]
- add r0, r0, #0x2
- lsl r2, r2, #0x1f
- lsr r2, r2, #0x1b
- orr r2, r3
- strb r2, [r1, #0x1]
- ldr r3, _02029804 ; =FUN_020292D4
- add r1, r1, #0x2
- mov r2, #0x8
- bx r3
- nop
-_02029804: .word FUN_020292D4
-
- thumb_func_start FUN_02029808
-FUN_02029808: ; 0x02029808
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldrb r0, [r5, #0x0]
- add r4, r1, #0x0
- mov r1, #0x10
- strb r0, [r4, #0x0]
- ldrb r0, [r4, #0x1]
- bic r0, r1
- ldrb r1, [r5, #0x1]
- asr r2, r1, #0x2
- mov r1, #0x1
- and r1, r2
- lsl r1, r1, #0x18
- lsr r1, r1, #0x18
- lsl r1, r1, #0x1f
- lsr r1, r1, #0x1b
- orr r0, r1
- strb r0, [r4, #0x1]
- ldrb r0, [r4, #0x1]
- mov r1, #0xc0
- ldrb r2, [r5, #0x1]
- bic r0, r1
- mov r1, #0x3
- and r1, r2
- lsl r1, r1, #0x18
- lsr r1, r1, #0x18
- lsl r1, r1, #0x1e
- lsr r1, r1, #0x18
- orr r0, r1
- strb r0, [r4, #0x1]
- add r0, r5, #0x2
- add r1, r4, #0x2
- mov r2, #0x8
- bl FUN_020292D4
- add r5, #0x12
- add r4, #0x22
- add r0, r5, #0x0
- add r1, r4, #0x0
- mov r2, #0xc
- bl FUN_020292D4
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02029860
-FUN_02029860: ; 0x02029860
- ldrb r0, [r0, #0x0]
- strb r0, [r1, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02029868
-FUN_02029868: ; 0x02029868
- ldrb r2, [r0, #0x0]
- strb r2, [r1, #0x0]
- ldrb r3, [r1, #0x1]
- mov r2, #0xf
- bic r3, r2
- ldrb r2, [r0, #0x1]
- mov r0, #0xf
- and r0, r2
- orr r0, r3
- strb r0, [r1, #0x1]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02029880
-FUN_02029880: ; 0x02029880
- push {r4-r7, lr}
- sub sp, #0xc
- add r7, r0, #0x0
- mov r0, #0x0
- add r4, r3, #0x0
- str r0, [sp, #0x4]
- add r0, r4, #0x0
- str r1, [sp, #0x0]
- add r5, r2, #0x0
- ldr r6, [sp, #0x20]
- bl FUN_02034930
- cmp r0, #0x1
- bne _020298BA
- add r0, r5, #0x0
- bl FUN_02034964
- cmp r0, #0x1
- bne _02029942
- add r0, r4, #0x0
- bl FUN_02034824
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- add r1, r6, #0x0
- bl FUN_020290F8
- str r0, [sp, #0x4]
- b _02029942
-_020298BA:
- add r0, r4, #0x0
- bl FUN_02034944
- cmp r0, #0x1
- bne _0202991A
- add r0, r5, #0x0
- bl FUN_02034964
- cmp r0, #0x1
- bne _02029942
- ldr r0, _02029958 ; =0x0000019E
- cmp r4, r0
- bne _020298DE
- add r0, r6, #0x0
- bl FUN_02029030
- str r0, [sp, #0x4]
- b _02029942
-_020298DE:
- add r0, #0x8
- cmp r4, r0
- bne _020298EE
- add r0, r6, #0x0
- bl FUN_0202903C
- str r0, [sp, #0x4]
- b _02029942
-_020298EE:
- add r0, r4, #0x0
- bl FUN_02034824
- add r7, r0, #0x0
- lsl r0, r7, #0x10
- lsr r0, r0, #0x10
- ldr r5, _0202995C ; =0x020EE9A4
- mov r4, #0x0
- str r0, [sp, #0x8]
-_02029900:
- ldr r0, [r5, #0x0]
- cmp r7, r0
- bne _02029910
- ldr r0, [sp, #0x8]
- add r1, r6, #0x0
- bl FUN_0202910C
- str r0, [sp, #0x4]
-_02029910:
- add r4, r4, #0x1
- add r5, #0x8
- cmp r4, #0x1b
- blo _02029900
- b _02029942
-_0202991A:
- add r0, r4, #0x0
- bl FUN_02034964
- cmp r0, #0x1
- bne _02029942
- add r0, r5, #0x0
- bl FUN_02034944
- cmp r0, #0x1
- bne _02029942
- add r0, r7, #0x0
- add r1, r5, #0x0
- bl FUN_02029988
- cmp r0, #0xff
- beq _02029942
- add r1, r6, #0x0
- bl FUN_02029090
- str r0, [sp, #0x4]
-_02029942:
- ldr r0, [sp, #0x4]
- cmp r0, #0x0
- beq _02029952
- ldr r0, [sp, #0x0]
- ldr r1, [sp, #0x4]
- mov r2, #0x1
- bl FUN_02028AD4
-_02029952:
- add sp, #0xc
- pop {r4-r7, pc}
- nop
-_02029958: .word 0x0000019E
-_0202995C: .word 0x020EE9A4
-
- thumb_func_start FUN_02029960
-FUN_02029960: ; 0x02029960
- ldr r3, _02029980 ; =0x020EE9A4
- mov r2, #0x0
-_02029964:
- ldr r1, [r3, #0x0]
- cmp r0, r1
- bne _02029972
- ldr r0, _02029984 ; =0x020EE9A8
- lsl r1, r2, #0x3
- ldr r0, [r0, r1]
- bx lr
-_02029972:
- add r2, r2, #0x1
- add r3, #0x8
- cmp r2, #0x1b
- blo _02029964
- mov r0, #0x0
- bx lr
- nop
-_02029980: .word 0x020EE9A4
-_02029984: .word 0x020EE9A8
-
- thumb_func_start FUN_02029988
-FUN_02029988: ; 0x02029988
- push {r3-r5, lr}
- ldr r2, _020299B8 ; =0x020EE964
- mov r4, #0x0
-_0202998E:
- lsl r3, r4, #0x3
- add r5, r2, r3
- ldrh r5, [r5, #0x4]
- cmp r1, r5
- bne _020299A8
- ldr r1, _020299BC ; =0x020EE96A
- ldrh r1, [r1, r3]
- bl FUN_020239D0
- cmp r0, #0x0
- bne _020299B2
- add r0, r4, #0x0
- pop {r3-r5, pc}
-_020299A8:
- add r3, r4, #0x1
- lsl r3, r3, #0x18
- lsr r4, r3, #0x18
- cmp r4, #0x8
- blo _0202998E
-_020299B2:
- mov r0, #0xff
- pop {r3-r5, pc}
- nop
-_020299B8: .word 0x020EE964
-_020299BC: .word 0x020EE96A
-
- thumb_func_start FUN_020299C0
-FUN_020299C0: ; 0x020299C0
- push {r4, lr}
- add r4, r0, #0x0
- lsl r0, r1, #0x10
- lsr r0, r0, #0x10
- add r1, r2, #0x0
- bl FUN_020290E4
- add r1, r0, #0x0
- add r0, r4, #0x0
- mov r2, #0x1
- bl FUN_02028AD4
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_020299DC
-FUN_020299DC: ; 0x020299DC
- push {r3-r7, lr}
- add r4, r2, #0x0
- add r5, r0, #0x0
- add r0, r4, #0x0
- add r7, r1, #0x0
- add r6, r3, #0x0
- bl FUN_02029A48
- cmp r0, #0x8
- bhs _02029A04
- add r1, r4, #0x0
- add r2, r6, #0x0
- bl FUN_020290A4
- add r1, r0, #0x0
- add r0, r5, #0x0
- mov r2, #0x1
- bl FUN_02028AD4
- pop {r3-r7, pc}
-_02029A04:
- bne _02029A1A
- add r0, r4, #0x0
- add r1, r6, #0x0
- bl FUN_020290BC
- add r1, r0, #0x0
- add r0, r5, #0x0
- mov r2, #0x1
- bl FUN_02028AD4
- pop {r3-r7, pc}
-_02029A1A:
- cmp r0, #0x9
- bne _02029A32
- add r0, r4, #0x0
- add r1, r6, #0x0
- bl FUN_020290D0
- add r1, r0, #0x0
- add r0, r5, #0x0
- mov r2, #0x1
- bl FUN_02028AD4
- pop {r3-r7, pc}
-_02029A32:
- add r0, r7, #0x0
- add r1, r4, #0x0
- add r2, r6, #0x0
- bl FUN_0202928C
- add r1, r0, #0x0
- add r0, r5, #0x0
- mov r2, #0x3
- bl FUN_02028AD4
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02029A48
-FUN_02029A48: ; 0x02029A48
- ldr r2, _02029A7C ; =0x020EE964
- mov r3, #0x0
-_02029A4C:
- lsl r1, r3, #0x3
- ldr r1, [r2, r1]
- cmp r0, r1
- bne _02029A58
- add r0, r3, #0x0
- bx lr
-_02029A58:
- add r1, r3, #0x1
- lsl r1, r1, #0x18
- lsr r3, r1, #0x18
- cmp r3, #0x8
- blo _02029A4C
- ldr r1, _02029A80 ; =0x00000105
- sub r2, r0, r1
- cmp r2, #0x3
- bhi _02029A6E
- mov r0, #0x8
- bx lr
-_02029A6E:
- add r1, r1, #0x6
- cmp r0, r1
- bne _02029A78
- mov r0, #0x9
- bx lr
-_02029A78:
- mov r0, #0xa
- bx lr
- .balign 4
-_02029A7C: .word 0x020EE964
-_02029A80: .word 0x00000105
-
- thumb_func_start FUN_02029A84
-FUN_02029A84: ; 0x02029A84
- mov r0, #0x62
- lsl r0, r0, #0x4
- bx lr
- .balign 4
-
- thumb_func_start FUN_02029A8C
-FUN_02029A8C: ; 0x02029A8C
- push {r4-r6, lr}
- mov r2, #0x62
- add r4, r0, #0x0
- mov r1, #0x0
- lsl r2, r2, #0x4
- blx Call_FillMemWithValue
- add r0, r4, #0x0
- bl FUN_02029ACC
- add r5, r0, #0x0
- mov r4, #0x0
- mov r6, #0x8c
-_02029AA6:
- lsl r0, r4, #0x18
- lsr r0, r0, #0x18
- add r1, r6, #0x0
- add r2, r5, #0x0
- bl FUN_02029AD8
- add r4, r4, #0x1
- cmp r4, #0x8
- blt _02029AA6
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02029ABC
-FUN_02029ABC: ; 0x02029ABC
- ldr r3, _02029AC4 ; =FUN_02022610
- mov r1, #0x13
- bx r3
- nop
-_02029AC4: .word FUN_02022610
-
- thumb_func_start FUN_02029AC8
-FUN_02029AC8: ; 0x02029AC8
- add r0, #0x20
- bx lr
-
- thumb_func_start FUN_02029ACC
-FUN_02029ACC: ; 0x02029ACC
- bx lr
- .balign 4
-
- thumb_func_start FUN_02029AD0
-FUN_02029AD0: ; 0x02029AD0
- lsl r0, r0, #0x2
- ldr r0, [r1, r0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02029AD8
-FUN_02029AD8: ; 0x02029AD8
- lsl r0, r0, #0x2
- str r1, [r2, r0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02029AE0
-FUN_02029AE0: ; 0x02029AE0
- ldr r0, _02029AE4 ; =0x00000FF8
- bx lr
- .balign 4
-_02029AE4: .word 0x00000FF8
-
- thumb_func_start FUN_02029AE8
-FUN_02029AE8: ; 0x02029AE8
- ldr r3, _02029AF4 ; =MIi_CpuClear32
- add r1, r0, #0x0
- mov r0, #0x0
- ldr r2, _02029AF8 ; =0x00000FF8
- bx r3
- nop
-_02029AF4: .word MIi_CpuClear32
-_02029AF8: .word 0x00000FF8
-
- thumb_func_start FUN_02029AFC
-FUN_02029AFC: ; 0x02029AFC
- ldr r3, _02029B04 ; =FUN_02022610
- mov r1, #0x1e
- bx r3
- nop
-_02029B04: .word FUN_02022610
-
- thumb_func_start FUN_02029B08
-FUN_02029B08: ; 0x02029B08
- push {r4-r6, lr}
- add r6, r0, #0x0
- mov r0, #0x1
- add r5, r1, #0x0
- lsl r0, r0, #0x8
- add r4, r2, #0x0
- cmp r5, r0
- blt _02029B1C
- bl ErrorHandling
-_02029B1C:
- cmp r4, #0x40
- blt _02029B24
- bl ErrorHandling
-_02029B24:
- strb r5, [r6, #0x5]
- add r0, r6, #0x0
- add r1, r5, #0x0
- add r2, r4, #0x0
- mov r3, #0x3
- strb r4, [r6, #0x6]
- bl FUN_02029B90
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02029B38
-FUN_02029B38: ; 0x02029B38
- ldrb r0, [r0, #0x5]
- bx lr
-
- thumb_func_start FUN_02029B3C
-FUN_02029B3C: ; 0x02029B3C
- ldrb r0, [r0, #0x6]
- bx lr
-
- thumb_func_start FUN_02029B40
-FUN_02029B40: ; 0x02029B40
- push {r4-r6, lr}
- add r6, r0, #0x0
- mov r0, #0x1
- add r5, r1, #0x0
- lsl r0, r0, #0x8
- add r4, r2, #0x0
- cmp r5, r0
- blt _02029B54
- bl ErrorHandling
-_02029B54:
- cmp r4, #0x40
- blt _02029B5C
- bl ErrorHandling
-_02029B5C:
- cmp r5, #0x0
- bne _02029B64
- mov r0, #0x0
- pop {r4-r6, pc}
-_02029B64:
- asr r0, r4, #0x1
- lsr r0, r0, #0x1e
- add r0, r4, r0
- asr r1, r0, #0x2
- sub r0, r5, #0x1
- lsl r0, r0, #0x4
- add r0, r1, r0
- add r0, r6, r0
- ldrb r3, [r0, #0x7]
- lsr r2, r4, #0x1f
- lsl r1, r4, #0x1e
- sub r1, r1, r2
- mov r0, #0x1e
- ror r1, r0
- add r0, r2, r1
- lsl r0, r0, #0x1
- add r1, r3, #0x0
- asr r1, r0
- mov r0, #0x3
- and r0, r1
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02029B90
-FUN_02029B90: ; 0x02029B90
- push {r3-r7, lr}
- add r7, r0, #0x0
- add r5, r1, #0x0
- add r4, r2, #0x0
- str r3, [sp, #0x0]
- cmp r3, #0x4
- blt _02029BA2
- bl ErrorHandling
-_02029BA2:
- mov r0, #0x1
- lsl r0, r0, #0x8
- cmp r5, r0
- blt _02029BAE
- bl ErrorHandling
-_02029BAE:
- cmp r4, #0x40
- blt _02029BB6
- bl ErrorHandling
-_02029BB6:
- cmp r5, #0x0
- beq _02029BFE
- asr r0, r4, #0x1
- lsr r0, r0, #0x1e
- add r0, r4, r0
- asr r2, r0, #0x2
- sub r0, r5, #0x1
- lsl r0, r0, #0x4
- add r0, r2, r0
- lsr r2, r4, #0x1f
- lsl r4, r4, #0x1e
- sub r4, r4, r2
- mov r3, #0x1e
- ror r4, r3
- add r2, r2, r4
- lsl r6, r2, #0x1
- mov r2, #0x3
- add r3, r2, #0x0
- add r1, r7, #0x7
- ldrb r4, [r1, r0]
- lsl r3, r6
- mov r2, #0xff
- eor r2, r3
- and r2, r4
- ldr r3, [sp, #0x0]
- strb r2, [r1, r0]
- ldrb r2, [r1, r0]
- lsl r3, r6
- orr r2, r3
- strb r2, [r1, r0]
- cmp r5, #0x67
- beq _02029BFE
- add r0, r7, #0x0
- mov r1, #0x1
- bl FUN_02029C04
-_02029BFE:
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02029C00
-FUN_02029C00: ; 0x02029C00
- ldrb r0, [r0, #0x4]
- bx lr
-
- thumb_func_start FUN_02029C04
-FUN_02029C04: ; 0x02029C04
- strb r1, [r0, #0x4]
- bx lr
-
- thumb_func_start FUN_02029C08
-FUN_02029C08: ; 0x02029C08
- push {r3-r7, lr}
- mov lr, r0
- mov r0, #0x3
- mov r7, #0x0
- mov r4, #0x2
- mov r6, #0xff
- add r3, r0, #0x0
-_02029C16:
- mov r1, lr
- add r1, r1, r7
- ldrb r2, [r1, #0x7]
- mov r12, r1
- mov r1, #0x0
-_02029C20:
- add r5, r2, #0x0
- asr r5, r1
- and r5, r3
- cmp r5, #0x1
- bne _02029C40
- add r5, r0, #0x0
- lsl r5, r1
- eor r5, r6
- and r2, r5
- lsl r2, r2, #0x18
- lsr r5, r2, #0x18
- add r2, r4, #0x0
- lsl r2, r1
- orr r2, r5
- lsl r2, r2, #0x18
- lsr r2, r2, #0x18
-_02029C40:
- add r1, r1, #0x2
- cmp r1, #0x8
- blt _02029C20
- mov r1, r12
- strb r2, [r1, #0x7]
- mov r1, #0xff
- add r7, r7, #0x1
- lsl r1, r1, #0x4
- cmp r7, r1
- blt _02029C16
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02029C58
-FUN_02029C58: ; 0x02029C58
- mov r0, #0x17
- lsl r0, r0, #0x4
- bx lr
- .balign 4
-
- thumb_func_start FUN_02029C60
-FUN_02029C60: ; 0x02029C60
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_02029C58
- add r2, r0, #0x0
- add r0, r4, #0x0
- mov r1, #0x0
- blx MI_CpuFill8
- pop {r4, pc}
-
- thumb_func_start FUN_02029C74
-FUN_02029C74: ; 0x02029C74
- ldr r3, _02029C7C ; =MI_CpuCopy8
- mov r2, #0x18
- bx r3
- nop
-_02029C7C: .word MI_CpuCopy8
-
- thumb_func_start FUN_02029C80
-FUN_02029C80: ; 0x02029C80
- ldr r3, _02029C88 ; =FUN_02022610
- mov r1, #0x15
- bx r3
- nop
-_02029C88: .word FUN_02022610
-
- thumb_func_start FUN_02029C8C
-FUN_02029C8C: ; 0x02029C8C
- push {r3-r5, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- cmp r4, #0xc
- blt _02029C9A
- bl ErrorHandling
-_02029C9A:
- mov r0, #0x18
- mul r0, r4
- add r0, r5, r0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02029CA4
-FUN_02029CA4: ; 0x02029CA4
- push {r4-r6, lr}
- add r6, r2, #0x0
- add r5, r0, #0x0
- add r4, r1, #0x0
- cmp r6, #0xc
- blt _02029CB4
- bl ErrorHandling
-_02029CB4:
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_02029C8C
- add r1, r0, #0x0
- add r0, r4, #0x0
- bl FUN_02029C74
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02029CC8
-FUN_02029CC8: ; 0x02029CC8
- push {r3-r5, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- cmp r4, #0x8
- blt _02029CD6
- bl ErrorHandling
-_02029CD6:
- lsl r0, r4, #0x1
- add r0, r4, r0
- add r0, r5, r0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02029CE0
-FUN_02029CE0: ; 0x02029CE0
- ldrb r0, [r0, #0x0]
- bx lr
-
- thumb_func_start FUN_02029CE4
-FUN_02029CE4: ; 0x02029CE4
- ldrb r0, [r0, #0x1]
- bx lr
-
- thumb_func_start FUN_02029CE8
-FUN_02029CE8: ; 0x02029CE8
- ldrb r0, [r0, #0x2]
- bx lr
-
- thumb_func_start FUN_02029CEC
-FUN_02029CEC: ; 0x02029CEC
- mov r1, #0x12
- lsl r1, r1, #0x4
- add r0, r0, r1
- bx lr
-
- thumb_func_start FUN_02029CF4
-FUN_02029CF4: ; 0x02029CF4
- ldrb r0, [r0, r1]
- bx lr
-
- thumb_func_start FUN_02029CF8
-FUN_02029CF8: ; 0x02029CF8
- mov r3, #0x0
- add r2, r1, #0x1
-_02029CFC:
- ldrb r1, [r0, #0x0]
- cmp r2, r1
- bne _02029D06
- mov r0, #0x1
- bx lr
-_02029D06:
- add r3, r3, #0x1
- add r0, r0, #0x3
- cmp r3, #0x8
- blt _02029CFC
- mov r0, #0x0
- bx lr
- .balign 4
-
- thumb_func_start FUN_02029D14
-FUN_02029D14: ; 0x02029D14
- push {r4-r7}
- mov r6, #0x0
- add r4, r6, #0x0
- add r2, r1, #0x1
- add r3, r6, #0x0
-_02029D1E:
- add r5, r3, #0x0
- add r7, r0, #0x0
-_02029D22:
- ldrb r1, [r7, #0x0]
- cmp r2, r1
- bne _02029D2A
- add r6, r6, #0x1
-_02029D2A:
- add r5, r5, #0x1
- add r7, r7, #0x3
- cmp r5, #0x8
- blt _02029D22
- add r4, r4, #0x1
- add r0, #0x18
- cmp r4, #0xc
- blt _02029D1E
- add r0, r6, #0x0
- pop {r4-r7}
- bx lr
-
- thumb_func_start FUN_02029D40
-FUN_02029D40: ; 0x02029D40
- strb r2, [r0, r1]
- bx lr
-
- thumb_func_start FUN_02029D44
-FUN_02029D44: ; 0x02029D44
- push {r4-r6, lr}
- add r5, r1, #0x0
- sub r1, r5, #0x1
- add r6, r0, #0x0
- add r4, r2, #0x0
- bl FUN_02029D14
- mov r1, #0x12
- lsl r1, r1, #0x4
- add r2, r6, r1
- sub r1, r5, #0x1
- ldrb r3, [r2, r1]
- add r0, r0, r3
- cmp r4, #0x0
- bge _02029D6E
- add r0, r4, r3
- bmi _02029D6A
- strb r0, [r2, r1]
- b _02029D7E
-_02029D6A:
- mov r0, #0x0
- pop {r4-r6, pc}
-_02029D6E:
- add r0, r0, r4
- cmp r0, #0x63
- bgt _02029D7A
- add r0, r3, r4
- strb r0, [r2, r1]
- b _02029D7E
-_02029D7A:
- mov r0, #0x0
- pop {r4-r6, pc}
-_02029D7E:
- mov r0, #0x1
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02029D84
-FUN_02029D84: ; 0x02029D84
- push {r4-r6, lr}
- add r5, r1, #0x0
- sub r1, r5, #0x1
- add r6, r0, #0x0
- add r4, r2, #0x0
- bl FUN_02029D14
- cmp r4, #0x0
- bge _02029DAC
- mov r0, #0x12
- lsl r0, r0, #0x4
- add r2, r6, r0
- sub r1, r5, #0x1
- ldrb r0, [r2, r1]
- add r0, r4, r0
- bmi _02029DA8
- strb r0, [r2, r1]
- b _02029DD0
-_02029DA8:
- mov r0, #0x0
- pop {r4-r6, pc}
-_02029DAC:
- add r0, r0, r4
- cmp r0, #0x63
- bgt _02029DCC
- mov r0, #0x12
- lsl r0, r0, #0x4
- add r2, r6, r0
- sub r1, r5, #0x1
- ldrb r0, [r2, r1]
- add r0, r0, r4
- strb r0, [r2, r1]
- ldrb r0, [r2, r1]
- cmp r0, #0x63
- blo _02029DD0
- mov r0, #0x63
- strb r0, [r2, r1]
- b _02029DD0
-_02029DCC:
- mov r0, #0x0
- pop {r4-r6, pc}
-_02029DD0:
- mov r0, #0x1
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02029DD4
-FUN_02029DD4: ; 0x02029DD4
- push {r4-r6, lr}
- add r5, r1, #0x0
- sub r1, r5, #0x1
- add r6, r0, #0x0
- add r4, r2, #0x0
- bl FUN_02029D14
- sub r1, r5, #0x1
- add r2, r6, r1
- mov r1, #0x12
- lsl r1, r1, #0x4
- ldrb r1, [r2, r1]
- add r0, r0, r1
- cmp r4, #0x0
- bge _02029DFE
- add r0, r4, r1
- bmi _02029DFA
- mov r0, #0x1
- pop {r4-r6, pc}
-_02029DFA:
- mov r0, #0x0
- pop {r4-r6, pc}
-_02029DFE:
- add r0, r0, r4
- cmp r0, #0x63
- bgt _02029E08
- mov r0, #0x1
- pop {r4-r6, pc}
-_02029E08:
- mov r0, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02029E0C
-FUN_02029E0C: ; 0x02029E0C
- push {r4-r6, lr}
- add r6, r0, #0x0
- mov r5, #0x0
- mov r4, #0x1
-_02029E14:
- add r0, r6, #0x0
- add r1, r4, #0x0
- bl FUN_02029E2C
- cmp r0, #0x0
- beq _02029E22
- add r5, r5, #0x1
-_02029E22:
- add r4, r4, #0x1
- cmp r4, #0x51
- blt _02029E14
- add r0, r5, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02029E2C
-FUN_02029E2C: ; 0x02029E2C
- push {r3-r5, lr}
- add r5, r1, #0x0
- sub r1, r5, #0x1
- add r4, r0, #0x0
- bl FUN_02029D14
- sub r1, r5, #0x1
- add r2, r4, r1
- mov r1, #0x12
- lsl r1, r1, #0x4
- ldrb r1, [r2, r1]
- add r0, r0, r1
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02029E48
-FUN_02029E48: ; 0x02029E48
- mov r1, #0x0
- strh r1, [r0, #0x0]
- strb r1, [r0, #0x2]
- strb r1, [r0, #0x3]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02029E54
-FUN_02029E54: ; 0x02029E54
- push {r3-r7, lr}
- add r5, r0, #0x0
- ldrh r6, [r5, #0x0]
- ldr r0, _02029EB8 ; =0x000003E7
- cmp r6, r0
- bne _02029E6C
- ldrb r0, [r5, #0x2]
- cmp r0, #0x3b
- bne _02029E6C
- ldrb r0, [r5, #0x3]
- cmp r0, #0x3b
- beq _02029EB4
-_02029E6C:
- ldrb r0, [r5, #0x3]
- ldrb r4, [r5, #0x2]
- add r7, r0, r1
- cmp r7, #0x3b
- bls _02029EAE
- add r0, r7, #0x0
- mov r1, #0x3c
- blx _u32_div_f
- add r4, r4, r0
- add r0, r7, #0x0
- mov r1, #0x3c
- blx _u32_div_f
- add r7, r1, #0x0
- cmp r4, #0x3b
- bls _02029EAE
- add r0, r4, #0x0
- mov r1, #0x3c
- blx _u32_div_f
- add r6, r6, r0
- add r0, r4, #0x0
- mov r1, #0x3c
- blx _u32_div_f
- ldr r0, _02029EB8 ; =0x000003E7
- add r4, r1, #0x0
- cmp r6, r0
- blo _02029EAE
- mov r4, #0x3b
- add r6, r0, #0x0
- add r7, r4, #0x0
-_02029EAE:
- strh r6, [r5, #0x0]
- strb r4, [r5, #0x2]
- strb r7, [r5, #0x3]
-_02029EB4:
- pop {r3-r7, pc}
- nop
-_02029EB8: .word 0x000003E7
-
- thumb_func_start FUN_02029EBC
-FUN_02029EBC: ; 0x02029EBC
- ldrh r0, [r0, #0x0]
- bx lr
-
- thumb_func_start FUN_02029EC0
-FUN_02029EC0: ; 0x02029EC0
- ldrb r0, [r0, #0x2]
- bx lr
-
- thumb_func_start FUN_02029EC4
-FUN_02029EC4: ; 0x02029EC4
- mov r0, #0xfb
- lsl r0, r0, #0x2
- bx lr
- .balign 4
-
- thumb_func_start FUN_02029ECC
-FUN_02029ECC: ; 0x02029ECC
- push {r4, lr}
- add r4, r0, #0x0
- mov r2, #0xfb
- mov r0, #0x0
- add r1, r4, #0x0
- lsl r2, r2, #0x2
- blx MIi_CpuClear32
- mov r0, #0x0
- str r0, [r4, #0x0]
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02029EE4
-FUN_02029EE4: ; 0x02029EE4
- push {r4, lr}
- mov r1, #0xfb
- lsl r1, r1, #0x2
- bl FUN_02016998
- add r4, r0, #0x0
- bl FUN_02029ECC
- add r0, r4, #0x0
- pop {r4, pc}
-
- thumb_func_start FUN_02029EF8
-FUN_02029EF8: ; 0x02029EF8
- ldr r3, _02029F00 ; =FUN_02022610
- mov r1, #0x16
- bx r3
- nop
-_02029F00: .word FUN_02022610
-
- thumb_func_start FUN_02029F04
-FUN_02029F04: ; 0x02029F04
- ldr r0, [r0, #0x0]
- bx lr
-
- thumb_func_start FUN_02029F08
-FUN_02029F08: ; 0x02029F08
- mov r1, #0x0
- str r1, [r0, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02029F10
-FUN_02029F10: ; 0x02029F10
- add r0, r0, #0x4
- bx lr
-
- thumb_func_start FUN_02029F14
-FUN_02029F14: ; 0x02029F14
- push {r4-r7}
- mov r5, #0x0
- mov r2, #0xfa
- add r4, r5, #0x0
- mov r6, #0xf
- lsl r2, r2, #0x2
-_02029F20:
- ldrsb r7, [r1, r4]
- add r3, r0, r5
- and r7, r6
- lsl r7, r7, #0x18
- lsr r7, r7, #0x18
- sub r7, #0x8
- lsl r7, r7, #0x18
- asr r7, r7, #0x14
- strb r7, [r0, r5]
- ldrsb r7, [r1, r4]
- add r4, r4, #0x1
- add r5, r5, #0x2
- lsl r7, r7, #0x14
- lsr r7, r7, #0x18
- sub r7, #0x8
- lsl r7, r7, #0x18
- asr r7, r7, #0x14
- strb r7, [r3, #0x1]
- cmp r4, r2
- blt _02029F20
- pop {r4-r7}
- bx lr
-
- thumb_func_start FUN_02029F4C
-FUN_02029F4C: ; 0x02029F4C
- push {r4-r7}
- add r3, r0, #0x0
- add r2, r1, #0x0
- mov r0, #0x1
- mov r1, #0x0
- str r0, [r3, #0x0]
- add r0, r1, #0x0
-_02029F5A:
- ldrsb r4, [r2, r0]
- add r6, r3, r1
- add r7, r2, r0
- asr r5, r4, #0x3
- lsr r5, r5, #0x1c
- add r5, r4, r5
- lsl r4, r5, #0x14
- asr r4, r4, #0x18
- add r4, #0x8
- strb r4, [r6, #0x4]
- mov r4, #0x4
- ldrsb r5, [r6, r4]
- mov r4, #0x1
- ldrsb r4, [r7, r4]
- add r0, r0, #0x2
- add r1, r1, #0x1
- asr r7, r4, #0x3
- lsr r7, r7, #0x1c
- add r7, r4, r7
- lsl r4, r7, #0x14
- asr r4, r4, #0x18
- add r4, #0x8
- lsl r4, r4, #0x18
- lsr r4, r4, #0x14
- orr r4, r5
- strb r4, [r6, #0x4]
- mov r4, #0x7d
- lsl r4, r4, #0x4
- cmp r0, r4
- blt _02029F5A
- pop {r4-r7}
- bx lr
- .balign 4
-
- thumb_func_start FUN_02029F9C
-FUN_02029F9C: ; 0x02029F9C
- add r2, r0, #0x0
- add r0, r1, #0x0
- add r1, r2, #0x0
- mov r2, #0xfb
- ldr r3, _02029FAC ; =MIi_CpuCopyFast
- lsl r2, r2, #0x2
- bx r3
- nop
-_02029FAC: .word MIi_CpuCopyFast
-
- thumb_func_start FUN_02029FB0
-FUN_02029FB0: ; 0x02029FB0
- mov r0, #0x53
- lsl r0, r0, #0x2
- bx lr
- .balign 4
-
- thumb_func_start FUN_02029FB8
-FUN_02029FB8: ; 0x02029FB8
- ldr r3, _02029FC4 ; =MIi_CpuClear32
- mov r2, #0x53
- add r1, r0, #0x0
- mov r0, #0x0
- lsl r2, r2, #0x2
- bx r3
- .balign 4
-_02029FC4: .word MIi_CpuClear32
-
- thumb_func_start FUN_02029FC8
-FUN_02029FC8: ; 0x02029FC8
- ldr r3, _02029FD0 ; =FUN_02022610
- mov r1, #0x14
- bx r3
- nop
-_02029FD0: .word FUN_02022610
-
- thumb_func_start FUN_02029FD4
-FUN_02029FD4: ; 0x02029FD4
- push {r3, lr}
- cmp r1, #0x2c
- bge _02029FE0
- lsl r1, r1, #0x2
- ldr r0, [r0, r1]
- pop {r3, pc}
-_02029FE0:
- cmp r1, #0x79
- bge _02029FF0
- sub r1, #0x2c
- lsl r1, r1, #0x1
- add r0, r0, r1
- add r0, #0xb0
- ldrh r0, [r0, #0x0]
- pop {r3, pc}
-_02029FF0:
- bl ErrorHandling
- mov r0, #0x0
- pop {r3, pc}
-
- thumb_func_start FUN_02029FF8
-FUN_02029FF8: ; 0x02029FF8
- push {r3-r5, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- cmp r4, #0x2c
- bge _0202A008
- lsl r0, r4, #0x2
- str r2, [r5, r0]
- b _0202A01E
-_0202A008:
- cmp r4, #0x79
- bge _0202A01A
- add r0, r4, #0x0
- sub r0, #0x2c
- lsl r0, r0, #0x1
- add r0, r5, r0
- add r0, #0xb0
- strh r2, [r0, #0x0]
- b _0202A01E
-_0202A01A:
- bl ErrorHandling
-_0202A01E:
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02029FD4
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0202A028
-FUN_0202A028: ; 0x0202A028
- push {r3, lr}
- cmp r0, #0x2c
- bge _0202A03E
- ldr r1, _0202A05C ; =0x02105CD8
- ldrb r0, [r1, r0]
- cmp r0, #0x0
- beq _0202A03A
- ldr r0, _0202A060 ; =0x3B9AC9FF
- pop {r3, pc}
-_0202A03A:
- ldr r0, _0202A064 ; =0x000F423F
- pop {r3, pc}
-_0202A03E:
- cmp r0, #0x79
- bge _0202A052
- ldr r1, _0202A05C ; =0x02105CD8
- ldrb r0, [r1, r0]
- cmp r0, #0x0
- beq _0202A04E
- ldr r0, _0202A068 ; =0x0000FFFF
- pop {r3, pc}
-_0202A04E:
- ldr r0, _0202A06C ; =0x0000270F
- pop {r3, pc}
-_0202A052:
- bl ErrorHandling
- mov r0, #0x0
- pop {r3, pc}
- nop
-_0202A05C: .word 0x02105CD8
-_0202A060: .word 0x3B9AC9FF
-_0202A064: .word 0x000F423F
-_0202A068: .word 0x0000FFFF
-_0202A06C: .word 0x0000270F
-
- thumb_func_start FUN_0202A070
-FUN_0202A070: ; 0x0202A070
- lsl r1, r0, #0x1
- ldr r0, _0202A078 ; =0x020EEA7C
- ldrh r0, [r0, r1]
- bx lr
- .balign 4
-_0202A078: .word 0x020EEA7C
-
- thumb_func_start FUN_0202A07C
-FUN_0202A07C: ; 0x0202A07C
- push {r4-r6, lr}
- add r5, r1, #0x0
- add r6, r0, #0x0
- add r0, r5, #0x0
- add r4, r2, #0x0
- bl FUN_0202A028
- add r2, r0, #0x0
- cmp r4, r2
- bhs _0202A09C
- add r0, r6, #0x0
- add r1, r5, #0x0
- add r2, r4, #0x0
- bl FUN_02029FF8
- pop {r4-r6, pc}
-_0202A09C:
- add r0, r6, #0x0
- add r1, r5, #0x0
- bl FUN_02029FF8
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_0202A0A8
-FUN_0202A0A8: ; 0x0202A0A8
- push {r3-r7, lr}
- add r6, r1, #0x0
- add r7, r0, #0x0
- add r0, r6, #0x0
- add r5, r2, #0x0
- bl FUN_0202A028
- add r4, r0, #0x0
- add r0, r7, #0x0
- add r1, r6, #0x0
- bl FUN_02029FD4
- cmp r5, r4
- bls _0202A0C6
- add r5, r4, #0x0
-_0202A0C6:
- cmp r0, r5
- bhs _0202A0D6
- add r0, r7, #0x0
- add r1, r6, #0x0
- add r2, r5, #0x0
- bl FUN_02029FF8
- pop {r3-r7, pc}
-_0202A0D6:
- cmp r0, r4
- bls _0202A0E4
- add r0, r7, #0x0
- add r1, r6, #0x0
- add r2, r4, #0x0
- bl FUN_02029FF8
-_0202A0E4:
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0202A0E8
-FUN_0202A0E8: ; 0x0202A0E8
- push {r4-r6, lr}
- add r6, r1, #0x0
- add r5, r0, #0x0
- add r0, r6, #0x0
- bl FUN_0202A028
- add r4, r0, #0x0
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_02029FD4
- add r2, r0, #0x1
- cmp r2, r4
- bhs _0202A10E
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_02029FF8
- pop {r4-r6, pc}
-_0202A10E:
- add r0, r5, #0x0
- add r1, r6, #0x0
- add r2, r4, #0x0
- bl FUN_02029FF8
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_0202A11C
-FUN_0202A11C: ; 0x0202A11C
- push {r3-r7, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- add r0, r4, #0x0
- add r7, r2, #0x0
- bl FUN_0202A028
- add r6, r0, #0x0
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02029FD4
- add r2, r0, r7
- cmp r2, r6
- bhs _0202A144
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02029FF8
- pop {r3-r7, pc}
-_0202A144:
- add r0, r5, #0x0
- add r1, r4, #0x0
- add r2, r6, #0x0
- bl FUN_02029FF8
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0202A150
-FUN_0202A150: ; 0x0202A150
- push {r4-r6, lr}
- add r6, r1, #0x0
- add r5, r0, #0x0
- add r0, r6, #0x0
- bl FUN_0202A028
- add r4, r0, #0x0
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_02029FD4
- cmp r0, r4
- bhi _0202A16C
- add r4, r0, #0x0
-_0202A16C:
- add r0, r4, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_0202A170
-FUN_0202A170: ; 0x0202A170
- push {r4-r6, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- cmp r4, #0x26
- blt _0202A17E
- bl ErrorHandling
-_0202A17E:
- add r0, r5, #0x0
- mov r1, #0x0
- bl FUN_0202A150
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl FUN_0202A070
- ldr r2, _0202A1B4 ; =0x05F5E0FF
- add r0, r6, r0
- cmp r0, r2
- bls _0202A1A0
- add r0, r5, #0x0
- mov r1, #0x0
- bl FUN_0202A07C
- pop {r4-r6, pc}
-_0202A1A0:
- add r0, r4, #0x0
- bl FUN_0202A070
- add r2, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0x0
- bl FUN_0202A11C
- pop {r4-r6, pc}
- nop
-_0202A1B4: .word 0x05F5E0FF
-
- thumb_func_start FUN_0202A1B8
-FUN_0202A1B8: ; 0x0202A1B8
- ldr r3, _0202A1C0 ; =FUN_0202A150
- mov r1, #0x0
- bx r3
- nop
-_0202A1C0: .word FUN_0202A150
-
- thumb_func_start FUN_0202A1C4
-FUN_0202A1C4: ; 0x0202A1C4
- push {r4, lr}
- add r4, r0, #0x0
- add r0, r1, #0x0
- add r1, r2, #0x0
- bl FUN_02024594
- cmp r0, #0x0
- bne _0202A1DC
- add r0, r4, #0x0
- mov r1, #0x16
- bl FUN_0202A170
-_0202A1DC:
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0202A1E0
-FUN_0202A1E0: ; 0x0202A1E0
- mov r0, #0xe4
- bx lr
-
- thumb_func_start FUN_0202A1E4
-FUN_0202A1E4: ; 0x0202A1E4
- ldr r3, _0202A1EC ; =MI_CpuFill8
- mov r1, #0x0
- mov r2, #0x3c
- bx r3
- .balign 4
-_0202A1EC: .word MI_CpuFill8
-
- thumb_func_start FUN_0202A1F0
-FUN_0202A1F0: ; 0x0202A1F0
- push {r4, lr}
- mov r2, #0x5a
- mov r1, #0x0
- lsl r2, r2, #0x2
- add r4, r0, #0x0
- blx MI_CpuFill8
- mov r0, #0x1
- strb r0, [r4, #0x3]
- pop {r4, pc}
-
- thumb_func_start FUN_0202A204
-FUN_0202A204: ; 0x0202A204
- push {r4, lr}
- add r4, r0, #0x0
- mov r1, #0x0
- bl FUN_02013764
- add r0, r4, #0x0
- add r0, #0x8
- mov r1, #0x1
- bl FUN_02013764
- add r0, r4, #0x0
- add r0, #0x10
- mov r1, #0x2
- bl FUN_02013764
- add r4, #0x18
- add r0, r4, #0x0
- mov r1, #0x3
- bl FUN_02013764
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0202A230
-FUN_0202A230: ; 0x0202A230
- ldr r3, _0202A238 ; =MI_CpuFill8
- mov r1, #0x0
- ldr r2, _0202A23C ; =0x00000B3C
- bx r3
- .balign 4
-_0202A238: .word MI_CpuFill8
-_0202A23C: .word 0x00000B3C
-
- thumb_func_start FUN_0202A240
-FUN_0202A240: ; 0x0202A240
- push {r3, lr}
- cmp r1, #0xa
- bhi _0202A2BE
- add r1, r1, r1
- add r1, pc
- ldrh r1, [r1, #0x6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_0202A252: ; jump table (using 16-bit offset)
- .short _0202A268 - _0202A252 - 2; case 0
- .short _0202A270 - _0202A252 - 2; case 1
- .short _0202A274 - _0202A252 - 2; case 2
- .short _0202A278 - _0202A252 - 2; case 3
- .short _0202A27C - _0202A252 - 2; case 4
- .short _0202A280 - _0202A252 - 2; case 5
- .short _0202A28E - _0202A252 - 2; case 6
- .short _0202A29C - _0202A252 - 2; case 7
- .short _0202A2A4 - _0202A252 - 2; case 8
- .short _0202A2B2 - _0202A252 - 2; case 9
- .short _0202A2BA - _0202A252 - 2; case 10
-_0202A268:
- ldrb r0, [r0, #0x0]
- lsl r0, r0, #0x1b
- lsr r0, r0, #0x1d
- pop {r3, pc}
-_0202A270:
- ldrb r0, [r0, #0x2]
- pop {r3, pc}
-_0202A274:
- ldrb r0, [r0, #0x3]
- pop {r3, pc}
-_0202A278:
- ldrh r0, [r0, #0x4]
- pop {r3, pc}
-_0202A27C:
- ldrh r0, [r0, #0x6]
- pop {r3, pc}
-_0202A280:
- add r1, r2, #0x0
- add r0, #0x8
- mov r2, #0x4
- blx MI_CpuCopy8
- mov r0, #0x0
- pop {r3, pc}
-_0202A28E:
- add r1, r2, #0x0
- add r0, #0x2c
- mov r2, #0x10
- blx MI_CpuCopy8
- mov r0, #0x0
- pop {r3, pc}
-_0202A29C:
- ldrb r0, [r0, #0x0]
- lsl r0, r0, #0x1f
- lsr r0, r0, #0x1f
- pop {r3, pc}
-_0202A2A4:
- add r1, r2, #0x0
- add r0, #0xc
- mov r2, #0x1c
- blx MI_CpuCopy8
- mov r0, #0x0
- pop {r3, pc}
-_0202A2B2:
- ldrb r0, [r0, #0x0]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x1d
- pop {r3, pc}
-_0202A2BA:
- ldr r0, [r0, #0x28]
- pop {r3, pc}
-_0202A2BE:
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0202A2C4
-FUN_0202A2C4: ; 0x0202A2C4
- push {r4, lr}
- add r3, r0, #0x0
- cmp r1, #0xa
- bhi _0202A36A
- add r0, r1, r1
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_0202A2D8: ; jump table (using 16-bit offset)
- .short _0202A2EE - _0202A2D8 - 2; case 0
- .short _0202A300 - _0202A2D8 - 2; case 1
- .short _0202A306 - _0202A2D8 - 2; case 2
- .short _0202A30C - _0202A2D8 - 2; case 3
- .short _0202A312 - _0202A2D8 - 2; case 4
- .short _0202A318 - _0202A2D8 - 2; case 5
- .short _0202A326 - _0202A2D8 - 2; case 6
- .short _0202A334 - _0202A2D8 - 2; case 7
- .short _0202A346 - _0202A2D8 - 2; case 8
- .short _0202A35A - _0202A2D8 - 2; case 9
- .short _0202A354 - _0202A2D8 - 2; case 10
-_0202A2EE:
- ldrb r1, [r3, #0x0]
- mov r0, #0x1c
- bic r1, r0
- ldrb r0, [r2, #0x0]
- lsl r0, r0, #0x1d
- lsr r0, r0, #0x1b
- orr r0, r1
- strb r0, [r3, #0x0]
- pop {r4, pc}
-_0202A300:
- ldrb r0, [r2, #0x0]
- strb r0, [r3, #0x2]
- pop {r4, pc}
-_0202A306:
- ldrb r0, [r2, #0x0]
- strb r0, [r3, #0x3]
- pop {r4, pc}
-_0202A30C:
- ldrh r0, [r2, #0x0]
- strh r0, [r3, #0x4]
- pop {r4, pc}
-_0202A312:
- ldrh r0, [r2, #0x0]
- strh r0, [r3, #0x6]
- pop {r4, pc}
-_0202A318:
- add r3, #0x8
- add r0, r2, #0x0
- add r1, r3, #0x0
- mov r2, #0x4
- blx MI_CpuCopy8
- pop {r4, pc}
-_0202A326:
- add r3, #0x2c
- add r0, r2, #0x0
- add r1, r3, #0x0
- mov r2, #0x10
- blx MI_CpuCopy8
- pop {r4, pc}
-_0202A334:
- ldrb r4, [r3, #0x0]
- ldrb r1, [r2, #0x0]
- mov r0, #0x1
- bic r4, r0
- mov r0, #0x1
- and r0, r1
- orr r0, r4
- strb r0, [r3, #0x0]
- pop {r4, pc}
-_0202A346:
- add r3, #0xc
- add r0, r2, #0x0
- add r1, r3, #0x0
- mov r2, #0x1c
- blx MI_CpuCopy8
- pop {r4, pc}
-_0202A354:
- ldr r0, [r2, #0x0]
- str r0, [r3, #0x28]
- pop {r4, pc}
-_0202A35A:
- ldrb r1, [r3, #0x0]
- mov r0, #0xe0
- bic r1, r0
- ldrb r0, [r2, #0x0]
- lsl r0, r0, #0x1d
- lsr r0, r0, #0x18
- orr r0, r1
- strb r0, [r3, #0x0]
-_0202A36A:
- pop {r4, pc}
-
- thumb_func_start FUN_0202A36C
-FUN_0202A36C: ; 0x0202A36C
- push {r3-r4}
- ldrb r4, [r0, #0x3]
- add r1, r4, r1
- cmp r1, #0xff
- bge _0202A378
- strb r1, [r0, #0x3]
-_0202A378:
- ldrh r1, [r0, #0x4]
- add r2, r1, r2
- ldr r1, _0202A394 ; =0x0000FFFF
- cmp r2, r1
- bge _0202A384
- strh r2, [r0, #0x4]
-_0202A384:
- ldrh r1, [r0, #0x6]
- add r2, r1, r3
- ldr r1, _0202A394 ; =0x0000FFFF
- cmp r2, r1
- bge _0202A390
- strh r2, [r0, #0x6]
-_0202A390:
- pop {r3-r4}
- bx lr
- .balign 4
-_0202A394: .word 0x0000FFFF
-
- thumb_func_start FUN_0202A398
-FUN_0202A398: ; 0x0202A398
- ldrb r0, [r0, #0x0]
- lsl r0, r0, #0x1e
- lsr r0, r0, #0x1f
- bx lr
-
- thumb_func_start FUN_0202A3A0
-FUN_0202A3A0: ; 0x0202A3A0
- lsl r1, r1, #0x18
- lsr r1, r1, #0x18
- lsl r1, r1, #0x1f
- ldrb r3, [r0, #0x0]
- mov r2, #0x2
- lsr r1, r1, #0x1e
- bic r3, r2
- orr r1, r3
- strb r1, [r0, #0x0]
- bx lr
-
- thumb_func_start FUN_0202A3B4
-FUN_0202A3B4: ; 0x0202A3B4
- cmp r2, #0x6
- bhi _0202A402
- add r2, r2, r2
- add r2, pc
- ldrh r2, [r2, #0x6]
- lsl r2, r2, #0x10
- asr r2, r2, #0x10
- add pc, r2
-_0202A3C4: ; jump table (using 16-bit offset)
- .short _0202A402 - _0202A3C4 - 2; case 0
- .short _0202A3D2 - _0202A3C4 - 2; case 1
- .short _0202A402 - _0202A3C4 - 2; case 2
- .short _0202A402 - _0202A3C4 - 2; case 3
- .short _0202A402 - _0202A3C4 - 2; case 4
- .short _0202A3E0 - _0202A3C4 - 2; case 5
- .short _0202A3F2 - _0202A3C4 - 2; case 6
-_0202A3D2:
- ldr r2, _0202A408 ; =0x0000270F
- cmp r1, r2
- bls _0202A3DC
- strh r2, [r0, #0x0]
- b _0202A402
-_0202A3DC:
- strh r1, [r0, #0x0]
- b _0202A402
-_0202A3E0:
- ldrh r2, [r0, #0x0]
- add r2, r2, r1
- ldr r1, _0202A408 ; =0x0000270F
- cmp r2, r1
- ble _0202A3EE
- strh r1, [r0, #0x0]
- b _0202A402
-_0202A3EE:
- strh r2, [r0, #0x0]
- b _0202A402
-_0202A3F2:
- ldrh r2, [r0, #0x0]
- cmp r2, r1
- bhs _0202A3FE
- mov r1, #0x0
- strh r1, [r0, #0x0]
- b _0202A402
-_0202A3FE:
- sub r1, r2, r1
- strh r1, [r0, #0x0]
-_0202A402:
- ldrh r0, [r0, #0x0]
- bx lr
- nop
-_0202A408: .word 0x0000270F
-
- thumb_func_start FUN_0202A40C
-FUN_0202A40C: ; 0x0202A40C
- cmp r1, #0x2
- beq _0202A416
- cmp r1, #0x3
- beq _0202A424
- b _0202A440
-_0202A416:
- mov r1, #0x0
- strb r1, [r0, #0x2]
- ldrh r2, [r0, #0x8]
- mov r1, #0x10
- bic r2, r1
- strh r2, [r0, #0x8]
- b _0202A440
-_0202A424:
- ldrh r1, [r0, #0x8]
- lsl r1, r1, #0x1b
- lsr r1, r1, #0x1f
- beq _0202A434
- ldrb r1, [r0, #0x2]
- add r1, r1, #0x1
- strb r1, [r0, #0x2]
- b _0202A440
-_0202A434:
- mov r1, #0x1
- strb r1, [r0, #0x2]
- ldrh r2, [r0, #0x8]
- mov r1, #0x10
- orr r1, r2
- strh r1, [r0, #0x8]
-_0202A440:
- ldrb r0, [r0, #0x2]
- bx lr
-
- thumb_func_start FUN_0202A444
-FUN_0202A444: ; 0x0202A444
- cmp r1, #0x2
- beq _0202A452
- cmp r1, #0x3
- beq _0202A458
- cmp r1, #0x4
- beq _0202A464
- b _0202A46E
-_0202A452:
- mov r1, #0x1
- strb r1, [r0, #0x3]
- b _0202A46E
-_0202A458:
- ldrb r1, [r0, #0x3]
- cmp r1, #0xa
- bhs _0202A46E
- add r1, r1, #0x1
- strb r1, [r0, #0x3]
- b _0202A46E
-_0202A464:
- ldrb r1, [r0, #0x3]
- cmp r1, #0x1
- bls _0202A46E
- sub r1, r1, #0x1
- strb r1, [r0, #0x3]
-_0202A46E:
- ldrb r0, [r0, #0x3]
- bx lr
- .balign 4
-
- thumb_func_start FUN_0202A474
-FUN_0202A474: ; 0x0202A474
- push {r3, lr}
- add r3, r0, #0x0
- cmp r1, #0x0
- bne _0202A48A
- add r3, #0xc0
- add r0, r2, #0x0
- add r1, r3, #0x0
- mov r2, #0xa8
- blx MI_CpuCopy8
- pop {r3, pc}
-_0202A48A:
- add r3, #0x18
- add r0, r2, #0x0
- add r1, r3, #0x0
- mov r2, #0xa8
- blx MI_CpuCopy8
- pop {r3, pc}
-
- thumb_func_start FUN_0202A498
-FUN_0202A498: ; 0x0202A498
- push {r3, lr}
- cmp r1, #0x0
- bne _0202A4AA
- add r1, r2, #0x0
- add r0, #0xc0
- mov r2, #0xa8
- blx MI_CpuCopy8
- pop {r3, pc}
-_0202A4AA:
- add r1, r2, #0x0
- add r0, #0x18
- mov r2, #0xa8
- blx MI_CpuCopy8
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0202A4B8
-FUN_0202A4B8: ; 0x0202A4B8
- push {r4-r6, lr}
- add r6, r0, #0x0
- ldrb r0, [r1, #0x2]
- mov r2, #0xfa
- lsl r2, r2, #0x2
- sub r0, r0, #0x1
- add r3, r0, #0x0
- mul r3, r2
- lsl r0, r3, #0x10
- lsr r4, r0, #0x10
- ldrh r3, [r1, #0x4]
- mov r0, #0xa
- ldrb r5, [r1, #0x3]
- mul r0, r3
- mov r3, #0x14
- mul r3, r5
- lsl r0, r0, #0x10
- lsl r3, r3, #0x10
- lsr r0, r0, #0x10
- lsr r3, r3, #0x10
- add r3, r0, r3
- add r0, r2, #0x0
- sub r0, #0x32
- cmp r3, r0
- ble _0202A4EE
- mov r5, #0x0
- b _0202A4F6
-_0202A4EE:
- sub r2, #0x32
- sub r0, r2, r3
- lsl r0, r0, #0x10
- lsr r5, r0, #0x10
-_0202A4F6:
- ldrh r1, [r1, #0x6]
- ldr r0, _0202A51C ; =0x000003CA
- cmp r1, r0
- bls _0202A502
- mov r1, #0x0
- b _0202A510
-_0202A502:
- add r0, #0x1e
- sub r0, r0, r1
- mov r1, #0x1e
- blx _s32_div_f
- lsl r0, r0, #0x10
- lsr r1, r0, #0x10
-_0202A510:
- add r0, r4, r5
- add r0, r1, r0
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- strh r0, [r6, #0x16]
- pop {r4-r6, pc}
- .balign 4
-_0202A51C: .word 0x000003CA
-
- thumb_func_start FUN_0202A520
-FUN_0202A520: ; 0x0202A520
- ldrh r0, [r0, #0x16]
- bx lr
-
- thumb_func_start FUN_0202A524
-FUN_0202A524: ; 0x0202A524
- push {r3, lr}
- ldrh r0, [r0, #0x16]
- mov r1, #0xfa
- lsl r1, r1, #0x2
- blx _s32_div_f
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0202A538
-FUN_0202A538: ; 0x0202A538
- push {r4-r5}
- cmp r1, #0x5
- bne _0202A544
- mov r0, #0x0
- pop {r4-r5}
- bx lr
-_0202A544:
- cmp r2, #0x2
- beq _0202A54E
- cmp r2, #0x3
- beq _0202A558
- b _0202A56A
-_0202A54E:
- lsl r2, r1, #0x1
- mov r3, #0x0
- add r2, r0, r2
- strh r3, [r2, #0xc]
- b _0202A56A
-_0202A558:
- add r5, r0, #0x0
- add r5, #0xc
- lsl r4, r1, #0x1
- ldrh r3, [r5, r4]
- ldr r2, _0202A574 ; =0x0000FFFE
- cmp r3, r2
- bhs _0202A56A
- add r2, r3, #0x1
- strh r2, [r5, r4]
-_0202A56A:
- lsl r1, r1, #0x1
- add r0, r0, r1
- ldrh r0, [r0, #0xc]
- pop {r4-r5}
- bx lr
- .balign 4
-_0202A574: .word 0x0000FFFE
-
- thumb_func_start FUN_0202A578
-FUN_0202A578: ; 0x0202A578
- push {r3-r4}
- mov r3, #0x1
- mov r4, #0x0
- cmp r1, #0x0
- bls _0202A590
-_0202A582:
- add r4, r4, #0x1
- lsl r4, r4, #0x10
- lsl r3, r3, #0x11
- lsr r4, r4, #0x10
- lsr r3, r3, #0x10
- cmp r4, r1
- blo _0202A582
-_0202A590:
- cmp r2, #0x0
- beq _0202A5B4
- cmp r2, #0x1
- beq _0202A5AC
- cmp r2, #0x2
- bne _0202A5C2
- ldr r1, _0202A5C8 ; =0x0000FFFF
- eor r1, r3
- lsl r1, r1, #0x10
- lsr r2, r1, #0x10
- ldrh r1, [r0, #0x8]
- and r1, r2
- strh r1, [r0, #0x8]
- b _0202A5C2
-_0202A5AC:
- ldrh r1, [r0, #0x8]
- orr r1, r3
- strh r1, [r0, #0x8]
- b _0202A5C2
-_0202A5B4:
- ldrh r0, [r0, #0x8]
- add r2, r0, #0x0
- asr r2, r1
- mov r0, #0x1
- and r0, r2
- pop {r3-r4}
- bx lr
-_0202A5C2:
- mov r0, #0x0
- pop {r3-r4}
- bx lr
- .balign 4
-_0202A5C8: .word 0x0000FFFF
-
- thumb_func_start FUN_0202A5CC
-FUN_0202A5CC: ; 0x0202A5CC
- str r1, [r0, #0x4]
- bx lr
-
- thumb_func_start FUN_0202A5D0
-FUN_0202A5D0: ; 0x0202A5D0
- ldr r0, [r0, #0x4]
- bx lr
-
- thumb_func_start FUN_0202A5D4
-FUN_0202A5D4: ; 0x0202A5D4
- push {r3-r5, lr}
- add r5, r1, #0x0
- mov r1, #0x17
- add r4, r2, #0x0
- bl FUN_02022610
- mov r1, #0x69
- lsl r1, r1, #0x2
- add r1, r0, r1
- lsl r0, r5, #0x3
- add r0, r1, r0
- add r1, r4, #0x0
- bl FUN_02013960
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0202A5F4
-FUN_0202A5F4: ; 0x0202A5F4
- push {r4, lr}
- add r4, r1, #0x0
- mov r1, #0x17
- bl FUN_02022610
- mov r1, #0x69
- lsl r1, r1, #0x2
- add r1, r0, r1
- lsl r0, r4, #0x3
- add r0, r1, r0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0202A60C
-FUN_0202A60C: ; 0x0202A60C
- push {r3-r6}
- add r4, r3, #0x0
- mov r3, #0x1
- cmp r2, #0x0
- beq _0202A66C
- cmp r2, #0xc8
- bhi _0202A66C
- cmp r1, #0x0
- beq _0202A66C
- cmp r1, #0xa
- bhi _0202A66C
- sub r5, r2, #0x1
- sub r2, r1, #0x1
- mov r1, #0xc8
- mul r1, r2
- add r1, r5, r1
- lsl r1, r1, #0x10
- lsr r1, r1, #0x10
- lsr r6, r1, #0x1f
- lsl r5, r1, #0x1d
- sub r5, r5, r6
- mov r2, #0x1d
- ror r5, r2
- add r2, r6, r5
- lsl r2, r2, #0x18
- lsr r2, r2, #0x18
- lsl r3, r2
- lsl r2, r3, #0x18
- lsl r1, r1, #0x15
- lsr r5, r2, #0x18
- add r3, r0, #0x4
- lsr r2, r1, #0x18
- ldrb r1, [r3, r2]
- orr r1, r5
- strb r1, [r3, r2]
- ldr r3, [r4, #0x0]
- ldr r1, [r4, #0x8]
- lsl r5, r3, #0x18
- ldr r3, [r4, #0x4]
- lsl r1, r1, #0x18
- lsl r3, r3, #0x18
- lsr r3, r3, #0x8
- ldr r2, [r4, #0xc]
- lsr r1, r1, #0x10
- orr r3, r5
- orr r1, r3
- orr r1, r2
- str r1, [r0, #0x0]
-_0202A66C:
- pop {r3-r6}
- bx lr
-
- thumb_func_start FUN_0202A670
-FUN_0202A670: ; 0x0202A670
- push {r4, lr}
- add r4, r0, #0x0
- add r0, r4, #0x4
- mov r1, #0x0
- mov r2, #0xfa
- blx MI_CpuFill8
- add r0, r4, #0x0
- mov r1, #0x0
- mov r2, #0x4
- blx MI_CpuFill8
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0202A68C
-FUN_0202A68C: ; 0x0202A68C
- ldr r3, [r0, #0x0]
- ldr r2, [r1, #0x0]
- cmp r3, r2
- bls _0202A698
- mov r0, #0x1
- bx lr
-_0202A698:
- ldr r3, [r0, #0x4]
- ldr r2, [r1, #0x4]
- cmp r3, r2
- bls _0202A6A4
- mov r0, #0x1
- bx lr
-_0202A6A4:
- ldr r2, [r0, #0x8]
- ldr r0, [r1, #0x8]
- cmp r2, r0
- bls _0202A6B0
- mov r0, #0x1
- bx lr
-_0202A6B0:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_0202A6B4
-FUN_0202A6B4: ; 0x0202A6B4
- push {r3-r7, lr}
- sub sp, #0x10
- add r6, r2, #0x0
- add r5, r0, #0x0
- add r4, r1, #0x0
- mov r7, #0x1
- cmp r6, #0xc8
- bhi _0202A6C8
- cmp r4, #0xa
- bls _0202A6CE
-_0202A6C8:
- add sp, #0x10
- mov r0, #0x0
- pop {r3-r7, pc}
-_0202A6CE:
- ldr r0, [r5, #0x0]
- lsr r1, r0, #0x18
- lsl r1, r1, #0x18
- lsr r1, r1, #0x18
- str r1, [sp, #0x0]
- lsr r1, r0, #0x10
- lsl r1, r1, #0x18
- lsr r1, r1, #0x18
- str r1, [sp, #0x4]
- lsr r1, r0, #0x8
- lsl r1, r1, #0x18
- lsl r0, r0, #0x18
- lsr r1, r1, #0x18
- lsr r0, r0, #0x18
- str r1, [sp, #0x8]
- str r0, [sp, #0xc]
- add r0, r3, #0x0
- add r1, sp, #0x0
- bl FUN_0202A68C
- cmp r0, #0x0
- beq _0202A706
- add r0, r5, #0x0
- bl FUN_0202A670
- add sp, #0x10
- mov r0, #0x0
- pop {r3-r7, pc}
-_0202A706:
- sub r1, r4, #0x1
- mov r0, #0xc8
- mul r0, r1
- sub r2, r6, #0x1
- add r0, r2, r0
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- lsr r3, r0, #0x1f
- lsl r2, r0, #0x1d
- lsl r0, r0, #0x15
- lsr r0, r0, #0x18
- add r0, r5, r0
- sub r2, r2, r3
- mov r1, #0x1d
- ror r2, r1
- add r1, r3, r2
- lsl r1, r1, #0x18
- lsr r1, r1, #0x18
- add r2, r7, #0x0
- lsl r2, r1
- lsl r1, r2, #0x18
- ldrb r0, [r0, #0x4]
- lsr r1, r1, #0x18
- tst r0, r1
- beq _0202A73E
- add sp, #0x10
- add r0, r7, #0x0
- pop {r3-r7, pc}
-_0202A73E:
- mov r0, #0x0
- add sp, #0x10
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0202A744
-FUN_0202A744: ; 0x0202A744
- add r0, #0xfe
- ldrb r0, [r0, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_0202A74C
-FUN_0202A74C: ; 0x0202A74C
- add r0, #0xff
- ldrb r0, [r0, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_0202A754
-FUN_0202A754: ; 0x0202A754
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r0, r1, #0x0
- mov r1, #0x41
- add r4, r2, #0x0
- lsl r1, r1, #0x2
- ldr r2, _0202A77C ; =0x0000063C
- add r1, r5, r1
- add r6, r3, #0x0
- blx MI_CpuCopy8
- ldr r0, _0202A780 ; =0x00000101
- strb r4, [r5, r0]
- sub r0, r0, #0x1
- strb r6, [r5, r0]
- mov r0, #0x1
- add r5, #0xfe
- strb r0, [r5, #0x0]
- pop {r4-r6, pc}
- nop
-_0202A77C: .word 0x0000063C
-_0202A780: .word 0x00000101
-
- thumb_func_start FUN_0202A784
-FUN_0202A784: ; 0x0202A784
- ldr r2, _0202A794 ; =0x00000101
- ldrb r3, [r0, r2]
- sub r2, r2, #0x1
- strb r3, [r1, #0x0]
- ldrb r0, [r0, r2]
- strb r0, [r1, #0x1]
- bx lr
- nop
-_0202A794: .word 0x00000101
-
- thumb_func_start FUN_0202A798
-FUN_0202A798: ; 0x0202A798
- push {r3-r7, lr}
- add r6, r1, #0x0
- mov r1, #0x41
- lsl r1, r1, #0x2
- add r5, r0, r1
- mov r0, #0xe4
- add r4, r2, #0x0
- mul r4, r0
- ldr r0, _0202A834 ; =0x00002710
- add r7, r6, #0x0
- str r0, [r6, #0x0]
- add r0, r5, r4
- add r0, #0xc9
- ldrb r0, [r0, #0x0]
- add r7, #0x30
- strh r0, [r6, #0x4]
- add r0, r5, r4
- add r0, #0xc8
- ldrb r0, [r0, #0x0]
- lsl r0, r0, #0x1f
- lsr r0, r0, #0x1f
- beq _0202A7EE
- mov r0, #0x0
- mov r1, #0x1a
- mov r2, #0x11
- mov r3, #0xb
- bl FUN_0200A86C
- add r1, r5, r4
- add r1, #0xc8
- ldrb r1, [r1, #0x0]
- add r2, r6, #0x0
- str r0, [sp, #0x0]
- lsl r1, r1, #0x1e
- lsr r1, r1, #0x1f
- add r1, #0x16
- add r2, #0x8
- bl FUN_0200A968
- ldr r0, [sp, #0x0]
- bl FUN_0200A8B8
- b _0202A7FC
-_0202A7EE:
- add r0, r5, r4
- add r1, r6, #0x0
- add r0, #0xa8
- add r1, #0x8
- mov r2, #0x10
- blx MI_CpuCopy8
-_0202A7FC:
- add r0, r5, r4
- add r1, r6, #0x0
- add r0, #0xca
- add r1, #0x18
- mov r2, #0x8
- blx MI_CpuCopy8
- add r0, r5, r4
- add r1, r6, #0x0
- add r0, #0xd2
- add r1, #0x20
- mov r2, #0x8
- blx MI_CpuCopy8
- add r0, r5, r4
- add r6, #0x28
- add r0, #0xda
- add r1, r6, #0x0
- mov r2, #0x8
- blx MI_CpuCopy8
- add r0, r5, r4
- add r1, r7, #0x0
- mov r2, #0xa8
- blx MI_CpuCopy8
- pop {r3-r7, pc}
- nop
-_0202A834: .word 0x00002710
-
- thumb_func_start FUN_0202A838
-FUN_0202A838: ; 0x0202A838
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r0, r1, #0x0
- mov r1, #0x1d
- add r4, r2, #0x0
- lsl r1, r1, #0x6
- mov r2, #0xff
- add r1, r5, r1
- lsl r2, r2, #0x2
- add r6, r3, #0x0
- blx MI_CpuCopy8
- ldr r0, _0202A860 ; =0x00000103
- strb r4, [r5, r0]
- sub r0, r0, #0x1
- strb r6, [r5, r0]
- mov r0, #0x1
- add r5, #0xff
- strb r0, [r5, #0x0]
- pop {r4-r6, pc}
- .balign 4
-_0202A860: .word 0x00000103
-
- thumb_func_start FUN_0202A864
-FUN_0202A864: ; 0x0202A864
- ldr r2, _0202A874 ; =0x00000103
- ldrb r3, [r0, r2]
- sub r2, r2, #0x1
- strb r3, [r1, #0x0]
- ldrb r0, [r0, r2]
- strb r0, [r1, #0x1]
- bx lr
- nop
-_0202A874: .word 0x00000103
-
- thumb_func_start FUN_0202A878
-FUN_0202A878: ; 0x0202A878
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, r1, #0x0
- mov r1, #0xff
- lsl r1, r1, #0x2
- bl FUN_02016998
- add r4, r0, #0x0
- mov r0, #0x1d
- lsl r0, r0, #0x6
- mov r2, #0xff
- add r0, r5, r0
- add r1, r4, #0x0
- lsl r2, r2, #0x2
- blx MI_CpuCopy8
- add r0, r4, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0202A89C
-FUN_0202A89C: ; 0x0202A89C
- mov r0, #0xd
- lsl r0, r0, #0x8
- bx lr
- .balign 4
-
- thumb_func_start FUN_0202A8A4
-FUN_0202A8A4: ; 0x0202A8A4
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_0202A1E4
- add r0, r4, #0x0
- add r0, #0x3c
- bl FUN_0202A1F0
- mov r0, #0x69
- lsl r0, r0, #0x2
- add r0, r4, r0
- bl FUN_0202A204
- mov r0, #0x71
- lsl r0, r0, #0x2
- add r0, r4, r0
- bl FUN_0202A230
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0202A8CC
-FUN_0202A8CC: ; 0x0202A8CC
- ldr r3, _0202A8D4 ; =FUN_02022610
- mov r1, #0x17
- bx r3
- nop
-_0202A8D4: .word FUN_02022610
-
- thumb_func_start FUN_0202A8D8
-FUN_0202A8D8: ; 0x0202A8D8
- push {r3, lr}
- mov r1, #0x17
- bl FUN_02022610
- add r0, #0x3c
- pop {r3, pc}
-
- thumb_func_start FUN_0202A8E4
-FUN_0202A8E4: ; 0x0202A8E4
- push {r3, lr}
- mov r1, #0x17
- bl FUN_02022610
- mov r1, #0x71
- lsl r1, r1, #0x2
- add r0, r0, r1
- pop {r3, pc}
-
- thumb_func_start FUN_0202A8F4
-FUN_0202A8F4: ; 0x0202A8F4
- mov r0, #0xe
- bx lr
-
- thumb_func_start FUN_0202A8F8
-FUN_0202A8F8: ; 0x0202A8F8
- 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]
- strb r1, [r0, #0xc]
- strb r1, [r0, #0xd]
- bx lr
-
- thumb_func_start FUN_0202A918
-FUN_0202A918: ; 0x0202A918
- ldr r3, _0202A920 ; =FUN_02022610
- mov r1, #0x18
- bx r3
- nop
-_0202A920: .word FUN_02022610
-
- thumb_func_start FUN_0202A924
-FUN_0202A924: ; 0x0202A924
- mov r0, #0x45
- lsl r0, r0, #0x2
- bx lr
- .balign 4
-
- thumb_func_start FUN_0202A92C
-FUN_0202A92C: ; 0x0202A92C
- push {r4, lr}
- mov r2, #0x45
- add r4, r0, #0x0
- mov r1, #0x0
- lsl r2, r2, #0x2
- blx Call_FillMemWithValue
- bl FUN_0201BA60
- str r0, [r4, #0x0]
- bl FUN_0201BA60
- str r0, [r4, #0x4]
- mov r1, #0x0
- add r3, r4, #0x0
- ldr r0, _0202A980 ; =0x0000FFFF
- str r1, [r4, #0x8]
- strh r0, [r4, #0xc]
- strh r0, [r4, #0xe]
- mov r0, #0x15
- add r3, #0x10
- strb r0, [r4, #0x10]
- add r2, r1, #0x0
-_0202A95A:
- str r2, [r3, #0x4]
- strb r2, [r3, #0x8]
- strb r2, [r3, #0x9]
- strb r2, [r3, #0xa]
- strb r2, [r3, #0xb]
- add r1, r1, #0x1
- add r3, #0x8
- cmp r1, #0x15
- blt _0202A95A
- ldr r0, _0202A984 ; =0x0000010F
- strb r2, [r4, r0]
- add r1, r0, #0x1
- strb r2, [r4, r1]
- add r1, r0, #0x2
- strb r2, [r4, r1]
- add r0, r0, #0x3
- strb r2, [r4, r0]
- pop {r4, pc}
- nop
-_0202A980: .word 0x0000FFFF
-_0202A984: .word 0x0000010F
-
- thumb_func_start FUN_0202A988
-FUN_0202A988: ; 0x0202A988
- str r1, [r0, #0x0]
- str r1, [r0, #0x4]
- bx lr
- .balign 4
-
- thumb_func_start FUN_0202A990
-FUN_0202A990: ; 0x0202A990
- push {r3, lr}
- cmp r1, #0x1
- beq _0202A99C
- cmp r1, #0x2
- beq _0202A9A0
- b _0202A9A4
-_0202A99C:
- ldr r0, [r0, #0x0]
- pop {r3, pc}
-_0202A9A0:
- ldr r0, [r0, #0x4]
- pop {r3, pc}
-_0202A9A4:
- bl ErrorHandling
- mov r0, #0x0
- pop {r3, pc}
-
- thumb_func_start FUN_0202A9AC
-FUN_0202A9AC: ; 0x0202A9AC
- add r0, #0xbc
- bx lr
-
- thumb_func_start FUN_0202A9B0
-FUN_0202A9B0: ; 0x0202A9B0
- ldr r3, _0202A9B8 ; =FUN_02022610
- mov r1, #0x19
- bx r3
- nop
-_0202A9B8: .word FUN_02022610
-
- thumb_func_start FUN_0202A9BC
-FUN_0202A9BC: ; 0x0202A9BC
- add r0, #0x10
- bx lr
-
- thumb_func_start FUN_0202A9C0
-FUN_0202A9C0: ; 0x0202A9C0
- ldrb r0, [r0, #0x0]
- bx lr
-
- thumb_func_start FUN_0202A9C4
-FUN_0202A9C4: ; 0x0202A9C4
- strb r0, [r1, #0x0]
- bx lr
-
- thumb_func_start FUN_0202A9C8
-FUN_0202A9C8: ; 0x0202A9C8
- add r1, r1, #0x4
- lsl r0, r0, #0x3
- add r0, r1, r0
- bx lr
-
- thumb_func_start FUN_0202A9D0
-FUN_0202A9D0: ; 0x0202A9D0
- push {r3-r7, lr}
- add r5, r1, #0x0
- bl FUN_0202A9B0
- add r6, r0, #0x0
- mov r4, #0x0
- add r6, #0x10
- add r7, r4, #0x0
-_0202A9E0:
- lsl r0, r4, #0x18
- lsr r0, r0, #0x18
- add r1, r6, #0x0
- bl FUN_0202A9C8
- ldr r1, [r0, #0x0]
- cmp r1, #0x0
- beq _0202A9F8
- sub r1, r1, r5
- str r1, [r0, #0x0]
- bpl _0202A9F8
- str r7, [r0, #0x0]
-_0202A9F8:
- add r4, r4, #0x1
- cmp r4, #0x15
- blt _0202A9E0
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0202AA00
-FUN_0202AA00: ; 0x0202AA00
- push {r3, lr}
- bl FUN_0202A9B0
- ldr r1, _0202AA10 ; =0x0000010F
- mov r2, #0x1
- strb r2, [r0, r1]
- pop {r3, pc}
- nop
-_0202AA10: .word 0x0000010F
-
- thumb_func_start FUN_0202AA14
-FUN_0202AA14: ; 0x0202AA14
- ldr r1, _0202AA1C ; =0x0000010F
- ldrb r0, [r0, r1]
- bx lr
- nop
-_0202AA1C: .word 0x0000010F
-
- thumb_func_start FUN_0202AA20
-FUN_0202AA20: ; 0x0202AA20
- add r2, r0, #0x0
- add r2, #0xc8
- ldr r3, [r2, #0x0]
- cmp r3, r1
- beq _0202AA34
- add r2, r0, #0x0
- add r2, #0xcc
- str r3, [r2, #0x0]
- add r0, #0xc8
- str r1, [r0, #0x0]
-_0202AA34:
- bx lr
- .balign 4
-
- thumb_func_start FUN_0202AA38
-FUN_0202AA38: ; 0x0202AA38
- add r0, #0xcc
- ldr r0, [r0, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_0202AA40
-FUN_0202AA40: ; 0x0202AA40
- push {r3-r5, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- cmp r4, #0x3
- blo _0202AA4E
- bl ErrorHandling
-_0202AA4E:
- mov r0, #0x43
- add r1, r5, r4
- lsl r0, r0, #0x2
- ldrb r0, [r1, r0]
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0202AA58
-FUN_0202AA58: ; 0x0202AA58
- push {r4-r6, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- add r6, r2, #0x0
- cmp r4, #0x3
- blo _0202AA68
- bl ErrorHandling
-_0202AA68:
- mov r0, #0x43
- add r1, r5, r4
- lsl r0, r0, #0x2
- strb r6, [r1, r0]
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_0202AA74
-FUN_0202AA74: ; 0x0202AA74
- push {r3-r5, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- cmp r4, #0x3
- blo _0202AA82
- bl ErrorHandling
-_0202AA82:
- mov r0, #0x14
- mul r0, r4
- add r0, r5, r0
- add r0, #0xe2
- ldrb r0, [r0, #0x0]
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0202AA90
-FUN_0202AA90: ; 0x0202AA90
- ldr r2, [r0, #0x0]
- mov r1, #0x14
- mov r0, #0x0
-_0202AA96:
- strb r0, [r2, #0x0]
- add r2, r2, #0x1
- sub r1, r1, #0x1
- bne _0202AA96
- bx lr
-
- thumb_func_start FUN_0202AAA0
-FUN_0202AAA0: ; 0x0202AAA0
- push {r3-r5, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- cmp r4, #0x3
- blo _0202AAAE
- bl ErrorHandling
-_0202AAAE:
- mov r0, #0x14
- add r5, #0xd0
- mul r0, r4
- add r0, r5, r0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0202AAB8
-FUN_0202AAB8: ; 0x0202AAB8
- cmp r1, #0x8
- bhi _0202AAF8
- add r1, r1, r1
- add r1, pc
- ldrh r1, [r1, #0x6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_0202AAC8: ; jump table (using 16-bit offset)
- .short _0202AAF8 - _0202AAC8 - 2; case 0
- .short _0202AADA - _0202AAC8 - 2; case 1
- .short _0202AADE - _0202AAC8 - 2; case 2
- .short _0202AAE2 - _0202AAC8 - 2; case 3
- .short _0202AAE6 - _0202AAC8 - 2; case 4
- .short _0202AAEA - _0202AAC8 - 2; case 5
- .short _0202AAEE - _0202AAC8 - 2; case 6
- .short _0202AAF2 - _0202AAC8 - 2; case 7
- .short _0202AAF6 - _0202AAC8 - 2; case 8
-_0202AADA:
- ldr r0, [r0, #0x0]
- bx lr
-_0202AADE:
- ldr r0, [r0, #0x4]
- bx lr
-_0202AAE2:
- ldr r0, [r0, #0x8]
- bx lr
-_0202AAE6:
- ldrh r0, [r0, #0xc]
- bx lr
-_0202AAEA:
- ldrh r0, [r0, #0xe]
- bx lr
-_0202AAEE:
- ldrb r0, [r0, #0x10]
- bx lr
-_0202AAF2:
- ldrb r0, [r0, #0x11]
- bx lr
-_0202AAF6:
- ldrb r0, [r0, #0x12]
-_0202AAF8:
- bx lr
- .balign 4
-
- thumb_func_start FUN_0202AAFC
-FUN_0202AAFC: ; 0x0202AAFC
- cmp r1, #0x8
- bhi _0202AB3C
- add r1, r1, r1
- add r1, pc
- ldrh r1, [r1, #0x6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_0202AB0C: ; jump table (using 16-bit offset)
- .short _0202AB3C - _0202AB0C - 2; case 0
- .short _0202AB1E - _0202AB0C - 2; case 1
- .short _0202AB22 - _0202AB0C - 2; case 2
- .short _0202AB26 - _0202AB0C - 2; case 3
- .short _0202AB2A - _0202AB0C - 2; case 4
- .short _0202AB2E - _0202AB0C - 2; case 5
- .short _0202AB32 - _0202AB0C - 2; case 6
- .short _0202AB36 - _0202AB0C - 2; case 7
- .short _0202AB3A - _0202AB0C - 2; case 8
-_0202AB1E:
- str r2, [r0, #0x0]
- bx lr
-_0202AB22:
- str r2, [r0, #0x4]
- bx lr
-_0202AB26:
- str r2, [r0, #0x8]
- bx lr
-_0202AB2A:
- strh r2, [r0, #0xc]
- bx lr
-_0202AB2E:
- strh r2, [r0, #0xe]
- bx lr
-_0202AB32:
- strb r2, [r0, #0x10]
- bx lr
-_0202AB36:
- strb r2, [r0, #0x11]
- bx lr
-_0202AB3A:
- strb r2, [r0, #0x12]
-_0202AB3C:
- bx lr
- .balign 4
-
- thumb_func_start FUN_0202AB40
-FUN_0202AB40: ; 0x0202AB40
- ldr r1, _0202AB48 ; =0x00000111
- add r0, r0, r1
- bx lr
- nop
-_0202AB48: .word 0x00000111
-
- thumb_func_start FUN_0202AB4C
-FUN_0202AB4C: ; 0x0202AB4C
- mov r1, #0x11
- lsl r1, r1, #0x4
- add r0, r0, r1
- bx lr
-
- thumb_func_start FUN_0202AB54
-FUN_0202AB54: ; 0x0202AB54
- mov r1, #0x11
- lsl r1, r1, #0x4
- ldrb r0, [r0, r1]
- cmp r0, #0x0
- bne _0202AB62
- mov r0, #0x1
- bx lr
-_0202AB62:
- mov r0, #0x0
- bx lr
- .balign 4
-
- thumb_func_start FUN_0202AB68
-FUN_0202AB68: ; 0x0202AB68
- push {r3-r5, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- cmp r4, #0x2
- bls _0202AB76
- bl ErrorHandling
-_0202AB76:
- ldr r0, _0202AB7C ; =0x00000112
- strb r4, [r5, r0]
- pop {r3-r5, pc}
- .balign 4
-_0202AB7C: .word 0x00000112
-
- thumb_func_start FUN_0202AB80
-FUN_0202AB80: ; 0x0202AB80
- ldr r1, _0202AB88 ; =0x00000112
- ldrb r0, [r0, r1]
- bx lr
- nop
-_0202AB88: .word 0x00000112
-
- thumb_func_start FUN_0202AB8C
-FUN_0202AB8C: ; 0x0202AB8C
- push {r3-r5, lr}
- add r5, r1, #0x0
- add r4, r2, #0x0
- bl FUN_0202A9B0
- ldrh r1, [r0, #0xc]
- strh r1, [r5, #0x0]
- ldrh r0, [r0, #0xe]
- strh r0, [r4, #0x0]
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0202ABA0
-FUN_0202ABA0: ; 0x0202ABA0
- push {r3-r5, lr}
- add r5, r1, #0x0
- bl FUN_0202A9B0
- add r4, r0, #0x0
- cmp r5, #0x10
- blo _0202ABB2
- bl ErrorHandling
-_0202ABB2:
- ldrh r0, [r4, #0xc]
- strh r0, [r4, #0xe]
- strh r5, [r4, #0xc]
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0202ABBC
-FUN_0202ABBC: ; 0x0202ABBC
- ldr r3, _0202ABC4 ; =FUN_02022610
- mov r1, #0x1a
- bx r3
- nop
-_0202ABC4: .word FUN_02022610
-
- thumb_func_start FUN_0202ABC8
-FUN_0202ABC8: ; 0x0202ABC8
- mov r0, #0xf4
- bx lr
-
- thumb_func_start FUN_0202ABCC
-FUN_0202ABCC: ; 0x0202ABCC
- ldr r3, _0202ABD8 ; =MIi_CpuClearFast
- add r1, r0, #0x0
- mov r0, #0x0
- mov r2, #0xf4
- bx r3
- nop
-_0202ABD8: .word MIi_CpuClearFast
-
- thumb_func_start FUN_0202ABDC
-FUN_0202ABDC: ; 0x0202ABDC
- add r0, #0xec
- ldrh r0, [r0, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_0202ABE4
-FUN_0202ABE4: ; 0x0202ABE4
- add r0, #0xec
- strh r1, [r0, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_0202ABEC
-FUN_0202ABEC: ; 0x0202ABEC
- ldr r3, _0202ABF4 ; =MIi_CpuCopyFast
- mov r2, #0xec
- bx r3
- nop
-_0202ABF4: .word MIi_CpuCopyFast
-
- thumb_func_start FUN_0202ABF8
-FUN_0202ABF8: ; 0x0202ABF8
- ldr r3, _0202AC04 ; =MIi_CpuCopyFast
- add r2, r0, #0x0
- add r0, r1, #0x0
- add r1, r2, #0x0
- mov r2, #0xec
- bx r3
- .balign 4
-_0202AC04: .word MIi_CpuCopyFast
-
- thumb_func_start FUN_0202AC08
-FUN_0202AC08: ; 0x0202AC08
- add r0, #0xf0
- ldr r0, [r0, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_0202AC10
-FUN_0202AC10: ; 0x0202AC10
- add r0, #0xf0
- str r1, [r0, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_0202AC18
-FUN_0202AC18: ; 0x0202AC18
- add r0, #0xee
- ldrh r0, [r0, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_0202AC20
-FUN_0202AC20: ; 0x0202AC20
- ldr r0, _0202AC24 ; =0x00001354
- bx lr
- .balign 4
-_0202AC24: .word 0x00001354
-
- thumb_func_start FUN_0202AC28
-FUN_0202AC28: ; 0x0202AC28
- bx lr
- .balign 4
-
- thumb_func_start FUN_0202AC2C
-FUN_0202AC2C: ; 0x0202AC2C
- push {r4-r6, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- cmp r4, #0x8
- blt _0202AC3A
- bl ErrorHandling
-_0202AC3A:
- mov r0, #0x1
- lsl r0, r0, #0x8
- add r6, r5, r0
- lsl r3, r4, #0x2
- ldr r2, [r6, r3]
- ldr r1, _0202AC60 ; =0xEDB88320
- cmp r2, r1
- bne _0202AC58
- add r0, #0x2c
- add r1, r5, r0
- lsl r0, r4, #0x6
- add r0, r4, r0
- lsl r0, r0, #0x2
- add r0, r1, r0
- pop {r4-r6, pc}
-_0202AC58:
- mov r0, #0x0
- str r0, [r6, r3]
- pop {r4-r6, pc}
- nop
-_0202AC60: .word 0xEDB88320
-
- thumb_func_start FUN_0202AC64
-FUN_0202AC64: ; 0x0202AC64
- push {r3-r5, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- cmp r4, #0x3
- blt _0202AC72
- bl ErrorHandling
-_0202AC72:
- lsl r0, r4, #0x2
- add r1, r5, r0
- mov r0, #0x12
- lsl r0, r0, #0x4
- ldr r0, [r1, r0]
- cmp r0, #0x0
- beq _0202AC8E
- ldr r0, _0202AC94 ; =0x0000094C
- add r1, r5, r0
- mov r0, #0xd6
- lsl r0, r0, #0x2
- mul r0, r4
- add r0, r1, r0
- pop {r3-r5, pc}
-_0202AC8E:
- mov r0, #0x0
- pop {r3-r5, pc}
- nop
-_0202AC94: .word 0x0000094C
-
- thumb_func_start FUN_0202AC98
-FUN_0202AC98: ; 0x0202AC98
- push {r3-r7, lr}
- add r5, r0, #0x0
- str r1, [sp, #0x0]
- add r7, r2, #0x0
- bl FUN_0202ADF0
- cmp r0, #0x0
- bne _0202ACAC
- mov r0, #0x0
- pop {r3-r7, pc}
-_0202ACAC:
- mov r0, #0x1
- mov r4, #0x0
- add r2, r5, #0x0
- lsl r0, r0, #0x8
-_0202ACB4:
- ldr r1, [r2, r0]
- cmp r1, #0x0
- bne _0202ACF6
- lsl r0, r4, #0x6
- mov r2, #0x4b
- add r0, r4, r0
- lsl r2, r2, #0x2
- lsl r6, r0, #0x2
- add r1, r5, r2
- ldr r0, [sp, #0x0]
- add r1, r1, r6
- sub r2, #0x28
- blx MI_CpuCopy8
- lsl r0, r4, #0x2
- add r1, r5, r0
- mov r0, #0x1
- ldr r2, _0202AD04 ; =0xEDB88320
- lsl r0, r0, #0x8
- str r2, [r1, r0]
- add r0, #0x2e
- add r1, r5, r0
- ldrh r0, [r1, r6]
- mov r2, #0x3
- bic r0, r2
- lsl r2, r7, #0x10
- lsr r3, r2, #0x10
- mov r2, #0x3
- and r2, r3
- orr r0, r2
- strh r0, [r1, r6]
- mov r0, #0x1
- pop {r3-r7, pc}
-_0202ACF6:
- add r4, r4, #0x1
- add r2, r2, #0x4
- cmp r4, #0x8
- blt _0202ACB4
- mov r0, #0x0
- pop {r3-r7, pc}
- nop
-_0202AD04: .word 0xEDB88320
-
- thumb_func_start FUN_0202AD08
-FUN_0202AD08: ; 0x0202AD08
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r6, r1, #0x0
- bl FUN_0202AE0C
- cmp r0, #0x0
- bne _0202AD1A
- mov r0, #0x0
- pop {r4-r6, pc}
-_0202AD1A:
- ldr r0, _0202AD88 ; =0x00000152
- ldrb r0, [r6, r0]
- lsl r0, r0, #0x1c
- lsr r0, r0, #0x1f
- cmp r0, #0x1
- bne _0202AD34
- add r0, r5, #0x0
- bl FUN_0202ADF0
- cmp r0, #0x0
- bne _0202AD34
- mov r0, #0x0
- pop {r4-r6, pc}
-_0202AD34:
- mov r0, #0x12
- mov r4, #0x0
- add r2, r5, #0x0
- lsl r0, r0, #0x4
-_0202AD3C:
- ldr r1, [r2, r0]
- cmp r1, #0x0
- bne _0202AD7C
- ldr r1, _0202AD8C ; =0x0000094C
- mov r2, #0xd6
- add r3, r5, r1
- lsl r2, r2, #0x2
- add r1, r4, #0x0
- mul r1, r2
- add r0, r6, #0x0
- add r1, r3, r1
- blx MI_CpuCopy8
- lsl r0, r4, #0x2
- add r1, r5, r0
- mov r0, #0x12
- ldr r2, _0202AD90 ; =0xEDB88320
- lsl r0, r0, #0x4
- str r2, [r1, r0]
- add r0, #0x32
- ldrb r0, [r6, r0]
- lsl r0, r0, #0x1c
- lsr r0, r0, #0x1f
- cmp r0, #0x1
- bne _0202AD78
- add r0, r5, #0x0
- add r1, r6, #0x0
- add r2, r4, #0x1
- bl FUN_0202AC98
-_0202AD78:
- mov r0, #0x1
- pop {r4-r6, pc}
-_0202AD7C:
- add r4, r4, #0x1
- add r2, r2, #0x4
- cmp r4, #0x3
- blt _0202AD3C
- mov r0, #0x0
- pop {r4-r6, pc}
- .balign 4
-_0202AD88: .word 0x00000152
-_0202AD8C: .word 0x0000094C
-_0202AD90: .word 0xEDB88320
-
- thumb_func_start FUN_0202AD94
-FUN_0202AD94: ; 0x0202AD94
- push {r3-r5, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- sub r0, r4, #0x1
- cmp r0, #0x8
- blt _0202ADA4
- bl ErrorHandling
-_0202ADA4:
- sub r4, r4, #0x1
- lsl r0, r4, #0x2
- add r1, r5, r0
- mov r0, #0x1
- mov r2, #0x0
- lsl r0, r0, #0x8
- str r2, [r1, r0]
- add r0, #0x2e
- add r3, r5, r0
- lsl r0, r4, #0x6
- add r0, r4, r0
- lsl r2, r0, #0x2
- ldrh r1, [r3, r2]
- mov r0, #0x3
- bic r1, r0
- strh r1, [r3, r2]
- mov r0, #0x1
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0202ADC8
-FUN_0202ADC8: ; 0x0202ADC8
- push {r3-r5, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- cmp r4, #0x3
- blt _0202ADD6
- bl ErrorHandling
-_0202ADD6:
- lsl r0, r4, #0x2
- add r1, r5, r0
- mov r0, #0x12
- mov r2, #0x0
- lsl r0, r0, #0x4
- str r2, [r1, r0]
- add r0, r5, #0x0
- add r1, r4, #0x1
- bl FUN_0202AEC4
- mov r0, #0x1
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0202ADF0
-FUN_0202ADF0: ; 0x0202ADF0
- mov r1, #0x1
- mov r3, #0x0
- lsl r1, r1, #0x8
-_0202ADF6:
- ldr r2, [r0, r1]
- cmp r2, #0x0
- bne _0202AE00
- mov r0, #0x1
- bx lr
-_0202AE00:
- add r3, r3, #0x1
- add r0, r0, #0x4
- cmp r3, #0x8
- blt _0202ADF6
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_0202AE0C
-FUN_0202AE0C: ; 0x0202AE0C
- mov r1, #0x12
- mov r3, #0x0
- lsl r1, r1, #0x4
-_0202AE12:
- ldr r2, [r0, r1]
- cmp r2, #0x0
- bne _0202AE1C
- mov r0, #0x1
- bx lr
-_0202AE1C:
- add r3, r3, #0x1
- add r0, r0, #0x4
- cmp r3, #0x3
- blt _0202AE12
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_0202AE28
-FUN_0202AE28: ; 0x0202AE28
- push {r3-r5, lr}
- add r5, r1, #0x0
- add r4, r0, #0x0
- cmp r5, #0x8
- blt _0202AE36
- bl ErrorHandling
-_0202AE36:
- lsl r0, r5, #0x2
- add r1, r4, r0
- mov r0, #0x1
- lsl r0, r0, #0x8
- ldr r0, [r1, r0]
- cmp r0, #0x0
- bne _0202AE48
- mov r0, #0x0
- pop {r3-r5, pc}
-_0202AE48:
- mov r0, #0x1
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0202AE4C
-FUN_0202AE4C: ; 0x0202AE4C
- push {r3-r5, lr}
- add r5, r1, #0x0
- add r4, r0, #0x0
- cmp r5, #0x3
- blt _0202AE5A
- bl ErrorHandling
-_0202AE5A:
- lsl r0, r5, #0x2
- add r1, r4, r0
- mov r0, #0x12
- lsl r0, r0, #0x4
- ldr r0, [r1, r0]
- cmp r0, #0x0
- bne _0202AE6C
- mov r0, #0x0
- pop {r3-r5, pc}
-_0202AE6C:
- mov r0, #0x1
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0202AE70
-FUN_0202AE70: ; 0x0202AE70
- push {r3-r5, lr}
- add r5, r0, #0x0
- mov r4, #0x0
-_0202AE76:
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_0202AE4C
- cmp r0, #0x1
- bne _0202AE86
- mov r0, #0x1
- pop {r3-r5, pc}
-_0202AE86:
- add r4, r4, #0x1
- cmp r4, #0x3
- blt _0202AE76
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0202AE90
-FUN_0202AE90: ; 0x0202AE90
- push {r3-r4}
- cmp r1, #0x0
- beq _0202AEB8
- ldr r2, _0202AEC0 ; =0x0000012E
- mov r3, #0x0
- add r4, r0, r2
- add r0, r2, #0x0
- sub r0, #0x2a
-_0202AEA0:
- ldrh r2, [r4, #0x0]
- lsl r2, r2, #0x1e
- lsr r2, r2, #0x1e
- cmp r1, r2
- bne _0202AEB0
- mov r0, #0x1
- pop {r3-r4}
- bx lr
-_0202AEB0:
- add r3, r3, #0x1
- add r4, r4, r0
- cmp r3, #0x8
- blt _0202AEA0
-_0202AEB8:
- mov r0, #0x0
- pop {r3-r4}
- bx lr
- nop
-_0202AEC0: .word 0x0000012E
-
- thumb_func_start FUN_0202AEC4
-FUN_0202AEC4: ; 0x0202AEC4
- push {r3-r5, lr}
- cmp r1, #0x0
- beq _0202AEEE
- ldr r3, _0202AEF0 ; =0x0000012E
- mov r4, #0x41
- mov r2, #0x0
- add r3, r0, r3
- lsl r4, r4, #0x2
-_0202AED4:
- ldrh r5, [r3, #0x0]
- lsl r5, r5, #0x1e
- lsr r5, r5, #0x1e
- cmp r1, r5
- bne _0202AEE6
- add r1, r2, #0x1
- bl FUN_0202AD94
- pop {r3-r5, pc}
-_0202AEE6:
- add r2, r2, #0x1
- add r3, r3, r4
- cmp r2, #0x8
- blt _0202AED4
-_0202AEEE:
- pop {r3-r5, pc}
- .balign 4
-_0202AEF0: .word 0x0000012E
-
- thumb_func_start FUN_0202AEF4
-FUN_0202AEF4: ; 0x0202AEF4
- push {r3-r5, lr}
- add r5, r0, #0x0
- mov r0, #0x2
- add r4, r1, #0x0
- lsl r0, r0, #0xa
- cmp r4, r0
- blt _0202AF06
- bl ErrorHandling
-_0202AF06:
- mov r0, #0x1
- mov r1, #0x7
- add r2, r4, #0x0
- and r2, r1
- add r1, r0, #0x0
- lsl r1, r2
- asr r2, r4, #0x2
- lsr r2, r2, #0x1d
- add r2, r4, r2
- asr r2, r2, #0x3
- ldrb r2, [r5, r2]
- tst r1, r2
- bne _0202AF22
- mov r0, #0x0
-_0202AF22:
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0202AF24
-FUN_0202AF24: ; 0x0202AF24
- push {r3-r5, lr}
- add r5, r0, #0x0
- mov r0, #0x2
- add r4, r1, #0x0
- lsl r0, r0, #0xa
- cmp r4, r0
- blt _0202AF36
- bl ErrorHandling
-_0202AF36:
- asr r0, r4, #0x2
- lsr r0, r0, #0x1d
- add r0, r4, r0
- asr r0, r0, #0x3
- mov r1, #0x7
- ldrb r3, [r5, r0]
- mov r2, #0x1
- and r1, r4
- lsl r2, r1
- add r1, r3, #0x0
- orr r1, r2
- strb r1, [r5, r0]
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0202AF50
-FUN_0202AF50: ; 0x0202AF50
- ldr r3, _0202AF58 ; =FUN_0202AEF4
- ldr r1, _0202AF5C ; =0x000007FF
- bx r3
- nop
-_0202AF58: .word FUN_0202AEF4
-_0202AF5C: .word 0x000007FF
-
- thumb_func_start FUN_0202AF60
-FUN_0202AF60: ; 0x0202AF60
- ldr r3, _0202AF68 ; =FUN_0202AF24
- ldr r1, _0202AF6C ; =0x000007FF
- bx r3
- nop
-_0202AF68: .word FUN_0202AF24
-_0202AF6C: .word 0x000007FF
-
- thumb_func_start FUN_0202AF70
-FUN_0202AF70: ; 0x0202AF70
- push {r3, lr}
- ldr r1, _0202AF84 ; =0x021C59D4
- ldr r1, [r1, #0x0]
- cmp r1, #0x0
- bne _0202AF82
- bl FUN_0202251C
- ldr r1, _0202AF84 ; =0x021C59D4
- str r0, [r1, #0x0]
-_0202AF82:
- pop {r3, pc}
- .balign 4
-_0202AF84: .word 0x021C59D4
-
- thumb_func_start FUN_0202AF88
-FUN_0202AF88: ; 0x0202AF88
- ldr r0, _0202AF98 ; =0x021C59D4
- ldr r1, [r0, #0x0]
- cmp r1, #0x0
- beq _0202AF94
- mov r1, #0x0
- str r1, [r0, #0x0]
-_0202AF94:
- bx lr
- nop
-_0202AF98: .word 0x021C59D4
-
- thumb_func_start FUN_0202AF9C
-FUN_0202AF9C: ; 0x0202AF9C
- push {r3-r5, lr}
- ldr r4, _0202AFBC ; =0x021C59D4
- mov r5, #0x0
-_0202AFA2:
- ldr r0, [r4, #0x0]
- add r1, r5, #0x0
- bl FUN_0202AE28
- cmp r0, #0x1
- bne _0202AFB2
- add r0, r5, #0x1
- pop {r3-r5, pc}
-_0202AFB2:
- add r5, r5, #0x1
- cmp r5, #0x8
- blt _0202AFA2
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-_0202AFBC: .word 0x021C59D4
-
- thumb_func_start FUN_0202AFC0
-FUN_0202AFC0: ; 0x0202AFC0
- push {r4, lr}
- add r4, r0, #0x0
- bne _0202AFCA
- mov r0, #0x0
- pop {r4, pc}
-_0202AFCA:
- sub r0, r4, #0x1
- cmp r0, #0x8
- blt _0202AFD4
- bl ErrorHandling
-_0202AFD4:
- ldr r0, _0202AFF8 ; =0x021C59D4
- sub r1, r4, #0x1
- ldr r0, [r0, #0x0]
- bl FUN_0202AE28
- cmp r0, #0x1
- bne _0202AFF4
- ldr r0, _0202AFF8 ; =0x021C59D4
- sub r1, r4, #0x1
- ldr r0, [r0, #0x0]
- bl FUN_0202AC2C
- cmp r0, #0x0
- beq _0202AFF4
- ldrh r0, [r0, #0x0]
- pop {r4, pc}
-_0202AFF4:
- mov r0, #0x0
- pop {r4, pc}
- .balign 4
-_0202AFF8: .word 0x021C59D4
-
- thumb_func_start FUN_0202AFFC
-FUN_0202AFFC: ; 0x0202AFFC
- cmp r0, #0x0
- beq _0202B016
- ldr r1, _0202B01C ; =0x021C59D4
- ldr r2, [r1, #0x0]
- mov r1, #0x13
- lsl r1, r1, #0x4
- add r2, r2, r1
- sub r1, r0, #0x1
- lsl r0, r1, #0x6
- add r0, r1, r0
- lsl r0, r0, #0x2
- add r0, r2, r0
- bx lr
-_0202B016:
- mov r0, #0x0
- bx lr
- nop
-_0202B01C: .word 0x021C59D4
-
- thumb_func_start FUN_0202B020
-FUN_0202B020: ; 0x0202B020
- add r1, r0, #0x0
- ldr r0, _0202B02C ; =0x021C59D4
- ldr r3, _0202B030 ; =FUN_0202AD94
- ldr r0, [r0, #0x0]
- bx r3
- nop
-_0202B02C: .word 0x021C59D4
-_0202B030: .word FUN_0202AD94
-
- thumb_func_start FUN_0202B034
-FUN_0202B034: ; 0x0202B034
- ldr r0, _0202B038 ; =0x00002AB0
- bx lr
- .balign 4
-_0202B038: .word 0x00002AB0
-
- thumb_func_start FUN_0202B03C
-FUN_0202B03C: ; 0x0202B03C
- ldr r3, _0202B048 ; =MIi_CpuClear32
- add r1, r0, #0x0
- mov r0, #0x0
- ldr r2, _0202B04C ; =0x00002AB0
- bx r3
- nop
-_0202B048: .word MIi_CpuClear32
-_0202B04C: .word 0x00002AB0
-
- thumb_func_start FUN_0202B050
-FUN_0202B050: ; 0x0202B050
- push {r3-r7, lr}
- sub sp, #0x18
- str r0, [sp, #0x0]
- str r1, [sp, #0x4]
- str r2, [sp, #0x8]
- cmp r0, #0x0
- bne _0202B062
- bl ErrorHandling
-_0202B062:
- ldr r1, _0202B1E0 ; =0x00002AA8
- ldr r0, [sp, #0x0]
- ldr r0, [r0, r1]
- cmp r0, #0x1e
- blo _0202B070
- bl ErrorHandling
-_0202B070:
- ldr r1, _0202B1E4 ; =0x00002AAC
- ldr r0, [sp, #0x0]
- ldr r2, [r0, r1]
- ldr r0, _0202B1E8 ; =0x0000270F
- cmp r2, r0
- blo _0202B07E
- b _0202B1DC
-_0202B07E:
- ldr r0, [sp, #0x0]
- sub r1, r1, #0x4
- ldr r1, [r0, r1]
- mov r0, #0x5b
- lsl r0, r0, #0x2
- add r2, r1, #0x0
- mul r2, r0
- ldr r0, [sp, #0x0]
- add r0, r0, r2
- str r0, [sp, #0x14]
- ldr r0, [sp, #0x4]
- bl FUN_0206B9AC
- str r0, [sp, #0x10]
- mov r0, #0xb
- mov r1, #0x0
- bl FUN_020219F4
- mov r2, #0x5a
- add r6, r0, #0x0
- ldr r1, [sp, #0x14]
- mov r0, #0x0
- lsl r2, r2, #0x2
- blx MIi_CpuClear16
- ldr r0, [sp, #0x10]
- mov r7, #0x0
- cmp r0, #0x0
- ble _0202B18E
- ldr r5, [sp, #0x14]
-_0202B0BA:
- ldr r0, [sp, #0x4]
- add r1, r7, #0x0
- bl FUN_0206B9B0
- add r4, r0, #0x0
- bl FUN_020669D4
- str r0, [sp, #0xc]
- add r0, r4, #0x0
- mov r1, #0x4c
- mov r2, #0x0
- bl FUN_020671BC
- cmp r0, #0x0
- bne _0202B17E
- add r0, r4, #0x0
- mov r1, #0x5
- mov r2, #0x0
- bl FUN_020671BC
- strh r0, [r5, #0x0]
- add r0, r4, #0x0
- mov r1, #0xa0
- mov r2, #0x0
- bl FUN_020671BC
- strb r0, [r5, #0x2]
- add r0, r4, #0x0
- mov r1, #0x70
- mov r2, #0x0
- bl FUN_020671BC
- mov r1, #0x0
- strb r0, [r5, #0x3]
- add r0, r4, #0x0
- add r2, r1, #0x0
- bl FUN_020671BC
- str r0, [r5, #0x4]
- add r0, r4, #0x0
- mov r1, #0x7
- mov r2, #0x0
- bl FUN_020671BC
- str r0, [r5, #0x8]
- add r0, r4, #0x0
- mov r1, #0x36
- mov r2, #0x0
- bl FUN_020671BC
- strh r0, [r5, #0x32]
- add r0, r4, #0x0
- mov r1, #0x37
- mov r2, #0x0
- bl FUN_020671BC
- strh r0, [r5, #0x34]
- add r0, r4, #0x0
- mov r1, #0x38
- mov r2, #0x0
- bl FUN_020671BC
- strh r0, [r5, #0x36]
- add r0, r4, #0x0
- mov r1, #0x39
- mov r2, #0x0
- bl FUN_020671BC
- strh r0, [r5, #0x38]
- cmp r6, #0x0
- beq _0202B176
- add r0, r4, #0x0
- mov r1, #0x76
- add r2, r6, #0x0
- bl FUN_020671BC
- add r1, r5, #0x0
- add r0, r6, #0x0
- add r1, #0xc
- mov r2, #0xb
- bl FUN_02021EF0
- add r0, r4, #0x0
- mov r1, #0x90
- add r2, r6, #0x0
- bl FUN_020671BC
- add r1, r5, #0x0
- add r0, r6, #0x0
- add r1, #0x22
- mov r2, #0x8
- bl FUN_02021EF0
- b _0202B17C
-_0202B176:
- ldr r0, _0202B1EC ; =0x0000FFFF
- strh r0, [r5, #0xc]
- strh r0, [r5, #0x22]
-_0202B17C:
- add r5, #0x3c
-_0202B17E:
- ldr r1, [sp, #0xc]
- add r0, r4, #0x0
- bl FUN_02066A20
- ldr r0, [sp, #0x10]
- add r7, r7, #0x1
- cmp r7, r0
- blt _0202B0BA
-_0202B18E:
- ldr r0, [sp, #0x8]
- mov r1, #0x5a
- ldr r2, [r0, #0x0]
- ldr r0, [sp, #0x14]
- lsl r1, r1, #0x2
- strh r2, [r0, r1]
- ldr r0, [sp, #0x8]
- add r2, r1, #0x2
- ldr r3, [r0, #0x4]
- ldr r0, [sp, #0x14]
- add r1, r1, #0x3
- strb r3, [r0, r2]
- ldr r0, [sp, #0x8]
- ldr r2, [r0, #0x8]
- ldr r0, [sp, #0x14]
- strb r2, [r0, r1]
- ldr r1, _0202B1E0 ; =0x00002AA8
- ldr r0, [sp, #0x0]
- ldr r0, [r0, r1]
- add r2, r0, #0x1
- ldr r0, [sp, #0x0]
- str r2, [r0, r1]
- ldr r0, [r0, r1]
- cmp r0, #0x1e
- blo _0202B1C6
- ldr r0, [sp, #0x0]
- mov r2, #0x0
- str r2, [r0, r1]
-_0202B1C6:
- ldr r1, _0202B1E4 ; =0x00002AAC
- ldr r0, [sp, #0x0]
- ldr r0, [r0, r1]
- add r2, r0, #0x1
- ldr r0, [sp, #0x0]
- cmp r6, #0x0
- str r2, [r0, r1]
- beq _0202B1DC
- add r0, r6, #0x0
- bl FUN_02021A20
-_0202B1DC:
- add sp, #0x18
- pop {r3-r7, pc}
- .balign 4
-_0202B1E0: .word 0x00002AA8
-_0202B1E4: .word 0x00002AAC
-_0202B1E8: .word 0x0000270F
-_0202B1EC: .word 0x0000FFFF
-
- thumb_func_start FUN_0202B1F0
-FUN_0202B1F0: ; 0x0202B1F0
- push {r4, lr}
- add r4, r0, #0x0
- bne _0202B1FA
- bl ErrorHandling
-_0202B1FA:
- ldr r0, _0202B214 ; =0x00002AA8
- ldr r0, [r4, r0]
- cmp r0, #0x1e
- blo _0202B206
- bl ErrorHandling
-_0202B206:
- ldr r0, _0202B218 ; =0x00002AAC
- ldr r0, [r4, r0]
- cmp r0, #0x1e
- blo _0202B210
- mov r0, #0x1e
-_0202B210:
- pop {r4, pc}
- nop
-_0202B214: .word 0x00002AA8
-_0202B218: .word 0x00002AAC
-
- thumb_func_start FUN_0202B21C
-FUN_0202B21C: ; 0x0202B21C
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- cmp r5, #0x0
- bne _0202B22A
- bl ErrorHandling
-_0202B22A:
- ldr r0, _0202B248 ; =0x00002AA8
- ldr r0, [r5, r0]
- cmp r0, #0x1e
- blo _0202B236
- bl ErrorHandling
-_0202B236:
- cmp r4, #0x1e
- blt _0202B23E
- bl ErrorHandling
-_0202B23E:
- ldr r0, _0202B24C ; =0x00002AAC
- ldr r0, [r5, r0]
- sub r0, r0, r4
- pop {r3-r5, pc}
- nop
-_0202B248: .word 0x00002AA8
-_0202B24C: .word 0x00002AAC
-
- thumb_func_start FUN_0202B250
-FUN_0202B250: ; 0x0202B250
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- cmp r5, #0x0
- bne _0202B25E
- bl ErrorHandling
-_0202B25E:
- ldr r0, _0202B298 ; =0x00002AA8
- ldr r0, [r5, r0]
- cmp r0, #0x1e
- blo _0202B26A
- bl ErrorHandling
-_0202B26A:
- cmp r4, #0x1e
- blt _0202B272
- bl ErrorHandling
-_0202B272:
- ldr r0, _0202B298 ; =0x00002AA8
- ldr r0, [r5, r0]
- sub r0, r0, #0x1
- sub r2, r0, r4
- bpl _0202B27E
- add r2, #0x1e
-_0202B27E:
- mov r1, #0x5b
- lsl r1, r1, #0x2
- mul r1, r2
- mov r0, #0x0
- add r2, r5, r1
-_0202B288:
- ldrh r1, [r2, #0x0]
- cmp r1, #0x0
- beq _0202B296
- add r0, r0, #0x1
- add r2, #0x3c
- cmp r0, #0x6
- blo _0202B288
-_0202B296:
- pop {r3-r5, pc}
- .balign 4
-_0202B298: .word 0x00002AA8
-
- thumb_func_start FUN_0202B29C
-FUN_0202B29C: ; 0x0202B29C
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r6, r1, #0x0
- add r7, r2, #0x0
- add r4, r3, #0x0
- cmp r5, #0x0
- bne _0202B2AE
- bl ErrorHandling
-_0202B2AE:
- ldr r0, _0202B318 ; =0x00002AA8
- ldr r0, [r5, r0]
- cmp r0, #0x1e
- blo _0202B2BA
- bl ErrorHandling
-_0202B2BA:
- cmp r6, #0x1e
- blt _0202B2C2
- bl ErrorHandling
-_0202B2C2:
- ldr r0, _0202B318 ; =0x00002AA8
- ldr r0, [r5, r0]
- sub r0, r0, #0x1
- sub r1, r0, r6
- bpl _0202B2CE
- add r1, #0x1e
-_0202B2CE:
- mov r0, #0x5b
- lsl r0, r0, #0x2
- mul r0, r1
- add r1, r5, r0
- mov r0, #0x3c
- mul r0, r7
- add r5, r1, r0
- ldrh r0, [r1, r0]
- add r1, r5, #0x0
- add r1, #0xc
- strh r0, [r4, #0x10]
- ldrb r0, [r5, #0x2]
- strb r0, [r4, #0x12]
- ldr r0, [r5, #0x4]
- str r0, [r4, #0x8]
- ldr r0, [r5, #0x8]
- str r0, [r4, #0xc]
- ldrb r0, [r5, #0x3]
- strb r0, [r4, #0x13]
- ldr r0, [r4, #0x0]
- bl FUN_02021E28
- add r1, r5, #0x0
- ldr r0, [r4, #0x4]
- add r1, #0x22
- bl FUN_02021E28
- mov r1, #0x0
-_0202B306:
- ldrh r0, [r5, #0x32]
- add r1, r1, #0x1
- add r5, r5, #0x2
- strh r0, [r4, #0x14]
- add r4, r4, #0x2
- cmp r1, #0x4
- blt _0202B306
- pop {r3-r7, pc}
- nop
-_0202B318: .word 0x00002AA8
-
- thumb_func_start FUN_0202B31C
-FUN_0202B31C: ; 0x0202B31C
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r6, r1, #0x0
- add r4, r2, #0x0
- cmp r5, #0x0
- bne _0202B32C
- bl ErrorHandling
-_0202B32C:
- ldr r0, _0202B370 ; =0x00002AA8
- ldr r0, [r5, r0]
- cmp r0, #0x1e
- blo _0202B338
- bl ErrorHandling
-_0202B338:
- cmp r6, #0x1e
- blt _0202B340
- bl ErrorHandling
-_0202B340:
- ldr r0, _0202B370 ; =0x00002AA8
- ldr r0, [r5, r0]
- sub r0, r0, #0x1
- sub r2, r0, r6
- bpl _0202B34C
- add r2, #0x1e
-_0202B34C:
- mov r0, #0x5b
- lsl r0, r0, #0x2
- add r1, r2, #0x0
- mul r1, r0
- add r2, r5, r1
- sub r1, r0, #0x4
- ldrh r1, [r2, r1]
- str r1, [r4, #0x0]
- sub r1, r0, #0x2
- ldrb r1, [r2, r1]
- sub r0, r0, #0x1
- str r1, [r4, #0x4]
- ldrb r0, [r2, r0]
- str r0, [r4, #0x8]
- mov r0, #0x0
- str r0, [r4, #0xc]
- pop {r4-r6, pc}
- nop
-_0202B370: .word 0x00002AA8
-
- thumb_func_start FUN_0202B374
-FUN_0202B374: ; 0x0202B374
- ldr r0, _0202B378 ; =0x00000B88
- bx lr
- .balign 4
-_0202B378: .word 0x00000B88
-
- thumb_func_start FUN_0202B37C
-FUN_0202B37C: ; 0x0202B37C
- ldr r3, _0202B388 ; =MIi_CpuClearFast
- add r1, r0, #0x0
- mov r0, #0x0
- ldr r2, _0202B38C ; =0x00000B88
- bx r3
- nop
-_0202B388: .word MIi_CpuClearFast
-_0202B38C: .word 0x00000B88
-
- thumb_func_start FUN_0202B390
-FUN_0202B390: ; 0x0202B390
- push {r4, lr}
- add r4, r0, #0x0
- add r1, r4, #0x0
- mov r0, #0x0
- add r1, #0xc
- mov r2, #0xc0
- blx MIi_CpuClearFast
- add r1, r4, #0x0
- mov r0, #0x0
- add r1, #0xcc
- mov r2, #0xc0
- blx MIi_CpuClearFast
- mov r1, #0x63
- lsl r1, r1, #0x2
- mov r0, #0x0
- add r1, r4, r1
- mov r2, #0xc0
- blx MIi_CpuClearFast
- add r0, r4, #0x0
- bl FUN_0202B3F8
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0202B3C4
-FUN_0202B3C4: ; 0x0202B3C4
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x4]
- cmp r0, r1
- ble _0202B3D4
- sub r0, r0, r1
- str r0, [r4, #0x4]
- pop {r4, pc}
-_0202B3D4:
- add r0, r2, #0x0
- mov r1, #0xf
- blx _s32_div_f
- mov r0, #0xf
- sub r1, r0, r1
- str r1, [r4, #0x4]
- bne _0202B3E6
- str r0, [r4, #0x4]
-_0202B3E6:
- mov r1, #0x0
- strb r1, [r4, #0x8]
- add r0, r1, #0x0
-_0202B3EC:
- strb r0, [r4, r1]
- add r1, r1, #0x1
- cmp r1, #0x4
- blt _0202B3EC
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0202B3F8
-FUN_0202B3F8: ; 0x0202B3F8
- push {r4, lr}
- add r4, r0, #0x0
- mov r1, #0x0
- bl FUN_0202B40C
- add r0, r4, #0x0
- bl FUN_0202B430
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0202B40C
-FUN_0202B40C: ; 0x0202B40C
- strb r1, [r0, #0x8]
- bx lr
-
- thumb_func_start FUN_0202B410
-FUN_0202B410: ; 0x0202B410
- ldrb r0, [r0, #0x8]
- bx lr
-
- thumb_func_start FUN_0202B414
-FUN_0202B414: ; 0x0202B414
- push {r3, lr}
- mov r3, #0x0
-_0202B418:
- ldrb r2, [r0, r3]
- cmp r2, #0x0
- bne _0202B422
- strb r1, [r0, r3]
- pop {r3, pc}
-_0202B422:
- add r3, r3, #0x1
- cmp r3, #0x4
- blt _0202B418
- bl ErrorHandling
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0202B430
-FUN_0202B430: ; 0x0202B430
- mov r2, #0x0
- add r1, r2, #0x0
-_0202B434:
- strb r1, [r0, r2]
- add r2, r2, #0x1
- cmp r2, #0x4
- blt _0202B434
- bx lr
- .balign 4
-
- thumb_func_start FUN_0202B440
-FUN_0202B440: ; 0x0202B440
- mov r3, #0x0
-_0202B442:
- ldrb r2, [r0, r3]
- cmp r1, r2
- bne _0202B44C
- mov r0, #0x1
- bx lr
-_0202B44C:
- add r3, r3, #0x1
- cmp r3, #0x4
- blt _0202B442
- mov r0, #0x0
- bx lr
- .balign 4
-
- thumb_func_start FUN_0202B458
-FUN_0202B458: ; 0x0202B458
- mov r2, #0x0
- add r3, r2, #0x0
-_0202B45C:
- ldrb r1, [r0, r2]
- cmp r1, #0x0
- beq _0202B464
- add r3, r3, #0x1
-_0202B464:
- add r2, r2, #0x1
- cmp r2, #0x4
- blt _0202B45C
- add r0, r3, #0x0
- bx lr
- .balign 4
-
- thumb_func_start FUN_0202B470
-FUN_0202B470: ; 0x0202B470
- push {r4-r6, lr}
- sub sp, #0x10
- add r5, r0, #0x0
- add r0, sp, #0x0
- add r4, r1, #0x0
- add r6, r2, #0x0
- bl FUN_020126B4
- ldr r0, [sp, #0x8]
- ldr r3, [sp, #0x4]
- lsl r0, r0, #0x18
- lsr r1, r0, #0x10
- ldr r0, [sp, #0x0]
- lsl r3, r3, #0x18
- lsl r0, r0, #0x18
- lsr r3, r3, #0x8
- orr r0, r3
- ldr r2, [sp, #0xc]
- orr r0, r1
- orr r0, r2
- str r0, [r5, #0x4]
- strb r4, [r5, #0x0]
- mov r0, #0x0
- strb r0, [r5, #0x1]
- add r5, #0x8
- add r0, r6, #0x0
- add r1, r5, #0x0
- mov r2, #0x28
- blx MIi_CpuCopyFast
- add sp, #0x10
- pop {r4-r6, pc}
-
- thumb_func_start FUN_0202B4B0
-FUN_0202B4B0: ; 0x0202B4B0
- push {r3-r5, lr}
- add r5, r2, #0x0
- add r4, r3, #0x0
- bl FUN_0202B548
- mov r2, #0x0
- add r3, r0, #0x0
-_0202B4BE:
- ldrb r1, [r3, #0x0]
- cmp r5, r1
- bne _0202B4E0
- mov r1, #0x30
- mul r1, r2
- add r0, r0, r1
- ldrb r1, [r0, #0x1]
- cmp r1, #0x3
- blo _0202B4DC
- add r1, r5, #0x0
- add r2, r4, #0x0
- bl FUN_0202B470
- mov r0, #0x1
- pop {r3-r5, pc}
-_0202B4DC:
- mov r0, #0x0
- pop {r3-r5, pc}
-_0202B4E0:
- add r2, r2, #0x1
- add r3, #0x30
- cmp r2, #0x4
- blt _0202B4BE
- mov r1, #0x0
- add r3, r0, #0x0
-_0202B4EC:
- ldrb r2, [r3, #0x0]
- cmp r2, #0x0
- bne _0202B504
- mov r2, #0x30
- mul r2, r1
- add r0, r0, r2
- add r1, r5, #0x0
- add r2, r4, #0x0
- bl FUN_0202B470
- mov r0, #0x1
- pop {r3-r5, pc}
-_0202B504:
- add r1, r1, #0x1
- add r3, #0x30
- cmp r1, #0x4
- blt _0202B4EC
- mov r1, #0x0
- add r3, r0, #0x0
-_0202B510:
- ldrb r2, [r3, #0x1]
- cmp r2, #0x3
- blo _0202B528
- mov r2, #0x30
- mul r2, r1
- add r0, r0, r2
- add r1, r5, #0x0
- add r2, r4, #0x0
- bl FUN_0202B470
- mov r0, #0x1
- pop {r3-r5, pc}
-_0202B528:
- add r1, r1, #0x1
- add r3, #0x30
- cmp r1, #0x4
- blt _0202B510
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0202B534
-FUN_0202B534: ; 0x0202B534
- add r0, #0x8
- bx lr
-
- thumb_func_start FUN_0202B538
-FUN_0202B538: ; 0x0202B538
- ldrb r0, [r0, #0x6]
- bx lr
-
- thumb_func_start FUN_0202B53C
-FUN_0202B53C: ; 0x0202B53C
- ldrb r0, [r0, #0x5]
- bx lr
-
- thumb_func_start FUN_0202B540
-FUN_0202B540: ; 0x0202B540
- add r0, #0x18
- bx lr
-
- thumb_func_start FUN_0202B544
-FUN_0202B544: ; 0x0202B544
- bx lr
- .balign 4
-
- thumb_func_start FUN_0202B548
-FUN_0202B548: ; 0x0202B548
- push {r4, lr}
- mov r4, #0x0
- cmp r1, #0x4
- bhi _0202B57E
- add r1, r1, r1
- add r1, pc
- ldrh r1, [r1, #0x6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_0202B55C: ; jump table (using 16-bit offset)
- .short _0202B57E - _0202B55C - 2; case 0
- .short _0202B566 - _0202B55C - 2; case 1
- .short _0202B56E - _0202B55C - 2; case 2
- .short _0202B574 - _0202B55C - 2; case 3
- .short _0202B57A - _0202B55C - 2; case 4
-_0202B566:
- mov r1, #0x63
- lsl r1, r1, #0x2
- add r4, r0, r1
- b _0202B57E
-_0202B56E:
- add r4, r0, #0x0
- add r4, #0xc
- b _0202B57E
-_0202B574:
- add r4, r0, #0x0
- add r4, #0xcc
- b _0202B57E
-_0202B57A:
- bl ErrorHandling
-_0202B57E:
- add r0, r4, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0202B584
-FUN_0202B584: ; 0x0202B584
- push {r4, lr}
- mov r4, #0x0
- cmp r1, #0x4
- bhi _0202B5BA
- add r1, r1, r1
- add r1, pc
- ldrh r1, [r1, #0x6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_0202B598: ; jump table (using 16-bit offset)
- .short _0202B5BA - _0202B598 - 2; case 0
- .short _0202B5B0 - _0202B598 - 2; case 1
- .short _0202B5A2 - _0202B598 - 2; case 2
- .short _0202B5AA - _0202B598 - 2; case 3
- .short _0202B5B6 - _0202B598 - 2; case 4
-_0202B5A2:
- mov r1, #0x93
- lsl r1, r1, #0x2
- add r4, r0, r1
- b _0202B5BA
-_0202B5AA:
- ldr r1, _0202B5C0 ; =0x000006CC
- add r4, r0, r1
- b _0202B5BA
-_0202B5B0:
- ldr r1, _0202B5C4 ; =0x0000090C
- add r4, r0, r1
- b _0202B5BA
-_0202B5B6:
- bl ErrorHandling
-_0202B5BA:
- add r0, r4, #0x0
- pop {r4, pc}
- nop
-_0202B5C0: .word 0x000006CC
-_0202B5C4: .word 0x0000090C
-
- thumb_func_start FUN_0202B5C8
-FUN_0202B5C8: ; 0x0202B5C8
- ldrb r0, [r0, #0x0]
- bx lr
-
- thumb_func_start FUN_0202B5CC
-FUN_0202B5CC: ; 0x0202B5CC
- ldrb r1, [r0, #0x1]
- cmp r1, #0x3
- bhs _0202B5D6
- add r1, r1, #0x1
- strb r1, [r0, #0x1]
-_0202B5D6:
- bx lr
-
- thumb_func_start FUN_0202B5D8
-FUN_0202B5D8: ; 0x0202B5D8
- add r0, #0x8
- bx lr
-
- thumb_func_start FUN_0202B5DC
-FUN_0202B5DC: ; 0x0202B5DC
- push {r4-r7}
- mov r5, #0x0
- add r4, r5, #0x0
- ldr r6, [sp, #0x10]
- cmp r1, #0x0
- ble _0202B616
-_0202B5E8:
- ldrb r7, [r0, #0x0]
- cmp r2, r7
- bne _0202B60E
- ldrb r7, [r0, #0x1]
- cmp r3, #0x0
- beq _0202B600
- cmp r7, #0x0
- beq _0202B600
- add r7, r4, #0x1
- strb r7, [r6, r5]
- add r5, r5, #0x1
- b _0202B60E
-_0202B600:
- cmp r3, #0x0
- bne _0202B60E
- cmp r7, #0x0
- bne _0202B60E
- add r7, r4, #0x1
- strb r7, [r6, r5]
- add r5, r5, #0x1
-_0202B60E:
- add r4, r4, #0x1
- add r0, #0x30
- cmp r4, r1
- blt _0202B5E8
-_0202B616:
- add r0, r5, #0x0
- pop {r4-r7}
- bx lr
-
- thumb_func_start FUN_0202B61C
-FUN_0202B61C: ; 0x0202B61C
- push {r4-r7, lr}
- sub sp, #0xc
- add r6, r0, #0x0
- mov r5, #0x0
- add r0, r1, #0x0
- add r4, r5, #0x0
- str r1, [sp, #0x0]
- str r2, [sp, #0x4]
- str r3, [sp, #0x8]
- ldr r7, [sp, #0x20]
- cmp r0, #0x0
- ble _0202B672
-_0202B634:
- ldrb r2, [r6, #0x18]
- ldr r1, [sp, #0x4]
- ldrb r0, [r6, #0x19]
- cmp r1, r2
- bne _0202B668
- ldr r1, [sp, #0x8]
- cmp r1, #0x0
- beq _0202B654
- cmp r0, #0x0
- beq _0202B654
- add r0, r4, #0x1
- bl FUN_0202B830
- strb r0, [r7, r5]
- add r5, r5, #0x1
- b _0202B668
-_0202B654:
- ldr r1, [sp, #0x8]
- cmp r1, #0x0
- bne _0202B668
- cmp r0, #0x0
- bne _0202B668
- add r0, r4, #0x1
- bl FUN_0202B830
- strb r0, [r7, r5]
- add r5, r5, #0x1
-_0202B668:
- ldr r0, [sp, #0x0]
- add r4, r4, #0x1
- add r6, #0x48
- cmp r4, r0
- blt _0202B634
-_0202B672:
- add r0, r5, #0x0
- add sp, #0xc
- pop {r4-r7, pc}
-
- thumb_func_start FUN_0202B678
-FUN_0202B678: ; 0x0202B678
- push {r3-r5, lr}
- ldr r5, [sp, #0x10]
- ldr r4, [sp, #0x14]
- cmp r1, #0x4
- bhi _0202B702
- add r1, r1, r1
- add r1, pc
- ldrh r1, [r1, #0x6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_0202B68E: ; jump table (using 16-bit offset)
- .short _0202B702 - _0202B68E - 2; case 0
- .short _0202B6DA - _0202B68E - 2; case 1
- .short _0202B698 - _0202B68E - 2; case 2
- .short _0202B6BA - _0202B68E - 2; case 3
- .short _0202B6FE - _0202B68E - 2; case 4
-_0202B698:
- cmp r3, #0x0
- str r4, [sp, #0x0]
- beq _0202B6AA
- add r0, #0xc
- mov r1, #0x4
- add r3, r5, #0x0
- bl FUN_0202B5DC
- pop {r3-r5, pc}
-_0202B6AA:
- mov r1, #0x93
- lsl r1, r1, #0x2
- add r0, r0, r1
- mov r1, #0x10
- add r3, r5, #0x0
- bl FUN_0202B61C
- pop {r3-r5, pc}
-_0202B6BA:
- cmp r3, #0x0
- str r4, [sp, #0x0]
- beq _0202B6CC
- add r0, #0xcc
- mov r1, #0x4
- add r3, r5, #0x0
- bl FUN_0202B5DC
- pop {r3-r5, pc}
-_0202B6CC:
- ldr r1, _0202B708 ; =0x000006CC
- add r3, r5, #0x0
- add r0, r0, r1
- mov r1, #0x8
- bl FUN_0202B61C
- pop {r3-r5, pc}
-_0202B6DA:
- cmp r3, #0x0
- str r4, [sp, #0x0]
- beq _0202B6F0
- mov r1, #0x63
- lsl r1, r1, #0x2
- add r0, r0, r1
- mov r1, #0x4
- add r3, r5, #0x0
- bl FUN_0202B5DC
- pop {r3-r5, pc}
-_0202B6F0:
- ldr r1, _0202B70C ; =0x0000090C
- add r3, r5, #0x0
- add r0, r0, r1
- mov r1, #0x8
- bl FUN_0202B61C
- pop {r3-r5, pc}
-_0202B6FE:
- mov r0, #0x0
- pop {r3-r5, pc}
-_0202B702:
- mov r0, #0x0
- pop {r3-r5, pc}
- nop
-_0202B708: .word 0x000006CC
-_0202B70C: .word 0x0000090C
-
- thumb_func_start FUN_0202B710
-FUN_0202B710: ; 0x0202B710
- push {r4-r7, lr}
- sub sp, #0xc
- add r4, r0, #0x0
- add r6, r1, #0x0
- add r5, r2, #0x0
- add r0, sp, #0x8
- mov r1, #0x0
- mov r2, #0x4
- blx MI_CpuFill8
- mov r0, #0x0
- str r0, [sp, #0x0]
- add r0, sp, #0x8
- str r0, [sp, #0x4]
- add r0, r4, #0x0
- add r1, r6, #0x0
- add r2, r5, #0x0
- mov r3, #0x1
- bl FUN_0202B678
- cmp r0, #0x0
- beq _0202B742
- add sp, #0xc
- mov r0, #0x0
- pop {r4-r7, pc}
-_0202B742:
- mov r3, #0x1
- str r3, [sp, #0x0]
- add r0, sp, #0x8
- str r0, [sp, #0x4]
- add r0, r4, #0x0
- add r1, r6, #0x0
- add r2, r5, #0x0
- bl FUN_0202B678
- cmp r0, #0x0
- beq _0202B79E
- add r0, sp, #0x8
- ldrb r0, [r0, #0x0]
- mov r7, #0x0
- cmp r0, #0x0
- beq _0202B798
- add r5, sp, #0x8
-_0202B764:
- ldrb r2, [r5, #0x0]
- add r0, r4, #0x0
- add r1, r6, #0x0
- bl FUN_0202B7C8
- ldrb r0, [r0, #0x1]
- cmp r0, #0x3
- blo _0202B77A
- add sp, #0xc
- mov r0, #0x1
- pop {r4-r7, pc}
-_0202B77A:
- add r7, r7, #0x1
- add r5, r5, #0x1
- cmp r7, #0x4
- bge _0202B786
- mov r1, #0x1
- b _0202B788
-_0202B786:
- mov r1, #0x0
-_0202B788:
- ldrb r0, [r5, #0x0]
- cmp r0, #0x0
- beq _0202B792
- mov r0, #0x1
- b _0202B794
-_0202B792:
- mov r0, #0x0
-_0202B794:
- tst r0, r1
- bne _0202B764
-_0202B798:
- add sp, #0xc
- mov r0, #0x0
- pop {r4-r7, pc}
-_0202B79E:
- mov r5, #0x1
-_0202B7A0:
- add r0, r4, #0x0
- add r1, r6, #0x0
- add r2, r5, #0x0
- bl FUN_0202B7C8
- ldrb r1, [r0, #0x0]
- cmp r1, #0x0
- beq _0202B7B6
- ldrb r0, [r0, #0x1]
- cmp r0, #0x3
- blo _0202B7BC
-_0202B7B6:
- add sp, #0xc
- mov r0, #0x1
- pop {r4-r7, pc}
-_0202B7BC:
- add r5, r5, #0x1
- cmp r5, #0x4
- ble _0202B7A0
- mov r0, #0x0
- add sp, #0xc
- pop {r4-r7, pc}
-
- thumb_func_start FUN_0202B7C8
-FUN_0202B7C8: ; 0x0202B7C8
- push {r4-r6, lr}
- add r4, r2, #0x0
- add r5, r0, #0x0
- add r0, r4, #0x0
- add r6, r1, #0x0
- bl FUN_0202B820
- cmp r0, #0x1
- beq _0202B7DE
- bl ErrorHandling
-_0202B7DE:
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_0202B548
- mov r1, #0x80
- bic r4, r1
- sub r2, r4, #0x1
- mov r1, #0x30
- mul r1, r2
- add r0, r0, r1
- pop {r4-r6, pc}
-
- thumb_func_start FUN_0202B7F4
-FUN_0202B7F4: ; 0x0202B7F4
- push {r4-r6, lr}
- add r4, r2, #0x0
- add r5, r0, #0x0
- add r0, r4, #0x0
- add r6, r1, #0x0
- bl FUN_0202B820
- cmp r0, #0x0
- beq _0202B80A
- bl ErrorHandling
-_0202B80A:
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_0202B584
- mov r1, #0x80
- bic r4, r1
- sub r2, r4, #0x1
- mov r1, #0x48
- mul r1, r2
- add r0, r0, r1
- pop {r4-r6, pc}
-
- thumb_func_start FUN_0202B820
-FUN_0202B820: ; 0x0202B820
- mov r1, #0x80
- tst r0, r1
- bne _0202B82A
- mov r0, #0x1
- bx lr
-_0202B82A:
- mov r0, #0x0
- bx lr
- .balign 4
-
- thumb_func_start FUN_0202B830
-FUN_0202B830: ; 0x0202B830
- mov r1, #0x80
- orr r0, r1
- bx lr
- .balign 4
-
- thumb_func_start FUN_0202B838
-FUN_0202B838: ; 0x0202B838
- ldr r1, _0202B840 ; =0x00000B4C
- add r0, r0, r1
- bx lr
- nop
-_0202B840: .word 0x00000B4C
-
- thumb_func_start FUN_0202B844
-FUN_0202B844: ; 0x0202B844
- ldr r1, _0202B84C ; =0x00000B56
- add r0, r0, r1
- bx lr
- nop
-_0202B84C: .word 0x00000B56
-
- thumb_func_start FUN_0202B850
-FUN_0202B850: ; 0x0202B850
- ldr r1, _0202B858 ; =0x00000B7A
- add r0, r0, r1
- bx lr
- nop
-_0202B858: .word 0x00000B7A
-
- thumb_func_start FUN_0202B85C
-FUN_0202B85C: ; 0x0202B85C
- ldr r1, _0202B864 ; =0x00000B7C
- add r0, r0, r1
- bx lr
- nop
-_0202B864: .word 0x00000B7C
-
- thumb_func_start FUN_0202B868
-FUN_0202B868: ; 0x0202B868
- mov r1, #0x2e
- lsl r1, r1, #0x6
- add r0, r0, r1
- bx lr
-
- thumb_func_start FUN_0202B870
-FUN_0202B870: ; 0x0202B870
- lsl r1, r0, #0x1
- ldr r0, _0202B878 ; =0x020EEAC8
- ldrb r0, [r0, r1]
- bx lr
- .balign 4
-_0202B878: .word 0x020EEAC8
-
- thumb_func_start FUN_0202B87C
-FUN_0202B87C: ; 0x0202B87C
- lsl r1, r0, #0x1
- ldr r0, _0202B884 ; =0x020EEAC9
- ldrb r0, [r0, r1]
- bx lr
- .balign 4
-_0202B884: .word 0x020EEAC9
-
- thumb_func_start FUN_0202B888
-FUN_0202B888: ; 0x0202B888
- mov r1, #0x0
- str r1, [r0, #0x0]
- str r1, [r0, #0x4]
- ldr r3, _0202B898 ; =StringFillEOS
- add r0, #0x8
- mov r1, #0x8
- bx r3
- nop
-_0202B898: .word StringFillEOS
-
- thumb_func_start FUN_0202B89C
-FUN_0202B89C: ; 0x0202B89C
- push {r3, lr}
- add r0, #0x8
- bl StringLength
- cmp r0, #0x0
- beq _0202B8AC
- mov r0, #0x1
- pop {r3, pc}
-_0202B8AC:
- mov r0, #0x0
- pop {r3, pc}
-
- thumb_func_start FUN_0202B8B0
-FUN_0202B8B0: ; 0x0202B8B0
- mov r0, #0xea
- lsl r0, r0, #0x4
- bx lr
- .balign 4
-
- thumb_func_start FUN_0202B8B8
-FUN_0202B8B8: ; 0x0202B8B8
- push {r3-r7, lr}
- mov r2, #0xea
- mov r1, #0x0
- lsl r2, r2, #0x4
- add r6, r0, #0x0
- blx MI_CpuFill8
- mov r7, #0x0
-_0202B8C8:
- mov r4, #0x0
- add r5, r6, #0x0
-_0202B8CC:
- add r0, r5, #0x0
- bl FUN_0202B888
- add r4, r4, #0x1
- add r5, #0x18
- cmp r4, #0x6
- blt _0202B8CC
- add r7, r7, #0x1
- add r6, #0x90
- cmp r7, #0x1a
- blt _0202B8C8
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0202B8E4
-FUN_0202B8E4: ; 0x0202B8E4
- ldr r3, _0202B8EC ; =FUN_02022610
- mov r1, #0x1c
- bx r3
- nop
-_0202B8EC: .word FUN_02022610
-
- thumb_func_start FUN_0202B8F0
-FUN_0202B8F0: ; 0x0202B8F0
- push {r4-r6, lr}
- cmp r2, #0x6
- blo _0202B8FE
- blo _0202B930
- bl ErrorHandling
- pop {r4-r6, pc}
-_0202B8FE:
- mov r3, #0x90
- mul r3, r1
- add r3, r0, r3
- cmp r2, #0x5
- bge _0202B928
- mov r0, #0x18
- mul r0, r2
- add r6, r3, r0
-_0202B90E:
- add r5, r6, #0x0
- add r5, #0x18
- add r4, r6, #0x0
- ldmia r5!, {r0-r1}
- stmia r4!, {r0-r1}
- ldmia r5!, {r0-r1}
- stmia r4!, {r0-r1}
- ldmia r5!, {r0-r1}
- add r2, r2, #0x1
- add r6, #0x18
- stmia r4!, {r0-r1}
- cmp r2, #0x5
- blt _0202B90E
-_0202B928:
- add r3, #0x78
- add r0, r3, #0x0
- bl FUN_0202B888
-_0202B930:
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_0202B934
-FUN_0202B934: ; 0x0202B934
- mov r0, #0x4e
- lsl r0, r0, #0x2
- bx lr
- .balign 4
-
- thumb_func_start FUN_0202B93C
-FUN_0202B93C: ; 0x0202B93C
- push {r3-r7, lr}
- sub sp, #0x8
- add r5, r1, #0x0
- bl FUN_02029FC8
- add r4, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0x34
- bl FUN_020169D8
- str r0, [sp, #0x4]
- add r5, r0, #0x0
- ldr r0, _0202B9E8 ; =0x020EEAD0
- mov r6, #0x0
- str r0, [sp, #0x0]
-_0202B95A:
- cmp r6, #0x5
- beq _0202B968
- cmp r6, #0xa
- beq _0202B988
- cmp r6, #0xb
- beq _0202B9A0
- b _0202B9C8
-_0202B968:
- add r0, r4, #0x0
- mov r1, #0xf
- bl FUN_0202A150
- add r7, r0, #0x0
- beq _0202B984
- add r0, r4, #0x0
- mov r1, #0x1d
- bl FUN_0202A150
- add r1, r7, #0x0
- blx _u32_div_f
- add r7, r0, #0x0
-_0202B984:
- str r7, [r5, #0x0]
- b _0202B9D4
-_0202B988:
- add r0, r4, #0x0
- mov r1, #0x41
- bl FUN_0202A150
- add r7, r0, #0x0
- add r0, r4, #0x0
- mov r1, #0x42
- bl FUN_0202A150
- add r0, r7, r0
- str r0, [r5, #0x0]
- b _0202B9D4
-_0202B9A0:
- add r0, r4, #0x0
- mov r1, #0x3f
- bl FUN_0202A150
- add r7, r0, #0x0
- add r0, r4, #0x0
- mov r1, #0x40
- bl FUN_0202A150
- add r1, r7, r0
- beq _0202B9C4
- ldr r0, [sp, #0x4]
- ldr r2, [r0, #0x28]
- mov r0, #0x64
- mul r0, r2
- blx _u32_div_f
- add r1, r0, #0x0
-_0202B9C4:
- str r1, [r5, #0x0]
- b _0202B9D4
-_0202B9C8:
- ldr r1, [sp, #0x0]
- add r0, r4, #0x0
- ldr r1, [r1, #0x0]
- bl FUN_0202A150
- str r0, [r5, #0x0]
-_0202B9D4:
- ldr r0, [sp, #0x0]
- add r6, r6, #0x1
- add r0, r0, #0x4
- add r5, r5, #0x4
- str r0, [sp, #0x0]
- cmp r6, #0xd
- blt _0202B95A
- ldr r0, [sp, #0x4]
- add sp, #0x8
- pop {r3-r7, pc}
- .balign 4
-_0202B9E8: .word 0x020EEAD0
-
- thumb_func_start FUN_0202B9EC
-FUN_0202B9EC: ; 0x0202B9EC
- push {r4-r7, lr}
- sub sp, #0xc
- add r5, r0, #0x0
- add r4, r1, #0x0
- bl FUN_020238F4
- mov r1, #0x4e
- add r6, r0, #0x0
- add r0, r4, #0x0
- lsl r1, r1, #0x2
- bl FUN_020169D8
- mov r2, #0x4e
- mov r1, #0x0
- lsl r2, r2, #0x2
- str r0, [sp, #0x4]
- blx MI_CpuFill8
- add r0, r5, #0x0
- bl FUN_0202881C
- mov r1, #0x1
- bl FUN_0202877C
- str r0, [sp, #0x8]
- add r0, r6, #0x0
- add r1, r4, #0x0
- bl FUN_020239A0
- add r7, r0, #0x0
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_0202B93C
- ldr r4, [sp, #0x4]
- str r0, [sp, #0x0]
- mov r6, #0x0
- add r5, r0, #0x0
-_0202BA38:
- ldr r0, [sp, #0x8]
- add r1, r4, #0x0
- str r0, [r4, #0x0]
- add r0, r7, #0x0
- add r1, #0x8
- mov r2, #0x8
- bl FUN_02021EF0
- ldr r0, [r5, #0x0]
- add r6, r6, #0x1
- str r0, [r4, #0x4]
- add r4, #0x18
- add r5, r5, #0x4
- cmp r6, #0xd
- blt _0202BA38
- ldr r0, [sp, #0x0]
- bl FUN_02016A18
- add r0, r7, #0x0
- bl FUN_02021A20
- ldr r0, [sp, #0x4]
- add sp, #0xc
- pop {r4-r7, pc}
-
- thumb_func_start FUN_0202BA68
-FUN_0202BA68: ; 0x0202BA68
- push {r3-r5, lr}
- add r5, r0, #0x0
- mov r4, #0x0
-_0202BA6E:
- add r0, r5, #0x0
- bl FUN_0202B888
- add r4, r4, #0x1
- add r5, #0x18
- cmp r4, #0x6
- blt _0202BA6E
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0202BA80
-FUN_0202BA80: ; 0x0202BA80
- push {r3, lr}
- ldr r3, [r0, #0x0]
- ldr r2, [r1, #0x0]
- cmp r3, r2
- beq _0202BA8E
- mov r0, #0x0
- pop {r3, pc}
-_0202BA8E:
- add r0, #0x8
- add r1, #0x8
- bl StringNotEqual
- cmp r0, #0x0
- bne _0202BA9E
- mov r0, #0x1
- pop {r3, pc}
-_0202BA9E:
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0202BAA4
-FUN_0202BAA4: ; 0x0202BAA4
- push {r3-r7, lr}
- add r6, r0, #0x0
- ldr r0, [r6, #0x4]
- add r7, r1, #0x0
- mov r4, #0x0
- cmp r0, #0x0
- ble _0202BACE
- add r5, r6, #0x0
-_0202BAB4:
- ldr r0, [r5, #0xc]
- add r1, r7, #0x0
- bl FUN_0202BA80
- cmp r0, #0x0
- beq _0202BAC4
- mov r0, #0x1
- pop {r3-r7, pc}
-_0202BAC4:
- ldr r0, [r6, #0x4]
- add r4, r4, #0x1
- add r5, r5, #0x4
- cmp r4, r0
- blt _0202BAB4
-_0202BACE:
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0202BAD4
-FUN_0202BAD4: ; 0x0202BAD4
- push {r4-r7, lr}
- sub sp, #0xc
- add r6, r1, #0x0
- add r5, r0, #0x0
- str r2, [sp, #0x0]
- add r0, r6, #0x0
- mov r1, #0x0
- mov r2, #0xe0
- add r4, r3, #0x0
- blx MI_CpuFill8
- add r0, sp, #0x10
- ldrb r0, [r0, #0x10]
- cmp r0, #0x0
- bne _0202BB64
- mov r2, #0x90
- add r0, r4, #0x0
- mul r0, r2
- add r1, r6, #0x0
- add r0, r5, r0
- add r1, #0x50
- str r0, [sp, #0x8]
- blx MI_CpuCopy8
- add r1, sp, #0x10
- ldrb r3, [r1, #0x18]
- mov r0, #0x0
- cmp r3, #0x0
- ble _0202BB2E
- mov r2, #0x18
- ldr r1, [sp, #0x24]
- mul r2, r4
-_0202BB14:
- ldr r5, [r6, #0x4]
- add r0, r0, #0x1
- add r4, r5, #0x0
- add r4, r4, #0x1
- str r4, [r6, #0x4]
- ldr r4, [r1, #0x0]
- lsl r5, r5, #0x2
- add r4, r4, r2
- add r5, r6, r5
- str r4, [r5, #0xc]
- add r1, r1, #0x4
- cmp r0, r3
- blt _0202BB14
-_0202BB2E:
- add r4, r6, #0x0
- add r4, #0x50
- mov r7, #0x0
- add r5, r4, #0x0
-_0202BB36:
- add r0, r4, #0x0
- bl FUN_0202B89C
- cmp r0, #0x0
- beq _0202BB58
- add r0, r6, #0x0
- add r1, r5, #0x0
- bl FUN_0202BAA4
- cmp r0, #0x0
- bne _0202BB58
- ldr r1, [r6, #0x0]
- add r0, r1, #0x1
- str r0, [r6, #0x0]
- lsl r0, r1, #0x2
- add r0, r6, r0
- str r4, [r0, #0x38]
-_0202BB58:
- add r7, r7, #0x1
- add r4, #0x18
- add r5, #0x18
- cmp r7, #0x6
- blt _0202BB36
- b _0202BBF8
-_0202BB64:
- add r0, r4, #0x0
- add r0, #0xd
- mov r2, #0x90
- add r1, r0, #0x0
- mul r1, r2
- add r0, r5, r1
- add r1, r6, #0x0
- add r1, #0x50
- str r0, [sp, #0x8]
- blx MI_CpuCopy8
- add r0, sp, #0x10
- ldrb r2, [r0, #0x18]
- mov r3, #0x0
- cmp r2, #0x0
- ble _0202BBB2
- mov r1, #0x18
- ldr r0, [sp, #0x24]
- mul r1, r4
-_0202BB8A:
- ldr r4, [r0, #0x0]
- ldr r5, [r1, r4]
- cmp r5, #0x0
- beq _0202BBAA
- ldr r4, [sp, #0x0]
- cmp r4, r5
- bne _0202BBAA
- ldr r5, [r6, #0x4]
- add r4, r5, #0x0
- add r4, r4, #0x1
- str r4, [r6, #0x4]
- ldr r4, [r0, #0x0]
- lsl r5, r5, #0x2
- add r4, r4, r1
- add r5, r6, r5
- str r4, [r5, #0xc]
-_0202BBAA:
- add r3, r3, #0x1
- add r0, r0, #0x4
- cmp r3, r2
- blt _0202BB8A
-_0202BBB2:
- add r4, r6, #0x0
- mov r0, #0x0
- add r4, #0x50
- str r0, [sp, #0x4]
- add r5, r6, #0x0
- add r7, r4, #0x0
-_0202BBBE:
- add r0, r4, #0x0
- bl FUN_0202B89C
- cmp r0, #0x0
- beq _0202BBE8
- ldr r1, [r5, #0x50]
- ldr r0, [sp, #0x0]
- cmp r0, r1
- bne _0202BBE8
- add r0, r6, #0x0
- add r1, r7, #0x0
- bl FUN_0202BAA4
- cmp r0, #0x0
- bne _0202BBE8
- ldr r1, [r6, #0x0]
- add r0, r1, #0x1
- str r0, [r6, #0x0]
- lsl r0, r1, #0x2
- add r0, r6, r0
- str r4, [r0, #0x38]
-_0202BBE8:
- ldr r0, [sp, #0x4]
- add r4, #0x18
- add r0, r0, #0x1
- add r5, #0x18
- add r7, #0x18
- str r0, [sp, #0x4]
- cmp r0, #0x6
- blt _0202BBBE
-_0202BBF8:
- ldr r1, [r6, #0x4]
- ldr r0, [r6, #0x0]
- mov r2, #0x0
- add r0, r1, r0
- str r0, [r6, #0x8]
- ldr r0, [r6, #0x0]
- cmp r0, #0x0
- ble _0202BC20
- add r1, r6, #0x0
-_0202BC0A:
- ldr r3, [r6, #0x4]
- ldr r0, [r1, #0x38]
- add r3, r2, r3
- lsl r3, r3, #0x2
- add r3, r6, r3
- str r0, [r3, #0xc]
- ldr r0, [r6, #0x0]
- add r2, r2, #0x1
- add r1, r1, #0x4
- cmp r2, r0
- blt _0202BC0A
-_0202BC20:
- mov r0, #0x0
- mov r12, r0
- ldr r0, [r6, #0x8]
- sub r5, r0, #0x1
- cmp r5, #0x0
- ble _0202BC64
- add r3, r6, #0x0
-_0202BC2E:
- mov r0, r12
- cmp r5, r0
- ble _0202BC52
- lsl r0, r5, #0x2
- add r4, r6, r0
-_0202BC38:
- ldr r2, [r4, #0xc]
- ldr r7, [r3, #0xc]
- ldr r0, [r2, #0x4]
- ldr r1, [r7, #0x4]
- cmp r1, r0
- bhs _0202BC48
- str r2, [r3, #0xc]
- str r7, [r4, #0xc]
-_0202BC48:
- sub r5, r5, #0x1
- mov r0, r12
- sub r4, r4, #0x4
- cmp r5, r0
- bgt _0202BC38
-_0202BC52:
- mov r0, r12
- add r0, r0, #0x1
- mov r12, r0
- ldr r0, [r6, #0x8]
- add r3, r3, #0x4
- sub r5, r0, #0x1
- mov r0, r12
- cmp r0, r5
- blt _0202BC2E
-_0202BC64:
- ldr r0, [sp, #0x8]
- bl FUN_0202BA68
- mov r3, #0x0
- add r2, r6, #0x0
- b _0202BC8A
-_0202BC70:
- ldr r5, [r2, #0xc]
- ldr r4, [sp, #0x8]
- ldmia r5!, {r0-r1}
- stmia r4!, {r0-r1}
- ldmia r5!, {r0-r1}
- stmia r4!, {r0-r1}
- ldmia r5!, {r0-r1}
- stmia r4!, {r0-r1}
- ldr r0, [sp, #0x8]
- add r2, r2, #0x4
- add r0, #0x18
- str r0, [sp, #0x8]
- add r3, r3, #0x1
-_0202BC8A:
- cmp r3, #0x6
- bge _0202BC94
- ldr r0, [r6, #0x8]
- cmp r3, r0
- blt _0202BC70
-_0202BC94:
- add sp, #0xc
- pop {r4-r7, pc}
-
- thumb_func_start FUN_0202BC98
-FUN_0202BC98: ; 0x0202BC98
- push {r4-r7, lr}
- sub sp, #0x14
- add r7, r0, #0x0
- add r5, r1, #0x0
- ldr r0, [sp, #0x2c]
- mov r1, #0xe0
- str r2, [sp, #0x10]
- add r4, r3, #0x0
- bl FUN_020169D8
- add r6, r0, #0x0
- mov r0, #0x0
- str r0, [sp, #0x0]
- str r4, [sp, #0x4]
- add r0, sp, #0x18
- ldrb r0, [r0, #0x10]
- add r1, r6, #0x0
- add r2, r5, #0x0
- str r0, [sp, #0x8]
- ldr r0, [sp, #0x2c]
- str r0, [sp, #0xc]
- ldr r3, [sp, #0x10]
- add r0, r7, #0x0
- bl FUN_0202BAD4
- cmp r5, #0x0
- beq _0202BCEA
- mov r0, #0x1
- str r0, [sp, #0x0]
- str r4, [sp, #0x4]
- add r0, sp, #0x18
- ldrb r0, [r0, #0x10]
- add r1, r6, #0x0
- add r2, r5, #0x0
- str r0, [sp, #0x8]
- ldr r0, [sp, #0x2c]
- str r0, [sp, #0xc]
- ldr r3, [sp, #0x10]
- add r0, r7, #0x0
- bl FUN_0202BAD4
-_0202BCEA:
- add r0, r6, #0x0
- bl FUN_02016A18
- add sp, #0x14
- pop {r4-r7, pc}
-
- thumb_func_start FUN_0202BCF4
-FUN_0202BCF4: ; 0x0202BCF4
- push {r4-r7, lr}
- sub sp, #0x24
- add r6, r1, #0x0
- ldr r1, [sp, #0x38]
- add r4, r0, #0x0
- add r5, r2, #0x0
- add r7, r3, #0x0
- str r1, [sp, #0x38]
- bl FUN_0202B8E4
- str r0, [sp, #0x8]
- add r0, r4, #0x0
- bl FUN_0202881C
- mov r1, #0x1
- bl FUN_0202877C
- mov r4, #0x0
- add r3, r4, #0x0
- str r0, [sp, #0xc]
- cmp r5, #0x0
- bls _0202BD44
-_0202BD20:
- cmp r3, r6
- beq _0202BD3A
- lsl r0, r3, #0x2
- ldr r2, [r7, r0]
- cmp r2, #0x0
- beq _0202BD3A
- add r1, r4, #0x1
- add r0, r4, #0x0
- lsl r1, r1, #0x18
- lsr r4, r1, #0x18
- lsl r1, r0, #0x2
- add r0, sp, #0x10
- str r2, [r0, r1]
-_0202BD3A:
- add r0, r3, #0x1
- lsl r0, r0, #0x18
- lsr r3, r0, #0x18
- cmp r3, r5
- blo _0202BD20
-_0202BD44:
- cmp r4, #0x0
- beq _0202BD68
- mov r5, #0x0
- add r6, sp, #0x10
-_0202BD4C:
- ldr r0, [sp, #0x38]
- str r4, [sp, #0x0]
- str r0, [sp, #0x4]
- ldr r0, [sp, #0x8]
- ldr r1, [sp, #0xc]
- add r2, r5, #0x0
- add r3, r6, #0x0
- bl FUN_0202BC98
- add r0, r5, #0x1
- lsl r0, r0, #0x18
- lsr r5, r0, #0x18
- cmp r5, #0xd
- blo _0202BD4C
-_0202BD68:
- add sp, #0x24
- pop {r4-r7, pc}
-
- thumb_func_start FUN_0202BD6C
-FUN_0202BD6C: ; 0x0202BD6C
- push {r3-r7, lr}
- sub sp, #0x10
- str r2, [sp, #0x0]
- add r4, r0, #0x0
- add r5, r1, #0x0
- bl FUN_020238F4
- str r0, [sp, #0x4]
- ldr r0, [sp, #0x0]
- mov r1, #0x4c
- bl FUN_02016998
- mov r1, #0x0
- mov r2, #0x4c
- add r7, r0, #0x0
- blx MI_CpuFill8
- add r0, r4, #0x0
- bl FUN_0202881C
- mov r1, #0x1
- bl FUN_0202877C
- str r0, [sp, #0xc]
- ldr r1, [sp, #0x0]
- add r0, r4, #0x0
- bl FUN_0202B93C
- str r0, [sp, #0x8]
- add r0, r5, #0x0
- bl FUN_0202B870
- str r0, [r7, #0x0]
- add r0, r5, #0x0
- bl FUN_0202B87C
- ldr r1, [r7, #0x0]
- mov r6, #0x0
- cmp r1, #0x0
- ble _0202BDE2
- lsl r1, r0, #0x2
- ldr r0, [sp, #0x8]
- add r4, r7, #0x0
- add r5, r0, r1
-_0202BDC4:
- ldr r0, [sp, #0xc]
- ldr r1, [sp, #0x0]
- str r0, [r4, #0x4]
- ldr r0, [r5, #0x0]
- str r0, [r4, #0x8]
- ldr r0, [sp, #0x4]
- bl FUN_020239A0
- str r0, [r4, #0xc]
- ldr r0, [r7, #0x0]
- add r6, r6, #0x1
- add r4, #0xc
- add r5, r5, #0x4
- cmp r6, r0
- blt _0202BDC4
-_0202BDE2:
- ldr r0, [sp, #0x8]
- bl FUN_02016A18
- add r0, r7, #0x0
- add sp, #0x10
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0202BDF0
-FUN_0202BDF0: ; 0x0202BDF0
- push {r3-r7, lr}
- add r7, r2, #0x0
- add r5, r0, #0x0
- str r1, [sp, #0x0]
- add r0, r7, #0x0
- mov r1, #0x4c
- bl FUN_02016998
- mov r1, #0x0
- mov r2, #0x4c
- add r4, r0, #0x0
- blx MI_CpuFill8
- ldr r0, [sp, #0x0]
- mov r1, #0x90
- mul r1, r0
- mov r6, #0x0
- add r5, r5, r1
-_0202BE14:
- add r0, r5, #0x0
- bl FUN_0202B89C
- cmp r0, #0x0
- beq _0202BE60
- ldr r2, [r4, #0x0]
- mov r1, #0xc
- mul r1, r2
- ldr r0, [r5, #0x0]
- add r1, r4, r1
- str r0, [r1, #0x4]
- ldr r2, [r4, #0x0]
- mov r1, #0xc
- mul r1, r2
- ldr r0, [r5, #0x4]
- add r1, r4, r1
- str r0, [r1, #0x8]
- mov r0, #0x8
- add r1, r7, #0x0
- bl FUN_020219F4
- ldr r2, [r4, #0x0]
- mov r1, #0xc
- mul r1, r2
- add r1, r4, r1
- str r0, [r1, #0xc]
- ldr r1, [r4, #0x0]
- mov r0, #0xc
- mul r0, r1
- add r0, r4, r0
- add r1, r5, #0x0
- ldr r0, [r0, #0xc]
- add r1, #0x8
- bl FUN_02021E28
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
-_0202BE60:
- add r6, r6, #0x1
- add r5, #0x18
- cmp r6, #0x6
- blt _0202BE14
- add r0, r4, #0x0
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0202BE6C
-FUN_0202BE6C: ; 0x0202BE6C
- push {r4-r6, lr}
- add r6, r0, #0x0
- mov r4, #0x0
- add r5, r6, #0x0
-_0202BE74:
- ldr r0, [r5, #0xc]
- cmp r0, #0x0
- beq _0202BE7E
- bl FUN_02021A20
-_0202BE7E:
- add r4, r4, #0x1
- add r5, #0xc
- cmp r4, #0x6
- blt _0202BE74
- add r0, r6, #0x0
- mov r1, #0x0
- mov r2, #0x4c
- blx MI_CpuFill8
- add r0, r6, #0x0
- bl FUN_02016A18
- pop {r4-r6, pc}
-
- thumb_func_start FUN_0202BE98
-FUN_0202BE98: ; 0x0202BE98
- ldr r0, _0202BE9C ; =0x00000688
- bx lr
- .balign 4
-_0202BE9C: .word 0x00000688
-
- thumb_func_start FUN_0202BEA0
-FUN_0202BEA0: ; 0x0202BEA0
- push {r3-r7, lr}
- add r5, r0, #0x0
- ldr r2, _0202BED8 ; =0x00000688
- mov r0, #0x0
- add r1, r5, #0x0
- blx MIi_CpuClearFast
- mov r4, #0x0
- mov r6, #0xab
- add r7, r4, #0x0
-_0202BEB4:
- add r0, r5, #0x0
- bl FUN_02066978
- add r0, r5, #0x0
- add r1, r6, #0x0
- add r2, r7, #0x0
- bl FUN_020671BC
- cmp r0, #0x0
- beq _0202BECC
- bl ErrorHandling
-_0202BECC:
- add r4, r4, #0x1
- add r5, #0xec
- cmp r4, #0x6
- blt _0202BEB4
- pop {r3-r7, pc}
- nop
-_0202BED8: .word 0x00000688
-
- thumb_func_start FUN_0202BEDC
-FUN_0202BEDC: ; 0x0202BEDC
- push {r3-r7, lr}
- add r5, r0, #0x0
- ldr r2, _0202BF14 ; =0x00000588
- mov r0, #0x0
- add r1, r5, #0x0
- blx MIi_CpuClearFast
- mov r4, #0x0
- mov r6, #0xab
- add r7, r4, #0x0
-_0202BEF0:
- add r0, r5, #0x0
- bl FUN_02066978
- add r0, r5, #0x0
- add r1, r6, #0x0
- add r2, r7, #0x0
- bl FUN_020671BC
- cmp r0, #0x0
- beq _0202BF08
- bl ErrorHandling
-_0202BF08:
- add r4, r4, #0x1
- add r5, #0xec
- cmp r4, #0x6
- blt _0202BEF0
- pop {r3-r7, pc}
- nop
-_0202BF14: .word 0x00000588
-
- thumb_func_start FUN_0202BF18
-FUN_0202BF18: ; 0x0202BF18
- push {r4-r7}
- add r2, r0, #0x0
- ldr r3, _0202BF70 ; =0x00000588
- mov r0, #0x0
- add r5, r2, #0x0
-_0202BF22:
- ldr r4, [r5, r3]
- cmp r1, r4
- beq _0202BF6C
- add r0, r0, #0x1
- add r5, r5, #0x4
- cmp r0, #0x14
- blt _0202BF22
- ldr r1, _0202BF70 ; =0x00000588
- mov r0, #0x0
- add r4, r2, #0x0
-_0202BF36:
- ldr r3, [r4, r1]
- cmp r3, #0x0
- beq _0202BF6C
- add r0, r0, #0x1
- add r4, r4, #0x4
- cmp r0, #0x14
- blt _0202BF36
- mov r3, #0x0
- ldr r4, _0202BF74 ; =0x7FFFFFFF
- add r5, r3, #0x0
-_0202BF4A:
- ldr r0, _0202BF78 ; =0x000005D8
- ldr r1, [r2, r0]
- add r0, r0, #0x4
- ldr r0, [r2, r0]
- sub r6, r1, r4
- mov r12, r0
- mov r6, r12
- sbc r6, r3
- bge _0202BF62
- add r4, r1, #0x0
- add r3, r0, #0x0
- add r7, r5, #0x0
-_0202BF62:
- add r5, r5, #0x1
- add r2, #0x8
- cmp r5, #0x14
- blt _0202BF4A
- add r0, r7, #0x0
-_0202BF6C:
- pop {r4-r7}
- bx lr
- .balign 4
-_0202BF70: .word 0x00000588
-_0202BF74: .word 0x7FFFFFFF
-_0202BF78: .word 0x000005D8
-
- thumb_func_start FUN_0202BF7C
-FUN_0202BF7C: ; 0x0202BF7C
- add r3, r0, #0x0
- add r0, r1, #0x0
- mov r1, #0xec
- mul r1, r2
- add r1, r3, r1
- ldr r3, _0202BF8C ; =FUN_02069A64
- bx r3
- nop
-_0202BF8C: .word FUN_02069A64
-
- thumb_func_start FUN_0202BF90
-FUN_0202BF90: ; 0x0202BF90
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- bl FUN_0202BF18
- add r6, r0, #0x0
- lsl r0, r6, #0x2
- add r1, r5, r0
- ldr r0, _0202BFCC ; =0x00000588
- str r4, [r1, r0]
- bl FUN_020126FC
- lsl r2, r6, #0x3
- add r3, r5, r2
- ldr r2, _0202BFD0 ; =0x000005D8
- str r0, [r3, r2]
- add r0, r2, #0x4
- str r1, [r3, r0]
- blx OS_GetOwnerRtcOffset
- ldr r2, _0202BFD4 ; =0x00000678
- str r0, [r5, r2]
- add r0, r2, #0x4
- add r2, #0x8
- str r1, [r5, r0]
- add r0, r5, r2
- blx OS_GetMacAddress
- pop {r4-r6, pc}
- nop
-_0202BFCC: .word 0x00000588
-_0202BFD0: .word 0x000005D8
-_0202BFD4: .word 0x00000678
-
- thumb_func_start FUN_0202BFD8
-FUN_0202BFD8: ; 0x0202BFD8
- push {r4-r6, lr}
- add r5, r1, #0x0
- add r6, r0, #0x0
- add r4, r2, #0x0
- cmp r5, #0x6
- blt _0202BFE8
- bl ErrorHandling
-_0202BFE8:
- mov r0, #0xec
- mul r0, r5
- add r3, r6, r0
- mov r2, #0x1d
-_0202BFF0:
- ldmia r3!, {r0-r1}
- stmia r4!, {r0-r1}
- sub r2, r2, #0x1
- bne _0202BFF0
- ldr r0, [r3, #0x0]
- str r0, [r4, #0x0]
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_0202C000
-FUN_0202C000: ; 0x0202C000
- push {r3-r7, lr}
- mov r4, #0x0
- add r5, r0, #0x0
- add r6, r4, #0x0
- mov r7, #0xab
-_0202C00A:
- add r0, r5, #0x0
- add r1, r7, #0x0
- mov r2, #0x0
- bl FUN_020671BC
- cmp r0, #0x0
- beq _0202C01A
- add r4, r4, #0x1
-_0202C01A:
- add r6, r6, #0x1
- add r5, #0xec
- cmp r6, #0x6
- blt _0202C00A
- add r0, r4, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0202C028
-FUN_0202C028: ; 0x0202C028
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- bl FUN_020126FC
- ldr r1, _0202C058 ; =0x00000588
- mov r3, #0x0
- add r6, r5, #0x0
-_0202C038:
- ldr r2, [r6, r1]
- cmp r4, r2
- bne _0202C04A
- lsl r1, r3, #0x3
- add r2, r5, r1
- ldr r1, _0202C05C ; =0x000005D8
- ldr r1, [r2, r1]
- sub r0, r0, r1
- pop {r4-r6, pc}
-_0202C04A:
- add r3, r3, #0x1
- add r6, r6, #0x4
- cmp r3, #0x14
- blt _0202C038
- mov r0, #0x0
- pop {r4-r6, pc}
- nop
-_0202C058: .word 0x00000588
-_0202C05C: .word 0x000005D8
-
- thumb_func_start FUN_0202C060
-FUN_0202C060: ; 0x0202C060
- push {r3-r5, lr}
- sub sp, #0x8
- add r4, r0, #0x0
- add r0, sp, #0x0
- blx OS_GetMacAddress
- mov r0, #0x1a
- mov r3, #0x0
- add r5, sp, #0x0
- lsl r0, r0, #0x6
-_0202C074:
- add r1, r4, r3
- ldrb r2, [r5, #0x0]
- ldrb r1, [r1, r0]
- cmp r2, r1
- beq _0202C084
- add sp, #0x8
- mov r0, #0x0
- pop {r3-r5, pc}
-_0202C084:
- add r3, r3, #0x1
- add r5, r5, #0x1
- cmp r3, #0x6
- blt _0202C074
- mov r0, #0x1
- add sp, #0x8
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0202C094
-FUN_0202C094: ; 0x0202C094
- push {r4, lr}
- add r4, r0, #0x0
- blx OS_GetOwnerRtcOffset
- ldr r2, _0202C0B4 ; =0x00000678
- ldr r3, [r4, r2]
- add r2, r2, #0x4
- ldr r2, [r4, r2]
- eor r0, r3
- eor r1, r2
- orr r0, r1
- bne _0202C0B0
- mov r0, #0x1
- pop {r4, pc}
-_0202C0B0:
- mov r0, #0x0
- pop {r4, pc}
- .balign 4
-_0202C0B4: .word 0x00000678
-
- thumb_func_start FUN_0202C0B8
-FUN_0202C0B8: ; 0x0202C0B8
- push {r3-r4}
- mov r4, #0x0
- mov r1, #0x1a
- add r3, r4, #0x0
- lsl r1, r1, #0x6
-_0202C0C2:
- add r2, r0, r3
- ldrb r2, [r2, r1]
- add r3, r3, #0x1
- orr r4, r2
- cmp r3, #0x6
- blt _0202C0C2
- cmp r4, #0x0
- bne _0202C0D8
- mov r0, #0x1
- pop {r3-r4}
- bx lr
-_0202C0D8:
- mov r0, #0x0
- pop {r3-r4}
- bx lr
- .balign 4
-
- thumb_func_start FUN_0202C0E0
-FUN_0202C0E0: ; 0x0202C0E0
- mov r0, #0x28
- bx lr
-
- thumb_func_start FUN_0202C0E4
-FUN_0202C0E4: ; 0x0202C0E4
- push {r4-r5}
- mov r4, #0x0
- add r1, r4, #0x0
- add r2, r4, #0x0
-_0202C0EC:
- add r3, r2, #0x0
- add r5, r0, #0x0
-_0202C0F0:
- add r3, r3, #0x1
- strh r1, [r5, #0x0]
- add r5, r5, #0x2
- cmp r3, #0x4
- blt _0202C0F0
- add r4, r4, #0x1
- add r0, #0x8
- cmp r4, #0x5
- blt _0202C0EC
- pop {r4-r5}
- bx lr
- .balign 4
-
- thumb_func_start FUN_0202C108
-FUN_0202C108: ; 0x0202C108
- push {r3-r5, lr}
- add r5, r1, #0x0
- mov r1, #0x21
- add r4, r2, #0x0
- bl FUN_02022610
- lsl r1, r5, #0x3
- add r3, r0, r1
- lsl r2, r4, #0x1
- ldrh r1, [r3, r2]
- ldr r0, _0202C128 ; =0x0000270F
- cmp r1, r0
- bhs _0202C126
- add r0, r1, #0x1
- strh r0, [r3, r2]
-_0202C126:
- pop {r3-r5, pc}
- .balign 4
-_0202C128: .word 0x0000270F
-
- thumb_func_start FUN_0202C12C
-FUN_0202C12C: ; 0x0202C12C
- push {r3-r5, lr}
- add r5, r1, #0x0
- mov r1, #0x21
- add r4, r2, #0x0
- bl FUN_02022610
- lsl r2, r5, #0x3
- lsl r1, r4, #0x1
- add r0, r0, r2
- ldrh r0, [r1, r0]
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0202C144
-FUN_0202C144: ; 0x0202C144
- push {r3-r7, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- add r0, r4, #0x0
- mov r1, #0x4c
- mov r2, #0x0
- bl FUN_020671BC
- cmp r0, #0x0
- bne _0202C194
- add r0, r5, #0x0
- bl FUN_02024DA0
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02029FC8
- add r7, r0, #0x0
- add r0, r4, #0x0
- mov r1, #0x5
- mov r2, #0x0
- bl FUN_020671BC
- add r2, r0, #0x0
- lsl r2, r2, #0x10
- add r0, r7, #0x0
- add r1, r6, #0x0
- lsr r2, r2, #0x10
- bl FUN_0202A1C4
- add r0, r6, #0x0
- add r1, r4, #0x0
- bl FUN_02024AF0
- add r0, r5, #0x0
- bl FUN_0204C1A8
- add r1, r4, #0x0
- bl FUN_0204C104
-_0202C194:
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0202C198
-FUN_0202C198: ; 0x0202C198
- ldr r1, _0202C1A4 ; =0x021C59D8
- ldr r2, [r1, #0x4]
- ldr r1, _0202C1A8 ; =0x00001310
- str r0, [r2, r1]
- bx lr
- nop
-_0202C1A4: .word 0x021C59D8
-_0202C1A8: .word 0x00001310
-
- thumb_func_start FUN_0202C1AC
-FUN_0202C1AC: ; 0x0202C1AC
- ldr r1, _0202C1C0 ; =0x021C59D8
- ldr r3, [r1, #0x4]
- ldr r1, _0202C1C4 ; =0x00001310
- ldr r2, [r3, r1]
- sub r2, #0x9
- cmp r2, #0x1
- bls _0202C1BE
- add r1, #0x20
- str r0, [r3, r1]
-_0202C1BE:
- bx lr
- .balign 4
-_0202C1C0: .word 0x021C59D8
-_0202C1C4: .word 0x00001310
-
- thumb_func_start FUN_0202C1C8
-FUN_0202C1C8: ; 0x0202C1C8
- push {r3, lr}
- mov r0, #0x3
- bl FUN_0202C198
- ldr r1, _0202C1F0 ; =0x021C59D8
- ldr r0, _0202C1F4 ; =FUN_0202C1F8
- ldr r1, [r1, #0x4]
- blx WM_SetParentParameter
- cmp r0, #0x2
- beq _0202C1EC
- bl FUN_0202C1AC
- mov r0, #0x9
- bl FUN_0202C198
- mov r0, #0x0
- pop {r3, pc}
-_0202C1EC:
- mov r0, #0x1
- pop {r3, pc}
- .balign 4
-_0202C1F0: .word 0x021C59D8
-_0202C1F4: .word FUN_0202C1F8
-
- thumb_func_start FUN_0202C1F8
-FUN_0202C1F8: ; 0x0202C1F8
- push {r3, lr}
- ldrh r0, [r0, #0x2]
- cmp r0, #0x0
- beq _0202C20C
- bl FUN_0202C1AC
- mov r0, #0x9
- bl FUN_0202C198
- pop {r3, pc}
-_0202C20C:
- bl FUN_0202C21C
- cmp r0, #0x0
- bne _0202C21A
- mov r0, #0x9
- bl FUN_0202C198
-_0202C21A:
- pop {r3, pc}
-
- thumb_func_start FUN_0202C21C
-FUN_0202C21C: ; 0x0202C21C
- push {r4, lr}
- ldr r0, _0202C278 ; =0x021C59D8
- ldr r1, [r0, #0x4]
- ldr r0, _0202C27C ; =0x00001310
- ldr r0, [r1, r0]
- sub r0, r0, #0x4
- cmp r0, #0x2
- bhi _0202C230
- mov r0, #0x1
- pop {r4, pc}
-_0202C230:
- blx WMi_GetStatusAddress
- add r4, r0, #0x0
- mov r0, #0x66
- lsl r0, r0, #0x2
- add r0, r4, r0
- mov r1, #0x4
- blx DC_InvalidateRange
- mov r0, #0x66
- mov r1, #0x0
- lsl r0, r0, #0x2
- str r1, [r4, r0]
- add r0, r4, r0
- mov r1, #0x4
- blx DC_FlushRange
- ldr r0, _0202C280 ; =FUN_0202C288
- blx WM_StartParent
- cmp r0, #0x2
- beq _0202C264
- bl FUN_0202C1AC
- mov r0, #0x0
- pop {r4, pc}
-_0202C264:
- ldr r2, _0202C278 ; =0x021C59D8
- ldr r1, _0202C284 ; =0x0000132C
- ldr r0, [r2, #0x4]
- mov r3, #0x0
- strh r3, [r0, r1]
- ldr r2, [r2, #0x4]
- mov r0, #0x1
- add r1, r1, #0x2
- strh r0, [r2, r1]
- pop {r4, pc}
- .balign 4
-_0202C278: .word 0x021C59D8
-_0202C27C: .word 0x00001310
-_0202C280: .word FUN_0202C288
-_0202C284: .word 0x0000132C
-
- thumb_func_start FUN_0202C288
-FUN_0202C288: ; 0x0202C288
- push {r4-r6, lr}
- add r5, r0, #0x0
- ldrh r0, [r5, #0x10]
- mov r1, #0x1
- lsl r1, r0
- lsl r0, r1, #0x10
- lsr r4, r0, #0x10
- ldrh r0, [r5, #0x2]
- cmp r0, #0x0
- beq _0202C2A8
- bl FUN_0202C1AC
- mov r0, #0x9
- bl FUN_0202C198
- pop {r4-r6, pc}
-_0202C2A8:
- ldrh r0, [r5, #0x8]
- cmp r0, #0x7
- bgt _0202C2C0
- bge _0202C2DA
- cmp r0, #0x2
- bgt _0202C378
- cmp r0, #0x0
- blt _0202C378
- beq _0202C36A
- cmp r0, #0x2
- beq _0202C2CC
- pop {r4-r6, pc}
-_0202C2C0:
- cmp r0, #0x9
- bgt _0202C2C8
- beq _0202C34C
- pop {r4-r6, pc}
-_0202C2C8:
- cmp r0, #0x1a
- pop {r4-r6, pc}
-_0202C2CC:
- ldr r0, _0202C37C ; =0x021C59D8
- ldr r2, [r0, #0x4]
- ldr r0, _0202C380 ; =0x00001345
- ldrb r1, [r2, r0]
- add r1, r1, #0x1
- strb r1, [r2, r0]
- pop {r4-r6, pc}
-_0202C2DA:
- ldr r0, _0202C37C ; =0x021C59D8
- ldr r2, [r0, #0x4]
- ldr r0, _0202C384 ; =0x00001343
- ldrb r1, [r2, r0]
- cmp r1, #0x1
- beq _0202C318
- sub r0, r0, #0x1
- ldrb r0, [r2, r0]
- cmp r0, #0x1
- beq _0202C318
- bl FUN_0202CBA0
- ldr r1, _0202C37C ; =0x021C59D8
- ldr r2, [r1, #0x4]
- ldr r1, _0202C388 ; =0x00001334
- ldrb r1, [r2, r1]
- cmp r0, r1
- bge _0202C318
- bl FUN_02033534
- ldrb r1, [r5, #0x14]
- cmp r1, r0
- bne _0202C318
- add r1, r5, #0x0
- ldr r0, _0202C38C ; =0x02105D54
- add r1, #0x15
- mov r2, #0x3
- blx memcmp
- cmp r0, #0x0
- beq _0202C330
-_0202C318:
- ldrh r1, [r5, #0x10]
- mov r0, #0x0
- blx WM_Disconnect
- cmp r0, #0x2
- beq _0202C378
- bl FUN_0202C1AC
- mov r0, #0x9
- bl FUN_0202C198
- pop {r4-r6, pc}
-_0202C330:
- ldr r1, _0202C37C ; =0x021C59D8
- ldr r0, _0202C390 ; =0x0000132E
- ldr r3, [r1, #0x4]
- ldrh r2, [r3, r0]
- orr r2, r4
- strh r2, [r3, r0]
- ldr r1, [r1, #0x4]
- sub r0, r0, #0x6
- ldr r1, [r1, r0]
- cmp r1, #0x0
- beq _0202C378
- ldrh r0, [r5, #0x10]
- blx r1
- pop {r4-r6, pc}
-_0202C34C:
- ldr r2, _0202C37C ; =0x021C59D8
- ldr r1, _0202C390 ; =0x0000132E
- ldr r0, [r2, #0x4]
- mvn r3, r4
- ldrh r6, [r0, r1]
- and r3, r6
- strh r3, [r0, r1]
- ldr r0, [r2, #0x4]
- sub r1, #0xa
- ldr r1, [r0, r1]
- cmp r1, #0x0
- beq _0202C378
- ldrh r0, [r5, #0x10]
- blx r1
- pop {r4-r6, pc}
-_0202C36A:
- bl FUN_0202C394
- cmp r0, #0x0
- bne _0202C378
- mov r0, #0x9
- bl FUN_0202C198
-_0202C378:
- pop {r4-r6, pc}
- nop
-_0202C37C: .word 0x021C59D8
-_0202C380: .word 0x00001345
-_0202C384: .word 0x00001343
-_0202C388: .word 0x00001334
-_0202C38C: .word 0x02105D54
-_0202C390: .word 0x0000132E
-
- thumb_func_start FUN_0202C394
-FUN_0202C394: ; 0x0202C394
- push {r4, lr}
- sub sp, #0x8
- ldr r0, _0202C3F0 ; =0x021C59D8
- ldr r1, [r0, #0x4]
- ldr r0, _0202C3F4 ; =0x00001310
- ldr r0, [r1, r0]
- sub r0, r0, #0x4
- cmp r0, #0x2
- bhi _0202C3AC
- add sp, #0x8
- mov r0, #0x1
- pop {r4, pc}
-_0202C3AC:
- mov r0, #0x4
- bl FUN_0202C198
- ldr r0, _0202C3F0 ; =0x021C59D8
- ldr r2, _0202C3F8 ; =0x00001304
- ldr r4, [r0, #0x4]
- ldr r3, _0202C3FC ; =0x00001020
- ldr r0, [r4, r2]
- add r2, r2, #0x4
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- str r0, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- ldr r2, [r4, r2]
- add r1, r4, r3
- lsl r2, r2, #0x10
- sub r3, #0xe0
- ldr r0, _0202C400 ; =FUN_0202C404
- lsr r2, r2, #0x10
- add r3, r4, r3
- blx WM_StartMP
- cmp r0, #0x2
- beq _0202C3E8
- bl FUN_0202C1AC
- add sp, #0x8
- mov r0, #0x0
- pop {r4, pc}
-_0202C3E8:
- mov r0, #0x1
- add sp, #0x8
- pop {r4, pc}
- nop
-_0202C3F0: .word 0x021C59D8
-_0202C3F4: .word 0x00001310
-_0202C3F8: .word 0x00001304
-_0202C3FC: .word 0x00001020
-_0202C400: .word FUN_0202C404
-
- thumb_func_start FUN_0202C404
-FUN_0202C404: ; 0x0202C404
- push {r3, lr}
- ldrh r1, [r0, #0x2]
- cmp r1, #0x0
- beq _0202C41A
- add r0, r1, #0x0
- bl FUN_0202C1AC
- mov r0, #0x9
- bl FUN_0202C198
- pop {r3, pc}
-_0202C41A:
- ldrh r0, [r0, #0x4]
- sub r0, #0xa
- cmp r0, #0x3
- bhi _0202C454
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_0202C42E: ; jump table (using 16-bit offset)
- .short _0202C436 - _0202C42E - 2; case 0
- .short _0202C454 - _0202C42E - 2; case 1
- .short _0202C454 - _0202C42E - 2; case 2
- .short _0202C454 - _0202C42E - 2; case 3
-_0202C436:
- ldr r0, _0202C458 ; =0x021C59D8
- ldr r2, [r0, #0x4]
- ldr r0, _0202C45C ; =0x00001314
- ldr r1, [r2, r0]
- cmp r1, #0x2
- bne _0202C44E
- sub r0, r0, #0x4
- ldr r0, [r2, r0]
- cmp r0, #0x4
- beq _0202C44E
- cmp r0, #0x6
- beq _0202C454
-_0202C44E:
- mov r0, #0x4
- bl FUN_0202C198
-_0202C454:
- pop {r3, pc}
- nop
-_0202C458: .word 0x021C59D8
-_0202C45C: .word 0x00001314
-
- thumb_func_start FUN_0202C460
-FUN_0202C460: ; 0x0202C460
- push {r3, lr}
- mov r0, #0x3
- bl FUN_0202C198
- ldr r0, _0202C480 ; =FUN_0202C484
- blx WM_EndMP
- cmp r0, #0x2
- beq _0202C47A
- bl FUN_0202C1AC
- mov r0, #0x0
- pop {r3, pc}
-_0202C47A:
- mov r0, #0x1
- pop {r3, pc}
- nop
-_0202C480: .word FUN_0202C484
-
- thumb_func_start FUN_0202C484
-FUN_0202C484: ; 0x0202C484
- push {r3, lr}
- ldrh r0, [r0, #0x2]
- cmp r0, #0x0
- beq _0202C496
- bl FUN_0202C1AC
- bl FUN_0202D0D8
- pop {r3, pc}
-_0202C496:
- bl FUN_0202C4A4
- cmp r0, #0x0
- bne _0202C4A2
- bl FUN_0202D0D8
-_0202C4A2:
- pop {r3, pc}
-
- thumb_func_start FUN_0202C4A4
-FUN_0202C4A4: ; 0x0202C4A4
- push {r3, lr}
- ldr r0, _0202C4BC ; =FUN_0202C4C0
- blx WM_EndParent
- cmp r0, #0x2
- beq _0202C4B8
- bl FUN_0202C1AC
- mov r0, #0x0
- pop {r3, pc}
-_0202C4B8:
- mov r0, #0x1
- pop {r3, pc}
- .balign 4
-_0202C4BC: .word FUN_0202C4C0
-
- thumb_func_start FUN_0202C4C0
-FUN_0202C4C0: ; 0x0202C4C0
- push {r3, lr}
- ldrh r0, [r0, #0x2]
- cmp r0, #0x0
- beq _0202C4CE
- bl FUN_0202C1AC
- pop {r3, pc}
-_0202C4CE:
- mov r0, #0x1
- bl FUN_0202C198
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0202C4D8
-FUN_0202C4D8: ; 0x0202C4D8
- push {r3-r7, lr}
- add r6, r2, #0x0
- ldr r2, _0202C564 ; =0x021C59D8
- add r5, r0, #0x0
- add r4, r1, #0x0
- mov r3, #0x2
- ldr r0, [r2, #0x4]
- ldr r1, _0202C568 ; =0x00001308
- lsl r3, r3, #0x8
- str r3, [r0, r1]
- ldr r2, [r2, #0x4]
- mov r0, #0x40
- sub r1, r1, #0x4
- str r0, [r2, r1]
- mov r0, #0x2
- bl FUN_0202C198
- ldr r1, _0202C564 ; =0x021C59D8
- ldr r0, _0202C56C ; =0x00001256
- ldr r3, [r1, #0x4]
- mov r2, #0x1
- strh r2, [r3, r0]
- add r7, r0, #0x0
- ldrh r3, [r4, #0x4]
- ldr r2, [r1, #0x4]
- add r7, #0x96
- strh r3, [r2, r7]
- add r7, r0, #0x0
- ldrh r3, [r4, #0x2]
- ldr r2, [r1, #0x4]
- add r7, #0x94
- strh r3, [r2, r7]
- add r2, r0, #0x0
- ldrh r4, [r4, #0x0]
- ldr r3, [r1, #0x4]
- add r2, #0x92
- strh r4, [r3, r2]
- add r2, r0, #0x0
- ldr r3, [r1, #0x4]
- add r2, #0xbe
- str r5, [r3, r2]
- add r3, r0, #0x0
- ldr r4, [r1, #0x4]
- mov r2, #0x0
- add r3, #0xaa
- str r2, [r4, r3]
- add r3, r0, #0x0
- ldr r4, [r1, #0x4]
- add r3, #0xb6
- strh r6, [r4, r3]
- add r3, r0, #0x0
- ldr r4, [r1, #0x4]
- add r3, #0x8e
- strh r2, [r4, r3]
- ldr r2, [r1, #0x4]
- add r0, #0xb8
- mov r1, #0x1
- strh r1, [r2, r0]
- bl FUN_0202C5D8
- cmp r0, #0x0
- bne _0202C55E
- mov r0, #0x9
- bl FUN_0202C198
- mov r0, #0x0
- pop {r3-r7, pc}
-_0202C55E:
- mov r0, #0x1
- pop {r3-r7, pc}
- nop
-_0202C564: .word 0x021C59D8
-_0202C568: .word 0x00001308
-_0202C56C: .word 0x00001256
-
- thumb_func_start FUN_0202C570
-FUN_0202C570: ; 0x0202C570
- push {r4-r6, lr}
- add r5, r0, #0x0
- mov r0, #0x2
- add r4, r1, #0x0
- add r6, r2, #0x0
- bl FUN_0202C198
- ldr r1, _0202C5D4 ; =0x021C59D8
- mov r0, #0x13
- ldr r2, [r1, #0x4]
- lsl r0, r0, #0x8
- str r5, [r2, r0]
- add r2, r0, #0x0
- ldr r3, [r1, #0x4]
- add r2, #0xc
- strh r6, [r3, r2]
- add r3, r0, #0x0
- ldr r5, [r1, #0x4]
- mov r2, #0x0
- sub r3, #0x1c
- strh r2, [r5, r3]
- add r3, r0, #0x0
- ldr r5, [r1, #0x4]
- add r3, #0xe
- strh r2, [r5, r3]
- add r2, r0, #0x0
- ldrh r5, [r4, #0x4]
- ldr r3, [r1, #0x4]
- sub r2, #0x14
- strh r5, [r3, r2]
- add r2, r0, #0x0
- ldrh r5, [r4, #0x2]
- ldr r3, [r1, #0x4]
- sub r2, #0x16
- strh r5, [r3, r2]
- ldrh r2, [r4, #0x0]
- ldr r1, [r1, #0x4]
- sub r0, #0x18
- strh r2, [r1, r0]
- bl FUN_0202C5D8
- cmp r0, #0x0
- bne _0202C5D0
- mov r0, #0x9
- bl FUN_0202C198
- mov r0, #0x0
- pop {r4-r6, pc}
-_0202C5D0:
- mov r0, #0x1
- pop {r4-r6, pc}
- .balign 4
-_0202C5D4: .word 0x021C59D8
-
- thumb_func_start FUN_0202C5D8
-FUN_0202C5D8: ; 0x0202C5D8
- push {r3-r7, lr}
- blx WM_GetAllowedChannel
- add r5, r0, #0x0
- mov r0, #0x2
- lsl r0, r0, #0xe
- cmp r5, r0
- bne _0202C5F8
- mov r0, #0x3
- bl FUN_0202C1AC
- mov r0, #0x1
- bl FUN_020336A0
- mov r0, #0x0
- pop {r3-r7, pc}
-_0202C5F8:
- cmp r5, #0x0
- bne _0202C60C
- mov r0, #0x16
- bl FUN_0202C1AC
- mov r0, #0x1
- bl FUN_020336A0
- mov r0, #0x0
- pop {r3-r7, pc}
-_0202C60C:
- ldr r1, _0202C684 ; =0x021C59D8
- ldr r0, _0202C688 ; =0x0000130C
- ldr r3, [r1, #0x4]
- ldrh r2, [r3, r0]
- cmp r2, #0x0
- bne _0202C64C
- add r7, r0, #0x0
- mov r3, #0x1
- add r2, r3, #0x0
- sub r7, #0x28
- sub r0, #0x28
-_0202C622:
- ldr r4, [r1, #0x4]
- ldr r6, _0202C68C ; =0x000012E4
- ldrh r6, [r4, r6]
- add r6, r6, #0x1
- strh r6, [r4, r7]
- ldr r4, [r1, #0x4]
- ldrh r6, [r4, r0]
- cmp r6, #0x10
- bls _0202C638
- ldr r6, _0202C68C ; =0x000012E4
- strh r3, [r4, r6]
-_0202C638:
- ldr r6, [r1, #0x4]
- ldr r4, _0202C68C ; =0x000012E4
- ldrh r4, [r6, r4]
- add r6, r2, #0x0
- sub r4, r4, #0x1
- lsl r6, r4
- add r4, r5, #0x0
- tst r4, r6
- bne _0202C650
- b _0202C622
-_0202C64C:
- sub r0, #0x28
- strh r2, [r3, r0]
-_0202C650:
- blx WM_GetDispersionScanPeriod
- ldr r2, _0202C684 ; =0x021C59D8
- ldr r1, _0202C690 ; =0x000012E6
- ldr r3, [r2, #0x4]
- strh r0, [r3, r1]
- add r0, r1, #0x0
- ldr r3, [r2, #0x4]
- sub r0, #0xc6
- add r4, r3, r0
- sub r0, r1, #0x6
- str r4, [r3, r0]
- ldr r2, [r2, #0x4]
- sub r1, r1, #0x6
- ldr r0, _0202C694 ; =FUN_0202C698
- add r1, r2, r1
- blx WM_StartScan
- cmp r0, #0x2
- beq _0202C680
- bl FUN_0202C1AC
- mov r0, #0x0
- pop {r3-r7, pc}
-_0202C680:
- mov r0, #0x1
- pop {r3-r7, pc}
- .balign 4
-_0202C684: .word 0x021C59D8
-_0202C688: .word 0x0000130C
-_0202C68C: .word 0x000012E4
-_0202C690: .word 0x000012E6
-_0202C694: .word FUN_0202C698
-
- thumb_func_start FUN_0202C698
-FUN_0202C698: ; 0x0202C698
- push {r4, lr}
- add r4, r0, #0x0
- ldrh r0, [r4, #0x2]
- cmp r0, #0x0
- beq _0202C6AE
- bl FUN_0202C1AC
- mov r0, #0x9
- bl FUN_0202C198
- pop {r4, pc}
-_0202C6AE:
- ldr r0, _0202C760 ; =0x021C59D8
- ldr r2, [r0, #0x4]
- ldr r0, _0202C764 ; =0x00001310
- ldr r1, [r2, r0]
- cmp r1, #0x2
- beq _0202C6D0
- mov r1, #0x0
- sub r0, r0, #0x2
- strh r1, [r2, r0]
- bl FUN_0202C794
- cmp r0, #0x0
- bne _0202C75C
- mov r0, #0x9
- bl FUN_0202C198
- pop {r4, pc}
-_0202C6D0:
- ldrh r1, [r4, #0x8]
- cmp r1, #0x3
- beq _0202C75C
- cmp r1, #0x4
- beq _0202C74E
- cmp r1, #0x5
- bne _0202C74E
- sub r0, #0xf0
- add r0, r2, r0
- mov r1, #0xc0
- blx DC_InvalidateRange
- ldr r0, _0202C760 ; =0x021C59D8
- ldr r1, [r0, #0x4]
- ldr r0, _0202C768 ; =0x00001320
- ldr r2, [r1, r0]
- cmp r2, #0x0
- beq _0202C704
- ldrh r0, [r4, #0x36]
- cmp r0, #0x8
- blo _0202C704
- add r1, r4, #0x0
- add r1, #0x48
- ldrb r1, [r1, #0x4]
- ldr r0, [r4, #0x3c]
- blx r2
-_0202C704:
- ldrh r0, [r4, #0x36]
- cmp r0, #0x8
- blo _0202C74E
- ldr r0, _0202C760 ; =0x021C59D8
- ldr r2, [r4, #0x3c]
- ldr r0, [r0, #0x4]
- ldr r1, [r0, #0x8]
- cmp r2, r1
- bne _0202C74E
- add r4, #0x43
- ldrb r2, [r4, #0x0]
- mov r1, #0x3
- and r1, r2
- cmp r1, #0x1
- bne _0202C74E
- mov r1, #0x13
- lsl r1, r1, #0x8
- ldr r2, [r0, r1]
- cmp r2, #0x0
- beq _0202C732
- sub r1, #0xe0
- add r0, r0, r1
- blx r2
-_0202C732:
- ldr r0, _0202C760 ; =0x021C59D8
- ldr r1, [r0, #0x4]
- ldr r0, _0202C76C ; =0x0000130E
- ldrh r0, [r1, r0]
- cmp r0, #0x0
- beq _0202C74E
- bl FUN_0202C794
- cmp r0, #0x0
- bne _0202C75C
- mov r0, #0x9
- bl FUN_0202C198
- pop {r4, pc}
-_0202C74E:
- bl FUN_0202C5D8
- cmp r0, #0x0
- bne _0202C75C
- mov r0, #0x9
- bl FUN_0202C198
-_0202C75C:
- pop {r4, pc}
- nop
-_0202C760: .word 0x021C59D8
-_0202C764: .word 0x00001310
-_0202C768: .word 0x00001320
-_0202C76C: .word 0x0000130E
-
- thumb_func_start FUN_0202C770
-FUN_0202C770: ; 0x0202C770
- push {r3, lr}
- ldr r0, _0202C78C ; =0x021C59D8
- ldr r1, [r0, #0x4]
- ldr r0, _0202C790 ; =0x00001310
- ldr r0, [r1, r0]
- cmp r0, #0x2
- beq _0202C782
- mov r0, #0x0
- pop {r3, pc}
-_0202C782:
- mov r0, #0x3
- bl FUN_0202C198
- mov r0, #0x1
- pop {r3, pc}
- .balign 4
-_0202C78C: .word 0x021C59D8
-_0202C790: .word 0x00001310
-
- thumb_func_start FUN_0202C794
-FUN_0202C794: ; 0x0202C794
- push {r3, lr}
- ldr r0, _0202C7AC ; =FUN_0202C7B0
- blx WM_EndScan
- cmp r0, #0x2
- beq _0202C7A8
- bl FUN_0202C1AC
- mov r0, #0x0
- pop {r3, pc}
-_0202C7A8:
- mov r0, #0x1
- pop {r3, pc}
- .balign 4
-_0202C7AC: .word FUN_0202C7B0
-
- thumb_func_start FUN_0202C7B0
-FUN_0202C7B0: ; 0x0202C7B0
- push {r3, lr}
- ldrh r0, [r0, #0x2]
- cmp r0, #0x0
- beq _0202C7BE
- bl FUN_0202C1AC
- pop {r3, pc}
-_0202C7BE:
- mov r0, #0x1
- bl FUN_0202C198
- ldr r0, _0202C7E0 ; =0x021C59D8
- ldr r1, [r0, #0x4]
- ldr r0, _0202C7E4 ; =0x0000130E
- ldrh r0, [r1, r0]
- cmp r0, #0x0
- beq _0202C7DE
- bl FUN_0202C7E8
- cmp r0, #0x0
- bne _0202C7DE
- mov r0, #0x9
- bl FUN_0202C198
-_0202C7DE:
- pop {r3, pc}
- .balign 4
-_0202C7E0: .word 0x021C59D8
-_0202C7E4: .word 0x0000130E
-
- thumb_func_start FUN_0202C7E8
-FUN_0202C7E8: ; 0x0202C7E8
- push {lr}
- sub sp, #0x24
- ldr r0, _0202C844 ; =0x021C59D8
- ldr r1, [r0, #0x4]
- ldr r0, _0202C848 ; =0x00001310
- ldr r0, [r1, r0]
- sub r0, r0, #0x4
- cmp r0, #0x2
- bhi _0202C800
- add sp, #0x24
- mov r0, #0x1
- pop {pc}
-_0202C800:
- mov r0, #0x3
- bl FUN_0202C198
- add r1, sp, #0x4
- ldr r0, _0202C84C ; =0x02105D54
- add r1, #0x1
- mov r2, #0x3
- blx MI_CpuCopy8
- bl FUN_02033534
- add r1, sp, #0x4
- strb r0, [r1, #0x0]
- mov r0, #0x0
- str r0, [sp, #0x0]
- ldr r1, _0202C844 ; =0x021C59D8
- ldr r0, _0202C850 ; =FUN_0202C858
- ldr r2, [r1, #0x4]
- ldr r1, _0202C854 ; =0x00001220
- mov r3, #0x1
- add r1, r2, r1
- add r2, sp, #0x4
- blx WM_StartConnectEx
- cmp r0, #0x2
- beq _0202C83E
- bl FUN_0202C1AC
- add sp, #0x24
- mov r0, #0x0
- pop {pc}
-_0202C83E:
- mov r0, #0x1
- add sp, #0x24
- pop {pc}
- .balign 4
-_0202C844: .word 0x021C59D8
-_0202C848: .word 0x00001310
-_0202C84C: .word 0x02105D54
-_0202C850: .word FUN_0202C858
-_0202C854: .word 0x00001220
-
- thumb_func_start FUN_0202C858
-FUN_0202C858: ; 0x0202C858
- push {r4, lr}
- add r4, r0, #0x0
- ldrh r0, [r4, #0x2]
- cmp r0, #0x0
- beq _0202C894
- bl FUN_0202C1AC
- ldrh r0, [r4, #0x2]
- cmp r0, #0xc
- bne _0202C874
- mov r0, #0x9
- bl FUN_0202C198
- pop {r4, pc}
-_0202C874:
- cmp r0, #0xb
- bne _0202C880
- mov r0, #0x9
- bl FUN_0202C198
- pop {r4, pc}
-_0202C880:
- cmp r0, #0x1
- bne _0202C88C
- mov r0, #0x8
- bl FUN_0202C198
- pop {r4, pc}
-_0202C88C:
- mov r0, #0x9
- bl FUN_0202C198
- pop {r4, pc}
-_0202C894:
- ldrh r0, [r4, #0x8]
- cmp r0, #0x8
- beq _0202C8FA
- cmp r0, #0x7
- bne _0202C8DA
- ldr r0, _0202C8FC ; =0x021C59D8
- ldr r1, [r0, #0x4]
- ldr r0, _0202C900 ; =0x00001335
- ldrb r0, [r1, r0]
- cmp r0, #0x0
- beq _0202C8B8
- mov r0, #0x14
- bl FUN_0202C1AC
- mov r0, #0x9
- bl FUN_0202C198
- pop {r4, pc}
-_0202C8B8:
- mov r0, #0x4
- bl FUN_0202C198
- bl FUN_0202C908
- cmp r0, #0x0
- bne _0202C8CE
- mov r0, #0x3
- bl FUN_0202C198
- pop {r4, pc}
-_0202C8CE:
- ldr r0, _0202C8FC ; =0x021C59D8
- ldrh r2, [r4, #0xa]
- ldr r1, [r0, #0x4]
- ldr r0, _0202C904 ; =0x0000132C
- strh r2, [r1, r0]
- pop {r4, pc}
-_0202C8DA:
- cmp r0, #0x6
- beq _0202C8FA
- cmp r0, #0x9
- bne _0202C8F0
- mov r0, #0x14
- bl FUN_0202C1AC
- mov r0, #0x9
- bl FUN_0202C198
- pop {r4, pc}
-_0202C8F0:
- cmp r0, #0x1a
- beq _0202C8FA
- mov r0, #0x9
- bl FUN_0202C198
-_0202C8FA:
- pop {r4, pc}
- .balign 4
-_0202C8FC: .word 0x021C59D8
-_0202C900: .word 0x00001335
-_0202C904: .word 0x0000132C
-
- thumb_func_start FUN_0202C908
-FUN_0202C908: ; 0x0202C908
- push {r4, lr}
- sub sp, #0x8
- ldr r0, _0202C948 ; =0x021C59D8
- ldr r2, _0202C94C ; =0x00001304
- ldr r4, [r0, #0x4]
- ldr r3, _0202C950 ; =0x00001020
- ldr r0, [r4, r2]
- add r1, r4, r3
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- str r0, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- add r2, r2, #0x4
- ldr r2, [r4, r2]
- sub r3, #0xe0
- lsl r2, r2, #0x10
- ldr r0, _0202C954 ; =FUN_0202C958
- lsr r2, r2, #0x10
- add r3, r4, r3
- blx WM_StartMP
- cmp r0, #0x2
- beq _0202C942
- bl FUN_0202C1AC
- add sp, #0x8
- mov r0, #0x0
- pop {r4, pc}
-_0202C942:
- mov r0, #0x1
- add sp, #0x8
- pop {r4, pc}
- .balign 4
-_0202C948: .word 0x021C59D8
-_0202C94C: .word 0x00001304
-_0202C950: .word 0x00001020
-_0202C954: .word FUN_0202C958
-
- thumb_func_start FUN_0202C958
-FUN_0202C958: ; 0x0202C958
- push {r3, lr}
- ldrh r1, [r0, #0x2]
- cmp r1, #0x0
- beq _0202C97A
- cmp r1, #0xf
- beq _0202C9B0
- cmp r1, #0x9
- beq _0202C9B0
- cmp r1, #0xd
- beq _0202C9B0
- add r0, r1, #0x0
- bl FUN_0202C1AC
- mov r0, #0x9
- bl FUN_0202C198
- pop {r3, pc}
-_0202C97A:
- ldrh r0, [r0, #0x4]
- sub r0, #0xa
- cmp r0, #0x3
- bhi _0202C9B0
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_0202C98E: ; jump table (using 16-bit offset)
- .short _0202C996 - _0202C98E - 2; case 0
- .short _0202C9B0 - _0202C98E - 2; case 1
- .short _0202C9B0 - _0202C98E - 2; case 2
- .short _0202C9B0 - _0202C98E - 2; case 3
-_0202C996:
- ldr r0, _0202C9B4 ; =0x021C59D8
- ldr r2, [r0, #0x4]
- ldr r0, _0202C9B8 ; =0x00001314
- ldr r1, [r2, r0]
- cmp r1, #0x3
- bne _0202C9AA
- sub r0, r0, #0x4
- ldr r0, [r2, r0]
- cmp r0, #0x6
- beq _0202C9B0
-_0202C9AA:
- mov r0, #0x4
- bl FUN_0202C198
-_0202C9B0:
- pop {r3, pc}
- nop
-_0202C9B4: .word 0x021C59D8
-_0202C9B8: .word 0x00001314
-
- thumb_func_start FUN_0202C9BC
-FUN_0202C9BC: ; 0x0202C9BC
- push {r3, lr}
- mov r0, #0x3
- bl FUN_0202C198
- ldr r0, _0202C9DC ; =FUN_0202C9E0
- blx WM_EndMP
- cmp r0, #0x2
- beq _0202C9D6
- bl FUN_0202C1AC
- mov r0, #0x0
- pop {r3, pc}
-_0202C9D6:
- mov r0, #0x1
- pop {r3, pc}
- nop
-_0202C9DC: .word FUN_0202C9E0
-
- thumb_func_start FUN_0202C9E0
-FUN_0202C9E0: ; 0x0202C9E0
- push {r3, lr}
- ldrh r0, [r0, #0x2]
- cmp r0, #0x0
- beq _0202C9F2
- bl FUN_0202C1AC
- bl FUN_0202D100
- pop {r3, pc}
-_0202C9F2:
- bl FUN_0202CA04
- cmp r0, #0x0
- bne _0202CA00
- mov r0, #0x9
- bl FUN_0202C198
-_0202CA00:
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0202CA04
-FUN_0202CA04: ; 0x0202CA04
- push {r3, lr}
- mov r0, #0x3
- bl FUN_0202C198
- ldr r0, _0202CA28 ; =FUN_0202CA2C
- mov r1, #0x0
- blx WM_Disconnect
- cmp r0, #0x2
- beq _0202CA24
- bl FUN_0202C1AC
- bl FUN_0202D0D8
- mov r0, #0x0
- pop {r3, pc}
-_0202CA24:
- mov r0, #0x1
- pop {r3, pc}
- .balign 4
-_0202CA28: .word FUN_0202CA2C
-
- thumb_func_start FUN_0202CA2C
-FUN_0202CA2C: ; 0x0202CA2C
- push {r3, lr}
- ldrh r0, [r0, #0x2]
- cmp r0, #0x0
- beq _0202CA3A
- bl FUN_0202C1AC
- pop {r3, pc}
-_0202CA3A:
- mov r0, #0x1
- bl FUN_0202C198
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0202CA44
-FUN_0202CA44: ; 0x0202CA44
- push {r3, lr}
- mov r0, #0x3
- bl FUN_0202C198
- ldr r0, _0202CA64 ; =FUN_0202CA68
- blx WM_Reset
- cmp r0, #0x2
- beq _0202CA5E
- bl FUN_0202C1AC
- mov r0, #0x0
- pop {r3, pc}
-_0202CA5E:
- mov r0, #0x1
- pop {r3, pc}
- nop
-_0202CA64: .word FUN_0202CA68
-
- thumb_func_start FUN_0202CA68
-FUN_0202CA68: ; 0x0202CA68
- push {r4, lr}
- add r4, r0, #0x0
- ldrh r0, [r4, #0x2]
- cmp r0, #0x0
- beq _0202CA80
- mov r0, #0x9
- bl FUN_0202C198
- ldrh r0, [r4, #0x2]
- bl FUN_0202C1AC
- pop {r4, pc}
-_0202CA80:
- mov r0, #0x1
- bl FUN_0202C198
- pop {r4, pc}
-
- thumb_func_start FUN_0202CA88
-FUN_0202CA88: ; 0x0202CA88
- push {r4-r7, lr}
- sub sp, #0xc
- add r5, r0, #0x0
- ldr r0, _0202CAD0 ; =0x021C59D8
- add r6, r1, #0x0
- add r4, r2, #0x0
- ldr r1, [r0, #0x4]
- mov r0, #0x3d
- lsl r0, r0, #0x6
- ldr r2, _0202CAD4 ; =0x00001304
- add r0, r1, r0
- ldr r1, [r1, r2]
- add r7, r3, #0x0
- blx DC_FlushRange
- ldr r0, _0202CAD8 ; =0x0000FFFF
- add r1, r7, #0x0
- str r0, [sp, #0x0]
- lsl r0, r4, #0x10
- lsr r0, r0, #0x10
- str r0, [sp, #0x4]
- mov r0, #0x2
- str r0, [sp, #0x8]
- ldr r0, _0202CADC ; =FUN_0202CAE0
- add r2, r5, #0x0
- add r3, r6, #0x0
- blx WM_SetMPDataToPortEx
- cmp r0, #0x2
- bne _0202CACA
- add sp, #0xc
- mov r0, #0x1
- pop {r4-r7, pc}
-_0202CACA:
- mov r0, #0x0
- add sp, #0xc
- pop {r4-r7, pc}
- .balign 4
-_0202CAD0: .word 0x021C59D8
-_0202CAD4: .word 0x00001304
-_0202CAD8: .word 0x0000FFFF
-_0202CADC: .word FUN_0202CAE0
-
- thumb_func_start FUN_0202CAE0
-FUN_0202CAE0: ; 0x0202CAE0
- push {r3, lr}
- ldrh r1, [r0, #0x2]
- cmp r1, #0x0
- beq _0202CAF4
- cmp r1, #0xf
- beq _0202CAF4
- add r0, r1, #0x0
- bl FUN_0202C1AC
- pop {r3, pc}
-_0202CAF4:
- ldr r2, [r0, #0x20]
- cmp r2, #0x0
- beq _0202CB06
- cmp r1, #0x0
- bne _0202CB02
- mov r0, #0x1
- b _0202CB04
-_0202CB02:
- mov r0, #0x0
-_0202CB04:
- blx r2
-_0202CB06:
- pop {r3, pc}
-
- thumb_func_start FUN_0202CB08
-FUN_0202CB08: ; 0x0202CB08
- push {r3, lr}
- add r2, r0, #0x0
- ldrh r0, [r2, #0x2]
- cmp r0, #0x0
- beq _0202CB18
- bl FUN_0202C1AC
- pop {r3, pc}
-_0202CB18:
- ldr r0, _0202CB48 ; =0x021C59D8
- ldr r1, [r0, #0x4]
- ldr r0, _0202CB4C ; =0x00001318
- ldr r3, [r1, r0]
- cmp r3, #0x0
- beq _0202CB44
- ldrh r0, [r2, #0x4]
- cmp r0, #0x19
- beq _0202CB44
- cmp r0, #0x15
- bne _0202CB38
- ldrh r0, [r2, #0x12]
- ldr r1, [r2, #0xc]
- ldrh r2, [r2, #0x10]
- blx r3
- pop {r3, pc}
-_0202CB38:
- cmp r0, #0x9
- bne _0202CB44
- ldrh r0, [r2, #0x12]
- mov r1, #0x0
- add r2, r1, #0x0
- blx r3
-_0202CB44:
- pop {r3, pc}
- nop
-_0202CB48: .word 0x021C59D8
-_0202CB4C: .word 0x00001318
-
- thumb_func_start FUN_0202CB50
-FUN_0202CB50: ; 0x0202CB50
- push {r3, lr}
- ldrh r0, [r0, #0x2]
- cmp r0, #0x0
- beq _0202CB60
- mov r0, #0xa
- bl FUN_0202C198
- pop {r3, pc}
-_0202CB60:
- mov r0, #0x0
- add r1, r0, #0x0
- blx FUN_02090CC8
- mov r0, #0x0
- bl FUN_0202C198
- pop {r3, pc}
-
- thumb_func_start FUN_0202CB70
-FUN_0202CB70: ; 0x0202CB70
- ldr r1, _0202CB78 ; =0x021C59D8
- ldr r1, [r1, #0x4]
- str r0, [r1, #0x8]
- bx lr
- .balign 4
-_0202CB78: .word 0x021C59D8
-
- thumb_func_start FUN_0202CB7C
-FUN_0202CB7C: ; 0x0202CB7C
- ldr r2, _0202CB88 ; =0x021C59D8
- ldr r3, [r2, #0x4]
- str r0, [r3, #0x0]
- ldr r0, [r2, #0x4]
- strh r1, [r0, #0x4]
- bx lr
- .balign 4
-_0202CB88: .word 0x021C59D8
-
- thumb_func_start FUN_0202CB8C
-FUN_0202CB8C: ; 0x0202CB8C
- ldr r0, _0202CB98 ; =0x021C59D8
- ldr r1, [r0, #0x4]
- ldr r0, _0202CB9C ; =0x0000132E
- ldrh r0, [r1, r0]
- bx lr
- nop
-_0202CB98: .word 0x021C59D8
-_0202CB9C: .word 0x0000132E
-
- thumb_func_start FUN_0202CBA0
-FUN_0202CBA0: ; 0x0202CBA0
- push {r3-r4}
- ldr r0, _0202CBCC ; =0x021C59D8
- mov r2, #0x0
- ldr r1, [r0, #0x4]
- ldr r0, _0202CBD0 ; =0x0000132E
- add r3, r2, #0x0
- ldrh r4, [r1, r0]
- mov r1, #0x1
-_0202CBB0:
- add r0, r4, #0x0
- tst r0, r1
- beq _0202CBB8
- add r2, r2, #0x1
-_0202CBB8:
- lsl r0, r4, #0xf
- add r3, r3, #0x1
- lsr r4, r0, #0x10
- cmp r3, #0x10
- blt _0202CBB0
- lsl r0, r2, #0x10
- lsr r0, r0, #0x10
- pop {r3-r4}
- bx lr
- nop
-_0202CBCC: .word 0x021C59D8
-_0202CBD0: .word 0x0000132E
-
- thumb_func_start FUN_0202CBD4
-FUN_0202CBD4: ; 0x0202CBD4
- ldr r0, _0202CBE0 ; =0x021C59D8
- ldr r1, [r0, #0x4]
- ldr r0, _0202CBE4 ; =0x00001310
- ldr r0, [r1, r0]
- bx lr
- nop
-_0202CBE0: .word 0x021C59D8
-_0202CBE4: .word 0x00001310
-
- thumb_func_start FUN_0202CBE8
-FUN_0202CBE8: ; 0x0202CBE8
- ldr r0, _0202CBF4 ; =0x021C59D8
- ldr r1, [r0, #0x4]
- ldr r0, _0202CBF8 ; =0x00001330
- ldr r0, [r1, r0]
- bx lr
- nop
-_0202CBF4: .word 0x021C59D8
-_0202CBF8: .word 0x00001330
-
- thumb_func_start FUN_0202CBFC
-FUN_0202CBFC: ; 0x0202CBFC
- push {r3-r5, lr}
- sub sp, #0x8
- add r0, sp, #0x0
- blx OS_GetMacAddress
- ldr r0, _0202CC84 ; =0x027FFC3C
- ldr r3, [r0, #0x0]
- add r0, sp, #0x0
- ldrh r2, [r0, #0x4]
- ldrh r1, [r0, #0x2]
- ldrh r0, [r0, #0x0]
- add r0, r0, r3
- add r0, r1, r0
- add r1, r2, r0
- ldr r3, _0202CC88 ; =0x021C59D8
- ldr r2, _0202CC8C ; =0x00001338
- ldr r0, [r3, #0x4]
- str r1, [r0, r2]
- ldr r0, [r3, #0x4]
- ldr r1, _0202CC90 ; =0x00010DCD
- ldr r4, [r0, r2]
- add r5, r4, #0x0
- mul r5, r1
- ldr r1, _0202CC94 ; =0x00003039
- mov r4, #0x0
- add r1, r5, r1
- str r1, [r0, r2]
- ldr r1, [r3, #0x4]
- add r0, r2, #0x4
- strh r4, [r1, r0]
- ldr r1, [r3, #0x4]
- mov r4, #0x65
- add r0, r2, #0x6
- strh r4, [r1, r0]
- mov r0, #0x3
- bl FUN_0202C198
- mov r0, #0x1
- bl FUN_0202CC98
- cmp r0, #0x18
- bne _0202CC68
- mov r0, #0x18
- bl FUN_0202C1AC
- mov r0, #0x9
- bl FUN_0202C198
- mov r0, #0x1
- bl FUN_020336A0
- add sp, #0x8
- mov r0, #0x0
- pop {r3-r5, pc}
-_0202CC68:
- cmp r0, #0x2
- beq _0202CC7C
- bl FUN_0202C1AC
- mov r0, #0x9
- bl FUN_0202C198
- add sp, #0x8
- mov r0, #0x0
- pop {r3-r5, pc}
-_0202CC7C:
- mov r0, #0x1
- add sp, #0x8
- pop {r3-r5, pc}
- nop
-_0202CC84: .word 0x027FFC3C
-_0202CC88: .word 0x021C59D8
-_0202CC8C: .word 0x00001338
-_0202CC90: .word 0x00010DCD
-_0202CC94: .word 0x00003039
-
- thumb_func_start FUN_0202CC98
-FUN_0202CC98: ; 0x0202CC98
- push {r4, lr}
- add r4, r0, #0x0
- blx WM_GetAllowedChannel
- mov r1, #0x2
- lsl r1, r1, #0xe
- cmp r0, r1
- bne _0202CCBE
- mov r0, #0x3
- bl FUN_0202C1AC
- mov r0, #0x9
- bl FUN_0202C198
- mov r0, #0x1
- bl FUN_020336A0
- mov r0, #0x3
- pop {r4, pc}
-_0202CCBE:
- cmp r0, #0x0
- bne _0202CCD8
- mov r0, #0x16
- bl FUN_0202C1AC
- mov r0, #0x9
- bl FUN_0202C198
- mov r0, #0x1
- bl FUN_020336A0
- mov r0, #0x18
- pop {r4, pc}
-_0202CCD8:
- mov r2, #0x1
- sub r1, r4, #0x1
- lsl r2, r1
- add r1, r2, #0x0
- tst r1, r0
- bne _0202CD00
- mov r2, #0x1
-_0202CCE6:
- add r1, r4, #0x1
- lsl r1, r1, #0x10
- lsr r4, r1, #0x10
- cmp r4, #0x10
- bls _0202CCF4
- mov r0, #0x18
- pop {r4, pc}
-_0202CCF4:
- sub r1, r4, #0x1
- add r3, r2, #0x0
- lsl r3, r1
- add r1, r3, #0x0
- tst r1, r0
- beq _0202CCE6
-_0202CD00:
- ldr r0, _0202CD10 ; =FUN_0202CD14
- add r1, r4, #0x0
- bl FUN_0202CD90
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- pop {r4, pc}
- nop
-_0202CD10: .word FUN_0202CD14
-
- thumb_func_start FUN_0202CD14
-FUN_0202CD14: ; 0x0202CD14
- push {r3-r5, lr}
- ldrh r1, [r0, #0x2]
- cmp r1, #0x0
- beq _0202CD30
- add r0, r1, #0x0
- bl FUN_0202C1AC
- mov r0, #0x9
- bl FUN_0202C198
- mov r0, #0x1
- bl FUN_020336A0
- pop {r3-r5, pc}
-_0202CD30:
- ldr r2, _0202CD88 ; =0x021C59D8
- ldrh r1, [r0, #0x8]
- ldrh r5, [r0, #0xa]
- ldr r0, [r2, #0x4]
- ldr r3, _0202CD8C ; =0x0000133E
- ldrh r4, [r0, r3]
- cmp r4, r5
- bls _0202CD50
- strh r5, [r0, r3]
- mov r4, #0x1
- sub r0, r1, #0x1
- lsl r4, r0
- ldr r2, [r2, #0x4]
- add r0, r3, #0x2
- strh r4, [r2, r0]
- b _0202CD64
-_0202CD50:
- cmp r4, r5
- bne _0202CD64
- add r2, r3, #0x2
- ldrh r5, [r0, r2]
- mov r4, #0x1
- sub r2, r1, #0x1
- lsl r4, r2
- orr r4, r5
- add r2, r3, #0x2
- strh r4, [r0, r2]
-_0202CD64:
- add r0, r1, #0x1
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- bl FUN_0202CC98
- cmp r0, #0x18
- bne _0202CD7A
- mov r0, #0x7
- bl FUN_0202C198
- pop {r3-r5, pc}
-_0202CD7A:
- cmp r0, #0x2
- beq _0202CD84
- mov r0, #0x9
- bl FUN_0202C198
-_0202CD84:
- pop {r3-r5, pc}
- nop
-_0202CD88: .word 0x021C59D8
-_0202CD8C: .word 0x0000133E
-
- thumb_func_start FUN_0202CD90
-FUN_0202CD90: ; 0x0202CD90
- push {r3, lr}
- add r3, r1, #0x0
- mov r1, #0x1e
- str r1, [sp, #0x0]
- mov r1, #0x3
- mov r2, #0x11
- blx WM_MeasureChannel
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0202CDA4
-FUN_0202CDA4: ; 0x0202CDA4
- push {r3, lr}
- mov r0, #0x1
- bl FUN_0202C198
- ldr r0, _0202CDC8 ; =0x021C59D8
- ldr r1, [r0, #0x4]
- mov r0, #0x4d
- lsl r0, r0, #0x6
- ldrh r0, [r1, r0]
- bl FUN_0202CDD0
- ldr r2, _0202CDC8 ; =0x021C59D8
- ldr r1, _0202CDCC ; =0x0000133C
- ldr r3, [r2, #0x4]
- strh r0, [r3, r1]
- ldr r0, [r2, #0x4]
- ldrh r0, [r0, r1]
- pop {r3, pc}
- .balign 4
-_0202CDC8: .word 0x021C59D8
-_0202CDCC: .word 0x0000133C
-
- thumb_func_start FUN_0202CDD0
-FUN_0202CDD0: ; 0x0202CDD0
- push {r4-r7}
- add r4, r0, #0x0
- mov r0, #0x0
- add r3, r0, #0x0
- add r2, r0, #0x0
- mov r1, #0x1
-_0202CDDC:
- add r5, r1, #0x0
- lsl r5, r2
- tst r5, r4
- beq _0202CDF0
- add r0, r2, #0x1
- add r3, r3, #0x1
- lsl r0, r0, #0x10
- lsl r3, r3, #0x10
- asr r0, r0, #0x10
- lsr r3, r3, #0x10
-_0202CDF0:
- add r2, r2, #0x1
- lsl r2, r2, #0x10
- asr r2, r2, #0x10
- cmp r2, #0x10
- blt _0202CDDC
- cmp r3, #0x1
- bls _0202CE4E
- ldr r5, _0202CE54 ; =0x021C59D8
- ldr r2, _0202CE58 ; =0x00001338
- ldr r0, [r5, #0x4]
- ldr r1, _0202CE5C ; =0x00010DCD
- ldr r6, [r0, r2]
- add r7, r6, #0x0
- mul r7, r1
- ldr r1, _0202CE60 ; =0x00003039
- add r1, r7, r1
- str r1, [r0, r2]
- ldr r0, [r5, #0x4]
- mov r1, #0x1
- ldr r0, [r0, r2]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- mul r0, r3
- lsl r0, r0, #0x8
- lsr r2, r0, #0x10
- mov r3, #0x0
-_0202CE24:
- add r0, r4, #0x0
- tst r0, r1
- beq _0202CE3E
- cmp r2, #0x0
- bne _0202CE38
- add r0, r3, #0x1
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- pop {r4-r7}
- bx lr
-_0202CE38:
- sub r0, r2, #0x1
- lsl r0, r0, #0x10
- lsr r2, r0, #0x10
-_0202CE3E:
- lsl r0, r4, #0xf
- lsr r4, r0, #0x10
- add r0, r3, #0x1
- lsl r0, r0, #0x10
- asr r3, r0, #0x10
- cmp r3, #0x10
- blt _0202CE24
- mov r0, #0x0
-_0202CE4E:
- pop {r4-r7}
- bx lr
- nop
-_0202CE54: .word 0x021C59D8
-_0202CE58: .word 0x00001338
-_0202CE5C: .word 0x00010DCD
-_0202CE60: .word 0x00003039
-
- thumb_func_start FUN_0202CE64
-FUN_0202CE64: ; 0x0202CE64
- push {r3-r5, lr}
- lsl r1, r0, #0x1b
- lsr r2, r1, #0x1b
- beq _0202CE72
- mov r1, #0x20
- sub r1, r1, r2
- add r0, r0, r1
-_0202CE72:
- ldr r2, _0202CEE4 ; =0x021C59D8
- ldr r1, _0202CEE8 ; =0x00001308
- str r0, [r2, #0x4]
- mov r3, #0x0
- str r3, [r0, r1]
- ldr r4, [r2, #0x4]
- sub r0, r1, #0x4
- str r3, [r4, r0]
- add r0, r1, #0x0
- ldr r4, [r2, #0x4]
- add r0, #0x10
- str r3, [r4, r0]
- add r0, r1, #0x0
- ldr r4, [r2, #0x4]
- add r0, #0x24
- strh r3, [r4, r0]
- add r0, r1, #0x0
- ldr r4, [r2, #0x4]
- mov r5, #0x1
- add r0, #0x26
- strh r5, [r4, r0]
- add r0, r1, #0x0
- ldr r4, [r2, #0x4]
- add r0, #0x28
- str r3, [r4, r0]
- add r0, r1, #0x0
- ldr r4, [r2, #0x4]
- add r0, #0x8
- str r3, [r4, r0]
- ldr r0, [r2, #0x4]
- mov r5, #0x8
- str r3, [r0, #0x0]
- ldr r0, [r2, #0x4]
- strh r3, [r0, #0x4]
- add r0, r1, #0x0
- ldr r4, [r2, #0x4]
- add r0, #0x14
- str r3, [r4, r0]
- add r0, r1, #0x0
- ldr r4, [r2, #0x4]
- add r0, #0x2c
- strb r5, [r4, r0]
- add r0, r1, #0x0
- ldr r4, [r2, #0x4]
- add r0, #0x2d
- strb r3, [r4, r0]
- ldr r0, [r2, #0x4]
- add r1, #0x3a
- strb r3, [r0, r1]
- bl FUN_0202CF0C
- cmp r0, #0x0
- bne _0202CEE0
- mov r0, #0x0
- pop {r3-r5, pc}
-_0202CEE0:
- mov r0, #0x1
- pop {r3-r5, pc}
- .balign 4
-_0202CEE4: .word 0x021C59D8
-_0202CEE8: .word 0x00001308
-
- thumb_func_start FUN_0202CEEC
-FUN_0202CEEC: ; 0x0202CEEC
- mov r0, #0x4e
- lsl r0, r0, #0x6
- bx lr
- .balign 4
-
- thumb_func_start FUN_0202CEF4
-FUN_0202CEF4: ; 0x0202CEF4
- push {r3, lr}
- ldrh r0, [r0, #0x2]
- cmp r0, #0x8
- bne _0202CF08
- mov r0, #0x9
- bl FUN_0202C198
- mov r0, #0x19
- bl FUN_0202C1AC
-_0202CF08:
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0202CF0C
-FUN_0202CF0C: ; 0x0202CF0C
- push {r3, lr}
- mov r0, #0x3
- bl FUN_0202C198
- ldr r0, _0202CF38 ; =0x021C59D8
- ldr r1, _0202CF3C ; =FUN_0202CF40
- ldr r0, [r0, #0x4]
- mov r2, #0x2
- add r0, #0x40
- blx WM_Initialize
- cmp r0, #0x2
- beq _0202CF34
- bl FUN_0202C1AC
- mov r0, #0xa
- bl FUN_0202C198
- mov r0, #0x0
- pop {r3, pc}
-_0202CF34:
- mov r0, #0x1
- pop {r3, pc}
- .balign 4
-_0202CF38: .word 0x021C59D8
-_0202CF3C: .word FUN_0202CF40
-
- thumb_func_start FUN_0202CF40
-FUN_0202CF40: ; 0x0202CF40
- push {r3, lr}
- ldrh r0, [r0, #0x2]
- cmp r0, #0x0
- beq _0202CF5A
- bl FUN_0202C1AC
- mov r0, #0xa
- bl FUN_0202C198
- mov r0, #0x1
- bl FUN_020336A0
- pop {r3, pc}
-_0202CF5A:
- ldr r0, _0202CF80 ; =FUN_0202CEF4
- blx WM_SetIndCallback
- cmp r0, #0x0
- beq _0202CF76
- bl FUN_0202C1AC
- mov r0, #0xa
- bl FUN_0202C198
- mov r0, #0x1
- bl FUN_020336A0
- pop {r3, pc}
-_0202CF76:
- mov r0, #0x1
- bl FUN_0202C198
- pop {r3, pc}
- nop
-_0202CF80: .word FUN_0202CEF4
-
- thumb_func_start FUN_0202CF84
-FUN_0202CF84: ; 0x0202CF84
- push {r3-r7, lr}
- add r6, r1, #0x0
- ldr r1, _0202D02C ; =0x021C59D8
- add r5, r0, #0x0
- add r7, r2, #0x0
- mov r0, #0x7
- ldr r2, [r1, #0x4]
- ldr r1, _0202D030 ; =0x00001308
- lsl r0, r0, #0x6
- str r0, [r2, r1]
- ldr r0, _0202D02C ; =0x021C59D8
- add r4, r3, #0x0
- ldr r2, [r0, #0x4]
- sub r0, r1, #0x4
- mov r3, #0xe0
- str r3, [r2, r0]
- ldr r0, _0202D02C ; =0x021C59D8
- add r1, #0xc
- ldr r0, [r0, #0x4]
- str r5, [r0, r1]
- mov r0, #0x3
- bl FUN_0202C198
- ldr r1, _0202D02C ; =0x021C59D8
- cmp r5, #0x0
- ldr r0, [r1, #0x4]
- strh r6, [r0, #0xc]
- ldr r0, [r1, #0x4]
- strh r7, [r0, #0x32]
- add r0, sp, #0x8
- ldrh r2, [r0, #0x10]
- ldr r0, [r1, #0x4]
- strh r2, [r0, #0x18]
- beq _0202CFCE
- cmp r5, #0x4
- beq _0202CFE8
- b _0202CFF4
-_0202CFCE:
- ldr r0, [r1, #0x4]
- mov r2, #0xc0
- strh r2, [r0, #0x34]
- cmp r4, #0x5
- blo _0202CFE0
- ldr r0, [r1, #0x4]
- mov r2, #0xc
- strh r2, [r0, #0x36]
- b _0202CFF4
-_0202CFE0:
- ldr r0, [r1, #0x4]
- mov r2, #0x26
- strh r2, [r0, #0x36]
- b _0202CFF4
-_0202CFE8:
- ldr r0, [r1, #0x4]
- mov r2, #0x64
- strh r2, [r0, #0x34]
- ldr r0, [r1, #0x4]
- mov r2, #0xc
- strh r2, [r0, #0x36]
-_0202CFF4:
- ldr r1, _0202D02C ; =0x021C59D8
- ldr r0, [r1, #0x4]
- strh r4, [r0, #0x10]
- ldr r2, [r1, #0x4]
- mov r0, #0x0
- strh r0, [r2, #0x16]
- ldr r2, [r1, #0x4]
- cmp r5, #0x2
- strh r0, [r2, #0x12]
- ldr r2, [sp, #0x1c]
- ldr r1, [r1, #0x4]
- strh r2, [r1, #0xe]
- bne _0202D010
- mov r0, #0x1
-_0202D010:
- ldr r1, _0202D02C ; =0x021C59D8
- cmp r5, #0x0
- ldr r1, [r1, #0x4]
- strh r0, [r1, #0x14]
- beq _0202D022
- cmp r5, #0x2
- beq _0202D022
- cmp r5, #0x4
- bne _0202D028
-_0202D022:
- bl FUN_0202C1C8
- pop {r3-r7, pc}
-_0202D028:
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-_0202D02C: .word 0x021C59D8
-_0202D030: .word 0x00001308
-
- thumb_func_start FUN_0202D034
-FUN_0202D034: ; 0x0202D034
- push {r4-r6, lr}
- ldr r2, _0202D094 ; =0x021C59D8
- add r5, r0, #0x0
- add r4, r1, #0x0
- mov r3, #0x2
- ldr r0, [r2, #0x4]
- ldr r1, _0202D098 ; =0x00001308
- lsl r3, r3, #0x8
- str r3, [r0, r1]
- sub r0, r1, #0x4
- ldr r3, [r2, #0x4]
- mov r6, #0x40
- str r6, [r3, r0]
- ldr r0, [r2, #0x4]
- add r1, #0xc
- str r5, [r0, r1]
- mov r0, #0x3
- bl FUN_0202C198
- cmp r5, #0x1
- beq _0202D066
- cmp r5, #0x3
- beq _0202D066
- cmp r5, #0x5
- bne _0202D08E
-_0202D066:
- ldr r1, _0202D094 ; =0x021C59D8
- add r0, r4, #0x0
- ldr r2, [r1, #0x4]
- ldr r1, _0202D09C ; =0x00001220
- add r1, r2, r1
- mov r2, #0xc0
- blx MI_CpuCopy8
- ldr r0, _0202D094 ; =0x021C59D8
- ldr r1, [r0, #0x4]
- ldr r0, _0202D09C ; =0x00001220
- add r0, r1, r0
- mov r1, #0xc0
- blx DC_FlushRange
- blx DC_WaitWriteBufferEmpty
- bl FUN_0202C7E8
- pop {r4-r6, pc}
-_0202D08E:
- mov r0, #0x0
- pop {r4-r6, pc}
- nop
-_0202D094: .word 0x021C59D8
-_0202D098: .word 0x00001308
-_0202D09C: .word 0x00001220
-
- thumb_func_start FUN_0202D0A0
-FUN_0202D0A0: ; 0x0202D0A0
- push {r3, lr}
- ldr r2, _0202D0C4 ; =0x021C59D8
- ldr r3, [r2, #0x4]
- ldr r2, _0202D0C8 ; =0x00001318
- str r0, [r3, r2]
- lsl r0, r1, #0x10
- ldr r1, _0202D0CC ; =FUN_0202CB08
- lsr r0, r0, #0x10
- mov r2, #0x0
- blx WM_SetPortCallback
- cmp r0, #0x0
- beq _0202D0C2
- mov r0, #0x9
- bl FUN_0202C198
-_0202D0C0:
- b _0202D0C0
-_0202D0C2:
- pop {r3, pc}
- .balign 4
-_0202D0C4: .word 0x021C59D8
-_0202D0C8: .word 0x00001318
-_0202D0CC: .word FUN_0202CB08
-
- thumb_func_start FUN_0202D0D0
-FUN_0202D0D0: ; 0x0202D0D0
- push {r3, lr}
- bl FUN_0202CA88
- pop {r3, pc}
-
- thumb_func_start FUN_0202D0D8
-FUN_0202D0D8: ; 0x0202D0D8
- push {r3, lr}
- ldr r0, _0202D0F8 ; =0x021C59D8
- ldr r1, [r0, #0x4]
- ldr r0, _0202D0FC ; =0x00001310
- ldr r0, [r1, r0]
- cmp r0, #0x2
- bne _0202D0E8
-_0202D0E6:
- b _0202D0E6
-_0202D0E8:
- bl FUN_0202CA44
- cmp r0, #0x0
- bne _0202D0F6
- mov r0, #0xa
- bl FUN_0202C198
-_0202D0F6:
- pop {r3, pc}
- .balign 4
-_0202D0F8: .word 0x021C59D8
-_0202D0FC: .word 0x00001310
-
- thumb_func_start FUN_0202D100
-FUN_0202D100: ; 0x0202D100
- push {r3, lr}
- ldr r0, _0202D16C ; =0x021C59D8
- ldr r1, [r0, #0x4]
- ldr r0, _0202D170 ; =0x00001310
- ldr r0, [r1, r0]
- cmp r0, #0x1
- beq _0202D16A
- cmp r0, #0x6
- beq _0202D126
- cmp r0, #0x5
- beq _0202D126
- cmp r0, #0x4
- beq _0202D126
- mov r0, #0x3
- bl FUN_0202C198
- bl FUN_0202D0D8
- pop {r3, pc}
-_0202D126:
- mov r0, #0x3
- bl FUN_0202C198
- ldr r0, _0202D16C ; =0x021C59D8
- ldr r1, [r0, #0x4]
- ldr r0, _0202D174 ; =0x00001314
- ldr r0, [r1, r0]
- cmp r0, #0x5
- bhi _0202D16A
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_0202D144: ; jump table (using 16-bit offset)
- .short _0202D15E - _0202D144 - 2; case 0
- .short _0202D150 - _0202D144 - 2; case 1
- .short _0202D16A - _0202D144 - 2; case 2
- .short _0202D16A - _0202D144 - 2; case 3
- .short _0202D15E - _0202D144 - 2; case 4
- .short _0202D150 - _0202D144 - 2; case 5
-_0202D150:
- bl FUN_0202C9BC
- cmp r0, #0x0
- bne _0202D16A
- bl FUN_0202D0D8
- pop {r3, pc}
-_0202D15E:
- bl FUN_0202C460
- cmp r0, #0x0
- bne _0202D16A
- bl FUN_0202D0D8
-_0202D16A:
- pop {r3, pc}
- .balign 4
-_0202D16C: .word 0x021C59D8
-_0202D170: .word 0x00001310
-_0202D174: .word 0x00001314
-
- thumb_func_start FUN_0202D178
-FUN_0202D178: ; 0x0202D178
- push {r3, lr}
- mov r0, #0x3
- bl FUN_0202C198
- ldr r0, _0202D198 ; =FUN_0202CB50
- blx WM_End
- cmp r0, #0x2
- beq _0202D194
- mov r0, #0x9
- bl FUN_0202C198
- mov r0, #0x0
- pop {r3, pc}
-_0202D194:
- mov r0, #0x1
- pop {r3, pc}
- .balign 4
-_0202D198: .word FUN_0202CB50
-
- thumb_func_start FUN_0202D19C
-FUN_0202D19C: ; 0x0202D19C
- ldr r0, _0202D1A8 ; =0x021C59D8
- ldr r1, [r0, #0x4]
- ldr r0, _0202D1AC ; =0x0000132C
- ldrh r0, [r1, r0]
- bx lr
- nop
-_0202D1A8: .word 0x021C59D8
-_0202D1AC: .word 0x0000132C
-
- thumb_func_start FUN_0202D1B0
-FUN_0202D1B0: ; 0x0202D1B0
- ldr r1, _0202D1C0 ; =0x021C59D8
- ldr r2, [r1, #0x4]
- cmp r2, #0x0
- beq _0202D1BC
- ldr r1, _0202D1C4 ; =0x00001334
- strb r0, [r2, r1]
-_0202D1BC:
- bx lr
- nop
-_0202D1C0: .word 0x021C59D8
-_0202D1C4: .word 0x00001334
-
- thumb_func_start FUN_0202D1C8
-FUN_0202D1C8: ; 0x0202D1C8
- ldr r0, _0202D1DC ; =0x021C59D8
- ldr r1, [r0, #0x4]
- ldr r0, _0202D1E0 ; =0x00001310
- ldr r0, [r1, r0]
- cmp r0, #0x1
- bne _0202D1D8
- mov r0, #0x1
- bx lr
-_0202D1D8:
- mov r0, #0x0
- bx lr
- .balign 4
-_0202D1DC: .word 0x021C59D8
-_0202D1E0: .word 0x00001310
-
- thumb_func_start FUN_0202D1E4
-FUN_0202D1E4: ; 0x0202D1E4
- ldr r0, _0202D1F8 ; =0x021C59D8
- ldr r1, [r0, #0x4]
- ldr r0, _0202D1FC ; =0x00001310
- ldr r0, [r1, r0]
- cmp r0, #0x3
- bne _0202D1F4
- mov r0, #0x1
- bx lr
-_0202D1F4:
- mov r0, #0x0
- bx lr
- .balign 4
-_0202D1F8: .word 0x021C59D8
-_0202D1FC: .word 0x00001310
-
- thumb_func_start FUN_0202D200
-FUN_0202D200: ; 0x0202D200
- ldr r0, _0202D214 ; =0x021C59D8
- ldr r1, [r0, #0x4]
- ldr r0, _0202D218 ; =0x00001310
- ldr r0, [r1, r0]
- cmp r0, #0x9
- bne _0202D210
- mov r0, #0x1
- bx lr
-_0202D210:
- mov r0, #0x0
- bx lr
- .balign 4
-_0202D214: .word 0x021C59D8
-_0202D218: .word 0x00001310
-
- thumb_func_start FUN_0202D21C
-FUN_0202D21C: ; 0x0202D21C
- ldr r0, _0202D238 ; =0x021C59D8
- ldr r1, [r0, #0x4]
- cmp r1, #0x0
- beq _0202D234
- ldr r0, _0202D23C ; =0x00001310
- ldr r0, [r1, r0]
- cmp r0, #0x2
- bne _0202D230
- mov r0, #0x1
- bx lr
-_0202D230:
- mov r0, #0x0
- bx lr
-_0202D234:
- mov r0, #0x0
- bx lr
- .balign 4
-_0202D238: .word 0x021C59D8
-_0202D23C: .word 0x00001310
-
- thumb_func_start FUN_0202D240
-FUN_0202D240: ; 0x0202D240
- push {r4-r6, lr}
- sub sp, #0x8
- add r6, r0, #0x0
- ldr r0, _0202D274 ; =0x021C59D8
- add r5, r1, #0x0
- ldr r1, [r0, #0x4]
- ldr r0, _0202D278 ; =0x00001310
- add r4, r2, #0x0
- ldr r0, [r1, r0]
- cmp r0, #0x4
- bne _0202D26E
- lsl r0, r3, #0x10
- lsr r0, r0, #0x10
- str r0, [sp, #0x0]
- mov r0, #0x1
- lsl r2, r5, #0x10
- str r0, [sp, #0x4]
- mov r0, #0x0
- add r1, r6, #0x0
- lsr r2, r2, #0x10
- add r3, r4, #0x0
- blx WM_SetGameInfo
-_0202D26E:
- add sp, #0x8
- pop {r4-r6, pc}
- nop
-_0202D274: .word 0x021C59D8
-_0202D278: .word 0x00001310
-
- thumb_func_start FUN_0202D27C
-FUN_0202D27C: ; 0x0202D27C
- ldrh r0, [r0, #0x2]
- cmp r0, #0x0
- bne _0202D28C
- ldr r0, _0202D290 ; =0x021C59D8
- mov r2, #0x1
- ldr r1, [r0, #0x4]
- ldr r0, _0202D294 ; =0x00001344
- strb r2, [r1, r0]
-_0202D28C:
- bx lr
- nop
-_0202D290: .word 0x021C59D8
-_0202D294: .word 0x00001344
-
- thumb_func_start FUN_0202D298
-FUN_0202D298: ; 0x0202D298
- push {r4, lr}
- ldr r2, _0202D2C4 ; =0x021C59D8
- add r1, r0, #0x0
- ldr r3, [r2, #0x4]
- ldr r0, _0202D2C8 ; =0x00001344
- mov r4, #0x0
- strb r4, [r3, r0]
- ldr r2, [r2, #0x4]
- sub r0, #0x34
- ldr r0, [r2, r0]
- cmp r0, #0x4
- bne _0202D2BE
- ldr r0, _0202D2CC ; =FUN_0202D27C
- blx WM_SetEntry
- cmp r0, #0x2
- bne _0202D2BE
- mov r0, #0x1
- pop {r4, pc}
-_0202D2BE:
- mov r0, #0x0
- pop {r4, pc}
- nop
-_0202D2C4: .word 0x021C59D8
-_0202D2C8: .word 0x00001344
-_0202D2CC: .word FUN_0202D27C
-
- thumb_func_start FUN_0202D2D0
-FUN_0202D2D0: ; 0x0202D2D0
- ldr r0, _0202D2EC ; =0x021C59D8
- ldr r1, [r0, #0x4]
- cmp r1, #0x0
- beq _0202D2E8
- ldr r0, _0202D2F0 ; =0x00001345
- ldrb r0, [r1, r0]
- cmp r0, #0x6
- blo _0202D2E4
- mov r0, #0x1
- bx lr
-_0202D2E4:
- mov r0, #0x0
- bx lr
-_0202D2E8:
- mov r0, #0x0
- bx lr
- .balign 4
-_0202D2EC: .word 0x021C59D8
-_0202D2F0: .word 0x00001345
-
- thumb_func_start FUN_0202D2F4
-FUN_0202D2F4: ; 0x0202D2F4
- ldr r0, _0202D300 ; =0x021C59D8
- mov r2, #0x0
- ldr r1, [r0, #0x4]
- ldr r0, _0202D304 ; =0x00001345
- strb r2, [r1, r0]
- bx lr
- .balign 4
-_0202D300: .word 0x021C59D8
-_0202D304: .word 0x00001345
-
- thumb_func_start FUN_0202D308
-FUN_0202D308: ; 0x0202D308
- ldr r1, _0202D314 ; =0x021C59D8
- ldr r2, [r1, #0x4]
- ldr r1, _0202D318 ; =0x00001320
- str r0, [r2, r1]
- bx lr
- nop
-_0202D314: .word 0x021C59D8
-_0202D318: .word 0x00001320
-
- thumb_func_start FUN_0202D31C
-FUN_0202D31C: ; 0x0202D31C
- ldr r1, _0202D328 ; =0x021C59D8
- ldr r2, [r1, #0x4]
- ldr r1, _0202D32C ; =0x00001324
- str r0, [r2, r1]
- bx lr
- nop
-_0202D328: .word 0x021C59D8
-_0202D32C: .word 0x00001324
-
- thumb_func_start FUN_0202D330
-FUN_0202D330: ; 0x0202D330
- ldr r1, _0202D33C ; =0x021C59D8
- ldr r2, [r1, #0x4]
- ldr r1, _0202D340 ; =0x00001328
- str r0, [r2, r1]
- bx lr
- nop
-_0202D33C: .word 0x021C59D8
-_0202D340: .word 0x00001328
-
- thumb_func_start FUN_0202D344
-FUN_0202D344: ; 0x0202D344
- ldr r1, _0202D350 ; =0x021C59D8
- ldr r2, [r1, #0x4]
- ldr r1, _0202D354 ; =0x00001342
- strb r0, [r2, r1]
- bx lr
- nop
-_0202D350: .word 0x021C59D8
-_0202D354: .word 0x00001342
-
- thumb_func_start FUN_0202D358
-FUN_0202D358: ; 0x0202D358
- ldr r0, _0202D364 ; =0x021C59D8
- ldr r1, [r0, #0x4]
- ldr r0, _0202D368 ; =0x00001342
- ldrb r0, [r1, r0]
- bx lr
- nop
-_0202D364: .word 0x021C59D8
-_0202D368: .word 0x00001342
-
- thumb_func_start FUN_0202D36C
-FUN_0202D36C: ; 0x0202D36C
- ldr r1, _0202D378 ; =0x021C59D8
- ldr r2, [r1, #0x4]
- ldr r1, _0202D37C ; =0x00001343
- strb r0, [r2, r1]
- bx lr
- nop
-_0202D378: .word 0x021C59D8
-_0202D37C: .word 0x00001343
-
- thumb_func_start FUN_0202D380
-FUN_0202D380: ; 0x0202D380
- ldr r1, _0202D38C ; =0x021C59D8
- ldr r2, [r1, #0x4]
- ldr r1, _0202D390 ; =0x00001335
- strb r0, [r2, r1]
- bx lr
- nop
-_0202D38C: .word 0x021C59D8
-_0202D390: .word 0x00001335
-
- thumb_func_start FUN_0202D394
-FUN_0202D394: ; 0x0202D394
- str r1, [r0, #0x0]
- strh r2, [r0, #0xa]
- mov r1, #0x0
- strh r1, [r0, #0x4]
- strh r1, [r0, #0x6]
- strh r1, [r0, #0x8]
- bx lr
- .balign 4
-
- thumb_func_start FUN_0202D3A4
-FUN_0202D3A4: ; 0x0202D3A4
- push {r3-r7, lr}
- str r2, [sp, #0x0]
- add r5, r0, #0x0
- add r7, r1, #0x0
- bl FUN_0202D498
- ldr r1, [sp, #0x0]
- cmp r0, r1
- bgt _0202D3BC
- bl FUN_02031454
- pop {r3-r7, pc}
-_0202D3BC:
- mov r0, #0x8
- ldrsh r4, [r5, r0]
- ldrsh r1, [r5, r0]
- ldr r0, [sp, #0x0]
- mov r6, #0x0
- add r0, r1, r0
- cmp r4, r0
- bge _0202D3F2
-_0202D3CC:
- cmp r7, #0x0
- bne _0202D3D4
- bl ErrorHandling
-_0202D3D4:
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_0202D4A8
- ldrb r2, [r7, r6]
- ldr r1, [r5, #0x0]
- add r4, r4, #0x1
- strb r2, [r1, r0]
- mov r0, #0x8
- ldrsh r1, [r5, r0]
- ldr r0, [sp, #0x0]
- add r6, r6, #0x1
- add r0, r1, r0
- cmp r4, r0
- blt _0202D3CC
-_0202D3F2:
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_0202D4A8
- strh r0, [r5, #0x8]
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0202D400
-FUN_0202D400: ; 0x0202D400
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl FUN_0202D42C
- mov r1, #0x4
- add r4, r0, #0x0
- ldrsh r1, [r5, r1]
- add r0, r5, #0x0
- add r1, r1, r4
- bl FUN_0202D4A8
- strh r0, [r5, #0x4]
- add r0, r4, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0202D41C
-FUN_0202D41C: ; 0x0202D41C
- push {r3, lr}
- add r1, sp, #0x0
- mov r2, #0x1
- bl FUN_0202D400
- add r0, sp, #0x0
- ldrb r0, [r0, #0x0]
- pop {r3, pc}
-
- thumb_func_start FUN_0202D42C
-FUN_0202D42C: ; 0x0202D42C
- push {r3-r7, lr}
- add r5, r0, #0x0
- mov r0, #0x4
- ldrsh r4, [r5, r0]
- add r7, r2, #0x0
- str r1, [sp, #0x0]
- add r0, r4, r7
- mov r6, #0x0
- cmp r4, r0
- bge _0202D472
-_0202D440:
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_0202D4A8
- mov r1, #0x6
- ldrsh r1, [r5, r1]
- cmp r1, r0
- bne _0202D454
- add r0, r6, #0x0
- pop {r3-r7, pc}
-_0202D454:
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_0202D4A8
- ldr r1, [r5, #0x0]
- add r4, r4, #0x1
- ldrb r1, [r1, r0]
- ldr r0, [sp, #0x0]
- strb r1, [r0, r6]
- mov r0, #0x4
- ldrsh r0, [r5, r0]
- add r6, r6, #0x1
- add r0, r0, r7
- cmp r4, r0
- blt _0202D440
-_0202D472:
- add r0, r6, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0202D478
-FUN_0202D478: ; 0x0202D478
- mov r1, #0x4
- mov r3, #0x6
- ldrsh r1, [r0, r1]
- ldrsh r2, [r0, r3]
- cmp r1, r2
- ble _0202D490
- mov r2, #0xa
- ldrsh r2, [r0, r2]
- ldrsh r0, [r0, r3]
- add r0, r2, r0
- sub r0, r0, r1
- bx lr
-_0202D490:
- ldrsh r0, [r0, r3]
- sub r0, r0, r1
- bx lr
- .balign 4
-
- thumb_func_start FUN_0202D498
-FUN_0202D498: ; 0x0202D498
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_0202D478
- mov r1, #0xa
- ldrsh r1, [r4, r1]
- sub r0, r1, r0
- pop {r4, pc}
-
- thumb_func_start FUN_0202D4A8
-FUN_0202D4A8: ; 0x0202D4A8
- push {r3, lr}
- add r2, r0, #0x0
- add r0, r1, #0x0
- mov r1, #0xa
- ldrsh r1, [r2, r1]
- blx _s32_div_f
- add r0, r1, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0202D4BC
-FUN_0202D4BC: ; 0x0202D4BC
- mov r1, #0x8
- ldrsh r1, [r0, r1]
- strh r1, [r0, #0x6]
- bx lr
-
- thumb_func_start FUN_0202D4C4
-FUN_0202D4C4: ; 0x0202D4C4
- ldr r3, [r0, #0x1c]
- mov r2, #0x0
- ldr r1, [r0, #0x18]
- cmp r3, #0x0
- ble _0202D4E0
-_0202D4CE:
- ldrb r0, [r1, #0xe]
- cmp r0, #0x0
- bne _0202D4D8
- add r0, r1, #0x0
- bx lr
-_0202D4D8:
- add r2, r2, #0x1
- add r1, #0x10
- cmp r2, r3
- blt _0202D4CE
-_0202D4E0:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_0202D4E4
-FUN_0202D4E4: ; 0x0202D4E4
- ldr r3, [r0, #0x1c]
- mov r2, #0x0
- ldr r1, [r0, #0x18]
- cmp r3, #0x0
- ble _0202D500
-_0202D4EE:
- ldrb r0, [r1, #0xe]
- cmp r0, #0x0
- beq _0202D4F8
- mov r0, #0x0
- bx lr
-_0202D4F8:
- add r2, r2, #0x1
- add r1, #0x10
- cmp r2, r3
- blt _0202D4EE
-_0202D500:
- mov r0, #0x1
- bx lr
-
- thumb_func_start FUN_0202D504
-FUN_0202D504: ; 0x0202D504
- ldr r1, [r0, #0x0]
- cmp r1, #0x0
- beq _0202D522
- ldr r1, [r1, #0x8]
- cmp r1, #0x0
- beq _0202D518
- str r1, [r0, #0x0]
- mov r0, #0x0
- str r0, [r1, #0x4]
- b _0202D51E
-_0202D518:
- mov r1, #0x0
- str r1, [r0, #0x0]
- str r1, [r0, #0x4]
-_0202D51E:
- mov r0, #0x1
- bx lr
-_0202D522:
- mov r0, #0x0
- bx lr
- .balign 4
-
- thumb_func_start FUN_0202D528
-FUN_0202D528: ; 0x0202D528
- ldr r2, [r0, #0x0]
- strb r1, [r2, #0x0]
- ldr r1, [r0, #0x0]
- add r1, r1, #0x1
- str r1, [r0, #0x0]
- ldr r1, [r0, #0x4]
- sub r1, r1, #0x1
- str r1, [r0, #0x4]
- bne _0202D53E
- mov r0, #0x1
- bx lr
-_0202D53E:
- mov r0, #0x0
- bx lr
- .balign 4
-
- thumb_func_start FUN_0202D544
-FUN_0202D544: ; 0x0202D544
- push {r4-r6, lr}
- add r5, r0, #0x0
- ldrb r0, [r5, #0xe]
- add r4, r1, #0x0
- bl FUN_0202D9A0
- add r6, r0, #0x0
- ldr r0, _0202D5B8 ; =0x0000FFFF
- cmp r6, r0
- ldr r0, [r4, #0x4]
- bne _0202D56A
- cmp r0, #0x3
- bge _0202D57A
- ldrb r1, [r5, #0xf]
- mov r0, #0x1
- bic r1, r0
- strb r1, [r5, #0xf]
- mov r0, #0x1
- pop {r4-r6, pc}
-_0202D56A:
- cmp r0, #0x1
- bge _0202D57A
- ldrb r1, [r5, #0xf]
- mov r0, #0x1
- bic r1, r0
- strb r1, [r5, #0xf]
- mov r0, #0x1
- pop {r4-r6, pc}
-_0202D57A:
- ldrb r1, [r5, #0xe]
- add r0, r4, #0x0
- bl FUN_0202D528
- ldr r0, _0202D5B8 ; =0x0000FFFF
- cmp r6, r0
- bne _0202D5A4
- ldrh r1, [r5, #0xc]
- add r0, r4, #0x0
- asr r1, r1, #0x8
- lsl r1, r1, #0x18
- lsr r1, r1, #0x18
- bl FUN_0202D528
- ldrh r1, [r5, #0xc]
- add r0, r4, #0x0
- lsl r1, r1, #0x18
- lsr r1, r1, #0x18
- bl FUN_0202D528
- b _0202D5A6
-_0202D5A4:
- strh r6, [r5, #0xc]
-_0202D5A6:
- ldrb r1, [r5, #0xf]
- mov r0, #0x1
- bic r1, r0
- mov r0, #0x1
- orr r0, r1
- strb r0, [r5, #0xf]
- mov r0, #0x0
- pop {r4-r6, pc}
- nop
-_0202D5B8: .word 0x0000FFFF
-
- thumb_func_start FUN_0202D5BC
-FUN_0202D5BC: ; 0x0202D5BC
- push {r3-r7, lr}
- add r5, r0, #0x0
- ldrb r0, [r5, #0xe]
- add r4, r1, #0x0
- add r6, r2, #0x0
- add r7, r3, #0x0
- bl FUN_0202D9A0
- ldr r1, _0202D680 ; =0x0000FFFF
- cmp r0, r1
- bne _0202D5D6
- mov r2, #0x3
- b _0202D5D8
-_0202D5D6:
- mov r2, #0x1
-_0202D5D8:
- ldrh r0, [r5, #0xc]
- ldr r1, [r4, #0x4]
- add r0, r0, r2
- cmp r1, r0
- bge _0202D5EA
- cmp r7, #0x0
- bne _0202D5EA
- mov r0, #0x0
- pop {r3-r7, pc}
-_0202D5EA:
- ldrb r0, [r5, #0xf]
- lsl r0, r0, #0x1f
- lsr r0, r0, #0x1f
- cmp r0, #0x1
- beq _0202D604
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_0202D544
- cmp r0, #0x0
- beq _0202D604
- mov r0, #0x0
- pop {r3-r7, pc}
-_0202D604:
- ldrh r3, [r5, #0xc]
- ldr r2, [r4, #0x4]
- cmp r2, r3
- ldrb r0, [r5, #0xf]
- bge _0202D64E
- lsl r0, r0, #0x1e
- lsr r0, r0, #0x1f
- beq _0202D61E
- ldr r1, [r4, #0x0]
- add r0, r6, #0x0
- bl FUN_0202D400
- b _0202D634
-_0202D61E:
- mov r3, #0x0
- cmp r2, #0x0
- ble _0202D634
-_0202D624:
- ldr r0, [r5, #0x0]
- ldrb r1, [r0, r3]
- ldr r0, [r4, #0x0]
- strb r1, [r0, r3]
- ldr r0, [r4, #0x4]
- add r3, r3, #0x1
- cmp r3, r0
- blt _0202D624
-_0202D634:
- ldr r1, [r5, #0x0]
- ldr r0, [r4, #0x4]
- add r0, r1, r0
- str r0, [r5, #0x0]
- ldrh r1, [r5, #0xc]
- ldr r0, [r4, #0x4]
- sub r0, r1, r0
- strh r0, [r5, #0xc]
- mov r0, #0x0
- mvn r0, r0
- str r0, [r4, #0x4]
- mov r0, #0x1
- pop {r3-r7, pc}
-_0202D64E:
- lsl r0, r0, #0x1e
- lsr r0, r0, #0x1f
- beq _0202D660
- ldr r1, [r4, #0x0]
- add r0, r6, #0x0
- add r2, r3, #0x0
- bl FUN_0202D400
- b _0202D66A
-_0202D660:
- ldr r0, [r5, #0x0]
- ldr r1, [r4, #0x0]
- add r2, r3, #0x0
- blx MI_CpuCopy8
-_0202D66A:
- ldrh r0, [r5, #0xc]
- ldr r1, [r4, #0x0]
- add r0, r1, r0
- str r0, [r4, #0x0]
- ldrh r0, [r5, #0xc]
- ldr r1, [r4, #0x4]
- sub r0, r1, r0
- str r0, [r4, #0x4]
- mov r0, #0x1
- pop {r3-r7, pc}
- nop
-_0202D680: .word 0x0000FFFF
-
- thumb_func_start FUN_0202D684
-FUN_0202D684: ; 0x0202D684
- push {r3-r7, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- str r1, [sp, #0x0]
- str r2, [sp, #0x4]
- add r7, r3, #0x0
- bl FUN_0202D4C4
- add r4, r0, #0x0
- bne _0202D69E
- add sp, #0x8
- mov r0, #0x0
- pop {r3-r7, pc}
-_0202D69E:
- ldr r0, _0202D710 ; =0x0000FFFE
- cmp r7, r0
- blt _0202D6A8
- bl ErrorHandling
-_0202D6A8:
- ldr r0, [sp, #0x0]
- bl FUN_0202D9A0
- add r6, r0, #0x0
- ldr r0, _0202D714 ; =0x0000FFFF
- cmp r6, r0
- bne _0202D6B8
- add r6, r7, #0x0
-_0202D6B8:
- ldr r0, [sp, #0x24]
- cmp r0, #0x0
- beq _0202D6EA
- ldr r0, [r5, #0x14]
- bl FUN_0202D498
- add r1, r6, #0x3
- cmp r1, r0
- blt _0202D6D0
- add sp, #0x8
- mov r0, #0x0
- pop {r3-r7, pc}
-_0202D6D0:
- ldr r0, [r5, #0x14]
- ldr r1, [sp, #0x4]
- ldr r3, _0202D718 ; =0x00000109
- add r2, r6, #0x0
- bl FUN_0202D3A4
- ldr r0, [r5, #0x14]
- bl FUN_0202D4BC
- ldrb r1, [r4, #0xf]
- mov r0, #0x2
- orr r0, r1
- strb r0, [r4, #0xf]
-_0202D6EA:
- ldr r0, [sp, #0x0]
- strh r6, [r4, #0xc]
- strb r0, [r4, #0xe]
- ldr r0, [sp, #0x4]
- str r0, [r4, #0x0]
- ldr r0, [r5, #0x4]
- cmp r0, #0x0
- bne _0202D700
- str r4, [r5, #0x4]
- str r4, [r5, #0x0]
- b _0202D708
-_0202D700:
- str r4, [r0, #0x8]
- ldr r0, [r5, #0x4]
- str r0, [r4, #0x4]
- str r4, [r5, #0x4]
-_0202D708:
- mov r0, #0x1
- add sp, #0x8
- pop {r3-r7, pc}
- nop
-_0202D710: .word 0x0000FFFE
-_0202D714: .word 0x0000FFFF
-_0202D718: .word 0x00000109
-
- thumb_func_start FUN_0202D71C
-FUN_0202D71C: ; 0x0202D71C
- ldr r1, [r0, #0x10]
- cmp r1, #0x0
- beq _0202D726
- add r0, r1, #0x0
- bx lr
-_0202D726:
- ldr r1, [r0, #0x0]
- cmp r1, #0x0
- beq _0202D730
- add r0, r1, #0x0
- bx lr
-_0202D730:
- ldr r0, [r0, #0x8]
- cmp r0, #0x0
- bne _0202D738
- mov r0, #0x0
-_0202D738:
- bx lr
- .balign 4
-
- thumb_func_start FUN_0202D73C
-FUN_0202D73C: ; 0x0202D73C
- push {r4, lr}
- add r4, r0, #0x0
- ldr r1, [r4, #0x10]
- cmp r1, #0x0
- beq _0202D74C
- mov r0, #0x0
- str r0, [r4, #0x10]
- pop {r4, pc}
-_0202D74C:
- bl FUN_0202D504
- cmp r0, #0x0
- bne _0202D75C
- add r4, #0x8
- add r0, r4, #0x0
- bl FUN_0202D504
-_0202D75C:
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0202D760
-FUN_0202D760: ; 0x0202D760
- push {r3-r7, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- ldr r0, [r4, #0x4]
- mov r7, #0x1
- str r2, [sp, #0x0]
- cmp r0, #0x0
- ble _0202D7B6
-_0202D770:
- add r0, r5, #0x0
- bl FUN_0202D71C
- add r6, r0, #0x0
- beq _0202D7B6
- add r0, r5, #0x0
- bl FUN_0202D73C
- ldr r2, [r5, #0x14]
- add r0, r6, #0x0
- add r1, r4, #0x0
- add r3, r7, #0x0
- bl FUN_0202D5BC
- cmp r0, #0x0
- bne _0202D794
- str r6, [r5, #0x10]
- b _0202D7B6
-_0202D794:
- mov r0, #0x0
- ldr r1, [r4, #0x4]
- mvn r0, r0
- cmp r1, r0
- bne _0202D7A4
- str r6, [r5, #0x10]
- mov r0, #0x0
- pop {r3-r7, pc}
-_0202D7A4:
- add r0, r6, #0x0
- mov r1, #0x0
- mov r2, #0x10
- blx MI_CpuFill8
- ldr r0, [r4, #0x4]
- ldr r7, [sp, #0x0]
- cmp r0, #0x0
- bgt _0202D770
-_0202D7B6:
- ldr r0, [r4, #0x4]
- mov r2, #0x0
- cmp r0, #0x0
- ble _0202D7D2
- mov r1, #0xee
-_0202D7C0:
- ldr r0, [r4, #0x0]
- add r2, r2, #0x1
- strb r1, [r0, #0x0]
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- ldr r0, [r4, #0x4]
- cmp r2, r0
- blt _0202D7C0
-_0202D7D2:
- mov r0, #0x1
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0202D7D8
-FUN_0202D7D8: ; 0x0202D7D8
- push {r3-r7, lr}
- add r4, r1, #0x0
- add r6, r2, #0x0
- mov r1, #0x0
- mov r2, #0x20
- add r5, r0, #0x0
- blx MI_CpuFill8
- lsl r7, r4, #0x4
- mov r0, #0xf
- add r1, r7, #0x0
- bl FUN_02016998
- mov r1, #0x0
- add r2, r7, #0x0
- str r0, [r5, #0x18]
- blx MI_CpuFill8
- str r4, [r5, #0x1c]
- str r6, [r5, #0x14]
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0202D804
-FUN_0202D804: ; 0x0202D804
- push {r4, lr}
- add r4, r0, #0x0
- ldr r2, [r4, #0x1c]
- ldr r0, [r4, #0x18]
- mov r1, #0x0
- lsl r2, r2, #0x4
- blx MI_CpuFill8
- mov r0, #0x0
- str r0, [r4, #0x0]
- str r0, [r4, #0x4]
- str r0, [r4, #0x8]
- str r0, [r4, #0xc]
- str r0, [r4, #0x10]
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0202D824
-FUN_0202D824: ; 0x0202D824
- ldr r3, _0202D82C ; =FUN_02016A18
- ldr r0, [r0, #0x18]
- bx r3
- nop
-_0202D82C: .word FUN_02016A18
-
- thumb_func_start FUN_0202D830
-FUN_0202D830: ; 0x0202D830
- push {r3-r4}
- ldr r4, [r0, #0x1c]
- mov r2, #0x0
- ldr r3, [r0, #0x18]
- cmp r4, #0x0
- ble _0202D850
-_0202D83C:
- ldrb r0, [r3, #0xe]
- cmp r0, r1
- bne _0202D848
- mov r0, #0x1
- pop {r3-r4}
- bx lr
-_0202D848:
- add r2, r2, #0x1
- add r3, #0x10
- cmp r2, r4
- blt _0202D83C
-_0202D850:
- mov r0, #0x0
- pop {r3-r4}
- bx lr
- .balign 4
-
- thumb_func_start FUN_0202D858
-FUN_0202D858: ; 0x0202D858
- push {r3-r4, lr}
- sub sp, #0x1c
- ldr r3, _0202D880 ; =0x020EEB04
- add r4, r0, #0x0
- add r2, sp, #0x0
- mov r1, #0x1a
-_0202D864:
- ldrb r0, [r3, #0x0]
- add r3, r3, #0x1
- strb r0, [r2, #0x0]
- add r2, r2, #0x1
- sub r1, r1, #0x1
- bne _0202D864
- cmp r4, #0x1a
- blo _0202D878
- bl ErrorHandling
-_0202D878:
- add r0, sp, #0x0
- ldrb r0, [r0, r4]
- add sp, #0x1c
- pop {r3-r4, pc}
- .balign 4
-_0202D880: .word 0x020EEB04
-
- thumb_func_start FUN_0202D884
-FUN_0202D884: ; 0x0202D884
- push {r3-r4, lr}
- sub sp, #0x1c
- ldr r3, _0202D8AC ; =0x020EEB1E
- add r4, r0, #0x0
- add r2, sp, #0x0
- mov r1, #0x1a
-_0202D890:
- ldrb r0, [r3, #0x0]
- add r3, r3, #0x1
- strb r0, [r2, #0x0]
- add r2, r2, #0x1
- sub r1, r1, #0x1
- bne _0202D890
- cmp r4, #0x1a
- blo _0202D8A4
- bl ErrorHandling
-_0202D8A4:
- add r0, sp, #0x0
- ldrb r0, [r0, r4]
- add sp, #0x1c
- pop {r3-r4, pc}
- .balign 4
-_0202D8AC: .word 0x020EEB1E
-
- thumb_func_start FUN_0202D8B0
-FUN_0202D8B0: ; 0x0202D8B0
- cmp r0, #0xd
- bgt _0202D8C4
- cmp r0, #0x7
- blt _0202D8CC
- beq _0202D8C8
- cmp r0, #0x9
- beq _0202D8C8
- cmp r0, #0xd
- beq _0202D8C8
- b _0202D8CC
-_0202D8C4:
- cmp r0, #0x12
- bne _0202D8CC
-_0202D8C8:
- mov r0, #0x1
- bx lr
-_0202D8CC:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_0202D8D0
-FUN_0202D8D0: ; 0x0202D8D0
- push {r4-r6, lr}
- add r5, r0, #0x0
- ldr r0, _0202D914 ; =0x021C59E0
- add r4, r1, #0x0
- ldr r0, [r0, #0x0]
- add r6, r2, #0x0
- cmp r0, #0x0
- bne _0202D8EC
- mov r0, #0xf
- mov r1, #0x18
- bl FUN_02016998
- ldr r1, _0202D914 ; =0x021C59E0
- str r0, [r1, #0x0]
-_0202D8EC:
- ldr r0, _0202D914 ; =0x021C59E0
- mov r3, #0x0
- ldr r1, [r0, #0x0]
- add r2, r3, #0x0
- str r5, [r1, #0x0]
- ldr r1, [r0, #0x0]
- str r4, [r1, #0x4]
- ldr r1, [r0, #0x0]
- str r6, [r1, #0x8]
-_0202D8FE:
- ldr r1, [r0, #0x0]
- add r1, r1, r3
- add r3, r3, #0x1
- strb r2, [r1, #0xc]
- cmp r3, #0x8
- blt _0202D8FE
- ldr r0, _0202D914 ; =0x021C59E0
- ldr r0, [r0, #0x0]
- strb r2, [r0, #0x14]
- pop {r4-r6, pc}
- nop
-_0202D914: .word 0x021C59E0
-
- thumb_func_start FUN_0202D918
-FUN_0202D918: ; 0x0202D918
- push {r3, lr}
- ldr r0, _0202D930 ; =0x021C59E0
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- beq _0202D92C
- bl FUN_02016A18
- ldr r0, _0202D930 ; =0x021C59E0
- mov r1, #0x0
- str r1, [r0, #0x0]
-_0202D92C:
- pop {r3, pc}
- nop
-_0202D930: .word 0x021C59E0
-
- thumb_func_start FUN_0202D934
-FUN_0202D934: ; 0x0202D934
- push {r3-r7, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- add r6, r2, #0x0
- add r7, r3, #0x0
- cmp r4, #0x16
- bge _0202D94C
- mov r0, #0xc
- mul r1, r0
- ldr r0, _0202D998 ; =0x020EEB38
- ldr r4, [r0, r1]
- b _0202D974
-_0202D94C:
- ldr r0, _0202D99C ; =0x021C59E0
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- bne _0202D958
- bl ErrorHandling
-_0202D958:
- ldr r0, _0202D99C ; =0x021C59E0
- ldr r1, [r0, #0x0]
- ldr r0, [r1, #0x4]
- add r0, #0x16
- cmp r4, r0
- ble _0202D96A
- bl FUN_02031454
- pop {r3-r7, pc}
-_0202D96A:
- ldr r1, [r1, #0x0]
- sub r4, #0x16
- mov r0, #0xc
- mul r0, r4
- ldr r4, [r1, r0]
-_0202D974:
- cmp r4, #0x0
- beq _0202D996
- ldr r0, _0202D99C ; =0x021C59E0
- ldr r3, [r0, #0x0]
- cmp r3, #0x0
- beq _0202D98C
- ldr r3, [r3, #0x8]
- add r0, r5, #0x0
- add r1, r6, #0x0
- add r2, r7, #0x0
- blx r4
- pop {r3-r7, pc}
-_0202D98C:
- add r0, r5, #0x0
- add r1, r6, #0x0
- add r2, r7, #0x0
- mov r3, #0x0
- blx r4
-_0202D996:
- pop {r3-r7, pc}
- .balign 4
-_0202D998: .word 0x020EEB38
-_0202D99C: .word 0x021C59E0
-
- thumb_func_start FUN_0202D9A0
-FUN_0202D9A0: ; 0x0202D9A0
- push {r3-r5, lr}
- add r5, r0, #0x0
- mov r4, #0x0
- cmp r5, #0x16
- bge _0202D9B6
- mov r0, #0xc
- add r1, r5, #0x0
- mul r1, r0
- ldr r0, _0202D9FC ; =0x020EEB3C
- ldr r0, [r0, r1]
- b _0202D9EE
-_0202D9B6:
- ldr r0, _0202DA00 ; =0x021C59E0
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- bne _0202D9C2
- bl ErrorHandling
-_0202D9C2:
- ldr r0, _0202DA00 ; =0x021C59E0
- ldr r1, [r0, #0x0]
- cmp r1, #0x0
- bne _0202D9D2
- bl FUN_02031454
- mov r0, #0x0
- pop {r3-r5, pc}
-_0202D9D2:
- ldr r0, [r1, #0x4]
- add r0, #0x16
- cmp r5, r0
- ble _0202D9E2
- bl FUN_02031454
- mov r0, #0x0
- pop {r3-r5, pc}
-_0202D9E2:
- ldr r1, [r1, #0x0]
- sub r5, #0x16
- mov r0, #0xc
- mul r0, r5
- add r0, r1, r0
- ldr r0, [r0, #0x4]
-_0202D9EE:
- cmp r0, #0x0
- beq _0202D9F6
- blx r0
- add r4, r0, #0x0
-_0202D9F6:
- add r0, r4, #0x0
- pop {r3-r5, pc}
- nop
-_0202D9FC: .word 0x020EEB3C
-_0202DA00: .word 0x021C59E0
-
- thumb_func_start FUN_0202DA04
-FUN_0202DA04: ; 0x0202DA04
- cmp r0, #0x16
- bge _0202DA1C
- mov r1, #0xc
- mul r1, r0
- ldr r0, _0202DA38 ; =0x020EEB40
- ldr r0, [r0, r1]
- cmp r0, #0x0
- beq _0202DA18
- mov r0, #0x1
- bx lr
-_0202DA18:
- mov r0, #0x0
- bx lr
-_0202DA1C:
- ldr r1, _0202DA3C ; =0x021C59E0
- sub r0, #0x16
- ldr r1, [r1, #0x0]
- ldr r2, [r1, #0x0]
- mov r1, #0xc
- mul r1, r0
- add r0, r2, r1
- ldr r0, [r0, #0x8]
- cmp r0, #0x0
- beq _0202DA34
- mov r0, #0x1
- bx lr
-_0202DA34:
- mov r0, #0x0
- bx lr
- .balign 4
-_0202DA38: .word 0x020EEB40
-_0202DA3C: .word 0x021C59E0
-
- thumb_func_start FUN_0202DA40
-FUN_0202DA40: ; 0x0202DA40
- push {r3-r5, lr}
- add r3, r0, #0x0
- cmp r3, #0x16
- bge _0202DA58
- mov r4, #0xc
- mul r4, r3
- ldr r3, _0202DA70 ; =0x020EEB40
- add r0, r1, #0x0
- ldr r3, [r3, r4]
- mov r1, #0x0
- blx r3
- pop {r3-r5, pc}
-_0202DA58:
- ldr r0, _0202DA74 ; =0x021C59E0
- sub r3, #0x16
- ldr r4, [r0, #0x0]
- add r0, r1, #0x0
- ldr r1, [r4, #0x8]
- ldr r5, [r4, #0x0]
- mov r4, #0xc
- mul r4, r3
- add r3, r5, r4
- ldr r3, [r3, #0x8]
- blx r3
- pop {r3-r5, pc}
- .balign 4
-_0202DA70: .word 0x020EEB40
-_0202DA74: .word 0x021C59E0
-
- thumb_func_start FUN_0202DA78
-FUN_0202DA78: ; 0x0202DA78
- ldr r0, _0202DA7C ; =0x0000FFFF
- bx lr
- .balign 4
-_0202DA7C: .word 0x0000FFFF
-
- thumb_func_start FUN_0202DA80
-FUN_0202DA80: ; 0x0202DA80
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_0202DA84
-FUN_0202DA84: ; 0x0202DA84
- mov r0, #0x1
- bx lr
-
- thumb_func_start FUN_0202DA88
-FUN_0202DA88: ; 0x0202DA88
- mov r0, #0x2
- bx lr
-
- thumb_func_start FUN_0202DA8C
-FUN_0202DA8C: ; 0x0202DA8C
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl FUN_02031190
- cmp r0, #0x0
- bne _0202DACA
- ldr r4, _0202DACC ; =0x021C59E0
- mov r1, #0x1
- ldr r0, [r4, #0x0]
- add r0, r0, r5
- strb r1, [r0, #0xc]
- mov r5, #0x0
-_0202DAA4:
- lsl r0, r5, #0x10
- lsr r0, r0, #0x10
- bl FUN_02030E7C
- cmp r0, #0x0
- beq _0202DABA
- ldr r0, [r4, #0x0]
- add r0, r0, r5
- ldrb r0, [r0, #0xc]
- cmp r0, #0x0
- beq _0202DACA
-_0202DABA:
- add r5, r5, #0x1
- cmp r5, #0x8
- blt _0202DAA4
- mov r1, #0x0
- mov r0, #0xe
- add r2, r1, #0x0
- bl FUN_02030BC4
-_0202DACA:
- pop {r3-r5, pc}
- .balign 4
-_0202DACC: .word 0x021C59E0
-
- thumb_func_start FUN_0202DAD0
-FUN_0202DAD0: ; 0x0202DAD0
- ldr r0, _0202DAF0 ; =0x021C59E0
- mov r3, #0x0
- ldr r1, [r0, #0x0]
- str r3, [r1, #0x0]
- ldr r1, [r0, #0x0]
- str r3, [r1, #0x4]
- ldr r1, [r0, #0x0]
- str r3, [r1, #0x8]
- ldr r0, [r0, #0x0]
- mov r1, #0x1
- strb r1, [r0, #0x14]
- ldr r3, _0202DAF4 ; =FUN_020311D0
- mov r0, #0xf
- add r1, r2, #0x0
- bx r3
- nop
-_0202DAF0: .word 0x021C59E0
-_0202DAF4: .word FUN_020311D0
-
- thumb_func_start FUN_0202DAF8
-FUN_0202DAF8: ; 0x0202DAF8
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_02031190
- cmp r0, #0x0
- bne _0202DB0E
- ldr r0, _0202DB10 ; =0x021C59E0
- mov r1, #0x0
- ldr r0, [r0, #0x0]
- add r0, r0, r4
- strb r1, [r0, #0xc]
-_0202DB0E:
- pop {r4, pc}
- .balign 4
-_0202DB10: .word 0x021C59E0
-
- thumb_func_start FUN_0202DB14
-FUN_0202DB14: ; 0x0202DB14
- push {r4-r7, lr}
- sub sp, #0xc
- str r0, [sp, #0x0]
- str r1, [sp, #0x4]
- bl FUN_020238F4
- str r0, [sp, #0x8]
- ldr r0, _0202DBA0 ; =0x021C59E4
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- bne _0202DB9A
- mov r1, #0xe9
- mov r0, #0xf
- lsl r1, r1, #0x2
- bl FUN_02016998
- ldr r1, _0202DBA0 ; =0x021C59E4
- mov r2, #0xe9
- str r0, [r1, #0x0]
- mov r1, #0x0
- lsl r2, r2, #0x2
- blx MI_CpuFill8
- mov r6, #0x0
- ldr r7, _0202DBA0 ; =0x021C59E4
- add r4, r6, #0x0
- add r5, r6, #0x0
-_0202DB4A:
- ldr r1, [r7, #0x0]
- add r0, r1, #0x0
- add r0, #0x28
- add r2, r0, r4
- mov r0, #0xd2
- add r1, r1, r5
- lsl r0, r0, #0x2
- str r2, [r1, r0]
- add r0, r6, #0x0
- bl FUN_0202DE78
- add r6, r6, #0x1
- add r4, #0x68
- add r5, r5, #0x4
- cmp r6, #0x8
- blt _0202DB4A
- ldr r2, _0202DBA0 ; =0x021C59E4
- mov r1, #0x3a
- ldr r3, [r2, #0x0]
- mov r0, #0x0
- lsl r1, r1, #0x4
- strb r0, [r3, r1]
- ldr r4, [r2, #0x0]
- add r3, r1, #0x1
- strb r0, [r4, r3]
- add r3, r1, #0x2
- ldr r4, [r2, #0x0]
- sub r1, #0x58
- strb r0, [r4, r3]
- ldr r3, [r2, #0x0]
- ldr r0, [sp, #0x0]
- str r0, [r3, #0x4]
- ldr r3, [r2, #0x0]
- ldr r0, [sp, #0x4]
- str r0, [r3, #0x0]
- ldr r2, [r2, #0x0]
- ldr r0, [sp, #0x8]
- ldr r1, [r2, r1]
- bl FUN_0202393C
-_0202DB9A:
- add sp, #0xc
- pop {r4-r7, pc}
- nop
-_0202DBA0: .word 0x021C59E4
-
- thumb_func_start FUN_0202DBA4
-FUN_0202DBA4: ; 0x0202DBA4
- push {r3-r5, lr}
- ldr r1, _0202DBDC ; =0x021C59E4
- ldr r0, [r1, #0x0]
- cmp r0, #0x0
- beq _0202DBD8
- mov r4, #0x0
- mov r0, #0xd2
- add r5, r4, #0x0
- add r3, r4, #0x0
- lsl r0, r0, #0x2
-_0202DBB8:
- ldr r2, [r1, #0x0]
- add r4, r4, #0x1
- add r2, r2, r5
- add r5, r5, #0x4
- str r3, [r2, r0]
- cmp r4, #0x8
- blt _0202DBB8
- ldr r0, _0202DBDC ; =0x021C59E4
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- beq _0202DBD2
- bl FUN_02016A18
-_0202DBD2:
- ldr r0, _0202DBDC ; =0x021C59E4
- mov r1, #0x0
- str r1, [r0, #0x0]
-_0202DBD8:
- pop {r3-r5, pc}
- nop
-_0202DBDC: .word 0x021C59E4
-
- thumb_func_start FUN_0202DBE0
-FUN_0202DBE0: ; 0x0202DBE0
- push {r3-r7, lr}
- bl FUN_02031190
- add r4, r0, #0x0
- ldr r0, _0202DCD8 ; =0x021C59E4
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x4]
- bl FUN_0202881C
- add r7, r0, #0x0
- ldr r0, _0202DCD8 ; =0x021C59E4
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x4]
- bl FUN_020286EC
- str r0, [sp, #0x0]
- ldr r0, _0202DCD8 ; =0x021C59E4
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x4]
- bl FUN_02029AFC
- add r6, r0, #0x0
- ldr r0, _0202DCD8 ; =0x021C59E4
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x4]
- bl FUN_020238F4
- ldr r1, _0202DCD8 ; =0x021C59E4
- ldr r2, [r1, #0x0]
- lsl r1, r4, #0x2
- add r2, r2, r1
- mov r1, #0xd2
- lsl r1, r1, #0x2
- ldr r1, [r2, r1]
- bl FUN_0202393C
- mov r0, #0x68
- add r5, r4, #0x0
- mul r5, r0
- ldr r0, _0202DCD8 ; =0x021C59E4
- ldr r0, [r0, #0x0]
- add r0, #0x64
- add r0, r0, r5
- blx OS_GetMacAddress
- add r0, r7, #0x0
- mov r1, #0x1
- mov r2, #0x0
- bl FUN_020287A8
- ldr r1, _0202DCD8 ; =0x021C59E4
- mov r2, #0x10
- ldr r1, [r1, #0x0]
- add r1, #0x54
- add r1, r1, r5
- blx MI_CpuCopy8
- add r0, r6, #0x0
- bl FUN_02029B38
- ldr r1, _0202DCD8 ; =0x021C59E4
- ldr r1, [r1, #0x0]
- add r1, r1, r5
- add r1, #0x6b
- strb r0, [r1, #0x0]
- add r0, r6, #0x0
- bl FUN_02029B3C
- ldr r2, _0202DCD8 ; =0x021C59E4
- ldr r1, [r2, #0x0]
- add r1, r1, r5
- add r1, #0x6c
- strb r0, [r1, #0x0]
- ldr r0, [r2, #0x0]
- ldr r0, [r0, #0x4]
- bl FUN_02025C18
- ldr r2, _0202DCD8 ; =0x021C59E4
- ldr r1, [r2, #0x0]
- add r1, r1, r5
- add r1, #0x6d
- strb r0, [r1, #0x0]
- ldr r2, [r2, #0x0]
- mov r0, #0x1
- add r2, #0x6d
- ldrb r1, [r2, r5]
- sub r0, r0, r1
- strb r0, [r2, r5]
- ldr r0, [sp, #0x0]
- bl FUN_02028228
- ldr r1, _0202DCD8 ; =0x021C59E4
- ldr r1, [r1, #0x0]
- add r1, #0x48
- add r1, r1, r5
- blx FUN_02096CCC
- ldr r0, _0202DCD8 ; =0x021C59E4
- mov r1, #0x0
- ldr r0, [r0, #0x0]
- mov r2, #0x20
- add r0, #0x8
- add r0, r0, r5
- blx MI_CpuFill8
- ldr r0, _0202DCD8 ; =0x021C59E4
- ldr r1, [r0, #0x0]
- ldr r0, [r1, #0x0]
- cmp r0, #0x0
- beq _0202DCC4
- add r1, #0x8
- add r1, r1, r5
- bl FUN_02023ACC
-_0202DCC4:
- ldr r1, _0202DCD8 ; =0x021C59E4
- mov r0, #0x3
- ldr r1, [r1, #0x0]
- mov r2, #0x68
- add r1, #0x8
- add r1, r1, r5
- bl FUN_02030ADC
- pop {r3-r7, pc}
- nop
-_0202DCD8: .word 0x021C59E4
-
- thumb_func_start FUN_0202DCDC
-FUN_0202DCDC: ; 0x0202DCDC
- mov r0, #0x68
- bx lr
-
- thumb_func_start FUN_0202DCE0
-FUN_0202DCE0: ; 0x0202DCE0
- ldr r0, _0202DCF4 ; =0x021C59E4
- ldr r2, [r0, #0x0]
- cmp r2, #0x0
- beq _0202DCF0
- mov r0, #0x3a
- mov r1, #0x1
- lsl r0, r0, #0x4
- strb r1, [r2, r0]
-_0202DCF0:
- bx lr
- nop
-_0202DCF4: .word 0x021C59E4
-
- thumb_func_start FUN_0202DCF8
-FUN_0202DCF8: ; 0x0202DCF8
- ldr r0, _0202DD04 ; =0x021C59E4
- ldr r1, [r0, #0x0]
- mov r0, #0x3a
- lsl r0, r0, #0x4
- ldrb r0, [r1, r0]
- bx lr
- .balign 4
-_0202DD04: .word 0x021C59E4
-
- thumb_func_start FUN_0202DD08
-FUN_0202DD08: ; 0x0202DD08
- push {r3-r5, lr}
- ldr r1, _0202DD78 ; =0x021C59E4
- add r4, r2, #0x0
- ldr r1, [r1, #0x0]
- cmp r1, #0x0
- beq _0202DD74
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- bl FUN_02030E7C
- cmp r0, #0x0
- beq _0202DD74
- ldr r1, _0202DD78 ; =0x021C59E4
- mov r2, #0x68
- ldr r5, [r1, #0x0]
- add r1, r4, #0x0
- add r1, #0x62
- ldrb r1, [r1, #0x0]
- add r5, #0x8
- add r0, r4, #0x0
- add r3, r1, #0x0
- mul r3, r2
- add r1, r5, r3
- blx MI_CpuCopy8
- add r4, #0x62
- ldr r2, _0202DD78 ; =0x021C59E4
- ldrb r3, [r4, #0x0]
- ldr r0, [r2, #0x0]
- ldr r1, _0202DD7C ; =0x000003A2
- strb r3, [r0, r1]
- add r0, r1, #0x0
- ldr r3, [r2, #0x0]
- sub r0, #0xa
- add r4, r3, r0
- ldrb r3, [r3, r1]
- ldrb r0, [r4, r3]
- cmp r0, #0x2
- bhs _0202DD74
- mov r0, #0x1
- strb r0, [r4, r3]
- ldr r0, [r2, #0x0]
- ldrb r4, [r0, r1]
- bl FUN_02031190
- cmp r4, r0
- bne _0202DD74
- ldr r0, _0202DD78 ; =0x021C59E4
- mov r2, #0x3
- ldr r0, [r0, #0x0]
- add r1, r0, r4
- mov r0, #0xe6
- lsl r0, r0, #0x2
- strb r2, [r1, r0]
-_0202DD74:
- pop {r3-r5, pc}
- nop
-_0202DD78: .word 0x021C59E4
-_0202DD7C: .word 0x000003A2
-
- thumb_func_start FUN_0202DD80
-FUN_0202DD80: ; 0x0202DD80
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r0, _0202DDE0 ; =0x021C59E4
- ldr r1, [r0, #0x0]
- cmp r1, #0x0
- beq _0202DDDC
- mov r3, #0x68
- add r4, r5, #0x0
- add r0, r2, #0x0
- mul r4, r3
- add r1, #0x8
- add r1, r1, r4
- add r2, r3, #0x0
- blx MI_CpuCopy8
- ldr r0, _0202DDE0 ; =0x021C59E4
- add r1, r5, #0x0
- ldr r0, [r0, #0x0]
- add r0, #0x64
- add r0, r0, r4
- bl FUN_0202EFAC
- ldr r0, _0202DDE0 ; =0x021C59E4
- mov r2, #0x1
- ldr r0, [r0, #0x0]
- add r1, r0, r5
- mov r0, #0xe6
- lsl r0, r0, #0x2
- strb r2, [r1, r0]
- bl FUN_02031190
- cmp r5, r0
- bne _0202DDD2
- ldr r0, _0202DDE0 ; =0x021C59E4
- mov r2, #0x3
- ldr r0, [r0, #0x0]
- add r1, r0, r5
- mov r0, #0xe6
- lsl r0, r0, #0x2
- strb r2, [r1, r0]
- pop {r3-r5, pc}
-_0202DDD2:
- ldr r0, _0202DDE0 ; =0x021C59E4
- mov r2, #0x1
- ldr r1, [r0, #0x0]
- ldr r0, _0202DDE4 ; =0x000003A1
- strb r2, [r1, r0]
-_0202DDDC:
- pop {r3-r5, pc}
- nop
-_0202DDE0: .word 0x021C59E4
-_0202DDE4: .word 0x000003A1
-
- thumb_func_start FUN_0202DDE8
-FUN_0202DDE8: ; 0x0202DDE8
- push {r3-r7, lr}
- ldr r0, _0202DE70 ; =0x021C59E4
- ldr r1, [r0, #0x0]
- ldr r0, _0202DE74 ; =0x000003A1
- ldrb r0, [r1, r0]
- cmp r0, #0x0
- bne _0202DDFA
- mov r0, #0x0
- pop {r3-r7, pc}
-_0202DDFA:
- mov r0, #0x5
- bl FUN_02031354
- cmp r0, #0x0
- bne _0202DE6C
- mov r4, #0x0
- add r5, r4, #0x0
- add r7, r4, #0x0
-_0202DE0A:
- ldr r0, _0202DE70 ; =0x021C59E4
- ldr r2, [r0, #0x0]
- mov r0, #0xe6
- add r1, r2, r4
- lsl r0, r0, #0x2
- ldrb r0, [r1, r0]
- cmp r0, #0x0
- beq _0202DE4A
- add r0, r2, r5
- add r0, #0x6a
- strb r4, [r0, #0x0]
- ldr r0, _0202DE70 ; =0x021C59E4
- ldr r6, [r0, #0x0]
- bl FUN_02023924
- add r2, r0, #0x0
- mov r0, #0xd2
- add r1, r6, r7
- lsl r0, r0, #0x2
- ldr r0, [r1, r0]
- add r6, #0x28
- add r1, r6, r5
- blx MI_CpuCopy8
- ldr r1, _0202DE70 ; =0x021C59E4
- mov r0, #0x4
- ldr r1, [r1, #0x0]
- mov r2, #0x68
- add r1, #0x8
- add r1, r1, r5
- bl FUN_02031000
-_0202DE4A:
- add r4, r4, #0x1
- add r5, #0x68
- add r7, r7, #0x4
- cmp r4, #0x8
- blt _0202DE0A
- mov r1, #0x0
- mov r0, #0x5
- add r2, r1, #0x0
- bl FUN_02031000
- ldr r0, _0202DE70 ; =0x021C59E4
- mov r2, #0x0
- ldr r1, [r0, #0x0]
- ldr r0, _0202DE74 ; =0x000003A1
- strb r2, [r1, r0]
- mov r0, #0x1
- pop {r3-r7, pc}
-_0202DE6C:
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-_0202DE70: .word 0x021C59E4
-_0202DE74: .word 0x000003A1
-
- thumb_func_start FUN_0202DE78
-FUN_0202DE78: ; 0x0202DE78
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, _0202DEA0 ; =0x021C59E4
- ldr r1, [r0, #0x0]
- lsl r0, r4, #0x2
- add r1, r1, r0
- mov r0, #0xd2
- lsl r0, r0, #0x2
- ldr r0, [r1, r0]
- bl FUN_02023948
- ldr r0, _0202DEA0 ; =0x021C59E4
- mov r2, #0x0
- ldr r0, [r0, #0x0]
- add r1, r0, r4
- mov r0, #0xe6
- lsl r0, r0, #0x2
- strb r2, [r1, r0]
- pop {r4, pc}
- nop
-_0202DEA0: .word 0x021C59E4
-
- thumb_func_start FUN_0202DEA4
-FUN_0202DEA4: ; 0x0202DEA4
- ldr r1, _0202DEBC ; =0x021C59E4
- ldr r1, [r1, #0x0]
- add r1, r1, r0
- mov r0, #0xe6
- lsl r0, r0, #0x2
- ldrb r0, [r1, r0]
- cmp r0, #0x1
- bne _0202DEB8
- mov r0, #0x1
- bx lr
-_0202DEB8:
- mov r0, #0x0
- bx lr
- .balign 4
-_0202DEBC: .word 0x021C59E4
-
- thumb_func_start FUN_0202DEC0
-FUN_0202DEC0: ; 0x0202DEC0
- ldr r1, _0202DEDC ; =0x021C59E4
- mov r2, #0x1
- ldr r1, [r1, #0x0]
- add r1, r1, r0
- mov r0, #0xe6
- lsl r0, r0, #0x2
- ldrb r0, [r1, r0]
- cmp r0, #0x2
- beq _0202DED8
- cmp r0, #0x1
- beq _0202DED8
- mov r2, #0x0
-_0202DED8:
- add r0, r2, #0x0
- bx lr
- .balign 4
-_0202DEDC: .word 0x021C59E4
-
- thumb_func_start FUN_0202DEE0
-FUN_0202DEE0: ; 0x0202DEE0
- ldr r1, _0202DEF0 ; =0x021C59E4
- mov r2, #0x2
- ldr r1, [r1, #0x0]
- add r1, r1, r0
- mov r0, #0xe6
- lsl r0, r0, #0x2
- strb r2, [r1, r0]
- bx lr
- .balign 4
-_0202DEF0: .word 0x021C59E4
-
- thumb_func_start FUN_0202DEF4
-FUN_0202DEF4: ; 0x0202DEF4
- ldr r1, _0202DF04 ; =0x021C59E4
- mov r2, #0x3
- ldr r1, [r1, #0x0]
- add r1, r1, r0
- mov r0, #0xe6
- lsl r0, r0, #0x2
- strb r2, [r1, r0]
- bx lr
- .balign 4
-_0202DF04: .word 0x021C59E4
-
- thumb_func_start FUN_0202DF08
-FUN_0202DF08: ; 0x0202DF08
- ldr r1, _0202DF24 ; =0x021C59E4
- mov r0, #0x0
- ldr r3, [r1, #0x0]
- mov r1, #0xe6
- lsl r1, r1, #0x2
-_0202DF12:
- ldrb r2, [r3, r1]
- cmp r2, #0x1
- beq _0202DF22
- add r0, r0, #0x1
- add r3, r3, #0x1
- cmp r0, #0x8
- blt _0202DF12
- mov r0, #0xff
-_0202DF22:
- bx lr
- .balign 4
-_0202DF24: .word 0x021C59E4
-
- thumb_func_start FUN_0202DF28
-FUN_0202DF28: ; 0x0202DF28
- push {r3-r4}
- ldr r1, _0202DF50 ; =0x021C59E4
- mov r0, #0x0
- ldr r4, [r1, #0x0]
- mov r1, #0xe6
- add r3, r0, #0x0
- lsl r1, r1, #0x2
-_0202DF36:
- ldrb r2, [r4, r1]
- cmp r2, #0x2
- beq _0202DF40
- cmp r2, #0x3
- bne _0202DF42
-_0202DF40:
- add r0, r0, #0x1
-_0202DF42:
- add r3, r3, #0x1
- add r4, r4, #0x1
- cmp r3, #0x8
- blt _0202DF36
- pop {r3-r4}
- bx lr
- nop
-_0202DF50: .word 0x021C59E4
-
- thumb_func_start FUN_0202DF54
-FUN_0202DF54: ; 0x0202DF54
- push {r4-r6, lr}
- ldr r0, _0202DFA0 ; =0x021C59E4
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- beq _0202DF9C
- bl FUN_02030F20
- cmp r0, #0x0
- beq _0202DF9C
- mov r6, #0xe6
- ldr r4, _0202DFA0 ; =0x021C59E4
- mov r5, #0x0
- lsl r6, r6, #0x2
-_0202DF6E:
- lsl r0, r5, #0x10
- lsr r0, r0, #0x10
- bl FUN_02030E7C
- cmp r0, #0x0
- bne _0202DF96
- cmp r5, #0x0
- bne _0202DF86
- bl FUN_02031280
- cmp r0, #0x0
- bne _0202DF96
-_0202DF86:
- ldr r0, [r4, #0x0]
- add r0, r0, r5
- ldrb r0, [r0, r6]
- cmp r0, #0x0
- beq _0202DF96
- add r0, r5, #0x0
- bl FUN_0202DE78
-_0202DF96:
- add r5, r5, #0x1
- cmp r5, #0x8
- blt _0202DF6E
-_0202DF9C:
- pop {r4-r6, pc}
- nop
-_0202DFA0: .word 0x021C59E4
-
- thumb_func_start FUN_0202DFA4
-FUN_0202DFA4: ; 0x0202DFA4
- ldr r1, _0202DFD4 ; =0x021C59E4
- ldr r3, [r1, #0x0]
- cmp r3, #0x0
- bne _0202DFB0
- mov r0, #0x0
- bx lr
-_0202DFB0:
- mov r1, #0xe6
- add r2, r3, r0
- lsl r1, r1, #0x2
- ldrb r1, [r2, r1]
- cmp r1, #0x1
- beq _0202DFC4
- cmp r1, #0x2
- beq _0202DFC4
- cmp r1, #0x3
- bne _0202DFD0
-_0202DFC4:
- lsl r0, r0, #0x2
- add r1, r3, r0
- mov r0, #0xd2
- lsl r0, r0, #0x2
- ldr r0, [r1, r0]
- bx lr
-_0202DFD0:
- mov r0, #0x0
- bx lr
- .balign 4
-_0202DFD4: .word 0x021C59E4
-
- thumb_func_start FUN_0202DFD8
-FUN_0202DFD8: ; 0x0202DFD8
- ldr r1, _0202DFF8 ; =0x021C59E4
- ldr r3, [r1, #0x0]
- mov r1, #0xe6
- add r2, r3, r0
- lsl r1, r1, #0x2
- ldrb r1, [r2, r1]
- cmp r1, #0x0
- beq _0202DFF2
- mov r1, #0x68
- add r3, #0x48
- mul r1, r0
- add r0, r3, r1
- bx lr
-_0202DFF2:
- mov r0, #0x0
- bx lr
- nop
-_0202DFF8: .word 0x021C59E4
-
- thumb_func_start FUN_0202DFFC
-FUN_0202DFFC: ; 0x0202DFFC
- ldr r1, _0202E01C ; =0x021C59E4
- ldr r3, [r1, #0x0]
- mov r1, #0xe6
- add r2, r3, r0
- lsl r1, r1, #0x2
- ldrb r1, [r2, r1]
- cmp r1, #0x0
- beq _0202E016
- mov r1, #0x68
- add r3, #0x54
- mul r1, r0
- add r0, r3, r1
- bx lr
-_0202E016:
- mov r0, #0x0
- bx lr
- nop
-_0202E01C: .word 0x021C59E4
-
- thumb_func_start FUN_0202E020
-FUN_0202E020: ; 0x0202E020
- ldr r1, _0202E040 ; =0x021C59E4
- ldr r3, [r1, #0x0]
- mov r1, #0xe6
- add r2, r3, r0
- lsl r1, r1, #0x2
- ldrb r1, [r2, r1]
- cmp r1, #0x0
- beq _0202E03C
- mov r1, #0x68
- mul r1, r0
- add r0, r3, r1
- add r0, #0x6b
- ldrb r0, [r0, #0x0]
- bx lr
-_0202E03C:
- mov r0, #0x0
- bx lr
- .balign 4
-_0202E040: .word 0x021C59E4
-
- thumb_func_start FUN_0202E044
-FUN_0202E044: ; 0x0202E044
- ldr r1, _0202E064 ; =0x021C59E4
- ldr r3, [r1, #0x0]
- mov r1, #0xe6
- add r2, r3, r0
- lsl r1, r1, #0x2
- ldrb r1, [r2, r1]
- cmp r1, #0x0
- beq _0202E060
- mov r1, #0x68
- mul r1, r0
- add r0, r3, r1
- add r0, #0x6c
- ldrb r0, [r0, #0x0]
- bx lr
-_0202E060:
- mov r0, #0x0
- bx lr
- .balign 4
-_0202E064: .word 0x021C59E4
-
- thumb_func_start FUN_0202E068
-FUN_0202E068: ; 0x0202E068
- ldr r1, _0202E088 ; =0x021C59E4
- ldr r3, [r1, #0x0]
- mov r1, #0xe6
- add r2, r3, r0
- lsl r1, r1, #0x2
- ldrb r1, [r2, r1]
- cmp r1, #0x0
- beq _0202E084
- mov r1, #0x68
- mul r1, r0
- add r0, r3, r1
- add r0, #0x6d
- ldrb r0, [r0, #0x0]
- bx lr
-_0202E084:
- mov r0, #0x0
- bx lr
- .balign 4
-_0202E088: .word 0x021C59E4
-
- thumb_func_start FUN_0202E08C
-FUN_0202E08C: ; 0x0202E08C
- push {r4-r6, lr}
- mov r4, #0x0
- add r5, r4, #0x0
- add r6, r4, #0x0
-_0202E094:
- lsl r0, r4, #0x10
- lsr r0, r0, #0x10
- bl FUN_02030E7C
- cmp r0, #0x0
- beq _0202E0E8
- ldr r0, _0202E0F4 ; =0x021C59E4
- ldr r0, [r0, #0x0]
- add r1, r0, r4
- mov r0, #0xe6
- lsl r0, r0, #0x2
- ldrb r0, [r1, r0]
- cmp r0, #0x0
- beq _0202E0E8
- add r0, r4, #0x1
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- bl FUN_02030E7C
- cmp r0, #0x0
- beq _0202E0E8
- ldr r0, _0202E0F4 ; =0x021C59E4
- ldr r1, _0202E0F8 ; =0x00000399
- ldr r0, [r0, #0x0]
- add r2, r0, r4
- ldrb r1, [r2, r1]
- cmp r1, #0x0
- beq _0202E0E8
- add r1, r6, #0x0
- add r2, r0, r5
-_0202E0D0:
- add r3, r2, #0x0
- add r3, #0x70
- ldrb r0, [r2, #0x8]
- ldrb r3, [r3, #0x0]
- cmp r0, r3
- beq _0202E0E0
- mov r0, #0x0
- pop {r4-r6, pc}
-_0202E0E0:
- add r1, r1, #0x1
- add r2, r2, #0x1
- cmp r1, #0x20
- blt _0202E0D0
-_0202E0E8:
- add r4, r4, #0x1
- add r5, #0x68
- cmp r4, #0x7
- blt _0202E094
- mov r0, #0x1
- pop {r4-r6, pc}
- .balign 4
-_0202E0F4: .word 0x021C59E4
-_0202E0F8: .word 0x00000399
-
- thumb_func_start FUN_0202E0FC
-FUN_0202E0FC: ; 0x0202E0FC
- push {r3-r7, lr}
- add r7, r0, #0x0
- ldr r0, _0202E1B4 ; =0x021C59E4
- add r6, r1, #0x0
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- beq _0202E1B0
- cmp r7, #0x2
- beq _0202E11C
- bl FUN_02031190
- bl FUN_020313CC
- mov r1, #0x1
- and r0, r1
- str r0, [sp, #0x0]
-_0202E11C:
- mov r4, #0x0
- bl FUN_02030F20
- cmp r0, #0x0
- ble _0202E1B0
- add r5, r4, #0x0
-_0202E128:
- lsl r0, r4, #0x10
- lsr r0, r0, #0x10
- bl FUN_02030E7C
- cmp r0, #0x0
- beq _0202E1A4
- ldr r0, _0202E1B4 ; =0x021C59E4
- mov r1, #0xe6
- ldr r0, [r0, #0x0]
- lsl r1, r1, #0x2
- add r2, r0, r4
- ldrb r1, [r2, r1]
- cmp r1, #0x0
- beq _0202E1A4
- cmp r7, #0x0
- bne _0202E16E
- add r0, r4, #0x0
- bl FUN_020313CC
- mov r1, #0x1
- and r1, r0
- ldr r0, [sp, #0x0]
- cmp r0, r1
- beq _0202E1A4
- ldr r0, _0202E1B4 ; =0x021C59E4
- mov r1, #0xda
- ldr r0, [r0, #0x0]
- lsl r1, r1, #0x2
- add r0, r0, r5
- ldrh r1, [r0, r1]
- add r2, r1, r6
- mov r1, #0xda
- lsl r1, r1, #0x2
- strh r2, [r0, r1]
- b _0202E1A4
-_0202E16E:
- cmp r7, #0x1
- bne _0202E194
- add r0, r4, #0x0
- bl FUN_020313CC
- mov r1, #0x1
- and r1, r0
- ldr r0, [sp, #0x0]
- cmp r0, r1
- beq _0202E1A4
- ldr r0, _0202E1B4 ; =0x021C59E4
- ldr r1, _0202E1B8 ; =0x0000036A
- ldr r0, [r0, #0x0]
- add r0, r0, r5
- ldrh r1, [r0, r1]
- add r2, r1, r6
- ldr r1, _0202E1B8 ; =0x0000036A
- strh r2, [r0, r1]
- b _0202E1A4
-_0202E194:
- mov r1, #0xdb
- add r0, r0, r5
- lsl r1, r1, #0x2
- ldrh r1, [r0, r1]
- add r2, r1, r6
- mov r1, #0xdb
- lsl r1, r1, #0x2
- strh r2, [r0, r1]
-_0202E1A4:
- add r5, r5, #0x6
- add r4, r4, #0x1
- bl FUN_02030F20
- cmp r4, r0
- blt _0202E128
-_0202E1B0:
- pop {r3-r7, pc}
- nop
-_0202E1B4: .word 0x021C59E4
-_0202E1B8: .word 0x0000036A
-
- thumb_func_start FUN_0202E1BC
-FUN_0202E1BC: ; 0x0202E1BC
- push {r4-r7, lr}
- sub sp, #0xc
- add r7, r0, #0x0
- bl FUN_020286EC
- str r0, [sp, #0x4]
- mov r4, #0x0
- bl FUN_02030F20
- cmp r0, #0x0
- ble _0202E224
- add r5, r4, #0x0
-_0202E1D4:
- add r0, r4, #0x0
- bl FUN_0202DFD8
- add r1, r0, #0x0
- beq _0202E218
- add r0, r7, #0x0
- add r2, sp, #0x8
- bl FUN_02033874
- cmp r0, #0x0
- beq _0202E1EE
- cmp r0, #0x1
- bne _0202E218
-_0202E1EE:
- ldr r0, [sp, #0x8]
- cmp r0, #0x0
- bge _0202E1F8
- bl ErrorHandling
-_0202E1F8:
- ldr r0, _0202E254 ; =0x021C59E4
- mov r2, #0xda
- ldr r0, [r0, #0x0]
- ldr r3, _0202E258 ; =0x0000036A
- add r6, r0, r5
- mov r0, #0xdb
- lsl r0, r0, #0x2
- ldrh r0, [r6, r0]
- lsl r2, r2, #0x2
- str r0, [sp, #0x0]
- ldrh r2, [r6, r2]
- ldrh r3, [r6, r3]
- ldr r0, [sp, #0x4]
- ldr r1, [sp, #0x8]
- bl FUN_02028608
-_0202E218:
- add r5, r5, #0x6
- add r4, r4, #0x1
- bl FUN_02030F20
- cmp r4, r0
- blt _0202E1D4
-_0202E224:
- mov r3, #0xda
- mov r2, #0x0
- lsl r3, r3, #0x2
- ldr r6, _0202E254 ; =0x021C59E4
- add r1, r2, #0x0
- add r0, r2, #0x0
- add r4, r3, #0x2
- add r5, r3, #0x4
-_0202E234:
- ldr r7, [r6, #0x0]
- add r2, r2, #0x1
- add r7, r7, r1
- strh r0, [r7, r3]
- ldr r7, [r6, #0x0]
- add r7, r7, r1
- strh r0, [r7, r4]
- ldr r7, [r6, #0x0]
- add r7, r7, r1
- add r1, r1, #0x6
- strh r0, [r7, r5]
- cmp r2, #0x8
- blt _0202E234
- add sp, #0xc
- pop {r4-r7, pc}
- nop
-_0202E254: .word 0x021C59E4
-_0202E258: .word 0x0000036A
-
- thumb_func_start FUN_0202E25C
-FUN_0202E25C: ; 0x0202E25C
- push {r4, lr}
- add r4, r0, #0x0
- cmp r1, #0x1
- bne _0202E26E
- mov r0, #0x0
- mov r1, #0x1
- bl FUN_0202E0FC
- b _0202E27E
-_0202E26E:
- mov r0, #0x0
- mvn r0, r0
- cmp r1, r0
- bne _0202E27E
- mov r0, #0x1
- add r1, r0, #0x0
- bl FUN_0202E0FC
-_0202E27E:
- add r0, r4, #0x0
- bl FUN_0202E1BC
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0202E288
-FUN_0202E288: ; 0x0202E288
- push {r4, lr}
- add r4, r0, #0x0
- mov r0, #0x2
- bl FUN_0202E0FC
- add r0, r4, #0x0
- bl FUN_0202E1BC
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0202E29C
-FUN_0202E29C: ; 0x0202E29C
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, _0202E334 ; =0x021C59E8
- ldr r0, [r0, #0x8]
- cmp r0, #0x0
- bne _0202E332
- mov r1, #0xdb
- mov r0, #0xf
- lsl r1, r1, #0x4
- bl FUN_02016998
- ldr r1, _0202E334 ; =0x021C59E8
- mov r2, #0xdb
- str r0, [r1, #0x8]
- mov r1, #0x0
- lsl r2, r2, #0x4
- blx MI_CpuFill8
- bl FUN_0202CEEC
- add r1, r0, #0x0
- mov r0, #0xf
- bl FUN_02016998
- ldr r1, _0202E334 ; =0x021C59E8
- ldr r2, [r1, #0x8]
- ldr r1, _0202E338 ; =0x00000CA4
- str r0, [r2, r1]
- bl FUN_0202CEEC
- add r2, r0, #0x0
- ldr r0, _0202E334 ; =0x021C59E8
- ldr r1, [r0, #0x8]
- ldr r0, _0202E338 ; =0x00000CA4
- ldr r0, [r1, r0]
- mov r1, #0x0
- blx MI_CpuFill8
- bl FUN_02023AC4
- add r1, r0, #0x0
- mov r0, #0xf
- bl FUN_02016998
- ldr r1, _0202E334 ; =0x021C59E8
- ldr r2, [r1, #0x8]
- ldr r1, _0202E33C ; =0x00000CBC
- str r0, [r2, r1]
- bl FUN_02023AC4
- add r2, r0, #0x0
- ldr r0, _0202E334 ; =0x021C59E8
- ldr r1, [r0, #0x8]
- ldr r0, _0202E33C ; =0x00000CBC
- ldr r0, [r1, r0]
- mov r1, #0x0
- blx MI_CpuFill8
- ldr r2, _0202E334 ; =0x021C59E8
- mov r1, #0x33
- ldr r3, _0202E340 ; =0x00000333
- ldr r0, [r2, #0x8]
- lsl r1, r1, #0x6
- str r3, [r0, r1]
- add r0, r1, #0x0
- ldr r3, [r2, #0x8]
- sub r0, #0x8
- str r4, [r3, r0]
- ldr r0, [r2, #0x8]
- sub r1, #0x18
- add r0, r0, r1
- bl FUN_02013724
- bl FUN_0202E500
-_0202E332:
- pop {r4, pc}
- .balign 4
-_0202E334: .word 0x021C59E8
-_0202E338: .word 0x00000CA4
-_0202E33C: .word 0x00000CBC
-_0202E340: .word 0x00000333
-
- thumb_func_start FUN_0202E344
-FUN_0202E344: ; 0x0202E344
- ldr r0, _0202E354 ; =0x021C59E8
- ldr r0, [r0, #0x8]
- cmp r0, #0x0
- beq _0202E350
- mov r0, #0x1
- bx lr
-_0202E350:
- mov r0, #0x0
- bx lr
- .balign 4
-_0202E354: .word 0x021C59E8
-
- thumb_func_start FUN_0202E358
-FUN_0202E358: ; 0x0202E358
- push {r4-r5}
- mov r5, #0x0
- cmp r2, #0x0
- ble _0202E378
-_0202E360:
- ldrb r4, [r0, #0x0]
- ldrb r3, [r1, #0x0]
- cmp r4, r3
- beq _0202E36E
- mov r0, #0x0
- pop {r4-r5}
- bx lr
-_0202E36E:
- add r5, r5, #0x1
- add r0, r0, #0x1
- add r1, r1, #0x1
- cmp r5, r2
- blt _0202E360
-_0202E378:
- mov r0, #0x1
- pop {r4-r5}
- bx lr
- .balign 4
-
- thumb_func_start FUN_0202E380
-FUN_0202E380: ; 0x0202E380
- push {r3-r7, lr}
- add r7, r0, #0x0
- bl FUN_02033534
- add r5, r0, #0x0
- bl FUN_0203354C
- add r4, r7, #0x0
- add r6, r0, #0x0
- add r4, #0x50
- cmp r5, #0xe
- beq _0202E3C2
- ldrb r0, [r4, #0x4]
- bl FUN_0202D8B0
- cmp r0, #0x0
- beq _0202E3AC
- add r0, r5, #0x0
- bl FUN_0202D8B0
- cmp r0, #0x0
- bne _0202E3C2
-_0202E3AC:
- add r0, r4, #0x0
- add r0, #0x54
- ldrb r0, [r0, #0x0]
- cmp r0, #0x0
- beq _0202E3BC
- ldrb r0, [r4, #0x4]
- cmp r0, #0xa
- beq _0202E460
-_0202E3BC:
- ldrb r0, [r4, #0x4]
- cmp r0, r5
- bne _0202E460
-_0202E3C2:
- cmp r5, #0xe
- beq _0202E3CC
- ldrb r0, [r4, #0x5]
- cmp r0, r6
- bne _0202E460
-_0202E3CC:
- mov r6, #0x0
- add r4, r6, #0x0
- add r5, r6, #0x0
-_0202E3D2:
- ldr r0, _0202E464 ; =0x021C59E8
- ldr r1, _0202E468 ; =0x00000C84
- ldr r0, [r0, #0x8]
- add r2, r0, r4
- ldrh r1, [r2, r1]
- cmp r1, #0x0
- beq _0202E412
- add r0, #0x58
- add r0, r0, r5
- add r1, r7, #0x4
- mov r2, #0x6
- bl FUN_0202E358
- cmp r0, #0x0
- beq _0202E412
- ldr r2, _0202E464 ; =0x021C59E8
- lsl r1, r6, #0x1
- ldr r3, [r2, #0x8]
- mov r0, #0x96
- add r3, r3, r1
- ldr r1, _0202E468 ; =0x00000C84
- strh r0, [r3, r1]
- ldr r3, [r2, #0x8]
- mov r2, #0xc0
- add r1, r6, #0x0
- add r3, #0x54
- mul r1, r2
- add r0, r7, #0x0
- add r1, r3, r1
- blx MI_CpuCopy8
- pop {r3-r7, pc}
-_0202E412:
- add r6, r6, #0x1
- add r4, r4, #0x2
- add r5, #0xc0
- cmp r6, #0x10
- blt _0202E3D2
- ldr r0, _0202E464 ; =0x021C59E8
- ldr r2, _0202E468 ; =0x00000C84
- ldr r0, [r0, #0x8]
- mov r1, #0x0
- add r4, r0, #0x0
-_0202E426:
- ldrh r3, [r4, r2]
- cmp r3, #0x0
- beq _0202E434
- add r1, r1, #0x1
- add r4, r4, #0x2
- cmp r1, #0x10
- blt _0202E426
-_0202E434:
- cmp r1, #0x10
- bge _0202E460
- lsl r2, r1, #0x1
- add r2, r0, r2
- ldr r0, _0202E468 ; =0x00000C84
- mov r3, #0x96
- strh r3, [r2, r0]
- ldr r2, _0202E464 ; =0x021C59E8
- add r3, r1, #0x0
- ldr r4, [r2, #0x8]
- mov r2, #0xc0
- add r4, #0x54
- mul r3, r2
- add r0, r7, #0x0
- add r1, r4, r3
- blx MI_CpuCopy8
- ldr r0, _0202E464 ; =0x021C59E8
- mov r2, #0x1
- ldr r1, [r0, #0x8]
- ldr r0, _0202E46C ; =0x00000CB4
- strb r2, [r1, r0]
-_0202E460:
- pop {r3-r7, pc}
- nop
-_0202E464: .word 0x021C59E8
-_0202E468: .word 0x00000C84
-_0202E46C: .word 0x00000CB4
-
- thumb_func_start FUN_0202E470
-FUN_0202E470: ; 0x0202E470
- push {r3, lr}
- cmp r1, #0x0
- beq _0202E47A
- blx OS_Terminate
-_0202E47A:
- ldr r0, _0202E484 ; =0x021C59E8
- mov r1, #0x2
- str r1, [r0, #0x4]
- pop {r3, pc}
- nop
-_0202E484: .word 0x021C59E8
-
- thumb_func_start FUN_0202E488
-FUN_0202E488: ; 0x0202E488
- ldr r0, _0202E494 ; =0x021C59E8
- mov r1, #0x0
- str r1, [r0, #0x4]
- ldr r3, _0202E498 ; =FUN_02016454
- mov r0, #0x4
- bx r3
- .balign 4
-_0202E494: .word 0x021C59E8
-_0202E498: .word FUN_02016454
-
- thumb_func_start FUN_0202E49C
-FUN_0202E49C: ; 0x0202E49C
- push {r3, lr}
- mov r0, #0x4
- bl FUN_02016444
- ldr r0, _0202E4C0 ; =0x021C59E8
- mov r1, #0x1
- str r1, [r0, #0x4]
- ldr r1, _0202E4C4 ; =FUN_0202E470
- mov r0, #0x8
- mov r2, #0x0
- blx FUN_02090DB8
- cmp r0, #0x1
- beq _0202E4BC
- blx OS_Terminate
-_0202E4BC:
- pop {r3, pc}
- nop
-_0202E4C0: .word 0x021C59E8
-_0202E4C4: .word FUN_0202E470
-
- thumb_func_start FUN_0202E4C8
-FUN_0202E4C8: ; 0x0202E4C8
- ldr r0, _0202E4D8 ; =0x021C59E8
- ldr r0, [r0, #0x4]
- cmp r0, #0x2
- bne _0202E4D4
- mov r0, #0x1
- bx lr
-_0202E4D4:
- mov r0, #0x0
- bx lr
- .balign 4
-_0202E4D8: .word 0x021C59E8
-
- thumb_func_start FUN_0202E4DC
-FUN_0202E4DC: ; 0x0202E4DC
- ldr r0, _0202E4EC ; =0x021C59E8
- ldr r0, [r0, #0x4]
- cmp r0, #0x0
- beq _0202E4E8
- mov r0, #0x1
- bx lr
-_0202E4E8:
- mov r0, #0x0
- bx lr
- .balign 4
-_0202E4EC: .word 0x021C59E8
-
- thumb_func_start FUN_0202E4F0
-FUN_0202E4F0: ; 0x0202E4F0
- ldr r3, _0202E4F8 ; =FUN_02090CC8
- ldr r0, _0202E4FC ; =FUN_0202E488
- mov r1, #0x0
- bx r3
- .balign 4
-_0202E4F8: .word FUN_02090CC8
-_0202E4FC: .word FUN_0202E488
-
- thumb_func_start FUN_0202E500
-FUN_0202E500: ; 0x0202E500
- push {r3, lr}
- ldr r1, _0202E534 ; =0x021C59E8
- mov r0, #0xcb
- ldr r2, [r1, #0x8]
- mov r3, #0x0
- lsl r0, r0, #0x4
- str r3, [r2, r0]
- ldr r1, [r1, #0x8]
- sub r0, #0xc
- ldr r2, [r1, r0]
- mov r0, #0x1f
- add r1, r2, #0x0
- and r1, r0
- mov r0, #0x20
- sub r0, r0, r1
- add r0, r2, r0
- bl FUN_0202CE64
- ldr r0, _0202E534 ; =0x021C59E8
- ldr r1, [r0, #0x8]
- mov r0, #0x33
- lsl r0, r0, #0x6
- ldr r0, [r1, r0]
- bl FUN_0202CB70
- pop {r3, pc}
- .balign 4
-_0202E534: .word 0x021C59E8
-
- thumb_func_start FUN_0202E538
-FUN_0202E538: ; 0x0202E538
- push {r3-r5, lr}
- mov r4, #0x0
- ldr r2, _0202E564 ; =0x021C59E8
- ldr r0, _0202E568 ; =0x00000C84
- add r5, r4, #0x0
- add r1, r4, #0x0
-_0202E544:
- ldr r3, [r2, #0x8]
- add r4, r4, #0x1
- add r3, r3, r5
- add r5, r5, #0x2
- strh r1, [r3, r0]
- cmp r4, #0x10
- blt _0202E544
- ldr r0, _0202E564 ; =0x021C59E8
- mov r2, #0x3
- ldr r0, [r0, #0x8]
- lsl r2, r2, #0xa
- add r0, #0x54
- blx MI_CpuFill8
- pop {r3-r5, pc}
- nop
-_0202E564: .word 0x021C59E8
-_0202E568: .word 0x00000C84
-
- thumb_func_start FUN_0202E56C
-FUN_0202E56C: ; 0x0202E56C
- push {r3-r4}
- ldr r1, _0202E58C ; =0x021C59E8
- lsl r0, r0, #0x18
- ldr r2, [r1, #0x8]
- ldr r4, _0202E590 ; =0x00000DAD
- lsr r0, r0, #0x18
- ldrb r1, [r2, r4]
- mov r3, #0x8
- lsl r0, r0, #0x1f
- bic r1, r3
- lsr r0, r0, #0x1c
- orr r0, r1
- strb r0, [r2, r4]
- pop {r3-r4}
- bx lr
- nop
-_0202E58C: .word 0x021C59E8
-_0202E590: .word 0x00000DAD
-
- thumb_func_start FUN_0202E594
-FUN_0202E594: ; 0x0202E594
- push {r4-r5}
- ldr r1, _0202E5F0 ; =0x021C59E8
- ldr r0, _0202E5F4 ; =0x00000CB4
- ldr r3, [r1, #0x8]
- mov r2, #0x0
- strb r2, [r3, r0]
- add r3, r0, #0x0
- ldr r5, [r1, #0x8]
- add r3, #0xf9
- ldrb r4, [r5, r3]
- mov r3, #0x1
- bic r4, r3
- add r3, r0, #0x0
- add r3, #0xf9
- strb r4, [r5, r3]
- add r3, r0, #0x0
- ldr r5, [r1, #0x8]
- add r3, #0xf9
- ldrb r4, [r5, r3]
- mov r3, #0x4
- bic r4, r3
- add r3, r0, #0x0
- add r3, #0xf9
- strb r4, [r5, r3]
- add r3, r0, #0x0
- ldr r4, [r1, #0x8]
- add r3, #0xf6
- strb r2, [r4, r3]
- add r3, r0, #0x0
- ldr r5, [r1, #0x8]
- add r3, #0xf9
- ldrb r4, [r5, r3]
- mov r3, #0x10
- bic r4, r3
- add r3, r0, #0x0
- add r3, #0xf9
- strb r4, [r5, r3]
- add r3, r0, #0x0
- ldr r4, [r1, #0x8]
- add r3, #0xf8
- strb r2, [r4, r3]
- ldr r1, [r1, #0x8]
- add r0, #0xf7
- strb r2, [r1, r0]
- pop {r4-r5}
- bx lr
- .balign 4
-_0202E5F0: .word 0x021C59E8
-_0202E5F4: .word 0x00000CB4
-
- thumb_func_start FUN_0202E5F8
-FUN_0202E5F8: ; 0x0202E5F8
- push {r3-r5, lr}
- add r5, r1, #0x0
- add r4, r2, #0x0
- bl FUN_0202E594
- add r0, r5, #0x0
- bl FUN_0202E56C
- bl FUN_0202D2F4
- ldr r0, _0202E65C ; =0x021C59E8
- ldr r1, [r0, #0x8]
- ldr r0, _0202E660 ; =0x00000DAB
- ldrb r0, [r1, r0]
- cmp r0, #0x0
- bne _0202E62A
- ldr r0, _0202E664 ; =FUN_020303BC
- mov r1, #0xe
- bl FUN_0202D0A0
- ldr r0, _0202E65C ; =0x021C59E8
- mov r2, #0x1
- ldr r1, [r0, #0x8]
- ldr r0, _0202E660 ; =0x00000DAB
- strb r2, [r1, r0]
-_0202E62A:
- ldr r0, _0202E65C ; =0x021C59E8
- ldr r3, _0202E668 ; =0x00000DAD
- ldr r1, [r0, #0x8]
- mov r2, #0x20
- ldrb r0, [r1, r3]
- bic r0, r2
- lsl r2, r4, #0x18
- lsr r2, r2, #0x18
- lsl r2, r2, #0x1f
- lsr r2, r2, #0x1a
- orr r0, r2
- strb r0, [r1, r3]
- bl FUN_0202CBD4
- cmp r0, #0x1
- bne _0202E656
- bl FUN_0202CBFC
- cmp r0, #0x0
- beq _0202E656
- mov r0, #0x1
- pop {r3-r5, pc}
-_0202E656:
- mov r0, #0x0
- pop {r3-r5, pc}
- nop
-_0202E65C: .word 0x021C59E8
-_0202E660: .word 0x00000DAB
-_0202E664: .word FUN_020303BC
-_0202E668: .word 0x00000DAD
-
- thumb_func_start FUN_0202E66C
-FUN_0202E66C: ; 0x0202E66C
- push {r4, lr}
- sub sp, #0x8
- add r4, r1, #0x0
- bl FUN_0202E594
- cmp r4, #0x0
- beq _0202E67E
- bl FUN_0202E538
-_0202E67E:
- ldr r0, _0202E6DC ; =0x021C59E8
- ldr r1, [r0, #0x8]
- ldr r0, _0202E6E0 ; =0x00000DAB
- ldrb r0, [r1, r0]
- cmp r0, #0x0
- bne _0202E69C
- ldr r0, _0202E6E4 ; =FUN_02030238
- mov r1, #0xe
- bl FUN_0202D0A0
- ldr r0, _0202E6DC ; =0x021C59E8
- mov r2, #0x1
- ldr r1, [r0, #0x8]
- ldr r0, _0202E6E0 ; =0x00000DAB
- strb r2, [r1, r0]
-_0202E69C:
- bl FUN_0202CBD4
- cmp r0, #0x1
- bne _0202E6D4
- ldr r2, _0202E6E8 ; =0x020EEC40
- add r0, sp, #0x0
- ldrb r3, [r2, #0x0]
- add r1, sp, #0x0
- strb r3, [r0, #0x0]
- ldrb r3, [r2, #0x1]
- strb r3, [r0, #0x1]
- ldrb r3, [r2, #0x2]
- strb r3, [r0, #0x2]
- ldrb r3, [r2, #0x3]
- strb r3, [r0, #0x3]
- ldrb r3, [r2, #0x4]
- ldrb r2, [r2, #0x5]
- strb r3, [r0, #0x4]
- strb r2, [r0, #0x5]
- ldr r0, _0202E6EC ; =FUN_0202E380
- mov r2, #0x0
- bl FUN_0202C570
- cmp r0, #0x0
- beq _0202E6D4
- add sp, #0x8
- mov r0, #0x1
- pop {r4, pc}
-_0202E6D4:
- mov r0, #0x0
- add sp, #0x8
- pop {r4, pc}
- nop
-_0202E6DC: .word 0x021C59E8
-_0202E6E0: .word 0x00000DAB
-_0202E6E4: .word FUN_02030238
-_0202E6E8: .word 0x020EEC40
-_0202E6EC: .word FUN_0202E380
-
- thumb_func_start FUN_0202E6F0
-FUN_0202E6F0: ; 0x0202E6F0
- push {r3, lr}
- ldr r0, _0202E77C ; =0x021C59E8
- ldr r1, [r0, #0x8]
- cmp r1, #0x0
- bne _0202E6FE
- mov r0, #0x1
- pop {r3, pc}
-_0202E6FE:
- ldr r0, _0202E780 ; =0x00000DAC
- ldrb r0, [r1, r0]
- cmp r0, #0x0
- beq _0202E710
- cmp r0, #0x1
- beq _0202E740
- cmp r0, #0x2
- beq _0202E758
- b _0202E776
-_0202E710:
- bl FUN_0202D21C
- cmp r0, #0x0
- beq _0202E728
- bl FUN_0202C770
- ldr r0, _0202E77C ; =0x021C59E8
- mov r2, #0x1
- ldr r1, [r0, #0x8]
- ldr r0, _0202E780 ; =0x00000DAC
- strb r2, [r1, r0]
- b _0202E776
-_0202E728:
- bl FUN_0202D1E4
- cmp r0, #0x0
- bne _0202E776
- bl FUN_0202D100
- ldr r0, _0202E77C ; =0x021C59E8
- mov r2, #0x2
- ldr r1, [r0, #0x8]
- ldr r0, _0202E780 ; =0x00000DAC
- strb r2, [r1, r0]
- b _0202E776
-_0202E740:
- bl FUN_0202D1E4
- cmp r0, #0x0
- bne _0202E776
- bl FUN_0202D100
- ldr r0, _0202E77C ; =0x021C59E8
- mov r2, #0x2
- ldr r1, [r0, #0x8]
- ldr r0, _0202E780 ; =0x00000DAC
- strb r2, [r1, r0]
- b _0202E776
-_0202E758:
- bl FUN_0202D1C8
- cmp r0, #0x0
- beq _0202E764
- mov r0, #0x1
- pop {r3, pc}
-_0202E764:
- bl FUN_0202D200
- cmp r0, #0x0
- beq _0202E776
- ldr r0, _0202E77C ; =0x021C59E8
- mov r2, #0x1
- ldr r1, [r0, #0x8]
- ldr r0, _0202E780 ; =0x00000DAC
- strb r2, [r1, r0]
-_0202E776:
- mov r0, #0x0
- pop {r3, pc}
- nop
-_0202E77C: .word 0x021C59E8
-_0202E780: .word 0x00000DAC
-
- thumb_func_start FUN_0202E784
-FUN_0202E784: ; 0x0202E784
- push {r3, lr}
- ldr r0, _0202E7A8 ; =0x021C59E8
- ldr r2, [r0, #0x8]
- cmp r2, #0x0
- beq _0202E7A2
- ldr r0, _0202E7AC ; =0x00000DAA
- ldrb r1, [r2, r0]
- cmp r1, #0x0
- bne _0202E7A2
- mov r1, #0x1
- strb r1, [r2, r0]
- bl FUN_0202D100
- mov r0, #0x1
- pop {r3, pc}
-_0202E7A2:
- mov r0, #0x0
- pop {r3, pc}
- nop
-_0202E7A8: .word 0x021C59E8
-_0202E7AC: .word 0x00000DAA
-
- thumb_func_start FUN_0202E7B0
-FUN_0202E7B0: ; 0x0202E7B0
- push {r3, lr}
- ldr r1, _0202E7D0 ; =0x021C59E8
- ldr r2, [r1, #0x8]
- cmp r2, #0x0
- beq _0202E7CE
- cmp r0, #0x0
- ldr r0, _0202E7D4 ; =0x00000DAA
- beq _0202E7C6
- mov r1, #0x2
- strb r1, [r2, r0]
- pop {r3, pc}
-_0202E7C6:
- mov r1, #0x0
- strb r1, [r2, r0]
- bl FUN_0202E500
-_0202E7CE:
- pop {r3, pc}
- .balign 4
-_0202E7D0: .word 0x021C59E8
-_0202E7D4: .word 0x00000DAA
-
- thumb_func_start FUN_0202E7D8
-FUN_0202E7D8: ; 0x0202E7D8
- push {r3, lr}
- ldr r0, _0202E804 ; =0x021C59E8
- ldr r1, [r0, #0x8]
- ldr r0, _0202E808 ; =0x00000CBC
- ldr r0, [r1, r0]
- bl FUN_02016A18
- ldr r0, _0202E804 ; =0x021C59E8
- ldr r1, [r0, #0x8]
- ldr r0, _0202E80C ; =0x00000CA4
- ldr r0, [r1, r0]
- bl FUN_02016A18
- ldr r0, _0202E804 ; =0x021C59E8
- ldr r0, [r0, #0x8]
- bl FUN_02016A18
- ldr r0, _0202E804 ; =0x021C59E8
- mov r1, #0x0
- str r1, [r0, #0x8]
- pop {r3, pc}
- nop
-_0202E804: .word 0x021C59E8
-_0202E808: .word 0x00000CBC
-_0202E80C: .word 0x00000CA4
-
- thumb_func_start FUN_0202E810
-FUN_0202E810: ; 0x0202E810
- push {r4, lr}
- bl FUN_02030F40
- cmp r0, #0x0
- bne _0202E81E
- mov r0, #0x0
- pop {r4, pc}
-_0202E81E:
- ldr r1, _0202E83C ; =0x021C59E8
- mov r0, #0x0
- ldr r4, [r1, #0x8]
- ldr r1, _0202E840 ; =0x00000C84
- add r3, r0, #0x0
-_0202E828:
- ldrh r2, [r4, r1]
- cmp r2, #0x0
- beq _0202E830
- add r0, r0, #0x1
-_0202E830:
- add r3, r3, #0x1
- add r4, r4, #0x2
- cmp r3, #0x10
- blt _0202E828
- pop {r4, pc}
- nop
-_0202E83C: .word 0x021C59E8
-_0202E840: .word 0x00000C84
-
- thumb_func_start FUN_0202E844
-FUN_0202E844: ; 0x0202E844
- push {r3-r5, lr}
- ldr r1, _0202E870 ; =0x021C59E8
- mov r4, #0x0
- ldr r5, [r1, #0x8]
- ldr r1, _0202E874 ; =0x00000C84
- add r3, r4, #0x0
-_0202E850:
- ldrh r2, [r5, r1]
- cmp r2, #0x0
- beq _0202E860
- cmp r4, r0
- bne _0202E85E
- add r0, r3, #0x0
- pop {r3-r5, pc}
-_0202E85E:
- add r4, r4, #0x1
-_0202E860:
- add r3, r3, #0x1
- add r5, r5, #0x2
- cmp r3, #0x10
- blt _0202E850
- bl ErrorHandling
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-_0202E870: .word 0x021C59E8
-_0202E874: .word 0x00000C84
-
- thumb_func_start FUN_0202E878
-FUN_0202E878: ; 0x0202E878
- ldr r0, _0202E884 ; =0x021C59E8
- ldr r1, [r0, #0x8]
- ldr r0, _0202E888 ; =0x00000CB4
- ldrb r0, [r1, r0]
- bx lr
- nop
-_0202E884: .word 0x021C59E8
-_0202E888: .word 0x00000CB4
-
- thumb_func_start FUN_0202E88C
-FUN_0202E88C: ; 0x0202E88C
- ldr r0, _0202E898 ; =0x021C59E8
- mov r2, #0x0
- ldr r1, [r0, #0x8]
- ldr r0, _0202E89C ; =0x00000CB4
- strb r2, [r1, r0]
- bx lr
- .balign 4
-_0202E898: .word 0x021C59E8
-_0202E89C: .word 0x00000CB4
-
- thumb_func_start FUN_0202E8A0
-FUN_0202E8A0: ; 0x0202E8A0
- ldr r1, _0202E8C8 ; =0x021C59E8
- ldr r3, [r1, #0x8]
- lsl r1, r0, #0x1
- add r2, r3, r1
- ldr r1, _0202E8CC ; =0x00000C84
- ldrh r1, [r2, r1]
- cmp r1, #0x0
- beq _0202E8C2
- mov r1, #0xc0
- mul r1, r0
- add r0, r3, r1
- add r0, #0xaa
- ldrb r0, [r0, #0x0]
- cmp r0, #0x0
- bne _0202E8C4
- mov r0, #0x1
- bx lr
-_0202E8C2:
- mov r0, #0x0
-_0202E8C4:
- bx lr
- nop
-_0202E8C8: .word 0x021C59E8
-_0202E8CC: .word 0x00000C84
-
- thumb_func_start FUN_0202E8D0
-FUN_0202E8D0: ; 0x0202E8D0
- push {r3-r5, lr}
- add r5, r0, #0x0
- mov r4, #0xf
-_0202E8D6:
- add r0, r4, #0x0
- bl FUN_0202E8A0
- cmp r0, r5
- ble _0202E8E8
- cmp r0, #0x8
- bge _0202E8E8
- add r0, r4, #0x0
- pop {r3-r5, pc}
-_0202E8E8:
- sub r4, r4, #0x1
- bpl _0202E8D6
- mov r0, #0x0
- mvn r0, r0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0202E8F4
-FUN_0202E8F4: ; 0x0202E8F4
- push {r3-r7, lr}
- bl FUN_0202E810
- cmp r0, #0x0
- bne _0202E904
- mov r0, #0x0
- mvn r0, r0
- pop {r3-r7, pc}
-_0202E904:
- mov r5, #0x2d
- ldr r7, _0202E948 ; =0x021C59E8
- mov r6, #0xf
- mov r4, #0x1e
- lsl r5, r5, #0x6
-_0202E90E:
- ldr r0, [r7, #0x8]
- ldr r1, _0202E94C ; =0x00000C84
- add r2, r0, r4
- ldrh r1, [r2, r1]
- cmp r1, #0x0
- beq _0202E938
- add r0, #0x58
- add r0, r0, r5
- bl FUN_0202EFE4
- cmp r0, #0x0
- beq _0202E938
- add r0, r6, #0x0
- bl FUN_0202E8A0
- cmp r0, #0x1
- ble _0202E938
- cmp r0, #0x8
- bge _0202E938
- add r0, r6, #0x0
- pop {r3-r7, pc}
-_0202E938:
- sub r4, r4, #0x2
- sub r5, #0xc0
- sub r6, r6, #0x1
- bpl _0202E90E
- mov r0, #0x0
- mvn r0, r0
- pop {r3-r7, pc}
- nop
-_0202E948: .word 0x021C59E8
-_0202E94C: .word 0x00000C84
-
- thumb_func_start FUN_0202E950
-FUN_0202E950: ; 0x0202E950
- push {r3-r7, lr}
- bl FUN_0202E810
- cmp r0, #0x0
- bne _0202E960
- mov r0, #0x0
- mvn r0, r0
- pop {r3-r7, pc}
-_0202E960:
- mov r5, #0x2d
- ldr r7, _0202E9A4 ; =0x021C59E8
- mov r6, #0xf
- mov r4, #0x1e
- lsl r5, r5, #0x6
-_0202E96A:
- ldr r0, [r7, #0x8]
- ldr r1, _0202E9A8 ; =0x00000C84
- add r2, r0, r4
- ldrh r1, [r2, r1]
- cmp r1, #0x0
- beq _0202E986
- add r0, #0x58
- add r0, r0, r5
- bl FUN_0202EFE4
- cmp r0, #0x0
- beq _0202E986
- add r0, r6, #0x0
- pop {r3-r7, pc}
-_0202E986:
- sub r4, r4, #0x2
- sub r5, #0xc0
- sub r6, r6, #0x1
- bpl _0202E96A
- mov r0, #0x1
- bl FUN_0202E8D0
- mov r1, #0x0
- mvn r1, r1
- cmp r0, r1
- bne _0202E9A2
- mov r0, #0x0
- bl FUN_0202E8D0
-_0202E9A2:
- pop {r3-r7, pc}
- .balign 4
-_0202E9A4: .word 0x021C59E8
-_0202E9A8: .word 0x00000C84
-
- thumb_func_start FUN_0202E9AC
-FUN_0202E9AC: ; 0x0202E9AC
- push {r4-r6, lr}
- add r4, r1, #0x0
- ldr r1, _0202E9E0 ; =0x021C59E8
- mov r5, #0x0
- ldr r6, [r1, #0x8]
- ldr r1, _0202E9E4 ; =0x00000C84
- add r3, r5, #0x0
-_0202E9BA:
- ldrh r2, [r6, r1]
- cmp r2, #0x0
- beq _0202E9D4
- cmp r0, r5
- bne _0202E9D2
- add r0, r3, #0x0
- bl FUN_0202EF84
- add r1, r4, #0x0
- bl FUN_0202393C
- pop {r4-r6, pc}
-_0202E9D2:
- add r5, r5, #0x1
-_0202E9D4:
- add r3, r3, #0x1
- add r6, r6, #0x2
- cmp r3, #0x10
- blt _0202E9BA
- pop {r4-r6, pc}
- nop
-_0202E9E0: .word 0x021C59E8
-_0202E9E4: .word 0x00000C84
-
- thumb_func_start FUN_0202E9E8
-FUN_0202E9E8: ; 0x0202E9E8
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl FUN_0202CBD4
- cmp r0, #0x2
- bne _0202E9FC
- bl FUN_0202C770
- mov r0, #0x0
- pop {r3-r5, pc}
-_0202E9FC:
- bl FUN_0202CBD4
- cmp r0, #0x1
- bne _0202EA48
- bl FUN_02033534
- mov r1, #0xc0
- add r4, r5, #0x0
- mul r4, r1
- ldr r1, _0202EA4C ; =0x021C59E8
- ldr r3, [r1, #0x8]
- add r1, r3, r4
- add r1, #0x8a
- ldrh r2, [r1, #0x0]
- ldr r1, _0202EA50 ; =0x00000DA8
- strb r2, [r3, r1]
- bl FUN_0202D8B0
- cmp r0, #0x0
- beq _0202EA36
- ldr r1, _0202EA4C ; =0x021C59E8
- mov r0, #0x1
- ldr r1, [r1, #0x8]
- mov r2, #0x0
- add r1, #0x58
- add r1, r1, r4
- bl FUN_0202C4D8
- b _0202EA44
-_0202EA36:
- ldr r1, _0202EA4C ; =0x021C59E8
- mov r0, #0x1
- ldr r1, [r1, #0x8]
- add r1, #0x54
- add r1, r1, r4
- bl FUN_0202D034
-_0202EA44:
- mov r0, #0x1
- pop {r3-r5, pc}
-_0202EA48:
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-_0202EA4C: .word 0x021C59E8
-_0202EA50: .word 0x00000DA8
-
- thumb_func_start FUN_0202EA54
-FUN_0202EA54: ; 0x0202EA54
- push {r4-r7}
- mov r4, #0x0
- ldr r1, _0202EA90 ; =0x021C59E8
- ldr r0, _0202EA94 ; =0x00000C84
- add r5, r4, #0x0
- mov r2, #0x1
-_0202EA60:
- ldr r3, [r1, #0x8]
- add r3, r3, r5
- ldrh r6, [r3, r0]
- cmp r6, #0x0
- beq _0202EA84
- beq _0202EA84
- ldr r6, _0202EA94 ; =0x00000C84
- ldrh r6, [r3, r6]
- sub r7, r6, #0x1
- ldr r6, _0202EA94 ; =0x00000C84
- strh r7, [r3, r6]
- ldr r3, [r1, #0x8]
- add r7, r3, r5
- ldrh r6, [r7, r6]
- cmp r6, #0x0
- bne _0202EA84
- ldr r6, _0202EA98 ; =0x00000CB4
- strb r2, [r3, r6]
-_0202EA84:
- add r4, r4, #0x1
- add r5, r5, #0x2
- cmp r4, #0x10
- blt _0202EA60
- pop {r4-r7}
- bx lr
- .balign 4
-_0202EA90: .word 0x021C59E8
-_0202EA94: .word 0x00000C84
-_0202EA98: .word 0x00000CB4
-
- thumb_func_start FUN_0202EA9C
-FUN_0202EA9C: ; 0x0202EA9C
- push {r3-r5, lr}
- bl FUN_02033534
- add r5, r0, #0x0
- bl FUN_0202EF70
- add r4, r0, #0x0
- cmp r5, #0xf
- beq _0202EB24
- ldr r0, _0202EB6C ; =0x021C59E8
- ldr r1, [r0, #0x8]
- ldr r0, _0202EB70 ; =0x00000CC4
- add r5, r1, r0
- bl FUN_02023AC4
- cmp r0, #0x20
- ble _0202EAC2
- bl ErrorHandling
-_0202EAC2:
- bl FUN_02023924
- cmp r0, #0x20
- beq _0202EACE
- bl ErrorHandling
-_0202EACE:
- bl FUN_02023924
- add r1, r5, #0x0
- add r2, r0, #0x0
- add r0, r4, #0x0
- add r1, #0x10
- blx MI_CpuCopy8
- bl FUN_02023AC4
- add r2, r0, #0x0
- ldr r0, _0202EB6C ; =0x021C59E8
- ldr r1, [r0, #0x8]
- ldr r0, _0202EB74 ; =0x00000CBC
- ldr r0, [r1, r0]
- add r1, r5, #0x0
- add r1, #0x30
- blx MI_CpuCopy8
- add r0, r4, #0x0
- bl FUN_020239BC
- str r0, [r5, #0x0]
- bl FUN_02033534
- strb r0, [r5, #0x4]
- bl FUN_0203354C
- strb r0, [r5, #0x5]
- ldr r0, _0202EB6C ; =0x021C59E8
- mov r2, #0x8
- ldr r1, [r0, #0x8]
- ldr r0, _0202EB78 ; =0x00000CA8
- add r0, r1, r0
- add r1, r5, #0x0
- add r1, #0x8
- blx MI_CpuCopy8
- bl FUN_0202D358
- add r5, #0x54
- strb r0, [r5, #0x0]
- b _0202EB4E
-_0202EB24:
- ldr r1, _0202EB6C ; =0x021C59E8
- ldr r4, [r1, #0x8]
- ldr r1, _0202EB70 ; =0x00000CC4
- add r5, r4, r1
- bl FUN_020239BC
- ldr r1, _0202EB70 ; =0x00000CC4
- str r0, [r4, r1]
- bl FUN_02033534
- strb r0, [r5, #0x4]
- bl FUN_0203354C
- strb r0, [r5, #0x5]
- ldr r0, _0202EB6C ; =0x021C59E8
- add r5, #0x8
- ldr r0, [r0, #0x8]
- add r1, r5, #0x0
- mov r2, #0x54
- blx MI_CpuCopy8
-_0202EB4E:
- ldr r0, _0202EB6C ; =0x021C59E8
- ldr r1, [r0, #0x8]
- ldr r0, _0202EB70 ; =0x00000CC4
- add r0, r1, r0
- mov r1, #0x5c
- blx DC_FlushRange
- ldr r0, _0202EB6C ; =0x021C59E8
- ldr r1, [r0, #0x8]
- ldr r0, _0202EB70 ; =0x00000CC4
- add r0, r1, r0
- mov r1, #0x5c
- bl FUN_0202CB7C
- pop {r3-r5, pc}
- .balign 4
-_0202EB6C: .word 0x021C59E8
-_0202EB70: .word 0x00000CC4
-_0202EB74: .word 0x00000CBC
-_0202EB78: .word 0x00000CA8
-
- thumb_func_start FUN_0202EB7C
-FUN_0202EB7C: ; 0x0202EB7C
- push {r4, lr}
- ldr r0, _0202EBC8 ; =0x021C59E8
- ldr r1, [r0, #0x8]
- ldr r0, _0202EBCC ; =0x00000CC4
- add r4, r1, r0
- bl FUN_0202EDB8
- ldrb r1, [r4, #0x6]
- cmp r1, r0
- beq _0202EBC6
- bl FUN_0202EDB8
- strb r0, [r4, #0x6]
- ldr r0, _0202EBC8 ; =0x021C59E8
- ldr r1, [r0, #0x8]
- ldr r0, _0202EBCC ; =0x00000CC4
- add r0, r1, r0
- mov r1, #0x5c
- blx DC_FlushRange
- ldr r0, _0202EBC8 ; =0x021C59E8
- ldr r1, [r0, #0x8]
- ldr r0, _0202EBCC ; =0x00000CC4
- add r0, r1, r0
- mov r1, #0x5c
- bl FUN_0202CB7C
- ldr r3, _0202EBC8 ; =0x021C59E8
- ldr r2, _0202EBCC ; =0x00000CC4
- ldr r4, [r3, #0x8]
- ldrh r3, [r3, #0x0]
- add r0, r4, r2
- sub r2, r2, #0x4
- ldr r2, [r4, r2]
- mov r1, #0x5c
- bl FUN_0202D240
-_0202EBC6:
- pop {r4, pc}
- .balign 4
-_0202EBC8: .word 0x021C59E8
-_0202EBCC: .word 0x00000CC4
-
- thumb_func_start FUN_0202EBD0
-FUN_0202EBD0: ; 0x0202EBD0
- push {r3-r5, lr}
- sub sp, #0x8
- add r4, r0, #0x0
- bl FUN_0202CBD4
- add r5, r0, #0x0
- bl FUN_0202DF54
- bl FUN_0202EB7C
- bl FUN_0202D19C
- cmp r0, #0x0
- bne _0202EC0C
- bl FUN_0202EE24
- cmp r0, #0x0
- bne _0202EC0C
- ldr r0, _0202ED50 ; =0x021C59E8
- ldr r2, [r0, #0x8]
- ldr r0, _0202ED54 ; =0x00000DAD
- ldrb r1, [r2, r0]
- lsl r3, r1, #0x1d
- lsr r3, r3, #0x1f
- beq _0202EC0C
- mov r3, #0x1
- bic r1, r3
- mov r3, #0x1
- orr r1, r3
- strb r1, [r2, r0]
-_0202EC0C:
- ldr r0, _0202ED50 ; =0x021C59E8
- ldr r1, _0202ED58 ; =0x0000FFFF
- ldr r3, [r0, #0x8]
- ldr r0, _0202ED5C ; =0x00000DA6
- ldrh r2, [r3, r0]
- cmp r2, r1
- bne _0202EC1C
- strh r4, [r3, r0]
-_0202EC1C:
- ldr r0, _0202ED50 ; =0x021C59E8
- ldr r2, [r0, #0x8]
- ldr r0, _0202ED54 ; =0x00000DAD
- ldrb r1, [r2, r0]
- lsl r3, r1, #0x1e
- lsr r3, r3, #0x1f
- beq _0202EC3C
- sub r3, r0, #0x7
- ldrh r3, [r2, r3]
- cmp r3, r4
- bls _0202EC3C
- mov r3, #0x1
- bic r1, r3
- mov r3, #0x1
- orr r1, r3
- strb r1, [r2, r0]
-_0202EC3C:
- bl FUN_0202CBE8
- cmp r0, #0x19
- bne _0202EC4A
- mov r0, #0x0
- bl FUN_020335D0
-_0202EC4A:
- cmp r5, #0x9
- bhi _0202ED4C
- add r0, r5, r5
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_0202EC5A: ; jump table (using 16-bit offset)
- .short _0202EC6E - _0202EC5A - 2; case 0
- .short _0202EC8E - _0202EC5A - 2; case 1
- .short _0202ED4C - _0202EC5A - 2; case 2
- .short _0202ED4C - _0202EC5A - 2; case 3
- .short _0202ED4C - _0202EC5A - 2; case 4
- .short _0202ED4C - _0202EC5A - 2; case 5
- .short _0202ED4C - _0202EC5A - 2; case 6
- .short _0202ECD2 - _0202EC5A - 2; case 7
- .short _0202ECB8 - _0202EC5A - 2; case 8
- .short _0202ECB8 - _0202EC5A - 2; case 9
-_0202EC6E:
- ldr r0, _0202ED50 ; =0x021C59E8
- ldr r2, [r0, #0x8]
- ldr r0, _0202ED60 ; =0x00000DAA
- ldrb r1, [r2, r0]
- cmp r1, #0x1
- bne _0202EC82
- bl FUN_0202E7D8
- add sp, #0x8
- pop {r3-r5, pc}
-_0202EC82:
- cmp r1, #0x2
- bne _0202ED4C
- mov r1, #0x3
- strb r1, [r2, r0]
- add sp, #0x8
- pop {r3-r5, pc}
-_0202EC8E:
- ldr r0, _0202ED50 ; =0x021C59E8
- ldr r1, [r0, #0x8]
- ldr r0, _0202ED60 ; =0x00000DAA
- ldrb r0, [r1, r0]
- cmp r0, #0x1
- bne _0202ECA2
- bl FUN_0202D178
- cmp r0, #0x0
- bne _0202ED4C
-_0202ECA2:
- ldr r0, _0202ED50 ; =0x021C59E8
- ldr r1, [r0, #0x8]
- ldr r0, _0202ED60 ; =0x00000DAA
- ldrb r0, [r1, r0]
- cmp r0, #0x2
- bne _0202ED4C
- bl FUN_0202D178
- add sp, #0x8
- cmp r0, #0x0
- pop {r3-r5, pc}
-_0202ECB8:
- ldr r0, _0202ED50 ; =0x021C59E8
- ldr r3, [r0, #0x8]
- cmp r3, #0x0
- beq _0202ED4C
- ldr r1, _0202ED54 ; =0x00000DAD
- mov r0, #0x1
- ldrb r2, [r3, r1]
- add sp, #0x8
- bic r2, r0
- mov r0, #0x1
- orr r0, r2
- strb r0, [r3, r1]
- pop {r3-r5, pc}
-_0202ECD2:
- bl FUN_0202CDA4
- ldr r3, _0202ED50 ; =0x021C59E8
- ldr r2, _0202ED64 ; =0x00000DA9
- ldr r4, [r3, #0x8]
- ldrb r1, [r4, r2]
- cmp r1, #0x0
- bne _0202ECEE
- sub r1, r2, #0x5
- strh r0, [r4, r1]
- ldr r0, [r3, #0x8]
- mov r1, #0x5
- strb r1, [r0, r2]
- b _0202ECF2
-_0202ECEE:
- sub r0, r1, #0x1
- strb r0, [r4, r2]
-_0202ECF2:
- ldr r1, _0202ED50 ; =0x021C59E8
- ldr r0, _0202ED68 ; =0x00000DA4
- ldr r2, [r1, #0x8]
- ldrh r5, [r2, r0]
- add r0, #0x9
- ldrb r0, [r2, r0]
- lsl r0, r0, #0x1c
- lsr r0, r0, #0x1f
- beq _0202ED0A
- ldrh r0, [r1, #0x0]
- add r0, r0, #0x1
- strh r0, [r1, #0x0]
-_0202ED0A:
- bl FUN_0202EA9C
- bl FUN_02033534
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- bl FUN_0202D858
- add r4, r0, #0x0
- bl FUN_02033534
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- bl FUN_0202EEE8
- str r0, [sp, #0x0]
- ldr r1, _0202ED50 ; =0x021C59E8
- ldr r0, _0202ED54 ; =0x00000DAD
- ldr r2, [r1, #0x8]
- add r3, r4, #0x0
- ldrb r0, [r2, r0]
- add r2, r5, #0x0
- lsl r0, r0, #0x1a
- lsr r0, r0, #0x1f
- str r0, [sp, #0x4]
- ldrh r1, [r1, #0x0]
- mov r0, #0x0
- bl FUN_0202CF84
- ldr r0, _0202ED50 ; =0x021C59E8
- ldr r1, [r0, #0x8]
- ldr r0, _0202ED6C ; =0x00000DA8
- strb r5, [r1, r0]
-_0202ED4C:
- add sp, #0x8
- pop {r3-r5, pc}
- .balign 4
-_0202ED50: .word 0x021C59E8
-_0202ED54: .word 0x00000DAD
-_0202ED58: .word 0x0000FFFF
-_0202ED5C: .word 0x00000DA6
-_0202ED60: .word 0x00000DAA
-_0202ED64: .word 0x00000DA9
-_0202ED68: .word 0x00000DA4
-_0202ED6C: .word 0x00000DA8
-
- thumb_func_start FUN_0202ED70
-FUN_0202ED70: ; 0x0202ED70
- push {r3, lr}
- ldr r1, _0202ED80 ; =0x021C59E8
- ldr r1, [r1, #0x8]
- cmp r1, #0x0
- beq _0202ED7E
- bl FUN_0202EBD0
-_0202ED7E:
- pop {r3, pc}
- .balign 4
-_0202ED80: .word 0x021C59E8
-
- thumb_func_start FUN_0202ED84
-FUN_0202ED84: ; 0x0202ED84
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, _0202EDB4 ; =0x021C59E8
- ldr r0, [r0, #0x8]
- cmp r0, #0x0
- bne _0202ED94
- mov r0, #0x0
- pop {r4, pc}
-_0202ED94:
- bl FUN_0202CBD4
- cmp r0, #0x4
- beq _0202EDA0
- mov r0, #0x0
- pop {r4, pc}
-_0202EDA0:
- bl FUN_0202CB8C
- mov r2, #0x1
- add r1, r2, #0x0
- lsl r1, r4
- tst r0, r1
- bne _0202EDB0
- mov r2, #0x0
-_0202EDB0:
- add r0, r2, #0x0
- pop {r4, pc}
- .balign 4
-_0202EDB4: .word 0x021C59E8
-
- thumb_func_start FUN_0202EDB8
-FUN_0202EDB8: ; 0x0202EDB8
- push {r3-r5, lr}
- mov r4, #0x0
- add r5, r4, #0x0
-_0202EDBE:
- lsl r0, r5, #0x10
- lsr r0, r0, #0x10
- bl FUN_0202ED84
- cmp r0, #0x0
- beq _0202EDCC
- add r4, r4, #0x1
-_0202EDCC:
- add r5, r5, #0x1
- cmp r5, #0x8
- blt _0202EDBE
- add r0, r4, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0202EDD8
-FUN_0202EDD8: ; 0x0202EDD8
- ldr r0, _0202EDF0 ; =0x021C59E8
- ldr r1, [r0, #0x8]
- cmp r1, #0x0
- beq _0202EDEC
- ldr r0, _0202EDF4 ; =0x00000DAA
- ldrb r0, [r1, r0]
- cmp r0, #0x3
- bne _0202EDEC
- mov r0, #0x1
- bx lr
-_0202EDEC:
- mov r0, #0x0
- bx lr
- .balign 4
-_0202EDF0: .word 0x021C59E8
-_0202EDF4: .word 0x00000DAA
-
- thumb_func_start FUN_0202EDF8
-FUN_0202EDF8: ; 0x0202EDF8
- ldr r0, _0202EE08 ; =0x021C59E8
- ldr r0, [r0, #0x8]
- cmp r0, #0x0
- beq _0202EE04
- mov r0, #0x1
- bx lr
-_0202EE04:
- mov r0, #0x0
- bx lr
- .balign 4
-_0202EE08: .word 0x021C59E8
-
- thumb_func_start FUN_0202EE0C
-FUN_0202EE0C: ; 0x0202EE0C
- push {r3, lr}
- ldr r0, _0202EE20 ; =0x021C59E8
- ldr r0, [r0, #0x8]
- cmp r0, #0x0
- beq _0202EE1C
- bl FUN_0202D1C8
- pop {r3, pc}
-_0202EE1C:
- mov r0, #0x1
- pop {r3, pc}
- .balign 4
-_0202EE20: .word 0x021C59E8
-
- thumb_func_start FUN_0202EE24
-FUN_0202EE24: ; 0x0202EE24
- push {r3, lr}
- ldr r0, _0202EE3C ; =0x021C59E8
- ldr r0, [r0, #0x8]
- cmp r0, #0x0
- beq _0202EE38
- bl FUN_0202CB8C
- ldr r1, _0202EE40 ; =0x0000FFFE
- and r0, r1
- pop {r3, pc}
-_0202EE38:
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-_0202EE3C: .word 0x021C59E8
-_0202EE40: .word 0x0000FFFE
-
- thumb_func_start FUN_0202EE44
-FUN_0202EE44: ; 0x0202EE44
- push {r3, lr}
- bl FUN_0202EE60
- cmp r0, #0x0
- beq _0202EE5A
- bl FUN_0202CBE8
- cmp r0, #0x14
- bne _0202EE5A
- mov r0, #0x1
- pop {r3, pc}
-_0202EE5A:
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0202EE60
-FUN_0202EE60: ; 0x0202EE60
- ldr r0, _0202EE7C ; =0x021C59E8
- ldr r1, [r0, #0x8]
- cmp r1, #0x0
- beq _0202EE76
- ldr r0, _0202EE80 ; =0x00000DAD
- ldrb r0, [r1, r0]
- lsl r0, r0, #0x1f
- lsr r0, r0, #0x1f
- beq _0202EE76
- mov r0, #0x1
- bx lr
-_0202EE76:
- mov r0, #0x0
- bx lr
- nop
-_0202EE7C: .word 0x021C59E8
-_0202EE80: .word 0x00000DAD
-
- thumb_func_start FUN_0202EE84
-FUN_0202EE84: ; 0x0202EE84
- push {r3-r4}
- ldr r1, _0202EEA8 ; =0x021C59E8
- ldr r2, [r1, #0x8]
- cmp r2, #0x0
- beq _0202EEA2
- ldr r4, _0202EEAC ; =0x00000DAD
- lsl r0, r0, #0x18
- ldrb r1, [r2, r4]
- lsr r0, r0, #0x18
- mov r3, #0x4
- lsl r0, r0, #0x1f
- bic r1, r3
- lsr r0, r0, #0x1d
- orr r0, r1
- strb r0, [r2, r4]
-_0202EEA2:
- pop {r3-r4}
- bx lr
- nop
-_0202EEA8: .word 0x021C59E8
-_0202EEAC: .word 0x00000DAD
-
- thumb_func_start FUN_0202EEB0
-FUN_0202EEB0: ; 0x0202EEB0
- push {r4-r5}
- ldr r5, _0202EEDC ; =0x021C59E8
- ldr r2, [r5, #0x8]
- cmp r2, #0x0
- beq _0202EED6
- ldr r4, _0202EEE0 ; =0x00000DAD
- lsl r0, r0, #0x18
- ldrb r1, [r2, r4]
- lsr r0, r0, #0x18
- mov r3, #0x2
- lsl r0, r0, #0x1f
- bic r1, r3
- lsr r0, r0, #0x1e
- orr r0, r1
- strb r0, [r2, r4]
- ldr r2, _0202EEE4 ; =0x0000FFFF
- ldr r1, [r5, #0x8]
- sub r0, r4, #0x7
- strh r2, [r1, r0]
-_0202EED6:
- pop {r4-r5}
- bx lr
- nop
-_0202EEDC: .word 0x021C59E8
-_0202EEE0: .word 0x00000DAD
-_0202EEE4: .word 0x0000FFFF
-
- thumb_func_start FUN_0202EEE8
-FUN_0202EEE8: ; 0x0202EEE8
- push {r3-r5, lr}
- add r5, r0, #0x0
- blx WM_GetDispersionBeaconPeriod
- add r4, r0, #0x0
- cmp r5, #0x1a
- blo _0202EEFA
- bl ErrorHandling
-_0202EEFA:
- cmp r5, #0xa
- bne _0202EF04
- lsl r0, r4, #0xe
- lsr r0, r0, #0x10
- pop {r3-r5, pc}
-_0202EF04:
- cmp r5, #0x9
- beq _0202EF0C
- cmp r5, #0xd
- bne _0202EF12
-_0202EF0C:
- lsl r0, r4, #0xe
- lsr r0, r0, #0x10
- pop {r3-r5, pc}
-_0202EF12:
- add r0, r4, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0202EF18
-FUN_0202EF18: ; 0x0202EF18
- ldr r1, _0202EF3C ; =0x021C59E8
- ldr r3, [r1, #0x8]
- cmp r3, #0x0
- beq _0202EF36
- lsl r1, r0, #0x1
- add r2, r3, r1
- ldr r1, _0202EF40 ; =0x00000C84
- ldrh r1, [r2, r1]
- cmp r1, #0x0
- beq _0202EF36
- mov r1, #0xc0
- add r3, #0x54
- mul r1, r0
- add r0, r3, r1
- bx lr
-_0202EF36:
- mov r0, #0x0
- bx lr
- nop
-_0202EF3C: .word 0x021C59E8
-_0202EF40: .word 0x00000C84
-
- thumb_func_start FUN_0202EF44
-FUN_0202EF44: ; 0x0202EF44
- ldr r1, _0202EF68 ; =0x021C59E8
- ldr r3, [r1, #0x8]
- cmp r3, #0x0
- beq _0202EF62
- lsl r1, r0, #0x1
- add r2, r3, r1
- ldr r1, _0202EF6C ; =0x00000C84
- ldrh r1, [r2, r1]
- cmp r1, #0x0
- beq _0202EF62
- mov r1, #0xc0
- add r3, #0xa4
- mul r1, r0
- add r0, r3, r1
- bx lr
-_0202EF62:
- mov r0, #0x0
- bx lr
- nop
-_0202EF68: .word 0x021C59E8
-_0202EF6C: .word 0x00000C84
-
- thumb_func_start FUN_0202EF70
-FUN_0202EF70: ; 0x0202EF70
- ldr r0, _0202EF7C ; =0x021C59E8
- ldr r1, [r0, #0x8]
- ldr r0, _0202EF80 ; =0x00000CB8
- ldr r0, [r1, r0]
- bx lr
- nop
-_0202EF7C: .word 0x021C59E8
-_0202EF80: .word 0x00000CB8
-
- thumb_func_start FUN_0202EF84
-FUN_0202EF84: ; 0x0202EF84
- ldr r1, _0202EFA4 ; =0x021C59E8
- ldr r3, [r1, #0x8]
- lsl r1, r0, #0x1
- add r2, r3, r1
- ldr r1, _0202EFA8 ; =0x00000C84
- ldrh r1, [r2, r1]
- cmp r1, #0x0
- bne _0202EF98
- mov r0, #0x0
- bx lr
-_0202EF98:
- mov r1, #0xc0
- add r3, #0xa4
- mul r1, r0
- add r0, r3, r1
- add r0, #0x10
- bx lr
- .balign 4
-_0202EFA4: .word 0x021C59E8
-_0202EFA8: .word 0x00000C84
-
- thumb_func_start FUN_0202EFAC
-FUN_0202EFAC: ; 0x0202EFAC
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r0, _0202EFDC ; =0x021C59E8
- add r4, r1, #0x0
- ldr r0, [r0, #0x8]
- cmp r0, #0x0
- beq _0202EFD8
- cmp r4, #0x8
- blt _0202EFC2
- bl ErrorHandling
-_0202EFC2:
- ldr r1, _0202EFDC ; =0x021C59E8
- add r0, r5, #0x0
- ldr r2, [r1, #0x8]
- ldr r1, _0202EFE0 ; =0x00000C54
- add r3, r2, r1
- mov r2, #0x6
- add r1, r4, #0x0
- mul r1, r2
- add r1, r3, r1
- blx MI_CpuCopy8
-_0202EFD8:
- pop {r3-r5, pc}
- nop
-_0202EFDC: .word 0x021C59E8
-_0202EFE0: .word 0x00000C54
-
- thumb_func_start FUN_0202EFE4
-FUN_0202EFE4: ; 0x0202EFE4
- push {r4-r5}
- ldr r2, _0202F034 ; =0x021C59E8
- mov r1, #0x0
- ldr r3, [r2, #0x8]
- ldr r2, _0202F038 ; =0x00000C54
- add r2, r3, r2
- ldrb r3, [r0, #0x0]
-_0202EFF2:
- ldrb r4, [r2, #0x0]
- cmp r4, r3
- bne _0202F026
- ldrb r5, [r2, #0x1]
- ldrb r4, [r0, #0x1]
- cmp r5, r4
- bne _0202F026
- ldrb r5, [r2, #0x2]
- ldrb r4, [r0, #0x2]
- cmp r5, r4
- bne _0202F026
- ldrb r5, [r2, #0x3]
- ldrb r4, [r0, #0x3]
- cmp r5, r4
- bne _0202F026
- ldrb r5, [r2, #0x4]
- ldrb r4, [r0, #0x4]
- cmp r5, r4
- bne _0202F026
- ldrb r5, [r2, #0x5]
- ldrb r4, [r0, #0x5]
- cmp r5, r4
- bne _0202F026
- mov r0, #0x1
- pop {r4-r5}
- bx lr
-_0202F026:
- add r1, r1, #0x1
- add r2, r2, #0x6
- cmp r1, #0x8
- blt _0202EFF2
- mov r0, #0x0
- pop {r4-r5}
- bx lr
- .balign 4
-_0202F034: .word 0x021C59E8
-_0202F038: .word 0x00000C54
-
- thumb_func_start FUN_0202F03C
-FUN_0202F03C: ; 0x0202F03C
- ldr r0, _0202F054 ; =0x021C59E8
- ldr r1, [r0, #0x8]
- cmp r1, #0x0
- beq _0202F04E
- ldr r0, _0202F058 ; =0x00000DAD
- ldrb r0, [r1, r0]
- lsl r0, r0, #0x1b
- lsr r0, r0, #0x1f
- bx lr
-_0202F04E:
- mov r0, #0x0
- bx lr
- nop
-_0202F054: .word 0x021C59E8
-_0202F058: .word 0x00000DAD
-
- thumb_func_start FUN_0202F05C
-FUN_0202F05C: ; 0x0202F05C
- ldr r0, _0202F070 ; =0x021C59E8
- ldr r3, [r0, #0x8]
- cmp r3, #0x0
- beq _0202F06E
- ldr r1, _0202F074 ; =0x00000DAD
- mov r0, #0x10
- ldrb r2, [r3, r1]
- orr r0, r2
- strb r0, [r3, r1]
-_0202F06E:
- bx lr
- .balign 4
-_0202F070: .word 0x021C59E8
-_0202F074: .word 0x00000DAD
-
- thumb_func_start FUN_0202F078
-FUN_0202F078: ; 0x0202F078
- ldr r1, _0202F088 ; =0x021C59E8
- ldr r3, _0202F08C ; =MI_CpuCopy8
- ldr r2, [r1, #0x8]
- ldr r1, _0202F090 ; =0x00000CA8
- add r1, r2, r1
- mov r2, #0x8
- bx r3
- nop
-_0202F088: .word 0x021C59E8
-_0202F08C: .word MI_CpuCopy8
-_0202F090: .word 0x00000CA8
-
- thumb_func_start FUN_0202F094
-FUN_0202F094: ; 0x0202F094
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_02023AC4
- ldr r1, _0202F0B0 ; =0x021C59E8
- add r2, r0, #0x0
- ldr r3, [r1, #0x8]
- ldr r1, _0202F0B4 ; =0x00000CBC
- add r0, r4, #0x0
- ldr r1, [r3, r1]
- blx MI_CpuCopy8
- pop {r4, pc}
- nop
-_0202F0B0: .word 0x021C59E8
-_0202F0B4: .word 0x00000CBC
-
- thumb_func_start FUN_0202F0B8
-FUN_0202F0B8: ; 0x0202F0B8
- push {r4, lr}
- bl FUN_0202EA9C
- ldr r3, _0202F0D4 ; =0x021C59E8
- ldr r2, _0202F0D8 ; =0x00000CC4
- ldr r4, [r3, #0x8]
- ldrh r3, [r3, #0x0]
- add r0, r4, r2
- sub r2, r2, #0x4
- ldr r2, [r4, r2]
- mov r1, #0x5c
- bl FUN_0202D240
- pop {r4, pc}
- .balign 4
-_0202F0D4: .word 0x021C59E8
-_0202F0D8: .word 0x00000CC4
-
- thumb_func_start FUN_0202F0DC
-FUN_0202F0DC: ; 0x0202F0DC
- push {r4-r6, lr}
- mov r5, #0x0
- add r6, r0, #0x0
- add r4, r5, #0x0
-_0202F0E4:
- add r0, r4, #0x0
- bl FUN_0202EF44
- cmp r0, #0x0
- beq _0202F0F8
- ldrb r1, [r0, #0x4]
- cmp r1, r6
- bne _0202F0F8
- ldrb r0, [r0, #0x6]
- add r5, r5, r0
-_0202F0F8:
- add r4, r4, #0x1
- cmp r4, #0x10
- blt _0202F0E4
- add r0, r5, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_0202F104
-FUN_0202F104: ; 0x0202F104
- ldr r3, _0202F108 ; =FUN_0202D2D0
- bx r3
- .balign 4
-_0202F108: .word FUN_0202D2D0
-
- thumb_func_start FUN_0202F10C
-FUN_0202F10C: ; 0x0202F10C
- push {r3, lr}
- ldr r1, _0202F120 ; =0x021C59E8
- mov r2, #0x54
- ldr r1, [r1, #0x8]
- blx MI_CpuCopy8
- bl FUN_0202F0B8
- pop {r3, pc}
- nop
-_0202F120: .word 0x021C59E8
-
- thumb_func_start FUN_0202F124
-FUN_0202F124: ; 0x0202F124
- ldr r1, _0202F148 ; =0x021C59E8
- ldr r3, [r1, #0x8]
- cmp r3, #0x0
- beq _0202F144
- lsl r1, r0, #0x1
- add r2, r3, r1
- ldr r1, _0202F14C ; =0x00000C84
- ldrh r1, [r2, r1]
- cmp r1, #0x0
- beq _0202F144
- mov r1, #0xc0
- add r3, #0xa4
- mul r1, r0
- add r0, r3, r1
- add r0, #0x8
- bx lr
-_0202F144:
- mov r0, #0x0
- bx lr
- .balign 4
-_0202F148: .word 0x021C59E8
-_0202F14C: .word 0x00000C84
-
- thumb_func_start FUN_0202F150
-FUN_0202F150: ; 0x0202F150
- push {r4-r6, lr}
- add r6, r1, #0x0
- mov r4, #0x0
- ldr r1, _0202F2BC ; =0x021C59F4
- cmp r0, #0x0
- strb r4, [r1, #0x0]
- beq _0202F25C
- bl FUN_02033534
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- bl FUN_0202D858
- add r5, r0, #0x1
- ldr r0, _0202F2BC ; =0x021C59F4
- ldr r0, [r0, #0x4]
- cmp r0, #0x0
- beq _0202F178
- mov r0, #0x1
- pop {r4-r6, pc}
-_0202F178:
- mov r0, #0xf
- bl FUN_02031480
- ldr r1, _0202F2C0 ; =0x0000068C
- mov r0, #0xf
- bl FUN_02016998
- ldr r1, _0202F2BC ; =0x021C59F4
- ldr r2, _0202F2C0 ; =0x0000068C
- str r0, [r1, #0x4]
- add r1, r4, #0x0
- blx MI_CpuFill8
- ldr r2, _0202F2BC ; =0x021C59F4
- ldr r1, _0202F2C4 ; =0x00000658
- ldr r0, [r2, #0x4]
- add r6, #0x40
- str r6, [r0, r1]
- add r0, r1, #0x0
- ldr r3, [r2, #0x4]
- add r6, r4, #0x0
- add r0, #0x25
- strb r6, [r3, r0]
- add r0, r1, #0x0
- ldr r3, [r2, #0x4]
- mov r6, #0x1b
- add r0, #0x26
- strb r6, [r3, r0]
- ldr r2, [r2, #0x4]
- mov r0, #0xf
- ldr r1, [r2, r1]
- lsl r1, r1, #0x1
- bl FUN_02016998
- ldr r2, _0202F2BC ; =0x021C59F4
- ldr r1, _0202F2C8 ; =0x0000045C
- ldr r3, [r2, #0x4]
- str r0, [r3, r1]
- ldr r2, [r2, #0x4]
- ldr r1, _0202F2C4 ; =0x00000658
- mov r0, #0xf
- ldr r1, [r2, r1]
- bl FUN_02016998
- ldr r2, _0202F2BC ; =0x021C59F4
- mov r1, #0x46
- ldr r3, [r2, #0x4]
- lsl r1, r1, #0x4
- str r0, [r3, r1]
- ldr r2, [r2, #0x4]
- ldr r1, _0202F2C4 ; =0x00000658
- mov r0, #0xf
- ldr r1, [r2, r1]
- mul r1, r5
- bl FUN_02016998
- ldr r2, _0202F2BC ; =0x021C59F4
- ldr r1, _0202F2CC ; =0x00000458
- ldr r3, [r2, #0x4]
- str r0, [r3, r1]
- ldr r2, [r2, #0x4]
- ldr r1, _0202F2C4 ; =0x00000658
- mov r0, #0xf
- ldr r1, [r2, r1]
- mul r1, r5
- bl FUN_02016998
- ldr r1, _0202F2BC ; =0x021C59F4
- ldr r2, [r1, #0x4]
- ldr r1, _0202F2D0 ; =0x00000454
- str r0, [r2, r1]
- bl FUN_02033534
- cmp r0, #0xa
- ldr r2, _0202F2D4 ; =0x0000054C
- bne _0202F236
- ldr r0, _0202F2BC ; =0x021C59F4
- mov r1, #0x64
- ldr r3, [r0, #0x4]
- add r0, r3, r2
- sub r2, #0xe8
- add r2, r3, r2
- bl FUN_0202D7D8
- ldr r0, _0202F2BC ; =0x021C59F4
- mov r1, #0x32
- ldr r3, [r0, #0x4]
- ldr r2, _0202F2D8 ; =0x0000056C
- lsl r1, r1, #0x4
- add r0, r3, r2
- sub r2, #0x90
- add r2, r3, r2
- bl FUN_0202D7D8
- b _0202F268
-_0202F236:
- ldr r0, _0202F2BC ; =0x021C59F4
- mov r1, #0x14
- ldr r3, [r0, #0x4]
- add r0, r3, r2
- sub r2, #0xe8
- add r2, r3, r2
- bl FUN_0202D7D8
- ldr r0, _0202F2BC ; =0x021C59F4
- add r1, r6, #0x0
- ldr r3, [r0, #0x4]
- ldr r2, _0202F2D8 ; =0x0000056C
- add r1, #0xfd
- add r0, r3, r2
- sub r2, #0x90
- add r2, r3, r2
- bl FUN_0202D7D8
- b _0202F268
-_0202F25C:
- ldr r0, [r1, #0x4]
- mov r4, #0x1
- cmp r0, #0x0
- bne _0202F268
- bl ErrorHandling
-_0202F268:
- ldr r2, _0202F2BC ; =0x021C59F4
- ldr r1, _0202F2DC ; =0x0000065C
- ldr r3, [r2, #0x4]
- mov r0, #0x0
- strh r0, [r3, r1]
- mov r5, #0xff
- add r1, #0x1b
-_0202F276:
- ldr r3, [r2, #0x4]
- add r3, r3, r0
- add r0, r0, #0x1
- strb r5, [r3, r1]
- cmp r0, #0x4
- blt _0202F276
- cmp r4, #0x0
- bne _0202F28A
- bl FUN_0202F2F0
-_0202F28A:
- ldr r0, _0202F2BC ; =0x021C59F4
- ldr r1, [r0, #0x4]
- ldr r0, _0202F2E0 ; =0x000005F8
- add r0, r1, r0
- bl FUN_020312BC
- cmp r4, #0x0
- bne _0202F2AC
- mov r1, #0x0
- ldr r0, _0202F2E4 ; =FUN_0202FB20
- add r2, r1, #0x0
- bl FUN_0200CA60
- ldr r1, _0202F2BC ; =0x021C59F4
- ldr r2, [r1, #0x4]
- ldr r1, _0202F2E8 ; =0x00000548
- str r0, [r2, r1]
-_0202F2AC:
- ldr r0, _0202F2BC ; =0x021C59F4
- mov r2, #0x0
- ldr r1, [r0, #0x4]
- ldr r0, _0202F2EC ; =0x00000687
- strb r2, [r1, r0]
- mov r0, #0x1
- pop {r4-r6, pc}
- nop
-_0202F2BC: .word 0x021C59F4
-_0202F2C0: .word 0x0000068C
-_0202F2C4: .word 0x00000658
-_0202F2C8: .word 0x0000045C
-_0202F2CC: .word 0x00000458
-_0202F2D0: .word 0x00000454
-_0202F2D4: .word 0x0000054C
-_0202F2D8: .word 0x0000056C
-_0202F2DC: .word 0x0000065C
-_0202F2E0: .word 0x000005F8
-_0202F2E4: .word FUN_0202FB20
-_0202F2E8: .word 0x00000548
-_0202F2EC: .word 0x00000687
-
- thumb_func_start FUN_0202F2F0
-FUN_0202F2F0: ; 0x0202F2F0
- push {r3-r7, lr}
- ldr r3, _0202F54C ; =0x021C59F4
- ldr r2, _0202F550 ; =0x0000062C
- ldr r1, [r3, #0x4]
- mov r0, #0x0
- strb r0, [r1, r2]
- ldr r4, [r3, #0x4]
- add r1, r2, #0x1
- strb r0, [r4, r1]
- add r1, r2, #0x0
- ldr r4, [r3, #0x4]
- add r1, #0x53
- strb r0, [r4, r1]
- ldr r1, [r3, #0x4]
- add r2, #0x54
- strb r0, [r1, r2]
- bl FUN_02033534
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- bl FUN_0202D858
- add r6, r0, #0x1
- ldr r0, _0202F54C ; =0x021C59F4
- ldr r2, _0202F554 ; =0x00000658
- ldr r3, [r0, #0x4]
- ldr r0, _0202F558 ; =0x00000458
- mov r1, #0x0
- ldr r0, [r3, r0]
- ldr r3, [r3, r2]
- add r2, r3, #0x0
- mul r2, r6
- blx MI_CpuFill8
- mov r4, #0x0
- cmp r6, #0x0
- ble _0202F360
- ldr r7, _0202F54C ; =0x021C59F4
- add r5, r4, #0x0
-_0202F33E:
- ldr r3, [r7, #0x4]
- ldr r0, _0202F554 ; =0x00000658
- ldr r1, _0202F558 ; =0x00000458
- ldr r2, [r3, r0]
- ldr r0, _0202F55C ; =0x000004E8
- add r0, r3, r0
- ldr r3, [r3, r1]
- add r1, r4, #0x0
- mul r1, r2
- add r0, r0, r5
- add r1, r3, r1
- bl FUN_0202D394
- add r4, r4, #0x1
- add r5, #0xc
- cmp r4, r6
- blt _0202F33E
-_0202F360:
- ldr r0, _0202F54C ; =0x021C59F4
- ldr r2, _0202F554 ; =0x00000658
- ldr r3, [r0, #0x4]
- ldr r0, _0202F560 ; =0x00000454
- mov r1, #0x0
- ldr r0, [r3, r0]
- ldr r3, [r3, r2]
- add r2, r3, #0x0
- mul r2, r6
- blx MI_CpuFill8
- mov r5, #0x0
- cmp r6, #0x0
- ble _0202F3A2
- ldr r7, _0202F54C ; =0x021C59F4
- add r4, r5, #0x0
-_0202F380:
- ldr r3, [r7, #0x4]
- ldr r0, _0202F554 ; =0x00000658
- ldr r1, _0202F560 ; =0x00000454
- ldr r2, [r3, r0]
- ldr r0, _0202F564 ; =0x0000047C
- add r0, r3, r0
- ldr r3, [r3, r1]
- add r1, r5, #0x0
- mul r1, r2
- add r0, r0, r4
- add r1, r3, r1
- bl FUN_0202D394
- add r5, r5, #0x1
- add r4, #0xc
- cmp r5, r6
- blt _0202F380
-_0202F3A2:
- ldr r0, _0202F54C ; =0x021C59F4
- mov r2, #0x6
- ldr r1, [r0, #0x4]
- mov r0, #0xb5
- lsl r0, r0, #0x2
- add r0, r1, r0
- mov r1, #0x0
- lsl r2, r2, #0x6
- blx MI_CpuFill8
- ldr r0, _0202F54C ; =0x021C59F4
- mov r1, #0xb5
- ldr r2, [r0, #0x4]
- ldr r0, _0202F568 ; =0x000004DC
- lsl r1, r1, #0x2
- add r0, r2, r0
- add r1, r2, r1
- mov r2, #0x6
- lsl r2, r2, #0x6
- bl FUN_0202D394
- mov r0, #0xee
- add r2, r0, #0x0
- mov r3, #0x85
- ldr r4, _0202F54C ; =0x021C59F4
- mov r1, #0x0
- add r2, #0x66
- lsl r3, r3, #0x2
-_0202F3DA:
- ldr r5, [r4, #0x4]
- add r5, r5, r1
- strb r0, [r5, r2]
- ldr r5, [r4, #0x4]
- add r5, r5, r1
- add r1, r1, #0x1
- strb r0, [r5, r3]
- cmp r1, #0xc0
- blt _0202F3DA
- ldr r0, _0202F54C ; =0x021C59F4
- mov r2, #0x42
- ldr r0, [r0, #0x4]
- mov r1, #0x0
- add r0, #0x4c
- lsl r2, r2, #0x2
- blx MI_CpuFill8
- ldr r0, _0202F54C ; =0x021C59F4
- mov r2, #0x42
- ldr r1, [r0, #0x4]
- ldr r0, _0202F56C ; =0x00000464
- lsl r2, r2, #0x2
- add r0, r1, r0
- add r1, #0x4c
- bl FUN_0202D394
- ldr r1, _0202F54C ; =0x021C59F4
- mov r2, #0xff
- ldr r0, [r1, #0x4]
- mov r3, #0x1
- strb r2, [r0, #0x0]
- ldr r0, [r1, #0x4]
- add r0, #0x26
- strb r2, [r0, #0x0]
- mov r2, #0xee
-_0202F420:
- ldr r0, [r1, #0x4]
- strb r2, [r0, r3]
- ldr r0, [r1, #0x4]
- add r0, r0, r3
- add r0, #0x26
- add r3, r3, #0x1
- strb r2, [r0, #0x0]
- cmp r3, #0x26
- blt _0202F420
- ldr r0, _0202F54C ; =0x021C59F4
- ldr r2, _0202F554 ; =0x00000658
- ldr r3, [r0, #0x4]
- ldr r0, _0202F570 ; =0x0000045C
- ldr r2, [r3, r2]
- ldr r0, [r3, r0]
- mov r1, #0x0
- lsl r2, r2, #0x1
- blx MI_CpuFill8
- ldr r0, _0202F54C ; =0x021C59F4
- mov r1, #0x47
- ldr r3, [r0, #0x4]
- ldr r2, _0202F554 ; =0x00000658
- lsl r1, r1, #0x4
- add r0, r3, r1
- sub r1, #0x14
- ldr r2, [r3, r2]
- ldr r1, [r3, r1]
- lsl r2, r2, #0x1
- bl FUN_0202D394
- mov r2, #0x0
- ldr r0, _0202F54C ; =0x021C59F4
- ldr r1, _0202F574 ; =0x00000684
- ldr r3, [r0, #0x4]
- mov r12, r2
- strb r2, [r3, r1]
- ldr r3, [r0, #0x4]
- add r1, r1, #0x1
- strb r2, [r3, r1]
- add r1, r2, #0x0
- add r7, r2, #0x0
- add r6, r2, #0x0
-_0202F476:
- ldr r3, [r0, #0x4]
- add r4, r3, r2
- ldr r3, _0202F578 ; =0x0000065F
- strb r6, [r4, r3]
- ldr r3, [r0, #0x4]
- ldr r4, _0202F57C ; =0x00000667
- add r5, r3, r2
- mov r3, #0x1
- strb r3, [r5, r4]
- ldr r3, [r0, #0x4]
- add r4, #0x8
- add r5, r3, r2
- mov r3, #0x1
- strb r3, [r5, r4]
- ldr r4, [r0, #0x4]
- mov r3, r12
- add r4, r4, r3
- mov r3, #0x61
- lsl r3, r3, #0x4
- strh r6, [r4, r3]
- ldr r3, [r0, #0x4]
- mov r4, #0xee
- add r5, r3, r1
- ldr r3, _0202F580 ; =0x00000596
- add r2, r2, #0x1
- strb r4, [r5, r3]
- ldr r3, [r0, #0x4]
- ldr r4, _0202F584 ; =0x0000FFFF
- add r5, r3, r1
- ldr r3, _0202F588 ; =0x00000594
- strh r4, [r5, r3]
- ldr r3, [r0, #0x4]
- add r4, r3, r1
- mov r3, #0x59
- lsl r3, r3, #0x4
- str r6, [r4, r3]
- ldr r3, [r0, #0x4]
- add r4, r3, r1
- ldr r3, _0202F58C ; =0x0000058C
- add r1, #0xc
- str r6, [r4, r3]
- ldr r3, [r0, #0x4]
- add r4, r3, r7
- ldr r3, _0202F590 ; =0x00000638
- add r7, r7, #0x4
- str r6, [r4, r3]
- mov r3, r12
- add r3, r3, #0x2
- mov r12, r3
- cmp r2, #0x8
- blt _0202F476
- ldr r1, _0202F54C ; =0x021C59F4
- ldr r0, _0202F594 ; =0x00000634
- ldr r2, [r1, #0x4]
- sub r3, r0, #0x4
- str r6, [r2, r0]
- ldr r4, [r1, #0x4]
- mov r2, #0x1
- str r2, [r4, r3]
- add r3, r0, #0x0
- ldr r4, [r1, #0x4]
- sub r3, #0x3e
- mov r2, #0xee
- strb r2, [r4, r3]
- add r3, r0, #0x0
- ldr r4, [r1, #0x4]
- ldr r2, _0202F584 ; =0x0000FFFF
- sub r3, #0x40
- strh r2, [r4, r3]
- add r2, r0, #0x0
- ldr r3, [r1, #0x4]
- sub r2, #0x44
- str r6, [r3, r2]
- add r2, r0, #0x0
- ldr r3, [r1, #0x4]
- sub r2, #0x48
- str r6, [r3, r2]
- add r3, r0, #0x0
- ldr r4, [r1, #0x4]
- add r3, #0x4e
- mov r2, #0x1
- strb r2, [r4, r3]
- add r3, r0, #0x0
- ldr r4, [r1, #0x4]
- add r3, #0x4f
- strb r2, [r4, r3]
- ldr r2, _0202F598 ; =0x02105D58
- mov r3, #0x4
- strb r3, [r2, #0x1]
- strb r3, [r2, #0x0]
- ldr r1, [r1, #0x4]
- sub r0, #0xe8
- add r0, r1, r0
- bl FUN_0202D804
- ldr r0, _0202F54C ; =0x021C59F4
- ldr r1, [r0, #0x4]
- ldr r0, _0202F59C ; =0x0000056C
- add r0, r1, r0
- bl FUN_0202D804
- ldr r0, _0202F54C ; =0x021C59F4
- mov r2, #0x0
- ldr r1, [r0, #0x4]
- ldr r0, _0202F5A0 ; =0x00000688
- strb r2, [r1, r0]
- pop {r3-r7, pc}
- .balign 4
-_0202F54C: .word 0x021C59F4
-_0202F550: .word 0x0000062C
-_0202F554: .word 0x00000658
-_0202F558: .word 0x00000458
-_0202F55C: .word 0x000004E8
-_0202F560: .word 0x00000454
-_0202F564: .word 0x0000047C
-_0202F568: .word 0x000004DC
-_0202F56C: .word 0x00000464
-_0202F570: .word 0x0000045C
-_0202F574: .word 0x00000684
-_0202F578: .word 0x0000065F
-_0202F57C: .word 0x00000667
-_0202F580: .word 0x00000596
-_0202F584: .word 0x0000FFFF
-_0202F588: .word 0x00000594
-_0202F58C: .word 0x0000058C
-_0202F590: .word 0x00000638
-_0202F594: .word 0x00000634
-_0202F598: .word 0x02105D58
-_0202F59C: .word 0x0000056C
-_0202F5A0: .word 0x00000688
-
- thumb_func_start FUN_0202F5A4
-FUN_0202F5A4: ; 0x0202F5A4
- push {r3-r7, lr}
- ldr r1, _0202F7D4 ; =0x021C59F4
- ldr r0, _0202F7D8 ; =0x0000062C
- ldr r2, [r1, #0x4]
- mov r3, #0x0
- strb r3, [r2, r0]
- ldr r1, [r1, #0x4]
- add r0, r0, #0x1
- strb r3, [r1, r0]
- bl FUN_02033534
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- bl FUN_0202D858
- add r6, r0, #0x1
- ldr r0, _0202F7D4 ; =0x021C59F4
- ldr r2, _0202F7DC ; =0x00000658
- ldr r3, [r0, #0x4]
- ldr r0, _0202F7E0 ; =0x00000458
- mov r1, #0x0
- ldr r0, [r3, r0]
- ldr r3, [r3, r2]
- add r2, r3, #0x0
- mul r2, r6
- blx MI_CpuFill8
- mov r4, #0x0
- cmp r6, #0x0
- ble _0202F606
- ldr r7, _0202F7D4 ; =0x021C59F4
- add r5, r4, #0x0
-_0202F5E4:
- ldr r3, [r7, #0x4]
- ldr r0, _0202F7DC ; =0x00000658
- ldr r1, _0202F7E0 ; =0x00000458
- ldr r2, [r3, r0]
- ldr r0, _0202F7E4 ; =0x000004E8
- add r0, r3, r0
- ldr r3, [r3, r1]
- add r1, r4, #0x0
- mul r1, r2
- add r0, r0, r5
- add r1, r3, r1
- bl FUN_0202D394
- add r4, r4, #0x1
- add r5, #0xc
- cmp r4, r6
- blt _0202F5E4
-_0202F606:
- ldr r0, _0202F7D4 ; =0x021C59F4
- ldr r2, _0202F7DC ; =0x00000658
- ldr r3, [r0, #0x4]
- ldr r0, _0202F7E8 ; =0x00000454
- mov r1, #0x0
- ldr r0, [r3, r0]
- ldr r3, [r3, r2]
- add r2, r3, #0x0
- mul r2, r6
- blx MI_CpuFill8
- mov r5, #0x0
- cmp r6, #0x0
- ble _0202F648
- ldr r7, _0202F7D4 ; =0x021C59F4
- add r4, r5, #0x0
-_0202F626:
- ldr r3, [r7, #0x4]
- ldr r0, _0202F7DC ; =0x00000658
- ldr r1, _0202F7E8 ; =0x00000454
- ldr r2, [r3, r0]
- ldr r0, _0202F7EC ; =0x0000047C
- add r0, r3, r0
- ldr r3, [r3, r1]
- add r1, r5, #0x0
- mul r1, r2
- add r0, r0, r4
- add r1, r3, r1
- bl FUN_0202D394
- add r5, r5, #0x1
- add r4, #0xc
- cmp r5, r6
- blt _0202F626
-_0202F648:
- ldr r0, _0202F7D4 ; =0x021C59F4
- mov r2, #0x6
- ldr r1, [r0, #0x4]
- mov r0, #0xb5
- lsl r0, r0, #0x2
- add r0, r1, r0
- mov r1, #0x0
- lsl r2, r2, #0x6
- blx MI_CpuFill8
- ldr r0, _0202F7D4 ; =0x021C59F4
- mov r1, #0xb5
- ldr r2, [r0, #0x4]
- ldr r0, _0202F7F0 ; =0x000004DC
- lsl r1, r1, #0x2
- add r0, r2, r0
- add r1, r2, r1
- mov r2, #0x6
- lsl r2, r2, #0x6
- bl FUN_0202D394
- mov r0, #0xee
- add r2, r0, #0x0
- mov r3, #0x85
- ldr r4, _0202F7D4 ; =0x021C59F4
- mov r1, #0x0
- add r2, #0x66
- lsl r3, r3, #0x2
-_0202F680:
- ldr r5, [r4, #0x4]
- add r5, r5, r1
- strb r0, [r5, r2]
- ldr r5, [r4, #0x4]
- add r5, r5, r1
- add r1, r1, #0x1
- strb r0, [r5, r3]
- cmp r1, #0xc0
- blt _0202F680
- ldr r0, _0202F7D4 ; =0x021C59F4
- mov r2, #0x42
- ldr r0, [r0, #0x4]
- mov r1, #0x0
- add r0, #0x4c
- lsl r2, r2, #0x2
- blx MI_CpuFill8
- ldr r0, _0202F7D4 ; =0x021C59F4
- mov r2, #0x42
- ldr r1, [r0, #0x4]
- ldr r0, _0202F7F4 ; =0x00000464
- lsl r2, r2, #0x2
- add r0, r1, r0
- add r1, #0x4c
- bl FUN_0202D394
- ldr r1, _0202F7D4 ; =0x021C59F4
- mov r2, #0xff
- ldr r0, [r1, #0x4]
- mov r3, #0x1
- strb r2, [r0, #0x0]
- ldr r0, [r1, #0x4]
- add r0, #0x26
- strb r2, [r0, #0x0]
- mov r2, #0xee
-_0202F6C6:
- ldr r0, [r1, #0x4]
- strb r2, [r0, r3]
- ldr r0, [r1, #0x4]
- add r0, r0, r3
- add r0, #0x26
- add r3, r3, #0x1
- strb r2, [r0, #0x0]
- cmp r3, #0x26
- blt _0202F6C6
- ldr r0, _0202F7D4 ; =0x021C59F4
- ldr r2, _0202F7DC ; =0x00000658
- ldr r3, [r0, #0x4]
- ldr r0, _0202F7F8 ; =0x0000045C
- ldr r2, [r3, r2]
- ldr r0, [r3, r0]
- mov r1, #0x0
- lsl r2, r2, #0x1
- blx MI_CpuFill8
- ldr r0, _0202F7D4 ; =0x021C59F4
- mov r1, #0x47
- ldr r3, [r0, #0x4]
- ldr r2, _0202F7DC ; =0x00000658
- lsl r1, r1, #0x4
- add r0, r3, r1
- sub r1, #0x14
- ldr r2, [r3, r2]
- ldr r1, [r3, r1]
- lsl r2, r2, #0x1
- bl FUN_0202D394
- ldr r0, _0202F7D4 ; =0x021C59F4
- mov r3, #0x0
- ldr r2, [r0, #0x4]
- ldr r1, _0202F7FC ; =0x00000684
- add r7, r3, #0x0
- strb r3, [r2, r1]
- ldr r2, [r0, #0x4]
- add r1, r1, #0x1
- strb r3, [r2, r1]
- add r1, r3, #0x0
- add r2, r3, #0x0
-_0202F71A:
- ldr r4, [r0, #0x4]
- add r5, r4, r3
- ldr r4, _0202F800 ; =0x0000065F
- strb r7, [r5, r4]
- ldr r4, [r0, #0x4]
- ldr r5, _0202F804 ; =0x00000667
- add r6, r4, r3
- mov r4, #0x1
- strb r4, [r6, r5]
- ldr r4, [r0, #0x4]
- add r5, #0x8
- add r6, r4, r3
- mov r4, #0x1
- strb r4, [r6, r5]
- ldr r4, [r0, #0x4]
- add r3, r3, #0x1
- add r5, r4, r1
- mov r4, #0x61
- lsl r4, r4, #0x4
- strh r7, [r5, r4]
- ldr r4, [r0, #0x4]
- ldr r5, _0202F808 ; =0x00000596
- add r6, r4, r2
- mov r4, #0xee
- strb r4, [r6, r5]
- ldr r4, [r0, #0x4]
- ldr r5, _0202F80C ; =0x0000FFFF
- add r6, r4, r2
- ldr r4, _0202F810 ; =0x00000594
- add r1, r1, #0x2
- strh r5, [r6, r4]
- ldr r4, [r0, #0x4]
- add r5, r4, r2
- mov r4, #0x59
- lsl r4, r4, #0x4
- str r7, [r5, r4]
- ldr r4, [r0, #0x4]
- add r5, r4, r2
- ldr r4, _0202F814 ; =0x0000058C
- add r2, #0xc
- str r7, [r5, r4]
- cmp r3, #0x8
- blt _0202F71A
- ldr r1, _0202F7D4 ; =0x021C59F4
- add r0, r4, #0x0
- ldr r3, [r1, #0x4]
- add r0, #0xa4
- mov r2, #0x1
- str r2, [r3, r0]
- add r3, r0, #0x0
- ldr r4, [r1, #0x4]
- sub r3, #0x3a
- mov r2, #0xee
- strb r2, [r4, r3]
- add r3, r0, #0x0
- ldr r4, [r1, #0x4]
- ldr r2, _0202F80C ; =0x0000FFFF
- sub r3, #0x3c
- strh r2, [r4, r3]
- add r2, r0, #0x0
- ldr r3, [r1, #0x4]
- sub r2, #0x40
- str r7, [r3, r2]
- add r2, r0, #0x0
- ldr r3, [r1, #0x4]
- sub r2, #0x44
- str r7, [r3, r2]
- add r3, r0, #0x0
- ldr r4, [r1, #0x4]
- add r3, #0x52
- mov r2, #0x1
- strb r2, [r4, r3]
- add r3, r0, #0x0
- ldr r4, [r1, #0x4]
- add r3, #0x53
- strb r2, [r4, r3]
- ldr r1, [r1, #0x4]
- sub r0, #0xe4
- add r0, r1, r0
- bl FUN_0202D804
- ldr r0, _0202F7D4 ; =0x021C59F4
- ldr r1, [r0, #0x4]
- ldr r0, _0202F818 ; =0x0000056C
- add r0, r1, r0
- bl FUN_0202D804
- ldr r0, _0202F7D4 ; =0x021C59F4
- mov r2, #0x0
- ldr r1, [r0, #0x4]
- ldr r0, _0202F81C ; =0x00000688
- strb r2, [r1, r0]
- pop {r3-r7, pc}
- .balign 4
-_0202F7D4: .word 0x021C59F4
-_0202F7D8: .word 0x0000062C
-_0202F7DC: .word 0x00000658
-_0202F7E0: .word 0x00000458
-_0202F7E4: .word 0x000004E8
-_0202F7E8: .word 0x00000454
-_0202F7EC: .word 0x0000047C
-_0202F7F0: .word 0x000004DC
-_0202F7F4: .word 0x00000464
-_0202F7F8: .word 0x0000045C
-_0202F7FC: .word 0x00000684
-_0202F800: .word 0x0000065F
-_0202F804: .word 0x00000667
-_0202F808: .word 0x00000596
-_0202F80C: .word 0x0000FFFF
-_0202F810: .word 0x00000594
-_0202F814: .word 0x0000058C
-_0202F818: .word 0x0000056C
-_0202F81C: .word 0x00000688
-
- thumb_func_start FUN_0202F820
-FUN_0202F820: ; 0x0202F820
- push {r4-r6, lr}
- add r5, r0, #0x0
- ldr r0, _0202F8B8 ; =0x021C59F4
- ldr r3, _0202F8BC ; =0x0000065F
- ldr r1, [r0, #0x4]
- mov r2, #0x0
- add r1, r1, r5
- strb r2, [r1, r3]
- ldr r4, [r0, #0x4]
- mov r1, #0x1
- add r6, r4, r5
- add r4, r3, #0x0
- add r4, #0x8
- strb r1, [r6, r4]
- ldr r6, [r0, #0x4]
- lsl r4, r5, #0x2
- add r6, r6, r4
- add r4, r3, #0x0
- sub r4, #0x27
- str r2, [r6, r4]
- ldr r2, [r0, #0x4]
- add r4, r2, r5
- add r2, r3, #0x0
- add r2, #0x10
- strb r1, [r4, r2]
- ldr r1, [r0, #0x4]
- sub r0, r3, #0x7
- ldr r2, [r1, r0]
- ldr r3, _0202F8C0 ; =0x0000047C
- mov r0, #0xc
- add r4, r5, #0x0
- mul r4, r0
- add r0, r1, r3
- sub r3, #0x28
- ldr r3, [r1, r3]
- add r1, r5, #0x0
- mul r1, r2
- add r0, r0, r4
- add r1, r3, r1
- bl FUN_0202D394
- ldr r0, _0202F8B8 ; =0x021C59F4
- ldr r3, _0202F8C4 ; =0x000004E8
- ldr r1, [r0, #0x4]
- ldr r0, _0202F8C8 ; =0x00000658
- ldr r2, [r1, r0]
- add r0, r1, r3
- sub r3, #0x90
- ldr r3, [r1, r3]
- add r1, r5, #0x0
- mul r1, r2
- add r0, r0, r4
- add r1, r3, r1
- bl FUN_0202D394
- ldr r3, _0202F8B8 ; =0x021C59F4
- ldr r2, _0202F8CC ; =0x00000596
- ldr r0, [r3, #0x4]
- mov r1, #0xee
- add r0, r0, r4
- strb r1, [r0, r2]
- ldr r0, [r3, #0x4]
- ldr r5, _0202F8D0 ; =0x0000FFFF
- add r1, r0, r4
- sub r0, r2, #0x2
- strh r5, [r1, r0]
- ldr r1, [r3, #0x4]
- mov r0, #0x0
- add r5, r1, r4
- sub r1, r2, #0x6
- str r0, [r5, r1]
- ldr r1, [r3, #0x4]
- sub r2, #0xa
- add r1, r1, r4
- str r0, [r1, r2]
- pop {r4-r6, pc}
- .balign 4
-_0202F8B8: .word 0x021C59F4
-_0202F8BC: .word 0x0000065F
-_0202F8C0: .word 0x0000047C
-_0202F8C4: .word 0x000004E8
-_0202F8C8: .word 0x00000658
-_0202F8CC: .word 0x00000596
-_0202F8D0: .word 0x0000FFFF
-
- thumb_func_start FUN_0202F8D4
-FUN_0202F8D4: ; 0x0202F8D4
- push {r4-r6, lr}
- ldr r4, _0202F908 ; =0x021C59F4
- ldr r6, _0202F90C ; =0x00000667
- mov r5, #0x1
-_0202F8DC:
- lsl r0, r5, #0x10
- lsr r0, r0, #0x10
- bl FUN_02030E7C
- cmp r0, #0x0
- bne _0202F900
- ldr r0, [r4, #0x4]
- add r0, r0, r5
- ldrb r0, [r0, r6]
- cmp r0, #0x0
- bne _0202F900
- bl FUN_02031280
- cmp r0, #0x0
- bne _0202F900
- add r0, r5, #0x0
- bl FUN_0202F820
-_0202F900:
- add r5, r5, #0x1
- cmp r5, #0x8
- blt _0202F8DC
- pop {r4-r6, pc}
- .balign 4
-_0202F908: .word 0x021C59F4
-_0202F90C: .word 0x00000667
-
- thumb_func_start FUN_0202F910
-FUN_0202F910: ; 0x0202F910
- ldr r3, _0202F914 ; =FUN_0202F820
- bx r3
- .balign 4
-_0202F914: .word FUN_0202F820
-
- thumb_func_start FUN_0202F918
-FUN_0202F918: ; 0x0202F918
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r6, r1, #0x0
- add r7, r2, #0x0
- str r3, [sp, #0x0]
- mov r4, #0x1
- bl FUN_02033534
- cmp r0, #0x13
- bge _0202F93E
- ldr r2, [sp, #0x0]
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_0202E5F8
- add r4, r0, #0x0
- ldr r0, _0202F94C ; =FUN_0202F910
- bl FUN_0202D330
-_0202F93E:
- add r0, r5, #0x0
- add r1, r7, #0x0
- bl FUN_0202F150
- add r0, r4, #0x0
- pop {r3-r7, pc}
- nop
-_0202F94C: .word FUN_0202F910
-
- thumb_func_start FUN_0202F950
-FUN_0202F950: ; 0x0202F950
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r6, r1, #0x0
- add r7, r2, #0x0
- mov r4, #0x1
- bl FUN_02033534
- cmp r0, #0x13
- bge _0202F96C
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_0202E66C
- add r4, r0, #0x0
-_0202F96C:
- add r0, r5, #0x0
- add r1, r7, #0x0
- bl FUN_0202F150
- ldr r0, _0202F980 ; =0x02105D58
- mov r1, #0x4
- strb r1, [r0, #0x0]
- add r0, r4, #0x0
- pop {r3-r7, pc}
- nop
-_0202F980: .word 0x02105D58
-
- thumb_func_start FUN_0202F984
-FUN_0202F984: ; 0x0202F984
- push {r4, lr}
- mov r4, #0x0
- bl FUN_02031190
- cmp r0, #0x0
- bne _0202F99A
- ldr r0, _0202F9D4 ; =0x02105D58
- ldrb r0, [r0, #0x1]
- cmp r0, #0x4
- beq _0202F9A2
- pop {r4, pc}
-_0202F99A:
- ldr r0, _0202F9D4 ; =0x02105D58
- ldrb r0, [r0, #0x0]
- cmp r0, #0x4
- bne _0202F9D0
-_0202F9A2:
- ldr r0, _0202F9D8 ; =0x021C59F4
- ldr r2, [r0, #0x4]
- ldr r0, _0202F9DC ; =0x0000067D
- ldrb r1, [r2, r0]
- cmp r1, #0x2
- bne _0202F9B4
- mov r1, #0x0
- strb r1, [r2, r0]
- mov r4, #0x1
-_0202F9B4:
- ldr r0, _0202F9D8 ; =0x021C59F4
- ldr r2, [r0, #0x4]
- ldr r0, _0202F9DC ; =0x0000067D
- ldrb r1, [r2, r0]
- cmp r1, #0x3
- bne _0202F9C4
- mov r4, #0x1
- strb r4, [r2, r0]
-_0202F9C4:
- cmp r4, #0x0
- beq _0202F9CC
- bl FUN_0202F5A4
-_0202F9CC:
- bl FUN_02031088
-_0202F9D0:
- pop {r4, pc}
- nop
-_0202F9D4: .word 0x02105D58
-_0202F9D8: .word 0x021C59F4
-_0202F9DC: .word 0x0000067D
-
- thumb_func_start FUN_0202F9E0
-FUN_0202F9E0: ; 0x0202F9E0
- ldr r1, _0202FA08 ; =0x021C59F4
- ldr r3, [r1, #0x4]
- ldr r1, _0202FA0C ; =0x0000067D
- ldrb r2, [r3, r1]
- cmp r2, #0x0
- bne _0202F9F6
- cmp r0, #0x1
- bne _0202F9F6
- mov r0, #0x3
- strb r0, [r3, r1]
- bx lr
-_0202F9F6:
- cmp r2, #0x1
- bne _0202FA04
- cmp r0, #0x0
- bne _0202FA04
- ldr r0, _0202FA0C ; =0x0000067D
- mov r1, #0x2
- strb r1, [r3, r0]
-_0202FA04:
- bx lr
- nop
-_0202FA08: .word 0x021C59F4
-_0202FA0C: .word 0x0000067D
-
- thumb_func_start FUN_0202FA10
-FUN_0202FA10: ; 0x0202FA10
- ldr r3, _0202FA18 ; =FUN_0202F9E0
- mov r0, #0x1
- bx r3
- nop
-_0202FA18: .word FUN_0202F9E0
-
- thumb_func_start FUN_0202FA1C
-FUN_0202FA1C: ; 0x0202FA1C
- ldr r3, _0202FA24 ; =FUN_0202F9E0
- mov r0, #0x0
- bx r3
- nop
-_0202FA24: .word FUN_0202F9E0
-
- thumb_func_start FUN_0202FA28
-FUN_0202FA28: ; 0x0202FA28
- ldr r0, _0202FA40 ; =0x021C59F4
- ldr r1, [r0, #0x4]
- ldr r0, _0202FA44 ; =0x0000067D
- ldrb r0, [r1, r0]
- cmp r0, #0x2
- bne _0202FA38
- mov r0, #0x1
- bx lr
-_0202FA38:
- cmp r0, #0x3
- bne _0202FA3E
- mov r0, #0x0
-_0202FA3E:
- bx lr
- .balign 4
-_0202FA40: .word 0x021C59F4
-_0202FA44: .word 0x0000067D
-
- thumb_func_start FUN_0202FA48
-FUN_0202FA48: ; 0x0202FA48
- push {r3, lr}
- bl FUN_0202FA28
- cmp r0, #0x1
- bne _0202FA56
- mov r0, #0x1
- pop {r3, pc}
-_0202FA56:
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0202FA5C
-FUN_0202FA5C: ; 0x0202FA5C
- push {r4, lr}
- ldr r0, _0202FB00 ; =0x021C59F4
- mov r4, #0x0
- ldr r0, [r0, #0x4]
- cmp r0, #0x0
- beq _0202FA82
- bl FUN_02033534
- cmp r0, #0x13
- blt _0202FA78
- bl FUN_021D83C0
- mov r4, #0x1
- b _0202FA82
-_0202FA78:
- bl FUN_0202E784
- cmp r0, #0x0
- beq _0202FA82
- mov r4, #0x1
-_0202FA82:
- cmp r4, #0x0
- beq _0202FAFE
- bl FUN_020314D0
- bl FUN_0202DBA4
- ldr r0, _0202FB00 ; =0x021C59F4
- mov r1, #0x0
- strb r1, [r0, #0x0]
- ldr r1, [r0, #0x4]
- ldr r0, _0202FB04 ; =0x00000548
- ldr r0, [r1, r0]
- bl FUN_0200CAB4
- ldr r1, _0202FB00 ; =0x021C59F4
- ldr r0, _0202FB04 ; =0x00000548
- ldr r2, [r1, #0x4]
- mov r3, #0x0
- str r3, [r2, r0]
- ldr r1, [r1, #0x4]
- sub r0, #0xec
- ldr r0, [r1, r0]
- bl FUN_02016A18
- ldr r0, _0202FB00 ; =0x021C59F4
- ldr r1, [r0, #0x4]
- mov r0, #0x46
- lsl r0, r0, #0x4
- ldr r0, [r1, r0]
- bl FUN_02016A18
- ldr r0, _0202FB00 ; =0x021C59F4
- ldr r1, [r0, #0x4]
- ldr r0, _0202FB08 ; =0x00000458
- ldr r0, [r1, r0]
- bl FUN_02016A18
- ldr r0, _0202FB00 ; =0x021C59F4
- ldr r1, [r0, #0x4]
- ldr r0, _0202FB0C ; =0x00000454
- ldr r0, [r1, r0]
- bl FUN_02016A18
- ldr r0, _0202FB00 ; =0x021C59F4
- ldr r1, [r0, #0x4]
- ldr r0, _0202FB10 ; =0x0000056C
- add r0, r1, r0
- bl FUN_0202D824
- ldr r0, _0202FB00 ; =0x021C59F4
- ldr r1, [r0, #0x4]
- ldr r0, _0202FB14 ; =0x0000054C
- add r0, r1, r0
- bl FUN_0202D824
- ldr r0, _0202FB00 ; =0x021C59F4
- ldr r0, [r0, #0x4]
- bl FUN_02016A18
- ldr r0, _0202FB00 ; =0x021C59F4
- mov r1, #0x0
- str r1, [r0, #0x4]
-_0202FAFE:
- pop {r4, pc}
- .balign 4
-_0202FB00: .word 0x021C59F4
-_0202FB04: .word 0x00000548
-_0202FB08: .word 0x00000458
-_0202FB0C: .word 0x00000454
-_0202FB10: .word 0x0000056C
-_0202FB14: .word 0x0000054C
-
- thumb_func_start FUN_0202FB18
-FUN_0202FB18: ; 0x0202FB18
- ldr r3, _0202FB1C ; =FUN_0202E9E8
- bx r3
- .balign 4
-_0202FB1C: .word FUN_0202E9E8
-
- thumb_func_start FUN_0202FB20
-FUN_0202FB20: ; 0x0202FB20
- push {r3, lr}
- ldr r0, _0202FB54 ; =0x021C59F4
- ldrb r0, [r0, #0x0]
- cmp r0, #0x0
- beq _0202FB52
- bl FUN_0203050C
- bl FUN_02031190
- cmp r0, #0x0
- bne _0202FB40
- mov r0, #0x0
- bl FUN_02030E7C
- cmp r0, #0x0
- bne _0202FB48
-_0202FB40:
- bl FUN_02031280
- cmp r0, #0x0
- beq _0202FB4C
-_0202FB48:
- bl FUN_0202FEEC
-_0202FB4C:
- ldr r0, _0202FB54 ; =0x021C59F4
- mov r1, #0x0
- strb r1, [r0, #0x0]
-_0202FB52:
- pop {r3, pc}
- .balign 4
-_0202FB54: .word 0x021C59F4
-
- thumb_func_start FUN_0202FB58
-FUN_0202FB58: ; 0x0202FB58
- push {r3, lr}
- bl FUN_0202F03C
- cmp r0, #0x0
- beq _0202FB7C
- bl FUN_02031190
- cmp r0, #0x0
- bne _0202FB78
- bl FUN_0202EE24
- cmp r0, #0x0
- bne _0202FB7C
- bl FUN_0202FA5C
- pop {r3, pc}
-_0202FB78:
- bl FUN_0202FA5C
-_0202FB7C:
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0202FB80
-FUN_0202FB80: ; 0x0202FB80
- push {r4, lr}
- bl FUN_02031CDC
- ldr r1, _0202FC48 ; =0x021C59F4
- ldr r2, [r1, #0x4]
- cmp r2, #0x0
- beq _0202FC34
- ldr r0, _0202FC4C ; =0x0000068A
- ldrb r0, [r2, r0]
- cmp r0, #0x0
- bne _0202FC16
- mov r0, #0x0
- strb r0, [r1, #0x0]
- bl FUN_0202F984
- ldr r0, _0202FC48 ; =0x021C59F4
- ldr r1, _0202FC50 ; =0x021C48B8
- ldr r0, [r0, #0x4]
- ldr r2, _0202FC54 ; =0x00000628
- ldr r3, [r1, #0x44]
- ldr r1, _0202FC58 ; =0x00007FFF
- ldrh r4, [r0, r2]
- and r1, r3
- orr r1, r4
- strh r1, [r0, r2]
- bl FUN_02030674
- bl FUN_0202FCCC
- ldr r0, _0202FC48 ; =0x021C59F4
- ldr r1, _0202FC54 ; =0x00000628
- ldr r3, [r0, #0x4]
- mov r0, #0x2
- ldrh r2, [r3, r1]
- lsl r0, r0, #0xe
- and r0, r2
- strh r0, [r3, r1]
- bl FUN_0202FA28
- cmp r0, #0x0
- bne _0202FBD6
- bl FUN_02030DA4
-_0202FBD6:
- bl FUN_02031190
- cmp r0, #0x0
- bne _0202FBE8
- mov r0, #0x0
- bl FUN_02030E7C
- cmp r0, #0x0
- bne _0202FBF0
-_0202FBE8:
- bl FUN_02031280
- cmp r0, #0x0
- beq _0202FBF4
-_0202FBF0:
- bl FUN_02030074
-_0202FBF4:
- bl FUN_02031190
- cmp r0, #0x0
- beq _0202FC0C
- bl FUN_0202FA28
- cmp r0, #0x1
- beq _0202FC0C
- bl FUN_02031280
- cmp r0, #0x0
- beq _0202FC10
-_0202FC0C:
- bl FUN_02030DFC
-_0202FC10:
- ldr r0, _0202FC48 ; =0x021C59F4
- mov r1, #0x1
- strb r1, [r0, #0x0]
-_0202FC16:
- ldr r0, _0202FC48 ; =0x021C59F4
- ldr r1, [r0, #0x4]
- ldr r0, _0202FC5C ; =0x0000065C
- ldrh r0, [r1, r0]
- bl FUN_0202ED70
- bl FUN_02031190
- cmp r0, #0x0
- bne _0202FC2E
- bl FUN_0202F8D4
-_0202FC2E:
- bl FUN_0202FB58
- b _0202FC3A
-_0202FC34:
- mov r0, #0x0
- bl FUN_0202ED70
-_0202FC3A:
- mov r0, #0x0
- bl FUN_020335F4
- bl FUN_020315A4
- mov r0, #0x1
- pop {r4, pc}
- .balign 4
-_0202FC48: .word 0x021C59F4
-_0202FC4C: .word 0x0000068A
-_0202FC50: .word 0x021C48B8
-_0202FC54: .word 0x00000628
-_0202FC58: .word 0x00007FFF
-_0202FC5C: .word 0x0000065C
-
- thumb_func_start FUN_0202FC60
-FUN_0202FC60: ; 0x0202FC60
- push {r4, lr}
- ldr r0, _0202FC7C ; =0x021C59F4
- mov r1, #0x0
- ldrb r4, [r0, #0x0]
- strb r1, [r0, #0x0]
- ldr r0, [r0, #0x4]
- cmp r0, #0x0
- beq _0202FC74
- bl FUN_0202F2F0
-_0202FC74:
- ldr r0, _0202FC7C ; =0x021C59F4
- strb r4, [r0, #0x0]
- pop {r4, pc}
- nop
-_0202FC7C: .word 0x021C59F4
-
- thumb_func_start FUN_0202FC80
-FUN_0202FC80: ; 0x0202FC80
- push {r4, lr}
- ldr r0, _0202FCA0 ; =0x021C59F4
- mov r1, #0x0
- ldrb r4, [r0, #0x0]
- strb r1, [r0, #0x0]
- ldr r2, [r0, #0x4]
- cmp r2, #0x0
- beq _0202FC9A
- ldr r0, _0202FCA4 ; =0x0000067D
- mov r1, #0x1
- strb r1, [r2, r0]
- bl FUN_0202F2F0
-_0202FC9A:
- ldr r0, _0202FCA0 ; =0x021C59F4
- strb r4, [r0, #0x0]
- pop {r4, pc}
- .balign 4
-_0202FCA0: .word 0x021C59F4
-_0202FCA4: .word 0x0000067D
-
- thumb_func_start FUN_0202FCA8
-FUN_0202FCA8: ; 0x0202FCA8
- push {r4, lr}
- ldr r0, _0202FCC8 ; =0x021C59F4
- mov r1, #0x0
- ldrb r4, [r0, #0x0]
- strb r1, [r0, #0x0]
- ldr r0, [r0, #0x4]
- cmp r0, #0x0
- beq _0202FCC0
- bl FUN_0202F2F0
- bl FUN_0202E538
-_0202FCC0:
- ldr r0, _0202FCC8 ; =0x021C59F4
- strb r4, [r0, #0x0]
- pop {r4, pc}
- nop
-_0202FCC8: .word 0x021C59F4
-
- thumb_func_start FUN_0202FCCC
-FUN_0202FCCC: ; 0x0202FCCC
- push {r3, lr}
- ldr r0, _0202FE14 ; =0x021C59F4
- ldr r1, [r0, #0x4]
- ldr r0, _0202FE18 ; =0x00000683
- ldrb r0, [r1, r0]
- cmp r0, #0x0
- beq _0202FD40
- bl FUN_02033534
- cmp r0, #0x13
- blt _0202FD06
- ldr r0, _0202FE14 ; =0x021C59F4
- ldr r1, _0202FE1C ; =0x00000687
- ldr r0, [r0, #0x4]
- ldrb r1, [r0, r1]
- cmp r1, #0x0
- beq _0202FCF8
- mov r1, #0x26
- bl FUN_021D78FC
- cmp r0, #0x0
- bne _0202FCFA
-_0202FCF8:
- b _0202FE10
-_0202FCFA:
- ldr r0, _0202FE14 ; =0x021C59F4
- mov r2, #0x0
- ldr r1, [r0, #0x4]
- ldr r0, _0202FE18 ; =0x00000683
- strb r2, [r1, r0]
- pop {r3, pc}
-_0202FD06:
- bl FUN_0202CBD4
- cmp r0, #0x4
- bne _0202FD1A
- bl FUN_02031190
- bl FUN_02030E7C
- cmp r0, #0x0
- bne _0202FD22
-_0202FD1A:
- bl FUN_02031280
- cmp r0, #0x0
- beq _0202FE10
-_0202FD22:
- ldr r0, _0202FE20 ; =0x02105D58
- mov r1, #0x0
- strb r1, [r0, #0x0]
- bl FUN_0203050C
- ldr r0, _0202FE20 ; =0x02105D58
- ldrb r0, [r0, #0x0]
- cmp r0, #0x0
- beq _0202FE10
- ldr r0, _0202FE14 ; =0x021C59F4
- mov r2, #0x0
- ldr r1, [r0, #0x4]
- ldr r0, _0202FE18 ; =0x00000683
- strb r2, [r1, r0]
- pop {r3, pc}
-_0202FD40:
- bl FUN_02033534
- cmp r0, #0x13
- blt _0202FDB2
- ldr r0, _0202FE14 ; =0x021C59F4
- ldr r2, _0202FE1C ; =0x00000687
- ldr r0, [r0, #0x4]
- ldrb r1, [r0, r2]
- cmp r1, #0x0
- beq _0202FE10
- add r1, r2, #0x0
- sub r1, #0x57
- ldr r1, [r0, r1]
- cmp r1, #0x0
- beq _0202FD7A
- sub r2, #0x53
- ldr r1, [r0, r2]
- cmp r1, #0x3
- bgt _0202FE10
- ldr r1, _0202FE20 ; =0x02105D58
- ldrb r1, [r1, #0x0]
- cmp r1, #0x4
- bne _0202FD90
- bl FUN_02030930
- ldr r0, _0202FE20 ; =0x02105D58
- mov r1, #0x2
- strb r1, [r0, #0x0]
- b _0202FD90
-_0202FD7A:
- ldr r1, _0202FE20 ; =0x02105D58
- ldrb r1, [r1, #0x0]
- cmp r1, #0x4
- bne _0202FD90
- bl FUN_02030930
- cmp r0, #0x0
- beq _0202FE10
- ldr r0, _0202FE20 ; =0x02105D58
- mov r1, #0x2
- strb r1, [r0, #0x0]
-_0202FD90:
- ldr r0, _0202FE14 ; =0x021C59F4
- mov r1, #0x26
- ldr r0, [r0, #0x4]
- bl FUN_021D78FC
- cmp r0, #0x0
- beq _0202FE10
- ldr r0, _0202FE20 ; =0x02105D58
- mov r1, #0x4
- strb r1, [r0, #0x0]
- ldr r0, _0202FE14 ; =0x021C59F4
- ldr r2, [r0, #0x4]
- ldr r0, _0202FE24 ; =0x00000634
- ldr r1, [r2, r0]
- add r1, r1, #0x1
- str r1, [r2, r0]
- pop {r3, pc}
-_0202FDB2:
- bl FUN_0202CBD4
- cmp r0, #0x4
- bne _0202FDC6
- bl FUN_02031190
- bl FUN_02030E7C
- cmp r0, #0x0
- bne _0202FDCE
-_0202FDC6:
- bl FUN_02031280
- cmp r0, #0x0
- beq _0202FE10
-_0202FDCE:
- ldr r0, _0202FE20 ; =0x02105D58
- ldrb r0, [r0, #0x0]
- cmp r0, #0x4
- bne _0202FE10
- ldr r0, _0202FE14 ; =0x021C59F4
- ldr r2, [r0, #0x4]
- ldr r0, _0202FE24 ; =0x00000634
- ldr r1, [r2, r0]
- cmp r1, #0x3
- bgt _0202FE10
- add r0, #0x4b
- ldrb r1, [r2, r0]
- mov r0, #0x26
- mul r0, r1
- add r0, r2, r0
- bl FUN_02030930
- ldr r0, _0202FE14 ; =0x021C59F4
- ldr r2, [r0, #0x4]
- ldr r0, _0202FE28 ; =0x0000067F
- ldrb r1, [r2, r0]
- mov r0, #0x1
- sub r1, r0, r1
- mov r0, #0x26
- mul r0, r1
- add r0, r2, r0
- bl FUN_02030930
- ldr r0, _0202FE20 ; =0x02105D58
- mov r1, #0x0
- strb r1, [r0, #0x0]
- bl FUN_0203050C
-_0202FE10:
- pop {r3, pc}
- nop
-_0202FE14: .word 0x021C59F4
-_0202FE18: .word 0x00000683
-_0202FE1C: .word 0x00000687
-_0202FE20: .word 0x02105D58
-_0202FE24: .word 0x00000634
-_0202FE28: .word 0x0000067F
-
- thumb_func_start FUN_0202FE2C
-FUN_0202FE2C: ; 0x0202FE2C
- push {r3-r7, lr}
- sub sp, #0x10
- str r0, [sp, #0x0]
- mov r0, #0x0
- str r0, [sp, #0x4]
- bl FUN_02033534
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- bl FUN_02031228
- str r0, [sp, #0xc]
- bl FUN_02033534
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- bl FUN_0202D858
- add r0, r0, #0x1
- mov r7, #0x0
- str r0, [sp, #0x8]
- cmp r0, #0x0
- ble _0202FED0
- ldr r0, [sp, #0x0]
- mov r1, #0xc0
- add r6, r0, #0x0
- add r4, r7, #0x0
- add r5, r7, #0x0
- mul r6, r1
-_0202FE66:
- ldr r0, _0202FEE4 ; =0x021C59F4
- ldr r1, [r0, #0x4]
- ldr r0, _0202FEE8 ; =0x0000047C
- add r0, r1, r0
- add r0, r0, r4
- bl FUN_0202D4BC
- lsl r0, r7, #0x10
- lsr r0, r0, #0x10
- bl FUN_02030E7C
- cmp r0, #0x0
- beq _0202FE90
- ldr r0, _0202FEE4 ; =0x021C59F4
- mov r1, #0xe
- ldr r0, [r0, #0x4]
- add r0, r6, r0
- add r2, r5, r0
- mov r0, #0x55
- lsl r0, r0, #0x2
- strb r1, [r2, r0]
-_0202FE90:
- ldr r0, _0202FEE4 ; =0x021C59F4
- mov r2, #0x55
- ldr r1, [r0, #0x4]
- ldr r0, _0202FEE8 ; =0x0000047C
- lsl r2, r2, #0x2
- add r0, r1, r0
- add r1, r1, r2
- add r1, r1, r6
- ldr r2, [sp, #0xc]
- add r0, r0, r4
- add r1, r1, r5
- bl FUN_0202D400
- ldr r0, _0202FEE4 ; =0x021C59F4
- ldr r0, [r0, #0x4]
- add r0, r6, r0
- add r1, r5, r0
- mov r0, #0x55
- lsl r0, r0, #0x2
- ldrb r0, [r1, r0]
- cmp r0, #0xe
- bne _0202FEC2
- ldr r0, [sp, #0x4]
- add r0, r0, #0x1
- str r0, [sp, #0x4]
-_0202FEC2:
- ldr r0, [sp, #0xc]
- add r7, r7, #0x1
- add r5, r5, r0
- ldr r0, [sp, #0x8]
- add r4, #0xc
- cmp r7, r0
- blt _0202FE66
-_0202FED0:
- ldr r1, [sp, #0x4]
- ldr r0, [sp, #0x8]
- cmp r1, r0
- bne _0202FEDE
- add sp, #0x10
- mov r0, #0x0
- pop {r3-r7, pc}
-_0202FEDE:
- mov r0, #0x1
- add sp, #0x10
- pop {r3-r7, pc}
- .balign 4
-_0202FEE4: .word 0x021C59F4
-_0202FEE8: .word 0x0000047C
-
- thumb_func_start FUN_0202FEEC
-FUN_0202FEEC: ; 0x0202FEEC
- push {r3-r7, lr}
- ldr r0, _02030064 ; =0x021C59F4
- ldr r0, [r0, #0x4]
- cmp r0, #0x0
- beq _0202FEFE
- bl FUN_02033534
- cmp r0, #0x13
- blt _0202FF00
-_0202FEFE:
- b _02030062
-_0202FF00:
- bl FUN_02033534
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- bl FUN_02031228
- str r0, [sp, #0x0]
- bl FUN_02033534
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- bl FUN_0202D858
- add r6, r0, #0x1
- ldr r0, _02030068 ; =0x02105D58
- ldrb r1, [r0, #0x1]
- cmp r1, #0x2
- beq _0202FF2C
- ldrb r0, [r0, #0x1]
- cmp r0, #0x0
- beq _0202FF2C
- b _02030062
-_0202FF2C:
- ldr r0, _02030068 ; =0x02105D58
- ldrb r1, [r0, #0x1]
- add r1, r1, #0x1
- strb r1, [r0, #0x1]
- bl FUN_0202FA28
- cmp r0, #0x1
- bne _0202FF4A
- ldr r0, _02030064 ; =0x021C59F4
- ldr r1, [r0, #0x4]
- mov r0, #0x1a
- lsl r0, r0, #0x6
- ldrb r0, [r1, r0]
- bl FUN_0202FE2C
-_0202FF4A:
- bl FUN_0202CBD4
- cmp r0, #0x4
- bne _0202FF86
- bl FUN_02031280
- cmp r0, #0x0
- bne _0202FF86
- ldr r0, _02030064 ; =0x021C59F4
- ldr r1, [r0, #0x4]
- mov r0, #0x55
- lsl r0, r0, #0x2
- add r3, r1, r0
- mov r0, #0x1a
- lsl r0, r0, #0x6
- ldrb r0, [r1, r0]
- mov r1, #0xc0
- add r2, r0, #0x0
- mul r2, r1
- add r0, r3, r2
- ldr r3, _0203006C ; =FUN_020304F0
- mov r2, #0xe
- bl FUN_0202D0D0
- cmp r0, #0x0
- bne _0202FF86
- ldr r0, _02030068 ; =0x02105D58
- ldrb r1, [r0, #0x1]
- sub r1, r1, #0x1
- strb r1, [r0, #0x1]
-_0202FF86:
- ldr r0, _02030068 ; =0x02105D58
- ldrb r1, [r0, #0x1]
- cmp r1, #0x1
- beq _0202FF94
- ldrb r0, [r0, #0x1]
- cmp r0, #0x3
- bne _0203000A
-_0202FF94:
- mov r4, #0x0
- cmp r6, #0x0
- ble _0202FFDC
- ldr r7, _02030064 ; =0x021C59F4
- add r5, r4, #0x0
-_0202FF9E:
- lsl r0, r4, #0x10
- lsr r0, r0, #0x10
- bl FUN_02030E7C
- cmp r0, #0x0
- beq _0202FFBA
- ldr r0, [r7, #0x4]
- ldr r1, _02030070 ; =0x00000638
- add r0, r0, r5
- ldr r1, [r0, r1]
- add r2, r1, #0x1
- ldr r1, _02030070 ; =0x00000638
- str r2, [r0, r1]
- b _0202FFD4
-_0202FFBA:
- bl FUN_02031280
- cmp r0, #0x0
- beq _0202FFD4
- cmp r4, #0x0
- bne _0202FFD4
- ldr r0, [r7, #0x4]
- ldr r1, _02030070 ; =0x00000638
- add r0, r0, r5
- ldr r1, [r0, r1]
- add r2, r1, #0x1
- ldr r1, _02030070 ; =0x00000638
- str r2, [r0, r1]
-_0202FFD4:
- add r4, r4, #0x1
- add r5, r5, #0x4
- cmp r4, r6
- blt _0202FF9E
-_0202FFDC:
- ldr r0, _02030064 ; =0x021C59F4
- mov r1, #0x55
- ldr r2, [r0, #0x4]
- lsl r1, r1, #0x2
- add r4, r2, r1
- mov r1, #0x1a
- lsl r1, r1, #0x6
- ldrb r1, [r2, r1]
- mov r2, #0xc0
- mov r0, #0x0
- add r3, r1, #0x0
- mul r3, r2
- add r1, r4, r3
- bl FUN_0203026C
- ldr r0, _02030064 ; =0x021C59F4
- mov r1, #0x1a
- ldr r3, [r0, #0x4]
- lsl r1, r1, #0x6
- ldrb r2, [r3, r1]
- mov r0, #0x1
- sub r0, r0, r2
- strb r0, [r3, r1]
-_0203000A:
- mov r5, #0x0
- cmp r6, #0x0
- ble _0203004A
- add r4, r5, #0x0
- mov r7, #0xff
-_02030014:
- lsl r0, r5, #0x10
- lsr r0, r0, #0x10
- bl FUN_02030E7C
- cmp r0, #0x0
- bne _02030040
- bl FUN_0202FA28
- cmp r0, #0x1
- bne _02030040
- ldr r0, _02030064 ; =0x021C59F4
- mov r1, #0x1a
- ldr r0, [r0, #0x4]
- lsl r1, r1, #0x6
- ldrb r2, [r0, r1]
- mov r1, #0xc0
- mul r1, r2
- add r0, r0, r1
- add r1, r4, r0
- mov r0, #0x55
- lsl r0, r0, #0x2
- strb r7, [r1, r0]
-_02030040:
- ldr r0, [sp, #0x0]
- add r5, r5, #0x1
- add r4, r4, r0
- cmp r5, r6
- blt _02030014
-_0203004A:
- bl FUN_0202CBD4
- cmp r0, #0x4
- bne _0203005A
- bl FUN_02031280
- cmp r0, #0x0
- beq _02030062
-_0203005A:
- ldr r0, _02030068 ; =0x02105D58
- ldrb r1, [r0, #0x1]
- add r1, r1, #0x1
- strb r1, [r0, #0x1]
-_02030062:
- pop {r3-r7, pc}
- .balign 4
-_02030064: .word 0x021C59F4
-_02030068: .word 0x02105D58
-_0203006C: .word FUN_020304F0
-_02030070: .word 0x00000638
-
- thumb_func_start FUN_02030074
-FUN_02030074: ; 0x02030074
- push {r3-r7, lr}
- ldr r0, _02030228 ; =0x021C59F4
- ldr r1, [r0, #0x4]
- ldr r0, _0203022C ; =0x00000683
- ldrb r0, [r1, r0]
- cmp r0, #0x0
- beq _020300DC
- bl FUN_02033534
- cmp r0, #0x13
- blt _020300B4
- mov r0, #0x0
- bl FUN_02030E7C
- cmp r0, #0x0
- beq _020300DC
- ldr r0, _02030228 ; =0x021C59F4
- ldr r1, [r0, #0x4]
- mov r0, #0x55
- lsl r0, r0, #0x2
- add r0, r1, r0
- mov r1, #0x4c
- bl FUN_021D79B4
- cmp r0, #0x0
- beq _020300DC
- ldr r0, _02030228 ; =0x021C59F4
- mov r2, #0x0
- ldr r1, [r0, #0x4]
- ldr r0, _0203022C ; =0x00000683
- strb r2, [r1, r0]
- pop {r3-r7, pc}
-_020300B4:
- bl FUN_0202CBD4
- cmp r0, #0x4
- beq _020300C4
- bl FUN_02031280
- cmp r0, #0x0
- beq _020300DC
-_020300C4:
- bl FUN_0202FEEC
- ldr r0, _02030230 ; =0x02105D58
- ldrb r0, [r0, #0x1]
- cmp r0, #0x2
- bne _020300DC
- ldr r0, _02030228 ; =0x021C59F4
- mov r2, #0x0
- ldr r1, [r0, #0x4]
- ldr r0, _0203022C ; =0x00000683
- strb r2, [r1, r0]
- pop {r3-r7, pc}
-_020300DC:
- bl FUN_02033534
- cmp r0, #0x13
- blt _02030184
- mov r0, #0x0
- bl FUN_02030E7C
- cmp r0, #0x0
- bne _020300F0
- b _02030224
-_020300F0:
- ldr r0, _02030228 ; =0x021C59F4
- mov r1, #0x63
- ldr r2, [r0, #0x4]
- lsl r1, r1, #0x4
- ldr r0, [r2, r1]
- cmp r0, #0x0
- beq _02030130
- add r0, r1, #0x0
- add r0, #0xc
- ldr r0, [r2, r0]
- cmp r0, #0x3
- bgt _02030110
- add r1, #0x8
- ldr r0, [r2, r1]
- cmp r0, #0x3
- ble _02030112
-_02030110:
- b _02030224
-_02030112:
- ldr r0, _02030230 ; =0x02105D58
- ldrb r0, [r0, #0x1]
- cmp r0, #0x4
- bne _02030150
- bl FUN_0202FA28
- cmp r0, #0x1
- bne _02030128
- mov r0, #0x0
- bl FUN_0202FE2C
-_02030128:
- ldr r0, _02030230 ; =0x02105D58
- mov r1, #0x2
- strb r1, [r0, #0x1]
- b _02030150
-_02030130:
- ldr r0, _02030230 ; =0x02105D58
- ldrb r0, [r0, #0x1]
- cmp r0, #0x4
- bne _0203014A
- bl FUN_0202FA28
- cmp r0, #0x1
- bne _0203014A
- mov r0, #0x0
- bl FUN_0202FE2C
- cmp r0, #0x0
- beq _02030224
-_0203014A:
- ldr r0, _02030230 ; =0x02105D58
- mov r1, #0x2
- strb r1, [r0, #0x1]
-_02030150:
- ldr r0, _02030228 ; =0x021C59F4
- ldr r1, [r0, #0x4]
- mov r0, #0x55
- lsl r0, r0, #0x2
- add r0, r1, r0
- mov r1, #0x4c
- bl FUN_021D79B4
- cmp r0, #0x0
- beq _02030224
- ldr r0, _02030230 ; =0x02105D58
- mov r1, #0x4
- strb r1, [r0, #0x1]
- ldr r1, _02030228 ; =0x021C59F4
- ldr r0, _02030234 ; =0x00000638
- ldr r3, [r1, #0x4]
- ldr r2, [r3, r0]
- add r2, r2, #0x1
- str r2, [r3, r0]
- ldr r2, [r1, #0x4]
- add r1, r0, #0x4
- ldr r1, [r2, r1]
- add r0, r0, #0x4
- add r1, r1, #0x1
- str r1, [r2, r0]
- pop {r3-r7, pc}
-_02030184:
- bl FUN_0202CBD4
- cmp r0, #0x4
- beq _02030194
- bl FUN_02031280
- cmp r0, #0x0
- beq _02030224
-_02030194:
- ldr r0, _02030230 ; =0x02105D58
- ldrb r0, [r0, #0x1]
- cmp r0, #0x4
- bne _02030224
- ldr r6, _02030228 ; =0x021C59F4
- ldr r7, _02030234 ; =0x00000638
- mov r4, #0x1
- mov r5, #0x4
-_020301A4:
- lsl r0, r4, #0x10
- lsr r0, r0, #0x10
- bl FUN_02030E7C
- cmp r0, #0x0
- beq _020301BC
- ldr r0, [r6, #0x4]
- add r0, r0, r5
- ldr r0, [r0, r7]
- cmp r0, #0x3
- ble _020301D2
- pop {r3-r7, pc}
-_020301BC:
- cmp r4, #0x0
- bne _020301D2
- bl FUN_02031280
- cmp r0, #0x0
- beq _020301D2
- ldr r1, [r6, #0x4]
- ldr r0, _02030234 ; =0x00000638
- ldr r0, [r1, r0]
- cmp r0, #0x3
- bgt _02030224
-_020301D2:
- add r4, r4, #0x1
- add r5, r5, #0x4
- cmp r4, #0x8
- blt _020301A4
- bl FUN_0202FA28
- cmp r0, #0x0
- bne _0203021A
- ldr r0, _02030228 ; =0x021C59F4
- ldr r1, [r0, #0x4]
- mov r0, #0x55
- lsl r0, r0, #0x2
- add r2, r1, r0
- mov r0, #0x1a
- lsl r0, r0, #0x6
- ldrb r1, [r1, r0]
- mov r0, #0xc0
- mul r0, r1
- add r0, r2, r0
- bl FUN_02030A00
- ldr r0, _02030228 ; =0x021C59F4
- ldr r1, [r0, #0x4]
- mov r0, #0x55
- lsl r0, r0, #0x2
- add r2, r1, r0
- mov r0, #0x1a
- lsl r0, r0, #0x6
- ldrb r1, [r1, r0]
- mov r0, #0x1
- sub r1, r0, r1
- mov r0, #0xc0
- mul r0, r1
- add r0, r2, r0
- bl FUN_02030A00
-_0203021A:
- ldr r0, _02030230 ; =0x02105D58
- mov r1, #0x0
- strb r1, [r0, #0x1]
- bl FUN_0202FEEC
-_02030224:
- pop {r3-r7, pc}
- nop
-_02030228: .word 0x021C59F4
-_0203022C: .word 0x00000683
-_02030230: .word 0x02105D58
-_02030234: .word 0x00000638
-
- thumb_func_start FUN_02030238
-FUN_02030238: ; 0x02030238
- push {r4-r6, lr}
- ldr r4, _02030264 ; =0x021C59F4
- ldr r3, _02030268 ; =0x0000066F
- ldr r5, [r4, #0x4]
- ldrb r6, [r5, r3]
- cmp r6, #0x0
- beq _0203025C
- add r0, r3, #0x0
- sub r0, #0x3b
- ldr r0, [r5, r0]
- sub r1, r0, #0x1
- add r0, r3, #0x0
- sub r0, #0x3b
- str r1, [r5, r0]
- ldr r0, [r4, #0x4]
- mov r1, #0x0
- strb r1, [r0, r3]
- pop {r4-r6, pc}
-_0203025C:
- bl FUN_0203026C
- pop {r4-r6, pc}
- nop
-_02030264: .word 0x021C59F4
-_02030268: .word 0x0000066F
-
- thumb_func_start FUN_0203026C
-FUN_0203026C: ; 0x0203026C
- push {r3-r7, lr}
- sub sp, #0x8
- ldr r0, _020303A0 ; =0x021C59F4
- add r5, r1, #0x0
- ldr r2, [r0, #0x4]
- ldr r0, _020303A4 ; =0x00000634
- ldr r1, [r2, r0]
- sub r1, r1, #0x1
- str r1, [r2, r0]
- cmp r5, #0x0
- beq _02030290
- ldrb r0, [r5, #0x0]
- cmp r0, #0xb
- bne _02030296
- bl FUN_0202FA28
- cmp r0, #0x1
- bne _02030292
-_02030290:
- b _0203039C
-_02030292:
- add r5, r5, #0x1
- b _0203029E
-_02030296:
- bl FUN_0202FA28
- cmp r0, #0x0
- beq _0203039C
-_0203029E:
- ldr r0, _020303A0 ; =0x021C59F4
- ldr r1, _020303A8 ; =0x00000682
- ldr r0, [r0, #0x4]
- ldrb r1, [r0, r1]
- cmp r1, #0x0
- beq _020302B2
- ldrb r2, [r5, #0x0]
- mov r1, #0x1
- tst r1, r2
- bne _0203039C
-_020302B2:
- ldr r1, _020303A8 ; =0x00000682
- mov r2, #0x0
- strb r2, [r0, r1]
- bl FUN_0202FA28
- cmp r0, #0x1
- bne _0203036E
- bl FUN_02033534
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- bl FUN_02031228
- add r6, r0, #0x0
- bl FUN_02033534
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- bl FUN_0202D858
- add r0, r0, #0x1
- mov r4, #0x0
- str r0, [sp, #0x4]
- cmp r0, #0x0
- ble _0203039C
- sub r0, r6, #0x1
- add r7, r4, #0x0
- str r0, [sp, #0x0]
-_020302EA:
- ldrb r0, [r5, #0x0]
- cmp r0, #0xff
- bne _02030302
- ldr r0, _020303A0 ; =0x021C59F4
- mov r2, #0x1
- ldr r1, [r0, #0x4]
- ldr r0, _020303AC ; =0x0000065C
- lsl r2, r4
- ldrh r0, [r1, r0]
- mvn r2, r2
- and r2, r0
- b _02030310
-_02030302:
- ldr r0, _020303A0 ; =0x021C59F4
- mov r2, #0x1
- ldr r1, [r0, #0x4]
- ldr r0, _020303AC ; =0x0000065C
- lsl r2, r4
- ldrh r0, [r1, r0]
- orr r2, r0
-_02030310:
- ldr r0, _020303AC ; =0x0000065C
- strh r2, [r1, r0]
- ldrb r2, [r5, #0x0]
- cmp r2, #0xff
- bne _0203031E
- add r5, r5, r6
- b _02030360
-_0203031E:
- cmp r2, #0xe
- bne _02030326
- add r5, r5, r6
- b _02030360
-_02030326:
- ldr r0, _020303A0 ; =0x021C59F4
- ldr r3, [r0, #0x4]
- ldr r0, _020303B0 ; =0x00000667
- add r1, r3, r4
- ldrb r0, [r1, r0]
- cmp r0, #0x0
- beq _0203033E
- mov r0, #0x1
- tst r0, r2
- beq _0203033E
- add r5, r5, r6
- b _02030360
-_0203033E:
- ldr r0, _020303B4 ; =0x000004E8
- add r5, r5, #0x1
- add r0, r3, r0
- ldr r2, [sp, #0x0]
- ldr r3, _020303B8 ; =0x000005E6
- add r0, r0, r7
- add r1, r5, #0x0
- bl FUN_0202D3A4
- ldr r0, [sp, #0x0]
- mov r1, #0x0
- add r5, r5, r0
- ldr r0, _020303A0 ; =0x021C59F4
- ldr r0, [r0, #0x4]
- add r2, r0, r4
- ldr r0, _020303B0 ; =0x00000667
- strb r1, [r2, r0]
-_02030360:
- ldr r0, [sp, #0x4]
- add r4, r4, #0x1
- add r7, #0xc
- cmp r4, r0
- blt _020302EA
- add sp, #0x8
- pop {r3-r7, pc}
-_0203036E:
- ldr r0, _020303A0 ; =0x021C59F4
- ldrb r2, [r5, #0x1]
- ldr r1, [r0, #0x4]
- ldr r3, _020303AC ; =0x0000065C
- strh r2, [r1, r3]
- ldr r2, [r0, #0x4]
- ldrh r1, [r2, r3]
- lsl r1, r1, #0x8
- strh r1, [r2, r3]
- ldr r4, [r0, #0x4]
- ldrb r1, [r5, #0x2]
- ldrh r2, [r4, r3]
- add r1, r2, r1
- strh r1, [r4, r3]
- ldr r1, [r0, #0x4]
- mov r0, #0x47
- lsl r0, r0, #0x4
- add r0, r1, r0
- ldrb r2, [r5, #0x3]
- add r1, r5, #0x4
- sub r3, #0x5d
- bl FUN_0202D3A4
-_0203039C:
- add sp, #0x8
- pop {r3-r7, pc}
- .balign 4
-_020303A0: .word 0x021C59F4
-_020303A4: .word 0x00000634
-_020303A8: .word 0x00000682
-_020303AC: .word 0x0000065C
-_020303B0: .word 0x00000667
-_020303B4: .word 0x000004E8
-_020303B8: .word 0x000005E6
-
- thumb_func_start FUN_020303BC
-FUN_020303BC: ; 0x020303BC
- push {r4-r6, lr}
- ldr r3, _020303EC ; =0x021C59F4
- ldr r6, _020303F0 ; =0x0000066F
- ldr r5, [r3, #0x4]
- add r4, r5, r0
- ldrb r4, [r4, r6]
- cmp r4, #0x0
- beq _020303E4
- add r1, r6, #0x0
- sub r1, #0x37
- add r4, r5, r1
- lsl r2, r0, #0x2
- ldr r1, [r4, r2]
- sub r1, r1, #0x1
- str r1, [r4, r2]
- ldr r1, [r3, #0x4]
- mov r2, #0x0
- add r0, r1, r0
- strb r2, [r0, r6]
- pop {r4-r6, pc}
-_020303E4:
- bl FUN_020303F4
- pop {r4-r6, pc}
- nop
-_020303EC: .word 0x021C59F4
-_020303F0: .word 0x0000066F
-
- thumb_func_start FUN_020303F4
-FUN_020303F4: ; 0x020303F4
- push {r4-r6, lr}
- ldr r3, _020304B8 ; =0x021C59F4
- add r5, r0, #0x0
- ldr r0, [r3, #0x4]
- ldr r2, _020304BC ; =0x00000638
- add r4, r1, #0x0
- add r1, r0, r2
- lsl r0, r5, #0x2
- ldr r6, [r1, r0]
- sub r6, r6, #0x1
- str r6, [r1, r0]
- cmp r4, #0x0
- beq _020304B4
- ldr r0, [r3, #0x4]
- add r2, #0x2f
- add r0, r0, r2
- ldrb r1, [r0, r5]
- cmp r1, #0x0
- beq _02030422
- ldrb r2, [r4, #0x0]
- mov r1, #0x1
- tst r1, r2
- bne _020304B4
-_02030422:
- mov r1, #0x0
- strb r1, [r0, r5]
- bl FUN_0202FA28
- cmp r0, #0x1
- bne _02030478
- bl FUN_02033534
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- bl FUN_02031228
- add r6, r0, #0x0
- bl FUN_02033534
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- bl FUN_0202D858
- ldrb r1, [r4, #0x0]
- mov r0, #0x2
- tst r0, r1
- bne _02030468
- ldr r0, _020304B8 ; =0x021C59F4
- ldr r3, _020304C0 ; =0x0000065E
- ldr r1, [r0, #0x4]
- ldr r0, _020304C4 ; =0x0000047C
- add r2, r6, #0x0
- add r1, r1, r0
- mov r0, #0xc
- mul r0, r5
- add r0, r1, r0
- add r1, r4, #0x0
- bl FUN_0202D3A4
-_02030468:
- ldr r0, _020304B8 ; =0x021C59F4
- ldr r1, [r0, #0x4]
- ldr r0, _020304C8 ; =0x0000065F
- add r1, r1, r0
- ldrb r0, [r1, r5]
- add r0, r0, #0x1
- strb r0, [r1, r5]
- pop {r4-r6, pc}
-_02030478:
- add r0, r4, #0x0
- add r1, r5, #0x0
- bl FUN_020307E4
- ldrb r1, [r4, #0x0]
- mov r0, #0x2
- tst r0, r1
- bne _020304B4
- mov r0, #0xc
- add r6, r5, #0x0
- mul r6, r0
- ldr r0, _020304B8 ; =0x021C59F4
- ldr r1, [r0, #0x4]
- ldr r0, _020304CC ; =0x000004E8
- add r0, r1, r0
- add r0, r0, r6
- bl FUN_0202D498
- cmp r0, #0xb
- blt _020304B4
- ldr r0, _020304B8 ; =0x021C59F4
- ldr r3, _020304D0 ; =0x0000066E
- ldr r1, [r0, #0x4]
- ldr r0, _020304CC ; =0x000004E8
- mov r2, #0xb
- add r0, r1, r0
- add r0, r0, r6
- add r1, r4, #0x1
- bl FUN_0202D3A4
-_020304B4:
- pop {r4-r6, pc}
- nop
-_020304B8: .word 0x021C59F4
-_020304BC: .word 0x00000638
-_020304C0: .word 0x0000065E
-_020304C4: .word 0x0000047C
-_020304C8: .word 0x0000065F
-_020304CC: .word 0x000004E8
-_020304D0: .word 0x0000066E
-
- thumb_func_start FUN_020304D4
-FUN_020304D4: ; 0x020304D4
- push {r3, lr}
- cmp r0, #0x0
- beq _020304E4
- ldr r0, _020304EC ; =0x02105D58
- ldrb r1, [r0, #0x0]
- add r1, r1, #0x1
- strb r1, [r0, #0x0]
- pop {r3, pc}
-_020304E4:
- bl ErrorHandling
- pop {r3, pc}
- nop
-_020304EC: .word 0x02105D58
-
- thumb_func_start FUN_020304F0
-FUN_020304F0: ; 0x020304F0
- push {r3, lr}
- cmp r0, #0x0
- beq _02030500
- ldr r0, _02030508 ; =0x02105D58
- ldrb r1, [r0, #0x1]
- add r1, r1, #0x1
- strb r1, [r0, #0x1]
- pop {r3, pc}
-_02030500:
- bl ErrorHandling
- pop {r3, pc}
- nop
-_02030508: .word 0x02105D58
-
- thumb_func_start FUN_0203050C
-FUN_0203050C: ; 0x0203050C
- push {r4, lr}
- ldr r0, _02030660 ; =0x021C59F4
- ldr r0, [r0, #0x4]
- cmp r0, #0x0
- beq _0203051E
- bl FUN_02033534
- cmp r0, #0x13
- blt _02030520
-_0203051E:
- b _0203065E
-_02030520:
- bl FUN_02033534
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- bl FUN_02031228
- add r4, r0, #0x0
- bl FUN_02033534
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- bl FUN_0202D858
- bl FUN_02031280
- cmp r0, #0x0
- beq _02030594
- ldr r0, _02030664 ; =0x02105D58
- ldrb r1, [r0, #0x0]
- cmp r1, #0x2
- beq _02030550
- ldrb r0, [r0, #0x0]
- cmp r0, #0x0
- bne _02030594
-_02030550:
- ldr r0, _02030664 ; =0x02105D58
- ldrb r1, [r0, #0x0]
- add r1, r1, #0x1
- strb r1, [r0, #0x0]
- mov r0, #0x1
- bl FUN_020304D4
- ldr r0, _02030660 ; =0x021C59F4
- ldr r1, _02030668 ; =0x0000067F
- ldr r3, [r0, #0x4]
- mov r0, #0x0
- ldrb r2, [r3, r1]
- mov r1, #0x26
- mul r1, r2
- lsl r2, r4, #0x10
- add r1, r3, r1
- lsr r2, r2, #0x10
- bl FUN_020303F4
- ldr r2, _02030660 ; =0x021C59F4
- ldr r1, _02030668 ; =0x0000067F
- ldr r4, [r2, #0x4]
- mov r0, #0x1
- ldrb r3, [r4, r1]
- sub r0, r0, r3
- strb r0, [r4, r1]
- add r0, r1, #0x0
- ldr r2, [r2, #0x4]
- sub r0, #0x4b
- ldr r0, [r2, r0]
- sub r1, #0x4b
- add r0, r0, #0x1
- str r0, [r2, r1]
- pop {r4, pc}
-_02030594:
- bl FUN_0202CBD4
- cmp r0, #0x4
- bne _0203065E
- bl FUN_02031190
- bl FUN_02030E7C
- cmp r0, #0x0
- bne _020305AE
- bl FUN_02031190
- pop {r4, pc}
-_020305AE:
- ldr r0, _02030664 ; =0x02105D58
- ldrb r1, [r0, #0x0]
- cmp r1, #0x2
- beq _020305BC
- ldrb r0, [r0, #0x0]
- cmp r0, #0x0
- bne _0203065E
-_020305BC:
- bl FUN_02031190
- cmp r0, #0x0
- beq _02030612
- ldr r0, _02030664 ; =0x02105D58
- ldr r3, _0203066C ; =FUN_020304D4
- ldrb r1, [r0, #0x0]
- add r1, r1, #0x1
- strb r1, [r0, #0x0]
- ldr r0, _02030660 ; =0x021C59F4
- ldr r2, [r0, #0x4]
- ldr r0, _02030668 ; =0x0000067F
- ldrb r1, [r2, r0]
- mov r0, #0x26
- mul r0, r1
- lsl r1, r4, #0x10
- add r0, r2, r0
- lsr r1, r1, #0x10
- mov r2, #0xe
- bl FUN_0202D0D0
- cmp r0, #0x0
- bne _020305F4
- ldr r0, _02030664 ; =0x02105D58
- ldrb r1, [r0, #0x0]
- sub r1, r1, #0x1
- strb r1, [r0, #0x0]
- pop {r4, pc}
-_020305F4:
- ldr r2, _02030660 ; =0x021C59F4
- ldr r1, _02030668 ; =0x0000067F
- ldr r4, [r2, #0x4]
- mov r0, #0x1
- ldrb r3, [r4, r1]
- sub r0, r0, r3
- strb r0, [r4, r1]
- add r0, r1, #0x0
- ldr r2, [r2, #0x4]
- sub r0, #0x4b
- ldr r0, [r2, r0]
- sub r1, #0x4b
- add r0, r0, #0x1
- str r0, [r2, r1]
- pop {r4, pc}
-_02030612:
- bl FUN_0202CB8C
- ldr r1, _02030670 ; =0x0000FFFE
- tst r0, r1
- beq _0203065E
- ldr r0, _02030664 ; =0x02105D58
- ldrb r1, [r0, #0x0]
- add r1, r1, #0x1
- strb r1, [r0, #0x0]
- mov r0, #0x1
- bl FUN_020304D4
- ldr r0, _02030660 ; =0x021C59F4
- ldr r1, _02030668 ; =0x0000067F
- ldr r3, [r0, #0x4]
- mov r0, #0x0
- ldrb r2, [r3, r1]
- mov r1, #0x26
- mul r1, r2
- lsl r2, r4, #0x10
- add r1, r3, r1
- lsr r2, r2, #0x10
- bl FUN_020303F4
- ldr r2, _02030660 ; =0x021C59F4
- ldr r1, _02030668 ; =0x0000067F
- ldr r4, [r2, #0x4]
- mov r0, #0x1
- ldrb r3, [r4, r1]
- sub r0, r0, r3
- strb r0, [r4, r1]
- add r0, r1, #0x0
- ldr r2, [r2, #0x4]
- sub r0, #0x4b
- ldr r0, [r2, r0]
- sub r1, #0x4b
- add r0, r0, #0x1
- str r0, [r2, r1]
-_0203065E:
- pop {r4, pc}
- .balign 4
-_02030660: .word 0x021C59F4
-_02030664: .word 0x02105D58
-_02030668: .word 0x0000067F
-_0203066C: .word FUN_020304D4
-_02030670: .word 0x0000FFFE
-
- thumb_func_start FUN_02030674
-FUN_02030674: ; 0x02030674
- push {r3-r7, lr}
- ldr r7, _02030798 ; =0x021C59F4
- mov r6, #0x0
- ldr r5, [r7, #0x4]
- ldr r2, _0203079C ; =0x0000062C
- add r4, r6, #0x0
- ldrb r0, [r5, r2]
- cmp r0, #0x0
- beq _02030690
- sub r1, r2, #0x4
- ldrh r1, [r5, r1]
- mov r3, #0xf0
- tst r3, r1
- bne _02030692
-_02030690:
- b _02030794
-_02030692:
- cmp r0, #0x2
- bne _020306D0
- mov r0, #0x20
- tst r0, r1
- beq _020306A4
- mov r0, #0x10
- orr r0, r6
- lsl r0, r0, #0x10
- lsr r4, r0, #0x10
-_020306A4:
- mov r0, #0x10
- tst r0, r1
- beq _020306B2
- mov r0, #0x20
- orr r0, r4
- lsl r0, r0, #0x10
- lsr r4, r0, #0x10
-_020306B2:
- mov r0, #0x40
- tst r0, r1
- beq _020306C0
- mov r0, #0x80
- orr r0, r4
- lsl r0, r0, #0x10
- lsr r4, r0, #0x10
-_020306C0:
- mov r0, #0x80
- tst r0, r1
- beq _0203077E
- mov r0, #0x40
- orr r0, r4
- lsl r0, r0, #0x10
- lsr r4, r0, #0x10
- b _0203077E
-_020306D0:
- add r0, r2, #0x2
- ldrh r0, [r5, r0]
- cmp r0, #0x0
- beq _020306F2
- add r4, r0, #0x0
- add r0, r2, #0x1
- ldrsb r0, [r5, r0]
- sub r1, r0, #0x1
- add r0, r2, #0x1
- strb r1, [r5, r0]
- ldr r1, [r7, #0x4]
- ldrsb r0, [r1, r0]
- cmp r0, #0x0
- bge _0203077E
- add r0, r2, #0x2
- strh r6, [r1, r0]
- b _0203077E
-_020306F2:
- add r0, r2, #0x0
- sub r0, #0x34
- add r6, r5, r0
- sub r2, #0x34
- ldr r0, [r6, #0x8]
- ldr r1, [r6, #0xc]
- ldr r2, [r5, r2]
- ldr r3, [r6, #0x4]
- blx _ll_mul
- add r3, r0, #0x0
- add r2, r1, #0x0
- ldr r0, [r6, #0x10]
- ldr r1, [r6, #0x14]
- add r0, r0, r3
- adc r1, r2
- ldr r2, _020307A0 ; =0x000005F8
- str r0, [r5, r2]
- mov r2, #0x0
- str r1, [r6, #0x4]
- lsr r0, r1, #0x1e
- lsl r1, r2, #0x2
- orr r1, r0
- cmp r1, #0x3
- bhi _02030746
- add r0, r1, r1
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_02030730: ; jump table (using 16-bit offset)
- .short _02030738 - _02030730 - 2; case 0
- .short _0203073C - _02030730 - 2; case 1
- .short _02030740 - _02030730 - 2; case 2
- .short _02030744 - _02030730 - 2; case 3
-_02030738:
- mov r4, #0x20
- b _02030746
-_0203073C:
- mov r4, #0x10
- b _02030746
-_02030740:
- mov r4, #0x40
- b _02030746
-_02030744:
- mov r4, #0x80
-_02030746:
- ldr r0, _02030798 ; =0x021C59F4
- ldr r5, [r0, #0x4]
- ldr r0, _020307A0 ; =0x000005F8
- add r6, r5, r0
- ldr r0, [r6, #0x8]
- ldr r1, [r6, #0xc]
- ldr r2, [r6, #0x0]
- ldr r3, [r6, #0x4]
- blx _ll_mul
- ldr r3, [r6, #0x10]
- ldr r2, [r6, #0x14]
- add r0, r3, r0
- adc r2, r1
- ldr r1, _020307A0 ; =0x000005F8
- mov r3, #0x0
- str r0, [r5, r1]
- str r2, [r6, #0x4]
- lsr r0, r2, #0x1c
- lsl r2, r3, #0x4
- orr r2, r0
- add r0, r1, #0x0
- add r0, #0x35
- strb r2, [r5, r0]
- ldr r0, _02030798 ; =0x021C59F4
- add r1, #0x36
- ldr r0, [r0, #0x4]
- strh r4, [r0, r1]
-_0203077E:
- ldr r2, _02030798 ; =0x021C59F4
- ldr r1, _020307A4 ; =0x00000628
- ldr r5, [r2, #0x4]
- mov r0, #0xf0
- ldrh r3, [r5, r1]
- bic r3, r0
- strh r3, [r5, r1]
- ldr r2, [r2, #0x4]
- ldrh r0, [r2, r1]
- add r0, r0, r4
- strh r0, [r2, r1]
-_02030794:
- pop {r3-r7, pc}
- nop
-_02030798: .word 0x021C59F4
-_0203079C: .word 0x0000062C
-_020307A0: .word 0x000005F8
-_020307A4: .word 0x00000628
-
- thumb_func_start FUN_020307A8
-FUN_020307A8: ; 0x020307A8
- ldr r0, _020307B4 ; =0x021C59F4
- mov r2, #0x1
- ldr r1, [r0, #0x4]
- ldr r0, _020307B8 ; =0x0000062C
- strb r2, [r1, r0]
- bx lr
- .balign 4
-_020307B4: .word 0x021C59F4
-_020307B8: .word 0x0000062C
-
- thumb_func_start FUN_020307BC
-FUN_020307BC: ; 0x020307BC
- ldr r0, _020307C8 ; =0x021C59F4
- mov r2, #0x2
- ldr r1, [r0, #0x4]
- ldr r0, _020307CC ; =0x0000062C
- strb r2, [r1, r0]
- bx lr
- .balign 4
-_020307C8: .word 0x021C59F4
-_020307CC: .word 0x0000062C
-
- thumb_func_start FUN_020307D0
-FUN_020307D0: ; 0x020307D0
- ldr r0, _020307DC ; =0x021C59F4
- mov r2, #0x0
- ldr r1, [r0, #0x4]
- ldr r0, _020307E0 ; =0x0000062C
- strb r2, [r1, r0]
- bx lr
- .balign 4
-_020307DC: .word 0x021C59F4
-_020307E0: .word 0x0000062C
-
- thumb_func_start FUN_020307E4
-FUN_020307E4: ; 0x020307E4
- push {r4-r7}
- ldr r4, _02030868 ; =0x021C59F4
- lsl r6, r1, #0x1
- ldr r2, [r4, #0x4]
- mov r5, #0x0
- add r3, r2, r6
- mov r2, #0x61
- lsl r2, r2, #0x4
- strh r5, [r3, r2]
- ldrb r5, [r0, #0x0]
- mov r3, #0x10
- add r7, r5, #0x0
- and r7, r3
- cmp r7, #0x10
- bne _02030860
- mov r7, #0xc
- and r5, r7
- lsl r5, r5, #0x18
- lsr r5, r5, #0x18
- bne _0203081A
- ldr r3, [r4, #0x4]
- add r4, r3, r2
- ldrh r3, [r4, r6]
- mov r2, #0x40
- orr r2, r3
- strh r2, [r4, r6]
- b _0203084C
-_0203081A:
- cmp r5, #0x4
- bne _0203082C
- ldr r3, [r4, #0x4]
- add r4, r3, r2
- ldrh r3, [r4, r6]
- mov r2, #0x80
- orr r2, r3
- strh r2, [r4, r6]
- b _0203084C
-_0203082C:
- cmp r5, #0x8
- bne _0203083E
- ldr r3, [r4, #0x4]
- add r4, r3, r2
- ldrh r3, [r4, r6]
- mov r2, #0x20
- orr r2, r3
- strh r2, [r4, r6]
- b _0203084C
-_0203083E:
- cmp r5, #0xc
- bne _0203084C
- ldr r4, [r4, #0x4]
- add r4, r4, r2
- ldrh r2, [r4, r6]
- orr r2, r3
- strh r2, [r4, r6]
-_0203084C:
- ldrb r0, [r0, #0x0]
- asr r2, r0, #0x5
- mov r0, #0x7
- and r2, r0
- ldr r0, _02030868 ; =0x021C59F4
- ldr r0, [r0, #0x4]
- add r1, r0, r1
- mov r0, #0x62
- lsl r0, r0, #0x4
- strb r2, [r1, r0]
-_02030860:
- mov r0, #0x1
- pop {r4-r7}
- bx lr
- nop
-_02030868: .word 0x021C59F4
-
- thumb_func_start FUN_0203086C
-FUN_0203086C: ; 0x0203086C
- bx lr
- .balign 4
-
- thumb_func_start FUN_02030870
-FUN_02030870: ; 0x02030870
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, _0203091C ; =0x021C59F4
- ldr r1, [r0, #0x4]
- ldr r0, _02030920 ; =0x0000062A
- ldrb r0, [r1, r0]
- cmp r0, #0x0
- beq _02030884
- mov r0, #0x0
- pop {r4, pc}
-_02030884:
- bl FUN_02030FE0
- cmp r0, #0x0
- bne _02030890
- mov r0, #0x0
- pop {r4, pc}
-_02030890:
- ldr r0, _0203091C ; =0x021C59F4
- ldr r2, [r0, #0x4]
- ldr r0, _02030924 ; =0x00000681
- ldrb r1, [r2, r0]
- cmp r1, #0x0
- beq _020308A0
- sub r1, r1, #0x1
- strb r1, [r2, r0]
-_020308A0:
- ldr r1, _0203091C ; =0x021C59F4
- ldr r0, _02030928 ; =0x00000628
- ldr r2, [r1, #0x4]
- mov r3, #0x40
- ldrh r2, [r2, r0]
- tst r3, r2
- beq _020308C0
- ldrb r3, [r4, #0x0]
- mov r2, #0x10
- add r0, #0x59
- orr r2, r3
- strb r2, [r4, #0x0]
- ldr r1, [r1, #0x4]
- mov r2, #0x8
- strb r2, [r1, r0]
- b _02030906
-_020308C0:
- mov r3, #0x80
- tst r3, r2
- beq _020308D8
- ldrb r3, [r4, #0x0]
- mov r2, #0x14
- add r0, #0x59
- orr r2, r3
- strb r2, [r4, #0x0]
- ldr r1, [r1, #0x4]
- mov r2, #0x8
- strb r2, [r1, r0]
- b _02030906
-_020308D8:
- mov r3, #0x20
- tst r3, r2
- beq _020308F0
- ldrb r3, [r4, #0x0]
- mov r2, #0x18
- add r0, #0x59
- orr r2, r3
- strb r2, [r4, #0x0]
- ldr r1, [r1, #0x4]
- mov r2, #0x8
- strb r2, [r1, r0]
- b _02030906
-_020308F0:
- mov r3, #0x10
- tst r2, r3
- beq _02030906
- ldrb r3, [r4, #0x0]
- mov r2, #0x1c
- add r0, #0x59
- orr r2, r3
- strb r2, [r4, #0x0]
- ldr r1, [r1, #0x4]
- mov r2, #0x8
- strb r2, [r1, r0]
-_02030906:
- ldr r0, _0203091C ; =0x021C59F4
- ldrb r2, [r4, #0x0]
- ldr r1, [r0, #0x4]
- ldr r0, _0203092C ; =0x0000062B
- ldrb r0, [r1, r0]
- lsl r0, r0, #0x5
- orr r0, r2
- strb r0, [r4, #0x0]
- mov r0, #0x0
- pop {r4, pc}
- nop
-_0203091C: .word 0x021C59F4
-_02030920: .word 0x0000062A
-_02030924: .word 0x00000681
-_02030928: .word 0x00000628
-_0203092C: .word 0x0000062B
-
- thumb_func_start FUN_02030930
-FUN_02030930: ; 0x02030930
- push {r3-r5, lr}
- sub sp, #0x8
- add r4, r0, #0x0
- bl FUN_02033534
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- bl FUN_02031228
- add r5, r0, #0x0
- bl FUN_02033534
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- bl FUN_0202D858
- ldr r0, _020309F0 ; =0x021C59F4
- ldr r1, [r0, #0x4]
- ldr r0, _020309F4 ; =0x00000684
- ldrb r0, [r1, r0]
- cmp r0, #0x0
- bne _02030960
- mov r0, #0x0
- b _02030962
-_02030960:
- mov r0, #0x1
-_02030962:
- strb r0, [r4, #0x0]
- bl FUN_0202FA28
- cmp r0, #0x0
- bne _02030972
- add r0, r4, #0x0
- bl FUN_02030870
-_02030972:
- ldr r1, _020309F0 ; =0x021C59F4
- ldr r0, _020309F4 ; =0x00000684
- ldr r2, [r1, #0x4]
- mov r3, #0x0
- strb r3, [r2, r0]
- ldr r1, [r1, #0x4]
- ldr r0, _020309F8 ; =0x0000054C
- add r0, r1, r0
- bl FUN_0202D4E4
- cmp r0, #0x0
- beq _0203099E
- ldrb r1, [r4, #0x0]
- mov r0, #0x2
- orr r0, r1
- strb r0, [r4, #0x0]
- ldrb r0, [r4, #0x0]
- cmp r0, #0x2
- bne _020309E8
- add sp, #0x8
- mov r0, #0x0
- pop {r3-r5, pc}
-_0203099E:
- sub r0, r5, #0x1
- str r0, [sp, #0x4]
- add r0, r4, #0x1
- str r0, [sp, #0x0]
- ldr r0, _020309F0 ; =0x021C59F4
- mov r2, #0x1
- ldr r1, [r0, #0x4]
- ldr r0, _020309F8 ; =0x0000054C
- add r0, r1, r0
- add r1, sp, #0x0
- bl FUN_0202D760
- cmp r0, #0x0
- bne _020309C4
- ldr r0, _020309F0 ; =0x021C59F4
- mov r2, #0x1
- ldr r1, [r0, #0x4]
- ldr r0, _020309F4 ; =0x00000684
- strb r2, [r1, r0]
-_020309C4:
- bl FUN_0202FA28
- cmp r0, #0x1
- bne _020309E8
- ldr r2, _020309F0 ; =0x021C59F4
- ldr r1, _020309FC ; =0x0000065E
- ldr r3, [r2, #0x4]
- ldrb r0, [r3, r1]
- add r0, r0, #0x1
- strb r0, [r3, r1]
- ldr r2, [r2, #0x4]
- ldrb r0, [r4, #0x0]
- ldrb r1, [r2, r1]
- lsl r2, r1, #0x4
- mov r1, #0xf0
- and r1, r2
- orr r0, r1
- strb r0, [r4, #0x0]
-_020309E8:
- mov r0, #0x1
- add sp, #0x8
- pop {r3-r5, pc}
- nop
-_020309F0: .word 0x021C59F4
-_020309F4: .word 0x00000684
-_020309F8: .word 0x0000054C
-_020309FC: .word 0x0000065E
-
- thumb_func_start FUN_02030A00
-FUN_02030A00: ; 0x02030A00
- push {r4, lr}
- sub sp, #0x8
- add r4, r0, #0x0
- mov r0, #0xb
- strb r0, [r4, #0x0]
- ldr r0, _02030A6C ; =0x021C59F4
- ldr r1, [r0, #0x4]
- ldr r0, _02030A70 ; =0x00000685
- ldrb r0, [r1, r0]
- cmp r0, #0x0
- bne _02030A1A
- mov r0, #0x0
- b _02030A1C
-_02030A1A:
- mov r0, #0x1
-_02030A1C:
- strb r0, [r4, #0x1]
- bl FUN_0202CB8C
- asr r1, r0, #0x8
- strb r1, [r4, #0x2]
- strb r0, [r4, #0x3]
- mov r0, #0xbb
- str r0, [sp, #0x4]
- add r0, r4, #0x5
- str r0, [sp, #0x0]
- ldr r0, _02030A6C ; =0x021C59F4
- mov r2, #0x0
- ldr r1, [r0, #0x4]
- ldr r0, _02030A74 ; =0x0000056C
- add r0, r1, r0
- add r1, sp, #0x0
- bl FUN_0202D760
- cmp r0, #0x0
- beq _02030A5A
- ldr r0, _02030A6C ; =0x021C59F4
- mov r2, #0x0
- ldr r1, [r0, #0x4]
- ldr r0, _02030A70 ; =0x00000685
- strb r2, [r1, r0]
- ldr r1, [sp, #0x4]
- mov r0, #0xbb
- sub r0, r0, r1
- add sp, #0x8
- strb r0, [r4, #0x4]
- pop {r4, pc}
-_02030A5A:
- ldr r0, _02030A6C ; =0x021C59F4
- mov r2, #0x1
- ldr r1, [r0, #0x4]
- ldr r0, _02030A70 ; =0x00000685
- strb r2, [r1, r0]
- mov r0, #0xbb
- strb r0, [r4, #0x4]
- add sp, #0x8
- pop {r4, pc}
- .balign 4
-_02030A6C: .word 0x021C59F4
-_02030A70: .word 0x00000685
-_02030A74: .word 0x0000056C
-
- thumb_func_start FUN_02030A78
-FUN_02030A78: ; 0x02030A78
- push {r4-r6, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- add r4, r1, #0x0
- add r6, r2, #0x0
- bl FUN_02031190
- bl FUN_02030E7C
- cmp r0, #0x0
- bne _02030A9C
- bl FUN_02031280
- cmp r0, #0x0
- bne _02030A9C
- add sp, #0x8
- mov r0, #0x0
- pop {r4-r6, pc}
-_02030A9C:
- mov r0, #0x1
- str r0, [sp, #0x0]
- mov r0, #0x0
- str r0, [sp, #0x4]
- ldr r0, _02030AD4 ; =0x021C59F4
- add r2, r4, #0x0
- ldr r1, [r0, #0x4]
- ldr r0, _02030AD8 ; =0x0000054C
- add r3, r6, #0x0
- add r0, r1, r0
- add r1, r5, #0x0
- bl FUN_0202D684
- cmp r0, #0x0
- beq _02030AC0
- add sp, #0x8
- mov r0, #0x1
- pop {r4-r6, pc}
-_02030AC0:
- bl FUN_02033534
- cmp r0, #0xa
- bne _02030ACC
- bl FUN_02031454
-_02030ACC:
- mov r0, #0x0
- add sp, #0x8
- pop {r4-r6, pc}
- nop
-_02030AD4: .word 0x021C59F4
-_02030AD8: .word 0x0000054C
-
- thumb_func_start FUN_02030ADC
-FUN_02030ADC: ; 0x02030ADC
- push {r4-r6, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- add r4, r1, #0x0
- add r6, r2, #0x0
- bl FUN_02031190
- bl FUN_02030E7C
- cmp r0, #0x0
- bne _02030B00
- bl FUN_02031280
- cmp r0, #0x0
- bne _02030B00
- add sp, #0x8
- mov r0, #0x0
- pop {r4-r6, pc}
-_02030B00:
- mov r0, #0x1
- str r0, [sp, #0x0]
- str r0, [sp, #0x4]
- ldr r0, _02030B34 ; =0x021C59F4
- add r2, r4, #0x0
- ldr r1, [r0, #0x4]
- ldr r0, _02030B38 ; =0x0000054C
- add r3, r6, #0x0
- add r0, r1, r0
- add r1, r5, #0x0
- bl FUN_0202D684
- cmp r0, #0x0
- beq _02030B22
- add sp, #0x8
- mov r0, #0x1
- pop {r4-r6, pc}
-_02030B22:
- bl FUN_02033534
- cmp r0, #0xa
- bne _02030B2E
- bl FUN_02031454
-_02030B2E:
- mov r0, #0x0
- add sp, #0x8
- pop {r4-r6, pc}
- .balign 4
-_02030B34: .word 0x021C59F4
-_02030B38: .word 0x0000054C
-
- thumb_func_start FUN_02030B3C
-FUN_02030B3C: ; 0x02030B3C
- push {r4-r6, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- add r4, r1, #0x0
- add r6, r2, #0x0
- bl FUN_02031190
- cmp r0, #0x0
- beq _02030B58
- bl ErrorHandling
- add sp, #0x8
- mov r0, #0x0
- pop {r4-r6, pc}
-_02030B58:
- mov r0, #0x0
- bl FUN_02030E7C
- cmp r0, #0x0
- bne _02030B70
- bl FUN_02031280
- cmp r0, #0x0
- bne _02030B70
- add sp, #0x8
- mov r0, #0x0
- pop {r4-r6, pc}
-_02030B70:
- bl FUN_0202FA28
- cmp r0, #0x1
- bne _02030B86
- add r0, r5, #0x0
- add r1, r4, #0x0
- add r2, r6, #0x0
- bl FUN_02030A78
- add sp, #0x8
- pop {r4-r6, pc}
-_02030B86:
- mov r0, #0x1
- str r0, [sp, #0x0]
- mov r0, #0x0
- str r0, [sp, #0x4]
- ldr r0, _02030BBC ; =0x021C59F4
- add r2, r4, #0x0
- ldr r1, [r0, #0x4]
- ldr r0, _02030BC0 ; =0x0000056C
- add r3, r6, #0x0
- add r0, r1, r0
- add r1, r5, #0x0
- bl FUN_0202D684
- cmp r0, #0x0
- beq _02030BAA
- add sp, #0x8
- mov r0, #0x1
- pop {r4-r6, pc}
-_02030BAA:
- bl FUN_02033534
- cmp r0, #0xa
- bne _02030BB6
- bl FUN_02031454
-_02030BB6:
- mov r0, #0x0
- add sp, #0x8
- pop {r4-r6, pc}
- .balign 4
-_02030BBC: .word 0x021C59F4
-_02030BC0: .word 0x0000056C
-
- thumb_func_start FUN_02030BC4
-FUN_02030BC4: ; 0x02030BC4
- push {r4-r6, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- add r4, r1, #0x0
- add r6, r2, #0x0
- bl FUN_02031190
- cmp r0, #0x0
- beq _02030BE0
- bl FUN_02031454
- add sp, #0x8
- mov r0, #0x0
- pop {r4-r6, pc}
-_02030BE0:
- mov r0, #0x0
- bl FUN_02030E7C
- cmp r0, #0x0
- bne _02030BF8
- bl FUN_02031280
- cmp r0, #0x0
- bne _02030BF8
- add sp, #0x8
- mov r0, #0x0
- pop {r4-r6, pc}
-_02030BF8:
- bl FUN_0202FA28
- cmp r0, #0x1
- bne _02030C0E
- add r0, r5, #0x0
- add r1, r4, #0x0
- add r2, r6, #0x0
- bl FUN_02030ADC
- add sp, #0x8
- pop {r4-r6, pc}
-_02030C0E:
- mov r0, #0x1
- str r0, [sp, #0x0]
- str r0, [sp, #0x4]
- ldr r0, _02030C44 ; =0x021C59F4
- add r2, r4, #0x0
- ldr r1, [r0, #0x4]
- ldr r0, _02030C48 ; =0x0000056C
- add r3, r6, #0x0
- add r0, r1, r0
- add r1, r5, #0x0
- bl FUN_0202D684
- cmp r0, #0x0
- beq _02030C30
- add sp, #0x8
- mov r0, #0x1
- pop {r4-r6, pc}
-_02030C30:
- bl FUN_02033534
- cmp r0, #0xa
- bne _02030C3C
- bl FUN_02031454
-_02030C3C:
- mov r0, #0x0
- add sp, #0x8
- pop {r4-r6, pc}
- nop
-_02030C44: .word 0x021C59F4
-_02030C48: .word 0x0000056C
-
- thumb_func_start FUN_02030C4C
-FUN_02030C4C: ; 0x02030C4C
- ldr r3, _02030C54 ; =FUN_02030BC4
- mov r2, #0x0
- bx r3
- nop
-_02030C54: .word FUN_02030BC4
-
- thumb_func_start FUN_02030C58
-FUN_02030C58: ; 0x02030C58
- ldr r0, _02030C64 ; =0x021C59F4
- ldr r3, _02030C68 ; =FUN_0202D498
- ldr r1, [r0, #0x4]
- ldr r0, _02030C6C ; =0x00000464
- add r0, r1, r0
- bx r3
- .balign 4
-_02030C64: .word 0x021C59F4
-_02030C68: .word FUN_0202D498
-_02030C6C: .word 0x00000464
-
- thumb_func_start FUN_02030C70
-FUN_02030C70: ; 0x02030C70
- push {r4, lr}
- ldr r4, [sp, #0x8]
- bl FUN_0202D934
- mov r0, #0xee
- strb r0, [r4, #0xa]
- ldr r0, _02030C88 ; =0x0000FFFF
- strh r0, [r4, #0x8]
- mov r0, #0x0
- str r0, [r4, #0x4]
- str r0, [r4, #0x0]
- pop {r4, pc}
- .balign 4
-_02030C88: .word 0x0000FFFF
-
- thumb_func_start FUN_02030C8C
-FUN_02030C8C: ; 0x02030C8C
- push {r4-r7, lr}
- sub sp, #0x14
- add r6, r0, #0x0
- str r1, [sp, #0x4]
- str r2, [sp, #0x8]
- ldr r5, [sp, #0x28]
- bl FUN_0202D478
- cmp r0, #0x0
- beq _02030D94
-_02030CA0:
- ldrb r7, [r5, #0xa]
- cmp r7, #0xee
- bne _02030CB2
- add r0, r6, #0x0
- bl FUN_0202D41C
- add r7, r0, #0x0
- cmp r7, #0xee
- beq _02030D8A
-_02030CB2:
- mov r0, #0x4
- ldrsh r0, [r6, r0]
- strb r7, [r5, #0xa]
- ldrh r4, [r5, #0x8]
- str r0, [sp, #0x10]
- ldr r0, _02030D98 ; =0x0000FFFF
- cmp r4, r0
- bne _02030D06
- add r0, r7, #0x0
- bl FUN_0202D9A0
- add r4, r0, #0x0
- ldr r0, _02030D9C ; =0x021C59F4
- ldr r1, [r0, #0x4]
- ldr r0, _02030DA0 ; =0x00000689
- ldrb r0, [r1, r0]
- cmp r0, #0x0
- bne _02030D94
- ldr r0, _02030D98 ; =0x0000FFFF
- cmp r4, r0
- bne _02030D04
- add r0, r6, #0x0
- bl FUN_0202D478
- cmp r0, #0x1
- bge _02030CEE
- ldr r0, [sp, #0x10]
- add sp, #0x14
- strh r0, [r6, #0x4]
- pop {r4-r7, pc}
-_02030CEE:
- add r0, r6, #0x0
- bl FUN_0202D41C
- lsl r4, r0, #0x8
- add r0, r6, #0x0
- bl FUN_0202D41C
- add r4, r4, r0
- mov r0, #0x4
- ldrsh r0, [r6, r0]
- str r0, [sp, #0x10]
-_02030D04:
- strh r4, [r5, #0x8]
-_02030D06:
- add r0, r7, #0x0
- bl FUN_0202DA04
- cmp r0, #0x0
- beq _02030D5E
- ldr r0, [r5, #0x4]
- cmp r0, #0x0
- bne _02030D22
- ldrh r2, [r5, #0x8]
- ldr r1, [sp, #0x4]
- add r0, r7, #0x0
- bl FUN_0202DA40
- str r0, [r5, #0x4]
-_02030D22:
- ldr r2, [r5, #0x0]
- ldr r1, [sp, #0x8]
- add r0, r6, #0x0
- sub r2, r4, r2
- bl FUN_0202D400
- ldr r2, [r5, #0x4]
- str r0, [sp, #0xc]
- cmp r2, #0x0
- beq _02030D42
- ldr r1, [r5, #0x0]
- ldr r0, [sp, #0x8]
- add r1, r2, r1
- ldr r2, [sp, #0xc]
- blx MI_CpuCopy8
-_02030D42:
- ldr r1, [r5, #0x0]
- ldr r0, [sp, #0xc]
- add r0, r1, r0
- str r0, [r5, #0x0]
- cmp r0, r4
- blt _02030D8A
- str r5, [sp, #0x0]
- ldr r0, [sp, #0x4]
- ldr r3, [r5, #0x4]
- add r1, r7, #0x0
- add r2, r4, #0x0
- bl FUN_02030C70
- b _02030D8A
-_02030D5E:
- add r0, r6, #0x0
- bl FUN_0202D478
- cmp r0, r4
- blt _02030D82
- ldr r1, [sp, #0x8]
- add r0, r6, #0x0
- add r2, r4, #0x0
- bl FUN_0202D400
- ldr r0, [sp, #0x4]
- ldr r3, [sp, #0x8]
- add r1, r7, #0x0
- add r2, r4, #0x0
- str r5, [sp, #0x0]
- bl FUN_02030C70
- b _02030D8A
-_02030D82:
- ldr r0, [sp, #0x10]
- add sp, #0x14
- strh r0, [r6, #0x4]
- pop {r4-r7, pc}
-_02030D8A:
- add r0, r6, #0x0
- bl FUN_0202D478
- cmp r0, #0x0
- bne _02030CA0
-_02030D94:
- add sp, #0x14
- pop {r4-r7, pc}
- .balign 4
-_02030D98: .word 0x0000FFFF
-_02030D9C: .word 0x021C59F4
-_02030DA0: .word 0x00000689
-
- thumb_func_start FUN_02030DA4
-FUN_02030DA4: ; 0x02030DA4
- push {r3, lr}
- ldr r0, _02030DF0 ; =0x021C59F4
- ldr r1, [r0, #0x4]
- cmp r1, #0x0
- beq _02030DEE
- ldr r0, _02030DF4 ; =0x0000068B
- ldrb r0, [r1, r0]
- cmp r0, #0x0
- bne _02030DEE
- mov r0, #0x47
- lsl r0, r0, #0x4
- add r0, r1, r0
- bl FUN_0202D4BC
- ldr r0, _02030DF0 ; =0x021C59F4
- ldr r1, [r0, #0x4]
- mov r0, #0x47
- lsl r0, r0, #0x4
- add r0, r1, r0
- bl FUN_0202D478
- cmp r0, #0x0
- ble _02030DEE
- ldr r0, _02030DF0 ; =0x021C59F4
- mov r2, #0x47
- ldr r3, [r0, #0x4]
- ldr r0, _02030DF8 ; =0x000005EC
- lsl r2, r2, #0x4
- add r0, r3, r0
- str r0, [sp, #0x0]
- add r0, r3, r2
- sub r2, #0x10
- ldr r2, [r3, r2]
- mov r1, #0x0
- mov r3, #0x1
- bl FUN_02030C8C
-_02030DEE:
- pop {r3, pc}
- .balign 4
-_02030DF0: .word 0x021C59F4
-_02030DF4: .word 0x0000068B
-_02030DF8: .word 0x000005EC
-
- thumb_func_start FUN_02030DFC
-FUN_02030DFC: ; 0x02030DFC
- push {r3-r7, lr}
- ldr r0, _02030E6C ; =0x021C59F4
- ldr r1, [r0, #0x4]
- cmp r1, #0x0
- beq _02030E68
- ldr r0, _02030E70 ; =0x0000068B
- ldrb r0, [r1, r0]
- cmp r0, #0x0
- bne _02030E68
- bl FUN_02033534
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- bl FUN_0202D858
- add r7, r0, #0x1
- mov r4, #0x0
- cmp r7, #0x0
- ble _02030E68
- ldr r6, _02030E6C ; =0x021C59F4
- add r5, r4, #0x0
-_02030E26:
- ldr r1, [r6, #0x4]
- ldr r0, _02030E74 ; =0x000004E8
- add r0, r1, r0
- add r0, r0, r5
- bl FUN_0202D4BC
- ldr r1, [r6, #0x4]
- ldr r0, _02030E74 ; =0x000004E8
- add r0, r1, r0
- add r0, r0, r5
- bl FUN_0202D478
- cmp r0, #0x0
- ble _02030E60
- ldr r3, [r6, #0x4]
- ldr r0, _02030E78 ; =0x0000058C
- mov r2, #0x46
- add r0, r3, r0
- add r0, r0, r5
- str r0, [sp, #0x0]
- ldr r0, _02030E74 ; =0x000004E8
- lsl r2, r2, #0x4
- add r0, r3, r0
- ldr r2, [r3, r2]
- add r0, r0, r5
- add r1, r4, #0x0
- mov r3, #0x0
- bl FUN_02030C8C
-_02030E60:
- add r4, r4, #0x1
- add r5, #0xc
- cmp r4, r7
- blt _02030E26
-_02030E68:
- pop {r3-r7, pc}
- nop
-_02030E6C: .word 0x021C59F4
-_02030E70: .word 0x0000068B
-_02030E74: .word 0x000004E8
-_02030E78: .word 0x0000058C
-
- thumb_func_start FUN_02030E7C
-FUN_02030E7C: ; 0x02030E7C
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, _02030F14 ; =0x021C59F4
- ldr r0, [r0, #0x4]
- cmp r0, #0x0
- bne _02030E8C
- mov r0, #0x0
- pop {r4, pc}
-_02030E8C:
- bl FUN_02033534
- cmp r0, #0x13
- blt _02030EC0
- ldr r0, _02030F14 ; =0x021C59F4
- ldr r1, [r0, #0x4]
- ldr r0, _02030F18 ; =0x00000687
- ldrb r0, [r1, r0]
- cmp r0, #0x0
- beq _02030EBC
- bl FUN_021D8018
- mov r1, #0x0
- mvn r1, r1
- cmp r0, r1
- beq _02030EBC
- cmp r4, #0x0
- bne _02030EB4
- mov r0, #0x1
- pop {r4, pc}
-_02030EB4:
- cmp r4, #0x1
- bne _02030EBC
- mov r0, #0x1
- pop {r4, pc}
-_02030EBC:
- mov r0, #0x0
- pop {r4, pc}
-_02030EC0:
- bl FUN_02030F40
- cmp r0, #0x0
- bne _02030ECC
- mov r0, #0x0
- pop {r4, pc}
-_02030ECC:
- bl FUN_0202CBD4
- cmp r0, #0x4
- beq _02030ED8
- mov r0, #0x0
- pop {r4, pc}
-_02030ED8:
- bl FUN_02031190
- cmp r4, r0
- bne _02030EE4
- mov r0, #0x1
- pop {r4, pc}
-_02030EE4:
- bl FUN_02031190
- cmp r0, #0x0
- bne _02030EFE
- bl FUN_0202CB8C
- mov r1, #0x1
- add r2, r1, #0x0
- lsl r2, r4
- tst r0, r2
- beq _02030F10
- add r0, r1, #0x0
- pop {r4, pc}
-_02030EFE:
- ldr r0, _02030F14 ; =0x021C59F4
- ldr r1, [r0, #0x4]
- ldr r0, _02030F1C ; =0x0000065C
- ldrh r2, [r1, r0]
- mov r0, #0x1
- add r1, r0, #0x0
- lsl r1, r4
- tst r1, r2
- bne _02030F12
-_02030F10:
- mov r0, #0x0
-_02030F12:
- pop {r4, pc}
- .balign 4
-_02030F14: .word 0x021C59F4
-_02030F18: .word 0x00000687
-_02030F1C: .word 0x0000065C
-
- thumb_func_start FUN_02030F20
-FUN_02030F20: ; 0x02030F20
- push {r3-r5, lr}
- mov r4, #0x0
- add r5, r4, #0x0
-_02030F26:
- lsl r0, r5, #0x10
- lsr r0, r0, #0x10
- bl FUN_02030E7C
- cmp r0, #0x0
- beq _02030F34
- add r4, r4, #0x1
-_02030F34:
- add r5, r5, #0x1
- cmp r5, #0x8
- blt _02030F26
- add r0, r4, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02030F40
-FUN_02030F40: ; 0x02030F40
- push {r3, lr}
- ldr r0, _02030F5C ; =0x021C59F4
- ldr r0, [r0, #0x4]
- cmp r0, #0x0
- beq _02030F56
- bl FUN_02033534
- cmp r0, #0x13
- blt _02030F56
- mov r0, #0x1
- pop {r3, pc}
-_02030F56:
- bl FUN_0202EDF8
- pop {r3, pc}
- .balign 4
-_02030F5C: .word 0x021C59F4
-
- thumb_func_start FUN_02030F60
-FUN_02030F60: ; 0x02030F60
- ldr r1, _02030F6C ; =0x021C59F4
- ldr r2, [r1, #0x4]
- ldr r1, _02030F70 ; =0x0000062B
- strb r0, [r2, r1]
- bx lr
- nop
-_02030F6C: .word 0x021C59F4
-_02030F70: .word 0x0000062B
-
- thumb_func_start FUN_02030F74
-FUN_02030F74: ; 0x02030F74
- ldr r1, _02030F84 ; =0x021C59F4
- ldr r1, [r1, #0x4]
- add r1, r1, r0
- mov r0, #0x62
- lsl r0, r0, #0x4
- ldrb r0, [r1, r0]
- bx lr
- nop
-_02030F84: .word 0x021C59F4
-
- thumb_func_start FUN_02030F88
-FUN_02030F88: ; 0x02030F88
- ldr r1, _02030FA4 ; =0x021C59F4
- ldr r2, [r1, #0x4]
- cmp r2, #0x0
- bne _02030F94
- mov r0, #0x0
- bx lr
-_02030F94:
- mov r1, #0x61
- lsl r1, r1, #0x4
- add r3, r2, r1
- lsl r2, r0, #0x1
- ldrh r0, [r3, r2]
- mov r1, #0x0
- strh r1, [r3, r2]
- bx lr
- .balign 4
-_02030FA4: .word 0x021C59F4
-
- thumb_func_start FUN_02030FA8
-FUN_02030FA8: ; 0x02030FA8
- ldr r0, _02030FC0 ; =0x021C59F4
- ldr r3, [r0, #0x4]
- cmp r3, #0x0
- beq _02030FBC
- ldr r1, _02030FC4 ; =0x00000628
- mov r0, #0x2
- ldrh r2, [r3, r1]
- lsl r0, r0, #0xe
- orr r0, r2
- strh r0, [r3, r1]
-_02030FBC:
- bx lr
- nop
-_02030FC0: .word 0x021C59F4
-_02030FC4: .word 0x00000628
-
- thumb_func_start FUN_02030FC8
-FUN_02030FC8: ; 0x02030FC8
- ldr r0, _02030FD8 ; =0x021C59F4
- ldr r2, [r0, #0x4]
- cmp r2, #0x0
- beq _02030FD6
- ldr r0, _02030FDC ; =0x00000628
- mov r1, #0x0
- strh r1, [r2, r0]
-_02030FD6:
- bx lr
- .balign 4
-_02030FD8: .word 0x021C59F4
-_02030FDC: .word 0x00000628
-
- thumb_func_start FUN_02030FE0
-FUN_02030FE0: ; 0x02030FE0
- ldr r0, _02030FF8 ; =0x021C59F4
- ldr r1, [r0, #0x4]
- cmp r1, #0x0
- beq _02030FF4
- ldr r0, _02030FFC ; =0x00000628
- ldrh r1, [r1, r0]
- mov r0, #0x2
- lsl r0, r0, #0xe
- and r0, r1
- bx lr
-_02030FF4:
- mov r0, #0x1
- bx lr
- .balign 4
-_02030FF8: .word 0x021C59F4
-_02030FFC: .word 0x00000628
-
- thumb_func_start FUN_02031000
-FUN_02031000: ; 0x02031000
- push {r4-r6, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- add r4, r1, #0x0
- add r6, r2, #0x0
- bl FUN_0202FA28
- cmp r0, #0x1
- bne _02031030
- mov r0, #0x1
- str r0, [sp, #0x0]
- mov r0, #0x0
- str r0, [sp, #0x4]
- ldr r0, _02031050 ; =0x021C59F4
- add r2, r4, #0x0
- ldr r1, [r0, #0x4]
- ldr r0, _02031054 ; =0x0000054C
- add r3, r6, #0x0
- add r0, r1, r0
- add r1, r5, #0x0
- bl FUN_0202D684
- add sp, #0x8
- pop {r4-r6, pc}
-_02031030:
- mov r0, #0x1
- str r0, [sp, #0x0]
- mov r0, #0x0
- str r0, [sp, #0x4]
- ldr r0, _02031050 ; =0x021C59F4
- add r2, r4, #0x0
- ldr r1, [r0, #0x4]
- ldr r0, _02031058 ; =0x0000056C
- add r3, r6, #0x0
- add r0, r1, r0
- add r1, r5, #0x0
- bl FUN_0202D684
- add sp, #0x8
- pop {r4-r6, pc}
- nop
-_02031050: .word 0x021C59F4
-_02031054: .word 0x0000054C
-_02031058: .word 0x0000056C
-
- thumb_func_start FUN_0203105C
-FUN_0203105C: ; 0x0203105C
- push {r3-r5, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- mov r0, #0x0
- str r0, [sp, #0x0]
- str r0, [sp, #0x4]
- ldr r0, _02031080 ; =0x021C59F4
- add r4, r1, #0x0
- ldr r1, [r0, #0x4]
- ldr r0, _02031084 ; =0x0000054C
- add r3, r2, #0x0
- add r0, r1, r0
- add r1, r5, #0x0
- add r2, r4, #0x0
- bl FUN_0202D684
- add sp, #0x8
- pop {r3-r5, pc}
- .balign 4
-_02031080: .word 0x021C59F4
-_02031084: .word 0x0000054C
-
- thumb_func_start FUN_02031088
-FUN_02031088: ; 0x02031088
- push {r3, lr}
- ldr r0, _02031100 ; =0x021C59F4
- ldr r2, [r0, #0x4]
- cmp r2, #0x0
- beq _020310FC
- ldr r1, _02031104 ; =0x0000067B
- ldrb r0, [r2, r1]
- cmp r0, #0x1
- beq _020310A0
- cmp r0, #0x3
- beq _020310D8
- pop {r3, pc}
-_020310A0:
- bl FUN_0202FA28
- cmp r0, #0x1
- bne _020310B8
- ldr r1, _02031100 ; =0x021C59F4
- mov r0, #0xb
- ldr r2, [r1, #0x4]
- ldr r1, _02031108 ; =0x0000067C
- add r1, r2, r1
- bl FUN_020311D0
- b _020310C8
-_020310B8:
- ldr r1, _02031100 ; =0x021C59F4
- mov r0, #0xb
- ldr r2, [r1, #0x4]
- ldr r1, _02031108 ; =0x0000067C
- add r1, r2, r1
- mov r2, #0x1
- bl FUN_02030BC4
-_020310C8:
- cmp r0, #0x0
- beq _020310FC
- ldr r0, _02031100 ; =0x021C59F4
- mov r2, #0x2
- ldr r1, [r0, #0x4]
- ldr r0, _02031104 ; =0x0000067B
- strb r2, [r1, r0]
- pop {r3, pc}
-_020310D8:
- add r1, r1, #0x1
- mov r0, #0xc
- add r1, r2, r1
- bl FUN_020311D0
- cmp r0, #0x0
- beq _020310FC
- ldr r0, _02031100 ; =0x021C59F4
- ldr r1, [r0, #0x4]
- ldr r0, _02031108 ; =0x0000067C
- ldrb r0, [r1, r0]
- bl FUN_0202F9E0
- ldr r0, _02031100 ; =0x021C59F4
- mov r2, #0x0
- ldr r1, [r0, #0x4]
- ldr r0, _02031104 ; =0x0000067B
- strb r2, [r1, r0]
-_020310FC:
- pop {r3, pc}
- nop
-_02031100: .word 0x021C59F4
-_02031104: .word 0x0000067B
-_02031108: .word 0x0000067C
-
- thumb_func_start FUN_0203110C
-FUN_0203110C: ; 0x0203110C
- push {r4, lr}
- add r4, r2, #0x0
- bl FUN_02031190
- cmp r0, #0x0
- bne _0203112A
- ldr r1, _0203112C ; =0x021C59F4
- ldr r0, _02031130 ; =0x0000067B
- ldr r2, [r1, #0x4]
- mov r3, #0x1
- strb r3, [r2, r0]
- ldrb r2, [r4, #0x0]
- ldr r1, [r1, #0x4]
- add r0, r0, #0x1
- strb r2, [r1, r0]
-_0203112A:
- pop {r4, pc}
- .balign 4
-_0203112C: .word 0x021C59F4
-_02031130: .word 0x0000067B
-
- thumb_func_start FUN_02031134
-FUN_02031134: ; 0x02031134
- push {r4, lr}
- add r4, r2, #0x0
- bl FUN_02031190
- cmp r0, #0x0
- beq _02031152
- ldr r1, _02031154 ; =0x021C59F4
- ldrb r3, [r4, #0x0]
- ldr r2, [r1, #0x4]
- ldr r0, _02031158 ; =0x0000067C
- strb r3, [r2, r0]
- ldr r1, [r1, #0x4]
- mov r2, #0x3
- sub r0, r0, #0x1
- strb r2, [r1, r0]
-_02031152:
- pop {r4, pc}
- .balign 4
-_02031154: .word 0x021C59F4
-_02031158: .word 0x0000067C
-
- thumb_func_start FUN_0203115C
-FUN_0203115C: ; 0x0203115C
- push {r4, lr}
- add r4, r2, #0x0
- bl FUN_02031190
- cmp r0, #0x0
- bne _02031184
- ldr r0, _02031188 ; =0x021C59F4
- ldr r1, [r0, #0x4]
- ldr r0, _0203118C ; =0x0000067B
- ldrb r0, [r1, r0]
- cmp r0, #0x2
- bne _02031184
- ldrb r0, [r4, #0x0]
- bl FUN_0202F9E0
- ldr r0, _02031188 ; =0x021C59F4
- mov r2, #0x0
- ldr r1, [r0, #0x4]
- ldr r0, _0203118C ; =0x0000067B
- strb r2, [r1, r0]
-_02031184:
- pop {r4, pc}
- nop
-_02031188: .word 0x021C59F4
-_0203118C: .word 0x0000067B
-
- thumb_func_start FUN_02031190
-FUN_02031190: ; 0x02031190
- push {r3, lr}
- ldr r0, _020311CC ; =0x021C59F4
- ldr r0, [r0, #0x4]
- cmp r0, #0x0
- beq _020311C6
- bl FUN_02033534
- cmp r0, #0x13
- blt _020311B4
- bl FUN_021D8018
- mov r1, #0x0
- mvn r1, r1
- cmp r0, r1
- beq _020311C6
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- pop {r3, pc}
-_020311B4:
- bl FUN_02031280
- cmp r0, #0x0
- beq _020311C0
- mov r0, #0x0
- pop {r3, pc}
-_020311C0:
- bl FUN_0202D19C
- pop {r3, pc}
-_020311C6:
- mov r0, #0x0
- pop {r3, pc}
- nop
-_020311CC: .word 0x021C59F4
-
- thumb_func_start FUN_020311D0
-FUN_020311D0: ; 0x020311D0
- ldr r3, _020311D8 ; =FUN_02030ADC
- mov r2, #0x0
- bx r3
- nop
-_020311D8: .word FUN_02030ADC
-
- thumb_func_start FUN_020311DC
-FUN_020311DC: ; 0x020311DC
- ldr r3, _020311E4 ; =FUN_02030ADC
- mov r1, #0x0
- add r2, r1, #0x0
- bx r3
- .balign 4
-_020311E4: .word FUN_02030ADC
-
- thumb_func_start FUN_020311E8
-FUN_020311E8: ; 0x020311E8
- ldr r3, _020311EC ; =FUN_0202EE24
- bx r3
- .balign 4
-_020311EC: .word FUN_0202EE24
-
- thumb_func_start FUN_020311F0
-FUN_020311F0: ; 0x020311F0
- push {r3, lr}
- bl FUN_02031280
- cmp r0, #0x0
- beq _020311FE
- mov r0, #0x0
- pop {r3, pc}
-_020311FE:
- ldr r0, _02031220 ; =0x021C59F4
- ldr r1, [r0, #0x4]
- cmp r1, #0x0
- beq _0203121A
- ldr r0, _02031224 ; =0x00000689
- ldrb r0, [r1, r0]
- cmp r0, #0x0
- beq _0203121A
- mov r0, #0x1
- add r1, r0, #0x0
- bl FUN_020334E8
- mov r0, #0x1
- pop {r3, pc}
-_0203121A:
- bl FUN_0202EE60
- pop {r3, pc}
- .balign 4
-_02031220: .word 0x021C59F4
-_02031224: .word 0x00000689
-
- thumb_func_start FUN_02031228
-FUN_02031228: ; 0x02031228
- push {r3, lr}
- bl FUN_0202D858
- cmp r0, #0x5
- blo _02031236
- mov r0, #0xc
- pop {r3, pc}
-_02031236:
- bl FUN_0202FA28
- cmp r0, #0x0
- bne _02031242
- mov r0, #0xc
- pop {r3, pc}
-_02031242:
- mov r0, #0x26
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_02031248
-FUN_02031248: ; 0x02031248
- push {r3, lr}
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- bl FUN_0202D858
- add r0, r0, #0x1
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_02031258
-FUN_02031258: ; 0x02031258
- push {r3, lr}
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- bl FUN_0202D884
- add r0, r0, #0x1
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_02031268
-FUN_02031268: ; 0x02031268
- ldr r1, _02031278 ; =0x021C59F4
- ldr r2, [r1, #0x4]
- cmp r2, #0x0
- beq _02031274
- ldr r1, _0203127C ; =0x00000686
- strb r0, [r2, r1]
-_02031274:
- bx lr
- nop
-_02031278: .word 0x021C59F4
-_0203127C: .word 0x00000686
-
- thumb_func_start FUN_02031280
-FUN_02031280: ; 0x02031280
- ldr r0, _02031294 ; =0x021C59F4
- ldr r1, [r0, #0x4]
- cmp r1, #0x0
- beq _0203128E
- ldr r0, _02031298 ; =0x00000686
- ldrb r0, [r1, r0]
- bx lr
-_0203128E:
- mov r0, #0x0
- bx lr
- nop
-_02031294: .word 0x021C59F4
-_02031298: .word 0x00000686
-
- thumb_func_start FUN_0203129C
-FUN_0203129C: ; 0x0203129C
- push {r3, lr}
- bl FUN_0202F03C
- cmp r0, #0x0
- bne _020312B6
- bl FUN_02031190
- cmp r0, #0x0
- bne _020312B6
- mov r0, #0x2
- add r1, sp, #0x0
- bl FUN_02030C4C
-_020312B6:
- bl FUN_0202F05C
- pop {r3, pc}
-
- thumb_func_start FUN_020312BC
-FUN_020312BC: ; 0x020312BC
- push {r3-r7, lr}
- sub sp, #0x20
- add r4, r0, #0x0
- add r0, sp, #0x10
- add r1, sp, #0x4
- bl FUN_0201265C
- ldr r0, _02031340 ; =0x021C48B8
- ldr r6, [sp, #0x10]
- mov r5, #0x0
- lsr r7, r6, #0x1c
- lsl r5, r5, #0x4
- ldr r1, [sp, #0xc]
- ldr r0, [r0, #0x2c]
- lsl r6, r6, #0x4
- add r3, r1, r0
- ldr r0, [sp, #0x18]
- orr r5, r7
- str r0, [sp, #0x0]
- ldr r0, [sp, #0x14]
- ldr r1, [sp, #0x4]
- add r6, r0, r6
- ldr r0, _02031344 ; =0x00000000
- ldr r2, [sp, #0x8]
- adc r0, r5
- lsr r5, r6, #0x1b
- lsl r0, r0, #0x5
- orr r0, r5
- ldr r5, [sp, #0x0]
- lsl r6, r6, #0x5
- add r6, r5, r6
- ldr r5, _02031344 ; =0x00000000
- adc r5, r0
- lsr r0, r6, #0x1b
- lsl r5, r5, #0x5
- orr r5, r0
- lsl r0, r6, #0x5
- add r6, r1, r0
- ldr r1, _02031344 ; =0x00000000
- adc r1, r5
- lsr r0, r6, #0x1a
- lsl r1, r1, #0x6
- orr r1, r0
- lsl r0, r6, #0x6
- add r5, r2, r0
- ldr r2, _02031344 ; =0x00000000
- adc r2, r1
- lsr r0, r5, #0x1a
- lsl r1, r2, #0x6
- orr r1, r0
- lsl r0, r5, #0x6
- add r2, r3, r0
- ldr r0, _02031344 ; =0x00000000
- str r2, [r4, #0x0]
- adc r0, r1
- str r0, [r4, #0x4]
- ldr r1, _02031348 ; =0x6C078965
- ldr r0, _0203134C ; =0x5D588B65
- str r1, [r4, #0x8]
- str r0, [r4, #0xc]
- ldr r0, _02031350 ; =0x00269EC3
- str r0, [r4, #0x10]
- mov r0, #0x0
- str r0, [r4, #0x14]
- add sp, #0x20
- pop {r3-r7, pc}
- .balign 4
-_02031340: .word 0x021C48B8
-_02031344: .word 0x00000000
-_02031348: .word 0x6C078965
-_0203134C: .word 0x5D588B65
-_02031350: .word 0x00269EC3
-
- thumb_func_start FUN_02031354
-FUN_02031354: ; 0x02031354
- add r1, r0, #0x0
- ldr r0, _02031364 ; =0x021C59F4
- ldr r3, _02031368 ; =FUN_0202D830
- ldr r2, [r0, #0x4]
- ldr r0, _0203136C ; =0x0000056C
- add r0, r2, r0
- bx r3
- nop
-_02031364: .word 0x021C59F4
-_02031368: .word FUN_0202D830
-_0203136C: .word 0x0000056C
-
- thumb_func_start FUN_02031370
-FUN_02031370: ; 0x02031370
- ldr r0, _0203137C ; =0x021C59F4
- ldr r3, _02031380 ; =FUN_0202D4E4
- ldr r1, [r0, #0x4]
- ldr r0, _02031384 ; =0x0000056C
- add r0, r1, r0
- bx r3
- .balign 4
-_0203137C: .word 0x021C59F4
-_02031380: .word FUN_0202D4E4
-_02031384: .word 0x0000056C
-
- thumb_func_start FUN_02031388
-FUN_02031388: ; 0x02031388
- ldr r0, _02031394 ; =0x021C59F4
- ldr r3, _02031398 ; =FUN_0202D4E4
- ldr r1, [r0, #0x4]
- ldr r0, _0203139C ; =0x0000054C
- add r0, r1, r0
- bx r3
- .balign 4
-_02031394: .word 0x021C59F4
-_02031398: .word FUN_0202D4E4
-_0203139C: .word 0x0000054C
-
- thumb_func_start FUN_020313A0
-FUN_020313A0: ; 0x020313A0
- ldr r1, _020313AC ; =0x021C59F4
- ldr r2, [r1, #0x4]
- ldr r1, _020313B0 ; =0x00000687
- strb r0, [r2, r1]
- bx lr
- nop
-_020313AC: .word 0x021C59F4
-_020313B0: .word 0x00000687
-
- thumb_func_start FUN_020313B4
-FUN_020313B4: ; 0x020313B4
- ldr r2, _020313C4 ; =0x021C59F4
- ldr r2, [r2, #0x4]
- cmp r2, #0x0
- beq _020313C2
- add r2, r2, r1
- ldr r1, _020313C8 ; =0x00000677
- strb r0, [r2, r1]
-_020313C2:
- bx lr
- .balign 4
-_020313C4: .word 0x021C59F4
-_020313C8: .word 0x00000677
-
- thumb_func_start FUN_020313CC
-FUN_020313CC: ; 0x020313CC
- ldr r1, _020313E4 ; =0x021C59F4
- ldr r1, [r1, #0x4]
- cmp r1, #0x0
- beq _020313E0
- add r2, r1, r0
- ldr r1, _020313E8 ; =0x00000677
- ldrb r1, [r2, r1]
- cmp r1, #0xff
- beq _020313E0
- add r0, r1, #0x0
-_020313E0:
- bx lr
- nop
-_020313E4: .word 0x021C59F4
-_020313E8: .word 0x00000677
-
- thumb_func_start FUN_020313EC
-FUN_020313EC: ; 0x020313EC
- push {r3, lr}
- bl FUN_02033534
- cmp r0, #0x13
- bge _020313FA
- mov r0, #0x0
- pop {r3, pc}
-_020313FA:
- bl FUN_021D8624
- pop {r3, pc}
-
- thumb_func_start FUN_02031400
-FUN_02031400: ; 0x02031400
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_02033534
- cmp r0, #0x13
- blt _02031430
- ldr r2, _02031434 ; =0x021C59F4
- mov r1, #0x63
- ldr r0, [r2, #0x4]
- lsl r1, r1, #0x4
- str r4, [r0, r1]
- cmp r4, #0x0
- beq _02031430
- ldr r3, [r2, #0x4]
- mov r4, #0x0
- add r0, r1, #0x4
- str r4, [r3, r0]
- add r0, r1, #0x0
- ldr r3, [r2, #0x4]
- add r0, #0x8
- str r4, [r3, r0]
- ldr r0, [r2, #0x4]
- add r1, #0xc
- str r4, [r0, r1]
-_02031430:
- pop {r4, pc}
- nop
-_02031434: .word 0x021C59F4
-
- thumb_func_start FUN_02031438
-FUN_02031438: ; 0x02031438
- ldr r0, _0203144C ; =0x021C59F4
- ldr r1, [r0, #0x4]
- ldr r0, _02031450 ; =0x00000681
- ldrb r0, [r1, r0]
- cmp r0, #0x0
- beq _02031448
- mov r0, #0x1
- bx lr
-_02031448:
- mov r0, #0x0
- bx lr
- .balign 4
-_0203144C: .word 0x021C59F4
-_02031450: .word 0x00000681
-
- thumb_func_start FUN_02031454
-FUN_02031454: ; 0x02031454
- ldr r0, _02031460 ; =0x021C59F4
- mov r2, #0x1
- ldr r1, [r0, #0x4]
- ldr r0, _02031464 ; =0x00000689
- strb r2, [r1, r0]
- bx lr
- .balign 4
-_02031460: .word 0x021C59F4
-_02031464: .word 0x00000689
-
- thumb_func_start FUN_02031468
-FUN_02031468: ; 0x02031468
- ldr r0, _02031478 ; =0x021C59F4
- ldr r2, [r0, #0x4]
- cmp r2, #0x0
- beq _02031476
- ldr r0, _0203147C ; =0x0000068A
- mov r1, #0x1
- strb r1, [r2, r0]
-_02031476:
- bx lr
- .balign 4
-_02031478: .word 0x021C59F4
-_0203147C: .word 0x0000068A
-
- thumb_func_start FUN_02031480
-FUN_02031480: ; 0x02031480
- push {r4, lr}
- ldr r1, _020314C8 ; =0x021C59FC
- ldr r1, [r1, #0x0]
- cmp r1, #0x0
- bne _0203149C
- ldr r1, _020314CC ; =0x00000253
- bl FUN_02016998
- ldr r1, _020314C8 ; =0x021C59FC
- ldr r2, _020314CC ; =0x00000253
- str r0, [r1, #0x0]
- mov r1, #0x0
- blx MI_CpuFill8
-_0203149C:
- ldr r1, _020314C8 ; =0x021C59FC
- mov r3, #0x0
- mov r0, #0xff
-_020314A2:
- ldr r2, [r1, #0x0]
- add r2, r2, r3
- add r3, r3, #0x1
- strb r0, [r2, #0x10]
- cmp r3, #0x8
- blt _020314A2
- ldr r3, _020314C8 ; =0x021C59FC
- mov r1, #0x25
- ldr r2, [r3, #0x0]
- lsl r1, r1, #0x4
- strb r0, [r2, r1]
- ldr r4, [r3, #0x0]
- add r2, r1, #0x1
- strb r0, [r4, r2]
- ldr r2, [r3, #0x0]
- mov r4, #0x0
- add r0, r1, #0x2
- strb r4, [r2, r0]
- pop {r4, pc}
- .balign 4
-_020314C8: .word 0x021C59FC
-_020314CC: .word 0x00000253
-
- thumb_func_start FUN_020314D0
-FUN_020314D0: ; 0x020314D0
- push {r3, lr}
- ldr r0, _020314E4 ; =0x021C59FC
- ldr r0, [r0, #0x0]
- bl FUN_02016A18
- ldr r0, _020314E4 ; =0x021C59FC
- mov r1, #0x0
- str r1, [r0, #0x0]
- pop {r3, pc}
- nop
-_020314E4: .word 0x021C59FC
-
- thumb_func_start FUN_020314E8
-FUN_020314E8: ; 0x020314E8
- ldr r0, _020314F8 ; =0x021C59FC
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- beq _020314F4
- mov r0, #0x1
- bx lr
-_020314F4:
- mov r0, #0x0
- bx lr
- .balign 4
-_020314F8: .word 0x021C59FC
-
- thumb_func_start FUN_020314FC
-FUN_020314FC: ; 0x020314FC
- push {r3-r6, lr}
- sub sp, #0x4
- ldrb r1, [r2, #0x0]
- add r5, r0, #0x0
- add r0, sp, #0x0
- strb r1, [r0, #0x0]
- bl FUN_02031190
- cmp r0, #0x0
- bne _02031556
- add r0, sp, #0x0
- strb r5, [r0, #0x1]
- ldrb r1, [r0, #0x0]
- strb r1, [r0, #0x2]
- add r1, sp, #0x0
- mov r0, #0x12
- add r1, #0x1
- bl FUN_02030C4C
- ldr r6, _0203155C ; =0x021C59FC
- add r4, sp, #0x0
- ldr r0, [r6, #0x0]
- ldrb r1, [r4, #0x0]
- add r0, r0, r5
- mov r5, #0x0
- strb r1, [r0, #0x10]
-_02031530:
- lsl r0, r5, #0x10
- lsr r0, r0, #0x10
- bl FUN_02030E7C
- cmp r0, #0x0
- beq _02031548
- ldr r0, [r6, #0x0]
- ldrb r1, [r4, #0x0]
- add r0, r0, r5
- ldrb r0, [r0, #0x10]
- cmp r1, r0
- bne _02031556
-_02031548:
- add r5, r5, #0x1
- cmp r5, #0x8
- blt _02031530
- mov r0, #0x11
- add r1, sp, #0x0
- bl FUN_02030C4C
-_02031556:
- add sp, #0x4
- pop {r3-r6, pc}
- nop
-_0203155C: .word 0x021C59FC
-
- thumb_func_start FUN_02031560
-FUN_02031560: ; 0x02031560
- ldr r0, _02031570 ; =0x021C59FC
- ldrb r3, [r2, #0x1]
- ldr r1, [r0, #0x0]
- ldrb r0, [r2, #0x0]
- add r0, r1, r0
- strb r3, [r0, #0x10]
- bx lr
- nop
-_02031570: .word 0x021C59FC
-
- thumb_func_start FUN_02031574
-FUN_02031574: ; 0x02031574
- ldr r0, _02031584 ; =0x021C59FC
- ldrb r2, [r2, #0x0]
- ldr r1, [r0, #0x0]
- mov r0, #0x25
- lsl r0, r0, #0x4
- strb r2, [r1, r0]
- bx lr
- nop
-_02031584: .word 0x021C59FC
-
- thumb_func_start FUN_02031588
-FUN_02031588: ; 0x02031588
- ldr r2, _0203159C ; =0x021C59FC
- ldr r1, _020315A0 ; =0x00000251
- ldr r3, [r2, #0x0]
- strb r0, [r3, r1]
- ldr r2, [r2, #0x0]
- mov r3, #0x1
- add r0, r1, #0x1
- strb r3, [r2, r0]
- bx lr
- nop
-_0203159C: .word 0x021C59FC
-_020315A0: .word 0x00000251
-
- thumb_func_start FUN_020315A4
-FUN_020315A4: ; 0x020315A4
- push {r3, lr}
- ldr r0, _020315D0 ; =0x021C59FC
- ldr r2, [r0, #0x0]
- cmp r2, #0x0
- beq _020315CE
- ldr r1, _020315D4 ; =0x00000252
- ldrb r0, [r2, r1]
- cmp r0, #0x0
- beq _020315CE
- sub r1, r1, #0x1
- mov r0, #0x10
- add r1, r2, r1
- bl FUN_020311D0
- cmp r0, #0x0
- beq _020315CE
- ldr r0, _020315D0 ; =0x021C59FC
- mov r2, #0x0
- ldr r1, [r0, #0x0]
- ldr r0, _020315D4 ; =0x00000252
- strb r2, [r1, r0]
-_020315CE:
- pop {r3, pc}
- .balign 4
-_020315D0: .word 0x021C59FC
-_020315D4: .word 0x00000252
-
- thumb_func_start FUN_020315D8
-FUN_020315D8: ; 0x020315D8
- ldr r1, _020315F8 ; =0x021C59FC
- ldr r2, [r1, #0x0]
- cmp r2, #0x0
- bne _020315E4
- mov r0, #0x1
- bx lr
-_020315E4:
- mov r1, #0x25
- lsl r1, r1, #0x4
- ldrb r1, [r2, r1]
- cmp r1, r0
- bne _020315F2
- mov r0, #0x1
- bx lr
-_020315F2:
- mov r0, #0x0
- bx lr
- nop
-_020315F8: .word 0x021C59FC
-
- thumb_func_start FUN_020315FC
-FUN_020315FC: ; 0x020315FC
- ldr r1, _02031608 ; =0x021C59FC
- ldr r1, [r1, #0x0]
- add r0, r1, r0
- ldrb r0, [r0, #0x10]
- bx lr
- nop
-_02031608: .word 0x021C59FC
-
- thumb_func_start FUN_0203160C
-FUN_0203160C: ; 0x0203160C
- push {r3-r4}
- lsl r4, r0, #0x1
- ldr r0, _02031624 ; =0x021C59FC
- ldrb r3, [r2, #0x0]
- ldr r1, [r0, #0x0]
- strb r3, [r1, r4]
- ldr r0, [r0, #0x0]
- ldrb r1, [r2, #0x1]
- add r0, r0, r4
- strb r1, [r0, #0x1]
- pop {r3-r4}
- bx lr
- .balign 4
-_02031624: .word 0x021C59FC
-
- thumb_func_start FUN_02031628
-FUN_02031628: ; 0x02031628
- mov r0, #0x2
- bx lr
-
- thumb_func_start FUN_0203162C
-FUN_0203162C: ; 0x0203162C
- push {r3, lr}
- add r2, sp, #0x0
- strb r0, [r2, #0x0]
- strb r1, [r2, #0x1]
- mov r0, #0x13
- add r1, sp, #0x0
- bl FUN_020311D0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_02031640
-FUN_02031640: ; 0x02031640
- ldr r2, _02031664 ; =0x021C59FC
- ldr r3, [r2, #0x0]
- cmp r3, #0x0
- bne _0203164E
- mov r0, #0x0
- mvn r0, r0
- bx lr
-_0203164E:
- lsl r2, r0, #0x1
- ldrb r0, [r3, r2]
- cmp r1, r0
- bne _0203165C
- add r0, r3, r2
- ldrb r0, [r0, #0x1]
- bx lr
-_0203165C:
- mov r0, #0x0
- mvn r0, r0
- bx lr
- nop
-_02031664: .word 0x021C59FC
-
- thumb_func_start FUN_02031668
-FUN_02031668: ; 0x02031668
- push {r3-r7, lr}
- mov r4, #0x0
- ldr r6, _02031688 ; =0x021C59FC
- add r5, r4, #0x0
- add r7, r4, #0x0
-_02031672:
- ldr r0, [r6, #0x0]
- add r1, r7, #0x0
- add r0, r0, r5
- mov r2, #0x2
- blx MI_CpuFill8
- add r4, r4, #0x1
- add r5, r5, #0x2
- cmp r4, #0x8
- blt _02031672
- pop {r3-r7, pc}
- .balign 4
-_02031688: .word 0x021C59FC
-
- thumb_func_start FUN_0203168C
-FUN_0203168C: ; 0x0203168C
- push {r3-r4}
- mov r4, #0x0
- mov r0, #0x92
- ldr r1, _020316A8 ; =0x021C59FC
- add r3, r4, #0x0
- lsl r0, r0, #0x2
-_02031698:
- ldr r2, [r1, #0x0]
- add r2, r2, r4
- add r4, r4, #0x1
- strb r3, [r2, r0]
- cmp r4, #0x8
- blt _02031698
- pop {r3-r4}
- bx lr
- .balign 4
-_020316A8: .word 0x021C59FC
-
- thumb_func_start FUN_020316AC
-FUN_020316AC: ; 0x020316AC
- push {r4, lr}
- ldr r2, _020316DC ; =0x021C59FC
- ldr r3, [r2, #0x0]
- cmp r3, #0x0
- beq _020316D8
- add r4, r0, #0x0
- mov r2, #0x46
- mul r4, r2
- add r3, #0x18
- add r0, r1, #0x0
- add r1, r3, r4
- blx MI_CpuCopy8
- ldr r1, _020316DC ; =0x021C59FC
- mov r0, #0x14
- ldr r1, [r1, #0x0]
- add r1, #0x18
- add r1, r1, r4
- bl FUN_020311D0
- mov r0, #0x1
- pop {r4, pc}
-_020316D8:
- mov r0, #0x0
- pop {r4, pc}
- .balign 4
-_020316DC: .word 0x021C59FC
-
- thumb_func_start FUN_020316E0
-FUN_020316E0: ; 0x020316E0
- ldr r1, _02031700 ; =0x021C59FC
- ldr r3, [r1, #0x0]
- mov r1, #0x92
- add r2, r3, r0
- lsl r1, r1, #0x2
- ldrb r1, [r2, r1]
- cmp r1, #0x0
- beq _020316FA
- mov r1, #0x46
- add r3, #0x18
- mul r1, r0
- add r0, r3, r1
- bx lr
-_020316FA:
- mov r0, #0x0
- bx lr
- nop
-_02031700: .word 0x021C59FC
-
- thumb_func_start FUN_02031704
-FUN_02031704: ; 0x02031704
- push {r3-r5, lr}
- ldr r3, _0203172C ; =0x021C59FC
- add r1, r0, #0x0
- ldr r0, [r3, #0x0]
- mov r5, #0x1
- add r4, r0, r1
- mov r0, #0x92
- lsl r0, r0, #0x2
- strb r5, [r4, r0]
- ldr r4, [r3, #0x0]
- add r0, r2, #0x0
- mov r2, #0x46
- add r3, r1, #0x0
- add r4, #0x18
- mul r3, r2
- add r1, r4, r3
- blx MI_CpuCopy8
- pop {r3-r5, pc}
- nop
-_0203172C: .word 0x021C59FC
-
- thumb_func_start FUN_02031730
-FUN_02031730: ; 0x02031730
- mov r0, #0x46
- bx lr
-
- thumb_func_start FUN_02031734
-FUN_02031734: ; 0x02031734
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r0, _020317BC ; =0x021C5A00
- add r4, r1, #0x0
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- bne _020317B8
- bl FUN_0202E49C
- mov r0, #0xf
- mov r1, #0x50
- bl FUN_02016998
- ldr r1, _020317BC ; =0x021C5A00
- mov r2, #0x50
- str r0, [r1, #0x0]
- mov r1, #0x0
- blx MI_CpuFill8
- ldr r0, _020317BC ; =0x021C5A00
- mov r2, #0x32
- ldr r1, [r0, #0x0]
- strh r2, [r1, #0x3a]
- ldr r1, [r0, #0x0]
- mov r2, #0x1
- add r1, #0x43
- strb r2, [r1, #0x0]
- ldr r0, [r0, #0x0]
- str r5, [r0, #0x28]
- add r0, r5, #0x0
- bl FUN_020238F4
- ldr r1, _020317BC ; =0x021C5A00
- ldr r2, [r1, #0x0]
- str r0, [r2, #0x2c]
- ldr r0, [r1, #0x0]
- mov r2, #0x2
- add r0, #0x3c
- strb r2, [r0, #0x0]
- ldr r0, [r1, #0x0]
- mov r2, #0x0
- add r0, #0x3d
- strb r2, [r0, #0x0]
- ldr r0, [r1, #0x0]
- add r0, #0x48
- strb r2, [r0, #0x0]
- ldr r0, [r1, #0x0]
- add r0, #0x3f
- strb r4, [r0, #0x0]
- ldr r0, [r1, #0x0]
- add r0, #0xc
- bl FUN_020312BC
- mov r0, #0x0
- add r1, r0, #0x0
- add r2, r0, #0x0
- bl FUN_0202D8D0
- cmp r4, #0x9
- beq _020317B8
- cmp r4, #0x11
- beq _020317B8
- cmp r4, #0xf
- beq _020317B8
- bl FUN_02033E74
-_020317B8:
- pop {r3-r5, pc}
- nop
-_020317BC: .word 0x021C5A00
-
- thumb_func_start FUN_020317C0
-FUN_020317C0: ; 0x020317C0
- push {r3, lr}
- ldr r0, _0203180C ; =0x021C5A00
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- beq _0203180A
- bl FUN_0202D918
- ldr r0, _0203180C ; =0x021C5A00
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- beq _020317DC
- bl FUN_02016A18
-_020317DC:
- ldr r0, _0203180C ; =0x021C5A00
- ldr r0, [r0, #0x0]
- add r0, #0x3f
- ldrb r0, [r0, #0x0]
- cmp r0, #0x13
- blo _020317EE
- mov r0, #0x31
- bl FUN_020168D0
-_020317EE:
- bl FUN_02033ED0
- bl FUN_0202E4F0
- ldr r0, _0203180C ; =0x021C5A00
- ldr r0, [r0, #0x0]
- bl FUN_02016A18
- mov r0, #0xf
- bl FUN_020168D0
- ldr r0, _0203180C ; =0x021C5A00
- mov r1, #0x0
- str r1, [r0, #0x0]
-_0203180A:
- pop {r3, pc}
- .balign 4
-_0203180C: .word 0x021C5A00
-
- thumb_func_start FUN_02031810
-FUN_02031810: ; 0x02031810
- ldr r0, _02031820 ; =0x021C5A00
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- beq _0203181C
- mov r0, #0x1
- bx lr
-_0203181C:
- mov r0, #0x0
- bx lr
- .balign 4
-_02031820: .word 0x021C5A00
-
- thumb_func_start FUN_02031824
-FUN_02031824: ; 0x02031824
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, _02031858 ; =0x021C5A00
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- bne _02031856
- mov r2, #0xe
- mov r0, #0x3
- mov r1, #0xf
- lsl r2, r2, #0xc
- bl FUN_02016828
- add r0, r4, #0x0
- mov r1, #0xa
- bl FUN_02031734
- ldr r0, _02031858 ; =0x021C5A00
- mov r1, #0x0
- ldr r0, [r0, #0x0]
- add r0, #0x40
- strb r1, [r0, #0x0]
- ldr r0, _0203185C ; =FUN_02031D30
- mov r1, #0x32
- bl FUN_02031D20
-_02031856:
- pop {r4, pc}
- .balign 4
-_02031858: .word 0x021C5A00
-_0203185C: .word FUN_02031D30
-
- thumb_func_start FUN_02031860
-FUN_02031860: ; 0x02031860
- push {r3, lr}
- ldr r0, _02031878 ; =0x021C5A00
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- beq _02031876
- bl FUN_02031468
- ldr r0, _0203187C ; =FUN_020323CC
- mov r1, #0x0
- bl FUN_02031D20
-_02031876:
- pop {r3, pc}
- .balign 4
-_02031878: .word 0x021C5A00
-_0203187C: .word FUN_020323CC
-
- thumb_func_start FUN_02031880
-FUN_02031880: ; 0x02031880
- push {r3, lr}
- bl FUN_0202FC60
- bl FUN_02031190
- ldr r1, _0203189C ; =0x021C5A00
- ldr r1, [r1, #0x0]
- strh r0, [r1, #0x38]
- ldr r0, _020318A0 ; =FUN_020321B8
- mov r1, #0x0
- bl FUN_02031D20
- pop {r3, pc}
- nop
-_0203189C: .word 0x021C5A00
-_020318A0: .word FUN_020321B8
-
- thumb_func_start FUN_020318A4
-FUN_020318A4: ; 0x020318A4
- ldr r1, _020318B0 ; =0x021C5A00
- ldr r1, [r1, #0x0]
- add r1, #0x4f
- strb r0, [r1, #0x0]
- bx lr
- nop
-_020318B0: .word 0x021C5A00
-
- thumb_func_start FUN_020318B4
-FUN_020318B4: ; 0x020318B4
- ldr r3, _020318BC ; =FUN_02031D20
- ldr r0, _020318C0 ; =FUN_02032028
- mov r1, #0x0
- bx r3
- .balign 4
-_020318BC: .word FUN_02031D20
-_020318C0: .word FUN_02032028
-
- thumb_func_start FUN_020318C4
-FUN_020318C4: ; 0x020318C4
- push {r4}
- sub sp, #0xc
- ldr r4, _0203190C ; =0x020EEC50
- add r3, sp, #0x0
- ldmia r4!, {r0-r1}
- add r2, r3, #0x0
- stmia r3!, {r0-r1}
- ldr r0, [r4, #0x0]
- str r0, [r3, #0x0]
- ldr r0, _02031910 ; =0x021C5A00
- ldr r0, [r0, #0x0]
- ldr r1, [r0, #0x24]
- cmp r0, #0x0
- bne _020318E8
- add sp, #0xc
- mov r0, #0x0
- pop {r4}
- bx lr
-_020318E8:
- ldr r0, [sp, #0x0]
- cmp r0, #0x0
- beq _02031904
-_020318EE:
- ldr r0, [r2, #0x0]
- cmp r1, r0
- bne _020318FC
- add sp, #0xc
- mov r0, #0x1
- pop {r4}
- bx lr
-_020318FC:
- add r2, r2, #0x4
- ldr r0, [r2, #0x0]
- cmp r0, #0x0
- bne _020318EE
-_02031904:
- mov r0, #0x0
- add sp, #0xc
- pop {r4}
- bx lr
- .balign 4
-_0203190C: .word 0x020EEC50
-_02031910: .word 0x021C5A00
-
- thumb_func_start FUN_02031914
-FUN_02031914: ; 0x02031914
- ldr r3, _0203191C ; =FUN_02031D20
- ldr r0, _02031920 ; =FUN_02032178
- mov r1, #0x0
- bx r3
- .balign 4
-_0203191C: .word FUN_02031D20
-_02031920: .word FUN_02032178
-
- thumb_func_start FUN_02031924
-FUN_02031924: ; 0x02031924
- ldr r0, _02031930 ; =0x021C5A00
- mov r1, #0x1
- ldr r0, [r0, #0x0]
- add r0, #0x4c
- strb r1, [r0, #0x0]
- bx lr
- .balign 4
-_02031930: .word 0x021C5A00
-
- thumb_func_start FUN_02031934
-FUN_02031934: ; 0x02031934
- push {r3, lr}
- bl FUN_0202E49C
- ldr r0, _02031944 ; =FUN_02032194
- mov r1, #0x0
- bl FUN_02031D20
- pop {r3, pc}
- .balign 4
-_02031944: .word FUN_02032194
-
- thumb_func_start FUN_02031948
-FUN_02031948: ; 0x02031948
- push {r3-r7, lr}
- add r6, r0, #0x0
- add r7, r1, #0x0
- add r5, r2, #0x0
- add r4, r3, #0x0
- bl FUN_02030F40
- cmp r0, #0x0
- bne _02031980
- ldr r2, _02031984 ; =0x00007080
- mov r0, #0x3
- mov r1, #0xf
- bl FUN_02016828
- add r0, r6, #0x0
- add r1, r7, #0x0
- bl FUN_02031734
- ldr r0, _02031988 ; =0x021C5A00
- ldr r1, [r0, #0x0]
- add r1, #0x40
- strb r5, [r1, #0x0]
- ldr r0, [r0, #0x0]
- mov r1, #0x0
- str r4, [r0, #0x30]
- ldr r0, _0203198C ; =FUN_020321D0
- bl FUN_02031D20
-_02031980:
- pop {r3-r7, pc}
- nop
-_02031984: .word 0x00007080
-_02031988: .word 0x021C5A00
-_0203198C: .word FUN_020321D0
-
- thumb_func_start FUN_02031990
-FUN_02031990: ; 0x02031990
- push {r3-r7, lr}
- add r6, r0, #0x0
- add r7, r1, #0x0
- add r5, r2, #0x0
- add r4, r3, #0x0
- bl FUN_02030F40
- cmp r0, #0x0
- bne _020319C8
- ldr r2, _020319CC ; =0x00007080
- mov r0, #0x3
- mov r1, #0xf
- bl FUN_02016828
- add r0, r6, #0x0
- add r1, r7, #0x0
- bl FUN_02031734
- ldr r0, _020319D0 ; =0x021C5A00
- ldr r1, [r0, #0x0]
- add r1, #0x40
- strb r5, [r1, #0x0]
- ldr r0, [r0, #0x0]
- mov r1, #0x0
- str r4, [r0, #0x30]
- ldr r0, _020319D4 ; =FUN_0203224C
- bl FUN_02031D20
-_020319C8:
- pop {r3-r7, pc}
- nop
-_020319CC: .word 0x00007080
-_020319D0: .word 0x021C5A00
-_020319D4: .word FUN_0203224C
-
- thumb_func_start FUN_020319D8
-FUN_020319D8: ; 0x020319D8
- ldr r1, _020319E8 ; =0x021C5A00
- ldr r3, _020319EC ; =FUN_02031D20
- ldr r1, [r1, #0x0]
- add r1, #0x3e
- strb r0, [r1, #0x0]
- ldr r0, _020319F0 ; =FUN_02032298
- mov r1, #0x0
- bx r3
- .balign 4
-_020319E8: .word 0x021C5A00
-_020319EC: .word FUN_02031D20
-_020319F0: .word FUN_02032298
-
- thumb_func_start FUN_020319F4
-FUN_020319F4: ; 0x020319F4
- push {r3, lr}
- bl FUN_0202FCA8
- ldr r0, _02031A04 ; =FUN_02032364
- mov r1, #0x0
- bl FUN_02031D20
- pop {r3, pc}
- .balign 4
-_02031A04: .word FUN_02032364
-
- thumb_func_start FUN_02031A08
-FUN_02031A08: ; 0x02031A08
- push {r3, lr}
- ldr r0, _02031A1C ; =0x021C5A00
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- beq _02031A1A
- ldr r0, _02031A20 ; =FUN_02032440
- mov r1, #0x5
- bl FUN_02031D20
-_02031A1A:
- pop {r3, pc}
- .balign 4
-_02031A1C: .word 0x021C5A00
-_02031A20: .word FUN_02032440
-
- thumb_func_start FUN_02031A24
-FUN_02031A24: ; 0x02031A24
- ldr r3, _02031A28 ; =FUN_0202D298
- bx r3
- .balign 4
-_02031A28: .word FUN_0202D298
-
- thumb_func_start FUN_02031A2C
-FUN_02031A2C: ; 0x02031A2C
- push {r4}
- sub sp, #0xc
- ldr r4, _02031A74 ; =0x020EEC5C
- add r3, sp, #0x0
- ldmia r4!, {r0-r1}
- add r2, r3, #0x0
- stmia r3!, {r0-r1}
- ldr r0, [r4, #0x0]
- str r0, [r3, #0x0]
- ldr r0, _02031A78 ; =0x021C5A00
- ldr r0, [r0, #0x0]
- ldr r1, [r0, #0x24]
- cmp r0, #0x0
- bne _02031A50
- add sp, #0xc
- mov r0, #0x0
- pop {r4}
- bx lr
-_02031A50:
- ldr r0, [sp, #0x0]
- cmp r0, #0x0
- beq _02031A6C
-_02031A56:
- ldr r0, [r2, #0x0]
- cmp r1, r0
- bne _02031A64
- add sp, #0xc
- mov r0, #0x1
- pop {r4}
- bx lr
-_02031A64:
- add r2, r2, #0x4
- ldr r0, [r2, #0x0]
- cmp r0, #0x0
- bne _02031A56
-_02031A6C:
- mov r0, #0x0
- add sp, #0xc
- pop {r4}
- bx lr
- .balign 4
-_02031A74: .word 0x020EEC5C
-_02031A78: .word 0x021C5A00
-
- thumb_func_start FUN_02031A7C
-FUN_02031A7C: ; 0x02031A7C
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, _02031ABC ; =0x021C5A00
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- bne _02031ABA
- ldr r2, _02031AC0 ; =0x00007080
- mov r0, #0x3
- mov r1, #0xf
- bl FUN_02016828
- cmp r0, #0x0
- bne _02031A9A
- bl FUN_020335E0
-_02031A9A:
- add r0, r4, #0x0
- mov r1, #0x9
- bl FUN_02031734
- ldr r0, _02031ABC ; =0x021C5A00
- mov r2, #0x9
- ldr r1, [r0, #0x0]
- add r1, #0x3f
- strb r2, [r1, #0x0]
- ldr r0, [r0, #0x0]
- mov r1, #0x0
- add r0, #0x40
- strb r1, [r0, #0x0]
- ldr r0, _02031AC4 ; =FUN_02032478
- bl FUN_02031D20
-_02031ABA:
- pop {r4, pc}
- .balign 4
-_02031ABC: .word 0x021C5A00
-_02031AC0: .word 0x00007080
-_02031AC4: .word FUN_02032478
-
- thumb_func_start FUN_02031AC8
-FUN_02031AC8: ; 0x02031AC8
- push {r3, lr}
- ldr r1, _02031AEC ; =0x021C5A00
- ldr r2, [r1, #0x0]
- add r2, #0x3e
- strb r0, [r2, #0x0]
- ldr r0, [r1, #0x0]
- mov r2, #0x3
- strh r2, [r0, #0x38]
- mov r0, #0x1
- bl FUN_0202D344
- bl FUN_02033E74
- ldr r0, _02031AF0 ; =FUN_02032628
- mov r1, #0x0
- bl FUN_02031D20
- pop {r3, pc}
- .balign 4
-_02031AEC: .word 0x021C5A00
-_02031AF0: .word FUN_02032628
-
- thumb_func_start FUN_02031AF4
-FUN_02031AF4: ; 0x02031AF4
- ldr r0, _02031B20 ; =0x021C5A00
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- bne _02031B02
- mov r0, #0x0
- mvn r0, r0
- bx lr
-_02031B02:
- ldr r1, [r0, #0x24]
- ldr r0, _02031B24 ; =FUN_0203279C
- cmp r1, r0
- bne _02031B0E
- mov r0, #0x1
- bx lr
-_02031B0E:
- ldr r0, _02031B28 ; =FUN_020327B4
- cmp r1, r0
- bne _02031B18
- mov r0, #0x1
- b _02031B1A
-_02031B18:
- mov r0, #0x0
-_02031B1A:
- neg r0, r0
- bx lr
- nop
-_02031B20: .word 0x021C5A00
-_02031B24: .word FUN_0203279C
-_02031B28: .word FUN_020327B4
-
- thumb_func_start FUN_02031B2C
-FUN_02031B2C: ; 0x02031B2C
- ldr r0, _02031B48 ; =0x021C5A00
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- bne _02031B38
- mov r0, #0x0
- bx lr
-_02031B38:
- ldr r1, [r0, #0x24]
- ldr r0, _02031B4C ; =FUN_020327FC
- cmp r1, r0
- bne _02031B44
- mov r0, #0x1
- bx lr
-_02031B44:
- mov r0, #0x0
- bx lr
- .balign 4
-_02031B48: .word 0x021C5A00
-_02031B4C: .word FUN_020327FC
-
- thumb_func_start FUN_02031B50
-FUN_02031B50: ; 0x02031B50
- push {r3, lr}
- mov r0, #0x0
- bl FUN_0202D344
- ldr r0, _02031BC4 ; =0x021C5A00
- ldr r1, [r0, #0x0]
- add r0, r1, #0x0
- add r0, #0x44
- ldrb r0, [r0, #0x0]
- cmp r0, #0x1
- bne _02031B78
- add r0, r1, #0x0
- add r0, #0x45
- ldrb r0, [r0, #0x0]
- cmp r0, #0x1
- bne _02031B78
- add r1, #0x3f
- ldrb r0, [r1, #0x0]
- cmp r0, #0x9
- bne _02031B80
-_02031B78:
- mov r0, #0x0
- add r1, r0, #0x0
- bl FUN_020334E8
-_02031B80:
- bl FUN_02033ED0
- ldr r0, _02031BC4 ; =0x021C5A00
- mov r2, #0x9
- ldr r1, [r0, #0x0]
- add r1, #0x3f
- strb r2, [r1, #0x0]
- ldr r1, [r0, #0x0]
- mov r2, #0x0
- add r1, #0x48
- strb r2, [r1, #0x0]
- ldr r0, [r0, #0x0]
- add r0, #0x3c
- ldrb r0, [r0, #0x0]
- bl FUN_0202D1B0
- bl FUN_02031190
- cmp r0, #0x0
- bne _02031BB8
- mov r0, #0x1
- bl FUN_0202D36C
- ldr r0, _02031BC8 ; =FUN_020323DC
- mov r1, #0xf
- bl FUN_02031D20
- pop {r3, pc}
-_02031BB8:
- ldr r0, _02031BCC ; =FUN_02032424
- mov r1, #0x5
- bl FUN_02031D20
- pop {r3, pc}
- nop
-_02031BC4: .word 0x021C5A00
-_02031BC8: .word FUN_020323DC
-_02031BCC: .word FUN_02032424
-
- thumb_func_start FUN_02031BD0
-FUN_02031BD0: ; 0x02031BD0
- ldr r0, _02031BEC ; =0x021C5A00
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- bne _02031BDC
- mov r0, #0x1
- bx lr
-_02031BDC:
- ldr r1, [r0, #0x24]
- ldr r0, _02031BF0 ; =FUN_020324F8
- cmp r1, r0
- beq _02031BE8
- mov r0, #0x1
- bx lr
-_02031BE8:
- mov r0, #0x0
- bx lr
- .balign 4
-_02031BEC: .word 0x021C5A00
-_02031BF0: .word FUN_020324F8
-
- thumb_func_start FUN_02031BF4
-FUN_02031BF4: ; 0x02031BF4
- push {r3, lr}
- ldr r0, _02031C08 ; =0x021C5A00
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- beq _02031C06
- ldr r0, _02031C0C ; =FUN_02032440
- mov r1, #0x5
- bl FUN_02031D20
-_02031C06:
- pop {r3, pc}
- .balign 4
-_02031C08: .word 0x021C5A00
-_02031C0C: .word FUN_02032440
-
- thumb_func_start FUN_02031C10
-FUN_02031C10: ; 0x02031C10
- push {r3, lr}
- ldr r0, _02031C28 ; =0x021C5A00
- ldr r1, [r0, #0x0]
- cmp r1, #0x0
- beq _02031C24
- mov r0, #0x1
- add r1, #0x48
- strb r0, [r1, #0x0]
- bl FUN_0202D344
-_02031C24:
- pop {r3, pc}
- nop
-_02031C28: .word 0x021C5A00
-
- thumb_func_start FUN_02031C2C
-FUN_02031C2C: ; 0x02031C2C
- push {r3, lr}
- ldr r0, _02031C4C ; =0x021C5A00
- ldr r1, [r0, #0x0]
- cmp r1, #0x0
- beq _02031C48
- mov r0, #0x1
- add r1, #0x48
- strb r0, [r1, #0x0]
- bl FUN_0202D344
- ldr r0, _02031C50 ; =FUN_02032850
- mov r1, #0x0
- bl FUN_02031D20
-_02031C48:
- pop {r3, pc}
- nop
-_02031C4C: .word 0x021C5A00
-_02031C50: .word FUN_02032850
-
- thumb_func_start FUN_02031C54
-FUN_02031C54: ; 0x02031C54
- ldr r0, _02031C60 ; =0x021C5A00
- mov r1, #0x12
- ldr r0, [r0, #0x0]
- add r0, #0x3f
- strb r1, [r0, #0x0]
- bx lr
- .balign 4
-_02031C60: .word 0x021C5A00
-
- thumb_func_start FUN_02031C64
-FUN_02031C64: ; 0x02031C64
- ldr r0, _02031C70 ; =0x021C5A00
- mov r1, #0x9
- ldr r0, [r0, #0x0]
- add r0, #0x3f
- strb r1, [r0, #0x0]
- bx lr
- .balign 4
-_02031C70: .word 0x021C5A00
-
- thumb_func_start FUN_02031C74
-FUN_02031C74: ; 0x02031C74
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- bl FUN_02030F40
- cmp r0, #0x0
- bne _02031C9C
- ldr r2, _02031CA0 ; =0x00007080
- mov r0, #0x3
- mov r1, #0xf
- bl FUN_02016828
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02031734
- ldr r0, _02031CA4 ; =FUN_02032E00
- mov r1, #0x0
- bl FUN_02031D20
-_02031C9C:
- pop {r3-r5, pc}
- nop
-_02031CA0: .word 0x00007080
-_02031CA4: .word FUN_02032E00
-
- thumb_func_start FUN_02031CA8
-FUN_02031CA8: ; 0x02031CA8
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- bl FUN_02030F40
- cmp r0, #0x0
- bne _02031CD0
- ldr r2, _02031CD4 ; =0x00007080
- mov r0, #0x3
- mov r1, #0xf
- bl FUN_02016828
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02031734
- ldr r0, _02031CD8 ; =FUN_02032E48
- mov r1, #0x0
- bl FUN_02031D20
-_02031CD0:
- pop {r3-r5, pc}
- nop
-_02031CD4: .word 0x00007080
-_02031CD8: .word FUN_02032E48
-
- thumb_func_start FUN_02031CDC
-FUN_02031CDC: ; 0x02031CDC
- push {r3, lr}
- ldr r0, _02031D1C ; =0x021C5A00
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- beq _02031CEE
- ldr r0, [r0, #0x24]
- cmp r0, #0x0
- beq _02031CEE
- blx r0
-_02031CEE:
- bl FUN_02033590
- cmp r0, #0x0
- beq _02031D04
- blx FUN_021DDB08
- mov r1, #0x3
- sub r0, r1, r0
- bl FUN_02033EEC
- pop {r3, pc}
-_02031D04:
- bl FUN_0202EDF8
- cmp r0, #0x0
- beq _02031D18
- blx WM_GetLinkLevel
- mov r1, #0x3
- sub r0, r1, r0
- bl FUN_02033EEC
-_02031D18:
- pop {r3, pc}
- nop
-_02031D1C: .word 0x021C5A00
-
- thumb_func_start FUN_02031D20
-FUN_02031D20: ; 0x02031D20
- ldr r2, _02031D2C ; =0x021C5A00
- ldr r3, [r2, #0x0]
- str r0, [r3, #0x24]
- ldr r0, [r2, #0x0]
- strh r1, [r0, #0x3a]
- bx lr
- .balign 4
-_02031D2C: .word 0x021C5A00
-
- thumb_func_start FUN_02031D30
-FUN_02031D30: ; 0x02031D30
- push {r3-r5, lr}
- ldr r0, _02031DF8 ; =0x021C5A00
- ldr r1, [r0, #0x0]
- ldrh r0, [r1, #0x3a]
- cmp r0, #0x0
- beq _02031D42
- sub r0, r0, #0x1
- strh r0, [r1, #0x3a]
- pop {r3-r5, pc}
-_02031D42:
- bl FUN_0202E4C8
- cmp r0, #0x0
- beq _02031DF6
- ldr r0, _02031DF8 ; =0x021C5A00
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x2c]
- bl FUN_0202E29C
- ldr r0, _02031DF8 ; =0x021C5A00
- mov r1, #0x0
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x28]
- bl FUN_0202DB14
- mov r0, #0x1
- bl FUN_02031268
- bl FUN_02030FA8
- ldr r0, _02031DF8 ; =0x021C5A00
- ldr r1, [r0, #0x0]
- add r0, r1, #0x0
- add r0, #0x4a
- ldrb r0, [r0, #0x0]
- cmp r0, #0x0
- beq _02031DC8
- add r1, #0x43
- ldrb r1, [r1, #0x0]
- mov r0, #0x1
- mov r2, #0x7d
- lsl r2, r2, #0x2
- add r3, r0, #0x0
- bl FUN_0202F918
- cmp r0, #0x0
- beq _02031DF6
- ldr r0, _02031DF8 ; =0x021C5A00
- ldr r5, [r0, #0x0]
- add r4, r5, #0x0
- add r4, #0xc
- ldr r0, [r4, #0x8]
- ldr r1, [r4, #0xc]
- ldr r2, [r5, #0xc]
- ldr r3, [r4, #0x4]
- blx _ll_mul
- ldr r2, [r4, #0x10]
- ldr r3, [r4, #0x14]
- add r0, r2, r0
- adc r3, r1
- str r0, [r5, #0xc]
- str r3, [r4, #0x4]
- add r0, r3, #0x0
- mov r1, #0x0
- mov r2, #0x14
- mov r3, #0x0
- blx _ll_mul
- mov r0, #0x0
- add r5, #0x43
- strb r0, [r5, #0x0]
- ldr r0, _02031DFC ; =FUN_020320C4
- add r1, #0x14
- bl FUN_02031D20
- pop {r3-r5, pc}
-_02031DC8:
- mov r0, #0x1
- mov r2, #0x7d
- add r1, r0, #0x0
- lsl r2, r2, #0x2
- bl FUN_0202F950
- cmp r0, #0x0
- beq _02031DF6
- ldr r0, _02031DF8 ; =0x021C5A00
- ldr r0, [r0, #0x0]
- add r0, #0x4c
- ldrb r0, [r0, #0x0]
- cmp r0, #0x0
- beq _02031DEE
- ldr r0, _02031E00 ; =FUN_020323B8
- mov r1, #0x0
- bl FUN_02031D20
- pop {r3-r5, pc}
-_02031DEE:
- ldr r0, _02031E04 ; =FUN_02031EE0
- mov r1, #0x40
- bl FUN_02031D20
-_02031DF6:
- pop {r3-r5, pc}
- .balign 4
-_02031DF8: .word 0x021C5A00
-_02031DFC: .word FUN_020320C4
-_02031E00: .word FUN_020323B8
-_02031E04: .word FUN_02031EE0
-
- thumb_func_start FUN_02031E08
-FUN_02031E08: ; 0x02031E08
- push {r3-r5, lr}
- bl FUN_0202EE0C
- cmp r0, #0x0
- beq _02031E7C
- mov r0, #0x1
- bl FUN_02031268
- bl FUN_02030FA8
- ldr r0, _02031E80 ; =0x021C5A00
- ldr r0, [r0, #0x0]
- add r0, #0x4a
- ldrb r0, [r0, #0x0]
- cmp r0, #0x0
- beq _02031E32
- ldr r0, _02031E84 ; =FUN_02032058
- mov r1, #0x0
- bl FUN_02031D20
- pop {r3-r5, pc}
-_02031E32:
- mov r2, #0x7d
- mov r0, #0x0
- mov r1, #0x1
- lsl r2, r2, #0x2
- bl FUN_0202F950
- cmp r0, #0x0
- beq _02031E7C
- ldr r0, _02031E80 ; =0x021C5A00
- ldr r5, [r0, #0x0]
- add r4, r5, #0x0
- add r4, #0xc
- ldr r0, [r4, #0x8]
- ldr r1, [r4, #0xc]
- ldr r2, [r5, #0xc]
- ldr r3, [r4, #0x4]
- blx _ll_mul
- ldr r2, [r4, #0x10]
- ldr r3, [r4, #0x14]
- add r0, r2, r0
- adc r3, r1
- str r0, [r5, #0xc]
- mov r1, #0x0
- str r3, [r4, #0x4]
- lsr r0, r3, #0x1a
- lsl r1, r1, #0x6
- orr r1, r0
- ldrh r0, [r5, #0x38]
- cmp r0, #0x0
- beq _02031E76
- lsl r1, r0, #0x6
- mov r0, #0x0
- strh r0, [r5, #0x38]
-_02031E76:
- ldr r0, _02031E88 ; =FUN_02031EE0
- bl FUN_02031D20
-_02031E7C:
- pop {r3-r5, pc}
- nop
-_02031E80: .word 0x021C5A00
-_02031E84: .word FUN_02032058
-_02031E88: .word FUN_02031EE0
-
- thumb_func_start FUN_02031E8C
-FUN_02031E8C: ; 0x02031E8C
- push {r3-r5, lr}
- bl FUN_0202EE0C
- cmp r0, #0x0
- beq _02031ED6
- mov r0, #0x0
- mov r2, #0x7d
- add r1, r0, #0x0
- lsl r2, r2, #0x2
- bl FUN_0202F950
- cmp r0, #0x0
- beq _02031ED6
- ldr r0, _02031ED8 ; =0x021C5A00
- ldr r4, [r0, #0x0]
- add r5, r4, #0x0
- add r5, #0xc
- ldr r0, [r5, #0x8]
- ldr r1, [r5, #0xc]
- ldr r2, [r4, #0xc]
- ldr r3, [r5, #0x4]
- blx _ll_mul
- ldr r2, [r5, #0x10]
- ldr r3, [r5, #0x14]
- add r0, r2, r0
- adc r3, r1
- str r0, [r4, #0xc]
- mov r1, #0x0
- lsr r2, r3, #0x1b
- lsl r1, r1, #0x5
- orr r1, r2
- ldr r0, _02031EDC ; =FUN_02031EE0
- add r1, #0x10
- str r3, [r5, #0x4]
- bl FUN_02031D20
-_02031ED6:
- pop {r3-r5, pc}
- .balign 4
-_02031ED8: .word 0x021C5A00
-_02031EDC: .word FUN_02031EE0
-
- thumb_func_start FUN_02031EE0
-FUN_02031EE0: ; 0x02031EE0
- push {r3, lr}
- bl FUN_0202EA54
- ldr r0, _02031F54 ; =0x021C5A00
- ldr r1, [r0, #0x0]
- add r0, r1, #0x0
- add r0, #0x4f
- ldrb r0, [r0, #0x0]
- cmp r0, #0x0
- bne _02031F50
- add r1, #0x4b
- ldrb r0, [r1, #0x0]
- cmp r0, #0x0
- bne _02031F50
- bl FUN_0202E8F4
- mov r1, #0x0
- mvn r1, r1
- cmp r0, r1
- beq _02031F1A
- ldr r1, _02031F54 ; =0x021C5A00
- ldr r1, [r1, #0x0]
- add r1, #0x3e
- strb r0, [r1, #0x0]
- ldr r0, _02031F58 ; =FUN_02031F60
- mov r1, #0x20
- bl FUN_02031D20
- pop {r3, pc}
-_02031F1A:
- ldr r0, _02031F54 ; =0x021C5A00
- ldr r1, [r0, #0x0]
- ldrh r0, [r1, #0x3a]
- cmp r0, #0x0
- beq _02031F2A
- sub r0, r0, #0x1
- strh r0, [r1, #0x3a]
- pop {r3, pc}
-_02031F2A:
- bl FUN_0202E950
- mov r1, #0x0
- mvn r1, r1
- cmp r0, r1
- beq _02031F48
- ldr r1, _02031F54 ; =0x021C5A00
- ldr r1, [r1, #0x0]
- add r1, #0x3e
- strb r0, [r1, #0x0]
- ldr r0, _02031F58 ; =FUN_02031F60
- mov r1, #0x20
- bl FUN_02031D20
- pop {r3, pc}
-_02031F48:
- ldr r0, _02031F5C ; =FUN_02032028
- mov r1, #0x0
- bl FUN_02031D20
-_02031F50:
- pop {r3, pc}
- nop
-_02031F54: .word 0x021C5A00
-_02031F58: .word FUN_02031F60
-_02031F5C: .word FUN_02032028
-
- thumb_func_start FUN_02031F60
-FUN_02031F60: ; 0x02031F60
- push {r3, lr}
- bl FUN_0202EA54
- ldr r0, _02031FBC ; =0x021C5A00
- ldr r0, [r0, #0x0]
- add r0, #0x3e
- ldrb r0, [r0, #0x0]
- bl FUN_0202E8A0
- cmp r0, #0x0
- beq _02031F90
- ldr r0, _02031FBC ; =0x021C5A00
- ldr r0, [r0, #0x0]
- add r0, #0x3e
- ldrb r0, [r0, #0x0]
- bl FUN_0202FB18
- cmp r0, #0x0
- beq _02031F90
- ldr r0, _02031FC0 ; =FUN_02031FC8
- mov r1, #0x64
- bl FUN_02031D20
- pop {r3, pc}
-_02031F90:
- bl FUN_020311F0
- cmp r0, #0x0
- beq _02031FA2
- ldr r0, _02031FC4 ; =FUN_02032028
- mov r1, #0x0
- bl FUN_02031D20
- pop {r3, pc}
-_02031FA2:
- ldr r0, _02031FBC ; =0x021C5A00
- ldr r1, [r0, #0x0]
- ldrh r0, [r1, #0x3a]
- cmp r0, #0x0
- beq _02031FB2
- sub r0, r0, #0x1
- strh r0, [r1, #0x3a]
- pop {r3, pc}
-_02031FB2:
- ldr r0, _02031FC4 ; =FUN_02032028
- mov r1, #0x0
- bl FUN_02031D20
- pop {r3, pc}
- .balign 4
-_02031FBC: .word 0x021C5A00
-_02031FC0: .word FUN_02031FC8
-_02031FC4: .word FUN_02032028
-
- thumb_func_start FUN_02031FC8
-FUN_02031FC8: ; 0x02031FC8
- push {r3, lr}
- bl FUN_02031190
- bl FUN_02030E7C
- cmp r0, #0x0
- beq _02031FEE
- bl FUN_0202FC60
- mov r0, #0x0
- bl FUN_02031268
- bl FUN_02030FA8
- ldr r0, _0203201C ; =FUN_0203213C
- mov r1, #0x0
- bl FUN_02031D20
- pop {r3, pc}
-_02031FEE:
- bl FUN_020311F0
- cmp r0, #0x0
- beq _02032000
- ldr r0, _02032020 ; =FUN_02032028
- mov r1, #0x0
- bl FUN_02031D20
- pop {r3, pc}
-_02032000:
- ldr r0, _02032024 ; =0x021C5A00
- ldr r1, [r0, #0x0]
- ldrh r0, [r1, #0x3a]
- cmp r0, #0x0
- beq _02032010
- sub r0, r0, #0x1
- strh r0, [r1, #0x3a]
- pop {r3, pc}
-_02032010:
- ldr r0, _02032020 ; =FUN_02032028
- mov r1, #0x0
- bl FUN_02031D20
- pop {r3, pc}
- nop
-_0203201C: .word FUN_0203213C
-_02032020: .word FUN_02032028
-_02032024: .word 0x021C5A00
-
- thumb_func_start FUN_02032028
-FUN_02032028: ; 0x02032028
- push {r3, lr}
- bl FUN_0202E6F0
- cmp r0, #0x0
- beq _0203203A
- ldr r0, _0203203C ; =FUN_02032058
- mov r1, #0x0
- bl FUN_02031D20
-_0203203A:
- pop {r3, pc}
- .balign 4
-_0203203C: .word FUN_02032058
-
- thumb_func_start FUN_02032040
-FUN_02032040: ; 0x02032040
- push {r3, lr}
- bl FUN_0202E6F0
- cmp r0, #0x0
- beq _02032052
- ldr r0, _02032054 ; =FUN_02031E8C
- mov r1, #0x0
- bl FUN_02031D20
-_02032052:
- pop {r3, pc}
- .balign 4
-_02032054: .word FUN_02031E8C
-
- thumb_func_start FUN_02032058
-FUN_02032058: ; 0x02032058
- push {r3-r5, lr}
- bl FUN_0202EE0C
- cmp r0, #0x0
- beq _020320BA
- mov r0, #0x1
- bl FUN_02031268
- ldr r1, _020320BC ; =0x021C5A00
- mov r2, #0x7d
- ldr r1, [r1, #0x0]
- mov r0, #0x0
- add r1, #0x43
- ldrb r1, [r1, #0x0]
- lsl r2, r2, #0x2
- mov r3, #0x1
- bl FUN_0202F918
- cmp r0, #0x0
- beq _020320BA
- ldr r0, _020320BC ; =0x021C5A00
- ldr r5, [r0, #0x0]
- add r4, r5, #0x0
- add r4, #0xc
- ldr r0, [r4, #0x8]
- ldr r1, [r4, #0xc]
- ldr r2, [r5, #0xc]
- ldr r3, [r4, #0x4]
- blx _ll_mul
- ldr r2, [r4, #0x10]
- ldr r3, [r4, #0x14]
- add r0, r2, r0
- adc r3, r1
- str r0, [r5, #0xc]
- str r3, [r4, #0x4]
- add r0, r3, #0x0
- mov r1, #0x0
- mov r2, #0x14
- mov r3, #0x0
- blx _ll_mul
- mov r0, #0x0
- add r5, #0x43
- strb r0, [r5, #0x0]
- ldr r0, _020320C0 ; =FUN_020320C4
- add r1, #0x14
- bl FUN_02031D20
-_020320BA:
- pop {r3-r5, pc}
- .balign 4
-_020320BC: .word 0x021C5A00
-_020320C0: .word FUN_020320C4
-
- thumb_func_start FUN_020320C4
-FUN_020320C4: ; 0x020320C4
- push {r3, lr}
- bl FUN_020311E8
- cmp r0, #0x0
- beq _020320E2
- ldr r0, _0203210C ; =0x021C5A00
- mov r1, #0x1
- ldr r0, [r0, #0x0]
- add r0, #0x43
- strb r1, [r0, #0x0]
- ldr r0, _02032110 ; =FUN_02032118
- mov r1, #0x0
- bl FUN_02031D20
- pop {r3, pc}
-_020320E2:
- ldr r0, _0203210C ; =0x021C5A00
- ldr r1, [r0, #0x0]
- ldrh r0, [r1, #0x3a]
- cmp r0, #0x0
- beq _020320F2
- sub r0, r0, #0x1
- strh r0, [r1, #0x3a]
- pop {r3, pc}
-_020320F2:
- add r1, #0x4a
- ldrb r0, [r1, #0x0]
- cmp r0, #0x0
- bne _0203210A
- bl FUN_0202E6F0
- cmp r0, #0x0
- beq _0203210A
- ldr r0, _02032114 ; =FUN_02032040
- mov r1, #0x2
- bl FUN_02031D20
-_0203210A:
- pop {r3, pc}
- .balign 4
-_0203210C: .word 0x021C5A00
-_02032110: .word FUN_02032118
-_02032114: .word FUN_02032040
-
- thumb_func_start FUN_02032118
-FUN_02032118: ; 0x02032118
- push {r3, lr}
- mov r0, #0x0
- bl FUN_02031268
- mov r0, #0x1
- bl FUN_0202EE84
- bl FUN_02030FA8
- ldr r0, _02032134 ; =FUN_02032138
- mov r1, #0x0
- bl FUN_02031D20
- pop {r3, pc}
- .balign 4
-_02032134: .word FUN_02032138
-
- thumb_func_start FUN_02032138
-FUN_02032138: ; 0x02032138
- bx lr
- .balign 4
-
- thumb_func_start FUN_0203213C
-FUN_0203213C: ; 0x0203213C
- bx lr
- .balign 4
-
- thumb_func_start FUN_02032140
-FUN_02032140: ; 0x02032140
- push {r3, lr}
- ldr r0, _02032170 ; =0x021C5A00
- ldr r0, [r0, #0x0]
- add r0, #0x3f
- ldrb r0, [r0, #0x0]
- cmp r0, #0x13
- bhs _02032166
- bl FUN_0202EE0C
- cmp r0, #0x0
- beq _0203216E
- mov r0, #0x1
- bl FUN_02031268
- bl FUN_02030FA8
- mov r0, #0x1
- bl FUN_0202E7B0
-_02032166:
- ldr r0, _02032174 ; =FUN_020323B8
- mov r1, #0x0
- bl FUN_02031D20
-_0203216E:
- pop {r3, pc}
- .balign 4
-_02032170: .word 0x021C5A00
-_02032174: .word FUN_020323B8
-
- thumb_func_start FUN_02032178
-FUN_02032178: ; 0x02032178
- push {r3, lr}
- bl FUN_0202E6F0
- cmp r0, #0x0
- beq _0203218E
- bl FUN_0202FC60
- ldr r0, _02032190 ; =FUN_02032140
- mov r1, #0x0
- bl FUN_02031D20
-_0203218E:
- pop {r3, pc}
- .balign 4
-_02032190: .word FUN_02032140
-
- thumb_func_start FUN_02032194
-FUN_02032194: ; 0x02032194
- push {r3, lr}
- bl FUN_0202E4C8
- cmp r0, #0x0
- beq _020321B0
- mov r0, #0x0
- bl FUN_0202E7B0
- bl FUN_0202FC60
- ldr r0, _020321B4 ; =FUN_02031E08
- mov r1, #0x0
- bl FUN_02031D20
-_020321B0:
- pop {r3, pc}
- nop
-_020321B4: .word FUN_02031E08
-
- thumb_func_start FUN_020321B8
-FUN_020321B8: ; 0x020321B8
- push {r3, lr}
- bl FUN_0202E6F0
- cmp r0, #0x0
- beq _020321CA
- ldr r0, _020321CC ; =FUN_02031E08
- mov r1, #0x0
- bl FUN_02031D20
-_020321CA:
- pop {r3, pc}
- .balign 4
-_020321CC: .word FUN_02031E08
-
- thumb_func_start FUN_020321D0
-FUN_020321D0: ; 0x020321D0
- push {r3, lr}
- bl FUN_0202E4C8
- cmp r0, #0x0
- beq _0203220C
- ldr r0, _02032210 ; =0x021C5A00
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x2c]
- bl FUN_0202E29C
- ldr r0, _02032210 ; =0x021C5A00
- ldr r1, [r0, #0x0]
- ldr r0, [r1, #0x28]
- ldr r1, [r1, #0x30]
- bl FUN_0202DB14
- mov r0, #0x1
- add r1, r0, #0x0
- lsl r2, r0, #0x9
- add r3, r0, #0x0
- bl FUN_0202F918
- cmp r0, #0x0
- beq _0203220C
- bl FUN_0202FA10
- ldr r0, _02032214 ; =FUN_02032218
- mov r1, #0x0
- bl FUN_02031D20
-_0203220C:
- pop {r3, pc}
- nop
-_02032210: .word 0x021C5A00
-_02032214: .word FUN_02032218
-
- thumb_func_start FUN_02032218
-FUN_02032218: ; 0x02032218
- push {r3, lr}
- bl FUN_02031190
- bl FUN_02030E7C
- cmp r0, #0x0
- beq _0203222E
- ldr r0, _02032230 ; =FUN_02032234
- mov r1, #0x0
- bl FUN_02031D20
-_0203222E:
- pop {r3, pc}
- .balign 4
-_02032230: .word FUN_02032234
-
- thumb_func_start FUN_02032234
-FUN_02032234: ; 0x02032234
- push {r3, lr}
- bl FUN_02030F40
- cmp r0, #0x0
- bne _02032246
- ldr r0, _02032248 ; =FUN_020323BC
- mov r1, #0x0
- bl FUN_02031D20
-_02032246:
- pop {r3, pc}
- .balign 4
-_02032248: .word FUN_020323BC
-
- thumb_func_start FUN_0203224C
-FUN_0203224C: ; 0x0203224C
- push {r3, lr}
- bl FUN_0202E4C8
- cmp r0, #0x0
- beq _02032286
- ldr r0, _02032288 ; =0x021C5A00
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x2c]
- bl FUN_0202E29C
- ldr r0, _02032288 ; =0x021C5A00
- ldr r1, [r0, #0x0]
- ldr r0, [r1, #0x28]
- ldr r1, [r1, #0x30]
- bl FUN_0202DB14
- mov r0, #0x1
- add r1, r0, #0x0
- lsl r2, r0, #0x9
- bl FUN_0202F950
- cmp r0, #0x0
- beq _02032286
- bl FUN_0202FA10
- ldr r0, _0203228C ; =FUN_02032290
- mov r1, #0x0
- bl FUN_02031D20
-_02032286:
- pop {r3, pc}
- .balign 4
-_02032288: .word 0x021C5A00
-_0203228C: .word FUN_02032290
-
- thumb_func_start FUN_02032290
-FUN_02032290: ; 0x02032290
- ldr r3, _02032294 ; =FUN_0202EA54
- bx r3
- .balign 4
-_02032294: .word FUN_0202EA54
-
- thumb_func_start FUN_02032298
-FUN_02032298: ; 0x02032298
- push {r3, lr}
- bl FUN_0202EA54
- ldr r0, _020322B8 ; =0x021C5A00
- ldr r0, [r0, #0x0]
- add r0, #0x3e
- ldrb r0, [r0, #0x0]
- bl FUN_0202FB18
- cmp r0, #0x0
- beq _020322B6
- ldr r0, _020322BC ; =FUN_020322C0
- mov r1, #0xa
- bl FUN_02031D20
-_020322B6:
- pop {r3, pc}
- .balign 4
-_020322B8: .word 0x021C5A00
-_020322BC: .word FUN_020322C0
-
- thumb_func_start FUN_020322C0
-FUN_020322C0: ; 0x020322C0
- push {r3, lr}
- bl FUN_020311F0
- cmp r0, #0x0
- beq _020322D2
- ldr r0, _020322F0 ; =FUN_020322F8
- mov r1, #0x0
- bl FUN_02031D20
-_020322D2:
- bl FUN_02031190
- bl FUN_02030E7C
- cmp r0, #0x0
- beq _020322EE
- bl FUN_02031190
- cmp r0, #0x0
- beq _020322EE
- ldr r0, _020322F4 ; =FUN_0203234C
- mov r1, #0x0
- bl FUN_02031D20
-_020322EE:
- pop {r3, pc}
- .balign 4
-_020322F0: .word FUN_020322F8
-_020322F4: .word FUN_0203234C
-
- thumb_func_start FUN_020322F8
-FUN_020322F8: ; 0x020322F8
- push {r3, lr}
- bl FUN_0202E6F0
- ldr r0, _02032308 ; =FUN_0203230C
- mov r1, #0x2
- bl FUN_02031D20
- pop {r3, pc}
- .balign 4
-_02032308: .word FUN_0203230C
-
- thumb_func_start FUN_0203230C
-FUN_0203230C: ; 0x0203230C
- push {r3, lr}
- ldr r0, _02032344 ; =0x021C5A00
- ldr r1, [r0, #0x0]
- ldrh r0, [r1, #0x3a]
- cmp r0, #0x0
- beq _0203231E
- sub r0, r0, #0x1
- strh r0, [r1, #0x3a]
- pop {r3, pc}
-_0203231E:
- bl FUN_0202EE0C
- cmp r0, #0x0
- beq _02032340
- mov r1, #0x1
- mov r0, #0x0
- lsl r2, r1, #0x9
- bl FUN_0202F950
- cmp r0, #0x0
- beq _02032340
- bl FUN_0202FA10
- ldr r0, _02032348 ; =FUN_02032298
- mov r1, #0xa
- bl FUN_02031D20
-_02032340:
- pop {r3, pc}
- nop
-_02032344: .word 0x021C5A00
-_02032348: .word FUN_02032298
-
- thumb_func_start FUN_0203234C
-FUN_0203234C: ; 0x0203234C
- push {r3, lr}
- bl FUN_02030F40
- cmp r0, #0x0
- bne _0203235E
- ldr r0, _02032360 ; =FUN_020323BC
- mov r1, #0x0
- bl FUN_02031D20
-_0203235E:
- pop {r3, pc}
- .balign 4
-_02032360: .word FUN_020323BC
-
- thumb_func_start FUN_02032364
-FUN_02032364: ; 0x02032364
- push {r3, lr}
- bl FUN_0202E6F0
- ldr r0, _02032374 ; =FUN_02032378
- mov r1, #0x2
- bl FUN_02031D20
- pop {r3, pc}
- .balign 4
-_02032374: .word FUN_02032378
-
- thumb_func_start FUN_02032378
-FUN_02032378: ; 0x02032378
- push {r3, lr}
- ldr r0, _020323B0 ; =0x021C5A00
- ldr r1, [r0, #0x0]
- ldrh r0, [r1, #0x3a]
- cmp r0, #0x0
- beq _0203238A
- sub r0, r0, #0x1
- strh r0, [r1, #0x3a]
- pop {r3, pc}
-_0203238A:
- bl FUN_0202EE0C
- cmp r0, #0x0
- beq _020323AC
- mov r1, #0x1
- mov r0, #0x0
- lsl r2, r1, #0x9
- bl FUN_0202F950
- cmp r0, #0x0
- beq _020323AC
- bl FUN_0202FA10
- ldr r0, _020323B4 ; =FUN_02032290
- mov r1, #0xa
- bl FUN_02031D20
-_020323AC:
- pop {r3, pc}
- nop
-_020323B0: .word 0x021C5A00
-_020323B4: .word FUN_02032290
-
- thumb_func_start FUN_020323B8
-FUN_020323B8: ; 0x020323B8
- bx lr
- .balign 4
-
- thumb_func_start FUN_020323BC
-FUN_020323BC: ; 0x020323BC
- push {r3, lr}
- bl FUN_02030F40
- cmp r0, #0x0
- bne _020323CA
- bl FUN_020317C0
-_020323CA:
- pop {r3, pc}
-
- thumb_func_start FUN_020323CC
-FUN_020323CC: ; 0x020323CC
- ldr r3, _020323D4 ; =FUN_02031D20
- ldr r0, _020323D8 ; =FUN_02032440
- mov r1, #0x5
- bx r3
- .balign 4
-_020323D4: .word FUN_02031D20
-_020323D8: .word FUN_02032440
-
- thumb_func_start FUN_020323DC
-FUN_020323DC: ; 0x020323DC
- push {r3, lr}
- bl FUN_02030F20
- cmp r0, #0x1
- bgt _020323F8
- mov r0, #0x0
- bl FUN_0202D36C
- bl FUN_0202FC80
- ldr r0, _0203241C ; =FUN_020324F8
- mov r1, #0x0
- bl FUN_02031D20
-_020323F8:
- ldr r0, _02032420 ; =0x021C5A00
- ldr r1, [r0, #0x0]
- ldrh r0, [r1, #0x3a]
- cmp r0, #0x0
- beq _02032408
- sub r0, r0, #0x1
- strh r0, [r1, #0x3a]
- pop {r3, pc}
-_02032408:
- mov r0, #0x0
- bl FUN_0202D36C
- bl FUN_0202FC80
- ldr r0, _0203241C ; =FUN_020324F8
- mov r1, #0x0
- bl FUN_02031D20
- pop {r3, pc}
- .balign 4
-_0203241C: .word FUN_020324F8
-_02032420: .word 0x021C5A00
-
- thumb_func_start FUN_02032424
-FUN_02032424: ; 0x02032424
- push {r3, lr}
- bl FUN_0202E6F0
- cmp r0, #0x0
- beq _0203243A
- bl FUN_0202FC60
- ldr r0, _0203243C ; =FUN_020324F8
- mov r1, #0x0
- bl FUN_02031D20
-_0203243A:
- pop {r3, pc}
- .balign 4
-_0203243C: .word FUN_020324F8
-
- thumb_func_start FUN_02032440
-FUN_02032440: ; 0x02032440
- push {r3, lr}
- ldr r0, _02032470 ; =0x021C5A00
- ldr r1, [r0, #0x0]
- ldrh r0, [r1, #0x3a]
- cmp r0, #0x0
- beq _02032450
- sub r0, r0, #0x1
- strh r0, [r1, #0x3a]
-_02032450:
- bl FUN_0202E6F0
- cmp r0, #0x0
- beq _0203246E
- ldr r0, _02032470 ; =0x021C5A00
- ldr r0, [r0, #0x0]
- ldrh r0, [r0, #0x3a]
- cmp r0, #0x0
- bne _0203246E
- bl FUN_0202FA5C
- ldr r0, _02032474 ; =FUN_020323BC
- mov r1, #0x0
- bl FUN_02031D20
-_0203246E:
- pop {r3, pc}
- .balign 4
-_02032470: .word 0x021C5A00
-_02032474: .word FUN_020323BC
-
- thumb_func_start FUN_02032478
-FUN_02032478: ; 0x02032478
- push {r3, lr}
- bl FUN_0202E4C8
- cmp r0, #0x0
- beq _020324BE
- ldr r0, _020324C0 ; =0x021C5A00
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x2c]
- bl FUN_0202E29C
- ldr r0, _020324C0 ; =0x021C5A00
- ldr r0, [r0, #0x0]
- add r0, #0x3c
- ldrb r0, [r0, #0x0]
- bl FUN_0202D1B0
- ldr r0, _020324C0 ; =0x021C5A00
- mov r1, #0x0
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x28]
- bl FUN_0202DB14
- mov r0, #0x1
- add r1, r0, #0x0
- lsl r2, r0, #0x9
- bl FUN_0202F950
- cmp r0, #0x0
- beq _020324BE
- bl FUN_0202FA10
- ldr r0, _020324C4 ; =FUN_020324C8
- mov r1, #0x40
- bl FUN_02031D20
-_020324BE:
- pop {r3, pc}
- .balign 4
-_020324C0: .word 0x021C5A00
-_020324C4: .word FUN_020324C8
-
- thumb_func_start FUN_020324C8
-FUN_020324C8: ; 0x020324C8
- push {r3, lr}
- bl FUN_0202EA54
- ldr r0, _020324F0 ; =0x021C5A00
- ldr r1, [r0, #0x0]
- ldrh r0, [r1, #0x3a]
- cmp r0, #0x0
- beq _020324DE
- sub r0, r0, #0x1
- strh r0, [r1, #0x3a]
- pop {r3, pc}
-_020324DE:
- bl FUN_0202E6F0
- cmp r0, #0x0
- beq _020324EE
- ldr r0, _020324F4 ; =FUN_02032510
- mov r1, #0x0
- bl FUN_02031D20
-_020324EE:
- pop {r3, pc}
- .balign 4
-_020324F0: .word 0x021C5A00
-_020324F4: .word FUN_02032510
-
- thumb_func_start FUN_020324F8
-FUN_020324F8: ; 0x020324F8
- push {r3, lr}
- bl FUN_0202E6F0
- cmp r0, #0x0
- beq _0203250A
- ldr r0, _0203250C ; =FUN_02032510
- mov r1, #0x0
- bl FUN_02031D20
-_0203250A:
- pop {r3, pc}
- .balign 4
-_0203250C: .word FUN_02032510
-
- thumb_func_start FUN_02032510
-FUN_02032510: ; 0x02032510
- push {r3-r5, lr}
- bl FUN_0202EE0C
- cmp r0, #0x0
- beq _02032568
- ldr r1, _0203256C ; =0x021C5A00
- mov r2, #0x2
- ldr r1, [r1, #0x0]
- mov r0, #0x0
- add r1, #0x43
- ldrb r1, [r1, #0x0]
- lsl r2, r2, #0x8
- mov r3, #0x1
- bl FUN_0202F918
- cmp r0, #0x0
- beq _02032568
- ldr r0, _0203256C ; =0x021C5A00
- ldr r4, [r0, #0x0]
- add r5, r4, #0x0
- add r5, #0xc
- ldr r0, [r5, #0x8]
- ldr r1, [r5, #0xc]
- ldr r2, [r4, #0xc]
- ldr r3, [r5, #0x4]
- blx _ll_mul
- ldr r2, [r5, #0x10]
- ldr r3, [r5, #0x14]
- add r0, r2, r0
- adc r3, r1
- str r0, [r4, #0xc]
- str r3, [r5, #0x4]
- bl FUN_0202FA10
- ldr r0, _0203256C ; =0x021C5A00
- mov r1, #0x0
- ldr r0, [r0, #0x0]
- add r0, #0x43
- strb r1, [r0, #0x0]
- ldr r0, _02032570 ; =FUN_02032578
- ldr r1, _02032574 ; =0x00002710
- bl FUN_02031D20
-_02032568:
- pop {r3-r5, pc}
- nop
-_0203256C: .word 0x021C5A00
-_02032570: .word FUN_02032578
-_02032574: .word 0x00002710
-
- thumb_func_start FUN_02032578
-FUN_02032578: ; 0x02032578
- push {r3, lr}
- bl FUN_0202F104
- cmp r0, #0x0
- bne _020325B2
- bl FUN_020311E8
- cmp r0, #0x0
- beq _020325A2
- ldr r0, _020325C4 ; =0x021C5A00
- mov r1, #0x1
- ldr r0, [r0, #0x0]
- add r0, #0x43
- strb r1, [r0, #0x0]
- bl FUN_02033E74
- ldr r0, _020325C8 ; =FUN_020327FC
- mov r1, #0x0
- bl FUN_02031D20
- pop {r3, pc}
-_020325A2:
- ldr r0, _020325C4 ; =0x021C5A00
- ldr r1, [r0, #0x0]
- ldrh r0, [r1, #0x3a]
- cmp r0, #0x0
- beq _020325B2
- sub r0, r0, #0x1
- strh r0, [r1, #0x3a]
- pop {r3, pc}
-_020325B2:
- bl FUN_0202E6F0
- cmp r0, #0x0
- beq _020325C2
- ldr r0, _020325CC ; =FUN_020325D0
- mov r1, #0x0
- bl FUN_02031D20
-_020325C2:
- pop {r3, pc}
- .balign 4
-_020325C4: .word 0x021C5A00
-_020325C8: .word FUN_020327FC
-_020325CC: .word FUN_020325D0
-
- thumb_func_start FUN_020325D0
-FUN_020325D0: ; 0x020325D0
- push {r3-r5, lr}
- bl FUN_0202EE0C
- cmp r0, #0x0
- beq _0203261C
- mov r0, #0x0
- mov r2, #0x2
- add r1, r0, #0x0
- lsl r2, r2, #0x8
- bl FUN_0202F950
- cmp r0, #0x0
- beq _0203261C
- bl FUN_0202FA10
- ldr r0, _02032620 ; =0x021C5A00
- ldr r4, [r0, #0x0]
- add r5, r4, #0x0
- add r5, #0xc
- ldr r0, [r5, #0x8]
- ldr r1, [r5, #0xc]
- ldr r2, [r4, #0xc]
- ldr r3, [r5, #0x4]
- blx _ll_mul
- ldr r2, [r5, #0x10]
- ldr r3, [r5, #0x14]
- add r0, r2, r0
- adc r3, r1
- str r0, [r4, #0xc]
- mov r1, #0x0
- ldr r0, _02032624 ; =FUN_020324C8
- lsr r2, r3, #0x1b
- lsl r1, r1, #0x5
- orr r1, r2
- str r3, [r5, #0x4]
- bl FUN_02031D20
-_0203261C:
- pop {r3-r5, pc}
- nop
-_02032620: .word 0x021C5A00
-_02032624: .word FUN_020324C8
-
- thumb_func_start FUN_02032628
-FUN_02032628: ; 0x02032628
- push {r3, lr}
- bl FUN_0202E6F0
- cmp r0, #0x0
- beq _0203263A
- ldr r0, _0203263C ; =FUN_02032640
- mov r1, #0x0
- bl FUN_02031D20
-_0203263A:
- pop {r3, pc}
- .balign 4
-_0203263C: .word FUN_02032640
-
- thumb_func_start FUN_02032640
-FUN_02032640: ; 0x02032640
- push {r3, lr}
- bl FUN_0202EE0C
- cmp r0, #0x0
- beq _02032666
- mov r0, #0x0
- mov r2, #0x2
- add r1, r0, #0x0
- lsl r2, r2, #0x8
- bl FUN_0202F950
- cmp r0, #0x0
- beq _02032666
- bl FUN_0202FA10
- ldr r0, _02032668 ; =FUN_0203266C
- mov r1, #0x64
- bl FUN_02031D20
-_02032666:
- pop {r3, pc}
- .balign 4
-_02032668: .word FUN_0203266C
-
- thumb_func_start FUN_0203266C
-FUN_0203266C: ; 0x0203266C
- push {r3, lr}
- ldr r0, _020326C4 ; =0x021C5A00
- ldr r0, [r0, #0x0]
- add r0, #0x3e
- ldrb r0, [r0, #0x0]
- bl FUN_0202E8A0
- cmp r0, #0x0
- beq _02032698
- ldr r0, _020326C4 ; =0x021C5A00
- ldr r0, [r0, #0x0]
- add r0, #0x3e
- ldrb r0, [r0, #0x0]
- bl FUN_0202FB18
- cmp r0, #0x0
- beq _02032698
- ldr r0, _020326C8 ; =FUN_020326D0
- mov r1, #0x64
- bl FUN_02031D20
- pop {r3, pc}
-_02032698:
- bl FUN_020311F0
- cmp r0, #0x0
- beq _020326AA
- ldr r0, _020326CC ; =FUN_020327B8
- mov r1, #0x0
- bl FUN_02031D20
- pop {r3, pc}
-_020326AA:
- ldr r0, _020326C4 ; =0x021C5A00
- ldr r1, [r0, #0x0]
- ldrh r0, [r1, #0x3a]
- cmp r0, #0x0
- beq _020326BA
- sub r0, r0, #0x1
- strh r0, [r1, #0x3a]
- pop {r3, pc}
-_020326BA:
- ldr r0, _020326CC ; =FUN_020327B8
- mov r1, #0x0
- bl FUN_02031D20
- pop {r3, pc}
- .balign 4
-_020326C4: .word 0x021C5A00
-_020326C8: .word FUN_020326D0
-_020326CC: .word FUN_020327B8
-
- thumb_func_start FUN_020326D0
-FUN_020326D0: ; 0x020326D0
- push {r3, lr}
- bl FUN_020311F0
- cmp r0, #0x0
- beq _020326E4
- ldr r0, _02032728 ; =FUN_020327B8
- mov r1, #0x0
- bl FUN_02031D20
- pop {r3, pc}
-_020326E4:
- bl FUN_02031190
- bl FUN_02030E7C
- cmp r0, #0x0
- beq _0203270C
- ldr r0, _0203272C ; =0x021C5A00
- mov r1, #0x0
- ldr r0, [r0, #0x0]
- add r0, #0x3d
- strb r1, [r0, #0x0]
- ldr r1, _02032730 ; =0x02105D5C
- mov r0, #0x6
- bl FUN_020311D0
- ldr r0, _02032734 ; =FUN_02032738
- mov r1, #0x78
- bl FUN_02031D20
- pop {r3, pc}
-_0203270C:
- ldr r0, _0203272C ; =0x021C5A00
- ldr r1, [r0, #0x0]
- ldrh r0, [r1, #0x3a]
- cmp r0, #0x0
- beq _0203271C
- sub r0, r0, #0x1
- strh r0, [r1, #0x3a]
- pop {r3, pc}
-_0203271C:
- ldr r0, _02032728 ; =FUN_020327B8
- mov r1, #0x0
- bl FUN_02031D20
- pop {r3, pc}
- nop
-_02032728: .word FUN_020327B8
-_0203272C: .word 0x021C5A00
-_02032730: .word 0x02105D5C
-_02032734: .word FUN_02032738
-
- thumb_func_start FUN_02032738
-FUN_02032738: ; 0x02032738
- push {r3, lr}
- bl FUN_020311F0
- cmp r0, #0x0
- beq _0203274C
- ldr r0, _0203278C ; =FUN_020327B8
- mov r1, #0x0
- bl FUN_02031D20
- pop {r3, pc}
-_0203274C:
- ldr r0, _02032790 ; =0x021C5A00
- ldr r1, [r0, #0x0]
- add r0, r1, #0x0
- add r0, #0x3d
- ldrb r0, [r0, #0x0]
- cmp r0, #0x2
- bne _02032764
- ldr r0, _02032794 ; =FUN_020327B4
- mov r1, #0x0
- bl FUN_02031D20
- pop {r3, pc}
-_02032764:
- cmp r0, #0x1
- bne _02032776
- bl FUN_0202DBE0
- ldr r0, _02032798 ; =FUN_0203279C
- mov r1, #0x0
- bl FUN_02031D20
- pop {r3, pc}
-_02032776:
- ldrh r0, [r1, #0x3a]
- cmp r0, #0x0
- beq _02032782
- sub r0, r0, #0x1
- strh r0, [r1, #0x3a]
- pop {r3, pc}
-_02032782:
- ldr r0, _0203278C ; =FUN_020327B8
- mov r1, #0x0
- bl FUN_02031D20
- pop {r3, pc}
- .balign 4
-_0203278C: .word FUN_020327B8
-_02032790: .word 0x021C5A00
-_02032794: .word FUN_020327B4
-_02032798: .word FUN_0203279C
-
- thumb_func_start FUN_0203279C
-FUN_0203279C: ; 0x0203279C
- push {r3, lr}
- bl FUN_020311F0
- cmp r0, #0x0
- beq _020327AE
- ldr r0, _020327B0 ; =FUN_020327B8
- mov r1, #0x0
- bl FUN_02031D20
-_020327AE:
- pop {r3, pc}
- .balign 4
-_020327B0: .word FUN_020327B8
-
- thumb_func_start FUN_020327B4
-FUN_020327B4: ; 0x020327B4
- bx lr
- .balign 4
-
- thumb_func_start FUN_020327B8
-FUN_020327B8: ; 0x020327B8
- push {r3, lr}
- ldr r0, _020327F0 ; =0x021C5A00
- mov r1, #0x0
- ldr r0, [r0, #0x0]
- add r0, #0x3d
- strb r1, [r0, #0x0]
- bl FUN_0202E6F0
- cmp r0, #0x0
- beq _020327EC
- ldr r0, _020327F0 ; =0x021C5A00
- ldr r1, [r0, #0x0]
- ldrh r0, [r1, #0x38]
- cmp r0, #0x0
- beq _020327E4
- sub r0, r0, #0x1
- strh r0, [r1, #0x38]
- ldr r0, _020327F4 ; =FUN_02032640
- mov r1, #0x0
- bl FUN_02031D20
- pop {r3, pc}
-_020327E4:
- ldr r0, _020327F8 ; =FUN_020327B4
- mov r1, #0x0
- bl FUN_02031D20
-_020327EC:
- pop {r3, pc}
- nop
-_020327F0: .word 0x021C5A00
-_020327F4: .word FUN_02032640
-_020327F8: .word FUN_020327B4
-
- thumb_func_start FUN_020327FC
-FUN_020327FC: ; 0x020327FC
- push {r3, lr}
- bl FUN_020311E8
- cmp r0, #0x0
- bne _02032820
- bl FUN_02033510
- cmp r0, #0x0
- bne _0203282C
- bl FUN_0202E6F0
- cmp r0, #0x0
- beq _0203282C
- ldr r0, _02032848 ; =FUN_020325D0
- mov r1, #0x0
- bl FUN_02031D20
- b _0203282C
-_02032820:
- bl FUN_02031190
- cmp r0, #0x0
- bne _0203282C
- bl FUN_0202DDE8
-_0203282C:
- bl FUN_020311F0
- cmp r0, #0x0
- beq _02032844
- bl FUN_02033510
- cmp r0, #0x0
- bne _02032844
- ldr r0, _0203284C ; =FUN_020327B8
- mov r1, #0x0
- bl FUN_02031D20
-_02032844:
- pop {r3, pc}
- nop
-_02032848: .word FUN_020325D0
-_0203284C: .word FUN_020327B8
-
- thumb_func_start FUN_02032850
-FUN_02032850: ; 0x02032850
- push {r3, lr}
- bl FUN_0202EE0C
- cmp r0, #0x0
- beq _0203287E
- ldr r1, _02032880 ; =0x021C5A00
- mov r0, #0x0
- ldr r1, [r1, #0x0]
- mov r2, #0x2
- add r1, #0x43
- ldrb r1, [r1, #0x0]
- lsl r2, r2, #0x8
- add r3, r0, #0x0
- bl FUN_0202F918
- cmp r0, #0x0
- beq _0203287E
- bl FUN_0202FA10
- ldr r0, _02032884 ; =FUN_020323B8
- mov r1, #0x0
- bl FUN_02031D20
-_0203287E:
- pop {r3, pc}
- .balign 4
-_02032880: .word 0x021C5A00
-_02032884: .word FUN_020323B8
-
- thumb_func_start FUN_02032888
-FUN_02032888: ; 0x02032888
- push {r3, lr}
- ldr r0, _020328BC ; =0x021C5A00
- mov r1, #0xd
- ldr r0, [r0, #0x0]
- add r0, #0x3f
- strb r1, [r0, #0x0]
- bl FUN_02031190
- cmp r0, #0x0
- add r0, sp, #0x0
- bne _020328AE
- mov r1, #0x0
- strb r1, [r0, #0x1]
- add r1, sp, #0x0
- mov r0, #0xa
- add r1, #0x1
- bl FUN_020311D0
- pop {r3, pc}
-_020328AE:
- mov r1, #0x0
- strb r1, [r0, #0x0]
- mov r0, #0xa
- add r1, sp, #0x0
- bl FUN_020311D0
- pop {r3, pc}
- .balign 4
-_020328BC: .word 0x021C5A00
-
- thumb_func_start FUN_020328C0
-FUN_020328C0: ; 0x020328C0
- ldr r1, _020328D8 ; =0x021C5A00
- ldr r3, _020328DC ; =FUN_02031D20
- ldr r2, [r1, #0x0]
- add r2, #0x3e
- strb r0, [r2, #0x0]
- ldr r0, [r1, #0x0]
- mov r2, #0x3
- strh r2, [r0, #0x38]
- ldr r0, _020328E0 ; =FUN_02032924
- mov r1, #0x0
- bx r3
- nop
-_020328D8: .word 0x021C5A00
-_020328DC: .word FUN_02031D20
-_020328E0: .word FUN_02032924
-
- thumb_func_start FUN_020328E4
-FUN_020328E4: ; 0x020328E4
- ldr r0, _020328F0 ; =0x021C5A00
- mov r1, #0x7
- ldr r0, [r0, #0x0]
- add r0, #0x3f
- strb r1, [r0, #0x0]
- bx lr
- .balign 4
-_020328F0: .word 0x021C5A00
-
- thumb_func_start FUN_020328F4
-FUN_020328F4: ; 0x020328F4
- push {r3, lr}
- ldr r1, _0203291C ; =0x021C5A00
- ldr r2, [r1, #0x0]
- add r2, #0x3e
- strb r0, [r2, #0x0]
- ldr r0, [r1, #0x0]
- mov r2, #0x7
- add r0, #0x3f
- strb r2, [r0, #0x0]
- ldr r0, [r1, #0x0]
- mov r2, #0x3
- strh r2, [r0, #0x38]
- bl FUN_02033E74
- ldr r0, _02032920 ; =FUN_02032628
- mov r1, #0x0
- bl FUN_02031D20
- pop {r3, pc}
- nop
-_0203291C: .word 0x021C5A00
-_02032920: .word FUN_02032628
-
- thumb_func_start FUN_02032924
-FUN_02032924: ; 0x02032924
- push {r3, lr}
- bl FUN_0202E6F0
- cmp r0, #0x0
- beq _02032936
- ldr r0, _02032938 ; =FUN_0203293C
- mov r1, #0x0
- bl FUN_02031D20
-_02032936:
- pop {r3, pc}
- .balign 4
-_02032938: .word FUN_0203293C
-
- thumb_func_start FUN_0203293C
-FUN_0203293C: ; 0x0203293C
- push {r3, lr}
- bl FUN_0202EE0C
- cmp r0, #0x0
- beq _0203296C
- ldr r0, _02032970 ; =0x021C5A00
- mov r2, #0x2
- ldr r0, [r0, #0x0]
- mov r1, #0xd
- add r0, #0x3f
- strb r1, [r0, #0x0]
- mov r0, #0x0
- add r1, r0, #0x0
- lsl r2, r2, #0x8
- bl FUN_0202F950
- cmp r0, #0x0
- beq _0203296C
- bl FUN_0202FA1C
- ldr r0, _02032974 ; =FUN_02032978
- mov r1, #0x64
- bl FUN_02031D20
-_0203296C:
- pop {r3, pc}
- nop
-_02032970: .word 0x021C5A00
-_02032974: .word FUN_02032978
-
- thumb_func_start FUN_02032978
-FUN_02032978: ; 0x02032978
- push {r3, lr}
- ldr r0, _020329E4 ; =0x021C5A00
- ldr r0, [r0, #0x0]
- add r0, #0x3e
- ldrb r0, [r0, #0x0]
- bl FUN_0202E8A0
- cmp r0, #0x0
- beq _020329A4
- ldr r0, _020329E4 ; =0x021C5A00
- ldr r0, [r0, #0x0]
- add r0, #0x3e
- ldrb r0, [r0, #0x0]
- bl FUN_0202FB18
- cmp r0, #0x0
- beq _020329A4
- ldr r0, _020329E8 ; =FUN_020329F4
- mov r1, #0x64
- bl FUN_02031D20
- pop {r3, pc}
-_020329A4:
- bl FUN_020311F0
- cmp r0, #0x0
- bne _020329B6
- ldr r0, _020329E4 ; =0x021C5A00
- ldr r1, [r0, #0x0]
- ldrh r0, [r1, #0x3a]
- cmp r0, #0x0
- bne _020329DC
-_020329B6:
- ldr r0, _020329E4 ; =0x021C5A00
- ldr r2, [r0, #0x0]
- ldrh r1, [r2, #0x38]
- sub r1, r1, #0x1
- strh r1, [r2, #0x38]
- ldr r0, [r0, #0x0]
- ldrh r0, [r0, #0x38]
- cmp r0, #0x0
- bne _020329D2
- ldr r0, _020329EC ; =FUN_020327B4
- mov r1, #0x0
- bl FUN_02031D20
- pop {r3, pc}
-_020329D2:
- ldr r0, _020329F0 ; =FUN_02032924
- mov r1, #0x0
- bl FUN_02031D20
- pop {r3, pc}
-_020329DC:
- beq _020329E2
- sub r0, r0, #0x1
- strh r0, [r1, #0x3a]
-_020329E2:
- pop {r3, pc}
- .balign 4
-_020329E4: .word 0x021C5A00
-_020329E8: .word FUN_020329F4
-_020329EC: .word FUN_020327B4
-_020329F0: .word FUN_02032924
-
- thumb_func_start FUN_020329F4
-FUN_020329F4: ; 0x020329F4
- push {r3, lr}
- ldr r0, _02032A7C ; =0x021C5A00
- ldr r1, [r0, #0x0]
- ldrh r0, [r1, #0x3a]
- cmp r0, #0x5a
- bls _02032A06
- sub r0, r0, #0x1
- strh r0, [r1, #0x3a]
- pop {r3, pc}
-_02032A06:
- bl FUN_020311F0
- cmp r0, #0x0
- beq _02032A34
- ldr r0, _02032A7C ; =0x021C5A00
- ldr r2, [r0, #0x0]
- ldrh r1, [r2, #0x38]
- sub r1, r1, #0x1
- strh r1, [r2, #0x38]
- ldr r0, [r0, #0x0]
- ldrh r0, [r0, #0x38]
- cmp r0, #0x0
- bne _02032A2A
- ldr r0, _02032A80 ; =FUN_020327B4
- mov r1, #0x0
- bl FUN_02031D20
- pop {r3, pc}
-_02032A2A:
- ldr r0, _02032A84 ; =FUN_02032924
- mov r1, #0x0
- bl FUN_02031D20
- pop {r3, pc}
-_02032A34:
- bl FUN_02031190
- bl FUN_02030E7C
- cmp r0, #0x0
- beq _02032A4A
- ldr r0, _02032A88 ; =FUN_0203279C
- mov r1, #0x0
- bl FUN_02031D20
- pop {r3, pc}
-_02032A4A:
- ldr r0, _02032A7C ; =0x021C5A00
- ldr r2, [r0, #0x0]
- ldrh r1, [r2, #0x3a]
- cmp r1, #0x0
- beq _02032A5A
- sub r0, r1, #0x1
- strh r0, [r2, #0x3a]
- pop {r3, pc}
-_02032A5A:
- ldrh r1, [r2, #0x38]
- sub r1, r1, #0x1
- strh r1, [r2, #0x38]
- ldr r0, [r0, #0x0]
- ldrh r0, [r0, #0x38]
- cmp r0, #0x0
- bne _02032A72
- ldr r0, _02032A80 ; =FUN_020327B4
- mov r1, #0x0
- bl FUN_02031D20
- pop {r3, pc}
-_02032A72:
- ldr r0, _02032A84 ; =FUN_02032924
- mov r1, #0x0
- bl FUN_02031D20
- pop {r3, pc}
- .balign 4
-_02032A7C: .word 0x021C5A00
-_02032A80: .word FUN_020327B4
-_02032A84: .word FUN_02032924
-_02032A88: .word FUN_0203279C
-
- thumb_func_start FUN_02032A8C
-FUN_02032A8C: ; 0x02032A8C
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r4, r2, #0x0
- bl FUN_02031190
- cmp r0, #0x0
- bne _02032ADA
- ldr r6, _02032ADC ; =0x02105D5C
- mov r3, #0x1
- mov r2, #0x0
-_02032AA0:
- ldrb r1, [r6, #0x0]
- ldrb r0, [r4, r2]
- cmp r1, r0
- beq _02032AAC
- mov r3, #0x0
- b _02032AB4
-_02032AAC:
- add r2, r2, #0x1
- add r6, r6, #0x1
- cmp r2, #0x6
- blo _02032AA0
-_02032AB4:
- cmp r3, #0x0
- beq _02032AD0
- ldr r0, _02032AE0 ; =0x021C5A00
- ldr r0, [r0, #0x0]
- add r0, #0x48
- ldrb r0, [r0, #0x0]
- cmp r0, #0x0
- bne _02032AD0
- ldr r1, _02032AE4 ; =0x02105D6C
- mov r0, #0x7
- strb r5, [r1, #0x0]
- bl FUN_02030C4C
- pop {r4-r6, pc}
-_02032AD0:
- ldr r1, _02032AE8 ; =0x02105D64
- mov r0, #0x7
- strb r5, [r1, #0x0]
- bl FUN_02030C4C
-_02032ADA:
- pop {r4-r6, pc}
- .balign 4
-_02032ADC: .word 0x02105D5C
-_02032AE0: .word 0x021C5A00
-_02032AE4: .word 0x02105D6C
-_02032AE8: .word 0x02105D64
-
- thumb_func_start FUN_02032AEC
-FUN_02032AEC: ; 0x02032AEC
- push {r3-r5, lr}
- mov r4, #0x1
- ldr r5, _02032B5C ; =0x02105D6D
- add r3, r4, #0x0
-_02032AF4:
- ldrb r1, [r5, #0x0]
- ldrb r0, [r2, r3]
- cmp r1, r0
- beq _02032B00
- mov r4, #0x0
- b _02032B08
-_02032B00:
- add r3, r3, #0x1
- add r5, r5, #0x1
- cmp r3, #0x6
- blo _02032AF4
-_02032B08:
- cmp r4, #0x0
- beq _02032B22
- ldrb r4, [r2, #0x0]
- bl FUN_02031190
- cmp r4, r0
- bne _02032B58
- ldr r0, _02032B60 ; =0x021C5A00
- mov r1, #0x1
- ldr r0, [r0, #0x0]
- add r0, #0x3d
- strb r1, [r0, #0x0]
- pop {r3-r5, pc}
-_02032B22:
- mov r4, #0x1
- ldr r3, _02032B64 ; =0x02105D65
- add r5, r4, #0x0
-_02032B28:
- ldrb r1, [r3, #0x0]
- ldrb r0, [r2, r5]
- cmp r1, r0
- beq _02032B34
- mov r4, #0x0
- b _02032B3C
-_02032B34:
- add r5, r5, #0x1
- add r3, r3, #0x1
- cmp r5, #0x6
- blo _02032B28
-_02032B3C:
- cmp r4, #0x0
- beq _02032B58
- ldrb r4, [r2, #0x0]
- bl FUN_02031190
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- cmp r4, r0
- bne _02032B58
- ldr r0, _02032B60 ; =0x021C5A00
- mov r1, #0x2
- ldr r0, [r0, #0x0]
- add r0, #0x3d
- strb r1, [r0, #0x0]
-_02032B58:
- pop {r3-r5, pc}
- nop
-_02032B5C: .word 0x02105D6D
-_02032B60: .word 0x021C5A00
-_02032B64: .word 0x02105D65
-
- thumb_func_start FUN_02032B68
-FUN_02032B68: ; 0x02032B68
- mov r0, #0x6
- bx lr
-
- thumb_func_start FUN_02032B6C
-FUN_02032B6C: ; 0x02032B6C
- push {r3, lr}
- ldr r1, _02032B80 ; =0x021C5A00
- ldr r1, [r1, #0x0]
- cmp r1, #0x0
- beq _02032B7E
- add r1, #0x3c
- strb r0, [r1, #0x0]
- bl FUN_0202D1B0
-_02032B7E:
- pop {r3, pc}
- .balign 4
-_02032B80: .word 0x021C5A00
-
- thumb_func_start FUN_02032B84
-FUN_02032B84: ; 0x02032B84
- ldr r3, _02032B88 ; =FUN_0202EA54
- bx r3
- .balign 4
-_02032B88: .word FUN_0202EA54
-
- thumb_func_start FUN_02032B8C
-FUN_02032B8C: ; 0x02032B8C
- push {r3, lr}
- bl FUN_0202E4C8
- cmp r0, #0x0
- beq _02032BC6
- ldr r0, _02032BC8 ; =0x021C5A00
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x2c]
- bl FUN_0202E29C
- ldr r0, _02032BC8 ; =0x021C5A00
- mov r1, #0x0
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x28]
- bl FUN_0202DB14
- mov r0, #0x1
- add r1, r0, #0x0
- mov r2, #0x20
- bl FUN_0202F950
- cmp r0, #0x0
- beq _02032BC6
- bl FUN_0202FA10
- ldr r0, _02032BCC ; =FUN_02032B84
- mov r1, #0x0
- bl FUN_02031D20
-_02032BC6:
- pop {r3, pc}
- .balign 4
-_02032BC8: .word 0x021C5A00
-_02032BCC: .word FUN_02032B84
-
- thumb_func_start FUN_02032BD0
-FUN_02032BD0: ; 0x02032BD0
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_02030F40
- cmp r0, #0x0
- bne _02032C00
- mov r2, #0x7
- mov r0, #0x3
- mov r1, #0xf
- lsl r2, r2, #0xc
- bl FUN_02016828
- add r0, r4, #0x0
- mov r1, #0xe
- bl FUN_02031734
- ldr r0, _02032C04 ; =0x021C5A00
- mov r1, #0x0
- ldr r0, [r0, #0x0]
- add r0, #0x40
- strb r1, [r0, #0x0]
- ldr r0, _02032C08 ; =FUN_02032B8C
- bl FUN_02031D20
-_02032C00:
- pop {r4, pc}
- nop
-_02032C04: .word 0x021C5A00
-_02032C08: .word FUN_02032B8C
-
- thumb_func_start FUN_02032C0C
-FUN_02032C0C: ; 0x02032C0C
- push {r3, lr}
- ldr r0, _02032C20 ; =0x021C5A00
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- beq _02032C1E
- ldr r0, _02032C24 ; =FUN_02032440
- mov r1, #0x5
- bl FUN_02031D20
-_02032C1E:
- pop {r3, pc}
- .balign 4
-_02032C20: .word 0x021C5A00
-_02032C24: .word FUN_02032440
-
- thumb_func_start FUN_02032C28
-FUN_02032C28: ; 0x02032C28
- sub sp, #0x8
- ldr r1, _02032C64 ; =0x020EEC48
- add r0, sp, #0x0
- ldr r2, [r1, #0x0]
- ldr r1, [r1, #0x4]
- str r2, [sp, #0x0]
- str r1, [sp, #0x4]
- ldr r1, _02032C68 ; =0x021C5A00
- ldr r1, [r1, #0x0]
- ldr r3, [r1, #0x24]
- cmp r1, #0x0
- bne _02032C46
- mov r0, #0x0
- add sp, #0x8
- bx lr
-_02032C46:
- cmp r2, #0x0
- beq _02032C5E
-_02032C4A:
- ldr r1, [r0, #0x0]
- cmp r3, r1
- bne _02032C56
- mov r0, #0x1
- add sp, #0x8
- bx lr
-_02032C56:
- add r0, r0, #0x4
- ldr r1, [r0, #0x0]
- cmp r1, #0x0
- bne _02032C4A
-_02032C5E:
- mov r0, #0x0
- add sp, #0x8
- bx lr
- .balign 4
-_02032C64: .word 0x020EEC48
-_02032C68: .word 0x021C5A00
-
- thumb_func_start FUN_02032C6C
-FUN_02032C6C: ; 0x02032C6C
- ldr r2, _02032CE4 ; =0x00400131
- cmp r0, r2
- bhi _02032C7C
- bhs _02032CBA
- ldr r2, _02032CE8 ; =0x00000333
- cmp r0, r2
- beq _02032C8E
- bx lr
-_02032C7C:
- ldr r1, _02032CEC ; =0x00400286
- cmp r0, r1
- bhi _02032C86
- beq _02032CCE
- bx lr
-_02032C86:
- add r1, #0x92
- cmp r0, r1
- beq _02032CA6
- bx lr
-_02032C8E:
- cmp r1, #0xf
- bne _02032CE0
- ldr r0, _02032CF0 ; =0x021C5A00
- ldr r2, [r0, #0x0]
- add r0, r2, #0x0
- add r0, #0x49
- ldrb r1, [r0, #0x0]
- mov r0, #0x1
- add r2, #0x49
- orr r0, r1
- strb r0, [r2, #0x0]
- bx lr
-_02032CA6:
- ldr r0, _02032CF0 ; =0x021C5A00
- ldr r2, [r0, #0x0]
- add r0, r2, #0x0
- add r0, #0x49
- ldrb r1, [r0, #0x0]
- mov r0, #0x1
- add r2, #0x49
- orr r0, r1
- strb r0, [r2, #0x0]
- bx lr
-_02032CBA:
- ldr r0, _02032CF0 ; =0x021C5A00
- ldr r2, [r0, #0x0]
- add r0, r2, #0x0
- add r0, #0x49
- ldrb r1, [r0, #0x0]
- mov r0, #0x2
- add r2, #0x49
- orr r0, r1
- strb r0, [r2, #0x0]
- bx lr
-_02032CCE:
- ldr r0, _02032CF0 ; =0x021C5A00
- ldr r2, [r0, #0x0]
- add r0, r2, #0x0
- add r0, #0x49
- ldrb r1, [r0, #0x0]
- mov r0, #0x4
- add r2, #0x49
- orr r0, r1
- strb r0, [r2, #0x0]
-_02032CE0:
- bx lr
- nop
-_02032CE4: .word 0x00400131
-_02032CE8: .word 0x00000333
-_02032CEC: .word 0x00400286
-_02032CF0: .word 0x021C5A00
-
- thumb_func_start FUN_02032CF4
-FUN_02032CF4: ; 0x02032CF4
- push {r3, lr}
- bl FUN_0202E4C8
- cmp r0, #0x0
- beq _02032D34
- ldr r0, _02032D38 ; =0x021C5A00
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x2c]
- bl FUN_0202E29C
- ldr r0, _02032D38 ; =0x021C5A00
- mov r1, #0x0
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x28]
- bl FUN_0202DB14
- ldr r0, _02032D3C ; =FUN_02032C6C
- bl FUN_0202D308
- mov r0, #0x1
- add r1, r0, #0x0
- mov r2, #0x20
- bl FUN_0202F950
- cmp r0, #0x0
- beq _02032D34
- bl FUN_0202FA10
- ldr r0, _02032D40 ; =FUN_02032B84
- mov r1, #0x0
- bl FUN_02031D20
-_02032D34:
- pop {r3, pc}
- nop
-_02032D38: .word 0x021C5A00
-_02032D3C: .word FUN_02032C6C
-_02032D40: .word FUN_02032B84
-
- thumb_func_start FUN_02032D44
-FUN_02032D44: ; 0x02032D44
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_02030F40
- cmp r0, #0x0
- bne _02032D74
- mov r2, #0x7
- mov r0, #0x3
- mov r1, #0xf
- lsl r2, r2, #0xc
- bl FUN_02016828
- add r0, r4, #0x0
- mov r1, #0x11
- bl FUN_02031734
- ldr r0, _02032D78 ; =0x021C5A00
- mov r1, #0x0
- ldr r0, [r0, #0x0]
- add r0, #0x40
- strb r1, [r0, #0x0]
- ldr r0, _02032D7C ; =FUN_02032CF4
- bl FUN_02031D20
-_02032D74:
- pop {r4, pc}
- nop
-_02032D78: .word 0x021C5A00
-_02032D7C: .word FUN_02032CF4
-
- thumb_func_start FUN_02032D80
-FUN_02032D80: ; 0x02032D80
- push {r3, lr}
- ldr r0, _02032D94 ; =0x021C5A00
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- beq _02032D92
- ldr r0, _02032D98 ; =FUN_02032440
- mov r1, #0x5
- bl FUN_02031D20
-_02032D92:
- pop {r3, pc}
- .balign 4
-_02032D94: .word 0x021C5A00
-_02032D98: .word FUN_02032440
-
- thumb_func_start FUN_02032D9C
-FUN_02032D9C: ; 0x02032D9C
- ldr r0, _02032DA8 ; =0x021C5A00
- ldr r0, [r0, #0x0]
- add r0, #0x49
- ldrb r0, [r0, #0x0]
- bx lr
- nop
-_02032DA8: .word 0x021C5A00
-
- thumb_func_start FUN_02032DAC
-FUN_02032DAC: ; 0x02032DAC
- push {r3, lr}
- bl FUN_02031468
- ldr r0, _02032DF4 ; =0x021C5A00
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- bne _02032DBE
- mov r0, #0x1
- pop {r3, pc}
-_02032DBE:
- add r0, #0x3f
- ldrb r0, [r0, #0x0]
- add r0, #0xe8
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- cmp r0, #0x1
- bhi _02032DD4
- bl FUN_021D83C0
- mov r0, #0x1
- pop {r3, pc}
-_02032DD4:
- bl FUN_02033590
- cmp r0, #0x0
- beq _02032DE6
- ldr r0, _02032DF8 ; =FUN_0203318C
- mov r1, #0x0
- bl FUN_02031D20
- b _02032DEE
-_02032DE6:
- ldr r0, _02032DFC ; =FUN_02032178
- mov r1, #0x0
- bl FUN_02031D20
-_02032DEE:
- mov r0, #0x0
- pop {r3, pc}
- nop
-_02032DF4: .word 0x021C5A00
-_02032DF8: .word FUN_0203318C
-_02032DFC: .word FUN_02032178
-
- thumb_func_start FUN_02032E00
-FUN_02032E00: ; 0x02032E00
- push {r3, lr}
- bl FUN_0202E4C8
- cmp r0, #0x0
- beq _02032E3C
- ldr r0, _02032E40 ; =0x021C5A00
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x2c]
- bl FUN_0202E29C
- ldr r0, _02032E40 ; =0x021C5A00
- mov r1, #0x0
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x28]
- bl FUN_0202DB14
- mov r0, #0x1
- add r1, r0, #0x0
- lsl r2, r0, #0x9
- add r3, r0, #0x0
- bl FUN_0202F918
- cmp r0, #0x0
- beq _02032E3C
- bl FUN_0202FA10
- ldr r0, _02032E44 ; =FUN_02032218
- mov r1, #0x0
- bl FUN_02031D20
-_02032E3C:
- pop {r3, pc}
- nop
-_02032E40: .word 0x021C5A00
-_02032E44: .word FUN_02032218
-
- thumb_func_start FUN_02032E48
-FUN_02032E48: ; 0x02032E48
- push {r3, lr}
- bl FUN_0202E4C8
- cmp r0, #0x0
- beq _02032E82
- ldr r0, _02032E84 ; =0x021C5A00
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x2c]
- bl FUN_0202E29C
- ldr r0, _02032E84 ; =0x021C5A00
- mov r1, #0x0
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x28]
- bl FUN_0202DB14
- mov r0, #0x1
- add r1, r0, #0x0
- lsl r2, r0, #0x9
- bl FUN_0202F950
- cmp r0, #0x0
- beq _02032E82
- bl FUN_0202FA10
- ldr r0, _02032E88 ; =FUN_02032290
- mov r1, #0x0
- bl FUN_02031D20
-_02032E82:
- pop {r3, pc}
- .balign 4
-_02032E84: .word 0x021C5A00
-_02032E88: .word FUN_02032290
-
- thumb_func_start FUN_02032E8C
-FUN_02032E8C: ; 0x02032E8C
- bx lr
- .balign 4
-
- thumb_func_start FUN_02032E90
-FUN_02032E90: ; 0x02032E90
- push {r3, lr}
- bl FUN_021D7F8C
- cmp r0, #0x0
- bge _02032EA2
- ldr r0, _02032EA4 ; =FUN_02032E8C
- mov r1, #0x0
- bl FUN_02031D20
-_02032EA2:
- pop {r3, pc}
- .balign 4
-_02032EA4: .word FUN_02032E8C
-
- thumb_func_start FUN_02032EA8
-FUN_02032EA8: ; 0x02032EA8
- bx lr
- .balign 4
-
- thumb_func_start FUN_02032EAC
-FUN_02032EAC: ; 0x02032EAC
- bx lr
- .balign 4
-
- thumb_func_start FUN_02032EB0
-FUN_02032EB0: ; 0x02032EB0
- push {r3, lr}
- mov r0, #0x1
- bl FUN_020313A0
- bl FUN_021D7F8C
- cmp r0, #0xa
- blt _02032ECA
- ldr r0, _02032F0C ; =FUN_02032EAC
- mov r1, #0x0
- bl FUN_02031D20
- pop {r3, pc}
-_02032ECA:
- cmp r0, #0x0
- bge _02032ED8
- ldr r0, _02032F10 ; =FUN_02032E8C
- mov r1, #0x0
- bl FUN_02031D20
- pop {r3, pc}
-_02032ED8:
- cmp r0, #0x1
- bne _02032EE6
- ldr r0, _02032F14 ; =FUN_02032E90
- mov r1, #0x0
- bl FUN_02031D20
- pop {r3, pc}
-_02032EE6:
- cmp r0, #0x2
- bne _02032F08
- ldr r0, _02032F18 ; =0x021C5A00
- ldr r0, [r0, #0x0]
- add r0, #0x44
- ldrb r0, [r0, #0x0]
- cmp r0, #0x0
- beq _02032F00
- ldr r0, _02032F10 ; =FUN_02032E8C
- mov r1, #0x0
- bl FUN_02031D20
- pop {r3, pc}
-_02032F00:
- ldr r0, _02032F1C ; =FUN_02032EA8
- mov r1, #0x0
- bl FUN_02031D20
-_02032F08:
- pop {r3, pc}
- nop
-_02032F0C: .word FUN_02032EAC
-_02032F10: .word FUN_02032E8C
-_02032F14: .word FUN_02032E90
-_02032F18: .word 0x021C5A00
-_02032F1C: .word FUN_02032EA8
-
- thumb_func_start FUN_02032F20
-FUN_02032F20: ; 0x02032F20
- add r1, r0, #0x2
- cmp r1, #0x1
- bls _02032F28
- neg r0, r0
-_02032F28:
- ldr r1, _02032F30 ; =0x021C5A00
- ldr r1, [r1, #0x0]
- str r0, [r1, #0x34]
- bx lr
- .balign 4
-_02032F30: .word 0x021C5A00
-
- thumb_func_start FUN_02032F34
-FUN_02032F34: ; 0x02032F34
- push {r3, lr}
- mov r0, #0x0
- bl FUN_021D7800
- cmp r0, #0xa
- blt _02032F4A
- ldr r0, _02032F88 ; =FUN_02032EAC
- mov r1, #0x0
- bl FUN_02031D20
- pop {r3, pc}
-_02032F4A:
- cmp r0, #0x0
- bge _02032F5C
- bl FUN_02032F20
- ldr r0, _02032F8C ; =FUN_02032E8C
- mov r1, #0x0
- bl FUN_02031D20
- pop {r3, pc}
-_02032F5C:
- cmp r0, #0x1
- bne _02032F6A
- ldr r0, _02032F90 ; =FUN_02032EB0
- mov r1, #0x0
- bl FUN_02031D20
- pop {r3, pc}
-_02032F6A:
- cmp r0, #0x2
- bne _02032F78
- ldr r0, _02032F94 ; =FUN_02032EA8
- mov r1, #0x0
- bl FUN_02031D20
- pop {r3, pc}
-_02032F78:
- cmp r0, #0x3
- bne _02032F84
- ldr r0, _02032F88 ; =FUN_02032EAC
- mov r1, #0x0
- bl FUN_02031D20
-_02032F84:
- pop {r3, pc}
- nop
-_02032F88: .word FUN_02032EAC
-_02032F8C: .word FUN_02032E8C
-_02032F90: .word FUN_02032EB0
-_02032F94: .word FUN_02032EA8
-
- thumb_func_start FUN_02032F98
-FUN_02032F98: ; 0x02032F98
- push {r3, lr}
- mov r0, #0x1
- bl FUN_021D7800
- cmp r0, #0x0
- bge _02032FB2
- bl FUN_02032F20
- ldr r0, _02032FD0 ; =FUN_02032E8C
- mov r1, #0x0
- bl FUN_02031D20
- pop {r3, pc}
-_02032FB2:
- ldr r0, _02032FD4 ; =0x021C5A00
- ldr r0, [r0, #0x0]
- add r0, #0x42
- ldrb r0, [r0, #0x0]
- bl FUN_021D8494
- cmp r0, #0x0
- beq _02032FCE
- bl FUN_0202FC60
- ldr r0, _02032FD8 ; =FUN_02032F34
- mov r1, #0x0
- bl FUN_02031D20
-_02032FCE:
- pop {r3, pc}
- .balign 4
-_02032FD0: .word FUN_02032E8C
-_02032FD4: .word 0x021C5A00
-_02032FD8: .word FUN_02032F34
-
- thumb_func_start FUN_02032FDC
-FUN_02032FDC: ; 0x02032FDC
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, _02032FFC ; =FUN_020303BC
- ldr r1, _02033000 ; =FUN_02030238
- bl FUN_021D77C4
- ldr r0, _02033004 ; =0x021C5A00
- mov r1, #0x0
- ldr r0, [r0, #0x0]
- add r0, #0x42
- strb r4, [r0, #0x0]
- ldr r0, _02033008 ; =FUN_02032F98
- bl FUN_02031D20
- mov r0, #0x1
- pop {r4, pc}
- .balign 4
-_02032FFC: .word FUN_020303BC
-_02033000: .word FUN_02030238
-_02033004: .word 0x021C5A00
-_02033008: .word FUN_02032F98
-
- thumb_func_start FUN_0203300C
-FUN_0203300C: ; 0x0203300C
- ldr r0, _02033048 ; =0x021C5A00
- ldr r0, [r0, #0x0]
- ldr r1, [r0, #0x24]
- ldr r0, _0203304C ; =FUN_02032F34
- cmp r1, r0
- bne _0203301C
- mov r0, #0x0
- bx lr
-_0203301C:
- ldr r0, _02033050 ; =FUN_02032EB0
- cmp r1, r0
- bne _02033026
- mov r0, #0x1
- bx lr
-_02033026:
- ldr r0, _02033054 ; =FUN_02032E90
- cmp r1, r0
- bne _02033030
- mov r0, #0x3
- bx lr
-_02033030:
- ldr r0, _02033058 ; =FUN_02032EA8
- cmp r1, r0
- bne _0203303A
- mov r0, #0x4
- bx lr
-_0203303A:
- ldr r0, _0203305C ; =FUN_02032EAC
- cmp r1, r0
- bne _02033044
- mov r0, #0x5
- bx lr
-_02033044:
- mov r0, #0x2
- bx lr
- .balign 4
-_02033048: .word 0x021C5A00
-_0203304C: .word FUN_02032F34
-_02033050: .word FUN_02032EB0
-_02033054: .word FUN_02032E90
-_02033058: .word FUN_02032EA8
-_0203305C: .word FUN_02032EAC
-
- thumb_func_start FUN_02033060
-FUN_02033060: ; 0x02033060
- push {r3, lr}
- ldr r0, _02033090 ; =FUN_020303BC
- ldr r1, _02033094 ; =FUN_02030238
- bl FUN_021D77C4
- mov r0, #0x0
- mvn r0, r0
- bl FUN_021D8494
- cmp r0, #0x0
- beq _0203308C
- ldr r0, _02033098 ; =0x021C5A00
- mov r1, #0x0
- ldr r0, [r0, #0x0]
- add r0, #0x4d
- strb r1, [r0, #0x0]
- bl FUN_0202FC60
- ldr r0, _0203309C ; =FUN_02032F34
- mov r1, #0x0
- bl FUN_02031D20
-_0203308C:
- pop {r3, pc}
- nop
-_02033090: .word FUN_020303BC
-_02033094: .word FUN_02030238
-_02033098: .word 0x021C5A00
-_0203309C: .word FUN_02032F34
-
- thumb_func_start FUN_020330A0
-FUN_020330A0: ; 0x020330A0
- push {r3, lr}
- mov r0, #0x0
- bl FUN_020313A0
- ldr r0, _020330D8 ; =0x021C5A00
- ldr r0, [r0, #0x0]
- add r0, #0x41
- ldrb r0, [r0, #0x0]
- bl FUN_021D82BC
- cmp r0, #0x0
- beq _020330C6
- bl FUN_021D836C
- ldr r0, _020330DC ; =FUN_02033060
- mov r1, #0x0
- bl FUN_02031D20
- pop {r3, pc}
-_020330C6:
- bl FUN_021D7F8C
- cmp r0, #0x0
- bge _020330D6
- ldr r0, _020330E0 ; =FUN_02032E8C
- mov r1, #0x0
- bl FUN_02031D20
-_020330D6:
- pop {r3, pc}
- .balign 4
-_020330D8: .word 0x021C5A00
-_020330DC: .word FUN_02033060
-_020330E0: .word FUN_02032E8C
-
- thumb_func_start FUN_020330E4
-FUN_020330E4: ; 0x020330E4
- push {r3, lr}
- bl FUN_02031190
- cmp r0, #0x0
- bne _02033100
- ldr r0, _02033120 ; =0x021C5A00
- mov r1, #0x0
- ldr r0, [r0, #0x0]
- add r0, #0x41
- strb r1, [r0, #0x0]
- ldr r0, _02033124 ; =FUN_020330A0
- bl FUN_02031D20
- b _02033112
-_02033100:
- ldr r0, _02033120 ; =0x021C5A00
- mov r1, #0x1
- ldr r0, [r0, #0x0]
- add r0, #0x41
- strb r1, [r0, #0x0]
- ldr r0, _02033124 ; =FUN_020330A0
- mov r1, #0x0
- bl FUN_02031D20
-_02033112:
- ldr r0, _02033120 ; =0x021C5A00
- mov r1, #0x1
- ldr r0, [r0, #0x0]
- add r0, #0x4d
- strb r1, [r0, #0x0]
- pop {r3, pc}
- nop
-_02033120: .word 0x021C5A00
-_02033124: .word FUN_020330A0
-
- thumb_func_start FUN_02033128
-FUN_02033128: ; 0x02033128
- ldr r0, _02033134 ; =0x021C5A00
- ldr r0, [r0, #0x0]
- add r0, #0x4d
- ldrb r0, [r0, #0x0]
- bx lr
- nop
-_02033134: .word 0x021C5A00
-
- thumb_func_start FUN_02033138
-FUN_02033138: ; 0x02033138
- ldr r0, _0203314C ; =0x021C5A00
- ldr r0, [r0, #0x0]
- ldr r1, [r0, #0x24]
- ldr r0, _02033150 ; =FUN_02033060
- cmp r1, r0
- bne _02033148
- mov r0, #0x1
- bx lr
-_02033148:
- mov r0, #0x0
- bx lr
- .balign 4
-_0203314C: .word 0x021C5A00
-_02033150: .word FUN_02033060
-
- thumb_func_start FUN_02033154
-FUN_02033154: ; 0x02033154
- ldr r0, _02033174 ; =0x021C5A00
- ldr r0, [r0, #0x0]
- ldr r1, [r0, #0x24]
- ldr r0, _02033178 ; =FUN_02032F34
- cmp r1, r0
- bne _02033164
- mov r0, #0x1
- bx lr
-_02033164:
- ldr r0, _0203317C ; =FUN_02033060
- cmp r1, r0
- bne _0203316E
- mov r0, #0x1
- bx lr
-_0203316E:
- mov r0, #0x0
- bx lr
- nop
-_02033174: .word 0x021C5A00
-_02033178: .word FUN_02032F34
-_0203317C: .word FUN_02033060
-
- thumb_func_start FUN_02033180
-FUN_02033180: ; 0x02033180
- ldr r0, _02033188 ; =0x021C5A00
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x34]
- bx lr
- .balign 4
-_02033188: .word 0x021C5A00
-
- thumb_func_start FUN_0203318C
-FUN_0203318C: ; 0x0203318C
- push {r3, lr}
- mov r0, #0x0
- bl FUN_020313A0
- mov r0, #0x0
- bl FUN_021D82BC
- cmp r0, #0x0
- beq _020331AA
- bl FUN_021D836C
- ldr r0, _020331BC ; =FUN_02032440
- mov r1, #0x0
- bl FUN_02031D20
-_020331AA:
- bl FUN_021D7F8C
- cmp r0, #0x0
- bge _020331BA
- ldr r0, _020331C0 ; =FUN_02032E8C
- mov r1, #0x0
- bl FUN_02031D20
-_020331BA:
- pop {r3, pc}
- .balign 4
-_020331BC: .word FUN_02032440
-_020331C0: .word FUN_02032E8C
-
- thumb_func_start FUN_020331C4
-FUN_020331C4: ; 0x020331C4
- push {r3, lr}
- ldr r0, _020331E0 ; =0x021C5A00
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- beq _020331DC
- mov r0, #0x1
- bl FUN_020166B8
- ldr r0, _020331E4 ; =FUN_02032440
- mov r1, #0x5
- bl FUN_02031D20
-_020331DC:
- pop {r3, pc}
- nop
-_020331E0: .word 0x021C5A00
-_020331E4: .word FUN_02032440
-
- thumb_func_start FUN_020331E8
-FUN_020331E8: ; 0x020331E8
- push {r3, lr}
- ldr r0, _02033200 ; =0x021C5A00
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- beq _020331FE
- mov r1, #0x0
- add r0, #0x41
- strb r1, [r0, #0x0]
- ldr r0, _02033204 ; =FUN_020330A0
- bl FUN_02031D20
-_020331FE:
- pop {r3, pc}
- .balign 4
-_02033200: .word 0x021C5A00
-_02033204: .word FUN_020330A0
-
- thumb_func_start FUN_02033208
-FUN_02033208: ; 0x02033208
- push {r3, lr}
- ldr r0, _02033234 ; =0x021C5A00
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- beq _02033232
- bl FUN_02031190
- cmp r0, #0x0
- bne _02033220
- mov r1, #0x0
- ldr r0, _02033234 ; =0x021C5A00
- b _02033224
-_02033220:
- ldr r0, _02033234 ; =0x021C5A00
- mov r1, #0x1
-_02033224:
- ldr r0, [r0, #0x0]
- add r0, #0x41
- strb r1, [r0, #0x0]
- ldr r0, _02033238 ; =FUN_020330A0
- mov r1, #0x0
- bl FUN_02031D20
-_02033232:
- pop {r3, pc}
- .balign 4
-_02033234: .word 0x021C5A00
-_02033238: .word FUN_020330A0
-
- thumb_func_start FUN_0203323C
-FUN_0203323C: ; 0x0203323C
- push {r3, lr}
- bl FUN_02031190
- add r1, sp, #0x0
- strb r0, [r1, #0x0]
- mov r0, #0x15
- add r1, sp, #0x0
- bl FUN_020311D0
- pop {r3, pc}
-
- thumb_func_start FUN_02033250
-FUN_02033250: ; 0x02033250
- ldr r0, _0203327C ; =0x021C5A00
- ldr r2, [r0, #0x0]
- cmp r2, #0x0
- beq _02033276
- ldr r1, [r2, #0x24]
- ldr r0, _02033280 ; =FUN_02032E8C
- cmp r1, r0
- bne _02033264
- mov r0, #0x1
- bx lr
-_02033264:
- ldr r0, _02033284 ; =FUN_02032E90
- cmp r1, r0
- bne _02033276
- add r2, #0x44
- ldrb r0, [r2, #0x0]
- cmp r0, #0x0
- beq _02033276
- mov r0, #0x1
- bx lr
-_02033276:
- mov r0, #0x0
- bx lr
- nop
-_0203327C: .word 0x021C5A00
-_02033280: .word FUN_02032E8C
-_02033284: .word FUN_02032E90
-
- thumb_func_start FUN_02033288
-FUN_02033288: ; 0x02033288
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, _020332D8 ; =0x021C5A00
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- bne _020332D6
- mov r1, #0xf
- add r2, r1, #0x0
- mov r0, #0x3
- add r2, #0xf1
- bl FUN_02016828
- mov r0, #0xf
- mov r1, #0x50
- bl FUN_02016998
- ldr r1, _020332D8 ; =0x021C5A00
- mov r2, #0x50
- str r0, [r1, #0x0]
- mov r1, #0x0
- blx MI_CpuFill8
- ldr r0, _020332D8 ; =0x021C5A00
- mov r2, #0x18
- ldr r1, [r0, #0x0]
- add r1, #0x3f
- strb r2, [r1, #0x0]
- ldr r2, [r0, #0x0]
- mov r1, #0x1
- add r2, #0x46
- strb r1, [r2, #0x0]
- ldr r0, [r0, #0x0]
- str r4, [r0, #0x28]
- mov r0, #0x0
- bl FUN_020334E8
- mov r0, #0x1
- bl FUN_020166A8
-_020332D6:
- pop {r4, pc}
- .balign 4
-_020332D8: .word 0x021C5A00
-
- thumb_func_start FUN_020332DC
-FUN_020332DC: ; 0x020332DC
- push {r3, lr}
- ldr r0, _0203330C ; =0x021C5A00
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- beq _02033308
- mov r0, #0x1
- bl FUN_020166B8
- mov r0, #0x0
- add r1, r0, #0x0
- bl FUN_020334E8
- ldr r0, _0203330C ; =0x021C5A00
- ldr r0, [r0, #0x0]
- bl FUN_02016A18
- ldr r0, _0203330C ; =0x021C5A00
- mov r1, #0x0
- str r1, [r0, #0x0]
- mov r0, #0xf
- bl FUN_020168D0
-_02033308:
- pop {r3, pc}
- nop
-_0203330C: .word 0x021C5A00
-
- thumb_func_start FUN_02033310
-FUN_02033310: ; 0x02033310
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, _02033360 ; =0x021C5A00
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- bne _0203335E
- mov r1, #0xf
- add r2, r1, #0x0
- mov r0, #0x3
- add r2, #0xf1
- bl FUN_02016828
- mov r0, #0xf
- mov r1, #0x50
- bl FUN_02016998
- ldr r1, _02033360 ; =0x021C5A00
- mov r2, #0x50
- str r0, [r1, #0x0]
- mov r1, #0x0
- blx MI_CpuFill8
- ldr r0, _02033360 ; =0x021C5A00
- mov r2, #0x19
- ldr r1, [r0, #0x0]
- add r1, #0x3f
- strb r2, [r1, #0x0]
- ldr r2, [r0, #0x0]
- mov r1, #0x1
- add r2, #0x46
- strb r1, [r2, #0x0]
- ldr r0, [r0, #0x0]
- str r4, [r0, #0x28]
- mov r0, #0x0
- bl FUN_020334E8
- mov r0, #0x1
- bl FUN_020166A8
-_0203335E:
- pop {r4, pc}
- .balign 4
-_02033360: .word 0x021C5A00
-
- thumb_func_start FUN_02033364
-FUN_02033364: ; 0x02033364
- push {r3, lr}
- ldr r0, _02033394 ; =0x021C5A00
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- beq _02033390
- mov r0, #0x1
- bl FUN_020166B8
- mov r0, #0x0
- add r1, r0, #0x0
- bl FUN_020334E8
- ldr r0, _02033394 ; =0x021C5A00
- ldr r0, [r0, #0x0]
- bl FUN_02016A18
- ldr r0, _02033394 ; =0x021C5A00
- mov r1, #0x0
- str r1, [r0, #0x0]
- mov r0, #0xf
- bl FUN_020168D0
-_02033390:
- pop {r3, pc}
- nop
-_02033394: .word 0x021C5A00
-
- thumb_func_start FUN_02033398
-FUN_02033398: ; 0x02033398
- push {r3, lr}
- sub sp, #0x8
- ldr r0, _020333EC ; =0x021C5A00
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- bne _020333AA
- add sp, #0x8
- mov r0, #0x0
- pop {r3, pc}
-_020333AA:
- add r0, #0x3f
- ldrb r0, [r0, #0x0]
- cmp r0, #0x18
- bne _020333C8
- add r0, sp, #0x4
- add r1, sp, #0x0
- blx FUN_021DD718
- cmp r0, #0x0
- beq _020333E4
- blx FUN_021DD6F0
- add sp, #0x8
- mov r0, #0x1
- pop {r3, pc}
-_020333C8:
- cmp r0, #0x19
- bne _020333E4
- add r0, sp, #0x4
- add r1, sp, #0x0
- blx FUN_021DD718
- cmp r0, #0x0
- beq _020333E4
- ldr r0, [sp, #0x0]
- cmp r0, #0x7
- bne _020333E4
- add sp, #0x8
- mov r0, #0x1
- pop {r3, pc}
-_020333E4:
- mov r0, #0x0
- add sp, #0x8
- pop {r3, pc}
- nop
-_020333EC: .word 0x021C5A00
-
- thumb_func_start FUN_020333F0
-FUN_020333F0: ; 0x020333F0
- push {r3, lr}
- bl FUN_021D76AC
- cmp r0, #0x0
- bge _02033408
- bl FUN_02032F20
- ldr r0, _02033414 ; =FUN_02032E8C
- mov r1, #0x0
- bl FUN_02031D20
- pop {r3, pc}
-_02033408:
- ble _02033412
- ldr r0, _02033418 ; =FUN_02033060
- mov r1, #0x0
- bl FUN_02031D20
-_02033412:
- pop {r3, pc}
- .balign 4
-_02033414: .word FUN_02032E8C
-_02033418: .word FUN_02033060
-
- thumb_func_start FUN_0203341C
-FUN_0203341C: ; 0x0203341C
- push {r3, lr}
- bl FUN_0202E4C8
- cmp r0, #0x0
- beq _0203345E
- mov r1, #0x31
- mov r0, #0x3
- lsl r2, r1, #0xc
- bl FUN_02016828
- mov r0, #0x1
- add r1, r0, #0x0
- lsl r2, r0, #0x9
- add r3, r0, #0x0
- bl FUN_0202F918
- cmp r0, #0x0
- beq _0203345E
- ldr r0, _02033460 ; =0x021C5A00
- mov r1, #0x31
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x28]
- bl FUN_021D74E0
- ldr r0, _02033464 ; =FUN_020335D0
- bl FUN_021D83A8
- bl FUN_0202FA10
- ldr r0, _02033468 ; =FUN_020333F0
- mov r1, #0x0
- bl FUN_02031D20
-_0203345E:
- pop {r3, pc}
- .balign 4
-_02033460: .word 0x021C5A00
-_02033464: .word FUN_020335D0
-_02033468: .word FUN_020333F0
-
- thumb_func_start FUN_0203346C
-FUN_0203346C: ; 0x0203346C
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- bl FUN_020238F4
- bl FUN_02030F40
- cmp r0, #0x0
- beq _02033482
- mov r0, #0x0
- pop {r3-r5, pc}
-_02033482:
- mov r0, #0x1
- bl FUN_020166A8
- ldr r2, _020334D0 ; =0x00007080
- mov r0, #0x3
- mov r1, #0xf
- bl FUN_02016828
- add r0, r5, #0x0
- mov r1, #0x17
- bl FUN_02031734
- mov r0, #0xf
- add r1, r4, #0x0
- bl FUN_02016998
- ldr r1, _020334D4 ; =0x021C5A00
- ldr r2, [r1, #0x0]
- str r0, [r2, #0x0]
- ldr r0, [r1, #0x0]
- mov r1, #0x0
- ldr r0, [r0, #0x0]
- add r2, r4, #0x0
- blx MI_CpuFill8
- ldr r0, _020334D4 ; =0x021C5A00
- mov r1, #0x0
- ldr r2, [r0, #0x0]
- add r2, #0x40
- strb r1, [r2, #0x0]
- ldr r0, [r0, #0x0]
- str r5, [r0, #0x28]
- ldr r0, _020334D8 ; =FUN_0203341C
- bl FUN_02031D20
- ldr r0, _020334D4 ; =0x021C5A00
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x0]
- pop {r3-r5, pc}
- .balign 4
-_020334D0: .word 0x00007080
-_020334D4: .word 0x021C5A00
-_020334D8: .word FUN_0203341C
-
- thumb_func_start FUN_020334DC
-FUN_020334DC: ; 0x020334DC
- ldr r0, _020334E4 ; =0x021C5A00
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x0]
- bx lr
- .balign 4
-_020334E4: .word 0x021C5A00
-
- thumb_func_start FUN_020334E8
-FUN_020334E8: ; 0x020334E8
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, _0203350C ; =0x021C5A00
- ldr r2, [r0, #0x0]
- cmp r2, #0x0
- beq _020334FE
- add r2, #0x44
- strb r4, [r2, #0x0]
- ldr r0, [r0, #0x0]
- add r0, #0x45
- strb r1, [r0, #0x0]
-_020334FE:
- add r0, r4, #0x0
- bl FUN_0202EE84
- add r0, r4, #0x0
- bl FUN_0202EEB0
- pop {r4, pc}
- .balign 4
-_0203350C: .word 0x021C5A00
-
- thumb_func_start FUN_02033510
-FUN_02033510: ; 0x02033510
- ldr r0, _02033530 ; =0x021C5A00
- ldr r1, [r0, #0x0]
- cmp r1, #0x0
- beq _0203352C
- add r0, r1, #0x0
- add r0, #0x4e
- ldrb r0, [r0, #0x0]
- cmp r0, #0x0
- beq _02033526
- mov r0, #0x1
- bx lr
-_02033526:
- add r1, #0x45
- ldrb r0, [r1, #0x0]
- bx lr
-_0203352C:
- mov r0, #0x0
- bx lr
- .balign 4
-_02033530: .word 0x021C5A00
-
- thumb_func_start FUN_02033534
-FUN_02033534: ; 0x02033534
- ldr r0, _02033548 ; =0x021C5A00
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- beq _02033542
- add r0, #0x3f
- ldrb r0, [r0, #0x0]
- bx lr
-_02033542:
- mov r0, #0x1
- bx lr
- nop
-_02033548: .word 0x021C5A00
-
- thumb_func_start FUN_0203354C
-FUN_0203354C: ; 0x0203354C
- ldr r0, _02033560 ; =0x021C5A00
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- beq _0203355A
- add r0, #0x40
- ldrb r0, [r0, #0x0]
- bx lr
-_0203355A:
- mov r0, #0x0
- bx lr
- nop
-_02033560: .word 0x021C5A00
-
- thumb_func_start FUN_02033564
-FUN_02033564: ; 0x02033564
- ldr r1, _02033570 ; =0x021C5A00
- ldr r3, _02033574 ; =MI_CpuCopy8
- ldr r1, [r1, #0x0]
- mov r2, #0x6
- add r1, r1, #0x4
- bx r3
- .balign 4
-_02033570: .word 0x021C5A00
-_02033574: .word MI_CpuCopy8
-
- thumb_func_start FUN_02033578
-FUN_02033578: ; 0x02033578
- add r1, r0, #0x0
- ldr r0, _02033588 ; =0x021C5A00
- ldr r3, _0203358C ; =MI_CpuCopy8
- ldr r0, [r0, #0x0]
- mov r2, #0x6
- add r0, r0, #0x4
- bx r3
- nop
-_02033588: .word 0x021C5A00
-_0203358C: .word MI_CpuCopy8
-
- thumb_func_start FUN_02033590
-FUN_02033590: ; 0x02033590
- push {r3, lr}
- bl FUN_02033534
- cmp r0, #0x13
- blt _0203359E
- mov r0, #0x1
- pop {r3, pc}
-_0203359E:
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_020335A4
-FUN_020335A4: ; 0x020335A4
- ldr r1, _020335B4 ; =0x021C5A00
- ldr r1, [r1, #0x0]
- cmp r1, #0x0
- beq _020335B0
- add r1, #0x47
- strb r0, [r1, #0x0]
-_020335B0:
- bx lr
- nop
-_020335B4: .word 0x021C5A00
-
- thumb_func_start FUN_020335B8
-FUN_020335B8: ; 0x020335B8
- ldr r0, _020335CC ; =0x021C5A00
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- beq _020335C6
- add r0, #0x47
- ldrb r0, [r0, #0x0]
- bx lr
-_020335C6:
- mov r0, #0x0
- bx lr
- nop
-_020335CC: .word 0x021C5A00
-
- thumb_func_start FUN_020335D0
-FUN_020335D0: ; 0x020335D0
- push {r3, lr}
- add r2, r0, #0x0
- mov r0, #0x0
- mov r1, #0x1
- bl FUN_02033F70
-_020335DC:
- b _020335DC
- .balign 4
-
- thumb_func_start FUN_020335E0
-FUN_020335E0: ; 0x020335E0
- push {r3, lr}
- mov r0, #0x0
- mov r1, #0x4
- add r2, r0, #0x0
- bl FUN_02033F70
-_020335EC:
- b _020335EC
- .balign 4
-
- thumb_func_start FUN_020335F0
-FUN_020335F0: ; 0x020335F0
- bx lr
- .balign 4
-
- thumb_func_start FUN_020335F4
-FUN_020335F4: ; 0x020335F4
- push {r3, lr}
- bl FUN_02033510
- cmp r0, #0x0
- beq _0203366C
- bl FUN_020311F0
- cmp r0, #0x0
- bne _02033622
- bl FUN_02033250
- cmp r0, #0x0
- bne _02033622
- bl FUN_02033398
- cmp r0, #0x0
- bne _02033622
- ldr r0, _02033670 ; =0x021C5A00
- ldr r0, [r0, #0x0]
- add r0, #0x4e
- ldrb r0, [r0, #0x0]
- cmp r0, #0x0
- beq _0203366C
-_02033622:
- bl FUN_020335B8
- cmp r0, #0x0
- bne _0203366C
- bl FUN_0200541C
- ldr r0, _02033670 ; =0x021C5A00
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x28]
- bl FUN_0202287C
- ldr r1, _02033674 ; =0x021C4918
- mov r0, #0x1
- strb r0, [r1, #0x4]
- ldr r1, _02033670 ; =0x021C5A00
- ldr r2, [r1, #0x0]
- add r1, r2, #0x0
- add r1, #0x4e
- ldrb r1, [r1, #0x0]
- cmp r1, #0x3
- bne _02033654
- mov r0, #0x3
- bl FUN_020335A4
- pop {r3, pc}
-_02033654:
- add r2, #0x3f
- ldrb r1, [r2, #0x0]
- cmp r1, #0x19
- beq _02033660
- cmp r1, #0xf
- bne _02033668
-_02033660:
- mov r0, #0x2
- bl FUN_020335A4
- pop {r3, pc}
-_02033668:
- bl FUN_020335A4
-_0203366C:
- pop {r3, pc}
- nop
-_02033670: .word 0x021C5A00
-_02033674: .word 0x021C4918
-
- thumb_func_start FUN_02033678
-FUN_02033678: ; 0x02033678
- push {r3, lr}
- bl FUN_0202EDD8
- cmp r0, #0x0
- bne _0203368A
- bl FUN_02031810
- cmp r0, #0x0
- bne _0203368E
-_0203368A:
- mov r0, #0x1
- pop {r3, pc}
-_0203368E:
- bl FUN_0202E344
- cmp r0, #0x0
- bne _0203369A
- mov r0, #0x1
- pop {r3, pc}
-_0203369A:
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_020336A0
-FUN_020336A0: ; 0x020336A0
- push {r3, lr}
- ldr r1, _020336BC ; =0x021C5A00
- ldr r1, [r1, #0x0]
- cmp r1, #0x0
- beq _020336B6
- add r1, #0x4e
- strb r0, [r1, #0x0]
- bl FUN_02031468
- mov r0, #0x1
- pop {r3, pc}
-_020336B6:
- mov r0, #0x0
- pop {r3, pc}
- nop
-_020336BC: .word 0x021C5A00
-
- thumb_func_start FUN_020336C0
-FUN_020336C0: ; 0x020336C0
- mov r1, #0x0
- str r1, [r0, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_020336C8
-FUN_020336C8: ; 0x020336C8
- push {r4-r6, lr}
- add r4, r2, #0x0
- add r6, r1, #0x0
- ldr r1, [r4, #0x0]
- add r5, r0, #0x0
- cmp r1, #0x6
- bhi _02033774
- add r1, r1, r1
- add r1, pc
- ldrh r1, [r1, #0x6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_020336E2: ; jump table (using 16-bit offset)
- .short _020336F0 - _020336E2 - 2; case 0
- .short _020336FC - _020336E2 - 2; case 1
- .short _02033714 - _020336E2 - 2; case 2
- .short _0203373A - _020336E2 - 2; case 3
- .short _0203374A - _020336E2 - 2; case 4
- .short _0203376A - _020336E2 - 2; case 5
- .short _02033770 - _020336E2 - 2; case 6
-_020336F0:
- mov r0, #0x6f
- bl FUN_02031588
- mov r0, #0x1
- str r0, [r4, #0x0]
- b _02033774
-_020336FC:
- mov r0, #0x6f
- bl FUN_020315D8
- cmp r0, #0x0
- beq _02033774
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_02022840
- mov r0, #0x2
- str r0, [r4, #0x0]
- b _02033774
-_02033714:
- bl FUN_02022854
- add r5, r0, #0x0
- cmp r5, #0x2
- bne _02033722
- bl ErrorHandling
-_02033722:
- cmp r5, #0x3
- bne _0203372A
- bl ErrorHandling
-_0203372A:
- cmp r5, #0x1
- bne _02033774
- mov r0, #0x3
- str r0, [r4, #0x0]
- mov r0, #0x70
- bl FUN_02031588
- b _02033774
-_0203373A:
- mov r0, #0x70
- bl FUN_020315D8
- cmp r0, #0x0
- beq _02033774
- mov r0, #0x4
- str r0, [r4, #0x0]
- b _02033774
-_0203374A:
- bl FUN_02022854
- add r5, r0, #0x0
- cmp r5, #0x3
- bne _02033758
- bl ErrorHandling
-_02033758:
- cmp r5, #0x1
- bne _02033760
- bl ErrorHandling
-_02033760:
- cmp r5, #0x2
- bne _02033774
- mov r0, #0x5
- str r0, [r4, #0x0]
- b _02033774
-_0203376A:
- mov r0, #0x6
- str r0, [r4, #0x0]
- b _02033774
-_02033770:
- mov r0, #0x1
- pop {r4-r6, pc}
-_02033774:
- mov r0, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02033778
-FUN_02033778: ; 0x02033778
- push {r3-r7, lr}
- str r0, [sp, #0x0]
- bl FUN_02030F20
- add r7, r0, #0x0
- mov r0, #0x0
- bl FUN_0202DFA4
- cmp r0, #0x0
- beq _020337C6
- mov r5, #0x0
- cmp r7, #0x0
- ble _020337C6
-_02033792:
- bl FUN_02031190
- cmp r5, r0
- beq _020337C0
- add r0, r5, #0x0
- bl FUN_0202E020
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0202E044
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0202DFA4
- bl FUN_02023A70
- add r3, r0, #0x0
- ldr r0, [sp, #0x0]
- add r1, r4, #0x0
- add r2, r6, #0x0
- bl FUN_020337C8
-_020337C0:
- add r5, r5, #0x1
- cmp r5, r7
- blt _02033792
-_020337C6:
- pop {r3-r7, pc}
-
- thumb_func_start FUN_020337C8
-FUN_020337C8: ; 0x020337C8
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- add r6, r2, #0x0
- bl FUN_02029B40
- cmp r0, #0x0
- bne _020337E4
- add r0, r5, #0x0
- add r1, r4, #0x0
- add r2, r6, #0x0
- mov r3, #0x1
- bl FUN_02029B90
-_020337E4:
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_020337E8
-FUN_020337E8: ; 0x020337E8
- push {r3-r5, lr}
- mov r1, #0x72
- lsl r1, r1, #0x4
- bl FUN_02016998
- add r4, r0, #0x0
- add r0, #0x1f
- mov r1, #0x1f
- bic r0, r1
- blx FUN_02096B14
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_02016A18
- add r0, r5, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0203380C
-FUN_0203380C: ; 0x0203380C
- push {r4, lr}
- bl FUN_02028228
- add r4, r0, #0x0
- blx FUN_02096FB0
- cmp r0, #0x0
- bne _0203382A
- ldr r1, _0203382C ; =0x4144414A
- add r0, r4, #0x0
- blx thunk_FUN_02097190
- add r0, r4, #0x0
- blx thunk_FUN_02096e4c
-_0203382A:
- pop {r4, pc}
- .balign 4
-_0203382C: .word 0x4144414A
-
- thumb_func_start FUN_02033830
-FUN_02033830: ; 0x02033830
- push {r3-r4, lr}
- sub sp, #0xc
- bl FUN_02028228
- add r4, r0, #0x0
- add r1, sp, #0x0
- blx FUN_02096CCC
- add r0, r4, #0x0
- add r1, sp, #0x0
- blx FUN_02096DA0
- add sp, #0xc
- pop {r3-r4, pc}
-
- thumb_func_start FUN_0203384C
-FUN_0203384C: ; 0x0203384C
- push {r4, lr}
- bl FUN_020286EC
- bl FUN_02028228
- add r4, r0, #0x0
- blx FUN_02096F80
- cmp r0, #0x0
- beq _0203386E
- add r0, r4, #0x0
- blx FUN_02096F18
- cmp r0, #0x0
- beq _0203386E
- mov r0, #0x1
- pop {r4, pc}
-_0203386E:
- mov r0, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02033874
-FUN_02033874: ; 0x02033874
- push {r3-r7, lr}
- sub sp, #0x8
- add r4, r0, #0x0
- add r5, r1, #0x0
- str r2, [sp, #0x0]
- bl FUN_020286EC
- bl FUN_02028228
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl FUN_020286EC
- mov r1, #0x0
- bl FUN_0202838C
- add r4, r0, #0x0
- mov r1, #0x0
- ldr r0, [sp, #0x0]
- mvn r1, r1
- str r1, [r0, #0x0]
- add r0, r5, #0x0
- blx FUN_0209700C
- cmp r0, #0x0
- bne _020338AE
- add sp, #0x8
- mov r0, #0x3
- pop {r3-r7, pc}
-_020338AE:
- mov r7, #0x0
-_020338B0:
- add r0, r5, #0x0
- add r1, r4, #0x0
- blx FUN_02096B78
- cmp r0, #0x0
- beq _020338C6
- ldr r0, [sp, #0x0]
- add sp, #0x8
- str r7, [r0, #0x0]
- mov r0, #0x0
- pop {r3-r7, pc}
-_020338C6:
- add r0, r6, #0x0
- add r1, r5, #0x0
- blx FUN_02096DA0
- cmp r0, #0x0
- ble _020338F4
- add r0, r6, #0x0
- add r1, r5, #0x0
- blx FUN_02096DA0
- str r0, [sp, #0x4]
- add r0, r6, #0x0
- add r1, r4, #0x0
- blx FUN_02096DA0
- ldr r1, [sp, #0x4]
- cmp r1, r0
- bne _020338F4
- ldr r0, [sp, #0x0]
- add sp, #0x8
- str r7, [r0, #0x0]
- mov r0, #0x1
- pop {r3-r7, pc}
-_020338F4:
- ldr r0, [sp, #0x0]
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- bge _0203390A
- add r0, r4, #0x0
- blx FUN_0209700C
- cmp r0, #0x0
- bne _0203390A
- ldr r0, [sp, #0x0]
- str r7, [r0, #0x0]
-_0203390A:
- add r7, r7, #0x1
- add r4, #0xc
- cmp r7, #0x20
- blt _020338B0
- mov r0, #0x2
- add sp, #0x8
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02033918
-FUN_02033918: ; 0x02033918
- push {r3-r7, lr}
- sub sp, #0x18
- add r4, r0, #0x0
- str r1, [sp, #0x0]
- str r2, [sp, #0x4]
- add r6, r3, #0x0
- bl FUN_020286EC
- bl FUN_02028228
- add r7, r0, #0x0
- add r0, r4, #0x0
- bl FUN_020286EC
- mov r1, #0x0
- bl FUN_0202838C
- add r5, r0, #0x0
- ldr r1, [sp, #0x0]
- ldr r2, [sp, #0x4]
- add r0, r7, #0x0
- blx FUN_020973B4
- cmp r0, #0x0
- bne _02033950
- add sp, #0x18
- mov r0, #0x3
- pop {r3-r7, pc}
-_02033950:
- ldr r1, [sp, #0x0]
- ldr r2, [sp, #0x4]
- add r0, sp, #0xc
- blx FUN_02096D2C
- add r0, r7, #0x0
- add r1, sp, #0xc
- blx FUN_02096DA0
- cmp r0, #0x0
- bgt _0203396C
- add sp, #0x18
- mov r0, #0x3
- pop {r3-r7, pc}
-_0203396C:
- mov r0, #0x0
- mvn r0, r0
- str r0, [r6, #0x0]
- mov r4, #0x0
-_02033974:
- add r0, r7, #0x0
- add r1, sp, #0xc
- blx FUN_02096DA0
- str r0, [sp, #0x8]
- add r0, r7, #0x0
- add r1, r5, #0x0
- blx FUN_02096DA0
- ldr r1, [sp, #0x8]
- cmp r1, r0
- bne _02033994
- add sp, #0x18
- str r4, [r6, #0x0]
- mov r0, #0x0
- pop {r3-r7, pc}
-_02033994:
- ldr r0, [r6, #0x0]
- cmp r0, #0x0
- bge _020339A6
- add r0, r5, #0x0
- blx FUN_0209700C
- cmp r0, #0x0
- bne _020339A6
- str r4, [r6, #0x0]
-_020339A6:
- add r4, r4, #0x1
- add r5, #0xc
- cmp r4, #0x20
- blt _02033974
- mov r0, #0x2
- add sp, #0x18
- pop {r3-r7, pc}
-
- thumb_func_start FUN_020339B4
-FUN_020339B4: ; 0x020339B4
- push {r4-r7, lr}
- sub sp, #0x14
- add r6, r1, #0x0
- mov r1, #0x0
- add r5, r0, #0x0
- str r2, [sp, #0x4]
- str r1, [sp, #0xc]
- bl FUN_020286EC
- mov r1, #0x0
- bl FUN_0202838C
- str r0, [sp, #0x8]
- mov r4, #0x0
- bl FUN_02030F20
- cmp r0, #0x0
- ble _02033A68
-_020339D8:
- bl FUN_02031190
- cmp r4, r0
- beq _02033A5C
- add r0, r4, #0x0
- bl FUN_0202DFD8
- add r7, r0, #0x0
- beq _02033A5C
- add r0, r5, #0x0
- add r1, r7, #0x0
- add r2, sp, #0x10
- bl FUN_02033874
- str r0, [r6, #0x0]
- cmp r0, #0x3
- bne _020339FE
- bl ErrorHandling
-_020339FE:
- ldr r0, [r6, #0x0]
- cmp r0, #0x0
- bne _02033A1C
- mov r0, #0x2
- str r0, [sp, #0x0]
- ldr r2, [sp, #0x10]
- ldr r3, [sp, #0x4]
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02033A70
- add r0, r5, #0x0
- bl FUN_0202E1BC
- b _02033A5C
-_02033A1C:
- cmp r0, #0x1
- bne _02033A54
- bl FUN_02033590
- cmp r0, #0x0
- bne _02033A5C
- mov r0, #0x1
- str r0, [sp, #0x0]
- ldr r2, [sp, #0x10]
- ldr r3, [sp, #0x4]
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02033A70
- ldr r2, [sp, #0x10]
- mov r1, #0xc
- add r3, r2, #0x0
- mul r3, r1
- ldr r1, [sp, #0x8]
- add r0, r7, #0x0
- add r1, r1, r3
- mov r2, #0xc
- blx MI_CpuCopy8
- add r0, r5, #0x0
- bl FUN_0202E1BC
- b _02033A5C
-_02033A54:
- cmp r0, #0x2
- bne _02033A5C
- mov r0, #0x1
- str r0, [sp, #0xc]
-_02033A5C:
- add r6, r6, #0x4
- add r4, r4, #0x1
- bl FUN_02030F20
- cmp r4, r0
- blt _020339D8
-_02033A68:
- ldr r0, [sp, #0xc]
- add sp, #0x14
- pop {r4-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02033A70
-FUN_02033A70: ; 0x02033A70
- push {r4-r7, lr}
- sub sp, #0x14
- add r5, r2, #0x0
- str r0, [sp, #0x0]
- add r7, r1, #0x0
- str r3, [sp, #0x4]
- bl FUN_020286EC
- add r1, r5, #0x0
- add r4, r0, #0x0
- bl FUN_0202838C
- str r0, [sp, #0x8]
- add r0, r7, #0x0
- bl FUN_0202DFA4
- add r6, r0, #0x0
- ldr r0, [sp, #0x28]
- cmp r0, #0x2
- beq _02033AA6
- add r0, r7, #0x0
- bl FUN_0202DFD8
- ldr r1, [sp, #0x8]
- mov r2, #0xc
- blx MI_CpuCopy8
-_02033AA6:
- ldr r0, [sp, #0x28]
- cmp r0, #0x0
- bne _02033AEC
- ldr r1, [sp, #0x4]
- add r0, r6, #0x0
- bl FUN_020239A0
- str r0, [sp, #0xc]
- ldr r2, [sp, #0xc]
- add r0, r4, #0x0
- add r1, r5, #0x0
- bl FUN_020283C0
- ldr r0, [sp, #0xc]
- bl FUN_02021A20
- add r0, r6, #0x0
- bl FUN_020239CC
- add r3, r0, #0x0
- add r0, r4, #0x0
- add r1, r5, #0x0
- mov r2, #0x8
- bl FUN_020282E8
- add r0, r6, #0x0
- bl FUN_020239BC
- add r3, r0, #0x0
- add r0, r4, #0x0
- add r1, r5, #0x0
- mov r2, #0x0
- bl FUN_020282E8
- b _02033B22
-_02033AEC:
- cmp r0, #0x1
- bne _02033B22
- add r0, r4, #0x0
- add r1, r5, #0x0
- mov r2, #0x8
- bl FUN_0202822C
- cmp r0, #0x2
- bne _02033B22
- add r0, r6, #0x0
- bl FUN_020239CC
- add r3, r0, #0x0
- add r0, r4, #0x0
- add r1, r5, #0x0
- mov r2, #0x8
- bl FUN_020282E8
- add r0, r6, #0x0
- bl FUN_020239BC
- add r3, r0, #0x0
- add r0, r4, #0x0
- add r1, r5, #0x0
- mov r2, #0x0
- bl FUN_020282E8
-_02033B22:
- ldr r1, [sp, #0x4]
- mov r0, #0x78
- bl FUN_020219F4
- str r0, [sp, #0x10]
- add r0, r7, #0x0
- bl FUN_0202DFFC
- add r1, r0, #0x0
- ldr r0, [sp, #0x10]
- bl FUN_02021E28
- ldr r2, [sp, #0x10]
- add r0, r4, #0x0
- add r1, r5, #0x0
- bl FUN_02028404
- ldr r0, [sp, #0x10]
- bl FUN_02021A20
- add r0, r6, #0x0
- bl FUN_02023A28
- add r3, r0, #0x0
- add r0, r4, #0x0
- add r1, r5, #0x0
- mov r2, #0x7
- bl FUN_020282E8
- ldr r0, [sp, #0x0]
- bl FUN_0202E1BC
- add sp, #0x14
- pop {r4-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02033B68
-FUN_02033B68: ; 0x02033B68
- push {r4-r6, lr}
- add r4, r1, #0x0
- add r5, r2, #0x0
- mov r2, #0x7
- add r6, r3, #0x0
- ldr r1, [sp, #0x10]
- mov r0, #0x1
- lsl r2, r2, #0x6
- add r3, r4, #0x0
- bl FUN_02033D3C
- ldr r1, [sp, #0x10]
- mov r0, #0x1
- add r2, r4, #0x0
- bl FUN_02033D9C
- add r0, r4, #0x0
- mov r1, #0x20
- bl FUN_020169D8
- add r4, r0, #0x0
- ldr r0, _02033BC4 ; =FUN_02033BC8
- add r1, r4, #0x0
- mov r2, #0x5
- bl FUN_0200CA98
- str r0, [r4, #0x18]
- strh r5, [r4, #0xc]
- strh r6, [r4, #0xe]
- mov r1, #0x0
- str r1, [r4, #0x0]
- mov r0, #0x3
- str r0, [r4, #0x4]
- ldr r0, [sp, #0x14]
- str r0, [r4, #0x14]
- ldr r0, [sp, #0x10]
- str r1, [r4, #0x8]
- strb r0, [r4, #0x10]
- strb r1, [r4, #0x12]
- mov r0, #0x7
- strb r1, [r4, #0x11]
- lsl r0, r0, #0x18
- str r0, [r4, #0x1c]
- add r0, r4, #0x0
- pop {r4-r6, pc}
- nop
-_02033BC4: .word FUN_02033BC8
-
- thumb_func_start FUN_02033BC8
-FUN_02033BC8: ; 0x02033BC8
- push {r3-r7, lr}
- add r5, r1, #0x0
- ldrb r0, [r5, #0x11]
- cmp r0, #0x1
- beq _02033BD8
- cmp r0, #0x2
- beq _02033BEE
- b _02033C04
-_02033BD8:
- ldr r0, _02033CB0 ; =0x04000304
- ldrh r1, [r0, #0x0]
- lsr r0, r0, #0xb
- and r0, r1
- asr r0, r0, #0xf
- cmp r0, #0x1
- bne _02033BEA
- mov r6, #0x1
- b _02033C06
-_02033BEA:
- mov r6, #0x2
- b _02033C06
-_02033BEE:
- ldr r0, _02033CB0 ; =0x04000304
- ldrh r1, [r0, #0x0]
- lsr r0, r0, #0xb
- and r0, r1
- asr r0, r0, #0xf
- cmp r0, #0x1
- bne _02033C00
- mov r6, #0x2
- b _02033C06
-_02033C00:
- mov r6, #0x1
- b _02033C06
-_02033C04:
- mov r6, #0x1
-_02033C06:
- ldr r4, [r5, #0x4]
- cmp r6, #0x1
- bne _02033C1E
- mov r0, #0x1
- lsl r0, r0, #0x1a
- ldr r1, [r0, #0x0]
- ldr r0, _02033CB4 ; =0x00300010
- add r7, r1, #0x0
- and r7, r0
- blx GX_GetBankForOBJ
- b _02033C2C
-_02033C1E:
- ldr r0, _02033CB8 ; =0x04001000
- ldr r1, [r0, #0x0]
- ldr r0, _02033CB4 ; =0x00300010
- add r7, r1, #0x0
- and r7, r0
- blx GX_GetBankForSubOBJ
-_02033C2C:
- cmp r7, #0x10
- beq _02033C38
- ldr r1, _02033CBC ; =0x00200010
- cmp r7, r1
- beq _02033C54
- b _02033C6C
-_02033C38:
- cmp r0, #0x40
- beq _02033C40
- cmp r0, #0x20
- bne _02033C4A
-_02033C40:
- mov r0, #0x1f
- lsl r1, r4, #0x2
- lsl r0, r0, #0x4
- add r1, r1, r0
- b _02033C74
-_02033C4A:
- mov r0, #0x3f
- lsl r1, r4, #0x2
- lsl r0, r0, #0x4
- add r1, r1, r0
- b _02033C74
-_02033C54:
- cmp r0, #0x30
- beq _02033C5C
- cmp r0, #0x50
- bne _02033C64
-_02033C5C:
- mov r0, #0x9f
- lsl r0, r0, #0x2
- add r1, r4, r0
- b _02033C74
-_02033C64:
- mov r0, #0xff
- lsl r0, r0, #0x2
- add r1, r4, r0
- b _02033C74
-_02033C6C:
- mov r0, #0xfe
- lsl r1, r4, #0x1
- lsl r0, r0, #0x2
- add r1, r1, r0
-_02033C74:
- cmp r6, #0x1
- bne _02033C7E
- mov r2, #0x7
- lsl r2, r2, #0x18
- b _02033C80
-_02033C7E:
- ldr r2, _02033CC0 ; =0x07000400
-_02033C80:
- ldrh r3, [r5, #0xe]
- ldrh r0, [r5, #0xc]
- lsl r3, r3, #0x18
- lsr r4, r3, #0x18
- mov r3, #0x1
- lsl r0, r0, #0x17
- lsl r3, r3, #0x1e
- lsr r0, r0, #0x7
- orr r3, r4
- orr r0, r3
- str r0, [r2, #0x0]
- mov r0, #0xe
- lsl r0, r0, #0xc
- orr r0, r1
- strh r0, [r2, #0x4]
- ldr r1, [r5, #0x1c]
- cmp r2, r1
- beq _02033CAE
- ldr r0, _02033CC4 ; =0x40000200
- str r0, [r1, #0x0]
- mov r0, #0x0
- strh r0, [r1, #0x4]
- str r2, [r5, #0x1c]
-_02033CAE:
- pop {r3-r7, pc}
- .balign 4
-_02033CB0: .word 0x04000304
-_02033CB4: .word 0x00300010
-_02033CB8: .word 0x04001000
-_02033CBC: .word 0x00200010
-_02033CC0: .word 0x07000400
-_02033CC4: .word 0x40000200
-
- thumb_func_start FUN_02033CC8
-FUN_02033CC8: ; 0x02033CC8
- cmp r1, #0x4
- bge _02033CD2
- str r1, [r0, #0x4]
- mov r1, #0x0
- str r1, [r0, #0x8]
-_02033CD2:
- bx lr
-
- thumb_func_start FUN_02033CD4
-FUN_02033CD4: ; 0x02033CD4
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x18]
- bl FUN_0200CAB4
- mov r0, #0x7
- ldr r2, _02033D00 ; =0x40000200
- lsl r0, r0, #0x18
- str r2, [r0, #0x0]
- mov r1, #0x0
- strh r1, [r0, #0x4]
- ldrb r0, [r4, #0x12]
- cmp r0, #0x0
- beq _02033CF6
- ldr r0, _02033D04 ; =0x07000400
- str r2, [r0, #0x0]
- strh r1, [r0, #0x4]
-_02033CF6:
- add r0, r4, #0x0
- bl FUN_02016A18
- pop {r4, pc}
- nop
-_02033D00: .word 0x40000200
-_02033D04: .word 0x07000400
-
- thumb_func_start FUN_02033D08
-FUN_02033D08: ; 0x02033D08
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- add r6, r2, #0x0
- mov r2, #0x7
- ldrb r1, [r5, #0x10]
- mov r0, #0x2
- lsl r2, r2, #0x6
- add r3, r6, #0x0
- bl FUN_02033D3C
- ldrb r1, [r5, #0x10]
- mov r0, #0x2
- add r2, r6, #0x0
- bl FUN_02033D9C
- cmp r4, #0x0
- beq _02033D30
- mov r0, #0x1
- b _02033D32
-_02033D30:
- mov r0, #0x2
-_02033D32:
- strb r0, [r5, #0x11]
- mov r0, #0x1
- strb r0, [r5, #0x12]
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02033D3C
-FUN_02033D3C: ; 0x02033D3C
- push {r3-r5, lr}
- sub sp, #0x8
- mov r1, #0x96
- add r5, r0, #0x0
- add r0, r3, #0x0
- lsl r1, r1, #0x2
- add r4, r2, #0x0
- bl FUN_020169D8
- str r0, [sp, #0x4]
- cmp r0, #0x0
- beq _02033D92
- ldr r0, _02033D98 ; =0x02105D88
- add r1, sp, #0x4
- bl FUN_020161F8
- mov r1, #0x96
- ldr r0, [sp, #0x4]
- lsl r1, r1, #0x2
- blx DC_FlushRange
- ldr r0, [sp, #0x4]
- add r1, sp, #0x0
- blx FUN_020B0138
- cmp r5, #0x1
- bne _02033D80
- ldr r0, [sp, #0x0]
- add r1, r4, #0x0
- ldr r0, [r0, #0xc]
- mov r2, #0x20
- blx GX_LoadOBJPltt
- b _02033D8C
-_02033D80:
- ldr r0, [sp, #0x0]
- add r1, r4, #0x0
- ldr r0, [r0, #0xc]
- mov r2, #0x20
- blx GXS_LoadOBJPltt
-_02033D8C:
- ldr r0, [sp, #0x4]
- bl FUN_02016A18
-_02033D92:
- add sp, #0x8
- pop {r3-r5, pc}
- nop
-_02033D98: .word 0x02105D88
-
- thumb_func_start FUN_02033D9C
-FUN_02033D9C: ; 0x02033D9C
- push {r3-r5, lr}
- sub sp, #0x8
- add r4, r1, #0x0
- mov r1, #0x96
- add r5, r0, #0x0
- add r0, r2, #0x0
- lsl r1, r1, #0x2
- bl FUN_020169D8
- str r0, [sp, #0x4]
- cmp r0, #0x0
- beq _02033E58
- cmp r4, #0x0
- add r1, sp, #0x4
- beq _02033DC2
- ldr r0, _02033E5C ; =0x02105D98
- bl FUN_020161F8
- b _02033DC8
-_02033DC2:
- ldr r0, _02033E60 ; =0x02105DA8
- bl FUN_020161F8
-_02033DC8:
- mov r1, #0x96
- ldr r0, [sp, #0x4]
- lsl r1, r1, #0x2
- blx DC_FlushRange
- ldr r0, [sp, #0x4]
- add r1, sp, #0x0
- blx FUN_020B0088
- cmp r5, #0x1
- bne _02033DF0
- mov r0, #0x1
- lsl r0, r0, #0x1a
- ldr r1, [r0, #0x0]
- ldr r0, _02033E64 ; =0x00300010
- add r4, r1, #0x0
- and r4, r0
- blx GX_GetBankForOBJ
- b _02033E00
-_02033DF0:
- mov r0, #0x1
- lsl r0, r0, #0x1a
- ldr r1, [r0, #0x0]
- ldr r0, _02033E64 ; =0x00300010
- add r4, r1, #0x0
- and r4, r0
- blx GX_GetBankForOBJ
-_02033E00:
- cmp r4, #0x10
- beq _02033E0C
- ldr r1, _02033E68 ; =0x00200010
- cmp r4, r1
- beq _02033E20
- b _02033E30
-_02033E0C:
- cmp r0, #0x40
- beq _02033E14
- cmp r0, #0x20
- bne _02033E1A
-_02033E14:
- mov r1, #0x3e
- lsl r1, r1, #0x8
- b _02033E34
-_02033E1A:
- mov r1, #0x7e
- lsl r1, r1, #0x8
- b _02033E34
-_02033E20:
- cmp r0, #0x30
- beq _02033E28
- cmp r0, #0x50
- bne _02033E2C
-_02033E28:
- ldr r1, _02033E6C ; =0x00013E00
- b _02033E34
-_02033E2C:
- ldr r1, _02033E70 ; =0x0001FE00
- b _02033E34
-_02033E30:
- mov r1, #0xfe
- lsl r1, r1, #0x8
-_02033E34:
- cmp r5, #0x1
- bne _02033E46
- ldr r0, [sp, #0x0]
- mov r2, #0x2
- ldr r0, [r0, #0x14]
- lsl r2, r2, #0x8
- blx GX_LoadOBJ
- b _02033E52
-_02033E46:
- ldr r0, [sp, #0x0]
- mov r2, #0x2
- ldr r0, [r0, #0x14]
- lsl r2, r2, #0x8
- blx GXS_LoadOBJ
-_02033E52:
- ldr r0, [sp, #0x4]
- bl FUN_02016A18
-_02033E58:
- add sp, #0x8
- pop {r3-r5, pc}
- .balign 4
-_02033E5C: .word 0x02105D98
-_02033E60: .word 0x02105DA8
-_02033E64: .word 0x00300010
-_02033E68: .word 0x00200010
-_02033E6C: .word 0x00013E00
-_02033E70: .word 0x0001FE00
-
- thumb_func_start FUN_02033E74
-FUN_02033E74: ; 0x02033E74
- push {r4, lr}
- mov r4, #0x0
- bl FUN_02033590
- cmp r0, #0x0
- beq _02033E82
- mov r4, #0x1
-_02033E82:
- mov r0, #0xf0
- mov r1, #0x0
- add r2, r4, #0x0
- bl FUN_02033E90
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02033E90
-FUN_02033E90: ; 0x02033E90
- push {r4-r6, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- add r6, r1, #0x0
- add r4, r2, #0x0
- bl FUN_0202E4DC
- cmp r0, #0x0
- beq _02033EC4
- ldr r0, _02033EC8 ; =0x021C5A04
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- beq _02033EAE
- bl FUN_02033ED0
-_02033EAE:
- ldr r0, _02033ECC ; =0x02105D74
- str r4, [sp, #0x0]
- str r0, [sp, #0x4]
- mov r0, #0x0
- mov r1, #0x5b
- add r2, r5, #0x0
- add r3, r6, #0x0
- bl FUN_02033B68
- ldr r1, _02033EC8 ; =0x021C5A04
- str r0, [r1, #0x0]
-_02033EC4:
- add sp, #0x8
- pop {r4-r6, pc}
- .balign 4
-_02033EC8: .word 0x021C5A04
-_02033ECC: .word 0x02105D74
-
- thumb_func_start FUN_02033ED0
-FUN_02033ED0: ; 0x02033ED0
- push {r3, lr}
- ldr r0, _02033EE8 ; =0x021C5A04
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- beq _02033EE4
- bl FUN_02033CD4
- ldr r0, _02033EE8 ; =0x021C5A04
- mov r1, #0x0
- str r1, [r0, #0x0]
-_02033EE4:
- pop {r3, pc}
- nop
-_02033EE8: .word 0x021C5A04
-
- thumb_func_start FUN_02033EEC
-FUN_02033EEC: ; 0x02033EEC
- push {r3, lr}
- add r1, r0, #0x0
- ldr r0, _02033F00 ; =0x021C5A04
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- beq _02033EFC
- bl FUN_02033CC8
-_02033EFC:
- pop {r3, pc}
- nop
-_02033F00: .word 0x021C5A04
-
- thumb_func_start FUN_02033F04
-FUN_02033F04: ; 0x02033F04
- push {r3, lr}
- add r3, r0, #0x0
- ldr r0, _02033F1C ; =0x021C5A04
- add r2, r1, #0x0
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- beq _02033F18
- add r1, r3, #0x0
- bl FUN_02033D08
-_02033F18:
- pop {r3, pc}
- nop
-_02033F1C: .word 0x021C5A04
-
- thumb_func_start FUN_02033F20
-FUN_02033F20: ; 0x02033F20
- push {r3, lr}
- bl FUN_02030F40
- cmp r0, #0x0
- beq _02033F40
- bl FUN_02030F20
- cmp r0, #0x1
- bgt _02033F3A
- bl FUN_02033590
- cmp r0, #0x0
- beq _02033F4C
-_02033F3A:
- bl FUN_02033E74
- pop {r3, pc}
-_02033F40:
- bl FUN_02033590
- cmp r0, #0x0
- beq _02033F4C
- bl FUN_02033E74
-_02033F4C:
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_02033F50
-FUN_02033F50: ; 0x02033F50
- ldr r3, _02033F64 ; =0x027E0000
- ldr r1, _02033F68 ; =0x00003FF8
- mov r0, #0x1
- ldr r2, [r3, r1]
- orr r0, r2
- str r0, [r3, r1]
- ldr r3, _02033F6C ; =MI_WaitDma
- mov r0, #0x3
- bx r3
- nop
-_02033F64: .word 0x027E0000
-_02033F68: .word 0x00003FF8
-_02033F6C: .word MI_WaitDma
-
- thumb_func_start FUN_02033F70
-FUN_02033F70: ; 0x02033F70
- push {r3-r7, lr}
- sub sp, #0x28
- add r4, r0, #0x0
- str r2, [sp, #0xc]
- cmp r1, #0x4
- bhi _02033F92
- add r0, r1, r1
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_02033F88: ; jump table (using 16-bit offset)
- .short _02033F92 - _02033F88 - 2; case 0
- .short _02033F96 - _02033F88 - 2; case 1
- .short _02033F9A - _02033F88 - 2; case 2
- .short _02033F9E - _02033F88 - 2; case 3
- .short _02033FA2 - _02033F88 - 2; case 4
-_02033F92:
- mov r5, #0x1
- b _02033FA4
-_02033F96:
- mov r5, #0x2
- b _02033FA4
-_02033F9A:
- mov r5, #0x3
- b _02033FA4
-_02033F9E:
- mov r5, #0x4
- b _02033FA4
-_02033FA2:
- mov r5, #0x5
-_02033FA4:
- mov r0, #0x0
- add r1, r0, #0x0
- bl FUN_0200E3A0
- mov r0, #0x1
- mov r1, #0x0
- bl FUN_0200E3A0
- mov r0, #0x1
- blx OS_DisableIrqMask
- ldr r1, _02034154 ; =FUN_02033F50
- mov r0, #0x1
- blx OS_SetIrqFunction
- mov r0, #0x1
- blx 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, _02034158 ; =0xFFFFE0FF
- and r1, r0
- str r1, [r2, #0x0]
- ldr r2, _0203415C ; =0x04001000
- ldr r1, [r2, #0x0]
- and r0, r1
- str r0, [r2, #0x0]
- mov r0, #0x4
- mov r1, #0x8
- bl FUN_0201669C
- ldr r0, _02034160 ; =0x021C4918
- mov r1, #0x0
- strb r1, [r0, #0x5]
- bl FUN_0201E7A0
- ldr r3, _02034164 ; =0x04000050
- mov r1, #0x0
- strh r1, [r3, #0x0]
- ldr r0, _02034168 ; =0x04001050
- sub r3, #0x50
- strh r1, [r0, #0x0]
- ldr r2, [r3, #0x0]
- ldr r1, _0203416C ; =0xFFFF1FFF
- sub r0, #0x50
- and r2, r1
- str r2, [r3, #0x0]
- ldr r2, [r0, #0x0]
- and r1, r2
- str r1, [r0, #0x0]
- ldr r0, _02034170 ; =0x020EECD0
- bl FUN_0201E66C
- add r0, r4, #0x0
- bl FUN_02016B94
- add r6, r0, #0x0
- ldr r0, _02034174 ; =0x020EECA4
- bl FUN_02016BBC
- mov r1, #0x0
- ldr r2, _02034178 ; =0x020EECB4
- add r0, r6, #0x0
- add r3, r1, #0x0
- bl FUN_02016C18
- add r0, r6, #0x0
- mov r1, #0x0
- bl FUN_02018744
- mov r1, #0x0
- str r1, [sp, #0x0]
- ldr r2, _0203417C ; =0x000001F7
- add r0, r6, #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, _02034180 ; =0x00006C21
- mov r0, #0x0
- bl FUN_02017FE4
- ldr r1, _02034180 ; =0x00006C21
- mov r0, #0x4
- bl FUN_02017FE4
- mov r0, #0x1
- mov r1, #0x1a
- mov r2, #0xc8
- add r3, r4, #0x0
- bl FUN_0200A86C
- str r0, [sp, #0x10]
- mov r0, #0x6
- lsl r0, r0, #0x6
- add r1, r4, #0x0
- bl FUN_020219F4
- add r7, r0, #0x0
- mov r0, #0x6
- lsl r0, r0, #0x6
- add r1, r4, #0x0
- bl FUN_020219F4
- str r0, [sp, #0x14]
- bl FUN_0201BD5C
- add r0, r4, #0x0
- bl FUN_0200AA80
- add r4, r0, #0x0
- ldr r2, _02034184 ; =0x020EEC9C
- add r0, r6, #0x0
- add r1, sp, #0x18
- bl FUN_02019150
- mov r0, #0xd0
- str r0, [sp, #0x0]
- mov r0, #0x90
- mov r2, #0x0
- str r0, [sp, #0x4]
- add r0, sp, #0x18
- mov r1, #0xf
- add r3, r2, #0x0
- bl FUN_020196F4
- ldr r2, _0203417C ; =0x000001F7
- add r0, sp, #0x18
- mov r1, #0x0
- mov r3, #0x2
- bl FUN_0200CCA4
- mov r0, #0x2
- str r0, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- ldr r2, [sp, #0xc]
- add r0, r4, #0x0
- mov r1, #0x0
- mov r3, #0x5
- bl FUN_0200AD38
- ldr r0, [sp, #0x10]
- ldr r2, [sp, #0x14]
- add r1, r5, #0x0
- bl FUN_0200A8E0
- ldr r2, [sp, #0x14]
- add r0, r4, #0x0
- add r1, r7, #0x0
- bl FUN_0200B7B8
- mov r1, #0x0
- str r1, [sp, #0x0]
- str r1, [sp, #0x4]
- add r0, sp, #0x18
- add r2, r7, #0x0
- add r3, r1, #0x0
- str r1, [sp, #0x8]
- bl FUN_0201BD84
- add r0, r7, #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
- add r0, sp, #0x18
- bl FUN_02019178
- ldr r0, [sp, #0x10]
- bl FUN_0200A8B8
- add r0, r4, #0x0
- bl FUN_0200AB18
- add r0, r6, #0x0
- bl FUN_02016A18
- add sp, #0x28
- pop {r3-r7, pc}
- nop
-_02034154: .word FUN_02033F50
-_02034158: .word 0xFFFFE0FF
-_0203415C: .word 0x04001000
-_02034160: .word 0x021C4918
-_02034164: .word 0x04000050
-_02034168: .word 0x04001050
-_0203416C: .word 0xFFFF1FFF
-_02034170: .word 0x020EECD0
-_02034174: .word 0x020EECA4
-_02034178: .word 0x020EECB4
-_0203417C: .word 0x000001F7
-_02034180: .word 0x00006C21
-_02034184: .word 0x020EEC9C
-
- thumb_func_start FUN_02034188
-FUN_02034188: ; 0x02034188
- push {r4-r7, lr}
- sub sp, #0x24
- add r4, r0, #0x0
- 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, _02034368 ; =0xFFFFE0FF
- and r1, r0
- str r1, [r2, #0x0]
- ldr r2, _0203436C ; =0x04001000
- ldr r1, [r2, #0x0]
- and r0, r1
- str r0, [r2, #0x0]
- mov r0, #0x4
- mov r1, #0x8
- bl FUN_0201669C
- ldr r0, _02034370 ; =0x021C4918
- mov r1, #0x0
- strb r1, [r0, #0x5]
- bl FUN_0201E7A0
- ldr r3, _02034374 ; =0x04000050
- mov r0, #0x0
- strh r0, [r3, #0x0]
- ldr r2, _02034378 ; =0x04001050
- sub r3, #0x50
- strh r0, [r2, #0x0]
- ldr r1, [r3, #0x0]
- ldr r0, _0203437C ; =0xFFFF1FFF
- sub r2, #0x50
- and r1, r0
- str r1, [r3, #0x0]
- ldr r1, [r2, #0x0]
- and r0, r1
- str r0, [r2, #0x0]
- ldr r0, _02034380 ; =0x020EED2C
- bl FUN_0201E66C
- add r0, r4, #0x0
- bl FUN_02016B94
- str r0, [sp, #0x10]
- ldr r0, _02034384 ; =0x020EED00
- bl FUN_02016BBC
- mov r1, #0x0
- ldr r0, [sp, #0x10]
- ldr r2, _02034388 ; =0x020EED10
- 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, _0203438C ; =0x000001F7
- 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, _02034390 ; =0x00006C21
- mov r0, #0x0
- bl FUN_02017FE4
- ldr r1, _02034390 ; =0x00006C21
- mov r0, #0x4
- bl FUN_02017FE4
- ldr r2, _02034394 ; =0x00000265
- mov r0, #0x1
- mov r1, #0x1a
- add r3, r4, #0x0
- bl FUN_0200A86C
- str r0, [sp, #0xc]
- mov r0, #0x6
- lsl r0, r0, #0x6
- add r1, r4, #0x0
- bl FUN_020219F4
- add r4, r0, #0x0
- bl FUN_0201BD5C
- ldr r0, [sp, #0x10]
- ldr r2, _02034398 ; =0x020EECF8
- 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, _0203438C ; =0x000001F7
- add r0, sp, #0x14
- mov r1, #0x0
- mov r3, #0x2
- bl FUN_0200CCA4
- ldr r0, [sp, #0xc]
- mov r1, #0xf
- 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
- ldr r4, _0203439C ; =0x04000130
- ldr r6, _020343A0 ; =0x027FFFA8
- mov r7, #0x1
-_020342E4:
- ldrh r1, [r4, #0x0]
- ldrh r0, [r6, #0x0]
- orr r1, r0
- ldr r0, _020343A4 ; =0x00002FFF
- eor r1, r0
- and r0, r1
- lsl r0, r0, #0x10
- lsr r5, r0, #0x10
- bl FUN_02000FE8
- add r0, r5, #0x0
- tst r0, r7
- bne _02034308
- mov r0, #0x1
- add r1, r0, #0x0
- blx OS_WaitIrq
- b _020342E4
-_02034308:
- add r0, sp, #0x14
- bl FUN_02019178
- ldr r0, [sp, #0xc]
- bl FUN_0200A8B8
- 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, [sp, #0x10]
- mov r1, #0x0
- bl FUN_020178A0
- ldr r0, [sp, #0x10]
- bl FUN_02016A18
- add sp, #0x24
- pop {r4-r7, pc}
- nop
-_02034368: .word 0xFFFFE0FF
-_0203436C: .word 0x04001000
-_02034370: .word 0x021C4918
-_02034374: .word 0x04000050
-_02034378: .word 0x04001050
-_0203437C: .word 0xFFFF1FFF
-_02034380: .word 0x020EED2C
-_02034384: .word 0x020EED00
-_02034388: .word 0x020EED10
-_0203438C: .word 0x000001F7
-_02034390: .word 0x00006C21
-_02034394: .word 0x00000265
-_02034398: .word 0x020EECF8
-_0203439C: .word 0x04000130
-_020343A0: .word 0x027FFFA8
-_020343A4: .word 0x00002FFF
-
- thumb_func_start FUN_020343A8
-FUN_020343A8: ; 0x020343A8
- push {r4-r7, lr}
- sub sp, #0xc
- add r4, r0, #0x0
- str r2, [sp, #0x0]
- mov r2, #0x0
- strb r2, [r4, #0x1]
- mov r0, #0xe1
- ldr r7, _02034488 ; =0x0000070A
- ldr r6, _0203448C ; =0x00000A8E
- mov r12, r1
- strb r2, [r4, #0x0]
- add r3, r4, #0x0
- add r5, r2, #0x0
- lsl r0, r0, #0x2
-_020343C4:
- add r1, r4, r2
- strh r5, [r3, #0x2]
- strb r5, [r1, r7]
- strh r5, [r3, r6]
- add r2, r2, #0x1
- add r3, r3, #0x2
- cmp r2, r0
- blt _020343C4
- ldr r0, _02034490 ; =0x00001196
- mov r2, #0x0
-_020343D8:
- add r1, r4, r5
- add r5, r5, #0x1
- strb r2, [r1, r0]
- cmp r5, #0x10
- blt _020343D8
- mov r0, #0x29
- mov r1, r12
- mov r2, #0xb
- bl FUN_02006528
- add r6, r0, #0x0
- ldrb r0, [r6, #0x0]
- add r5, r6, #0x5
- strb r0, [r4, #0x1]
- ldrb r0, [r6, #0x1]
- strb r0, [r4, #0x0]
- ldrb r0, [r6, #0x2]
- str r0, [sp, #0x8]
- ldrb r0, [r6, #0x3]
- str r0, [sp, #0x4]
- ldrb r7, [r6, #0x4]
- cmp r7, #0x10
- bls _0203440A
- bl ErrorHandling
-_0203440A:
- ldr r1, _02034490 ; =0x00001196
- add r0, r5, #0x0
- add r1, r4, r1
- add r2, r7, #0x0
- blx MI_CpuCopy8
- ldr r0, [sp, #0x8]
- add r5, r5, r7
- cmp r0, #0x0
- beq _0203443A
- ldrb r3, [r4, #0x1]
- ldrb r2, [r4, #0x0]
- add r0, r5, #0x0
- add r1, r4, #0x2
- mul r2, r3
- lsl r2, r2, #0x1
- blx MI_CpuCopy8
- ldrb r1, [r4, #0x1]
- ldrb r0, [r4, #0x0]
- mul r0, r1
- lsl r0, r0, #0x1
- add r5, r5, r0
- b _0203444E
-_0203443A:
- ldrb r3, [r4, #0x1]
- ldrb r2, [r4, #0x0]
- ldr r0, [sp, #0x0]
- add r1, r4, #0x2
- lsl r0, r0, #0x10
- mul r2, r3
- lsr r0, r0, #0x10
- lsl r2, r2, #0x1
- blx MIi_CpuClear16
-_0203444E:
- ldr r0, [sp, #0x4]
- cmp r0, #0x0
- beq _0203446C
- ldrb r3, [r4, #0x1]
- ldrb r2, [r4, #0x0]
- ldr r1, _02034488 ; =0x0000070A
- add r0, r5, #0x0
- add r1, r4, r1
- mul r2, r3
- blx MI_CpuCopy8
- ldrb r1, [r4, #0x1]
- ldrb r0, [r4, #0x0]
- mul r0, r1
- add r5, r5, r0
-_0203446C:
- ldrb r3, [r4, #0x1]
- ldrb r2, [r4, #0x0]
- ldr r1, _0203448C ; =0x00000A8E
- add r0, r5, #0x0
- mul r2, r3
- add r1, r4, r1
- lsl r2, r2, #0x1
- blx MI_CpuCopy8
- add r0, r6, #0x0
- bl FUN_02016A18
- add sp, #0xc
- pop {r4-r7, pc}
- .balign 4
-_02034488: .word 0x0000070A
-_0203448C: .word 0x00000A8E
-_02034490: .word 0x00001196
-
- thumb_func_start FUN_02034494
-FUN_02034494: ; 0x02034494
- push {r3, lr}
- ldr r1, _020344A8 ; =0x000011AA
- mov r0, #0xb
- bl FUN_02016998
- mov r1, #0x0
- strb r1, [r0, #0x0]
- strb r1, [r0, #0x1]
- strb r1, [r0, #0x2]
- pop {r3, pc}
- .balign 4
-_020344A8: .word 0x000011AA
-
- thumb_func_start FUN_020344AC
-FUN_020344AC: ; 0x020344AC
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- bl FUN_0203474C
- add r6, r0, #0x0
- add r0, r4, #0x4
- add r1, r6, #0x0
- add r2, r5, #0x0
- bl FUN_020343A8
- strb r6, [r4, #0x2]
- ldrb r0, [r4, #0x4]
- strb r0, [r4, #0x1]
- ldrb r0, [r4, #0x5]
- strb r0, [r4, #0x0]
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_020344D0
-FUN_020344D0: ; 0x020344D0
- ldr r3, _020344D4 ; =FUN_02016A18
- bx r3
- .balign 4
-_020344D4: .word FUN_02016A18
-
- thumb_func_start FUN_020344D8
-FUN_020344D8: ; 0x020344D8
- push {r3-r5, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- ldrb r1, [r4, #0x0]
- ldrb r0, [r4, #0x1]
- mul r0, r1
- cmp r5, r0
- blt _020344EC
- bl ErrorHandling
-_020344EC:
- lsl r0, r5, #0x1
- add r1, r4, r0
- ldr r0, _020344F8 ; =0x00000A92
- ldrh r0, [r1, r0]
- pop {r3-r5, pc}
- nop
-_020344F8: .word 0x00000A92
-
- thumb_func_start FUN_020344FC
-FUN_020344FC: ; 0x020344FC
- push {r4, lr}
- add r4, r0, #0x0
- bne _02034506
- bl ErrorHandling
-_02034506:
- ldrb r0, [r4, #0x0]
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0203450C
-FUN_0203450C: ; 0x0203450C
- push {r4, lr}
- add r4, r0, #0x0
- bne _02034516
- bl ErrorHandling
-_02034516:
- ldrb r0, [r4, #0x1]
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0203451C
-FUN_0203451C: ; 0x0203451C
- push {r3-r7, lr}
- add r7, r0, #0x0
- ldrb r0, [r7, #0x1]
- add r5, r1, #0x0
- add r4, r2, #0x0
- ldrb r6, [r7, #0x0]
- str r0, [sp, #0x0]
- cmp r5, #0x0
- blt _02034532
- cmp r5, r6
- blt _02034536
-_02034532:
- bl ErrorHandling
-_02034536:
- cmp r4, #0x0
- blt _02034540
- ldr r0, [sp, #0x0]
- cmp r4, r0
- blt _02034544
-_02034540:
- bl ErrorHandling
-_02034544:
- add r0, r4, #0x0
- mul r0, r6
- add r0, r5, r0
- lsl r0, r0, #0x1
- add r0, r7, r0
- ldrh r0, [r0, #0x6]
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02034554
-FUN_02034554: ; 0x02034554
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- ldrb r1, [r5, #0x0]
- ldrb r0, [r5, #0x1]
- mul r0, r1
- cmp r4, #0x0
- blt _02034568
- cmp r4, r0
- blt _0203456C
-_02034568:
- bl ErrorHandling
-_0203456C:
- lsl r0, r4, #0x1
- add r0, r5, r0
- ldrh r0, [r0, #0x6]
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02034574
-FUN_02034574: ; 0x02034574
- ldrb r0, [r0, #0x2]
- bx lr
-
- thumb_func_start FUN_02034578
-FUN_02034578: ; 0x02034578
- push {r4-r6, lr}
- add r5, r0, #0x0
- ldr r0, [sp, #0x10]
- add r4, r2, #0x0
- add r6, r3, #0x0
- cmp r4, r0
- blt _0203458A
- bl ErrorHandling
-_0203458A:
- ldr r0, [sp, #0x10]
- mul r0, r6
- add r4, r4, r0
- mov r0, #0xe1
- lsl r0, r0, #0x2
- cmp r4, r0
- blt _0203459C
- bl ErrorHandling
-_0203459C:
- ldr r0, _020345A4 ; =0x0000070E
- add r1, r5, r4
- ldrb r0, [r1, r0]
- pop {r4-r6, pc}
- .balign 4
-_020345A4: .word 0x0000070E
-
- thumb_func_start FUN_020345A8
-FUN_020345A8: ; 0x020345A8
- push {r3-r5, lr}
- ldr r1, _020345D8 ; =0x00000708
- add r4, r0, #0x0
- bl FUN_02016998
- add r5, r0, #0x0
- mov r0, #0x29
- mov r1, #0x0
- add r2, r4, #0x0
- bl FUN_02006528
- add r4, r0, #0x0
- ldrb r1, [r4, #0x4]
- add r0, r4, #0x5
- ldr r2, _020345D8 ; =0x00000708
- add r0, r0, r1
- add r1, r5, #0x0
- blx MI_CpuCopy8
- add r0, r4, #0x0
- bl FUN_02016A18
- add r0, r5, #0x0
- pop {r3-r5, pc}
- .balign 4
-_020345D8: .word 0x00000708
-
- thumb_func_start FUN_020345DC
-FUN_020345DC: ; 0x020345DC
- push {r4, lr}
- add r4, r0, #0x0
- bne _020345E6
- bl ErrorHandling
-_020345E6:
- add r0, r4, #0x0
- bl FUN_02016A18
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_020345F0
-FUN_020345F0: ; 0x020345F0
- mov r3, #0x1e
- mul r3, r2
- add r1, r1, r3
- lsl r1, r1, #0x1
- ldrh r0, [r0, r1]
- bx lr
-
- thumb_func_start FUN_020345FC
-FUN_020345FC: ; 0x020345FC
- push {r3-r5, lr}
- sub sp, #0x1fc
- sub sp, #0x1fc
- sub sp, #0x1fc
- sub sp, #0x1fc
- sub sp, #0x1fc
- sub sp, #0x1fc
- sub sp, #0x1fc
- sub sp, #0x1fc
- sub sp, #0x1c8
- add r3, r0, #0x0
- add r5, r1, #0x0
- lsl r1, r3, #0x10
- add r4, r2, #0x0
- add r0, sp, #0x0
- lsr r1, r1, #0x10
- mov r2, #0x0
- bl FUN_020343A8
- add r0, sp, #0x0
- ldrb r0, [r0, #0x1]
- cmp r5, r0
- blt _0203462E
- bl ErrorHandling
-_0203462E:
- add r0, sp, #0x0
- ldrb r0, [r0, #0x0]
- cmp r4, r0
- blt _0203463A
- bl ErrorHandling
-_0203463A:
- add r0, sp, #0x0
- ldrb r0, [r0, #0x1]
- mul r0, r4
- add r0, r5, r0
- lsl r1, r0, #0x1
- add r0, sp, #0x0
- add r0, #0x2
- ldrh r0, [r0, r1]
- add sp, #0x1fc
- add sp, #0x1fc
- add sp, #0x1fc
- add sp, #0x1fc
- add sp, #0x1fc
- add sp, #0x1fc
- add sp, #0x1fc
- add sp, #0x1fc
- add sp, #0x1c8
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02034660
-FUN_02034660: ; 0x02034660
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- bne _0203466C
- bl ErrorHandling
-_0203466C:
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_020344D8
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02034678
-FUN_02034678: ; 0x02034678
- push {r4-r7}
- ldr r1, _020346C4 ; =0x00000A92
- ldrb r7, [r0, #0x0]
- add r2, r0, r1
- ldr r1, _020346C8 ; =0x0000070E
- add r1, r0, r1
- ldrb r0, [r0, #0x2]
- cmp r0, #0x0
- bne _020346BE
- mov r0, #0x15
- add r6, r7, #0x0
- mul r6, r0
- add r5, r6, #0x0
- add r5, #0x17
- mov r4, #0xb0
- lsl r0, r5, #0x1
- add r6, #0x18
- strh r4, [r2, r0]
- lsl r0, r6, #0x1
- strh r4, [r2, r0]
- mov r0, #0x16
- add r3, r7, #0x0
- mul r3, r0
- add r0, r3, #0x0
- add r0, #0x17
- lsl r7, r0, #0x1
- add r3, #0x18
- strh r4, [r2, r7]
- lsl r7, r3, #0x1
- strh r4, [r2, r7]
- mov r2, #0x2
- strb r2, [r1, r5]
- strb r2, [r1, r6]
- strb r2, [r1, r0]
- strb r2, [r1, r3]
-_020346BE:
- pop {r4-r7}
- bx lr
- nop
-_020346C4: .word 0x00000A92
-_020346C8: .word 0x0000070E
-
- thumb_func_start FUN_020346CC
-FUN_020346CC: ; 0x020346CC
- push {r3-r4}
- ldr r1, _0203470C ; =0x00000A92
- add r2, r0, r1
- ldrb r1, [r0, #0x0]
- ldrb r0, [r0, #0x2]
- cmp r0, #0x0
- bne _02034706
- mov r0, #0xf
- mul r0, r1
- add r0, #0x1c
- mov r3, #0x77
- lsl r0, r0, #0x1
- strh r3, [r2, r0]
- lsl r0, r1, #0x4
- add r3, r0, #0x0
- add r3, #0x1b
- mov r4, #0x78
- lsl r3, r3, #0x1
- strh r4, [r2, r3]
- add r3, r0, #0x0
- add r3, #0x1c
- add r0, r1, r0
- add r0, #0x1b
- mov r4, #0x79
- lsl r3, r3, #0x1
- strh r4, [r2, r3]
- mov r3, #0x7a
- lsl r0, r0, #0x1
- strh r3, [r2, r0]
-_02034706:
- pop {r3-r4}
- bx lr
- nop
-_0203470C: .word 0x00000A92
-
- thumb_func_start FUN_02034710
-FUN_02034710: ; 0x02034710
- push {r3, lr}
- ldr r1, _02034720 ; =0x0000022F
- cmp r0, r1
- blo _0203471E
- bl ErrorHandling
- mov r0, #0x3
-_0203471E:
- pop {r3, pc}
- .balign 4
-_02034720: .word 0x0000022F
-
- thumb_func_start FUN_02034724
-FUN_02034724: ; 0x02034724
- push {r3, lr}
- bl FUN_02034710
- mov r1, #0x18
- mul r1, r0
- ldr r0, _02034734 ; =0x020EEDBC
- ldrb r0, [r0, r1]
- pop {r3, pc}
- .balign 4
-_02034734: .word 0x020EEDBC
-
- thumb_func_start FUN_02034738
-FUN_02034738: ; 0x02034738
- push {r3, lr}
- bl FUN_02034710
- mov r1, #0x18
- mul r1, r0
- ldr r0, _02034748 ; =0x020EEDBD
- ldrb r0, [r0, r1]
- pop {r3, pc}
- .balign 4
-_02034748: .word 0x020EEDBD
-
- thumb_func_start FUN_0203474C
-FUN_0203474C: ; 0x0203474C
- push {r3, lr}
- bl FUN_02034710
- mov r1, #0x18
- mul r1, r0
- ldr r0, _0203476C ; =0x020EEDBE
- ldrh r0, [r0, r1]
- cmp r0, #0x16
- bne _02034768
- ldr r1, _02034770 ; =0x020ECAC0
- ldrb r1, [r1, #0x0]
- cmp r1, #0xb
- bne _02034768
- mov r0, #0x17
-_02034768:
- pop {r3, pc}
- nop
-_0203476C: .word 0x020EEDBE
-_02034770: .word 0x020ECAC0
-
- thumb_func_start FUN_02034774
-FUN_02034774: ; 0x02034774
- push {r3, lr}
- bl FUN_02034710
- mov r1, #0x18
- mul r1, r0
- ldr r0, _02034784 ; =0x020EEDC4
- ldrh r0, [r0, r1]
- pop {r3, pc}
- .balign 4
-_02034784: .word 0x020EEDC4
-
- thumb_func_start FUN_02034788
-FUN_02034788: ; 0x02034788
- push {r3, lr}
- bl FUN_02034710
- mov r1, #0x18
- mul r1, r0
- ldr r0, _02034798 ; =0x020EEDC0
- ldrh r0, [r0, r1]
- pop {r3, pc}
- .balign 4
-_02034798: .word 0x020EEDC0
-
- thumb_func_start FUN_0203479C
-FUN_0203479C: ; 0x0203479C
- push {r3, lr}
- bl FUN_02034710
- mov r1, #0x18
- mul r1, r0
- ldr r0, _020347AC ; =0x020EEDC2
- ldrh r0, [r0, r1]
- pop {r3, pc}
- .balign 4
-_020347AC: .word 0x020EEDC2
-
- thumb_func_start FUN_020347B0
-FUN_020347B0: ; 0x020347B0
- push {r3, lr}
- bl FUN_02034710
- mov r1, #0x18
- mul r1, r0
- ldr r0, _020347C0 ; =0x020EEDC6
- ldrh r0, [r0, r1]
- pop {r3, pc}
- .balign 4
-_020347C0: .word 0x020EEDC6
-
- thumb_func_start FUN_020347C4
-FUN_020347C4: ; 0x020347C4
- push {r3, lr}
- bl FUN_02034710
- mov r1, #0x18
- mul r1, r0
- ldr r0, _020347D4 ; =0x020EEDC8
- ldrh r0, [r0, r1]
- pop {r3, pc}
- .balign 4
-_020347D4: .word 0x020EEDC8
-
- thumb_func_start FUN_020347D8
-FUN_020347D8: ; 0x020347D8
- push {r3, lr}
- bl FUN_02034710
- mov r1, #0x18
- mul r1, r0
- ldr r0, _020347F4 ; =0x020EEDCA
- ldrh r1, [r0, r1]
- ldr r0, _020347F8 ; =0x0000FFFF
- cmp r1, r0
- beq _020347F0
- mov r0, #0x1
- pop {r3, pc}
-_020347F0:
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-_020347F4: .word 0x020EEDCA
-_020347F8: .word 0x0000FFFF
-
- thumb_func_start FUN_020347FC
-FUN_020347FC: ; 0x020347FC
- push {r3, lr}
- bl FUN_02034710
- mov r1, #0x18
- mul r1, r0
- ldr r0, _0203480C ; =0x020EEDCA
- ldrh r0, [r0, r1]
- pop {r3, pc}
- .balign 4
-_0203480C: .word 0x020EEDCA
-
- thumb_func_start FUN_02034810
-FUN_02034810: ; 0x02034810
- push {r3, lr}
- bl FUN_02034710
- mov r1, #0x18
- mul r1, r0
- ldr r0, _02034820 ; =0x020EEDCC
- ldrh r0, [r0, r1]
- pop {r3, pc}
- .balign 4
-_02034820: .word 0x020EEDCC
-
- thumb_func_start FUN_02034824
-FUN_02034824: ; 0x02034824
- push {r3, lr}
- bl FUN_02034710
- mov r1, #0x18
- mul r1, r0
- ldr r0, _02034834 ; =0x020EEDCE
- ldrh r0, [r0, r1]
- pop {r3, pc}
- .balign 4
-_02034834: .word 0x020EEDCE
-
- thumb_func_start FUN_02034838
-FUN_02034838: ; 0x02034838
- push {r3, lr}
- bl FUN_02034710
- mov r1, #0x18
- mul r1, r0
- ldr r0, _02034848 ; =0x020EEDD0
- ldrb r0, [r0, r1]
- pop {r3, pc}
- .balign 4
-_02034848: .word 0x020EEDD0
-
- thumb_func_start FUN_0203484C
-FUN_0203484C: ; 0x0203484C
- push {r3, lr}
- bl FUN_02034710
- mov r1, #0x18
- mul r1, r0
- ldr r0, _0203485C ; =0x020EEDD1
- ldrb r0, [r0, r1]
- pop {r3, pc}
- .balign 4
-_0203485C: .word 0x020EEDD1
-
- thumb_func_start FUN_02034860
-FUN_02034860: ; 0x02034860
- push {r3, lr}
- bl FUN_02034710
- mov r1, #0x18
- mul r1, r0
- ldr r0, _02034878 ; =0x020EEDBC
- add r0, r0, r1
- ldrb r0, [r0, #0x17]
- lsl r0, r0, #0x1c
- lsr r0, r0, #0x1c
- pop {r3, pc}
- nop
-_02034878: .word 0x020EEDBC
-
- thumb_func_start FUN_0203487C
-FUN_0203487C: ; 0x0203487C
- push {r3, lr}
- bl FUN_02034710
- mov r1, #0x18
- mul r1, r0
- ldr r0, _02034894 ; =0x020EEDBC
- add r0, r0, r1
- ldrb r0, [r0, #0x17]
- lsl r0, r0, #0x19
- lsr r0, r0, #0x1f
- pop {r3, pc}
- nop
-_02034894: .word 0x020EEDBC
-
- thumb_func_start FUN_02034898
-FUN_02034898: ; 0x02034898
- push {r3, lr}
- bl FUN_02034710
- mov r1, #0x18
- mul r1, r0
- ldr r0, _020348B0 ; =0x020EEDBC
- add r0, r0, r1
- ldrb r0, [r0, #0x17]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x1f
- pop {r3, pc}
- nop
-_020348B0: .word 0x020EEDBC
-
- thumb_func_start FUN_020348B4
-FUN_020348B4: ; 0x020348B4
- push {r3, lr}
- bl FUN_02034710
- mov r1, #0x18
- mul r1, r0
- ldr r0, _020348CC ; =0x020EEDBC
- add r0, r0, r1
- ldrb r0, [r0, #0x17]
- lsl r0, r0, #0x1b
- lsr r0, r0, #0x1f
- pop {r3, pc}
- nop
-_020348CC: .word 0x020EEDBC
-
- thumb_func_start FUN_020348D0
-FUN_020348D0: ; 0x020348D0
- push {r3, lr}
- bl FUN_02034710
- mov r1, #0x18
- mul r1, r0
- ldr r0, _020348E0 ; =0x020EEDD2
- ldrb r0, [r0, r1]
- pop {r3, pc}
- .balign 4
-_020348E0: .word 0x020EEDD2
-
- thumb_func_start FUN_020348E4
-FUN_020348E4: ; 0x020348E4
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_02034898
- cmp r0, #0x0
- bne _020348F4
- mov r0, #0x0
- pop {r4, pc}
-_020348F4:
- add r0, r4, #0x0
- bl FUN_020348D0
- cmp r0, #0x1
- beq _02034902
- mov r0, #0x1
- pop {r4, pc}
-_02034902:
- mov r0, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02034908
-FUN_02034908: ; 0x02034908
- push {r3, lr}
- bl FUN_0203474C
- cmp r0, #0x0
- bne _02034916
- mov r0, #0x1
- pop {r3, pc}
-_02034916:
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0203491C
-FUN_0203491C: ; 0x0203491C
- push {r3, lr}
- bl FUN_020348D0
- cmp r0, #0x5
- bne _0203492A
- mov r0, #0x1
- pop {r3, pc}
-_0203492A:
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_02034930
-FUN_02034930: ; 0x02034930
- push {r3, lr}
- bl FUN_020348D0
- cmp r0, #0x3
- bne _0203493E
- mov r0, #0x1
- pop {r3, pc}
-_0203493E:
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_02034944
-FUN_02034944: ; 0x02034944
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_020348D0
- cmp r0, #0x4
- beq _0203495A
- add r0, r4, #0x0
- bl FUN_020348D0
- cmp r0, #0x5
- bne _0203495E
-_0203495A:
- mov r0, #0x1
- pop {r4, pc}
-_0203495E:
- mov r0, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02034964
-FUN_02034964: ; 0x02034964
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_020348D0
- cmp r0, #0x1
- beq _0203497A
- add r0, r4, #0x0
- bl FUN_020348D0
- cmp r0, #0x2
- bne _0203497E
-_0203497A:
- mov r0, #0x1
- pop {r4, pc}
-_0203497E:
- mov r0, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02034984
-FUN_02034984: ; 0x02034984
- push {r3, lr}
- bl FUN_0203491C
- cmp r0, #0x0
- beq _02034992
- mov r0, #0x1
- pop {r3, pc}
-_02034992:
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_02034998
-FUN_02034998: ; 0x02034998
- ldr r1, _020349A8 ; =0x000001D2
- cmp r0, r1
- bne _020349A2
- mov r0, #0x1
- bx lr
-_020349A2:
- mov r0, #0x0
- bx lr
- nop
-_020349A8: .word 0x000001D2
-
- thumb_func_start FUN_020349AC
-FUN_020349AC: ; 0x020349AC
- cmp r0, #0xdb
- bne _020349B4
- mov r0, #0x1
- bx lr
-_020349B4:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_020349B8
-FUN_020349B8: ; 0x020349B8
- ldr r1, _020349C8 ; =0x0000011F
- cmp r0, r1
- bne _020349C2
- mov r0, #0x1
- bx lr
-_020349C2:
- mov r0, #0x0
- bx lr
- nop
-_020349C8: .word 0x0000011F
-
- thumb_func_start FUN_020349CC
-FUN_020349CC: ; 0x020349CC
- cmp r0, #0xfd
- bne _020349D4
- mov r0, #0x1
- bx lr
-_020349D4:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_020349D8
-FUN_020349D8: ; 0x020349D8
- cmp r0, #0xdc
- bne _020349E0
- mov r0, #0x1
- bx lr
-_020349E0:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_020349E4
-FUN_020349E4: ; 0x020349E4
- ldr r3, _02034A00 ; =0x020EED54
- mov r2, #0x0
-_020349E8:
- ldrh r1, [r3, #0x0]
- cmp r0, r1
- bne _020349F2
- mov r0, #0x1
- bx lr
-_020349F2:
- add r2, r2, #0x1
- add r3, r3, #0x2
- cmp r2, #0x12
- blo _020349E8
- mov r0, #0x0
- bx lr
- nop
-_02034A00: .word 0x020EED54
-
- thumb_func_start FUN_02034A04
-FUN_02034A04: ; 0x02034A04
- ldr r3, _02034A24 ; =0x020EED78
- mov r2, #0x0
-_02034A08:
- ldrh r1, [r3, #0x0]
- cmp r0, r1
- bne _02034A18
- add r0, r2, #0x1
- lsl r1, r0, #0x1
- ldr r0, _02034A24 ; =0x020EED78
- ldrh r0, [r0, r1]
- bx lr
-_02034A18:
- add r2, r2, #0x2
- add r3, r3, #0x4
- cmp r2, #0x22
- blo _02034A08
- mov r0, #0x0
- bx lr
- .balign 4
-_02034A24: .word 0x020EED78
-
- thumb_func_start FUN_02034A28
-FUN_02034A28: ; 0x02034A28
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0x14]
- add r4, r1, #0x0
- cmp r0, #0x0
- beq _02034A38
- bl ErrorHandling
-_02034A38:
- ldr r1, _02034A44 ; =0x00000AC8
- add r0, r4, #0x0
- bl FUN_02016998
- str r0, [r5, #0x14]
- pop {r3-r5, pc}
- .balign 4
-_02034A44: .word 0x00000AC8
-
- thumb_func_start FUN_02034A48
-FUN_02034A48: ; 0x02034A48
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x14]
- cmp r0, #0x0
- bne _02034A56
- bl ErrorHandling
-_02034A56:
- ldr r0, [r4, #0x14]
- bl FUN_02016A18
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02034A60
-FUN_02034A60: ; 0x02034A60
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0x14]
- add r4, r1, #0x0
- cmp r0, #0x0
- bne _02034A70
- bl ErrorHandling
-_02034A70:
- ldr r0, [r5, #0x14]
- add r1, r4, #0x0
- bl FUN_02034A98
- ldr r0, [r5, #0x14]
- bl FUN_02034C50
- mov r0, #0x92
- ldr r1, [r5, #0x14]
- lsl r0, r0, #0x4
- add r0, r1, r0
- add r1, r4, #0x0
- bl FUN_02034CB4
- ldr r0, [r5, #0x14]
- add r1, r4, #0x0
- bl FUN_02034CEC
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02034A98
-FUN_02034A98: ; 0x02034A98
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, r1, #0x0
- bl FUN_02034810
- add r4, r0, #0x0
- mov r0, #0x20
- add r1, r4, #0x0
- bl LoadFromNARC_7
- mov r1, #0x2
- lsl r1, r1, #0xa
- cmp r0, r1
- blo _02034AB8
- bl ErrorHandling
-_02034AB8:
- add r5, #0x20
- add r0, r5, #0x0
- mov r1, #0x20
- add r2, r4, #0x0
- bl LoadFromNARC
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02034AC8
-FUN_02034AC8: ; 0x02034AC8
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0x14]
- ldr r4, [r0, #0x4]
- cmp r0, #0x0
- bne _02034AD8
- bl ErrorHandling
-_02034AD8:
- cmp r4, #0x0
- beq _02034AEC
- ldr r1, [r5, #0x1c]
- ldr r3, [r5, #0x14]
- ldr r0, [r5, #0x34]
- ldr r1, [r1, #0x0]
- ldr r3, [r3, #0x14]
- add r2, r4, #0x0
- bl FUN_02057BAC
-_02034AEC:
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02034AF0
-FUN_02034AF0: ; 0x02034AF0
- ldr r0, [r0, #0x14]
- ldr r0, [r0, #0x10]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02034AF8
-FUN_02034AF8: ; 0x02034AF8
- ldr r0, [r0, #0x14]
- ldr r0, [r0, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02034B00
-FUN_02034B00: ; 0x02034B00
- ldr r2, [r0, #0x14]
- ldr r0, [r2, #0x8]
- cmp r1, r0
- blo _02034B0C
- mov r0, #0x0
- bx lr
-_02034B0C:
- mov r0, #0xc
- ldr r2, [r2, #0x18]
- mul r0, r1
- add r0, r2, r0
- bx lr
- .balign 4
-
- thumb_func_start FUN_02034B18
-FUN_02034B18: ; 0x02034B18
- push {r4-r7}
- ldr r5, [r0, #0x14]
- mov r3, #0x0
- ldr r0, [r5, #0x8]
- cmp r0, #0x0
- bls _02034B4A
- ldr r6, [r5, #0x18]
- add r4, r3, #0x0
- add r0, r6, #0x0
-_02034B2A:
- ldrh r7, [r0, #0x0]
- cmp r1, r7
- bne _02034B3E
- add r7, r6, r4
- ldrh r7, [r7, #0x2]
- cmp r2, r7
- bne _02034B3E
- add r0, r3, #0x0
- pop {r4-r7}
- bx lr
-_02034B3E:
- ldr r7, [r5, #0x8]
- add r3, r3, #0x1
- add r0, #0xc
- add r4, #0xc
- cmp r3, r7
- blo _02034B2A
-_02034B4A:
- mov r0, #0x0
- mvn r0, r0
- pop {r4-r7}
- bx lr
- .balign 4
-
- thumb_func_start FUN_02034B54
-FUN_02034B54: ; 0x02034B54
- ldr r0, [r0, #0x14]
- ldr r0, [r0, #0xc]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02034B5C
-FUN_02034B5C: ; 0x02034B5C
- ldr r0, [r0, #0x14]
- ldr r0, [r0, #0x1c]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02034B64
-FUN_02034B64: ; 0x02034B64
- ldr r0, [r0, #0x14]
- ldr r0, [r0, #0x4]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02034B6C
-FUN_02034B6C: ; 0x02034B6C
- ldr r0, [r0, #0x14]
- ldr r0, [r0, #0x14]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02034B74
-FUN_02034B74: ; 0x02034B74
- push {r3-r7, lr}
- ldr r0, [r0, #0x14]
- add r4, r1, #0x0
- ldr r5, [r0, #0x4]
- add r7, r2, #0x0
- add r1, r3, #0x0
- mov r2, #0x0
- ldr r3, [r0, #0x14]
- cmp r5, #0x0
- bls _02034BA4
- add r6, r3, #0x0
-_02034B8A:
- ldrh r0, [r6, #0x0]
- cmp r4, r0
- bne _02034B9C
- lsl r0, r2, #0x5
- add r0, r3, r0
- strh r7, [r0, #0x18]
- strh r1, [r0, #0x1a]
- mov r0, #0x1
- pop {r3-r7, pc}
-_02034B9C:
- add r2, r2, #0x1
- add r6, #0x20
- cmp r2, r5
- blo _02034B8A
-_02034BA4:
- bl ErrorHandling
- mov r0, #0x0
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02034BAC
-FUN_02034BAC: ; 0x02034BAC
- push {r4-r6, lr}
- ldr r0, [r0, #0x14]
- mov r3, #0x0
- ldr r5, [r0, #0x4]
- ldr r4, [r0, #0x14]
- cmp r5, #0x0
- bls _02034BD4
- add r6, r4, #0x0
-_02034BBC:
- ldrh r0, [r6, #0x0]
- cmp r1, r0
- bne _02034BCC
- lsl r0, r3, #0x5
- add r0, r4, r0
- strh r2, [r0, #0xc]
- mov r0, #0x1
- pop {r4-r6, pc}
-_02034BCC:
- add r3, r3, #0x1
- add r6, #0x20
- cmp r3, r5
- blo _02034BBC
-_02034BD4:
- bl ErrorHandling
- mov r0, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02034BDC
-FUN_02034BDC: ; 0x02034BDC
- push {r4-r6, lr}
- ldr r0, [r0, #0x14]
- mov r3, #0x0
- ldr r5, [r0, #0x4]
- ldr r4, [r0, #0x14]
- cmp r5, #0x0
- bls _02034C04
- add r6, r4, #0x0
-_02034BEC:
- ldrh r0, [r6, #0x0]
- cmp r1, r0
- bne _02034BFC
- lsl r0, r3, #0x5
- add r0, r4, r0
- strh r2, [r0, #0x4]
- mov r0, #0x1
- pop {r4-r6, pc}
-_02034BFC:
- add r3, r3, #0x1
- add r6, #0x20
- cmp r3, r5
- blo _02034BEC
-_02034C04:
- bl ErrorHandling
- mov r0, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02034C0C
-FUN_02034C0C: ; 0x02034C0C
- push {r3-r4}
- ldr r0, [r0, #0x14]
- ldr r4, [r0, #0x18]
- mov r0, #0xc
- mul r0, r1
- strh r2, [r4, r0]
- add r0, r4, r0
- strh r3, [r0, #0x2]
- mov r0, #0x1
- pop {r3-r4}
- bx lr
- .balign 4
-
- thumb_func_start FUN_02034C24
-FUN_02034C24: ; 0x02034C24
- ldr r0, [r0, #0x14]
- ldr r3, [r0, #0x18]
- mov r0, #0xc
- mul r0, r1
- add r0, r3, r0
- strh r2, [r0, #0x4]
- mov r0, #0x1
- bx lr
-
- thumb_func_start FUN_02034C34
-FUN_02034C34: ; 0x02034C34
- push {r4-r6, lr}
- add r5, r1, #0x0
- add r4, r2, #0x0
- add r6, r3, #0x0
- bl FUN_02034AF0
- mov r1, #0x14
- mul r1, r5
- add r0, r0, r1
- str r4, [r0, #0x4]
- str r6, [r0, #0x8]
- mov r0, #0x1
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02034C50
-FUN_02034C50: ; 0x02034C50
- add r1, r0, #0x0
- ldr r2, [r0, #0x20]
- add r1, #0x20
- add r1, r1, #0x4
- str r2, [r0, #0x0]
- cmp r2, #0x0
- beq _02034C62
- str r1, [r0, #0x10]
- b _02034C66
-_02034C62:
- mov r2, #0x0
- str r2, [r0, #0x10]
-_02034C66:
- ldr r3, [r0, #0x0]
- mov r2, #0x14
- mul r2, r3
- add r3, r1, r2
- ldr r2, [r1, r2]
- add r1, r3, #0x4
- str r2, [r0, #0x4]
- cmp r2, #0x0
- beq _02034C7C
- str r1, [r0, #0x14]
- b _02034C80
-_02034C7C:
- mov r2, #0x0
- str r2, [r0, #0x14]
-_02034C80:
- ldr r2, [r0, #0x4]
- lsl r2, r2, #0x5
- add r3, r1, r2
- ldr r2, [r1, r2]
- add r1, r3, #0x4
- str r2, [r0, #0x8]
- cmp r2, #0x0
- beq _02034C94
- str r1, [r0, #0x18]
- b _02034C98
-_02034C94:
- mov r2, #0x0
- str r2, [r0, #0x18]
-_02034C98:
- ldr r3, [r0, #0x8]
- mov r2, #0xc
- mul r2, r3
- add r3, r1, r2
- ldr r1, [r1, r2]
- str r1, [r0, #0xc]
- cmp r1, #0x0
- beq _02034CAE
- add r1, r3, #0x4
- str r1, [r0, #0x1c]
- bx lr
-_02034CAE:
- mov r1, #0x0
- str r1, [r0, #0x1c]
- bx lr
-
- thumb_func_start FUN_02034CB4
-FUN_02034CB4: ; 0x02034CB4
- push {r3-r5, lr}
- mov r2, #0x6a
- add r4, r1, #0x0
- mov r1, #0x0
- lsl r2, r2, #0x2
- add r5, r0, #0x0
- blx Call_FillMemWithValue
- add r0, r4, #0x0
- bl FUN_020347D8
- cmp r0, #0x0
- beq _02034CDE
- add r0, r4, #0x0
- bl FUN_020347FC
- add r2, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0x25
- bl LoadFromNARC
-_02034CDE:
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02034CE0
-FUN_02034CE0: ; 0x02034CE0
- ldr r1, [r0, #0x14]
- mov r0, #0x92
- lsl r0, r0, #0x4
- add r0, r1, r0
- bx lr
- .balign 4
-
- thumb_func_start FUN_02034CEC
-FUN_02034CEC: ; 0x02034CEC
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, r1, #0x0
- bl FUN_0203479C
- mov r1, #0x82
- lsl r1, r1, #0x4
- mov r2, #0x1
- add r4, r0, #0x0
- mov r0, #0x0
- add r1, r5, r1
- lsl r2, r2, #0x8
- blx MIi_CpuClearFast
- mov r0, #0xa
- add r1, r4, #0x0
- bl LoadFromNARC_7
- mov r1, #0x1
- lsl r1, r1, #0x8
- cmp r0, r1
- blo _02034D1C
- bl ErrorHandling
-_02034D1C:
- mov r0, #0x82
- lsl r0, r0, #0x4
- add r0, r5, r0
- mov r1, #0xa
- add r2, r4, #0x0
- bl LoadFromNARC
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02034D2C
-FUN_02034D2C: ; 0x02034D2C
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x14]
- cmp r0, #0x0
- bne _02034D3A
- bl ErrorHandling
-_02034D3A:
- mov r0, #0x82
- ldr r1, [r4, #0x14]
- lsl r0, r0, #0x4
- add r0, r1, r0
- pop {r4, pc}
-
- thumb_func_start FUN_02034D44
-FUN_02034D44: ; 0x02034D44
- push {r4-r7}
- ldr r0, [r0, #0x14]
- mov r3, #0x0
- ldr r4, [r0, #0x4]
- cmp r4, #0x0
- bls _02034D76
- ldr r6, [r0, #0x14]
- add r5, r3, #0x0
- add r4, r6, #0x0
-_02034D56:
- ldrh r7, [r4, #0x18]
- cmp r1, r7
- bne _02034D6A
- add r7, r6, r5
- ldrh r7, [r7, #0x1a]
- cmp r2, r7
- bne _02034D6A
- mov r0, #0x0
- pop {r4-r7}
- bx lr
-_02034D6A:
- ldr r7, [r0, #0x4]
- add r3, r3, #0x1
- add r4, #0x20
- add r5, #0x20
- cmp r3, r7
- blo _02034D56
-_02034D76:
- mov r0, #0x1
- pop {r4-r7}
- bx lr
-
- thumb_func_start FUN_02034D7C
-FUN_02034D7C: ; 0x02034D7C
- mov r0, #0xa0
- bx lr
-
- thumb_func_start FUN_02034D80
-FUN_02034D80: ; 0x02034D80
- mov r0, #0x5
- lsl r0, r0, #0xa
- bx lr
- .balign 4
-
- thumb_func_start FUN_02034D88
-FUN_02034D88: ; 0x02034D88
- ldr r3, _02034D94 ; =MIi_CpuClear32
- mov r2, #0x5
- add r1, r0, #0x0
- mov r0, #0x0
- lsl r2, r2, #0xa
- bx r3
- .balign 4
-_02034D94: .word MIi_CpuClear32
-
- thumb_func_start FUN_02034D98
-FUN_02034D98: ; 0x02034D98
- push {r4, lr}
- add r4, r0, #0x0
- mov r1, #0x0
- mov r2, #0xa0
- blx Call_FillMemWithValue
- add r0, r4, #0x0
- add r0, #0x6c
- bl FUN_0204ADE0
- add r0, r4, #0x0
- add r0, #0x8c
- bl FUN_02055468
- bl FUN_02034E8C
- add r4, #0x68
- strh r0, [r4, #0x0]
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02034DC0
-FUN_02034DC0: ; 0x02034DC0
- bx lr
- .balign 4
-
- thumb_func_start FUN_02034DC4
-FUN_02034DC4: ; 0x02034DC4
- add r0, #0x14
- bx lr
-
- thumb_func_start FUN_02034DC8
-FUN_02034DC8: ; 0x02034DC8
- add r0, #0x28
- bx lr
-
- thumb_func_start FUN_02034DCC
-FUN_02034DCC: ; 0x02034DCC
- add r0, #0x50
- bx lr
-
- thumb_func_start FUN_02034DD0
-FUN_02034DD0: ; 0x02034DD0
- add r0, #0x3c
- bx lr
-
- thumb_func_start FUN_02034DD4
-FUN_02034DD4: ; 0x02034DD4
- add r3, r1, #0x0
- add r2, r0, #0x0
- ldmia r3!, {r0-r1}
- add r2, #0x3c
- stmia r2!, {r0-r1}
- ldmia r3!, {r0-r1}
- stmia r2!, {r0-r1}
- ldr r0, [r3, #0x0]
- str r0, [r2, #0x0]
- bx lr
-
- thumb_func_start FUN_02034DE8
-FUN_02034DE8: ; 0x02034DE8
- add r0, #0x64
- bx lr
-
- thumb_func_start FUN_02034DEC
-FUN_02034DEC: ; 0x02034DEC
- add r0, #0x66
- ldrh r0, [r0, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02034DF4
-FUN_02034DF4: ; 0x02034DF4
- add r0, #0x66
- strh r1, [r0, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02034DFC
-FUN_02034DFC: ; 0x02034DFC
- add r0, #0x68
- ldrh r0, [r0, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02034E04
-FUN_02034E04: ; 0x02034E04
- add r0, #0x68
- strh r1, [r0, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02034E0C
-FUN_02034E0C: ; 0x02034E0C
- add r0, #0x6c
- bx lr
-
- thumb_func_start FUN_02034E10
-FUN_02034E10: ; 0x02034E10
- add r0, #0x6a
- ldrb r0, [r0, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02034E18
-FUN_02034E18: ; 0x02034E18
- add r0, #0x6a
- strb r1, [r0, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02034E20
-FUN_02034E20: ; 0x02034E20
- add r0, #0x8c
- bx lr
-
- thumb_func_start FUN_02034E24
-FUN_02034E24: ; 0x02034E24
- add r0, #0x98
- bx lr
-
- thumb_func_start FUN_02034E28
-FUN_02034E28: ; 0x02034E28
- add r0, #0x96
- bx lr
-
- thumb_func_start FUN_02034E2C
-FUN_02034E2C: ; 0x02034E2C
- add r0, #0x94
- bx lr
-
- thumb_func_start FUN_02034E30
-FUN_02034E30: ; 0x02034E30
- ldr r3, _02034E38 ; =FUN_02022610
- mov r1, #0x6
- bx r3
- nop
-_02034E38: .word FUN_02022610
-
- thumb_func_start FUN_02034E3C
-FUN_02034E3C: ; 0x02034E3C
- ldr r3, _02034E44 ; =FUN_02022610
- mov r1, #0xb
- bx r3
- nop
-_02034E44: .word FUN_02022610
-
- thumb_func_start FUN_02034E48
-FUN_02034E48: ; 0x02034E48
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0xc]
- bl FUN_02034E3C
- add r2, r0, #0x0
- ldr r1, [r4, #0x34]
- add r0, r4, #0x0
- mov r3, #0x40
- bl FUN_02057800
- pop {r4, pc}
-
- thumb_func_start FUN_02034E60
-FUN_02034E60: ; 0x02034E60
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0xc]
- bl FUN_02034E3C
- add r1, r0, #0x0
- ldr r0, [r4, #0x34]
- mov r2, #0x40
- bl FUN_0205785C
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02034E78
-FUN_02034E78: ; 0x02034E78
- push {r3, lr}
- cmp r0, #0x0
- ble _02034E82
- cmp r0, #0x14
- bls _02034E88
-_02034E82:
- bl ErrorHandling
- mov r0, #0x1
-_02034E88:
- sub r0, r0, #0x1
- pop {r3, pc}
-
- thumb_func_start FUN_02034E8C
-FUN_02034E8C: ; 0x02034E8C
- mov r0, #0x1
- bx lr
-
- thumb_func_start FUN_02034E90
-FUN_02034E90: ; 0x02034E90
- push {r4, lr}
- add r4, r1, #0x0
- bl FUN_02034E78
- lsl r1, r0, #0x4
- ldr r0, _02034EB8 ; =0x020F222A
- ldrh r0, [r0, r1]
- str r0, [r4, #0x0]
- mov r0, #0x0
- mvn r0, r0
- str r0, [r4, #0x4]
- ldr r0, _02034EBC ; =0x020F222C
- ldrh r0, [r0, r1]
- str r0, [r4, #0x8]
- ldr r0, _02034EC0 ; =0x020F222E
- ldrh r0, [r0, r1]
- str r0, [r4, #0xc]
- mov r0, #0x1
- str r0, [r4, #0x10]
- pop {r4, pc}
- .balign 4
-_02034EB8: .word 0x020F222A
-_02034EBC: .word 0x020F222C
-_02034EC0: .word 0x020F222E
-
- thumb_func_start FUN_02034EC4
-FUN_02034EC4: ; 0x02034EC4
- push {r4, lr}
- add r4, r1, #0x0
- bl FUN_02034E78
- lsl r1, r0, #0x4
- ldr r0, _02034EEC ; =0x020F2224
- ldrh r0, [r0, r1]
- str r0, [r4, #0x0]
- mov r0, #0x0
- mvn r0, r0
- str r0, [r4, #0x4]
- ldr r0, _02034EF0 ; =0x020F2226
- ldrh r0, [r0, r1]
- str r0, [r4, #0x8]
- ldr r0, _02034EF4 ; =0x020F2228
- ldrh r0, [r0, r1]
- str r0, [r4, #0xc]
- mov r0, #0x0
- str r0, [r4, #0x10]
- pop {r4, pc}
- .balign 4
-_02034EEC: .word 0x020F2224
-_02034EF0: .word 0x020F2226
-_02034EF4: .word 0x020F2228
-
- thumb_func_start FUN_02034EF8
-FUN_02034EF8: ; 0x02034EF8
- ldr r3, _02034F18 ; =0x020F2224
- mov r2, #0x0
-_02034EFC:
- ldrh r1, [r3, #0x0]
- cmp r0, r1
- bne _02034F0C
- ldrb r1, [r3, #0xc]
- cmp r1, #0x0
- beq _02034F0C
- add r0, r2, #0x1
- bx lr
-_02034F0C:
- add r2, r2, #0x1
- add r3, #0x10
- cmp r2, #0x14
- blo _02034EFC
- mov r0, #0x0
- bx lr
- .balign 4
-_02034F18: .word 0x020F2224
-
- thumb_func_start FUN_02034F1C
-FUN_02034F1C: ; 0x02034F1C
- ldr r3, _02034F3C ; =0x020F2224
- mov r2, #0x0
-_02034F20:
- ldrh r1, [r3, #0x6]
- cmp r0, r1
- bne _02034F30
- ldrb r1, [r3, #0xc]
- cmp r1, #0x0
- beq _02034F30
- add r0, r2, #0x1
- bx lr
-_02034F30:
- add r2, r2, #0x1
- add r3, #0x10
- cmp r2, #0x14
- blo _02034F20
- mov r0, #0x0
- bx lr
- .balign 4
-_02034F3C: .word 0x020F2224
-
- thumb_func_start FUN_02034F40
-FUN_02034F40: ; 0x02034F40
- push {r3-r6}
- asr r3, r1, #0x4
- lsr r3, r3, #0x1b
- add r3, r1, r3
- asr r1, r2, #0x4
- lsr r1, r1, #0x1b
- add r1, r2, r1
- mov r4, #0x0
- asr r2, r1, #0x5
- ldr r5, _02034F84 ; =0x020F2224
- asr r3, r3, #0x5
- add r1, r4, #0x0
-_02034F58:
- ldrh r6, [r5, #0x6]
- cmp r0, r6
- bne _02034F76
- ldrh r6, [r5, #0x8]
- add r4, r1, #0x1
- lsr r6, r6, #0x5
- cmp r3, r6
- bne _02034F76
- ldrh r6, [r5, #0xa]
- lsr r6, r6, #0x5
- cmp r2, r6
- bne _02034F76
- add r0, r4, #0x0
- pop {r3-r6}
- bx lr
-_02034F76:
- add r1, r1, #0x1
- add r5, #0x10
- cmp r1, #0x14
- blo _02034F58
- add r0, r4, #0x0
- pop {r3-r6}
- bx lr
- .balign 4
-_02034F84: .word 0x020F2224
-
- thumb_func_start FUN_02034F88
-FUN_02034F88: ; 0x02034F88
- push {r4, lr}
- ldr r3, _02034FB8 ; =0x020F2224
- mov r4, #0x0
-_02034F8E:
- ldrh r2, [r3, #0x6]
- cmp r1, r2
- bne _02034FAE
- ldrb r2, [r3, #0xd]
- cmp r2, #0x0
- beq _02034FAE
- ldr r0, [r0, #0xc]
- bl FUN_020462AC
- ldr r2, _02034FBC ; =0x020F2232
- lsl r3, r4, #0x4
- ldrh r2, [r2, r3]
- mov r1, #0x1
- bl FUN_0205F2E4
- pop {r4, pc}
-_02034FAE:
- add r4, r4, #0x1
- add r3, #0x10
- cmp r4, #0x14
- blo _02034F8E
- pop {r4, pc}
- .balign 4
-_02034FB8: .word 0x020F2224
-_02034FBC: .word 0x020F2232
-
- thumb_func_start FUN_02034FC0
-FUN_02034FC0: ; 0x02034FC0
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, r1, #0x0
- bl FUN_02034E78
- add r4, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_020462AC
- ldr r2, _02034FE0 ; =0x020F2232
- lsl r3, r4, #0x4
- ldrh r2, [r2, r3]
- mov r1, #0x2
- bl FUN_0205F2E4
- pop {r3-r5, pc}
- .balign 4
-_02034FE0: .word 0x020F2232
-
- thumb_func_start FUN_02034FE4
-FUN_02034FE4: ; 0x02034FE4
- push {r3-r7, lr}
- add r7, r0, #0x0
- add r0, r1, #0x0
- bl FUN_02034838
- add r4, r0, #0x0
- cmp r4, #0x18
- blt _0203505C
- ldr r0, [r7, #0xc]
- bl FUN_02023794
- add r6, r0, #0x0
- add r0, r6, #0x4
- bl FUN_02012710
- sub r5, r0, #0x1
- bmi _0203500C
- ldr r0, _02035060 ; =0x0000016E
- cmp r5, r0
- blt _02035010
-_0203500C:
- bl ErrorHandling
-_02035010:
- ldr r0, [r6, #0x8]
- cmp r0, #0x2
- bls _02035044
- ldr r6, [r6, #0x4]
- mov r0, #0x3
- tst r0, r6
- bne _0203502A
- add r0, r6, #0x0
- mov r1, #0x64
- blx _u32_div_f
- cmp r1, #0x0
- bne _02035038
-_0203502A:
- mov r1, #0x19
- add r0, r6, #0x0
- lsl r1, r1, #0x4
- blx _u32_div_f
- cmp r1, #0x0
- bne _0203503C
-_02035038:
- mov r0, #0x1
- b _0203503E
-_0203503C:
- mov r0, #0x0
-_0203503E:
- cmp r0, #0x0
- bne _02035044
- add r5, r5, #0x1
-_02035044:
- add r0, r7, #0x0
- bl FUN_0204B33C
- cmp r0, #0x0
- beq _02035050
- mov r5, #0x1
-_02035050:
- lsl r0, r5, #0x2
- sub r4, #0x18
- add r0, r5, r0
- add r1, r4, r0
- ldr r0, _02035064 ; =0x020F2364
- ldrb r0, [r0, r1]
-_0203505C:
- pop {r3-r7, pc}
- nop
-_02035060: .word 0x0000016E
-_02035064: .word 0x020F2364
-
- thumb_func_start FUN_02035068
-FUN_02035068: ; 0x02035068
- push {r3, lr}
- ldr r0, [r0, #0x1c]
- ldr r0, [r0, #0x0]
- bl FUN_02034824
- cmp r0, #0x0
- beq _0203507A
- mov r0, #0x1
- pop {r3, pc}
-_0203507A:
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_02035080
-FUN_02035080: ; 0x02035080
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl FUN_02035254
- add r4, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_020462AC
- bl FUN_0205F214
- cmp r0, #0x1
- bne _020350A6
- add r0, r5, #0x0
- bl FUN_020352C4
- mov r1, #0x7
- lsl r1, r1, #0x6
- str r0, [r4, r1]
- b _020350E6
-_020350A6:
- ldr r0, [r5, #0xc]
- bl FUN_020462AC
- bl FUN_0205F244
- cmp r0, #0x1
- bne _020350C2
- add r0, r5, #0x0
- bl FUN_020352C8
- mov r1, #0x7
- lsl r1, r1, #0x6
- str r0, [r4, r1]
- b _020350E6
-_020350C2:
- add r0, r5, #0x0
- bl FUN_02060144
- cmp r0, #0x1
- bne _020350DA
- add r0, r5, #0x0
- bl FUN_020352CC
- mov r1, #0x7
- lsl r1, r1, #0x6
- str r0, [r4, r1]
- b _020350E6
-_020350DA:
- add r0, r5, #0x0
- bl FUN_02035270
- mov r1, #0x7
- lsl r1, r1, #0x6
- str r0, [r4, r1]
-_020350E6:
- mov r0, #0x71
- mov r1, #0x0
- lsl r0, r0, #0x2
- str r1, [r4, r0]
- ldr r0, [r5, #0x38]
- bl FUN_02055B30
- cmp r0, #0x1
- bne _02035106
- ldr r0, [r5, #0x38]
- bl FUN_020552F8
- add r1, r0, #0x0
- ldr r0, [r5, #0x38]
- bl FUN_02055B8C
-_02035106:
- ldr r1, _02035114 ; =FUN_020352E4
- add r0, r5, #0x0
- add r2, r4, #0x0
- bl FUN_020463CC
- pop {r3-r5, pc}
- nop
-_02035114: .word FUN_020352E4
-
- thumb_func_start FUN_02035118
-FUN_02035118: ; 0x02035118
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl FUN_02035254
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_020352D4
- mov r1, #0x7
- lsl r1, r1, #0x6
- str r0, [r4, r1]
- mov r2, #0x1
- add r0, r1, #0x4
- str r2, [r4, r0]
- ldr r0, [r5, #0x38]
- bl FUN_02055B30
- cmp r0, #0x1
- bne _0203514C
- ldr r0, [r5, #0x38]
- bl FUN_020552F8
- add r1, r0, #0x0
- ldr r0, [r5, #0x38]
- bl FUN_02055B8C
-_0203514C:
- ldr r1, _02035158 ; =FUN_020352E4
- add r0, r5, #0x0
- add r2, r4, #0x0
- bl FUN_020463CC
- pop {r3-r5, pc}
- .balign 4
-_02035158: .word FUN_020352E4
-
- thumb_func_start FUN_0203515C
-FUN_0203515C: ; 0x0203515C
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl FUN_02035254
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_020352DC
- mov r1, #0x7
- lsl r1, r1, #0x6
- str r0, [r4, r1]
- mov r2, #0x0
- add r0, r1, #0x4
- str r2, [r4, r0]
- ldr r0, [r5, #0x38]
- bl FUN_02055B30
- cmp r0, #0x1
- bne _02035190
- ldr r0, [r5, #0x38]
- bl FUN_020552F8
- add r1, r0, #0x0
- ldr r0, [r5, #0x38]
- bl FUN_02055B8C
-_02035190:
- ldr r1, _0203519C ; =FUN_020352E4
- add r0, r5, #0x0
- add r2, r4, #0x0
- bl FUN_020463CC
- pop {r3-r5, pc}
- .balign 4
-_0203519C: .word FUN_020352E4
-
- thumb_func_start FUN_020351A0
-FUN_020351A0: ; 0x020351A0
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r0, _0203524C ; =0x000005FD
- bl FUN_020054C8
- bl FUN_02035254
- add r4, r0, #0x0
- mov r0, #0x71
- mov r1, #0x0
- lsl r0, r0, #0x2
- str r1, [r4, r0]
- ldr r0, [r5, #0xc]
- bl FUN_020462AC
- bl FUN_0205F214
- cmp r0, #0x1
- bne _020351D4
- add r0, r5, #0x0
- bl FUN_020352C4
- mov r1, #0x7
- lsl r1, r1, #0x6
- str r0, [r4, r1]
- b _02035240
-_020351D4:
- ldr r0, [r5, #0xc]
- bl FUN_020462AC
- bl FUN_0205F244
- cmp r0, #0x1
- bne _020351F0
- add r0, r5, #0x0
- bl FUN_020352C8
- mov r1, #0x7
- lsl r1, r1, #0x6
- str r0, [r4, r1]
- b _02035240
-_020351F0:
- add r0, r5, #0x0
- bl FUN_02060144
- cmp r0, #0x1
- bne _02035208
- add r0, r5, #0x0
- bl FUN_020352CC
- mov r1, #0x7
- lsl r1, r1, #0x6
- str r0, [r4, r1]
- b _02035240
-_02035208:
- ldr r0, [r5, #0x6c]
- cmp r0, #0x3
- bne _0203521C
- add r0, r5, #0x0
- bl FUN_020352DC
- mov r1, #0x7
- lsl r1, r1, #0x6
- str r0, [r4, r1]
- b _02035240
-_0203521C:
- cmp r0, #0x2
- bne _02035234
- add r0, r5, #0x0
- bl FUN_020352D4
- mov r1, #0x7
- lsl r1, r1, #0x6
- str r0, [r4, r1]
- mov r2, #0x1
- add r0, r1, #0x4
- str r2, [r4, r0]
- b _02035240
-_02035234:
- add r0, r5, #0x0
- bl FUN_02035270
- mov r1, #0x7
- lsl r1, r1, #0x6
- str r0, [r4, r1]
-_02035240:
- ldr r0, [r5, #0x10]
- ldr r1, _02035250 ; =FUN_020352E4
- add r2, r4, #0x0
- bl FUN_020463EC
- pop {r3-r5, pc}
- .balign 4
-_0203524C: .word 0x000005FD
-_02035250: .word FUN_020352E4
-
- thumb_func_start FUN_02035254
-FUN_02035254: ; 0x02035254
- push {r3, lr}
- mov r1, #0x2
- mov r0, #0xb
- lsl r1, r1, #0x8
- bl FUN_02016998
- mov r2, #0x0
- strh r2, [r0, #0x2a]
- mov r1, #0x7e
- strh r2, [r0, #0x28]
- lsl r1, r1, #0x2
- str r2, [r0, r1]
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_02035270
-FUN_02035270: ; 0x02035270
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0xc]
- mov r4, #0x0
- bl FUN_02024DA0
- bl FUN_02024D64
- cmp r0, #0x0
- bne _02035288
- mov r0, #0x1
- orr r4, r0
-_02035288:
- ldr r0, [r5, #0xc]
- bl FUN_020462AC
- bl FUN_0205F388
- cmp r0, #0x0
- bne _0203529A
- mov r0, #0x2
- orr r4, r0
-_0203529A:
- ldr r0, [r5, #0xc]
- bl FUN_020462AC
- bl FUN_0205ECE0
- cmp r0, #0x0
- bne _020352AC
- mov r0, #0x4
- orr r4, r0
-_020352AC:
- ldr r0, [r5, #0x1c]
- ldr r0, [r0, #0x0]
- bl FUN_020349CC
- cmp r0, #0x1
- bne _020352BC
- mov r0, #0x6
- orr r4, r0
-_020352BC:
- mov r0, #0x6
- lsl r0, r0, #0x6
- orr r0, r4
- pop {r3-r5, pc}
-
- thumb_func_start FUN_020352C4
-FUN_020352C4: ; 0x020352C4
- mov r0, #0x90
- bx lr
-
- thumb_func_start FUN_020352C8
-FUN_020352C8: ; 0x020352C8
- mov r0, #0x94
- bx lr
-
- thumb_func_start FUN_020352CC
-FUN_020352CC: ; 0x020352CC
- ldr r0, _020352D0 ; =0x00000195
- bx lr
- .balign 4
-_020352D0: .word 0x00000195
-
- thumb_func_start FUN_020352D4
-FUN_020352D4: ; 0x020352D4
- mov r0, #0x11
- lsl r0, r0, #0x4
- bx lr
- .balign 4
-
- thumb_func_start FUN_020352DC
-FUN_020352DC: ; 0x020352DC
- ldr r0, _020352E0 ; =0x00000191
- bx lr
- .balign 4
-_020352E0: .word 0x00000191
-
- thumb_func_start FUN_020352E4
-FUN_020352E4: ; 0x020352E4
- 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
- ldrh r1, [r4, #0x2a]
- cmp r1, #0xf
- bhi _02035362
- add r1, r1, r1
- add r1, pc
- ldrh r1, [r1, #0x6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_02035308: ; jump table (using 16-bit offset)
- .short _02035328 - _02035308 - 2; case 0
- .short _02035358 - _02035308 - 2; case 1
- .short _02035368 - _02035308 - 2; case 2
- .short _02035370 - _02035308 - 2; case 3
- .short _02035378 - _02035308 - 2; case 4
- .short _02035380 - _02035308 - 2; case 5
- .short _02035388 - _02035308 - 2; case 6
- .short _02035390 - _02035308 - 2; case 7
- .short _020353C0 - _02035308 - 2; case 8
- .short _020353D6 - _02035308 - 2; case 9
- .short _020353F6 - _02035308 - 2; case 10
- .short _02035412 - _02035308 - 2; case 11
- .short _02035398 - _02035308 - 2; case 12
- .short _02035440 - _02035308 - 2; case 13
- .short _02035478 - _02035308 - 2; case 14
- .short _02035432 - _02035308 - 2; case 15
-_02035328:
- ldr r0, [r5, #0x34]
- bl FUN_02058780
- mov r1, #0x73
- lsl r1, r1, #0x2
- add r0, r5, #0x0
- add r1, r4, r1
- bl FUN_0205CE80
- mov r1, #0x7a
- lsl r1, r1, #0x2
- add r0, r5, #0x0
- add r1, r4, r1
- bl FUN_02063964
- add r0, r6, #0x0
- bl FUN_0203549C
- add r0, r6, #0x0
- bl FUN_02035734
- mov r0, #0x1
- strh r0, [r4, #0x2a]
- b _02035484
-_02035358:
- add r0, r6, #0x0
- bl FUN_020358E4
- cmp r0, #0x0
- beq _02035364
-_02035362:
- b _02035484
-_02035364:
- mov r0, #0x0
- pop {r4-r6, pc}
-_02035368:
- add r0, r6, #0x0
- bl FUN_02035CA0
- b _02035484
-_02035370:
- add r0, r6, #0x0
- bl FUN_02035CDC
- b _02035484
-_02035378:
- add r0, r6, #0x0
- bl FUN_020365F0
- b _02035484
-_02035380:
- add r0, r6, #0x0
- bl FUN_02036644
- b _02035484
-_02035388:
- add r0, r6, #0x0
- bl FUN_02036E08
- b _02035484
-_02035390:
- add r0, r6, #0x0
- bl FUN_02036F1C
- b _02035484
-_02035398:
- add r0, r5, #0x0
- bl FUN_020464A4
- cmp r0, #0x0
- beq _02035484
- ldr r0, [r5, #0x34]
- bl FUN_02058780
- add r0, r6, #0x0
- bl FUN_0203549C
- add r0, r6, #0x0
- bl FUN_02035734
- mov r0, #0x1
- bl FUN_021D7CA4
- mov r0, #0xe
- strh r0, [r4, #0x2a]
- b _02035484
-_020353C0:
- add r0, r5, #0x0
- bl FUN_020464A4
- cmp r0, #0x0
- beq _02035484
- mov r0, #0x1
- bl FUN_021D7CA4
- mov r0, #0x9
- strh r0, [r4, #0x2a]
- b _02035484
-_020353D6:
- bl FUN_0200E308
- cmp r0, #0x0
- beq _02035484
- add r0, r4, #0x0
- add r1, r5, #0x0
- bl FUN_0203598C
- add r0, r4, #0x0
- bl FUN_02016A18
- ldr r0, [r5, #0x34]
- bl FUN_020587B0
- mov r0, #0x1
- pop {r4-r6, pc}
-_020353F6:
- add r0, r5, #0x0
- bl FUN_020464A4
- cmp r0, #0x0
- beq _02035484
- ldr r0, [r5, #0x34]
- bl FUN_02058780
- mov r0, #0x1
- bl FUN_021D7CA4
- mov r0, #0xb
- strh r0, [r4, #0x2a]
- b _02035484
-_02035412:
- bl FUN_0200E308
- cmp r0, #0x0
- beq _02035484
- mov r2, #0x72
- lsl r2, r2, #0x2
- ldr r1, [r4, r2]
- add r2, #0x30
- ldr r2, [r4, r2]
- add r0, r6, #0x0
- bl FUN_020463EC
- add r0, r4, #0x0
- bl FUN_02016A18
- b _02035484
-_02035432:
- bl FUN_02016A18
- ldr r0, [r5, #0x34]
- bl FUN_020587B0
- mov r0, #0x1
- pop {r4-r6, pc}
-_02035440:
- add r1, r5, #0x0
- bl FUN_0203598C
- add r0, r4, #0x0
- bl FUN_02035718
- add r0, r4, #0x0
- mov r1, #0x1
- bl FUN_0200CCF8
- add r0, r4, #0x0
- bl FUN_02019178
- add r0, r6, #0x0
- bl FUN_020358A0
- ldr r0, [r5, #0x8]
- mov r1, #0x3
- bl FUN_0201AC68
- add r0, r4, #0x0
- bl FUN_02016A18
- ldr r0, [r5, #0x34]
- bl FUN_020587B0
- mov r0, #0x1
- pop {r4-r6, pc}
-_02035478:
- bl FUN_0200E308
- cmp r0, #0x0
- beq _02035484
- mov r0, #0x1
- strh r0, [r4, #0x2a]
-_02035484:
- ldr r0, [r4, #0x20]
- cmp r0, #0x0
- beq _02035496
- add r0, r4, #0x0
- bl FUN_02035BB0
- ldr r0, [r4, #0x38]
- bl FUN_0201FDEC
-_02035496:
- mov r0, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_0203549C
-FUN_0203549C: ; 0x0203549C
- push {r3-r7, lr}
- sub sp, #0x30
- add r4, r0, #0x0
- bl FUN_02046528
- str r0, [sp, #0x1c]
- add r0, r4, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- add r1, r4, #0x0
- add r1, #0x30
- bl FUN_0203566C
- str r0, [sp, #0x14]
- mov r0, #0x1
- str r0, [sp, #0x0]
- mov r0, #0xb
- str r0, [sp, #0x4]
- ldr r0, [sp, #0x14]
- mov r2, #0x3
- lsl r1, r0, #0x1
- add r0, r0, r1
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x8]
- mov r0, #0xc
- str r0, [sp, #0xc]
- ldr r0, _02035658 ; =0x0000023B
- add r1, r4, #0x0
- str r0, [sp, #0x10]
- ldr r0, [sp, #0x1c]
- mov r3, #0x14
- ldr r0, [r0, #0x8]
- bl FUN_02019064
- mov r0, #0x1
- str r0, [sp, #0x0]
- mov r3, #0xb
- ldr r0, [sp, #0x1c]
- str r3, [sp, #0x4]
- ldr r0, [r0, #0x8]
- ldr r2, _0203565C ; =0x000003D9
- mov r1, #0x3
- bl FUN_0200CB00
- ldr r2, _0203565C ; =0x000003D9
- add r0, r4, #0x0
- mov r1, #0x1
- mov r3, #0xb
- bl FUN_0200CCA4
- ldr r2, _02035660 ; =0x00000143
- mov r0, #0x0
- mov r1, #0x1a
- mov r3, #0xb
- bl FUN_0200A86C
- str r0, [sp, #0x18]
- ldr r0, [sp, #0x14]
- mov r1, #0xb
- bl FUN_02012838
- str r0, [r4, #0x24]
- mov r5, #0x0
- ldr r0, [sp, #0x14]
- strh r5, [r4, #0x28]
- cmp r0, #0x0
- bls _020355BC
-_02035526:
- add r0, r4, r5
- add r0, #0x30
- ldrb r3, [r0, #0x0]
- cmp r3, #0x3
- bne _02035594
- mov r0, #0xb
- bl FUN_0200AA80
- add r6, r0, #0x0
- mov r0, #0x8
- mov r1, #0xb
- bl FUN_020219F4
- add r1, r4, r5
- add r1, #0x30
- ldrb r1, [r1, #0x0]
- add r7, r0, #0x0
- ldr r0, [sp, #0x18]
- lsl r2, r1, #0x3
- ldr r1, _02035664 ; =0x020F2ACC
- ldr r1, [r1, r2]
- bl FUN_0200A914
- str r0, [sp, #0x20]
- ldr r0, [sp, #0x1c]
- ldr r0, [r0, #0xc]
- bl FUN_020238F4
- add r2, r0, #0x0
- add r0, r6, #0x0
- mov r1, #0x0
- bl FUN_0200ABC0
- ldr r2, [sp, #0x20]
- add r0, r6, #0x0
- add r1, r7, #0x0
- bl FUN_0200B7B8
- add r2, r4, r5
- add r2, #0x30
- ldrb r2, [r2, #0x0]
- ldr r0, [r4, #0x24]
- add r1, r7, #0x0
- bl FUN_020128A0
- ldr r0, [sp, #0x20]
- bl FUN_02021A20
- add r0, r7, #0x0
- bl FUN_02021A20
- add r0, r6, #0x0
- bl FUN_0200AB18
- b _020355A2
-_02035594:
- ldr r2, _02035664 ; =0x020F2ACC
- lsl r6, r3, #0x3
- ldr r0, [r4, #0x24]
- ldr r1, [sp, #0x18]
- ldr r2, [r2, r6]
- bl FUN_02012880
-_020355A2:
- ldr r0, [sp, #0x1c]
- add r0, #0x8c
- ldr r1, [r0, #0x0]
- add r0, r4, r5
- add r0, #0x30
- ldrb r0, [r0, #0x0]
- cmp r1, r0
- bne _020355B4
- strh r5, [r4, #0x28]
-_020355B4:
- ldr r0, [sp, #0x14]
- add r5, r5, #0x1
- cmp r5, r0
- blo _02035526
-_020355BC:
- ldrh r0, [r4, #0x28]
- add r0, r4, r0
- add r0, #0x30
- ldrb r1, [r0, #0x0]
- ldr r0, [sp, #0x1c]
- add r0, #0x8c
- str r1, [r0, #0x0]
- ldr r0, [sp, #0x18]
- bl FUN_0200A8B8
- ldr r0, [r4, #0x24]
- mov r1, #0x1
- str r0, [sp, #0x24]
- str r4, [sp, #0x28]
- add r0, sp, #0x24
- strb r1, [r0, #0x8]
- strb r1, [r0, #0x9]
- ldr r1, [sp, #0x14]
- strb r1, [r0, #0xa]
- ldrb r2, [r0, #0xb]
- mov r1, #0xf
- bic r2, r1
- mov r1, #0x8
- orr r1, r2
- strb r1, [r0, #0xb]
- ldrb r2, [r0, #0xb]
- mov r1, #0x30
- bic r2, r1
- mov r1, #0x10
- orr r1, r2
- strb r1, [r0, #0xb]
- ldr r1, [sp, #0x14]
- ldrb r2, [r0, #0xb]
- cmp r1, #0x4
- blo _0203560E
- mov r1, #0xc0
- bic r2, r1
- mov r1, #0x40
- orr r1, r2
- strb r1, [r0, #0xb]
- b _02035614
-_0203560E:
- mov r1, #0xc0
- bic r2, r1
- strb r2, [r0, #0xb]
-_02035614:
- mov r0, #0xb
- str r0, [sp, #0x0]
- ldr r0, _02035668 ; =0x00000402
- mov r1, #0x1c
- str r0, [sp, #0x4]
- ldrh r3, [r4, #0x28]
- add r0, sp, #0x24
- mov r2, #0x4
- lsl r3, r3, #0x18
- lsr r3, r3, #0x18
- bl FUN_02001B8C
- str r0, [r4, #0x20]
- add r0, r4, #0x0
- bl FUN_02019220
- ldr r0, [sp, #0x1c]
- ldr r0, [r0, #0xc]
- bl FUN_020238F4
- bl FUN_020239CC
- add r3, r0, #0x0
- add r0, r4, #0x0
- add r4, #0x30
- lsl r3, r3, #0x18
- ldr r2, [sp, #0x14]
- add r1, r4, #0x0
- lsr r3, r3, #0x18
- bl FUN_020359B8
- add sp, #0x30
- pop {r3-r7, pc}
- nop
-_02035658: .word 0x0000023B
-_0203565C: .word 0x000003D9
-_02035660: .word 0x00000143
-_02035664: .word 0x020F2ACC
-_02035668: .word 0x00000402
-
- thumb_func_start FUN_0203566C
-FUN_0203566C: ; 0x0203566C
- push {r3-r4}
- mov r3, #0x7
- lsl r3, r3, #0x6
- ldr r4, [r0, r3]
- sub r3, #0xc0
- mov r2, #0x0
- tst r3, r4
- bne _02035682
- mov r3, #0x8
- strb r3, [r1, #0x0]
- add r2, r2, #0x1
-_02035682:
- mov r3, #0x7
- lsl r3, r3, #0x6
- ldr r4, [r0, r3]
- mov r3, #0x80
- tst r3, r4
- bne _02035694
- mov r3, #0x7
- strb r3, [r1, r2]
- add r2, r2, #0x1
-_02035694:
- mov r3, #0x7
- lsl r3, r3, #0x6
- ldr r4, [r0, r3]
- mov r3, #0x1
- tst r3, r4
- bne _020356A6
- mov r3, #0x0
- strb r3, [r1, r2]
- add r2, r2, #0x1
-_020356A6:
- mov r3, #0x7
- lsl r3, r3, #0x6
- ldr r4, [r0, r3]
- mov r3, #0x2
- tst r3, r4
- bne _020356B8
- mov r3, #0x1
- strb r3, [r1, r2]
- add r2, r2, #0x1
-_020356B8:
- mov r3, #0x7
- lsl r3, r3, #0x6
- ldr r4, [r0, r3]
- mov r3, #0x4
- tst r3, r4
- bne _020356CA
- mov r3, #0x2
- strb r3, [r1, r2]
- add r2, r2, #0x1
-_020356CA:
- mov r3, #0x7
- lsl r3, r3, #0x6
- ldr r4, [r0, r3]
- mov r3, #0x8
- tst r3, r4
- bne _020356DC
- mov r3, #0x3
- strb r3, [r1, r2]
- add r2, r2, #0x1
-_020356DC:
- mov r3, #0x7
- lsl r3, r3, #0x6
- ldr r4, [r0, r3]
- mov r3, #0x10
- tst r3, r4
- bne _020356EE
- mov r3, #0x4
- strb r3, [r1, r2]
- add r2, r2, #0x1
-_020356EE:
- mov r3, #0x7
- lsl r3, r3, #0x6
- ldr r4, [r0, r3]
- mov r3, #0x20
- tst r3, r4
- bne _02035700
- mov r3, #0x5
- strb r3, [r1, r2]
- add r2, r2, #0x1
-_02035700:
- mov r3, #0x7
- lsl r3, r3, #0x6
- ldr r3, [r0, r3]
- mov r0, #0x40
- tst r0, r3
- bne _02035712
- mov r0, #0x6
- strb r0, [r1, r2]
- add r2, r2, #0x1
-_02035712:
- add r0, r2, #0x0
- pop {r3-r4}
- bx lr
-
- thumb_func_start FUN_02035718
-FUN_02035718: ; 0x02035718
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_02035B78
- ldr r0, [r4, #0x20]
- mov r1, #0x0
- bl FUN_02001C5C
- ldr r0, [r4, #0x24]
- bl FUN_02012870
- mov r0, #0x0
- str r0, [r4, #0x20]
- pop {r4, pc}
-
- thumb_func_start FUN_02035734
-FUN_02035734: ; 0x02035734
- push {r3-r7, lr}
- sub sp, #0x20
- add r5, r0, #0x0
- bl FUN_02046528
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0204652C
- add r5, r0, #0x0
- ldr r0, [r4, #0xc]
- bl FUN_020462AC
- bl FUN_0205F214
- cmp r0, #0x1
- bne _0203575A
- mov r6, #0x0
- b _0203576C
-_0203575A:
- ldr r0, [r4, #0xc]
- bl FUN_020462AC
- bl FUN_0205F244
- cmp r0, #0x1
- beq _0203576A
- b _0203588E
-_0203576A:
- mov r6, #0x1
-_0203576C:
- mov r3, #0x1
- str r3, [sp, #0x0]
- mov r0, #0xc
- str r0, [sp, #0x4]
- mov r0, #0x4
- str r0, [sp, #0x8]
- mov r0, #0xd
- str r0, [sp, #0xc]
- ldr r0, _02035894 ; =0x0000032D
- add r1, r5, #0x0
- str r0, [sp, #0x10]
- ldr r0, [r4, #0x8]
- add r1, #0x10
- mov r2, #0x3
- bl FUN_02019064
- mov r0, #0x1
- str r0, [sp, #0x0]
- mov r3, #0xb
- str r3, [sp, #0x4]
- ldr r0, [r4, #0x8]
- ldr r2, _02035898 ; =0x000003D9
- mov r1, #0x3
- bl FUN_0200CB00
- add r0, r5, #0x0
- ldr r2, _02035898 ; =0x000003D9
- add r0, #0x10
- mov r1, #0x1
- mov r3, #0xb
- bl FUN_0200CCA4
- add r0, r5, #0x0
- add r0, #0x10
- mov r1, #0xf
- bl FUN_02019620
- ldr r2, _0203589C ; =0x00000143
- mov r0, #0x0
- mov r1, #0x1a
- mov r3, #0xb
- bl FUN_0200A86C
- str r0, [sp, #0x1c]
- cmp r6, #0x0
- bne _020357D0
- mov r1, #0x9
- bl FUN_0200A914
- b _020357D6
-_020357D0:
- mov r1, #0xa
- bl FUN_0200A914
-_020357D6:
- mov r1, #0x0
- add r7, r0, #0x0
- str r1, [sp, #0x0]
- mov r0, #0xff
- str r0, [sp, #0x4]
- add r0, r5, #0x0
- add r0, #0x10
- add r2, r7, #0x0
- add r3, r1, #0x0
- str r1, [sp, #0x8]
- bl FUN_0201BD84
- add r0, r7, #0x0
- bl FUN_02021A20
- mov r0, #0xb
- bl FUN_0200AA80
- add r7, r0, #0x0
- mov r0, #0x20
- mov r1, #0xb
- bl FUN_020219F4
- str r0, [sp, #0x18]
- ldr r0, [sp, #0x1c]
- mov r1, #0xb
- bl FUN_0200A914
- str r0, [sp, #0x14]
- cmp r6, #0x0
- bne _02035834
- ldr r0, [r4, #0xc]
- bl FUN_02034E30
- bl FUN_02034E24
- mov r1, #0x0
- add r2, r0, #0x0
- str r1, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- ldrh r2, [r2, #0x0]
- add r0, r7, #0x0
- mov r3, #0x2
- bl FUN_0200AD38
- b _0203584C
-_02035834:
- add r0, r4, #0x0
- bl FUN_0204BAB0
- mov r1, #0x0
- add r2, r0, #0x0
- str r1, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- add r0, r7, #0x0
- mov r3, #0x2
- bl FUN_0200AD38
-_0203584C:
- ldr r1, [sp, #0x18]
- ldr r2, [sp, #0x14]
- add r0, r7, #0x0
- bl FUN_0200B7B8
- mov r0, #0x10
- str r0, [sp, #0x0]
- mov r0, #0xff
- str r0, [sp, #0x4]
- mov r1, #0x0
- add r0, r5, #0x0
- ldr r2, [sp, #0x18]
- add r0, #0x10
- add r3, r1, #0x0
- str r1, [sp, #0x8]
- bl FUN_0201BD84
- ldr r0, [sp, #0x18]
- bl FUN_02021A20
- ldr r0, [sp, #0x14]
- bl FUN_02021A20
- add r0, r7, #0x0
- bl FUN_0200AB18
- ldr r0, [sp, #0x1c]
- bl FUN_0200A8B8
- add r5, #0x10
- add r0, r5, #0x0
- bl FUN_02019220
-_0203588E:
- add sp, #0x20
- pop {r3-r7, pc}
- nop
-_02035894: .word 0x0000032D
-_02035898: .word 0x000003D9
-_0203589C: .word 0x00000143
-
- thumb_func_start FUN_020358A0
-FUN_020358A0: ; 0x020358A0
- 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, [r4, #0xc]
- bl FUN_020462AC
- bl FUN_0205F214
- cmp r0, #0x0
- bne _020358CE
- ldr r0, [r4, #0xc]
- bl FUN_020462AC
- bl FUN_0205F244
- cmp r0, #0x0
- beq _020358E0
-_020358CE:
- add r0, r5, #0x0
- add r0, #0x10
- mov r1, #0x1
- bl FUN_0200CCF8
- add r5, #0x10
- add r0, r5, #0x0
- bl FUN_02019178
-_020358E0:
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_020358E4
-FUN_020358E4: ; 0x020358E4
- 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 r0, [r5, #0x20]
- bl FUN_02001E5C
- add r6, r0, #0x0
- mov r1, #0x5e
- ldr r0, [r5, #0x20]
- lsl r1, r1, #0x4
- bl FUN_02001D2C
- str r0, [r5, #0x2c]
- ldr r0, [r5, #0x20]
- bl FUN_02001E5C
- strh r0, [r5, #0x28]
- ldrh r1, [r5, #0x28]
- cmp r6, r1
- beq _0203593A
- mov r0, #0x67
- lsl r0, r0, #0x2
- ldr r0, [r5, r0]
- ldr r0, [r0, #0x0]
- bl FUN_02035BE8
- ldrh r2, [r5, #0x28]
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_02035C44
- ldrh r0, [r5, #0x28]
- add r4, #0x8c
- add r0, r5, r0
- add r0, #0x30
- ldrb r0, [r0, #0x0]
- str r0, [r4, #0x0]
-_0203593A:
- ldrh r0, [r5, #0x28]
- add r0, r0, #0x1
- lsl r0, r0, #0x2
- add r1, r5, r0
- mov r0, #0x67
- lsl r0, r0, #0x2
- ldr r0, [r1, r0]
- ldr r0, [r0, #0x0]
- bl FUN_02035C78
- mov r1, #0x1
- ldr r2, [r5, #0x2c]
- mvn r1, r1
- cmp r2, r1
- beq _02035960
- add r0, r1, #0x1
- cmp r2, r0
- beq _02035982
- b _02035966
-_02035960:
- mov r0, #0xd
- strh r0, [r5, #0x2a]
- b _02035982
-_02035966:
- ldr r0, _02035988 ; =0x020F2AD0
- lsl r2, r2, #0x3
- ldr r2, [r0, r2]
- cmp r2, r1
- bne _02035976
- mov r0, #0xd
- strh r0, [r5, #0x2a]
- b _02035982
-_02035976:
- add r0, r1, #0x1
- cmp r2, r0
- beq _02035982
- add r0, r7, #0x0
- blx r2
- pop {r3-r7, pc}
-_02035982:
- mov r0, #0x1
- pop {r3-r7, pc}
- nop
-_02035988: .word 0x020F2AD0
-
- thumb_func_start FUN_0203598C
-FUN_0203598C: ; 0x0203598C
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- bl FUN_0202EDF8
- cmp r0, #0x0
- beq _020359B4
- mov r0, #0x71
- lsl r0, r0, #0x2
- ldr r0, [r5, r0]
- cmp r0, #0x0
- beq _020359B4
- ldr r0, [r4, #0x7c]
- bl FUN_02052F74
- bl FUN_02031B50
- mov r0, #0x0
- bl FUN_02052B74
-_020359B4:
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_020359B8
-FUN_020359B8: ; 0x020359B8
- push {r4-r7, lr}
- sub sp, #0xb4
- ldr r4, _02035B60 ; =0x020F2AB4
- str r3, [sp, #0x18]
- add r3, sp, #0x9c
- str r2, [sp, #0x14]
- str r0, [sp, #0xc]
- str r1, [sp, #0x10]
- 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}
- ldr r0, [sp, #0xc]
- add r1, r2, #0x0
- add r0, #0x38
- mov r2, #0x8
- mov r3, #0xb
- bl FUN_021D959C
- mov r0, #0x2
- str r0, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- ldr r0, _02035B64 ; =0x000034D8
- mov r1, #0x42
- str r0, [sp, #0x8]
- ldr r0, [sp, #0xc]
- mov r2, #0x5
- add r0, #0x38
- mov r3, #0x0
- bl FUN_021D967C
- ldr r0, _02035B64 ; =0x000034D8
- mov r1, #0x42
- str r0, [sp, #0x0]
- ldr r0, [sp, #0xc]
- mov r2, #0x1
- add r0, #0x38
- mov r3, #0x0
- bl FUN_021D96F4
- ldr r0, _02035B64 ; =0x000034D8
- mov r2, #0x0
- str r0, [sp, #0x0]
- ldr r0, [sp, #0xc]
- mov r1, #0x42
- add r0, #0x38
- add r3, r2, #0x0
- bl FUN_021D9708
- mov r0, #0x1
- str r0, [sp, #0x0]
- ldr r0, _02035B64 ; =0x000034D8
- mov r1, #0x42
- str r0, [sp, #0x4]
- ldr r0, [sp, #0xc]
- mov r2, #0x2
- add r0, #0x38
- mov r3, #0x0
- bl FUN_021D971C
- ldr r0, [sp, #0xc]
- ldr r1, _02035B68 ; =0x020F2B14
- add r0, #0x38
- bl FUN_021D9820
- mov r2, #0x67
- ldr r1, [sp, #0xc]
- lsl r2, r2, #0x2
- str r0, [r1, r2]
- add r0, r1, #0x0
- ldr r0, [r0, r2]
- ldrh r1, [r1, #0x28]
- ldr r0, [r0, #0x0]
- bl FUN_02035BE8
- ldr r0, _02035B6C ; =0x000034D9
- mov r1, #0x42
- str r0, [sp, #0x0]
- ldr r0, [sp, #0xc]
- mov r2, #0x4
- add r0, #0x38
- mov r3, #0x0
- bl FUN_021D96F4
- ldr r0, _02035B6C ; =0x000034D9
- mov r1, #0x42
- str r0, [sp, #0x0]
- ldr r0, [sp, #0xc]
- mov r2, #0x3
- add r0, #0x38
- mov r3, #0x0
- bl FUN_021D9708
- mov r0, #0x1
- str r0, [sp, #0x0]
- ldr r0, _02035B6C ; =0x000034D9
- mov r1, #0x42
- str r0, [sp, #0x4]
- ldr r0, [sp, #0xc]
- mov r2, #0x6
- add r0, #0x38
- mov r3, #0x0
- bl FUN_021D971C
- ldr r0, [sp, #0x14]
- mov r4, #0x0
- cmp r0, #0x0
- bls _02035B2C
- ldr r5, [sp, #0xc]
- ldr r3, _02035B70 ; =0x020F2B48
- add r7, r4, #0x0
- add r2, sp, #0x28
- mov r6, #0x6
-_02035AA2:
- ldmia r3!, {r0-r1}
- stmia r2!, {r0-r1}
- sub r6, r6, #0x1
- bne _02035AA2
- ldr r0, [r3, #0x0]
- ldr r3, _02035B74 ; =0x020F2AA8
- str r0, [r2, #0x0]
- ldmia r3!, {r0-r1}
- add r2, sp, #0x1c
- stmia r2!, {r0-r1}
- ldr r0, [r3, #0x0]
- str r0, [r2, #0x0]
-_02035ABA:
- add r6, sp, #0x28
- add r3, sp, #0x68
- mov r2, #0x6
-_02035AC0:
- ldmia r6!, {r0-r1}
- stmia r3!, {r0-r1}
- sub r2, r2, #0x1
- bne _02035AC0
- ldr r0, [r6, #0x0]
- add r1, sp, #0x68
- str r0, [r3, #0x0]
- mov r0, #0x2
- ldrsh r0, [r1, r0]
- add r0, r0, r7
- strh r0, [r1, #0x2]
- ldr r0, [sp, #0x10]
- ldrb r2, [r0, r4]
- cmp r2, #0x2
- bne _02035AEA
- ldr r0, [sp, #0x18]
- cmp r0, #0x1
- bne _02035AEA
- mov r0, #0x1b
- strh r0, [r1, #0x6]
- b _02035AF2
-_02035AEA:
- lsl r0, r2, #0x1
- add r1, r2, r0
- add r0, sp, #0x68
- strh r1, [r0, #0x6]
-_02035AF2:
- ldr r0, [sp, #0xc]
- add r1, sp, #0x68
- add r0, #0x38
- bl FUN_021D9820
- mov r1, #0x1a
- lsl r1, r1, #0x4
- add r2, sp, #0x5c
- add r3, sp, #0x1c
- str r0, [r5, r1]
- ldmia r3!, {r0-r1}
- add r6, r2, #0x0
- stmia r2!, {r0-r1}
- ldr r0, [r3, #0x0]
- add r1, r6, #0x0
- str r0, [r2, #0x0]
- mov r0, #0x1a
- lsl r0, r0, #0x4
- ldr r0, [r5, r0]
- mov r2, #0x1
- ldr r0, [r0, #0x0]
- bl FUN_02020074
- ldr r0, [sp, #0x14]
- add r4, r4, #0x1
- add r7, #0x18
- add r5, r5, #0x4
- cmp r4, r0
- blo _02035ABA
-_02035B2C:
- ldr r0, [sp, #0xc]
- mov r2, #0x1
- ldrh r0, [r0, #0x28]
- add r0, r0, #0x1
- lsl r1, r0, #0x2
- ldr r0, [sp, #0xc]
- add r1, r0, r1
- mov r0, #0x67
- lsl r0, r0, #0x2
- ldr r0, [r1, r0]
- mov r1, #0x2
- ldr r0, [r0, #0x0]
- bl FUN_02035C18
- ldr r0, [sp, #0x14]
- mov r1, #0x6f
- add r2, r0, #0x1
- ldr r0, [sp, #0xc]
- lsl r1, r1, #0x2
- str r2, [r0, r1]
- mov r0, #0x10
- mov r1, #0x1
- bl FUN_0201E6E4
- add sp, #0xb4
- pop {r4-r7, pc}
- .balign 4
-_02035B60: .word 0x020F2AB4
-_02035B64: .word 0x000034D8
-_02035B68: .word 0x020F2B14
-_02035B6C: .word 0x000034D9
-_02035B70: .word 0x020F2B48
-_02035B74: .word 0x020F2AA8
-
- thumb_func_start FUN_02035B78
-FUN_02035B78: ; 0x02035B78
- push {r3-r7, lr}
- add r5, r0, #0x0
- mov r0, #0x6f
- lsl r0, r0, #0x2
- ldr r0, [r5, r0]
- mov r4, #0x0
- cmp r0, #0x0
- bls _02035BA6
- mov r7, #0x67
- lsl r7, r7, #0x2
- add r6, r7, #0x0
- add r6, #0x20
-_02035B90:
- lsl r0, r4, #0x2
- add r0, r5, r0
- ldr r0, [r0, r7]
- bl FUN_0200C3DC
- add r0, r4, #0x1
- lsl r0, r0, #0x10
- lsr r4, r0, #0x10
- ldr r0, [r5, r6]
- cmp r4, r0
- blo _02035B90
-_02035BA6:
- add r5, #0x38
- add r0, r5, #0x0
- bl FUN_021D99F8
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02035BB0
-FUN_02035BB0: ; 0x02035BB0
- push {r3-r7, lr}
- add r5, r0, #0x0
- mov r0, #0x6f
- lsl r0, r0, #0x2
- ldr r0, [r5, r0]
- mov r4, #0x0
- cmp r0, #0x0
- bls _02035BE4
- mov r7, #0x67
- lsl r7, r7, #0x2
- add r6, r7, #0x0
- add r6, #0x20
-_02035BC8:
- lsl r0, r4, #0x2
- add r0, r5, r0
- ldr r0, [r0, r7]
- mov r1, #0x1
- ldr r0, [r0, #0x0]
- lsl r1, r1, #0xc
- bl FUN_020201E4
- add r0, r4, #0x1
- lsl r0, r0, #0x10
- lsr r4, r0, #0x10
- ldr r0, [r5, r6]
- cmp r4, r0
- blo _02035BC8
-_02035BE4:
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02035BE8
-FUN_02035BE8: ; 0x02035BE8
- push {r3-r6, lr}
- sub sp, #0xc
- add r5, r0, #0x0
- add r4, r1, #0x0
- bl FUN_0202011C
- add r6, r0, #0x0
- add r3, sp, #0x0
- ldmia r6!, {r0-r1}
- add r2, r3, #0x0
- stmia r3!, {r0-r1}
- ldr r0, [r6, #0x0]
- add r1, r2, #0x0
- str r0, [r3, #0x0]
- mov r0, #0x18
- mul r0, r4
- add r0, #0x14
- lsl r0, r0, #0xc
- str r0, [sp, #0x4]
- add r0, r5, #0x0
- bl FUN_02020044
- add sp, #0xc
- pop {r3-r6, pc}
-
- thumb_func_start FUN_02035C18
-FUN_02035C18: ; 0x02035C18
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- add r6, r2, #0x0
- bl FUN_020201DC
- mov r1, #0x3
- blx _u32_div_f
- add r2, r0, #0x0
- lsl r1, r2, #0x1
- add r1, r2, r1
- add r0, r5, #0x0
- add r1, r4, r1
- bl FUN_02020130
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_0202027C
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02035C44
-FUN_02035C44: ; 0x02035C44
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, r1, #0x1
- lsl r0, r0, #0x2
- add r1, r5, r0
- mov r0, #0x67
- lsl r0, r0, #0x2
- ldr r0, [r1, r0]
- mov r1, #0x0
- add r4, r2, #0x0
- ldr r0, [r0, #0x0]
- add r2, r1, #0x0
- bl FUN_02035C18
- add r0, r4, #0x1
- lsl r0, r0, #0x2
- add r1, r5, r0
- mov r0, #0x67
- lsl r0, r0, #0x2
- ldr r0, [r1, r0]
- mov r1, #0x1
- ldr r0, [r0, #0x0]
- add r2, r1, #0x0
- bl FUN_02035C18
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02035C78
-FUN_02035C78: ; 0x02035C78
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_020201DC
- mov r1, #0x3
- blx _u32_div_f
- cmp r1, #0x1
- bne _02035C9E
- add r0, r4, #0x0
- bl FUN_02020388
- cmp r0, #0x0
- bne _02035C9E
- add r0, r4, #0x0
- mov r1, #0x2
- mov r2, #0x1
- bl FUN_02035C18
-_02035C9E:
- pop {r4, pc}
-
- thumb_func_start FUN_02035CA0
-FUN_02035CA0: ; 0x02035CA0
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl FUN_0200E308
- cmp r0, #0x0
- beq _02035CD8
- add r0, r5, #0x0
- bl FUN_02046528
- add r0, r5, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- bl FUN_02035718
- add r0, r4, #0x0
- bl FUN_02019178
- add r0, r5, #0x0
- bl FUN_020358A0
- mov r1, #0x72
- lsl r1, r1, #0x2
- ldr r1, [r4, r1]
- add r0, r5, #0x0
- blx r1
- mov r0, #0x3
- strh r0, [r4, #0x2a]
-_02035CD8:
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02035CDC
-FUN_02035CDC: ; 0x02035CDC
- 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_0204647C
- cmp r0, #0x0
- bne _02035D02
- mov r1, #0x72
- lsl r1, r1, #0x2
- ldr r1, [r4, r1]
- add r0, r5, #0x0
- blx r1
-_02035D02:
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02035D04
-FUN_02035D04: ; 0x02035D04
- mov r2, #0x72
- lsl r2, r2, #0x2
- str r1, [r0, r2]
- mov r1, #0x3
- strh r1, [r0, #0x2a]
- bx lr
-
- thumb_func_start FUN_02035D10
-FUN_02035D10: ; 0x02035D10
- push {r4, lr}
- bl FUN_0204652C
- add r4, r0, #0x0
- mov r0, #0x0
- bl FUN_021D7CA4
- mov r0, #0x72
- ldr r1, _02035D30 ; =FUN_02035D34
- lsl r0, r0, #0x2
- str r1, [r4, r0]
- mov r0, #0x2
- strh r0, [r4, #0x2a]
- mov r0, #0x1
- pop {r4, pc}
- nop
-_02035D30: .word FUN_02035D34
-
- thumb_func_start FUN_02035D34
-FUN_02035D34: ; 0x02035D34
- push {r3-r7, lr}
- sub sp, #0x8
- add r4, r0, #0x0
- bl FUN_02046528
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_0204652C
- add r6, r0, #0x0
- mov r0, #0xb
- mov r1, #0x20
- bl FUN_02016998
- add r4, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_02024DA0
- str r0, [sp, #0x0]
- ldr r0, [r5, #0xc]
- bl FUN_020238F4
- str r0, [sp, #0x4]
- ldr r0, [r5, #0xc]
- bl FUN_020462AC
- add r7, r0, #0x0
- ldr r0, [sp, #0x0]
- str r0, [r4, #0x0]
- ldr r0, [sp, #0x4]
- str r0, [r4, #0x4]
- add r0, r5, #0x0
- bl FUN_0204B2A4
- str r0, [r4, #0x8]
- add r0, r7, #0x0
- mov r1, #0x0
- bl FUN_0205F524
- str r0, [r4, #0xc]
- add r0, r7, #0x0
- mov r1, #0x1
- bl FUN_0205F524
- str r0, [r4, #0x10]
- add r0, r7, #0x0
- mov r1, #0x2
- bl FUN_0205F524
- str r0, [r4, #0x14]
- add r0, r7, #0x0
- mov r1, #0x3
- bl FUN_0205F524
- str r0, [r4, #0x18]
- add r0, r5, #0x0
- add r0, #0xb0
- ldr r0, [r0, #0x0]
- add r1, r4, #0x0
- str r0, [r4, #0x1c]
- add r0, r5, #0x0
- bl FUN_02038690
- mov r0, #0x7e
- lsl r0, r0, #0x2
- str r4, [r6, r0]
- ldr r1, _02035DC4 ; =FUN_02035DC8
- sub r0, #0x30
- str r1, [r6, r0]
- mov r0, #0x0
- add sp, #0x8
- pop {r3-r7, pc}
- .balign 4
-_02035DC4: .word FUN_02035DC8
-
- thumb_func_start FUN_02035DC8
-FUN_02035DC8: ; 0x02035DC8
- 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, r5, #0x0
- bl FUN_0204649C
- mov r0, #0x7e
- lsl r0, r0, #0x2
- ldr r1, [r4, r0]
- cmp r1, #0x0
- beq _02035DF0
- mov r0, #0xb
- bl FUN_02016A8C
-_02035DF0:
- mov r0, #0xc
- strh r0, [r4, #0x2a]
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02035DF8
-FUN_02035DF8: ; 0x02035DF8
- push {r4, lr}
- bl FUN_0204652C
- add r4, r0, #0x0
- mov r0, #0x0
- bl FUN_021D7CA4
- mov r0, #0x72
- ldr r1, _02035E18 ; =FUN_02035E1C
- lsl r0, r0, #0x2
- str r1, [r4, r0]
- mov r0, #0x2
- strh r0, [r4, #0x2a]
- mov r0, #0x1
- pop {r4, pc}
- nop
-_02035E18: .word FUN_02035E1C
-
- thumb_func_start FUN_02035E1C
-FUN_02035E1C: ; 0x02035E1C
- push {r3-r5, lr}
- add r4, r0, #0x0
- bl FUN_02046528
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_0204652C
- mov r1, #0x7a
- add r4, r0, #0x0
- lsl r1, r1, #0x2
- add r0, r5, #0x0
- add r1, r4, r1
- mov r2, #0x0
- bl FUN_020379C8
- mov r1, #0x7e
- lsl r1, r1, #0x2
- str r0, [r4, r1]
- ldr r0, _02035E4C ; =FUN_02035E50
- sub r1, #0x30
- str r0, [r4, r1]
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-_02035E4C: .word FUN_02035E50
-
- thumb_func_start FUN_02035E50
-FUN_02035E50: ; 0x02035E50
- push {r4-r7, lr}
- sub sp, #0xc
- add r7, r0, #0x0
- bl FUN_02046528
- add r5, r0, #0x0
- add r0, r7, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- mov r0, #0xb
- mov r1, #0x40
- bl FUN_02016998
- mov r1, #0x7e
- lsl r1, r1, #0x2
- ldr r1, [r4, r1]
- mov r2, #0x40
- add r6, r0, #0x0
- blx memcpy
- mov r0, #0x7e
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- bl FUN_02016A18
- add r0, r6, #0x0
- add r0, #0x23
- ldrb r0, [r0, #0x0]
- cmp r0, #0x17
- bls _02035E90
- b _020361E6
-_02035E90:
- add r1, r0, r0
- add r1, pc
- ldrh r1, [r1, #0x6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_02035E9C: ; jump table (using 16-bit offset)
- .short _020361E6 - _02035E9C - 2; case 0
- .short _02035ECC - _02035E9C - 2; case 1
- .short _020361E6 - _02035E9C - 2; case 2
- .short _020360EA - _02035E9C - 2; case 3
- .short _02035F4A - _02035E9C - 2; case 4
- .short _02035FD0 - _02035E9C - 2; case 5
- .short _02036056 - _02035E9C - 2; case 6
- .short _020360AC - _02035E9C - 2; case 7
- .short _02036144 - _02035E9C - 2; case 8
- .short _02036170 - _02035E9C - 2; case 9
- .short _020361CA - _02035E9C - 2; case 10
- .short _020361A4 - _02035E9C - 2; case 11
- .short _020361A4 - _02035E9C - 2; case 12
- .short _020361A4 - _02035E9C - 2; case 13
- .short _020361A4 - _02035E9C - 2; case 14
- .short _020361A4 - _02035E9C - 2; case 15
- .short _020361A4 - _02035E9C - 2; case 16
- .short _020361A4 - _02035E9C - 2; case 17
- .short _020361A4 - _02035E9C - 2; case 18
- .short _020361A4 - _02035E9C - 2; case 19
- .short _020361A4 - _02035E9C - 2; case 20
- .short _020361A4 - _02035E9C - 2; case 21
- .short _020361A4 - _02035E9C - 2; case 22
- .short _020361A4 - _02035E9C - 2; case 23
-_02035ECC:
- mov r0, #0xb
- mov r1, #0x30
- bl FUN_02016998
- add r7, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_0206BB1C
- str r0, [r7, #0x0]
- ldr r0, [r5, #0xc]
- bl LoadPlayerDataAddress
- str r0, [r7, #0x4]
- mov r0, #0x1
- strb r0, [r7, #0x11]
- add r0, r6, #0x0
- add r0, #0x22
- ldrb r0, [r0, #0x0]
- strb r0, [r7, #0x14]
- ldr r0, [r7, #0x0]
- bl FUN_0206B9AC
- strb r0, [r7, #0x13]
- mov r0, #0x0
- strh r0, [r7, #0x18]
- strb r0, [r7, #0x12]
- ldr r0, [r5, #0xc]
- bl FUN_0202A918
- str r0, [r7, #0x20]
- ldr r0, [r5, #0xc]
- bl FUN_0206BB28
- str r0, [r7, #0x1c]
- ldr r0, [r5, #0xc]
- bl FUN_02079C70
- str r0, [r7, #0x2c]
- mov r0, #0x0
- str r0, [r7, #0x28]
- ldr r1, _0203626C ; =0x020F2A9C
- add r0, r7, #0x0
- bl FUN_0207B000
- ldr r0, [r5, #0xc]
- bl FUN_020238F4
- add r1, r0, #0x0
- add r0, r7, #0x0
- bl FUN_0207C2A4
- add r0, r5, #0x0
- add r1, r7, #0x0
- bl FUN_0203796C
- mov r0, #0x7e
- lsl r0, r0, #0x2
- str r7, [r4, r0]
- ldr r1, _02036270 ; =FUN_0203684C
- add r0, r4, #0x0
- bl FUN_02035D04
- b _0203625E
-_02035F4A:
- mov r0, #0xb
- mov r1, #0x30
- bl FUN_02016998
- add r7, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_0206BB1C
- str r0, [r7, #0x0]
- ldr r0, [r5, #0xc]
- bl LoadPlayerDataAddress
- str r0, [r7, #0x4]
- mov r1, #0x1
- add r0, r6, #0x0
- strb r1, [r7, #0x11]
- add r0, #0x22
- ldrb r0, [r0, #0x0]
- strb r0, [r7, #0x14]
- strb r1, [r7, #0x13]
- ldrh r0, [r6, #0x26]
- strh r0, [r7, #0x18]
- mov r0, #0x2
- strb r0, [r7, #0x12]
- ldr r0, [r5, #0xc]
- bl FUN_0206BB28
- str r0, [r7, #0x1c]
- ldr r0, [r5, #0xc]
- bl FUN_02079C70
- str r0, [r7, #0x2c]
- mov r0, #0x0
- str r0, [r7, #0x28]
- ldr r1, _02036274 ; =0x020F2A8C
- add r0, r7, #0x0
- bl FUN_0207B000
- ldr r0, [r5, #0xc]
- bl FUN_020238F4
- add r1, r0, #0x0
- add r0, r7, #0x0
- bl FUN_0207C2A4
- add r0, r5, #0x0
- add r1, r7, #0x0
- bl FUN_0203796C
- mov r0, #0xb
- mov r1, #0x4
- bl FUN_02016998
- ldrh r1, [r6, #0x24]
- strh r1, [r0, #0x0]
- mov r1, #0x0
- strh r1, [r0, #0x2]
- mov r1, #0x7f
- lsl r1, r1, #0x2
- str r0, [r4, r1]
- sub r0, r1, #0x4
- str r7, [r4, r0]
- ldr r1, _02036270 ; =FUN_0203684C
- add r0, r4, #0x0
- bl FUN_02035D04
- b _0203625E
-_02035FD0:
- mov r0, #0xb
- mov r1, #0x30
- bl FUN_02016998
- add r7, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_0206BB1C
- str r0, [r7, #0x0]
- ldr r0, [r5, #0xc]
- bl LoadPlayerDataAddress
- str r0, [r7, #0x4]
- mov r1, #0x1
- add r0, r6, #0x0
- strb r1, [r7, #0x11]
- add r0, #0x22
- ldrb r0, [r0, #0x0]
- strb r0, [r7, #0x14]
- strb r1, [r7, #0x13]
- ldrh r0, [r6, #0x26]
- strh r0, [r7, #0x18]
- mov r0, #0x2
- strb r0, [r7, #0x12]
- ldr r0, [r5, #0xc]
- bl FUN_0206BB28
- str r0, [r7, #0x1c]
- ldr r0, [r5, #0xc]
- bl FUN_02079C70
- str r0, [r7, #0x2c]
- mov r0, #0x0
- str r0, [r7, #0x28]
- ldr r1, _02036274 ; =0x020F2A8C
- add r0, r7, #0x0
- bl FUN_0207B000
- ldr r0, [r5, #0xc]
- bl FUN_020238F4
- add r1, r0, #0x0
- add r0, r7, #0x0
- bl FUN_0207C2A4
- add r0, r5, #0x0
- add r1, r7, #0x0
- bl FUN_0203796C
- mov r0, #0xb
- mov r1, #0x4
- bl FUN_02016998
- mov r1, #0x0
- strh r1, [r0, #0x0]
- ldr r1, [r6, #0x34]
- strh r1, [r0, #0x2]
- mov r1, #0x7f
- lsl r1, r1, #0x2
- str r0, [r4, r1]
- sub r0, r1, #0x4
- str r7, [r4, r0]
- ldr r1, _02036270 ; =FUN_0203684C
- add r0, r4, #0x0
- bl FUN_02035D04
- b _0203625E
-_02036056:
- ldrh r0, [r6, #0x24]
- bl FUN_0206EAB8
- add r3, r0, #0x0
- mov r0, #0xb
- add r2, r6, #0x0
- str r0, [sp, #0x0]
- add r2, #0x22
- ldrb r2, [r2, #0x0]
- add r0, r5, #0x0
- mov r1, #0x2
- bl FUN_02037F2C
- mov r1, #0x7e
- lsl r1, r1, #0x2
- str r0, [r4, r1]
- add r0, r6, #0x0
- add r0, #0x20
- ldrb r0, [r0, #0x0]
- cmp r0, #0xa
- ldrh r0, [r6, #0x24]
- bne _02036090
- add r2, r6, #0x0
- add r2, #0x22
- ldrb r2, [r2, #0x0]
- mov r1, #0x0
- bl FUN_02036BC4
- b _0203609C
-_02036090:
- add r2, r6, #0x0
- add r2, #0x22
- ldrb r2, [r2, #0x0]
- mov r1, #0x1
- bl FUN_02036BC4
-_0203609C:
- mov r1, #0x7f
- lsl r1, r1, #0x2
- str r0, [r4, r1]
- ldr r1, _02036278 ; =FUN_02036BDC
- add r0, r4, #0x0
- bl FUN_02035D04
- b _0203625E
-_020360AC:
- ldr r0, [r5, #0xc]
- bl FUN_0206BB1C
- add r1, r6, #0x0
- add r1, #0x22
- ldrb r1, [r1, #0x0]
- bl FUN_0206B9B0
- add r1, r0, #0x0
- add r0, r5, #0x0
- mov r2, #0xb
- bl FUN_02037F90
- mov r1, #0x7e
- lsl r1, r1, #0x2
- str r0, [r4, r1]
- add r2, r6, #0x0
- add r2, #0x22
- ldrh r0, [r6, #0x24]
- ldrb r2, [r2, #0x0]
- mov r1, #0x2
- bl FUN_02036BC4
- mov r1, #0x7f
- lsl r1, r1, #0x2
- str r0, [r4, r1]
- ldr r1, _02036278 ; =FUN_02036BDC
- add r0, r4, #0x0
- bl FUN_02035D04
- b _0203625E
-_020360EA:
- mov r0, #0xb
- mov r1, #0x4
- bl FUN_02016998
- add r1, r6, #0x0
- add r1, #0x22
- ldrb r1, [r1, #0x0]
- str r1, [r0, #0x0]
- mov r1, #0x7f
- lsl r1, r1, #0x2
- str r0, [r4, r1]
- ldr r0, [r5, #0xc]
- bl FUN_0206F158
- add r7, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_020238F4
- ldr r1, _0203627C ; =0x020F2A90
- add r0, r7, #0x0
- mov r2, #0xb
- bl FUN_0206EFEC
- mov r1, #0x7e
- lsl r1, r1, #0x2
- add r3, r5, #0x0
- str r0, [r4, r1]
- add r3, #0x94
- ldr r0, [r4, r1]
- ldr r1, [r5, #0xc]
- ldr r3, [r3, #0x0]
- mov r2, #0x1
- bl FUN_0206E314
- mov r1, #0x7e
- lsl r1, r1, #0x2
- ldr r1, [r4, r1]
- add r0, r5, #0x0
- bl FUN_0203781C
- ldr r1, _02036280 ; =FUN_020362E4
- add r0, r4, #0x0
- bl FUN_02035D04
- b _0203625E
-_02036144:
- mov r0, #0xb
- mov r1, #0xc
- bl FUN_02016998
- ldrh r1, [r6, #0x24]
- strh r1, [r0, #0x2]
- mov r1, #0x3
- strb r1, [r0, #0x1]
- add r1, r6, #0x0
- add r1, #0x22
- ldrb r1, [r1, #0x0]
- strb r1, [r0, #0x0]
- ldrh r1, [r6, #0x38]
- strh r1, [r0, #0x4]
- ldr r1, [r6, #0x3c]
- str r1, [r0, #0x8]
- mov r1, #0x7e
- lsl r1, r1, #0x2
- str r0, [r4, r1]
- mov r0, #0x6
- strh r0, [r4, #0x2a]
- b _0203625E
-_02036170:
- mov r0, #0xb
- mov r1, #0xc
- bl FUN_02016998
- add r7, r0, #0x0
- ldr r0, [r5, #0x1c]
- ldr r0, [r0, #0x0]
- bl FUN_02034A04
- strh r0, [r7, #0x2]
- mov r0, #0x0
- strb r0, [r7, #0x1]
- add r0, r6, #0x0
- add r0, #0x22
- ldrb r0, [r0, #0x0]
- strb r0, [r7, #0x0]
- ldrh r0, [r6, #0x38]
- strh r0, [r7, #0x4]
- ldr r0, [r6, #0x3c]
- str r0, [r7, #0x8]
- mov r0, #0x7e
- lsl r0, r0, #0x2
- str r7, [r4, r0]
- mov r0, #0x6
- strh r0, [r4, #0x2a]
- b _0203625E
-_020361A4:
- sub r0, #0xb
- add r1, sp, #0x4
- strh r0, [r1, #0x6]
- add r0, r6, #0x0
- add r0, #0x22
- ldrb r0, [r0, #0x0]
- strh r0, [r1, #0x4]
- str r7, [sp, #0x4]
- ldrh r1, [r1, #0x6]
- mov r0, #0x0
- bl FUN_02063948
- mov r1, #0x7a
- lsl r1, r1, #0x2
- add r2, r0, #0x0
- add r0, sp, #0x4
- add r1, r4, r1
- blx r2
- b _0203625E
-_020361CA:
- mov r1, #0x73
- lsl r1, r1, #0x2
- add r0, r5, #0x0
- add r1, r4, r1
- bl FUN_02037844
- mov r1, #0x7e
- lsl r1, r1, #0x2
- str r0, [r4, r1]
- ldr r1, _02036280 ; =FUN_020362E4
- add r0, r4, #0x0
- bl FUN_02035D04
- b _0203625E
-_020361E6:
- add r0, r6, #0x0
- add r0, #0x20
- ldrb r0, [r0, #0x0]
- cmp r0, #0x5
- beq _02036200
- cmp r0, #0x6
- beq _02036200
- cmp r0, #0x7
- beq _02036200
- cmp r0, #0x10
- beq _02036200
- cmp r0, #0x8
- bne _02036234
-_02036200:
- mov r1, #0x73
- lsl r1, r1, #0x2
- add r0, r5, #0x0
- add r1, r4, r1
- bl FUN_02037844
- mov r2, #0x7e
- lsl r2, r2, #0x2
- str r0, [r4, r2]
- add r0, r6, #0x0
- add r0, #0x22
- ldrb r1, [r0, #0x0]
- ldr r0, [r4, r2]
- cmp r1, #0x6
- blo _02036226
- mov r1, #0x0
- bl FUN_0206E358
- b _0203622A
-_02036226:
- bl FUN_0206E358
-_0203622A:
- ldr r1, _02036280 ; =FUN_020362E4
- add r0, r4, #0x0
- bl FUN_02035D04
- b _0203625E
-_02036234:
- cmp r0, #0x9
- bne _02036254
- mov r1, #0x73
- lsl r1, r1, #0x2
- add r0, r5, #0x0
- add r1, r4, r1
- bl FUN_02037844
- mov r1, #0x7e
- lsl r1, r1, #0x2
- str r0, [r4, r1]
- ldr r1, _02036280 ; =FUN_020362E4
- add r0, r4, #0x0
- bl FUN_02035D04
- b _0203625E
-_02036254:
- add r0, r5, #0x0
- bl FUN_0204649C
- mov r0, #0xc
- strh r0, [r4, #0x2a]
-_0203625E:
- add r0, r6, #0x0
- bl FUN_02016A18
- mov r0, #0x0
- add sp, #0xc
- pop {r4-r7, pc}
- nop
-_0203626C: .word 0x020F2A9C
-_02036270: .word FUN_0203684C
-_02036274: .word 0x020F2A8C
-_02036278: .word FUN_02036BDC
-_0203627C: .word 0x020F2A90
-_02036280: .word FUN_020362E4
-
- thumb_func_start FUN_02036284
-FUN_02036284: ; 0x02036284
- push {r4, lr}
- bl FUN_0204652C
- add r4, r0, #0x0
- mov r0, #0x0
- bl FUN_021D7CA4
- mov r0, #0x72
- ldr r1, _020362A4 ; =FUN_020362A8
- lsl r0, r0, #0x2
- str r1, [r4, r0]
- mov r0, #0x2
- strh r0, [r4, #0x2a]
- mov r0, #0x1
- pop {r4, pc}
- nop
-_020362A4: .word FUN_020362A8
-
- thumb_func_start FUN_020362A8
-FUN_020362A8: ; 0x020362A8
- push {r3-r5, lr}
- add r4, r0, #0x0
- bl FUN_02046528
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_0204652C
- mov r1, #0x73
- add r4, r0, #0x0
- lsl r1, r1, #0x2
- add r0, r5, #0x0
- add r1, r4, r1
- bl FUN_02037844
- mov r1, #0x7e
- lsl r1, r1, #0x2
- str r0, [r4, r1]
- ldr r0, [r4, r1]
- mov r1, #0x0
- bl FUN_0206E358
- mov r0, #0x72
- ldr r1, _020362E0 ; =FUN_020362E4
- lsl r0, r0, #0x2
- str r1, [r4, r0]
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-_020362E0: .word FUN_020362E4
-
- thumb_func_start FUN_020362E4
-FUN_020362E4: ; 0x020362E4
- push {r3-r7, lr}
- sub sp, #0x18
- add r5, r0, #0x0
- bl FUN_02046528
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- mov r0, #0xb
- bl FUN_0206E2F0
- str r0, [sp, #0x8]
- bl FUN_0206E308
- mov r1, #0x7e
- lsl r1, r1, #0x2
- add r2, r0, #0x0
- ldr r0, [sp, #0x8]
- ldr r1, [r4, r1]
- blx memcpy
- mov r0, #0x7e
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- bl FUN_02016A18
- ldr r0, [sp, #0x8]
- bl FUN_0206E384
- cmp r0, #0x5
- bls _02036328
- b _020364EE
-_02036328:
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_02036334: ; jump table (using 16-bit offset)
- .short _02036340 - _02036334 - 2; case 0
- .short _0203637A - _02036334 - 2; case 1
- .short _0203638A - _02036334 - 2; case 2
- .short _020364EE - _02036334 - 2; case 3
- .short _020363F6 - _02036334 - 2; case 4
- .short _020364EE - _02036334 - 2; case 5
-_02036340:
- ldr r0, [sp, #0x8]
- bl FUN_0206E37C
- add r1, sp, #0x10
- strh r0, [r1, #0x4]
- ldr r0, [sp, #0x8]
- bl FUN_0206E38C
- add r1, sp, #0x10
- strb r0, [r1, #0x6]
- str r5, [sp, #0x10]
- ldrh r0, [r1, #0x4]
- mov r1, #0x6
- mov r2, #0xb
- bl FUN_0206E7B8
- add r1, r0, #0x0
- lsl r1, r1, #0x10
- mov r0, #0x0
- lsr r1, r1, #0x10
- bl FUN_0205CE48
- mov r1, #0x73
- lsl r1, r1, #0x2
- add r2, r0, #0x0
- add r0, sp, #0x10
- add r1, r4, r1
- blx r2
- b _020364F8
-_0203637A:
- ldr r0, [sp, #0x8]
- bl FUN_0206E37C
- add r1, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0203695C
- b _020364F8
-_0203638A:
- mov r0, #0xb
- mov r1, #0x40
- bl FUN_02016998
- mov r1, #0x0
- mov r2, #0x40
- add r5, r0, #0x0
- blx Call_FillMemWithValue
- ldr r0, [r6, #0xc]
- bl FUN_0206BB1C
- str r0, [r5, #0x0]
- ldr r0, [r6, #0xc]
- bl FUN_0206F158
- str r0, [r5, #0x4]
- ldr r0, [r6, #0xc]
- bl FUN_02025838
- str r0, [r5, #0x8]
- ldr r0, [r6, #0xc]
- bl LoadPlayerDataAddress
- str r0, [r5, #0xc]
- mov r0, #0x7a
- lsl r0, r0, #0x2
- add r0, r4, r0
- str r0, [r5, #0x18]
- add r0, r5, #0x0
- mov r1, #0x0
- add r0, #0x21
- strb r1, [r0, #0x0]
- add r0, r5, #0x0
- mov r1, #0x9
- add r0, #0x20
- strb r1, [r0, #0x0]
- ldr r0, [sp, #0x8]
- bl FUN_0206E37C
- strh r0, [r5, #0x24]
- ldr r1, _02036504 ; =0x020F96DC
- add r0, r6, #0x0
- add r2, r5, #0x0
- bl FUN_020373D4
- mov r0, #0x7e
- lsl r0, r0, #0x2
- str r5, [r4, r0]
- ldr r1, _02036508 ; =FUN_02035E50
- add r0, r4, #0x0
- bl FUN_02035D04
- b _020364F8
-_020363F6:
- ldr r0, [r6, #0xc]
- bl FUN_0206BB1C
- str r0, [sp, #0x4]
- mov r0, #0x7f
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- ldr r7, [r0, #0x0]
- ldr r0, [sp, #0x8]
- bl FUN_0206E37C
- add r5, r0, #0x0
- ldr r0, [sp, #0x4]
- add r1, r7, #0x0
- bl FUN_0206B9B0
- str r0, [sp, #0xc]
- mov r0, #0x7f
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- bl FUN_02016A18
- add r0, r5, #0x0
- bl FUN_0206EA98
- cmp r0, #0x1
- bne _02036474
- ldr r0, [sp, #0xc]
- mov r1, #0x6
- mov r2, #0x0
- bl FUN_020671BC
- cmp r0, #0x0
- bne _02036474
- add r0, r5, #0x0
- bl FUN_0206EAB8
- add r3, r0, #0x0
- mov r0, #0xb
- lsl r2, r7, #0x18
- str r0, [sp, #0x0]
- add r0, r6, #0x0
- mov r1, #0x2
- lsr r2, r2, #0x18
- bl FUN_02037F2C
- mov r1, #0x7e
- lsl r1, r1, #0x2
- str r0, [r4, r1]
- lsl r2, r7, #0x18
- add r0, r5, #0x0
- mov r1, #0x0
- lsr r2, r2, #0x18
- bl FUN_02036BC4
- mov r1, #0x7f
- lsl r1, r1, #0x2
- str r0, [r4, r1]
- ldr r1, _0203650C ; =FUN_02036BDC
- add r0, r4, #0x0
- bl FUN_02035D04
- b _020364F8
-_02036474:
- mov r0, #0xb
- mov r1, #0x40
- bl FUN_02016998
- mov r1, #0x0
- mov r2, #0x40
- add r5, r0, #0x0
- blx Call_FillMemWithValue
- ldr r0, [sp, #0x4]
- str r0, [r5, #0x0]
- ldr r0, [r6, #0xc]
- bl FUN_0206F158
- str r0, [r5, #0x4]
- ldr r0, [r6, #0xc]
- bl FUN_02025838
- str r0, [r5, #0x8]
- ldr r0, [r6, #0xc]
- bl LoadPlayerDataAddress
- str r0, [r5, #0xc]
- mov r0, #0x7a
- lsl r0, r0, #0x2
- add r0, r4, r0
- str r0, [r5, #0x18]
- add r0, r5, #0x0
- mov r1, #0x0
- add r0, #0x21
- strb r1, [r0, #0x0]
- ldr r0, [sp, #0x8]
- bl FUN_0206E37C
- strh r0, [r5, #0x24]
- add r0, r5, #0x0
- add r0, #0x22
- strb r7, [r0, #0x0]
- str r6, [r5, #0x1c]
- ldrh r0, [r5, #0x24]
- cmp r0, #0x0
- bne _020364CC
- mov r1, #0x0
- b _020364CE
-_020364CC:
- mov r1, #0xa
-_020364CE:
- add r0, r5, #0x0
- add r0, #0x20
- strb r1, [r0, #0x0]
- ldr r1, _02036504 ; =0x020F96DC
- add r0, r6, #0x0
- add r2, r5, #0x0
- bl FUN_020373D4
- mov r0, #0x7e
- lsl r0, r0, #0x2
- str r5, [r4, r0]
- ldr r1, _02036508 ; =FUN_02035E50
- add r0, r4, #0x0
- bl FUN_02035D04
- b _020364F8
-_020364EE:
- add r0, r6, #0x0
- bl FUN_0204649C
- mov r0, #0xc
- strh r0, [r4, #0x2a]
-_020364F8:
- ldr r0, [sp, #0x8]
- bl FUN_02016A18
- mov r0, #0x0
- add sp, #0x18
- pop {r3-r7, pc}
- .balign 4
-_02036504: .word 0x020F96DC
-_02036508: .word FUN_02035E50
-_0203650C: .word FUN_02036BDC
-
- thumb_func_start FUN_02036510
-FUN_02036510: ; 0x02036510
- push {r4, lr}
- bl FUN_0204652C
- add r4, r0, #0x0
- mov r0, #0x0
- bl FUN_021D7CA4
- mov r0, #0x72
- ldr r1, _02036530 ; =FUN_02036534
- lsl r0, r0, #0x2
- str r1, [r4, r0]
- mov r0, #0x2
- strh r0, [r4, #0x2a]
- mov r0, #0x1
- pop {r4, pc}
- nop
-_02036530: .word FUN_02036534
-
- thumb_func_start FUN_02036534
-FUN_02036534: ; 0x02036534
- push {r3-r5, lr}
- sub sp, #0x8
- add r4, r0, #0x0
- bl FUN_02046528
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- mov r0, #0xb
- bl FUN_02065054
- mov r1, #0x7e
- lsl r1, r1, #0x2
- str r0, [r4, r1]
- str r5, [sp, #0x0]
- ldr r0, [r4, r1]
- mov r2, #0x0
- str r0, [sp, #0x4]
- mov r0, #0x1
- add r1, r0, #0x0
- mov r3, #0xff
- bl FUN_02064E90
- mov r1, #0x7e
- lsl r1, r1, #0x2
- ldr r1, [r4, r1]
- add r0, r5, #0x0
- bl FUN_02038680
- mov r0, #0x72
- ldr r1, _02036580 ; =FUN_02036584
- lsl r0, r0, #0x2
- str r1, [r4, r0]
- mov r0, #0x0
- add sp, #0x8
- pop {r3-r5, pc}
- .balign 4
-_02036580: .word FUN_02036584
-
- thumb_func_start FUN_02036584
-FUN_02036584: ; 0x02036584
- push {r3-r5, lr}
- add r4, r0, #0x0
- bl FUN_02046528
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_0204652C
- mov r1, #0x7e
- add r4, r0, #0x0
- lsl r1, r1, #0x2
- ldr r1, [r4, r1]
- add r0, r5, #0x0
- bl FUN_02065314
- mov r0, #0x7e
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- bl FUN_02065070
- add r0, r5, #0x0
- bl FUN_0204649C
- mov r0, #0xc
- strh r0, [r4, #0x2a]
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_020365BC
-FUN_020365BC: ; 0x020365BC
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- bl FUN_02035718
- add r0, r4, #0x0
- mov r1, #0x1
- bl FUN_0200CCF8
- ldrb r1, [r4, #0x4]
- ldr r0, [r4, #0x0]
- bl FUN_0201AC68
- add r0, r4, #0x0
- bl FUN_02019178
- add r0, r5, #0x0
- bl FUN_020358A0
- mov r0, #0x4
- strh r0, [r4, #0x2a]
- mov r0, #0x1
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_020365F0
-FUN_020365F0: ; 0x020365F0
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02046528
- ldr r0, [r0, #0xc]
- bl FUN_0202280C
- cmp r0, #0x0
- beq _02036618
- mov r2, #0x0
- ldr r1, _0203663C ; =0x000007F2
- add r0, r5, #0x0
- add r3, r2, #0x0
- bl FUN_02038CD8
- b _02036636
-_02036618:
- mov r0, #0x20
- mov r1, #0x8
- bl FUN_02016998
- mov r1, #0x7e
- lsl r1, r1, #0x2
- str r0, [r4, r1]
- ldr r3, [r4, r1]
- mov r2, #0x0
- strh r2, [r3, #0x4]
- ldr r1, _02036640 ; =0x000007D5
- add r0, r5, #0x0
- add r3, r3, #0x4
- bl FUN_02038CD8
-_02036636:
- mov r0, #0x5
- strh r0, [r4, #0x2a]
- pop {r3-r5, pc}
- .balign 4
-_0203663C: .word 0x000007F2
-_02036640: .word 0x000007D5
-
- thumb_func_start FUN_02036644
-FUN_02036644: ; 0x02036644
- push {r4-r6, lr}
- add r4, r0, #0x0
- bl FUN_02046528
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- mov r0, #0x7e
- lsl r0, r0, #0x2
- ldr r5, [r4, r0]
- ldr r0, [r6, #0xc]
- bl FUN_0202280C
- cmp r0, #0x0
- beq _0203666C
- mov r0, #0x0
- strh r0, [r4, #0x2a]
- pop {r4-r6, pc}
-_0203666C:
- ldrh r0, [r5, #0x4]
- cmp r0, #0x0
- bne _02036676
- mov r0, #0x0
- b _02036678
-_02036676:
- mov r0, #0xf
-_02036678:
- strh r0, [r4, #0x2a]
- add r0, r5, #0x0
- bl FUN_02016A18
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02036684
-FUN_02036684: ; 0x02036684
- push {r4, lr}
- bl FUN_0204652C
- add r4, r0, #0x0
- mov r0, #0x0
- bl FUN_021D7CA4
- mov r0, #0x72
- ldr r1, _020366A4 ; =FUN_020366A8
- lsl r0, r0, #0x2
- str r1, [r4, r0]
- mov r0, #0x2
- strh r0, [r4, #0x2a]
- mov r0, #0x1
- pop {r4, pc}
- nop
-_020366A4: .word FUN_020366A8
-
- thumb_func_start FUN_020366A8
-FUN_020366A8: ; 0x020366A8
- 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, r5, #0x0
- bl FUN_02037EF8
- mov r1, #0x7e
- lsl r1, r1, #0x2
- str r0, [r4, r1]
- ldr r0, _020366D0 ; =FUN_020366D4
- sub r1, #0x30
- str r0, [r4, r1]
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-_020366D0: .word FUN_020366D4
-
- thumb_func_start FUN_020366D4
-FUN_020366D4: ; 0x020366D4
- 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
- mov r0, #0x7e
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- bl FUN_02016A18
- add r0, r5, #0x0
- bl FUN_0204649C
- mov r0, #0xc
- strh r0, [r4, #0x2a]
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02036700
-FUN_02036700: ; 0x02036700
- push {r4, lr}
- bl FUN_0204652C
- add r4, r0, #0x0
- mov r0, #0x0
- bl FUN_021D7CA4
- mov r0, #0x72
- ldr r1, _02036720 ; =FUN_02036724
- lsl r0, r0, #0x2
- str r1, [r4, r0]
- mov r0, #0x2
- strh r0, [r4, #0x2a]
- mov r0, #0x1
- pop {r4, pc}
- nop
-_02036720: .word FUN_02036724
-
- thumb_func_start FUN_02036724
-FUN_02036724: ; 0x02036724
- push {r3-r5, lr}
- sub sp, #0x8
- add r4, r0, #0x0
- bl FUN_02046528
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- ldr r2, [r5, #0xc]
- mov r0, #0x2
- mov r1, #0x0
- mov r3, #0xb
- bl FUN_02085338
- mov r1, #0x7e
- lsl r1, r1, #0x2
- str r0, [r4, r1]
- add r0, sp, #0x0
- mov r1, #0x4
- bl FUN_0201373C
- mov r0, #0x7e
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- add r1, sp, #0x0
- bl FUN_020853BC
- mov r1, #0x7e
- lsl r1, r1, #0x2
- ldr r1, [r4, r1]
- add r0, r5, #0x0
- bl FUN_02037E80
- mov r0, #0x72
- ldr r1, _02036778 ; =FUN_0203677C
- lsl r0, r0, #0x2
- str r1, [r4, r0]
- mov r0, #0x0
- add sp, #0x8
- pop {r3-r5, pc}
- .balign 4
-_02036778: .word FUN_0203677C
-
- thumb_func_start FUN_0203677C
-FUN_0203677C: ; 0x0203677C
- push {r3-r5, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- bl FUN_02046528
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0204652C
- add r5, r0, #0x0
- mov r0, #0x7e
- lsl r0, r0, #0x2
- ldr r0, [r5, r0]
- bl FUN_020853E4
- cmp r0, #0x0
- bne _020367C6
- mov r0, #0x7e
- lsl r0, r0, #0x2
- ldr r0, [r5, r0]
- add r1, sp, #0x0
- bl FUN_020853FC
- bl FUN_0202EDF8
- cmp r0, #0x0
- beq _020367C0
- add r0, sp, #0x0
- bl FUN_02052DE8
- ldr r0, [r4, #0x78]
- add r1, sp, #0x0
- bl FUN_02052CD8
-_020367C0:
- mov r0, #0x8
- strh r0, [r5, #0x2a]
- b _020367CA
-_020367C6:
- mov r0, #0xc
- strh r0, [r5, #0x2a]
-_020367CA:
- mov r0, #0x7e
- lsl r0, r0, #0x2
- ldr r0, [r5, r0]
- bl FUN_020853A8
- add r0, r4, #0x0
- bl FUN_0204649C
- ldr r0, [r4, #0x7c]
- bl FUN_02052F74
- mov r0, #0x0
- add sp, #0x8
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_020367E8
-FUN_020367E8: ; 0x020367E8
- 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
- bl FUN_02035718
- add r0, r4, #0x0
- mov r1, #0x1
- bl FUN_0200CCF8
- ldrb r1, [r4, #0x4]
- ldr r0, [r4, #0x0]
- bl FUN_0201AC68
- add r0, r4, #0x0
- bl FUN_02019178
- add r0, r5, #0x0
- bl FUN_020358A0
- ldr r0, [r6, #0xc]
- bl FUN_020462AC
- bl FUN_0205F214
- cmp r0, #0x1
- bne _02036834
- ldr r1, _02036848 ; =0x00002275
- add r0, r5, #0x0
- mov r2, #0x0
- bl FUN_02038D10
- b _0203683E
-_02036834:
- add r0, r5, #0x0
- mov r1, #0x4
- mov r2, #0x0
- bl FUN_02038D10
-_0203683E:
- add r0, r4, #0x0
- bl FUN_02016A18
- mov r0, #0x0
- pop {r4-r6, pc}
- .balign 4
-_02036848: .word 0x00002275
-
- thumb_func_start FUN_0203684C
-FUN_0203684C: ; 0x0203684C
- push {r3-r7, lr}
- add r4, r0, #0x0
- bl FUN_02046528
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- mov r0, #0xb
- mov r1, #0x30
- bl FUN_02016998
- mov r1, #0x7e
- lsl r1, r1, #0x2
- ldr r1, [r4, r1]
- mov r2, #0x30
- add r7, r0, #0x0
- blx memcpy
- mov r0, #0x7e
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- bl FUN_02016A18
- ldrb r0, [r7, #0x12]
- cmp r0, #0x2
- bne _0203692E
- mov r0, #0xb
- mov r1, #0x40
- bl FUN_02016998
- mov r1, #0x7f
- lsl r1, r1, #0x2
- ldr r1, [r4, r1]
- mov r2, #0x40
- str r1, [sp, #0x0]
- mov r1, #0x0
- add r5, r0, #0x0
- blx Call_FillMemWithValue
- ldr r0, [r6, #0xc]
- bl FUN_0206BB1C
- str r0, [r5, #0x0]
- ldr r0, [r6, #0xc]
- bl FUN_0206F158
- str r0, [r5, #0x4]
- ldr r0, [r6, #0xc]
- bl FUN_02025838
- str r0, [r5, #0x8]
- ldr r0, [r6, #0xc]
- bl LoadPlayerDataAddress
- str r0, [r5, #0xc]
- mov r0, #0x7a
- lsl r0, r0, #0x2
- add r0, r4, r0
- add r1, r5, #0x0
- str r0, [r5, #0x18]
- mov r0, #0x0
- add r1, #0x21
- strb r0, [r1, #0x0]
- ldr r1, [sp, #0x0]
- str r6, [r5, #0x1c]
- ldrh r1, [r1, #0x0]
- cmp r1, #0x0
- beq _020368E2
- add r1, r5, #0x0
- mov r2, #0x7
- add r1, #0x20
- strb r2, [r1, #0x0]
- b _020368EE
-_020368E2:
- add r0, r5, #0x0
- mov r1, #0x8
- add r0, #0x20
- strb r1, [r0, #0x0]
- ldr r0, [sp, #0x0]
- ldrh r0, [r0, #0x2]
-_020368EE:
- str r0, [r5, #0x34]
- ldr r0, [sp, #0x0]
- add r2, r5, #0x0
- ldrh r0, [r0, #0x0]
- strh r0, [r5, #0x24]
- add r0, r5, #0x0
- ldrb r1, [r7, #0x14]
- add r0, #0x22
- strb r1, [r0, #0x0]
- ldrh r0, [r7, #0x18]
- strh r0, [r5, #0x26]
- add r0, r5, #0x0
- ldrb r1, [r7, #0x16]
- add r0, #0x28
- strb r1, [r0, #0x0]
- ldr r1, _02036954 ; =0x020F96DC
- add r0, r6, #0x0
- bl FUN_020373D4
- mov r0, #0x7f
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- bl FUN_02016A18
- mov r0, #0x7e
- lsl r0, r0, #0x2
- str r5, [r4, r0]
- ldr r1, _02036958 ; =FUN_02035E50
- add r0, r4, #0x0
- bl FUN_02035D04
- b _0203694A
-_0203692E:
- mov r1, #0x7a
- lsl r1, r1, #0x2
- ldrb r2, [r7, #0x14]
- add r0, r6, #0x0
- add r1, r4, r1
- bl FUN_020379C8
- mov r1, #0x7e
- lsl r1, r1, #0x2
- str r0, [r4, r1]
- ldr r1, _02036958 ; =FUN_02035E50
- add r0, r4, #0x0
- bl FUN_02035D04
-_0203694A:
- add r0, r7, #0x0
- bl FUN_02016A18
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-_02036954: .word 0x020F96DC
-_02036958: .word FUN_02035E50
-
- thumb_func_start FUN_0203695C
-FUN_0203695C: ; 0x0203695C
- push {r4-r7, lr}
- sub sp, #0xc
- add r5, r0, #0x0
- add r4, r1, #0x0
- bl FUN_02046528
- str r0, [sp, #0x4]
- add r0, r5, #0x0
- bl FUN_0204652C
- add r6, r0, #0x0
- mov r0, #0xb
- bl FUN_020851B8
- mov r1, #0x7e
- lsl r1, r1, #0x2
- str r0, [r6, r1]
- ldr r0, [sp, #0x4]
- ldr r0, [r0, #0xc]
- bl FUN_0206F158
- str r0, [sp, #0x0]
- mov r0, #0x7e
- lsl r0, r0, #0x2
- ldr r0, [r6, r0]
- add r1, r4, #0x0
- mov r2, #0x1
- bl FUN_020851DC
- mov r5, #0x0
- add r4, r5, #0x0
-_0203699A:
- add r0, r4, #0x0
- bl FUN_0206EB1C
- add r7, r0, #0x0
- ldr r0, [sp, #0x0]
- add r1, r7, #0x0
- mov r2, #0x1
- mov r3, #0xb
- bl FUN_0206EE50
- cmp r0, #0x1
- bne _020369C6
- mov r0, #0x7e
- lsl r0, r0, #0x2
- ldr r0, [r6, r0]
- add r1, r7, #0x0
- mov r2, #0x0
- bl FUN_020851DC
- add r0, r5, #0x1
- lsl r0, r0, #0x18
- lsr r5, r0, #0x18
-_020369C6:
- add r0, r4, #0x1
- lsl r0, r0, #0x18
- lsr r4, r0, #0x18
- cmp r4, #0x40
- blo _0203699A
- ldr r0, [sp, #0x4]
- add r3, sp, #0x8
- add r0, #0x94
- ldr r0, [r0, #0x0]
- mov r1, #0x4
- add r2, sp, #0x8
- add r3, #0x1
- bl FUN_0206F17C
- mov r0, #0x7e
- add r2, sp, #0x8
- lsl r0, r0, #0x2
- ldrb r1, [r2, #0x1]
- add r3, r5, #0x3
- lsl r3, r3, #0x18
- ldrb r2, [r2, #0x0]
- ldr r0, [r6, r0]
- lsr r3, r3, #0x18
- bl FUN_020851F8
- mov r1, #0x7e
- lsl r1, r1, #0x2
- ldr r0, [sp, #0x4]
- ldr r1, [r6, r1]
- bl FUN_0203791C
- ldr r1, _02036A10 ; =FUN_02036A14
- add r0, r6, #0x0
- bl FUN_02035D04
- add sp, #0xc
- pop {r4-r7, pc}
- .balign 4
-_02036A10: .word FUN_02036A14
-
- thumb_func_start FUN_02036A14
-FUN_02036A14: ; 0x02036A14
- 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
- mov r0, #0x7e
- lsl r0, r0, #0x2
- add r1, sp, #0x0
- ldr r0, [r4, r0]
- add r1, #0x1
- add r2, sp, #0x0
- bl FUN_0208524C
- add r0, r5, #0x0
- add r3, sp, #0x0
- add r0, #0x94
- ldrb r2, [r3, #0x0]
- ldrb r3, [r3, #0x1]
- ldr r0, [r0, #0x0]
- mov r1, #0x4
- bl FUN_0206F190
- mov r1, #0x7e
- lsl r1, r1, #0x2
- ldr r1, [r4, r1]
- mov r0, #0xb
- bl FUN_02016A8C
- mov r1, #0x73
- lsl r1, r1, #0x2
- add r0, r5, #0x0
- add r1, r4, r1
- bl FUN_02037844
- mov r1, #0x7e
- lsl r1, r1, #0x2
- str r0, [r4, r1]
- ldr r1, _02036A74 ; =FUN_020362E4
- add r0, r4, #0x0
- bl FUN_02035D04
- mov r0, #0x0
- pop {r3-r5, pc}
- nop
-_02036A74: .word FUN_020362E4
-
- thumb_func_start FUN_02036A78
-FUN_02036A78: ; 0x02036A78
- push {r3-r5, lr}
- add r4, r0, #0x0
- bl FUN_02046528
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_0204652C
- mov r1, #0x7e
- add r4, r0, #0x0
- lsl r1, r1, #0x2
- ldr r1, [r4, r1]
- mov r0, #0xb
- bl FUN_02016A8C
- mov r1, #0x73
- lsl r1, r1, #0x2
- add r0, r5, #0x0
- add r1, r4, r1
- bl FUN_02037844
- mov r1, #0x7e
- lsl r1, r1, #0x2
- str r0, [r4, r1]
- ldr r1, _02036AB4 ; =FUN_020362E4
- add r0, r4, #0x0
- bl FUN_02035D04
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-_02036AB4: .word FUN_020362E4
-
- thumb_func_start FUN_02036AB8
-FUN_02036AB8: ; 0x02036AB8
- push {r3-r7, lr}
- sub sp, #0x8
- add r4, r0, #0x0
- bl FUN_02046528
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- mov r0, #0x7f
- lsl r0, r0, #0x2
- ldr r1, [r4, r0]
- mov r0, #0xb
- ldr r7, [r1, #0x0]
- bl FUN_02016A8C
- mov r0, #0x7e
- lsl r0, r0, #0x2
- ldr r5, [r4, r0]
- ldr r0, [r5, #0x10]
- cmp r0, #0x0
- bne _02036B0E
- mov r0, #0xb
- add r1, r5, #0x0
- bl FUN_02016A8C
- mov r1, #0x7a
- lsl r1, r1, #0x2
- lsl r2, r7, #0x18
- add r0, r6, #0x0
- add r1, r4, r1
- lsr r2, r2, #0x18
- bl FUN_020379C8
- mov r1, #0x7e
- lsl r1, r1, #0x2
- str r0, [r4, r1]
- ldr r1, _02036B88 ; =FUN_02035E50
- add r0, r4, #0x0
- bl FUN_02035D04
- b _02036B82
-_02036B0E:
- ldr r0, [r6, #0xc]
- bl FUN_0206BB1C
- add r1, r7, #0x0
- bl FUN_0206B9B0
- add r2, r0, #0x0
- ldr r0, [r5, #0x14]
- add r1, r6, #0x0
- lsl r0, r0, #0x5
- add r0, #0x10
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- str r0, [sp, #0x0]
- ldr r0, [r5, #0x18]
- lsl r0, r0, #0x5
- add r0, #0x10
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- str r0, [sp, #0x4]
- ldr r3, [r5, #0x1c]
- mov r0, #0xb
- lsl r3, r3, #0x10
- lsr r3, r3, #0x10
- bl FUN_02063888
- ldr r1, [r5, #0x1c]
- add r7, r0, #0x0
- lsl r1, r1, #0x10
- mov r0, #0x1
- lsr r1, r1, #0x10
- mov r2, #0xb
- bl FUN_0202914C
- add r1, r0, #0x0
- add r0, r6, #0x0
- add r0, #0x98
- ldr r0, [r0, #0x0]
- mov r2, #0x1
- bl FUN_02028AD4
- mov r1, #0x7e
- lsl r1, r1, #0x2
- ldr r1, [r4, r1]
- mov r0, #0xb
- bl FUN_02016A8C
- add r0, r6, #0x0
- bl FUN_0204649C
- mov r0, #0x72
- ldr r1, _02036B8C ; =FUN_020638BC
- lsl r0, r0, #0x2
- str r1, [r4, r0]
- add r0, #0x30
- str r7, [r4, r0]
- mov r0, #0xa
- strh r0, [r4, #0x2a]
-_02036B82:
- mov r0, #0x0
- add sp, #0x8
- pop {r3-r7, pc}
- .balign 4
-_02036B88: .word FUN_02035E50
-_02036B8C: .word FUN_020638BC
-
- thumb_func_start FUN_02036B90
-FUN_02036B90: ; 0x02036B90
- push {r3-r5, lr}
- add r4, r0, #0x0
- bl FUN_02046528
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_0204652C
- mov r1, #0x73
- add r4, r0, #0x0
- lsl r1, r1, #0x2
- add r0, r5, #0x0
- add r1, r4, r1
- bl FUN_02037844
- mov r1, #0x7e
- lsl r1, r1, #0x2
- str r0, [r4, r1]
- ldr r1, _02036BC0 ; =FUN_020362E4
- add r0, r4, #0x0
- bl FUN_02035D04
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-_02036BC0: .word FUN_020362E4
-
- thumb_func_start FUN_02036BC4
-FUN_02036BC4: ; 0x02036BC4
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- mov r0, #0xb
- mov r1, #0x4
- add r6, r2, #0x0
- bl FUN_02016998
- strh r5, [r0, #0x0]
- strb r6, [r0, #0x2]
- strb r4, [r0, #0x3]
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02036BDC
-FUN_02036BDC: ; 0x02036BDC
- push {r4-r6, lr}
- add r4, r0, #0x0
- bl FUN_02046528
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- mov r0, #0x7f
- lsl r0, r0, #0x2
- ldr r6, [r4, r0]
- ldrb r1, [r6, #0x3]
- cmp r1, #0x3
- bhi _02036CD4
- add r1, r1, r1
- add r1, pc
- ldrh r1, [r1, #0x6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_02036C06: ; jump table (using 16-bit offset)
- .short _02036C58 - _02036C06 - 2; case 0
- .short _02036C98 - _02036C06 - 2; case 1
- .short _02036C32 - _02036C06 - 2; case 2
- .short _02036C0E - _02036C06 - 2; case 3
-_02036C0E:
- sub r0, r0, #0x4
- ldr r0, [r4, r0]
- bl FUN_0208562C
- mov r1, #0x73
- lsl r1, r1, #0x2
- add r0, r5, #0x0
- add r1, r4, r1
- bl FUN_02037844
- mov r1, #0x7e
- lsl r1, r1, #0x2
- str r0, [r4, r1]
- ldr r1, _02036CE4 ; =FUN_020362E4
- add r0, r4, #0x0
- bl FUN_02035D04
- b _02036CD4
-_02036C32:
- sub r0, r0, #0x4
- ldr r0, [r4, r0]
- bl FUN_0208562C
- mov r1, #0x7a
- lsl r1, r1, #0x2
- ldrb r2, [r6, #0x2]
- add r0, r5, #0x0
- add r1, r4, r1
- bl FUN_020379C8
- mov r1, #0x7e
- lsl r1, r1, #0x2
- str r0, [r4, r1]
- ldr r1, _02036CE8 ; =FUN_02035E50
- add r0, r4, #0x0
- bl FUN_02035D04
- b _02036CD4
-_02036C58:
- sub r0, r0, #0x4
- ldr r0, [r4, r0]
- bl FUN_020855E4
- cmp r0, #0x1
- bne _02036C70
- add r0, r5, #0x0
- add r1, r4, #0x0
- mov r2, #0xc
- bl FUN_02036CEC
- b _02036CD4
-_02036C70:
- mov r0, #0x7e
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- bl FUN_0208562C
- mov r1, #0x7a
- lsl r1, r1, #0x2
- ldrb r2, [r6, #0x2]
- add r0, r5, #0x0
- add r1, r4, r1
- bl FUN_020379C8
- mov r1, #0x7e
- lsl r1, r1, #0x2
- str r0, [r4, r1]
- ldr r1, _02036CE8 ; =FUN_02035E50
- add r0, r4, #0x0
- bl FUN_02035D04
- b _02036CD4
-_02036C98:
- sub r0, r0, #0x4
- ldr r0, [r4, r0]
- bl FUN_020855E4
- cmp r0, #0x1
- bne _02036CB0
- add r0, r5, #0x0
- add r1, r4, #0x0
- mov r2, #0xb
- bl FUN_02036CEC
- b _02036CD4
-_02036CB0:
- mov r0, #0x7e
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- bl FUN_0208562C
- mov r1, #0x73
- lsl r1, r1, #0x2
- add r0, r5, #0x0
- add r1, r4, r1
- bl FUN_02037844
- mov r1, #0x7e
- lsl r1, r1, #0x2
- str r0, [r4, r1]
- ldr r1, _02036CE4 ; =FUN_020362E4
- add r0, r4, #0x0
- bl FUN_02035D04
-_02036CD4:
- mov r0, #0x7f
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- bl FUN_02016A18
- mov r0, #0x0
- pop {r4-r6, pc}
- nop
-_02036CE4: .word FUN_020362E4
-_02036CE8: .word FUN_02035E50
-
- thumb_func_start FUN_02036CEC
-FUN_02036CEC: ; 0x02036CEC
- push {r3-r7, lr}
- add r5, r0, #0x0
- mov r0, #0x7f
- add r6, r1, #0x0
- str r2, [sp, #0x0]
- lsl r0, r0, #0x2
- ldr r7, [r6, r0]
- mov r0, #0xb
- mov r1, #0x40
- bl FUN_02016998
- mov r1, #0x0
- mov r2, #0x40
- add r4, r0, #0x0
- blx Call_FillMemWithValue
- 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, r6, r0
- str r0, [r4, #0x18]
- add r0, r4, #0x0
- mov r1, #0x0
- add r0, #0x21
- strb r1, [r0, #0x0]
- ldrh r0, [r7, #0x0]
- strh r0, [r4, #0x24]
- add r0, r4, #0x0
- ldrb r1, [r7, #0x2]
- add r0, #0x22
- strb r1, [r0, #0x0]
- add r1, r4, #0x0
- ldr r0, [sp, #0x0]
- add r1, #0x20
- strb r0, [r1, #0x0]
- str r5, [r4, #0x1c]
- ldrb r1, [r7, #0x2]
- ldr r0, [r4, #0x0]
- bl FUN_0206B9B0
- add r1, r0, #0x0
- mov r0, #0x7e
- lsl r0, r0, #0x2
- ldr r0, [r6, r0]
- bl FUN_0208560C
- mov r0, #0x7e
- lsl r0, r0, #0x2
- ldr r0, [r6, r0]
- bl FUN_0208562C
- ldr r1, _02036D8C ; =0x020F96DC
- add r0, r5, #0x0
- add r2, r4, #0x0
- bl FUN_020373D4
- mov r0, #0x7e
- lsl r0, r0, #0x2
- str r4, [r6, r0]
- ldr r1, _02036D90 ; =FUN_02035E50
- add r0, r6, #0x0
- bl FUN_02035D04
- pop {r3-r7, pc}
- nop
-_02036D8C: .word 0x020F96DC
-_02036D90: .word FUN_02035E50
-
- thumb_func_start FUN_02036D94
-FUN_02036D94: ; 0x02036D94
- 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
- mov r0, #0x7e
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- bl FUN_02087E14
- mov r1, #0x73
- lsl r1, r1, #0x2
- add r0, r5, #0x0
- add r1, r4, r1
- bl FUN_02037844
- mov r1, #0x7e
- lsl r1, r1, #0x2
- str r0, [r4, r1]
- ldr r1, _02036DD0 ; =FUN_020362E4
- add r0, r4, #0x0
- bl FUN_02035D04
- mov r0, #0x0
- pop {r3-r5, pc}
- nop
-_02036DD0: .word FUN_020362E4
-
- thumb_func_start FUN_02036DD4
-FUN_02036DD4: ; 0x02036DD4
- push {r3-r5, lr}
- add r4, r0, #0x0
- bl FUN_02046528
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_0204652C
- mov r1, #0x73
- add r4, r0, #0x0
- lsl r1, r1, #0x2
- add r0, r5, #0x0
- add r1, r4, r1
- bl FUN_02037844
- mov r1, #0x7e
- lsl r1, r1, #0x2
- str r0, [r4, r1]
- ldr r1, _02036E04 ; =FUN_020362E4
- add r0, r4, #0x0
- bl FUN_02035D04
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-_02036E04: .word FUN_020362E4
-
- thumb_func_start FUN_02036E08
-FUN_02036E08: ; 0x02036E08
- push {r3-r7, lr}
- sub sp, #0x48
- add r5, r0, #0x0
- bl FUN_02046528
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0204652C
- add r6, r0, #0x0
- mov r0, #0x7e
- lsl r0, r0, #0x2
- ldr r5, [r6, r0]
- bl FUN_0200541C
- mov r0, #0x3
- mov r1, #0x49
- lsl r2, r0, #0x10
- bl FUN_0201681C
- ldr r0, [r4, #0xc]
- bl FUN_0206BB1C
- ldrb r1, [r5, #0x0]
- str r0, [sp, #0x20]
- bl FUN_0206B9B0
- str r0, [sp, #0x24]
- ldrb r0, [r5, #0x1]
- cmp r0, #0x0
- ldr r0, [r4, #0xc]
- bne _02036E9E
- bl LoadPlayerDataAddress
- str r0, [sp, #0x28]
- ldr r0, [r4, #0xc]
- bl FUN_02079C70
- add r7, r0, #0x0
- ldr r0, [r4, #0xc]
- bl FUN_02024DA0
- str r0, [sp, #0x2c]
- ldr r0, [r4, #0xc]
- bl FUN_0206F158
- str r0, [sp, #0x30]
- ldr r0, [r4, #0xc]
- bl FUN_02029FC8
- str r0, [sp, #0x34]
- ldr r0, [r4, #0xc]
- bl FUN_0204C1A8
- ldr r1, [sp, #0x2c]
- str r7, [sp, #0x0]
- str r1, [sp, #0x4]
- ldr r1, [sp, #0x30]
- ldr r3, [sp, #0x28]
- str r1, [sp, #0x8]
- ldr r1, [sp, #0x34]
- str r1, [sp, #0xc]
- str r0, [sp, #0x10]
- ldr r0, [r5, #0x8]
- ldr r1, [sp, #0x24]
- str r0, [sp, #0x14]
- mov r0, #0x1
- str r0, [sp, #0x18]
- mov r0, #0x49
- str r0, [sp, #0x1c]
- ldrh r2, [r5, #0x4]
- ldr r0, [sp, #0x20]
- bl FUN_0206C700
- b _02036EF2
-_02036E9E:
- bl LoadPlayerDataAddress
- str r0, [sp, #0x38]
- ldr r0, [r4, #0xc]
- bl FUN_02079C70
- add r7, r0, #0x0
- ldr r0, [r4, #0xc]
- bl FUN_02024DA0
- str r0, [sp, #0x3c]
- ldr r0, [r4, #0xc]
- bl FUN_0206F158
- str r0, [sp, #0x40]
- ldr r0, [r4, #0xc]
- bl FUN_02029FC8
- str r0, [sp, #0x44]
- ldr r0, [r4, #0xc]
- bl FUN_0204C1A8
- ldr r1, [sp, #0x3c]
- str r7, [sp, #0x0]
- str r1, [sp, #0x4]
- ldr r1, [sp, #0x40]
- ldr r3, [sp, #0x38]
- str r1, [sp, #0x8]
- ldr r1, [sp, #0x44]
- str r1, [sp, #0xc]
- str r0, [sp, #0x10]
- ldr r0, [r5, #0x8]
- ldr r1, [sp, #0x24]
- str r0, [sp, #0x14]
- mov r0, #0x0
- str r0, [sp, #0x18]
- mov r0, #0x49
- str r0, [sp, #0x1c]
- ldrh r2, [r5, #0x4]
- ldr r0, [sp, #0x20]
- bl FUN_0206C700
-_02036EF2:
- add r4, r0, #0x0
- mov r0, #0xb
- mov r1, #0x4
- bl FUN_02016998
- ldrb r1, [r5, #0x0]
- str r1, [r0, #0x0]
- mov r1, #0x7f
- lsl r1, r1, #0x2
- str r0, [r6, r1]
- sub r0, r1, #0x4
- ldr r0, [r6, r0]
- bl FUN_02016A18
- mov r0, #0x7e
- lsl r0, r0, #0x2
- str r4, [r6, r0]
- mov r0, #0x7
- strh r0, [r6, #0x2a]
- add sp, #0x48
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02036F1C
-FUN_02036F1C: ; 0x02036F1C
- 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
- mov r0, #0x7e
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- bl FUN_0206C91C
- cmp r0, #0x1
- bne _02036F98
- mov r0, #0x7e
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- bl FUN_0206C92C
- mov r0, #0x49
- bl FUN_020168D0
- ldr r0, _02036F9C ; =0x00000475
- mov r1, #0x0
- bl FUN_02005350
- mov r0, #0x0
- bl FUN_0200415C
- ldr r1, [r5, #0x1c]
- add r0, r5, #0x0
- ldr r1, [r1, #0x0]
- bl FUN_0204ADBC
- mov r1, #0x73
- lsl r1, r1, #0x2
- add r0, r5, #0x0
- add r1, r4, r1
- bl FUN_02037844
- mov r1, #0x7e
- lsl r1, r1, #0x2
- str r0, [r4, r1]
- ldr r0, [r4, r1]
- add r1, r1, #0x4
- ldr r1, [r4, r1]
- ldr r1, [r1, #0x0]
- lsl r1, r1, #0x18
- lsr r1, r1, #0x18
- bl FUN_0206E358
- mov r0, #0x7f
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- bl FUN_02016A18
- ldr r1, _02036FA0 ; =FUN_020362E4
- add r0, r4, #0x0
- bl FUN_02035D04
-_02036F98:
- pop {r3-r5, pc}
- nop
-_02036F9C: .word 0x00000475
-_02036FA0: .word FUN_020362E4
-
- thumb_func_start FUN_02036FA4
-FUN_02036FA4: ; 0x02036FA4
- push {r3-r7, lr}
- add r6, r0, #0x0
- ldr r0, [r6, #0x38]
- add r4, r1, #0x0
- add r5, r2, #0x0
- bl FUN_020552F8
- add r7, r0, #0x0
- ldr r0, [r6, #0x38]
- bl FUN_02055320
- str r0, [r4, #0x0]
- ldr r0, [r6, #0x38]
- bl FUN_0205532C
- str r0, [r5, #0x0]
- cmp r7, #0x3
- bhi _02036FFA
- add r0, r7, r7
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_02036FD4: ; jump table (using 16-bit offset)
- .short _02036FDC - _02036FD4 - 2; case 0
- .short _02036FE4 - _02036FD4 - 2; case 1
- .short _02036FEC - _02036FD4 - 2; case 2
- .short _02036FF4 - _02036FD4 - 2; case 3
-_02036FDC:
- ldr r0, [r5, #0x0]
- sub r0, r0, #0x1
- str r0, [r5, #0x0]
- b _02036FFA
-_02036FE4:
- ldr r0, [r5, #0x0]
- add r0, r0, #0x1
- str r0, [r5, #0x0]
- b _02036FFA
-_02036FEC:
- ldr r0, [r4, #0x0]
- sub r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02036FFA
-_02036FF4:
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
-_02036FFA:
- add r0, r7, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02037000
-FUN_02037000: ; 0x02037000
- push {r3-r5, lr}
- add r5, r1, #0x0
- bl FUN_020553A0
- bl FUN_02058BE4
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02058BE4
- cmp r4, r0
- bne _0203701C
- mov r0, #0x1
- b _0203701E
-_0203701C:
- mov r0, #0x0
-_0203701E:
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02037024
-FUN_02037024: ; 0x02037024
- push {r4-r6, lr}
- sub sp, #0x8
- add r6, r1, #0x0
- add r1, sp, #0x4
- add r2, sp, #0x0
- add r5, r0, #0x0
- bl FUN_02036FA4
- add r4, r0, #0x0
- ldr r1, [sp, #0x4]
- ldr r2, [sp, #0x0]
- add r0, r5, #0x0
- bl FUN_0204A6E0
- bl FUN_020547A4
- cmp r0, #0x1
- bne _0203707E
- cmp r4, #0x3
- bhi _0203707E
- add r0, r4, r4
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_02037058: ; jump table (using 16-bit offset)
- .short _02037060 - _02037058 - 2; case 0
- .short _02037068 - _02037058 - 2; case 1
- .short _02037070 - _02037058 - 2; case 2
- .short _02037078 - _02037058 - 2; case 3
-_02037060:
- ldr r0, [sp, #0x0]
- sub r0, r0, #0x1
- str r0, [sp, #0x0]
- b _0203707E
-_02037068:
- ldr r0, [sp, #0x0]
- add r0, r0, #0x1
- str r0, [sp, #0x0]
- b _0203707E
-_02037070:
- ldr r0, [sp, #0x4]
- sub r0, r0, #0x1
- str r0, [sp, #0x4]
- b _0203707E
-_02037078:
- ldr r0, [sp, #0x4]
- add r0, r0, #0x1
- str r0, [sp, #0x4]
-_0203707E:
- ldr r0, [r5, #0x34]
- ldr r1, [sp, #0x4]
- ldr r2, [sp, #0x0]
- bl FUN_02058D74
- str r0, [r6, #0x0]
- add sp, #0x8
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02037090
-FUN_02037090: ; 0x02037090
- push {r3-r5, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- bl FUN_02037024
- ldr r0, [r4, #0x0]
- cmp r0, #0x0
- beq _020370B8
- bl FUN_020588D4
- cmp r0, #0x1
- bne _020370B8
- ldr r0, [r5, #0x38]
- ldr r1, [r4, #0x0]
- bl FUN_02037000
- cmp r0, #0x1
- bne _020370B8
- mov r0, #0x1
- pop {r3-r5, pc}
-_020370B8:
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_020370BC
-FUN_020370BC: ; 0x020370BC
- push {r3-r7, lr}
- sub sp, #0x10
- str r1, [sp, #0x0]
- str r2, [sp, #0x4]
- add r1, sp, #0xc
- add r2, sp, #0x8
- add r6, r0, #0x0
- bl FUN_02036FA4
- ldr r0, [sp, #0x4]
- mov r7, #0x0
- cmp r0, #0x0
- ble _02037130
- ldr r4, [sp, #0x0]
- add r5, r4, #0x0
-_020370DA:
- ldr r1, [sp, #0xc]
- ldr r0, [r4, #0x4]
- cmp r1, r0
- bne _02037124
- ldr r1, [sp, #0x8]
- ldr r0, [r4, #0x8]
- cmp r1, r0
- bne _02037124
- ldrh r0, [r4, #0x2]
- cmp r0, #0x2
- bne _0203710A
- add r0, r6, #0x0
- add r1, r5, #0x0
- bl FUN_0203713C
- cmp r0, #0x1
- bne _02037124
- mov r0, #0x14
- add r1, r7, #0x0
- mul r1, r0
- ldr r0, [sp, #0x0]
- add sp, #0x10
- ldrh r0, [r0, r1]
- pop {r3-r7, pc}
-_0203710A:
- add r0, r6, #0x0
- add r1, r5, #0x0
- bl FUN_02037168
- cmp r0, #0x1
- bne _02037124
- mov r0, #0x14
- add r1, r7, #0x0
- mul r1, r0
- ldr r0, [sp, #0x0]
- add sp, #0x10
- ldrh r0, [r0, r1]
- pop {r3-r7, pc}
-_02037124:
- ldr r0, [sp, #0x4]
- add r7, r7, #0x1
- add r4, #0x14
- add r5, #0x14
- cmp r7, r0
- blt _020370DA
-_02037130:
- ldr r0, _02037138 ; =0x0000FFFF
- add sp, #0x10
- pop {r3-r7, pc}
- nop
-_02037138: .word 0x0000FFFF
-
- thumb_func_start FUN_0203713C
-FUN_0203713C: ; 0x0203713C
- push {r4, lr}
- add r4, r0, #0x0
- ldrh r0, [r1, #0x2]
- cmp r0, #0x2
- beq _0203714A
- mov r0, #0x0
- pop {r4, pc}
-_0203714A:
- ldrh r0, [r1, #0x0]
- bl FUN_02039694
- add r1, r0, #0x0
- add r0, r4, #0x0
- bl FUN_02039528
- cmp r0, #0x1
- beq _02037160
- mov r0, #0x1
- b _02037162
-_02037160:
- mov r0, #0x0
-_02037162:
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- pop {r4, pc}
-
- thumb_func_start FUN_02037168
-FUN_02037168: ; 0x02037168
- push {r4, lr}
- add r4, r1, #0x0
- ldrh r1, [r4, #0x10]
- cmp r1, #0x4
- bne _02037176
- mov r0, #0x1
- pop {r4, pc}
-_02037176:
- ldr r0, [r0, #0x38]
- bl FUN_020552F8
- cmp r0, #0x3
- bhi _020371CC
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_0203718C: ; jump table (using 16-bit offset)
- .short _02037194 - _0203718C - 2; case 0
- .short _020371A2 - _0203718C - 2; case 1
- .short _020371B0 - _0203718C - 2; case 2
- .short _020371BE - _0203718C - 2; case 3
-_02037194:
- ldrh r0, [r4, #0x10]
- cmp r0, #0x0
- beq _0203719E
- cmp r0, #0x6
- bne _020371CC
-_0203719E:
- mov r0, #0x1
- pop {r4, pc}
-_020371A2:
- ldrh r0, [r4, #0x10]
- cmp r0, #0x3
- beq _020371AC
- cmp r0, #0x6
- bne _020371CC
-_020371AC:
- mov r0, #0x1
- pop {r4, pc}
-_020371B0:
- ldrh r0, [r4, #0x10]
- cmp r0, #0x2
- beq _020371BA
- cmp r0, #0x5
- bne _020371CC
-_020371BA:
- mov r0, #0x1
- pop {r4, pc}
-_020371BE:
- ldrh r0, [r4, #0x10]
- cmp r0, #0x1
- beq _020371C8
- cmp r0, #0x5
- bne _020371CC
-_020371C8:
- mov r0, #0x1
- pop {r4, pc}
-_020371CC:
- mov r0, #0x0
- pop {r4, pc}
-
- thumb_func_start FUN_020371D0
-FUN_020371D0: ; 0x020371D0
- push {r4-r6, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- ldr r0, [r5, #0x38]
- add r6, r1, #0x0
- add r4, r2, #0x0
- bl FUN_020552F8
- cmp r0, #0x0
- beq _020371EA
- add sp, #0x8
- ldr r0, _0203722C ; =0x0000FFFF
- pop {r4-r6, pc}
-_020371EA:
- add r0, r5, #0x0
- add r1, sp, #0x4
- add r2, sp, #0x0
- bl FUN_02036FA4
- mov r0, #0x0
- cmp r4, #0x0
- ble _02037224
- ldr r2, [sp, #0x4]
- ldr r3, [sp, #0x0]
- add r1, r6, #0x0
-_02037200:
- ldr r5, [r1, #0x4]
- cmp r2, r5
- bne _0203721C
- ldr r5, [r1, #0x8]
- cmp r3, r5
- bne _0203721C
- ldrh r5, [r1, #0x2]
- cmp r5, #0x1
- bne _0203721C
- mov r1, #0x14
- mul r1, r0
- add sp, #0x8
- ldrh r0, [r6, r1]
- pop {r4-r6, pc}
-_0203721C:
- add r0, r0, #0x1
- add r1, #0x14
- cmp r0, r4
- blt _02037200
-_02037224:
- ldr r0, _0203722C ; =0x0000FFFF
- add sp, #0x8
- pop {r4-r6, pc}
- nop
-_0203722C: .word 0x0000FFFF
-
- thumb_func_start FUN_02037230
-FUN_02037230: ; 0x02037230
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0x38]
- add r4, r1, #0x0
- bl FUN_020552F8
- cmp r0, #0x0
- beq _02037244
- mov r0, #0x0
- pop {r3-r5, pc}
-_02037244:
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02037090
- cmp r0, #0x1
- bne _02037260
- ldr r0, [r4, #0x0]
- bl FUN_02058458
- sub r0, #0x5b
- cmp r0, #0x5
- bhi _02037260
- mov r0, #0x1
- pop {r3-r5, pc}
-_02037260:
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02037264
-FUN_02037264: ; 0x02037264
- push {r4-r7, lr}
- sub sp, #0xc
- str r0, [sp, #0x0]
- ldr r0, [r0, #0x38]
- str r1, [sp, #0x4]
- str r2, [sp, #0x8]
- bl FUN_02055320
- add r6, r0, #0x0
- ldr r0, [sp, #0x0]
- ldr r0, [r0, #0x38]
- bl FUN_0205532C
- add r4, r0, #0x0
- ldr r0, [sp, #0x8]
- mov r7, #0x0
- cmp r0, #0x0
- ble _020372C8
- ldr r5, [sp, #0x4]
-_0203728A:
- ldrh r1, [r5, #0x2]
- cmp r6, r1
- blt _020372BE
- ldrh r0, [r5, #0x6]
- add r0, r1, r0
- cmp r6, r0
- bge _020372BE
- ldrh r1, [r5, #0x4]
- cmp r4, r1
- blt _020372BE
- ldrh r0, [r5, #0x8]
- add r0, r1, r0
- cmp r4, r0
- bge _020372BE
- ldrh r1, [r5, #0xe]
- ldr r0, [sp, #0x0]
- bl FUN_020394F0
- ldrh r1, [r5, #0xc]
- cmp r1, r0
- bne _020372BE
- ldr r0, [sp, #0x4]
- lsl r1, r7, #0x4
- add sp, #0xc
- ldrh r0, [r0, r1]
- pop {r4-r7, pc}
-_020372BE:
- ldr r0, [sp, #0x8]
- add r7, r7, #0x1
- add r5, #0x10
- cmp r7, r0
- blt _0203728A
-_020372C8:
- ldr r0, _020372D0 ; =0x0000FFFF
- add sp, #0xc
- pop {r4-r7, pc}
- nop
-_020372D0: .word 0x0000FFFF
-
- thumb_func_start FUN_020372D4
-FUN_020372D4: ; 0x020372D4
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl FUN_0200628C
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02037400
- ldr r1, _02037300 ; =0x021C5A08
- str r0, [r1, #0x0]
- ldr r1, [r4, #0x4]
- cmp r1, #0x0
- beq _020372F4
- bl FUN_02048FC8
- b _020372F8
-_020372F4:
- bl FUN_02048EC8
-_020372F8:
- mov r0, #0x0
- str r0, [r4, #0x4]
- mov r0, #0x1
- pop {r3-r5, pc}
- .balign 4
-_02037300: .word 0x021C5A08
-
- thumb_func_start FUN_02037304
-FUN_02037304: ; 0x02037304
- push {r3, lr}
- bl FUN_02037400
- ldr r1, _02037318 ; =0x021C5A08
- str r0, [r1, #0x0]
- bl FUN_02048D90
- mov r0, #0x1
- pop {r3, pc}
- nop
-_02037318: .word 0x021C5A08
-
- thumb_func_start FUN_0203731C
-FUN_0203731C: ; 0x0203731C
- push {r3, lr}
- bl FUN_02006278
- bl FUN_02037524
- cmp r0, #0x0
- beq _0203732E
- mov r0, #0x1
- pop {r3, pc}
-_0203732E:
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_02037334
-FUN_02037334: ; 0x02037334
- push {r3, lr}
- bl FUN_020374B0
- ldr r0, _02037348 ; =0x0000003F
- ldr r1, _0203734C ; =0x021DBAB8
- bl FUN_02000E7C
- mov r0, #0x1
- pop {r3, pc}
- nop
-_02037348: .word 0x0000003F
-_0203734C: .word 0x021DBAB8
-
- thumb_func_start FUN_02037350
-FUN_02037350: ; 0x02037350
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- ldr r0, [r0, #0x4]
- cmp r0, #0x0
- beq _02037360
- bl ErrorHandling
-_02037360:
- ldr r0, [r4, #0x0]
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- beq _0203736C
- bl ErrorHandling
-_0203736C:
- ldr r0, _0203738C ; =0x00000005
- mov r1, #0x2
- bl FUN_02005FDC
- mov r1, #0x0
- str r1, [r4, #0x64]
- ldr r0, [r4, #0x0]
- mov r2, #0xb
- str r1, [r0, #0x8]
- ldr r0, _02037390 ; =0x021F64C8
- add r1, r4, #0x0
- bl FUN_02006234
- ldr r1, [r4, #0x0]
- str r0, [r1, #0x0]
- pop {r4, pc}
- .balign 4
-_0203738C: .word 0x00000005
-_02037390: .word 0x021F64C8
-
- thumb_func_start FUN_02037394
-FUN_02037394: ; 0x02037394
- mov r1, #0x0
- str r1, [r0, #0x64]
- bx lr
- .balign 4
-
- thumb_func_start FUN_0203739C
-FUN_0203739C: ; 0x0203739C
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- beq _020373A8
- mov r0, #0x1
- bx lr
-_020373A8:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_020373AC
-FUN_020373AC: ; 0x020373AC
- ldr r1, [r0, #0x0]
- ldr r1, [r1, #0x0]
- cmp r1, #0x0
- beq _020373BE
- ldr r0, [r0, #0x64]
- cmp r0, #0x0
- beq _020373BE
- mov r0, #0x1
- bx lr
-_020373BE:
- mov r0, #0x0
- bx lr
- .balign 4
-
- thumb_func_start FUN_020373C4
-FUN_020373C4: ; 0x020373C4
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x4]
- cmp r0, #0x0
- beq _020373D0
- mov r0, #0x1
- bx lr
-_020373D0:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_020373D4
-FUN_020373D4: ; 0x020373D4
- push {r4-r6, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0x0]
- add r4, r1, #0x0
- ldr r0, [r0, #0x4]
- add r6, r2, #0x0
- cmp r0, #0x0
- beq _020373E8
- bl ErrorHandling
-_020373E8:
- add r0, r5, #0x0
- bl FUN_02037394
- add r0, r4, #0x0
- add r1, r6, #0x0
- mov r2, #0xb
- bl FUN_02006234
- ldr r1, [r5, #0x0]
- str r0, [r1, #0x4]
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02037400
-FUN_02037400: ; 0x02037400
- push {r3-r5, lr}
- mov r2, #0x7
- add r5, r0, #0x0
- mov r0, #0x3
- mov r1, #0xb
- lsl r2, r2, #0xe
- bl FUN_0201681C
- mov r1, #0x20
- mov r0, #0x3
- lsl r2, r1, #0x9
- bl FUN_0201681C
- mov r2, #0x3
- mov r0, #0x0
- mov r1, #0x5b
- lsl r2, r2, #0x8
- bl FUN_0201681C
- add r0, r5, #0x0
- mov r1, #0xb8
- mov r2, #0xb
- bl FUN_02006268
- mov r1, #0x0
- mov r2, #0xb8
- add r4, r0, #0x0
- blx MI_CpuFill8
- mov r0, #0xb
- mov r1, #0x10
- bl FUN_02016998
- str r0, [r4, #0x0]
- mov r1, #0x0
- str r1, [r0, #0x0]
- ldr r0, [r4, #0x0]
- str r1, [r0, #0x4]
- ldr r0, [r4, #0x0]
- str r1, [r0, #0x8]
- ldr r0, [r4, #0x0]
- str r1, [r0, #0xc]
- add r0, r5, #0x0
- bl FUN_0200628C
- ldr r0, [r0, #0x8]
- str r0, [r4, #0xc]
- mov r0, #0x0
- str r0, [r4, #0x10]
- ldr r0, [r4, #0xc]
- bl FUN_02034E30
- bl FUN_02034DC0
- str r0, [r4, #0x1c]
- bl FUN_02034494
- str r0, [r4, #0x28]
- add r0, r4, #0x0
- mov r1, #0xb
- bl FUN_02034A28
- mov r0, #0xb
- bl FUN_0206F164
- add r1, r4, #0x0
- add r1, #0x94
- str r0, [r1, #0x0]
- mov r0, #0xb
- bl FUN_0205DD18
- add r1, r4, #0x0
- add r1, #0x90
- str r0, [r1, #0x0]
- add r0, r4, #0x0
- add r0, #0x90
- ldr r0, [r0, #0x0]
- bl FUN_0205DD40
- mov r0, #0xb
- bl FUN_0208A300
- add r1, r4, #0x0
- add r1, #0xb0
- str r0, [r1, #0x0]
- add r0, r4, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_020374B0
-FUN_020374B0: ; 0x020374B0
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl FUN_02006278
- add r4, r0, #0x0
- ldr r0, [r4, #0x28]
- bl FUN_020344D0
- add r0, r4, #0x0
- bl FUN_02034A48
- add r0, r4, #0x0
- add r0, #0x94
- ldr r0, [r0, #0x0]
- bl FUN_02016A18
- add r0, r4, #0x0
- add r0, #0x90
- ldr r0, [r0, #0x0]
- bl FUN_0205DD38
- add r0, r4, #0x0
- add r0, #0xb0
- ldr r0, [r0, #0x0]
- bl FUN_0208A320
- ldr r0, [r4, #0x0]
- bl FUN_02016A18
- add r0, r5, #0x0
- bl FUN_0200627C
- mov r0, #0x5b
- bl FUN_020168D0
- mov r0, #0xb
- bl FUN_020168D0
- mov r0, #0x20
- bl FUN_020168D0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02037504
-FUN_02037504: ; 0x02037504
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- cmp r0, #0x0
- beq _02037520
- bl FUN_02006290
- cmp r0, #0x0
- beq _02037520
- ldr r0, [r4, #0x0]
- bl FUN_02006260
- mov r0, #0x0
- str r0, [r4, #0x0]
-_02037520:
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02037524
-FUN_02037524: ; 0x02037524
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_02037594
- add r0, r4, #0x0
- bl FUN_02046420
- cmp r0, #0x1
- bne _02037546
- ldr r0, [r4, #0x4]
- cmp r0, #0x0
- beq _02037546
- mov r1, #0x0
- add r0, r4, #0x0
- add r2, r1, #0x0
- bl FUN_021EFA9C
-_02037546:
- ldr r0, [r4, #0x0]
- ldr r1, [r0, #0x0]
- cmp r1, #0x0
- beq _02037562
- bl FUN_02037504
- ldr r0, [r4, #0x0]
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- bne _0203756E
- ldr r0, _02037590 ; =0x00000005
- bl FUN_02005F60
- b _0203756E
-_02037562:
- ldr r1, [r0, #0x4]
- cmp r1, #0x0
- beq _0203756E
- add r0, r0, #0x4
- bl FUN_02037504
-_0203756E:
- ldr r1, [r4, #0x0]
- ldr r0, [r1, #0xc]
- cmp r0, #0x0
- beq _0203758C
- ldr r0, [r4, #0x10]
- cmp r0, #0x0
- bne _0203758C
- ldr r0, [r1, #0x0]
- cmp r0, #0x0
- bne _0203758C
- ldr r0, [r1, #0x4]
- cmp r0, #0x0
- bne _0203758C
- mov r0, #0x1
- pop {r4, pc}
-_0203758C:
- mov r0, #0x0
- pop {r4, pc}
- .balign 4
-_02037590: .word 0x00000005
-
- thumb_func_start FUN_02037594
-FUN_02037594: ; 0x02037594
- push {r3-r5, lr}
- sub sp, #0x10
- add r4, r0, #0x0
- ldr r1, [r4, #0x0]
- mov r5, #0x0
- ldr r1, [r1, #0x8]
- cmp r1, #0x0
- bne _020375B4
- ldr r1, [r4, #0x64]
- cmp r1, #0x0
- beq _020375B4
- bl FUN_0204646C
- cmp r0, #0x0
- bne _020375B4
- mov r5, #0x1
-_020375B4:
- cmp r5, #0x0
- beq _020375D4
- ldr r0, [r4, #0x38]
- bl FUN_02055A38
- ldr r3, _02037758 ; =0x021C48B8
- add r0, sp, #0x8
- ldr r2, [r3, #0x48]
- ldr r3, [r3, #0x44]
- lsl r2, r2, #0x10
- lsl r3, r3, #0x10
- add r1, r4, #0x0
- lsr r2, r2, #0x10
- lsr r3, r3, #0x10
- bl FUN_021D8164
-_020375D4:
- ldr r0, [r4, #0x1c]
- ldr r2, [r4, #0x6c]
- ldr r1, [r0, #0x0]
- ldr r0, _0203775C ; =0x00000146
- cmp r1, r0
- bne _020375E2
- mov r2, #0x0
-_020375E2:
- cmp r2, #0x4
- bhi _020376E2
- add r0, r2, r2
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_020375F2: ; jump table (using 16-bit offset)
- .short _020376E2 - _020375F2 - 2; case 0
- .short _020375FC - _020375F2 - 2; case 1
- .short _02037646 - _020375F2 - 2; case 2
- .short _0203761C - _020375F2 - 2; case 3
- .short _02037672 - _020375F2 - 2; case 4
-_020375FC:
- cmp r5, #0x0
- beq _02037610
- bl FUN_0204E2FC
- cmp r0, #0x0
- beq _02037610
- add r0, sp, #0x8
- add r1, r4, #0x0
- bl FUN_021D85FC
-_02037610:
- add r0, r4, #0x0
- add r1, r5, #0x0
- bl FUN_0204D6C0
- add sp, #0x10
- pop {r3-r5, pc}
-_0203761C:
- cmp r5, #0x0
- beq _0203763A
- bl FUN_0204E2FC
- cmp r0, #0x0
- beq _02037638
- add r0, sp, #0x8
- add r1, r4, #0x0
- bl FUN_021D865C
- cmp r0, #0x1
- bne _0203763A
- mov r5, #0x0
- b _0203763A
-_02037638:
- mov r5, #0x0
-_0203763A:
- add r0, r4, #0x0
- add r1, r5, #0x0
- bl FUN_0204D6C0
- add sp, #0x10
- pop {r3-r5, pc}
-_02037646:
- cmp r5, #0x0
- bne _0203764C
- b _02037754
-_0203764C:
- add r0, sp, #0x8
- add r1, r4, #0x0
- bl FUN_021D8758
- cmp r0, #0x1
- beq _02037754
- add r3, sp, #0x8
- ldrh r0, [r3, #0x6]
- mov r2, #0x0
- str r0, [sp, #0x0]
- str r2, [sp, #0x4]
- ldrh r3, [r3, #0x4]
- ldr r0, [r4, #0x38]
- ldr r1, [r4, #0x24]
- sub r2, r2, #0x1
- bl FUN_020557F4
- add sp, #0x10
- pop {r3-r5, pc}
-_02037672:
- cmp r5, #0x0
- beq _02037754
- add r0, sp, #0x8
- add r1, r4, #0x0
- bl FUN_021D8820
- cmp r0, #0x1
- bne _020376A6
- ldr r0, [r4, #0x4]
- ldr r0, [r0, #0x8]
- bl FUN_021E32F0
- add r0, r4, #0x0
- mov r1, #0x4
- bl FUN_021E81BC
- ldr r0, [r4, #0x38]
- bl FUN_021E7138
- add r0, r4, #0x0
- mov r1, #0x0
- mov r2, #0x1
- bl FUN_021EFA9C
- add sp, #0x10
- pop {r3-r5, pc}
-_020376A6:
- ldr r0, _02037758 ; =0x021C48B8
- ldr r1, [r0, #0x48]
- mov r0, #0x1
- tst r0, r1
- beq _020376B8
- ldr r0, [r4, #0x4]
- ldr r0, [r0, #0x8]
- bl FUN_021E32F0
-_020376B8:
- mov r5, #0x0
- bl FUN_02037790
- cmp r0, #0x0
- beq _020376C8
- bl FUN_02252534
- add r5, r0, #0x0
-_020376C8:
- add r3, sp, #0x8
- ldrh r0, [r3, #0x6]
- mov r2, #0x0
- mvn r2, r2
- str r0, [sp, #0x0]
- str r5, [sp, #0x4]
- ldrh r3, [r3, #0x4]
- ldr r0, [r4, #0x38]
- ldr r1, [r4, #0x24]
- bl FUN_020557F4
- add sp, #0x10
- pop {r3-r5, pc}
-_020376E2:
- cmp r5, #0x0
- beq _02037754
- add r0, sp, #0x8
- add r1, r4, #0x0
- bl FUN_021D8320
- cmp r0, #0x1
- bne _0203771C
- ldr r0, [r4, #0x4]
- ldr r0, [r0, #0x8]
- bl FUN_021E32F0
- add r0, r4, #0x0
- mov r1, #0x4
- bl FUN_021E81BC
- ldr r0, [r4, #0x38]
- bl FUN_02055B14
- ldr r0, [r4, #0x38]
- bl FUN_021E7138
- add r0, r4, #0x0
- mov r1, #0x0
- mov r2, #0x1
- bl FUN_021EFA9C
- add sp, #0x10
- pop {r3-r5, pc}
-_0203771C:
- ldr r0, _02037758 ; =0x021C48B8
- ldr r1, [r0, #0x48]
- mov r0, #0x1
- tst r0, r1
- beq _0203772E
- ldr r0, [r4, #0x4]
- ldr r0, [r0, #0x8]
- bl FUN_021E32F0
-_0203772E:
- mov r5, #0x0
- bl FUN_02037790
- cmp r0, #0x0
- beq _0203773E
- bl FUN_02252534
- add r5, r0, #0x0
-_0203773E:
- add r3, sp, #0x8
- ldrh r0, [r3, #0x6]
- mov r2, #0x0
- mvn r2, r2
- str r0, [sp, #0x0]
- str r5, [sp, #0x4]
- ldrh r3, [r3, #0x4]
- ldr r0, [r4, #0x38]
- ldr r1, [r4, #0x24]
- bl FUN_020557F4
-_02037754:
- add sp, #0x10
- pop {r3-r5, pc}
- .balign 4
-_02037758: .word 0x021C48B8
-_0203775C: .word 0x00000146
-
- thumb_func_start FUN_02037760
-FUN_02037760: ; 0x02037760
- ldr r0, _02037770 ; =0x021C5A08
- ldr r3, _02037774 ; =FUN_02030FC8
- ldr r0, [r0, #0x0]
- mov r1, #0x1
- ldr r0, [r0, #0x0]
- str r1, [r0, #0x8]
- bx r3
- nop
-_02037770: .word 0x021C5A08
-_02037774: .word FUN_02030FC8
-
- thumb_func_start FUN_02037778
-FUN_02037778: ; 0x02037778
- ldr r0, _02037788 ; =0x021C5A08
- ldr r3, _0203778C ; =FUN_02030FA8
- ldr r0, [r0, #0x0]
- mov r1, #0x0
- ldr r0, [r0, #0x0]
- str r1, [r0, #0x8]
- bx r3
- nop
-_02037788: .word 0x021C5A08
-_0203778C: .word FUN_02030FA8
-
- thumb_func_start FUN_02037790
-FUN_02037790: ; 0x02037790
- ldr r0, _020377A4 ; =0x021C5A08
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x4]
- cmp r0, #0x0
- bne _0203779E
- mov r0, #0x0
- bx lr
-_0203779E:
- ldr r0, [r0, #0x14]
- bx lr
- nop
-_020377A4: .word 0x021C5A08
-
- thumb_func_start FUN_020377A8
-FUN_020377A8: ; 0x020377A8
- ldr r0, [r0, #0x8]
- bx lr
-
- thumb_func_start FUN_020377AC
-FUN_020377AC: ; 0x020377AC
- ldr r0, [r0, #0xc]
- bx lr
-
- thumb_func_start FUN_020377B0
-FUN_020377B0: ; 0x020377B0
- ldr r2, _020377C4 ; =0x020F2B9C
- add r3, r0, #0x0
- ldmia r2!, {r0-r1}
- stmia r3!, {r0-r1}
- ldmia r2!, {r0-r1}
- stmia r3!, {r0-r1}
- ldr r0, [r2, #0x0]
- str r0, [r3, #0x0]
- bx lr
- nop
-_020377C4: .word 0x020F2B9C
-
- thumb_func_start FUN_020377C8
-FUN_020377C8: ; 0x020377C8
- ldr r2, _020377DC ; =0x020F2BB0
- add r3, r0, #0x0
- ldmia r2!, {r0-r1}
- stmia r3!, {r0-r1}
- ldmia r2!, {r0-r1}
- stmia r3!, {r0-r1}
- ldr r0, [r2, #0x0]
- str r0, [r3, #0x0]
- bx lr
- nop
-_020377DC: .word 0x020F2BB0
-
- thumb_func_start FUN_020377E0
-FUN_020377E0: ; 0x020377E0
- push {r3, lr}
- bl FUN_02034E30
- bl FUN_02034DC0
- bl FUN_020377B0
- pop {r3, pc}
-
- thumb_func_start FUN_020377F0
-FUN_020377F0: ; 0x020377F0
- mov r0, #0x1
- bx lr
-
- thumb_func_start FUN_020377F4
-FUN_020377F4: ; 0x020377F4
- push {r3, lr}
- bl FUN_0222D5C0
- cmp r0, #0x0
- beq _02037802
- mov r0, #0x1
- pop {r3, pc}
-_02037802:
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_02037808
-FUN_02037808: ; 0x02037808
- mov r0, #0x1
- bx lr
-
- thumb_func_start FUN_0203780C
-FUN_0203780C: ; 0x0203780C
- ldr r3, _02037814 ; =FUN_020373D4
- add r2, r1, #0x0
- ldr r1, _02037818 ; =0x020F2D94
- bx r3
- .balign 4
-_02037814: .word FUN_020373D4
-_02037818: .word 0x020F2D94
-
- thumb_func_start FUN_0203781C
-FUN_0203781C: ; 0x0203781C
- push {r4-r6, lr}
- sub sp, #0x10
- ldr r5, _02037840 ; =0x020F2D74
- add r4, sp, #0x0
- add r6, r0, #0x0
- add r2, r1, #0x0
- add r3, r4, #0x0
- ldmia r5!, {r0-r1}
- stmia r4!, {r0-r1}
- ldmia r5!, {r0-r1}
- stmia r4!, {r0-r1}
- add r0, r6, #0x0
- add r1, r3, #0x0
- bl FUN_020373D4
- add sp, #0x10
- pop {r4-r6, pc}
- nop
-_02037840: .word 0x020F2D74
-
- thumb_func_start FUN_02037844
-FUN_02037844: ; 0x02037844
- push {r4-r6, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0xc]
- add r6, r1, #0x0
- bl FUN_0206F158
- ldr r1, _02037898 ; =0x020F2BDC
- mov r2, #0xb
- bl FUN_0206EFEC
- add r3, r5, #0x0
- add r3, #0x94
- ldr r1, [r5, #0xc]
- ldr r3, [r3, #0x0]
- mov r2, #0x0
- add r4, r0, #0x0
- bl FUN_0206E314
- ldr r1, [r5, #0x6c]
- add r0, r4, #0x0
- lsl r1, r1, #0x10
- lsr r1, r1, #0x10
- bl FUN_0206E360
- ldr r0, [r5, #0x38]
- bl FUN_020553C4
- cmp r0, #0x1
- bne _02037884
- add r0, r4, #0x0
- bl FUN_0206E340
-_02037884:
- add r0, r4, #0x0
- add r1, r6, #0x0
- bl FUN_0206E354
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_0203781C
- add r0, r4, #0x0
- pop {r4-r6, pc}
- .balign 4
-_02037898: .word 0x020F2BDC
-
- thumb_func_start FUN_0203789C
-FUN_0203789C: ; 0x0203789C
- push {r4-r6, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0xc]
- add r4, r1, #0x0
- bl FUN_0206F158
- add r6, r0, #0x0
- cmp r4, #0x0
- beq _020378B4
- cmp r4, #0x1
- beq _020378BC
- b _020378C4
-_020378B4:
- ldr r1, _020378F0 ; =0x020F2BC8
- ldr r0, _020378F4 ; =0x02105DB8
- str r1, [r0, #0x0]
- b _020378C8
-_020378BC:
- ldr r1, _020378F8 ; =0x020F2BC4
- ldr r0, _020378F4 ; =0x02105DB8
- str r1, [r0, #0x0]
- b _020378C8
-_020378C4:
- bl ErrorHandling
-_020378C8:
- ldr r1, _020378F4 ; =0x02105DB8
- add r0, r6, #0x0
- ldr r1, [r1, #0x0]
- mov r2, #0x20
- bl FUN_0206EFEC
- add r3, r5, #0x0
- add r3, #0x94
- ldr r1, [r5, #0xc]
- ldr r3, [r3, #0x0]
- add r4, r0, #0x0
- mov r2, #0x3
- bl FUN_0206E314
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_0203781C
- add r0, r4, #0x0
- pop {r4-r6, pc}
- .balign 4
-_020378F0: .word 0x020F2BC8
-_020378F4: .word 0x02105DB8
-_020378F8: .word 0x020F2BC4
-
- thumb_func_start FUN_020378FC
-FUN_020378FC: ; 0x020378FC
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl FUN_0206E37C
- add r4, r0, #0x0
- beq _02037916
- add r0, r5, #0x0
- bl FUN_0206E384
- cmp r0, #0x5
- bne _02037916
- bl ErrorHandling
-_02037916:
- add r0, r4, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0203791C
-FUN_0203791C: ; 0x0203791C
- push {r4-r6, lr}
- sub sp, #0x10
- ldr r5, _02037940 ; =0x020F2D44
- add r4, sp, #0x0
- add r6, r0, #0x0
- add r2, r1, #0x0
- add r3, r4, #0x0
- ldmia r5!, {r0-r1}
- stmia r4!, {r0-r1}
- ldmia r5!, {r0-r1}
- stmia r4!, {r0-r1}
- add r0, r6, #0x0
- add r1, r3, #0x0
- bl FUN_020373D4
- add sp, #0x10
- pop {r4-r6, pc}
- nop
-_02037940: .word 0x020F2D44
-
- thumb_func_start FUN_02037944
-FUN_02037944: ; 0x02037944
- push {r3-r5, lr}
- sub sp, #0x10
- ldr r4, _02037968 ; =0x020F2D24
- add r3, sp, #0x0
- add r5, r0, #0x0
- add r2, r3, #0x0
- ldmia r4!, {r0-r1}
- stmia r3!, {r0-r1}
- ldmia r4!, {r0-r1}
- stmia r3!, {r0-r1}
- add r1, r2, #0x0
- ldr r2, [r5, #0xc]
- add r0, r5, #0x0
- bl FUN_020373D4
- add sp, #0x10
- pop {r3-r5, pc}
- nop
-_02037968: .word 0x020F2D24
-
- thumb_func_start FUN_0203796C
-FUN_0203796C: ; 0x0203796C
- ldr r3, _02037974 ; =FUN_020373D4
- add r2, r1, #0x0
- ldr r1, _02037978 ; =0x020FA6E8
- bx r3
- .balign 4
-_02037974: .word FUN_020373D4
-_02037978: .word 0x020FA6E8
-
- thumb_func_start FUN_0203797C
-FUN_0203797C: ; 0x0203797C
- push {r3-r7, lr}
- add r5, r1, #0x0
- mov r1, #0x40
- add r6, r2, #0x0
- add r7, r3, #0x0
- bl FUN_02016998
- add r4, r0, #0x0
- mov r0, #0x0
- add r1, r4, #0x0
- mov r2, #0x40
- blx MIi_CpuClearFast
- 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]
- add r0, r4, #0x0
- add r0, #0x21
- strb r6, [r0, #0x0]
- add r0, r4, #0x0
- add r0, #0x20
- strb r7, [r0, #0x0]
- str r5, [r4, #0x1c]
- add r0, r4, #0x0
- pop {r3-r7, pc}
-
- thumb_func_start FUN_020379C8
-FUN_020379C8: ; 0x020379C8
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r7, r2, #0x0
- mov r2, #0x0
- add r6, r1, #0x0
- mov r0, #0xb
- add r1, r5, #0x0
- add r3, r2, #0x0
- bl FUN_0203797C
- add r4, r0, #0x0
- str r6, [r4, #0x18]
- add r0, #0x22
- strb r7, [r0, #0x0]
- ldr r1, _020379F4 ; =0x020F96DC
- add r0, r5, #0x0
- add r2, r4, #0x0
- bl FUN_020373D4
- add r0, r4, #0x0
- pop {r3-r7, pc}
- nop
-_020379F4: .word 0x020F96DC
-
- thumb_func_start FUN_020379F8
-FUN_020379F8: ; 0x020379F8
- push {r3-r5, lr}
- mov r0, #0xb
- mov r2, #0x0
- mov r3, #0x3
- add r5, r1, #0x0
- bl FUN_0203797C
- add r4, r0, #0x0
- ldr r1, _02037A18 ; =0x020F96DC
- add r0, r5, #0x0
- add r2, r4, #0x0
- bl FUN_020373D4
- add r0, r4, #0x0
- pop {r3-r5, pc}
- nop
-_02037A18: .word 0x020F96DC
-
- thumb_func_start FUN_02037A1C
-FUN_02037A1C: ; 0x02037A1C
- push {r3-r5, lr}
- mov r0, #0xb
- mov r2, #0x0
- mov r3, #0x13
- add r5, r1, #0x0
- bl FUN_0203797C
- add r4, r0, #0x0
- ldr r1, _02037A3C ; =0x020F96DC
- add r0, r5, #0x0
- add r2, r4, #0x0
- bl FUN_020373D4
- add r0, r4, #0x0
- pop {r3-r5, pc}
- nop
-_02037A3C: .word 0x020F96DC
-
- thumb_func_start FUN_02037A40
-FUN_02037A40: ; 0x02037A40
- add r0, #0x22
- ldrb r0, [r0, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02037A48
-FUN_02037A48: ; 0x02037A48
- push {r4-r6, lr}
- add r4, r2, #0x0
- mov r0, #0xb
- mov r2, #0x0
- mov r3, #0x12
- add r5, r1, #0x0
- bl FUN_0203797C
- add r6, r0, #0x0
- add r0, #0x22
- strb r4, [r0, #0x0]
- ldr r1, _02037A6C ; =0x020F96DC
- add r0, r5, #0x0
- add r2, r6, #0x0
- bl FUN_020373D4
- add r0, r6, #0x0
- pop {r4-r6, pc}
- .balign 4
-_02037A6C: .word 0x020F96DC
-
- thumb_func_start FUN_02037A70
-FUN_02037A70: ; 0x02037A70
- add r0, #0x23
- ldrb r0, [r0, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02037A78
-FUN_02037A78: ; 0x02037A78
- ldrb r0, [r0, #0x14]
- bx lr
-
- thumb_func_start FUN_02037A7C
-FUN_02037A7C: ; 0x02037A7C
- 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, r5, #0x0
- bl FUN_02046530
- add r5, r0, #0x0
- ldr r0, [r5, #0x0]
- cmp r0, #0x4
- bhi _02037B3A
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_02037AA8: ; jump table (using 16-bit offset)
- .short _02037AB2 - _02037AA8 - 2; case 0
- .short _02037AC2 - _02037AA8 - 2; case 1
- .short _02037AF8 - _02037AA8 - 2; case 2
- .short _02037B1A - _02037AA8 - 2; case 3
- .short _02037B30 - _02037AA8 - 2; case 4
-_02037AB2:
- ldr r1, _02037B40 ; =0x020F96DC
- ldr r2, [r4, #0x4]
- add r0, r6, #0x0
- bl FUN_020373D4
- mov r0, #0x1
- str r0, [r5, #0x0]
- b _02037B3A
-_02037AC2:
- add r0, r6, #0x0
- bl FUN_0204647C
- cmp r0, #0x0
- bne _02037B3A
- ldr r0, [r4, #0x4]
- add r0, #0x22
- ldrb r0, [r0, #0x0]
- cmp r0, #0x6
- beq _02037AE6
- cmp r0, #0x7
- bne _02037AF2
- mov r0, #0x2
- bl FUN_020527D8
- mov r0, #0x4
- str r0, [r5, #0x0]
- b _02037B3A
-_02037AE6:
- mov r0, #0x1
- bl FUN_020527D8
- mov r0, #0x4
- str r0, [r5, #0x0]
- b _02037B3A
-_02037AF2:
- mov r0, #0x2
- str r0, [r5, #0x0]
- b _02037B3A
-_02037AF8:
- ldr r1, [r4, #0x0]
- add r0, r6, #0x0
- mov r2, #0x0
- bl FUN_02037C7C
- str r0, [r4, #0x8]
- ldr r1, [r4, #0x4]
- add r1, #0x22
- ldrb r1, [r1, #0x0]
- strb r1, [r0, #0x14]
- ldr r1, [r4, #0x8]
- add r0, r6, #0x0
- bl FUN_0203796C
- mov r0, #0x3
- str r0, [r5, #0x0]
- b _02037B3A
-_02037B1A:
- add r0, r6, #0x0
- bl FUN_0204647C
- cmp r0, #0x0
- bne _02037B3A
- ldr r0, [r4, #0x8]
- bl FUN_02016A18
- mov r0, #0x0
- str r0, [r5, #0x0]
- b _02037B3A
-_02037B30:
- add r0, r4, #0x0
- bl FUN_02016A18
- mov r0, #0x1
- pop {r4-r6, pc}
-_02037B3A:
- mov r0, #0x0
- pop {r4-r6, pc}
- nop
-_02037B40: .word 0x020F96DC
-
- thumb_func_start FUN_02037B44
-FUN_02037B44: ; 0x02037B44
- push {r3-r7, lr}
- add r5, r1, #0x0
- add r7, r0, #0x0
- bl FUN_02046528
- add r6, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0xc
- bl FUN_02016998
- add r4, r0, #0x0
- add r0, r5, #0x0
- add r1, r6, #0x0
- mov r2, #0x0
- mov r3, #0x2
- str r5, [r4, #0x0]
- bl FUN_0203797C
- add r5, r0, #0x0
- add r0, #0x32
- ldrb r1, [r0, #0x0]
- mov r0, #0xf
- add r2, r4, #0x0
- bic r1, r0
- mov r0, #0x2
- orr r1, r0
- add r0, r5, #0x0
- add r0, #0x32
- strb r1, [r0, #0x0]
- add r0, r5, #0x0
- add r0, #0x32
- ldrb r1, [r0, #0x0]
- mov r0, #0xf0
- bic r1, r0
- mov r0, #0x20
- orr r1, r0
- add r0, r5, #0x0
- add r0, #0x32
- strb r1, [r0, #0x0]
- add r0, r5, #0x0
- mov r1, #0x1e
- add r0, #0x33
- strb r1, [r0, #0x0]
- mov r0, #0x0
- str r0, [r5, #0x14]
- ldr r1, _02037BAC ; =FUN_02037A7C
- add r0, r7, #0x0
- str r5, [r4, #0x4]
- bl FUN_0204640C
- add r0, r5, #0x0
- pop {r3-r7, pc}
- .balign 4
-_02037BAC: .word FUN_02037A7C
-
- thumb_func_start FUN_02037BB0
-FUN_02037BB0: ; 0x02037BB0
- push {r3-r7, lr}
- add r5, r2, #0x0
- add r6, r3, #0x0
- mov r0, #0xb
- mov r2, #0x0
- mov r3, #0xd
- add r7, r1, #0x0
- bl FUN_0203797C
- add r4, r0, #0x0
- ldr r1, [sp, #0x1c]
- add r0, #0x22
- strb r1, [r0, #0x0]
- add r0, r4, #0x0
- mov r1, #0x2
- add r0, #0x29
- strb r1, [r0, #0x0]
- add r0, r4, #0x0
- add r0, #0x2a
- strb r5, [r0, #0x0]
- ldr r0, [sp, #0x18]
- cmp r0, #0x0
- bne _02037BE6
- add r0, r4, #0x0
- add r0, #0x2b
- strb r6, [r0, #0x0]
- b _02037BEE
-_02037BE6:
- add r0, r4, #0x0
- mov r1, #0x0
- add r0, #0x2b
- strb r1, [r0, #0x0]
-_02037BEE:
- ldr r1, _02037BFC ; =0x020F96DC
- add r0, r7, #0x0
- add r2, r4, #0x0
- bl FUN_020373D4
- add r0, r4, #0x0
- pop {r3-r7, pc}
- .balign 4
-_02037BFC: .word 0x020F96DC
-
- thumb_func_start FUN_02037C00
-FUN_02037C00: ; 0x02037C00
- push {r4-r6, lr}
- add r5, r1, #0x0
- mov r0, #0xb
- mov r1, #0x30
- add r6, r2, #0x0
- bl FUN_02016998
- add r4, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_0206BB1C
- str r0, [r4, #0x0]
- ldr r0, [r5, #0xc]
- bl LoadPlayerDataAddress
- 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 r0, #0x0
- strh r0, [r4, #0x18]
- strb r0, [r4, #0x12]
- ldr r0, [r5, #0xc]
- bl FUN_0202A918
- str r0, [r4, #0x20]
- ldr r0, [r5, #0xc]
- bl FUN_0206BB28
- str r0, [r4, #0x1c]
- ldr r0, [r5, #0xc]
- bl FUN_02079C70
- str r0, [r4, #0x2c]
- mov r0, #0x0
- str r0, [r4, #0x28]
- ldr r1, _02037C74 ; =0x020F2A9C
- add r0, r4, #0x0
- bl FUN_0207B000
- ldr r0, [r5, #0xc]
- bl FUN_020238F4
- add r1, r0, #0x0
- add r0, r4, #0x0
- bl FUN_0207C2A4
- ldr r1, _02037C78 ; =0x020FA6E8
- add r0, r5, #0x0
- add r2, r4, #0x0
- bl FUN_020373D4
- add r0, r4, #0x0
- pop {r4-r6, pc}
- .balign 4
-_02037C74: .word 0x020F2A9C
-_02037C78: .word 0x020FA6E8
-
- thumb_func_start FUN_02037C7C
-FUN_02037C7C: ; 0x02037C7C
- push {r4-r6, lr}
- ldr r5, [r0, #0xc]
- add r0, r1, #0x0
- mov r1, #0x30
- add r6, r2, #0x0
- bl FUN_020169D8
- mov r1, #0x0
- mov r2, #0x30
- add r4, r0, #0x0
- blx MI_CpuFill8
- add r0, r5, #0x0
- bl LoadPlayerDataAddress
- str r0, [r4, #0x4]
- add r0, r5, #0x0
- bl FUN_0206BB1C
- str r0, [r4, #0x0]
- mov r0, #0x1
- strb r0, [r4, #0x11]
- mov r0, #0x0
- strb r0, [r4, #0x14]
- ldr r0, [r4, #0x0]
- bl FUN_0206B9AC
- strb r0, [r4, #0x13]
- mov r0, #0x0
- strh r0, [r4, #0x18]
- strb r6, [r4, #0x12]
- add r0, r5, #0x0
- bl FUN_0206BB28
- str r0, [r4, #0x1c]
- add r0, r5, #0x0
- bl FUN_02079C70
- str r0, [r4, #0x2c]
- add r0, r5, #0x0
- bl FUN_0202A918
- str r0, [r4, #0x20]
- ldr r1, _02037CEC ; =0x020F2BD0
- 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
- add r0, r4, #0x0
- pop {r4-r6, pc}
- .balign 4
-_02037CEC: .word 0x020F2BD0
-
- thumb_func_start FUN_02037CF0
-FUN_02037CF0: ; 0x02037CF0
- push {r4-r6, lr}
- add r5, r1, #0x0
- mov r1, #0x30
- add r6, r2, #0x0
- bl FUN_02016998
- mov r1, #0x0
- mov r2, #0x30
- add r4, r0, #0x0
- blx Call_FillMemWithValue
- ldr r0, [r5, #0xc]
- bl FUN_0206BB1C
- str r0, [r4, #0x0]
- ldr r0, [r5, #0xc]
- bl LoadPlayerDataAddress
- str r0, [r4, #0x4]
- mov r0, #0x1
- strb r0, [r4, #0x11]
- strb r6, [r4, #0x14]
- strb r0, [r4, #0x13]
- mov r0, #0x0
- strh r0, [r4, #0x18]
- mov r0, #0x2
- strb r0, [r4, #0x12]
- ldr r0, [r5, #0xc]
- bl FUN_0206BB28
- str r0, [r4, #0x1c]
- ldr r0, [r5, #0xc]
- bl FUN_02079C70
- str r0, [r4, #0x2c]
- ldr r1, _02037D58 ; =0x020F2BCC
- add r0, r4, #0x0
- bl FUN_0207B000
- ldr r0, [r5, #0xc]
- bl FUN_020238F4
- add r1, r0, #0x0
- add r0, r4, #0x0
- bl FUN_0207C2A4
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_0203796C
- add r0, r4, #0x0
- pop {r4-r6, pc}
- .balign 4
-_02037D58: .word 0x020F2BCC
-
- thumb_func_start FUN_02037D5C
-FUN_02037D5C: ; 0x02037D5C
- ldrb r0, [r0, #0x16]
- bx lr
-
- thumb_func_start FUN_02037D60
-FUN_02037D60: ; 0x02037D60
- ldr r3, _02037D68 ; =FUN_020373D4
- add r2, r1, #0x0
- ldr r1, _02037D6C ; =0x020F2CF4
- bx r3
- .balign 4
-_02037D68: .word FUN_020373D4
-_02037D6C: .word 0x020F2CF4
-
- thumb_func_start FUN_02037D70
-FUN_02037D70: ; 0x02037D70
- push {r3-r6, lr}
- sub sp, #0x4
- add r6, r0, #0x0
- bl FUN_02046530
- add r4, r0, #0x0
- add r0, r6, #0x0
- bl FUN_0204652C
- add r5, r0, #0x0
- add r0, r6, #0x0
- bl FUN_02046528
- ldr r1, [r4, #0x0]
- cmp r1, #0x0
- beq _02037D9A
- cmp r1, #0x1
- beq _02037DA8
- cmp r1, #0x2
- beq _02037DB8
- b _02037E12
-_02037D9A:
- ldr r1, [r5, #0xc]
- bl FUN_02037E80
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02037E12
-_02037DA8:
- bl FUN_0204647C
- cmp r0, #0x0
- bne _02037E12
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02037E12
-_02037DB8:
- ldr r0, [r5, #0xc]
- bl FUN_020853E4
- cmp r0, #0x0
- bne _02037DCC
- ldr r0, [r5, #0xc]
- bl FUN_020853E8
- cmp r0, #0x0
- bne _02037DD4
-_02037DCC:
- ldr r0, [r5, #0x0]
- mov r1, #0x0
- strh r1, [r0, #0x0]
- b _02037E00
-_02037DD4:
- ldr r0, [r5, #0x0]
- mov r1, #0x1
- strh r1, [r0, #0x0]
- ldr r0, [r5, #0x8]
- cmp r0, #0x0
- ldr r0, [r5, #0xc]
- bne _02037DEC
- bl FUN_020853EC
- ldr r1, [r5, #0x4]
- strh r0, [r1, #0x0]
- b _02037E00
-_02037DEC:
- add r1, sp, #0x0
- bl FUN_020853F0
- add r0, sp, #0x0
- ldrh r2, [r0, #0x0]
- ldr r1, [r5, #0x4]
- strh r2, [r1, #0x0]
- ldrh r1, [r0, #0x2]
- ldr r0, [r5, #0x8]
- strh r1, [r0, #0x0]
-_02037E00:
- ldr r0, [r5, #0xc]
- bl FUN_020853A8
- add r0, r5, #0x0
- bl FUN_02016A18
- add sp, #0x4
- mov r0, #0x1
- pop {r3-r6, pc}
-_02037E12:
- mov r0, #0x0
- add sp, #0x4
- pop {r3-r6, pc}
-
- thumb_func_start FUN_02037E18
-FUN_02037E18: ; 0x02037E18
- push {r3-r7, lr}
- sub sp, #0x8
- str r0, [sp, #0x0]
- str r1, [sp, #0x4]
- add r5, r2, #0x0
- add r6, r3, #0x0
- bl FUN_02046528
- add r7, r0, #0x0
- mov r0, #0x20
- mov r1, #0x10
- bl FUN_02016998
- add r4, r0, #0x0
- ldr r0, [sp, #0x4]
- cmp r6, #0x0
- str r0, [r4, #0x0]
- str r5, [r4, #0x4]
- str r6, [r4, #0x8]
- bne _02037E56
- mov r0, #0x0
- ldr r2, [r7, #0xc]
- add r1, r0, #0x0
- mov r3, #0x20
- bl FUN_02085338
- str r0, [r4, #0xc]
- ldrh r1, [r5, #0x0]
- bl FUN_020853B0
- b _02037E6C
-_02037E56:
- ldr r2, [r7, #0xc]
- mov r0, #0x1
- mov r1, #0x0
- mov r3, #0x20
- bl FUN_02085338
- str r0, [r4, #0xc]
- ldrh r1, [r5, #0x0]
- ldrh r2, [r6, #0x0]
- bl FUN_020853B4
-_02037E6C:
- ldr r0, [sp, #0x0]
- ldr r1, _02037E7C ; =FUN_02037D70
- add r2, r4, #0x0
- bl FUN_0204640C
- add sp, #0x8
- pop {r3-r7, pc}
- nop
-_02037E7C: .word FUN_02037D70
-
- thumb_func_start FUN_02037E80
-FUN_02037E80: ; 0x02037E80
- ldr r3, _02037E88 ; =FUN_020373D4
- add r2, r1, #0x0
- ldr r1, _02037E8C ; =0x020F2CE4
- bx r3
- .balign 4
-_02037E88: .word FUN_020373D4
-_02037E8C: .word 0x020F2CE4
-
- thumb_func_start FUN_02037E90
-FUN_02037E90: ; 0x02037E90
- push {r4-r6, lr}
- sub sp, #0x10
- ldr r5, _02037EB4 ; =0x020F2CD4
- add r4, sp, #0x0
- add r6, r0, #0x0
- add r2, r1, #0x0
- add r3, r4, #0x0
- ldmia r5!, {r0-r1}
- stmia r4!, {r0-r1}
- ldmia r5!, {r0-r1}
- stmia r4!, {r0-r1}
- add r0, r6, #0x0
- add r1, r3, #0x0
- bl FUN_020373D4
- add sp, #0x10
- pop {r4-r6, pc}
- nop
-_02037EB4: .word 0x020F2CD4
-
- thumb_func_start FUN_02037EB8
-FUN_02037EB8: ; 0x02037EB8
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_02034E30
- bl FUN_02034E0C
- mov r1, #0x5
- mov r0, #0xb
- lsl r1, r1, #0x6
- bl FUN_020169D8
- add r4, r0, #0x0
- add r0, r5, #0x0
- add r1, r4, #0x0
- mov r2, #0x0
- bl FUN_0205F7A0
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02037E90
- add r0, r4, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02037EE8
-FUN_02037EE8: ; 0x02037EE8
- ldr r3, _02037EF0 ; =FUN_020373D4
- add r2, r1, #0x0
- ldr r1, _02037EF4 ; =0x020F2CC4
- bx r3
- .balign 4
-_02037EF0: .word FUN_020373D4
-_02037EF4: .word 0x020F2CC4
-
- thumb_func_start FUN_02037EF8
-FUN_02037EF8: ; 0x02037EF8
- push {r3-r5, lr}
- add r5, r0, #0x0
- mov r0, #0xb
- mov r1, #0x2
- bl FUN_020169D8
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_020377AC
- bl LoadPlayerDataAddress
- add r1, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02037EE8
- add r0, r4, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02037F1C
-FUN_02037F1C: ; 0x02037F1C
- ldr r3, _02037F24 ; =FUN_020373D4
- add r2, r1, #0x0
- ldr r1, _02037F28 ; =0x020FCAC8
- bx r3
- .balign 4
-_02037F24: .word FUN_020373D4
-_02037F28: .word 0x020FCAC8
-
- thumb_func_start FUN_02037F2C
-FUN_02037F2C: ; 0x02037F2C
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- add r6, r2, #0x0
- add r7, r3, #0x0
- bl FUN_020377AC
- mov r1, #0xb
- str r1, [sp, #0x0]
- add r1, r4, #0x0
- add r2, r6, #0x0
- add r3, r7, #0x0
- bl FUN_020854E0
- add r4, r0, #0x0
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02037F1C
- add r0, r4, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02037F58
-FUN_02037F58: ; 0x02037F58
- push {r3-r7, lr}
- add r5, r1, #0x0
- add r7, r0, #0x0
- add r4, r2, #0x0
- add r6, r3, #0x0
- cmp r5, #0x3
- bne _02037F74
- bl FUN_020377AC
- add r1, r4, #0x0
- add r2, r6, #0x0
- bl FUN_020855B0
- b _02037F82
-_02037F74:
- bl FUN_020377AC
- add r1, r5, #0x0
- add r2, r4, #0x0
- add r3, r6, #0x0
- bl FUN_02085538
-_02037F82:
- add r4, r0, #0x0
- add r0, r7, #0x0
- add r1, r4, #0x0
- bl FUN_02037F1C
- add r0, r4, #0x0
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02037F90
-FUN_02037F90: ; 0x02037F90
- push {r4-r6, lr}
- add r4, r1, #0x0
- add r6, r2, #0x0
- add r5, r0, #0x0
- bl FUN_020377AC
- add r1, r4, #0x0
- add r2, r6, #0x0
- bl FUN_02085578
- add r4, r0, #0x0
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02037F1C
- add r0, r4, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02037FB4
-FUN_02037FB4: ; 0x02037FB4
- ldr r3, _02037FBC ; =FUN_020373D4
- add r2, r1, #0x0
- ldr r1, _02037FC0 ; =0x020FD1B0
- bx r3
- .balign 4
-_02037FBC: .word FUN_020373D4
-_02037FC0: .word 0x020FD1B0
-
- thumb_func_start FUN_02037FC4
-FUN_02037FC4: ; 0x02037FC4
- push {r3-r5, lr}
- add r5, r1, #0x0
- add r4, r0, #0x0
- bl FUN_020377AC
- add r1, r5, #0x0
- bl FUN_02087D00
- add r5, r0, #0x0
- add r0, r4, #0x0
- add r1, r5, #0x0
- bl FUN_02037FB4
- add r0, r5, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02037FE4
-FUN_02037FE4: ; 0x02037FE4
- push {r4-r6, lr}
- sub sp, #0x10
- ldr r5, _02038008 ; =0x020F2CB4
- add r4, sp, #0x0
- add r6, r0, #0x0
- add r2, r1, #0x0
- add r3, r4, #0x0
- ldmia r5!, {r0-r1}
- stmia r4!, {r0-r1}
- ldmia r5!, {r0-r1}
- stmia r4!, {r0-r1}
- add r0, r6, #0x0
- add r1, r3, #0x0
- bl FUN_020373D4
- add sp, #0x10
- pop {r4-r6, pc}
- nop
-_02038008: .word 0x020F2CB4
-
- thumb_func_start FUN_0203800C
-FUN_0203800C: ; 0x0203800C
- push {r3-r7, lr}
- add r5, r1, #0x0
- mov r1, #0x20
- add r7, r2, #0x0
- add r6, r3, #0x0
- bl FUN_02016998
- mov r1, #0x0
- mov r2, #0x20
- add r4, r0, #0x0
- blx Call_FillMemWithValue
- add r0, r5, #0x0
- bl FUN_0206BB1C
- add r1, r7, #0x0
- bl FUN_0206B9B0
- str r0, [r4, #0x0]
- add r0, r5, #0x0
- bl FUN_02027E24
- str r0, [sp, #0x0]
- mov r1, #0x0
- bl FUN_02027008
- add r7, r0, #0x0
- ldr r0, [sp, #0x0]
- bl FUN_0202708C
- str r7, [r4, #0x4]
- str r0, [r4, #0x8]
- add r0, r5, #0x0
- bl LoadPlayerDataAddress
- str r0, [r4, #0xc]
- add r0, r5, #0x0
- bl FUN_02029FC8
- str r0, [r4, #0x10]
- add r0, r5, #0x0
- bl FUN_020238F4
- str r0, [r4, #0x14]
- ldr r0, [sp, #0x18]
- str r6, [r4, #0x18]
- str r0, [r4, #0x1c]
- add r0, r4, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02038070
-FUN_02038070: ; 0x02038070
- 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, #0x0
- beq _0203808E
- cmp r0, #0x1
- beq _0203809E
- b _020380C8
-_0203808E:
- ldr r1, [r5, #0xc]
- add r0, r4, #0x0
- bl FUN_0203811C
- ldr r0, [r5, #0x0]
- add r0, r0, #0x1
- str r0, [r5, #0x0]
- b _020380C8
-_0203809E:
- add r0, r4, #0x0
- bl FUN_0204647C
- cmp r0, #0x0
- bne _020380C8
- ldr r0, [r5, #0x8]
- cmp r0, #0x1
- bne _020380B2
- mov r1, #0x1
- b _020380B4
-_020380B2:
- mov r1, #0x0
-_020380B4:
- ldr r0, [r5, #0x4]
- strh r1, [r0, #0x0]
- ldr r0, [r5, #0xc]
- bl FUN_02016A18
- add r0, r5, #0x0
- bl FUN_02016A18
- mov r0, #0x1
- pop {r3-r5, pc}
-_020380C8:
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_020380CC
-FUN_020380CC: ; 0x020380CC
- push {r3-r7, lr}
- sub sp, #0x8
- add r6, r0, #0x0
- add r5, r1, #0x0
- mov r0, #0x20
- mov r1, #0x10
- add r7, r2, #0x0
- str r3, [sp, #0x4]
- bl FUN_02016998
- add r4, r0, #0x0
- add r2, r4, #0x0
- mov r1, #0x10
- mov r0, #0x0
-_020380E8:
- strb r0, [r2, #0x0]
- add r2, r2, #0x1
- sub r1, r1, #0x1
- bne _020380E8
- add r0, sp, #0x10
- ldrh r0, [r0, #0x10]
- add r3, r4, #0x0
- add r1, r7, #0x0
- str r0, [sp, #0x0]
- ldr r2, [sp, #0x4]
- mov r0, #0x20
- add r3, #0x8
- bl FUN_0203800C
- str r0, [r4, #0xc]
- ldr r1, _02038118 ; =FUN_02038070
- add r0, r6, #0x0
- add r2, r4, #0x0
- str r5, [r4, #0x4]
- bl FUN_0204640C
- add sp, #0x8
- pop {r3-r7, pc}
- nop
-_02038118: .word FUN_02038070
-
- thumb_func_start FUN_0203811C
-FUN_0203811C: ; 0x0203811C
- push {r3, lr}
- add r2, r1, #0x0
- ldr r1, _0203812C ; =0x02105DDC
- bl FUN_020373D4
- mov r0, #0x1
- pop {r3, pc}
- nop
-_0203812C: .word 0x02105DDC
-
- thumb_func_start FUN_02038130
-FUN_02038130: ; 0x02038130
- push {r3, lr}
- add r2, r1, #0x0
- ldr r1, _02038140 ; =0x02105DCC
- bl FUN_020373D4
- mov r0, #0x1
- pop {r3, pc}
- nop
-_02038140: .word 0x02105DCC
-
- thumb_func_start FUN_02038144
-FUN_02038144: ; 0x02038144
- push {r3-r5, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- ldr r0, [r4, #0xc]
- bl FUN_020238F4
- str r0, [r5, #0x4]
- ldr r0, [r4, #0xc]
- bl FUN_0206BB1C
- str r0, [r5, #0x8]
- ldr r0, [r4, #0xc]
- mov r1, #0x9
- bl FUN_02022610
- str r0, [r5, #0xc]
- ldr r0, [r4, #0xc]
- bl FUN_02029AFC
- str r0, [r5, #0x14]
- ldr r0, [r4, #0xc]
- bl LoadPlayerDataAddress
- str r0, [r5, #0x18]
- ldr r0, [r4, #0xc]
- bl FUN_02024DA0
- str r0, [r5, #0x24]
- ldr r0, [r4, #0xc]
- bl FUN_0206BB28
- str r0, [r5, #0x30]
- ldr r0, [r4, #0xc]
- str r0, [r5, #0x10]
- add r0, r4, #0x0
- add r0, #0x98
- ldr r0, [r0, #0x0]
- str r0, [r5, #0x1c]
- ldr r0, [r4, #0xc]
- bl FUN_02029FC8
- str r0, [r5, #0x20]
- bl FUN_02023924
- add r1, r0, #0x0
- mov r0, #0x20
- bl FUN_02016998
- str r0, [r5, #0x38]
- bl FUN_020690C4
- add r1, r0, #0x0
- mov r0, #0x20
- bl FUN_02016998
- str r0, [r5, #0x3c]
- bl FUN_020690C4
- add r1, r0, #0x0
- mov r0, #0x20
- bl FUN_02016998
- str r0, [r5, #0x40]
- str r4, [r5, #0x0]
- mov r0, #0x0
- str r0, [r5, #0x34]
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_020381CC
-FUN_020381CC: ; 0x020381CC
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x38]
- cmp r0, #0x0
- beq _020381DE
- bl FUN_02016A18
- mov r0, #0x0
- str r0, [r4, #0x38]
-_020381DE:
- ldr r0, [r4, #0x3c]
- cmp r0, #0x0
- beq _020381EC
- bl FUN_02016A18
- mov r0, #0x0
- str r0, [r4, #0x3c]
-_020381EC:
- ldr r0, [r4, #0x40]
- cmp r0, #0x0
- beq _020381FA
- bl FUN_02016A18
- mov r0, #0x0
- str r0, [r4, #0x40]
-_020381FA:
- pop {r4, pc}
-
- thumb_func_start FUN_020381FC
-FUN_020381FC: ; 0x020381FC
- push {r4-r7, lr}
- sub sp, #0x34
- add r6, r0, #0x0
- bl FUN_02046528
- add r5, r0, #0x0
- add r0, r6, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- cmp r0, #0x7
- bls _02038218
- b _020383C8
-_02038218:
- add r1, r0, r0
- add r1, pc
- ldrh r1, [r1, #0x6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_02038224: ; jump table (using 16-bit offset)
- .short _02038234 - _02038224 - 2; case 0
- .short _0203824A - _02038224 - 2; case 1
- .short _02038258 - _02038224 - 2; case 2
- .short _0203826A - _02038224 - 2; case 3
- .short _02038288 - _02038224 - 2; case 4
- .short _020382F6 - _02038224 - 2; case 5
- .short _02038386 - _02038224 - 2; case 6
- .short _020383B2 - _02038224 - 2; case 7
-_02038234:
- bl FUN_02033590
- cmp r0, #0x0
- bne _02038242
- add r0, r6, #0x0
- bl FUN_0204AF3C
-_02038242:
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _020383C8
-_0203824A:
- add r0, r4, #0x4
- add r1, r5, #0x0
- bl FUN_02038144
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
-_02038258:
- ldr r1, _020383D0 ; =0x02105DBC
- add r0, r6, #0x0
- add r2, r4, #0x4
- bl FUN_02046500
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _020383C8
-_0203826A:
- ldr r1, [r4, #0x2c]
- cmp r1, #0x0
- bne _02038282
- add r0, r4, #0x4
- bl FUN_020381CC
- add r0, r4, #0x0
- bl FUN_02016A18
- add sp, #0x34
- mov r0, #0x1
- pop {r4-r7, pc}
-_02038282:
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _020383C8
-_02038288:
- ldr r0, [r4, #0x3c]
- str r0, [r4, #0x50]
- ldr r0, [r4, #0x40]
- bl FUN_020690E4
- str r0, [r4, #0x48]
- ldr r0, [r4, #0x44]
- bl FUN_020690E4
- str r0, [r4, #0x4c]
- ldr r0, [r5, #0xc]
- bl LoadPlayerDataAddress
- str r0, [r4, #0x5c]
- mov r0, #0x1
- str r0, [r4, #0x58]
- add r0, r5, #0x0
- bl FUN_0204B2A4
- cmp r0, #0x4
- bhi _020382C8
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_020382BE: ; jump table (using 16-bit offset)
- .short _020382C8 - _020382BE - 2; case 0
- .short _020382C8 - _020382BE - 2; case 1
- .short _020382CE - _020382BE - 2; case 2
- .short _020382D4 - _020382BE - 2; case 3
- .short _020382D4 - _020382BE - 2; case 4
-_020382C8:
- mov r0, #0x0
- str r0, [r4, #0x54]
- b _020382D8
-_020382CE:
- mov r0, #0x1
- str r0, [r4, #0x54]
- b _020382D8
-_020382D4:
- mov r0, #0x2
- str r0, [r4, #0x54]
-_020382D8:
- bl FUN_02033590
- cmp r0, #0x0
- beq _020382E4
- mov r0, #0x3
- str r0, [r4, #0x54]
-_020382E4:
- add r2, r4, #0x0
- ldr r1, _020383D4 ; =0x020F2CA4
- add r0, r6, #0x0
- add r2, #0x48
- bl FUN_02046500
- mov r0, #0x5
- str r0, [r4, #0x0]
- b _020383C8
-_020382F6:
- ldr r0, [r4, #0x44]
- mov r1, #0x6
- mov r2, #0x0
- bl FUN_020671BC
- add r3, r0, #0x0
- add r0, sp, #0x30
- str r0, [sp, #0x0]
- lsl r3, r3, #0x10
- ldr r1, [r4, #0x44]
- mov r0, #0x0
- mov r2, #0x1
- lsr r3, r3, #0x10
- bl FUN_02069168
- str r0, [sp, #0x20]
- cmp r0, #0x0
- beq _02038380
- mov r0, #0x3
- mov r1, #0x1a
- lsl r2, r0, #0x10
- bl FUN_0201681C
- ldr r0, [r5, #0xc]
- bl LoadPlayerDataAddress
- str r0, [sp, #0x24]
- ldr r0, [r5, #0xc]
- bl FUN_02079C70
- add r6, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_02024DA0
- add r7, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_0206F158
- str r0, [sp, #0x28]
- ldr r0, [r5, #0xc]
- bl FUN_02029FC8
- str r0, [sp, #0x2c]
- ldr r0, [r5, #0xc]
- bl FUN_0204C1A8
- str r6, [sp, #0x0]
- ldr r1, [sp, #0x28]
- str r7, [sp, #0x4]
- str r1, [sp, #0x8]
- ldr r1, [sp, #0x2c]
- ldr r2, [sp, #0x20]
- str r1, [sp, #0xc]
- str r0, [sp, #0x10]
- ldr r0, [sp, #0x30]
- ldr r3, [sp, #0x24]
- str r0, [sp, #0x14]
- mov r0, #0x4
- str r0, [sp, #0x18]
- mov r0, #0x1a
- str r0, [sp, #0x1c]
- ldr r1, [r4, #0x44]
- mov r0, #0x0
- bl FUN_0206C700
- str r0, [r4, #0x60]
- mov r0, #0x6
- str r0, [r4, #0x0]
- b _020383C8
-_02038380:
- mov r0, #0x7
- str r0, [r4, #0x0]
- b _020383C8
-_02038386:
- ldr r0, [r4, #0x60]
- bl FUN_0206C91C
- cmp r0, #0x0
- beq _020383C8
- ldr r0, [r4, #0xc]
- ldr r1, [r4, #0x30]
- bl FUN_0206B9B0
- add r1, r0, #0x0
- ldr r0, [r4, #0x44]
- bl FUN_02069B88
- ldr r0, [r4, #0x60]
- bl FUN_0206C92C
- mov r0, #0x1a
- bl FUN_020168D0
- mov r0, #0x7
- str r0, [r4, #0x0]
- b _020383C8
-_020383B2:
- ldr r0, [r4, #0x38]
- add r0, r0, #0x1
- str r0, [r4, #0x38]
- mov r0, #0x2
- str r0, [r4, #0x0]
- ldr r0, [r5, #0xc]
- bl FUN_02029FC8
- mov r1, #0x10
- bl FUN_0202A170
-_020383C8:
- mov r0, #0x0
- add sp, #0x34
- pop {r4-r7, pc}
- nop
-_020383D0: .word 0x02105DBC
-_020383D4: .word 0x020F2CA4
-
- thumb_func_start FUN_020383D8
-FUN_020383D8: ; 0x020383D8
- push {r4, lr}
- add r4, r0, #0x0
- mov r0, #0x20
- mov r1, #0x68
- bl FUN_02016998
- add r2, r0, #0x0
- mov r0, #0x0
- str r0, [r2, #0x0]
- ldr r1, _020383F4 ; =FUN_020381FC
- add r0, r4, #0x0
- bl FUN_0204640C
- pop {r4, pc}
- .balign 4
-_020383F4: .word FUN_020381FC
-
- thumb_func_start FUN_020383F8
-FUN_020383F8: ; 0x020383F8
- push {r3-r5, lr}
- add r5, r0, #0x0
- mov r0, #0x20
- mov r1, #0xc
- bl FUN_02016998
- add r4, r0, #0x0
- ldr r0, [r5, #0x7c]
- str r0, [r4, #0x0]
- add r0, r5, #0x0
- add r0, #0x98
- ldr r0, [r0, #0x0]
- str r0, [r4, #0x4]
- ldr r0, [r5, #0xc]
- bl LoadPlayerDataAddress
- str r0, [r4, #0x8]
- ldr r1, _02038428 ; =0x020F2C94
- add r0, r5, #0x0
- add r2, r4, #0x0
- bl FUN_020373D4
- pop {r3-r5, pc}
- nop
-_02038428: .word 0x020F2C94
-
- thumb_func_start FUN_0203842C
-FUN_0203842C: ; 0x0203842C
- push {r3-r5, lr}
- add r5, r0, #0x0
- mov r0, #0xb
- mov r1, #0x14
- bl FUN_02016998
- add r4, r0, #0x0
- ldr r0, [r5, #0xc]
- str r0, [r4, #0x0]
- ldr r0, [r5, #0x7c]
- str r0, [r4, #0x4]
- ldr r0, [r5, #0xc]
- bl LoadPlayerDataAddress
- str r0, [r4, #0x8]
- ldr r0, [r5, #0xc]
- bl FUN_02029FC8
- str r0, [r4, #0xc]
- add r0, r5, #0x0
- add r0, #0x98
- ldr r0, [r0, #0x0]
- ldr r1, _02038468 ; =0x020F2D04
- str r0, [r4, #0x10]
- add r0, r5, #0x0
- add r2, r4, #0x0
- bl FUN_020373D4
- add r0, r4, #0x0
- pop {r3-r5, pc}
- .balign 4
-_02038468: .word 0x020F2D04
-
- thumb_func_start FUN_0203846C
-FUN_0203846C: ; 0x0203846C
- ldr r3, _02038474 ; =FUN_020373D4
- add r2, r1, #0x0
- ldr r1, _02038478 ; =0x020F2D54
- bx r3
- .balign 4
-_02038474: .word FUN_020373D4
-_02038478: .word 0x020F2D54
-
- thumb_func_start FUN_0203847C
-FUN_0203847C: ; 0x0203847C
- push {r3-r7, 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, [r4, #0x0]
- cmp r0, #0x3
- bhi _02038544
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_020384A0: ; jump table (using 16-bit offset)
- .short _020384A8 - _020384A0 - 2; case 0
- .short _020384B6 - _020384A0 - 2; case 1
- .short _020384C8 - _020384A0 - 2; case 2
- .short _020384D6 - _020384A0 - 2; case 3
-_020384A8:
- add r0, r5, #0x0
- bl FUN_0204AF3C
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02038544
-_020384B6:
- ldr r1, _02038548 ; =0x020FA5FC
- ldr r2, [r4, #0xc]
- add r0, r5, #0x0
- bl FUN_02046500
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02038544
-_020384C8:
- add r0, r5, #0x0
- bl FUN_0204AF84
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02038544
-_020384D6:
- ldr r1, [r4, #0xc]
- ldr r0, [r1, #0x0]
- cmp r0, #0x1
- bne _020384F2
- ldr r0, [r1, #0x18]
- ldr r1, [r4, #0x10]
- bl FUN_02021CE0
- cmp r0, #0x0
- bne _02038514
- ldr r0, [r4, #0xc]
- mov r1, #0x1
- str r1, [r0, #0x14]
- b _02038514
-_020384F2:
- cmp r0, #0x5
- bne _02038514
- ldr r0, [r1, #0x18]
- bl FUN_02021F2C
- add r7, r0, #0x0
- ldr r0, [r6, #0xc]
- bl FUN_0202881C
- add r1, r7, #0x0
- bl FUN_02028854
- cmp r0, #0x0
- beq _02038514
- ldr r0, [r4, #0xc]
- mov r1, #0x2
- str r1, [r0, #0x14]
-_02038514:
- ldr r0, [r4, #0xc]
- ldr r0, [r0, #0x14]
- cmp r0, #0x0
- bne _02038522
- add r0, r5, #0x0
- bl FUN_0203854C
-_02038522:
- ldr r1, [r4, #0x8]
- cmp r1, #0x0
- beq _0203852E
- ldr r0, [r4, #0xc]
- ldr r0, [r0, #0x14]
- strh r0, [r1, #0x0]
-_0203852E:
- ldr r0, [r4, #0xc]
- bl FUN_02077AC4
- ldr r0, [r4, #0x10]
- bl FUN_02021A20
- add r0, r4, #0x0
- bl FUN_02016A18
- mov r0, #0x1
- pop {r3-r7, pc}
-_02038544:
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-_02038548: .word 0x020FA5FC
-
- thumb_func_start FUN_0203854C
-FUN_0203854C: ; 0x0203854C
- push {r3-r5, lr}
- add r4, r0, #0x0
- bl FUN_02046528
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- ldr r0, [r4, #0xc]
- ldr r0, [r0, #0x0]
- cmp r0, #0x6
- bhi _020385CA
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_02038572: ; jump table (using 16-bit offset)
- .short _02038580 - _02038572 - 2; case 0
- .short _02038590 - _02038572 - 2; case 1
- .short _020385CA - _02038572 - 2; case 2
- .short _020385CA - _02038572 - 2; case 3
- .short _020385CA - _02038572 - 2; case 4
- .short _020385A8 - _02038572 - 2; case 5
- .short _020385BC - _02038572 - 2; case 6
-_02038580:
- ldr r0, [r5, #0xc]
- bl FUN_020238F4
- ldr r1, [r4, #0xc]
- add r1, #0x1c
- bl FUN_0202395C
- pop {r3-r5, pc}
-_02038590:
- ldr r0, [r5, #0xc]
- bl FUN_0206BB1C
- ldr r1, [r4, #0x4]
- bl FUN_0206B9B0
- ldr r2, [r4, #0xc]
- mov r1, #0x75
- add r2, #0x1c
- bl FUN_02067830
- pop {r3-r5, pc}
-_020385A8:
- ldr r0, [r5, #0xc]
- bl FUN_0202881C
- ldr r3, [r4, #0xc]
- mov r1, #0x0
- ldr r3, [r3, #0x18]
- add r2, r1, #0x0
- bl FUN_020287C0
- pop {r3-r5, pc}
-_020385BC:
- ldr r0, [r5, #0xc]
- bl FUN_02024EB4
- ldr r1, [r4, #0xc]
- ldr r1, [r1, #0x18]
- bl FUN_02024F18
-_020385CA:
- pop {r3-r5, pc}
-
- thumb_func_start FUN_020385CC
-FUN_020385CC: ; 0x020385CC
- push {r3-r7, lr}
- sub sp, #0x10
- str r0, [sp, #0x4]
- add r6, r1, #0x0
- str r2, [sp, #0x8]
- str r3, [sp, #0xc]
- ldr r5, [sp, #0x2c]
- bl FUN_02046528
- add r7, r0, #0x0
- mov r0, #0xb
- mov r1, #0x14
- bl FUN_020169D8
- add r4, r0, #0x0
- mov r0, #0x0
- str r0, [r4, #0x0]
- ldr r0, [sp, #0x28]
- str r0, [r4, #0x4]
- ldr r0, [sp, #0x30]
- str r0, [r4, #0x8]
- ldr r0, [r7, #0xc]
- bl LoadPlayerDataAddress
- str r0, [sp, #0x0]
- ldr r2, [sp, #0x8]
- ldr r3, [sp, #0xc]
- mov r0, #0xb
- add r1, r6, #0x0
- bl FUN_02077A84
- str r0, [r4, #0xc]
- mov r0, #0xc
- mov r1, #0xb
- bl FUN_020219F4
- str r0, [r4, #0x10]
- cmp r6, #0x1
- beq _02038620
- cmp r6, #0x5
- beq _02038656
- b _02038660
-_02038620:
- ldr r0, [r7, #0xc]
- bl FUN_0206BB1C
- ldr r1, [r4, #0x4]
- bl FUN_0206B9B0
- mov r1, #0x6f
- mov r2, #0x0
- add r6, r0, #0x0
- bl FUN_020671BC
- ldr r1, [r4, #0xc]
- mov r2, #0x0
- str r0, [r1, #0x10]
- add r0, r6, #0x0
- mov r1, #0x70
- bl FUN_020671BC
- ldr r1, [r4, #0xc]
- cmp r5, #0x0
- str r0, [r1, #0x8]
- beq _0203866E
- ldr r0, [r4, #0x10]
- add r1, r5, #0x0
- bl FUN_02021E28
- b _0203866E
-_02038656:
- ldr r0, [r4, #0x10]
- add r1, r5, #0x0
- bl FUN_02021E28
- b _0203866E
-_02038660:
- cmp r5, #0x0
- beq _0203866E
- ldr r0, [r4, #0xc]
- add r1, r5, #0x0
- ldr r0, [r0, #0x18]
- bl FUN_02021E28
-_0203866E:
- ldr r0, [sp, #0x4]
- ldr r1, _0203867C ; =FUN_0203847C
- add r2, r4, #0x0
- bl FUN_0204640C
- add sp, #0x10
- pop {r3-r7, pc}
- .balign 4
-_0203867C: .word FUN_0203847C
-
- thumb_func_start FUN_02038680
-FUN_02038680: ; 0x02038680
- ldr r3, _02038688 ; =FUN_020373D4
- add r2, r1, #0x0
- ldr r1, _0203868C ; =0x020F2C54
- bx r3
- .balign 4
-_02038688: .word FUN_020373D4
-_0203868C: .word 0x020F2C54
-
- thumb_func_start FUN_02038690
-FUN_02038690: ; 0x02038690
- push {r3, lr}
- add r2, r1, #0x0
- ldr r1, _020386A0 ; =0x020F2C44
- bl FUN_020373D4
- mov r0, #0x1
- pop {r3, pc}
- nop
-_020386A0: .word 0x020F2C44
-
- thumb_func_start FUN_020386A4
-FUN_020386A4: ; 0x020386A4
- ldr r3, _020386AC ; =FUN_020373D4
- add r2, r1, #0x0
- ldr r1, _020386B0 ; =0x020F2C34
- bx r3
- .balign 4
-_020386AC: .word FUN_020373D4
-_020386B0: .word 0x020F2C34
-
- thumb_func_start FUN_020386B4
-FUN_020386B4: ; 0x020386B4
- push {r3-r5, lr}
- sub sp, #0x10
- add r4, r0, #0x0
- ldr r0, [r4, #0xc]
- bl FUN_02029ABC
- ldr r5, _020386DC ; =0x020F2C24
- add r3, sp, #0x0
- add r2, r3, #0x0
- ldmia r5!, {r0-r1}
- stmia r3!, {r0-r1}
- ldmia r5!, {r0-r1}
- stmia r3!, {r0-r1}
- add r1, r2, #0x0
- ldr r2, [r4, #0xc]
- add r0, r4, #0x0
- bl FUN_020373D4
- add sp, #0x10
- pop {r3-r5, pc}
- .balign 4
-_020386DC: .word 0x020F2C24
-
- thumb_func_start FUN_020386E0
-FUN_020386E0: ; 0x020386E0
- push {r4-r6, lr}
- sub sp, #0x10
- ldr r3, _0203878C ; =0x020F2C64
- add r2, sp, #0x0
- add r5, r0, #0x0
- add r6, r1, #0x0
- ldmia r3!, {r0-r1}
- stmia r2!, {r0-r1}
- ldmia r3!, {r0-r1}
- stmia r2!, {r0-r1}
- mov r0, #0xb
- mov r1, #0x44
- bl FUN_020169D8
- add r4, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_0202ABBC
- str r0, [r4, #0x0]
- ldr r0, [r5, #0xc]
- bl FUN_02023788
- str r0, [r4, #0x4]
- ldr r0, [r5, #0xc]
- mov r1, #0x2
- bl FUN_02022610
- str r0, [r4, #0x8]
- ldr r0, [r5, #0xc]
- bl FUN_02022510
- str r0, [r4, #0xc]
- ldr r0, [r5, #0xc]
- bl FUN_02024DA0
- str r0, [r4, #0x10]
- ldr r0, [r5, #0xc]
- bl FUN_020286EC
- str r0, [r4, #0x14]
- ldr r0, [r5, #0xc]
- bl FUN_02029AFC
- str r0, [r4, #0x18]
- ldr r0, [r5, #0xc]
- bl FUN_020238F4
- str r0, [r4, #0x1c]
- ldr r0, [r5, #0xc]
- bl LoadPlayerDataAddress
- str r0, [r4, #0x24]
- ldr r0, [r5, #0xc]
- bl FUN_02029FC8
- str r0, [r4, #0x28]
- add r0, r5, #0x0
- add r0, #0x98
- ldr r0, [r0, #0x0]
- str r0, [r4, #0x2c]
- ldr r0, [r5, #0xc]
- bl FUN_02079C70
- str r0, [r4, #0x3c]
- ldr r0, [r5, #0xc]
- str r0, [r4, #0x20]
- ldr r0, [r5, #0xc]
- bl FUN_0206BB28
- str r0, [r4, #0x34]
- ldr r0, [r4, #0x14]
- bl FUN_02033830
- str r0, [r4, #0x38]
- ldr r0, [r5, #0xc]
- bl FUN_0206F158
- str r0, [r4, #0x30]
- add r0, r5, #0x0
- add r1, sp, #0x0
- add r2, r4, #0x0
- str r6, [r4, #0x40]
- bl FUN_020373D4
- add sp, #0x10
- pop {r4-r6, pc}
- .balign 4
-_0203878C: .word 0x020F2C64
-
- thumb_func_start FUN_02038790
-FUN_02038790: ; 0x02038790
- push {r3-r7, lr}
- sub sp, #0x10
- ldr r3, _02038800 ; =0x020F2C74
- add r7, r2, #0x0
- add r2, sp, #0x0
- add r5, r0, #0x0
- add r6, r1, #0x0
- ldmia r3!, {r0-r1}
- stmia r2!, {r0-r1}
- ldmia r3!, {r0-r1}
- stmia r2!, {r0-r1}
- mov r0, #0xb
- mov r1, #0x28
- bl FUN_020169D8
- add r4, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_0202A8D8
- str r0, [r4, #0x0]
- ldr r0, [r5, #0xc]
- bl FUN_0202A8E4
- str r0, [r4, #0x4]
- ldr r0, [r5, #0xc]
- bl FUN_02023788
- str r0, [r4, #0x8]
- ldr r0, [r5, #0xc]
- bl LoadPlayerDataAddress
- str r0, [r4, #0x10]
- ldr r0, [r5, #0xc]
- bl FUN_020286EC
- bl FUN_02028228
- str r0, [r4, #0x14]
- ldr r0, [r5, #0xc]
- str r0, [r4, #0xc]
- ldr r0, [r5, #0xc]
- bl FUN_020286EC
- bl FUN_02033830
- str r0, [r4, #0x1c]
- str r6, [r4, #0x18]
- add r0, r5, #0x0
- add r1, sp, #0x0
- add r2, r4, #0x0
- str r7, [r4, #0x24]
- bl FUN_020373D4
- add r0, r4, #0x0
- add sp, #0x10
- pop {r3-r7, pc}
- .balign 4
-_02038800: .word 0x020F2C74
-
- thumb_func_start FUN_02038804
-FUN_02038804: ; 0x02038804
- ldr r3, _0203880C ; =FUN_020373D4
- ldr r1, _02038810 ; =0x020F2D14
- ldr r2, [r0, #0xc]
- bx r3
- .balign 4
-_0203880C: .word FUN_020373D4
-_02038810: .word 0x020F2D14
-
- thumb_func_start FUN_02038814
-FUN_02038814: ; 0x02038814
- ldr r3, _0203881C ; =FUN_020373D4
- add r2, r1, #0x0
- ldr r1, _02038820 ; =0x020F2D64
- bx r3
- .balign 4
-_0203881C: .word FUN_020373D4
-_02038820: .word 0x020F2D64
-
- thumb_func_start FUN_02038824
-FUN_02038824: ; 0x02038824
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0xc]
- mov r1, #0xb
- add r2, sp, #0x0
- bl FUN_02022534
- ldr r1, [sp, #0x0]
- add r4, r0, #0x0
- cmp r1, #0x2
- bne _02038842
- bl FUN_02016A18
- mov r0, #0x0
- pop {r3-r5, pc}
-_02038842:
- ldr r1, _02038850 ; =0x020F2BF4
- add r0, r5, #0x0
- add r2, r4, #0x0
- bl FUN_020373D4
- add r0, r4, #0x0
- pop {r3-r5, pc}
- .balign 4
-_02038850: .word 0x020F2BF4
-
- thumb_func_start FUN_02038854
-FUN_02038854: ; 0x02038854
- ldr r3, _0203885C ; =FUN_020373D4
- add r2, r1, #0x0
- ldr r1, _02038860 ; =0x020F2C04
- bx r3
- .balign 4
-_0203885C: .word FUN_020373D4
-_02038860: .word 0x020F2C04
-
- thumb_func_start FUN_02038864
-FUN_02038864: ; 0x02038864
- push {r4-r6, lr}
- sub sp, #0x10
- ldr r5, _02038888 ; =0x020F2C84
- add r4, sp, #0x0
- add r6, r0, #0x0
- add r2, r1, #0x0
- add r3, r4, #0x0
- ldmia r5!, {r0-r1}
- stmia r4!, {r0-r1}
- ldmia r5!, {r0-r1}
- stmia r4!, {r0-r1}
- add r0, r6, #0x0
- add r1, r3, #0x0
- bl FUN_020373D4
- add sp, #0x10
- pop {r4-r6, pc}
- nop
-_02038888: .word 0x020F2C84
-
- thumb_func_start FUN_0203888C
-FUN_0203888C: ; 0x0203888C
- push {r4-r6, lr}
- sub sp, #0x10
- ldr r5, _020388B0 ; =0x020F2D84
- add r4, sp, #0x0
- add r6, r0, #0x0
- add r2, r1, #0x0
- add r3, r4, #0x0
- ldmia r5!, {r0-r1}
- stmia r4!, {r0-r1}
- ldmia r5!, {r0-r1}
- stmia r4!, {r0-r1}
- add r0, r6, #0x0
- add r1, r3, #0x0
- bl FUN_020373D4
- add sp, #0x10
- pop {r4-r6, pc}
- nop
-_020388B0: .word 0x020F2D84
-
- thumb_func_start FUN_020388B4
-FUN_020388B4: ; 0x020388B4
- push {r3-r5, lr}
- sub sp, #0x10
- add r4, r0, #0x0
- ldr r0, [r4, #0xc]
- bl FUN_0206BB1C
- bl FUN_021ED49C
- add r5, r0, #0x0
- bne _020388CC
- bl ErrorHandling
-_020388CC:
- add r0, r4, #0x0
- add r1, r5, #0x0
- bl FUN_020613CC
- str r5, [sp, #0x0]
- ldr r0, [r4, #0xc]
- bl LoadPlayerDataAddress
- str r0, [sp, #0x4]
- ldr r0, [r4, #0xc]
- bl FUN_020238F4
- str r0, [sp, #0x8]
- ldr r1, [r4, #0x1c]
- add r0, r4, #0x0
- ldr r1, [r1, #0x0]
- bl FUN_0204AB58
- add r1, sp, #0x0
- strh r0, [r1, #0xc]
- ldr r0, [r4, #0x10]
- add r1, sp, #0x0
- bl FUN_020863DC
- add sp, #0x10
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02038900
-FUN_02038900: ; 0x02038900
- push {r3, lr}
- add r2, r1, #0x0
- ldr r1, _02038910 ; =0x020F2C14
- bl FUN_020373D4
- mov r0, #0x1
- pop {r3, pc}
- nop
-_02038910: .word 0x020F2C14
-
- thumb_func_start FUN_02038914
-FUN_02038914: ; 0x02038914
- push {r4-r7, lr}
- sub sp, #0xc
- add r6, r0, #0x0
- bl FUN_02046528
- add r4, r0, #0x0
- ldr r0, [r4, #0xc]
- bl FUN_020462AC
- add r7, r0, #0x0
- add r0, r6, #0x0
- bl FUN_0204652C
- add r5, r0, #0x0
- add r0, r6, #0x0
- bl FUN_02046530
- add r6, r0, #0x0
- ldr r0, [r6, #0x0]
- cmp r0, #0x0
- beq _02038944
- cmp r0, #0x1
- beq _02038956
- b _020389C6
-_02038944:
- add r5, #0xc
- add r0, r4, #0x0
- add r1, r5, #0x0
- bl FUN_02038900
- ldr r0, [r6, #0x0]
- add r0, r0, #0x1
- str r0, [r6, #0x0]
- b _020389C6
-_02038956:
- add r0, r4, #0x0
- bl FUN_0204647C
- cmp r0, #0x0
- bne _020389C6
- ldr r0, [r4, #0xc]
- bl FUN_0202390C
- str r0, [sp, #0x0]
- bl FUN_020126FC
- str r0, [sp, #0x4]
- ldr r0, [sp, #0x0]
- add r6, r1, #0x0
- bl FUN_02028930
- str r0, [sp, #0x8]
- ldr r0, [r5, #0x4]
- ldr r1, [r5, #0x8]
- ldr r2, [sp, #0x4]
- add r3, r6, #0x0
- bl FUN_020127C0
- mov r2, #0x3c
- mov r3, #0x0
- blx _ll_sdiv
- add r3, r0, #0x0
- ldr r1, [sp, #0x8]
- ldr r2, [r5, #0x0]
- add r0, r4, #0x0
- bl FUN_02061A8C
- ldr r0, [r4, #0xc]
- bl FUN_0202390C
- ldr r1, [r5, #0x0]
- bl FUN_02028918
- add r0, r7, #0x0
- bl FUN_0205F6C8
- ldr r1, [r5, #0x18]
- cmp r1, r0
- ble _020389BA
- lsl r1, r1, #0x10
- add r0, r7, #0x0
- lsr r1, r1, #0x10
- bl FUN_0205F6D8
-_020389BA:
- add r0, r5, #0x0
- bl FUN_02016A18
- add sp, #0xc
- mov r0, #0x1
- pop {r4-r7, pc}
-_020389C6:
- mov r0, #0x0
- add sp, #0xc
- pop {r4-r7, pc}
-
- thumb_func_start FUN_020389CC
-FUN_020389CC: ; 0x020389CC
- push {r3-r7, lr}
- add r7, r0, #0x0
- add r6, r1, #0x0
- bl FUN_02046528
- add r5, r0, #0x0
- ldr r0, [r5, #0xc]
- bl LoadPlayerDataAddress
- str r0, [sp, #0x0]
- mov r0, #0x20
- add r1, r0, #0x0
- bl FUN_02016998
- add r4, r0, #0x0
- str r4, [r4, #0xc]
- ldr r0, [r5, #0xc]
- bl FUN_0202390C
- bl FUN_02028930
- str r0, [r4, #0x0]
- bl FUN_020126FC
- str r0, [r4, #0x4]
- str r1, [r4, #0x8]
- ldr r0, [r5, #0xc]
- bl FUN_02029FC8
- str r0, [r4, #0x14]
- mov r0, #0x0
- str r0, [r4, #0x18]
- ldr r0, [sp, #0x0]
- bl FUN_02025084
- str r0, [r4, #0x1c]
- lsl r1, r6, #0x18
- ldr r0, [r5, #0xc]
- lsr r1, r1, #0x18
- bl FUN_02038A3C
- str r0, [r4, #0x10]
- ldr r0, [r5, #0xc]
- bl FUN_02029FC8
- mov r1, #0x5
- bl FUN_0202A170
- ldr r1, _02038A38 ; =FUN_02038914
- add r0, r7, #0x0
- add r2, r4, #0x0
- bl FUN_0204640C
- pop {r3-r7, pc}
- .balign 4
-_02038A38: .word FUN_02038914
-
- thumb_func_start FUN_02038A3C
-FUN_02038A3C: ; 0x02038A3C
- push {r4-r7, lr}
- sub sp, #0x14
- str r1, [sp, #0x0]
- bl FUN_0202881C
- add r4, r0, #0x0
- bl FUN_0201B9D4
- str r0, [sp, #0x4]
- add r0, r4, #0x0
- bl FUN_020287A4
- bl FUN_0201B9E0
- ldr r0, _02038AAC ; =0x020F2BE8
- add r1, sp, #0x8
- mov r2, #0xc
- blx MI_CpuCopy8
- mov r4, #0x0
- mov r7, #0xc
- add r6, sp, #0x8
-_02038A68:
- add r0, r4, #0x1
- lsl r0, r0, #0x18
- lsr r5, r0, #0x18
- cmp r5, #0xc
- bhs _02038A92
-_02038A72:
- bl FUN_0201B9EC
- add r1, r7, #0x0
- blx _s32_div_f
- lsl r0, r1, #0x18
- lsr r2, r0, #0x18
- ldrb r1, [r6, r4]
- ldrb r0, [r6, r2]
- strb r0, [r6, r4]
- add r0, r5, #0x1
- lsl r0, r0, #0x18
- lsr r5, r0, #0x18
- strb r1, [r6, r2]
- cmp r5, #0xc
- blo _02038A72
-_02038A92:
- add r0, r4, #0x1
- lsl r0, r0, #0x18
- lsr r4, r0, #0x18
- cmp r4, #0xc
- blo _02038A68
- ldr r0, [sp, #0x4]
- bl FUN_0201B9E0
- ldr r0, [sp, #0x0]
- add r1, sp, #0x8
- ldrb r0, [r1, r0]
- add sp, #0x14
- pop {r4-r7, pc}
- .balign 4
-_02038AAC: .word 0x020F2BE8
-
- thumb_func_start FUN_02038AB0
-FUN_02038AB0: ; 0x02038AB0
- push {r4, lr}
- bl FUN_0204652C
- add r4, r0, #0x0
- bl FUN_0224D79C
- cmp r0, #0x1
- bne _02038ACA
- add r0, r4, #0x0
- bl FUN_0224D76C
- mov r0, #0x1
- pop {r4, pc}
-_02038ACA:
- mov r0, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02038AD0
-FUN_02038AD0: ; 0x02038AD0
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_02046528
- add r2, r0, #0x0
- ldr r1, [r2, #0xc]
- ldr r2, [r2, #0x8]
- mov r0, #0x4
- bl FUN_0224D70C
- add r2, r0, #0x0
- ldr r1, _02038AF0 ; =FUN_02038AB0
- add r0, r4, #0x0
- bl FUN_0204640C
- pop {r4, pc}
- .balign 4
-_02038AF0: .word FUN_02038AB0
-
- thumb_func_start FUN_02038AF4
-FUN_02038AF4: ; 0x02038AF4
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r0, r1, #0x0
- mov r1, #0x8
- add r6, r2, #0x0
- bl FUN_02016998
- add r4, r0, #0x0
- str r6, [r4, #0x4]
- ldr r0, [r5, #0xc]
- ldr r1, _02038B18 ; =0x020F2DA4
- str r0, [r4, #0x0]
- add r0, r5, #0x0
- add r2, r4, #0x0
- bl FUN_020373D4
- add r0, r4, #0x0
- pop {r4-r6, pc}
- .balign 4
-_02038B18: .word 0x020F2DA4
diff --git a/asm/unk_02038C78.s b/asm/unk_02038C78.s
deleted file mode 100644
index 785e5b48..00000000
--- a/asm/unk_02038C78.s
+++ /dev/null
@@ -1,1744 +0,0 @@
- .include "asm/macros.inc"
- .include "global.inc"
-
- .text
-
- thumb_func_start FUN_02038C78
-FUN_02038C78: ; 0x02038C78
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r6, r1, #0x0
- add r7, r2, #0x0
- bl FUN_02038E20
- add r4, r0, #0x0
- mov r0, #0x0
- str r0, [sp, #0x0]
- add r0, r5, #0x0
- add r1, r4, #0x0
- add r2, r6, #0x0
- add r3, r7, #0x0
- bl FUN_02038E60
- ldr r1, _02038CA4 ; =FUN_02038D48
- add r0, r5, #0x0
- add r2, r4, #0x0
- bl FUN_020463CC
- pop {r3-r7, pc}
- nop
-_02038CA4: .word FUN_02038D48
-
- thumb_func_start FUN_02038CA8
-FUN_02038CA8: ; 0x02038CA8
- push {r4-r6, lr}
- ldr r0, [r0, #0x10]
- add r5, r1, #0x0
- add r4, r2, #0x0
- add r6, r3, #0x0
- bl FUN_0204652C
- ldr r2, [sp, #0x1c]
- mov r1, #0x1c
- add r3, r2, #0x0
- add r0, #0x50
- mul r3, r1
- add r1, r0, r3
- str r4, [r0, r3]
- ldr r0, [sp, #0x10]
- str r6, [r1, #0x4]
- str r0, [r1, #0x8]
- ldr r0, [sp, #0x14]
- str r0, [r1, #0xc]
- ldr r0, [sp, #0x18]
- str r0, [r1, #0x10]
- str r5, [r1, #0x14]
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02038CD8
-FUN_02038CD8: ; 0x02038CD8
- push {r4-r7, lr}
- sub sp, #0xc
- add r6, r0, #0x0
- add r7, r1, #0x0
- str r2, [sp, #0x4]
- add r5, r3, #0x0
- bl FUN_02046528
- str r0, [sp, #0x8]
- bl FUN_02038E20
- add r4, r0, #0x0
- ldr r0, [sp, #0x8]
- ldr r3, [sp, #0x4]
- add r1, r4, #0x0
- add r2, r7, #0x0
- str r5, [sp, #0x0]
- bl FUN_02038E60
- ldr r1, _02038D0C ; =FUN_02038D48
- add r0, r6, #0x0
- add r2, r4, #0x0
- bl FUN_0204640C
- add sp, #0xc
- pop {r4-r7, pc}
- .balign 4
-_02038D0C: .word FUN_02038D48
-
- thumb_func_start FUN_02038D10
-FUN_02038D10: ; 0x02038D10
- push {r3-r7, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- add r6, r1, #0x0
- add r7, r2, #0x0
- bl FUN_02046528
- str r0, [sp, #0x4]
- bl FUN_02038E20
- add r4, r0, #0x0
- mov r0, #0x0
- str r0, [sp, #0x0]
- ldr r0, [sp, #0x4]
- add r1, r4, #0x0
- add r2, r6, #0x0
- add r3, r7, #0x0
- bl FUN_02038E60
- ldr r1, _02038D44 ; =FUN_02038D48
- add r0, r5, #0x0
- add r2, r4, #0x0
- bl FUN_020463EC
- add sp, #0x8
- pop {r3-r7, pc}
- .balign 4
-_02038D44: .word FUN_02038D48
-
- thumb_func_start FUN_02038D48
-FUN_02038D48: ; 0x02038D48
- push {r3-r7, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02046528
- ldrb r1, [r4, #0x4]
- str r0, [sp, #0x0]
- cmp r1, #0x0
- beq _02038D68
- cmp r1, #0x1
- beq _02038D9E
- b _02038E1A
-_02038D68:
- ldrh r1, [r4, #0xa]
- bl FUN_02038EB0
- str r0, [r4, #0x38]
- mov r0, #0x1
- strb r0, [r4, #0x9]
- mov r0, #0x8
- mov r1, #0x40
- mov r2, #0xb
- bl FUN_0200AA90
- str r0, [r4, #0x40]
- mov r0, #0x1
- lsl r0, r0, #0xa
- mov r1, #0xb
- bl FUN_020219F4
- str r0, [r4, #0x44]
- mov r0, #0x1
- lsl r0, r0, #0xa
- mov r1, #0xb
- bl FUN_020219F4
- str r0, [r4, #0x48]
- ldrb r0, [r4, #0x4]
- add r0, r0, #0x1
- strb r0, [r4, #0x4]
-_02038D9E:
- mov r0, #0x0
- add r7, r4, #0x0
- str r0, [sp, #0x4]
- add r5, r4, #0x0
- add r7, #0x9
-_02038DA8:
- ldr r6, [r5, #0x38]
- cmp r6, #0x0
- beq _02038DD2
- add r0, r6, #0x0
- bl RunScriptCommand
- cmp r0, #0x0
- bne _02038DD2
- add r0, r6, #0x0
- bl FUN_02038E48
- ldrb r0, [r4, #0x9]
- cmp r0, #0x0
- bne _02038DC8
- bl ErrorHandling
-_02038DC8:
- mov r0, #0x0
- str r0, [r5, #0x38]
- ldrb r0, [r7, #0x0]
- sub r0, r0, #0x1
- strb r0, [r7, #0x0]
-_02038DD2:
- ldr r0, [sp, #0x4]
- add r5, r5, #0x4
- add r0, r0, #0x1
- str r0, [sp, #0x4]
- cmp r0, #0x2
- blt _02038DA8
- ldrb r0, [r4, #0x9]
- cmp r0, #0x0
- bne _02038E1A
- add r0, r4, #0x0
- add r0, #0xa4
- ldr r5, [r0, #0x0]
- ldr r0, [r4, #0x40]
- bl FUN_0200AB18
- ldr r0, [r4, #0x44]
- bl FUN_02021A20
- ldr r0, [r4, #0x48]
- bl FUN_02021A20
- mov r0, #0x0
- str r0, [r4, #0x0]
- add r0, r4, #0x0
- bl FUN_02016A18
- cmp r5, #0x0
- beq _02038E14
- ldr r0, [sp, #0x0]
- blx r5
- add sp, #0x8
- mov r0, #0x0
- pop {r3-r7, pc}
-_02038E14:
- add sp, #0x8
- mov r0, #0x1
- pop {r3-r7, pc}
-_02038E1A:
- mov r0, #0x0
- add sp, #0x8
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02038E20
-FUN_02038E20: ; 0x02038E20
- push {r4, lr}
- mov r0, #0xb
- mov r1, #0xdc
- bl FUN_02016998
- add r4, r0, #0x0
- bne _02038E32
- bl ErrorHandling
-_02038E32:
- add r0, r4, #0x0
- mov r1, #0x0
- mov r2, #0xdc
- blx Call_FillMemWithValue
- ldr r0, _02038E44 ; =0x0003643F
- str r0, [r4, #0x0]
- add r0, r4, #0x0
- pop {r4, pc}
- .balign 4
-_02038E44: .word 0x0003643F
-
- thumb_func_start FUN_02038E48
-FUN_02038E48: ; 0x02038E48
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x78]
- bl FUN_0200A8B8
- ldr r0, [r4, #0x7c]
- bl FUN_02016A18
- add r0, r4, #0x0
- bl FUN_02016A18
- pop {r4, pc}
-
- thumb_func_start FUN_02038E60
-FUN_02038E60: ; 0x02038E60
- push {r3-r7, lr}
- add r5, r1, #0x0
- add r7, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0x36
- add r4, r2, #0x0
- add r6, r3, #0x0
- bl FUN_02039300
- str r0, [sp, #0x0]
- ldr r0, [r7, #0x38]
- bl FUN_020552F8
- str r0, [r5, #0x28]
- str r6, [r5, #0x2c]
- ldr r0, [sp, #0x18]
- strh r4, [r5, #0xa]
- str r0, [r5, #0x34]
- cmp r6, #0x0
- beq _02038E92
- add r0, r6, #0x0
- bl FUN_02058448
- ldr r1, [sp, #0x0]
- strh r0, [r1, #0x0]
-_02038E92:
- mov r0, #0x7d
- lsl r0, r0, #0x6
- cmp r4, r0
- blo _02038EA8
- ldr r0, _02038EAC ; =0x0000225F
- cmp r4, r0
- bhi _02038EA8
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_020396E8
-_02038EA8:
- pop {r3-r7, pc}
- nop
-_02038EAC: .word 0x0000225F
-
- thumb_func_start FUN_02038EB0
-FUN_02038EB0: ; 0x02038EB0
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r6, r1, #0x0
- mov r0, #0xb
- mov r1, #0x84
- bl FUN_02016998
- add r4, r0, #0x0
- bne _02038EC6
- bl ErrorHandling
-_02038EC6:
- ldr r2, _02038EE4 ; =0x020F34DC
- ldr r1, _02038EE8 ; =gScriptCmdTable
- ldr r2, [r2, #0x0]
- add r0, r4, #0x0
- bl InitScriptContext
- add r0, r5, #0x0
- add r1, r4, #0x0
- add r2, r6, #0x0
- mov r3, #0x0
- bl FUN_02038EEC
- add r0, r4, #0x0
- pop {r4-r6, pc}
- nop
-_02038EE4: .word 0x020F34DC
-_02038EE8: .word gScriptCmdTable
-
- thumb_func_start FUN_02038EEC
-FUN_02038EEC: ; 0x02038EEC
- push {r4-r6, lr}
- add r4, r1, #0x0
- add r3, r4, #0x0
- add r5, r0, #0x0
- add r3, #0x80
- str r5, [r3, #0x0]
- bl FUN_02038F18
- add r6, r0, #0x0
- ldr r1, [r4, #0x7c]
- add r0, r4, #0x0
- bl SetupBytecodeScript
- add r0, r4, #0x0
- add r1, r6, #0x0
- bl FUN_02039484
- ldr r1, [r5, #0x10]
- add r0, r4, #0x0
- bl FUN_02038B6C
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02038F18
-FUN_02038F18: ; 0x02038F18
- push {r3-r5, lr}
- ldr r3, _02039210 ; =0x0000283C
- add r4, r2, #0x0
- cmp r4, r3
- blo _02038F36
- mov r3, #0x1f
- ldr r2, _02039214 ; =0x000003D1
- lsl r3, r3, #0x4
- bl FUN_020392B4
- ldr r0, _02039210 ; =0x0000283C
- sub r0, r4, r0
- lsl r0, r0, #0x10
- lsr r4, r0, #0x10
- b _0203920A
-_02038F36:
- add r2, r3, #0x0
- sub r2, #0x64
- cmp r4, r2
- blo _02038F52
- ldr r2, _02039218 ; =0x00000175
- add r3, r2, #0x0
- sub r3, #0x29
- bl FUN_020392B4
- ldr r0, _0203921C ; =0x000027D8
- sub r0, r4, r0
- lsl r0, r0, #0x10
- lsr r4, r0, #0x10
- b _0203920A
-_02038F52:
- add r2, r3, #0x0
- sub r2, #0x96
- cmp r4, r2
- blo _02038F6C
- ldr r2, _02039220 ; =0x00000412
- ldr r3, _02039224 ; =0x00000232
- bl FUN_020392B4
- ldr r0, _02039228 ; =0x000027A6
- sub r0, r4, r0
- lsl r0, r0, #0x10
- lsr r4, r0, #0x10
- b _0203920A
-_02038F6C:
- sub r3, #0xc8
- cmp r4, r3
- blo _02038F84
- ldr r2, _0203922C ; =0x00000411
- ldr r3, _02039230 ; =0x00000233
- bl FUN_020392B4
- ldr r0, _02039234 ; =0x00002774
- sub r0, r4, r0
- lsl r0, r0, #0x10
- lsr r4, r0, #0x10
- b _0203920A
-_02038F84:
- ldr r3, _02039238 ; =0x00002710
- cmp r4, r3
- blo _02038F9E
- ldr r2, _0203923C ; =0x00000177
- add r3, r2, #0x0
- sub r3, #0x29
- bl FUN_020392B4
- ldr r0, _02039238 ; =0x00002710
- sub r0, r4, r0
- lsl r0, r0, #0x10
- lsr r4, r0, #0x10
- b _0203920A
-_02038F9E:
- add r2, r3, #0x0
- sub r2, #0x32
- cmp r4, r2
- blo _02038FBC
- mov r2, #0x5e
- lsl r2, r2, #0x2
- add r3, r2, #0x0
- sub r3, #0x29
- bl FUN_020392B4
- ldr r0, _02039240 ; =0x000026DE
- sub r0, r4, r0
- lsl r0, r0, #0x10
- lsr r4, r0, #0x10
- b _0203920A
-_02038FBC:
- add r2, r3, #0x0
- sub r2, #0x64
- cmp r4, r2
- blo _02038FD6
- ldr r2, _02039244 ; =0x0000016D
- mov r3, #0xc7
- bl FUN_020392B4
- ldr r0, _02039248 ; =0x000026AC
- sub r0, r4, r0
- lsl r0, r0, #0x10
- lsr r4, r0, #0x10
- b _0203920A
-_02038FD6:
- add r2, r3, #0x0
- sub r2, #0xc8
- cmp r4, r2
- blo _02038FF0
- mov r2, #0xce
- mov r3, #0xcb
- bl FUN_020392B4
- ldr r0, _0203924C ; =0x00002648
- sub r0, r4, r0
- lsl r0, r0, #0x10
- lsr r4, r0, #0x10
- b _0203920A
-_02038FF0:
- ldr r5, _02039250 ; =0x000025E4
- cmp r4, r5
- blo _0203900A
- ldr r2, _02039254 ; =0x00000183
- add r3, r2, #0x0
- sub r3, #0x9
- bl FUN_020392B4
- add r0, r5, #0x0
- sub r0, r4, r0
- lsl r0, r0, #0x10
- lsr r4, r0, #0x10
- b _0203920A
-_0203900A:
- add r2, r5, #0x0
- sub r2, #0x64
- cmp r4, r2
- blo _02039026
- ldr r2, _02039258 ; =0x00000179
- mov r3, #0xc7
- bl FUN_020392B4
- add r0, r5, #0x0
- sub r0, #0x64
- sub r0, r4, r0
- lsl r0, r0, #0x10
- lsr r4, r0, #0x10
- b _0203920A
-_02039026:
- sub r5, #0xc8
- cmp r4, r5
- blo _02039042
- mov r2, #0x1d
- lsl r2, r2, #0x4
- add r3, r2, #0x0
- add r3, #0x1c
- bl FUN_020392B4
- ldr r0, _0203925C ; =0x0000251C
- sub r0, r4, r0
- lsl r0, r0, #0x10
- lsr r4, r0, #0x10
- b _0203920A
-_02039042:
- ldr r5, _02039260 ; =0x000024B8
- cmp r4, r5
- blo _0203905C
- ldr r2, _02039264 ; =0x00000187
- add r3, r2, #0x0
- sub r3, #0xa
- bl FUN_020392B4
- add r0, r5, #0x0
- sub r0, r4, r0
- lsl r0, r0, #0x10
- lsr r4, r0, #0x10
- b _0203920A
-_0203905C:
- add r2, r5, #0x0
- sub r2, #0x64
- cmp r4, r2
- blo _0203907C
- mov r2, #0x5d
- lsl r2, r2, #0x2
- add r3, r2, #0x0
- sub r3, #0x2b
- bl FUN_020392B4
- add r0, r5, #0x0
- sub r0, #0x64
- sub r0, r4, r0
- lsl r0, r0, #0x10
- lsr r4, r0, #0x10
- b _0203920A
-_0203907C:
- sub r5, #0xc8
- cmp r4, r5
- blo _02039098
- mov r2, #0x61
- lsl r2, r2, #0x2
- add r3, r2, #0x0
- sub r3, #0x9
- bl FUN_020392B4
- ldr r0, _02039268 ; =0x000023F0
- sub r0, r4, r0
- lsl r0, r0, #0x10
- lsr r4, r0, #0x10
- b _0203920A
-_02039098:
- ldr r2, _0203926C ; =0x0000238C
- cmp r4, r2
- blo _020390B0
- mov r2, #0x0
- mov r3, #0x9
- bl FUN_020392B4
- ldr r0, _0203926C ; =0x0000238C
- sub r0, r4, r0
- lsl r0, r0, #0x10
- lsr r4, r0, #0x10
- b _0203920A
-_020390B0:
- add r5, r2, #0x0
- sub r5, #0x64
- cmp r4, r5
- blo _020390CA
- mov r2, #0xcf
- add r3, r2, #0x0
- bl FUN_020392B4
- ldr r0, _02039270 ; =0x00002328
- sub r0, r4, r0
- lsl r0, r0, #0x10
- lsr r4, r0, #0x10
- b _0203920A
-_020390CA:
- add r5, r2, #0x0
- sub r5, #0x82
- cmp r4, r5
- blo _020390E4
- ldr r2, _02039274 ; =0x00000186
- mov r3, #0x7
- bl FUN_020392B4
- ldr r0, _02039278 ; =0x0000230A
- sub r0, r4, r0
- lsl r0, r0, #0x10
- lsr r4, r0, #0x10
- b _0203920A
-_020390E4:
- add r5, r2, #0x0
- sub r5, #0x96
- cmp r4, r5
- blo _02039100
- ldr r2, _0203927C ; =0x000001CF
- add r3, r2, #0x0
- add r3, #0x17
- bl FUN_020392B4
- ldr r0, _02039280 ; =0x000022F6
- sub r0, r4, r0
- lsl r0, r0, #0x10
- lsr r4, r0, #0x10
- b _0203920A
-_02039100:
- sub r2, #0xc8
- cmp r4, r2
- blo _0203911A
- ldr r2, _02039284 ; =0x00000185
- add r3, r2, #0x0
- sub r3, #0x9
- bl FUN_020392B4
- ldr r0, _02039288 ; =0x000022C4
- sub r0, r4, r0
- lsl r0, r0, #0x10
- lsr r4, r0, #0x10
- b _0203920A
-_0203911A:
- ldr r2, _0203928C ; =0x00002260
- cmp r4, r2
- blo _02039134
- ldr r2, _02039290 ; =0x000001CE
- add r3, r2, #0x0
- add r3, #0x17
- bl FUN_020392B4
- ldr r0, _0203928C ; =0x00002260
- sub r0, r4, r0
- lsl r0, r0, #0x10
- lsr r4, r0, #0x10
- b _0203920A
-_02039134:
- mov r2, #0x7d
- lsl r2, r2, #0x6
- cmp r4, r2
- blo _02039152
- ldr r2, _02039294 ; =0x00000176
- add r3, r2, #0x0
- sub r3, #0x29
- bl FUN_020392B4
- mov r0, #0x7d
- lsl r0, r0, #0x6
- sub r0, r4, r0
- lsl r0, r0, #0x10
- lsr r4, r0, #0x10
- b _0203920A
-_02039152:
- ldr r5, _02039298 ; =0x00001B58
- cmp r4, r5
- blo _0203916C
- ldr r2, _0203929C ; =0x00000172
- add r3, r2, #0x0
- sub r3, #0x2d
- bl FUN_020392B4
- add r0, r5, #0x0
- sub r0, r4, r0
- lsl r0, r0, #0x10
- lsr r4, r0, #0x10
- b _0203920A
-_0203916C:
- lsr r5, r3, #0x1
- cmp r4, r5
- blo _02039186
- mov r2, #0x41
- lsl r2, r2, #0x4
- mov r3, #0xc7
- bl FUN_020392B4
- ldr r0, _020392A0 ; =0x00001388
- sub r0, r4, r0
- lsl r0, r0, #0x10
- lsr r4, r0, #0x10
- b _0203920A
-_02039186:
- ldr r5, _020392A4 ; =0x00000BB8
- cmp r4, r5
- blo _020391A0
- mov r2, #0x41
- lsl r2, r2, #0x4
- mov r3, #0xc7
- bl FUN_020392B4
- add r0, r5, #0x0
- sub r0, r4, r0
- lsl r0, r0, #0x10
- lsr r4, r0, #0x10
- b _0203920A
-_020391A0:
- sub r5, #0xc8
- cmp r4, r5
- blo _020391BC
- ldr r2, _020392A8 ; =0x0000017A
- add r3, r2, #0x0
- sub r3, #0x1c
- bl FUN_020392B4
- mov r0, #0xaf
- lsl r0, r0, #0x4
- sub r0, r4, r0
- lsl r0, r0, #0x10
- lsr r4, r0, #0x10
- b _0203920A
-_020391BC:
- lsr r3, r3, #0x2
- cmp r4, r3
- blo _020391D4
- mov r2, #0x1
- mov r3, #0xd
- bl FUN_020392B4
- ldr r0, _020392AC ; =0x000009C4
- sub r0, r4, r0
- lsl r0, r0, #0x10
- lsr r4, r0, #0x10
- b _0203920A
-_020391D4:
- lsr r2, r2, #0x2
- cmp r4, r2
- blo _020391EE
- mov r2, #0xcd
- mov r3, #0xc7
- bl FUN_020392B4
- mov r0, #0x7d
- lsl r0, r0, #0x4
- sub r0, r4, r0
- lsl r0, r0, #0x10
- lsr r4, r0, #0x10
- b _0203920A
-_020391EE:
- cmp r4, #0x1
- blo _020391FE
- bl FUN_020392D8
- sub r0, r4, #0x1
- lsl r0, r0, #0x10
- lsr r4, r0, #0x10
- b _0203920A
-_020391FE:
- ldr r2, _020392B0 ; =0x00000171
- add r3, r2, #0x0
- sub r3, #0x34
- bl FUN_020392B4
- mov r4, #0x0
-_0203920A:
- add r0, r4, #0x0
- pop {r3-r5, pc}
- nop
-_02039210: .word 0x0000283C
-_02039214: .word 0x000003D1
-_02039218: .word 0x00000175
-_0203921C: .word 0x000027D8
-_02039220: .word 0x00000412
-_02039224: .word 0x00000232
-_02039228: .word 0x000027A6
-_0203922C: .word 0x00000411
-_02039230: .word 0x00000233
-_02039234: .word 0x00002774
-_02039238: .word 0x00002710
-_0203923C: .word 0x00000177
-_02039240: .word 0x000026DE
-_02039244: .word 0x0000016D
-_02039248: .word 0x000026AC
-_0203924C: .word 0x00002648
-_02039250: .word 0x000025E4
-_02039254: .word 0x00000183
-_02039258: .word 0x00000179
-_0203925C: .word 0x0000251C
-_02039260: .word 0x000024B8
-_02039264: .word 0x00000187
-_02039268: .word 0x000023F0
-_0203926C: .word 0x0000238C
-_02039270: .word 0x00002328
-_02039274: .word 0x00000186
-_02039278: .word 0x0000230A
-_0203927C: .word 0x000001CF
-_02039280: .word 0x000022F6
-_02039284: .word 0x00000185
-_02039288: .word 0x000022C4
-_0203928C: .word 0x00002260
-_02039290: .word 0x000001CE
-_02039294: .word 0x00000176
-_02039298: .word 0x00001B58
-_0203929C: .word 0x00000172
-_020392A0: .word 0x00001388
-_020392A4: .word 0x00000BB8
-_020392A8: .word 0x0000017A
-_020392AC: .word 0x000009C4
-_020392B0: .word 0x00000171
-
- thumb_func_start FUN_020392B4
-FUN_020392B4: ; 0x020392B4
- push {r3-r5, lr}
- add r5, r1, #0x0
- add r1, r2, #0x0
- add r4, r3, #0x0
- mov r0, #0xa
- mov r2, #0xb
- bl LoadFromNarc_2
- str r0, [r5, #0x7c]
- mov r0, #0x1
- mov r1, #0x1a
- add r2, r4, #0x0
- mov r3, #0xb
- bl FUN_0200A86C
- str r0, [r5, #0x78]
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_020392D8
-FUN_020392D8: ; 0x020392D8
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0x1c]
- add r4, r1, #0x0
- ldr r0, [r0, #0x0]
- bl FUN_0203949C
- str r0, [r4, #0x7c]
- ldr r0, [r5, #0x1c]
- ldr r0, [r0, #0x0]
- bl FUN_020394B0
- add r2, r0, #0x0
- mov r0, #0x1
- mov r1, #0x1a
- mov r3, #0xb
- bl FUN_0200A86C
- str r0, [r4, #0x78]
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02039300
-FUN_02039300: ; 0x02039300
- push {r3, lr}
- cmp r1, #0x36
- bls _02039308
- b _02039430
-_02039308:
- add r2, r1, r1
- add r2, pc
- ldrh r2, [r2, #0x6]
- lsl r2, r2, #0x10
- asr r2, r2, #0x10
- add pc, r2
-_02039314: ; jump table (using 16-bit offset)
- .short _02039382 - _02039314 - 2; case 0
- .short _02039386 - _02039314 - 2; case 1
- .short _0203938A - _02039314 - 2; case 2
- .short _0203938E - _02039314 - 2; case 3
- .short _02039392 - _02039314 - 2; case 4
- .short _02039396 - _02039314 - 2; case 5
- .short _0203939A - _02039314 - 2; case 6
- .short _0203939E - _02039314 - 2; case 7
- .short _020393A2 - _02039314 - 2; case 8
- .short _020393A6 - _02039314 - 2; case 9
- .short _020393AA - _02039314 - 2; case 10
- .short _020393AE - _02039314 - 2; case 11
- .short _020393B2 - _02039314 - 2; case 12
- .short _020393B6 - _02039314 - 2; case 13
- .short _020393BA - _02039314 - 2; case 14
- .short _020393BE - _02039314 - 2; case 15
- .short _020393C2 - _02039314 - 2; case 16
- .short _020393C6 - _02039314 - 2; case 17
- .short _020393CA - _02039314 - 2; case 18
- .short _020393CE - _02039314 - 2; case 19
- .short _020393D2 - _02039314 - 2; case 20
- .short _020393D6 - _02039314 - 2; case 21
- .short _020393DA - _02039314 - 2; case 22
- .short _020393DE - _02039314 - 2; case 23
- .short _020393E2 - _02039314 - 2; case 24
- .short _020393E6 - _02039314 - 2; case 25
- .short _020393EA - _02039314 - 2; case 26
- .short _020393EE - _02039314 - 2; case 27
- .short _020393F2 - _02039314 - 2; case 28
- .short _020393F6 - _02039314 - 2; case 29
- .short _020393FA - _02039314 - 2; case 30
- .short _020393FE - _02039314 - 2; case 31
- .short _02039402 - _02039314 - 2; case 32
- .short _02039406 - _02039314 - 2; case 33
- .short _0203940A - _02039314 - 2; case 34
- .short _0203940E - _02039314 - 2; case 35
- .short _02039412 - _02039314 - 2; case 36
- .short _02039416 - _02039314 - 2; case 37
- .short _0203941A - _02039314 - 2; case 38
- .short _0203941E - _02039314 - 2; case 39
- .short _02039422 - _02039314 - 2; case 40
- .short _02039426 - _02039314 - 2; case 41
- .short _02039426 - _02039314 - 2; case 42
- .short _02039426 - _02039314 - 2; case 43
- .short _02039426 - _02039314 - 2; case 44
- .short _02039426 - _02039314 - 2; case 45
- .short _02039426 - _02039314 - 2; case 46
- .short _02039426 - _02039314 - 2; case 47
- .short _02039426 - _02039314 - 2; case 48
- .short _02039426 - _02039314 - 2; case 49
- .short _02039426 - _02039314 - 2; case 50
- .short _02039426 - _02039314 - 2; case 51
- .short _02039426 - _02039314 - 2; case 52
- .short _02039426 - _02039314 - 2; case 53
- .short _02039426 - _02039314 - 2; case 54
-_02039382:
- add r0, #0x10
- pop {r3, pc}
-_02039386:
- add r0, #0x14
- pop {r3, pc}
-_0203938A:
- add r0, #0x24
- pop {r3, pc}
-_0203938E:
- add r0, r0, #0x5
- pop {r3, pc}
-_02039392:
- add r0, r0, #0x6
- pop {r3, pc}
-_02039396:
- add r0, r0, #0x7
- pop {r3, pc}
-_0203939A:
- add r0, #0x8
- pop {r3, pc}
-_0203939E:
- add r0, #0x9
- pop {r3, pc}
-_020393A2:
- add r0, #0xa
- pop {r3, pc}
-_020393A6:
- add r0, #0x28
- pop {r3, pc}
-_020393AA:
- add r0, #0x2c
- pop {r3, pc}
-_020393AE:
- add r0, #0x30
- pop {r3, pc}
-_020393B2:
- add r0, #0x34
- pop {r3, pc}
-_020393B6:
- add r0, #0x38
- pop {r3, pc}
-_020393BA:
- add r0, #0x3c
- pop {r3, pc}
-_020393BE:
- add r0, #0x40
- pop {r3, pc}
-_020393C2:
- add r0, #0x44
- pop {r3, pc}
-_020393C6:
- add r0, #0x48
- pop {r3, pc}
-_020393CA:
- add r0, #0x4c
- pop {r3, pc}
-_020393CE:
- add r0, #0xa8
- pop {r3, pc}
-_020393D2:
- add r0, #0xac
- pop {r3, pc}
-_020393D6:
- add r0, #0xb0
- pop {r3, pc}
-_020393DA:
- add r0, #0xb4
- pop {r3, pc}
-_020393DE:
- add r0, #0xc
- pop {r3, pc}
-_020393E2:
- add r0, #0x50
- pop {r3, pc}
-_020393E6:
- add r0, #0x54
- pop {r3, pc}
-_020393EA:
- add r0, #0x58
- pop {r3, pc}
-_020393EE:
- add r0, #0x5c
- pop {r3, pc}
-_020393F2:
- add r0, #0x60
- pop {r3, pc}
-_020393F6:
- add r0, #0x64
- pop {r3, pc}
-_020393FA:
- add r0, #0x68
- pop {r3, pc}
-_020393FE:
- add r0, #0x6c
- pop {r3, pc}
-_02039402:
- add r0, #0x70
- pop {r3, pc}
-_02039406:
- add r0, #0x74
- pop {r3, pc}
-_0203940A:
- add r0, #0x78
- pop {r3, pc}
-_0203940E:
- add r0, #0x7c
- pop {r3, pc}
-_02039412:
- add r0, #0x80
- pop {r3, pc}
-_02039416:
- add r0, #0x84
- pop {r3, pc}
-_0203941A:
- add r0, #0xb8
- pop {r3, pc}
-_0203941E:
- add r0, #0xc8
- pop {r3, pc}
-_02039422:
- add r0, #0xd8
- pop {r3, pc}
-_02039426:
- sub r1, #0x29
- add r0, #0x88
- lsl r1, r1, #0x1
- add r0, r0, r1
- pop {r3, pc}
-_02039430:
- bl ErrorHandling
- mov r0, #0x0
- pop {r3, pc}
-
- thumb_func_start FUN_02039438
-FUN_02039438: ; 0x02039438
- push {r3-r5, lr}
- ldr r0, [r0, #0x10]
- add r5, r1, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- ldr r1, [r4, #0x0]
- ldr r0, _0203945C ; =0x0003643F
- cmp r1, r0
- beq _02039450
- bl ErrorHandling
-_02039450:
- add r0, r4, #0x0
- add r1, r5, #0x0
- bl FUN_02039300
- pop {r3-r5, pc}
- nop
-_0203945C: .word 0x0003643F
-
- thumb_func_start FUN_02039460
-FUN_02039460: ; 0x02039460
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0x10]
- bl FUN_0204652C
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02035068
- cmp r0, #0x1
- bne _0203947C
- ldr r0, _02039480 ; =FUN_020351A0
- add r4, #0xa4
- str r0, [r4, #0x0]
-_0203947C:
- pop {r3-r5, pc}
- nop
-_02039480: .word FUN_020351A0
-
- thumb_func_start FUN_02039484
-FUN_02039484: ; 0x02039484
- push {r4, lr}
- add r4, r0, #0x0
- ldr r2, [r4, #0x8]
- lsl r1, r1, #0x2
- add r1, r2, r1
- str r1, [r4, #0x8]
- bl ScriptReadWord
- ldr r1, [r4, #0x8]
- add r0, r1, r0
- str r0, [r4, #0x8]
- pop {r4, pc}
-
- thumb_func_start FUN_0203949C
-FUN_0203949C: ; 0x0203949C
- push {r3, lr}
- bl FUN_02034788
- add r1, r0, #0x0
- mov r0, #0xa
- mov r2, #0xb
- bl LoadFromNarc_2
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_020394B0
-FUN_020394B0: ; 0x020394B0
- ldr r3, _020394B4 ; =FUN_02034774
- bx r3
- .balign 4
-_020394B4: .word FUN_02034774
-
- thumb_func_start FUN_020394B8
-FUN_020394B8: ; 0x020394B8
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0xc]
- add r4, r1, #0x0
- bl FUN_020462AC
- mov r1, #0x1
- lsl r1, r1, #0xe
- cmp r4, r1
- bhs _020394D0
- mov r0, #0x0
- pop {r3-r5, pc}
-_020394D0:
- lsl r1, r1, #0x1
- cmp r4, r1
- bhs _020394DE
- add r1, r4, #0x0
- bl FUN_02046380
- pop {r3-r5, pc}
-_020394DE:
- ldr r1, _020394EC ; =0x00007FD7
- add r0, r5, #0x0
- sub r1, r4, r1
- bl FUN_02039438
- pop {r3-r5, pc}
- nop
-_020394EC: .word 0x00007FD7
-
- thumb_func_start FUN_020394F0
-FUN_020394F0: ; 0x020394F0
- push {r4, lr}
- add r4, r1, #0x0
- bl FUN_020394B8
- cmp r0, #0x0
- beq _020394FE
- ldrh r4, [r0, #0x0]
-_020394FE:
- add r0, r4, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02039504
-FUN_02039504: ; 0x02039504
- push {r3-r5, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- cmp r4, #0x10
- blo _02039512
- bl ErrorHandling
-_02039512:
- ldr r1, _02039524 ; =0x00004020
- add r0, r5, #0x0
- add r1, r4, r1
- lsl r1, r1, #0x10
- lsr r1, r1, #0x10
- bl FUN_020394F0
- pop {r3-r5, pc}
- nop
-_02039524: .word 0x00004020
-
- thumb_func_start FUN_02039528
-FUN_02039528: ; 0x02039528
- push {r4, lr}
- ldr r0, [r0, #0xc]
- add r4, r1, #0x0
- bl FUN_020462AC
- add r1, r4, #0x0
- bl FUN_020462B8
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0203953C
-FUN_0203953C: ; 0x0203953C
- push {r4, lr}
- ldr r0, [r0, #0xc]
- add r4, r1, #0x0
- bl FUN_020462AC
- add r1, r4, #0x0
- bl FUN_020462E4
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02039550
-FUN_02039550: ; 0x02039550
- push {r4, lr}
- ldr r0, [r0, #0xc]
- add r4, r1, #0x0
- bl FUN_020462AC
- add r1, r4, #0x0
- bl FUN_0204630C
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02039564
-FUN_02039564: ; 0x02039564
- push {r4, lr}
- ldr r0, [r0, #0xc]
- bl FUN_020462AC
- mov r1, #0x1
- add r4, r0, #0x0
- bl FUN_02046338
- 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, #0x1
- add r0, r4, #0x0
- lsl r1, r1, #0xe
- bl FUN_02046380
- mov r1, #0x0
- mov r2, #0x40
- blx Call_FillMemWithValue
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0203959C
-FUN_0203959C: ; 0x0203959C
- push {r3, lr}
- ldr r0, [r0, #0xc]
- bl FUN_020462AC
- mov r1, #0xaa
- lsl r1, r1, #0x4
- bl FUN_02046338
- mov r2, #0x18
- mov r1, #0x0
-_020395B0:
- strb r1, [r0, #0x0]
- add r0, r0, #0x1
- sub r2, r2, #0x1
- bne _020395B0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_020395BC
-FUN_020395BC: ; 0x020395BC
- push {r3-r7, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- mov r1, #0x29
- add r6, r2, #0x0
- add r7, r3, #0x0
- bl FUN_02039438
- strh r4, [r0, #0x0]
- add r0, r5, #0x0
- mov r1, #0x2a
- bl FUN_02039438
- strh r6, [r0, #0x0]
- add r0, r5, #0x0
- mov r1, #0x2b
- bl FUN_02039438
- strh r7, [r0, #0x0]
- add r0, r5, #0x0
- mov r1, #0x2c
- bl FUN_02039438
- add r1, sp, #0x8
- ldrh r1, [r1, #0x10]
- strh r1, [r0, #0x0]
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_020395F4
-FUN_020395F4: ; 0x020395F4
- ldr r1, _02039610 ; =0x00001388
- cmp r0, r1
- bhs _02039604
- ldr r1, _02039614 ; =0x00000BB7
- sub r0, r0, r1
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- bx lr
-_02039604:
- sub r1, r1, #0x1
- sub r0, r0, r1
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- bx lr
- nop
-_02039610: .word 0x00001388
-_02039614: .word 0x00000BB7
-
- thumb_func_start FUN_02039618
-FUN_02039618: ; 0x02039618
- ldr r1, _02039628 ; =0x00001388
- cmp r0, r1
- blo _02039622
- mov r0, #0x1
- bx lr
-_02039622:
- mov r0, #0x0
- bx lr
- nop
-_02039628: .word 0x00001388
-
- thumb_func_start FUN_0203962C
-FUN_0203962C: ; 0x0203962C
- push {r3, lr}
- mov r1, #0x9
- bl FUN_0206AC74
- cmp r0, #0x0
- beq _0203963C
- mov r0, #0x1
- pop {r3, pc}
-_0203963C:
- mov r0, #0x0
- pop {r3, pc}
-
- thumb_func_start FUN_02039640
-FUN_02039640: ; 0x02039640
- push {r4, lr}
- ldr r0, [r0, #0xc]
- add r4, r1, #0x0
- bl FUN_020462AC
- mov r1, #0x55
- lsl r1, r1, #0x4
- add r1, r4, r1
- lsl r1, r1, #0x10
- lsr r1, r1, #0x10
- bl FUN_020462B8
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0203965C
-FUN_0203965C: ; 0x0203965C
- push {r4, lr}
- ldr r0, [r0, #0xc]
- add r4, r1, #0x0
- bl FUN_020462AC
- mov r1, #0x55
- lsl r1, r1, #0x4
- add r1, r4, r1
- lsl r1, r1, #0x10
- lsr r1, r1, #0x10
- bl FUN_020462E4
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02039678
-FUN_02039678: ; 0x02039678
- push {r4, lr}
- ldr r0, [r0, #0xc]
- add r4, r1, #0x0
- bl FUN_020462AC
- mov r1, #0x55
- lsl r1, r1, #0x4
- add r1, r4, r1
- lsl r1, r1, #0x10
- lsr r1, r1, #0x10
- bl FUN_0204630C
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02039694
-FUN_02039694: ; 0x02039694
- ldr r1, _020396A0 ; =0x00001C66
- sub r0, r0, r1
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- bx lr
- nop
-_020396A0: .word 0x00001C66
-
- thumb_func_start FUN_020396A4
-FUN_020396A4: ; 0x020396A4
- mov r1, #0x7d
- lsl r1, r1, #0x6
- sub r0, r0, r1
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- bx lr
-
- thumb_func_start FUN_020396B0
-FUN_020396B0: ; 0x020396B0
- push {r4, lr}
- ldr r4, _020396E4 ; =0x020F2DB4
- bl FUN_020396A4
- lsl r0, r0, #0x18
- lsr r3, r0, #0x18
- mov r1, #0x0
- add r2, r4, #0x0
-_020396C0:
- ldrh r0, [r2, #0x6]
- cmp r3, r0
- beq _020396CE
- add r1, r1, #0x1
- add r2, #0x8
- cmp r1, #0xe5
- blo _020396C0
-_020396CE:
- cmp r1, #0xe5
- blo _020396DA
- bl ErrorHandling
- mov r0, #0x0
- pop {r4, pc}
-_020396DA:
- lsl r0, r1, #0x3
- add r0, r4, r0
- ldrb r0, [r0, #0x3]
- pop {r4, pc}
- nop
-_020396E4: .word 0x020F2DB4
-
- thumb_func_start FUN_020396E8
-FUN_020396E8: ; 0x020396E8
- push {r3-r7, lr}
- add r5, r1, #0x0
- add r4, r0, #0x0
- mov r1, #0x29
- bl FUN_02039300
- add r7, r0, #0x0
- add r0, r4, #0x0
- mov r1, #0x2a
- bl FUN_02039300
- add r6, r0, #0x0
- add r0, r4, #0x0
- mov r1, #0x2b
- bl FUN_02039300
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_020396A4
- lsl r0, r0, #0x18
- ldr r2, _02039750 ; =0x020F2DB4
- lsr r3, r0, #0x18
- mov r1, #0x0
-_02039718:
- ldrh r0, [r2, #0x6]
- cmp r3, r0
- beq _02039726
- add r1, r1, #0x1
- add r2, #0x8
- cmp r1, #0xe5
- blo _02039718
-_02039726:
- cmp r1, #0xe5
- blo _02039732
- bl ErrorHandling
- mov r0, #0x0
- pop {r3-r7, pc}
-_02039732:
- lsl r0, r1, #0x3
- ldr r1, _02039750 ; =0x020F2DB4
- ldrh r1, [r1, r0]
- strh r1, [r7, #0x0]
- ldr r1, _02039750 ; =0x020F2DB4
- add r0, r1, r0
- ldrb r0, [r0, #0x2]
- strh r0, [r6, #0x0]
- add r0, r5, #0x0
- bl FUN_02039694
- strh r0, [r4, #0x0]
- mov r0, #0x1
- pop {r3-r7, pc}
- nop
-_02039750: .word 0x020F2DB4
-
- thumb_func_start FUN_02039754
-FUN_02039754: ; 0x02039754
- push {r4-r7, lr}
- sub sp, #0x24
- str r0, [sp, #0x0]
- add r4, r1, #0x0
- mov r6, #0x0
- bl FUN_02034AF8
- add r5, r0, #0x0
- add r2, r5, #0x1
- mov r1, #0x6
- add r0, r4, #0x0
- mul r1, r2
- bl FUN_02016998
- str r0, [sp, #0x1c]
- cmp r5, #0x0
- bne _02039786
- mov r2, #0xff
- add r1, r0, #0x0
- strb r2, [r1, #0x4]
- ldr r2, _02039870 ; =0x0000FFFF
- add sp, #0x24
- strh r2, [r1, #0x0]
- strh r2, [r1, #0x2]
- pop {r4-r7, pc}
-_02039786:
- ldr r0, [sp, #0x0]
- bl FUN_02034AF0
- add r4, r0, #0x0
- bne _020397A0
- ldr r0, [sp, #0x1c]
- mov r1, #0xff
- strb r1, [r0, #0x4]
- ldr r1, _02039870 ; =0x0000FFFF
- add sp, #0x24
- strh r1, [r0, #0x0]
- strh r1, [r0, #0x2]
- pop {r4-r7, pc}
-_020397A0:
- ldr r0, [sp, #0x0]
- ldr r0, [r0, #0x38]
- bl FUN_02055320
- str r0, [sp, #0x18]
- ldr r0, [sp, #0x0]
- ldr r0, [r0, #0x38]
- bl FUN_0205532C
- str r0, [sp, #0x14]
- ldr r0, [sp, #0x18]
- sub r0, r0, #0x7
- str r0, [sp, #0x10]
- ldr r0, [sp, #0x18]
- add r0, r0, #0x7
- str r0, [sp, #0xc]
- ldr r0, [sp, #0x14]
- sub r0, r0, #0x7
- str r0, [sp, #0x8]
- ldr r0, [sp, #0x14]
- add r0, r0, #0x6
- str r0, [sp, #0x4]
- ldr r0, [sp, #0x10]
- cmp r0, #0x0
- bge _020397D6
- add r0, r6, #0x0
- str r0, [sp, #0x10]
-_020397D6:
- ldr r0, [sp, #0x8]
- cmp r0, #0x0
- bge _020397E0
- mov r0, #0x0
- str r0, [sp, #0x8]
-_020397E0:
- add r0, r5, #0x1
- mov r7, #0x0
- str r0, [sp, #0x20]
- cmp r0, #0x0
- ble _02039856
- ldr r5, [sp, #0x1c]
-_020397EC:
- ldrh r0, [r4, #0x2]
- cmp r0, #0x2
- bne _0203984C
- ldrh r0, [r4, #0x0]
- bl FUN_02039694
- add r1, r0, #0x0
- ldr r0, [sp, #0x0]
- bl FUN_02039528
- cmp r0, #0x0
- bne _0203984C
- ldr r1, [r4, #0x4]
- ldr r0, [sp, #0x10]
- cmp r1, r0
- blt _0203984C
- ldr r0, [sp, #0xc]
- cmp r1, r0
- bgt _0203984C
- ldr r1, [r4, #0x8]
- ldr r0, [sp, #0x8]
- cmp r1, r0
- blt _0203984C
- ldr r0, [sp, #0x4]
- cmp r1, r0
- bgt _0203984C
- ldrh r0, [r4, #0x0]
- bl FUN_020396B0
- strb r0, [r5, #0x4]
- ldr r1, [r4, #0x4]
- ldr r0, [sp, #0x18]
- sub r1, r0, r1
- mov r0, #0x7
- sub r0, r0, r1
- blx abs
- strh r0, [r5, #0x0]
- ldr r1, [r4, #0x8]
- ldr r0, [sp, #0x14]
- sub r1, r0, r1
- mov r0, #0x7
- sub r0, r0, r1
- blx abs
- strh r0, [r5, #0x2]
- add r5, r5, #0x6
- add r6, r6, #0x1
-_0203984C:
- ldr r0, [sp, #0x20]
- add r7, r7, #0x1
- add r4, #0x14
- cmp r7, r0
- blt _020397EC
-_02039856:
- mov r0, #0x6
- add r3, r6, #0x0
- mul r3, r0
- ldr r0, [sp, #0x1c]
- mov r1, #0xff
- add r2, r0, r3
- strb r1, [r2, #0x4]
- ldr r1, _02039870 ; =0x0000FFFF
- strh r1, [r0, r3]
- strh r1, [r2, #0x2]
- add sp, #0x24
- pop {r4-r7, pc}
- nop
-_02039870: .word 0x0000FFFF
-
- thumb_func_start FUN_02039874
-FUN_02039874: ; 0x02039874
- ldr r3, _0203987C ; =FUN_02039880
- mov r1, #0x96
- lsl r1, r1, #0x6
- bx r3
- .balign 4
-_0203987C: .word FUN_02039880
-
- thumb_func_start FUN_02039880
-FUN_02039880: ; 0x02039880
- push {r4, lr}
- bl FUN_02038EB0
- add r4, r0, #0x0
-_02039888:
- add r0, r4, #0x0
- bl RunScriptCommand
- cmp r0, #0x1
- beq _02039888
- add r0, r4, #0x0
- bl FUN_02038E48
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0203989C
-FUN_0203989C: ; 0x0203989C
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- bl FUN_02034D2C
- add r1, r0, #0x0
- bne _020398AE
- mov r0, #0x0
- pop {r3-r5, pc}
-_020398AE:
- cmp r4, #0x1
- bne _020398BC
- add r0, r5, #0x0
- add r2, r4, #0x0
- bl FUN_02039914
- b _020398C2
-_020398BC:
- add r1, r4, #0x0
- bl _020398EC
-_020398C2:
- add r1, r0, #0x0
- ldr r0, _020398E8 ; =0x0000FFFF
- cmp r1, r0
- bne _020398CE
- mov r0, #0x0
- pop {r3-r5, pc}
-_020398CE:
- cmp r4, #0x1
- bne _020398DC
- add r0, r5, #0x0
- mov r2, #0x0
- bl FUN_02038C78
- b _020398E2
-_020398DC:
- add r0, r5, #0x0
- bl FUN_02039880
-_020398E2:
- mov r0, #0x1
- pop {r3-r5, pc}
- nop
-_020398E8: .word 0x0000FFFF
-_020398EC:
- ldrb r2, [r0, #0x0]
- cmp r2, #0x0
- bne _020398F6
- ldr r0, _02039910 ; =0x0000FFFF
- bx lr
-_020398F6:
- cmp r2, r1
- bne _02039908
- ldrb r1, [r0, #0x1]
- ldrb r0, [r0, #0x2]
- lsl r0, r0, #0x8
- add r0, r1, r0
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- bx lr
-_02039908:
- add r0, r0, #0x5
- b _020398EC
-_0203990C: ; 0x0203990C
- bx lr
- nop
-_02039910: .word 0x0000FFFF
-
- thumb_func_start FUN_02039914
-FUN_02039914: ; 0x02039914
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
-_0203991A:
- ldrb r0, [r4, #0x0]
- cmp r0, #0x0
- bne _02039924
- ldr r0, _0203999C ; =0x0000FFFF
- pop {r3-r7, pc}
-_02039924:
- cmp r0, r2
- bne _02039940
- ldrb r0, [r4, #0x4]
- ldrb r2, [r4, #0x2]
- ldrb r3, [r4, #0x1]
- lsl r1, r0, #0x18
- ldrb r0, [r4, #0x3]
- lsl r2, r2, #0x8
- add r2, r3, r2
- lsl r0, r0, #0x10
- add r0, r0, r2
- add r1, r1, r0
- add r0, r4, #0x5
- b _02039944
-_02039940:
- add r4, r4, #0x5
- b _0203991A
-_02039944:
- cmp r1, #0x0
- bne _0203994C
- ldr r0, _0203999C ; =0x0000FFFF
- pop {r3-r7, pc}
-_0203994C:
- add r4, r0, r1
-_0203994E:
- ldrb r1, [r4, #0x0]
- cmp r1, #0x0
- bne _02039958
- ldr r0, _0203999C ; =0x0000FFFF
- pop {r3-r7, pc}
-_02039958:
- ldrb r0, [r4, #0x1]
- lsl r0, r0, #0x8
- add r0, r1, r0
- lsl r0, r0, #0x10
- lsr r1, r0, #0x10
- bne _02039968
- ldr r0, _0203999C ; =0x0000FFFF
- pop {r3-r7, pc}
-_02039968:
- ldrb r0, [r4, #0x3]
- ldrb r2, [r4, #0x2]
- lsl r0, r0, #0x8
- add r0, r2, r0
- lsl r0, r0, #0x10
- lsr r6, r0, #0x10
- add r0, r5, #0x0
- bl FUN_020394F0
- add r7, r0, #0x0
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_020394F0
- cmp r7, r0
- bne _02039996
- ldrb r0, [r4, #0x5]
- ldrb r1, [r4, #0x4]
- lsl r0, r0, #0x8
- add r0, r1, r0
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- pop {r3-r7, pc}
-_02039996:
- add r4, r4, #0x6
- b _0203994E
- pop {r3-r7, pc}
- .balign 4
-_0203999C: .word 0x0000FFFF
diff --git a/asm/unk_02046030.s b/asm/unk_02046030.s
deleted file mode 100644
index 30b8ee4c..00000000
--- a/asm/unk_02046030.s
+++ /dev/null
@@ -1,142185 +0,0 @@
- .include "asm/macros.inc"
- .include "global.inc"
-
- .text
-
- thumb_func_start FUN_02046030
-FUN_02046030: ; 0x02046030
- push {r4, lr}
- add r4, r0, #0x0
- mov r0, #0xb
- mov r1, #0xc
- bl FUN_020169D8
- add r2, r0, #0x0
- mov r0, #0x0
- strb r0, [r2, #0x0]
- strb r0, [r2, #0x1]
- strb r0, [r2, #0x2]
- strb r0, [r2, #0x3]
- strb r0, [r2, #0x4]
- strb r0, [r2, #0x5]
- strb r0, [r2, #0x6]
- strb r0, [r2, #0x7]
- strb r0, [r2, #0x8]
- strb r0, [r2, #0x9]
- strb r0, [r2, #0xa]
- strb r0, [r2, #0xb]
- ldr r0, [r4, #0x10]
- ldr r1, _02046064 ; =FUN_02046068
- bl FUN_0204640C
- pop {r4, pc}
- nop
-_02046064: .word FUN_02046068
-
- thumb_func_start FUN_02046068
-FUN_02046068: ; 0x02046068
- push {r4-r6, lr}
- sub sp, #0x38
- add r6, r0, #0x0
- bl FUN_02046528
- add r5, r0, #0x0
- add r0, r6, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_020462AC
- ldrb r1, [r4, #0x8]
- cmp r1, #0xb
- bls _0204608A
- b _020461F8
-_0204608A:
- add r2, r1, r1
- add r2, pc
- ldrh r2, [r2, #0x6]
- lsl r2, r2, #0x10
- asr r2, r2, #0x10
- add pc, r2
-_02046096: ; jump table (using 16-bit offset)
- .short _020460AE - _02046096 - 2; case 0
- .short _020460D4 - _02046096 - 2; case 1
- .short _020460E2 - _02046096 - 2; case 2
- .short _0204610A - _02046096 - 2; case 3
- .short _02046118 - _02046096 - 2; case 4
- .short _02046150 - _02046096 - 2; case 5
- .short _02046160 - _02046096 - 2; case 6
- .short _0204618A - _02046096 - 2; case 7
- .short _02046198 - _02046096 - 2; case 8
- .short _020461C0 - _02046096 - 2; case 9
- .short _020461CE - _02046096 - 2; case 10
- .short _020461E4 - _02046096 - 2; case 11
-_020460AE:
- ldr r0, [r5, #0x38]
- bl FUN_02055320
- strh r0, [r4, #0x4]
- ldr r0, [r5, #0x38]
- bl FUN_0205532C
- strh r0, [r4, #0x6]
- add r0, r5, #0x0
- mov r1, #0x1
- bl FUN_0206367C
- add r0, r6, #0x0
- bl FUN_0204AFC8
- ldrb r0, [r4, #0x8]
- add r0, r0, #0x1
- strb r0, [r4, #0x8]
- b _020461F8
-_020460D4:
- add r0, r6, #0x0
- bl FUN_0204AF3C
- ldrb r0, [r4, #0x8]
- add r0, r0, #0x1
- strb r0, [r4, #0x8]
- b _020461F8
-_020460E2:
- bl FUN_0205F1C4
- mov r0, #0xac
- str r0, [sp, #0x24]
- sub r0, #0xad
- str r0, [sp, #0x28]
- ldr r0, _02046200 ; =0x0000034F
- add r1, sp, #0x24
- str r0, [sp, #0x2c]
- ldr r0, _02046204 ; =0x00000231
- str r0, [sp, #0x30]
- mov r0, #0x1
- str r0, [sp, #0x34]
- add r0, r6, #0x0
- bl FUN_02049160
- ldrb r0, [r4, #0x8]
- add r0, r0, #0x1
- strb r0, [r4, #0x8]
- b _020461F8
-_0204610A:
- add r0, r6, #0x0
- bl FUN_0204AF84
- ldrb r0, [r4, #0x8]
- add r0, r0, #0x1
- strb r0, [r4, #0x8]
- b _020461F8
-_02046118:
- ldr r0, [r5, #0x38]
- mov r1, #0x1
- bl FUN_02046214
- add r0, r5, #0x0
- bl FUN_02046224
- 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, _02046208 ; =0x0000FFFF
- add r0, r6, #0x0
- mov r1, #0x3
- mov r2, #0x11
- bl FUN_0204C1B4
- ldr r0, _0204620C ; =0x00000679
- bl FUN_020054C8
- ldrb r0, [r4, #0x8]
- add r0, r0, #0x1
- strb r0, [r4, #0x8]
- b _020461F8
-_02046150:
- ldr r0, _02046210 ; =0x021C48B8
- ldr r2, [r0, #0x48]
- mov r0, #0x3
- tst r0, r2
- beq _020461F8
- add r0, r1, #0x1
- strb r0, [r4, #0x8]
- b _020461F8
-_02046160:
- 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, _02046208 ; =0x0000FFFF
- add r0, r6, #0x0
- mov r1, #0x3
- mov r2, #0x10
- bl FUN_0204C1B4
- ldr r0, _0204620C ; =0x00000679
- bl FUN_020054C8
- ldrb r0, [r4, #0x8]
- add r0, r0, #0x1
- strb r0, [r4, #0x8]
- b _020461F8
-_0204618A:
- add r0, r6, #0x0
- bl FUN_0204AF3C
- ldrb r0, [r4, #0x8]
- add r0, r0, #0x1
- strb r0, [r4, #0x8]
- b _020461F8
-_02046198:
- bl FUN_0205F1D4
- ldrh r2, [r4, #0x6]
- ldrh r1, [r4, #0x4]
- mov r0, #0xa4
- str r0, [sp, #0x10]
- sub r0, #0xa5
- str r0, [sp, #0x14]
- mov r0, #0x0
- str r1, [sp, #0x18]
- str r0, [sp, #0x20]
- str r2, [sp, #0x1c]
- add r0, r6, #0x0
- add r1, sp, #0x10
- bl FUN_02049160
- ldrb r0, [r4, #0x8]
- add r0, r0, #0x1
- strb r0, [r4, #0x8]
- b _020461F8
-_020461C0:
- add r0, r6, #0x0
- bl FUN_0204AF84
- ldrb r0, [r4, #0x8]
- add r0, r0, #0x1
- strb r0, [r4, #0x8]
- b _020461F8
-_020461CE:
- ldr r0, [r5, #0x38]
- mov r1, #0x0
- bl FUN_02046214
- add r0, r6, #0x0
- bl FUN_0204B00C
- ldrb r0, [r4, #0x8]
- add r0, r0, #0x1
- strb r0, [r4, #0x8]
- b _020461F8
-_020461E4:
- add r0, r4, #0x0
- bl FUN_02016A18
- add r0, r5, #0x0
- mov r1, #0x0
- bl FUN_0206367C
- add sp, #0x38
- mov r0, #0x1
- pop {r4-r6, pc}
-_020461F8:
- mov r0, #0x0
- add sp, #0x38
- pop {r4-r6, pc}
- nop
-_02046200: .word 0x0000034F
-_02046204: .word 0x00000231
-_02046208: .word 0x0000FFFF
-_0204620C: .word 0x00000679
-_02046210: .word 0x021C48B8
-
- thumb_func_start FUN_02046214
-FUN_02046214: ; 0x02046214
- push {r4, lr}
- add r4, r1, #0x0
- bl FUN_020553A0
- add r1, r4, #0x0
- bl FUN_0205889C
- pop {r4, pc}
-
- thumb_func_start FUN_02046224
-FUN_02046224: ; 0x02046224
- push {r3-r4, lr}
- sub sp, #0x14
- add r4, r0, #0x0
- ldr r0, _02046278 ; =0x000008C1
- ldr r1, [r4, #0x20]
- bl FUN_0201EEF0
- ldr r0, _0204627C ; =0x000F81B8
- ldr r1, [r4, #0x20]
- bl FUN_0201EFE0
- ldr r0, _02046280 ; =0x0350523D
- str r0, [sp, #0x8]
- ldr r0, _02046284 ; =0x0015EDB7
- str r0, [sp, #0xc]
- ldr r0, _02046288 ; =0x023DA40E
- str r0, [sp, #0x10]
- ldr r1, [r4, #0x20]
- add r0, sp, #0x8
- bl FUN_0201F04C
- ldr r1, _0204628C ; =0x00000823
- add r0, sp, #0x0
- strh r1, [r0, #0x0]
- mov r1, #0x52
- lsl r1, r1, #0x4
- strh r1, [r0, #0x2]
- mov r1, #0x0
- strh r1, [r0, #0x4]
- ldr r1, [r4, #0x20]
- add r0, sp, #0x0
- bl FUN_0201EF90
- mov r0, #0x3
- ldr r1, _02046290 ; =0x0061C000
- ldr r2, [r4, #0x20]
- lsl r0, r0, #0xe
- bl FUN_0201EC94
- add sp, #0x14
- pop {r3-r4, pc}
- nop
-_02046278: .word 0x000008C1
-_0204627C: .word 0x000F81B8
-_02046280: .word 0x0350523D
-_02046284: .word 0x0015EDB7
-_02046288: .word 0x023DA40E
-_0204628C: .word 0x00000823
-_02046290: .word 0x0061C000
-
- thumb_func_start FUN_02046294
-FUN_02046294: ; 0x02046294
- mov r0, #0xeb
- lsl r0, r0, #0x2
- bx lr
- .balign 4
-
- thumb_func_start FUN_0204629C
-FUN_0204629C: ; 0x0204629C
- ldr r3, _020462A8 ; =Call_FillMemWithValue
- mov r2, #0xeb
- mov r1, #0x0
- lsl r2, r2, #0x2
- bx r3
- nop
-_020462A8: .word Call_FillMemWithValue
-
- thumb_func_start FUN_020462AC
-FUN_020462AC: ; 0x020462AC
- ldr r3, _020462B4 ; =FUN_02022610
- mov r1, #0x4
- bx r3
- nop
-_020462B4: .word FUN_02022610
-
- thumb_func_start FUN_020462B8
-FUN_020462B8: ; 0x020462B8
- push {r3-r5, lr}
- add r4, r1, #0x0
- bl FUN_02046338
- cmp r0, #0x0
- beq _020462DE
- lsr r3, r4, #0x1f
- lsl r2, r4, #0x1d
- ldrb r5, [r0, #0x0]
- sub r2, r2, r3
- mov r1, #0x1d
- ror r2, r1
- mov r0, #0x1
- add r1, r3, r2
- add r2, r0, #0x0
- lsl r2, r1
- add r1, r5, #0x0
- tst r1, r2
- bne _020462E0
-_020462DE:
- mov r0, #0x0
-_020462E0:
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_020462E4
-FUN_020462E4: ; 0x020462E4
- push {r4-r6, lr}
- add r4, r1, #0x0
- bl FUN_02046338
- cmp r0, #0x0
- beq _02046308
- lsr r5, r4, #0x1f
- lsl r3, r4, #0x1d
- sub r3, r3, r5
- mov r2, #0x1d
- ror r3, r2
- mov r6, #0x1
- add r2, r5, r3
- add r3, r6, #0x0
- ldrb r1, [r0, #0x0]
- lsl r3, r2
- orr r1, r3
- strb r1, [r0, #0x0]
-_02046308:
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_0204630C
-FUN_0204630C: ; 0x0204630C
- push {r4-r6, lr}
- add r4, r1, #0x0
- bl FUN_02046338
- cmp r0, #0x0
- beq _02046334
- lsr r5, r4, #0x1f
- lsl r3, r4, #0x1d
- sub r3, r3, r5
- mov r2, #0x1d
- ror r3, r2
- mov r6, #0x1
- add r2, r5, r3
- add r3, r6, #0x0
- lsl r3, r2
- mov r2, #0xff
- ldrb r1, [r0, #0x0]
- eor r2, r3
- and r1, r2
- strb r1, [r0, #0x0]
-_02046334:
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02046338
-FUN_02046338: ; 0x02046338
- push {r3-r5, lr}
- add r5, r0, #0x0
- cmp r1, #0x0
- bne _02046344
- mov r0, #0x0
- pop {r3-r5, pc}
-_02046344:
- mov r0, #0x1
- lsl r0, r0, #0xe
- cmp r1, r0
- bhs _02046364
- mov r0, #0x5b
- lsr r4, r1, #0x3
- lsl r0, r0, #0x2
- cmp r4, r0
- blt _0204635A
- bl ErrorHandling
-_0204635A:
- mov r0, #0x9
- lsl r0, r0, #0x6
- add r0, r5, r0
- add r0, r0, r4
- pop {r3-r5, pc}
-_02046364:
- sub r1, r1, r0
- asr r0, r1, #0x2
- lsr r0, r0, #0x1d
- add r0, r1, r0
- asr r4, r0, #0x3
- cmp r4, #0x8
- blt _02046376
- bl ErrorHandling
-_02046376:
- ldr r0, _0204637C ; =0x021C5A14
- add r0, r0, r4
- pop {r3-r5, pc}
- .balign 4
-_0204637C: .word 0x021C5A14
-
- thumb_func_start FUN_02046380
-FUN_02046380: ; 0x02046380
- push {r3-r5, lr}
- add r5, r0, #0x0
- mov r0, #0x1
- lsl r0, r0, #0xe
- sub r4, r1, r0
- mov r0, #0x12
- lsl r0, r0, #0x4
- cmp r4, r0
- blt _02046396
- bl ErrorHandling
-_02046396:
- lsl r0, r4, #0x1
- add r0, r5, r0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0204639C
-FUN_0204639C: ; 0x0204639C
- push {r3-r7, lr}
- add r5, r0, #0x0
- mov r0, #0x20
- add r6, r1, #0x0
- add r1, r0, #0x0
- add r7, r2, #0x0
- bl FUN_020169D8
- add r4, r0, #0x0
- mov r0, #0x0
- str r0, [r4, #0x0]
- str r6, [r4, #0x4]
- str r0, [r4, #0x8]
- str r7, [r4, #0xc]
- str r0, [r4, #0x10]
- str r0, [r4, #0x14]
- mov r0, #0x20
- mov r1, #0x4
- str r5, [r4, #0x18]
- bl FUN_020169D8
- str r0, [r4, #0x1c]
- add r0, r4, #0x0
- pop {r3-r7, pc}
-
- thumb_func_start FUN_020463CC
-FUN_020463CC: ; 0x020463CC
- push {r4-r6, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0x10]
- add r4, r1, #0x0
- add r6, r2, #0x0
- cmp r0, #0x0
- beq _020463DE
- bl ErrorHandling
-_020463DE:
- add r0, r5, #0x0
- add r1, r4, #0x0
- add r2, r6, #0x0
- bl FUN_0204639C
- str r0, [r5, #0x10]
- pop {r4-r6, pc}
-
- thumb_func_start FUN_020463EC
-FUN_020463EC: ; 0x020463EC
- push {r4, lr}
- add r4, r0, #0x0
- str r1, [r4, #0x4]
- mov r0, #0x0
- str r0, [r4, #0x8]
- str r2, [r4, #0xc]
- ldr r0, [r4, #0x14]
- cmp r0, #0x0
- bne _02046400
- beq _0204640A
-_02046400:
- bl FUN_02016A18
- mov r0, #0x0
- str r0, [r4, #0x10]
- str r0, [r4, #0x14]
-_0204640A:
- pop {r4, pc}
-
- thumb_func_start FUN_0204640C
-FUN_0204640C: ; 0x0204640C
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x18]
- bl FUN_0204639C
- str r4, [r0, #0x0]
- ldr r1, [r4, #0x18]
- str r0, [r1, #0x10]
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02046420
-FUN_02046420: ; 0x02046420
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0x10]
- cmp r0, #0x0
- bne _0204642E
- mov r0, #0x0
- pop {r3-r5, pc}
-_0204642E:
- ldr r1, [r0, #0x4]
- blx r1
- cmp r0, #0x1
- bne _02046466
-_02046436:
- ldr r0, [r5, #0x10]
- ldr r4, [r0, #0x0]
- ldr r0, [r0, #0x14]
- cmp r0, #0x0
- beq _02046444
- bl FUN_02016A18
-_02046444:
- ldr r0, [r5, #0x10]
- ldr r0, [r0, #0x1c]
- bl FUN_02016A18
- ldr r0, [r5, #0x10]
- bl FUN_02016A18
- str r4, [r5, #0x10]
- cmp r4, #0x0
- bne _0204645C
- mov r0, #0x1
- pop {r3-r5, pc}
-_0204645C:
- ldr r0, [r5, #0x10]
- ldr r1, [r0, #0x4]
- blx r1
- cmp r0, #0x1
- beq _02046436
-_02046466:
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0204646C
-FUN_0204646C: ; 0x0204646C
- ldr r0, [r0, #0x10]
- cmp r0, #0x0
- beq _02046476
- mov r0, #0x1
- bx lr
-_02046476:
- mov r0, #0x0
- bx lr
- .balign 4
-
- thumb_func_start FUN_0204647C
-FUN_0204647C: ; 0x0204647C
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_0203739C
- cmp r0, #0x0
- bne _02046492
- add r0, r4, #0x0
- bl FUN_020373C4
- cmp r0, #0x0
- beq _02046496
-_02046492:
- mov r0, #0x1
- pop {r4, pc}
-_02046496:
- mov r0, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0204649C
-FUN_0204649C: ; 0x0204649C
- ldr r3, _020464A0 ; =FUN_02037350
- bx r3
- .balign 4
-_020464A0: .word FUN_02037350
-
- thumb_func_start FUN_020464A4
-FUN_020464A4: ; 0x020464A4
- push {r3, lr}
- bl FUN_020373AC
- cmp r0, #0x0
- beq _020464B2
- mov r0, #0x1
- pop {r3, pc}
-_020464B2:
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_020464B8
-FUN_020464B8: ; 0x020464B8
- push {r3-r5, lr}
- add r4, r0, #0x0
- bl FUN_02046528
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- cmp r0, #0x0
- beq _020464D6
- cmp r0, #0x1
- beq _020464E8
- b _020464FC
-_020464D6:
- ldr r1, [r4, #0x4]
- ldr r2, [r4, #0x8]
- add r0, r5, #0x0
- bl FUN_020373D4
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _020464FC
-_020464E8:
- add r0, r5, #0x0
- bl FUN_0204647C
- cmp r0, #0x0
- bne _020464FC
- add r0, r4, #0x0
- bl FUN_02016A18
- mov r0, #0x1
- pop {r3-r5, pc}
-_020464FC:
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02046500
-FUN_02046500: ; 0x02046500
- push {r4-r6, lr}
- add r6, r0, #0x0
- add r5, r1, #0x0
- mov r0, #0x20
- mov r1, #0xc
- add r4, r2, #0x0
- bl FUN_020169D8
- add r2, r0, #0x0
- mov r0, #0x0
- str r0, [r2, #0x0]
- str r5, [r2, #0x4]
- ldr r1, _02046524 ; =FUN_020464B8
- add r0, r6, #0x0
- str r4, [r2, #0x8]
- bl FUN_0204640C
- pop {r4-r6, pc}
- .balign 4
-_02046524: .word FUN_020464B8
-
- thumb_func_start FUN_02046528
-FUN_02046528: ; 0x02046528
- ldr r0, [r0, #0x18]
- bx lr
-
- thumb_func_start FUN_0204652C
-FUN_0204652C: ; 0x0204652C
- ldr r0, [r0, #0xc]
- bx lr
-
- thumb_func_start FUN_02046530
-FUN_02046530: ; 0x02046530
- add r0, #0x8
- bx lr
-
- thumb_func_start FUN_02046534
-FUN_02046534: ; 0x02046534
- ldr r0, [r0, #0x1c]
- ldr r0, [r0, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_0204653C
-FUN_0204653C: ; 0x0204653C
- push {r4-r6, lr}
- add r4, r0, #0x0
- bl FUN_02046528
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_0204652C
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl FUN_02046530
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- cmp r0, #0x0
- beq _02046562
- cmp r0, #0x1
- beq _02046572
- b _02046580
-_02046562:
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_0203780C
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02046580
-_02046572:
- add r0, r5, #0x0
- bl FUN_0204647C
- cmp r0, #0x0
- bne _02046580
- mov r0, #0x1
- pop {r4-r6, pc}
-_02046580:
- mov r0, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02046584
-FUN_02046584: ; 0x02046584
- ldr r3, _0204658C ; =FUN_0204640C
- add r2, r1, #0x0
- ldr r1, _02046590 ; =FUN_0204653C
- bx r3
- .balign 4
-_0204658C: .word FUN_0204640C
-_02046590: .word FUN_0204653C
-
- thumb_func_start FUN_02046594
-FUN_02046594: ; 0x02046594
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r6, r1, #0x0
- mov r0, #0xb
- mov r1, #0x14
- add r7, r2, #0x0
- add r4, r3, #0x0
- bl FUN_020169D8
- str r4, [r0, #0x0]
- cmp r4, #0x0
- beq _020465B0
- mov r1, #0x0
- str r1, [r4, #0x0]
-_020465B0:
- str r6, [r0, #0x4]
- str r7, [r0, #0x8]
- str r5, [r0, #0x10]
- pop {r3-r7, pc}
-
- thumb_func_start FUN_020465B8
-FUN_020465B8: ; 0x020465B8
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x10]
- bl FUN_02047964
- add r0, r4, #0x0
- bl FUN_02016A18
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_020465CC
-FUN_020465CC: ; 0x020465CC
- ldr r2, [r0, #0x0]
- cmp r2, #0x0
- beq _020465D8
- ldr r1, [r0, #0x10]
- ldr r1, [r1, #0x14]
- str r1, [r2, #0x0]
-_020465D8:
- ldr r0, [r0, #0x10]
- ldr r3, _020465E0 ; =FUN_020480B8
- ldr r0, [r0, #0x14]
- bx r3
- .balign 4
-_020465E0: .word FUN_020480B8
-
- thumb_func_start FUN_020465E4
-FUN_020465E4: ; 0x020465E4
- push {r3, lr}
- mov r2, #0x2
- ldr r3, [r0, #0x0]
- lsl r2, r2, #0x1e
- tst r2, r3
- bne _020465F4
- bl FUN_02047F38
-_020465F4:
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_020465F8
-FUN_020465F8: ; 0x020465F8
- push {r3-r7, lr}
- add r7, r0, #0x0
- bl FUN_02046528
- add r6, r0, #0x0
- add r0, r7, #0x0
- bl FUN_0204652C
- add r5, r0, #0x0
- add r0, r7, #0x0
- bl FUN_02046530
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- cmp r0, #0x5
- bhi _020466F8
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_02046624: ; jump table (using 16-bit offset)
- .short _02046630 - _02046624 - 2; case 0
- .short _02046648 - _02046624 - 2; case 1
- .short _02046656 - _02046624 - 2; case 2
- .short _02046666 - _02046624 - 2; case 3
- .short _020466DA - _02046624 - 2; case 4
- .short _020466EE - _02046624 - 2; case 5
-_02046630:
- ldr r0, [r6, #0x34]
- bl FUN_02058780
- ldr r1, [r5, #0x4]
- ldr r2, [r5, #0x8]
- add r0, r7, #0x0
- bl FUN_0204AEF8
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _020466F8
-_02046648:
- add r0, r7, #0x0
- bl FUN_0204AF3C
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _020466F8
-_02046656:
- ldr r1, [r5, #0x10]
- add r0, r7, #0x0
- bl FUN_02046584
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _020466F8
-_02046666:
- ldr r0, [r5, #0x10]
- add r1, r6, #0x0
- bl FUN_020465E4
- ldr r2, [r5, #0x10]
- ldr r1, [r2, #0x0]
- cmp r1, #0x0
- beq _02046682
- mov r0, #0x1
- lsl r0, r0, #0x8
- cmp r1, r0
- beq _02046682
- cmp r1, #0x4a
- bne _02046690
-_02046682:
- mov r1, #0x4d
- lsl r1, r1, #0x2
- ldr r1, [r2, r1]
- ldr r2, [r2, #0x14]
- add r0, r6, #0x0
- bl FUN_02061080
-_02046690:
- add r0, r5, #0x0
- bl FUN_020465CC
- cmp r0, #0x0
- bne _020466A4
- add r0, r5, #0x0
- bl FUN_020465B8
- mov r0, #0x1
- pop {r3-r7, pc}
-_020466A4:
- ldr r0, [r6, #0xc]
- bl FUN_020462AC
- bl FUN_0205ED3C
- cmp r0, #0x0
- beq _020466BC
- ldr r0, [r6, #0xc]
- bl FUN_0206BB1C
- bl FUN_02085140
-_020466BC:
- ldr r1, [r5, #0x10]
- add r0, r6, #0x0
- bl FUN_020472F4
- ldr r1, [r5, #0x10]
- add r0, r6, #0x0
- bl FUN_020473CC
- add r0, r7, #0x0
- bl FUN_0204AF84
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _020466F8
-_020466DA:
- ldr r0, [r6, #0x34]
- bl FUN_020587B0
- add r0, r7, #0x0
- bl FUN_0204B00C
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _020466F8
-_020466EE:
- add r0, r5, #0x0
- bl FUN_020465B8
- mov r0, #0x1
- pop {r3-r7, pc}
-_020466F8:
- mov r0, #0x0
- pop {r3-r7, pc}
-
- thumb_func_start FUN_020466FC
-FUN_020466FC: ; 0x020466FC
- push {r4, lr}
- add r4, r0, #0x0
- add r0, r1, #0x0
- add r1, r2, #0x0
- add r2, r3, #0x0
- ldr r3, [sp, #0x8]
- bl FUN_02046594
- add r2, r0, #0x0
- ldr r1, _02046718 ; =FUN_020465F8
- add r0, r4, #0x0
- bl FUN_0204640C
- pop {r4, pc}
- .balign 4
-_02046718: .word FUN_020465F8
-
- thumb_func_start FUN_0204671C
-FUN_0204671C: ; 0x0204671C
- push {r3, lr}
- mov r2, #0xf
- and r0, r2
- cmp r0, #0x6
- bhi _02046754
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_02046732: ; jump table (using 16-bit offset)
- .short _02046754 - _02046732 - 2; case 0
- .short _02046740 - _02046732 - 2; case 1
- .short _0204674A - _02046732 - 2; case 2
- .short _02046754 - _02046732 - 2; case 3
- .short _02046754 - _02046732 - 2; case 4
- .short _0204674A - _02046732 - 2; case 5
- .short _02046740 - _02046732 - 2; case 6
-_02046740:
- ldr r0, [r1, #0xc]
- mov r1, #0x1
- bl FUN_0202E25C
- pop {r3, pc}
-_0204674A:
- ldr r0, [r1, #0xc]
- sub r2, #0x10
- add r1, r2, #0x0
- bl FUN_0202E25C
-_02046754:
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_02046758
-FUN_02046758: ; 0x02046758
- push {r3-r7, lr}
- add r6, r0, #0x0
- bl FUN_02046528
- add r7, r0, #0x0
- add r0, r6, #0x0
- bl FUN_0204652C
- add r5, r0, #0x0
- add r0, r6, #0x0
- bl FUN_02046530
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- cmp r0, #0x5
- bhi _020467F6
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_02046784: ; jump table (using 16-bit offset)
- .short _02046790 - _02046784 - 2; case 0
- .short _020467A2 - _02046784 - 2; case 1
- .short _020467B0 - _02046784 - 2; case 2
- .short _020467C0 - _02046784 - 2; case 3
- .short _020467EC - _02046784 - 2; case 4
- .short _020467EC - _02046784 - 2; case 5
-_02046790:
- ldr r1, [r5, #0x4]
- ldr r2, [r5, #0x8]
- add r0, r6, #0x0
- bl FUN_0204AEF8
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _020467F6
-_020467A2:
- add r0, r6, #0x0
- bl FUN_0204AF3C
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _020467F6
-_020467B0:
- ldr r1, [r5, #0x10]
- add r0, r6, #0x0
- bl FUN_02046584
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _020467F6
-_020467C0:
- ldr r0, [r5, #0x10]
- add r1, r7, #0x0
- ldr r0, [r0, #0x14]
- bl FUN_0204671C
- ldr r0, [r5, #0x10]
- add r1, r7, #0x0
- bl FUN_02047FA4
- ldr r0, [r7, #0xc]
- bl FUN_02029FC8
- mov r1, #0x15
- bl FUN_0202A170
- add r0, r6, #0x0
- bl FUN_0204AF84
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _020467F6
-_020467EC:
- add r0, r5, #0x0
- bl FUN_020465B8
- mov r0, #0x1
- pop {r3-r7, pc}
-_020467F6:
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_020467FC
-FUN_020467FC: ; 0x020467FC
- push {r3-r7, lr}
- add r7, r0, #0x0
- bl FUN_02046528
- add r6, r0, #0x0
- add r0, r7, #0x0
- bl FUN_0204652C
- add r5, r0, #0x0
- add r0, r7, #0x0
- bl FUN_02046530
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- cmp r0, #0x0
- beq _02046826
- cmp r0, #0x1
- beq _02046844
- cmp r0, #0x2
- beq _0204686A
- b _02046874
-_02046826:
- ldr r1, [r5, #0x8]
- mov r0, #0x5
- lsl r1, r1, #0x10
- lsr r1, r1, #0x10
- mov r2, #0x1
- bl FUN_0200433C
- ldr r1, [r5, #0x10]
- add r0, r7, #0x0
- bl FUN_02046584
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02046874
-_02046844:
- ldr r0, [r5, #0x10]
- add r1, r6, #0x0
- ldr r0, [r0, #0x14]
- bl FUN_0204671C
- ldr r0, [r5, #0x10]
- add r1, r6, #0x0
- bl FUN_02047FA4
- ldr r0, [r6, #0xc]
- bl FUN_02029FC8
- mov r1, #0x15
- bl FUN_0202A170
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02046874
-_0204686A:
- add r0, r5, #0x0
- bl FUN_020465B8
- mov r0, #0x1
- pop {r3-r7, pc}
-_02046874:
- mov r0, #0x0
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02046878
-FUN_02046878: ; 0x02046878
- push {r3-r7, lr}
- add r6, r0, #0x0
- bl FUN_02046528
- add r7, r0, #0x0
- add r0, r6, #0x0
- bl FUN_0204652C
- add r5, r0, #0x0
- add r0, r6, #0x0
- bl FUN_02046530
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- cmp r0, #0x5
- bhi _02046922
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_020468A4: ; jump table (using 16-bit offset)
- .short _020468B0 - _020468A4 - 2; case 0
- .short _020468C2 - _020468A4 - 2; case 1
- .short _020468D0 - _020468A4 - 2; case 2
- .short _020468E0 - _020468A4 - 2; case 3
- .short _0204690A - _020468A4 - 2; case 4
- .short _02046918 - _020468A4 - 2; case 5
-_020468B0:
- ldr r1, [r5, #0x4]
- ldr r2, [r5, #0x8]
- add r0, r6, #0x0
- bl FUN_0204AEF8
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02046922
-_020468C2:
- add r0, r6, #0x0
- bl FUN_0204AF3C
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02046922
-_020468D0:
- ldr r1, [r5, #0x10]
- add r0, r6, #0x0
- bl FUN_02046584
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02046922
-_020468E0:
- ldr r0, [r5, #0x10]
- add r1, r7, #0x0
- bl FUN_02047FA4
- mov r1, #0x4e
- ldr r2, [r5, #0x10]
- lsl r1, r1, #0x2
- add r0, r7, #0x0
- add r1, r2, r1
- bl FUN_02060044
- add r0, r5, #0x0
- bl FUN_020465CC
- add r0, r6, #0x0
- bl FUN_0204AF84
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02046922
-_0204690A:
- add r0, r6, #0x0
- bl FUN_0204B00C
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02046922
-_02046918:
- add r0, r5, #0x0
- bl FUN_020465B8
- mov r0, #0x1
- pop {r3-r7, pc}
-_02046922:
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02046928
-FUN_02046928: ; 0x02046928
- push {r4, lr}
- add r4, r0, #0x0
- add r0, r1, #0x0
- add r1, r2, #0x0
- add r2, r3, #0x0
- ldr r3, [sp, #0x8]
- bl FUN_02046594
- add r2, r0, #0x0
- ldr r1, _02046944 ; =FUN_02046878
- add r0, r4, #0x0
- bl FUN_0204640C
- pop {r4, pc}
- .balign 4
-_02046944: .word FUN_02046878
-
- thumb_func_start FUN_02046948
-FUN_02046948: ; 0x02046948
- push {r3-r7, lr}
- add r4, r1, #0x0
- add r7, r0, #0x0
- add r5, r2, #0x0
- bl FUN_02046528
- add r1, r0, #0x0
- add r0, r4, #0x0
- bl FUN_02244558
- add r4, r0, #0x0
- bl FUN_020475A0
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl FUN_020475B0
- add r3, r0, #0x0
- add r0, r7, #0x0
- add r1, r4, #0x0
- add r2, r6, #0x0
- str r5, [sp, #0x0]
- bl FUN_02046928
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0204697C
-FUN_0204697C: ; 0x0204697C
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r6, r1, #0x0
- mov r0, #0xb
- mov r1, #0x14
- add r7, r2, #0x0
- add r4, r3, #0x0
- bl FUN_020169D8
- str r4, [r0, #0xc]
- cmp r4, #0x0
- beq _02046998
- mov r1, #0x0
- str r1, [r4, #0x0]
-_02046998:
- str r6, [r0, #0x4]
- str r7, [r0, #0x8]
- str r5, [r0, #0x10]
- mov r1, #0x0
- str r1, [r0, #0x0]
- pop {r3-r7, pc}
-
- thumb_func_start FUN_020469A4
-FUN_020469A4: ; 0x020469A4
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x10]
- bl FUN_02047964
- add r0, r4, #0x0
- bl FUN_02016A18
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_020469B8
-FUN_020469B8: ; 0x020469B8
- push {r4-r6, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0xc]
- add r4, r1, #0x0
- bl FUN_020462AC
- bl FUN_0205F214
- cmp r0, #0x0
- beq _020469F2
- add r0, r4, #0x0
- bl FUN_020475A0
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl FUN_020475B0
- add r2, r0, #0x0
- add r0, r4, #0x0
- add r1, r6, #0x0
- mov r3, #0x0
- bl FUN_02046594
- add r2, r0, #0x0
- ldr r1, _02046A18 ; =FUN_02046C1C
- add r0, r5, #0x0
- bl FUN_020463CC
- pop {r4-r6, pc}
-_020469F2:
- add r0, r4, #0x0
- bl FUN_020475A0
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl FUN_020475B0
- add r2, r0, #0x0
- add r0, r4, #0x0
- add r1, r6, #0x0
- mov r3, #0x0
- bl FUN_0204697C
- add r2, r0, #0x0
- ldr r1, _02046A1C ; =FUN_02046A88
- add r0, r5, #0x0
- bl FUN_020463CC
- pop {r4-r6, pc}
- .balign 4
-_02046A18: .word FUN_02046C1C
-_02046A1C: .word FUN_02046A88
-
- thumb_func_start FUN_02046A20
-FUN_02046A20: ; 0x02046A20
- push {r4-r6, lr}
- ldr r0, [r0, #0xc]
- add r5, r1, #0x0
- add r4, r2, #0x0
- bl FUN_020462AC
- bl FUN_0205F214
- cmp r0, #0x0
- beq _02046A5A
- add r0, r4, #0x0
- bl FUN_020475A0
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl FUN_020475B0
- add r2, r0, #0x0
- add r0, r4, #0x0
- add r1, r6, #0x0
- mov r3, #0x0
- bl FUN_02046594
- add r2, r0, #0x0
- ldr r1, _02046A80 ; =FUN_02046C1C
- add r0, r5, #0x0
- bl FUN_020463EC
- pop {r4-r6, pc}
-_02046A5A:
- add r0, r4, #0x0
- bl FUN_020475A0
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl FUN_020475B0
- add r2, r0, #0x0
- add r0, r4, #0x0
- add r1, r6, #0x0
- mov r3, #0x0
- bl FUN_0204697C
- add r2, r0, #0x0
- ldr r1, _02046A84 ; =FUN_02046A88
- add r0, r5, #0x0
- bl FUN_020463EC
- pop {r4-r6, pc}
- .balign 4
-_02046A80: .word FUN_02046C1C
-_02046A84: .word FUN_02046A88
-
- thumb_func_start FUN_02046A88
-FUN_02046A88: ; 0x02046A88
- push {r4-r6, lr}
- add r6, r0, #0x0
- bl FUN_02046528
- add r5, r0, #0x0
- add r0, r6, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- cmp r0, #0x6
- bls _02046AA2
- b _02046C12
-_02046AA2:
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_02046AAE: ; jump table (using 16-bit offset)
- .short _02046ABC - _02046AAE - 2; case 0
- .short _02046AE0 - _02046AAE - 2; case 1
- .short _02046AEE - _02046AAE - 2; case 2
- .short _02046AFE - _02046AAE - 2; case 3
- .short _02046BAE - _02046AAE - 2; case 4
- .short _02046BC4 - _02046AAE - 2; case 5
- .short _02046BF4 - _02046AAE - 2; case 6
-_02046ABC:
- ldr r0, [r5, #0x34]
- bl FUN_02058780
- ldr r0, [r5, #0xc]
- bl FUN_02029FC8
- mov r1, #0x7
- bl FUN_0202A0E8
- ldr r1, [r4, #0x4]
- ldr r2, [r4, #0x8]
- add r0, r6, #0x0
- bl FUN_0204AEF8
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02046C12
-_02046AE0:
- add r0, r6, #0x0
- bl FUN_0204AF3C
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02046C12
-_02046AEE:
- ldr r1, [r4, #0x10]
- add r0, r6, #0x0
- bl FUN_02046584
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02046C12
-_02046AFE:
- ldr r0, [r4, #0x10]
- add r1, r5, #0x0
- bl FUN_020465E4
- mov r1, #0x4d
- ldr r2, [r4, #0x10]
- lsl r1, r1, #0x2
- ldr r1, [r2, r1]
- ldr r2, [r2, #0x14]
- add r0, r5, #0x0
- bl FUN_02061080
- ldr r0, [r4, #0x10]
- ldr r0, [r0, #0x14]
- bl FUN_020480B8
- cmp r0, #0x0
- bne _02046B3E
- add r0, r4, #0x0
- bl FUN_020469A4
- add r5, #0x90
- ldr r0, [r5, #0x0]
- bl FUN_0205DD40
- ldr r1, _02046C18 ; =FUN_0204837C
- add r0, r6, #0x0
- mov r2, #0x0
- bl FUN_020463EC
- mov r0, #0x0
- pop {r4-r6, pc}
-_02046B3E:
- ldr r0, [r5, #0xc]
- bl FUN_020462AC
- bl FUN_0205ED3C
- cmp r0, #0x0
- beq _02046B56
- ldr r0, [r5, #0xc]
- bl FUN_0206BB1C
- bl FUN_02085140
-_02046B56:
- ldr r1, [r4, #0x10]
- add r0, r5, #0x0
- bl FUN_020472F4
- ldr r1, [r4, #0x10]
- add r0, r5, #0x0
- bl FUN_020473CC
- add r0, r5, #0x0
- add r0, #0x90
- ldr r0, [r0, #0x0]
- bl FUN_0205E128
- cmp r0, #0x0
- beq _02046BA0
- add r0, r5, #0x0
- add r0, #0x90
- ldr r0, [r0, #0x0]
- bl FUN_0205E0A4
- cmp r0, #0x0
- beq _02046B98
- ldr r0, [r4, #0x10]
- ldr r0, [r0, #0x14]
- cmp r0, #0x1
- beq _02046BA0
- cmp r0, #0x4
- beq _02046BA0
- add r5, #0x90
- ldr r0, [r5, #0x0]
- bl FUN_0205DD40
- b _02046BA0
-_02046B98:
- add r5, #0x90
- ldr r0, [r5, #0x0]
- bl FUN_0205DD40
-_02046BA0:
- add r0, r6, #0x0
- bl FUN_0204AF84
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02046C12
-_02046BAE:
- ldr r1, [r4, #0x10]
- add r0, r5, #0x0
- bl FUN_02248724
- add r0, r6, #0x0
- bl FUN_0204B00C
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02046C12
-_02046BC4:
- add r0, r5, #0x0
- add r0, #0x90
- ldr r0, [r0, #0x0]
- bl FUN_0205E128
- cmp r0, #0x0
- beq _02046BEC
- ldr r1, [r4, #0x10]
- add r2, r5, #0x0
- add r2, #0x90
- ldr r1, [r1, #0x14]
- ldr r2, [r2, #0x0]
- add r0, r5, #0x0
- bl FUN_0205DED4
- add r0, r5, #0x0
- add r5, #0x90
- ldr r1, [r5, #0x0]
- bl FUN_0205DF44
-_02046BEC:
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02046C12
-_02046BF4:
- add r0, r5, #0x0
- add r0, #0x90
- ldr r0, [r0, #0x0]
- bl FUN_0205DF9C
- cmp r0, #0x0
- beq _02046C12
- ldr r0, [r5, #0x34]
- bl FUN_020587B0
- add r0, r4, #0x0
- bl FUN_020469A4
- mov r0, #0x1
- pop {r4-r6, pc}
-_02046C12:
- mov r0, #0x0
- pop {r4-r6, pc}
- nop
-_02046C18: .word FUN_0204837C
-
- thumb_func_start FUN_02046C1C
-FUN_02046C1C: ; 0x02046C1C
- push {r4-r7, lr}
- sub sp, #0xc
- add r7, r0, #0x0
- bl FUN_02046528
- add r6, r0, #0x0
- add r0, r7, #0x0
- bl FUN_0204652C
- add r5, r0, #0x0
- add r0, r7, #0x0
- bl FUN_02046530
- add r4, r0, #0x0
- ldr r0, [r6, #0xc]
- bl FUN_02034E30
- bl FUN_02034E24
- str r0, [sp, #0x0]
- ldr r0, [r4, #0x0]
- cmp r0, #0x7
- bls _02046C4C
- b _02046DA0
-_02046C4C:
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_02046C58: ; jump table (using 16-bit offset)
- .short _02046C68 - _02046C58 - 2; case 0
- .short _02046C8C - _02046C58 - 2; case 1
- .short _02046C9A - _02046C58 - 2; case 2
- .short _02046CAA - _02046C58 - 2; case 3
- .short _02046D0E - _02046C58 - 2; case 4
- .short _02046D1C - _02046C58 - 2; case 5
- .short _02046D30 - _02046C58 - 2; case 6
- .short _02046D94 - _02046C58 - 2; case 7
-_02046C68:
- ldr r0, [r6, #0x34]
- bl FUN_02058780
- ldr r0, [r6, #0xc]
- bl FUN_02029FC8
- mov r1, #0x7
- bl FUN_0202A0E8
- ldr r1, [r5, #0x4]
- ldr r2, [r5, #0x8]
- add r0, r7, #0x0
- bl FUN_0204AEF8
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02046DA0
-_02046C8C:
- add r0, r7, #0x0
- bl FUN_0204AF3C
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02046DA0
-_02046C9A:
- ldr r1, [r5, #0x10]
- add r0, r7, #0x0
- bl FUN_02046584
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02046DA0
-_02046CAA:
- ldr r0, [r5, #0x10]
- add r1, r6, #0x0
- bl FUN_020465E4
- ldr r0, [r5, #0x10]
- ldr r0, [r0, #0x14]
- cmp r0, #0x4
- bne _02046CD4
- ldr r0, [r6, #0xc]
- bl FUN_02022504
- str r0, [sp, #0x4]
- ldr r0, [r5, #0x10]
- mov r1, #0x0
- ldr r0, [r0, #0x8]
- bl FUN_0206B9B0
- add r1, r0, #0x0
- ldr r0, [sp, #0x4]
- bl FUN_02060FE0
-_02046CD4:
- ldr r1, [r5, #0x10]
- add r0, r6, #0x0
- bl FUN_020472F4
- ldr r0, [sp, #0x0]
- ldrh r0, [r0, #0x0]
- cmp r0, #0x0
- bne _02046CFE
- ldr r0, [r5, #0x10]
- ldr r0, [r0, #0x14]
- cmp r0, #0x4
- beq _02046CFE
- ldr r0, [r6, #0xc]
- bl FUN_02034E30
- bl FUN_02034DD0
- add r1, r0, #0x0
- add r0, r7, #0x0
- bl FUN_02049160
-_02046CFE:
- ldr r1, [r5, #0x10]
- add r0, r6, #0x0
- bl FUN_020473CC
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02046DA0
-_02046D0E:
- add r0, r7, #0x0
- bl FUN_0204AF84
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02046DA0
-_02046D1C:
- ldr r0, [r6, #0x34]
- bl FUN_020587B0
- add r0, r7, #0x0
- bl FUN_0204B00C
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02046DA0
-_02046D30:
- ldr r0, [sp, #0x0]
- ldrh r0, [r0, #0x0]
- cmp r0, #0x0
- bne _02046D5C
- ldr r0, [r5, #0x10]
- ldr r0, [r0, #0x14]
- cmp r0, #0x4
- bne _02046D4E
- mov r2, #0x0
- ldr r1, _02046DA8 ; =0x00002262
- add r0, r7, #0x0
- add r3, r2, #0x0
- bl FUN_02038CD8
- b _02046D8C
-_02046D4E:
- mov r2, #0x0
- ldr r1, _02046DAC ; =0x00002269
- add r0, r7, #0x0
- add r3, r2, #0x0
- bl FUN_02038CD8
- b _02046D8C
-_02046D5C:
- ldr r0, [r6, #0xc]
- bl FUN_02022510
- str r0, [sp, #0x8]
- ldr r0, [r6, #0xc]
- bl FUN_0206BB1C
- add r5, r0, #0x0
- ldr r0, [sp, #0x8]
- bl FUN_0206B334
- cmp r0, #0x12
- bne _02046D8C
- add r0, r5, #0x0
- bl FUN_0206B9AC
- cmp r0, #0x6
- bne _02046D8C
- mov r2, #0x0
- ldr r1, _02046DB0 ; =0x00002276
- add r0, r7, #0x0
- add r3, r2, #0x0
- bl FUN_02038CD8
-_02046D8C:
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02046DA0
-_02046D94:
- add r0, r5, #0x0
- bl FUN_020465B8
- add sp, #0xc
- mov r0, #0x1
- pop {r4-r7, pc}
-_02046DA0:
- mov r0, #0x0
- add sp, #0xc
- pop {r4-r7, pc}
- nop
-_02046DA8: .word 0x00002262
-_02046DAC: .word 0x00002269
-_02046DB0: .word 0x00002276
-
- thumb_func_start FUN_02046DB4
-FUN_02046DB4: ; 0x02046DB4
- push {r3-r7, lr}
- add r7, r0, #0x0
- add r6, r1, #0x0
- bl FUN_02046528
- add r5, r0, #0x0
- add r0, #0x90
- ldr r0, [r0, #0x0]
- bl FUN_0205DD40
- mov r0, #0xb
- mov r1, #0x0
- bl FUN_020476CC
- add r1, r5, #0x0
- add r4, r0, #0x0
- bl FUN_02047BB0
- mov r0, #0x15
- mov r1, #0x0
- lsl r0, r0, #0x4
- str r1, [r4, r0]
- add r0, r0, #0x4
- str r1, [r4, r0]
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_0223CCDC
- ldr r0, [r5, #0xc]
- bl FUN_02029FC8
- mov r1, #0x7
- bl FUN_0202A0E8
- add r0, r4, #0x0
- bl FUN_020475A0
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_020475B0
- add r3, r0, #0x0
- add r0, r7, #0x0
- add r1, r4, #0x0
- add r2, r5, #0x0
- str r6, [sp, #0x0]
- bl FUN_020466FC
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02046E18
-FUN_02046E18: ; 0x02046E18
- push {r4-r7, lr}
- sub sp, #0xc
- str r0, [sp, #0x4]
- add r7, r1, #0x0
- str r2, [sp, #0x8]
- add r6, r3, #0x0
- bl FUN_02046528
- add r5, r0, #0x0
- add r0, #0x90
- ldr r0, [r0, #0x0]
- bl FUN_0205DD40
- mov r0, #0xb
- mov r1, #0x0
- bl FUN_020476CC
- add r1, r5, #0x0
- add r4, r0, #0x0
- bl FUN_02047BB0
- ldr r2, [sp, #0x8]
- add r0, r5, #0x0
- add r1, r7, #0x0
- add r3, r4, #0x0
- bl FUN_0223CD7C
- ldr r0, [sp, #0x20]
- cmp r0, #0x0
- beq _02046E60
- mov r1, #0x63
- lsl r1, r1, #0x2
- ldr r2, [r4, r1]
- mov r0, #0x8
- orr r0, r2
- str r0, [r4, r1]
-_02046E60:
- ldr r0, [r5, #0xc]
- bl FUN_02029FC8
- mov r1, #0x7
- bl FUN_0202A0E8
- add r0, r4, #0x0
- bl FUN_020475A0
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_020475B0
- add r3, r0, #0x0
- ldr r0, [sp, #0x4]
- add r1, r4, #0x0
- add r2, r5, #0x0
- str r6, [sp, #0x0]
- bl FUN_020466FC
- add sp, #0xc
- pop {r4-r7, pc}
-
- thumb_func_start FUN_02046E8C
-FUN_02046E8C: ; 0x02046E8C
- push {r3-r7, lr}
- add r7, r0, #0x0
- bl FUN_02046528
- add r6, r0, #0x0
- add r0, r7, #0x0
- bl FUN_0204652C
- add r5, r0, #0x0
- add r0, r7, #0x0
- bl FUN_02046530
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- cmp r0, #0x6
- bhi _02046F6C
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_02046EB8: ; jump table (using 16-bit offset)
- .short _02046EC6 - _02046EB8 - 2; case 0
- .short _02046EEA - _02046EB8 - 2; case 1
- .short _02046EF8 - _02046EB8 - 2; case 2
- .short _02046F08 - _02046EB8 - 2; case 3
- .short _02046F28 - _02046EB8 - 2; case 4
- .short _02046F36 - _02046EB8 - 2; case 5
- .short _02046F4A - _02046EB8 - 2; case 6
-_02046EC6:
- ldr r0, [r6, #0x34]
- bl FUN_02058780
- ldr r0, [r6, #0xc]
- bl FUN_02029FC8
- mov r1, #0x7
- bl FUN_0202A0E8
- ldr r1, [r5, #0x4]
- ldr r2, [r5, #0x8]
- add r0, r7, #0x0
- bl FUN_0204AEF8
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02046F6C
-_02046EEA:
- add r0, r7, #0x0
- bl FUN_0204AF3C
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02046F6C
-_02046EF8:
- ldr r1, [r5, #0x10]
- add r0, r7, #0x0
- bl FUN_02046584
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02046F6C
-_02046F08:
- ldr r0, [r5, #0x10]
- add r1, r6, #0x0
- bl FUN_020465E4
- ldr r1, [r5, #0x10]
- add r0, r6, #0x0
- bl FUN_0204BAA0
- ldr r1, [r5, #0x10]
- add r0, r6, #0x0
- bl FUN_020472F4
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02046F6C
-_02046F28:
- add r0, r7, #0x0
- bl FUN_0204AF84
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02046F6C
-_02046F36:
- ldr r0, [r6, #0x34]
- bl FUN_020587B0
- add r0, r7, #0x0
- bl FUN_0204B00C
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02046F6C
-_02046F4A:
- add r0, r5, #0x0
- bl FUN_020465B8
- add r0, r6, #0x0
- bl FUN_0204BAB0
- cmp r0, #0x0
- bne _02046F68
- add r0, r7, #0x0
- mov r1, #0x3
- mov r2, #0x0
- bl FUN_02038D10
- mov r0, #0x0
- pop {r3-r7, pc}
-_02046F68:
- mov r0, #0x1
- pop {r3-r7, pc}
-_02046F6C:
- mov r0, #0x0
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02046F70
-FUN_02046F70: ; 0x02046F70
- push {r4-r6, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_020475A0
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl FUN_020475B0
- add r2, r0, #0x0
- add r0, r4, #0x0
- add r1, r6, #0x0
- mov r3, #0x0
- bl FUN_02046594
- add r2, r0, #0x0
- ldr r1, _02046F9C ; =FUN_02046E8C
- add r0, r5, #0x0
- bl FUN_020463CC
- pop {r4-r6, pc}
- .balign 4
-_02046F9C: .word FUN_02046E8C
-
- thumb_func_start FUN_02046FA0
-FUN_02046FA0: ; 0x02046FA0
- push {r3-r7, lr}
- sub sp, #0x8
- str r0, [sp, #0x4]
- add r6, r1, #0x0
- add r7, r2, #0x0
- bl FUN_02046528
- add r5, r0, #0x0
- mov r0, #0xb
- mov r1, #0x0
- bl FUN_020476CC
- add r4, r0, #0x0
- add r1, r5, #0x0
- bl FUN_02047BB0
- add r0, r5, #0x0
- add r1, r6, #0x0
- add r2, r7, #0x0
- add r3, r4, #0x0
- bl FUN_0223CD7C
- mov r0, #0x63
- mov r1, #0x1
- lsl r0, r0, #0x2
- str r1, [r4, r0]
- ldr r0, [r5, #0xc]
- bl FUN_02029FC8
- mov r1, #0x7
- bl FUN_0202A0E8
- add r0, r4, #0x0
- bl FUN_020475A0
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_020475B0
- add r3, r0, #0x0
- mov r0, #0x0
- str r0, [sp, #0x0]
- ldr r0, [sp, #0x4]
- add r1, r4, #0x0
- add r2, r5, #0x0
- bl FUN_020466FC
- add sp, #0x8
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02047004
-FUN_02047004: ; 0x02047004
- push {r3-r7, lr}
- add r5, r0, #0x0
- bl FUN_0204652C
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02046528
- add r7, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02046530
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- cmp r0, #0x6
- bhi _020470A6
- add r1, r0, r0
- add r1, pc
- ldrh r1, [r1, #0x6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_02047030: ; jump table (using 16-bit offset)
- .short _0204703E - _02047030 - 2; case 0
- .short _02047056 - _02047030 - 2; case 1
- .short _02047064 - _02047030 - 2; case 2
- .short _02047074 - _02047030 - 2; case 3
- .short _0204707A - _02047030 - 2; case 4
- .short _02047088 - _02047030 - 2; case 5
- .short _0204709C - _02047030 - 2; case 6
-_0204703E:
- ldr r0, [r7, #0x34]
- bl FUN_02058780
- ldr r1, [r6, #0x4]
- ldr r2, [r6, #0x8]
- add r0, r5, #0x0
- bl FUN_0204AEF8
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _020470A6
-_02047056:
- add r0, r5, #0x0
- bl FUN_0204AF3C
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _020470A6
-_02047064:
- ldr r1, [r6, #0x10]
- add r0, r5, #0x0
- bl FUN_02046584
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _020470A6
-_02047074:
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _020470A6
-_0204707A:
- add r0, r5, #0x0
- bl FUN_0204AF84
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _020470A6
-_02047088:
- ldr r0, [r7, #0x34]
- bl FUN_020587B0
- add r0, r5, #0x0
- bl FUN_0204B00C
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _020470A6
-_0204709C:
- add r0, r6, #0x0
- bl FUN_020465B8
- mov r0, #0x1
- pop {r3-r7, pc}
-_020470A6:
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_020470AC
-FUN_020470AC: ; 0x020470AC
- push {r4-r6, lr}
- add r5, r0, #0x0
- bl FUN_02046528
- add r1, r0, #0x0
- mov r0, #0xb
- bl FUN_02047814
- add r4, r0, #0x0
- bl FUN_020475A0
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl FUN_020475B0
- add r2, r0, #0x0
- add r0, r4, #0x0
- add r1, r6, #0x0
- mov r3, #0x0
- bl FUN_02046594
- add r2, r0, #0x0
- ldr r1, _020470E4 ; =FUN_02047004
- add r0, r5, #0x0
- bl FUN_0204640C
- pop {r4-r6, pc}
- nop
-_020470E4: .word FUN_02047004
-
- thumb_func_start FUN_020470E8
-FUN_020470E8: ; 0x020470E8
- push {r4-r7, lr}
- sub sp, #0xc
- str r0, [sp, #0x4]
- add r6, r1, #0x0
- add r5, r2, #0x0
- str r3, [sp, #0x8]
- bl FUN_02046528
- add r7, r0, #0x0
- cmp r5, #0x0
- beq _02047110
- cmp r6, r5
- beq _02047110
- ldr r0, [sp, #0x8]
- cmp r0, #0x0
- bne _0204710C
- mov r4, #0x13
- b _0204711A
-_0204710C:
- mov r4, #0x4b
- b _0204711A
-_02047110:
- cmp r6, r5
- bne _02047118
- mov r4, #0x3
- b _0204711A
-_02047118:
- mov r4, #0x1
-_0204711A:
- add r0, r7, #0x0
- add r0, #0x90
- ldr r0, [r0, #0x0]
- bl FUN_0205DD40
- mov r0, #0xb
- add r1, r4, #0x0
- bl FUN_020476CC
- add r4, r0, #0x0
- add r1, r7, #0x0
- bl FUN_02047BB0
- str r6, [r4, #0x1c]
- ldr r0, [sp, #0x8]
- str r5, [r4, #0x24]
- str r0, [r4, #0x20]
- ldr r1, [r7, #0xc]
- ldr r2, [sp, #0x20]
- add r0, r4, #0x0
- bl FUN_0206ABC4
- ldr r0, [r7, #0xc]
- bl FUN_02029FC8
- mov r1, #0x8
- bl FUN_0202A0E8
- add r0, r4, #0x0
- bl FUN_020475A0
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_020475B0
- add r3, r0, #0x0
- ldr r0, [sp, #0x24]
- add r1, r4, #0x0
- str r0, [sp, #0x0]
- ldr r0, [sp, #0x4]
- add r2, r5, #0x0
- bl FUN_020466FC
- add sp, #0xc
- pop {r4-r7, pc}
-
- thumb_func_start FUN_02047174
-FUN_02047174: ; 0x02047174
- push {r3-r7, lr}
- add r5, r2, #0x0
- add r7, r0, #0x0
- add r4, r1, #0x0
- bl FUN_02046528
- add r6, r0, #0x0
- mov r0, #0xb
- add r1, r5, #0x0
- bl FUN_020476CC
- add r5, r0, #0x0
- add r1, r6, #0x0
- add r2, r4, #0x0
- bl FUN_02047F1C
- add r0, r5, #0x0
- bl FUN_020475A0
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_020475B0
- add r2, r0, #0x0
- add r0, r5, #0x0
- add r1, r4, #0x0
- mov r3, #0x0
- bl FUN_02046594
- add r2, r0, #0x0
- ldr r1, _020471BC ; =FUN_02046758
- add r0, r7, #0x0
- bl FUN_0204640C
- pop {r3-r7, pc}
- nop
-_020471BC: .word FUN_02046758
-
- thumb_func_start FUN_020471C0
-FUN_020471C0: ; 0x020471C0
- push {r3-r7, lr}
- str r0, [sp, #0x0]
- add r5, r1, #0x0
- add r6, r2, #0x0
- add r4, r3, #0x0
- bl FUN_02046528
- add r7, r0, #0x0
- cmp r4, #0x0
- beq _020471DE
- mov r0, #0xb
- mov r1, #0x5
- bl FUN_020476CC
- b _020471E6
-_020471DE:
- mov r0, #0xb
- mov r1, #0x7
- bl FUN_020476CC
-_020471E6:
- add r4, r0, #0x0
- add r0, r4, #0x0
- add r1, r7, #0x0
- add r2, r6, #0x0
- bl FUN_02047BC0
- add r0, r4, #0x0
- bl FUN_020475A0
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl FUN_020475B0
- add r2, r0, #0x0
- add r0, r4, #0x0
- add r1, r6, #0x0
- mov r3, #0x0
- bl FUN_02046594
- add r2, r0, #0x0
- ldr r0, [sp, #0x0]
- ldr r1, _0204721C ; =FUN_020467FC
- str r5, [r2, #0xc]
- bl FUN_0204640C
- pop {r3-r7, pc}
- nop
-_0204721C: .word FUN_020467FC
-
- thumb_func_start FUN_02047220
-FUN_02047220: ; 0x02047220
- push {r3-r7, lr}
- add r5, r0, #0x0
- bl FUN_02046528
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0204652C
- add r7, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02046530
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- cmp r0, #0x0
- beq _02047246
- cmp r0, #0x1
- beq _02047258
- b _02047262
-_02047246:
- ldr r1, _02047268 ; =FUN_02046758
- add r0, r5, #0x0
- add r2, r7, #0x0
- bl FUN_0204640C
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02047262
-_02047258:
- add r0, r6, #0x0
- bl FUN_0204FF5C
- mov r0, #0x1
- pop {r3-r7, pc}
-_02047262:
- mov r0, #0x0
- pop {r3-r7, pc}
- nop
-_02047268: .word FUN_02046758
-
- thumb_func_start FUN_0204726C
-FUN_0204726C: ; 0x0204726C
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r6, r1, #0x0
- mov r0, #0xb
- add r1, r2, #0x0
- bl FUN_020476CC
- add r4, r0, #0x0
- add r1, r5, #0x0
- add r2, r6, #0x0
- bl FUN_02047F1C
- add r0, r4, #0x0
- bl FUN_020475A0
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl FUN_020475B0
- add r2, r0, #0x0
- add r0, r4, #0x0
- add r1, r6, #0x0
- mov r3, #0x0
- bl FUN_02046594
- add r2, r0, #0x0
- ldr r1, _020472AC ; =FUN_02047220
- add r0, r5, #0x0
- bl FUN_020463CC
- pop {r4-r6, pc}
- nop
-_020472AC: .word FUN_02047220
-
- thumb_func_start FUN_020472B0
-FUN_020472B0: ; 0x020472B0
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r6, r1, #0x0
- mov r0, #0xb
- add r1, r2, #0x0
- bl FUN_020476CC
- add r4, r0, #0x0
- add r1, r5, #0x0
- add r2, r6, #0x0
- mov r3, #0x0
- bl FUN_02047D48
- add r0, r4, #0x0
- bl FUN_020475A0
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl FUN_020475B0
- add r2, r0, #0x0
- add r0, r4, #0x0
- add r1, r6, #0x0
- mov r3, #0x0
- bl FUN_02046594
- add r2, r0, #0x0
- ldr r1, _020472F0 ; =FUN_02047220
- add r0, r5, #0x0
- bl FUN_020463CC
- pop {r4-r6, pc}
- .balign 4
-_020472F0: .word FUN_02047220
-
- thumb_func_start FUN_020472F4
-FUN_020472F4: ; 0x020472F4
- push {r3-r5, lr}
- add r4, r0, #0x0
- ldr r0, [r1, #0x0]
- mov r3, #0x4
- ldr r2, [r1, #0x14]
- tst r3, r0
- bne _020473C8
- mov r3, #0x80
- add r5, r0, #0x0
- tst r5, r3
- bne _020473C8
- cmp r0, #0x0
- beq _02047318
- add r3, #0x80
- cmp r0, r3
- beq _02047318
- cmp r0, #0x4a
- bne _02047364
-_02047318:
- cmp r2, #0x1
- bne _0204732A
- ldr r0, [r4, #0xc]
- bl FUN_02029FC8
- mov r1, #0x8
- bl FUN_0202A170
- pop {r3-r5, pc}
-_0204732A:
- cmp r2, #0x4
- bne _020473C8
- ldr r0, [r1, #0x8]
- mov r1, #0x0
- bl FUN_0206B9B0
- mov r1, #0x5
- mov r2, #0x0
- bl FUN_020671BC
- add r1, r0, #0x0
- mov r0, #0x0
- bl FUN_0206BB48
- cmp r0, #0x0
- ldr r0, [r4, #0xc]
- beq _02047358
- bl FUN_02029FC8
- mov r1, #0x9
- bl FUN_0202A170
- pop {r3-r5, pc}
-_02047358:
- bl FUN_02029FC8
- mov r1, #0xa
- bl FUN_0202A170
- pop {r3-r5, pc}
-_02047364:
- mov r3, #0x1
- tst r3, r0
- bne _02047370
- mov r3, #0x10
- tst r3, r0
- beq _02047382
-_02047370:
- cmp r2, #0x1
- bne _020473C8
- ldr r0, [r4, #0xc]
- bl FUN_02029FC8
- mov r1, #0xb
- bl FUN_0202A170
- pop {r3-r5, pc}
-_02047382:
- mov r3, #0x20
- add r5, r0, #0x0
- tst r5, r3
- bne _02047390
- lsl r3, r3, #0x4
- tst r0, r3
- beq _020473C8
-_02047390:
- cmp r2, #0x4
- bne _020473C8
- ldr r0, [r1, #0x8]
- mov r1, #0x0
- bl FUN_0206B9B0
- mov r1, #0x5
- mov r2, #0x0
- bl FUN_020671BC
- add r1, r0, #0x0
- mov r0, #0x0
- bl FUN_0206BB48
- cmp r0, #0x0
- ldr r0, [r4, #0xc]
- beq _020473BE
- bl FUN_02029FC8
- mov r1, #0x9
- bl FUN_0202A170
- pop {r3-r5, pc}
-_020473BE:
- bl FUN_02029FC8
- mov r1, #0xa
- bl FUN_0202A170
-_020473C8:
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_020473CC
-FUN_020473CC: ; 0x020473CC
- push {r4-r7, lr}
- sub sp, #0xc
- add r4, r1, #0x0
- add r5, r0, #0x0
- ldr r0, [r4, #0x0]
- mov r2, #0x4
- ldr r1, [r4, #0x14]
- tst r2, r0
- bne _020473EC
- mov r3, #0x80
- add r2, r0, #0x0
- tst r2, r3
- bne _020473EC
- lsl r2, r3, #0x2
- tst r2, r0
- beq _020473EE
-_020473EC:
- b _020474FC
-_020473EE:
- cmp r0, #0x0
- beq _02047400
- add r3, #0x80
- cmp r0, r3
- beq _02047400
- cmp r0, #0x4a
- beq _02047400
- cmp r0, #0x20
- bne _020474D2
-_02047400:
- cmp r1, #0x1
- bne _02047470
- add r0, r5, #0x0
- add r0, #0x76
- ldrh r0, [r0, #0x0]
- add r1, r0, #0x1
- add r0, r5, #0x0
- add r0, #0x76
- strh r1, [r0, #0x0]
- add r0, r5, #0x0
- add r0, #0x76
- ldrh r0, [r0, #0x0]
- cmp r0, #0x5
- blo _020474FC
- ldr r0, [r4, #0x8]
- mov r1, #0x0
- bl FUN_0206B9B0
- add r6, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_02023918
- str r0, [sp, #0x4]
- add r0, r6, #0x0
- mov r1, #0x5
- mov r2, #0x0
- bl FUN_020671BC
- add r7, r0, #0x0
- add r0, r6, #0x0
- mov r1, #0x6f
- mov r2, #0x0
- bl FUN_020671BC
- add r2, r0, #0x0
- mov r3, #0xb
- str r3, [sp, #0x0]
- lsl r3, r3, #0x5
- ldr r3, [r4, r3]
- lsl r1, r7, #0x10
- lsl r2, r2, #0x18
- lsl r3, r3, #0x18
- ldr r0, [sp, #0x4]
- lsr r1, r1, #0x10
- lsr r2, r2, #0x18
- lsr r3, r3, #0x18
- bl FUN_0202920C
- add r5, #0x98
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- mov r2, #0x2
- bl FUN_02028AD4
- add sp, #0xc
- pop {r4-r7, pc}
-_02047470:
- cmp r1, #0x4
- bne _020474FC
- mov r0, #0x17
- lsl r0, r0, #0x4
- ldr r0, [r4, r0]
- mov r1, #0x0
- lsl r0, r0, #0x2
- add r0, r4, r0
- ldr r0, [r0, #0x4]
- bl FUN_0206B9B0
- add r6, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_02023918
- str r0, [sp, #0x8]
- add r0, r6, #0x0
- mov r1, #0x5
- mov r2, #0x0
- bl FUN_020671BC
- add r7, r0, #0x0
- add r0, r6, #0x0
- mov r1, #0x6f
- mov r2, #0x0
- bl FUN_020671BC
- add r2, r0, #0x0
- mov r3, #0xb
- str r3, [sp, #0x0]
- lsl r3, r3, #0x5
- ldr r3, [r4, r3]
- lsl r1, r7, #0x10
- lsl r2, r2, #0x18
- lsl r3, r3, #0x18
- ldr r0, [sp, #0x8]
- lsr r1, r1, #0x10
- lsr r2, r2, #0x18
- lsr r3, r3, #0x18
- bl FUN_0202918C
- add r5, #0x98
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- mov r2, #0x2
- bl FUN_02028AD4
- add sp, #0xc
- pop {r4-r7, pc}
-_020474D2:
- mov r2, #0x1
- tst r2, r0
- bne _020474DE
- mov r2, #0x10
- tst r0, r2
- beq _020474FC
-_020474DE:
- cmp r1, #0x1
- bne _020474FC
- ldr r1, [r5, #0x1c]
- add r0, r5, #0x0
- ldr r1, [r1, #0x0]
- ldr r2, [r4, #0x1c]
- add r0, #0x98
- lsl r1, r1, #0x10
- lsl r2, r2, #0x10
- ldr r0, [r0, #0x0]
- lsr r1, r1, #0x10
- lsr r2, r2, #0x10
- mov r3, #0xb
- bl FUN_020299DC
-_020474FC:
- add sp, #0xc
- pop {r4-r7, pc}
-
- thumb_func_start FUN_02047500
-FUN_02047500: ; 0x02047500
- push {r4, lr}
- ldr r4, [r0, #0x0]
- mov r1, #0x1
- tst r1, r4
- beq _02047546
- add r0, #0x5d
- ldrb r0, [r0, #0x0]
- bl FUN_020475C0
- mov r1, #0x80
- tst r1, r4
- beq _0204752A
- cmp r0, #0x1c
- beq _02047558
- mov r0, #0x2
- tst r0, r4
- beq _02047526
- mov r0, #0x1a
- pop {r4, pc}
-_02047526:
- mov r0, #0x18
- pop {r4, pc}
-_0204752A:
- add r1, r0, #0x0
- sub r1, #0x15
- cmp r1, #0x2
- bls _02047558
- mov r1, #0x2
- tst r1, r4
- beq _0204753C
- mov r0, #0x1a
- pop {r4, pc}
-_0204753C:
- mov r1, #0x4
- tst r1, r4
- beq _02047558
- mov r0, #0x19
- pop {r4, pc}
-_02047546:
- ldr r0, [r0, #0x8]
- bl FUN_02047668
- cmp r0, #0x1e
- blo _02047558
- mov r1, #0x2
- tst r1, r4
- beq _02047558
- mov r0, #0x1b
-_02047558:
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0204755C
-FUN_0204755C: ; 0x0204755C
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- cmp r5, #0x1f
- blo _0204756A
- bl ErrorHandling
-_0204756A:
- ldr r0, _02047580 ; =0x020F457C
- lsl r1, r5, #0x2
- ldrh r0, [r0, r1]
- ldr r1, _02047584 ; =0x0000FFFF
- cmp r0, r1
- bne _0204757C
- add r0, r4, #0x0
- bl FUN_021E495C
-_0204757C:
- pop {r3-r5, pc}
- nop
-_02047580: .word 0x020F457C
-_02047584: .word 0x0000FFFF
-
- thumb_func_start FUN_02047588
-FUN_02047588: ; 0x02047588
- push {r4, lr}
- add r4, r0, #0x0
- cmp r4, #0x1f
- blo _02047594
- bl ErrorHandling
-_02047594:
- ldr r0, _0204759C ; =0x020F457E
- lsl r1, r4, #0x2
- ldrh r0, [r0, r1]
- pop {r4, pc}
- .balign 4
-_0204759C: .word 0x020F457E
-
- thumb_func_start FUN_020475A0
-FUN_020475A0: ; 0x020475A0
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_02047500
- add r1, r4, #0x0
- bl FUN_0204755C
- pop {r4, pc}
-
- thumb_func_start FUN_020475B0
-FUN_020475B0: ; 0x020475B0
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_02047500
- add r1, r4, #0x0
- bl FUN_02047588
- pop {r4, pc}
-
- thumb_func_start FUN_020475C0
-FUN_020475C0: ; 0x020475C0
- sub r0, #0x3e
- mov r1, #0x1d
- cmp r0, #0x23
- bhi _02047662
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_020475D4: ; jump table (using 16-bit offset)
- .short _0204761C - _020475D4 - 2; case 0
- .short _02047650 - _020475D4 - 2; case 1
- .short _02047634 - _020475D4 - 2; case 2
- .short _0204763C - _020475D4 - 2; case 3
- .short _02047640 - _020475D4 - 2; case 4
- .short _02047644 - _020475D4 - 2; case 5
- .short _02047648 - _020475D4 - 2; case 6
- .short _0204764C - _020475D4 - 2; case 7
- .short _02047662 - _020475D4 - 2; case 8
- .short _02047662 - _020475D4 - 2; case 9
- .short _02047658 - _020475D4 - 2; case 10
- .short _0204765C - _020475D4 - 2; case 11
- .short _02047620 - _020475D4 - 2; case 12
- .short _02047624 - _020475D4 - 2; case 13
- .short _02047628 - _020475D4 - 2; case 14
- .short _0204762C - _020475D4 - 2; case 15
- .short _02047630 - _020475D4 - 2; case 16
- .short _02047638 - _020475D4 - 2; case 17
- .short _02047662 - _020475D4 - 2; case 18
- .short _02047662 - _020475D4 - 2; case 19
- .short _02047662 - _020475D4 - 2; case 20
- .short _02047662 - _020475D4 - 2; case 21
- .short _02047662 - _020475D4 - 2; case 22
- .short _02047662 - _020475D4 - 2; case 23
- .short _02047654 - _020475D4 - 2; case 24
- .short _02047658 - _020475D4 - 2; case 25
- .short _02047658 - _020475D4 - 2; case 26
- .short _0204765C - _020475D4 - 2; case 27
- .short _02047662 - _020475D4 - 2; case 28
- .short _02047662 - _020475D4 - 2; case 29
- .short _02047662 - _020475D4 - 2; case 30
- .short _02047662 - _020475D4 - 2; case 31
- .short _02047662 - _020475D4 - 2; case 32
- .short _02047662 - _020475D4 - 2; case 33
- .short _02047662 - _020475D4 - 2; case 34
- .short _02047660 - _020475D4 - 2; case 35
-_0204761C:
- mov r1, #0x0
- b _02047662
-_02047620:
- mov r1, #0x1
- b _02047662
-_02047624:
- mov r1, #0x2
- b _02047662
-_02047628:
- mov r1, #0x3
- b _02047662
-_0204762C:
- mov r1, #0x4
- b _02047662
-_02047630:
- mov r1, #0x5
- b _02047662
-_02047634:
- mov r1, #0x6
- b _02047662
-_02047638:
- mov r1, #0x7
- b _02047662
-_0204763C:
- mov r1, #0x8
- b _02047662
-_02047640:
- mov r1, #0x9
- b _02047662
-_02047644:
- mov r1, #0xa
- b _02047662
-_02047648:
- mov r1, #0xb
- b _02047662
-_0204764C:
- mov r1, #0xc
- b _02047662
-_02047650:
- mov r1, #0xd
- b _02047662
-_02047654:
- mov r1, #0x17
- b _02047662
-_02047658:
- mov r1, #0x16
- b _02047662
-_0204765C:
- mov r1, #0x15
- b _02047662
-_02047660:
- mov r1, #0x1c
-_02047662:
- add r0, r1, #0x0
- bx lr
- .balign 4
-
- thumb_func_start FUN_02047668
-FUN_02047668: ; 0x02047668
- push {r4, lr}
- mov r4, #0x1e
- bl FUN_0204A1D8
- mov r1, #0x5
- mov r2, #0x0
- bl FUN_020671BC
- ldr r1, _020476C8 ; =0x000001DF
- sub r0, r0, r1
- cmp r0, #0xe
- bhi _020476C4
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_0204768C: ; jump table (using 16-bit offset)
- .short _020476B2 - _0204768C - 2; case 0
- .short _020476BA - _0204768C - 2; case 1
- .short _020476B6 - _0204768C - 2; case 2
- .short _020476BA - _0204768C - 2; case 3
- .short _020476BE - _0204768C - 2; case 4
- .short _020476BE - _0204768C - 2; case 5
- .short _020476B2 - _0204768C - 2; case 6
- .short _020476B2 - _0204768C - 2; case 7
- .short _020476B2 - _0204768C - 2; case 8
- .short _020476AE - _0204768C - 2; case 9
- .short _020476C4 - _0204768C - 2; case 10
- .short _020476C4 - _0204768C - 2; case 11
- .short _020476B2 - _0204768C - 2; case 12
- .short _020476AA - _0204768C - 2; case 13
- .short _020476C2 - _0204768C - 2; case 14
-_020476AA:
- mov r4, #0xe
- b _020476C4
-_020476AE:
- mov r4, #0x14
- b _020476C4
-_020476B2:
- mov r4, #0x13
- b _020476C4
-_020476B6:
- mov r4, #0x11
- b _020476C4
-_020476BA:
- mov r4, #0x10
- b _020476C4
-_020476BE:
- mov r4, #0xf
- b _020476C4
-_020476C2:
- mov r4, #0x12
-_020476C4:
- add r0, r4, #0x0
- pop {r4, pc}
- .balign 4
-_020476C8: .word 0x000001DF
-
- thumb_func_start FUN_020476CC
-FUN_020476CC: ; 0x020476CC
- push {r3-r7, lr}
- add r4, r1, #0x0
- mov r1, #0x67
- lsl r1, r1, #0x2
- add r5, r0, #0x0
- bl FUN_02016998
- mov r2, #0x67
- mov r1, #0x0
- lsl r2, r2, #0x2
- add r7, r0, #0x0
- blx MI_CpuFill8
- mov r1, #0x63
- str r4, [r7, #0x0]
- mov r0, #0x0
- lsl r1, r1, #0x2
- str r0, [r7, r1]
- add r4, r7, #0x0
- str r0, [sp, #0x0]
- str r0, [r7, #0x14]
- add r6, r7, #0x0
- add r4, #0x28
-_020476FA:
- mov r0, #0x0
- add r1, r4, #0x0
- mov r2, #0x34
- str r0, [r6, #0x18]
- blx MIi_CpuClear32
- ldr r0, [sp, #0x0]
- add r6, r6, #0x4
- add r0, r0, #0x1
- add r4, #0x34
- str r0, [sp, #0x0]
- cmp r0, #0x4
- blt _020476FA
- mov r0, #0x15
- lsl r0, r0, #0x4
- mov r6, #0x0
- str r6, [r7, r0]
- mov r2, #0xc
- add r1, r0, #0x4
- str r2, [r7, r1]
- add r1, r0, #0x0
- add r1, #0x8
- str r6, [r7, r1]
- add r1, r0, #0x0
- add r1, #0x10
- str r6, [r7, r1]
- add r1, r0, #0x0
- add r1, #0x14
- str r6, [r7, r1]
- add r1, r0, #0x0
- mov r2, #0x1
- add r1, #0x18
- str r2, [r7, r1]
- add r1, r0, #0x0
- add r1, #0x1c
- str r2, [r7, r1]
- add r0, #0x24
- str r6, [r7, r0]
- add r4, r7, #0x0
-_02047748:
- add r0, r5, #0x0
- bl FUN_0206B8AC
- str r0, [r4, #0x4]
- add r6, r6, #0x1
- add r4, r4, #0x4
- cmp r6, #0x4
- blt _02047748
- mov r6, #0x0
- add r4, r7, #0x0
-_0204775C:
- add r0, r5, #0x0
- bl FUN_02023928
- add r1, r4, #0x0
- add r1, #0xf8
- add r6, r6, #0x1
- add r4, r4, #0x4
- str r0, [r1, #0x0]
- cmp r6, #0x4
- blt _0204775C
- mov r6, #0x0
- add r4, r7, #0x0
-_02047774:
- add r0, r5, #0x0
- bl FUN_02029EE4
- mov r1, #0x46
- lsl r1, r1, #0x2
- str r0, [r4, r1]
- add r6, r6, #0x1
- add r4, r4, #0x4
- cmp r6, #0x4
- blt _02047774
- add r0, r5, #0x0
- bl FUN_0206EB88
- mov r1, #0x42
- lsl r1, r1, #0x2
- str r0, [r7, r1]
- add r0, r5, #0x0
- bl FUN_02023D6C
- mov r1, #0x11
- lsl r1, r1, #0x4
- str r0, [r7, r1]
- add r0, r5, #0x0
- bl FUN_02024F30
- mov r1, #0x13
- lsl r1, r1, #0x4
- str r0, [r7, r1]
- add r0, r5, #0x0
- bl FUN_02061008
- mov r2, #0x4d
- lsl r2, r2, #0x2
- str r0, [r7, r2]
- add r0, r2, #0x0
- mov r1, #0x0
- sub r0, #0x28
- str r1, [r7, r0]
- add r0, r2, #0x0
- add r0, #0x5c
- str r1, [r7, r0]
- add r0, r2, #0x0
- sub r0, #0x8
- str r1, [r7, r0]
- add r0, r2, #0x0
- add r0, #0x10
- str r1, [r7, r0]
- add r0, r2, #0x0
- add r0, #0x14
- str r1, [r7, r0]
- add r0, r2, #0x0
- add r0, #0x60
- str r1, [r7, r0]
- add r0, r2, #0x4
- add r0, r7, r0
- mov r2, #0xc
- blx MI_CpuFill8
- add r0, r7, #0x0
- pop {r3-r7, pc}
-
- thumb_func_start FUN_020477EC
-FUN_020477EC: ; 0x020477EC
- push {r4, lr}
- add r4, r1, #0x0
- mov r1, #0x20
- bl FUN_020476CC
- mov r1, #0x19
- lsl r1, r1, #0x4
- str r4, [r0, r1]
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02047800
-FUN_02047800: ; 0x02047800
- push {r4, lr}
- add r4, r1, #0x0
- mov r1, #0x2
- lsl r1, r1, #0x8
- bl FUN_020476CC
- mov r1, #0x19
- lsl r1, r1, #0x4
- str r4, [r0, r1]
- pop {r4, pc}
-
- thumb_func_start FUN_02047814
-FUN_02047814: ; 0x02047814
- push {r4-r7, lr}
- sub sp, #0x1c
- add r5, r1, #0x0
- add r6, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_020238F4
- str r0, [sp, #0x10]
- ldr r0, [r5, #0xc]
- bl LoadPlayerDataAddress
- mov r1, #0x1
- str r0, [sp, #0x14]
- add r0, r6, #0x0
- lsl r1, r1, #0xa
- bl FUN_020476CC
- add r4, r0, #0x0
- ldr r2, _0204795C ; =0x000001F1
- mov r0, #0x1
- mov r1, #0x1a
- add r3, r6, #0x0
- bl FUN_0200A86C
- str r0, [sp, #0x18]
- mov r0, #0x8
- add r1, r6, #0x0
- bl FUN_020219F4
- add r7, r0, #0x0
- ldr r0, [sp, #0x10]
- bl FUN_020239CC
- add r2, r0, #0x0
- mov r1, #0x1
- eor r1, r2
- ldr r0, [sp, #0x18]
- add r2, r7, #0x0
- bl FUN_0200A8E0
- add r0, r7, #0x0
- bl FUN_02021F2C
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0xf8
- ldr r0, [r0, #0x0]
- bl FUN_0202395C
- add r0, r7, #0x0
- bl FUN_02021A20
- ldr r0, [sp, #0x18]
- bl FUN_0200A8B8
- ldr r0, [sp, #0x10]
- bl FUN_020239CC
- add r2, r0, #0x0
- add r0, r4, #0x0
- add r0, #0xf8
- mov r1, #0x1
- ldr r0, [r0, #0x0]
- eor r1, r2
- bl FUN_020239C8
- add r0, r4, #0x0
- add r1, r5, #0x0
- bl FUN_0204806C
- mov r1, #0x13
- lsl r1, r1, #0x4
- ldr r0, [sp, #0x14]
- ldr r1, [r4, r1]
- bl FUN_02024F44
- add r0, r5, #0x0
- bl FUN_0204B2A4
- mov r1, #0x16
- lsl r1, r1, #0x4
- str r0, [r4, r1]
- sub r1, #0x58
- ldr r0, [r4, r1]
- mov r1, #0x4
- mov r2, #0x14
- add r3, r6, #0x0
- bl FUN_0206ED38
- add r0, r6, #0x0
- bl FUN_020669C0
- add r6, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_020462AC
- bl FUN_0205F3C0
- mov r2, #0x0
- str r2, [sp, #0x0]
- add r1, r0, #0x0
- str r2, [sp, #0x4]
- mov r0, #0x2
- str r0, [sp, #0x8]
- str r2, [sp, #0xc]
- add r0, r6, #0x0
- mov r2, #0x5
- mov r3, #0x20
- bl FUN_02066ACC
- ldr r0, [r4, #0x4]
- add r1, r6, #0x0
- bl FUN_0206B900
- mov r0, #0x0
- str r0, [sp, #0x0]
- str r0, [sp, #0x4]
- mov r2, #0x2
- str r2, [sp, #0x8]
- str r0, [sp, #0xc]
- ldr r1, _02047960 ; =0x0000018F
- add r0, r6, #0x0
- mov r3, #0x20
- bl FUN_02066ACC
- ldr r0, [r4, #0x8]
- add r1, r6, #0x0
- bl FUN_0206B900
- add r0, r6, #0x0
- bl FUN_02016A18
- ldr r0, [r5, #0xc]
- bl FUN_02022510
- mov r1, #0x45
- lsl r1, r1, #0x2
- str r0, [r4, r1]
- add r0, r5, #0x0
- add r0, #0x94
- ldr r0, [r0, #0x0]
- sub r1, #0x8
- str r0, [r4, r1]
- ldr r0, [r5, #0xc]
- bl FUN_02029FC8
- mov r1, #0x51
- lsl r1, r1, #0x2
- str r0, [r4, r1]
- add r0, r5, #0x0
- add r0, #0x98
- ldr r2, [r0, #0x0]
- add r0, r1, #0x4
- str r2, [r4, r0]
- ldr r0, [r5, #0x1c]
- add r1, #0x18
- ldr r0, [r0, #0x0]
- str r0, [r4, r1]
- add r0, r4, #0x0
- bl FUN_020480E4
- add r0, r4, #0x0
- add sp, #0x1c
- pop {r4-r7, pc}
- .balign 4
-_0204795C: .word 0x000001F1
-_02047960: .word 0x0000018F
-
- thumb_func_start FUN_02047964
-FUN_02047964: ; 0x02047964
- push {r3-r7, lr}
- add r7, r0, #0x0
- mov r4, #0x0
- add r5, r7, #0x0
-_0204796C:
- ldr r0, [r5, #0x4]
- cmp r0, #0x0
- bne _02047976
- bl ErrorHandling
-_02047976:
- ldr r0, [r5, #0x4]
- bl FUN_02016A18
- add r4, r4, #0x1
- add r5, r5, #0x4
- cmp r4, #0x4
- blt _0204796C
- mov r5, #0x0
- add r4, r7, #0x0
-_02047988:
- add r0, r4, #0x0
- add r0, #0xf8
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- bne _02047996
- bl ErrorHandling
-_02047996:
- add r0, r4, #0x0
- add r0, #0xf8
- ldr r0, [r0, #0x0]
- bl FUN_02016A18
- add r5, r5, #0x1
- add r4, r4, #0x4
- cmp r5, #0x4
- blt _02047988
- mov r6, #0x46
- mov r5, #0x0
- add r4, r7, #0x0
- lsl r6, r6, #0x2
-_020479B0:
- ldr r0, [r4, r6]
- cmp r0, #0x0
- bne _020479BA
- bl ErrorHandling
-_020479BA:
- mov r0, #0x46
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- bl FUN_02016A18
- add r5, r5, #0x1
- add r4, r4, #0x4
- cmp r5, #0x4
- blt _020479B0
- mov r0, #0x42
- lsl r0, r0, #0x2
- ldr r0, [r7, r0]
- bl FUN_02016A18
- mov r0, #0x11
- lsl r0, r0, #0x4
- ldr r0, [r7, r0]
- bl FUN_02016A18
- mov r0, #0x13
- lsl r0, r0, #0x4
- ldr r0, [r7, r0]
- bl FUN_02016A18
- mov r0, #0x4d
- lsl r0, r0, #0x2
- ldr r0, [r7, r0]
- bl FUN_02061020
- add r0, r7, #0x0
- bl FUN_02016A18
- pop {r3-r7, pc}
-
- thumb_func_start FUN_020479FC
-FUN_020479FC: ; 0x020479FC
- push {r4-r6, lr}
- add r4, r2, #0x0
- add r5, r0, #0x0
- add r6, r1, #0x0
- cmp r4, #0x4
- blt _02047A0C
- bl ErrorHandling
-_02047A0C:
- lsl r0, r4, #0x2
- add r0, r5, r0
- ldr r0, [r0, #0x4]
- add r1, r6, #0x0
- bl FUN_0206B900
- cmp r0, #0x0
- bne _02047A20
- bl ErrorHandling
-_02047A20:
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02047A24
-FUN_02047A24: ; 0x02047A24
- push {r4-r6, lr}
- add r4, r2, #0x0
- add r5, r0, #0x0
- add r6, r1, #0x0
- cmp r4, #0x4
- blt _02047A34
- bl ErrorHandling
-_02047A34:
- lsl r1, r4, #0x2
- add r1, r5, r1
- ldr r1, [r1, #0x4]
- add r0, r6, #0x0
- bl FUN_0206BAD0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02047A44
-FUN_02047A44: ; 0x02047A44
- push {r4-r6, lr}
- add r4, r2, #0x0
- add r5, r0, #0x0
- add r6, r1, #0x0
- cmp r4, #0x4
- blt _02047A54
- bl ErrorHandling
-_02047A54:
- lsl r1, r4, #0x2
- add r1, r5, r1
- add r1, #0xf8
- ldr r1, [r1, #0x0]
- add r0, r6, #0x0
- bl FUN_0202393C
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02047A64
-FUN_02047A64: ; 0x02047A64
- lsl r2, r2, #0x2
- add r2, r0, r2
- mov r0, #0x46
- lsl r0, r0, #0x2
- ldr r3, _02047A74 ; =FUN_02029F9C
- ldr r0, [r2, r0]
- bx r3
- nop
-_02047A74: .word FUN_02029F9C
-
- thumb_func_start FUN_02047A78
-FUN_02047A78: ; 0x02047A78
- push {r4-r7, lr}
- sub sp, #0x14
- add r4, r1, #0x0
- add r5, r0, #0x0
- ldr r0, [r4, #0xc]
- bl FUN_020238F4
- add r6, r0, #0x0
- ldr r0, [r4, #0xc]
- bl FUN_0206BB1C
- add r7, r0, #0x0
- ldr r0, [r4, #0xc]
- bl FUN_0206F158
- str r0, [sp, #0x0]
- ldr r0, [r4, #0xc]
- bl FUN_02024DA0
- str r0, [sp, #0x4]
- ldr r0, [r4, #0xc]
- bl FUN_02029EF8
- str r0, [sp, #0x8]
- ldr r0, [r4, #0xc]
- bl LoadPlayerDataAddress
- str r0, [sp, #0xc]
- ldr r0, [r4, #0xc]
- bl FUN_02034E30
- str r0, [sp, #0x10]
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_0204806C
- add r0, r5, #0x0
- add r1, r6, #0x0
- mov r2, #0x0
- bl FUN_02047A44
- add r0, r5, #0x0
- add r1, r7, #0x0
- mov r2, #0x0
- bl FUN_02047A24
- mov r1, #0x42
- lsl r1, r1, #0x2
- ldr r0, [sp, #0x0]
- ldr r1, [r5, r1]
- bl FUN_0206EBB4
- mov r1, #0x11
- lsl r1, r1, #0x4
- ldr r0, [sp, #0x4]
- ldr r1, [r5, r1]
- bl FUN_02023D80
- mov r1, #0x13
- lsl r1, r1, #0x4
- ldr r0, [sp, #0xc]
- ldr r1, [r5, r1]
- bl FUN_02024F44
- ldr r1, [sp, #0x8]
- add r0, r5, #0x0
- mov r2, #0x0
- bl FUN_02047A64
- ldr r0, [r4, #0xc]
- bl FUN_02022510
- mov r1, #0x45
- lsl r1, r1, #0x2
- str r0, [r5, r1]
- ldr r0, [r4, #0x1c]
- ldr r0, [r0, #0x0]
- bl FUN_02034824
- mov r1, #0x56
- lsl r1, r1, #0x2
- str r0, [r5, r1]
- add r0, r4, #0x0
- bl FUN_0204B2A4
- mov r1, #0x16
- lsl r1, r1, #0x4
- str r0, [r5, r1]
- ldr r0, [r4, #0x1c]
- ldr r0, [r0, #0x0]
- bl FUN_02034A04
- mov r1, #0x59
- lsl r1, r1, #0x2
- str r0, [r5, r1]
- ldr r0, [r4, #0xc]
- bl FUN_02079C70
- mov r1, #0x5a
- lsl r1, r1, #0x2
- str r0, [r5, r1]
- ldr r0, [r4, #0xc]
- bl FUN_020462AC
- bl FUN_0205F1B4
- mov r1, #0x5b
- lsl r1, r1, #0x2
- str r0, [r5, r1]
- ldr r0, [sp, #0x10]
- bl FUN_02034DEC
- mov r1, #0x5d
- lsl r1, r1, #0x2
- str r0, [r5, r1]
- add r0, r4, #0x0
- add r0, #0x94
- ldr r0, [r0, #0x0]
- sub r1, #0x68
- str r0, [r5, r1]
- ldr r0, [r4, #0xc]
- bl FUN_0204C1A8
- mov r1, #0x4a
- lsl r1, r1, #0x2
- str r0, [r5, r1]
- ldr r0, [r4, #0xc]
- bl FUN_02029AFC
- mov r1, #0x4b
- lsl r1, r1, #0x2
- str r0, [r5, r1]
- ldr r0, [r4, #0xc]
- bl FUN_02029FC8
- mov r1, #0x51
- lsl r1, r1, #0x2
- str r0, [r5, r1]
- add r0, r4, #0x0
- add r0, #0x98
- ldr r2, [r0, #0x0]
- add r0, r1, #0x4
- str r2, [r5, r0]
- ldr r0, [r4, #0xc]
- bl FUN_020254C0
- mov r1, #0x53
- lsl r1, r1, #0x2
- str r0, [r5, r1]
- ldr r0, [r4, #0x1c]
- add r1, #0x10
- ldr r0, [r0, #0x0]
- str r0, [r5, r1]
- add sp, #0x14
- pop {r4-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02047BB0
-FUN_02047BB0: ; 0x02047BB0
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_02047A78
- add r0, r4, #0x0
- bl FUN_020480E4
- pop {r4, pc}
-
- thumb_func_start FUN_02047BC0
-FUN_02047BC0: ; 0x02047BC0
- push {r4-r7, lr}
- sub sp, #0x1c
- add r6, r0, #0x0
- add r0, r1, #0x0
- ldr r0, [r0, #0xc]
- str r1, [sp, #0x0]
- add r7, r2, #0x0
- bl FUN_020238F4
- add r4, r0, #0x0
- ldr r0, [sp, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_0206BB1C
- str r0, [sp, #0x14]
- ldr r0, [sp, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_0206F158
- str r0, [sp, #0x10]
- ldr r0, [sp, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_02024DA0
- str r0, [sp, #0xc]
- ldr r0, [sp, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_02029EF8
- str r0, [sp, #0x8]
- ldr r0, [sp, #0x0]
- ldr r0, [r0, #0xc]
- bl LoadPlayerDataAddress
- str r0, [sp, #0x4]
- mov r0, #0x15
- mov r1, #0x6
- lsl r0, r0, #0x4
- str r1, [r6, r0]
- mov r1, #0x9
- add r0, r0, #0x4
- str r1, [r6, r0]
- add r0, r6, #0x0
- add r1, r4, #0x0
- mov r2, #0x0
- bl FUN_02047A44
- mov r0, #0xb
- bl FUN_020669C0
- add r5, r0, #0x0
- ldr r0, [sp, #0x14]
- bl FUN_0206B9AC
- add r1, r0, #0x0
- ldr r0, [r6, #0x4]
- bl FUN_0206B8CC
- ldr r0, [sp, #0x14]
- mov r4, #0x0
- bl FUN_0206B9AC
- cmp r0, #0x0
- ble _02047C98
-_02047C40:
- ldr r0, [sp, #0x14]
- add r1, r4, #0x0
- bl FUN_0206B9B0
- add r1, r5, #0x0
- bl FUN_02069B88
- add r0, r5, #0x0
- mov r1, #0xa0
- mov r2, #0x0
- bl FUN_020671BC
- cmp r7, r0
- beq _02047C82
- cmp r7, #0x0
- beq _02047C82
- add r0, r5, #0x0
- mov r1, #0x5
- mov r2, #0x0
- bl FUN_020671BC
- add r1, r7, #0x0
- bl FUN_02068758
- str r0, [sp, #0x18]
- add r0, r5, #0x0
- mov r1, #0x8
- add r2, sp, #0x18
- bl FUN_02067830
- add r0, r5, #0x0
- bl FUN_02066ED8
-_02047C82:
- add r0, r6, #0x0
- add r1, r5, #0x0
- mov r2, #0x0
- bl FUN_020479FC
- ldr r0, [sp, #0x14]
- add r4, r4, #0x1
- bl FUN_0206B9AC
- cmp r4, r0
- blt _02047C40
-_02047C98:
- add r0, r5, #0x0
- bl FUN_02016A18
- mov r1, #0x42
- lsl r1, r1, #0x2
- ldr r0, [sp, #0x10]
- ldr r1, [r6, r1]
- bl FUN_0206EBB4
- mov r1, #0x11
- lsl r1, r1, #0x4
- ldr r0, [sp, #0xc]
- ldr r1, [r6, r1]
- bl FUN_02023D80
- mov r1, #0x13
- lsl r1, r1, #0x4
- ldr r0, [sp, #0x4]
- ldr r1, [r6, r1]
- bl FUN_02024F44
- ldr r1, [sp, #0x8]
- add r0, r6, #0x0
- mov r2, #0x0
- bl FUN_02047A64
- ldr r0, [sp, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_02022510
- mov r1, #0x45
- lsl r1, r1, #0x2
- str r0, [r6, r1]
- ldr r0, [sp, #0x0]
- bl FUN_0204B2A4
- mov r1, #0x16
- lsl r1, r1, #0x4
- str r0, [r6, r1]
- ldr r0, [sp, #0x0]
- sub r1, #0x54
- add r0, #0x94
- ldr r0, [r0, #0x0]
- str r0, [r6, r1]
- ldr r0, [sp, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_0204C1A8
- mov r1, #0x4a
- lsl r1, r1, #0x2
- str r0, [r6, r1]
- ldr r0, [sp, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_02029AFC
- mov r1, #0x4b
- lsl r1, r1, #0x2
- str r0, [r6, r1]
- ldr r0, [sp, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_02029FC8
- mov r1, #0x51
- lsl r1, r1, #0x2
- str r0, [r6, r1]
- ldr r0, [sp, #0x0]
- add r0, #0x98
- ldr r2, [r0, #0x0]
- add r0, r1, #0x4
- str r2, [r6, r0]
- ldr r0, [sp, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_020254C0
- mov r1, #0x53
- lsl r1, r1, #0x2
- str r0, [r6, r1]
- ldr r0, [sp, #0x0]
- add r1, #0x10
- ldr r0, [r0, #0x1c]
- ldr r0, [r0, #0x0]
- str r0, [r6, r1]
- add r0, r6, #0x0
- bl FUN_020480E4
- add sp, #0x1c
- pop {r4-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02047D48
-FUN_02047D48: ; 0x02047D48
- push {r4-r7, lr}
- sub sp, #0x24
- add r5, r0, #0x0
- add r0, r1, #0x0
- ldr r0, [r0, #0xc]
- str r1, [sp, #0x0]
- str r2, [sp, #0x4]
- add r7, r3, #0x0
- bl FUN_020238F4
- str r0, [sp, #0x20]
- ldr r0, [sp, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_0206F158
- str r0, [sp, #0x1c]
- ldr r0, [sp, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_02024DA0
- str r0, [sp, #0x18]
- ldr r0, [sp, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_02029EF8
- str r0, [sp, #0x14]
- ldr r0, [sp, #0x0]
- ldr r0, [r0, #0xc]
- bl LoadPlayerDataAddress
- str r0, [sp, #0x10]
- ldr r0, [sp, #0x0]
- mov r1, #0x6
- add r0, #0xac
- ldr r0, [r0, #0x0]
- mov r2, #0x0
- str r0, [sp, #0xc]
- mov r0, #0x15
- lsl r0, r0, #0x4
- str r1, [r5, r0]
- mov r1, #0x9
- add r0, r0, #0x4
- str r1, [r5, r0]
- ldr r1, [sp, #0x20]
- add r0, r5, #0x0
- bl FUN_02047A44
- cmp r7, #0x0
- bne _02047DB6
- ldr r1, [sp, #0x4]
- add r0, r5, #0x0
- mov r2, #0x0
- bl FUN_02047A24
- b _02047E14
-_02047DB6:
- mov r4, #0x0
- add r1, r4, #0x0
-_02047DBA:
- ldrb r0, [r7, r1]
- cmp r0, #0x0
- beq _02047DC2
- add r4, r4, #0x1
-_02047DC2:
- add r1, r1, #0x1
- cmp r1, #0x6
- blt _02047DBA
- cmp r4, #0x0
- bne _02047DD8
- ldr r1, [sp, #0x4]
- add r0, r5, #0x0
- mov r2, #0x0
- bl FUN_02047A24
- b _02047E14
-_02047DD8:
- mov r0, #0xb
- bl FUN_020669C0
- str r0, [sp, #0x8]
- ldr r0, [r5, #0x4]
- add r1, r4, #0x0
- bl FUN_0206B8CC
- mov r6, #0x0
- cmp r4, #0x0
- ble _02047E0E
-_02047DEE:
- ldrb r1, [r7, r6]
- ldr r0, [sp, #0x4]
- sub r1, r1, #0x1
- bl FUN_0206B9B0
- ldr r1, [sp, #0x8]
- bl FUN_02069B88
- ldr r1, [sp, #0x8]
- add r0, r5, #0x0
- mov r2, #0x0
- bl FUN_020479FC
- add r6, r6, #0x1
- cmp r6, r4
- blt _02047DEE
-_02047E0E:
- ldr r0, [sp, #0x8]
- bl FUN_02016A18
-_02047E14:
- ldr r0, [sp, #0xc]
- cmp r0, #0x0
- beq _02047E2C
- mov r1, #0xc
- bl FUN_02023B0C
- cmp r0, #0x0
- beq _02047E2C
- mov r0, #0x65
- mov r1, #0x1
- lsl r0, r0, #0x2
- str r1, [r5, r0]
-_02047E2C:
- mov r1, #0x42
- lsl r1, r1, #0x2
- ldr r0, [sp, #0x1c]
- ldr r1, [r5, r1]
- bl FUN_0206EBB4
- mov r1, #0x11
- lsl r1, r1, #0x4
- ldr r0, [sp, #0x18]
- ldr r1, [r5, r1]
- bl FUN_02023D80
- mov r1, #0x13
- lsl r1, r1, #0x4
- ldr r0, [sp, #0x10]
- ldr r1, [r5, r1]
- bl FUN_02024F44
- ldr r1, [sp, #0x14]
- add r0, r5, #0x0
- mov r2, #0x0
- bl FUN_02047A64
- ldr r0, [sp, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_02022510
- mov r1, #0x45
- lsl r1, r1, #0x2
- str r0, [r5, r1]
- ldr r0, [sp, #0x0]
- bl FUN_0204B2A4
- mov r1, #0x16
- lsl r1, r1, #0x4
- str r0, [r5, r1]
- ldr r0, [sp, #0x0]
- sub r1, #0x54
- add r0, #0x94
- ldr r0, [r0, #0x0]
- str r0, [r5, r1]
- ldr r0, [sp, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_02029AFC
- mov r1, #0x4b
- lsl r1, r1, #0x2
- str r0, [r5, r1]
- ldr r0, [sp, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_02029FC8
- mov r1, #0x51
- lsl r1, r1, #0x2
- str r0, [r5, r1]
- ldr r0, [sp, #0x0]
- add r0, #0x98
- ldr r2, [r0, #0x0]
- add r0, r1, #0x4
- str r2, [r5, r0]
- ldr r0, [sp, #0x0]
- add r1, #0x18
- ldr r0, [r0, #0x1c]
- ldr r0, [r0, #0x0]
- str r0, [r5, r1]
- ldr r0, [sp, #0x0]
- ldr r0, [r0, #0xc]
- bl FUN_020254C0
- mov r1, #0x53
- lsl r1, r1, #0x2
- str r0, [r5, r1]
- bl FUN_02033534
- bl FUN_0202D8B0
- cmp r0, #0x0
- beq _02047F10
- ldr r0, [sp, #0x20]
- bl FUN_02023A28
- add r4, r0, #0x0
- ldr r0, [sp, #0x20]
- bl FUN_020239CC
- add r1, r4, #0x0
- mov r2, #0x1
- bl FUN_020536D0
- add r1, r5, #0x0
- add r1, #0x29
- strb r0, [r1, #0x0]
- add r0, r5, #0x0
- add r0, #0xf8
- ldr r0, [r0, #0x0]
- bl FUN_0202398C
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x3c
- bl StringCopy
- add r3, r5, #0x0
- add r3, #0x28
- add r5, #0x90
- mov r2, #0x6
-_02047F00:
- ldmia r3!, {r0-r1}
- stmia r5!, {r0-r1}
- sub r2, r2, #0x1
- bne _02047F00
- ldr r0, [r3, #0x0]
- add sp, #0x24
- str r0, [r5, #0x0]
- pop {r4-r7, pc}
-_02047F10:
- add r0, r5, #0x0
- bl FUN_020480E4
- add sp, #0x24
- pop {r4-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02047F1C
-FUN_02047F1C: ; 0x02047F1C
- push {r4-r6, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- ldr r0, [r4, #0xc]
- add r6, r2, #0x0
- bl FUN_0206BB1C
- add r2, r0, #0x0
- add r0, r5, #0x0
- add r1, r4, #0x0
- add r3, r6, #0x0
- bl FUN_02047D48
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02047F38
-FUN_02047F38: ; 0x02047F38
- push {r3-r7, lr}
- sub sp, #0x8
- add r5, r1, #0x0
- add r4, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_020238F4
- add r6, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_0206BB1C
- add r7, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_0206F158
- str r0, [sp, #0x0]
- ldr r0, [r5, #0xc]
- bl FUN_02024DA0
- str r0, [sp, #0x4]
- ldr r0, [r5, #0xc]
- bl FUN_02034E30
- bl FUN_02034E24
- add r5, r0, #0x0
- add r0, r4, #0x0
- add r0, #0xf8
- ldr r0, [r0, #0x0]
- add r1, r6, #0x0
- bl FUN_0202393C
- ldr r0, [r4, #0x4]
- add r1, r7, #0x0
- bl FUN_0206BAD0
- mov r0, #0x42
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- ldr r1, [sp, #0x0]
- bl FUN_0206EBB4
- mov r0, #0x11
- lsl r0, r0, #0x4
- ldr r0, [r4, r0]
- ldr r1, [sp, #0x4]
- bl FUN_02023D80
- mov r0, #0x19
- lsl r0, r0, #0x4
- ldr r0, [r4, r0]
- strh r0, [r5, #0x0]
- add sp, #0x8
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02047FA4
-FUN_02047FA4: ; 0x02047FA4
- push {r3-r5, lr}
- add r5, r1, #0x0
- add r4, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_020238F4
- ldr r0, [r5, #0xc]
- bl FUN_0206BB1C
- ldr r0, [r5, #0xc]
- bl FUN_0206F158
- ldr r0, [r5, #0xc]
- bl FUN_02024DA0
- add r1, r0, #0x0
- mov r0, #0x11
- lsl r0, r0, #0x4
- ldr r0, [r4, r0]
- bl FUN_02023D80
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02047FD0
-FUN_02047FD0: ; 0x02047FD0
- push {r3-r5, lr}
- ldr r2, [r0, #0x1c]
- add r4, r1, #0x0
- ldr r1, [r2, #0x8]
- ldr r2, [r2, #0xc]
- bl FUN_0204A6E0
- add r5, r0, #0x0
- bl FUN_020548F0
- cmp r0, #0x0
- beq _02047FEC
- mov r0, #0x8
- pop {r3-r5, pc}
-_02047FEC:
- add r0, r5, #0x0
- bl FUN_0205478C
- cmp r0, #0x0
- bne _02048000
- add r0, r5, #0x0
- bl FUN_02054798
- cmp r0, #0x0
- beq _02048004
-_02048000:
- mov r0, #0x2
- pop {r3-r5, pc}
-_02048004:
- add r0, r5, #0x0
- bl FUN_02054830
- cmp r0, #0x0
- beq _02048012
- mov r0, #0x1
- pop {r3-r5, pc}
-_02048012:
- add r0, r5, #0x0
- bl FUN_020549AC
- cmp r0, #0x0
- beq _02048020
- mov r0, #0x6
- pop {r3-r5, pc}
-_02048020:
- add r0, r5, #0x0
- bl FUN_02054974
- cmp r0, #0x0
- bne _02048034
- add r0, r5, #0x0
- bl FUN_02054990
- cmp r0, #0x0
- beq _02048038
-_02048034:
- mov r0, #0xa
- pop {r3-r5, pc}
-_02048038:
- add r0, r5, #0x0
- bl FUN_02054A3C
- cmp r0, #0x0
- beq _02048046
- mov r0, #0x5
- pop {r3-r5, pc}
-_02048046:
- add r0, r5, #0x0
- bl FUN_0205481C
- cmp r0, #0x0
- beq _02048054
- mov r0, #0x7
- pop {r3-r5, pc}
-_02048054:
- cmp r4, #0xc
- bhs _02048060
- ldr r0, _02048068 ; =0x020F45F8
- lsl r1, r4, #0x2
- ldr r0, [r0, r1]
- pop {r3-r5, pc}
-_02048060:
- bl ErrorHandling
- mov r0, #0xc
- pop {r3-r5, pc}
- .balign 4
-_02048068: .word 0x020F45F8
-
- thumb_func_start FUN_0204806C
-FUN_0204806C: ; 0x0204806C
- push {r4-r6, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- ldr r0, [r4, #0xc]
- bl FUN_02034E30
- bl FUN_02034E20
- add r6, r0, #0x0
- ldr r0, [r4, #0x1c]
- ldr r0, [r0, #0x0]
- bl FUN_02034860
- mov r1, #0x15
- lsl r1, r1, #0x4
- str r0, [r5, r1]
- ldr r0, [r6, #0x4]
- cmp r0, #0x2
- bne _02048096
- mov r0, #0x1
- str r0, [r5, r1]
-_02048096:
- mov r1, #0x15
- lsl r1, r1, #0x4
- ldr r1, [r5, r1]
- add r0, r4, #0x0
- bl FUN_02047FD0
- mov r1, #0x55
- lsl r1, r1, #0x2
- str r0, [r5, r1]
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_020480AC
-FUN_020480AC: ; 0x020480AC
- mov r1, #0x55
- mov r2, #0x7
- lsl r1, r1, #0x2
- str r2, [r0, r1]
- bx lr
- .balign 4
-
- thumb_func_start FUN_020480B8
-FUN_020480B8: ; 0x020480B8
- cmp r0, #0x2
- beq _020480C0
- cmp r0, #0x3
- bne _020480C4
-_020480C0:
- mov r0, #0x0
- bx lr
-_020480C4:
- mov r0, #0x1
- bx lr
-
- thumb_func_start FUN_020480C8
-FUN_020480C8: ; 0x020480C8
- cmp r0, #0x1
- beq _020480D0
- cmp r0, #0x4
- bne _020480D4
-_020480D0:
- mov r0, #0x0
- bx lr
-_020480D4:
- mov r0, #0x1
- bx lr
-
- thumb_func_start FUN_020480D8
-FUN_020480D8: ; 0x020480D8
- cmp r0, #0x4
- bne _020480E0
- mov r0, #0x0
- bx lr
-_020480E0:
- mov r0, #0x1
- bx lr
-
- thumb_func_start FUN_020480E4
-FUN_020480E4: ; 0x020480E4
- push {r4, lr}
- add r4, r0, #0x0
- add r0, #0xf8
- ldr r0, [r0, #0x0]
- bl FUN_020239CC
- add r1, r4, #0x0
- add r1, #0x29
- strb r0, [r1, #0x0]
- add r0, r4, #0x0
- add r0, #0xf8
- ldr r0, [r0, #0x0]
- bl FUN_0202398C
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x3c
- bl StringCopy
- add r3, r4, #0x0
- add r3, #0x28
- add r4, #0x90
- mov r2, #0x6
-_02048112:
- ldmia r3!, {r0-r1}
- stmia r4!, {r0-r1}
- sub r2, r2, #0x1
- bne _02048112
- ldr r0, [r3, #0x0]
- str r0, [r4, #0x0]
- pop {r4, pc}
-
- thumb_func_start FUN_02048120
-FUN_02048120: ; 0x02048120
- push {r4, lr}
- sub sp, #0x8
- add r4, r0, #0x0
- ldr r0, _02048158 ; =0x020F465C
- bl FUN_0201E66C
- ldr r0, _0204815C ; =0x020F4630
- bl FUN_02016BBC
- ldr r2, _02048160 ; =0x020F4640
- add r0, r4, #0x0
- mov r1, #0x3
- mov r3, #0x0
- bl FUN_02016C18
- mov r0, #0x20
- str r0, [sp, #0x0]
- mov r0, #0xb
- mov r3, #0x1a
- str r0, [sp, #0x4]
- mov r0, #0xe
- mov r1, #0x6
- mov r2, #0x0
- lsl r3, r3, #0x4
- bl FUN_02006930
- add sp, #0x8
- pop {r4, pc}
- .balign 4
-_02048158: .word 0x020F465C
-_0204815C: .word 0x020F4630
-_02048160: .word 0x020F4640
-
- thumb_func_start FUN_02048164
-FUN_02048164: ; 0x02048164
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r6, r1, #0x0
- mov r0, #0xb
- mov r1, #0x24
- bl FUN_02016998
- add r4, r0, #0x0
- bne _0204817A
- bl ErrorHandling
-_0204817A:
- add r0, r4, #0x0
- mov r1, #0x0
- mov r2, #0x24
- blx Call_FillMemWithValue
- mov r0, #0x0
- str r0, [r4, #0x0]
- str r5, [r4, #0x4]
- mov r0, #0xb
- bl FUN_02016B94
- str r0, [r4, #0x8]
- bl FUN_02048120
- mov r2, #0x52
- mov r0, #0x1
- mov r1, #0x1a
- lsl r2, r2, #0x2
- mov r3, #0xb
- bl FUN_0200A86C
- str r0, [r4, #0x1c]
- mov r0, #0xb
- bl FUN_0200AA80
- str r0, [r4, #0x20]
- add r1, r4, #0x0
- ldr r0, [r4, #0x8]
- ldr r2, _02048208 ; =0x020F4628
- add r1, #0xc
- bl FUN_02019150
- add r0, r5, #0x0
- bl FUN_020377AC
- bl FUN_020238F4
- add r2, r0, #0x0
- ldr r0, [r4, #0x20]
- mov r1, #0x0
- bl FUN_0200ABC0
- ldr r0, [r5, #0x1c]
- ldr r1, [r0, #0x0]
- ldr r0, _0204820C ; =0x0000019E
- cmp r1, r0
- bne _020481E6
- mov r2, #0x0
- add r0, r4, #0x0
- mov r1, #0x4
- add r3, r2, #0x0
- bl FUN_020482F4
- b _020481F2
-_020481E6:
- mov r2, #0x0
- add r0, r4, #0x0
- mov r1, #0x3
- add r3, r2, #0x0
- bl FUN_020482F4
-_020481F2:
- add r0, r4, #0x0
- add r0, #0xc
- bl FUN_020191D0
- ldr r1, _02048210 ; =FUN_02048214
- add r0, r6, #0x0
- add r2, r4, #0x0
- bl FUN_0204640C
- pop {r4-r6, pc}
- nop
-_02048208: .word 0x020F4628
-_0204820C: .word 0x0000019E
-_02048210: .word FUN_02048214
-
- thumb_func_start FUN_02048214
-FUN_02048214: ; 0x02048214
- push {r3-r4, lr}
- sub sp, #0xc
- bl FUN_0204652C
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- cmp r0, #0x4
- bhi _020482EA
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_02048230: ; jump table (using 16-bit offset)
- .short _0204823A - _02048230 - 2; case 0
- .short _02048258 - _02048230 - 2; case 1
- .short _02048268 - _02048230 - 2; case 2
- .short _02048298 - _02048230 - 2; case 3
- .short _020482B2 - _02048230 - 2; case 4
-_0204823A:
- mov r0, #0x8
- str r0, [sp, #0x0]
- mov r1, #0x1
- str r1, [sp, #0x4]
- mov r0, #0x20
- str r0, [sp, #0x8]
- mov r0, #0x3
- mov r2, #0x2a
- mov r3, #0x0
- bl FUN_0200E1D0
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _020482EA
-_02048258:
- bl FUN_0200E308
- cmp r0, #0x0
- beq _020482EA
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _020482EA
-_02048268:
- ldr r0, _020482F0 ; =0x021C48B8
- ldr r1, [r0, #0x48]
- mov r0, #0x1
- tst r0, r1
- bne _02048278
- mov r0, #0x2
- tst r0, r1
- beq _020482EA
-_02048278:
- mov r0, #0x8
- str r0, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- mov r0, #0x20
- str r0, [sp, #0x8]
- mov r0, #0x0
- add r1, r0, #0x0
- add r2, r0, #0x0
- add r3, r0, #0x0
- bl FUN_0200E1D0
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _020482EA
-_02048298:
- bl FUN_0200E308
- cmp r0, #0x0
- beq _020482EA
- add r0, r4, #0x0
- add r0, #0xc
- mov r1, #0x0
- bl FUN_02019620
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _020482EA
-_020482B2:
- add r0, r4, #0x0
- add r0, #0xc
- mov r1, #0x0
- bl FUN_0200D0E0
- add r0, r4, #0x0
- add r0, #0xc
- bl FUN_02019178
- ldr r0, [r4, #0x20]
- bl FUN_0200AB18
- ldr r0, [r4, #0x1c]
- bl FUN_0200A8B8
- ldr r0, [r4, #0x8]
- mov r1, #0x3
- bl FUN_020178A0
- ldr r0, [r4, #0x8]
- bl FUN_02016A18
- add r0, r4, #0x0
- bl FUN_02016A18
- add sp, #0xc
- mov r0, #0x1
- pop {r3-r4, pc}
-_020482EA:
- mov r0, #0x0
- add sp, #0xc
- pop {r3-r4, pc}
- .balign 4
-_020482F0: .word 0x021C48B8
-
- thumb_func_start FUN_020482F4
-FUN_020482F4: ; 0x020482F4
- push {r4-r7, lr}
- sub sp, #0x14
- add r5, r0, #0x0
- mov r0, #0x1
- str r1, [sp, #0x10]
- lsl r0, r0, #0xa
- mov r1, #0xb
- add r7, r3, #0x0
- bl FUN_020219F4
- add r6, r0, #0x0
- mov r0, #0x1
- lsl r0, r0, #0xa
- mov r1, #0xb
- bl FUN_020219F4
- add r4, r0, #0x0
- add r0, r5, #0x0
- add r0, #0xc
- mov r1, #0x0
- bl FUN_02019620
- ldr r0, [r5, #0x1c]
- ldr r1, [sp, #0x10]
- add r2, r6, #0x0
- bl FUN_0200A8E0
- ldr r0, [r5, #0x20]
- add r1, r4, #0x0
- add r2, r6, #0x0
- bl FUN_0200B7B8
- mov r0, #0x0
- add r1, r4, #0x0
- add r2, r0, #0x0
- bl FUN_02002F08
- add r3, r0, #0x0
- str r7, [sp, #0x0]
- mov r0, #0xff
- str r0, [sp, #0x4]
- ldr r0, _02048378 ; =0x000F0200
- mov r1, #0x0
- str r0, [sp, #0x8]
- add r0, r5, #0x0
- str r1, [sp, #0xc]
- ldrb r5, [r5, #0x13]
- add r0, #0xc
- add r2, r4, #0x0
- lsl r5, r5, #0x3
- sub r3, r5, r3
- lsl r3, r3, #0x18
- lsr r3, r3, #0x19
- sub r3, r3, #0x4
- lsl r3, r3, #0x18
- lsr r3, r3, #0x18
- bl FUN_0201BDE0
- add r0, r6, #0x0
- bl FUN_02021A20
- add r0, r4, #0x0
- bl FUN_02021A20
- add sp, #0x14
- pop {r4-r7, pc}
- .balign 4
-_02048378: .word 0x000F0200
-
- thumb_func_start FUN_0204837C
-FUN_0204837C: ; 0x0204837C
- push {r3-r7, lr}
- sub sp, #0x18
- add r5, r0, #0x0
- bl FUN_02046528
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02046530
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- cmp r0, #0x6
- bhi _02048488
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_020483A2: ; jump table (using 16-bit offset)
- .short _020483B0 - _020483A2 - 2; case 0
- .short _020483E8 - _020483A2 - 2; case 1
- .short _020483F8 - _020483A2 - 2; case 2
- .short _0204840C - _020483A2 - 2; case 3
- .short _02048434 - _020483A2 - 2; case 4
- .short _02048442 - _020483A2 - 2; case 5
- .short _02048482 - _020483A2 - 2; case 6
-_020483B0:
- ldr r0, [r6, #0xc]
- bl FUN_02034E30
- add r7, r0, #0x0
- bl FUN_02034DFC
- add r1, sp, #0x4
- str r0, [sp, #0x0]
- bl FUN_02034EC4
- add r0, r7, #0x0
- bl FUN_02034DCC
- add r1, r0, #0x0
- ldr r0, [sp, #0x0]
- bl FUN_02034E90
- add r0, r5, #0x0
- add r1, sp, #0x4
- bl FUN_02049160
- add r0, r6, #0x0
- bl FUN_020637F0
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02048488
-_020483E8:
- mov r0, #0x0
- mov r1, #0x14
- bl FUN_020053CC
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02048488
-_020483F8:
- bl FUN_02005404
- cmp r0, #0x0
- bne _02048488
- bl FUN_0204AB0C
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02048488
-_0204840C:
- mov r0, #0xf
- mvn r0, r0
- mov r1, #0x37
- mov r2, #0x1
- bl FUN_0200A274
- mov r0, #0xf
- mvn r0, r0
- mov r1, #0x3f
- mov r2, #0x2
- bl FUN_0200A274
- add r0, r6, #0x0
- add r1, r5, #0x0
- bl FUN_02048164
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02048488
-_02048434:
- add r0, r5, #0x0
- bl FUN_0204AF84
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02048488
-_02048442:
- mov r0, #0x0
- mov r1, #0x3f
- mov r2, #0x3
- bl FUN_0200A274
- bl FUN_02034E8C
- add r7, r0, #0x0
- ldr r0, [r6, #0xc]
- bl FUN_02034E30
- bl FUN_02034DFC
- cmp r7, r0
- bne _0204846E
- mov r2, #0x0
- ldr r1, _02048490 ; =0x000007E4
- add r0, r5, #0x0
- add r3, r2, #0x0
- bl FUN_02038CD8
- b _0204847A
-_0204846E:
- mov r2, #0x0
- ldr r1, _02048494 ; =0x000007E5
- add r0, r5, #0x0
- add r3, r2, #0x0
- bl FUN_02038CD8
-_0204847A:
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02048488
-_02048482:
- add sp, #0x18
- mov r0, #0x1
- pop {r3-r7, pc}
-_02048488:
- mov r0, #0x0
- add sp, #0x18
- pop {r3-r7, pc}
- nop
-_02048490: .word 0x000007E4
-_02048494: .word 0x000007E5
-
- thumb_func_start FUN_02048498
-FUN_02048498: ; 0x02048498
- ldr r3, _020484A0 ; =FUN_0204640C
- ldr r1, _020484A4 ; =FUN_0204837C
- mov r2, #0x0
- bx r3
- .balign 4
-_020484A0: .word FUN_0204640C
-_020484A4: .word FUN_0204837C
-
- thumb_func_start FUN_020484A8
-FUN_020484A8: ; 0x020484A8
- push {r3-r6, lr}
- sub sp, #0x14
- add r5, r0, #0x0
- ldr r0, [r5, #0xc]
- add r6, r1, #0x0
- mov r1, #0xb
- add r2, sp, #0x0
- bl FUN_02022534
- add r4, r0, #0x0
- ldr r0, [sp, #0x0]
- cmp r0, #0x1
- bne _020484C6
- cmp r6, #0x0
- bne _020484CC
-_020484C6:
- add r0, r4, #0x0
- bl FUN_0202B03C
-_020484CC:
- ldr r0, [r5, #0xc]
- bl FUN_0206BB1C
- add r6, r0, #0x0
- add r0, sp, #0x4
- bl FUN_020126B4
- add r0, r4, #0x0
- add r1, r6, #0x0
- add r2, sp, #0x4
- bl FUN_0202B050
- ldr r0, [r5, #0xc]
- add r1, r4, #0x0
- bl FUN_02022540
- add r0, r4, #0x0
- bl FUN_02016A18
- add sp, #0x14
- pop {r3-r6, pc}
- .balign 4
-
- thumb_func_start FUN_020484F8
-FUN_020484F8: ; 0x020484F8
- push {r4-r7, lr}
- sub sp, #0xc
- add r4, r0, #0x0
- bl FUN_02046528
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl FUN_0204652C
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_02046530
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- cmp r0, #0x9
- bhi _02048554
- add r1, r0, r0
- add r1, pc
- ldrh r1, [r1, #0x6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_02048526: ; jump table (using 16-bit offset)
- .short _0204853A - _02048526 - 2; case 0
- .short _0204854A - _02048526 - 2; case 1
- .short _02048586 - _02048526 - 2; case 2
- .short _020485AE - _02048526 - 2; case 3
- .short _020485C0 - _02048526 - 2; case 4
- .short _020485F6 - _02048526 - 2; case 5
- .short _02048612 - _02048526 - 2; case 6
- .short _02048624 - _02048526 - 2; case 7
- .short _02048644 - _02048526 - 2; case 8
- .short _02048666 - _02048526 - 2; case 9
-_0204853A:
- add r0, r6, #0x0
- add r1, r5, #0x4
- bl FUN_02038814
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02048688
-_0204854A:
- add r0, r6, #0x0
- bl FUN_0204647C
- cmp r0, #0x0
- beq _02048556
-_02048554:
- b _02048688
-_02048556:
- mov r1, #0x4
- mov r0, #0x3
- lsl r2, r1, #0xf
- bl FUN_0201681C
- add r0, r6, #0x0
- add r1, r5, #0x0
- bl FUN_02048764
- mov r0, #0x8
- str r0, [sp, #0x0]
- mov r1, #0x1
- str r1, [sp, #0x4]
- mov r0, #0x20
- str r0, [sp, #0x8]
- mov r0, #0x3
- add r2, r1, #0x0
- mov r3, #0x0
- bl FUN_0200E1D0
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02048688
-_02048586:
- bl FUN_0200E308
- cmp r0, #0x0
- beq _02048688
- ldr r0, [r6, #0xc]
- bl FUN_0202280C
- cmp r0, #0x0
- bne _020485A8
- add r0, r6, #0x0
- add r1, r5, #0x0
- bl FUN_020487E4
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02048688
-_020485A8:
- mov r0, #0x7
- str r0, [r4, #0x0]
- b _02048688
-_020485AE:
- add r0, r5, #0x0
- bl FUN_02048838
- cmp r0, #0x0
- beq _02048688
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02048688
-_020485C0:
- ldr r0, [r6, #0xc]
- bl FUN_0206BB1C
- bl FUN_02085140
- bl FUN_02022830
- ldr r0, [r6, #0xc]
- bl FUN_02022720
- add r7, r0, #0x0
- ldr r1, [r5, #0x0]
- add r0, r6, #0x0
- bl FUN_020484A8
- add r0, r5, #0x0
- bl FUN_02048848
- add r0, r6, #0x0
- add r1, r5, #0x0
- add r2, r7, #0x0
- bl FUN_02048864
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02048688
-_020485F6:
- add r0, r5, #0x0
- bl FUN_02048838
- cmp r0, #0x0
- beq _02048688
- ldr r0, _02048690 ; =0x0000061B
- bl FUN_020054C8
- mov r0, #0x12
- str r0, [r5, #0x38]
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02048688
-_02048612:
- ldr r1, [r5, #0x38]
- cmp r1, #0x0
- beq _0204861E
- sub r0, r1, #0x1
- str r0, [r5, #0x38]
- b _02048688
-_0204861E:
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02048688
-_02048624:
- mov r0, #0x8
- str r0, [sp, #0x0]
- mov r1, #0x0
- mov r0, #0x1
- str r0, [sp, #0x4]
- mov r0, #0x20
- str r0, [sp, #0x8]
- mov r0, #0x3
- add r2, r1, #0x0
- add r3, r1, #0x0
- bl FUN_0200E1D0
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02048688
-_02048644:
- bl FUN_0200E308
- cmp r0, #0x0
- beq _02048688
- add r0, r6, #0x0
- add r1, r5, #0x0
- bl FUN_020488D4
- add r5, #0x10
- add r0, r6, #0x0
- add r1, r5, #0x0
- bl FUN_02038854
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02048688
-_02048666:
- add r0, r6, #0x0
- bl FUN_0204647C
- cmp r0, #0x0
- bne _02048688
- add r0, r5, #0x0
- bl FUN_02016A18
- mov r0, #0x4
- bl FUN_020168D0
- mov r0, #0x0
- blx OS_ResetSystem
- add sp, #0xc
- mov r0, #0x1
- pop {r4-r7, pc}
-_02048688:
- mov r0, #0x0
- add sp, #0xc
- pop {r4-r7, pc}
- nop
-_02048690: .word 0x0000061B
-
- thumb_func_start FUN_02048694
-FUN_02048694: ; 0x02048694
- push {r4-r7, lr}
- sub sp, #0xc
- add r7, r0, #0x0
- bl FUN_02046528
- add r4, r0, #0x0
- mov r0, #0x20
- mov r1, #0x3c
- bl FUN_02016998
- add r5, r0, #0x0
- ldr r0, [r4, #0xc]
- bl FUN_020462AC
- add r6, r0, #0x0
- ldr r0, [r4, #0xc]
- bl FUN_020238F4
- str r0, [sp, #0x0]
- ldr r0, [r4, #0xc]
- bl FUN_02034E30
- bl FUN_02034DD0
- str r0, [sp, #0x8]
- ldr r0, [r4, #0xc]
- bl FUN_02034E30
- bl FUN_02034DCC
- str r0, [sp, #0x4]
- add r0, r6, #0x0
- bl FUN_0205ED0C
- str r0, [r5, #0x0]
- ldr r0, [r4, #0xc]
- bl FUN_020238F4
- str r0, [r5, #0x4]
- ldr r0, [r4, #0xc]
- bl FUN_0206BB1C
- str r0, [r5, #0x8]
- ldr r0, [r4, #0xc]
- bl FUN_02023918
- str r0, [r5, #0xc]
- ldr r0, [r4, #0xc]
- bl FUN_020238F4
- bl FUN_020239CC
- str r0, [r5, #0x10]
- add r0, r6, #0x0
- bl FUN_0205ED0C
- str r0, [r5, #0x14]
- ldr r0, [r4, #0xc]
- bl FUN_02024DA0
- str r0, [r5, #0x18]
- add r0, r6, #0x0
- bl FUN_0205ED0C
- cmp r0, #0x0
- bne _0204871E
- add r0, r4, #0x0
- bl FUN_0204B328
-_0204871E:
- ldr r0, [r4, #0xc]
- bl FUN_0206BB1C
- bl FUN_0204A25C
- ldr r0, [sp, #0x8]
- bl FUN_020377B0
- ldr r0, [sp, #0x4]
- bl FUN_020377C8
- add r0, r6, #0x0
- bl FUN_0205F154
- add r0, r6, #0x0
- bl FUN_0205ECFC
- ldr r0, [sp, #0x0]
- bl FUN_02023A78
- ldr r0, [r4, #0xc]
- bl FUN_02029FC8
- mov r1, #0x2e
- bl FUN_0202A0E8
- ldr r1, _02048760 ; =FUN_020484F8
- add r0, r7, #0x0
- add r2, r5, #0x0
- bl FUN_0204640C
- add sp, #0xc
- pop {r4-r7, pc}
- .balign 4
-_02048760: .word FUN_020484F8
-
- thumb_func_start FUN_02048764
-FUN_02048764: ; 0x02048764
- push {r4, lr}
- sub sp, #0x10
- add r4, r0, #0x0
- mov r0, #0x0
- str r0, [r1, #0x2c]
- str r0, [r1, #0x30]
- add r1, #0x1c
- add r0, r1, #0x0
- bl FUN_0201901C
- ldr r0, _020487D4 ; =0x020F46B0
- bl FUN_0201E66C
- ldr r2, _020487D8 ; =0x04000304
- ldrh r1, [r2, #0x0]
- lsr r0, r2, #0xb
- orr r0, r1
- strh r0, [r2, #0x0]
- ldr r0, _020487DC ; =0x020F4684
- bl FUN_02016BBC
- mov r0, #0x3
- mov r1, #0x0
- bl FUN_02017FE4
- ldr r0, [r4, #0x8]
- ldr r2, _020487E0 ; =0x020F4694
- mov r1, #0x3
- mov r3, #0x0
- bl FUN_02016C18
- mov r1, #0x20
- mov r0, #0x3
- mov r2, #0x0
- add r3, r1, #0x0
- bl FUN_02017F18
- mov r2, #0x0
- str r2, [sp, #0x0]
- mov r0, #0x20
- str r0, [sp, #0x4]
- str r0, [sp, #0x8]
- mov r0, #0x11
- str r0, [sp, #0xc]
- ldr r0, [r4, #0x8]
- mov r1, #0x3
- add r3, r2, #0x0
- bl FUN_02018540
- ldr r0, [r4, #0x8]
- mov r1, #0x3
- bl FUN_02017CD0
- add sp, #0x10
- pop {r4, pc}
- nop
-_020487D4: .word 0x020F46B0
-_020487D8: .word 0x04000304
-_020487DC: .word 0x020F4684
-_020487E0: .word 0x020F4694
-
- thumb_func_start FUN_020487E4
-FUN_020487E4: ; 0x020487E4
- push {r4-r6, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0xc]
- add r4, r1, #0x0
- bl LoadPlayerDataAddress
- add r6, r0, #0x0
- mov r0, #0x1a
- mov r1, #0xc7
- mov r2, #0xf
- mov r3, #0x20
- bl FUN_0200A738
- str r0, [r4, #0x2c]
- add r1, r4, #0x0
- ldr r0, [r5, #0x8]
- add r1, #0x1c
- mov r2, #0x3
- bl FUN_020545B8
- add r0, r4, #0x0
- add r0, #0x1c
- add r1, r6, #0x0
- bl FUN_02054608
- add r0, r4, #0x0
- ldr r1, [r4, #0x2c]
- add r0, #0x1c
- add r2, r6, #0x0
- mov r3, #0x1
- bl FUN_02054658
- str r0, [r4, #0x34]
- add r0, r4, #0x0
- ldr r1, _02048834 ; =0x000003E2
- add r0, #0x1c
- bl FUN_0200D858
- str r0, [r4, #0x30]
- pop {r4-r6, pc}
- .balign 4
-_02048834: .word 0x000003E2
-
- thumb_func_start FUN_02048838
-FUN_02048838: ; 0x02048838
- ldr r0, [r0, #0x34]
- ldr r3, _02048844 ; =FUN_020546C8
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- bx r3
- nop
-_02048844: .word FUN_020546C8
-
- thumb_func_start FUN_02048848
-FUN_02048848: ; 0x02048848
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x2c]
- bl FUN_02021A20
- ldr r0, [r4, #0x30]
- bl FUN_0200DBFC
- add r4, #0x1c
- add r0, r4, #0x0
- bl FUN_0205464C
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02048864
-FUN_02048864: ; 0x02048864
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- add r6, r2, #0x0
- mov r0, #0x1
- mov r1, #0x1a
- mov r2, #0xc7
- mov r3, #0x4
- bl FUN_0200A86C
- add r7, r0, #0x0
- cmp r6, #0x2
- bne _020488AC
- mov r0, #0x4
- bl FUN_0200AA80
- add r6, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_020238F4
- add r2, r0, #0x0
- add r0, r6, #0x0
- mov r1, #0x0
- bl FUN_0200ABC0
- add r0, r6, #0x0
- add r1, r7, #0x0
- mov r2, #0x10
- mov r3, #0x4
- bl FUN_0200A9C4
- str r0, [r4, #0x2c]
- add r0, r6, #0x0
- bl FUN_0200AB18
- b _020488B4
-_020488AC:
- mov r1, #0x12
- bl FUN_0200A914
- str r0, [r4, #0x2c]
-_020488B4:
- add r0, r7, #0x0
- bl FUN_0200A8B8
- ldr r0, [r5, #0xc]
- bl LoadPlayerDataAddress
- add r2, r0, #0x0
- add r0, r4, #0x0
- ldr r1, [r4, #0x2c]
- add r0, #0x1c
- mov r3, #0x1
- bl FUN_02054658
- str r0, [r4, #0x34]
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_020488D4
-FUN_020488D4: ; 0x020488D4
- push {r3-r5, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- ldr r0, [r4, #0x2c]
- cmp r0, #0x0
- beq _020488E4
- bl FUN_02021A20
-_020488E4:
- add r0, r4, #0x0
- add r0, #0x1c
- bl FUN_02019048
- cmp r0, #0x0
- beq _020488F8
- add r4, #0x1c
- add r0, r4, #0x0
- bl FUN_02019178
-_020488F8:
- ldr r0, [r5, #0x8]
- mov r1, #0x3
- bl FUN_020178A0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02048904
-FUN_02048904: ; 0x02048904
- ldr r1, [r0, #0x1c]
- ldr r2, _02048950 ; =0x0000014B
- ldr r1, [r1, #0x0]
- cmp r1, r2
- bgt _0204892C
- sub r2, r2, #0x5
- sub r2, r1, r2
- bmi _02048936
- add r2, r2, r2
- add r2, pc
- ldrh r2, [r2, #0x6]
- lsl r2, r2, #0x10
- asr r2, r2, #0x10
- add pc, r2
-_02048920: ; jump table (using 16-bit offset)
- .short _02048932 - _02048920 - 2; case 0
- .short _02048932 - _02048920 - 2; case 1
- .short _02048932 - _02048920 - 2; case 2
- .short _02048932 - _02048920 - 2; case 3
- .short _02048932 - _02048920 - 2; case 4
- .short _02048932 - _02048920 - 2; case 5
-_0204892C:
- ldr r2, _02048954 ; =0x000001ED
- cmp r1, r2
- bne _02048936
-_02048932:
- mov r2, #0x1
- b _02048938
-_02048936:
- mov r2, #0x0
-_02048938:
- cmp r2, #0x0
- bne _02048946
- ldr r1, [r0, #0x6c]
- cmp r1, #0x4
- bne _02048946
- mov r1, #0x0
- str r1, [r0, #0x6c]
-_02048946:
- cmp r2, #0x0
- beq _0204894E
- mov r1, #0x4
- str r1, [r0, #0x6c]
-_0204894E:
- bx lr
- .balign 4
-_02048950: .word 0x0000014B
-_02048954: .word 0x000001ED
-
- thumb_func_start FUN_02048958
-FUN_02048958: ; 0x02048958
- push {r4-r6, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0xc]
- add r4, r1, #0x0
- bl FUN_02034E30
- add r6, r0, #0x0
- bl FUN_02034DC8
- add r2, r0, #0x0
- cmp r4, #0x0
- beq _0204898C
- ldr r3, [r5, #0x1c]
- ldmia r3!, {r0-r1}
- stmia r2!, {r0-r1}
- ldmia r3!, {r0-r1}
- stmia r2!, {r0-r1}
- ldr r0, [r3, #0x0]
- str r0, [r2, #0x0]
- ldr r2, [r5, #0x1c]
- ldmia r4!, {r0-r1}
- stmia r2!, {r0-r1}
- ldmia r4!, {r0-r1}
- stmia r2!, {r0-r1}
- ldr r0, [r4, #0x0]
- str r0, [r2, #0x0]
-_0204898C:
- ldr r1, [r5, #0x1c]
- add r0, r5, #0x0
- ldr r1, [r1, #0x0]
- bl FUN_02034A60
- ldr r0, [r5, #0x1c]
- ldr r1, [r0, #0x4]
- mov r0, #0x0
- mvn r0, r0
- cmp r1, r0
- beq _020489DA
- add r0, r5, #0x0
- bl FUN_02034B00
- ldrh r2, [r0, #0x0]
- ldr r1, [r5, #0x1c]
- str r2, [r1, #0x8]
- ldrh r2, [r0, #0x2]
- ldr r1, [r5, #0x1c]
- str r2, [r1, #0xc]
- ldrh r1, [r0, #0x6]
- mov r0, #0x1
- lsl r0, r0, #0x8
- cmp r1, r0
- bne _020489DA
- add r0, r6, #0x0
- bl FUN_02034DD0
- add r4, r0, #0x0
- add r0, r6, #0x0
- bl FUN_02034DC4
- add r2, r0, #0x0
- ldmia r2!, {r0-r1}
- stmia r4!, {r0-r1}
- ldmia r2!, {r0-r1}
- stmia r4!, {r0-r1}
- ldr r0, [r2, #0x0]
- str r0, [r4, #0x0]
-_020489DA:
- pop {r4-r6, pc}
-
- thumb_func_start FUN_020489DC
-FUN_020489DC: ; 0x020489DC
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x6c]
- cmp r0, #0x5
- blt _020489EA
- bl ErrorHandling
-_020489EA:
- ldr r0, [r4, #0x70]
- ldr r0, [r0, #0x0]
- lsl r0, r0, #0x10
- lsr r1, r0, #0x1c
- ldr r0, _020489F8 ; =0x021C4918
- strb r1, [r0, #0x5]
- pop {r4, pc}
- .balign 4
-_020489F8: .word 0x021C4918
-
- thumb_func_start FUN_020489FC
-FUN_020489FC: ; 0x020489FC
- push {r3-r7, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- ldr r0, [r5, #0x1c]
- add r4, r1, #0x0
- ldr r7, [r0, #0x0]
- ldr r0, [r5, #0xc]
- bl FUN_02034E30
- str r0, [sp, #0x4]
- add r0, r5, #0x0
- bl FUN_0204AB44
- add r0, r5, #0x0
- bl FUN_02039564
- cmp r4, #0x0
- bne _02048A28
- add r0, r5, #0x0
- bl FUN_020636DC
- b _02048A2E
-_02048A28:
- add r0, r5, #0x0
- bl FUN_02063684
-_02048A2E:
- ldr r0, [r5, #0xc]
- bl FUN_020462AC
- bl FUN_0205F408
- cmp r4, #0x0
- bne _02048A42
- add r0, r5, #0x0
- bl FUN_0204B0F8
-_02048A42:
- cmp r4, #0x0
- bne _02048A50
- ldr r0, [r5, #0xc]
- bl FUN_02024ED8
- bl FUN_02025484
-_02048A50:
- ldr r0, [r5, #0xc]
- bl FUN_020462AC
- str r0, [sp, #0x0]
- add r0, r5, #0x0
- add r1, r7, #0x0
- bl FUN_02034FE4
- lsl r0, r0, #0x10
- lsr r6, r0, #0x10
- cmp r6, #0xe
- bne _02048A72
- ldr r0, [sp, #0x0]
- bl FUN_0205F2C4
- cmp r0, #0x1
- beq _02048A80
-_02048A72:
- cmp r6, #0x10
- bne _02048A82
- ldr r0, [sp, #0x0]
- bl FUN_0205F294
- cmp r0, #0x1
- bne _02048A82
-_02048A80:
- mov r6, #0x0
-_02048A82:
- ldr r0, [sp, #0x4]
- add r1, r6, #0x0
- bl FUN_02034DF4
- cmp r4, #0x0
- beq _02048AA6
- ldr r0, [sp, #0x4]
- bl FUN_02034E10
- add r6, r0, #0x0
- add r0, r7, #0x0
- bl FUN_0203484C
- cmp r6, r0
- beq _02048AB4
- bl ErrorHandling
- b _02048AB4
-_02048AA6:
- add r0, r7, #0x0
- bl FUN_0203484C
- add r1, r0, #0x0
- ldr r0, [sp, #0x4]
- bl FUN_02034E18
-_02048AB4:
- cmp r4, #0x0
- bne _02048ACA
- add r0, r7, #0x0
- bl FUN_02034EF8
- lsl r0, r0, #0x10
- lsr r1, r0, #0x10
- beq _02048ACA
- ldr r0, [sp, #0x4]
- bl FUN_02034E04
-_02048ACA:
- add r0, r5, #0x0
- mov r1, #0x2
- bl FUN_0203989C
- add r0, r5, #0x0
- mov r1, #0x0
- add r0, #0x74
- strh r1, [r0, #0x0]
- add r5, #0x76
- strh r1, [r5, #0x0]
- add sp, #0x8
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02048AE4
-FUN_02048AE4: ; 0x02048AE4
- push {r4-r5, lr}
- sub sp, #0xc
- add r5, r0, #0x0
- mov r1, #0x40
- mov r2, #0x5
- bl FUN_02057380
- str r0, [r5, #0x34]
- ldr r0, [r5, #0xc]
- bl FUN_020238F4
- bl FUN_020239CC
- add r4, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_02034E30
- bl FUN_02034E20
- ldr r3, [r5, #0x1c]
- ldr r1, [r0, #0x4]
- str r1, [sp, #0x0]
- str r4, [sp, #0x4]
- str r0, [sp, #0x8]
- ldr r0, [r5, #0x34]
- ldr r1, [r3, #0x8]
- ldr r2, [r3, #0xc]
- ldr r3, [r3, #0x10]
- bl FUN_02055068
- str r0, [r5, #0x38]
- add r0, r5, #0x0
- bl FUN_02034AC8
- ldr r0, [r5, #0x34]
- bl FUN_02058768
- add sp, #0xc
- pop {r4-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02048B34
-FUN_02048B34: ; 0x02048B34
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_0204CC48
- ldr r0, [r4, #0x38]
- bl FUN_02055160
- ldr r0, [r4, #0x34]
- bl FUN_0205771C
- ldr r0, [r4, #0x34]
- bl FUN_020573AC
- pop {r4, pc}
-
- thumb_func_start FUN_02048B50
-FUN_02048B50: ; 0x02048B50
- push {r3-r5, lr}
- add r5, r0, #0x0
- mov r1, #0x40
- mov r2, #0x5
- bl FUN_02057380
- str r0, [r5, #0x34]
- add r0, r5, #0x0
- bl FUN_02034E60
- ldr r0, [r5, #0xc]
- bl FUN_02034E30
- bl FUN_02034E20
- add r4, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_020238F4
- bl FUN_020239CC
- add r2, r0, #0x0
- ldr r0, [r5, #0x34]
- add r1, r4, #0x0
- bl FUN_020550A4
- str r0, [r5, #0x38]
- ldr r0, [r5, #0x34]
- bl FUN_02058768
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02048B90
-FUN_02048B90: ; 0x02048B90
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_02048904
- ldr r0, [r4, #0x58]
- cmp r0, #0x0
- beq _02048BA2
- bl ErrorHandling
-_02048BA2:
- ldr r0, [r4, #0x1c]
- ldr r1, [r4, #0x28]
- ldr r0, [r0, #0x0]
- bl FUN_020344AC
- ldr r0, [r4, #0xc]
- bl FUN_020462AC
- mov r1, #0x3
- bl FUN_0205F524
- cmp r0, #0x0
- beq _02048BC2
- ldr r0, [r4, #0x28]
- bl FUN_020346CC
-_02048BC2:
- ldr r0, [r4, #0xc]
- bl FUN_020462AC
- mov r1, #0x2
- bl FUN_0205F524
- cmp r0, #0x0
- bne _02048BD8
- ldr r0, [r4, #0x28]
- bl FUN_02034678
-_02048BD8:
- ldr r0, [r4, #0x6c]
- cmp r0, #0x5
- blt _02048BE2
- bl ErrorHandling
-_02048BE2:
- ldr r0, [r4, #0x6c]
- ldr r1, _02048C28 ; =0x020F46E0
- lsl r0, r0, #0x3
- add r0, r1, r0
- str r0, [r4, #0x70]
- ldr r0, [r0, #0x0]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x1c
- str r0, [r4, #0x5c]
- ldr r0, [r4, #0x70]
- ldr r0, [r0, #0x0]
- lsl r0, r0, #0x1c
- lsr r0, r0, #0x1c
- str r0, [r4, #0x18]
- ldr r1, [r4, #0x70]
- add r0, r4, #0x0
- ldr r1, [r1, #0x0]
- add r0, #0x58
- lsl r1, r1, #0x14
- lsr r1, r1, #0x1c
- bl FUN_0204A690
- ldr r0, [r4, #0x70]
- ldr r1, [r0, #0x0]
- lsl r0, r1, #0xc
- lsr r0, r0, #0x1c
- beq _02048C24
- lsr r1, r1, #0x18
- lsl r1, r1, #0x18
- add r0, r4, #0x0
- lsr r1, r1, #0x18
- bl FUN_0204A368
-_02048C24:
- pop {r4, pc}
- nop
-_02048C28: .word 0x020F46E0
-
- thumb_func_start FUN_02048C2C
-FUN_02048C2C: ; 0x02048C2C
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x58]
- cmp r0, #0x0
- bne _02048C3A
- bl ErrorHandling
-_02048C3A:
- mov r0, #0x0
- str r0, [r4, #0x58]
- mov r0, #0x5
- str r0, [r4, #0x18]
- ldr r0, [r4, #0x70]
- ldr r0, [r0, #0x0]
- lsl r0, r0, #0xc
- lsr r0, r0, #0x1c
- beq _02048C52
- add r0, r4, #0x0
- bl FUN_0204A390
-_02048C52:
- mov r0, #0x0
- str r0, [r4, #0x70]
- pop {r4, pc}
-
- thumb_func_start FUN_02048C58
-FUN_02048C58: ; 0x02048C58
- push {r4, lr}
- add r4, r0, #0x0
- add r0, #0x98
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- beq _02048C7E
- ldr r0, [r4, #0x1c]
- mov r1, #0xb
- ldr r0, [r0, #0x0]
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- bl FUN_02028FA4
- add r4, #0x98
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- mov r2, #0x0
- bl FUN_02028AD4
-_02048C7E:
- pop {r4, pc}
-
- thumb_func_start FUN_02048C80
-FUN_02048C80: ; 0x02048C80
- push {r4, lr}
- add r4, r0, #0x0
- add r0, #0x98
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- beq _02048CAE
- ldr r0, [r4, #0xc]
- bl FUN_02034E30
- bl FUN_02034DD0
- ldr r0, [r0, #0x0]
- mov r1, #0xb
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- bl FUN_02028FA4
- add r4, #0x98
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- mov r2, #0x0
- bl FUN_02028AD4
-_02048CAE:
- pop {r4, pc}
-
- thumb_func_start FUN_02048CB0
-FUN_02048CB0: ; 0x02048CB0
- push {r4-r6, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- ldr r0, [r4, #0x38]
- bl FUN_0205532C
- add r6, r0, #0x0
- ldr r0, [r4, #0x38]
- bl FUN_02055320
- ldr r1, [r4, #0x1c]
- ldr r1, [r1, #0x0]
- str r1, [r5, #0x0]
- mov r1, #0x0
- mvn r1, r1
- str r1, [r5, #0x4]
- str r0, [r5, #0x8]
- str r6, [r5, #0xc]
- mov r0, #0x1
- str r0, [r5, #0x10]
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02048CDC
-FUN_02048CDC: ; 0x02048CDC
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x1c]
- ldr r0, [r0, #0x0]
- bl FUN_020349E4
- cmp r0, #0x0
- beq _02048CFE
- ldr r1, [r4, #0x1c]
- ldr r0, [r1, #0x8]
- cmp r0, #0x7
- bne _02048CFE
- ldr r0, [r1, #0xc]
- cmp r0, #0x6
- bne _02048CFE
- mov r0, #0x1
- pop {r4, pc}
-_02048CFE:
- mov r0, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02048D04
-FUN_02048D04: ; 0x02048D04
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_02034E30
- bl FUN_02034DD0
- add r4, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_020462AC
- ldr r0, [r5, #0x1c]
- ldr r0, [r0, #0x0]
- str r0, [r4, #0x0]
- mov r0, #0x0
- mvn r0, r0
- str r0, [r4, #0x4]
- mov r0, #0x8
- str r0, [r4, #0x8]
- mov r0, #0x2
- str r0, [r4, #0xc]
- mov r0, #0x1
- str r0, [r4, #0x10]
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02048D34
-FUN_02048D34: ; 0x02048D34
- push {r4-r6, lr}
- add r6, r0, #0x0
- bl FUN_02046528
- add r5, r0, #0x0
- add r0, r6, #0x0
- bl FUN_02046530
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- cmp r0, #0x0
- beq _02048D56
- cmp r0, #0x1
- beq _02048D7A
- cmp r0, #0x2
- beq _02048D88
- b _02048D8C
-_02048D56:
- ldr r1, [r5, #0x1c]
- add r0, r5, #0x0
- bl FUN_02048958
- add r0, r5, #0x0
- bl FUN_02048B90
- add r0, r5, #0x0
- mov r1, #0x0
- bl FUN_020489FC
- add r0, r5, #0x0
- bl FUN_02048AE4
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02048D8C
-_02048D7A:
- add r0, r6, #0x0
- bl FUN_0204B0E8
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02048D8C
-_02048D88:
- mov r0, #0x1
- pop {r4-r6, pc}
-_02048D8C:
- mov r0, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02048D90
-FUN_02048D90: ; 0x02048D90
- push {r4, lr}
- add r4, r0, #0x0
- mov r1, #0x0
- str r1, [r4, #0x6c]
- bl FUN_02039874
- ldr r1, _02048DA8 ; =FUN_02048D34
- add r0, r4, #0x0
- mov r2, #0x0
- bl FUN_020463CC
- pop {r4, pc}
- .balign 4
-_02048DA8: .word FUN_02048D34
-
- thumb_func_start FUN_02048DAC
-FUN_02048DAC: ; 0x02048DAC
- push {r3-r7, lr}
- add r7, r0, #0x0
- bl FUN_02046528
- add r4, r0, #0x0
- ldr r0, [r4, #0xc]
- bl FUN_020462AC
- add r6, r0, #0x0
- add r0, r7, #0x0
- bl FUN_02046530
- add r5, r0, #0x0
- ldr r0, [r5, #0x0]
- cmp r0, #0x4
- bhi _02048EC2
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_02048DD8: ; jump table (using 16-bit offset)
- .short _02048DE2 - _02048DD8 - 2; case 0
- .short _02048E10 - _02048DD8 - 2; case 1
- .short _02048EA4 - _02048DD8 - 2; case 2
- .short _02048EB0 - _02048DD8 - 2; case 3
- .short _02048EB4 - _02048DD8 - 2; case 4
-_02048DE2:
- ldr r0, [r4, #0xc]
- bl FUN_02025B94
- add r0, r6, #0x0
- mov r1, #0x2
- bl FUN_0205F2D4
- add r7, r0, #0x0
- ldr r0, [r4, #0xc]
- bl FUN_020289A4
- add r1, r7, #0x0
- bl FUN_02028A20
- cmp r0, #0x0
- beq _02048E10
- add r0, r4, #0x0
- mov r1, #0x0
- bl FUN_02037944
- mov r0, #0x4
- str r0, [r5, #0x0]
- b _02048EC2
-_02048E10:
- add r0, r6, #0x0
- mov r1, #0x2
- bl FUN_0205F2D4
- add r7, r0, #0x0
- ldr r0, [r4, #0xc]
- bl FUN_020289A4
- add r1, r7, #0x0
- bl FUN_020289B0
- add r1, r4, #0x0
- add r1, #0x98
- str r0, [r1, #0x0]
- add r0, r6, #0x0
- bl FUN_0205F174
- cmp r0, #0x0
- beq _02048E78
- ldr r0, [r4, #0xc]
- bl FUN_02034E30
- add r7, r0, #0x0
- add r0, r4, #0x0
- bl FUN_02048CDC
- cmp r0, #0x0
- beq _02048E4E
- add r0, r4, #0x0
- bl FUN_02048D04
-_02048E4E:
- add r0, r6, #0x0
- bl FUN_0205F164
- add r0, r7, #0x0
- bl FUN_02034DD0
- add r1, r0, #0x0
- add r0, r4, #0x0
- bl FUN_02048958
- add r0, r4, #0x0
- bl FUN_02048B90
- add r0, r4, #0x0
- mov r1, #0x0
- bl FUN_020489FC
- add r0, r4, #0x0
- bl FUN_02048AE4
- b _02048E92
-_02048E78:
- add r0, r4, #0x0
- mov r1, #0x0
- bl FUN_02048958
- add r0, r4, #0x0
- bl FUN_02048B90
- add r0, r4, #0x0
- bl FUN_0204B0F8
- add r0, r4, #0x0
- bl FUN_02048B50
-_02048E92:
- add r0, r4, #0x0
- bl FUN_02048C58
- add r0, r4, #0x0
- bl FUN_02063808
- mov r0, #0x2
- str r0, [r5, #0x0]
- b _02048EC2
-_02048EA4:
- add r0, r7, #0x0
- bl FUN_0204B0E8
- mov r0, #0x3
- str r0, [r5, #0x0]
- b _02048EC2
-_02048EB0:
- mov r0, #0x1
- pop {r3-r7, pc}
-_02048EB4:
- add r0, r4, #0x0
- bl FUN_0204647C
- cmp r0, #0x0
- bne _02048EC2
- mov r0, #0x1
- str r0, [r5, #0x0]
-_02048EC2:
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02048EC8
-FUN_02048EC8: ; 0x02048EC8
- ldr r3, _02048ED4 ; =FUN_020463CC
- mov r2, #0x0
- str r2, [r0, #0x6c]
- ldr r1, _02048ED8 ; =FUN_02048DAC
- bx r3
- nop
-_02048ED4: .word FUN_020463CC
-_02048ED8: .word FUN_02048DAC
-
- thumb_func_start FUN_02048EDC
-FUN_02048EDC: ; 0x02048EDC
- push {r3-r7, lr}
- add r7, r0, #0x0
- bl FUN_02046528
- add r4, r0, #0x0
- add r0, r7, #0x0
- bl FUN_0204652C
- add r6, r0, #0x0
- ldr r0, [r4, #0xc]
- bl FUN_020462AC
- str r0, [sp, #0x0]
- add r0, r7, #0x0
- bl FUN_02046530
- add r5, r0, #0x0
- ldr r0, [r5, #0x0]
- cmp r0, #0x5
- bhi _02048FC4
- add r1, r0, r0
- add r1, pc
- ldrh r1, [r1, #0x6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_02048F10: ; jump table (using 16-bit offset)
- .short _02048F1C - _02048F10 - 2; case 0
- .short _02048F54 - _02048F10 - 2; case 1
- .short _02048F7E - _02048F10 - 2; case 2
- .short _02048F9A - _02048F10 - 2; case 3
- .short _02048FAE - _02048F10 - 2; case 4
- .short _02048FBA - _02048F10 - 2; case 5
-_02048F1C:
- mov r0, #0x0
- add r1, r0, #0x0
- bl FUN_0200E3A0
- mov r0, #0x1
- mov r1, #0x0
- bl FUN_0200E3A0
- ldr r0, [r4, #0xc]
- bl FUN_02025B94
- ldr r0, [sp, #0x0]
- mov r1, #0x2
- bl FUN_0205F2D4
- add r6, r0, #0x0
- ldr r0, [r4, #0xc]
- bl FUN_020289A4
- add r1, r6, #0x0
- bl FUN_020289B0
- add r4, #0x98
- str r0, [r4, #0x0]
- ldr r0, [r5, #0x0]
- add r0, r0, #0x1
- str r0, [r5, #0x0]
- b _02048FC4
-_02048F54:
- add r0, r4, #0x0
- add r1, r6, #0x4
- bl FUN_02048958
- add r0, r4, #0x0
- bl FUN_02048B90
- add r0, r4, #0x0
- mov r1, #0x0
- bl FUN_020489FC
- add r0, r4, #0x0
- bl FUN_02048AE4
- add r0, r4, #0x0
- bl FUN_02048C80
- ldr r0, [r5, #0x0]
- add r0, r0, #0x1
- str r0, [r5, #0x0]
- b _02048FC4
-_02048F7E:
- add r0, r4, #0x0
- bl FUN_020520AC
- str r0, [r4, #0x78]
- bl FUN_02052EE8
- str r0, [r4, #0x7c]
- add r0, r7, #0x0
- bl FUN_0204AF84
- ldr r0, [r5, #0x0]
- add r0, r0, #0x1
- str r0, [r5, #0x0]
- b _02048FC4
-_02048F9A:
- mov r1, #0x0
- str r1, [r6, #0x0]
- add r0, r4, #0x0
- add r2, r6, #0x0
- bl FUN_021E7750
- ldr r0, [r5, #0x0]
- add r0, r0, #0x1
- str r0, [r5, #0x0]
- b _02048FC4
-_02048FAE:
- ldr r1, [r6, #0x0]
- cmp r1, #0x0
- beq _02048FC4
- add r0, r0, #0x1
- str r0, [r5, #0x0]
- b _02048FC4
-_02048FBA:
- add r0, r6, #0x0
- bl FUN_02016A18
- mov r0, #0x1
- pop {r3-r7, pc}
-_02048FC4:
- mov r0, #0x0
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02048FC8
-FUN_02048FC8: ; 0x02048FC8
- push {r3-r5, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x1c]
- ldr r0, [r0, #0x0]
- bl FUN_02034998
- cmp r0, #0x0
- bne _02049000
- add r0, r4, #0x0
- bl FUN_02048CDC
- cmp r0, #0x0
- beq _02048FF8
- ldr r0, [r4, #0xc]
- bl FUN_020462AC
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_02048D04
- add r0, r5, #0x0
- bl FUN_0205F154
- b _02049000
-_02048FF8:
- add r0, r4, #0x0
- bl FUN_02048EC8
- pop {r3-r5, pc}
-_02049000:
- mov r0, #0xb
- mov r1, #0x18
- bl FUN_020169D8
- add r2, r0, #0x0
- mov r1, #0x0
- ldr r0, _02049030 ; =0x000001D2
- str r1, [r2, #0x0]
- str r0, [r2, #0x4]
- sub r0, r1, #0x1
- str r0, [r2, #0x8]
- mov r0, #0x8
- str r0, [r2, #0xc]
- mov r0, #0xe
- str r0, [r2, #0x10]
- str r1, [r2, #0x14]
- mov r0, #0x2
- str r0, [r4, #0x6c]
- ldr r1, _02049034 ; =FUN_02048EDC
- add r0, r4, #0x0
- bl FUN_020463CC
- pop {r3-r5, pc}
- nop
-_02049030: .word 0x000001D2
-_02049034: .word FUN_02048EDC
-
- thumb_func_start FUN_02049038
-FUN_02049038: ; 0x02049038
- push {r4-r6, lr}
- add r5, r0, #0x0
- bl FUN_02046528
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- ldr r1, [r4, #0x0]
- cmp r1, #0x3
- bhi _020490B6
- add r1, r1, r1
- add r1, pc
- ldrh r1, [r1, #0x6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_0204905C: ; jump table (using 16-bit offset)
- .short _02049064 - _0204905C - 2; case 0
- .short _02049080 - _0204905C - 2; case 1
- .short _02049090 - _0204905C - 2; case 2
- .short _020490AE - _0204905C - 2; case 3
-_02049064:
- ldr r0, _020490BC ; =0x00000603
- bl FUN_020054C8
- ldr r1, [r4, #0x4]
- add r0, r6, #0x0
- bl FUN_0204AD60
- add r0, r5, #0x0
- bl FUN_0204B090
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _020490B6
-_02049080:
- add r0, r5, #0x0
- add r1, r4, #0x4
- bl FUN_02049160
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _020490B6
-_02049090:
- bl FUN_02005404
- cmp r0, #0x0
- bne _020490B6
- ldr r1, [r4, #0x4]
- add r0, r6, #0x0
- bl FUN_0204AD8C
- add r0, r5, #0x0
- bl FUN_0204B0E8
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _020490B6
-_020490AE:
- bl FUN_02016A18
- mov r0, #0x1
- pop {r4-r6, pc}
-_020490B6:
- mov r0, #0x0
- pop {r4-r6, pc}
- nop
-_020490BC: .word 0x00000603
-
- thumb_func_start FUN_020490C0
-FUN_020490C0: ; 0x020490C0
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- mov r0, #0xb
- mov r1, #0x1c
- bl FUN_020169D8
- add r2, r0, #0x0
- mov r0, #0x0
- str r0, [r2, #0x0]
- ldmia r4!, {r0-r1}
- add r3, r2, #0x4
- stmia r3!, {r0-r1}
- ldmia r4!, {r0-r1}
- stmia r3!, {r0-r1}
- ldr r0, [r4, #0x0]
- ldr r1, _020490EC ; =FUN_02049038
- str r0, [r3, #0x0]
- add r0, r5, #0x0
- bl FUN_0204640C
- pop {r3-r5, pc}
- .balign 4
-_020490EC: .word FUN_02049038
-
- thumb_func_start FUN_020490F0
-FUN_020490F0: ; 0x020490F0
- push {r3-r5, lr}
- add r4, r0, #0x0
- bl FUN_02046528
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- cmp r0, #0x0
- beq _02049112
- cmp r0, #0x1
- beq _02049126
- cmp r0, #0x2
- beq _0204914C
- b _0204915C
-_02049112:
- add r0, r5, #0x0
- bl FUN_02048B34
- add r0, r5, #0x0
- bl FUN_02048C2C
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _0204915C
-_02049126:
- add r0, r5, #0x0
- add r1, r4, #0x4
- bl FUN_02048958
- add r0, r5, #0x0
- bl FUN_02048B90
- add r0, r5, #0x0
- mov r1, #0x0
- bl FUN_020489FC
- add r5, #0x90
- ldr r0, [r5, #0x0]
- bl FUN_0205DD40
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _0204915C
-_0204914C:
- add r0, r5, #0x0
- bl FUN_02048AE4
- add r0, r4, #0x0
- bl FUN_02016A18
- mov r0, #0x1
- pop {r3-r5, pc}
-_0204915C:
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02049160
-FUN_02049160: ; 0x02049160
- push {r3-r7, lr}
- add r6, r0, #0x0
- add r5, r1, #0x0
- bl FUN_02046528
- add r7, r0, #0x0
- mov r0, #0xb
- mov r1, #0x18
- bl FUN_020169D8
- add r4, r0, #0x0
- add r0, r7, #0x0
- bl FUN_0203739C
- cmp r0, #0x0
- beq _02049186
- bl ErrorHandling
- pop {r3-r7, pc}
-_02049186:
- mov r0, #0x0
- str r0, [r4, #0x0]
- ldmia r5!, {r0-r1}
- add r2, r4, #0x4
- stmia r2!, {r0-r1}
- ldmia r5!, {r0-r1}
- stmia r2!, {r0-r1}
- ldr r0, [r5, #0x0]
- ldr r1, _020491A4 ; =FUN_020490F0
- str r0, [r2, #0x0]
- add r0, r6, #0x0
- add r2, r4, #0x0
- bl FUN_0204640C
- pop {r3-r7, pc}
- .balign 4
-_020491A4: .word FUN_020490F0
-
- thumb_func_start FUN_020491A8
-FUN_020491A8: ; 0x020491A8
- push {lr}
- sub sp, #0x14
- str r1, [sp, #0x0]
- ldr r1, [sp, #0x18]
- str r2, [sp, #0x4]
- str r1, [sp, #0xc]
- ldr r1, [sp, #0x1c]
- str r3, [sp, #0x8]
- str r1, [sp, #0x10]
- add r1, sp, #0x0
- bl FUN_02049160
- add sp, #0x14
- pop {pc}
-
- thumb_func_start FUN_020491C4
-FUN_020491C4: ; 0x020491C4
- push {r4-r6, lr}
- add r5, r0, #0x0
- bl FUN_02046528
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- ldr r1, [r4, #0x0]
- cmp r1, #0x3
- bhi _0204923C
- add r1, r1, r1
- add r1, pc
- ldrh r1, [r1, #0x6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_020491E8: ; jump table (using 16-bit offset)
- .short _020491F0 - _020491E8 - 2; case 0
- .short _02049206 - _020491E8 - 2; case 1
- .short _02049216 - _020491E8 - 2; case 2
- .short _02049234 - _020491E8 - 2; case 3
-_020491F0:
- ldr r1, [r4, #0x4]
- add r0, r6, #0x0
- bl FUN_0204AD60
- add r0, r5, #0x0
- bl FUN_0204AF3C
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _0204923C
-_02049206:
- add r0, r5, #0x0
- add r1, r4, #0x4
- bl FUN_02049160
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _0204923C
-_02049216:
- bl FUN_02005404
- cmp r0, #0x0
- bne _0204923C
- ldr r1, [r4, #0x4]
- add r0, r6, #0x0
- bl FUN_0204AD8C
- add r0, r5, #0x0
- bl FUN_0204AF84
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _0204923C
-_02049234:
- bl FUN_02016A18
- mov r0, #0x1
- pop {r4-r6, pc}
-_0204923C:
- mov r0, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02049240
-FUN_02049240: ; 0x02049240
- push {r3-r7, lr}
- add r7, r0, #0x0
- add r5, r1, #0x0
- mov r0, #0xb
- mov r1, #0x18
- add r4, r2, #0x0
- add r6, r3, #0x0
- bl FUN_020169D8
- add r2, r0, #0x0
- mov r0, #0x0
- str r0, [r2, #0x0]
- str r5, [r2, #0x4]
- str r4, [r2, #0x8]
- ldr r0, [sp, #0x18]
- str r6, [r2, #0xc]
- str r0, [r2, #0x10]
- ldr r0, [sp, #0x1c]
- ldr r1, _02049270 ; =FUN_020491C4
- str r0, [r2, #0x14]
- add r0, r7, #0x0
- bl FUN_0204640C
- pop {r3-r7, pc}
- .balign 4
-_02049270: .word FUN_020491C4
-
- thumb_func_start FUN_02049274
-FUN_02049274: ; 0x02049274
- push {r4-r5, lr}
- sub sp, #0x14
- add r4, r0, #0x0
- ldr r0, [sp, #0x20]
- str r1, [sp, #0x0]
- str r0, [sp, #0xc]
- ldr r0, [sp, #0x24]
- mov r1, #0x20
- str r0, [sp, #0x10]
- mov r0, #0xb
- str r2, [sp, #0x4]
- str r3, [sp, #0x8]
- bl FUN_020169D8
- add r2, r0, #0x0
- mov r0, #0x0
- str r0, [r2, #0x0]
- add r3, r2, #0x0
- add r5, sp, #0x0
- str r0, [r2, #0x4]
- ldmia r5!, {r0-r1}
- add r3, #0x8
- stmia r3!, {r0-r1}
- ldmia r5!, {r0-r1}
- stmia r3!, {r0-r1}
- ldr r0, [r5, #0x0]
- ldr r1, _020492B8 ; =FUN_02049304
- str r0, [r3, #0x0]
- add r0, r4, #0x0
- bl FUN_020463CC
- add sp, #0x14
- pop {r4-r5, pc}
- nop
-_020492B8: .word FUN_02049304
-
- thumb_func_start FUN_020492BC
-FUN_020492BC: ; 0x020492BC
- push {r4-r5, lr}
- sub sp, #0x14
- add r4, r0, #0x0
- ldr r0, [sp, #0x20]
- str r1, [sp, #0x0]
- str r0, [sp, #0xc]
- ldr r0, [sp, #0x24]
- mov r1, #0x20
- str r0, [sp, #0x10]
- mov r0, #0xb
- str r2, [sp, #0x4]
- str r3, [sp, #0x8]
- bl FUN_020169D8
- add r2, r0, #0x0
- mov r0, #0x0
- str r0, [r2, #0x0]
- add r3, r2, #0x0
- add r5, sp, #0x0
- str r0, [r2, #0x4]
- ldmia r5!, {r0-r1}
- add r3, #0x8
- stmia r3!, {r0-r1}
- ldmia r5!, {r0-r1}
- stmia r3!, {r0-r1}
- ldr r0, [r5, #0x0]
- ldr r1, _02049300 ; =FUN_02049304
- str r0, [r3, #0x0]
- add r0, r4, #0x0
- bl FUN_020463EC
- add sp, #0x14
- pop {r4-r5, pc}
- nop
-_02049300: .word FUN_02049304
-
- thumb_func_start FUN_02049304
-FUN_02049304: ; 0x02049304
- push {r3-r7, lr}
- add r7, r0, #0x0
- bl FUN_02046528
- add r6, r0, #0x0
- add r0, r7, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- add r5, r4, #0x0
- ldr r1, [r4, #0x0]
- add r5, #0x8
- cmp r1, #0x3
- bhi _02049390
- add r1, r1, r1
- add r1, pc
- ldrh r1, [r1, #0x6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_0204932C: ; jump table (using 16-bit offset)
- .short _02049334 - _0204932C - 2; case 0
- .short _0204934A - _0204932C - 2; case 1
- .short _02049364 - _0204932C - 2; case 2
- .short _02049388 - _0204932C - 2; case 3
-_02049334:
- ldr r1, [r5, #0x0]
- add r0, r6, #0x0
- bl FUN_0204AD60
- add r0, r7, #0x0
- bl FUN_02049394
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02049390
-_0204934A:
- ldr r0, [r6, #0x38]
- mov r1, #0x0
- bl FUN_020553A8
- add r1, r4, #0x0
- add r0, r7, #0x0
- add r1, #0x8
- bl FUN_02049160
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02049390
-_02049364:
- bl FUN_02005404
- cmp r0, #0x0
- bne _02049390
- ldr r1, [r5, #0x0]
- add r0, r6, #0x0
- bl FUN_0204AD8C
- add r0, r6, #0x0
- bl FUN_020637A8
- add r0, r7, #0x0
- bl FUN_020493D0
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02049390
-_02049388:
- bl FUN_02016A18
- mov r0, #0x1
- pop {r3-r7, pc}
-_02049390:
- mov r0, #0x0
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02049394
-FUN_02049394: ; 0x02049394
- ldr r3, _0204939C ; =FUN_0204640C
- ldr r1, _020493A0 ; =FUN_020493A4
- mov r2, #0x0
- bx r3
- .balign 4
-_0204939C: .word FUN_0204640C
-_020493A0: .word FUN_020493A4
-
- thumb_func_start FUN_020493A4
-FUN_020493A4: ; 0x020493A4
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl FUN_02046530
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- cmp r0, #0x0
- beq _020493BA
- cmp r0, #0x1
- beq _020493C8
- b _020493CC
-_020493BA:
- add r0, r5, #0x0
- bl FUN_0204AF3C
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _020493CC
-_020493C8:
- mov r0, #0x1
- pop {r3-r5, pc}
-_020493CC:
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_020493D0
-FUN_020493D0: ; 0x020493D0
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_0204652C
- add r2, r0, #0x0
- ldr r1, _020493E4 ; =FUN_020493E8
- add r0, r4, #0x0
- bl FUN_0204640C
- pop {r4, pc}
- .balign 4
-_020493E4: .word FUN_020493E8
-
- thumb_func_start FUN_020493E8
-FUN_020493E8: ; 0x020493E8
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl FUN_02046530
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02046528
- ldr r1, [r4, #0x0]
- cmp r1, #0x0
- beq _02049408
- cmp r1, #0x1
- beq _02049416
- cmp r1, #0x2
- beq _02049428
- b _0204942C
-_02049408:
- add r0, r5, #0x0
- bl FUN_0204AF84
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _0204942C
-_02049416:
- bl FUN_021E331C
- add r0, r5, #0x0
- bl FUN_02049430
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _0204942C
-_02049428:
- mov r0, #0x1
- pop {r3-r5, pc}
-_0204942C:
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02049430
-FUN_02049430: ; 0x02049430
- push {r4-r6, lr}
- add r6, r0, #0x0
- bl FUN_02046528
- add r5, r0, #0x0
- add r0, r6, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0203739C
- cmp r0, #0x0
- bne _02049452
- bl ErrorHandling
- pop {r4-r6, pc}
-_02049452:
- ldr r0, [r5, #0x38]
- bl FUN_020553E8
- add r1, r0, #0x0
- add r0, r5, #0x0
- bl FUN_022483BC
- str r0, [r4, #0x4]
- ldr r1, _02049470 ; =FUN_02049474
- add r0, r6, #0x0
- add r2, r4, #0x0
- bl FUN_0204640C
- pop {r4-r6, pc}
- nop
-_02049470: .word FUN_02049474
-
- thumb_func_start FUN_02049474
-FUN_02049474: ; 0x02049474
- push {r4, lr}
- bl FUN_0204652C
- add r4, r0, #0x0
- ldr r0, [r4, #0x4]
- bl FUN_022483E0
- cmp r0, #0x1
- bne _02049490
- ldr r0, [r4, #0x4]
- bl FUN_022483EC
- mov r0, #0x1
- pop {r4, pc}
-_02049490:
- mov r0, #0x0
- pop {r4, pc}
-
- thumb_func_start FUN_02049494
-FUN_02049494: ; 0x02049494
- push {r4-r6, lr}
- add r6, r0, #0x0
- add r5, r1, #0x0
- mov r0, #0xb
- mov r1, #0x20
- add r4, r2, #0x0
- bl FUN_020169D8
- add r2, r0, #0x0
- mov r0, #0x0
- str r0, [r2, #0x0]
- str r4, [r2, #0x4]
- str r0, [r2, #0x8]
- add r3, r2, #0x0
- ldmia r5!, {r0-r1}
- add r3, #0xc
- stmia r3!, {r0-r1}
- ldmia r5!, {r0-r1}
- stmia r3!, {r0-r1}
- ldr r0, [r5, #0x0]
- ldr r1, _020494C8 ; =FUN_020494CC
- str r0, [r3, #0x0]
- add r0, r6, #0x0
- bl FUN_020463EC
- pop {r4-r6, pc}
- .balign 4
-_020494C8: .word FUN_020494CC
-
- thumb_func_start FUN_020494CC
-FUN_020494CC: ; 0x020494CC
- push {r3-r7, lr}
- add r7, r0, #0x0
- bl FUN_02046528
- add r5, r0, #0x0
- add r0, r7, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- add r6, r4, #0x0
- ldr r1, [r4, #0x0]
- add r6, #0xc
- cmp r1, #0x3
- bhi _02049570
- add r1, r1, r1
- add r1, pc
- ldrh r1, [r1, #0x6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_020494F4: ; jump table (using 16-bit offset)
- .short _020494FC - _020494F4 - 2; case 0
- .short _02049512 - _020494F4 - 2; case 1
- .short _0204952C - _020494F4 - 2; case 2
- .short _02049568 - _020494F4 - 2; case 3
-_020494FC:
- ldr r1, [r6, #0x0]
- add r0, r5, #0x0
- bl FUN_0204AD60
- add r0, r7, #0x0
- bl FUN_02049574
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02049570
-_02049512:
- ldr r0, [r5, #0x38]
- mov r1, #0x0
- bl FUN_020553A8
- add r1, r4, #0x0
- add r0, r7, #0x0
- add r1, #0xc
- bl FUN_02049160
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02049570
-_0204952C:
- bl FUN_02005404
- cmp r0, #0x0
- bne _02049570
- ldr r1, [r6, #0x0]
- add r0, r5, #0x0
- bl FUN_0204AD8C
- ldr r0, [r4, #0x4]
- cmp r0, #0x2
- bne _0204954A
- add r0, r5, #0x0
- bl FUN_020637C4
- b _0204955A
-_0204954A:
- cmp r0, #0x1
- bhi _02049556
- add r0, r5, #0x0
- bl FUN_020637E0
- b _0204955A
-_02049556:
- bl ErrorHandling
-_0204955A:
- add r0, r7, #0x0
- bl FUN_020495B0
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02049570
-_02049568:
- bl FUN_02016A18
- mov r0, #0x1
- pop {r3-r7, pc}
-_02049570:
- mov r0, #0x0
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02049574
-FUN_02049574: ; 0x02049574
- ldr r3, _0204957C ; =FUN_0204640C
- ldr r1, _02049580 ; =FUN_02049584
- mov r2, #0x0
- bx r3
- .balign 4
-_0204957C: .word FUN_0204640C
-_02049580: .word FUN_02049584
-
- thumb_func_start FUN_02049584
-FUN_02049584: ; 0x02049584
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl FUN_02046530
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- cmp r0, #0x0
- beq _0204959A
- cmp r0, #0x1
- beq _020495A8
- b _020495AC
-_0204959A:
- add r0, r5, #0x0
- bl FUN_0204AF3C
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _020495AC
-_020495A8:
- mov r0, #0x1
- pop {r3-r5, pc}
-_020495AC:
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_020495B0
-FUN_020495B0: ; 0x020495B0
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_0204652C
- add r2, r0, #0x0
- ldr r1, _020495C4 ; =FUN_020495C8
- add r0, r4, #0x0
- bl FUN_0204640C
- pop {r4, pc}
- .balign 4
-_020495C4: .word FUN_020495C8
-
- thumb_func_start FUN_020495C8
-FUN_020495C8: ; 0x020495C8
- push {r4-r6, lr}
- add r5, r0, #0x0
- bl FUN_02046530
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02046528
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0204652C
- ldr r0, [r4, #0x0]
- cmp r0, #0x0
- beq _020495F0
- cmp r0, #0x1
- beq _020495FE
- cmp r0, #0x2
- beq _02049612
- b _02049616
-_020495F0:
- add r0, r5, #0x0
- bl FUN_0204AF84
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02049616
-_020495FE:
- add r0, r6, #0x0
- bl FUN_021E331C
- add r0, r5, #0x0
- bl FUN_0204961C
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02049616
-_02049612:
- mov r0, #0x1
- pop {r4-r6, pc}
-_02049616:
- mov r0, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_0204961C
-FUN_0204961C: ; 0x0204961C
- push {r4-r6, lr}
- add r5, r0, #0x0
- bl FUN_02046528
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0204652C
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl FUN_0203739C
- cmp r0, #0x0
- bne _0204963E
- bl ErrorHandling
- pop {r4-r6, pc}
-_0204963E:
- ldr r2, [r6, #0x4]
- add r0, r4, #0x0
- mov r1, #0x4
- bl FUN_0224C8C8
- add r2, r0, #0x0
- ldr r1, _02049654 ; =0x0224C8E9
- add r0, r5, #0x0
- bl FUN_0204640C
- pop {r4-r6, pc}
- .balign 4
-_02049654: .word 0x0224C8E9
-
- thumb_func_start FUN_02049658
-FUN_02049658: ; 0x02049658
- push {r3-r7, lr}
- add r6, r0, #0x0
- bl FUN_02046528
- add r7, r0, #0x0
- add r0, r6, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- add r5, r4, #0x0
- ldr r1, [r4, #0x0]
- add r5, #0x8
- cmp r1, #0x6
- bhi _02049712
- add r2, r1, r1
- add r2, pc
- ldrh r2, [r2, #0x6]
- lsl r2, r2, #0x10
- asr r2, r2, #0x10
- add pc, r2
-_02049680: ; jump table (using 16-bit offset)
- .short _0204968E - _02049680 - 2; case 0
- .short _020496A0 - _02049680 - 2; case 1
- .short _020496BC - _02049680 - 2; case 2
- .short _020496CC - _02049680 - 2; case 3
- .short _020496EA - _02049680 - 2; case 4
- .short _020496FE - _02049680 - 2; case 5
- .short _0204970A - _02049680 - 2; case 6
-_0204968E:
- add r0, r7, #0x0
- mov r1, #0x1
- add r2, r4, #0x4
- bl FUN_021E7750
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02049712
-_020496A0:
- ldr r0, [r4, #0x4]
- cmp r0, #0x0
- beq _02049712
- ldr r1, [r5, #0x0]
- add r0, r7, #0x0
- bl FUN_0204AD60
- add r0, r6, #0x0
- bl FUN_0204AF3C
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02049712
-_020496BC:
- add r0, r6, #0x0
- add r1, r5, #0x0
- bl FUN_02049160
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02049712
-_020496CC:
- bl FUN_02005404
- cmp r0, #0x0
- bne _02049712
- ldr r1, [r5, #0x0]
- add r0, r7, #0x0
- bl FUN_0204AD8C
- add r0, r6, #0x0
- bl FUN_0204AF84
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02049712
-_020496EA:
- mov r1, #0x0
- str r1, [r4, #0x4]
- add r0, r7, #0x0
- add r2, r4, #0x4
- bl FUN_021E7750
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02049712
-_020496FE:
- ldr r0, [r4, #0x4]
- cmp r0, #0x0
- beq _02049712
- add r0, r1, #0x1
- str r0, [r4, #0x0]
- b _02049712
-_0204970A:
- bl FUN_02016A18
- mov r0, #0x1
- pop {r3-r7, pc}
-_02049712:
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02049718
-FUN_02049718: ; 0x02049718
- push {r4-r7, lr}
- sub sp, #0x14
- add r5, r0, #0x0
- add r4, r1, #0x0
- mov r0, #0xb
- mov r1, #0x1c
- add r6, r2, #0x0
- bl FUN_020169D8
- mov r1, #0x0
- mov r2, #0x1c
- add r7, r0, #0x0
- blx MI_CpuFill8
- ldr r0, [r5, #0x38]
- bl FUN_020552F8
- mov r1, #0x0
- add r2, r7, #0x0
- str r4, [sp, #0x0]
- str r6, [sp, #0x4]
- add r3, sp, #0x0
- str r1, [sp, #0x8]
- str r1, [sp, #0xc]
- str r0, [sp, #0x10]
- ldmia r3!, {r0-r1}
- add r2, #0x8
- stmia r2!, {r0-r1}
- ldmia r3!, {r0-r1}
- stmia r2!, {r0-r1}
- ldr r0, [r3, #0x0]
- ldr r1, _02049768 ; =FUN_02049658
- str r0, [r2, #0x0]
- add r0, r5, #0x0
- add r2, r7, #0x0
- bl FUN_020463CC
- add sp, #0x14
- pop {r4-r7, pc}
- nop
-_02049768: .word FUN_02049658
-
- thumb_func_start FUN_0204976C
-FUN_0204976C: ; 0x0204976C
- push {r4-r6, lr}
- add r6, r0, #0x0
- ldr r0, [r6, #0xc]
- bl FUN_02034E30
- bl FUN_02034DD0
- add r4, r0, #0x0
- mov r0, #0xb
- mov r1, #0x40
- bl FUN_020169D8
- add r5, r0, #0x0
- mov r1, #0x0
- str r1, [r5, #0x0]
- str r1, [r5, #0x4]
- ldr r0, [r6, #0x6c]
- cmp r0, #0x1
- bne _020497A4
- ldr r0, [r4, #0x0]
- str r0, [r5, #0x8]
- sub r0, r1, #0x1
- str r0, [r5, #0xc]
- ldr r0, [r4, #0x8]
- str r0, [r5, #0x10]
- ldr r0, [r4, #0xc]
- str r0, [r5, #0x14]
- b _02049820
-_020497A4:
- add r0, r4, #0x0
- add r1, r6, #0x0
- bl FUN_02048CB0
- mov r0, #0x2
- str r0, [r5, #0x8]
- sub r0, r0, #0x3
- str r0, [r5, #0xc]
- ldr r1, [r4, #0x8]
- asr r0, r1, #0x4
- lsr r0, r0, #0x1b
- add r0, r1, r0
- asr r0, r0, #0x5
- ldr r1, [r4, #0xc]
- sub r6, r0, #0x1
- asr r0, r1, #0x4
- lsr r0, r0, #0x1b
- add r0, r1, r0
- asr r0, r0, #0x5
- sub r4, r0, #0x6
- cmp r6, #0x0
- bge _020497D4
- bl ErrorHandling
-_020497D4:
- cmp r4, #0x0
- bge _020497DC
- bl ErrorHandling
-_020497DC:
- lsr r2, r6, #0x1f
- lsl r1, r6, #0x1f
- sub r1, r1, r2
- mov r0, #0x1f
- ror r1, r0
- add r0, r2, r1
- bne _020497EE
- mov r0, #0x8
- b _020497F0
-_020497EE:
- mov r0, #0x17
-_020497F0:
- lsr r3, r4, #0x1f
- lsl r2, r4, #0x1f
- sub r2, r2, r3
- mov r1, #0x1f
- ror r2, r1
- add r1, r3, r2
- bne _02049802
- mov r1, #0x8
- b _02049804
-_02049802:
- mov r1, #0x17
-_02049804:
- lsr r2, r6, #0x1f
- add r2, r6, r2
- asr r2, r2, #0x1
- add r6, r2, #0x1
- lsr r2, r4, #0x1f
- add r2, r4, r2
- asr r2, r2, #0x1
- add r3, r2, #0x3
- lsl r2, r6, #0x5
- add r0, r0, r2
- str r0, [r5, #0x10]
- lsl r0, r3, #0x5
- add r0, r1, r0
- str r0, [r5, #0x14]
-_02049820:
- add r0, r5, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02049824
-FUN_02049824: ; 0x02049824
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl FUN_0204976C
- add r4, r0, #0x0
- beq _02049840
- add r0, r5, #0x0
- bl FUN_02049BE8
- add r1, r0, #0x0
- add r0, r5, #0x0
- add r2, r4, #0x0
- bl FUN_020463CC
-_02049840:
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02049844
-FUN_02049844: ; 0x02049844
- push {r4-r6, lr}
- sub sp, #0x8
- add r6, r0, #0x0
- bl FUN_02046528
- add r5, r0, #0x0
- add r0, r6, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- cmp r0, #0xc
- bhi _0204992C
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_0204986A: ; jump table (using 16-bit offset)
- .short _02049884 - _0204986A - 2; case 0
- .short _020498DC - _0204986A - 2; case 1
- .short _02049918 - _0204986A - 2; case 2
- .short _0204995E - _0204986A - 2; case 3
- .short _020499A2 - _0204986A - 2; case 4
- .short _020499D0 - _0204986A - 2; case 5
- .short _020499E2 - _0204986A - 2; case 6
- .short _020499F2 - _0204986A - 2; case 7
- .short _02049A06 - _0204986A - 2; case 8
- .short _02049A14 - _0204986A - 2; case 9
- .short _02049A42 - _0204986A - 2; case 10
- .short _02049A64 - _0204986A - 2; case 11
- .short _02049A96 - _0204986A - 2; case 12
-_02049884:
- mov r0, #0x1
- mov r1, #0x1a
- mov r2, #0xcf
- mov r3, #0xb
- bl FUN_0200A86C
- add r6, r0, #0x0
- mov r1, #0x7c
- bl FUN_0200A914
- str r0, [r4, #0x34]
- add r0, r6, #0x0
- bl FUN_0200A8B8
- add r1, r4, #0x0
- ldr r0, [r5, #0x8]
- add r1, #0x24
- mov r2, #0x3
- bl FUN_020545B8
- ldr r0, [r5, #0xc]
- bl LoadPlayerDataAddress
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x24
- bl FUN_02054608
- ldr r0, [r5, #0xc]
- bl LoadPlayerDataAddress
- add r2, r0, #0x0
- add r0, r4, #0x0
- ldr r1, [r4, #0x34]
- add r0, #0x24
- mov r3, #0x1
- bl FUN_02054658
- add r1, r4, #0x0
- add r1, #0x38
- strb r0, [r1, #0x0]
- mov r0, #0x1
- str r0, [r4, #0x0]
- b _02049AB2
-_020498DC:
- add r0, r4, #0x0
- add r0, #0x38
- ldrb r0, [r0, #0x0]
- bl FUN_020546C8
- cmp r0, #0x1
- bne _0204992C
- ldr r0, [r4, #0x34]
- bl FUN_02021A20
- mov r0, #0x0
- str r0, [sp, #0x0]
- mov r3, #0xb
- str r3, [sp, #0x4]
- ldr r0, [r5, #0x8]
- ldr r2, _02049AB8 ; =0x000003D9
- mov r1, #0x3
- bl FUN_0200CB00
- mov r3, #0xb
- str r3, [sp, #0x0]
- ldr r0, [r5, #0x8]
- ldr r1, _02049ABC ; =0x020F46D8
- ldr r2, _02049AB8 ; =0x000003D9
- bl FUN_02002198
- str r0, [r4, #0x3c]
- mov r0, #0x2
- str r0, [r4, #0x0]
- b _02049AB2
-_02049918:
- ldr r0, [r4, #0x3c]
- mov r1, #0xb
- bl FUN_020021AC
- cmp r0, #0x0
- beq _0204992E
- mov r1, #0x1
- mvn r1, r1
- cmp r0, r1
- beq _02049946
-_0204992C:
- b _02049AB2
-_0204992E:
- add r0, r4, #0x0
- add r0, #0x24
- mov r1, #0x0
- bl FUN_0200D0E0
- add r0, r4, #0x0
- add r0, #0x24
- bl FUN_02019178
- mov r0, #0x3
- str r0, [r4, #0x0]
- b _02049AB2
-_02049946:
- add r0, r4, #0x0
- add r0, #0x24
- mov r1, #0x0
- bl FUN_0200D0E0
- add r0, r4, #0x0
- add r0, #0x24
- bl FUN_02019178
- mov r0, #0x5
- str r0, [r4, #0x0]
- b _02049AB2
-_0204995E:
- ldr r0, [r5, #0xc]
- bl FUN_0202280C
- cmp r0, #0x0
- beq _02049976
- mov r2, #0x0
- ldr r1, _02049AC0 ; =0x000007F2
- add r0, r6, #0x0
- add r3, r2, #0x0
- bl FUN_02038CD8
- b _0204999C
-_02049976:
- ldr r0, [r5, #0xc]
- bl FUN_02025BE8
- add r0, r5, #0x0
- mov r1, #0xb
- mov r2, #0x3
- bl FUN_021E8588
- str r0, [r4, #0x20]
- bl FUN_021E84F4
- add r3, r4, #0x0
- mov r2, #0x0
- ldr r1, _02049AC4 ; =0x000007D5
- add r0, r6, #0x0
- add r3, #0x1c
- strh r2, [r4, #0x1c]
- bl FUN_02038CD8
-_0204999C:
- mov r0, #0x4
- str r0, [r4, #0x0]
- b _02049AB2
-_020499A2:
- ldr r0, [r5, #0xc]
- bl FUN_0202280C
- cmp r0, #0x0
- beq _020499B2
- mov r0, #0x5
- str r0, [r4, #0x0]
- b _02049AB2
-_020499B2:
- ldr r0, [r4, #0x20]
- bl FUN_021E856C
- ldr r0, [r4, #0x20]
- bl FUN_021E85E4
- ldrh r0, [r4, #0x1c]
- cmp r0, #0x0
- bne _020499CA
- mov r0, #0x5
- str r0, [r4, #0x0]
- b _02049AB2
-_020499CA:
- mov r0, #0x6
- str r0, [r4, #0x0]
- b _02049AB2
-_020499D0:
- ldr r0, [r5, #0x34]
- bl FUN_020587B0
- add r0, r4, #0x0
- bl FUN_02016A18
- add sp, #0x8
- mov r0, #0x1
- pop {r4-r6, pc}
-_020499E2:
- mov r0, #0x0
- mov r1, #0x1e
- bl FUN_020053CC
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02049AB2
-_020499F2:
- add r0, r6, #0x0
- mov r1, #0x0
- bl FUN_02049C0C
- cmp r0, #0x0
- beq _02049AB2
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02049AB2
-_02049A06:
- add r0, r6, #0x0
- bl FUN_0204AF3C
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02049AB2
-_02049A14:
- mov r0, #0x1
- str r0, [r5, #0x6c]
- ldr r0, _02049AC8 ; =0x00000012
- mov r1, #0x2
- bl FUN_02005FDC
- add r0, r5, #0x0
- bl FUN_0204FC5C
- ldr r0, [r4, #0x14]
- mov r2, #0x1
- str r0, [sp, #0x0]
- str r2, [sp, #0x4]
- ldr r1, [r4, #0x8]
- ldr r3, [r4, #0x10]
- add r0, r6, #0x0
- sub r2, r2, #0x2
- bl FUN_020491A8
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02049AB2
-_02049A42:
- bl FUN_02005404
- cmp r0, #0x0
- bne _02049AB2
- mov r0, #0x0
- bl FUN_0200415C
- add r0, r5, #0x0
- bl FUN_0204AB44
- add r0, r6, #0x0
- bl FUN_0204AF84
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02049AB2
-_02049A64:
- add r0, r6, #0x0
- mov r1, #0x1
- bl FUN_02049C0C
- cmp r0, #0x0
- beq _02049AB2
- bl FUN_0204FCA0
- add r0, r5, #0x0
- bl FUN_02244824
- mov r1, #0x0
- str r0, [r5, #0x68]
- mov r0, #0x2
- add r2, r1, #0x0
- str r0, [sp, #0x0]
- mov r0, #0x1e
- sub r2, #0x10
- mov r3, #0x19
- bl FUN_0200A208
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02049AB2
-_02049A96:
- mov r0, #0x2
- bl FUN_0200A344
- cmp r0, #0x0
- beq _02049AB2
- mov r0, #0x1
- bl FUN_02247970
- add r0, r4, #0x0
- bl FUN_02016A18
- add sp, #0x8
- mov r0, #0x1
- pop {r4-r6, pc}
-_02049AB2:
- mov r0, #0x0
- add sp, #0x8
- pop {r4-r6, pc}
- .balign 4
-_02049AB8: .word 0x000003D9
-_02049ABC: .word 0x020F46D8
-_02049AC0: .word 0x000007F2
-_02049AC4: .word 0x000007D5
-_02049AC8: .word 0x00000012
-
- thumb_func_start FUN_02049ACC
-FUN_02049ACC: ; 0x02049ACC
- push {r4-r6, lr}
- sub sp, #0x8
- add r6, r0, #0x0
- bl FUN_02046528
- add r5, r0, #0x0
- add r0, r6, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- ldr r1, [r4, #0x0]
- cmp r1, #0x7
- bhi _02049BDC
- add r1, r1, r1
- add r1, pc
- ldrh r1, [r1, #0x6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_02049AF2: ; jump table (using 16-bit offset)
- .short _02049B02 - _02049AF2 - 2; case 0
- .short _02049B2C - _02049AF2 - 2; case 1
- .short _02049B54 - _02049AF2 - 2; case 2
- .short _02049B68 - _02049AF2 - 2; case 3
- .short _02049B76 - _02049AF2 - 2; case 4
- .short _02049B9C - _02049AF2 - 2; case 5
- .short _02049BBE - _02049AF2 - 2; case 6
- .short _02049BD2 - _02049AF2 - 2; case 7
-_02049B02:
- mov r0, #0x0
- bl FUN_02247970
- bl FUN_0204FCD8
- ldr r0, [r5, #0x68]
- bl FUN_0224484C
- mov r0, #0x2
- str r0, [sp, #0x0]
- mov r0, #0x1e
- add r1, r0, #0x0
- sub r1, #0x2e
- mov r2, #0x0
- mov r3, #0x1
- bl FUN_0200A208
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02049BDC
-_02049B2C:
- mov r0, #0x2
- bl FUN_0200A344
- cmp r0, #0x0
- beq _02049BDC
- ldr r0, [r5, #0x68]
- cmp r0, #0x0
- bne _02049BDC
- bl FUN_02030F40
- cmp r0, #0x0
- bne _02049BDC
- mov r0, #0x0
- mov r1, #0x1e
- bl FUN_020053CC
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02049BDC
-_02049B54:
- add r0, r6, #0x0
- mov r1, #0x2
- bl FUN_02049C0C
- cmp r0, #0x0
- beq _02049BDC
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02049BDC
-_02049B68:
- add r0, r6, #0x0
- bl FUN_0204AF3C
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02049BDC
-_02049B76:
- mov r0, #0x0
- str r0, [r5, #0x6c]
- ldr r0, _02049BE4 ; =0x00000012
- bl FUN_02005F60
- ldr r0, [r4, #0x14]
- mov r2, #0x1
- str r0, [sp, #0x0]
- str r2, [sp, #0x4]
- ldr r1, [r4, #0x8]
- ldr r3, [r4, #0x10]
- add r0, r6, #0x0
- sub r2, r2, #0x2
- bl FUN_020491A8
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02049BDC
-_02049B9C:
- bl FUN_02005404
- cmp r0, #0x0
- bne _02049BDC
- mov r0, #0x0
- bl FUN_0200415C
- add r0, r5, #0x0
- bl FUN_0204AB44
- add r0, r6, #0x0
- bl FUN_0204AF84
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02049BDC
-_02049BBE:
- add r0, r6, #0x0
- mov r1, #0x3
- bl FUN_02049C0C
- cmp r0, #0x0
- beq _02049BDC
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02049BDC
-_02049BD2:
- bl FUN_02016A18
- add sp, #0x8
- mov r0, #0x1
- pop {r4-r6, pc}
-_02049BDC:
- mov r0, #0x0
- add sp, #0x8
- pop {r4-r6, pc}
- nop
-_02049BE4: .word 0x00000012
-
- thumb_func_start FUN_02049BE8
-FUN_02049BE8: ; 0x02049BE8
- push {r3, lr}
- ldr r0, [r0, #0x6c]
- cmp r0, #0x0
- bne _02049BF4
- ldr r0, _02049C04 ; =FUN_02049844
- pop {r3, pc}
-_02049BF4:
- cmp r0, #0x1
- bne _02049BFC
- ldr r0, _02049C08 ; =FUN_02049ACC
- pop {r3, pc}
-_02049BFC:
- bl ErrorHandling
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-_02049C04: .word FUN_02049844
-_02049C08: .word FUN_02049ACC
-
- thumb_func_start FUN_02049C0C
-FUN_02049C0C: ; 0x02049C0C
- push {r3-r7, lr}
- add r4, r0, #0x0
- add r6, r1, #0x0
- bl FUN_02046528
- add r7, r0, #0x0
- add r0, r4, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- ldr r0, [r4, #0x4]
- mov r5, #0x0
- cmp r0, #0x0
- beq _02049C2E
- cmp r0, #0x1
- beq _02049C44
- b _02049C4E
-_02049C2E:
- add r2, r4, #0x0
- str r5, [r4, #0x18]
- add r0, r7, #0x0
- add r1, r6, #0x0
- add r2, #0x18
- bl FUN_02053C98
- ldr r0, [r4, #0x4]
- add r0, r0, #0x1
- str r0, [r4, #0x4]
- b _02049C4E
-_02049C44:
- ldr r0, [r4, #0x18]
- cmp r0, #0x0
- beq _02049C4E
- str r5, [r4, #0x4]
- mov r5, #0x1
-_02049C4E:
- add r0, r5, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02049C54
-FUN_02049C54: ; 0x02049C54
- push {r3-r5, lr}
- add r4, r0, #0x0
- bl FUN_02046528
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- cmp r0, #0x0
- beq _02049C76
- cmp r0, #0x1
- beq _02049C84
- cmp r0, #0x2
- beq _02049C9C
- b _02049CAC
-_02049C76:
- add r0, r5, #0x0
- bl FUN_02048B34
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02049CAC
-_02049C84:
- add r0, r5, #0x0
- add r1, r4, #0x4
- bl FUN_02048958
- add r0, r5, #0x0
- mov r1, #0x2
- bl FUN_0203989C
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02049CAC
-_02049C9C:
- add r0, r5, #0x0
- bl FUN_02048AE4
- add r0, r4, #0x0
- bl FUN_02016A18
- mov r0, #0x1
- pop {r3-r5, pc}
-_02049CAC:
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02049CB0
-FUN_02049CB0: ; 0x02049CB0
- push {r3-r7, lr}
- add r6, r0, #0x0
- add r5, r1, #0x0
- bl FUN_02046528
- add r7, r0, #0x0
- mov r0, #0xb
- mov r1, #0x18
- bl FUN_020169D8
- add r4, r0, #0x0
- add r0, r7, #0x0
- bl FUN_0203739C
- cmp r0, #0x0
- beq _02049CD6
- bl ErrorHandling
- pop {r3-r7, pc}
-_02049CD6:
- mov r0, #0x0
- str r0, [r4, #0x0]
- ldmia r5!, {r0-r1}
- add r2, r4, #0x4
- stmia r2!, {r0-r1}
- ldmia r5!, {r0-r1}
- stmia r2!, {r0-r1}
- ldr r0, [r5, #0x0]
- ldr r1, _02049CF4 ; =FUN_02049C54
- str r0, [r2, #0x0]
- add r0, r6, #0x0
- add r2, r4, #0x0
- bl FUN_0204640C
- pop {r3-r7, pc}
- .balign 4
-_02049CF4: .word FUN_02049C54
-
- thumb_func_start FUN_02049CF8
-FUN_02049CF8: ; 0x02049CF8
- push {r3-r7, lr}
- add r6, r0, #0x0
- bl FUN_02046528
- add r7, r0, #0x0
- add r0, r6, #0x0
- bl FUN_0204652C
- add r5, r0, #0x0
- add r0, r6, #0x0
- bl FUN_02046530
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- cmp r0, #0x5
- bhi _02049D98
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_02049D24: ; jump table (using 16-bit offset)
- .short _02049D30 - _02049D24 - 2; case 0
- .short _02049D4C - _02049D24 - 2; case 1
- .short _02049D60 - _02049D24 - 2; case 2
- .short _02049D72 - _02049D24 - 2; case 3
- .short _02049D80 - _02049D24 - 2; case 4
- .short _02049D8E - _02049D24 - 2; case 5
-_02049D30:
- ldr r1, [r5, #0x8]
- add r0, r7, #0x0
- mov r2, #0x0
- bl FUN_0204ACA8
- add r0, r7, #0x0
- mov r1, #0x1
- add r2, r5, #0x4
- bl FUN_021E7750
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02049D98
-_02049D4C:
- ldr r0, [r5, #0x4]
- cmp r0, #0x0
- beq _02049D98
- add r0, r6, #0x0
- bl FUN_0204AF3C
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02049D98
-_02049D60:
- add r5, #0x8
- add r0, r6, #0x0
- add r1, r5, #0x0
- bl FUN_02049160
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02049D98
-_02049D72:
- add r0, r6, #0x0
- bl FUN_0204AF84
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02049D98
-_02049D80:
- add r0, r6, #0x0
- bl FUN_0204B00C
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02049D98
-_02049D8E:
- add r0, r5, #0x0
- bl FUN_02016A18
- mov r0, #0x1
- pop {r3-r7, pc}
-_02049D98:
- mov r0, #0x0
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02049D9C
-FUN_02049D9C: ; 0x02049D9C
- push {r4-r6, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_02034E30
- bl FUN_02034DD0
- add r4, r0, #0x0
- mov r0, #0xb
- mov r1, #0x1c
- bl FUN_020169D8
- add r6, r0, #0x0
- mov r1, #0x0
- mov r2, #0x1c
- blx MI_CpuFill8
- add r2, r6, #0x0
- ldmia r4!, {r0-r1}
- add r2, #0x8
- stmia r2!, {r0-r1}
- ldmia r4!, {r0-r1}
- stmia r2!, {r0-r1}
- ldr r0, [r4, #0x0]
- str r0, [r2, #0x0]
- add r0, r5, #0x0
- bl FUN_020520F8
- ldr r0, [r5, #0x7c]
- bl FUN_02052FA4
- mov r0, #0x0
- str r0, [r5, #0x6c]
- ldr r1, _02049DF0 ; =FUN_02049CF8
- add r0, r5, #0x0
- add r2, r6, #0x0
- bl FUN_020463CC
- mov r0, #0x0
- str r0, [r5, #0x78]
- pop {r4-r6, pc}
- nop
-_02049DF0: .word FUN_02049CF8
-
- thumb_func_start FUN_02049DF4
-FUN_02049DF4: ; 0x02049DF4
- push {r3-r7, lr}
- add r6, r0, #0x0
- bl FUN_02046528
- add r7, r0, #0x0
- add r0, r6, #0x0
- bl FUN_0204652C
- add r5, r0, #0x0
- add r0, r6, #0x0
- bl FUN_02046530
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- cmp r0, #0x6
- bhi _02049E9E
- add r1, r0, r0
- add r1, pc
- ldrh r1, [r1, #0x6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_02049E20: ; jump table (using 16-bit offset)
- .short _02049E2E - _02049E20 - 2; case 0
- .short _02049E46 - _02049E20 - 2; case 1
- .short _02049E54 - _02049E20 - 2; case 2
- .short _02049E66 - _02049E20 - 2; case 3
- .short _02049E74 - _02049E20 - 2; case 4
- .short _02049E88 - _02049E20 - 2; case 5
- .short _02049E94 - _02049E20 - 2; case 6
-_02049E2E:
- ldr r1, [r5, #0x8]
- add r0, r7, #0x0
- mov r2, #0x0
- bl FUN_0204ACA8
- add r0, r6, #0x0
- bl FUN_0204AFC8
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02049E9E
-_02049E46:
- add r0, r6, #0x0
- bl FUN_0204AF3C
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02049E9E
-_02049E54:
- add r5, #0x8
- add r0, r6, #0x0
- add r1, r5, #0x0
- bl FUN_02049160
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02049E9E
-_02049E66:
- add r0, r6, #0x0
- bl FUN_0204AF84
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02049E9E
-_02049E74:
- mov r1, #0x0
- str r1, [r5, #0x4]
- add r0, r7, #0x0
- add r2, r5, #0x4
- bl FUN_021E7750
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02049E9E
-_02049E88:
- ldr r1, [r5, #0x4]
- cmp r1, #0x0
- beq _02049E9E
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02049E9E
-_02049E94:
- add r0, r5, #0x0
- bl FUN_02016A18
- mov r0, #0x1
- pop {r3-r7, pc}
-_02049E9E:
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02049EA4
-FUN_02049EA4: ; 0x02049EA4
- push {r3-r7, lr}
- add r6, r0, #0x0
- bl FUN_02046528
- add r5, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_02034E30
- bl FUN_02034DD0
- add r7, r0, #0x0
- mov r0, #0xb
- mov r1, #0x1c
- bl FUN_020169D8
- mov r1, #0x0
- mov r2, #0x1c
- add r4, r0, #0x0
- blx MI_CpuFill8
- add r0, r7, #0x0
- add r1, r5, #0x0
- bl FUN_02048CB0
- ldr r0, _02049F08 ; =0x000001D2
- str r0, [r4, #0x8]
- mov r0, #0x0
- mvn r0, r0
- str r0, [r4, #0xc]
- mov r0, #0x8
- str r0, [r4, #0x10]
- mov r0, #0xe
- str r0, [r4, #0x14]
- mov r0, #0x0
- str r0, [r4, #0x18]
- add r0, r5, #0x0
- bl FUN_020520AC
- str r0, [r5, #0x78]
- bl FUN_02052EE8
- str r0, [r5, #0x7c]
- mov r0, #0x2
- str r0, [r5, #0x6c]
- ldr r1, _02049F0C ; =FUN_02049DF4
- add r0, r6, #0x0
- add r2, r4, #0x0
- bl FUN_0204640C
- pop {r3-r7, pc}
- .balign 4
-_02049F08: .word 0x000001D2
-_02049F0C: .word FUN_02049DF4
-
- thumb_func_start FUN_02049F10
-FUN_02049F10: ; 0x02049F10
- push {r4-r6, lr}
- add r5, r0, #0x0
- bl FUN_02046528
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- ldr r1, [r4, #0x0]
- cmp r1, #0x3
- bhi _02049F8E
- add r1, r1, r1
- add r1, pc
- ldrh r1, [r1, #0x6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_02049F34: ; jump table (using 16-bit offset)
- .short _02049F3C - _02049F34 - 2; case 0
- .short _02049F58 - _02049F34 - 2; case 1
- .short _02049F68 - _02049F34 - 2; case 2
- .short _02049F86 - _02049F34 - 2; case 3
-_02049F3C:
- ldr r0, _02049F94 ; =0x00000603
- bl FUN_020054C8
- ldr r1, [r4, #0x4]
- add r0, r6, #0x0
- bl FUN_0204AD60
- add r0, r5, #0x0
- bl FUN_0204B090
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02049F8E
-_02049F58:
- add r0, r5, #0x0
- add r1, r4, #0x4
- bl FUN_02049160
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02049F8E
-_02049F68:
- bl FUN_02005404
- cmp r0, #0x0
- bne _02049F8E
- ldr r1, [r4, #0x4]
- add r0, r6, #0x0
- bl FUN_0204AD8C
- add r0, r5, #0x0
- bl FUN_0204AF84
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _02049F8E
-_02049F86:
- bl FUN_02016A18
- mov r0, #0x1
- pop {r4-r6, pc}
-_02049F8E:
- mov r0, #0x0
- pop {r4-r6, pc}
- nop
-_02049F94: .word 0x00000603
-
- thumb_func_start FUN_02049F98
-FUN_02049F98: ; 0x02049F98
- push {r3-r7, lr}
- sub sp, #0x18
- str r0, [sp, #0x0]
- add r5, r1, #0x0
- add r6, r2, #0x0
- add r7, r3, #0x0
- bl FUN_02046528
- add r4, r0, #0x0
- ldr r0, [r4, #0xc]
- bl FUN_02034E30
- bl FUN_02034DD0
- add r1, r4, #0x0
- bl FUN_02048CB0
- mov r0, #0x3
- str r0, [r4, #0x6c]
- mov r0, #0xb
- mov r1, #0x1c
- bl FUN_020169D8
- add r2, r0, #0x0
- ldr r0, [sp, #0x30]
- str r5, [sp, #0x4]
- str r0, [sp, #0x10]
- ldr r0, [sp, #0x34]
- str r6, [sp, #0x8]
- str r0, [sp, #0x14]
- mov r0, #0x0
- str r7, [sp, #0xc]
- add r4, sp, #0x4
- str r0, [r2, #0x0]
- ldmia r4!, {r0-r1}
- add r3, r2, #0x4
- stmia r3!, {r0-r1}
- ldmia r4!, {r0-r1}
- stmia r3!, {r0-r1}
- ldr r0, [r4, #0x0]
- ldr r1, _02049FF8 ; =FUN_02049F10
- str r0, [r3, #0x0]
- ldr r0, [sp, #0x0]
- bl FUN_0204640C
- add sp, #0x18
- pop {r3-r7, pc}
- nop
-_02049FF8: .word FUN_02049F10
-
- thumb_func_start FUN_02049FFC
-FUN_02049FFC: ; 0x02049FFC
- push {r4, lr}
- bl FUN_02046528
- add r4, r0, #0x0
- ldr r0, [r4, #0xc]
- bl FUN_02034E30
- bl FUN_02034DD0
- add r1, r0, #0x0
- mov r0, #0x0
- str r0, [r4, #0x6c]
- ldr r0, [r4, #0x10]
- bl FUN_020490C0
- pop {r4, pc}
-
- thumb_func_start FUN_0204A01C
-FUN_0204A01C: ; 0x0204A01C
- push {r4, lr}
- mov r1, #0xa2
- mov r2, #0x0
- add r4, r0, #0x0
- bl FUN_020671BC
- cmp r0, #0x0
- bne _0204A030
- mov r0, #0x0
- pop {r4, pc}
-_0204A030:
- add r0, r4, #0x0
- mov r1, #0x4c
- mov r2, #0x0
- bl FUN_020671BC
- cmp r0, #0x0
- bne _0204A042
- mov r0, #0x1
- pop {r4, pc}
-_0204A042:
- mov r0, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0204A048
-FUN_0204A048: ; 0x0204A048
- push {r3-r7, lr}
- sub sp, #0x20
- add r6, r1, #0x0
- add r5, r0, #0x0
- add r0, r6, #0x0
- add r7, r2, #0x0
- str r3, [sp, #0x10]
- bl FUN_020238F4
- str r0, [sp, #0x14]
- add r0, r6, #0x0
- bl FUN_0206BB1C
- str r0, [sp, #0x18]
- add r0, r5, #0x0
- bl FUN_020669C0
- add r4, r0, #0x0
- bl FUN_02066978
- mov r0, #0x0
- str r0, [sp, #0x0]
- str r0, [sp, #0x4]
- str r0, [sp, #0x8]
- str r0, [sp, #0xc]
- ldr r2, [sp, #0x10]
- add r0, r4, #0x0
- add r1, r7, #0x0
- mov r3, #0x20
- bl FUN_02066ACC
- ldr r0, [sp, #0x40]
- ldr r1, [sp, #0x14]
- str r0, [sp, #0x0]
- ldr r3, [sp, #0x3c]
- add r0, r4, #0x0
- mov r2, #0x4
- str r5, [sp, #0x4]
- bl FUN_0206A014
- add r0, sp, #0x28
- ldrh r0, [r0, #0x10]
- mov r1, #0x6
- add r2, sp, #0x1c
- str r0, [sp, #0x1c]
- add r0, r4, #0x0
- bl FUN_02067830
- ldr r0, [sp, #0x18]
- add r1, r4, #0x0
- bl FUN_0206B900
- add r5, r0, #0x0
- beq _0204A0BC
- add r0, r6, #0x0
- add r1, r4, #0x0
- bl FUN_0202C144
-_0204A0BC:
- add r0, r4, #0x0
- bl FUN_02016A18
- add r0, r5, #0x0
- add sp, #0x20
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0204A0C8
-FUN_0204A0C8: ; 0x0204A0C8
- push {r4-r7, lr}
- sub sp, #0xc
- add r4, r1, #0x0
- add r0, r4, #0x0
- add r5, r2, #0x0
- add r7, r3, #0x0
- bl FUN_020238F4
- str r0, [sp, #0x8]
- add r0, r4, #0x0
- bl FUN_0206BB1C
- add r6, r0, #0x0
- mov r0, #0x20
- bl FUN_020669C0
- add r4, r0, #0x0
- bl FUN_02066978
- ldr r0, [sp, #0x20]
- ldr r1, [sp, #0x24]
- bl FUN_02015CF8
- mov r1, #0x4
- str r1, [sp, #0x0]
- str r0, [sp, #0x4]
- ldr r3, [sp, #0x8]
- add r0, r4, #0x0
- add r1, r5, #0x0
- add r2, r7, #0x0
- bl FUN_021ECF14
- add r0, r6, #0x0
- add r1, r4, #0x0
- bl FUN_0206B900
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_02016A18
- add r0, r5, #0x0
- add sp, #0xc
- pop {r4-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0204A120
-FUN_0204A120: ; 0x0204A120
- push {r3-r5, lr}
- add r5, r2, #0x0
- add r4, r3, #0x0
- bl FUN_0206B9B0
- lsl r2, r5, #0x18
- add r1, r4, #0x0
- lsr r2, r2, #0x18
- bl FUN_020697CC
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0204A138
-FUN_0204A138: ; 0x0204A138
- push {r3-r7, lr}
- str r0, [sp, #0x0]
- add r5, r1, #0x0
- bl FUN_0206B9AC
- add r7, r0, #0x0
- mov r6, #0x0
- cmp r7, #0x0
- ble _0204A1A2
-_0204A14A:
- ldr r0, [sp, #0x0]
- add r1, r6, #0x0
- bl FUN_0206B9B0
- mov r1, #0x4c
- mov r2, #0x0
- add r4, r0, #0x0
- bl FUN_020671BC
- cmp r0, #0x0
- bne _0204A19C
- add r0, r4, #0x0
- mov r1, #0x36
- mov r2, #0x0
- bl FUN_020671BC
- cmp r5, r0
- beq _0204A198
- add r0, r4, #0x0
- mov r1, #0x37
- mov r2, #0x0
- bl FUN_020671BC
- cmp r5, r0
- beq _0204A198
- add r0, r4, #0x0
- mov r1, #0x38
- mov r2, #0x0
- bl FUN_020671BC
- cmp r5, r0
- beq _0204A198
- add r0, r4, #0x0
- mov r1, #0x39
- mov r2, #0x0
- bl FUN_020671BC
- cmp r5, r0
- bne _0204A19C
-_0204A198:
- add r0, r6, #0x0
- pop {r3-r7, pc}
-_0204A19C:
- add r6, r6, #0x1
- cmp r6, r7
- blt _0204A14A
-_0204A1A2:
- mov r0, #0xff
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0204A1A8
-FUN_0204A1A8: ; 0x0204A1A8
- push {r3-r7, lr}
- add r7, r0, #0x0
- bl FUN_0206B9AC
- mov r5, #0x0
- add r6, r0, #0x0
- add r4, r5, #0x0
- cmp r6, #0x0
- ble _0204A1D2
-_0204A1BA:
- add r0, r7, #0x0
- add r1, r4, #0x0
- bl FUN_0206B9B0
- bl FUN_0204A01C
- cmp r0, #0x0
- beq _0204A1CC
- add r5, r5, #0x1
-_0204A1CC:
- add r4, r4, #0x1
- cmp r4, r6
- blt _0204A1BA
-_0204A1D2:
- add r0, r5, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0204A1D8
-FUN_0204A1D8: ; 0x0204A1D8
- push {r3-r7, lr}
- add r6, r0, #0x0
- bl FUN_0206B9AC
- add r5, r0, #0x0
- mov r4, #0x0
- cmp r5, #0x0
- ble _0204A204
-_0204A1E8:
- add r0, r6, #0x0
- add r1, r4, #0x0
- bl FUN_0206B9B0
- add r7, r0, #0x0
- bl FUN_0204A01C
- cmp r0, #0x0
- beq _0204A1FE
- add r0, r7, #0x0
- pop {r3-r7, pc}
-_0204A1FE:
- add r4, r4, #0x1
- cmp r4, r5
- blt _0204A1E8
-_0204A204:
- bl ErrorHandling
- mov r0, #0x0
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0204A20C
-FUN_0204A20C: ; 0x0204A20C
- push {r3-r7, lr}
- add r6, r0, #0x0
- bl FUN_0206B9AC
- lsl r0, r0, #0x10
- lsr r5, r0, #0x10
- ldr r4, _0204A244 ; =0x00000000
- beq _0204A240
-_0204A21C:
- add r0, r6, #0x0
- add r1, r4, #0x0
- bl FUN_0206B9B0
- mov r1, #0x4c
- mov r2, #0x0
- add r7, r0, #0x0
- bl FUN_020671BC
- cmp r0, #0x0
- bne _0204A236
- add r0, r7, #0x0
- pop {r3-r7, pc}
-_0204A236:
- add r0, r4, #0x1
- lsl r0, r0, #0x10
- lsr r4, r0, #0x10
- cmp r4, r5
- blo _0204A21C
-_0204A240:
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-_0204A244: .word 0x00000000
-
- thumb_func_start FUN_0204A248
-FUN_0204A248: ; 0x0204A248
- push {r3, lr}
- bl FUN_0204A1A8
- cmp r0, #0x2
- blt _0204A256
- mov r0, #0x1
- pop {r3, pc}
-_0204A256:
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0204A25C
-FUN_0204A25C: ; 0x0204A25C
- push {r3-r7, lr}
- mov r2, #0x1
- add r1, sp, #0x0
- add r7, r0, #0x0
- strb r2, [r1, #0x0]
- bl FUN_0206B9AC
- add r6, r0, #0x0
- mov r5, #0x0
- cmp r6, #0x0
- ble _0204A298
-_0204A272:
- add r0, r7, #0x0
- add r1, r5, #0x0
- bl FUN_0206B9B0
- mov r1, #0x4c
- mov r2, #0x0
- add r4, r0, #0x0
- bl FUN_020671BC
- cmp r0, #0x0
- bne _0204A292
- add r0, r4, #0x0
- mov r1, #0x19
- add r2, sp, #0x0
- bl FUN_02067830
-_0204A292:
- add r5, r5, #0x1
- cmp r5, r6
- blt _0204A272
-_0204A298:
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0204A29C
-FUN_0204A29C: ; 0x0204A29C
- push {r3-r7, lr}
- sub sp, #0x10
- mov r7, #0x0
- str r0, [sp, #0x0]
- str r1, [sp, #0x4]
- add r6, r7, #0x0
- bl FUN_0206B9AC
- add r4, r7, #0x0
- str r0, [sp, #0x8]
- cmp r0, #0x0
- ble _0204A310
-_0204A2B4:
- ldr r0, [sp, #0x0]
- add r1, r4, #0x0
- bl FUN_0206B9B0
- add r5, r0, #0x0
- bl FUN_0204A01C
- cmp r0, #0x0
- beq _0204A308
- add r0, r5, #0x0
- mov r1, #0x9f
- mov r2, #0x0
- bl FUN_020671BC
- mov r1, #0x88
- tst r0, r1
- beq _0204A308
- add r0, r5, #0x0
- mov r1, #0xa2
- mov r2, #0x0
- bl FUN_020671BC
- str r0, [sp, #0xc]
- cmp r0, #0x1
- bls _0204A2EA
- sub r0, r0, #0x1
- str r0, [sp, #0xc]
-_0204A2EA:
- add r0, r5, #0x0
- mov r1, #0xa2
- add r2, sp, #0xc
- bl FUN_02067830
- ldr r0, [sp, #0xc]
- cmp r0, #0x1
- bne _0204A306
- ldr r2, [sp, #0x4]
- add r0, r5, #0x0
- mov r1, #0x7
- add r6, r6, #0x1
- bl FUN_020688E8
-_0204A306:
- add r7, r7, #0x1
-_0204A308:
- ldr r0, [sp, #0x8]
- add r4, r4, #0x1
- cmp r4, r0
- blt _0204A2B4
-_0204A310:
- cmp r6, #0x0
- beq _0204A31A
- add sp, #0x10
- mov r0, #0x2
- pop {r3-r7, pc}
-_0204A31A:
- cmp r7, #0x0
- beq _0204A324
- add sp, #0x10
- mov r0, #0x1
- pop {r3-r7, pc}
-_0204A324:
- mov r0, #0x0
- add sp, #0x10
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0204A32C
-FUN_0204A32C: ; 0x0204A32C
- push {r3-r4, lr}
- sub sp, #0x4
- mov r1, #0x9f
- mov r2, #0x0
- add r4, r0, #0x0
- bl FUN_020671BC
- mov r1, #0x88
- tst r0, r1
- beq _0204A362
- add r0, r4, #0x0
- mov r1, #0xa2
- mov r2, #0x0
- bl FUN_020671BC
- cmp r0, #0x1
- bne _0204A362
- mov r0, #0x0
- str r0, [sp, #0x0]
- add r0, r4, #0x0
- mov r1, #0x9f
- add r2, sp, #0x0
- bl FUN_02067830
- add sp, #0x4
- mov r0, #0x1
- pop {r3-r4, pc}
-_0204A362:
- mov r0, #0x0
- add sp, #0x4
- pop {r3-r4, pc}
-
- thumb_func_start FUN_0204A368
-FUN_0204A368: ; 0x0204A368
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0x54]
- add r4, r1, #0x0
- cmp r0, #0x0
- bne _0204A388
- ldr r1, _0204A38C ; =0x000080E2
- mov r0, #0xb
- bl FUN_02016998
- str r0, [r5, #0x54]
- ldr r0, [r5, #0x28]
- ldr r1, [r5, #0x54]
- add r2, r4, #0x0
- bl FUN_0204A3B0
-_0204A388:
- pop {r3-r5, pc}
- nop
-_0204A38C: .word 0x000080E2
-
- thumb_func_start FUN_0204A390
-FUN_0204A390: ; 0x0204A390
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x54]
- cmp r0, #0x0
- beq _0204A3A2
- bl FUN_02016A18
- mov r0, #0x0
- str r0, [r4, #0x54]
-_0204A3A2:
- pop {r4, pc}
-
- thumb_func_start FUN_0204A3A4
-FUN_0204A3A4: ; 0x0204A3A4
- ldrb r0, [r1, r0]
- add r2, r1, #0x0
- add r2, #0xe2
- lsl r0, r0, #0xb
- add r0, r2, r0
- bx lr
-
- thumb_func_start FUN_0204A3B0
-FUN_0204A3B0: ; 0x0204A3B0
- push {r4-r7, lr}
- sub sp, #0x3c
- str r1, [sp, #0x8]
- str r2, [sp, #0xc]
- str r0, [sp, #0x4]
- mov r2, #0x0
- add r1, sp, #0x18
- strb r2, [r1, #0x0]
- bl FUN_020344FC
- add r6, r0, #0x0
- ldr r0, [sp, #0x4]
- bl FUN_0203450C
- str r0, [sp, #0x10]
- mov r0, #0x0
- str r0, [sp, #0x14]
- ldr r0, [sp, #0x10]
- cmp r0, #0x0
- ble _0204A410
- ldr r7, [sp, #0x14]
-_0204A3DA:
- mov r5, #0x0
- cmp r6, #0x0
- ble _0204A402
-_0204A3E0:
- add r0, r5, r7
- lsl r0, r0, #0x10
- lsr r4, r0, #0x10
- ldr r1, [sp, #0x4]
- add r0, r4, #0x0
- bl FUN_020344D8
- add r1, sp, #0x18
- add r1, #0x2
- add r2, sp, #0x18
- bl FUN_0204A45C
- ldr r1, [sp, #0x8]
- add r5, r5, #0x1
- strb r0, [r1, r4]
- cmp r5, r6
- blt _0204A3E0
-_0204A402:
- ldr r0, [sp, #0x14]
- add r7, r7, r6
- add r1, r0, #0x1
- ldr r0, [sp, #0x10]
- str r1, [sp, #0x14]
- cmp r1, r0
- blt _0204A3DA
-_0204A410:
- mov r0, #0x43
- mov r1, #0xb
- bl FUN_02006670
- add r7, r0, #0x0
- ldr r0, [sp, #0xc]
- mov r6, #0x0
- cmp r0, #0x0
- ble _0204A452
- ldr r0, [sp, #0x8]
- add r4, sp, #0x18
- add r0, #0xe2
- add r4, #0x2
- add r5, r6, #0x0
- str r0, [sp, #0x8]
-_0204A42E:
- ldr r0, [sp, #0x8]
- lsl r1, r5, #0x1
- add r0, r0, r1
- str r0, [sp, #0x0]
- ldrh r1, [r4, #0x0]
- mov r2, #0x10
- add r0, r7, #0x0
- lsl r3, r2, #0x7
- bl FUN_02006814
- mov r0, #0x1
- lsl r0, r0, #0xa
- add r5, r5, r0
- ldr r0, [sp, #0xc]
- add r6, r6, #0x1
- add r4, r4, #0x2
- cmp r6, r0
- blt _0204A42E
-_0204A452:
- add r0, r7, #0x0
- bl FUN_020066F4
- add sp, #0x3c
- pop {r4-r7, pc}
-
- thumb_func_start FUN_0204A45C
-FUN_0204A45C: ; 0x0204A45C
- push {r3-r7, lr}
- add r7, r2, #0x0
- add r5, r0, #0x0
- ldrb r0, [r7, #0x0]
- add r6, r1, #0x0
- mov r4, #0x0
- cmp r0, #0x0
- bls _0204A482
-_0204A46C:
- lsl r1, r4, #0x1
- ldrh r1, [r6, r1]
- cmp r5, r1
- bne _0204A478
- add r0, r4, #0x0
- pop {r3-r7, pc}
-_0204A478:
- add r1, r4, #0x1
- lsl r1, r1, #0x18
- lsr r4, r1, #0x18
- cmp r4, r0
- blo _0204A46C
-_0204A482:
- cmp r4, #0x10
- blo _0204A48A
- bl ErrorHandling
-_0204A48A:
- lsl r0, r4, #0x1
- strh r5, [r6, r0]
- ldrb r0, [r7, #0x0]
- add r0, r0, #0x1
- strb r0, [r7, #0x0]
- add r0, r4, #0x0
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0204A498
-FUN_0204A498: ; 0x0204A498
- cmp r0, r1
- blt _0204A4A0
- sub r0, r0, r1
- bx lr
-_0204A4A0:
- sub r0, r1, r0
- bx lr
-
- thumb_func_start FUN_0204A4A4
-FUN_0204A4A4: ; 0x0204A4A4
- push {r3-r7, lr}
- sub sp, #0x38
- add r4, r2, #0x0
- add r6, r3, #0x0
- add r5, r0, #0x0
- mov r0, #0x0
- str r4, [sp, #0x2c]
- str r6, [sp, #0x34]
- str r0, [sp, #0x10]
- str r0, [sp, #0x30]
- ldr r0, [r5, #0x24]
- str r1, [sp, #0x4]
- str r0, [sp, #0x8]
- ldr r0, [r5, #0x28]
- bl FUN_020344FC
- str r0, [sp, #0x24]
- lsl r0, r0, #0x5
- str r0, [sp, #0xc]
- asr r0, r4, #0xf
- lsr r0, r0, #0x10
- add r0, r4, r0
- asr r7, r0, #0x10
- asr r0, r6, #0xf
- lsr r0, r0, #0x10
- add r0, r6, r0
- asr r0, r0, #0x10
- str r0, [sp, #0x1c]
- add r2, r5, #0x0
- add r2, #0x9c
- ldr r1, [sp, #0x1c]
- ldr r2, [r2, #0x0]
- add r0, r7, #0x0
- add r3, sp, #0x28
- bl FUN_021F4520
- str r0, [sp, #0x20]
- lsr r0, r7, #0x5
- str r0, [sp, #0x18]
- ldr r0, [sp, #0x1c]
- ldr r1, [sp, #0x1c]
- lsr r0, r0, #0x5
- str r0, [sp, #0x14]
- ldr r0, [sp, #0x18]
- lsl r0, r0, #0x5
- add r0, #0x10
- lsl r0, r0, #0x10
- sub r0, r4, r0
- str r0, [sp, #0x2c]
- ldr r0, [sp, #0x14]
- lsl r0, r0, #0x5
- add r0, #0x10
- lsl r0, r0, #0x10
- sub r0, r6, r0
- str r0, [sp, #0x34]
- ldr r0, [sp, #0xc]
- mul r0, r1
- ldr r1, [sp, #0xc]
- add r0, r7, r0
- bl FUN_021EF620
- ldr r2, [sp, #0x14]
- add r1, r0, #0x0
- add r3, r2, #0x0
- ldr r0, [sp, #0x24]
- ldr r2, [sp, #0x8]
- mul r3, r0
- ldr r0, [sp, #0x18]
- add r0, r0, r3
- bl FUN_021EF654
- add r1, r0, #0x0
- cmp r1, #0x3
- bls _0204A53C
- mov r4, #0x0
- b _0204A558
-_0204A53C:
- lsl r1, r1, #0x18
- ldr r0, [sp, #0x8]
- lsr r1, r1, #0x18
- bl FUN_021EF8C8
- add r3, r0, #0x0
- add r0, sp, #0x30
- str r0, [sp, #0x0]
- ldr r0, [sp, #0x4]
- ldr r1, [sp, #0x2c]
- ldr r2, [sp, #0x34]
- bl FUN_021F3DA4
- add r4, r0, #0x0
-_0204A558:
- ldr r0, [sp, #0x20]
- cmp r0, #0x0
- beq _0204A5A4
- add r0, sp, #0x28
- add r5, #0x9c
- ldrb r0, [r0, #0x0]
- ldr r1, [r5, #0x0]
- bl FUN_021F4568
- add r5, r0, #0x0
- cmp r4, #0x0
- beq _0204A59E
- ldr r0, [sp, #0x30]
- str r0, [sp, #0x10]
- cmp r5, r0
- bgt _0204A57C
- mov r1, #0x1
- b _0204A5B2
-_0204A57C:
- ldr r1, [sp, #0x4]
- bl FUN_0204A498
- add r4, r0, #0x0
- ldr r1, [sp, #0x4]
- add r0, r5, #0x0
- bl FUN_0204A498
- cmp r4, r0
- bgt _0204A598
- ldr r0, [sp, #0x30]
- mov r1, #0x1
- str r0, [sp, #0x10]
- b _0204A5B2
-_0204A598:
- str r5, [sp, #0x10]
- mov r1, #0x2
- b _0204A5B2
-_0204A59E:
- mov r1, #0x2
- str r5, [sp, #0x10]
- b _0204A5B2
-_0204A5A4:
- cmp r4, #0x0
- beq _0204A5B0
- ldr r0, [sp, #0x30]
- mov r1, #0x1
- str r0, [sp, #0x10]
- b _0204A5B2
-_0204A5B0:
- mov r1, #0x0
-_0204A5B2:
- ldr r0, [sp, #0x50]
- cmp r0, #0x0
- beq _0204A5BA
- strb r1, [r0, #0x0]
-_0204A5BA:
- ldr r0, [sp, #0x10]
- add sp, #0x38
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0204A5C0
-FUN_0204A5C0: ; 0x0204A5C0
- push {r3, lr}
- asr r1, r2, #0xf
- lsr r1, r1, #0x10
- add r1, r2, r1
- asr r2, r3, #0xf
- lsr r2, r2, #0x10
- add r2, r3, r2
- ldr r0, [r0, #0x24]
- asr r1, r1, #0x10
- asr r2, r2, #0x10
- mov r3, #0x0
- bl FUN_021EF844
- ldr r1, [sp, #0x8]
- cmp r1, #0x0
- beq _0204A5EE
- cmp r0, #0x0
- beq _0204A5E8
- mov r1, #0x1
- b _0204A5EA
-_0204A5E8:
- mov r1, #0x0
-_0204A5EA:
- ldr r0, [sp, #0x8]
- strb r1, [r0, #0x0]
-_0204A5EE:
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0204A5F4
-FUN_0204A5F4: ; 0x0204A5F4
- push {r3-r7, lr}
- ldr r7, [r0, #0x24]
- add r4, r3, #0x0
- add r0, r7, #0x0
- add r3, sp, #0x0
- add r5, r1, #0x0
- add r6, r2, #0x0
- bl FUN_021EF844
- cmp r0, #0x0
- bne _0204A612
- mov r0, #0xff
- strh r0, [r4, #0x0]
- mov r0, #0x0
- pop {r3-r7, pc}
-_0204A612:
- add r1, sp, #0x0
- ldrb r1, [r1, #0x0]
- add r0, r7, #0x0
- bl FUN_021EF8DC
- lsr r2, r5, #0x1f
- lsl r1, r5, #0x1b
- sub r1, r1, r2
- mov r3, #0x1b
- ror r1, r3
- add r1, r2, r1
- lsr r5, r6, #0x1f
- lsl r2, r6, #0x1b
- sub r2, r2, r5
- ror r2, r3
- add r2, r5, r2
- lsl r2, r2, #0x5
- add r1, r1, r2
- lsl r1, r1, #0x1
- ldrh r0, [r0, r1]
- strh r0, [r4, #0x0]
- mov r0, #0x1
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0204A640
-FUN_0204A640: ; 0x0204A640
- push {r3-r7, lr}
- add r6, r0, #0x0
- ldr r0, [r6, #0x28]
- add r4, r2, #0x0
- add r5, r1, #0x0
- add r7, r3, #0x0
- bl FUN_020344FC
- asr r2, r4, #0x4
- asr r1, r5, #0x4
- lsr r2, r2, #0x1b
- lsr r1, r1, #0x1b
- add r2, r4, r2
- add r1, r5, r1
- asr r2, r2, #0x5
- asr r1, r1, #0x5
- mul r0, r2
- add r0, r1, r0
- ldr r1, [r6, #0x54]
- bl FUN_0204A3A4
- lsr r2, r5, #0x1f
- lsl r1, r5, #0x1b
- sub r1, r1, r2
- mov r3, #0x1b
- ror r1, r3
- add r1, r2, r1
- lsr r5, r4, #0x1f
- lsl r2, r4, #0x1b
- sub r2, r2, r5
- ror r2, r3
- add r2, r5, r2
- lsl r2, r2, #0x5
- add r1, r1, r2
- lsl r1, r1, #0x1
- ldrh r0, [r0, r1]
- strh r0, [r7, #0x0]
- mov r0, #0x1
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0204A690
-FUN_0204A690: ; 0x0204A690
- push {r3, lr}
- cmp r1, #0x0
- bne _0204A69C
- ldr r1, _0204A6AC ; =0x020F4708
- str r1, [r0, #0x0]
- pop {r3, pc}
-_0204A69C:
- cmp r1, #0x1
- bne _0204A6A6
- ldr r1, _0204A6B0 ; =0x020F4710
- str r1, [r0, #0x0]
- pop {r3, pc}
-_0204A6A6:
- bl ErrorHandling
- pop {r3, pc}
- .balign 4
-_0204A6AC: .word 0x020F4708
-_0204A6B0: .word 0x020F4710
-
- thumb_func_start FUN_0204A6B4
-FUN_0204A6B4: ; 0x0204A6B4
- push {r3-r4, lr}
- sub sp, #0x4
- ldr r4, [r0, #0x58]
- add r3, sp, #0x0
- ldr r4, [r4, #0x4]
- blx r4
- cmp r0, #0x0
- beq _0204A6DA
- add r0, sp, #0x0
- ldrh r0, [r0, #0x0]
- asr r0, r0, #0xf
- lsl r0, r0, #0x18
- lsr r1, r0, #0x18
- mov r0, #0x1
- and r1, r0
- lsl r1, r1, #0x18
- lsr r1, r1, #0x18
- cmp r1, #0x1
- beq _0204A6DC
-_0204A6DA:
- mov r0, #0x0
-_0204A6DC:
- add sp, #0x4
- pop {r3-r4, pc}
-
- thumb_func_start FUN_0204A6E0
-FUN_0204A6E0: ; 0x0204A6E0
- push {r3-r4, lr}
- sub sp, #0x4
- ldr r4, [r0, #0x58]
- add r3, sp, #0x0
- ldr r4, [r4, #0x4]
- blx r4
- cmp r0, #0x0
- beq _0204A700
- add r0, sp, #0x0
- ldrh r0, [r0, #0x0]
- add sp, #0x4
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- pop {r3-r4, pc}
-_0204A700:
- mov r0, #0xff
- add sp, #0x4
- pop {r3-r4, pc}
- .balign 4
-
- thumb_func_start FUN_0204A708
-FUN_0204A708: ; 0x0204A708
- push {r3-r4, lr}
- sub sp, #0x4
- ldr r4, [sp, #0x10]
- str r4, [sp, #0x0]
- ldr r4, [r0, #0x58]
- ldr r4, [r4, #0x0]
- blx r4
- add sp, #0x4
- pop {r3-r4, pc}
- .balign 4
-
- thumb_func_start FUN_0204A71C
-FUN_0204A71C: ; 0x0204A71C
- push {r3-r5, lr}
- add r4, r1, #0x0
- ldr r1, [sp, #0x10]
- mov r5, #0x2
- str r1, [sp, #0x0]
- ldr r1, [r4, #0x4]
- lsl r2, r2, #0x10
- lsl r5, r5, #0xe
- lsl r3, r3, #0x10
- add r2, r2, r5
- add r3, r3, r5
- bl FUN_0204A708
- ldr r1, [r4, #0x4]
- cmp r0, r1
- bge _0204A744
- mov r4, #0x0
- add r2, r1, #0x0
- mvn r4, r4
- b _0204A754
-_0204A744:
- cmp r0, r1
- ble _0204A750
- add r2, r0, #0x0
- add r0, r1, #0x0
- mov r4, #0x1
- b _0204A754
-_0204A750:
- mov r0, #0x0
- pop {r3-r5, pc}
-_0204A754:
- sub r1, r2, r0
- mov r0, #0x5
- lsl r0, r0, #0xe
- cmp r1, r0
- blt _0204A768
- cmp r4, #0x0
- bne _0204A76A
- bl ErrorHandling
- b _0204A76A
-_0204A768:
- mov r4, #0x0
-_0204A76A:
- add r0, r4, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0204A770
-FUN_0204A770: ; 0x0204A770
- push {r3-r7, lr}
- sub sp, #0x8
- add r6, sp, #0x4
- add r5, r0, #0x0
- add r4, r2, #0x0
- add r7, r3, #0x0
- str r6, [sp, #0x0]
- bl FUN_0204A71C
- ldr r1, [sp, #0x20]
- cmp r1, #0x0
- beq _0204A78A
- strb r0, [r1, #0x0]
-_0204A78A:
- cmp r0, #0x0
- bne _0204A7C2
- add r0, r5, #0x0
- add r1, r4, #0x0
- add r2, r7, #0x0
- bl FUN_0204A6B4
- add r6, r0, #0x0
- bne _0204A7BC
- add r0, sp, #0x4
- ldrb r0, [r0, #0x0]
- cmp r0, #0x2
- bne _0204A7BC
- add r0, r5, #0x0
- add r1, r4, #0x0
- add r2, r7, #0x0
- bl FUN_0204A6E0
- bl FUN_020548B4
- cmp r0, #0x0
- beq _0204A7BC
- add sp, #0x8
- mov r0, #0x1
- pop {r3-r7, pc}
-_0204A7BC:
- add sp, #0x8
- add r0, r6, #0x0
- pop {r3-r7, pc}
-_0204A7C2:
- mov r0, #0x1
- add sp, #0x8
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0204A7C8
-FUN_0204A7C8: ; 0x0204A7C8
- push {r3-r7, lr}
- sub sp, #0x10
- add r6, sp, #0x8
- add r5, r0, #0x0
- str r1, [sp, #0x4]
- add r4, r2, #0x0
- add r7, r3, #0x0
- str r6, [sp, #0x0]
- bl FUN_0204A71C
- ldr r1, [sp, #0x28]
- cmp r1, #0x0
- beq _0204A7E4
- strb r0, [r1, #0x0]
-_0204A7E4:
- cmp r0, #0x0
- bne _0204A83A
- add r0, sp, #0xc
- str r0, [sp, #0x0]
- ldr r3, [sp, #0x4]
- add r0, r5, #0x0
- ldr r3, [r3, #0x4]
- add r1, r4, #0x0
- add r2, r7, #0x0
- bl FUN_0205CE00
- cmp r0, #0x0
- bne _0204A834
- add r0, r5, #0x0
- add r1, r4, #0x0
- add r2, r7, #0x0
- bl FUN_0204A6B4
- str r0, [sp, #0xc]
- cmp r0, #0x0
- bne _0204A82E
- add r0, sp, #0x8
- ldrb r0, [r0, #0x0]
- cmp r0, #0x2
- bne _0204A82E
- add r0, r5, #0x0
- add r1, r4, #0x0
- add r2, r7, #0x0
- bl FUN_0204A6E0
- bl FUN_020548B4
- cmp r0, #0x0
- beq _0204A82E
- add sp, #0x10
- mov r0, #0x1
- pop {r3-r7, pc}
-_0204A82E:
- ldr r0, [sp, #0xc]
- add sp, #0x10
- pop {r3-r7, pc}
-_0204A834:
- ldr r0, [sp, #0xc]
- add sp, #0x10
- pop {r3-r7, pc}
-_0204A83A:
- mov r0, #0x1
- add sp, #0x10
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0204A840
-FUN_0204A840: ; 0x0204A840
- push {r3-r7, lr}
- add r6, r0, r2
- ldr r0, [sp, #0x18]
- add r4, r1, r3
- add r0, r6, r0
- str r0, [sp, #0x0]
- ldr r0, [sp, #0x1c]
- ldr r5, [sp, #0x20]
- add r7, r4, r0
- cmp r6, #0x0
- blt _0204A864
- cmp r4, #0x0
- blt _0204A864
- ldr r0, [sp, #0x0]
- cmp r0, #0x0
- blt _0204A864
- cmp r7, #0x0
- bge _0204A868
-_0204A864:
- bl ErrorHandling
-_0204A868:
- lsl r0, r6, #0x10
- str r0, [r5, #0x0]
- lsl r0, r4, #0x10
- str r0, [r5, #0x4]
- ldr r0, [sp, #0x0]
- lsl r0, r0, #0x10
- str r0, [r5, #0x8]
- lsl r0, r7, #0x10
- str r0, [r5, #0xc]
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0204A87C
-FUN_0204A87C: ; 0x0204A87C
- push {r4-r5, lr}
- sub sp, #0xc
- add r3, r0, #0x0
- add r5, r1, #0x0
- add r4, r2, #0x0
- add r0, sp, #0x0
- add r1, r3, #0x0
- bl FUN_021E7EA0
- ldr r1, [sp, #0x0]
- ldr r0, [r4, #0x0]
- ldr r2, [sp, #0x8]
- add r0, r1, r0
- str r0, [sp, #0x0]
- ldr r1, [r4, #0x8]
- add r2, r2, r1
- str r2, [sp, #0x8]
- ldr r1, [r5, #0x0]
- cmp r1, r0
- bgt _0204A8BC
- ldr r1, [r5, #0x8]
- cmp r0, r1
- bgt _0204A8BC
- ldr r0, [r5, #0x4]
- cmp r0, r2
- bgt _0204A8BC
- ldr r0, [r5, #0xc]
- cmp r2, r0
- bgt _0204A8BC
- add sp, #0xc
- mov r0, #0x1
- pop {r4-r5, pc}
-_0204A8BC:
- mov r0, #0x0
- add sp, #0xc
- pop {r4-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0204A8C4
-FUN_0204A8C4: ; 0x0204A8C4
- push {r4-r7, lr}
- sub sp, #0x1c
- str r0, [sp, #0x0]
- mov r0, #0x0
- add r6, r1, #0x0
- add r7, r2, #0x0
- str r3, [sp, #0x4]
- str r0, [sp, #0x8]
-_0204A8D4:
- ldr r1, [sp, #0x0]
- ldr r0, [sp, #0x8]
- ldr r1, [r1, #0x24]
- add r2, sp, #0xc
- bl FUN_021EF604
- ldr r0, [sp, #0x0]
- ldr r1, [sp, #0x8]
- ldr r0, [r0, #0x24]
- bl FUN_021EF824
- add r4, r0, #0x0
- ldr r0, [sp, #0x0]
- ldr r0, [r0, #0x28]
- bl FUN_020344FC
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r2, sp, #0x10
- bl FUN_0204AAD4
- mov r5, #0x0
-_0204A900:
- ldr r0, [sp, #0xc]
- add r1, r5, #0x0
- bl FUN_021E7ED0
- add r1, r7, #0x0
- add r2, sp, #0x10
- add r4, r0, #0x0
- bl FUN_0204A87C
- cmp r0, #0x0
- beq _0204A92E
- add r0, r4, #0x0
- bl FUN_021E7EC4
- cmp r0, r6
- bne _0204A92E
- ldr r0, [sp, #0x4]
- cmp r0, #0x0
- beq _0204A928
- str r4, [r0, #0x0]
-_0204A928:
- add sp, #0x1c
- mov r0, #0x1
- pop {r4-r7, pc}
-_0204A92E:
- add r0, r5, #0x1
- lsl r0, r0, #0x18
- lsr r5, r0, #0x18
- cmp r5, #0x20
- blo _0204A900
- ldr r0, [sp, #0x8]
- add r0, r0, #0x1
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x8]
- cmp r0, #0x4
- blo _0204A8D4
- mov r0, #0x0
- add sp, #0x1c
- pop {r4-r7, pc}
-
- thumb_func_start FUN_0204A94C
-FUN_0204A94C: ; 0x0204A94C
- push {r4-r7, lr}
- sub sp, #0x1c
- str r0, [sp, #0x0]
- mov r0, #0x0
- add r5, r1, #0x0
- add r4, r2, #0x0
- str r3, [sp, #0x4]
- str r0, [sp, #0x8]
-_0204A95C:
- ldr r1, [sp, #0x0]
- ldr r0, [sp, #0x8]
- ldr r1, [r1, #0x24]
- add r2, sp, #0xc
- bl FUN_021EF604
- ldr r0, [sp, #0x0]
- ldr r1, [sp, #0x8]
- ldr r0, [r0, #0x24]
- bl FUN_021EF824
- add r6, r0, #0x0
- ldr r0, [sp, #0x0]
- ldr r0, [r0, #0x28]
- bl FUN_020344FC
- add r1, r0, #0x0
- add r0, r6, #0x0
- add r2, sp, #0x10
- bl FUN_0204AAD4
- mov r6, #0x0
-_0204A988:
- ldr r0, [sp, #0xc]
- add r1, r6, #0x0
- bl FUN_021E7ED0
- ldr r1, [sp, #0x4]
- add r2, sp, #0x10
- add r7, r0, #0x0
- bl FUN_0204A87C
- cmp r0, #0x0
- beq _0204A9D2
- add r0, r7, #0x0
- bl FUN_021E7EC4
- mov r1, #0x0
- cmp r4, #0x0
- bls _0204A9D2
-_0204A9AA:
- lsl r2, r1, #0x2
- ldr r2, [r5, r2]
- cmp r0, r2
- bne _0204A9C8
- ldr r1, [sp, #0x30]
- cmp r1, #0x0
- beq _0204A9BA
- str r7, [r1, #0x0]
-_0204A9BA:
- ldr r1, [sp, #0x34]
- cmp r1, #0x0
- beq _0204A9C2
- str r0, [r1, #0x0]
-_0204A9C2:
- add sp, #0x1c
- mov r0, #0x1
- pop {r4-r7, pc}
-_0204A9C8:
- add r1, r1, #0x1
- lsl r1, r1, #0x18
- lsr r1, r1, #0x18
- cmp r1, r4
- blo _0204A9AA
-_0204A9D2:
- add r0, r6, #0x1
- lsl r0, r0, #0x18
- lsr r6, r0, #0x18
- cmp r6, #0x20
- blo _0204A988
- ldr r0, [sp, #0x8]
- add r0, r0, #0x1
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x8]
- cmp r0, #0x4
- blo _0204A95C
- mov r0, #0x0
- add sp, #0x1c
- pop {r4-r7, pc}
-
- thumb_func_start FUN_0204A9F0
-FUN_0204A9F0: ; 0x0204A9F0
- push {r3-r7, lr}
- sub sp, #0x10
- str r0, [sp, #0x0]
- add r5, r1, #0x0
- str r2, [sp, #0x4]
- str r3, [sp, #0x8]
- mov r7, #0x0
-_0204A9FE:
- ldr r1, [sp, #0x0]
- add r0, r7, #0x0
- ldr r1, [r1, #0x24]
- add r2, sp, #0xc
- bl FUN_021EF604
- mov r4, #0x0
-_0204AA0C:
- ldr r0, [sp, #0xc]
- add r1, r4, #0x0
- bl FUN_021E7ED0
- add r6, r0, #0x0
- bl FUN_021E7EC4
- cmp r0, r5
- bne _0204AA40
- ldr r0, [sp, #0x4]
- cmp r0, #0x0
- beq _0204AA26
- str r6, [r0, #0x0]
-_0204AA26:
- ldr r0, [sp, #0x8]
- cmp r0, #0x0
- beq _0204AA3A
- ldr r0, [sp, #0x0]
- add r1, r7, #0x0
- ldr r0, [r0, #0x24]
- bl FUN_021EF824
- ldr r1, [sp, #0x8]
- str r0, [r1, #0x0]
-_0204AA3A:
- add sp, #0x10
- mov r0, #0x1
- pop {r3-r7, pc}
-_0204AA40:
- add r0, r4, #0x1
- lsl r0, r0, #0x18
- lsr r4, r0, #0x18
- cmp r4, #0x20
- blo _0204AA0C
- add r0, r7, #0x1
- lsl r0, r0, #0x18
- lsr r7, r0, #0x18
- cmp r7, #0x4
- blo _0204A9FE
- mov r0, #0x0
- add sp, #0x10
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0204AA5C
-FUN_0204AA5C: ; 0x0204AA5C
- push {r3-r7, lr}
- sub sp, #0x10
- str r0, [sp, #0x0]
- mov r0, #0x0
- add r5, r1, #0x0
- add r4, r2, #0x0
- str r3, [sp, #0x4]
- str r0, [sp, #0x8]
-_0204AA6C:
- ldr r1, [sp, #0x0]
- ldr r0, [sp, #0x8]
- ldr r1, [r1, #0x24]
- add r2, sp, #0xc
- bl FUN_021EF604
- mov r6, #0x0
-_0204AA7A:
- ldr r0, [sp, #0xc]
- add r1, r6, #0x0
- bl FUN_021E7ED0
- add r7, r0, #0x0
- bl FUN_021E7EC4
- mov r1, #0x0
- cmp r4, #0x0
- bls _0204AAB6
-_0204AA8E:
- lsl r2, r1, #0x2
- ldr r2, [r5, r2]
- cmp r0, r2
- bne _0204AAAC
- ldr r1, [sp, #0x4]
- cmp r1, #0x0
- beq _0204AA9E
- str r7, [r1, #0x0]
-_0204AA9E:
- ldr r1, [sp, #0x28]
- cmp r1, #0x0
- beq _0204AAA6
- str r0, [r1, #0x0]
-_0204AAA6:
- add sp, #0x10
- mov r0, #0x1
- pop {r3-r7, pc}
-_0204AAAC:
- add r1, r1, #0x1
- lsl r1, r1, #0x18
- lsr r1, r1, #0x18
- cmp r1, r4
- blo _0204AA8E
-_0204AAB6:
- add r0, r6, #0x1
- lsl r0, r0, #0x18
- lsr r6, r0, #0x18
- cmp r6, #0x20
- blo _0204AA7A
- ldr r0, [sp, #0x8]
- add r0, r0, #0x1
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x8]
- cmp r0, #0x4
- blo _0204AA6C
- mov r0, #0x0
- add sp, #0x10
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0204AAD4
-FUN_0204AAD4: ; 0x0204AAD4
- push {r4-r6, lr}
- add r4, r2, #0x0
- mov r2, #0x1
- lsl r2, r2, #0x14
- str r2, [r4, #0x0]
- add r5, r0, #0x0
- add r6, r1, #0x0
- str r2, [r4, #0x8]
- blx _s32_div_f
- lsl r1, r1, #0x10
- lsr r1, r1, #0x10
- ldr r0, [r4, #0x0]
- lsl r1, r1, #0x15
- add r0, r0, r1
- str r0, [r4, #0x0]
- add r0, r5, #0x0
- add r1, r6, #0x0
- blx _s32_div_f
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- ldr r1, [r4, #0x8]
- lsl r0, r0, #0x15
- add r0, r1, r0
- str r0, [r4, #0x8]
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_0204AB0C
-FUN_0204AB0C: ; 0x0204AB0C
- push {r3, lr}
- bl FUN_0200541C
- bl FUN_02004810
- mov r0, #0x0
- bl FUN_0200415C
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0204AB20
-FUN_0204AB20: ; 0x0204AB20
- push {r4, lr}
- ldr r0, [r0, #0xc]
- add r4, r1, #0x0
- bl FUN_02034E30
- bl FUN_02034DE8
- strh r4, [r0, #0x0]
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0204AB34
-FUN_0204AB34: ; 0x0204AB34
- push {r3, lr}
- ldr r0, [r0, #0xc]
- bl FUN_02034E30
- bl FUN_02034DE8
- ldrh r0, [r0, #0x0]
- pop {r3, pc}
-
- thumb_func_start FUN_0204AB44
-FUN_0204AB44: ; 0x0204AB44
- push {r3, lr}
- ldr r0, [r0, #0xc]
- bl FUN_02034E30
- bl FUN_02034DE8
- mov r1, #0x0
- strh r1, [r0, #0x0]
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0204AB58
-FUN_0204AB58: ; 0x0204AB58
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0x38]
- add r4, r1, #0x0
- bl FUN_020553C4
- cmp r0, #0x2
- bne _0204AB6C
- ldr r0, _0204ABA0 ; =0x0000047F
- pop {r3-r5, pc}
-_0204AB6C:
- add r0, r5, #0x0
- add r0, #0x90
- ldr r0, [r0, #0x0]
- bl FUN_0205E128
- cmp r0, #0x1
- bne _0204AB7E
- ldr r0, _0204ABA4 ; =0x0000047E
- pop {r3-r5, pc}
-_0204AB7E:
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_0204ABA8
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0204AB34
- cmp r0, #0x0
- beq _0204AB9A
- add r0, r5, #0x0
- bl FUN_0204AB34
- add r4, r0, #0x0
-_0204AB9A:
- add r0, r4, #0x0
- pop {r3-r5, pc}
- nop
-_0204ABA0: .word 0x0000047F
-_0204ABA4: .word 0x0000047E
-
- thumb_func_start FUN_0204ABA8
-FUN_0204ABA8: ; 0x0204ABA8
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- bl FUN_0201277C
- cmp r0, #0x0
- bne _0204ABBE
- add r0, r4, #0x0
- bl FUN_020347B0
- b _0204ABC4
-_0204ABBE:
- add r0, r4, #0x0
- bl FUN_020347C4
-_0204ABC4:
- add r6, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_020462AC
- add r1, r4, #0x0
- bl FUN_0205EF20
- cmp r0, #0x0
- beq _0204ABD8
- add r6, r0, #0x0
-_0204ABD8:
- add r0, r6, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_0204ABDC
-FUN_0204ABDC: ; 0x0204ABDC
- push {r4-r7, lr}
- sub sp, #0x14
- add r5, r0, #0x0
- ldr r0, [r5, #0x38]
- add r4, r1, #0x0
- add r7, r2, #0x0
- bl FUN_020553C4
- add r6, r0, #0x0
- bl FUN_02004104
- cmp r0, #0x1
- bne _0204ABFC
- add sp, #0x14
- mov r0, #0x0
- pop {r4-r7, pc}
-_0204ABFC:
- add r0, r5, #0x0
- bl FUN_02004124
- cmp r4, r0
- bne _0204AC0C
- add sp, #0x14
- mov r0, #0x0
- pop {r4-r7, pc}
-_0204AC0C:
- bl FUN_02004810
- add r0, r5, #0x0
- add r1, r7, #0x0
- add r2, sp, #0x10
- add r3, sp, #0xc
- bl FUN_0204ACCC
- cmp r6, #0x1
- beq _0204AC22
- bne _0204AC3A
-_0204AC22:
- mov r0, #0x1e
- str r0, [sp, #0x0]
- mov r0, #0x0
- str r0, [sp, #0x4]
- str r0, [sp, #0x8]
- ldr r2, [sp, #0x10]
- ldr r3, [sp, #0xc]
- mov r0, #0x4
- add r1, r4, #0x0
- bl FUN_02004E08
- b _0204AC4C
-_0204AC3A:
- mov r0, #0x0
- str r0, [sp, #0x0]
- str r0, [sp, #0x4]
- ldr r2, [sp, #0x10]
- ldr r3, [sp, #0xc]
- mov r0, #0x4
- add r1, r4, #0x0
- bl FUN_02004DCC
-_0204AC4C:
- mov r0, #0x1
- add sp, #0x14
- pop {r4-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0204AC54
-FUN_0204AC54: ; 0x0204AC54
- push {r4-r6, lr}
- sub sp, #0x10
- add r5, r0, #0x0
- add r4, r1, #0x0
- add r6, r2, #0x0
- bl FUN_02004104
- cmp r0, #0x1
- bne _0204AC6C
- add sp, #0x10
- mov r0, #0x0
- pop {r4-r6, pc}
-_0204AC6C:
- add r0, r5, #0x0
- bl FUN_02004124
- cmp r4, r0
- bne _0204AC7C
- add sp, #0x10
- mov r0, #0x0
- pop {r4-r6, pc}
-_0204AC7C:
- bl FUN_02004810
- add r0, r5, #0x0
- add r1, r6, #0x0
- add r2, sp, #0xc
- add r3, sp, #0x8
- bl FUN_0204ACCC
- mov r0, #0x1
- str r0, [sp, #0x0]
- mov r0, #0x0
- str r0, [sp, #0x4]
- ldr r2, [sp, #0xc]
- ldr r3, [sp, #0x8]
- mov r0, #0x4
- add r1, r4, #0x0
- bl FUN_02004DCC
- mov r0, #0x1
- add sp, #0x10
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_0204ACA8
-FUN_0204ACA8: ; 0x0204ACA8
- push {r3-r7, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- add r6, r2, #0x0
- bl FUN_0204AB58
- add r7, r0, #0x0
- add r0, r4, #0x0
- bl FUN_0204AD44
- bl FUN_0200414C
- add r0, r5, #0x0
- add r1, r7, #0x0
- add r2, r6, #0x0
- bl FUN_0204AC54
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0204ACCC
-FUN_0204ACCC: ; 0x0204ACCC
- cmp r1, #0x3
- bhi _0204AD0A
- add r0, r1, r1
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_0204ACDC: ; jump table (using 16-bit offset)
- .short _0204ACE4 - _0204ACDC - 2; case 0
- .short _0204ACEE - _0204ACDC - 2; case 1
- .short _0204ACF8 - _0204ACDC - 2; case 2
- .short _0204AD02 - _0204ACDC - 2; case 3
-_0204ACE4:
- mov r0, #0x1e
- str r0, [r2, #0x0]
- mov r0, #0x0
- str r0, [r3, #0x0]
- bx lr
-_0204ACEE:
- mov r0, #0x3c
- str r0, [r2, #0x0]
- mov r0, #0x0
- str r0, [r3, #0x0]
- bx lr
-_0204ACF8:
- mov r0, #0x3c
- str r0, [r2, #0x0]
- mov r0, #0xf
- str r0, [r3, #0x0]
- bx lr
-_0204AD02:
- mov r0, #0x3c
- str r0, [r2, #0x0]
- mov r0, #0x0
- str r0, [r3, #0x0]
-_0204AD0A:
- bx lr
-
- thumb_func_start FUN_0204AD0C
-FUN_0204AD0C: ; 0x0204AD0C
- push {r3-r5, lr}
- mov r1, #0x1
- bl FUN_0206AC74
- lsl r0, r0, #0x18
- lsr r5, r0, #0x18
- ldr r0, _0204AD38 ; =0x0000044D
- ldr r2, _0204AD3C ; =0x020F4718
- mov r4, #0x0
-_0204AD1E:
- lsl r3, r4, #0x2
- ldrh r1, [r2, r3]
- cmp r5, r1
- bne _0204AD2C
- ldr r0, _0204AD40 ; =0x020F471A
- ldrh r0, [r0, r3]
- pop {r3-r5, pc}
-_0204AD2C:
- add r1, r4, #0x1
- lsl r1, r1, #0x10
- lsr r4, r1, #0x10
- cmp r4, #0x4e
- blo _0204AD1E
- pop {r3-r5, pc}
- .balign 4
-_0204AD38: .word 0x0000044D
-_0204AD3C: .word 0x020F4718
-_0204AD40: .word 0x020F471A
-
- thumb_func_start FUN_0204AD44
-FUN_0204AD44: ; 0x0204AD44
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_0201277C
- cmp r0, #0x0
- bne _0204AD58
- add r0, r4, #0x0
- bl FUN_020347B0
- pop {r4, pc}
-_0204AD58:
- add r0, r4, #0x0
- bl FUN_020347C4
- pop {r4, pc}
-
- thumb_func_start FUN_0204AD60
-FUN_0204AD60: ; 0x0204AD60
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r6, r1, #0x0
- bl FUN_02004104
- cmp r0, #0x1
- beq _0204AD88
- bl FUN_02004124
- add r4, r0, #0x0
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_0204ABA8
- cmp r4, r0
- beq _0204AD88
- mov r0, #0x0
- mov r1, #0x28
- bl FUN_020053CC
-_0204AD88:
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_0204AD8C
-FUN_0204AD8C: ; 0x0204AD8C
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- bl FUN_02004104
- cmp r0, #0x1
- beq _0204ADB8
- mov r0, #0x0
- bl FUN_0200415C
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_0204ABA8
- add r4, r0, #0x0
- bl FUN_0200414C
- mov r0, #0x4
- add r1, r4, #0x0
- mov r2, #0x1
- bl FUN_0200433C
-_0204ADB8:
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0204ADBC
-FUN_0204ADBC: ; 0x0204ADBC
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- bl FUN_0204AB58
- add r6, r0, #0x0
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_0204ABA8
- bl FUN_0200414C
- mov r0, #0x4
- add r1, r6, #0x0
- mov r2, #0x1
- bl FUN_0200433C
- pop {r4-r6, pc}
-
- thumb_func_start FUN_0204ADE0
-FUN_0204ADE0: ; 0x0204ADE0
- mov r3, #0x0
- add r2, r3, #0x0
-_0204ADE4:
- lsl r1, r3, #0x2
- add r1, r0, r1
- strb r2, [r1, #0x6]
- strb r2, [r1, #0x7]
- strb r2, [r1, #0x8]
- strb r2, [r1, #0x9]
- add r1, r3, #0x1
- lsl r1, r1, #0x18
- lsr r3, r1, #0x18
- cmp r3, #0x6
- blo _0204ADE4
- str r2, [r0, #0x0]
- strb r2, [r0, #0x4]
- strb r2, [r0, #0x5]
- bx lr
- .balign 4
-
- thumb_func_start FUN_0204AE04
-FUN_0204AE04: ; 0x0204AE04
- push {r4, lr}
- add r4, r0, #0x0
- asr r0, r1, #0x4
- lsr r0, r0, #0x1b
- add r0, r1, r0
- asr r1, r2, #0x4
- lsr r1, r1, #0x1b
- add r1, r2, r1
- lsl r0, r0, #0x13
- lsl r1, r1, #0x13
- ldrb r2, [r4, #0x4]
- lsr r0, r0, #0x18
- lsr r1, r1, #0x18
- cmp r0, r2
- bne _0204AE28
- ldrb r2, [r4, #0x5]
- cmp r1, r2
- beq _0204AE58
-_0204AE28:
- ldr r2, [r4, #0x0]
- lsl r2, r2, #0x2
- add r2, r4, r2
- strb r0, [r2, #0x6]
- ldr r0, [r4, #0x0]
- lsl r0, r0, #0x2
- add r0, r4, r0
- strb r1, [r0, #0x7]
- ldr r0, [r4, #0x0]
- mov r1, #0xff
- lsl r0, r0, #0x2
- add r0, r4, r0
- strb r1, [r0, #0x8]
- ldr r0, [r4, #0x0]
- mov r1, #0x1
- lsl r0, r0, #0x2
- add r0, r4, r0
- strb r1, [r0, #0x9]
- ldr r0, [r4, #0x0]
- mov r1, #0x6
- add r0, r0, #0x1
- blx _s32_div_f
- str r1, [r4, #0x0]
-_0204AE58:
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0204AE5C
-FUN_0204AE5C: ; 0x0204AE5C
- push {r4, lr}
- add r4, r0, #0x0
- lsl r0, r1, #0x18
- lsl r1, r2, #0x18
- ldrb r2, [r4, #0x4]
- lsr r0, r0, #0x18
- lsr r1, r1, #0x18
- cmp r0, r2
- bne _0204AE74
- ldrb r2, [r4, #0x5]
- cmp r1, r2
- beq _0204AEA6
-_0204AE74:
- ldr r2, [r4, #0x0]
- lsl r2, r2, #0x2
- add r2, r4, r2
- strb r0, [r2, #0x6]
- ldr r2, [r4, #0x0]
- lsl r2, r2, #0x2
- add r2, r4, r2
- strb r1, [r2, #0x7]
- ldr r2, [r4, #0x0]
- lsl r2, r2, #0x2
- add r2, r4, r2
- strb r3, [r2, #0x8]
- ldr r2, [r4, #0x0]
- mov r3, #0x1
- lsl r2, r2, #0x2
- add r2, r4, r2
- strb r3, [r2, #0x9]
- strb r0, [r4, #0x4]
- strb r1, [r4, #0x5]
- ldr r0, [r4, #0x0]
- mov r1, #0x6
- add r0, r0, #0x1
- blx _s32_div_f
- str r1, [r4, #0x0]
-_0204AEA6:
- pop {r4, pc}
-
- thumb_func_start FUN_0204AEA8
-FUN_0204AEA8: ; 0x0204AEA8
- push {r3-r5, lr}
- add r4, r0, #0x0
- bl FUN_02046528
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- ldr r1, [r4, #0x0]
- cmp r1, #0x0
- beq _0204AEC6
- cmp r1, #0x1
- beq _0204AEE6
- b _0204AEF4
-_0204AEC6:
- ldr r0, [r4, #0x8]
- add r1, r5, #0x0
- add r2, r4, #0x4
- bl FUN_021E3444
- ldr r1, [r4, #0xc]
- mov r0, #0x5
- lsl r1, r1, #0x10
- lsr r1, r1, #0x10
- mov r2, #0x1
- bl FUN_0200433C
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _0204AEF4
-_0204AEE6:
- ldr r1, [r4, #0x4]
- cmp r1, #0x1
- bne _0204AEF4
- bl FUN_02016A18
- mov r0, #0x1
- pop {r3-r5, pc}
-_0204AEF4:
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0204AEF8
-FUN_0204AEF8: ; 0x0204AEF8
- push {r4-r6, lr}
- add r6, r0, #0x0
- add r5, r1, #0x0
- mov r0, #0xb
- mov r1, #0x10
- add r4, r2, #0x0
- bl FUN_020169D8
- add r2, r0, #0x0
- mov r0, #0x0
- str r0, [r2, #0x0]
- str r0, [r2, #0x4]
- str r5, [r2, #0x8]
- ldr r1, _0204AF20 ; =FUN_0204AEA8
- add r0, r6, #0x0
- str r4, [r2, #0xc]
- bl FUN_0204640C
- pop {r4-r6, pc}
- nop
-_0204AF20: .word FUN_0204AEA8
-
- thumb_func_start FUN_0204AF24
-FUN_0204AF24: ; 0x0204AF24
- push {r3, lr}
- bl FUN_02046528
- bl FUN_0203739C
- cmp r0, #0x0
- bne _0204AF36
- mov r0, #0x1
- pop {r3, pc}
-_0204AF36:
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0204AF3C
-FUN_0204AF3C: ; 0x0204AF3C
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl FUN_02046528
- add r4, r0, #0x0
- bl FUN_0203739C
- cmp r0, #0x0
- bne _0204AF54
- bl ErrorHandling
- pop {r3-r5, pc}
-_0204AF54:
- add r0, r4, #0x0
- bl FUN_02037394
- ldr r1, _0204AF68 ; =FUN_0204AF24
- add r0, r5, #0x0
- mov r2, #0x0
- bl FUN_0204640C
- pop {r3-r5, pc}
- nop
-_0204AF68: .word FUN_0204AF24
-
- thumb_func_start FUN_0204AF6C
-FUN_0204AF6C: ; 0x0204AF6C
- push {r3, lr}
- bl FUN_02046528
- bl FUN_020464A4
- cmp r0, #0x0
- beq _0204AF7E
- mov r0, #0x1
- pop {r3, pc}
-_0204AF7E:
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0204AF84
-FUN_0204AF84: ; 0x0204AF84
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl FUN_02046528
- add r4, r0, #0x0
- bl FUN_0203739C
- cmp r0, #0x0
- beq _0204AF9C
- bl ErrorHandling
- pop {r3-r5, pc}
-_0204AF9C:
- add r0, r4, #0x0
- bl FUN_0204649C
- ldr r1, _0204AFB0 ; =FUN_0204AF6C
- add r0, r5, #0x0
- mov r2, #0x0
- bl FUN_0204640C
- pop {r3-r5, pc}
- nop
-_0204AFB0: .word FUN_0204AF6C
-
- thumb_func_start FUN_0204AFB4
-FUN_0204AFB4: ; 0x0204AFB4
- push {r3, lr}
- bl FUN_0200E308
- cmp r0, #0x0
- beq _0204AFC2
- mov r0, #0x1
- pop {r3, pc}
-_0204AFC2:
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0204AFC8
-FUN_0204AFC8: ; 0x0204AFC8
- push {r3-r4, lr}
- sub sp, #0xc
- add r4, r0, #0x0
- bl FUN_02046528
- bl FUN_0203739C
- cmp r0, #0x0
- bne _0204AFE2
- bl ErrorHandling
- add sp, #0xc
- pop {r3-r4, pc}
-_0204AFE2:
- mov r0, #0x6
- str r0, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- mov r0, #0x4
- str r0, [sp, #0x8]
- mov r0, #0x0
- add r1, r0, #0x0
- add r2, r0, #0x0
- add r3, r0, #0x0
- bl FUN_0200E1D0
- ldr r1, _0204B008 ; =FUN_0204AFB4
- add r0, r4, #0x0
- mov r2, #0x0
- bl FUN_0204640C
- add sp, #0xc
- pop {r3-r4, pc}
- .balign 4
-_0204B008: .word FUN_0204AFB4
-
- thumb_func_start FUN_0204B00C
-FUN_0204B00C: ; 0x0204B00C
- push {r3-r4, lr}
- sub sp, #0xc
- add r4, r0, #0x0
- bl FUN_02046528
- bl FUN_0203739C
- cmp r0, #0x0
- bne _0204B026
- bl ErrorHandling
- add sp, #0xc
- pop {r3-r4, pc}
-_0204B026:
- mov r0, #0x6
- str r0, [sp, #0x0]
- mov r1, #0x1
- str r1, [sp, #0x4]
- mov r0, #0x4
- str r0, [sp, #0x8]
- mov r0, #0x0
- add r2, r1, #0x0
- add r3, r0, #0x0
- bl FUN_0200E1D0
- ldr r1, _0204B04C ; =FUN_0204AFB4
- add r0, r4, #0x0
- mov r2, #0x0
- bl FUN_0204640C
- add sp, #0xc
- pop {r3-r4, pc}
- nop
-_0204B04C: .word FUN_0204AFB4
-
- thumb_func_start FUN_0204B050
-FUN_0204B050: ; 0x0204B050
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl FUN_02046530
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- cmp r0, #0x0
- beq _0204B06A
- cmp r0, #0x1
- beq _0204B078
- cmp r0, #0x2
- beq _0204B086
- b _0204B08A
-_0204B06A:
- add r0, r5, #0x0
- bl FUN_0204AFC8
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _0204B08A
-_0204B078:
- add r0, r5, #0x0
- bl FUN_0204AF3C
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _0204B08A
-_0204B086:
- mov r0, #0x1
- pop {r3-r5, pc}
-_0204B08A:
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0204B090
-FUN_0204B090: ; 0x0204B090
- ldr r3, _0204B098 ; =FUN_0204640C
- ldr r1, _0204B09C ; =FUN_0204B050
- mov r2, #0x0
- bx r3
- .balign 4
-_0204B098: .word FUN_0204640C
-_0204B09C: .word FUN_0204B050
-
- thumb_func_start FUN_0204B0A0
-FUN_0204B0A0: ; 0x0204B0A0
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl FUN_02046530
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02046528
- ldr r1, [r4, #0x0]
- cmp r1, #0x0
- beq _0204B0C0
- cmp r1, #0x1
- beq _0204B0CE
- cmp r1, #0x2
- beq _0204B0E0
- b _0204B0E4
-_0204B0C0:
- add r0, r5, #0x0
- bl FUN_0204AF84
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _0204B0E4
-_0204B0CE:
- bl FUN_021E331C
- add r0, r5, #0x0
- bl FUN_0204B00C
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _0204B0E4
-_0204B0E0:
- mov r0, #0x1
- pop {r3-r5, pc}
-_0204B0E4:
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0204B0E8
-FUN_0204B0E8: ; 0x0204B0E8
- ldr r3, _0204B0F0 ; =FUN_0204640C
- ldr r1, _0204B0F4 ; =FUN_0204B0A0
- mov r2, #0x0
- bx r3
- .balign 4
-_0204B0F0: .word FUN_0204640C
-_0204B0F4: .word FUN_0204B0A0
-
- thumb_func_start FUN_0204B0F8
-FUN_0204B0F8: ; 0x0204B0F8
- push {r4-r5, lr}
- sub sp, #0x1c
- add r5, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_02023794
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- cmp r0, #0x0
- beq _0204B12A
- add r0, sp, #0xc
- add r1, sp, #0x0
- bl FUN_0201265C
- add r0, r5, #0x0
- add r1, r4, #0x0
- add r2, sp, #0xc
- bl FUN_0204B130
- add r0, r5, #0x0
- add r1, r4, #0x0
- add r2, sp, #0xc
- add r3, sp, #0x0
- bl FUN_0204B158
-_0204B12A:
- add sp, #0x1c
- pop {r4-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0204B130
-FUN_0204B130: ; 0x0204B130
- push {r4-r6, lr}
- add r6, r0, #0x0
- add r5, r1, #0x0
- add r0, r2, #0x0
- blx RTC_ConvertDateToDay
- ldr r1, [r5, #0x20]
- add r4, r0, #0x0
- cmp r4, r1
- bhs _0204B148
- str r4, [r5, #0x20]
- pop {r4-r6, pc}
-_0204B148:
- cmp r4, r1
- bls _0204B156
- add r0, r6, #0x0
- sub r1, r4, r1
- bl FUN_0204B1DC
- str r4, [r5, #0x20]
-_0204B156:
- pop {r4-r6, pc}
-
- thumb_func_start FUN_0204B158
-FUN_0204B158: ; 0x0204B158
- push {r4-r7, lr}
- sub sp, #0xc
- add r4, r2, #0x0
- str r0, [sp, #0x0]
- add r6, r3, #0x0
- add r5, r1, #0x0
- add r0, r4, #0x0
- add r1, r6, #0x0
- blx RTC_ConvertDateTimeToSecond
- str r1, [sp, #0x8]
- add r1, r5, #0x0
- add r7, r0, #0x0
- add r0, r5, #0x4
- add r1, #0x14
- blx RTC_ConvertDateTimeToSecond
- add r2, r1, #0x0
- sub r1, r7, r0
- ldr r1, [sp, #0x8]
- sbc r1, r2
- bge _0204B19C
- add r2, r5, #0x4
- ldmia r4!, {r0-r1}
- stmia r2!, {r0-r1}
- ldmia r4!, {r0-r1}
- stmia r2!, {r0-r1}
- ldmia r6!, {r0-r1}
- add r5, #0x14
- stmia r5!, {r0-r1}
- ldr r0, [r6, #0x0]
- add sp, #0xc
- str r0, [r5, #0x0]
- pop {r4-r7, pc}
-_0204B19C:
- ldr r1, [sp, #0x8]
- sub r0, r7, r0
- sbc r1, r2
- mov r2, #0x3c
- mov r3, #0x0
- str r1, [sp, #0x8]
- blx _ll_sdiv
- add r7, r0, #0x0
- cmp r7, #0x0
- ble _0204B1D8
- add r0, r5, #0x0
- add r1, r7, #0x0
- bl FUN_02023884
- ldr r0, [sp, #0x0]
- add r1, r7, #0x0
- add r2, r6, #0x0
- bl FUN_0204B270
- add r2, r5, #0x4
- ldmia r4!, {r0-r1}
- stmia r2!, {r0-r1}
- ldmia r4!, {r0-r1}
- stmia r2!, {r0-r1}
- ldmia r6!, {r0-r1}
- add r5, #0x14
- stmia r5!, {r0-r1}
- ldr r0, [r6, #0x0]
- str r0, [r5, #0x0]
-_0204B1D8:
- add sp, #0xc
- pop {r4-r7, pc}
-
- thumb_func_start FUN_0204B1DC
-FUN_0204B1DC: ; 0x0204B1DC
- push {r4-r6, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- bl FUN_020377AC
- add r1, r4, #0x0
- bl FUN_02025A60
- add r0, r5, #0x0
- bl FUN_0203959C
- ldr r0, [r5, #0xc]
- add r1, r4, #0x0
- bl FUN_02060344
- ldr r0, [r5, #0xc]
- bl FUN_0202881C
- add r1, r4, #0x0
- bl FUN_02028754
- ldr r0, [r5, #0xc]
- bl FUN_0202A9B0
- add r6, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_0202881C
- bl FUN_020287A4
- add r1, r0, #0x0
- add r0, r6, #0x0
- bl FUN_0202A988
- ldr r0, [r5, #0xc]
- bl FUN_0206BB1C
- add r1, r4, #0x0
- bl FUN_02069D50
- ldr r0, [r5, #0xc]
- bl FUN_020462AC
- add r6, r0, #0x0
- bl FUN_0205F594
- cmp r0, r4
- ble _0204B244
- sub r0, r0, r4
- lsl r0, r0, #0x10
- lsr r1, r0, #0x10
- b _0204B246
-_0204B244:
- mov r1, #0x0
-_0204B246:
- add r0, r6, #0x0
- bl FUN_0205F5A4
- lsl r1, r4, #0x10
- ldr r0, [r5, #0xc]
- lsr r1, r1, #0x10
- bl FUN_0205F618
- ldr r0, [r5, #0xc]
- bl FUN_0205F668
- ldr r0, [r5, #0xc]
- bl FUN_0206007C
- ldr r0, [r5, #0xc]
- bl FUN_02029AFC
- bl FUN_02029C08
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_0204B270
-FUN_0204B270: ; 0x0204B270
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- add r6, r2, #0x0
- bl FUN_0204B3D0
- ldr r0, [r5, #0xc]
- add r1, r4, #0x0
- bl FUN_0202A9D0
- add r0, r5, #0x0
- bl FUN_0204B33C
- add r2, r0, #0x0
- ldr r0, [r5, #0xc]
- add r1, r4, #0x0
- bl FUN_02025B60
- ldr r0, [r5, #0xc]
- bl FUN_02022504
- ldr r2, [r6, #0x4]
- add r1, r4, #0x0
- bl FUN_0202B3C4
- pop {r4-r6, pc}
-
- thumb_func_start FUN_0204B2A4
-FUN_0204B2A4: ; 0x0204B2A4
- push {r3, lr}
- ldr r0, [r0, #0xc]
- bl FUN_02023794
- ldr r0, [r0, #0x14]
- bl FUN_020127A8
- pop {r3, pc}
-
- thumb_func_start FUN_0204B2B4
-FUN_0204B2B4: ; 0x0204B2B4
- push {r3, lr}
- ldr r0, [r0, #0xc]
- bl FUN_02023794
- ldr r0, [r0, #0x8]
- pop {r3, pc}
-
- thumb_func_start FUN_0204B2C0
-FUN_0204B2C0: ; 0x0204B2C0
- push {r3, lr}
- ldr r0, [r0, #0xc]
- bl FUN_02023794
- ldr r0, [r0, #0xc]
- pop {r3, pc}
-
- thumb_func_start FUN_0204B2CC
-FUN_0204B2CC: ; 0x0204B2CC
- push {r3, lr}
- ldr r0, [r0, #0xc]
- bl FUN_02023794
- ldr r0, [r0, #0x10]
- pop {r3, pc}
-
- thumb_func_start FUN_0204B2D8
-FUN_0204B2D8: ; 0x0204B2D8
- push {r3, lr}
- ldr r0, [r0, #0xc]
- bl FUN_02023794
- ldr r0, [r0, #0x14]
- pop {r3, pc}
-
- thumb_func_start FUN_0204B2E4
-FUN_0204B2E4: ; 0x0204B2E4
- push {r3, lr}
- ldr r0, [r0, #0xc]
- bl FUN_02023794
- ldr r0, [r0, #0x18]
- pop {r3, pc}
-
- thumb_func_start FUN_0204B2F0
-FUN_0204B2F0: ; 0x0204B2F0
- push {r3-r5, lr}
- ldr r0, [r0, #0xc]
- add r5, r1, #0x0
- add r4, r2, #0x0
- bl FUN_02023794
- add r3, r0, #0x0
- ldr r2, [r3, #0x24]
- ldr r3, [r3, #0x28]
- add r0, r5, #0x0
- add r1, r4, #0x0
- blx RTC_ConvertSecondToDateTime
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0204B30C
-FUN_0204B30C: ; 0x0204B30C
- push {r3-r5, lr}
- ldr r0, [r0, #0xc]
- add r5, r1, #0x0
- add r4, r2, #0x0
- bl FUN_02023794
- add r3, r0, #0x0
- ldr r2, [r3, #0x2c]
- ldr r3, [r3, #0x30]
- add r0, r5, #0x0
- add r1, r4, #0x0
- blx RTC_ConvertSecondToDateTime
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0204B328
-FUN_0204B328: ; 0x0204B328
- push {r4, lr}
- ldr r0, [r0, #0xc]
- bl FUN_02023794
- add r4, r0, #0x0
- bl FUN_020126FC
- str r0, [r4, #0x2c]
- str r1, [r4, #0x30]
- pop {r4, pc}
-
- thumb_func_start FUN_0204B33C
-FUN_0204B33C: ; 0x0204B33C
- push {r3, lr}
- ldr r0, [r0, #0xc]
- bl FUN_02023794
- bl FUN_02023874
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0204B34C
-FUN_0204B34C: ; 0x0204B34C
- cmp r0, #0x0
- bne _0204B354
- mov r0, #0x0
- bx lr
-_0204B354:
- add r0, #0x94
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- bx lr
-
- thumb_func_start FUN_0204B35C
-FUN_0204B35C: ; 0x0204B35C
- cmp r0, #0x0
- bne _0204B364
- mov r0, #0x0
- bx lr
-_0204B364:
- sub r0, #0x94
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- bx lr
-
- thumb_func_start FUN_0204B36C
-FUN_0204B36C: ; 0x0204B36C
- cmp r0, #0x0
- bne _0204B374
- mov r0, #0x0
- bx lr
-_0204B374:
- add r0, #0x5e
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- bx lr
-
- thumb_func_start FUN_0204B37C
-FUN_0204B37C: ; 0x0204B37C
- cmp r0, #0x0
- bne _0204B384
- mov r0, #0x0
- bx lr
-_0204B384:
- sub r0, #0x5e
- bx lr
-
- thumb_func_start FUN_0204B388
-FUN_0204B388: ; 0x0204B388
- push {r4-r6, lr}
- add r6, r1, #0x0
- add r5, r0, #0x0
- add r0, r6, #0x0
- mov r1, #0x64
- bl FUN_02016998
- add r4, r0, #0x0
- mov r1, #0x0
- mov r2, #0x64
- blx MI_CpuFill8
- str r6, [r4, #0x0]
- add r0, r6, #0x0
- bl FUN_02025128
- str r0, [r4, #0x4]
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_0204B410
- add r0, r4, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_0204B3B8
-FUN_0204B3B8: ; 0x0204B3B8
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_0204B444
- ldr r0, [r4, #0x4]
- bl FUN_02016A18
- add r0, r4, #0x0
- bl FUN_02016A18
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0204B3D0
-FUN_0204B3D0: ; 0x0204B3D0
- push {r4-r6, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x4]
- add r6, r1, #0x0
- cmp r0, #0x0
- bne _0204B3FA
- mov r0, #0xb
- bl FUN_02025128
- add r5, r0, #0x0
- ldr r0, [r4, #0xc]
- bl FUN_02024ECC
- add r1, r5, #0x0
- add r2, r6, #0x0
- bl FUN_020253E0
- add r0, r5, #0x0
- bl FUN_02016A18
- pop {r4-r6, pc}
-_0204B3FA:
- ldr r0, [r0, #0x18]
- ldr r5, [r0, #0x4]
- ldr r0, [r4, #0xc]
- bl FUN_02024ECC
- add r1, r5, #0x0
- add r2, r6, #0x0
- bl FUN_020253E0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_0204B410
-FUN_0204B410: ; 0x0204B410
- push {r3-r5, lr}
- ldr r4, [r0, #0x3c]
- add r5, r1, #0x0
- add r0, r4, #0x0
- mov r1, #0x11
- bl FUN_021E4C54
- add r1, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_02016998
- str r0, [r5, #0x60]
- ldr r2, [r5, #0x60]
- add r0, r4, #0x0
- mov r1, #0x11
- bl FUN_021E4C60
- add r0, r5, #0x0
- add r1, r5, #0x0
- add r5, #0x60
- add r0, #0x8
- add r1, #0x5c
- add r2, r5, #0x0
- bl FUN_0201B234
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0204B444
-FUN_0204B444: ; 0x0204B444
- ldr r3, _0204B44C ; =0x021E4C01
- ldr r0, [r0, #0x60]
- bx r3
- nop
-_0204B44C: .word 0x021E4C01
-
- thumb_func_start FUN_0204B450
-FUN_0204B450: ; 0x0204B450
- push {r3-r5, lr}
- sub sp, #0x30
- ldr r3, _0204B48C ; =0x020F4860
- add r5, r0, #0x0
- add r4, r1, #0x0
- ldmia r3!, {r0-r1}
- add r2, sp, #0x24
- stmia r2!, {r0-r1}
- ldr r0, [r3, #0x0]
- str r0, [r2, #0x0]
- add r0, sp, #0x0
- blx MTX_Identity33_
- ldr r0, [r5, #0x4]
- add r1, r4, #0x0
- ldr r0, [r0, #0x18]
- add r2, sp, #0x0
- ldr r0, [r0, #0x5c]
- add r3, sp, #0x24
- bl FUN_0201B6D0
- cmp r0, #0x0
- beq _0204B484
- add sp, #0x30
- mov r0, #0x1
- pop {r3-r5, pc}
-_0204B484:
- mov r0, #0x0
- add sp, #0x30
- pop {r3-r5, pc}
- nop
-_0204B48C: .word 0x020F4860
-
- thumb_func_start FUN_0204B490
-FUN_0204B490: ; 0x0204B490
- push {r3-r7, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- mov r0, #0x0
- str r0, [sp, #0x4]
- ldr r0, [r5, #0xc]
- bl FUN_02024ECC
- add r4, r0, #0x0
- ldr r0, [r5, #0x34]
- add r1, sp, #0x0
- add r2, sp, #0x4
- mov r3, #0x1
- bl FUN_020580F4
- cmp r0, #0x1
- bne _0204B4F8
- mov r6, #0x0
- mov r7, #0x1
-_0204B4B6:
- ldr r0, [sp, #0x0]
- bl FUN_02058458
- bl FUN_0205C334
- cmp r0, #0x1
- bne _0204B4E8
- ldr r0, [sp, #0x0]
- bl FUN_02058B7C
- add r1, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0204B450
- cmp r0, #0x0
- beq _0204B4E8
- ldr r0, [sp, #0x0]
- add r1, r6, #0x0
- bl FUN_02058510
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r2, r7, #0x0
- bl FUN_020252C4
-_0204B4E8:
- ldr r0, [r5, #0x34]
- add r1, sp, #0x0
- add r2, sp, #0x4
- mov r3, #0x1
- bl FUN_020580F4
- cmp r0, #0x1
- beq _0204B4B6
-_0204B4F8:
- add sp, #0x8
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0204B4FC
-FUN_0204B4FC: ; 0x0204B4FC
- push {r4-r7, lr}
- sub sp, #0xc
- add r5, r0, #0x0
- ldr r0, [r5, #0xc]
- add r7, r1, #0x0
- bl FUN_02024ECC
- add r4, r0, #0x0
- add r0, r7, #0x0
- mov r1, #0x0
- bl FUN_02058510
- str r0, [sp, #0x0]
- ldr r1, [sp, #0x0]
- add r0, r4, #0x0
- bl FUN_02025244
- str r0, [sp, #0x4]
- ldr r1, [sp, #0x0]
- add r0, r4, #0x0
- bl FUN_020252E8
- add r6, r0, #0x0
- ldr r0, [sp, #0x4]
- bl FUN_0204B34C
- str r0, [sp, #0x8]
- ldr r1, [sp, #0x0]
- add r0, r4, #0x0
- bl FUN_02025268
- add r2, r0, #0x0
- lsl r2, r2, #0x18
- lsl r3, r6, #0x10
- ldr r1, [sp, #0x8]
- add r0, r5, #0x0
- lsr r2, r2, #0x18
- lsr r3, r3, #0x10
- bl FUN_020616A4
- ldr r1, [sp, #0x0]
- add r0, r4, #0x0
- bl FUN_020252F4
- add r0, r7, #0x0
- bl FUN_0205C374
- ldr r0, [r5, #0xc]
- bl FUN_0206F158
- add r4, r0, #0x0
- ldr r0, [sp, #0x4]
- bl FUN_0204B34C
- lsl r2, r6, #0x10
- add r1, r0, #0x0
- add r0, r4, #0x0
- lsr r2, r2, #0x10
- mov r3, #0x4
- bl FUN_0206ED38
- add sp, #0xc
- pop {r4-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0204B57C
-FUN_0204B57C: ; 0x0204B57C
- push {r4-r6, lr}
- ldr r0, [r0, #0xc]
- add r4, r1, #0x0
- add r5, r2, #0x0
- bl FUN_02024ECC
- add r6, r0, #0x0
- add r0, r4, #0x0
- mov r1, #0x0
- bl FUN_02058510
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0204B37C
- add r2, r0, #0x0
- add r0, r6, #0x0
- add r1, r4, #0x0
- bl FUN_020252DC
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_0204B5A8
-FUN_0204B5A8: ; 0x0204B5A8
- push {r3-r7, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0xc]
- add r5, r1, #0x0
- add r6, r2, #0x0
- bl FUN_02024ECC
- add r7, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0x0
- bl FUN_02058510
- add r5, r0, #0x0
- add r0, r6, #0x0
- bl FUN_0204B35C
- ldr r2, [r4, #0x4]
- add r3, r0, #0x0
- ldr r2, [r2, #0x18]
- add r0, r7, #0x0
- ldr r2, [r2, #0x4]
- add r1, r5, #0x0
- bl FUN_02025274
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0204B5DC
-FUN_0204B5DC: ; 0x0204B5DC
- push {r3-r5, lr}
- ldr r0, [r0, #0xc]
- add r5, r1, #0x0
- bl FUN_02024ECC
- add r4, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0x0
- bl FUN_02058510
- add r1, r0, #0x0
- add r0, r4, #0x0
- bl FUN_020252AC
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0204B5FC
-FUN_0204B5FC: ; 0x0204B5FC
- push {r3-r5, lr}
- ldr r0, [r0, #0xc]
- add r5, r1, #0x0
- bl FUN_02024ECC
- add r4, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0x0
- bl FUN_02058510
- add r1, r0, #0x0
- add r0, r4, #0x0
- bl FUN_02025238
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0204B61C
-FUN_0204B61C: ; 0x0204B61C
- push {r3-r5, lr}
- ldr r0, [r0, #0xc]
- add r5, r1, #0x0
- bl FUN_02024ECC
- add r4, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0x0
- bl FUN_02058510
- add r1, r0, #0x0
- add r0, r4, #0x0
- bl FUN_02025244
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0204B63C
-FUN_0204B63C: ; 0x0204B63C
- push {r3-r5, lr}
- ldr r0, [r0, #0xc]
- add r5, r1, #0x0
- bl FUN_02024ECC
- add r4, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0x0
- bl FUN_02058510
- add r1, r0, #0x0
- add r0, r4, #0x0
- bl FUN_02025244
- bl FUN_0204B34C
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0204B660
-FUN_0204B660: ; 0x0204B660
- push {r3-r5, lr}
- ldr r0, [r0, #0xc]
- add r5, r1, #0x0
- bl FUN_02024ECC
- add r4, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0x0
- bl FUN_02058510
- add r1, r0, #0x0
- add r0, r4, #0x0
- bl FUN_020252D0
- bl FUN_0204B36C
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0204B684
-FUN_0204B684: ; 0x0204B684
- push {r3-r5, lr}
- ldr r0, [r0, #0xc]
- add r5, r1, #0x0
- bl FUN_02024ECC
- add r4, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0x0
- bl FUN_02058510
- add r1, r0, #0x0
- add r0, r4, #0x0
- bl FUN_0202524C
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0204B6A4
-FUN_0204B6A4: ; 0x0204B6A4
- push {r3-r5, lr}
- ldr r0, [r0, #0xc]
- add r5, r1, #0x0
- bl FUN_02024ECC
- add r4, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0x0
- bl FUN_02058510
- add r1, r0, #0x0
- add r0, r4, #0x0
- bl FUN_020252E8
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0204B6C4
-FUN_0204B6C4: ; 0x0204B6C4
- push {r4-r6, lr}
- add r6, r0, #0x0
- add r5, r1, #0x0
- ldr r4, _0204B708 ; =0x00000000
- beq _0204B6D8
- add r0, r5, #0x0
- bl FUN_02058458
- cmp r0, #0x64
- beq _0204B6DC
-_0204B6D8:
- mov r0, #0x0
- pop {r4-r6, pc}
-_0204B6DC:
- add r0, r6, #0x0
- add r1, r5, #0x0
- bl FUN_0204B5FC
- cmp r0, #0x0
- bne _0204B6FE
- mov r0, #0x1
- orr r4, r0
- add r0, r6, #0x0
- add r1, r5, #0x0
- bl FUN_0204B660
- cmp r0, #0x0
- bne _0204B702
- mov r0, #0x2
- orr r4, r0
- b _0204B702
-_0204B6FE:
- mov r0, #0x4
- orr r4, r0
-_0204B702:
- add r0, r4, #0x0
- pop {r4-r6, pc}
- nop
-_0204B708: .word 0x00000000
-
- thumb_func_start FUN_0204B70C
-FUN_0204B70C: ; 0x0204B70C
- push {r3-r7, lr}
- add r7, r0, #0x0
- ldr r0, [r7, #0x38]
- add r5, r2, #0x0
- bl FUN_02055320
- add r6, r0, #0x0
- ldr r0, [r7, #0x38]
- bl FUN_0205532C
- add r4, r0, #0x0
- cmp r5, #0x2
- bne _0204B72A
- sub r6, r6, #0x1
- b _0204B746
-_0204B72A:
- cmp r5, #0x3
- bne _0204B732
- add r6, r6, #0x1
- b _0204B746
-_0204B732:
- cmp r5, #0x0
- bne _0204B73A
- sub r4, r4, #0x1
- b _0204B746
-_0204B73A:
- cmp r5, #0x1
- bne _0204B742
- add r4, r4, #0x1
- b _0204B746
-_0204B742:
- bl ErrorHandling
-_0204B746:
- add r0, r7, #0x0
- add r1, r6, #0x0
- add r2, r4, #0x0
- bl FUN_0204A6B4
- cmp r0, #0x0
- beq _0204B758
- mov r0, #0x1
- pop {r3-r7, pc}
-_0204B758:
- ldr r0, [r7, #0x34]
- add r1, r6, #0x0
- add r2, r4, #0x0
- bl FUN_02058D74
- cmp r0, #0x0
- beq _0204B76A
- mov r0, #0x1
- pop {r3-r7, pc}
-_0204B76A:
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0204B770
-FUN_0204B770: ; 0x0204B770
- push {r4-r6, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0x38]
- add r6, r1, #0x0
- bl FUN_02055320
- add r4, r0, #0x0
- ldr r0, [r5, #0x38]
- bl FUN_0205532C
- add r2, r0, #0x0
- cmp r6, #0x2
- bne _0204B78E
- sub r4, r4, #0x1
- b _0204B794
-_0204B78E:
- cmp r6, #0x3
- bne _0204B794
- add r4, r4, #0x1
-_0204B794:
- ldr r0, [r5, #0x34]
- add r1, r4, #0x0
- sub r2, r2, #0x1
- bl FUN_02058D74
- pop {r4-r6, pc}
-
- thumb_func_start FUN_0204B7A0
-FUN_0204B7A0: ; 0x0204B7A0
- push {r3-r7, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0x38]
- add r6, r1, #0x0
- bl FUN_02055320
- add r7, r0, #0x0
- ldr r0, [r5, #0x38]
- bl FUN_0205532C
- add r4, r0, #0x0
- ldr r0, [r6, #0x4]
- cmp r0, #0x0
- bne _0204B7C0
- sub r4, r4, #0x1
- b _0204B7CC
-_0204B7C0:
- cmp r0, #0x1
- bne _0204B7C8
- add r4, r4, #0x1
- b _0204B7CC
-_0204B7C8:
- bl ErrorHandling
-_0204B7CC:
- ldr r0, [r5, #0x34]
- add r1, r7, #0x0
- add r2, r4, #0x0
- bl FUN_02058D74
- pop {r3-r7, pc}
-
- thumb_func_start FUN_0204B7D8
-FUN_0204B7D8: ; 0x0204B7D8
- push {r3, lr}
- bl FUN_02058458
- cmp r0, #0x64
- bne _0204B7E6
- mov r0, #0x1
- pop {r3, pc}
-_0204B7E6:
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0204B7EC
-FUN_0204B7EC: ; 0x0204B7EC
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_0204B7A0
- add r1, r0, #0x0
- beq _0204B7FE
- add r0, r4, #0x0
- bl FUN_0204B5DC
-_0204B7FE:
- pop {r4, pc}
-
- thumb_func_start FUN_0204B800
-FUN_0204B800: ; 0x0204B800
- push {r3-r5, lr}
- ldr r0, [r0, #0x38]
- add r4, r2, #0x0
- add r5, r1, #0x0
- bl FUN_020553A0
- add r1, r4, #0x0
- bl FUN_0205AEA4
- str r0, [r5, #0xc]
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0204B818
-FUN_0204B818: ; 0x0204B818
- push {r3-r5, lr}
- add r4, r0, #0x0
- bl FUN_02046528
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- cmp r0, #0x4
- bls _0204B832
- b _0204B98E
-_0204B832:
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_0204B83E: ; jump table (using 16-bit offset)
- .short _0204B848 - _0204B83E - 2; case 0
- .short _0204B866 - _0204B83E - 2; case 1
- .short _0204B876 - _0204B83E - 2; case 2
- .short _0204B93A - _0204B83E - 2; case 3
- .short _0204B972 - _0204B83E - 2; case 4
-_0204B848:
- ldr r0, [r5, #0x38]
- mov r1, #0x10
- bl FUN_021E5FD8
- ldr r0, [r5, #0x38]
- bl FUN_021E5FE0
- ldr r0, [r5, #0x38]
- bl FUN_020553A0
- bl FUN_02058914
- mov r0, #0x1
- str r0, [r4, #0x0]
- b _0204B98E
-_0204B866:
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_0204B7EC
- mov r0, #0x0
- str r0, [r4, #0x8]
- mov r0, #0x2
- str r0, [r4, #0x0]
-_0204B876:
- ldr r0, _0204B994 ; =0x021C48B8
- mov r1, #0x20
- ldr r0, [r0, #0x44]
- tst r1, r0
- beq _0204B8B8
- add r0, r5, #0x0
- mov r1, #0x2
- bl FUN_0204B770
- cmp r0, #0x0
- beq _0204B894
- bl FUN_0204B7D8
- cmp r0, #0x0
- bne _0204B89A
-_0204B894:
- mov r0, #0x4
- str r0, [r4, #0x0]
- b _0204B98E
-_0204B89A:
- add r0, r5, #0x0
- add r1, r4, #0x0
- mov r2, #0x2
- bl FUN_0204B70C
- cmp r0, #0x0
- bne _0204B922
- ldr r2, _0204B998 ; =0x020F4850
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_0204B800
- mov r0, #0x3
- str r0, [r4, #0x0]
- b _0204B98E
-_0204B8B8:
- mov r1, #0x10
- tst r1, r0
- beq _0204B8F6
- add r0, r5, #0x0
- mov r1, #0x3
- bl FUN_0204B770
- cmp r0, #0x0
- beq _0204B8D2
- bl FUN_0204B7D8
- cmp r0, #0x0
- bne _0204B8D8
-_0204B8D2:
- mov r0, #0x4
- str r0, [r4, #0x0]
- b _0204B98E
-_0204B8D8:
- add r0, r5, #0x0
- add r1, r4, #0x0
- mov r2, #0x3
- bl FUN_0204B70C
- cmp r0, #0x0
- bne _0204B922
- ldr r2, _0204B99C ; =0x020F4858
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_0204B800
- mov r0, #0x3
- str r0, [r4, #0x0]
- b _0204B98E
-_0204B8F6:
- mov r1, #0x40
- tst r1, r0
- beq _0204B910
- ldr r1, [r4, #0x4]
- cmp r1, #0x1
- bne _0204B910
- ldr r0, [r5, #0x38]
- mov r1, #0x0
- bl FUN_02055304
- mov r0, #0x4
- str r0, [r4, #0x0]
- b _0204B98E
-_0204B910:
- mov r1, #0x80
- tst r0, r1
- beq _0204B922
- ldr r0, [r4, #0x4]
- cmp r0, #0x0
- bne _0204B922
- mov r0, #0x4
- str r0, [r4, #0x0]
- b _0204B98E
-_0204B922:
- ldr r0, [r4, #0x8]
- add r0, r0, #0x1
- str r0, [r4, #0x8]
- cmp r0, #0x5a
- ble _0204B98E
- ldr r0, [r5, #0x38]
- ldr r1, [r4, #0x4]
- bl FUN_02055304
- mov r0, #0x4
- str r0, [r4, #0x0]
- b _0204B98E
-_0204B93A:
- ldr r0, [r4, #0xc]
- bl FUN_0205AEF0
- cmp r0, #0x0
- beq _0204B98E
- ldr r0, [r4, #0xc]
- bl FUN_0205AEFC
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_0204B7A0
- cmp r0, #0x0
- beq _0204B964
- bl FUN_0204B7D8
- cmp r0, #0x0
- beq _0204B964
- mov r0, #0x1
- str r0, [r4, #0x0]
- b _0204B98E
-_0204B964:
- ldr r0, [r5, #0x38]
- ldr r1, [r4, #0x4]
- bl FUN_02055304
- mov r0, #0x4
- str r0, [r4, #0x0]
- b _0204B98E
-_0204B972:
- ldr r0, [r5, #0x38]
- ldr r1, [r4, #0x4]
- bl FUN_02055304
- ldr r0, [r5, #0x38]
- bl FUN_020553A0
- bl FUN_02058908
- add r0, r4, #0x0
- bl FUN_02016A18
- mov r0, #0x1
- pop {r3-r5, pc}
-_0204B98E:
- mov r0, #0x0
- pop {r3-r5, pc}
- nop
-_0204B994: .word 0x021C48B8
-_0204B998: .word 0x020F4850
-_0204B99C: .word 0x020F4858
-
- thumb_func_start FUN_0204B9A0
-FUN_0204B9A0: ; 0x0204B9A0
- push {r3-r5, lr}
- add r5, r0, #0x0
- mov r0, #0x20
- mov r1, #0x10
- bl FUN_02016998
- add r4, r0, #0x0
- mov r0, #0x0
- str r0, [r4, #0x0]
- str r0, [r4, #0xc]
- ldr r0, [r5, #0x38]
- bl FUN_020552F8
- str r0, [r4, #0x4]
- ldr r0, [r5, #0x10]
- ldr r1, _0204B9C8 ; =FUN_0204B818
- add r2, r4, #0x0
- bl FUN_0204640C
- pop {r3-r5, pc}
- .balign 4
-_0204B9C8: .word FUN_0204B818
-
- thumb_func_start FUN_0204B9CC
-FUN_0204B9CC: ; 0x0204B9CC
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x38]
- bl FUN_020553C4
- bl FUN_02055648
- add r1, r0, #0x0
- ldr r0, [r4, #0x38]
- bl FUN_021E5FD8
- ldr r0, [r4, #0x38]
- bl FUN_021E5FE0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0204B9EC
-FUN_0204B9EC: ; 0x0204B9EC
- push {r4, lr}
- ldr r1, _0204BA14 ; =0x021C5A1C
- add r4, r0, #0x0
- mov r0, #0x0
- mov r2, #0x4c
- blx MIi_CpuClearFast
- ldr r1, _0204BA14 ; =0x021C5A1C
- add r0, r4, #0x0
- bl FUN_0204BB20
- ldr r0, _0204BA14 ; =0x021C5A1C
- bl FUN_0204BBC4
- bl FUN_020126FC
- ldr r2, _0204BA18 ; =0x021C5A1C
- str r0, [r2, #0x40]
- str r1, [r2, #0x44]
- pop {r4, pc}
- .balign 4
-_0204BA14: .word 0x021C5A1C
-_0204BA18: .word 0x021C5A1C
-
- thumb_func_start FUN_0204BA1C
-FUN_0204BA1C: ; 0x0204BA1C
- push {r3-r5, lr}
- ldr r0, [r0, #0xc]
- ldr r4, _0204BA60 ; =0x021C5A1C
- bl FUN_02029FC8
- add r5, r0, #0x0
- bl FUN_020126FC
- add r3, r1, #0x0
- ldr r1, _0204BA64 ; =0x021C5A1C
- add r2, r0, #0x0
- ldr r0, [r1, #0x40]
- ldr r1, [r1, #0x44]
- bl FUN_020127C0
- mov r2, #0xfa
- mov r3, #0x0
- lsl r2, r2, #0x2
- sub r2, r0, r2
- sbc r1, r3
- bge _0204BA50
- mov r1, #0xfa
- lsl r1, r1, #0x2
- sub r0, r1, r0
- lsl r0, r0, #0x1
- b _0204BA52
-_0204BA50:
- mov r0, #0x0
-_0204BA52:
- str r0, [r4, #0x48]
- add r0, r5, #0x0
- mov r1, #0x11
- bl FUN_0202A170
- pop {r3-r5, pc}
- nop
-_0204BA60: .word 0x021C5A1C
-_0204BA64: .word 0x021C5A1C
-
- thumb_func_start FUN_0204BA68
-FUN_0204BA68: ; 0x0204BA68
- push {r4-r6, lr}
- add r5, r0, #0x0
- ldr r0, _0204BA8C ; =0x021C5A1C
- add r4, r1, #0x0
- add r6, r2, #0x0
- bl FUN_0204BBE8
- cmp r0, #0x1
- bne _0204BA88
- ldr r1, _0204BA8C ; =0x021C5A1C
- add r0, r5, #0x0
- add r2, r4, #0x0
- add r3, r6, #0x0
- bl FUN_0204BC48
- pop {r4-r6, pc}
-_0204BA88:
- mov r0, #0x0
- pop {r4-r6, pc}
- .balign 4
-_0204BA8C: .word 0x021C5A1C
-
- thumb_func_start FUN_0204BA90
-FUN_0204BA90: ; 0x0204BA90
- ldr r3, _0204BA98 ; =FUN_0204BD40
- ldr r1, _0204BA9C ; =0x021C5A1C
- bx r3
- nop
-_0204BA98: .word FUN_0204BD40
-_0204BA9C: .word 0x021C5A1C
-
- thumb_func_start FUN_0204BAA0
-FUN_0204BAA0: ; 0x0204BAA0
- ldr r3, _0204BAA8 ; =FUN_0204BD18
- ldr r2, _0204BAAC ; =0x021C5A1C
- bx r3
- nop
-_0204BAA8: .word FUN_0204BD18
-_0204BAAC: .word 0x021C5A1C
-
- thumb_func_start FUN_0204BAB0
-FUN_0204BAB0: ; 0x0204BAB0
- push {r3, lr}
- ldr r0, _0204BAC0 ; =0x021C5A1C
- bl FUN_0204BBA8
- mov r1, #0x6
- sub r0, r1, r0
- pop {r3, pc}
- nop
-_0204BAC0: .word 0x021C5A1C
-
- thumb_func_start FUN_0204BAC4
-FUN_0204BAC4: ; 0x0204BAC4
- ldr r3, _0204BACC ; =FUN_0204BD8C
- ldr r0, _0204BAD0 ; =0x021C5A1C
- bx r3
- nop
-_0204BACC: .word FUN_0204BD8C
-_0204BAD0: .word 0x021C5A1C
-
- thumb_func_start FUN_0204BAD4
-FUN_0204BAD4: ; 0x0204BAD4
- ldr r3, _0204BADC ; =0x0204BE11
- ldr r0, _0204BAE0 ; =0x021C5A1C
- bx r3
- nop
-_0204BADC: .word 0x0204BE11
-_0204BAE0: .word 0x021C5A1C
-
- thumb_func_start FUN_0204BAE4
-FUN_0204BAE4: ; 0x0204BAE4
- ldr r3, _0204BAEC ; =FUN_0204BDA0
- ldr r0, _0204BAF0 ; =0x021C5A1C
- bx r3
- nop
-_0204BAEC: .word FUN_0204BDA0
-_0204BAF0: .word 0x021C5A1C
-
- thumb_func_start FUN_0204BAF4
-FUN_0204BAF4: ; 0x0204BAF4
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- cmp r5, #0x0
- beq _0204BB04
- ldr r0, _0204BB1C ; =0x000001ED
- cmp r5, r0
- bls _0204BB08
-_0204BB04:
- bl ErrorHandling
-_0204BB08:
- mov r3, #0x6
- add r0, r4, #0x0
- sub r4, r5, #0x1
- str r3, [sp, #0x0]
- mov r1, #0x83
- mov r2, #0x0
- mul r3, r4
- bl FUN_02006548
- pop {r3-r5, pc}
- .balign 4
-_0204BB1C: .word 0x000001ED
-
- thumb_func_start FUN_0204BB20
-FUN_0204BB20: ; 0x0204BB20
- push {r3-r7, lr}
- sub sp, #0x10
- ldr r0, [r0, #0xc]
- str r1, [sp, #0x0]
- bl FUN_02022528
- str r0, [sp, #0x4]
- mov r0, #0x4
- bl FUN_020669C0
- ldr r5, [sp, #0x0]
- add r4, r0, #0x0
- mov r6, #0x0
- add r7, sp, #0x8
-_0204BB3C:
- ldr r0, [sp, #0x0]
- add r2, r4, #0x0
- add r1, r0, r6
- add r1, #0x30
- mov r0, #0x0
- strb r0, [r1, #0x0]
- ldr r0, [sp, #0x4]
- add r1, r6, #0x0
- bl FUN_0202BFD8
- add r0, r4, #0x0
- mov r1, #0x5
- mov r2, #0x0
- bl FUN_020671BC
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- strh r0, [r5, #0x0]
- add r1, sp, #0x8
- bl FUN_0204BAF4
- ldrb r0, [r7, #0x0]
- cmp r0, #0x0
- beq _0204BB6E
- b _0204BB72
-_0204BB6E:
- ldrb r0, [r7, #0x1]
- add r0, r0, #0x4
-_0204BB72:
- strb r0, [r5, #0x2]
- ldrb r0, [r7, #0x3]
- mov r1, #0xb0
- mov r2, #0x0
- strb r0, [r5, #0x3]
- ldrb r0, [r7, #0x2]
- strh r0, [r5, #0x4]
- add r0, r4, #0x0
- bl FUN_020671BC
- strb r0, [r5, #0x6]
- add r0, r4, #0x0
- mov r1, #0xb1
- mov r2, #0x0
- bl FUN_020671BC
- strb r0, [r5, #0x7]
- add r6, r6, #0x1
- add r5, #0x8
- cmp r6, #0x6
- blt _0204BB3C
- add r0, r4, #0x0
- bl FUN_02016A18
- add sp, #0x10
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0204BBA8
-FUN_0204BBA8: ; 0x0204BBA8
- mov r3, #0x0
- add r2, r3, #0x0
-_0204BBAC:
- add r1, r0, r2
- add r1, #0x30
- ldrb r1, [r1, #0x0]
- cmp r1, #0x0
- beq _0204BBB8
- add r3, r3, #0x1
-_0204BBB8:
- add r2, r2, #0x1
- cmp r2, #0x6
- blt _0204BBAC
- add r0, r3, #0x0
- bx lr
- .balign 4
-
- thumb_func_start FUN_0204BBC4
-FUN_0204BBC4: ; 0x0204BBC4
- push {r3-r5, lr}
- add r4, r0, #0x0
- bl FUN_0201B9EC
- ldr r1, _0204BBE4 ; =0x0000199A
- blx _s32_div_f
- lsl r0, r0, #0x10
- lsr r5, r0, #0x10
- cmp r5, #0xa
- blo _0204BBDE
- bl ErrorHandling
-_0204BBDE:
- add r0, r5, #0x5
- str r0, [r4, #0x38]
- pop {r3-r5, pc}
- .balign 4
-_0204BBE4: .word 0x0000199A
-
- thumb_func_start FUN_0204BBE8
-FUN_0204BBE8: ; 0x0204BBE8
- push {r3, lr}
- ldr r1, [r0, #0x38]
- sub r1, r1, #0x1
- str r1, [r0, #0x38]
- bne _0204BBFA
- bl FUN_0204BBC4
- mov r0, #0x1
- pop {r3, pc}
-_0204BBFA:
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0204BC00
-FUN_0204BC00: ; 0x0204BC00
- push {r4-r6, lr}
- add r5, r1, #0x0
- add r6, r2, #0x0
- bl FUN_0204A6E0
- add r4, r0, #0x0
- cmp r5, #0x20
- blt _0204BC14
- mov r5, #0x1
- b _0204BC16
-_0204BC14:
- mov r5, #0x0
-_0204BC16:
- cmp r6, #0x20
- bge _0204BC1E
- mov r0, #0x0
- b _0204BC20
-_0204BC1E:
- mov r0, #0x2
-_0204BC20:
- add r5, r5, r0
- lsl r0, r4, #0x18
- lsr r0, r0, #0x18
- bl FUN_0205478C
- cmp r0, #0x0
- beq _0204BC32
- add r0, r5, #0x1
- pop {r4-r6, pc}
-_0204BC32:
- lsl r0, r4, #0x18
- lsr r0, r0, #0x18
- bl FUN_0205481C
- cmp r0, #0x0
- beq _0204BC42
- add r0, r5, #0x5
- pop {r4-r6, pc}
-_0204BC42:
- mov r0, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_0204BC48
-FUN_0204BC48: ; 0x0204BC48
- push {r3-r7, lr}
- add r5, r1, #0x0
- add r1, r2, #0x0
- add r2, r3, #0x0
- mov r6, #0x0
- bl FUN_0204BC00
- add r7, r0, #0x0
- bne _0204BC5E
- add r0, r6, #0x0
- pop {r3-r7, pc}
-_0204BC5E:
- add r0, r6, #0x0
- add r1, r5, #0x0
-_0204BC62:
- add r2, r5, r0
- add r2, #0x30
- ldrb r2, [r2, #0x0]
- cmp r2, #0x0
- bne _0204BC76
- ldrb r2, [r1, #0x2]
- cmp r7, r2
- bne _0204BC76
- ldrb r2, [r1, #0x3]
- add r6, r6, r2
-_0204BC76:
- add r0, r0, #0x1
- add r1, #0x8
- cmp r0, #0x6
- blt _0204BC62
- cmp r6, #0x0
- bne _0204BC86
- mov r0, #0x0
- pop {r3-r7, pc}
-_0204BC86:
- add r0, r6, #0x0
- add r0, #0x14
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- bne _0204BC94
- bl ErrorHandling
-_0204BC94:
- add r0, r6, #0x0
- add r0, #0x14
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- cmp r0, #0x1
- bhi _0204BCA4
- mov r4, #0x0
- b _0204BCD8
-_0204BCA4:
- bl FUN_0201B9EC
- add r1, r6, #0x0
- add r1, #0x14
- add r4, r0, #0x0
- lsl r1, r1, #0x10
- ldr r0, _0204BD14 ; =0x0000FFFF
- lsr r1, r1, #0x10
- blx _s32_div_f
- add r1, r0, #0x0
- add r1, r1, #0x1
- lsl r1, r1, #0x10
- add r0, r4, #0x0
- lsr r1, r1, #0x10
- blx _s32_div_f
- lsl r0, r0, #0x10
- add r6, #0x14
- lsr r4, r0, #0x10
- lsl r0, r6, #0x10
- lsr r0, r0, #0x10
- cmp r4, r0
- blo _0204BCD8
- bl ErrorHandling
-_0204BCD8:
- cmp r4, #0x14
- bge _0204BCE0
- mov r0, #0x0
- pop {r3-r7, pc}
-_0204BCE0:
- sub r4, #0x14
- mov r1, #0x0
- add r0, r5, #0x0
-_0204BCE6:
- add r2, r5, r1
- add r2, #0x30
- ldrb r2, [r2, #0x0]
- cmp r2, #0x0
- bne _0204BD04
- ldrb r2, [r0, #0x2]
- cmp r7, r2
- bne _0204BD04
- ldrb r2, [r0, #0x3]
- cmp r4, r2
- bge _0204BD02
- str r1, [r5, #0x3c]
- mov r0, #0x1
- pop {r3-r7, pc}
-_0204BD02:
- sub r4, r4, r2
-_0204BD04:
- add r1, r1, #0x1
- add r0, #0x8
- cmp r1, #0x6
- blt _0204BCE6
- bl ErrorHandling
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-_0204BD14: .word 0x0000FFFF
-
- thumb_func_start FUN_0204BD18
-FUN_0204BD18: ; 0x0204BD18
- push {r4, lr}
- ldr r0, [r1, #0x14]
- add r4, r2, #0x0
- cmp r0, #0x4
- beq _0204BD28
- cmp r0, #0x5
- beq _0204BD3E
- b _0204BD3A
-_0204BD28:
- add r0, r4, #0x0
- bl FUN_0204BBA8
- add r1, r0, #0x1
- ldr r0, [r4, #0x3c]
- add r0, r4, r0
- add r0, #0x30
- strb r1, [r0, #0x0]
- pop {r4, pc}
-_0204BD3A:
- bl ErrorHandling
-_0204BD3E:
- pop {r4, pc}
-
- thumb_func_start FUN_0204BD40
-FUN_0204BD40: ; 0x0204BD40
- push {r3-r7, lr}
- add r5, r0, #0x0
- mov r0, #0x20
- add r6, r1, #0x0
- bl FUN_020669C0
- add r4, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_02022528
- str r0, [sp, #0x0]
- add r0, r5, #0x0
- bl FUN_0204BAB0
- add r1, r0, #0x0
- mov r0, #0xb
- bl FUN_02047800
- add r1, r5, #0x0
- add r7, r0, #0x0
- bl FUN_02047BB0
- ldr r0, [sp, #0x0]
- ldr r1, [r6, #0x3c]
- add r2, r4, #0x0
- bl FUN_0202BFD8
- add r0, r7, #0x0
- add r1, r4, #0x0
- mov r2, #0x1
- bl FUN_020479FC
- add r0, r4, #0x0
- bl FUN_02016A18
- add r0, r7, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0204BD8C
-FUN_0204BD8C: ; 0x0204BD8C
- mov r3, #0x0
- add r2, r3, #0x0
-_0204BD90:
- ldrh r1, [r0, #0x4]
- add r2, r2, #0x1
- add r0, #0x8
- add r3, r3, r1
- cmp r2, #0x6
- blt _0204BD90
- add r0, r3, #0x0
- bx lr
-
- thumb_func_start FUN_0204BDA0
-FUN_0204BDA0: ; 0x0204BDA0
- push {r4-r7}
- mov r3, #0x0
- add r5, r0, #0x0
- add r4, r3, #0x0
- mov r0, #0x1
-_0204BDAA:
- mov r1, #0x0
-_0204BDAC:
- add r2, r5, r1
- add r2, #0x30
- ldrb r2, [r2, #0x0]
- cmp r0, r2
- bne _0204BDEC
- lsl r1, r1, #0x3
- add r2, r5, r1
- ldrb r1, [r2, #0x6]
- ldrb r2, [r2, #0x7]
- cmp r0, #0x1
- beq _0204BDD8
- mov r6, r12
- cmp r6, r1
- beq _0204BDD8
- mov r6, r12
- cmp r6, r2
- beq _0204BDD8
- cmp r7, r1
- beq _0204BDD8
- cmp r7, r2
- beq _0204BDD8
- add r4, #0xc8
-_0204BDD8:
- mov r6, #0x1
- mov r12, r1
- lsl r6, r1
- add r1, r3, #0x0
- mov r3, #0x1
- lsl r3, r2
- orr r1, r6
- add r7, r2, #0x0
- orr r3, r1
- b _0204BDF2
-_0204BDEC:
- add r1, r1, #0x1
- cmp r1, #0x6
- blt _0204BDAC
-_0204BDF2:
- add r0, r0, #0x1
- cmp r0, #0x7
- blt _0204BDAA
- cmp r3, #0x0
- beq _0204BE0A
- mov r0, #0x1
-_0204BDFE:
- add r1, r3, #0x0
- tst r1, r0
- beq _0204BE06
- add r4, #0x32
-_0204BE06:
- lsr r3, r3, #0x1
- bne _0204BDFE
-_0204BE0A:
- add r0, r4, #0x0
- pop {r4-r7}
- bx lr
-
- thumb_func_start FUN_0204BE10
-FUN_0204BE10: ; 0x0204BE10
- ldr r0, [r0, #0x48]
- bx lr
-
- thumb_func_start FUN_0204BE14
-FUN_0204BE14: ; 0x0204BE14
- mov r0, #0xe8
- bx lr
-
- thumb_func_start FUN_0204BE18
-FUN_0204BE18: ; 0x0204BE18
- push {r3-r5, lr}
- mov r2, #0x0
- add r3, r2, #0x0
-_0204BE1E:
- add r1, r0, r2
- add r2, r2, #0x1
- strb r3, [r1, #0x3]
- cmp r2, #0x20
- blt _0204BE1E
- strb r3, [r0, #0x1]
- strb r3, [r0, #0x2]
- ldrb r1, [r0, #0x0]
- mov r2, #0x1
- bic r1, r2
- strb r1, [r0, #0x0]
- ldrb r4, [r0, #0x0]
- mov r1, #0x38
- bic r4, r1
- strb r4, [r0, #0x0]
- ldrb r4, [r0, #0x0]
- mov r1, #0x2
- bic r4, r1
- strb r4, [r0, #0x0]
- str r3, [r0, #0x24]
- ldrh r1, [r0, #0x28]
- bic r1, r2
- strh r1, [r0, #0x28]
- ldrh r2, [r0, #0x28]
- mov r1, #0x3e
- bic r2, r1
- strh r2, [r0, #0x28]
- ldrh r2, [r0, #0x28]
- ldr r1, _0204BEB0 ; =0xFFFFF03F
- and r1, r2
- strh r1, [r0, #0x28]
- add r1, r0, #0x0
- mov r2, #0x1
- add r1, #0xa8
- strb r2, [r1, #0x0]
- add r1, r0, #0x0
- add r1, #0xa4
- str r3, [r1, #0x0]
- ldr r1, _0204BEB4 ; =0x020F486C
- add r2, r0, #0x0
-_0204BE6E:
- ldrb r5, [r1, #0x0]
- add r4, r2, #0x0
- add r4, #0xa9
- strb r5, [r4, #0x0]
- add r4, r2, #0x0
- ldrb r5, [r1, #0x1]
- add r4, #0xaa
- add r3, r3, #0x1
- strb r5, [r4, #0x0]
- add r1, r1, #0x2
- add r2, r2, #0x2
- cmp r3, #0x6
- blt _0204BE6E
- mov r4, #0x0
- add r3, r0, #0x0
- add r1, r4, #0x0
-_0204BE8E:
- add r2, r3, #0x0
- add r2, #0xb6
- strh r1, [r2, #0x0]
- add r2, r3, #0x0
- add r2, #0xb8
- add r4, r4, #0x1
- add r3, r3, #0x4
- strh r1, [r2, #0x0]
- cmp r4, #0xc
- blt _0204BE8E
- ldrb r3, [r0, #0x0]
- mov r2, #0x4
- bic r3, r2
- strb r3, [r0, #0x0]
- bl FUN_0204BED8
- pop {r3-r5, pc}
- .balign 4
-_0204BEB0: .word 0xFFFFF03F
-_0204BEB4: .word 0x020F486C
-
- thumb_func_start FUN_0204BEB8
-FUN_0204BEB8: ; 0x0204BEB8
- ldrb r2, [r0, #0x0]
- mov r1, #0x1
- bic r2, r1
- mov r1, #0x1
- orr r1, r2
- strb r1, [r0, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_0204BEC8
-FUN_0204BEC8: ; 0x0204BEC8
- ldrb r0, [r0, #0x0]
- lsl r0, r0, #0x1f
- lsr r0, r0, #0x1f
- bx lr
-
- thumb_func_start FUN_0204BED0
-FUN_0204BED0: ; 0x0204BED0
- add r0, r0, r1
- ldrb r0, [r0, #0x3]
- bx lr
- .balign 4
-
- thumb_func_start FUN_0204BED8
-FUN_0204BED8: ; 0x0204BED8
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- bmi _0204BEE4
- cmp r4, #0x19
- blt _0204BEE8
-_0204BEE4:
- bl ErrorHandling
-_0204BEE8:
- mov r0, #0x1
- ldrsb r1, [r5, r0]
- cmp r1, #0x19
- bge _0204BF10
- add r2, r5, #0x3
- ldrb r1, [r2, r4]
- cmp r1, #0x0
- bne _0204BF10
- strb r0, [r2, r4]
- ldrsb r0, [r5, r0]
- add r0, r0, #0x1
- strb r0, [r5, #0x1]
- cmp r4, #0x3
- bne _0204BF0C
- ldrb r1, [r5, #0x0]
- mov r0, #0x2
- orr r0, r1
- strb r0, [r5, #0x0]
-_0204BF0C:
- mov r0, #0x1
- pop {r3-r5, pc}
-_0204BF10:
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0204BF14
-FUN_0204BF14: ; 0x0204BF14
- mov r1, #0x2
- ldrsb r0, [r0, r1]
- bx lr
- .balign 4
-
- thumb_func_start FUN_0204BF1C
-FUN_0204BF1C: ; 0x0204BF1C
- push {r3-r4}
- mov r1, #0x2
- ldrsb r3, [r0, r1]
- mov r2, #0x0
- add r4, r3, #0x0
-_0204BF26:
- add r3, r3, #0x1
- cmp r3, #0x19
- blt _0204BF2E
- add r3, r2, #0x0
-_0204BF2E:
- cmp r3, r4
- beq _0204BF3A
- add r1, r0, r3
- ldrb r1, [r1, #0x3]
- cmp r1, #0x0
- beq _0204BF26
-_0204BF3A:
- mov r1, #0x2
- strb r3, [r0, #0x2]
- ldrsb r0, [r0, r1]
- pop {r3-r4}
- bx lr
-
- thumb_func_start FUN_0204BF44
-FUN_0204BF44: ; 0x0204BF44
- push {r4, lr}
- add r4, r0, #0x0
- bne _0204BF4E
- bl ErrorHandling
-_0204BF4E:
- ldrb r0, [r4, #0x0]
- lsl r0, r0, #0x1a
- lsr r0, r0, #0x1d
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0204BF58
-FUN_0204BF58: ; 0x0204BF58
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- cmp r5, #0x0
- bne _0204BF66
- bl ErrorHandling
-_0204BF66:
- cmp r4, #0x8
- blo _0204BF6E
- bl ErrorHandling
-_0204BF6E:
- ldrb r1, [r5, #0x0]
- mov r0, #0x38
- bic r1, r0
- lsl r0, r4, #0x18
- lsr r0, r0, #0x18
- lsl r0, r0, #0x1d
- lsr r0, r0, #0x1a
- orr r0, r1
- strb r0, [r5, #0x0]
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0204BF84
-FUN_0204BF84: ; 0x0204BF84
- ldr r0, [r0, #0x24]
- bx lr
-
- thumb_func_start FUN_0204BF88
-FUN_0204BF88: ; 0x0204BF88
- ldrb r2, [r0, #0x0]
- lsl r2, r2, #0x1e
- lsr r2, r2, #0x1f
- beq _0204BF92
- str r1, [r0, #0x24]
-_0204BF92:
- bx lr
-
- thumb_func_start FUN_0204BF94
-FUN_0204BF94: ; 0x0204BF94
- ldrh r0, [r0, #0x28]
- lsl r0, r0, #0x1f
- lsr r0, r0, #0x1f
- bx lr
-
- thumb_func_start FUN_0204BF9C
-FUN_0204BF9C: ; 0x0204BF9C
- ldrh r3, [r0, #0x28]
- lsl r3, r3, #0x1a
- lsr r3, r3, #0x1b
- str r3, [r1, #0x0]
- ldrh r0, [r0, #0x28]
- lsl r0, r0, #0x14
- lsr r0, r0, #0x1a
- str r0, [r2, #0x0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_0204BFB0
-FUN_0204BFB0: ; 0x0204BFB0
- push {r4-r5}
- ldrh r4, [r0, #0x28]
- mov r5, #0x1
- lsl r1, r1, #0x10
- bic r4, r5
- lsr r5, r1, #0x10
- mov r1, #0x1
- and r1, r5
- orr r1, r4
- strh r1, [r0, #0x28]
- lsl r2, r2, #0x10
- lsr r2, r2, #0x10
- lsl r2, r2, #0x1b
- ldrh r1, [r0, #0x28]
- mov r4, #0x3e
- lsr r2, r2, #0x1a
- bic r1, r4
- orr r1, r2
- strh r1, [r0, #0x28]
- ldrh r2, [r0, #0x28]
- ldr r1, _0204BFEC ; =0xFFFFF03F
- and r2, r1
- lsl r1, r3, #0x10
- lsr r1, r1, #0x10
- lsl r1, r1, #0x1a
- lsr r1, r1, #0x14
- orr r1, r2
- strh r1, [r0, #0x28]
- pop {r4-r5}
- bx lr
- .balign 4
-_0204BFEC: .word 0xFFFFF03F
-
- thumb_func_start FUN_0204BFF0
-FUN_0204BFF0: ; 0x0204BFF0
- push {r3-r4}
- add r3, r0, #0x0
- add r3, #0xa8
- ldrb r3, [r3, #0x0]
- cmp r3, r1
- bne _0204C016
- add r1, r0, #0x0
- add r1, #0xa4
- ldr r4, [r1, #0x0]
- mov r3, #0x1
- sub r1, r2, #0x1
- add r2, r3, #0x0
- lsl r2, r1
- add r1, r4, #0x0
- orr r1, r2
- add r0, #0xa4
- str r1, [r0, #0x0]
- pop {r3-r4}
- bx lr
-_0204C016:
- add r3, r0, #0x0
- add r3, #0xa8
- strb r1, [r3, #0x0]
- mov r3, #0x1
- sub r1, r2, #0x1
- add r2, r3, #0x0
- lsl r2, r1
- add r0, #0xa4
- str r2, [r0, #0x0]
- pop {r3-r4}
- bx lr
-
- thumb_func_start FUN_0204C02C
-FUN_0204C02C: ; 0x0204C02C
- push {r3-r4}
- add r3, r0, #0x0
- add r3, #0xa8
- ldrb r3, [r3, #0x0]
- cmp r3, r1
- bne _0204C052
- add r1, r0, #0x0
- add r1, #0xa4
- ldr r4, [r1, #0x0]
- mov r3, #0x1
- sub r1, r2, #0x1
- add r2, r3, #0x0
- lsl r2, r1
- mvn r1, r2
- and r1, r4
- add r0, #0xa4
- str r1, [r0, #0x0]
- pop {r3-r4}
- bx lr
-_0204C052:
- add r2, r0, #0x0
- add r2, #0xa8
- strb r1, [r2, #0x0]
- mov r1, #0x0
- add r0, #0xa4
- str r1, [r0, #0x0]
- pop {r3-r4}
- bx lr
- .balign 4
-
- thumb_func_start FUN_0204C064
-FUN_0204C064: ; 0x0204C064
- add r3, r0, #0x0
- add r3, #0xa8
- ldrb r3, [r3, #0x0]
- cmp r3, r1
- bne _0204C07C
- add r0, #0xa4
- ldr r1, [r0, #0x0]
- sub r0, r2, #0x1
- lsr r1, r0
- mov r0, #0x1
- and r0, r1
- bx lr
-_0204C07C:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_0204C080
-FUN_0204C080: ; 0x0204C080
- push {r3-r7, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- add r6, r2, #0x0
- add r7, r3, #0x0
- cmp r4, #0x6
- blt _0204C092
- bl ErrorHandling
-_0204C092:
- lsl r1, r4, #0x1
- add r0, r5, r1
- add r0, #0xa9
- strb r6, [r0, #0x0]
- add r0, r5, r1
- add r0, #0xaa
- strb r7, [r0, #0x0]
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0204C0A4
-FUN_0204C0A4: ; 0x0204C0A4
- push {r3-r7, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- add r6, r2, #0x0
- add r7, r3, #0x0
- cmp r4, #0x6
- blt _0204C0B6
- bl ErrorHandling
-_0204C0B6:
- lsl r1, r4, #0x1
- add r0, r5, r1
- add r0, #0xa9
- ldrb r0, [r0, #0x0]
- strb r0, [r6, #0x0]
- add r0, r5, r1
- add r0, #0xaa
- ldrb r0, [r0, #0x0]
- strb r0, [r7, #0x0]
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0204C0CC
-FUN_0204C0CC: ; 0x0204C0CC
- ldrb r0, [r0, #0x0]
- lsl r0, r0, #0x1d
- lsr r0, r0, #0x1f
- bx lr
-
- thumb_func_start FUN_0204C0D4
-FUN_0204C0D4: ; 0x0204C0D4
- push {r3, lr}
- ldrb r2, [r0, #0x0]
- lsl r2, r2, #0x1d
- lsr r2, r2, #0x1f
- beq _0204C0E6
- add r0, #0x2a
- mov r2, #0x78
- blx MI_CpuCopy8
-_0204C0E6:
- pop {r3, pc}
-
- thumb_func_start FUN_0204C0E8
-FUN_0204C0E8: ; 0x0204C0E8
- push {r4, lr}
- add r4, r0, #0x0
- add r0, r1, #0x0
- add r1, r4, #0x0
- add r1, #0x2a
- mov r2, #0x78
- blx MI_CpuCopy8
- ldrb r1, [r4, #0x0]
- mov r0, #0x4
- orr r0, r1
- strb r0, [r4, #0x0]
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0204C104
-FUN_0204C104: ; 0x0204C104
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r6, r1, #0x0
- bl FUN_0204C158
- cmp r0, #0xc
- blt _0204C138
- mov r0, #0x0
- add r1, r5, #0x0
-_0204C116:
- add r2, r1, #0x0
- add r2, #0xba
- ldrh r3, [r2, #0x0]
- add r2, r1, #0x0
- add r2, #0xb6
- strh r3, [r2, #0x0]
- add r2, r1, #0x0
- add r2, #0xbc
- ldrh r3, [r2, #0x0]
- add r2, r1, #0x0
- add r2, #0xb8
- add r0, r0, #0x1
- add r1, r1, #0x4
- strh r3, [r2, #0x0]
- cmp r0, #0xb
- blt _0204C116
- mov r0, #0xb
-_0204C138:
- lsl r4, r0, #0x2
- add r0, r6, #0x0
- mov r1, #0x5
- mov r2, #0x0
- bl FUN_020672BC
- add r1, r5, r4
- add r1, #0xb6
- strh r0, [r1, #0x0]
- add r0, r6, #0x0
- bl FUN_0206B754
- add r1, r5, r4
- add r1, #0xb8
- strh r0, [r1, #0x0]
- pop {r4-r6, pc}
-
- thumb_func_start FUN_0204C158
-FUN_0204C158: ; 0x0204C158
- mov r2, #0x0
-_0204C15A:
- add r1, r0, #0x0
- add r1, #0xb6
- ldrh r1, [r1, #0x0]
- cmp r1, #0x0
- bne _0204C168
- add r0, r2, #0x0
- bx lr
-_0204C168:
- add r2, r2, #0x1
- add r0, r0, #0x4
- cmp r2, #0xc
- blt _0204C15A
- add r0, r2, #0x0
- bx lr
-
- thumb_func_start FUN_0204C174
-FUN_0204C174: ; 0x0204C174
- push {r3-r7, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- add r7, r2, #0x0
- str r3, [sp, #0x0]
- cmp r4, #0xc
- blt _0204C186
- bl ErrorHandling
-_0204C186:
- add r6, r5, #0x0
- lsl r4, r4, #0x2
- add r6, #0xb6
- ldrh r0, [r6, r4]
- cmp r0, #0x0
- bne _0204C196
- bl ErrorHandling
-_0204C196:
- ldrh r0, [r6, r4]
- str r0, [r7, #0x0]
- add r0, r5, r4
- add r0, #0xb8
- ldrh r1, [r0, #0x0]
- ldr r0, [sp, #0x0]
- str r1, [r0, #0x0]
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_0204C1A8
-FUN_0204C1A8: ; 0x0204C1A8
- ldr r3, _0204C1B0 ; =FUN_02022610
- mov r1, #0x5
- bx r3
- nop
-_0204C1B0: .word FUN_02022610
-
- thumb_func_start FUN_0204C1B4
-FUN_0204C1B4: ; 0x0204C1B4
- push {r3-r7, lr}
- add r7, r0, #0x0
- add r5, r1, #0x0
- ldr r0, [sp, #0x24]
- mov r1, #0x20
- add r4, r2, #0x0
- add r6, r3, #0x0
- bl FUN_02016998
- add r2, r0, #0x0
- str r5, [r2, #0x4]
- str r4, [r2, #0x8]
- str r6, [r2, #0xc]
- add r0, sp, #0x8
- ldrh r0, [r0, #0x10]
- ldr r1, _0204C1F0 ; =FUN_0204C1F4
- strh r0, [r2, #0x10]
- ldr r0, [sp, #0x1c]
- str r0, [r2, #0x14]
- ldr r0, [sp, #0x20]
- str r0, [r2, #0x18]
- ldr r0, [sp, #0x24]
- str r0, [r2, #0x1c]
- mov r0, #0x0
- str r0, [r2, #0x0]
- add r0, r7, #0x0
- bl FUN_0204640C
- pop {r3-r7, pc}
- nop
-_0204C1F0: .word FUN_0204C1F4
-
- thumb_func_start FUN_0204C1F4
-FUN_0204C1F4: ; 0x0204C1F4
- push {r4-r5, lr}
- sub sp, #0xc
- add r4, r0, #0x0
- bl FUN_02046528
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- cmp r0, #0x0
- beq _0204C214
- cmp r0, #0x1
- beq _0204C23C
- b _0204C258
-_0204C214:
- ldr r0, [r5, #0x4]
- ldr r0, [r0, #0x1c]
- bl FUN_021F4608
- ldr r0, [r4, #0x14]
- str r0, [sp, #0x0]
- ldr r0, [r4, #0x18]
- str r0, [sp, #0x4]
- ldr r0, [r4, #0x1c]
- str r0, [sp, #0x8]
- ldrh r3, [r4, #0x10]
- ldr r0, [r4, #0x4]
- ldr r1, [r4, #0x8]
- ldr r2, [r4, #0xc]
- bl FUN_0200E1D0
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _0204C258
-_0204C23C:
- bl FUN_0200E308
- cmp r0, #0x0
- beq _0204C258
- ldr r0, [r5, #0x4]
- ldr r0, [r0, #0x1c]
- bl FUN_021F45E8
- add r0, r4, #0x0
- bl FUN_02016A18
- add sp, #0xc
- mov r0, #0x1
- pop {r4-r5, pc}
-_0204C258:
- mov r0, #0x0
- add sp, #0xc
- pop {r4-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0204C260
-FUN_0204C260: ; 0x0204C260
- push {r3-r7, lr}
- add r7, r0, #0x0
- add r5, r1, #0x0
- mov r0, #0xb
- mov r1, #0x24
- add r4, r2, #0x0
- add r6, r3, #0x0
- bl FUN_020169D8
- add r2, r0, #0x0
- mov r0, #0x0
- str r0, [r2, #0x0]
- str r0, [r2, #0x4]
- str r5, [r2, #0x8]
- str r4, [r2, #0xc]
- ldr r0, [sp, #0x18]
- str r6, [r2, #0x10]
- str r0, [r2, #0x14]
- ldr r0, [sp, #0x1c]
- ldr r1, _0204C298 ; =FUN_0204C380
- str r0, [r2, #0x18]
- ldr r0, [sp, #0x20]
- str r0, [r2, #0x20]
- add r0, r7, #0x0
- bl FUN_020463CC
- pop {r3-r7, pc}
- nop
-_0204C298: .word FUN_0204C380
-
- thumb_func_start FUN_0204C29C
-FUN_0204C29C: ; 0x0204C29C
- push {r4-r7, lr}
- sub sp, #0xc
- add r7, r0, #0x0
- add r5, r1, #0x0
- mov r0, #0xb
- mov r1, #0x24
- str r2, [sp, #0x0]
- str r3, [sp, #0x4]
- bl FUN_020169D8
- add r6, r0, #0x0
- mov r4, #0x0
- str r4, [r6, #0x0]
- str r4, [r6, #0x4]
- ldr r0, [sp, #0x0]
- str r5, [r6, #0x8]
- str r0, [r6, #0xc]
- ldr r0, [sp, #0x4]
- str r0, [r6, #0x10]
- ldr r0, [sp, #0x20]
- str r0, [r6, #0x14]
- ldr r0, [sp, #0x24]
- str r0, [r6, #0x18]
- ldr r0, [r7, #0x1c]
- ldr r0, [r0, #0x0]
- str r0, [sp, #0x8]
- bl FUN_02034930
- cmp r0, #0x0
- beq _0204C308
- add r0, r5, #0x0
- bl FUN_02034930
- cmp r0, #0x0
- beq _0204C2E6
- mov r4, #0x6
- b _0204C36A
-_0204C2E6:
- add r0, r5, #0x0
- bl FUN_02034964
- cmp r0, #0x0
- beq _0204C2F4
- mov r4, #0x5
- b _0204C36A
-_0204C2F4:
- add r0, r5, #0x0
- bl FUN_02034944
- cmp r0, #0x0
- beq _0204C302
- mov r4, #0x6
- b _0204C36A
-_0204C302:
- bl ErrorHandling
- b _0204C36A
-_0204C308:
- ldr r0, [sp, #0x8]
- bl FUN_02034964
- cmp r0, #0x0
- beq _0204C334
- add r0, r5, #0x0
- bl FUN_02034930
- cmp r0, #0x0
- beq _0204C320
- mov r4, #0x4
- b _0204C36A
-_0204C320:
- add r0, r5, #0x0
- bl FUN_02034944
- cmp r0, #0x0
- beq _0204C32E
- mov r4, #0x6
- b _0204C36A
-_0204C32E:
- bl ErrorHandling
- b _0204C36A
-_0204C334:
- ldr r0, [sp, #0x8]
- bl FUN_02034944
- cmp r0, #0x0
- beq _0204C366
- add r0, r5, #0x0
- bl FUN_02034964
- cmp r0, #0x0
- bne _0204C36A
- add r0, r5, #0x0
- bl FUN_02034944
- cmp r0, #0x0
- beq _0204C356
- mov r4, #0x6
- b _0204C36A
-_0204C356:
- add r0, r5, #0x0
- bl FUN_02034930
- cmp r0, #0x0
- bne _0204C36A
- bl ErrorHandling
- b _0204C36A
-_0204C366:
- bl ErrorHandling
-_0204C36A:
- ldr r1, _0204C37C ; =FUN_0204C380
- add r0, r7, #0x0
- add r2, r6, #0x0
- str r4, [r6, #0x20]
- bl FUN_020463CC
- add sp, #0xc
- pop {r4-r7, pc}
- nop
-_0204C37C: .word FUN_0204C380
-
- thumb_func_start FUN_0204C380
-FUN_0204C380: ; 0x0204C380
- push {r3-r7, lr}
- add r5, r0, #0x0
- bl FUN_02046528
- add r7, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- add r6, r4, #0x0
- ldr r1, [r4, #0x0]
- add r6, #0x8
- cmp r1, #0x6
- bhi _0204C458
- add r1, r1, r1
- add r1, pc
- ldrh r1, [r1, #0x6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_0204C3A8: ; jump table (using 16-bit offset)
- .short _0204C3B6 - _0204C3A8 - 2; case 0
- .short _0204C3DA - _0204C3A8 - 2; case 1
- .short _0204C3E8 - _0204C3A8 - 2; case 2
- .short _0204C3F8 - _0204C3A8 - 2; case 3
- .short _0204C406 - _0204C3A8 - 2; case 4
- .short _0204C41E - _0204C3A8 - 2; case 5
- .short _0204C450 - _0204C3A8 - 2; case 6
-_0204C3B6:
- mov r0, #0x0
- str r0, [r4, #0x4]
- ldr r1, [r6, #0x0]
- add r0, r7, #0x0
- bl FUN_0204AD60
- ldr r1, [r4, #0x20]
- add r0, r5, #0x0
- lsl r2, r1, #0x2
- ldr r1, _0204C45C ; =0x020F4894
- ldr r1, [r1, r2]
- add r2, r4, #0x0
- bl FUN_0204640C
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _0204C458
-_0204C3DA:
- add r0, r5, #0x0
- bl FUN_0204AF3C
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _0204C458
-_0204C3E8:
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_02049160
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _0204C458
-_0204C3F8:
- add r0, r5, #0x0
- bl FUN_0204AF84
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _0204C458
-_0204C406:
- ldr r0, [r4, #0x20]
- lsl r1, r0, #0x2
- ldr r0, _0204C460 ; =0x020F48B0
- ldr r1, [r0, r1]
- cmp r1, #0x0
- beq _0204C416
- add r0, r7, #0x0
- blx r1
-_0204C416:
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _0204C458
-_0204C41E:
- bl FUN_02005404
- cmp r0, #0x0
- bne _0204C458
- ldr r1, [r6, #0x0]
- add r0, r7, #0x0
- bl FUN_0204AD8C
- add r0, r7, #0x0
- bl FUN_021E331C
- mov r0, #0x0
- str r0, [r4, #0x4]
- ldr r1, [r4, #0x20]
- add r0, r5, #0x0
- lsl r2, r1, #0x2
- ldr r1, _0204C464 ; =0x020F4878
- ldr r1, [r1, r2]
- add r2, r4, #0x0
- bl FUN_0204640C
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- b _0204C458
-_0204C450:
- bl FUN_02016A18
- mov r0, #0x1
- pop {r3-r7, pc}
-_0204C458:
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-_0204C45C: .word 0x020F4894
-_0204C460: .word 0x020F48B0
-_0204C464: .word 0x020F4878
-
- thumb_func_start FUN_0204C468
-FUN_0204C468: ; 0x0204C468
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl FUN_02046528
- add r0, r5, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- ldr r0, [r4, #0x4]
- cmp r0, #0x0
- beq _0204C484
- cmp r0, #0x1
- beq _0204C498
- b _0204C49C
-_0204C484:
- ldr r0, _0204C4A0 ; =0x00000603
- bl FUN_020054C8
- add r0, r5, #0x0
- bl FUN_0204AFC8
- ldr r0, [r4, #0x4]
- add r0, r0, #0x1
- str r0, [r4, #0x4]
- b _0204C49C
-_0204C498:
- mov r0, #0x1
- pop {r3-r5, pc}
-_0204C49C:
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-_0204C4A0: .word 0x00000603
-
- thumb_func_start FUN_0204C4A4
-FUN_0204C4A4: ; 0x0204C4A4
- push {r4-r6, lr}
- add r6, r0, #0x0
- bl FUN_02046528
- add r5, r0, #0x0
- add r0, r6, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- ldr r0, [r4, #0x4]
- cmp r0, #0x3
- bhi _0204C522
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_0204C4C8: ; jump table (using 16-bit offset)
- .short _0204C4D0 - _0204C4C8 - 2; case 0
- .short _0204C4F6 - _0204C4C8 - 2; case 1
- .short _0204C510 - _0204C4C8 - 2; case 2
- .short _0204C51E - _0204C4C8 - 2; case 3
-_0204C4D0:
- bl FUN_021DA5B8
- str r0, [r4, #0x1c]
- ldr r0, [r5, #0x38]
- bl FUN_02055320
- add r6, r0, #0x0
- ldr r0, [r5, #0x38]
- bl FUN_0205532C
- add r1, r0, #0x0
- ldr r2, [r4, #0x1c]
- add r0, r6, #0x0
- bl FUN_021DA5D0
- ldr r0, [r4, #0x4]
- add r0, r0, #0x1
- str r0, [r4, #0x4]
- b _0204C522
-_0204C4F6:
- ldr r1, [r4, #0x1c]
- add r0, r5, #0x0
- bl FUN_021DA5D8
- cmp r0, #0x0
- beq _0204C522
- ldr r0, [r4, #0x1c]
- bl FUN_021DA5C8
- ldr r0, [r4, #0x4]
- add r0, r0, #0x1
- str r0, [r4, #0x4]
- b _0204C522
-_0204C510:
- add r0, r6, #0x0
- bl FUN_0204AFC8
- ldr r0, [r4, #0x4]
- add r0, r0, #0x1
- str r0, [r4, #0x4]
- b _0204C522
-_0204C51E:
- mov r0, #0x1
- pop {r4-r6, pc}
-_0204C522:
- mov r0, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_0204C528
-FUN_0204C528: ; 0x0204C528
- push {r4-r6, lr}
- add r4, r0, #0x0
- bl FUN_02046528
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- ldr r0, [r4, #0x4]
- cmp r0, #0x0
- beq _0204C54A
- cmp r0, #0x1
- beq _0204C570
- cmp r0, #0x2
- beq _0204C598
- b _0204C59C
-_0204C54A:
- bl FUN_021DA5B8
- str r0, [r4, #0x1c]
- ldr r0, [r5, #0x38]
- bl FUN_02055320
- add r6, r0, #0x0
- ldr r0, [r5, #0x38]
- bl FUN_0205532C
- add r1, r0, #0x0
- ldr r2, [r4, #0x1c]
- add r0, r6, #0x0
- bl FUN_021DA5D0
- ldr r0, [r4, #0x4]
- add r0, r0, #0x1
- str r0, [r4, #0x4]
- b _0204C59C
-_0204C570:
- ldr r0, [r5, #0x38]
- ldr r6, [r4, #0x1c]
- bl FUN_020552F8
- add r2, r0, #0x0
- lsl r2, r2, #0x18
- add r0, r5, #0x0
- add r1, r6, #0x0
- lsr r2, r2, #0x18
- bl FUN_021DAC70
- cmp r0, #0x0
- beq _0204C59C
- ldr r0, [r4, #0x1c]
- bl FUN_021DA5C8
- ldr r0, [r4, #0x4]
- add r0, r0, #0x1
- str r0, [r4, #0x4]
- b _0204C59C
-_0204C598:
- mov r0, #0x1
- pop {r4-r6, pc}
-_0204C59C:
- mov r0, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_0204C5A0
-FUN_0204C5A0: ; 0x0204C5A0
- push {r4-r6, lr}
- add r4, r0, #0x0
- bl FUN_02046528
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- ldr r0, [r4, #0x4]
- cmp r0, #0x3
- bhi _0204C63C
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_0204C5C4: ; jump table (using 16-bit offset)
- .short _0204C5CC - _0204C5C4 - 2; case 0
- .short _0204C5FE - _0204C5C4 - 2; case 1
- .short _0204C61C - _0204C5C4 - 2; case 2
- .short _0204C630 - _0204C5C4 - 2; case 3
-_0204C5CC:
- ldr r0, [r5, #0x38]
- bl FUN_020552F8
- add r6, r0, #0x0
- ldr r0, [r5, #0x38]
- bl FUN_020553A0
- cmp r6, #0x2
- bne _0204C5E6
- mov r1, #0xa
- bl FUN_0205ADDC
- b _0204C5F6
-_0204C5E6:
- cmp r6, #0x3
- bne _0204C5F2
- mov r1, #0xb
- bl FUN_0205ADDC
- b _0204C5F6
-_0204C5F2:
- bl ErrorHandling
-_0204C5F6:
- ldr r0, [r4, #0x4]
- add r0, r0, #0x1
- str r0, [r4, #0x4]
- b _0204C63C
-_0204C5FE:
- ldr r0, [r5, #0x38]
- bl FUN_020553A0
- add r5, r0, #0x0
- bl FUN_0205AE28
- cmp r0, #0x1
- bne _0204C63C
- add r0, r5, #0x0
- bl FUN_0205AE50
- ldr r0, [r4, #0x4]
- add r0, r0, #0x1
- str r0, [r4, #0x4]
- b _0204C63C
-_0204C61C:
- ldr r0, _0204C640 ; =0x00000603
- bl FUN_020054C8
- mov r0, #0x0
- bl FUN_021D7CA4
- ldr r0, [r4, #0x4]
- add r0, r0, #0x1
- str r0, [r4, #0x4]
- b _0204C63C
-_0204C630:
- bl FUN_0200E308
- cmp r0, #0x0
- beq _0204C63C
- mov r0, #0x1
- pop {r4-r6, pc}
-_0204C63C:
- mov r0, #0x0
- pop {r4-r6, pc}
- .balign 4
-_0204C640: .word 0x00000603
-
- thumb_func_start FUN_0204C644
-FUN_0204C644: ; 0x0204C644
- push {r4-r6, lr}
- add r5, r0, #0x0
- bl FUN_02046528
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- ldr r0, [r6, #0x38]
- bl FUN_020553A0
- ldr r0, [r4, #0x4]
- cmp r0, #0x0
- beq _0204C668
- cmp r0, #0x1
- beq _0204C67E
- b _0204C682
-_0204C668:
- bl FUN_021DB030
- add r2, r0, #0x0
- ldr r1, _0204C688 ; =0x021DB1D1
- add r0, r5, #0x0
- bl FUN_0204640C
- ldr r0, [r4, #0x4]
- add r0, r0, #0x1
- str r0, [r4, #0x4]
- b _0204C682
-_0204C67E:
- mov r0, #0x1
- pop {r4-r6, pc}
-_0204C682:
- mov r0, #0x0
- pop {r4-r6, pc}
- nop
-_0204C688: .word 0x021DB1D1
-
- thumb_func_start FUN_0204C68C
-FUN_0204C68C: ; 0x0204C68C
- push {r4-r6, lr}
- add r5, r0, #0x0
- bl FUN_02046528
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- ldr r0, [r6, #0x38]
- bl FUN_020553A0
- ldr r0, [r4, #0x4]
- cmp r0, #0x0
- beq _0204C6B0
- cmp r0, #0x1
- beq _0204C6C6
- b _0204C6CA
-_0204C6B0:
- bl FUN_021DB030
- add r2, r0, #0x0
- ldr r1, _0204C6D0 ; =0x021DB145
- add r0, r5, #0x0
- bl FUN_0204640C
- ldr r0, [r4, #0x4]
- add r0, r0, #0x1
- str r0, [r4, #0x4]
- b _0204C6CA
-_0204C6C6:
- mov r0, #0x1
- pop {r4-r6, pc}
-_0204C6CA:
- mov r0, #0x0
- pop {r4-r6, pc}
- nop
-_0204C6D0: .word 0x021DB145
-
- thumb_func_start FUN_0204C6D4
-FUN_0204C6D4: ; 0x0204C6D4
- push {r3-r7, lr}
- add r6, r0, #0x0
- bl FUN_02046528
- add r4, r0, #0x0
- add r0, r6, #0x0
- bl FUN_0204652C
- add r5, r0, #0x0
- ldr r0, [r5, #0x4]
- cmp r0, #0x3
- bhi _0204C798
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_0204C6F8: ; jump table (using 16-bit offset)
- .short _0204C700 - _0204C6F8 - 2; case 0
- .short _0204C74A - _0204C6F8 - 2; case 1
- .short _0204C770 - _0204C6F8 - 2; case 2
- .short _0204C794 - _0204C6F8 - 2; case 3
-_0204C700:
- ldr r0, [r4, #0x38]
- bl FUN_020553A0
- add r7, r0, #0x0
- ldr r0, [r4, #0x38]
- bl FUN_02055320
- str r0, [sp, #0x0]
- ldr r0, [r4, #0x38]
- bl FUN_0205532C
- add r2, r0, #0x0
- ldr r1, [sp, #0x0]
- add r0, r4, #0x0
- bl FUN_0204A6E0
- bl FUN_020547B0
- cmp r0, #0x0
- beq _0204C736
- add r0, r7, #0x0
- mov r1, #0x1
- bl FUN_0205889C
- mov r0, #0x1
- str r0, [r5, #0x4]
- b _0204C798
-_0204C736:
- bl FUN_021DB030
- add r2, r0, #0x0
- ldr r1, _0204C79C ; =0x021DB251
- add r0, r6, #0x0
- bl FUN_0204640C
- mov r0, #0x3
- str r0, [r5, #0x4]
- b _0204C798
-_0204C74A:
- bl FUN_021DA5B8
- str r0, [r5, #0x1c]
- ldr r0, [r4, #0x38]
- bl FUN_02055320
- add r6, r0, #0x0
- ldr r0, [r4, #0x38]
- bl FUN_0205532C
- add r1, r0, #0x0
- ldr r2, [r5, #0x1c]
- add r0, r6, #0x0
- bl FUN_021DA5D0
- ldr r0, [r5, #0x4]
- add r0, r0, #0x1
- str r0, [r5, #0x4]
- b _0204C798
-_0204C770:
- ldr r5, [r5, #0x1c]
- add r0, r4, #0x0
- add r1, r5, #0x0
- bl FUN_021DA7B4
- cmp r0, #0x0
- beq _0204C798
- add r0, r5, #0x0
- bl FUN_021DA5C8
- ldr r0, [r4, #0x38]
- bl FUN_020553A0
- mov r1, #0x0
- bl FUN_0205889C
- mov r0, #0x1
- pop {r3-r7, pc}
-_0204C794:
- mov r0, #0x1
- pop {r3-r7, pc}
-_0204C798:
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-_0204C79C: .word 0x021DB251
-
- thumb_func_start FUN_0204C7A0
-FUN_0204C7A0: ; 0x0204C7A0
- push {r3-r7, lr}
- add r6, r0, #0x0
- bl FUN_02046528
- add r5, r0, #0x0
- add r0, r6, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- ldr r0, [r4, #0x4]
- cmp r0, #0x0
- beq _0204C7BE
- cmp r0, #0x1
- beq _0204C814
- b _0204C818
-_0204C7BE:
- ldr r0, [r5, #0x38]
- bl FUN_020553A0
- add r7, r0, #0x0
- ldr r0, [r5, #0x38]
- bl FUN_02055320
- str r0, [sp, #0x0]
- ldr r0, [r5, #0x38]
- bl FUN_0205532C
- add r2, r0, #0x0
- ldr r1, [sp, #0x0]
- add r0, r5, #0x0
- bl FUN_0204A6E0
- bl FUN_020547B0
- cmp r0, #0x0
- beq _0204C7FE
- add r0, r7, #0x0
- mov r1, #0x1
- bl FUN_0205889C
- mov r0, #0x1
- str r0, [r4, #0x4]
- ldr r1, _0204C81C ; =FUN_0204C6D4
- add r0, r6, #0x0
- add r2, r4, #0x0
- bl FUN_020463EC
- b _0204C818
-_0204C7FE:
- bl FUN_021DB030
- add r2, r0, #0x0
- ldr r1, _0204C820 ; =0x021DB381
- add r0, r6, #0x0
- bl FUN_0204640C
- ldr r0, [r4, #0x4]
- add r0, r0, #0x1
- str r0, [r4, #0x4]
- b _0204C818
-_0204C814:
- mov r0, #0x1
- pop {r3-r7, pc}
-_0204C818:
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-_0204C81C: .word FUN_0204C6D4
-_0204C820: .word 0x021DB381
-
- thumb_func_start FUN_0204C824
-FUN_0204C824: ; 0x0204C824
- push {r4-r6, lr}
- add r4, r0, #0x0
- bl FUN_02046528
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- ldr r0, [r4, #0x4]
- cmp r0, #0x0
- beq _0204C846
- cmp r0, #0x1
- beq _0204C86C
- cmp r0, #0x2
- beq _0204C894
- b _0204C898
-_0204C846:
- bl FUN_021DA5B8
- str r0, [r4, #0x1c]
- ldr r0, [r5, #0x38]
- bl FUN_02055320
- add r6, r0, #0x0
- ldr r0, [r5, #0x38]
- bl FUN_0205532C
- add r1, r0, #0x0
- ldr r2, [r4, #0x1c]
- add r0, r6, #0x0
- bl FUN_021DA5D0
- ldr r0, [r4, #0x4]
- add r0, r0, #0x1
- str r0, [r4, #0x4]
- b _0204C898
-_0204C86C:
- ldr r0, [r5, #0x38]
- ldr r6, [r4, #0x1c]
- bl FUN_020552F8
- add r2, r0, #0x0
- lsl r2, r2, #0x18
- add r0, r5, #0x0
- add r1, r6, #0x0
- lsr r2, r2, #0x18
- bl FUN_021DAAA4
- cmp r0, #0x0
- beq _0204C898
- ldr r0, [r4, #0x1c]
- bl FUN_021DA5C8
- ldr r0, [r4, #0x4]
- add r0, r0, #0x1
- str r0, [r4, #0x4]
- b _0204C898
-_0204C894:
- mov r0, #0x1
- pop {r4-r6, pc}
-_0204C898:
- mov r0, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_0204C89C
-FUN_0204C89C: ; 0x0204C89C
- push {r4-r6, lr}
- add r4, r0, #0x0
- bl FUN_02046528
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- ldr r0, [r4, #0x4]
- cmp r0, #0x3
- bhi _0204C936
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_0204C8C0: ; jump table (using 16-bit offset)
- .short _0204C8C8 - _0204C8C0 - 2; case 0
- .short _0204C904 - _0204C8C0 - 2; case 1
- .short _0204C922 - _0204C8C0 - 2; case 2
- .short _0204C932 - _0204C8C0 - 2; case 3
-_0204C8C8:
- mov r0, #0x1
- bl FUN_021D7CA4
- ldr r0, [r5, #0x38]
- bl FUN_020553A0
- add r6, r0, #0x0
- ldr r0, [r5, #0x38]
- bl FUN_020552F8
- cmp r0, #0x2
- bne _0204C8EA
- add r0, r6, #0x0
- mov r1, #0xa
- bl FUN_0205ADDC
- b _0204C8FC
-_0204C8EA:
- cmp r0, #0x3
- bne _0204C8F8
- add r0, r6, #0x0
- mov r1, #0xb
- bl FUN_0205ADDC
- b _0204C8FC
-_0204C8F8:
- bl ErrorHandling
-_0204C8FC:
- ldr r0, [r4, #0x4]
- add r0, r0, #0x1
- str r0, [r4, #0x4]
- b _0204C936
-_0204C904:
- ldr r0, [r5, #0x38]
- bl FUN_020553A0
- add r5, r0, #0x0
- bl FUN_0205AE28
- cmp r0, #0x1
- bne _0204C936
- add r0, r5, #0x0
- bl FUN_0205AE50
- ldr r0, [r4, #0x4]
- add r0, r0, #0x1
- str r0, [r4, #0x4]
- b _0204C936
-_0204C922:
- bl FUN_0200E308
- cmp r0, #0x0
- beq _0204C936
- ldr r0, [r4, #0x4]
- add r0, r0, #0x1
- str r0, [r4, #0x4]
- b _0204C936
-_0204C932:
- mov r0, #0x1
- pop {r4-r6, pc}
-_0204C936:
- mov r0, #0x0
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_0204C93C
-FUN_0204C93C: ; 0x0204C93C
- push {r4-r6, lr}
- add r5, r0, #0x0
- bl FUN_02046528
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- ldr r0, [r6, #0x38]
- bl FUN_020553A0
- ldr r0, [r4, #0x4]
- cmp r0, #0x0
- beq _0204C960
- cmp r0, #0x1
- beq _0204C976
- b _0204C97A
-_0204C960:
- bl FUN_021DB030
- add r2, r0, #0x0
- ldr r1, _0204C980 ; =0x021DB041
- add r0, r5, #0x0
- bl FUN_0204640C
- ldr r0, [r4, #0x4]
- add r0, r0, #0x1
- str r0, [r4, #0x4]
- b _0204C97A
-_0204C976:
- mov r0, #0x1
- pop {r4-r6, pc}
-_0204C97A:
- mov r0, #0x0
- pop {r4-r6, pc}
- nop
-_0204C980: .word 0x021DB041
-
- thumb_func_start FUN_0204C984
-FUN_0204C984: ; 0x0204C984
- push {r3-r5, lr}
- sub sp, #0x10
- add r5, r0, #0x0
- ldr r0, [r5, #0x38]
- bl FUN_020552F8
- add r4, r0, #0x0
- ldr r0, [r5, #0x38]
- add r1, sp, #0x4
- bl FUN_02055350
- cmp r4, #0x3
- bne _0204C9AA
- mov r0, #0x1
- ldr r1, [sp, #0x4]
- lsl r0, r0, #0x10
- sub r0, r1, r0
- str r0, [sp, #0x4]
- b _0204C9B4
-_0204C9AA:
- mov r0, #0x1
- ldr r1, [sp, #0x4]
- lsl r0, r0, #0x10
- add r0, r1, r0
- str r0, [sp, #0x4]
-_0204C9B4:
- mov r0, #0x0
- str r0, [sp, #0x0]
- ldr r1, [sp, #0x8]
- ldr r2, [sp, #0x4]
- ldr r3, [sp, #0xc]
- add r0, r5, #0x0
- bl FUN_0204A708
- str r0, [sp, #0x8]
- ldr r0, [r5, #0x38]
- add r1, sp, #0x4
- add r2, r4, #0x0
- bl FUN_020554EC
- ldr r0, [r5, #0x38]
- bl FUN_02055360
- ldr r1, [r5, #0x20]
- bl FUN_0201EFEC
- ldr r0, [r5, #0x38]
- bl FUN_02055360
- ldr r1, [r5, #0x20]
- bl FUN_0201EC68
- add sp, #0x10
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0204C9EC
-FUN_0204C9EC: ; 0x0204C9EC
- push {r4-r6, lr}
- sub sp, #0x10
- add r5, r0, #0x0
- ldr r0, [r5, #0x38]
- bl FUN_020552F8
- add r4, r0, #0x0
- ldr r0, [r5, #0x38]
- add r1, sp, #0x4
- bl FUN_02055350
- ldr r0, [r5, #0x38]
- bl FUN_02055320
- add r6, r0, #0x0
- ldr r0, [r5, #0x38]
- bl FUN_0205532C
- add r2, r0, #0x0
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_0204A6E0
- add r6, r0, #0x0
- bl FUN_020548D8
- cmp r0, #0x0
- beq _0204CA32
- mov r0, #0x1
- ldr r1, [sp, #0x4]
- lsl r0, r0, #0x10
- add r0, r1, r0
- str r0, [sp, #0x4]
- mov r4, #0x2
- b _0204CA48
-_0204CA32:
- add r0, r6, #0x0
- bl FUN_020548E4
- cmp r0, #0x0
- beq _0204CA48
- mov r0, #0x1
- ldr r1, [sp, #0x4]
- lsl r0, r0, #0x10
- sub r0, r1, r0
- str r0, [sp, #0x4]
- mov r4, #0x3
-_0204CA48:
- mov r0, #0x0
- str r0, [sp, #0x0]
- ldr r1, [sp, #0x8]
- ldr r2, [sp, #0x4]
- ldr r3, [sp, #0xc]
- add r0, r5, #0x0
- bl FUN_0204A708
- str r0, [sp, #0x8]
- ldr r0, [r5, #0x38]
- add r1, sp, #0x4
- add r2, r4, #0x0
- bl FUN_020554EC
- ldr r0, [r5, #0x38]
- bl FUN_02055360
- ldr r1, [r5, #0x20]
- bl FUN_0201EFEC
- ldr r0, [r5, #0x38]
- bl FUN_02055360
- ldr r1, [r5, #0x20]
- bl FUN_0201EC68
- add sp, #0x10
- pop {r4-r6, pc}
-
- thumb_func_start FUN_0204CA80
-FUN_0204CA80: ; 0x0204CA80
- mov r1, #0x1c
- mul r1, r0
- ldr r0, _0204CA8C ; =0x020F48CC
- ldrb r0, [r0, r1]
- bx lr
- nop
-_0204CA8C: .word 0x020F48CC
-
- thumb_func_start FUN_0204CA90
-FUN_0204CA90: ; 0x0204CA90
- mov r1, #0x1c
- mul r1, r0
- ldr r0, _0204CA9C ; =0x020F48CD
- ldrb r0, [r0, r1]
- bx lr
- nop
-_0204CA9C: .word 0x020F48CD
-
- thumb_func_start FUN_0204CAA0
-FUN_0204CAA0: ; 0x0204CAA0
- mov r1, #0x1c
- ldr r2, _0204CAAC ; =0x020F48CC
- mul r1, r0
- add r0, r2, r1
- add r0, r0, #0x2
- bx lr
- .balign 4
-_0204CAAC: .word 0x020F48CC
-
- thumb_func_start FUN_0204CAB0
-FUN_0204CAB0: ; 0x0204CAB0
- mov r1, #0x1c
- mul r1, r0
- ldr r0, _0204CABC ; =0x020F48D7
- ldrb r0, [r0, r1]
- bx lr
- nop
-_0204CABC: .word 0x020F48D7
-
- thumb_func_start FUN_0204CAC0
-FUN_0204CAC0: ; 0x0204CAC0
- mov r1, #0x1c
- mul r1, r0
- ldr r0, _0204CACC ; =0x020F48D8
- ldrb r0, [r0, r1]
- bx lr
- nop
-_0204CACC: .word 0x020F48D8
-
- thumb_func_start FUN_0204CAD0
-FUN_0204CAD0: ; 0x0204CAD0
- mov r1, #0x1c
- mul r1, r0
- ldr r0, _0204CADC ; =0x020F48D9
- ldrb r0, [r0, r1]
- bx lr
- nop
-_0204CADC: .word 0x020F48D9
-
- thumb_func_start FUN_0204CAE0
-FUN_0204CAE0: ; 0x0204CAE0
- mov r1, #0x1c
- mul r1, r0
- ldr r0, _0204CAEC ; =0x020F48DC
- ldr r0, [r0, r1]
- bx lr
- nop
-_0204CAEC: .word 0x020F48DC
-
- thumb_func_start FUN_0204CAF0
-FUN_0204CAF0: ; 0x0204CAF0
- mov r1, #0x1c
- mul r1, r0
- ldr r0, _0204CAFC ; =0x020F48E0
- ldr r0, [r0, r1]
- bx lr
- nop
-_0204CAFC: .word 0x020F48E0
-
- thumb_func_start FUN_0204CB00
-FUN_0204CB00: ; 0x0204CB00
- mov r1, #0x1c
- mul r1, r0
- ldr r0, _0204CB0C ; =0x020F48E4
- ldrb r0, [r0, r1]
- bx lr
- nop
-_0204CB0C: .word 0x020F48E4
-
- thumb_func_start FUN_0204CB10
-FUN_0204CB10: ; 0x0204CB10
- mov r1, #0x1c
- mul r1, r0
- ldr r0, _0204CB1C ; =0x020F48E5
- ldrb r0, [r0, r1]
- bx lr
- nop
-_0204CB1C: .word 0x020F48E5
-
- thumb_func_start FUN_0204CB20
-FUN_0204CB20: ; 0x0204CB20
- push {r3-r7, lr}
- add r4, r1, #0x0
- ldr r1, _0204CC34 ; =0x021C5A68
- add r5, r2, #0x0
- ldr r2, [r1, #0x0]
- cmp r2, #0x0
- beq _0204CB32
- mov r0, #0x0
- pop {r3-r7, pc}
-_0204CB32:
- bne _0204CB40
- mov r2, #0xb1
- str r0, [r1, #0x0]
- mov r1, #0x0
- lsl r2, r2, #0x2
- blx MI_CpuFill8
-_0204CB40:
- ldr r1, _0204CC34 ; =0x021C5A68
- ldr r0, _0204CC38 ; =0x000002BE
- ldr r2, [r1, #0x0]
- strb r5, [r2, r0]
- mov r2, #0x0
- ldr r0, [r1, #0x0]
- cmp r5, #0x0
- str r2, [r0, #0x4]
- beq _0204CB6C
- bl FUN_02244D1C
- add r1, r0, #0x0
- mov r0, #0xf
- bl FUN_02016998
- ldr r1, _0204CC34 ; =0x021C5A68
- ldr r2, [r1, #0x0]
- str r0, [r2, #0x4]
- ldr r0, [r1, #0x0]
- ldr r0, [r0, #0x4]
- bl FUN_02244D20
-_0204CB6C:
- ldr r0, _0204CC34 ; =0x021C5A68
- ldr r7, _0204CC3C ; =0x0000FFFF
- ldr r1, [r0, #0x0]
- str r4, [r1, #0x54]
- mov r1, #0x0
- add r2, r1, #0x0
- add r3, r1, #0x0
-_0204CB7A:
- ldr r4, [r0, #0x0]
- add r5, r4, r2
- mov r4, #0x0
- add r5, #0xa6
- mvn r4, r4
- strb r4, [r5, #0x0]
- ldr r4, [r0, #0x0]
- add r4, r4, r2
- add r4, #0xa2
- strh r7, [r4, #0x0]
- ldr r4, [r0, #0x0]
- add r4, r4, r2
- add r4, #0xa4
- strh r7, [r4, #0x0]
- ldr r4, [r0, #0x0]
- add r5, r4, r2
- add r5, #0xa7
- mov r4, #0x2
- strb r4, [r5, #0x0]
- ldr r4, [r0, #0x0]
- add r5, r4, r2
- mov r4, #0x0
- add r5, #0x66
- mvn r4, r4
- strb r4, [r5, #0x0]
- ldr r4, [r0, #0x0]
- add r4, r4, r2
- add r4, #0x62
- strh r7, [r4, #0x0]
- ldr r4, [r0, #0x0]
- add r4, r4, r2
- add r4, #0x64
- strh r7, [r4, #0x0]
- ldr r4, [r0, #0x0]
- add r5, r4, r2
- add r5, #0x67
- mov r4, #0x2
- strb r4, [r5, #0x0]
- ldr r4, [r0, #0x0]
- ldr r5, _0204CC40 ; =0x00000102
- add r6, r4, r1
- mov r4, #0x0
- mvn r4, r4
- strb r4, [r6, r5]
- ldr r4, [r0, #0x0]
- add r2, #0x8
- add r5, r4, r1
- add r5, #0xe2
- mov r4, #0x0
- strb r4, [r5, #0x0]
- ldr r4, [r0, #0x0]
- add r5, r4, r1
- add r5, #0xea
- mov r4, #0x1
- strb r4, [r5, #0x0]
- ldr r4, [r0, #0x0]
- add r5, r4, r1
- add r5, #0xf2
- mov r4, #0x0
- strb r4, [r5, #0x0]
- ldr r4, [r0, #0x0]
- mov r5, #0xff
- add r6, r4, r3
- add r4, r5, #0x0
- add r4, #0x6b
- add r1, r1, #0x1
- add r3, #0x22
- strh r5, [r6, r4]
- cmp r1, #0x8
- blt _0204CB7A
- ldr r2, _0204CC34 ; =0x021C5A68
- mov r1, #0xaf
- ldr r3, [r2, #0x0]
- lsl r1, r1, #0x2
- mov r0, #0x0
- strb r0, [r3, r1]
- ldr r2, [r2, #0x0]
- add r1, r1, #0x3
- strb r0, [r2, r1]
- ldr r0, _0204CC44 ; =FUN_0204D4F0
- mov r1, #0x0
- mov r2, #0xc8
- bl FUN_0200CA44
- ldr r1, _0204CC34 ; =0x021C5A68
- ldr r1, [r1, #0x0]
- str r0, [r1, #0x50]
- bl FUN_02030FA8
- bl FUN_0204CF60
- mov r0, #0x1
- pop {r3-r7, pc}
- .balign 4
-_0204CC34: .word 0x021C5A68
-_0204CC38: .word 0x000002BE
-_0204CC3C: .word 0x0000FFFF
-_0204CC40: .word 0x00000102
-_0204CC44: .word FUN_0204D4F0
-
- thumb_func_start FUN_0204CC48
-FUN_0204CC48: ; 0x0204CC48
- push {r3-r7, lr}
- ldr r4, _0204CC94 ; =0x021C5A68
- ldr r0, [r4, #0x0]
- cmp r0, #0x0
- beq _0204CC92
- ldr r6, _0204CC98 ; =0x000002BE
- mov r5, #0x0
- mov r7, #0x1
-_0204CC58:
- ldr r0, [r4, #0x0]
- ldrb r0, [r0, r6]
- cmp r0, #0x0
- beq _0204CC6E
- lsl r0, r5, #0x18
- lsr r0, r0, #0x18
- add r1, r7, #0x0
- mov r2, #0x0
- bl FUN_0204D43C
- b _0204CC7A
-_0204CC6E:
- lsl r0, r5, #0x18
- mov r1, #0x1
- lsr r0, r0, #0x18
- add r2, r1, #0x0
- bl FUN_0204D43C
-_0204CC7A:
- add r5, r5, #0x1
- cmp r5, #0x8
- blt _0204CC58
- ldr r0, _0204CC94 ; =0x021C5A68
- ldr r2, [r0, #0x0]
- ldr r0, _0204CC98 ; =0x000002BE
- ldrb r1, [r2, r0]
- cmp r1, #0x0
- beq _0204CC92
- mov r1, #0x1
- sub r0, r0, #0x1
- strb r1, [r2, r0]
-_0204CC92:
- pop {r3-r7, pc}
- .balign 4
-_0204CC94: .word 0x021C5A68
-_0204CC98: .word 0x000002BE
-
- thumb_func_start FUN_0204CC9C
-FUN_0204CC9C: ; 0x0204CC9C
- push {r3, lr}
- ldr r1, _0204CCD8 ; =0x021C5A68
- ldr r3, [r1, #0x0]
- cmp r3, #0x0
- beq _0204CCD6
- ldr r0, _0204CCDC ; =0x000002BB
- mov r2, #0x1
- strb r2, [r3, r0]
- ldr r1, [r1, #0x0]
- mov r2, #0x0
- add r0, r0, #0x2
- strb r2, [r1, r0]
- bl FUN_0204CF60
- mov r0, #0x1
- bl FUN_0204D168
- ldr r0, _0204CCD8 ; =0x021C5A68
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x54]
- ldr r0, [r0, #0x38]
- bl FUN_02055320
- ldr r0, _0204CCD8 ; =0x021C5A68
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x54]
- ldr r0, [r0, #0x38]
- bl FUN_0205532C
-_0204CCD6:
- pop {r3, pc}
- .balign 4
-_0204CCD8: .word 0x021C5A68
-_0204CCDC: .word 0x000002BB
-
- thumb_func_start FUN_0204CCE0
-FUN_0204CCE0: ; 0x0204CCE0
- push {r3-r7, lr}
- ldr r7, _0204CD70 ; =0x021C5A68
- add r6, r0, #0x0
- ldr r0, [r7, #0x0]
- cmp r0, #0x0
- beq _0204CD6E
- mov r4, #0x0
- add r5, r4, #0x0
-_0204CCF0:
- ldr r0, [r7, #0x0]
- add r1, r0, r5
- mov r0, #0x9f
- lsl r0, r0, #0x2
- ldr r0, [r1, r0]
- cmp r0, #0x0
- beq _0204CD0E
- bl FUN_02016A18
- ldr r0, [r7, #0x0]
- mov r1, #0x0
- add r2, r0, r5
- mov r0, #0x9f
- lsl r0, r0, #0x2
- str r1, [r2, r0]
-_0204CD0E:
- add r4, r4, #0x1
- add r5, r5, #0x4
- cmp r4, #0x5
- blt _0204CCF0
- ldr r0, _0204CD70 ; =0x021C5A68
- ldr r2, [r0, #0x0]
- ldr r0, _0204CD74 ; =0x000002B2
- ldrh r1, [r2, r0]
- cmp r1, #0x5
- blo _0204CD28
- ldr r0, [r2, #0x54]
- bl FUN_02061B64
-_0204CD28:
- mov r4, #0x0
- add r5, r4, #0x0
-_0204CD2C:
- lsl r0, r4, #0x18
- lsr r0, r0, #0x18
- add r1, r5, #0x0
- add r2, r6, #0x0
- bl FUN_0204D43C
- add r4, r4, #0x1
- cmp r4, #0x8
- blt _0204CD2C
- ldr r0, _0204CD70 ; =0x021C5A68
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x50]
- bl FUN_0200CAB4
- ldr r0, _0204CD70 ; =0x021C5A68
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x4]
- cmp r0, #0x0
- beq _0204CD60
- bl FUN_02244D3C
- ldr r0, _0204CD70 ; =0x021C5A68
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x4]
- bl FUN_02016A18
-_0204CD60:
- ldr r0, _0204CD70 ; =0x021C5A68
- ldr r0, [r0, #0x0]
- bl FUN_02016A18
- ldr r0, _0204CD70 ; =0x021C5A68
- mov r1, #0x0
- str r1, [r0, #0x0]
-_0204CD6E:
- pop {r3-r7, pc}
- .balign 4
-_0204CD70: .word 0x021C5A68
-_0204CD74: .word 0x000002B2
-
- thumb_func_start FUN_0204CD78
-FUN_0204CD78: ; 0x0204CD78
- push {r4, lr}
- lsl r4, r0, #0x2
- ldr r0, _0204CDB0 ; =0x021C5A68
- ldr r0, [r0, #0x0]
- add r0, r0, r4
- ldr r0, [r0, #0x28]
- cmp r0, #0x0
- beq _0204CDAC
- bl FUN_020646A0
- cmp r0, #0x0
- beq _0204CD9E
- ldr r0, _0204CDB0 ; =0x021C5A68
- ldr r0, [r0, #0x0]
- add r0, r0, r4
- ldr r0, [r0, #0x28]
- bl FUN_02064520
- b _0204CDA2
-_0204CD9E:
- bl ErrorHandling
-_0204CDA2:
- ldr r0, _0204CDB0 ; =0x021C5A68
- mov r1, #0x0
- ldr r0, [r0, #0x0]
- add r0, r0, r4
- str r1, [r0, #0x28]
-_0204CDAC:
- pop {r4, pc}
- nop
-_0204CDB0: .word 0x021C5A68
-
- thumb_func_start FUN_0204CDB4
-FUN_0204CDB4: ; 0x0204CDB4
- push {r3-r7, lr}
- mov r4, #0x0
- ldr r6, _0204CED4 ; =0x021C5A68
- add r7, r4, #0x0
- add r5, r4, #0x0
-_0204CDBE:
- add r0, r4, #0x0
- bl FUN_0204E778
- add r0, r4, #0x0
- bl FUN_0204CD78
- cmp r4, #0x0
- beq _0204CDD4
- add r0, r4, #0x0
- bl FUN_0204ED9C
-_0204CDD4:
- ldr r1, [r6, #0x0]
- add r0, r1, r7
- ldr r0, [r0, #0x8]
- cmp r0, #0x0
- beq _0204CDFA
- ldr r2, [r1, #0x54]
- ldr r2, [r2, #0x38]
- cmp r2, r0
- beq _0204CDF2
- ldr r2, _0204CED8 ; =0x000002BE
- ldrb r1, [r1, r2]
- cmp r1, #0x0
- beq _0204CDF2
- bl FUN_02055168
-_0204CDF2:
- ldr r0, [r6, #0x0]
- add r1, r0, r7
- mov r0, #0x0
- str r0, [r1, #0x8]
-_0204CDFA:
- ldr r0, [r6, #0x0]
- add r7, r7, #0x4
- add r1, r0, r4
- add r1, #0x48
- mov r0, #0x0
- strb r0, [r1, #0x0]
- ldr r0, [r6, #0x0]
- add r1, r0, r5
- mov r0, #0x0
- add r1, #0xa6
- mvn r0, r0
- strb r0, [r1, #0x0]
- ldr r0, [r6, #0x0]
- add r1, r0, r5
- ldr r0, _0204CEDC ; =0x0000FFFF
- add r1, #0xa2
- strh r0, [r1, #0x0]
- ldr r0, [r6, #0x0]
- add r1, r0, r5
- ldr r0, _0204CEDC ; =0x0000FFFF
- add r1, #0xa4
- strh r0, [r1, #0x0]
- ldr r0, [r6, #0x0]
- add r1, r0, r5
- add r1, #0xa7
- mov r0, #0x2
- strb r0, [r1, #0x0]
- ldr r0, [r6, #0x0]
- add r1, r0, r5
- mov r0, #0x0
- add r1, #0x66
- mvn r0, r0
- strb r0, [r1, #0x0]
- ldr r0, [r6, #0x0]
- add r1, r0, r5
- ldr r0, _0204CEDC ; =0x0000FFFF
- add r1, #0x62
- strh r0, [r1, #0x0]
- ldr r0, [r6, #0x0]
- add r1, r0, r5
- ldr r0, _0204CEDC ; =0x0000FFFF
- add r1, #0x64
- strh r0, [r1, #0x0]
- ldr r0, [r6, #0x0]
- add r1, r0, r5
- add r1, #0x67
- mov r0, #0x2
- strb r0, [r1, #0x0]
- ldr r0, [r6, #0x0]
- mov r1, #0x0
- add r2, r0, r4
- ldr r0, _0204CEE0 ; =0x00000102
- mvn r1, r1
- strb r1, [r2, r0]
- ldr r0, [r6, #0x0]
- mov r1, #0x0
- add r2, r0, r4
- ldr r0, _0204CEE4 ; =0x0000010A
- add r5, #0x8
- strb r1, [r2, r0]
- ldr r0, [r6, #0x0]
- add r1, r0, r4
- add r1, #0xe2
- mov r0, #0x0
- strb r0, [r1, #0x0]
- ldr r0, [r6, #0x0]
- add r1, r0, r4
- add r1, #0xea
- mov r0, #0x1
- strb r0, [r1, #0x0]
- ldr r0, [r6, #0x0]
- add r1, r0, r4
- add r1, #0xf2
- mov r0, #0x0
- strb r0, [r1, #0x0]
- ldr r0, [r6, #0x0]
- mov r1, #0x0
- add r2, r0, r4
- ldr r0, _0204CEE8 ; =0x0000013A
- strb r1, [r2, r0]
- ldr r0, [r6, #0x0]
- add r2, r0, r4
- ldr r0, _0204CEEC ; =0x00000142
- add r4, r4, #0x1
- strb r1, [r2, r0]
- cmp r4, #0x8
- blt _0204CDBE
- ldr r0, _0204CED4 ; =0x021C5A68
- ldr r1, _0204CEF0 ; =0x000002BF
- ldr r2, [r0, #0x0]
- mov r0, #0x0
- strb r0, [r2, r1]
- bl FUN_0204CF60
- ldr r0, _0204CED4 ; =0x021C5A68
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x50]
- cmp r0, #0x0
- bne _0204CED0
- ldr r0, _0204CEF4 ; =FUN_0204D4F0
- mov r1, #0x0
- mov r2, #0xc8
- bl FUN_0200CA44
- ldr r1, _0204CED4 ; =0x021C5A68
- ldr r1, [r1, #0x0]
- str r0, [r1, #0x50]
-_0204CED0:
- pop {r3-r7, pc}
- nop
-_0204CED4: .word 0x021C5A68
-_0204CED8: .word 0x000002BE
-_0204CEDC: .word 0x0000FFFF
-_0204CEE0: .word 0x00000102
-_0204CEE4: .word 0x0000010A
-_0204CEE8: .word 0x0000013A
-_0204CEEC: .word 0x00000142
-_0204CEF0: .word 0x000002BF
-_0204CEF4: .word FUN_0204D4F0
-
- thumb_func_start FUN_0204CEF8
-FUN_0204CEF8: ; 0x0204CEF8
- push {r3, lr}
- ldr r0, _0204CF20 ; =0x021C5A68
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x50]
- cmp r0, #0x0
- beq _0204CF16
- mov r0, #0x0
- add r1, r0, #0x0
- bl FUN_0204D4F0
- ldr r0, _0204CF20 ; =0x021C5A68
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x50]
- bl FUN_0200CAB4
-_0204CF16:
- ldr r0, _0204CF20 ; =0x021C5A68
- mov r1, #0x0
- ldr r0, [r0, #0x0]
- str r1, [r0, #0x50]
- pop {r3, pc}
- .balign 4
-_0204CF20: .word 0x021C5A68
-
- thumb_func_start FUN_0204CF24
-FUN_0204CF24: ; 0x0204CF24
- push {r3-r5, lr}
- ldr r0, _0204CF58 ; =0x021C5A68
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- beq _0204CF54
- mov r5, #0x0
- add r4, r5, #0x0
-_0204CF32:
- lsl r0, r5, #0x18
- lsr r0, r0, #0x18
- add r1, r4, #0x0
- add r2, r4, #0x0
- bl FUN_0204D43C
- add r0, r5, #0x0
- bl FUN_0204F69C
- add r5, r5, #0x1
- cmp r5, #0x8
- blt _0204CF32
- ldr r0, _0204CF58 ; =0x021C5A68
- mov r2, #0x1
- ldr r1, [r0, #0x0]
- ldr r0, _0204CF5C ; =0x000002BD
- strb r2, [r1, r0]
-_0204CF54:
- pop {r3-r5, pc}
- nop
-_0204CF58: .word 0x021C5A68
-_0204CF5C: .word 0x000002BD
-
- thumb_func_start FUN_0204CF60
-FUN_0204CF60: ; 0x0204CF60
- push {r4, lr}
- bl FUN_02031190
- ldr r1, _0204D03C ; =0x021C5A68
- lsl r0, r0, #0x2
- ldr r2, [r1, #0x0]
- ldr r1, [r2, #0x54]
- add r0, r2, r0
- ldr r1, [r1, #0x38]
- str r1, [r0, #0x8]
- bl FUN_02031190
- ldr r1, _0204D03C ; =0x021C5A68
- mov r2, #0x1
- ldr r1, [r1, #0x0]
- add r0, r1, r0
- add r0, #0x48
- strb r2, [r0, #0x0]
- bl FUN_02031190
- add r4, r0, #0x0
- ldr r0, _0204D03C ; =0x021C5A68
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x54]
- ldr r0, [r0, #0x38]
- bl FUN_02055320
- ldr r1, _0204D03C ; =0x021C5A68
- ldr r2, [r1, #0x0]
- lsl r1, r4, #0x3
- add r1, r2, r1
- add r1, #0xa2
- strh r0, [r1, #0x0]
- bl FUN_02031190
- add r4, r0, #0x0
- ldr r0, _0204D03C ; =0x021C5A68
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x54]
- ldr r0, [r0, #0x38]
- bl FUN_0205532C
- ldr r1, _0204D03C ; =0x021C5A68
- ldr r2, [r1, #0x0]
- lsl r1, r4, #0x3
- add r1, r2, r1
- add r1, #0xa4
- strh r0, [r1, #0x0]
- bl FUN_02031190
- add r4, r0, #0x0
- ldr r0, _0204D03C ; =0x021C5A68
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x54]
- ldr r0, [r0, #0x38]
- bl FUN_020552F8
- ldr r1, _0204D03C ; =0x021C5A68
- ldr r2, [r1, #0x0]
- lsl r1, r4, #0x3
- add r1, r2, r1
- add r1, #0xa6
- strb r0, [r1, #0x0]
- bl FUN_02031190
- add r4, r0, #0x0
- ldr r0, _0204D03C ; =0x021C5A68
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x54]
- ldr r0, [r0, #0x38]
- bl FUN_02055320
- ldr r1, _0204D03C ; =0x021C5A68
- ldr r2, [r1, #0x0]
- lsl r1, r4, #0x3
- add r1, r2, r1
- add r1, #0x62
- strh r0, [r1, #0x0]
- bl FUN_02031190
- add r4, r0, #0x0
- ldr r0, _0204D03C ; =0x021C5A68
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x54]
- ldr r0, [r0, #0x38]
- bl FUN_0205532C
- ldr r1, _0204D03C ; =0x021C5A68
- ldr r2, [r1, #0x0]
- lsl r1, r4, #0x3
- add r1, r2, r1
- add r1, #0x64
- strh r0, [r1, #0x0]
- bl FUN_02031190
- add r4, r0, #0x0
- ldr r0, _0204D03C ; =0x021C5A68
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x54]
- ldr r0, [r0, #0x38]
- bl FUN_020552F8
- ldr r1, _0204D03C ; =0x021C5A68
- ldr r2, [r1, #0x0]
- lsl r1, r4, #0x3
- add r1, r2, r1
- add r1, #0x66
- strb r0, [r1, #0x0]
- pop {r4, pc}
- nop
-_0204D03C: .word 0x021C5A68
-
- thumb_func_start FUN_0204D040
-FUN_0204D040: ; 0x0204D040
- push {r3-r7, lr}
- str r0, [sp, #0x0]
- ldr r0, _0204D110 ; =0x021C5A68
- mov r2, #0x0
- ldr r1, [r0, #0x0]
- ldr r0, _0204D114 ; =0x000002BF
- strb r2, [r1, r0]
- bl FUN_02031190
- ldr r2, _0204D110 ; =0x021C5A68
- add r1, r0, #0x0
- ldr r4, [r2, #0x0]
- lsl r6, r1, #0x2
- ldr r0, [r4, #0x54]
- ldr r3, [r0, #0x38]
- add r0, r4, r6
- str r3, [r0, #0x8]
- ldr r0, [r2, #0x0]
- mov r3, #0x1
- add r0, r0, r1
- add r0, #0x48
- strb r3, [r0, #0x0]
- ldr r0, [sp, #0x0]
- ldr r3, [r2, #0x0]
- lsl r5, r0, #0x3
- add r0, r3, r5
- add r0, #0xa2
- lsl r4, r1, #0x3
- add r3, r3, r4
- ldrh r0, [r0, #0x0]
- add r3, #0xa2
- strh r0, [r3, #0x0]
- ldr r3, [r2, #0x0]
- add r0, r3, r5
- add r0, #0xa4
- add r3, r3, r4
- ldrh r0, [r0, #0x0]
- add r3, #0xa4
- strh r0, [r3, #0x0]
- ldr r7, [r2, #0x0]
- mov r0, #0xa6
- add r3, r7, r5
- ldrsb r0, [r3, r0]
- add r3, r7, r4
- add r3, #0xa6
- strb r0, [r3, #0x0]
- ldr r3, [r2, #0x0]
- mov r7, #0x29
- add r0, r3, r5
- add r0, #0x62
- add r3, r3, r4
- ldrh r0, [r0, #0x0]
- add r3, #0x62
- lsl r7, r7, #0x4
- strh r0, [r3, #0x0]
- ldr r3, [r2, #0x0]
- add r0, r3, r5
- add r0, #0x64
- add r3, r3, r4
- ldrh r0, [r0, #0x0]
- add r3, #0x64
- strh r0, [r3, #0x0]
- ldr r0, [r2, #0x0]
- mov r3, #0x66
- add r5, r0, r5
- add r0, r0, r4
- ldrsb r5, [r5, r3]
- add r0, #0x66
- strb r5, [r0, #0x0]
- ldr r0, [sp, #0x0]
- ldr r4, [r2, #0x0]
- lsl r5, r0, #0x2
- add r0, r4, r5
- ldr r0, [r0, r7]
- add r4, r4, r6
- str r0, [r4, r7]
- ldr r0, [r2, #0x0]
- mov r4, #0x0
- add r0, r0, r5
- str r4, [r0, r7]
- ldr r2, [r2, #0x0]
- add r0, r2, r6
- ldr r0, [r0, r7]
- cmp r0, #0x0
- beq _0204D0F8
- add r3, #0xe4
- add r3, r2, r3
- mov r2, #0x22
- mul r2, r1
- add r1, r3, r2
- bl FUN_0202393C
-_0204D0F8:
- ldr r1, _0204D110 ; =0x021C5A68
- mov r0, #0xff
- ldr r3, [r1, #0x0]
- ldr r1, [sp, #0x0]
- mov r2, #0x22
- mul r2, r1
- add r1, r0, #0x0
- add r2, r3, r2
- add r1, #0x6b
- strh r0, [r2, r1]
- pop {r3-r7, pc}
- nop
-_0204D110: .word 0x021C5A68
-_0204D114: .word 0x000002BF
-
- thumb_func_start FUN_0204D118
-FUN_0204D118: ; 0x0204D118
- push {r4-r6, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- ldr r0, _0204D160 ; =0x021C5A68
- add r4, r1, #0x0
- ldr r0, [r0, #0x0]
- add r6, r2, #0x0
- ldr r0, [r0, #0x54]
- ldr r0, [r0, #0x38]
- bl FUN_020552F8
- add r1, sp, #0x0
- strb r4, [r1, #0x0]
- asr r2, r4, #0x8
- strb r2, [r1, #0x1]
- asr r2, r6, #0x8
- strb r6, [r1, #0x2]
- strb r2, [r1, #0x3]
- strb r0, [r1, #0x4]
- cmp r5, #0x0
- beq _0204D14A
- ldrb r2, [r1, #0x4]
- mov r0, #0x80
- orr r0, r2
- strb r0, [r1, #0x4]
-_0204D14A:
- mov r0, #0x16
- add r1, sp, #0x0
- bl FUN_020311D0
- ldr r0, _0204D160 ; =0x021C5A68
- mov r2, #0x1
- ldr r1, [r0, #0x0]
- ldr r0, _0204D164 ; =0x000002BB
- strb r2, [r1, r0]
- add sp, #0x8
- pop {r4-r6, pc}
- .balign 4
-_0204D160: .word 0x021C5A68
-_0204D164: .word 0x000002BB
-
- thumb_func_start FUN_0204D168
-FUN_0204D168: ; 0x0204D168
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r0, _0204D194 ; =0x021C5A68
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x54]
- ldr r0, [r0, #0x38]
- bl FUN_02055320
- add r4, r0, #0x0
- ldr r0, _0204D194 ; =0x021C5A68
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x54]
- ldr r0, [r0, #0x38]
- bl FUN_0205532C
- add r2, r0, #0x0
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_0204D118
- pop {r3-r5, pc}
- nop
-_0204D194: .word 0x021C5A68
-
- thumb_func_start FUN_0204D198
-FUN_0204D198: ; 0x0204D198
- push {r3-r5, lr}
- add r5, r0, #0x0
- bl FUN_02031190
- ldr r1, _0204D1C8 ; =0x021C5A68
- lsl r0, r0, #0x3
- ldr r1, [r1, #0x0]
- add r0, r1, r0
- add r0, #0x62
- ldrh r4, [r0, #0x0]
- bl FUN_02031190
- ldr r1, _0204D1C8 ; =0x021C5A68
- lsl r0, r0, #0x3
- ldr r1, [r1, #0x0]
- add r0, r1, r0
- add r0, #0x64
- ldrh r2, [r0, #0x0]
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_0204D118
- pop {r3-r5, pc}
- nop
-_0204D1C8: .word 0x021C5A68
-
- thumb_func_start FUN_0204D1CC
-FUN_0204D1CC: ; 0x0204D1CC
- push {r3-r5, lr}
- sub sp, #0x8
- ldrh r2, [r1, #0x0]
- mov r4, #0xf
- lsl r4, r4, #0xc
- ldrh r3, [r1, #0x2]
- cmp r2, r4
- blo _0204D1DE
- sub r2, r4, #0x1
-_0204D1DE:
- mov r4, #0xf
- lsl r4, r4, #0xc
- cmp r3, r4
- blo _0204D1E8
- sub r3, r4, #0x1
-_0204D1E8:
- mov r4, #0xf
- and r0, r4
- add r4, sp, #0x0
- strb r0, [r4, #0x0]
- strb r2, [r4, #0x1]
- asr r2, r2, #0x8
- add r5, r2, #0x0
- mov r0, #0x1
- and r5, r0
- asr r2, r3, #0x7
- mov r0, #0x2
- and r0, r2
- add r0, r5, r0
- strb r0, [r4, #0x2]
- strb r3, [r4, #0x3]
- ldrb r0, [r1, #0x7]
- cmp r0, #0x0
- beq _0204D214
- ldrb r2, [r4, #0x2]
- mov r0, #0x80
- orr r0, r2
- strb r0, [r4, #0x2]
-_0204D214:
- mov r2, #0x4
- ldrsb r2, [r1, r2]
- add r5, sp, #0x0
- ldrb r0, [r5, #0x0]
- lsr r4, r2, #0x1f
- lsl r3, r2, #0x1e
- sub r3, r3, r4
- mov r2, #0x1e
- ror r3, r2
- add r2, r4, r3
- lsl r2, r2, #0x4
- add r0, r0, r2
- strb r0, [r5, #0x0]
- ldrb r0, [r1, #0x5]
- ldrb r2, [r5, #0x0]
- add r1, sp, #0x0
- lsl r0, r0, #0x6
- add r0, r2, r0
- strb r0, [r5, #0x0]
- mov r0, #0x17
- mov r2, #0x0
- bl FUN_02030BC4
- add sp, #0x8
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0204D248
-FUN_0204D248: ; 0x0204D248
- push {r3-r5, lr}
- ldr r0, _0204D2A8 ; =0x021C5A68
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x54]
- ldr r0, [r0, #0x38]
- bl FUN_02055370
- add r4, r0, #0x0
- ldr r0, _0204D2A8 ; =0x021C5A68
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x54]
- ldr r0, [r0, #0x38]
- bl FUN_02055378
- add r5, r0, #0x0
- cmp r4, #0x0
- bne _0204D292
- bl FUN_02031190
- bl FUN_02030E7C
- cmp r0, #0x0
- beq _0204D292
- ldr r0, _0204D2A8 ; =0x021C5A68
- ldr r1, [r0, #0x0]
- ldr r0, _0204D2AC ; =0x000002BA
- ldrb r0, [r1, r0]
- cmp r0, #0x0
- bne _0204D292
- mov r0, #0x1
- bl FUN_0204D168
- ldr r0, _0204D2A8 ; =0x021C5A68
- mov r2, #0x1
- ldr r1, [r0, #0x0]
- ldr r0, _0204D2AC ; =0x000002BA
- strb r2, [r1, r0]
-_0204D292:
- cmp r4, #0x1
- bne _0204D2A4
- cmp r5, #0x1
- bne _0204D2A4
- ldr r0, _0204D2A8 ; =0x021C5A68
- mov r2, #0x0
- ldr r1, [r0, #0x0]
- ldr r0, _0204D2AC ; =0x000002BA
- strb r2, [r1, r0]
-_0204D2A4:
- pop {r3-r5, pc}
- nop
-_0204D2A8: .word 0x021C5A68
-_0204D2AC: .word 0x000002BA
-
- thumb_func_start FUN_0204D2B0
-FUN_0204D2B0: ; 0x0204D2B0
- push {r3-r7, lr}
- mov r4, #0x0
- ldr r7, _0204D2FC ; =0x021C5A68
- add r5, r4, #0x0
- add r6, r4, #0x0
-_0204D2BA:
- ldr r0, [r7, #0x0]
- add r2, r0, r4
- add r1, r2, #0x0
- add r1, #0x48
- ldrb r1, [r1, #0x0]
- cmp r1, #0x0
- beq _0204D2E8
- ldr r3, _0204D300 ; =0x00000132
- add r1, r0, #0x0
- ldrb r3, [r2, r3]
- add r1, #0x62
- cmp r3, #0x0
- bne _0204D2DC
- ldr r3, _0204D304 ; =0x000002BB
- ldrb r0, [r0, r3]
- cmp r0, #0x0
- beq _0204D2E8
-_0204D2DC:
- ldr r0, _0204D300 ; =0x00000132
- add r1, r1, r5
- strb r6, [r2, r0]
- add r0, r4, #0x0
- bl FUN_0204D1CC
-_0204D2E8:
- add r4, r4, #0x1
- add r5, #0x8
- cmp r4, #0x8
- blt _0204D2BA
- ldr r0, _0204D2FC ; =0x021C5A68
- mov r2, #0x0
- ldr r1, [r0, #0x0]
- ldr r0, _0204D304 ; =0x000002BB
- strb r2, [r1, r0]
- pop {r3-r7, pc}
- .balign 4
-_0204D2FC: .word 0x021C5A68
-_0204D300: .word 0x00000132
-_0204D304: .word 0x000002BB
-
- thumb_func_start FUN_0204D308
-FUN_0204D308: ; 0x0204D308
- ldr r0, _0204D31C ; =0x021C5A68
- ldr r2, [r0, #0x0]
- cmp r2, #0x0
- beq _0204D318
- mov r0, #0xae
- mov r1, #0x0
- lsl r0, r0, #0x2
- strb r1, [r2, r0]
-_0204D318:
- bx lr
- nop
-_0204D31C: .word 0x021C5A68
-
- thumb_func_start FUN_0204D320
-FUN_0204D320: ; 0x0204D320
- mov r0, #0xb1
- lsl r0, r0, #0x2
- bx lr
- .balign 4
-
- thumb_func_start FUN_0204D328
-FUN_0204D328: ; 0x0204D328
- push {r3-r7, lr}
- sub sp, #0x10
- ldr r1, _0204D430 ; =0x021C5A68
- add r5, r0, #0x0
- ldr r2, [r1, #0x0]
- lsl r6, r5, #0x2
- add r1, r2, r6
- ldr r1, [r1, #0x8]
- cmp r1, #0x0
- bne _0204D42A
- ldr r1, _0204D434 ; =0x000002BD
- ldrb r1, [r2, r1]
- cmp r1, #0x0
- bne _0204D42A
- bl FUN_0202DFA4
- str r0, [sp, #0xc]
- cmp r0, #0x0
- beq _0204D42A
- ldr r0, _0204D430 ; =0x021C5A68
- ldr r1, [r0, #0x0]
- ldr r0, _0204D438 ; =0x000002BE
- ldrb r0, [r1, r0]
- cmp r0, #0x0
- bne _0204D37C
- bl FUN_02031190
- cmp r5, r0
- beq _0204D37C
- ldr r0, _0204D430 ; =0x021C5A68
- mov r1, #0x1
- ldr r0, [r0, #0x0]
- lsl r1, r1, #0x8
- ldr r0, [r0, #0x54]
- add r1, r5, r1
- ldr r0, [r0, #0x34]
- bl FUN_02058060
- cmp r0, #0x0
- beq _0204D37C
- bl FUN_02057654
-_0204D37C:
- ldr r0, _0204D430 ; =0x021C5A68
- lsl r4, r5, #0x3
- ldr r7, [r0, #0x0]
- ldr r0, [sp, #0xc]
- bl FUN_020239CC
- mov r1, #0x0
- str r1, [sp, #0x0]
- str r0, [sp, #0x4]
- str r1, [sp, #0x8]
- ldr r0, [r7, #0x54]
- add r7, r7, r4
- add r1, r7, #0x0
- add r2, r7, #0x0
- add r1, #0xa2
- add r2, #0xa4
- mov r3, #0xa6
- ldrh r1, [r1, #0x0]
- ldrh r2, [r2, #0x0]
- ldrsb r3, [r7, r3]
- ldr r0, [r0, #0x34]
- bl FUN_02055068
- add r7, r0, #0x0
- bne _0204D3B2
- bl ErrorHandling
-_0204D3B2:
- ldr r0, _0204D430 ; =0x021C5A68
- ldr r0, [r0, #0x0]
- add r0, r0, r6
- str r7, [r0, #0x8]
- add r0, r7, #0x0
- bl FUN_020553A0
- mov r1, #0x1
- lsl r1, r1, #0x8
- add r1, r5, r1
- bl FUN_02058444
- ldr r0, _0204D430 ; =0x021C5A68
- ldr r1, [r0, #0x0]
- ldr r0, _0204D438 ; =0x000002BE
- ldrb r0, [r1, r0]
- cmp r0, #0x0
- beq _0204D3DC
- add r0, r5, #0x0
- bl FUN_0223E4D4
-_0204D3DC:
- ldr r0, _0204D430 ; =0x021C5A68
- ldr r1, _0204D438 ; =0x000002BE
- ldr r3, [r0, #0x0]
- ldrb r2, [r3, r1]
- cmp r2, #0x0
- beq _0204D41E
- add r0, r3, r5
- add r0, #0x48
- ldrb r0, [r0, #0x0]
- cmp r0, #0x0
- bne _0204D41E
- sub r0, r1, #0x1
- ldrb r0, [r3, r0]
- cmp r0, #0x0
- bne _0204D40E
- add r1, r3, r4
- ldr r0, [r3, #0x54]
- add r3, r3, r4
- add r1, #0xa2
- add r3, #0xa4
- ldrh r1, [r1, #0x0]
- ldrh r3, [r3, #0x0]
- mov r2, #0x0
- bl FUN_021E5B30
-_0204D40E:
- ldr r0, _0204D430 ; =0x021C5A68
- mov r1, #0x1
- ldr r0, [r0, #0x0]
- add sp, #0x10
- add r0, r0, r5
- add r0, #0x48
- strb r1, [r0, #0x0]
- pop {r3-r7, pc}
-_0204D41E:
- cmp r2, #0x0
- bne _0204D42A
- add r0, r3, r5
- mov r1, #0x1
- add r0, #0x48
- strb r1, [r0, #0x0]
-_0204D42A:
- add sp, #0x10
- pop {r3-r7, pc}
- nop
-_0204D430: .word 0x021C5A68
-_0204D434: .word 0x000002BD
-_0204D438: .word 0x000002BE
-
- thumb_func_start FUN_0204D43C
-FUN_0204D43C: ; 0x0204D43C
- push {r3-r7, lr}
- add r5, r0, #0x0
- ldr r0, _0204D4CC ; =0x021C5A68
- add r6, r1, #0x0
- ldr r0, [r0, #0x0]
- add r7, r2, #0x0
- cmp r0, #0x0
- beq _0204D4C8
- add r0, #0x5a
- mov r1, #0x0
- mov r2, #0x8
- blx MI_CpuFill8
- add r0, r5, #0x0
- bl FUN_0204CD78
- ldr r0, _0204D4CC ; =0x021C5A68
- lsl r4, r5, #0x2
- ldr r1, [r0, #0x0]
- add r0, r1, r4
- ldr r0, [r0, #0x8]
- cmp r0, #0x0
- beq _0204D492
- ldr r2, [r1, #0x54]
- ldr r2, [r2, #0x38]
- cmp r2, r0
- beq _0204D488
- ldr r2, _0204D4D0 ; =0x000002BE
- ldrb r1, [r1, r2]
- cmp r1, #0x0
- bne _0204D47E
- cmp r7, #0x0
- beq _0204D484
-_0204D47E:
- bl FUN_02055168
- b _0204D488
-_0204D484:
- bl FUN_02055160
-_0204D488:
- ldr r0, _0204D4CC ; =0x021C5A68
- mov r1, #0x0
- ldr r0, [r0, #0x0]
- add r0, r0, r4
- str r1, [r0, #0x8]
-_0204D492:
- ldr r0, _0204D4CC ; =0x021C5A68
- ldr r1, [r0, #0x0]
- add r1, #0x48
- ldrb r0, [r1, r5]
- cmp r0, #0x0
- beq _0204D4A6
- cmp r6, #0x0
- bne _0204D4A6
- mov r0, #0x0
- strb r0, [r1, r5]
-_0204D4A6:
- ldr r0, _0204D4CC ; =0x021C5A68
- mov r2, #0x1
- ldr r0, [r0, #0x0]
- add r1, r0, r5
- ldr r0, _0204D4D4 ; =0x00000132
- cmp r6, #0x0
- strb r2, [r1, r0]
- bne _0204D4C8
- add r0, r5, #0x0
- bl FUN_0204ED9C
- ldr r0, _0204D4CC ; =0x021C5A68
- mov r1, #0x0
- ldr r0, [r0, #0x0]
- add r0, r0, r5
- add r0, #0xfa
- strb r1, [r0, #0x0]
-_0204D4C8:
- pop {r3-r7, pc}
- nop
-_0204D4CC: .word 0x021C5A68
-_0204D4D0: .word 0x000002BE
-_0204D4D4: .word 0x00000132
-
- thumb_func_start FUN_0204D4D8
-FUN_0204D4D8: ; 0x0204D4D8
- ldr r1, _0204D4E8 ; =0x021C48B8
- mov r0, #0x2
- ldr r1, [r1, #0x44]
- tst r1, r0
- beq _0204D4E4
- mov r0, #0x1
-_0204D4E4:
- ldr r3, _0204D4EC ; =FUN_02030F60
- bx r3
- .balign 4
-_0204D4E8: .word 0x021C48B8
-_0204D4EC: .word FUN_02030F60
-
- thumb_func_start FUN_0204D4F0
-FUN_0204D4F0: ; 0x0204D4F0
- push {r4-r6, lr}
- add r4, r1, #0x0
- bl FUN_02030F40
- cmp r0, #0x0
- beq _0204D530
- bl FUN_0204D4D8
- bl FUN_02031190
- cmp r0, #0x0
- bne _0204D524
- add r0, r4, #0x0
- bl FUN_0204D2B0
- add r0, r4, #0x0
- bl FUN_0204D248
- ldr r0, _0204D560 ; =0x021C5A68
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x4]
- cmp r0, #0x0
- beq _0204D52A
- bl FUN_02244D58
- b _0204D52A
-_0204D524:
- add r0, r4, #0x0
- bl FUN_0204D248
-_0204D52A:
- add r0, r4, #0x0
- bl FUN_0204D568
-_0204D530:
- ldr r4, _0204D560 ; =0x021C5A68
- ldr r6, _0204D564 ; =0x000002BE
- mov r5, #0x0
-_0204D536:
- ldr r0, [r4, #0x0]
- ldrb r0, [r0, r6]
- cmp r0, #0x0
- beq _0204D556
- bl FUN_02031190
- cmp r0, #0x0
- bne _0204D556
- add r0, r5, #0x0
- bl FUN_0202DFA4
- cmp r0, #0x0
- bne _0204D556
- add r0, r5, #0x0
- bl FUN_02245358
-_0204D556:
- add r5, r5, #0x1
- cmp r5, #0x8
- blt _0204D536
- pop {r4-r6, pc}
- nop
-_0204D560: .word 0x021C5A68
-_0204D564: .word 0x000002BE
-
- thumb_func_start FUN_0204D568
-FUN_0204D568: ; 0x0204D568
- push {r3-r7, lr}
- ldr r4, _0204D608 ; =0x021C5A68
- ldr r7, _0204D60C ; =0x000002BE
- mov r5, #0x0
- add r6, sp, #0x0
-_0204D572:
- lsl r0, r5, #0x10
- lsr r0, r0, #0x10
- bl FUN_02030E7C
- cmp r0, #0x0
- bne _0204D5A0
- bl FUN_02031280
- cmp r0, #0x0
- beq _0204D58A
- cmp r5, #0x0
- beq _0204D5A0
-_0204D58A:
- bl FUN_02031190
- cmp r0, #0x0
- bne _0204D5A0
- ldr r0, [r4, #0x0]
- ldrb r0, [r0, r7]
- cmp r0, #0x0
- beq _0204D5A0
- add r0, r5, #0x0
- bl FUN_02247614
-_0204D5A0:
- lsl r0, r5, #0x10
- lsr r0, r0, #0x10
- bl FUN_02030E7C
- cmp r0, #0x0
- bne _0204D5B8
- bl FUN_02031280
- cmp r0, #0x0
- beq _0204D5C6
- cmp r5, #0x0
- bne _0204D5C6
-_0204D5B8:
- add r0, r5, #0x0
- bl FUN_0204DE30
- add r0, r5, #0x0
- bl FUN_0204EFCC
- b _0204D600
-_0204D5C6:
- ldr r0, [r4, #0x0]
- add r0, r0, r5
- add r0, #0x48
- ldrb r0, [r0, #0x0]
- cmp r0, #0x0
- beq _0204D600
- bl FUN_02031190
- cmp r0, #0x0
- bne _0204D5F0
- ldr r1, [r4, #0x0]
- ldr r0, _0204D60C ; =0x000002BE
- ldrb r0, [r1, r0]
- cmp r0, #0x0
- beq _0204D5F0
- add r0, r5, #0x0
- bl FUN_0223EB8C
- add r0, r5, #0x0
- bl FUN_0223CB08
-_0204D5F0:
- strb r5, [r6, #0x0]
- ldr r3, [r4, #0x0]
- mov r0, #0x0
- ldr r3, [r3, #0x54]
- mov r1, #0x1
- add r2, sp, #0x0
- bl FUN_0204DBCC
-_0204D600:
- add r5, r5, #0x1
- cmp r5, #0x8
- blt _0204D572
- pop {r3-r7, pc}
- .balign 4
-_0204D608: .word 0x021C5A68
-_0204D60C: .word 0x000002BE
-
- thumb_func_start FUN_0204D610
-FUN_0204D610: ; 0x0204D610
- ldr r0, _0204D624 ; =0x021C5A68
- ldr r1, [r0, #0x0]
- cmp r1, #0x0
- beq _0204D620
- mov r0, #0xaf
- lsl r0, r0, #0x2
- ldrb r0, [r1, r0]
- bx lr
-_0204D620:
- mov r0, #0x0
- bx lr
- .balign 4
-_0204D624: .word 0x021C5A68
-
- thumb_func_start FUN_0204D628
-FUN_0204D628: ; 0x0204D628
- push {r3, lr}
- ldr r1, _0204D650 ; =0x021C5A68
- ldr r3, [r1, #0x0]
- cmp r3, #0x0
- beq _0204D64E
- mov r1, #0xaf
- lsl r1, r1, #0x2
- ldrb r2, [r3, r1]
- cmp r2, r0
- beq _0204D63E
- strb r0, [r3, r1]
-_0204D63E:
- ldr r1, _0204D650 ; =0x021C5A68
- mov r0, #0x3e
- ldr r2, [r1, #0x0]
- mov r1, #0xaf
- lsl r1, r1, #0x2
- add r1, r2, r1
- bl FUN_020311D0
-_0204D64E:
- pop {r3, pc}
- .balign 4
-_0204D650: .word 0x021C5A68
-
- thumb_func_start FUN_0204D654
-FUN_0204D654: ; 0x0204D654
- push {r4, lr}
- ldr r2, _0204D678 ; =0x021C5A68
- ldr r4, [r2, #0x0]
- cmp r4, #0x0
- beq _0204D674
- mov r1, #0xaf
- lsl r1, r1, #0x2
- ldrb r3, [r4, r1]
- cmp r3, r0
- beq _0204D674
- strb r0, [r4, r1]
- ldr r2, [r2, #0x0]
- mov r0, #0x3e
- add r1, r2, r1
- bl FUN_020311D0
-_0204D674:
- pop {r4, pc}
- nop
-_0204D678: .word 0x021C5A68
-
- thumb_func_start FUN_0204D67C
-FUN_0204D67C: ; 0x0204D67C
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r0, _0204D6BC ; =0x021C5A68
- add r4, r2, #0x0
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- beq _0204D6B8
- cmp r1, #0x1
- beq _0204D692
- bl ErrorHandling
-_0204D692:
- cmp r5, #0x8
- blt _0204D69A
- bl ErrorHandling
-_0204D69A:
- ldrb r0, [r4, #0x0]
- mov r1, #0x1
- cmp r0, #0x1
- beq _0204D6A8
- cmp r0, #0x0
- beq _0204D6A8
- mov r1, #0x0
-_0204D6A8:
- cmp r1, #0x0
- bne _0204D6B0
- bl ErrorHandling
-_0204D6B0:
- ldrb r1, [r4, #0x0]
- add r0, r5, #0x0
- bl FUN_0204EAD8
-_0204D6B8:
- pop {r3-r5, pc}
- nop
-_0204D6BC: .word 0x021C5A68
-
- thumb_func_start FUN_0204D6C0
-FUN_0204D6C0: ; 0x0204D6C0
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r0, _0204D734 ; =0x021C5A68
- add r4, r1, #0x0
- ldr r1, [r0, #0x0]
- cmp r1, #0x0
- beq _0204D732
- ldr r0, _0204D738 ; =0x000002BE
- ldrb r0, [r1, r0]
- cmp r0, #0x0
- bne _0204D6E4
- add r0, r4, #0x0
- bl FUN_0204D654
- ldr r0, _0204D734 ; =0x021C5A68
- ldr r1, [r0, #0x0]
- ldr r0, _0204D73C ; =0x000002C1
- strb r4, [r1, r0]
-_0204D6E4:
- ldr r4, [r5, #0x38]
- cmp r4, #0x0
- beq _0204D6F8
- bl FUN_02031190
- ldr r1, _0204D734 ; =0x021C5A68
- lsl r0, r0, #0x2
- ldr r1, [r1, #0x0]
- add r0, r1, r0
- str r4, [r0, #0x8]
-_0204D6F8:
- bl FUN_02030F40
- cmp r0, #0x0
- beq _0204D712
- bl FUN_02031190
- cmp r0, #0x0
- bne _0204D712
- ldr r1, _0204D734 ; =0x021C5A68
- mov r0, #0x0
- ldr r1, [r1, #0x0]
- bl FUN_0204D89C
-_0204D712:
- bl FUN_02030F40
- cmp r0, #0x0
- beq _0204D732
- bl FUN_02031190
- cmp r0, #0x0
- bne _0204D732
- ldr r0, _0204D734 ; =0x021C5A68
- ldr r1, [r0, #0x0]
- ldr r0, _0204D738 ; =0x000002BE
- ldrb r0, [r1, r0]
- cmp r0, #0x0
- bne _0204D732
- bl FUN_0204EC28
-_0204D732:
- pop {r3-r5, pc}
- .balign 4
-_0204D734: .word 0x021C5A68
-_0204D738: .word 0x000002BE
-_0204D73C: .word 0x000002C1
-
- thumb_func_start FUN_0204D740
-FUN_0204D740: ; 0x0204D740
- mov r0, #0x20
- tst r0, r1
- beq _0204D74A
- mov r0, #0x2
- bx lr
-_0204D74A:
- mov r0, #0x10
- tst r0, r1
- beq _0204D754
- mov r0, #0x3
- bx lr
-_0204D754:
- mov r0, #0x40
- tst r0, r1
- beq _0204D75E
- mov r0, #0x0
- bx lr
-_0204D75E:
- mov r0, #0x80
- tst r1, r0
- beq _0204D768
- mov r0, #0x1
- bx lr
-_0204D768:
- sub r0, #0x81
- bx lr
-
- thumb_func_start FUN_0204D76C
-FUN_0204D76C: ; 0x0204D76C
- push {r4-r6, lr}
- add r5, r0, #0x0
- ldr r0, _0204D7AC ; =0x021C5A68
- add r6, r1, #0x0
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x54]
- bl FUN_02034B64
- add r4, r0, #0x0
- ldr r0, _0204D7AC ; =0x021C5A68
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x54]
- bl FUN_02034B6C
- mov r2, #0x0
- cmp r4, #0x0
- ble _0204D7A6
-_0204D78E:
- ldrh r1, [r0, #0x18]
- cmp r5, r1
- bne _0204D79E
- ldrh r1, [r0, #0x1a]
- cmp r6, r1
- bne _0204D79E
- mov r0, #0x1
- pop {r4-r6, pc}
-_0204D79E:
- add r2, r2, #0x1
- add r0, #0x20
- cmp r2, r4
- blt _0204D78E
-_0204D7A6:
- mov r0, #0x0
- pop {r4-r6, pc}
- nop
-_0204D7AC: .word 0x021C5A68
-
- thumb_func_start FUN_0204D7B0
-FUN_0204D7B0: ; 0x0204D7B0
- push {r3-r7, lr}
- add r5, r0, #0x0
- ldr r0, _0204D824 ; =0x0000FFFF
- add r6, r1, #0x0
- add r7, r2, #0x0
- cmp r5, r0
- beq _0204D812
- cmp r6, r0
- beq _0204D812
- mov r4, #0x0
-_0204D7C4:
- cmp r4, r7
- beq _0204D7E0
- add r0, r4, #0x0
- bl FUN_0204E544
- cmp r5, r0
- bne _0204D7E0
- add r0, r4, #0x0
- bl FUN_0204E598
- cmp r6, r0
- bne _0204D7E0
- mov r0, #0x1
- pop {r3-r7, pc}
-_0204D7E0:
- add r4, r4, #0x1
- cmp r4, #0x8
- blt _0204D7C4
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_0204D76C
- cmp r0, #0x0
- beq _0204D7F6
- mov r0, #0x1
- pop {r3-r7, pc}
-_0204D7F6:
- ldr r0, _0204D828 ; =0x021C5A68
- ldr r1, [r0, #0x0]
- ldr r0, _0204D82C ; =0x000002BE
- ldrb r0, [r1, r0]
- cmp r0, #0x0
- beq _0204D812
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_02246F1C
- cmp r0, #0x0
- bne _0204D812
- mov r0, #0x1
- pop {r3-r7, pc}
-_0204D812:
- ldr r0, _0204D828 ; =0x021C5A68
- add r1, r5, #0x0
- ldr r0, [r0, #0x0]
- add r2, r6, #0x0
- ldr r0, [r0, #0x54]
- bl FUN_0204A6B4
- pop {r3-r7, pc}
- nop
-_0204D824: .word 0x0000FFFF
-_0204D828: .word 0x021C5A68
-_0204D82C: .word 0x000002BE
-
- thumb_func_start FUN_0204D830
-FUN_0204D830: ; 0x0204D830
- push {r3, lr}
- add r1, r0, #0x0
- ldr r0, _0204D858 ; =0x021C5A68
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x4]
- cmp r0, #0x0
- beq _0204D852
- bl FUN_02244D40
- bl FUN_02244DA0
- cmp r0, #0x0
- bne _0204D84E
- mov r0, #0x1
- pop {r3, pc}
-_0204D84E:
- mov r0, #0x0
- pop {r3, pc}
-_0204D852:
- mov r0, #0x0
- pop {r3, pc}
- nop
-_0204D858: .word 0x021C5A68
-
- thumb_func_start FUN_0204D85C
-FUN_0204D85C: ; 0x0204D85C
- cmp r0, #0x5
- bge _0204D864
- mov r0, #0x8
- bx lr
-_0204D864:
- cmp r0, #0xa
- bge _0204D86C
- mov r0, #0x4
- bx lr
-_0204D86C:
- mov r0, #0x2
- bx lr
-
- thumb_func_start FUN_0204D870
-FUN_0204D870: ; 0x0204D870
- push {r3-r4, lr}
- sub sp, #0x14
- ldr r3, _0204D898 ; =0x020F5824
- add r4, r0, #0x0
- ldmia r3!, {r0-r1}
- add r2, sp, #0x0
- stmia r2!, {r0-r1}
- ldmia r3!, {r0-r1}
- stmia r2!, {r0-r1}
- ldr r0, [r3, #0x0]
- cmp r4, #0x5
- str r0, [r2, #0x0]
- blt _0204D88E
- bl ErrorHandling
-_0204D88E:
- lsl r1, r4, #0x2
- add r0, sp, #0x0
- ldr r0, [r0, r1]
- add sp, #0x14
- pop {r3-r4, pc}
- .balign 4
-_0204D898: .word 0x020F5824
-
- thumb_func_start FUN_0204D89C
-FUN_0204D89C: ; 0x0204D89C
- push {r3-r7, lr}
- sub sp, #0x18
- mov r5, #0x0
- add r0, r5, #0x0
- ldr r6, _0204DAF4 ; =0x021C5A68
- str r5, [sp, #0x4]
- str r0, [sp, #0x0]
-_0204D8AA:
- ldr r0, [r6, #0x0]
- add r1, r0, r5
- add r1, #0x48
- ldrb r1, [r1, #0x0]
- cmp r1, #0x0
- beq _0204D976
- add r1, r0, r5
- add r1, #0xe2
- ldrb r1, [r1, #0x0]
- cmp r1, #0x0
- beq _0204D976
- add r1, r0, r5
- add r1, #0xea
- ldrb r1, [r1, #0x0]
- cmp r1, #0x0
- beq _0204D976
- add r2, r0, #0x0
- ldr r1, [sp, #0x0]
- add r2, #0x62
- ldr r0, [r0, #0x4]
- add r4, r2, r1
- cmp r0, #0x0
- beq _0204D8E0
- add r1, r5, #0x0
- bl FUN_02244D40
- str r0, [sp, #0x4]
-_0204D8E0:
- ldr r1, [r6, #0x0]
- ldr r0, _0204DAF8 ; =0x000002BE
- ldrb r0, [r1, r0]
- cmp r0, #0x0
- beq _0204D8F4
- add r0, r5, #0x0
- bl FUN_02245F4C
- cmp r0, #0x0
- bne _0204D976
-_0204D8F4:
- ldr r0, [r6, #0x0]
- ldr r1, _0204DAFC ; =0x0000013A
- add r0, r0, r5
- ldrb r1, [r0, r1]
- cmp r1, #0x0
- beq _0204D90A
- ldr r1, _0204DAFC ; =0x0000013A
- ldrb r1, [r0, r1]
- sub r2, r1, #0x1
- ldr r1, _0204DAFC ; =0x0000013A
- strb r2, [r0, r1]
-_0204D90A:
- ldr r0, [r6, #0x0]
- ldr r1, _0204DAFC ; =0x0000013A
- add r2, r0, r5
- ldrb r1, [r2, r1]
- cmp r1, #0x0
- bne _0204D93C
- ldr r1, _0204DAF8 ; =0x000002BE
- ldrb r0, [r0, r1]
- cmp r0, #0x0
- beq _0204D93C
- add r0, r5, #0x0
- bl FUN_0223F8D8
- cmp r0, #0x0
- bne _0204D976
- add r0, r5, #0x0
- bl FUN_0204D830
- cmp r0, #0x0
- bne _0204D93C
- add r0, r5, #0x0
- bl FUN_02247544
- cmp r0, #0x0
- bne _0204D976
-_0204D93C:
- ldr r0, [sp, #0x4]
- cmp r0, #0x0
- beq _0204D94A
- bl FUN_02244DB0
- cmp r0, #0x0
- beq _0204D976
-_0204D94A:
- ldr r0, [r6, #0x0]
- add r0, r0, r5
- add r0, #0xf2
- ldrb r0, [r0, #0x0]
- cmp r0, #0x0
- beq _0204D95A
- mov r7, #0x0
- b _0204D962
-_0204D95A:
- add r0, r5, #0x0
- bl FUN_02030F88
- add r7, r0, #0x0
-_0204D962:
- add r0, r5, #0x0
- bl FUN_02030F74
- strb r0, [r4, #0x5]
- ldr r0, [r6, #0x0]
- add r1, r0, r5
- ldr r0, _0204DAFC ; =0x0000013A
- ldrb r0, [r1, r0]
- cmp r0, #0x0
- beq _0204D978
-_0204D976:
- b _0204DAE2
-_0204D978:
- ldr r0, _0204DB00 ; =0x0000010A
- ldr r2, _0204DB04 ; =0x0000012A
- ldrb r0, [r1, r0]
- ldrb r1, [r1, r2]
- bl FUN_0204D85C
- str r0, [sp, #0x10]
- ldr r1, [sp, #0x10]
- add r0, r5, #0x0
- bl FUN_0204E084
- cmp r0, #0x0
- beq _0204D9A8
- ldr r0, [r6, #0x0]
- ldr r1, [sp, #0x10]
- add r2, r0, r5
- ldr r0, _0204DAFC ; =0x0000013A
- strb r1, [r2, r0]
- ldr r0, [r6, #0x0]
- mov r1, #0x1
- add r2, r0, r5
- ldr r0, _0204DB08 ; =0x00000132
- strb r1, [r2, r0]
- b _0204DAE2
-_0204D9A8:
- ldrb r0, [r4, #0x7]
- cmp r0, #0x1
- bne _0204D9B8
- ldr r0, [r6, #0x0]
- mov r1, #0x1
- add r2, r0, r5
- ldr r0, _0204DB08 ; =0x00000132
- strb r1, [r2, r0]
-_0204D9B8:
- mov r0, #0x0
- strb r0, [r4, #0x7]
- ldr r0, [r6, #0x0]
- ldr r1, _0204DB0C ; =0x00000122
- add r0, r0, r5
- ldrb r1, [r0, r1]
- cmp r1, #0x2
- bne _0204D9DE
- add r1, sp, #0x14
- strb r5, [r1, #0x1]
- ldr r1, _0204DB0C ; =0x00000122
- mov r2, #0x1
- strb r2, [r0, r1]
- add r1, sp, #0x14
- mov r0, #0x28
- add r1, #0x1
- bl FUN_02030C4C
- b _0204DAE2
-_0204D9DE:
- add r0, r7, #0x0
- add r1, r7, #0x0
- bl FUN_0204D740
- add r7, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0204E62C
- str r0, [sp, #0xc]
- add r0, r5, #0x0
- bl FUN_0204E664
- str r0, [sp, #0x8]
- ldr r1, [sp, #0xc]
- ldr r0, _0204DB10 ; =0x0000FFFF
- cmp r1, r0
- beq _0204DAE2
- ldr r1, [sp, #0x8]
- cmp r1, r0
- beq _0204DAE2
- mov r0, #0x0
- mvn r0, r0
- cmp r7, r0
- beq _0204DAE2
- mov r0, #0x4
- ldrsb r0, [r4, r0]
- cmp r0, r7
- beq _0204DA44
- strb r7, [r4, #0x4]
- ldr r0, [r6, #0x0]
- mov r1, #0x4
- add r2, r0, r5
- ldr r0, _0204DAFC ; =0x0000013A
- strb r1, [r2, r0]
- ldr r0, [r6, #0x0]
- mov r1, #0x1
- add r2, r0, r5
- ldr r0, _0204DB08 ; =0x00000132
- strb r1, [r2, r0]
- ldr r0, [r6, #0x0]
- ldr r1, _0204DB0C ; =0x00000122
- add r0, r0, r5
- ldrb r1, [r0, r1]
- cmp r1, #0x2
- bls _0204DAE2
- ldr r1, _0204DB0C ; =0x00000122
- ldrb r1, [r0, r1]
- sub r2, r1, #0x1
- ldr r1, _0204DB0C ; =0x00000122
- strb r2, [r0, r1]
- b _0204DAE2
-_0204DA44:
- ldr r0, [r6, #0x0]
- ldr r1, _0204DB0C ; =0x00000122
- add r2, r0, r5
- ldrb r1, [r2, r1]
- cmp r1, #0x0
- bne _0204DAE2
- ldr r1, _0204DAF8 ; =0x000002BE
- ldrb r0, [r0, r1]
- cmp r0, #0x0
- beq _0204DA66
- ldr r1, [sp, #0xc]
- ldr r2, [sp, #0x8]
- add r0, r5, #0x0
- bl FUN_0224566C
- cmp r0, #0x1
- beq _0204DAE2
-_0204DA66:
- ldr r0, [sp, #0xc]
- ldr r1, [sp, #0x8]
- add r2, r5, #0x0
- bl FUN_0204D7B0
- cmp r0, #0x0
- beq _0204DA8E
- mov r0, #0x1
- strb r0, [r4, #0x7]
- ldr r0, [r6, #0x0]
- mov r1, #0x1
- add r2, r0, r5
- ldr r0, _0204DB08 ; =0x00000132
- strb r1, [r2, r0]
- ldr r0, [r6, #0x0]
- mov r1, #0x4
- add r2, r0, r5
- ldr r0, _0204DAFC ; =0x0000013A
- strb r1, [r2, r0]
- b _0204DAE2
-_0204DA8E:
- ldr r0, [r6, #0x0]
- mov r1, #0x1
- add r2, r0, r5
- ldr r0, _0204DB08 ; =0x00000132
- strb r1, [r2, r0]
- ldr r0, [sp, #0xc]
- strh r0, [r4, #0x0]
- ldr r0, [sp, #0x8]
- strh r0, [r4, #0x2]
- strb r7, [r4, #0x4]
- ldrb r0, [r4, #0x5]
- bl FUN_0204D870
- ldr r1, [r6, #0x0]
- add r2, r1, r5
- ldr r1, _0204DAFC ; =0x0000013A
- strb r0, [r2, r1]
- ldr r0, [r6, #0x0]
- sub r1, #0x20
- add r0, r0, r5
- ldrb r1, [r0, r1]
- cmp r1, #0x0
- beq _0204DAE2
- ldr r1, _0204DB14 ; =0x0000011A
- ldrb r1, [r0, r1]
- sub r2, r1, #0x1
- ldr r1, _0204DB14 ; =0x0000011A
- strb r2, [r0, r1]
- ldr r0, [r6, #0x0]
- add r1, r0, r5
- ldr r0, _0204DB14 ; =0x0000011A
- ldrb r0, [r1, r0]
- cmp r0, #0x0
- bne _0204DAE2
- mov r1, #0x1
- add r0, sp, #0x14
- strb r1, [r0, #0x0]
- add r0, r5, #0x0
- add r2, sp, #0x14
- mov r3, #0x0
- bl FUN_0224089C
-_0204DAE2:
- ldr r0, [sp, #0x0]
- add r5, r5, #0x1
- add r0, #0x8
- str r0, [sp, #0x0]
- cmp r5, #0x8
- bge _0204DAF0
- b _0204D8AA
-_0204DAF0:
- add sp, #0x18
- pop {r3-r7, pc}
- .balign 4
-_0204DAF4: .word 0x021C5A68
-_0204DAF8: .word 0x000002BE
-_0204DAFC: .word 0x0000013A
-_0204DB00: .word 0x0000010A
-_0204DB04: .word 0x0000012A
-_0204DB08: .word 0x00000132
-_0204DB0C: .word 0x00000122
-_0204DB10: .word 0x0000FFFF
-_0204DB14: .word 0x0000011A
-
- thumb_func_start FUN_0204DB18
-FUN_0204DB18: ; 0x0204DB18
- push {r3-r7, lr}
- ldr r5, _0204DBC0 ; =0x021C5A68
- add r7, r0, #0x0
- ldr r0, [r5, #0x0]
- add r3, r2, #0x0
- cmp r0, #0x0
- beq _0204DBBC
- add r2, r0, #0x0
- ldrb r4, [r3, #0x4]
- add r2, #0x62
- lsl r1, r7, #0x3
- add r2, r2, r1
- mov r1, #0x80
- tst r1, r4
- beq _0204DB3E
- ldr r1, _0204DBC4 ; =0x000002BB
- mov r2, #0x1
- strb r2, [r0, r1]
- pop {r3-r7, pc}
-_0204DB3E:
- mov r0, #0x4
- ldrsb r1, [r2, r0]
- sub r0, r0, #0x5
- cmp r1, r0
- bne _0204DB5A
- ldr r4, _0204DBC8 ; =0x00000132
- mov r1, #0x0
- mov r0, #0x1
-_0204DB4E:
- ldr r6, [r5, #0x0]
- add r6, r6, r1
- add r1, r1, #0x1
- strb r0, [r6, r4]
- cmp r1, #0x8
- blt _0204DB4E
-_0204DB5A:
- mov r0, #0x0
- strh r0, [r2, #0x0]
- strh r0, [r2, #0x2]
- ldrh r1, [r2, #0x0]
- ldrb r0, [r3, #0x0]
- add r0, r1, r0
- strh r0, [r2, #0x0]
- ldrb r1, [r3, #0x1]
- ldrh r0, [r2, #0x0]
- lsl r4, r1, #0x8
- mov r1, #0xff
- lsl r1, r1, #0x8
- and r4, r1
- add r0, r0, r4
- strh r0, [r2, #0x0]
- ldrh r4, [r2, #0x2]
- ldrb r0, [r3, #0x2]
- add r0, r4, r0
- strh r0, [r2, #0x2]
- ldrb r4, [r3, #0x3]
- ldrh r0, [r2, #0x2]
- lsl r4, r4, #0x8
- and r1, r4
- add r0, r0, r1
- strh r0, [r2, #0x2]
- ldrb r1, [r3, #0x4]
- mov r0, #0xf
- ldr r3, _0204DBC0 ; =0x021C5A68
- and r0, r1
- strb r0, [r2, #0x4]
- ldr r1, [r3, #0x0]
- mov r0, #0x1
- add r1, r1, r7
- add r1, #0x48
- strb r0, [r1, #0x0]
- ldr r1, [r3, #0x0]
- add r4, r1, r7
- ldr r1, _0204DBC8 ; =0x00000132
- strb r0, [r4, r1]
- ldr r0, [r3, #0x0]
- ldrh r1, [r2, #0x0]
- ldrh r2, [r2, #0x2]
- ldr r0, [r0, #0x54]
- bl FUN_0204A6B4
- cmp r0, #0x0
- beq _0204DBBC
- bl ErrorHandling
-_0204DBBC:
- pop {r3-r7, pc}
- nop
-_0204DBC0: .word 0x021C5A68
-_0204DBC4: .word 0x000002BB
-_0204DBC8: .word 0x00000132
-
- thumb_func_start FUN_0204DBCC
-FUN_0204DBCC: ; 0x0204DBCC
- push {r3-r5, lr}
- ldr r0, _0204DC28 ; =0x021C5A68
- ldrb r4, [r2, #0x0]
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- beq _0204DC24
- bl FUN_02031190
- cmp r4, r0
- beq _0204DC24
- ldr r0, _0204DC28 ; =0x021C5A68
- ldr r1, [r0, #0x0]
- ldr r0, _0204DC2C ; =0x000002BE
- ldrb r0, [r1, r0]
- cmp r0, #0x0
- beq _0204DC14
- add r0, r4, #0x0
- bl FUN_0223E554
- ldr r0, _0204DC28 ; =0x021C5A68
- ldr r3, [r0, #0x0]
- ldr r0, _0204DC30 ; =0x000002BD
- ldrb r0, [r3, r0]
- cmp r0, #0x0
- bne _0204DC14
- lsl r5, r4, #0x3
- add r1, r3, r5
- ldr r0, [r3, #0x54]
- add r3, r3, r5
- add r1, #0xa2
- add r3, #0xa4
- ldrh r1, [r1, #0x0]
- ldrh r3, [r3, #0x0]
- mov r2, #0x0
- bl FUN_021E5B30
-_0204DC14:
- mov r1, #0x0
- add r0, r4, #0x0
- add r2, r1, #0x0
- bl FUN_0204D43C
- add r0, r4, #0x0
- bl FUN_0202DE78
-_0204DC24:
- pop {r3-r5, pc}
- nop
-_0204DC28: .word 0x021C5A68
-_0204DC2C: .word 0x000002BE
-_0204DC30: .word 0x000002BD
-
- thumb_func_start FUN_0204DC34
-FUN_0204DC34: ; 0x0204DC34
- mov r0, #0x5
- bx lr
-
- thumb_func_start FUN_0204DC38
-FUN_0204DC38: ; 0x0204DC38
- push {r3-r5, lr}
- ldrb r1, [r2, #0x0]
- mov r0, #0xf
- add r3, r1, #0x0
- and r3, r0
- ldr r0, _0204DCB0 ; =0x021C5A68
- ldr r1, [r0, #0x0]
- cmp r1, #0x0
- beq _0204DCAC
- ldrb r4, [r2, #0x2]
- add r1, #0xa2
- lsl r0, r3, #0x3
- add r1, r1, r0
- mov r0, #0x80
- tst r0, r4
- beq _0204DC5C
- mov r0, #0x1
- b _0204DC5E
-_0204DC5C:
- mov r0, #0x0
-_0204DC5E:
- strb r0, [r1, #0x7]
- mov r0, #0x0
- strh r0, [r1, #0x0]
- strh r0, [r1, #0x2]
- ldrh r4, [r1, #0x0]
- ldrb r0, [r2, #0x1]
- add r0, r4, r0
- strh r0, [r1, #0x0]
- ldrb r4, [r2, #0x2]
- ldrh r0, [r1, #0x0]
- lsl r5, r4, #0x8
- mov r4, #0x1
- lsl r4, r4, #0x8
- and r5, r4
- add r0, r0, r5
- strh r0, [r1, #0x0]
- ldrh r5, [r1, #0x2]
- ldrb r0, [r2, #0x3]
- add r0, r5, r0
- strh r0, [r1, #0x2]
- ldrb r5, [r2, #0x2]
- ldrh r0, [r1, #0x2]
- lsl r5, r5, #0x7
- and r4, r5
- add r0, r0, r4
- strh r0, [r1, #0x2]
- ldrb r0, [r2, #0x0]
- asr r4, r0, #0x4
- mov r0, #0x3
- and r4, r0
- strb r4, [r1, #0x4]
- ldrb r2, [r2, #0x0]
- asr r2, r2, #0x6
- and r0, r2
- strb r0, [r1, #0x5]
- lsl r0, r3, #0x18
- lsr r0, r0, #0x18
- bl FUN_0204D328
-_0204DCAC:
- pop {r3-r5, pc}
- nop
-_0204DCB0: .word 0x021C5A68
-
- thumb_func_start FUN_0204DCB4
-FUN_0204DCB4: ; 0x0204DCB4
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r0, _0204DD10 ; =0x021C5A68
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x54]
- bl FUN_020377AC
- bl FUN_02026CC4
- add r4, r0, #0x0
- ldr r0, _0204DD10 ; =0x021C5A68
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x54]
- bl FUN_020377AC
- bl FUN_02026CB4
- ldr r0, _0204DD10 ; =0x021C5A68
- ldr r1, [r0, #0x0]
- ldr r0, _0204DD14 ; =0x000002BE
- ldrb r0, [r1, r0]
- cmp r0, #0x0
- beq _0204DD0C
- bl FUN_02031190
- cmp r5, r0
- bne _0204DD0C
- add r0, r4, #0x0
- bl FUN_020266B0
- add r0, r4, #0x0
- bl FUN_020266C8
- cmp r0, #0x32
- bne _0204DD0C
- ldr r0, _0204DD10 ; =0x021C5A68
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x54]
- ldr r0, [r0, #0xc]
- bl FUN_02029FC8
- mov r1, #0x25
- bl FUN_0202A170
-_0204DD0C:
- pop {r3-r5, pc}
- nop
-_0204DD10: .word 0x021C5A68
-_0204DD14: .word 0x000002BE
-
- thumb_func_start FUN_0204DD18
-FUN_0204DD18: ; 0x0204DD18
- push {r3-r7, lr}
- sub sp, #0x10
- ldr r4, _0204DE24 ; =0x020F5808
- add r6, r3, #0x0
- add r5, r0, #0x0
- add r3, sp, #0x4
- mov r2, #0xc
-_0204DD26:
- ldrb r0, [r4, #0x0]
- add r4, r4, #0x1
- strb r0, [r3, #0x0]
- add r3, r3, #0x1
- sub r2, r2, #0x1
- bne _0204DD26
- ldr r0, _0204DE28 ; =0x021C5A68
- ldr r2, _0204DE2C ; =0x00000102
- ldr r0, [r0, #0x0]
- add r3, r0, r5
- ldrsb r3, [r3, r2]
- mov r2, #0x0
- mvn r2, r2
- cmp r3, r2
- beq _0204DD4E
- lsl r7, r5, #0x2
- add r0, r0, r7
- ldr r0, [r0, #0x8]
- cmp r0, #0x0
- bne _0204DD54
-_0204DD4E:
- add sp, #0x10
- mov r0, #0x0
- pop {r3-r7, pc}
-_0204DD54:
- cmp r1, #0x0
- bne _0204DD5E
- add sp, #0x10
- mov r0, #0x1
- pop {r3-r7, pc}
-_0204DD5E:
- bl FUN_020553A0
- add r4, r0, #0x0
- ldr r0, _0204DE28 ; =0x021C5A68
- ldr r1, [r0, #0x0]
- add r0, r7, #0x0
- add r0, r1, r0
- ldr r0, [r0, #0x8]
- bl FUN_020552F8
- str r0, [sp, #0x0]
- ldr r0, _0204DE28 ; =0x021C5A68
- ldr r0, [r0, #0x0]
- add r1, r0, r5
- ldr r0, _0204DE2C ; =0x00000102
- ldrsb r0, [r1, r0]
- bl FUN_0204F610
- ldr r1, [sp, #0x0]
- cmp r1, r0
- beq _0204DDB4
- add r0, r4, #0x0
- mov r1, #0x80
- bl FUN_02058418
- ldr r0, _0204DE28 ; =0x021C5A68
- ldr r0, [r0, #0x0]
- add r1, r0, r5
- ldr r0, _0204DE2C ; =0x00000102
- ldrsb r0, [r1, r0]
- bl FUN_0204F610
- add r1, r0, #0x0
- ldr r0, _0204DE28 ; =0x021C5A68
- ldr r0, [r0, #0x0]
- add r0, r0, r7
- ldr r0, [r0, #0x8]
- bl FUN_02055304
- add r0, r4, #0x0
- mov r1, #0x80
- bl FUN_02058410
-_0204DDB4:
- add r0, r4, #0x0
- bl FUN_0205AE28
- add r0, r4, #0x0
- bl FUN_0205AD98
- cmp r0, #0x1
- bne _0204DE1C
- add r0, r5, #0x0
- bl FUN_0204DCB4
- cmp r6, #0x0
- beq _0204DDD8
- cmp r6, #0x1
- beq _0204DDEE
- cmp r6, #0x2
- beq _0204DE06
- b _0204DE1C
-_0204DDD8:
- ldr r1, _0204DE28 ; =0x021C5A68
- add r0, r4, #0x0
- ldr r1, [r1, #0x0]
- add r2, r1, r5
- ldr r1, _0204DE2C ; =0x00000102
- ldrsb r2, [r2, r1]
- add r1, sp, #0x4
- ldrb r1, [r1, r2]
- bl FUN_0205ADDC
- b _0204DE1C
-_0204DDEE:
- ldr r1, _0204DE28 ; =0x021C5A68
- add r0, r4, #0x0
- ldr r1, [r1, #0x0]
- add r2, r1, r5
- ldr r1, _0204DE2C ; =0x00000102
- ldrsb r1, [r2, r1]
- add r2, r1, #0x4
- add r1, sp, #0x4
- ldrb r1, [r1, r2]
- bl FUN_0205ADDC
- b _0204DE1C
-_0204DE06:
- ldr r1, _0204DE28 ; =0x021C5A68
- add r0, r4, #0x0
- ldr r1, [r1, #0x0]
- add r2, r1, r5
- ldr r1, _0204DE2C ; =0x00000102
- ldrsb r2, [r2, r1]
- add r1, sp, #0x4
- add r2, #0x8
- ldrb r1, [r1, r2]
- bl FUN_0205ADDC
-_0204DE1C:
- mov r0, #0x1
- add sp, #0x10
- pop {r3-r7, pc}
- nop
-_0204DE24: .word 0x020F5808
-_0204DE28: .word 0x021C5A68
-_0204DE2C: .word 0x00000102
-
- thumb_func_start FUN_0204DE30
-FUN_0204DE30: ; 0x0204DE30
- push {r4-r7, lr}
- sub sp, #0x1c
- add r4, r0, #0x0
- ldr r0, _0204E06C ; =0x021C5A68
- lsl r1, r4, #0x3
- ldr r0, [r0, #0x0]
- add r2, r0, #0x0
- add r2, #0xa2
- add r5, r2, r1
- ldr r1, _0204E070 ; =0x00000142
- add r2, r0, r1
- ldrb r1, [r2, r4]
- cmp r1, #0x0
- beq _0204DE54
- sub r0, r1, #0x1
- add sp, #0x1c
- strb r0, [r2, r4]
- pop {r4-r7, pc}
-_0204DE54:
- ldrh r2, [r5, #0x0]
- ldr r1, _0204E074 ; =0x0000FFFF
- cmp r2, r1
- beq _0204DF08
- ldrh r2, [r5, #0x2]
- cmp r2, r1
- beq _0204DF08
- ldr r1, _0204E078 ; =0x000002BD
- ldrb r2, [r0, r1]
- cmp r2, #0x0
- bne _0204DF08
- add r1, r1, #0x1
- ldrb r0, [r0, r1]
- cmp r0, #0x0
- bne _0204DE86
- bl FUN_02031190
- cmp r4, r0
- bne _0204DE86
- ldr r0, _0204E06C ; =0x021C5A68
- ldr r1, [r0, #0x0]
- ldr r0, _0204E07C ; =0x000002C1
- ldrb r0, [r1, r0]
- cmp r0, #0x0
- beq _0204DF08
-_0204DE86:
- ldr r0, _0204E06C ; =0x021C5A68
- ldr r1, [r0, #0x0]
- lsl r0, r4, #0x2
- add r0, r1, r0
- ldr r0, [r0, #0x8]
- str r0, [sp, #0x18]
- cmp r0, #0x0
- bne _0204DE98
- b _0204E068
-_0204DE98:
- bl FUN_02055320
- ldrh r1, [r5, #0x0]
- sub r0, r0, r1
- str r0, [sp, #0x10]
- ldr r0, [sp, #0x18]
- bl FUN_0205532C
- ldrh r1, [r5, #0x2]
- sub r7, r0, r1
- ldr r0, [sp, #0x18]
- bl FUN_020552F8
- str r0, [sp, #0xc]
- ldr r0, [sp, #0x10]
- cmp r0, #0x0
- bne _0204DEC2
- cmp r7, #0x0
- bne _0204DEC2
- mov r6, #0x0
- b _0204DEEC
-_0204DEC2:
- ldr r0, [sp, #0x10]
- blx abs
- add r6, r0, #0x0
- add r0, r7, #0x0
- blx abs
- cmp r6, r0
- ble _0204DEE2
- ldr r0, [sp, #0x10]
- cmp r0, #0x0
- ble _0204DEDE
- mov r6, #0x20
- b _0204DEEC
-_0204DEDE:
- mov r6, #0x10
- b _0204DEEC
-_0204DEE2:
- cmp r7, #0x0
- ble _0204DEEA
- mov r6, #0x40
- b _0204DEEC
-_0204DEEA:
- mov r6, #0x80
-_0204DEEC:
- add r0, r7, #0x0
- blx abs
- ldr r0, [sp, #0x10]
- blx abs
- ldrb r3, [r5, #0x5]
- add r0, r4, #0x0
- add r1, r6, #0x0
- add r2, r6, #0x0
- bl FUN_0204DD18
- cmp r0, #0x0
- beq _0204DF0A
-_0204DF08:
- b _0204E068
-_0204DF0A:
- ldrb r0, [r5, #0x5]
- mov r7, #0xff
- str r0, [sp, #0x14]
- cmp r0, #0x3
- bhi _0204DF46
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_0204DF20: ; jump table (using 16-bit offset)
- .short _0204DF28 - _0204DF20 - 2; case 0
- .short _0204DF2E - _0204DF20 - 2; case 1
- .short _0204DF3C - _0204DF20 - 2; case 2
- .short _0204DF42 - _0204DF20 - 2; case 3
-_0204DF28:
- mov r0, #0x5
- str r0, [sp, #0x8]
- b _0204DF46
-_0204DF2E:
- mov r0, #0x4
- str r0, [sp, #0x8]
- mov r0, #0x2
- orr r0, r6
- lsl r0, r0, #0x10
- lsr r6, r0, #0x10
- b _0204DF46
-_0204DF3C:
- mov r0, #0x2
- str r0, [sp, #0x8]
- b _0204DF46
-_0204DF42:
- mov r0, #0x1
- str r0, [sp, #0x8]
-_0204DF46:
- ldr r0, _0204E06C ; =0x021C5A68
- ldr r1, [r0, #0x0]
- mov r0, #0xb
- lsl r0, r0, #0x6
- ldrb r0, [r1, r0]
- cmp r0, #0x0
- beq _0204DF6C
- bl FUN_02031190
- cmp r4, r0
- bne _0204DF6C
- ldr r0, _0204E06C ; =0x021C5A68
- ldr r2, [r0, #0x0]
- mov r0, #0xb
- lsl r0, r0, #0x6
- ldrb r1, [r2, r0]
- sub r1, r1, #0x1
- strb r1, [r2, r0]
- b _0204E00C
-_0204DF6C:
- bl FUN_02030FE0
- cmp r0, #0x0
- bne _0204DFA0
- ldr r0, _0204E06C ; =0x021C5A68
- ldr r1, [r0, #0x0]
- ldr r0, _0204E080 ; =0x000002BE
- ldrb r0, [r1, r0]
- cmp r0, #0x0
- beq _0204DFA0
- bl FUN_02031190
- cmp r4, r0
- bne _0204DFA0
- mov r0, #0x1
- str r0, [sp, #0x0]
- mov r0, #0x0
- str r0, [sp, #0x4]
- ldr r0, [sp, #0x18]
- ldr r3, [sp, #0x8]
- add r1, r6, #0x0
- add r2, r6, #0x0
- bl FUN_02057194
- add r7, r0, #0x0
- b _0204E00C
-_0204DFA0:
- mov r0, #0x2
- add r1, r6, #0x0
- bic r1, r0
- bne _0204DFDE
- ldrb r0, [r5, #0x7]
- cmp r0, #0x0
- beq _0204DFDE
- mov r0, #0x3
- str r0, [sp, #0x14]
- mov r0, #0x4
- ldrsb r0, [r5, r0]
- cmp r0, #0x3
- bhi _0204DFD2
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_0204DFC6: ; jump table (using 16-bit offset)
- .short _0204DFCE - _0204DFC6 - 2; case 0
- .short _0204DFD2 - _0204DFC6 - 2; case 1
- .short _0204DFD6 - _0204DFC6 - 2; case 2
- .short _0204DFDA - _0204DFC6 - 2; case 3
-_0204DFCE:
- mov r7, #0x1c
- b _0204E00C
-_0204DFD2:
- mov r7, #0x1d
- b _0204E00C
-_0204DFD6:
- mov r7, #0x1e
- b _0204E00C
-_0204DFDA:
- mov r7, #0x1f
- b _0204E00C
-_0204DFDE:
- cmp r1, #0x0
- bne _0204DFF6
- mov r0, #0x4
- ldrsb r0, [r5, r0]
- ldr r1, [sp, #0xc]
- cmp r0, r1
- beq _0204DFF6
- mov r1, #0x24
- bl FUN_0205AFDC
- add r7, r0, #0x0
- b _0204E00C
-_0204DFF6:
- mov r0, #0x1
- str r0, [sp, #0x0]
- mov r0, #0x0
- str r0, [sp, #0x4]
- ldr r0, [sp, #0x18]
- ldr r3, [sp, #0x8]
- add r1, r6, #0x0
- add r2, r6, #0x0
- bl FUN_02057194
- add r7, r0, #0x0
-_0204E00C:
- ldr r0, [sp, #0x18]
- bl FUN_02057254
- cmp r0, #0x0
- bne _0204E020
- ldr r0, [sp, #0x18]
- bl FUN_020570C4
- cmp r0, #0x0
- beq _0204E068
-_0204E020:
- cmp r7, #0xff
- beq _0204E068
- ldr r0, [sp, #0x18]
- add r1, r7, #0x0
- bl FUN_02057260
- mov r0, #0x2
- bic r6, r0
- beq _0204E068
- ldr r0, _0204E06C ; =0x021C5A68
- ldr r0, [r0, #0x0]
- add r1, r0, r4
- ldr r0, _0204E070 ; =0x00000142
- ldrb r0, [r1, r0]
- cmp r0, #0x0
- bne _0204E050
- ldr r0, [sp, #0x14]
- bl FUN_0204D870
- ldr r1, _0204E06C ; =0x021C5A68
- ldr r1, [r1, #0x0]
- add r2, r1, r4
- ldr r1, _0204E070 ; =0x00000142
- strb r0, [r2, r1]
-_0204E050:
- ldr r0, _0204E06C ; =0x021C5A68
- ldr r1, [r0, #0x0]
- ldr r0, _0204E070 ; =0x00000142
- add r1, r1, r0
- ldrb r0, [r1, r4]
- cmp r0, #0x0
- beq _0204E062
- sub r0, r0, #0x1
- strb r0, [r1, r4]
-_0204E062:
- add r0, r4, #0x0
- bl FUN_0204DCB4
-_0204E068:
- add sp, #0x1c
- pop {r4-r7, pc}
- .balign 4
-_0204E06C: .word 0x021C5A68
-_0204E070: .word 0x00000142
-_0204E074: .word 0x0000FFFF
-_0204E078: .word 0x000002BD
-_0204E07C: .word 0x000002C1
-_0204E080: .word 0x000002BE
-
- thumb_func_start FUN_0204E084
-FUN_0204E084: ; 0x0204E084
- push {r3-r7, lr}
- sub sp, #0x8
- add r4, r1, #0x0
- ldr r1, _0204E16C ; =0x021C5A68
- add r5, r0, #0x0
- ldr r2, [r1, #0x0]
- ldr r1, _0204E170 ; =0x0000010A
- add r2, r2, r1
- ldrb r1, [r2, r5]
- cmp r1, #0x0
- bne _0204E0A0
- add sp, #0x8
- mov r0, #0x0
- pop {r3-r7, pc}
-_0204E0A0:
- cmp r1, #0xff
- bne _0204E0AA
- add sp, #0x8
- mov r0, #0x1
- pop {r3-r7, pc}
-_0204E0AA:
- sub r1, r1, #0x1
- strb r1, [r2, r5]
- cmp r4, #0x1
- bne _0204E0B8
- add sp, #0x8
- mov r0, #0x1
- pop {r3-r7, pc}
-_0204E0B8:
- bl FUN_0204E544
- add r6, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0204E598
- str r0, [sp, #0x0]
- ldr r0, _0204E16C ; =0x021C5A68
- ldr r0, [r0, #0x0]
- add r1, r0, r5
- ldr r0, _0204E174 ; =0x00000112
- ldrb r0, [r1, r0]
- bl FUN_02059BF4
- add r7, r6, r0
- ldr r0, _0204E16C ; =0x021C5A68
- ldr r0, [r0, #0x0]
- add r1, r0, r5
- ldr r0, _0204E174 ; =0x00000112
- ldrb r0, [r1, r0]
- bl FUN_02059C00
- ldr r1, [sp, #0x0]
- add r6, r1, r0
- ldr r0, _0204E16C ; =0x021C5A68
- ldr r0, [r0, #0x0]
- add r1, r0, r5
- ldr r0, _0204E170 ; =0x0000010A
- ldrb r0, [r1, r0]
- cmp r0, #0x0
- beq _0204E110
- add r0, r7, #0x0
- add r1, r6, #0x0
- add r2, r5, #0x0
- bl FUN_0204D7B0
- cmp r0, #0x0
- beq _0204E110
- ldr r1, _0204E16C ; =0x021C5A68
- mov r0, #0x1
- ldr r1, [r1, #0x0]
- add r2, r1, r5
- ldr r1, _0204E170 ; =0x0000010A
- strb r0, [r2, r1]
-_0204E110:
- ldr r0, _0204E16C ; =0x021C5A68
- ldr r1, [r0, #0x0]
- ldr r0, _0204E170 ; =0x0000010A
- add r2, r1, r5
- ldrb r0, [r2, r0]
- cmp r0, #0x1
- bne _0204E124
- add sp, #0x8
- mov r0, #0x1
- pop {r3-r7, pc}
-_0204E124:
- cmp r0, #0x0
- bne _0204E13E
- mov r1, #0x1
- add r0, sp, #0x4
- strb r1, [r0, #0x0]
- add r0, r5, #0x0
- add r2, sp, #0x4
- mov r3, #0x0
- bl FUN_0224089C
- add sp, #0x8
- mov r0, #0x1
- pop {r3-r7, pc}
-_0204E13E:
- add r1, #0x62
- lsl r2, r5, #0x3
- add r0, r1, r2
- strh r7, [r1, r2]
- strh r6, [r0, #0x2]
- cmp r4, #0x2
- beq _0204E156
- cmp r4, #0x4
- beq _0204E15C
- cmp r4, #0x8
- beq _0204E162
- b _0204E166
-_0204E156:
- mov r1, #0x0
- strb r1, [r0, #0x5]
- b _0204E166
-_0204E15C:
- mov r1, #0x1
- strb r1, [r0, #0x5]
- b _0204E166
-_0204E162:
- mov r1, #0x2
- strb r1, [r0, #0x5]
-_0204E166:
- mov r0, #0x1
- add sp, #0x8
- pop {r3-r7, pc}
- .balign 4
-_0204E16C: .word 0x021C5A68
-_0204E170: .word 0x0000010A
-_0204E174: .word 0x00000112
-
- thumb_func_start FUN_0204E178
-FUN_0204E178: ; 0x0204E178
- push {r3-r7, lr}
- add r5, r0, #0x0
- ldr r0, _0204E1DC ; =0x021C5A68
- add r4, r1, #0x0
- ldr r1, [r0, #0x0]
- lsl r0, r5, #0x3
- add r1, #0x62
- add r6, r1, r0
- add r0, r4, #0x0
- add r7, r2, #0x0
- bl FUN_0204F610
- ldr r1, _0204E1DC ; =0x021C5A68
- strb r0, [r6, #0x4]
- ldr r0, [r1, #0x0]
- add r2, r0, r5
- ldr r0, _0204E1E0 ; =0x00000112
- cmp r7, #0x0
- strb r4, [r2, r0]
- beq _0204E1B6
- ldr r2, [r1, #0x0]
- mov r3, #0x1
- add r2, r2, r5
- add r0, #0x18
- strb r3, [r2, r0]
- ldr r0, [r1, #0x0]
- mov r2, #0x2d
- add r1, r0, r5
- add r0, r2, #0x0
- add r0, #0xdd
- b _0204E1CA
-_0204E1B6:
- ldr r2, [r1, #0x0]
- mov r3, #0x0
- add r2, r2, r5
- add r0, #0x18
- strb r3, [r2, r0]
- ldr r0, [r1, #0x0]
- mov r2, #0x1b
- add r1, r0, r5
- add r0, r2, #0x0
- add r0, #0xef
-_0204E1CA:
- strb r2, [r1, r0]
- ldr r0, _0204E1DC ; =0x021C5A68
- mov r2, #0x1
- ldr r0, [r0, #0x0]
- add r1, r0, r5
- ldr r0, _0204E1E4 ; =0x00000132
- strb r2, [r1, r0]
- pop {r3-r7, pc}
- nop
-_0204E1DC: .word 0x021C5A68
-_0204E1E0: .word 0x00000112
-_0204E1E4: .word 0x00000132
-
- thumb_func_start FUN_0204E1E8
-FUN_0204E1E8: ; 0x0204E1E8
- ldr r1, _0204E1F8 ; =0x021C5A68
- mov r2, #0x0
- ldr r1, [r1, #0x0]
- add r1, r1, r0
- ldr r0, _0204E1FC ; =0x0000010A
- strb r2, [r1, r0]
- bx lr
- nop
-_0204E1F8: .word 0x021C5A68
-_0204E1FC: .word 0x0000010A
-
- thumb_func_start FUN_0204E200
-FUN_0204E200: ; 0x0204E200
- ldr r1, _0204E210 ; =0x021C5A68
- mov r2, #0xff
- ldr r1, [r1, #0x0]
- add r1, r1, r0
- add r0, r2, #0x0
- add r0, #0xb
- strb r2, [r1, r0]
- bx lr
- .balign 4
-_0204E210: .word 0x021C5A68
-
- thumb_func_start FUN_0204E214
-FUN_0204E214: ; 0x0204E214
- push {r4-r6, lr}
- add r5, r0, #0x0
- ldr r0, _0204E24C ; =0x021C5A68
- add r4, r1, #0x0
- ldr r1, [r0, #0x0]
- lsl r0, r5, #0x2
- add r0, r1, r0
- ldr r0, [r0, #0x8]
- cmp r0, #0x0
- beq _0204E248
- bl FUN_020553A0
- mov r1, #0x80
- add r6, r0, #0x0
- bl FUN_02058410
- mov r1, #0x1
- add r0, r6, #0x0
- lsl r1, r1, #0x8
- bl FUN_02058410
- ldr r0, _0204E24C ; =0x021C5A68
- ldr r0, [r0, #0x0]
- add r1, r0, r5
- ldr r0, _0204E250 ; =0x00000102
- strb r4, [r1, r0]
-_0204E248:
- pop {r4-r6, pc}
- nop
-_0204E24C: .word 0x021C5A68
-_0204E250: .word 0x00000102
-
- thumb_func_start FUN_0204E254
-FUN_0204E254: ; 0x0204E254
- push {r3-r5, lr}
- add r4, r0, #0x0
- ldr r0, _0204E2A0 ; =0x021C5A68
- ldr r1, [r0, #0x0]
- lsl r0, r4, #0x2
- add r0, r1, r0
- ldr r0, [r0, #0x8]
- cmp r0, #0x0
- beq _0204E29E
- add r2, r1, r4
- ldr r1, _0204E2A4 ; =0x00000102
- ldrsb r2, [r2, r1]
- mov r1, #0x0
- mvn r1, r1
- cmp r2, r1
- beq _0204E29E
- bl FUN_020553A0
- add r5, r0, #0x0
- bl FUN_0205AE50
- add r0, r5, #0x0
- mov r1, #0x80
- bl FUN_02058418
- mov r1, #0x1
- add r0, r5, #0x0
- lsl r1, r1, #0x8
- bl FUN_02058418
- ldr r0, _0204E2A0 ; =0x021C5A68
- mov r2, #0x0
- ldr r0, [r0, #0x0]
- mvn r2, r2
- add r1, r0, r4
- ldr r0, _0204E2A4 ; =0x00000102
- strb r2, [r1, r0]
-_0204E29E:
- pop {r3-r5, pc}
- .balign 4
-_0204E2A0: .word 0x021C5A68
-_0204E2A4: .word 0x00000102
-
- thumb_func_start FUN_0204E2A8
-FUN_0204E2A8: ; 0x0204E2A8
- mov r0, #0x4
- bx lr
-
- thumb_func_start FUN_0204E2AC
-FUN_0204E2AC: ; 0x0204E2AC
- ldr r3, _0204E2B0 ; =FUN_0204F7FC
- bx r3
- .balign 4
-_0204E2B0: .word FUN_0204F7FC
-
- thumb_func_start FUN_0204E2B4
-FUN_0204E2B4: ; 0x0204E2B4
- ldr r3, _0204E2B8 ; =FUN_0204F7FC
- bx r3
- .balign 4
-_0204E2B8: .word FUN_0204F7FC
-
- thumb_func_start FUN_0204E2BC
-FUN_0204E2BC: ; 0x0204E2BC
- ldr r3, _0204E2C4 ; =FUN_0204F774
- mov r0, #0x2
- bx r3
- nop
-_0204E2C4: .word FUN_0204F774
-
- thumb_func_start FUN_0204E2C8
-FUN_0204E2C8: ; 0x0204E2C8
- ldr r3, _0204E2D0 ; =FUN_0204F774
- mov r0, #0x20
- bx r3
- nop
-_0204E2D0: .word FUN_0204F774
-
- thumb_func_start FUN_0204E2D4
-FUN_0204E2D4: ; 0x0204E2D4
- ldr r3, _0204E2DC ; =FUN_0204F774
- mov r0, #0x1
- bx r3
- nop
-_0204E2DC: .word FUN_0204F774
-
- thumb_func_start FUN_0204E2E0
-FUN_0204E2E0: ; 0x0204E2E0
- push {r3, lr}
- add r1, sp, #0x0
- strb r0, [r1, #0x0]
- mov r0, #0x1a
- add r1, sp, #0x0
- bl FUN_02030C4C
- pop {r3, pc}
-
- thumb_func_start FUN_0204E2F0
-FUN_0204E2F0: ; 0x0204E2F0
- ldr r3, _0204E2F8 ; =0x0223E4BD
- ldrb r0, [r2, #0x0]
- bx r3
- nop
-_0204E2F8: .word 0x0223E4BD
-
- thumb_func_start FUN_0204E2FC
-FUN_0204E2FC: ; 0x0204E2FC
- push {r3, lr}
- bl FUN_02031280
- cmp r0, #0x0
- beq _0204E30A
- mov r0, #0x1
- pop {r3, pc}
-_0204E30A:
- ldr r0, _0204E344 ; =0x021C5A68
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- bne _0204E316
- mov r0, #0x0
- pop {r3, pc}
-_0204E316:
- bl FUN_02031190
- bl FUN_02030E7C
- cmp r0, #0x0
- bne _0204E326
- mov r0, #0x0
- pop {r3, pc}
-_0204E326:
- ldr r0, _0204E344 ; =0x021C5A68
- ldr r1, [r0, #0x0]
- ldr r0, _0204E348 ; =0x000002BE
- ldrb r0, [r1, r0]
- cmp r0, #0x0
- beq _0204E33E
- bl FUN_0204FE5C
- cmp r0, #0x0
- bne _0204E33E
- mov r0, #0x0
- pop {r3, pc}
-_0204E33E:
- mov r0, #0x1
- pop {r3, pc}
- nop
-_0204E344: .word 0x021C5A68
-_0204E348: .word 0x000002BE
-
- thumb_func_start FUN_0204E34C
-FUN_0204E34C: ; 0x0204E34C
- ldr r1, _0204E358 ; =0x021C5A68
- ldr r1, [r1, #0x0]
- add r0, r1, r0
- add r0, #0x48
- ldrb r0, [r0, #0x0]
- bx lr
- .balign 4
-_0204E358: .word 0x021C5A68
-
- thumb_func_start FUN_0204E35C
-FUN_0204E35C: ; 0x0204E35C
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, _0204E39C ; =0x021C5A68
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- bne _0204E36C
- ldr r0, _0204E3A0 ; =0x0000FFFF
- pop {r4, pc}
-_0204E36C:
- bl FUN_02031190
- cmp r4, r0
- bne _0204E382
- ldr r0, _0204E39C ; =0x021C5A68
- ldr r1, [r0, #0x0]
- lsl r0, r4, #0x3
- add r0, r1, r0
- add r0, #0xa2
- ldrh r0, [r0, #0x0]
- pop {r4, pc}
-_0204E382:
- bl FUN_0204E2FC
- cmp r0, #0x0
- beq _0204E398
- ldr r0, _0204E39C ; =0x021C5A68
- ldr r1, [r0, #0x0]
- lsl r0, r4, #0x3
- add r0, r1, r0
- add r0, #0xa2
- ldrh r0, [r0, #0x0]
- pop {r4, pc}
-_0204E398:
- ldr r0, _0204E3A0 ; =0x0000FFFF
- pop {r4, pc}
- .balign 4
-_0204E39C: .word 0x021C5A68
-_0204E3A0: .word 0x0000FFFF
-
- thumb_func_start FUN_0204E3A4
-FUN_0204E3A4: ; 0x0204E3A4
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, _0204E3E4 ; =0x021C5A68
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- bne _0204E3B4
- ldr r0, _0204E3E8 ; =0x0000FFFF
- pop {r4, pc}
-_0204E3B4:
- bl FUN_02031190
- cmp r4, r0
- bne _0204E3CA
- ldr r0, _0204E3E4 ; =0x021C5A68
- ldr r1, [r0, #0x0]
- lsl r0, r4, #0x3
- add r0, r1, r0
- add r0, #0xa4
- ldrh r0, [r0, #0x0]
- pop {r4, pc}
-_0204E3CA:
- bl FUN_0204E2FC
- cmp r0, #0x0
- beq _0204E3E0
- ldr r0, _0204E3E4 ; =0x021C5A68
- ldr r1, [r0, #0x0]
- lsl r0, r4, #0x3
- add r0, r1, r0
- add r0, #0xa4
- ldrh r0, [r0, #0x0]
- pop {r4, pc}
-_0204E3E0:
- ldr r0, _0204E3E8 ; =0x0000FFFF
- pop {r4, pc}
- .balign 4
-_0204E3E4: .word 0x021C5A68
-_0204E3E8: .word 0x0000FFFF
-
- thumb_func_start FUN_0204E3EC
-FUN_0204E3EC: ; 0x0204E3EC
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, _0204E438 ; =0x021C5A68
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- bne _0204E3FC
- ldr r0, _0204E43C ; =0x0000FFFF
- pop {r4, pc}
-_0204E3FC:
- bl FUN_02031190
- cmp r4, r0
- bne _0204E412
- ldr r0, _0204E438 ; =0x021C5A68
- ldr r1, [r0, #0x0]
- lsl r0, r4, #0x3
- add r0, r1, r0
- add r0, #0xa2
- ldrh r0, [r0, #0x0]
- pop {r4, pc}
-_0204E412:
- bl FUN_0204E2FC
- cmp r0, #0x0
- beq _0204E428
- ldr r0, _0204E438 ; =0x021C5A68
- ldr r1, [r0, #0x0]
- add r0, r1, r4
- add r0, #0x48
- ldrb r0, [r0, #0x0]
- cmp r0, #0x0
- bne _0204E42C
-_0204E428:
- ldr r0, _0204E43C ; =0x0000FFFF
- pop {r4, pc}
-_0204E42C:
- lsl r0, r4, #0x3
- add r0, r1, r0
- add r0, #0xa2
- ldrh r0, [r0, #0x0]
- pop {r4, pc}
- nop
-_0204E438: .word 0x021C5A68
-_0204E43C: .word 0x0000FFFF
-
- thumb_func_start FUN_0204E440
-FUN_0204E440: ; 0x0204E440
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, _0204E48C ; =0x021C5A68
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- bne _0204E450
- ldr r0, _0204E490 ; =0x0000FFFF
- pop {r4, pc}
-_0204E450:
- bl FUN_02031190
- cmp r4, r0
- bne _0204E466
- ldr r0, _0204E48C ; =0x021C5A68
- ldr r1, [r0, #0x0]
- lsl r0, r4, #0x3
- add r0, r1, r0
- add r0, #0xa4
- ldrh r0, [r0, #0x0]
- pop {r4, pc}
-_0204E466:
- bl FUN_0204E2FC
- cmp r0, #0x0
- beq _0204E47C
- ldr r0, _0204E48C ; =0x021C5A68
- ldr r1, [r0, #0x0]
- add r0, r1, r4
- add r0, #0x48
- ldrb r0, [r0, #0x0]
- cmp r0, #0x0
- bne _0204E480
-_0204E47C:
- ldr r0, _0204E490 ; =0x0000FFFF
- pop {r4, pc}
-_0204E480:
- lsl r0, r4, #0x3
- add r0, r1, r0
- add r0, #0xa4
- ldrh r0, [r0, #0x0]
- pop {r4, pc}
- nop
-_0204E48C: .word 0x021C5A68
-_0204E490: .word 0x0000FFFF
-
- thumb_func_start FUN_0204E494
-FUN_0204E494: ; 0x0204E494
- ldr r1, _0204E4AC ; =0x021C5A68
- ldr r1, [r1, #0x0]
- cmp r1, #0x0
- beq _0204E4A6
- lsl r0, r0, #0x3
- add r0, r1, r0
- add r0, #0xa2
- ldrh r0, [r0, #0x0]
- bx lr
-_0204E4A6:
- ldr r0, _0204E4B0 ; =0x0000FFFF
- bx lr
- nop
-_0204E4AC: .word 0x021C5A68
-_0204E4B0: .word 0x0000FFFF
-
- thumb_func_start FUN_0204E4B4
-FUN_0204E4B4: ; 0x0204E4B4
- ldr r1, _0204E4CC ; =0x021C5A68
- ldr r1, [r1, #0x0]
- cmp r1, #0x0
- beq _0204E4C6
- lsl r0, r0, #0x3
- add r0, r1, r0
- add r0, #0xa4
- ldrh r0, [r0, #0x0]
- bx lr
-_0204E4C6:
- ldr r0, _0204E4D0 ; =0x0000FFFF
- bx lr
- nop
-_0204E4CC: .word 0x021C5A68
-_0204E4D0: .word 0x0000FFFF
-
- thumb_func_start FUN_0204E4D4
-FUN_0204E4D4: ; 0x0204E4D4
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_0204E3EC
- ldr r1, _0204E504 ; =0x0000FFFF
- cmp r0, r1
- bne _0204E4E6
- add r0, r1, #0x0
- pop {r4, pc}
-_0204E4E6:
- ldr r0, _0204E508 ; =0x021C5A68
- lsl r4, r4, #0x3
- ldr r0, [r0, #0x0]
- add r1, r0, r4
- mov r0, #0xa6
- ldrsb r0, [r1, r0]
- bl FUN_02059BF4
- ldr r1, _0204E508 ; =0x021C5A68
- ldr r1, [r1, #0x0]
- add r1, r1, r4
- add r1, #0xa2
- ldrh r1, [r1, #0x0]
- add r0, r1, r0
- pop {r4, pc}
- .balign 4
-_0204E504: .word 0x0000FFFF
-_0204E508: .word 0x021C5A68
-
- thumb_func_start FUN_0204E50C
-FUN_0204E50C: ; 0x0204E50C
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_0204E440
- ldr r1, _0204E53C ; =0x0000FFFF
- cmp r0, r1
- bne _0204E51E
- add r0, r1, #0x0
- pop {r4, pc}
-_0204E51E:
- ldr r0, _0204E540 ; =0x021C5A68
- lsl r4, r4, #0x3
- ldr r0, [r0, #0x0]
- add r1, r0, r4
- mov r0, #0xa6
- ldrsb r0, [r1, r0]
- bl FUN_02059C00
- ldr r1, _0204E540 ; =0x021C5A68
- ldr r1, [r1, #0x0]
- add r1, r1, r4
- add r1, #0xa4
- ldrh r1, [r1, #0x0]
- add r0, r1, r0
- pop {r4, pc}
- .balign 4
-_0204E53C: .word 0x0000FFFF
-_0204E540: .word 0x021C5A68
-
- thumb_func_start FUN_0204E544
-FUN_0204E544: ; 0x0204E544
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, _0204E590 ; =0x021C5A68
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- bne _0204E554
- ldr r0, _0204E594 ; =0x0000FFFF
- pop {r4, pc}
-_0204E554:
- bl FUN_02031190
- cmp r4, r0
- bne _0204E56A
- ldr r0, _0204E590 ; =0x021C5A68
- ldr r1, [r0, #0x0]
- lsl r0, r4, #0x3
- add r0, r1, r0
- add r0, #0x62
- ldrh r0, [r0, #0x0]
- pop {r4, pc}
-_0204E56A:
- bl FUN_0204E2FC
- cmp r0, #0x0
- beq _0204E580
- ldr r0, _0204E590 ; =0x021C5A68
- ldr r1, [r0, #0x0]
- add r0, r1, r4
- add r0, #0x48
- ldrb r0, [r0, #0x0]
- cmp r0, #0x0
- bne _0204E584
-_0204E580:
- ldr r0, _0204E594 ; =0x0000FFFF
- pop {r4, pc}
-_0204E584:
- lsl r0, r4, #0x3
- add r0, r1, r0
- add r0, #0x62
- ldrh r0, [r0, #0x0]
- pop {r4, pc}
- nop
-_0204E590: .word 0x021C5A68
-_0204E594: .word 0x0000FFFF
-
- thumb_func_start FUN_0204E598
-FUN_0204E598: ; 0x0204E598
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, _0204E5E4 ; =0x021C5A68
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- bne _0204E5A8
- ldr r0, _0204E5E8 ; =0x0000FFFF
- pop {r4, pc}
-_0204E5A8:
- bl FUN_02031190
- cmp r4, r0
- bne _0204E5BE
- ldr r0, _0204E5E4 ; =0x021C5A68
- ldr r1, [r0, #0x0]
- lsl r0, r4, #0x3
- add r0, r1, r0
- add r0, #0x64
- ldrh r0, [r0, #0x0]
- pop {r4, pc}
-_0204E5BE:
- bl FUN_0204E2FC
- cmp r0, #0x0
- beq _0204E5D4
- ldr r0, _0204E5E4 ; =0x021C5A68
- ldr r1, [r0, #0x0]
- add r0, r1, r4
- add r0, #0x48
- ldrb r0, [r0, #0x0]
- cmp r0, #0x0
- bne _0204E5D8
-_0204E5D4:
- ldr r0, _0204E5E8 ; =0x0000FFFF
- pop {r4, pc}
-_0204E5D8:
- lsl r0, r4, #0x3
- add r0, r1, r0
- add r0, #0x64
- ldrh r0, [r0, #0x0]
- pop {r4, pc}
- nop
-_0204E5E4: .word 0x021C5A68
-_0204E5E8: .word 0x0000FFFF
-
- thumb_func_start FUN_0204E5EC
-FUN_0204E5EC: ; 0x0204E5EC
- ldr r1, _0204E604 ; =0x021C5A68
- ldr r1, [r1, #0x0]
- cmp r1, #0x0
- beq _0204E5FE
- lsl r0, r0, #0x3
- add r0, r1, r0
- add r0, #0x62
- ldrh r0, [r0, #0x0]
- bx lr
-_0204E5FE:
- ldr r0, _0204E608 ; =0x0000FFFF
- bx lr
- nop
-_0204E604: .word 0x021C5A68
-_0204E608: .word 0x0000FFFF
-
- thumb_func_start FUN_0204E60C
-FUN_0204E60C: ; 0x0204E60C
- ldr r1, _0204E624 ; =0x021C5A68
- ldr r1, [r1, #0x0]
- cmp r1, #0x0
- beq _0204E61E
- lsl r0, r0, #0x3
- add r0, r1, r0
- add r0, #0x64
- ldrh r0, [r0, #0x0]
- bx lr
-_0204E61E:
- ldr r0, _0204E628 ; =0x0000FFFF
- bx lr
- nop
-_0204E624: .word 0x021C5A68
-_0204E628: .word 0x0000FFFF
-
- thumb_func_start FUN_0204E62C
-FUN_0204E62C: ; 0x0204E62C
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_0204E544
- ldr r1, _0204E65C ; =0x0000FFFF
- cmp r0, r1
- bne _0204E63E
- add r0, r1, #0x0
- pop {r4, pc}
-_0204E63E:
- ldr r0, _0204E660 ; =0x021C5A68
- lsl r4, r4, #0x3
- ldr r0, [r0, #0x0]
- add r1, r0, r4
- mov r0, #0x66
- ldrsb r0, [r1, r0]
- bl FUN_02059BF4
- ldr r1, _0204E660 ; =0x021C5A68
- ldr r1, [r1, #0x0]
- add r1, r1, r4
- add r1, #0x62
- ldrh r1, [r1, #0x0]
- add r0, r1, r0
- pop {r4, pc}
- .balign 4
-_0204E65C: .word 0x0000FFFF
-_0204E660: .word 0x021C5A68
-
- thumb_func_start FUN_0204E664
-FUN_0204E664: ; 0x0204E664
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_0204E598
- ldr r1, _0204E694 ; =0x0000FFFF
- cmp r0, r1
- bne _0204E676
- add r0, r1, #0x0
- pop {r4, pc}
-_0204E676:
- ldr r0, _0204E698 ; =0x021C5A68
- lsl r4, r4, #0x3
- ldr r0, [r0, #0x0]
- add r1, r0, r4
- mov r0, #0x66
- ldrsb r0, [r1, r0]
- bl FUN_02059C00
- ldr r1, _0204E698 ; =0x021C5A68
- ldr r1, [r1, #0x0]
- add r1, r1, r4
- add r1, #0x64
- ldrh r1, [r1, #0x0]
- add r0, r1, r0
- pop {r4, pc}
- .balign 4
-_0204E694: .word 0x0000FFFF
-_0204E698: .word 0x021C5A68
-
- thumb_func_start FUN_0204E69C
-FUN_0204E69C: ; 0x0204E69C
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_0204E2FC
- cmp r0, #0x0
- beq _0204E6B6
- ldr r0, _0204E6C8 ; =0x021C5A68
- ldr r1, [r0, #0x0]
- add r0, r1, r4
- add r0, #0x48
- ldrb r0, [r0, #0x0]
- cmp r0, #0x0
- bne _0204E6BC
-_0204E6B6:
- mov r0, #0x0
- mvn r0, r0
- pop {r4, pc}
-_0204E6BC:
- lsl r0, r4, #0x3
- add r1, r1, r0
- mov r0, #0xa6
- ldrsb r0, [r1, r0]
- pop {r4, pc}
- nop
-_0204E6C8: .word 0x021C5A68
-
- thumb_func_start FUN_0204E6CC
-FUN_0204E6CC: ; 0x0204E6CC
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_0204E2FC
- cmp r0, #0x0
- beq _0204E6E6
- ldr r0, _0204E6F8 ; =0x021C5A68
- ldr r1, [r0, #0x0]
- add r0, r1, r4
- add r0, #0x48
- ldrb r0, [r0, #0x0]
- cmp r0, #0x0
- bne _0204E6EC
-_0204E6E6:
- mov r0, #0x0
- mvn r0, r0
- pop {r4, pc}
-_0204E6EC:
- lsl r0, r4, #0x3
- add r1, r1, r0
- mov r0, #0x66
- ldrsb r0, [r1, r0]
- pop {r4, pc}
- nop
-_0204E6F8: .word 0x021C5A68
-
- thumb_func_start FUN_0204E6FC
-FUN_0204E6FC: ; 0x0204E6FC
- push {r4, lr}
- add r4, r1, #0x0
- ldr r1, _0204E728 ; =0x021C5A68
- lsl r0, r0, #0x3
- ldr r1, [r1, #0x0]
- add r1, r1, r0
- mov r0, #0x66
- ldrsb r0, [r1, r0]
- bl FUN_0204F610
- ldr r2, _0204E728 ; =0x021C5A68
- lsl r1, r4, #0x3
- ldr r3, [r2, #0x0]
- add r1, r3, r1
- add r1, #0x66
- strb r0, [r1, #0x0]
- ldr r0, [r2, #0x0]
- mov r3, #0x1
- add r1, r0, r4
- ldr r0, _0204E72C ; =0x00000132
- strb r3, [r1, r0]
- pop {r4, pc}
- .balign 4
-_0204E728: .word 0x021C5A68
-_0204E72C: .word 0x00000132
-
- thumb_func_start FUN_0204E730
-FUN_0204E730: ; 0x0204E730
- push {r4, lr}
- add r4, r1, #0x0
- ldr r1, _0204E754 ; =0x021C5A68
- lsl r0, r0, #0x3
- ldr r1, [r1, #0x0]
- add r1, r1, r0
- mov r0, #0xa6
- ldrsb r0, [r1, r0]
- bl FUN_0204F610
- ldr r1, _0204E754 ; =0x021C5A68
- ldr r2, [r1, #0x0]
- lsl r1, r4, #0x3
- add r1, r2, r1
- add r1, #0xa6
- strb r0, [r1, #0x0]
- pop {r4, pc}
- nop
-_0204E754: .word 0x021C5A68
-
- thumb_func_start FUN_0204E758
-FUN_0204E758: ; 0x0204E758
- push {r4, lr}
- add r2, r0, #0x0
- ldr r0, _0204E774 ; =0x021C5A68
- add r4, r1, #0x0
- ldr r0, [r0, #0x0]
- add r1, r2, #0x0
- ldr r0, [r0, #0x4]
- bl FUN_02244D40
- add r1, r4, #0x0
- bl FUN_02244D98
- pop {r4, pc}
- nop
-_0204E774: .word 0x021C5A68
-
- thumb_func_start FUN_0204E778
-FUN_0204E778: ; 0x0204E778
- push {r3, lr}
- add r1, r0, #0x0
- ldr r0, _0204E790 ; =0x021C5A68
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x4]
- bl FUN_02244D40
- mov r1, #0x0
- bl FUN_02244D98
- pop {r3, pc}
- nop
-_0204E790: .word 0x021C5A68
-
- thumb_func_start FUN_0204E794
-FUN_0204E794: ; 0x0204E794
- push {r3-r7, lr}
- sub sp, #0x8
- str r1, [sp, #0x0]
- ldr r1, _0204E7C8 ; =0x021C5A68
- add r6, r3, #0x0
- ldr r4, [r1, #0x0]
- lsl r7, r0, #0x3
- add r4, #0x62
- add r0, r6, #0x0
- str r2, [sp, #0x4]
- add r5, r4, r7
- bl FUN_02059BF4
- ldr r1, [sp, #0x0]
- add r0, r1, r0
- strh r0, [r4, r7]
- add r0, r6, #0x0
- bl FUN_02059C00
- ldr r1, [sp, #0x4]
- add r0, r1, r0
- strh r0, [r5, #0x2]
- strb r6, [r5, #0x4]
- add sp, #0x8
- pop {r3-r7, pc}
- nop
-_0204E7C8: .word 0x021C5A68
-
- thumb_func_start FUN_0204E7CC
-FUN_0204E7CC: ; 0x0204E7CC
- push {r3-r7, lr}
- add r5, r0, #0x0
- ldr r0, _0204E848 ; =0x021C5A68
- add r6, r1, #0x0
- ldr r0, [r0, #0x0]
- add r7, r2, #0x0
- str r3, [sp, #0x0]
- cmp r0, #0x0
- beq _0204E844
- add r2, r0, #0x0
- add r2, #0xa2
- lsl r1, r5, #0x3
- add r4, r2, r1
- ldr r1, _0204E84C ; =0x000002BD
- ldrb r1, [r0, r1]
- cmp r1, #0x0
- bne _0204E7FA
- ldrh r1, [r4, #0x0]
- ldrh r3, [r4, #0x2]
- ldr r0, [r0, #0x54]
- mov r2, #0x0
- bl FUN_021E5B30
-_0204E7FA:
- strh r6, [r4, #0x0]
- ldr r0, [sp, #0x0]
- strh r7, [r4, #0x2]
- strb r0, [r4, #0x4]
- ldr r0, _0204E848 ; =0x021C5A68
- ldr r1, [r0, #0x0]
- lsl r0, r5, #0x2
- add r0, r1, r0
- ldr r0, [r0, #0x8]
- cmp r0, #0x0
- beq _0204E81A
- ldr r3, [sp, #0x0]
- add r1, r6, #0x0
- add r2, r7, #0x0
- bl FUN_02055514
-_0204E81A:
- ldr r0, _0204E848 ; =0x021C5A68
- ldr r1, [r0, #0x0]
- ldr r0, _0204E84C ; =0x000002BD
- ldrb r0, [r1, r0]
- cmp r0, #0x0
- bne _0204E832
- ldr r0, [r1, #0x54]
- ldrh r1, [r4, #0x0]
- ldrh r3, [r4, #0x2]
- mov r2, #0x0
- bl FUN_021E5B30
-_0204E832:
- ldr r0, _0204E848 ; =0x021C5A68
- ldr r1, [r0, #0x0]
- ldr r0, _0204E84C ; =0x000002BD
- ldrb r0, [r1, r0]
- cmp r0, #0x0
- bne _0204E844
- add r0, r5, #0x0
- bl FUN_0204F0A8
-_0204E844:
- pop {r3-r7, pc}
- nop
-_0204E848: .word 0x021C5A68
-_0204E84C: .word 0x000002BD
-
- thumb_func_start FUN_0204E850
-FUN_0204E850: ; 0x0204E850
- push {r3-r4, lr}
- sub sp, #0x4
- mov r2, #0x2
- add r1, sp, #0x0
- add r4, r0, #0x0
- strb r2, [r1, #0x0]
- strb r4, [r1, #0x1]
- ldr r1, _0204E8AC ; =0x021C5A68
- ldr r1, [r1, #0x0]
- add r1, r1, r4
- add r1, #0xe2
- ldrb r1, [r1, #0x0]
- cmp r1, #0x0
- beq _0204E88A
- bl FUN_0204D830
- cmp r0, #0x0
- bne _0204E88A
- add r0, r4, #0x0
- bl FUN_0204EE9C
- cmp r0, #0x0
- add r0, sp, #0x0
- beq _0204E886
- mov r1, #0x3
- strb r1, [r0, #0x0]
- b _0204E88A
-_0204E886:
- mov r1, #0x1
- strb r1, [r0, #0x0]
-_0204E88A:
- mov r0, #0x1d
- add r1, sp, #0x0
- mov r2, #0x2
- bl FUN_02030BC4
- cmp r0, #0x0
- beq _0204E8A8
- add r0, sp, #0x0
- ldrb r0, [r0, #0x0]
- cmp r0, #0x2
- beq _0204E8A8
- add r0, r4, #0x0
- mov r1, #0x0
- bl FUN_0204EAD8
-_0204E8A8:
- add sp, #0x4
- pop {r3-r4, pc}
- .balign 4
-_0204E8AC: .word 0x021C5A68
-
- thumb_func_start FUN_0204E8B0
-FUN_0204E8B0: ; 0x0204E8B0
- push {r3-r6}
- ldr r2, _0204E8F8 ; =0x021C5A68
- ldr r3, [r2, #0x0]
- cmp r3, #0x0
- bne _0204E8C0
- mov r0, #0xff
- pop {r3-r6}
- bx lr
-_0204E8C0:
- mov r2, #0x0
- add r4, r3, #0x0
-_0204E8C4:
- add r5, r3, #0x0
- add r5, #0x48
- ldrb r5, [r5, #0x0]
- cmp r5, #0x0
- beq _0204E8E8
- add r5, r4, #0x0
- add r5, #0x64
- ldrh r6, [r5, #0x0]
- add r5, r4, #0x0
- add r5, #0x62
- ldrh r5, [r5, #0x0]
- cmp r0, r5
- bne _0204E8E8
- cmp r1, r6
- bne _0204E8E8
- add r0, r2, #0x0
- pop {r3-r6}
- bx lr
-_0204E8E8:
- add r2, r2, #0x1
- add r3, r3, #0x1
- add r4, #0x8
- cmp r2, #0x8
- blt _0204E8C4
- mov r0, #0xff
- pop {r3-r6}
- bx lr
- .balign 4
-_0204E8F8: .word 0x021C5A68
-
- thumb_func_start FUN_0204E8FC
-FUN_0204E8FC: ; 0x0204E8FC
- push {r4, lr}
- add r4, r2, #0x0
- bl FUN_02030FE0
- cmp r0, #0x0
- beq _0204E962
- ldrb r0, [r4, #0x0]
- cmp r0, #0x1
- bne _0204E936
- bl FUN_02031190
- ldrb r1, [r4, #0x1]
- cmp r1, r0
- bne _0204E936
- ldr r1, _0204E964 ; =0x021C5A68
- mov r0, #0xae
- ldr r3, [r1, #0x0]
- lsl r0, r0, #0x2
- ldrb r2, [r3, r0]
- cmp r2, #0x0
- bne _0204E962
- mov r2, #0x1
- strb r2, [r3, r0]
- ldr r1, [r1, #0x0]
- ldr r0, _0204E968 ; =FUN_0204D308
- ldr r1, [r1, #0x54]
- bl FUN_022494C8
- pop {r4, pc}
-_0204E936:
- ldrb r0, [r4, #0x0]
- cmp r0, #0x3
- bne _0204E962
- bl FUN_02031190
- ldrb r1, [r4, #0x1]
- cmp r1, r0
- bne _0204E962
- ldr r1, _0204E964 ; =0x021C5A68
- mov r0, #0xae
- ldr r3, [r1, #0x0]
- lsl r0, r0, #0x2
- ldrb r2, [r3, r0]
- cmp r2, #0x0
- bne _0204E962
- mov r2, #0x1
- strb r2, [r3, r0]
- ldr r1, [r1, #0x0]
- ldr r0, _0204E968 ; =FUN_0204D308
- ldr r1, [r1, #0x54]
- bl FUN_0224A7C8
-_0204E962:
- pop {r4, pc}
- .balign 4
-_0204E964: .word 0x021C5A68
-_0204E968: .word FUN_0204D308
-
- thumb_func_start FUN_0204E96C
-FUN_0204E96C: ; 0x0204E96C
- push {r4-r6, lr}
- ldr r0, _0204EACC ; =0x021C5A68
- add r5, r2, #0x0
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x54]
- ldr r0, [r0, #0xc]
- bl FUN_020462AC
- add r6, r0, #0x0
- ldrb r0, [r5, #0x1]
- cmp r0, #0x8
- blo _0204E988
- bl ErrorHandling
-_0204E988:
- ldrb r0, [r5, #0x0]
- cmp r0, #0x4
- bne _0204E9AA
- bl FUN_02031190
- ldrb r1, [r5, #0x1]
- cmp r1, r0
- bne _0204E9AA
- bl FUN_0204F7E4
- bl FUN_0223D638
- ldr r3, _0204EAD0 ; =FUN_0204E2AC
- mov r1, #0x48
- mov r2, #0x1
- bl FUN_0224DCB8
-_0204E9AA:
- ldrb r0, [r5, #0x0]
- cmp r0, #0x1
- bne _0204E9B8
- ldrb r0, [r5, #0x1]
- ldrb r1, [r5, #0x2]
- bl FUN_0204E730
-_0204E9B8:
- ldrb r0, [r5, #0x0]
- cmp r0, #0x1
- bne _0204EA7C
- bl FUN_02031190
- ldrb r1, [r5, #0x1]
- cmp r1, r0
- bne _0204EA7C
- ldr r2, _0204EACC ; =0x021C5A68
- ldrb r0, [r5, #0x2]
- ldr r2, [r2, #0x0]
- ldr r1, _0204EAD4 ; =FUN_0204D308
- ldr r2, [r2, #0x54]
- bl FUN_02247A34
- ldr r0, _0204EACC ; =0x021C5A68
- ldrb r4, [r5, #0x1]
- ldr r2, [r0, #0x0]
- mov r3, #0xf
- add r1, r2, #0x0
- add r1, #0x58
- ldrb r1, [r1, #0x0]
- add r2, #0x58
- bic r1, r3
- mov r3, #0xf
- and r3, r4
- orr r1, r3
- strb r1, [r2, #0x0]
- ldr r2, [r0, #0x0]
- mov r3, #0xf0
- add r1, r2, #0x0
- add r1, #0x58
- ldrb r1, [r1, #0x0]
- add r2, #0x58
- bic r1, r3
- ldrb r3, [r5, #0x2]
- lsl r3, r3, #0x1c
- lsr r3, r3, #0x18
- orr r1, r3
- strb r1, [r2, #0x0]
- ldr r3, [r0, #0x0]
- add r1, r3, #0x0
- add r1, #0x59
- ldrb r2, [r1, #0x0]
- mov r1, #0x1
- add r3, #0x59
- bic r2, r1
- strb r2, [r3, #0x0]
- ldr r3, [r0, #0x0]
- add r1, r3, #0x0
- add r1, #0x59
- ldrb r2, [r1, #0x0]
- mov r1, #0x2
- add r3, #0x59
- bic r2, r1
- strb r2, [r3, #0x0]
- ldrb r4, [r5, #0x2]
- ldr r1, [r0, #0x0]
- add r0, r1, r4
- add r0, #0x5a
- ldrb r0, [r0, #0x0]
- cmp r0, #0x0
- bne _0204EA7C
- ldr r0, [r1, #0x54]
- bl FUN_020377AC
- bl FUN_02026CB4
- add r1, r4, #0x0
- bl FUN_02026908
- add r0, r6, #0x0
- bl FUN_0205F688
- add r1, r0, #0x0
- add r1, r1, #0x1
- lsl r1, r1, #0x10
- add r0, r6, #0x0
- lsr r1, r1, #0x10
- bl FUN_0205F698
- add r0, r6, #0x0
- bl FUN_0205F6A8
- add r1, r0, #0x0
- add r1, r1, #0x1
- lsl r1, r1, #0x10
- add r0, r6, #0x0
- lsr r1, r1, #0x10
- bl FUN_0205F6B8
- ldr r0, _0204EACC ; =0x021C5A68
- ldrb r1, [r5, #0x2]
- ldr r2, [r0, #0x0]
- add r2, #0x5a
- ldrb r0, [r2, r1]
- add r0, r0, #0x1
- strb r0, [r2, r1]
-_0204EA7C:
- ldrb r0, [r5, #0x0]
- cmp r0, #0x1
- bne _0204EA9A
- ldrb r4, [r5, #0x2]
- bl FUN_02031190
- cmp r4, r0
- bne _0204EA9A
- ldr r2, _0204EACC ; =0x021C5A68
- ldrb r1, [r5, #0x1]
- ldr r2, [r2, #0x0]
- add r0, r4, #0x0
- ldr r2, [r2, #0x54]
- bl FUN_02248DF8
-_0204EA9A:
- ldrb r0, [r5, #0x0]
- cmp r0, #0x2
- bne _0204EABC
- bl FUN_02031190
- ldrb r1, [r5, #0x1]
- cmp r1, r0
- bne _0204EABC
- bl FUN_0204F7E4
- bl FUN_0223D638
- ldr r3, _0204EAD0 ; =FUN_0204E2AC
- mov r1, #0x2
- mov r2, #0x1
- bl FUN_0224DCB8
-_0204EABC:
- ldrb r0, [r5, #0x0]
- cmp r0, #0x1
- bne _0204EACA
- ldrb r0, [r5, #0x1]
- ldrb r1, [r5, #0x2]
- bl FUN_0223E4A8
-_0204EACA:
- pop {r4-r6, pc}
- .balign 4
-_0204EACC: .word 0x021C5A68
-_0204EAD0: .word FUN_0204E2AC
-_0204EAD4: .word FUN_0204D308
-
- thumb_func_start FUN_0204EAD8
-FUN_0204EAD8: ; 0x0204EAD8
- push {r3-r4}
- ldr r3, _0204EB0C ; =0x021C5A68
- ldr r4, [r3, #0x0]
- add r4, #0xe2
- ldrb r2, [r4, r0]
- cmp r1, r2
- beq _0204EB08
- strb r1, [r4, r0]
- ldr r2, [r3, #0x0]
- lsl r1, r0, #0x3
- add r2, r2, r1
- mov r4, #0x0
- add r2, #0x69
- strb r4, [r2, #0x0]
- ldr r2, [r3, #0x0]
- mov r4, #0x1
- add r2, r2, r0
- ldr r0, _0204EB10 ; =0x00000132
- strb r4, [r2, r0]
- ldr r0, [r3, #0x0]
- mov r2, #0x2
- add r0, r0, r1
- add r0, #0x67
- strb r2, [r0, #0x0]
-_0204EB08:
- pop {r3-r4}
- bx lr
- .balign 4
-_0204EB0C: .word 0x021C5A68
-_0204EB10: .word 0x00000132
-
- thumb_func_start FUN_0204EB14
-FUN_0204EB14: ; 0x0204EB14
- ldr r1, _0204EB3C ; =0x021C5A68
- ldr r2, [r1, #0x0]
- ldr r1, _0204EB40 ; =0x000002C2
- ldrb r1, [r2, r1]
- cmp r1, #0x0
- beq _0204EB24
- mov r0, #0x0
- bx lr
-_0204EB24:
- add r1, r2, r0
- add r1, #0xea
- ldrb r1, [r1, #0x0]
- cmp r1, #0x0
- beq _0204EB36
- add r0, r2, r0
- add r0, #0xe2
- ldrb r0, [r0, #0x0]
- bx lr
-_0204EB36:
- mov r0, #0x0
- bx lr
- nop
-_0204EB3C: .word 0x021C5A68
-_0204EB40: .word 0x000002C2
-
- thumb_func_start FUN_0204EB44
-FUN_0204EB44: ; 0x0204EB44
- push {r3-r7, lr}
- sub sp, #0x30
- ldr r1, _0204EBF8 ; =0x020F5800
- add r0, sp, #0x8
- ldrh r2, [r1, #0x0]
- ldr r3, _0204EBFC ; =0x020F5814
- strh r2, [r0, #0x0]
- ldrh r2, [r1, #0x2]
- strh r2, [r0, #0x2]
- ldrh r2, [r1, #0x4]
- ldrh r1, [r1, #0x6]
- strh r2, [r0, #0x4]
- strh r1, [r0, #0x6]
- add r2, sp, #0x20
- mov r1, #0x8
-_0204EB62:
- ldrh r0, [r3, #0x0]
- add r3, r3, #0x2
- strh r0, [r2, #0x0]
- add r2, r2, #0x2
- sub r1, r1, #0x1
- bne _0204EB62
- bl FUN_02033534
- bl FUN_02031248
- add r6, r0, #0x0
- mov r0, #0x0
- str r0, [sp, #0x4]
- str r0, [sp, #0x0]
- cmp r6, #0x2
- bne _0204EB86
- add r5, sp, #0x8
- b _0204EB88
-_0204EB86:
- add r5, sp, #0x20
-_0204EB88:
- mov r7, #0x0
- cmp r6, #0x0
- ble _0204EBD4
-_0204EB8E:
- mov r4, #0x0
- cmp r6, #0x0
- ble _0204EBCC
-_0204EB94:
- add r0, r4, #0x0
- bl FUN_0204E3EC
- ldrh r1, [r5, #0x0]
- cmp r1, r0
- bne _0204EBC6
- add r0, r4, #0x0
- bl FUN_0204E440
- ldrh r1, [r5, #0x2]
- cmp r1, r0
- bne _0204EBC6
- ldr r0, [sp, #0x4]
- lsl r1, r4, #0x2
- add r0, r0, #0x1
- str r0, [sp, #0x4]
- add r0, sp, #0x10
- str r7, [r0, r1]
- bl FUN_02031190
- cmp r4, r0
- bne _0204EBCC
- mov r0, #0x1
- str r0, [sp, #0x0]
- b _0204EBCC
-_0204EBC6:
- add r4, r4, #0x1
- cmp r4, r6
- blt _0204EB94
-_0204EBCC:
- add r7, r7, #0x1
- add r5, r5, #0x4
- cmp r7, r6
- blt _0204EB8E
-_0204EBD4:
- ldr r0, [sp, #0x4]
- cmp r0, r6
- bne _0204EBF2
- mov r5, #0x0
- cmp r6, #0x0
- ble _0204EBF2
- add r4, sp, #0x10
-_0204EBE2:
- ldr r0, [r4, #0x0]
- add r1, r5, #0x0
- bl FUN_020313B4
- add r5, r5, #0x1
- add r4, r4, #0x4
- cmp r5, r6
- blt _0204EBE2
-_0204EBF2:
- ldr r0, [sp, #0x0]
- add sp, #0x30
- pop {r3-r7, pc}
- .balign 4
-_0204EBF8: .word 0x020F5800
-_0204EBFC: .word 0x020F5814
-
- thumb_func_start FUN_0204EC00
-FUN_0204EC00: ; 0x0204EC00
- ldrb r2, [r2, #0x0]
- cmp r2, #0x3
- bne _0204EC14
- ldr r1, _0204EC24 ; =0x021C5A68
- mov r2, #0x0
- ldr r1, [r1, #0x0]
- add r0, r1, r0
- add r0, #0xf2
- strb r2, [r0, #0x0]
- bx lr
-_0204EC14:
- ldr r1, _0204EC24 ; =0x021C5A68
- ldr r1, [r1, #0x0]
- add r1, r1, r0
- mov r0, #0xad
- lsl r0, r0, #0x2
- strb r2, [r1, r0]
- bx lr
- nop
-_0204EC24: .word 0x021C5A68
-
- thumb_func_start FUN_0204EC28
-FUN_0204EC28: ; 0x0204EC28
- push {r3-r7, lr}
- sub sp, #0x8
- bl FUN_02033534
- bl FUN_02031248
- add r7, r0, #0x0
- cmp r7, #0x2
- bne _0204EC40
- ldr r0, _0204ECB4 ; =0x02105E5C
- str r0, [sp, #0x0]
- b _0204EC44
-_0204EC40:
- ldr r0, _0204ECB8 ; =0x02105E64
- str r0, [sp, #0x0]
-_0204EC44:
- mov r1, #0x0
- add r0, sp, #0x4
- strb r1, [r0, #0x0]
- cmp r7, #0x0
- ble _0204ECAE
-_0204EC4E:
- ldr r0, _0204ECBC ; =0x021C5A68
- add r6, sp, #0x4
- ldr r1, [r0, #0x0]
- ldrb r0, [r6, #0x0]
- add r1, r1, r0
- mov r0, #0xad
- lsl r0, r0, #0x2
- ldrb r0, [r1, r0]
- cmp r0, #0x0
- beq _0204ECA0
- mov r4, #0x0
- cmp r7, #0x0
- ble _0204ECA0
- ldr r5, [sp, #0x0]
-_0204EC6A:
- ldrb r0, [r6, #0x0]
- bl FUN_0204E544
- ldrh r1, [r5, #0x0]
- cmp r1, r0
- bne _0204EC98
- ldrb r0, [r6, #0x0]
- bl FUN_0204E598
- ldrh r1, [r5, #0x2]
- cmp r1, r0
- bne _0204EC98
- ldr r0, _0204ECBC ; =0x021C5A68
- ldr r1, [r0, #0x0]
- ldrb r0, [r6, #0x0]
- add r1, r1, r0
- add r1, #0xf2
- mov r0, #0x1
- strb r0, [r1, #0x0]
- mov r0, #0x5f
- add r1, sp, #0x4
- bl FUN_02030C4C
-_0204EC98:
- add r4, r4, #0x1
- add r5, r5, #0x4
- cmp r4, r7
- blt _0204EC6A
-_0204ECA0:
- add r0, sp, #0x4
- ldrb r1, [r0, #0x0]
- add r1, r1, #0x1
- strb r1, [r0, #0x0]
- ldrb r0, [r0, #0x0]
- cmp r0, r7
- blt _0204EC4E
-_0204ECAE:
- add sp, #0x8
- pop {r3-r7, pc}
- nop
-_0204ECB4: .word 0x02105E5C
-_0204ECB8: .word 0x02105E64
-_0204ECBC: .word 0x021C5A68
-
- thumb_func_start FUN_0204ECC0
-FUN_0204ECC0: ; 0x0204ECC0
- push {r4, lr}
- bl FUN_02031190
- add r4, r0, #0x0
- bl FUN_0204E3EC
- cmp r0, #0x8
- ble _0204ECE0
- mov r0, #0x2
- bl FUN_0204F6DC
- mov r0, #0x2
- mov r1, #0x24
- bl FUN_0205AFDC
- b _0204ECEE
-_0204ECE0:
- mov r0, #0x3
- bl FUN_0204F6DC
- mov r0, #0x3
- mov r1, #0x24
- bl FUN_0205AFDC
-_0204ECEE:
- add r1, r0, #0x0
- ldr r0, _0204ED04 ; =0x021C5A68
- ldr r2, [r0, #0x0]
- lsl r0, r4, #0x2
- add r0, r2, r0
- ldr r0, [r0, #0x8]
- bl FUN_02057260
- bl FUN_0204FB14
- pop {r4, pc}
- .balign 4
-_0204ED04: .word 0x021C5A68
-
- thumb_func_start FUN_0204ED08
-FUN_0204ED08: ; 0x0204ED08
- push {r3-r7, lr}
- sub sp, #0x8
- bl FUN_02033534
- bl FUN_02031248
- mov r3, #0x0
- str r0, [sp, #0x0]
- cmp r0, #0x0
- ble _0204ED3C
- ldr r0, _0204ED94 ; =0x021C5A68
- mov r1, #0x66
- add r2, r1, #0x0
- ldr r4, [r0, #0x0]
- sub r2, #0x67
-_0204ED26:
- ldrsb r0, [r4, r1]
- cmp r0, r2
- bne _0204ED32
- add sp, #0x8
- mov r0, #0x0
- pop {r3-r7, pc}
-_0204ED32:
- ldr r0, [sp, #0x0]
- add r3, r3, #0x1
- add r4, #0x8
- cmp r3, r0
- blt _0204ED26
-_0204ED3C:
- ldr r0, [sp, #0x0]
- mov r5, #0x0
- cmp r0, #0x0
- ble _0204ED8E
- add r4, r5, #0x0
-_0204ED46:
- ldr r0, _0204ED94 ; =0x021C5A68
- ldr r7, [r0, #0x0]
- mov r0, #0x4
- add r7, #0x62
- add r6, r7, r4
- ldrsb r0, [r6, r0]
- bl FUN_0204F610
- str r0, [sp, #0x4]
- bl FUN_02059BF4
- ldrh r1, [r7, r4]
- add r0, r1, r0
- strh r0, [r7, r4]
- ldr r0, [sp, #0x4]
- bl FUN_02059C00
- ldrh r1, [r6, #0x2]
- add r0, r1, r0
- strh r0, [r6, #0x2]
- mov r0, #0x2
- strb r0, [r6, #0x5]
- ldr r0, _0204ED94 ; =0x021C5A68
- mov r1, #0x1
- ldr r0, [r0, #0x0]
- add r2, r0, r5
- ldr r0, _0204ED98 ; =0x00000132
- strb r1, [r2, r0]
- add r0, r5, #0x0
- bl FUN_0204EAD8
- ldr r0, [sp, #0x0]
- add r5, r5, #0x1
- add r4, #0x8
- cmp r5, r0
- blt _0204ED46
-_0204ED8E:
- mov r0, #0x1
- add sp, #0x8
- pop {r3-r7, pc}
- .balign 4
-_0204ED94: .word 0x021C5A68
-_0204ED98: .word 0x00000132
-
- thumb_func_start FUN_0204ED9C
-FUN_0204ED9C: ; 0x0204ED9C
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, _0204EDE8 ; =0x021C5A68
- ldr r1, [r0, #0x0]
- lsl r0, r4, #0x2
- add r1, r1, r0
- mov r0, #0x29
- lsl r0, r0, #0x4
- ldr r0, [r1, r0]
- cmp r0, #0x0
- beq _0204EDE2
- bl FUN_02016A18
- ldr r2, _0204EDE8 ; =0x021C5A68
- lsl r1, r4, #0x2
- ldr r3, [r2, #0x0]
- mov r0, #0x0
- add r3, r3, r1
- mov r1, #0x29
- lsl r1, r1, #0x4
- str r0, [r3, r1]
- ldr r1, [r2, #0x0]
- mov r3, #0xff
- add r1, r1, r4
- add r1, #0xfa
- strb r0, [r1, #0x0]
- mov r0, #0x22
- ldr r1, [r2, #0x0]
- mul r0, r4
- add r1, r1, r0
- add r0, r3, #0x0
- add r0, #0x6b
- strh r3, [r1, r0]
- mov r0, #0x1
- pop {r4, pc}
-_0204EDE2:
- mov r0, #0x0
- pop {r4, pc}
- nop
-_0204EDE8: .word 0x021C5A68
-
- thumb_func_start FUN_0204EDEC
-FUN_0204EDEC: ; 0x0204EDEC
- push {r3-r7, lr}
- add r7, r0, #0x0
- bl FUN_02031190
- cmp r7, r0
- bne _0204EE90
- ldr r0, _0204EE98 ; =0x021C5A68
- ldr r2, [r0, #0x0]
- lsl r0, r7, #0x2
- add r1, r2, r0
- mov r0, #0x29
- lsl r0, r0, #0x4
- ldr r0, [r1, r0]
- cmp r0, #0x0
- beq _0204EE96
- ldr r0, [r2, #0x54]
- ldr r0, [r0, #0xc]
- bl FUN_02029FC8
- mov r1, #0x1c
- bl FUN_0202A170
- ldr r0, _0204EE98 ; =0x021C5A68
- ldr r1, [r0, #0x0]
- mov r0, #0xa3
- lsl r0, r0, #0x2
- ldr r0, [r1, r0]
- cmp r0, #0x0
- beq _0204EE2A
- bl FUN_02016A18
-_0204EE2A:
- mov r0, #0x9e
- lsl r0, r0, #0x2
- ldr r2, _0204EE98 ; =0x021C5A68
- mov r5, #0x4
- mov r6, #0x10
- add r1, r0, #0x4
-_0204EE36:
- ldr r3, [r2, #0x0]
- sub r5, r5, #0x1
- add r4, r3, r6
- ldr r3, [r4, r0]
- sub r6, r6, #0x4
- str r3, [r4, r1]
- cmp r5, #0x1
- bge _0204EE36
- ldr r1, _0204EE98 ; =0x021C5A68
- mov r0, #0x29
- ldr r3, [r1, #0x0]
- lsl r4, r7, #0x2
- add r2, r3, r4
- lsl r0, r0, #0x4
- ldr r2, [r2, r0]
- sub r0, #0x14
- str r2, [r3, r0]
- ldr r5, [r1, #0x0]
- ldr r0, [r5, #0x54]
- bl FUN_020377AC
- bl FUN_02026CC4
- mov r1, #0x29
- add r2, r5, r4
- lsl r1, r1, #0x4
- ldr r1, [r2, r1]
- bl FUN_02025C40
- ldr r1, _0204EE98 ; =0x021C5A68
- mov r3, #0x0
- ldr r0, [r1, #0x0]
- add r2, r0, r4
- mov r0, #0x29
- lsl r0, r0, #0x4
- str r3, [r2, r0]
- mov r0, #0x22
- ldr r1, [r1, #0x0]
- mul r0, r7
- mov r2, #0xff
- add r1, r1, r0
- add r0, r2, #0x0
- add r0, #0x6b
- strh r2, [r1, r0]
- pop {r3-r7, pc}
-_0204EE90:
- add r0, r7, #0x0
- bl FUN_0204ED9C
-_0204EE96:
- pop {r3-r7, pc}
- .balign 4
-_0204EE98: .word 0x021C5A68
-
- thumb_func_start FUN_0204EE9C
-FUN_0204EE9C: ; 0x0204EE9C
- ldr r1, _0204EEB8 ; =0x021C5A68
- lsl r0, r0, #0x2
- ldr r1, [r1, #0x0]
- add r1, r1, r0
- mov r0, #0x29
- lsl r0, r0, #0x4
- ldr r0, [r1, r0]
- cmp r0, #0x0
- beq _0204EEB2
- mov r0, #0x1
- bx lr
-_0204EEB2:
- mov r0, #0x0
- bx lr
- nop
-_0204EEB8: .word 0x021C5A68
-
- thumb_func_start FUN_0204EEBC
-FUN_0204EEBC: ; 0x0204EEBC
- push {r3-r7, lr}
- add r5, r0, #0x0
- ldr r0, _0204EF48 ; =0x021C5A68
- add r6, r1, #0x0
- ldr r1, [r0, #0x0]
- lsl r0, r5, #0x2
- add r1, r1, r0
- mov r0, #0x29
- lsl r0, r0, #0x4
- ldr r0, [r1, r0]
- cmp r0, #0x0
- bne _0204EF44
- add r0, r6, #0x0
- bl FUN_0202DFA4
- add r7, r0, #0x0
- beq _0204EF44
- mov r0, #0xf
- lsl r4, r5, #0x2
- bl FUN_02023928
- mov r3, #0x29
- ldr r1, _0204EF48 ; =0x021C5A68
- add r2, r0, #0x0
- ldr r0, [r1, #0x0]
- lsl r3, r3, #0x4
- add r0, r0, r4
- str r2, [r0, r3]
- ldr r1, [r1, #0x0]
- add r0, r7, #0x0
- add r1, r1, r4
- ldr r1, [r1, r3]
- bl FUN_0202393C
- ldr r1, _0204EF48 ; =0x021C5A68
- mov r2, #0x1
- ldr r0, [r1, #0x0]
- ldr r3, _0204EF4C ; =0x0000016A
- add r0, r0, r5
- add r0, #0xfa
- strb r2, [r0, #0x0]
- mov r0, #0x22
- add r2, r5, #0x0
- mul r2, r0
- ldr r0, [r1, #0x0]
- add r0, r0, r2
- strh r5, [r0, r3]
- ldr r1, [r1, #0x0]
- sub r3, #0x20
- add r1, r1, r3
- add r0, r7, #0x0
- add r1, r1, r2
- bl FUN_0202393C
- bl FUN_02031190
- cmp r6, r0
- bne _0204EF40
- ldr r0, _0204EF48 ; =0x021C5A68
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x54]
- ldr r0, [r0, #0xc]
- bl FUN_02026CB4
- bl FUN_02026BC8
-_0204EF40:
- mov r0, #0x1
- pop {r3-r7, pc}
-_0204EF44:
- mov r0, #0x0
- pop {r3-r7, pc}
- .balign 4
-_0204EF48: .word 0x021C5A68
-_0204EF4C: .word 0x0000016A
-
- thumb_func_start FUN_0204EF50
-FUN_0204EF50: ; 0x0204EF50
- push {r3-r7, lr}
- ldr r4, _0204EFC4 ; =0x021C5A68
- mov r7, #0x29
- ldr r6, [r4, #0x0]
- add r3, r0, #0x0
- lsl r7, r7, #0x4
- add r5, r6, r7
- lsl r0, r3, #0x2
- add r2, r1, #0x0
- ldr r1, [r5, r0]
- cmp r1, #0x0
- bne _0204EFBE
- lsl r1, r2, #0x2
- add r6, r6, r1
- ldr r6, [r6, r7]
- cmp r6, #0x0
- beq _0204EFBE
- str r6, [r5, r0]
- ldr r5, [r4, #0x0]
- mov r6, #0x0
- add r1, r5, r1
- str r6, [r1, r7]
- ldr r1, [r4, #0x0]
- mov r5, #0x1
- add r1, r1, r3
- add r1, #0xfa
- strb r5, [r1, #0x0]
- ldr r1, [r4, #0x0]
- add r1, r1, r2
- add r1, #0xfa
- strb r6, [r1, #0x0]
- mov r1, #0x22
- ldr r5, [r4, #0x0]
- mul r1, r3
- add r6, r5, r1
- ldr r5, _0204EFC8 ; =0x0000016A
- strh r3, [r6, r5]
- mov r6, #0x22
- mov r5, #0xff
- mul r6, r2
- ldr r3, [r4, #0x0]
- add r2, r5, #0x0
- add r3, r3, r6
- add r2, #0x6b
- strh r5, [r3, r2]
- ldr r2, [r4, #0x0]
- add r5, #0x4b
- add r0, r2, r0
- add r2, r2, r5
- ldr r0, [r0, r7]
- add r1, r2, r1
- bl FUN_0202393C
- mov r0, #0x1
- pop {r3-r7, pc}
-_0204EFBE:
- mov r0, #0x0
- pop {r3-r7, pc}
- nop
-_0204EFC4: .word 0x021C5A68
-_0204EFC8: .word 0x0000016A
-
- thumb_func_start FUN_0204EFCC
-FUN_0204EFCC: ; 0x0204EFCC
- push {r4, lr}
- ldr r1, _0204F06C ; =0x021C5A68
- add r4, r0, #0x0
- ldr r3, [r1, #0x0]
- ldr r1, _0204F070 ; =0x000002BD
- ldrb r1, [r3, r1]
- cmp r1, #0x0
- bne _0204F068
- lsl r1, r4, #0x2
- add r2, r3, r1
- ldr r1, [r2, #0x8]
- cmp r1, #0x0
- beq _0204F068
- add r3, r3, r4
- add r3, #0xfa
- ldrb r3, [r3, #0x0]
- cmp r3, #0x3
- bhi _0204F068
- add r3, r3, r3
- add r3, pc
- ldrh r3, [r3, #0x6]
- lsl r3, r3, #0x10
- asr r3, r3, #0x10
- add pc, r3
-_0204EFFC: ; jump table (using 16-bit offset)
- .short _0204F064 - _0204EFFC - 2; case 0
- .short _0204F048 - _0204EFFC - 2; case 1
- .short _0204F02C - _0204EFFC - 2; case 2
- .short _0204F004 - _0204EFFC - 2; case 3
-_0204F004:
- ldr r0, [r2, #0x28]
- cmp r0, #0x0
- bne _0204F01E
- add r0, r1, #0x0
- bl FUN_020553A0
- bl FUN_021E5970
- ldr r1, _0204F06C ; =0x021C5A68
- ldr r2, [r1, #0x0]
- lsl r1, r4, #0x2
- add r1, r2, r1
- str r0, [r1, #0x28]
-_0204F01E:
- ldr r0, _0204F06C ; =0x021C5A68
- mov r1, #0x0
- ldr r0, [r0, #0x0]
- add r0, r0, r4
- add r0, #0xfa
- strb r1, [r0, #0x0]
- pop {r4, pc}
-_0204F02C:
- ldr r0, [r2, #0x28]
- cmp r0, #0x0
- bne _0204F068
- add r0, r1, #0x0
- bl FUN_020553A0
- bl FUN_021E57D4
- ldr r1, _0204F06C ; =0x021C5A68
- ldr r2, [r1, #0x0]
- lsl r1, r4, #0x2
- add r1, r2, r1
- str r0, [r1, #0x28]
- pop {r4, pc}
-_0204F048:
- ldr r0, [r2, #0x28]
- cmp r0, #0x0
- bne _0204F068
- add r0, r1, #0x0
- bl FUN_020553A0
- bl FUN_021E5614
- ldr r1, _0204F06C ; =0x021C5A68
- ldr r2, [r1, #0x0]
- lsl r1, r4, #0x2
- add r1, r2, r1
- str r0, [r1, #0x28]
- pop {r4, pc}
-_0204F064:
- bl FUN_0204CD78
-_0204F068:
- pop {r4, pc}
- nop
-_0204F06C: .word 0x021C5A68
-_0204F070: .word 0x000002BD
-
- thumb_func_start FUN_0204F074
-FUN_0204F074: ; 0x0204F074
- ldr r1, _0204F088 ; =0x021C5A68
- ldr r2, [r1, #0x0]
- add r2, #0xfa
- ldrb r1, [r2, r0]
- cmp r1, #0x1
- beq _0204F084
- mov r1, #0x2
- strb r1, [r2, r0]
-_0204F084:
- bx lr
- nop
-_0204F088: .word 0x021C5A68
-
- thumb_func_start FUN_0204F08C
-FUN_0204F08C: ; 0x0204F08C
- ldr r1, _0204F0A0 ; =0x021C5A68
- ldr r2, [r1, #0x0]
- add r2, #0xfa
- ldrb r1, [r2, r0]
- cmp r1, #0x1
- beq _0204F09C
- mov r1, #0x3
- strb r1, [r2, r0]
-_0204F09C:
- ldr r3, _0204F0A4 ; =FUN_0204CD78
- bx r3
- .balign 4
-_0204F0A0: .word 0x021C5A68
-_0204F0A4: .word FUN_0204CD78
-
- thumb_func_start FUN_0204F0A8
-FUN_0204F0A8: ; 0x0204F0A8
- ldr r1, _0204F0BC ; =0x021C5A68
- ldr r2, [r1, #0x0]
- add r2, #0xfa
- ldrb r1, [r2, r0]
- cmp r1, #0x1
- beq _0204F0B8
- mov r1, #0x0
- strb r1, [r2, r0]
-_0204F0B8:
- ldr r3, _0204F0C0 ; =FUN_0204CD78
- bx r3
- .balign 4
-_0204F0BC: .word 0x021C5A68
-_0204F0C0: .word FUN_0204CD78
-
- thumb_func_start FUN_0204F0C4
-FUN_0204F0C4: ; 0x0204F0C4
- mov r0, #0x3
- bx lr
-
- thumb_func_start FUN_0204F0C8
-FUN_0204F0C8: ; 0x0204F0C8
- push {r3-r4, lr}
- sub sp, #0x4
- add r4, r0, #0x0
- add r0, sp, #0x0
- strb r4, [r0, #0x1]
- ldrb r1, [r2, #0x0]
- cmp r1, #0x0
- beq _0204F0E0
- cmp r1, #0x3
- beq _0204F0F0
- add sp, #0x4
- pop {r3-r4, pc}
-_0204F0E0:
- mov r1, #0x0
- strb r1, [r0, #0x0]
- mov r0, #0x55
- add r1, sp, #0x0
- bl FUN_02030C4C
- add sp, #0x4
- pop {r3-r4, pc}
-_0204F0F0:
- mov r1, #0x3
- strb r1, [r0, #0x0]
- mov r0, #0x55
- add r1, sp, #0x0
- bl FUN_02030C4C
- add r0, r4, #0x0
- mov r1, #0x0
- bl FUN_0204EAD8
- add sp, #0x4
- pop {r3-r4, pc}
-
- thumb_func_start FUN_0204F108
-FUN_0204F108: ; 0x0204F108
- push {r3, lr}
- bl FUN_02031190
- bl FUN_0204F0A8
- bl FUN_0223D648
- bl FUN_0224DD94
- mov r0, #0x4
- bl FUN_0204F774
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0204F124
-FUN_0204F124: ; 0x0204F124
- push {r3-r7, lr}
- add r5, r1, #0x0
- add r6, r0, #0x0
- ldr r0, [r5, #0x4]
- mov r4, #0x0
- lsl r0, r0, #0x18
- lsr r7, r0, #0x18
- add r0, r7, #0x0
- bl FUN_02030E7C
- cmp r0, #0x0
- bne _0204F14A
- add r0, r5, #0x0
- bl FUN_02016A18
- add r0, r6, #0x0
- bl FUN_0200CAB4
- pop {r3-r7, pc}
-_0204F14A:
- ldr r0, [r5, #0x0]
- add r0, r0, #0x1
- str r0, [r5, #0x0]
- cmp r0, #0x3c
- ble _0204F156
- mov r4, #0x1
-_0204F156:
- cmp r4, #0x0
- beq _0204F172
- ldr r0, _0204F174 ; =0x021C5A68
- mov r1, #0x1
- ldr r0, [r0, #0x0]
- add r0, r0, r7
- add r0, #0xea
- strb r1, [r0, #0x0]
- add r0, r5, #0x0
- bl FUN_02016A18
- add r0, r6, #0x0
- bl FUN_0200CAB4
-_0204F172:
- pop {r3-r7, pc}
- .balign 4
-_0204F174: .word 0x021C5A68
-
- thumb_func_start FUN_0204F178
-FUN_0204F178: ; 0x0204F178
- push {r4, lr}
- add r4, r0, #0x0
- mov r0, #0xb
- mov r1, #0x8
- bl FUN_02016998
- add r1, r0, #0x0
- mov r2, #0x0
- str r2, [r1, #0x0]
- ldr r0, _0204F1A8 ; =0x021C5A68
- str r4, [r1, #0x4]
- ldr r0, [r0, #0x0]
- add r0, r0, r4
- add r0, #0xea
- strb r2, [r0, #0x0]
- ldr r0, _0204F1AC ; =FUN_0204F124
- mov r2, #0x64
- bl FUN_0200CA44
- add r0, r4, #0x0
- mov r1, #0x0
- bl FUN_0204EAD8
- pop {r4, pc}
- .balign 4
-_0204F1A8: .word 0x021C5A68
-_0204F1AC: .word FUN_0204F124
-
- thumb_func_start FUN_0204F1B0
-FUN_0204F1B0: ; 0x0204F1B0
- push {r3-r5, lr}
- add r4, r1, #0x0
- mov r1, #0x1
- add r5, r0, #0x0
- tst r1, r2
- beq _0204F1C4
- mov r1, #0xb
- add r0, sp, #0x0
- strb r1, [r0, #0x0]
- b _0204F1F6
-_0204F1C4:
- bl FUN_0204EE9C
- cmp r0, #0x0
- beq _0204F1D4
- mov r1, #0xb
- add r0, sp, #0x0
- strb r1, [r0, #0x0]
- b _0204F1F6
-_0204F1D4:
- cmp r4, #0xff
- bne _0204F1DC
- mov r0, #0x0
- pop {r3-r5, pc}
-_0204F1DC:
- add r0, r4, #0x0
- bl FUN_0204EE9C
- cmp r0, #0x0
- bne _0204F1EA
- mov r0, #0x0
- pop {r3-r5, pc}
-_0204F1EA:
- mov r1, #0x5
- add r0, sp, #0x0
- strb r1, [r0, #0x0]
- add r0, r4, #0x0
- bl FUN_0204F178
-_0204F1F6:
- add r0, sp, #0x0
- strb r5, [r0, #0x1]
- strb r4, [r0, #0x2]
- add r0, r5, #0x0
- mov r1, #0x0
- bl FUN_0204EAD8
- mov r0, #0x55
- add r1, sp, #0x0
- bl FUN_02030C4C
- mov r0, #0x1
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0204F210
-FUN_0204F210: ; 0x0204F210
- push {r3-r4, lr}
- sub sp, #0x4
- add r4, r0, #0x0
- bl FUN_0204EE9C
- cmp r0, #0x0
- beq _0204F226
- mov r1, #0xc
- add r0, sp, #0x0
- strb r1, [r0, #0x0]
- b _0204F22C
-_0204F226:
- add sp, #0x4
- mov r0, #0x0
- pop {r3-r4, pc}
-_0204F22C:
- strb r4, [r0, #0x1]
- mov r0, #0x55
- add r1, sp, #0x0
- bl FUN_02030C4C
- mov r0, #0x1
- add sp, #0x4
- pop {r3-r4, pc}
-
- thumb_func_start FUN_0204F23C
-FUN_0204F23C: ; 0x0204F23C
- push {r4-r6, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- add r4, r1, #0x0
- bl FUN_0223E6B8
- mov r0, #0x0
- bl FUN_0204D628
- mov r0, #0x4
- bl FUN_0204F74C
- bl FUN_0223D648
- add r6, r0, #0x0
- ldrb r0, [r5, #0x1]
- bl FUN_0202DFA4
- add r1, r0, #0x0
- add r0, r6, #0x0
- bl FUN_0224DDB8
- cmp r4, #0x0
- beq _0204F29C
- bl FUN_02031190
- ldr r1, _0204F2C8 ; =0x021C5A68
- mov r2, #0x0
- ldr r1, [r1, #0x0]
- add r0, r1, r0
- add r0, #0xfa
- strb r2, [r0, #0x0]
- bl FUN_02031190
- bl FUN_0204F0A8
- bl FUN_02031190
- bl FUN_0204F074
- bl FUN_0223D648
- ldr r3, _0204F2CC ; =FUN_0204F108
- mov r1, #0xa
- mov r2, #0x1
- bl FUN_0224DCB8
- b _0204F2AA
-_0204F29C:
- bl FUN_0223D648
- ldr r3, _0204F2CC ; =FUN_0204F108
- mov r1, #0xb
- mov r2, #0x1
- bl FUN_0224DCB8
-_0204F2AA:
- mov r0, #0xff
- str r0, [sp, #0x0]
- mov r3, #0x0
- ldr r1, _0204F2D0 ; =0x00000424
- mov r0, #0x4
- mov r2, #0x3c
- str r3, [sp, #0x4]
- bl FUN_02004DCC
- ldr r0, _0204F2D4 ; =0x000005F6
- bl FUN_020054C8
- add sp, #0x8
- pop {r4-r6, pc}
- nop
-_0204F2C8: .word 0x021C5A68
-_0204F2CC: .word FUN_0204F108
-_0204F2D0: .word 0x00000424
-_0204F2D4: .word 0x000005F6
-
- thumb_func_start FUN_0204F2D8
-FUN_0204F2D8: ; 0x0204F2D8
- push {r4-r5, lr}
- sub sp, #0xc
- ldr r0, _0204F5E0 ; =0x021C5A68
- add r5, r2, #0x0
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x54]
- bl FUN_020377AC
- bl FUN_02026CB4
- add r4, r0, #0x0
- ldrb r0, [r5, #0x0]
- cmp r0, #0x5
- bgt _0204F308
- cmp r0, #0x0
- blt _0204F346
- beq _0204F31E
- cmp r0, #0x3
- bne _0204F300
- b _0204F4D2
-_0204F300:
- cmp r0, #0x5
- beq _0204F370
- add sp, #0xc
- pop {r4-r5, pc}
-_0204F308:
- cmp r0, #0xc
- bgt _0204F346
- cmp r0, #0xb
- blt _0204F346
- bne _0204F314
- b _0204F48C
-_0204F314:
- cmp r0, #0xc
- bne _0204F31A
- b _0204F4AE
-_0204F31A:
- add sp, #0xc
- pop {r4-r5, pc}
-_0204F31E:
- ldr r1, _0204F5E0 ; =0x021C5A68
- ldrb r0, [r5, #0x1]
- ldr r2, [r1, #0x0]
- lsl r1, r0, #0x2
- add r2, r2, r1
- mov r1, #0x29
- lsl r1, r1, #0x4
- ldr r1, [r2, r1]
- cmp r1, #0x0
- beq _0204F346
- bl FUN_0204ED9C
- ldrb r0, [r5, #0x1]
- bl FUN_0204F0A8
- bl FUN_02031190
- ldrb r1, [r5, #0x1]
- cmp r1, r0
- beq _0204F348
-_0204F346:
- b _0204F5DA
-_0204F348:
- bl FUN_0204F7E4
- bl FUN_0223D648
- ldr r3, _0204F5E4 ; =FUN_0204E2B4
- mov r1, #0x2
- mov r2, #0x1
- bl FUN_0224DCB8
- mov r0, #0xff
- str r0, [sp, #0x0]
- mov r3, #0x0
- ldr r1, _0204F5E8 ; =0x00000424
- mov r0, #0x4
- mov r2, #0x3c
- str r3, [sp, #0x4]
- bl FUN_02004DCC
- add sp, #0xc
- pop {r4-r5, pc}
-_0204F370:
- ldrb r0, [r5, #0x1]
- bl FUN_0202DFA4
- cmp r0, #0x0
- bne _0204F384
- ldrb r0, [r5, #0x2]
- bl FUN_0204ED9C
- add sp, #0xc
- pop {r4-r5, pc}
-_0204F384:
- ldr r0, _0204F5E0 ; =0x021C5A68
- ldr r1, [r0, #0x0]
- ldrb r0, [r5, #0x2]
- lsl r0, r0, #0x2
- add r1, r1, r0
- mov r0, #0x29
- lsl r0, r0, #0x4
- ldr r0, [r1, r0]
- cmp r0, #0x0
- bne _0204F3AC
- bl FUN_02031190
- ldrb r1, [r5, #0x1]
- cmp r1, r0
- beq _0204F3A4
- b _0204F5DA
-_0204F3A4:
- bl FUN_0204F7FC
- add sp, #0xc
- pop {r4-r5, pc}
-_0204F3AC:
- ldrb r0, [r5, #0x1]
- bl FUN_0202DFA4
- add r1, r0, #0x0
- ldr r0, _0204F5E0 ; =0x021C5A68
- ldr r2, [r0, #0x0]
- ldrb r0, [r5, #0x2]
- lsl r0, r0, #0x2
- add r2, r2, r0
- mov r0, #0x29
- lsl r0, r0, #0x4
- ldr r0, [r2, r0]
- bl FUN_02023AA4
- cmp r0, #0x1
- bne _0204F41A
- ldrb r0, [r5, #0x2]
- bl FUN_0204ED9C
- bl FUN_02031190
- ldrb r1, [r5, #0x1]
- cmp r1, r0
- bne _0204F3FC
- add r0, r4, #0x0
- bl FUN_02026C00
- bl FUN_0204F7E4
- bl FUN_0223D648
- ldr r3, _0204F5EC ; =FUN_0204E2AC
- mov r1, #0xd
- mov r2, #0x1
- bl FUN_0224DCB8
- ldr r0, _0204F5F0 ; =0x00000625
- bl FUN_020054C8
- b _0204F410
-_0204F3FC:
- bl FUN_02031190
- ldrb r1, [r5, #0x2]
- cmp r1, r0
- bne _0204F410
- add r0, r5, #0x0
- mov r1, #0x0
- add r2, r4, #0x0
- bl FUN_0204F23C
-_0204F410:
- ldrb r0, [r5, #0x1]
- bl FUN_022472AC
- add sp, #0xc
- pop {r4-r5, pc}
-_0204F41A:
- ldrb r0, [r5, #0x1]
- ldrb r1, [r5, #0x2]
- bl FUN_0204EF50
- cmp r0, #0x0
- beq _0204F4B8
- bl FUN_02031190
- ldrb r1, [r5, #0x1]
- cmp r1, r0
- bne _0204F46C
- add r0, r4, #0x0
- bl FUN_02026970
- mov r0, #0x1
- bl FUN_0204F74C
- bl FUN_0223D648
- add r4, r0, #0x0
- ldrb r0, [r5, #0x2]
- bl FUN_0202DFA4
- add r1, r0, #0x0
- add r0, r4, #0x0
- bl FUN_0224DDB8
- bl FUN_0223D648
- ldr r3, _0204F5F4 ; =FUN_0204E2D4
- mov r1, #0xc
- mov r2, #0x1
- bl FUN_0224DCB8
- ldr r0, _0204F5F8 ; =0x00000425
- bl FUN_0200521C
- ldr r0, _0204F5F0 ; =0x00000625
- bl FUN_020054C8
- b _0204F480
-_0204F46C:
- bl FUN_02031190
- ldrb r1, [r5, #0x2]
- cmp r1, r0
- bne _0204F480
- add r0, r5, #0x0
- mov r1, #0x1
- add r2, r4, #0x0
- bl FUN_0204F23C
-_0204F480:
- ldrb r0, [r5, #0x1]
- ldrb r1, [r5, #0x2]
- bl FUN_02247294
- add sp, #0xc
- pop {r4-r5, pc}
-_0204F48C:
- bl FUN_02031190
- ldrb r1, [r5, #0x1]
- cmp r1, r0
- bne _0204F4B8
- mov r0, #0x2
- bl FUN_0204F74C
- bl FUN_0223D648
- ldr r3, _0204F5FC ; =FUN_0204E2BC
- mov r1, #0x6
- mov r2, #0x1
- bl FUN_0224DCB8
- add sp, #0xc
- pop {r4-r5, pc}
-_0204F4AE:
- bl FUN_02031190
- ldrb r1, [r5, #0x1]
- cmp r1, r0
- beq _0204F4BA
-_0204F4B8:
- b _0204F5DA
-_0204F4BA:
- mov r0, #0x20
- bl FUN_0204F74C
- bl FUN_0223D648
- ldr r3, _0204F600 ; =FUN_0204E2C8
- mov r1, #0x5
- mov r2, #0x1
- bl FUN_0224DCB8
- add sp, #0xc
- pop {r4-r5, pc}
-_0204F4D2:
- ldr r0, _0204F5E0 ; =0x021C5A68
- mov r2, #0x0
- ldr r1, [r0, #0x0]
- ldrb r0, [r5, #0x1]
- add r0, r1, r0
- add r0, #0xfa
- strb r2, [r0, #0x0]
- ldrb r0, [r5, #0x1]
- bl FUN_0204F0A8
- bl FUN_02031190
- ldrb r1, [r5, #0x1]
- cmp r1, r0
- bne _0204F58C
- ldr r0, _0204F5E0 ; =0x021C5A68
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x54]
- bl FUN_020377AC
- bl FUN_02026CB4
- add r4, r0, #0x0
- bl FUN_020269A0
- add r1, sp, #0x8
- strb r0, [r1, #0x0]
- add r0, r4, #0x0
- bl FUN_020269D4
- ldr r0, _0204F5E0 ; =0x021C5A68
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x54]
- ldr r0, [r0, #0xc]
- bl FUN_020462AC
- bl FUN_0205EDF8
- ldr r0, _0204F5E0 ; =0x021C5A68
- ldrb r1, [r5, #0x1]
- ldr r0, [r0, #0x0]
- lsl r1, r1, #0x2
- add r2, r0, r1
- mov r1, #0x29
- lsl r1, r1, #0x4
- ldr r1, [r2, r1]
- cmp r1, #0x0
- beq _0204F54A
- ldr r0, [r0, #0x54]
- bl FUN_0206189C
- ldr r0, _0204F5E0 ; =0x021C5A68
- ldr r1, _0204F604 ; =0x0000FFFF
- ldr r3, [r0, #0x0]
- ldr r0, _0204F608 ; =0x000002B2
- ldrh r2, [r3, r0]
- cmp r2, r1
- beq _0204F54A
- add r1, r2, #0x1
- strh r1, [r3, r0]
-_0204F54A:
- bl FUN_0204F7E4
- ldr r0, _0204F60C ; =0x0000062B
- bl FUN_020054C8
- add r0, r4, #0x0
- bl FUN_020269A0
- add r1, sp, #0x8
- ldrb r1, [r1, #0x0]
- cmp r1, r0
- bne _0204F572
- bl FUN_0223D648
- ldr r3, _0204F5EC ; =FUN_0204E2AC
- mov r1, #0x7
- mov r2, #0x1
- bl FUN_0224DCB8
- b _0204F57A
-_0204F572:
- mov r0, #0x60
- add r1, sp, #0x8
- bl FUN_020311D0
-_0204F57A:
- mov r0, #0xff
- str r0, [sp, #0x0]
- mov r3, #0x0
- ldr r1, _0204F5E8 ; =0x00000424
- mov r0, #0x4
- mov r2, #0x3c
- str r3, [sp, #0x4]
- bl FUN_02004DCC
-_0204F58C:
- ldr r0, _0204F5E0 ; =0x021C5A68
- ldr r1, [r0, #0x0]
- ldrb r0, [r5, #0x1]
- lsl r0, r0, #0x2
- add r1, r1, r0
- mov r0, #0x29
- lsl r0, r0, #0x4
- ldr r0, [r1, r0]
- cmp r0, #0x0
- beq _0204F5D4
- bl FUN_02031190
- bl FUN_0202DFA4
- add r1, r0, #0x0
- ldr r0, _0204F5E0 ; =0x021C5A68
- ldr r2, [r0, #0x0]
- ldrb r0, [r5, #0x1]
- lsl r0, r0, #0x2
- add r2, r2, r0
- mov r0, #0x29
- lsl r0, r0, #0x4
- ldr r0, [r2, r0]
- bl FUN_02023AA4
- cmp r0, #0x1
- bne _0204F5D4
- ldrb r0, [r5, #0x1]
- bl FUN_0202DFA4
- add r1, r0, #0x0
- ldr r0, _0204F5E0 ; =0x021C5A68
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x54]
- bl FUN_020618B8
-_0204F5D4:
- ldrb r0, [r5, #0x1]
- bl FUN_0204EDEC
-_0204F5DA:
- add sp, #0xc
- pop {r4-r5, pc}
- nop
-_0204F5E0: .word 0x021C5A68
-_0204F5E4: .word FUN_0204E2B4
-_0204F5E8: .word 0x00000424
-_0204F5EC: .word FUN_0204E2AC
-_0204F5F0: .word 0x00000625
-_0204F5F4: .word FUN_0204E2D4
-_0204F5F8: .word 0x00000425
-_0204F5FC: .word FUN_0204E2BC
-_0204F600: .word FUN_0204E2C8
-_0204F604: .word 0x0000FFFF
-_0204F608: .word 0x000002B2
-_0204F60C: .word 0x0000062B
-
- thumb_func_start FUN_0204F610
-FUN_0204F610: ; 0x0204F610
- push {r3, lr}
- cmp r0, #0x0
- bne _0204F61A
- mov r0, #0x1
- pop {r3, pc}
-_0204F61A:
- cmp r0, #0x1
- bne _0204F622
- mov r0, #0x0
- pop {r3, pc}
-_0204F622:
- cmp r0, #0x2
- bne _0204F62A
- mov r0, #0x3
- pop {r3, pc}
-_0204F62A:
- cmp r0, #0x3
- bne _0204F632
- mov r0, #0x2
- pop {r3, pc}
-_0204F632:
- bl ErrorHandling
- mov r0, #0x2
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0204F63C
-FUN_0204F63C: ; 0x0204F63C
- push {r3-r4}
- ldr r3, _0204F658 ; =0x021C5A68
- ldr r2, [r3, #0x0]
- add r4, r2, r0
- ldr r2, _0204F65C ; =0x0000011A
- strb r1, [r4, r2]
- ldr r1, [r3, #0x0]
- mov r4, #0xf
- add r0, r1, r0
- add r2, #0x20
- strb r4, [r0, r2]
- pop {r3-r4}
- bx lr
- nop
-_0204F658: .word 0x021C5A68
-_0204F65C: .word 0x0000011A
-
- thumb_func_start FUN_0204F660
-FUN_0204F660: ; 0x0204F660
- ldr r1, _0204F670 ; =0x021C5A68
- mov r2, #0x0
- ldr r1, [r1, #0x0]
- add r1, r1, r0
- ldr r0, _0204F674 ; =0x0000011A
- strb r2, [r1, r0]
- bx lr
- nop
-_0204F670: .word 0x021C5A68
-_0204F674: .word 0x0000011A
-
- thumb_func_start FUN_0204F678
-FUN_0204F678: ; 0x0204F678
- push {r3-r4}
- ldr r3, _0204F694 ; =0x021C5A68
- ldr r2, [r3, #0x0]
- add r4, r2, r0
- ldr r2, _0204F698 ; =0x00000122
- strb r1, [r4, r2]
- ldr r1, [r3, #0x0]
- mov r4, #0xf
- add r0, r1, r0
- add r2, #0x18
- strb r4, [r0, r2]
- pop {r3-r4}
- bx lr
- nop
-_0204F694: .word 0x021C5A68
-_0204F698: .word 0x00000122
-
- thumb_func_start FUN_0204F69C
-FUN_0204F69C: ; 0x0204F69C
- ldr r1, _0204F6AC ; =0x021C5A68
- mov r2, #0x0
- ldr r1, [r1, #0x0]
- add r1, r1, r0
- ldr r0, _0204F6B0 ; =0x00000122
- strb r2, [r1, r0]
- bx lr
- nop
-_0204F6AC: .word 0x021C5A68
-_0204F6B0: .word 0x00000122
-
- thumb_func_start FUN_0204F6B4
-FUN_0204F6B4: ; 0x0204F6B4
- ldr r1, _0204F6C0 ; =0x021C5A68
- ldr r1, [r1, #0x0]
- add r1, r1, r0
- ldr r0, _0204F6C4 ; =0x00000142
- ldrb r0, [r1, r0]
- bx lr
- .balign 4
-_0204F6C0: .word 0x021C5A68
-_0204F6C4: .word 0x00000142
-
- thumb_func_start FUN_0204F6C8
-FUN_0204F6C8: ; 0x0204F6C8
- ldr r1, _0204F6D4 ; =0x021C5A68
- ldr r1, [r1, #0x0]
- add r1, r1, r0
- ldr r0, _0204F6D8 ; =0x0000013A
- ldrb r0, [r1, r0]
- bx lr
- .balign 4
-_0204F6D4: .word 0x021C5A68
-_0204F6D8: .word 0x0000013A
-
- thumb_func_start FUN_0204F6DC
-FUN_0204F6DC: ; 0x0204F6DC
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, _0204F708 ; =0x021C5A68
- add r1, r4, #0x0
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x54]
- ldr r0, [r0, #0x38]
- bl FUN_02055304
- bl FUN_02031190
- ldr r1, _0204F708 ; =0x021C5A68
- lsl r0, r0, #0x3
- ldr r1, [r1, #0x0]
- add r0, r1, r0
- add r0, #0xa6
- strb r4, [r0, #0x0]
- mov r0, #0x0
- bl FUN_0204D168
- pop {r4, pc}
- nop
-_0204F708: .word 0x021C5A68
-
- thumb_func_start FUN_0204F70C
-FUN_0204F70C: ; 0x0204F70C
- push {r4, lr}
- ldr r3, _0204F728 ; =0x021C5A68
- lsl r2, r0, #0x3
- ldr r4, [r3, #0x0]
- lsl r0, r0, #0x2
- add r2, r4, r2
- add r2, #0xa6
- strb r1, [r2, #0x0]
- ldr r2, [r3, #0x0]
- add r0, r2, r0
- ldr r0, [r0, #0x8]
- bl FUN_02055304
- pop {r4, pc}
- .balign 4
-_0204F728: .word 0x021C5A68
-
- thumb_func_start FUN_0204F72C
-FUN_0204F72C: ; 0x0204F72C
- push {r3, lr}
- ldr r1, _0204F748 ; =0x021C5A68
- lsl r0, r0, #0x2
- ldr r1, [r1, #0x0]
- add r0, r1, r0
- ldr r0, [r0, #0x8]
- cmp r0, #0x0
- beq _0204F742
- bl FUN_020552F8
- pop {r3, pc}
-_0204F742:
- mov r0, #0x0
- mvn r0, r0
- pop {r3, pc}
- .balign 4
-_0204F748: .word 0x021C5A68
-
- thumb_func_start FUN_0204F74C
-FUN_0204F74C: ; 0x0204F74C
- push {r3, lr}
- cmp r0, #0x0
- beq _0204F75C
- ldr r1, _0204F770 ; =0x021C5A68
- ldr r2, [r1, #0x0]
- ldr r1, [r2, #0x0]
- orr r0, r1
- str r0, [r2, #0x0]
-_0204F75C:
- bl FUN_02037760
- ldr r0, _0204F770 ; =0x021C5A68
- mov r2, #0x0
- ldr r1, [r0, #0x0]
- mov r0, #0xaf
- lsl r0, r0, #0x2
- strb r2, [r1, r0]
- pop {r3, pc}
- nop
-_0204F770: .word 0x021C5A68
-
- thumb_func_start FUN_0204F774
-FUN_0204F774: ; 0x0204F774
- push {r3-r4, lr}
- sub sp, #0x4
- add r4, r0, #0x0
- beq _0204F788
- ldr r0, _0204F7D0 ; =0x021C5A68
- ldr r2, [r0, #0x0]
- mvn r0, r4
- ldr r1, [r2, #0x0]
- and r0, r1
- str r0, [r2, #0x0]
-_0204F788:
- ldr r0, _0204F7D0 ; =0x021C5A68
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x0]
- cmp r0, #0x10
- bne _0204F7A0
- mov r1, #0x1
- add r0, sp, #0x0
- strb r1, [r0, #0x0]
- mov r0, #0x3e
- add r1, sp, #0x0
- bl FUN_020311D0
-_0204F7A0:
- ldr r0, _0204F7D0 ; =0x021C5A68
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- bne _0204F7CC
- cmp r4, #0x10
- beq _0204F7BC
- bl FUN_02037778
- mov r0, #0x1
- bl FUN_0204D628
- add sp, #0x4
- pop {r3-r4, pc}
-_0204F7BC:
- bl FUN_02037778
- ldr r0, _0204F7D0 ; =0x021C5A68
- mov r2, #0x1
- ldr r1, [r0, #0x0]
- mov r0, #0xaf
- lsl r0, r0, #0x2
- strb r2, [r1, r0]
-_0204F7CC:
- add sp, #0x4
- pop {r3-r4, pc}
- .balign 4
-_0204F7D0: .word 0x021C5A68
-
- thumb_func_start FUN_0204F7D4
-FUN_0204F7D4: ; 0x0204F7D4
- ldr r0, _0204F7E0 ; =0x021C5A68
- mov r1, #0x0
- ldr r0, [r0, #0x0]
- str r1, [r0, #0x0]
- bx lr
- nop
-_0204F7E0: .word 0x021C5A68
-
- thumb_func_start FUN_0204F7E4
-FUN_0204F7E4: ; 0x0204F7E4
- push {r3, lr}
- bl FUN_02037760
- ldr r0, _0204F7F8 ; =0x021C5A68
- mov r2, #0x0
- ldr r1, [r0, #0x0]
- mov r0, #0xaf
- lsl r0, r0, #0x2
- strb r2, [r1, r0]
- pop {r3, pc}
- .balign 4
-_0204F7F8: .word 0x021C5A68
-
- thumb_func_start FUN_0204F7FC
-FUN_0204F7FC: ; 0x0204F7FC
- push {r3, lr}
- bl FUN_02037778
- mov r0, #0x1
- bl FUN_0204D628
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0204F80C
-FUN_0204F80C: ; 0x0204F80C
- push {r3, lr}
- ldr r0, _0204F850 ; =0x021C5A68
- ldr r2, [r0, #0x0]
- ldr r0, _0204F854 ; =0x000002BF
- ldrb r1, [r2, r0]
- cmp r1, #0x0
- bne _0204F84C
- sub r0, r0, #0x1
- ldrb r0, [r2, r0]
- cmp r0, #0x0
- bne _0204F832
- bl FUN_0204F7FC
- ldr r0, _0204F850 ; =0x021C5A68
- mov r2, #0x1
- ldr r1, [r0, #0x0]
- ldr r0, _0204F854 ; =0x000002BF
- strb r2, [r1, r0]
- pop {r3, pc}
-_0204F832:
- bl FUN_02031190
- bl FUN_0223E734
- cmp r0, #0x0
- beq _0204F84C
- bl FUN_0204F7FC
- ldr r0, _0204F850 ; =0x021C5A68
- mov r2, #0x1
- ldr r1, [r0, #0x0]
- ldr r0, _0204F854 ; =0x000002BF
- strb r2, [r1, r0]
-_0204F84C:
- pop {r3, pc}
- nop
-_0204F850: .word 0x021C5A68
-_0204F854: .word 0x000002BF
-
- thumb_func_start FUN_0204F858
-FUN_0204F858: ; 0x0204F858
- push {r3, lr}
- ldr r0, _0204F884 ; =0x021C5A68
- ldr r2, [r0, #0x0]
- ldr r0, _0204F888 ; =0x000002BF
- ldrb r1, [r2, r0]
- cmp r1, #0x0
- bne _0204F880
- sub r0, r0, #0x1
- ldrb r0, [r2, r0]
- cmp r0, #0x0
- beq _0204F880
- bl FUN_02031190
- bl FUN_0223E734
- cmp r0, #0x0
- bne _0204F880
- mov r0, #0x0
- bl FUN_0204D628
-_0204F880:
- pop {r3, pc}
- nop
-_0204F884: .word 0x021C5A68
-_0204F888: .word 0x000002BF
-
- thumb_func_start FUN_0204F88C
-FUN_0204F88C: ; 0x0204F88C
- push {r3-r7, lr}
- sub sp, #0x10
- ldr r0, _0204F908 ; =0x021C5A68
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- beq _0204F902
- mov r6, #0x0
- add r4, r6, #0x0
- add r5, r6, #0x0
-_0204F89E:
- ldr r0, _0204F908 ; =0x021C5A68
- ldr r0, [r0, #0x0]
- add r0, r0, r4
- ldr r0, [r0, #0x8]
- cmp r0, #0x0
- beq _0204F8F8
- bl FUN_02031190
- cmp r6, r0
- beq _0204F8F8
- ldr r0, _0204F908 ; =0x021C5A68
- ldr r0, [r0, #0x0]
- add r0, r0, r4
- ldr r0, [r0, #0x8]
- bl FUN_020553A0
- ldr r1, _0204F908 ; =0x021C5A68
- str r0, [sp, #0xc]
- ldr r1, [r1, #0x0]
- add r1, r1, r5
- add r2, r1, #0x0
- add r2, #0xa2
- ldrh r2, [r2, #0x0]
- str r2, [sp, #0x8]
- add r2, r1, #0x0
- add r2, #0xa4
- ldrh r7, [r2, #0x0]
- mov r2, #0xa6
- ldrsb r1, [r1, r2]
- str r1, [sp, #0x4]
- ldr r1, [sp, #0x8]
- bl FUN_02058B30
- ldr r0, [sp, #0xc]
- add r1, r7, #0x0
- bl FUN_02058B50
- ldr r0, [sp, #0x4]
- ldr r1, [sp, #0x8]
- str r0, [sp, #0x0]
- ldr r0, [sp, #0xc]
- mov r2, #0x0
- add r3, r7, #0x0
- bl FUN_02058E28
-_0204F8F8:
- add r6, r6, #0x1
- add r4, r4, #0x4
- add r5, #0x8
- cmp r6, #0x8
- blt _0204F89E
-_0204F902:
- add sp, #0x10
- pop {r3-r7, pc}
- nop
-_0204F908: .word 0x021C5A68
-
- thumb_func_start FUN_0204F90C
-FUN_0204F90C: ; 0x0204F90C
- push {r4-r5}
- mov r3, #0xff
- mov r4, #0x0
- add r0, r3, #0x0
- ldr r1, _0204F92C ; =0x021C5A68
- add r5, r4, #0x0
- add r0, #0x6b
-_0204F91A:
- ldr r2, [r1, #0x0]
- add r4, r4, #0x1
- add r2, r2, r5
- add r5, #0x22
- strh r3, [r2, r0]
- cmp r4, #0x8
- blt _0204F91A
- pop {r4-r5}
- bx lr
- .balign 4
-_0204F92C: .word 0x021C5A68
-
- thumb_func_start FUN_0204F930
-FUN_0204F930: ; 0x0204F930
- push {r3-r5, lr}
- ldr r0, _0204F9B0 ; =0x021C5A68
- mov r2, #0x0
- ldr r1, [r0, #0x0]
- ldr r0, _0204F9B4 ; =0x000002B9
- strb r2, [r1, r0]
- bl FUN_02031190
- ldr r1, _0204F9B0 ; =0x021C5A68
- lsl r0, r0, #0x2
- ldr r1, [r1, #0x0]
- add r1, r1, r0
- mov r0, #0x29
- lsl r0, r0, #0x4
- ldr r0, [r1, r0]
- cmp r0, #0x0
- beq _0204F96E
- bl FUN_02031190
- ldr r1, _0204F9B0 ; =0x021C5A68
- add r3, r0, #0x0
- ldr r2, [r1, #0x0]
- lsl r1, r3, #0x2
- add r2, r2, r1
- mov r1, #0x29
- lsl r1, r1, #0x4
- ldr r1, [r2, r1]
- mov r0, #0x5b
- bl FUN_020311D0
- pop {r3-r5, pc}
-_0204F96E:
- mov r0, #0xf
- bl FUN_02023928
- add r4, r0, #0x0
- mov r0, #0x14
- mov r1, #0xf
- bl FUN_020219F4
- add r5, r0, #0x0
- cmp r4, #0x0
- bne _0204F988
- bl ErrorHandling
-_0204F988:
- cmp r5, #0x0
- bne _0204F990
- bl ErrorHandling
-_0204F990:
- add r0, r4, #0x0
- add r1, r5, #0x0
- bl FUN_0202397C
- mov r0, #0x5b
- add r1, r4, #0x0
- bl FUN_020311D0
- add r0, r5, #0x0
- bl FUN_02021A20
- add r0, r4, #0x0
- bl FUN_02016A18
- pop {r3-r5, pc}
- nop
-_0204F9B0: .word 0x021C5A68
-_0204F9B4: .word 0x000002B9
-
- thumb_func_start FUN_0204F9B8
-FUN_0204F9B8: ; 0x0204F9B8
- mov r0, #0x20
- bx lr
-
- thumb_func_start FUN_0204F9BC
-FUN_0204F9BC: ; 0x0204F9BC
- push {r3-r7, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- add r0, sp, #0x4
- strb r5, [r0, #0x0]
- ldr r0, _0204FA54 ; =0x021C5A68
- add r6, r2, #0x0
- ldr r2, [r0, #0x0]
- cmp r2, #0x0
- beq _0204FA4C
- ldr r1, _0204FA58 ; =0x0000014A
- mov r0, #0x22
- add r4, r5, #0x0
- mul r4, r0
- add r1, r2, r1
- add r0, r6, #0x0
- add r1, r1, r4
- bl FUN_0202393C
- add r0, r6, #0x0
- mov r1, #0xf
- bl FUN_020239A0
- str r0, [sp, #0x0]
- bl FUN_02021D3C
- cmp r0, #0x0
- beq _0204F9FE
- ldr r0, _0204FA54 ; =0x021C5A68
- ldr r0, [r0, #0x0]
- add r1, r0, r4
- ldr r0, _0204FA5C ; =0x0000016A
- strh r5, [r1, r0]
-_0204F9FE:
- mov r4, #0x0
- ldr r6, _0204FA54 ; =0x021C5A68
- ldr r7, _0204FA5C ; =0x0000016A
- add r5, r4, #0x0
-_0204FA06:
- ldr r0, [r6, #0x0]
- add r1, r0, r5
- ldrh r0, [r1, r7]
- cmp r0, #0xff
- beq _0204FA26
- ldr r0, _0204FA5C ; =0x0000016A
- strh r4, [r1, r0]
- mov r0, #0x5c
- add r1, r0, #0x0
- ldr r2, [r6, #0x0]
- add r1, #0xee
- add r1, r2, r1
- add r1, r1, r5
- mov r2, #0x22
- bl FUN_02030B3C
-_0204FA26:
- add r4, r4, #0x1
- add r5, #0x22
- cmp r4, #0x8
- blt _0204FA06
- mov r0, #0x5d
- add r1, sp, #0x4
- mov r2, #0x1
- bl FUN_02030BC4
- ldr r0, [sp, #0x0]
- bl FUN_02021A20
- ldr r0, _0204FA54 ; =0x021C5A68
- mov r2, #0x1
- ldr r1, [r0, #0x0]
- ldr r0, _0204FA60 ; =0x000002C2
- add sp, #0x8
- strb r2, [r1, r0]
- pop {r3-r7, pc}
-_0204FA4C:
- bl ErrorHandling
- add sp, #0x8
- pop {r3-r7, pc}
- .balign 4
-_0204FA54: .word 0x021C5A68
-_0204FA58: .word 0x0000014A
-_0204FA5C: .word 0x0000016A
-_0204FA60: .word 0x000002C2
-
- thumb_func_start FUN_0204FA64
-FUN_0204FA64: ; 0x0204FA64
- ldr r0, _0204FA70 ; =0x021C5A68
- ldr r1, [r0, #0x0]
- ldr r0, _0204FA74 ; =0x0000025A
- add r0, r1, r0
- bx lr
- nop
-_0204FA70: .word 0x021C5A68
-_0204FA74: .word 0x0000025A
-
- thumb_func_start FUN_0204FA78
-FUN_0204FA78: ; 0x0204FA78
- push {r4-r6, lr}
- ldr r0, _0204FAC8 ; =0x021C5A68
- add r6, r2, #0x0
- ldr r1, [r0, #0x0]
- cmp r1, #0x0
- beq _0204FAC4
- ldrh r5, [r6, #0x20]
- lsl r0, r5, #0x2
- add r1, r1, r0
- mov r0, #0x29
- lsl r0, r0, #0x4
- ldr r0, [r1, r0]
- cmp r0, #0x0
- beq _0204FA98
- bl FUN_02016A18
-_0204FA98:
- mov r0, #0xf
- lsl r4, r5, #0x2
- bl FUN_02023928
- ldr r2, _0204FAC8 ; =0x021C5A68
- ldr r1, [r2, #0x0]
- add r3, r1, r4
- mov r1, #0x29
- lsl r1, r1, #0x4
- str r0, [r3, r1]
- ldr r2, [r2, #0x0]
- add r0, r6, #0x0
- add r2, r2, r4
- ldr r1, [r2, r1]
- bl FUN_0202393C
- ldr r0, _0204FAC8 ; =0x021C5A68
- mov r1, #0x1
- ldr r0, [r0, #0x0]
- add r0, r0, r5
- add r0, #0xfa
- strb r1, [r0, #0x0]
-_0204FAC4:
- pop {r4-r6, pc}
- nop
-_0204FAC8: .word 0x021C5A68
-
- thumb_func_start FUN_0204FACC
-FUN_0204FACC: ; 0x0204FACC
- mov r0, #0x22
- bx lr
-
- thumb_func_start FUN_0204FAD0
-FUN_0204FAD0: ; 0x0204FAD0
- push {r4, lr}
- add r4, r2, #0x0
- bl FUN_02031190
- ldrb r1, [r4, #0x0]
- cmp r1, r0
- bne _0204FAE8
- ldr r0, _0204FAF4 ; =0x021C5A68
- mov r2, #0x1
- ldr r1, [r0, #0x0]
- ldr r0, _0204FAF8 ; =0x000002B9
- strb r2, [r1, r0]
-_0204FAE8:
- ldr r0, _0204FAF4 ; =0x021C5A68
- mov r2, #0x0
- ldr r1, [r0, #0x0]
- ldr r0, _0204FAFC ; =0x000002C2
- strb r2, [r1, r0]
- pop {r4, pc}
- .balign 4
-_0204FAF4: .word 0x021C5A68
-_0204FAF8: .word 0x000002B9
-_0204FAFC: .word 0x000002C2
-
- thumb_func_start FUN_0204FB00
-FUN_0204FB00: ; 0x0204FB00
- ldr r0, _0204FB0C ; =0x021C5A68
- ldr r1, [r0, #0x0]
- ldr r0, _0204FB10 ; =0x000002B9
- ldrb r0, [r1, r0]
- bx lr
- nop
-_0204FB0C: .word 0x021C5A68
-_0204FB10: .word 0x000002B9
-
- thumb_func_start FUN_0204FB14
-FUN_0204FB14: ; 0x0204FB14
- ldr r0, _0204FB24 ; =0x021C5A68
- mov r2, #0x8
- ldr r1, [r0, #0x0]
- mov r0, #0xb
- lsl r0, r0, #0x6
- strb r2, [r1, r0]
- bx lr
- nop
-_0204FB24: .word 0x021C5A68
-
- thumb_func_start FUN_0204FB28
-FUN_0204FB28: ; 0x0204FB28
- push {r3-r5, lr}
- mov r4, #0x0
- bl FUN_02031190
- ldr r2, _0204FB9C ; =0x021C5A68
- lsl r1, r0, #0x2
- ldr r3, [r2, #0x0]
- add r5, r3, r1
- mov r1, #0x29
- lsl r1, r1, #0x4
- ldr r3, [r5, r1]
- cmp r3, #0x0
- beq _0204FB60
- add r4, r3, #0x0
- mov r3, #0x0
- str r3, [r5, r1]
- ldr r1, [r2, #0x0]
- add r1, r1, r0
- add r1, #0xfa
- strb r3, [r1, #0x0]
- ldr r3, [r2, #0x0]
- mov r2, #0x22
- mul r2, r0
- mov r1, #0xff
- add r0, r1, #0x0
- add r2, r3, r2
- add r0, #0x6b
- strh r1, [r2, r0]
-_0204FB60:
- mov r5, #0x0
-_0204FB62:
- add r0, r5, #0x0
- bl FUN_0204ED9C
- add r5, r5, #0x1
- cmp r5, #0x8
- blt _0204FB62
- cmp r4, #0x0
- beq _0204FB9A
- ldr r1, _0204FB9C ; =0x021C5A68
- mov r0, #0x29
- ldr r2, [r1, #0x0]
- lsl r0, r0, #0x4
- str r4, [r2, r0]
- ldr r0, [r1, #0x0]
- mov r2, #0x1
- add r0, #0xfa
- strb r2, [r0, #0x0]
- ldr r2, [r1, #0x0]
- ldr r1, _0204FBA0 ; =0x0000014A
- add r0, r4, #0x0
- add r1, r2, r1
- bl FUN_0202393C
- ldr r0, _0204FB9C ; =0x021C5A68
- mov r2, #0x0
- ldr r1, [r0, #0x0]
- ldr r0, _0204FBA4 ; =0x0000016A
- strh r2, [r1, r0]
-_0204FB9A:
- pop {r3-r5, pc}
- .balign 4
-_0204FB9C: .word 0x021C5A68
-_0204FBA0: .word 0x0000014A
-_0204FBA4: .word 0x0000016A
-
- thumb_func_start FUN_0204FBA8
-FUN_0204FBA8: ; 0x0204FBA8
- bx lr
- .balign 4
-
- thumb_func_start FUN_0204FBAC
-FUN_0204FBAC: ; 0x0204FBAC
- bx lr
- .balign 4
-
- thumb_func_start FUN_0204FBB0
-FUN_0204FBB0: ; 0x0204FBB0
- push {r4, lr}
- ldr r1, _0204FC08 ; =0x021C5A6C
- add r4, r0, #0x0
- ldr r1, [r1, #0x0]
- cmp r1, #0x0
- bne _0204FC04
- bl FUN_0208881C
- mov r0, #0xf
- mov r1, #0x48
- bl FUN_02016998
- ldr r1, _0204FC08 ; =0x021C5A6C
- mov r2, #0x48
- str r0, [r1, #0x0]
- mov r1, #0x0
- blx MI_CpuFill8
- ldr r0, _0204FC08 ; =0x021C5A6C
- mov r1, #0x32
- ldr r0, [r0, #0x0]
- mov r2, #0xa
- strh r1, [r0, #0x3c]
- ldr r0, _0204FC0C ; =FUN_0205006C
- mov r1, #0x0
- bl FUN_0200CA44
- ldr r1, _0204FC08 ; =0x021C5A6C
- ldr r2, [r1, #0x0]
- str r0, [r2, #0x38]
- ldr r0, [r1, #0x0]
- mov r2, #0x0
- str r4, [r0, #0x18]
- ldr r0, [r1, #0x0]
- str r2, [r0, #0x44]
- bl FUN_0204FBA8
- ldr r0, _0204FC08 ; =0x021C5A6C
- ldr r0, [r0, #0x0]
- add r0, #0x1c
- bl FUN_020312BC
-_0204FC04:
- pop {r4, pc}
- nop
-_0204FC08: .word 0x021C5A6C
-_0204FC0C: .word FUN_0205006C
-
- thumb_func_start FUN_0204FC10
-FUN_0204FC10: ; 0x0204FC10
- push {r4-r6, lr}
- ldr r0, _0204FC58 ; =0x021C5A6C
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- beq _0204FC56
- ldr r0, [r0, #0x38]
- bl FUN_0200CAB4
- mov r4, #0x0
- ldr r6, _0204FC58 ; =0x021C5A6C
- add r5, r4, #0x0
-_0204FC26:
- ldr r0, [r6, #0x0]
- ldr r0, [r0, r5]
- cmp r0, #0x0
- beq _0204FC32
- bl FUN_02016A18
-_0204FC32:
- add r4, r4, #0x1
- add r5, r5, #0x4
- cmp r4, #0x4
- blt _0204FC26
- ldr r0, _0204FC58 ; =0x021C5A6C
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x44]
- cmp r0, #0x0
- beq _0204FC48
- bl FUN_02016A18
-_0204FC48:
- ldr r0, _0204FC58 ; =0x021C5A6C
- ldr r0, [r0, #0x0]
- bl FUN_02016A18
- ldr r0, _0204FC58 ; =0x021C5A6C
- mov r1, #0x0
- str r1, [r0, #0x0]
-_0204FC56:
- pop {r4-r6, pc}
- .balign 4
-_0204FC58: .word 0x021C5A6C
-
- thumb_func_start FUN_0204FC5C
-FUN_0204FC5C: ; 0x0204FC5C
- push {r4, lr}
- ldr r1, _0204FC9C ; =0x021C5A6C
- add r4, r0, #0x0
- ldr r1, [r1, #0x0]
- cmp r1, #0x0
- bne _0204FC9A
- bl FUN_020377AC
- bl FUN_02031824
- add r0, r4, #0x0
- bl FUN_0204FBB0
- mov r2, #0x3a
- mov r0, #0x3
- mov r1, #0x21
- lsl r2, r2, #0xa
- bl FUN_0201681C
- ldr r0, _0204FC9C ; =0x021C5A6C
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x18]
- ldr r0, [r0, #0xc]
- bl FUN_020462AC
- bl FUN_0205F194
- cmp r0, #0x0
- bne _0204FC9A
- bl FUN_02031924
-_0204FC9A:
- pop {r4, pc}
- .balign 4
-_0204FC9C: .word 0x021C5A6C
-
- thumb_func_start FUN_0204FCA0
-FUN_0204FCA0: ; 0x0204FCA0
- push {r3, lr}
- ldr r0, _0204FCD0 ; =0x021C5A6C
- mov r2, #0x1
- ldr r1, [r0, #0x0]
- add r1, #0x41
- strb r2, [r1, #0x0]
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x18]
- ldr r0, [r0, #0xc]
- bl FUN_02029FC8
- mov r1, #0x24
- bl FUN_0202A170
- ldr r0, _0204FCD0 ; =0x021C5A6C
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x18]
- bl FUN_0223E060
- ldr r0, _0204FCD4 ; =FUN_020500A4
- mov r1, #0x0
- bl FUN_02050094
- pop {r3, pc}
- .balign 4
-_0204FCD0: .word 0x021C5A6C
-_0204FCD4: .word FUN_020500A4
-
- thumb_func_start FUN_0204FCD8
-FUN_0204FCD8: ; 0x0204FCD8
- push {r3, lr}
- ldr r0, _0204FCEC ; =0x021C5A6C
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- beq _0204FCEA
- ldr r0, _0204FCF0 ; =FUN_02050D54
- mov r1, #0x3
- bl FUN_02050094
-_0204FCEA:
- pop {r3, pc}
- .balign 4
-_0204FCEC: .word 0x021C5A6C
-_0204FCF0: .word FUN_02050D54
-
- thumb_func_start FUN_0204FCF4
-FUN_0204FCF4: ; 0x0204FCF4
- push {r3, lr}
- bl FUN_02031914
- ldr r0, _0204FD04 ; =FUN_020504D8
- mov r1, #0x0
- bl FUN_02050094
- pop {r3, pc}
- .balign 4
-_0204FD04: .word FUN_020504D8
-
- thumb_func_start FUN_0204FD08
-FUN_0204FD08: ; 0x0204FD08
- push {r3, lr}
- bl FUN_0202EDD8
- cmp r0, #0x0
- bne _0204FD1E
- bl FUN_02245F1C
- ldr r0, _0204FD20 ; =FUN_020500A4
- mov r1, #0x0
- bl FUN_02050094
-_0204FD1E:
- pop {r3, pc}
- .balign 4
-_0204FD20: .word FUN_020500A4
-
- thumb_func_start FUN_0204FD24
-FUN_0204FD24: ; 0x0204FD24
- push {r3, lr}
- bl FUN_02031934
- ldr r0, _0204FD34 ; =FUN_0204FD08
- mov r1, #0x0
- bl FUN_02050094
- pop {r3, pc}
- .balign 4
-_0204FD34: .word FUN_0204FD08
-
- thumb_func_start FUN_0204FD38
-FUN_0204FD38: ; 0x0204FD38
- push {r3-r7, lr}
- sub sp, #0x10
- ldr r0, _0204FDBC ; =0x021C5A6C
- add r2, sp, #0x0
- ldr r0, [r0, #0x0]
- ldr r3, _0204FDC0 ; =0x020F5838
- ldr r5, [r0, #0x34]
- add r6, r2, #0x0
- ldmia r3!, {r0-r1}
- stmia r2!, {r0-r1}
- ldmia r3!, {r0-r1}
- stmia r2!, {r0-r1}
- ldr r0, _0204FDC4 ; =FUN_020502AC
- ldr r4, _0204FDC8 ; =FUN_02050548
- ldr r7, _0204FDCC ; =FUN_02050168
- cmp r5, r0
- bne _0204FD68
- ldr r0, _0204FDD0 ; =FUN_0205031C
- mov r1, #0x0
- bl FUN_02050094
- add sp, #0x10
- mov r0, #0x1
- pop {r3-r7, pc}
-_0204FD68:
- cmp r4, r5
- bne _0204FD7A
- ldr r0, _0204FDD4 ; =FUN_02050578
- mov r1, #0x0
- bl FUN_02050094
- add sp, #0x10
- mov r0, #0x1
- pop {r3-r7, pc}
-_0204FD7A:
- cmp r7, r5
- bne _0204FD8C
- ldr r0, _0204FDD8 ; =FUN_020505E0
- mov r1, #0x0
- bl FUN_02050094
- add sp, #0x10
- mov r0, #0x1
- pop {r3-r7, pc}
-_0204FD8C:
- ldr r0, _0204FDDC ; =FUN_020504D0
- cmp r0, r5
- bne _0204FDA0
- ldr r0, _0204FDE0 ; =FUN_02050610
- mov r1, #0x0
- bl FUN_02050094
- add sp, #0x10
- mov r0, #0x1
- pop {r3-r7, pc}
-_0204FDA0:
- mov r1, #0x0
-_0204FDA2:
- ldr r0, [r6, #0x0]
- cmp r5, r0
- bne _0204FDAE
- add sp, #0x10
- mov r0, #0x1
- pop {r3-r7, pc}
-_0204FDAE:
- add r1, r1, #0x1
- add r6, r6, #0x4
- cmp r1, #0x4
- blo _0204FDA2
- mov r0, #0x0
- add sp, #0x10
- pop {r3-r7, pc}
- .balign 4
-_0204FDBC: .word 0x021C5A6C
-_0204FDC0: .word 0x020F5838
-_0204FDC4: .word FUN_020502AC
-_0204FDC8: .word FUN_02050548
-_0204FDCC: .word FUN_02050168
-_0204FDD0: .word FUN_0205031C
-_0204FDD4: .word FUN_02050578
-_0204FDD8: .word FUN_020505E0
-_0204FDDC: .word FUN_020504D0
-_0204FDE0: .word FUN_02050610
-
- thumb_func_start FUN_0204FDE4
-FUN_0204FDE4: ; 0x0204FDE4
- push {r4, lr}
- ldr r0, _0204FE38 ; =0x021C5A6C
- ldr r3, _0204FE3C ; =FUN_0205058C
- ldr r0, [r0, #0x0]
- ldr r2, _0204FE40 ; =FUN_020505F4
- ldr r4, [r0, #0x34]
- ldr r0, _0204FE44 ; =FUN_02050330
- ldr r1, _0204FE48 ; =FUN_02050624
- cmp r4, r0
- bne _0204FE04
- ldr r0, _0204FE4C ; =FUN_02050338
- mov r1, #0x0
- bl FUN_02050094
- mov r0, #0x1
- pop {r4, pc}
-_0204FE04:
- cmp r3, r4
- bne _0204FE14
- ldr r0, _0204FE50 ; =FUN_02050594
- mov r1, #0x0
- bl FUN_02050094
- mov r0, #0x1
- pop {r4, pc}
-_0204FE14:
- cmp r2, r4
- bne _0204FE24
- ldr r0, _0204FE54 ; =FUN_020505F8
- mov r1, #0x0
- bl FUN_02050094
- mov r0, #0x1
- pop {r4, pc}
-_0204FE24:
- cmp r1, r4
- bne _0204FE34
- ldr r0, _0204FE58 ; =FUN_02050628
- mov r1, #0x0
- bl FUN_02050094
- mov r0, #0x1
- pop {r4, pc}
-_0204FE34:
- mov r0, #0x0
- pop {r4, pc}
- .balign 4
-_0204FE38: .word 0x021C5A6C
-_0204FE3C: .word FUN_0205058C
-_0204FE40: .word FUN_020505F4
-_0204FE44: .word FUN_02050330
-_0204FE48: .word FUN_02050624
-_0204FE4C: .word FUN_02050338
-_0204FE50: .word FUN_02050594
-_0204FE54: .word FUN_020505F8
-_0204FE58: .word FUN_02050628
-
- thumb_func_start FUN_0204FE5C
-FUN_0204FE5C: ; 0x0204FE5C
- push {r3-r4}
- sub sp, #0x38
- ldr r4, _0204FEA8 ; =0x020F5848
- add r3, sp, #0x0
- mov r2, #0x7
-_0204FE66:
- ldmia r4!, {r0-r1}
- stmia r3!, {r0-r1}
- sub r2, r2, #0x1
- bne _0204FE66
- ldr r0, _0204FEAC ; =0x021C5A6C
- ldr r0, [r0, #0x0]
- ldr r1, [r0, #0x34]
- cmp r0, #0x0
- bne _0204FE80
- add sp, #0x38
- mov r0, #0x0
- pop {r3-r4}
- bx lr
-_0204FE80:
- ldr r0, [sp, #0x0]
- cmp r0, #0x0
- beq _0204FE9E
- add r2, sp, #0x0
-_0204FE88:
- ldr r0, [r2, #0x0]
- cmp r1, r0
- bne _0204FE96
- add sp, #0x38
- mov r0, #0x1
- pop {r3-r4}
- bx lr
-_0204FE96:
- add r2, r2, #0x4
- ldr r0, [r2, #0x0]
- cmp r0, #0x0
- bne _0204FE88
-_0204FE9E:
- mov r0, #0x0
- add sp, #0x38
- pop {r3-r4}
- bx lr
- nop
-_0204FEA8: .word 0x020F5848
-_0204FEAC: .word 0x021C5A6C
-
- thumb_func_start FUN_0204FEB0
-FUN_0204FEB0: ; 0x0204FEB0
- push {r3-r6, lr}
- sub sp, #0x4
- add r5, r0, #0x0
- add r4, r1, #0x0
- add r6, r2, #0x0
- bl FUN_02030F40
- cmp r0, #0x0
- bne _0204FEE8
- add r0, r5, #0x0
- bl FUN_020377AC
- mov r1, #0x0
- add r3, r5, #0x0
- str r1, [sp, #0x0]
- add r3, #0xac
- ldr r3, [r3, #0x0]
- add r1, r4, #0x0
- add r2, r6, #0x0
- bl FUN_02031948
- add r0, r5, #0x0
- bl FUN_0204FBB0
- ldr r0, _0204FEEC ; =FUN_02050640
- mov r1, #0x0
- bl FUN_02050094
-_0204FEE8:
- add sp, #0x4
- pop {r3-r6, pc}
- .balign 4
-_0204FEEC: .word FUN_02050640
-
- thumb_func_start FUN_0204FEF0
-FUN_0204FEF0: ; 0x0204FEF0
- push {r3-r6, lr}
- sub sp, #0x4
- add r5, r0, #0x0
- add r4, r1, #0x0
- add r6, r2, #0x0
- bl FUN_02030F40
- cmp r0, #0x0
- bne _0204FF28
- add r0, r5, #0x0
- bl FUN_020377AC
- mov r1, #0x0
- add r3, r5, #0x0
- str r1, [sp, #0x0]
- add r3, #0xac
- ldr r3, [r3, #0x0]
- add r1, r4, #0x0
- add r2, r6, #0x0
- bl FUN_02031990
- add r0, r5, #0x0
- bl FUN_0204FBB0
- ldr r0, _0204FF2C ; =FUN_02050668
- mov r1, #0x0
- bl FUN_02050094
-_0204FF28:
- add sp, #0x4
- pop {r3-r6, pc}
- .balign 4
-_0204FF2C: .word FUN_02050668
-
- thumb_func_start FUN_0204FF30
-FUN_0204FF30: ; 0x0204FF30
- ldr r1, _0204FF40 ; =0x021C5A6C
- ldr r3, _0204FF44 ; =FUN_02050094
- ldr r1, [r1, #0x0]
- add r1, #0x3e
- strb r0, [r1, #0x0]
- ldr r0, _0204FF48 ; =FUN_02050688
- mov r1, #0x0
- bx r3
- .balign 4
-_0204FF40: .word 0x021C5A6C
-_0204FF44: .word FUN_02050094
-_0204FF48: .word FUN_02050688
-
- thumb_func_start FUN_0204FF4C
-FUN_0204FF4C: ; 0x0204FF4C
- ldr r3, _0204FF54 ; =FUN_02050094
- ldr r0, _0204FF58 ; =FUN_02050BBC
- mov r1, #0x0
- bx r3
- .balign 4
-_0204FF54: .word FUN_02050094
-_0204FF58: .word FUN_02050BBC
-
- thumb_func_start FUN_0204FF5C
-FUN_0204FF5C: ; 0x0204FF5C
- push {r4-r7, lr}
- sub sp, #0xc
- add r4, r0, #0x0
- mov r0, #0x0
- add r1, r0, #0x0
- bl FUN_0200E3BC
- mov r0, #0x1
- mov r1, #0x0
- bl FUN_0200E3BC
- mov r0, #0x1
- add r1, r0, #0x0
- bl FUN_020334E8
- bl FUN_02031810
- cmp r0, #0x0
- beq _02050014
- ldr r0, _02050018 ; =0x021C5A6C
- ldr r1, [r0, #0x0]
- cmp r1, #0x0
- bne _0204FF9C
- add r0, r4, #0x0
- bl FUN_0204FBB0
- ldr r0, _02050018 ; =0x021C5A6C
- mov r1, #0x1
- ldr r0, [r0, #0x0]
- add r0, #0x42
- strb r1, [r0, #0x0]
- b _0204FFA2
-_0204FF9C:
- mov r0, #0x0
- add r1, #0x42
- strb r0, [r1, #0x0]
-_0204FFA2:
- ldr r0, _02050018 ; =0x021C5A6C
- mov r1, #0x0
- ldr r0, [r0, #0x0]
- add r0, #0x43
- strb r1, [r0, #0x0]
- bl FUN_02031190
- str r0, [sp, #0x8]
- bl FUN_02031190
- bl FUN_0202DFA4
- mov r4, #0x0
- bl FUN_02030F20
- cmp r0, #0x0
- ble _0204FFEA
- ldr r6, _02050018 ; =0x021C5A6C
- add r5, r4, #0x0
- add r7, r4, #0x0
-_0204FFCA:
- ldr r0, [r6, #0x0]
- ldr r0, [r0, r5]
- cmp r0, #0x0
- bne _0204FFDE
- ldr r1, _0205001C ; =0x0000066C
- add r0, r7, #0x0
- bl FUN_02016998
- ldr r1, [r6, #0x0]
- str r0, [r1, r5]
-_0204FFDE:
- add r5, r5, #0x4
- add r4, r4, #0x1
- bl FUN_02030F20
- cmp r4, r0
- blt _0204FFCA
-_0204FFEA:
- ldr r0, _02050018 ; =0x021C5A6C
- mov r3, #0xff
- ldr r1, [r0, #0x0]
- ldr r0, [r1, #0x18]
- str r0, [sp, #0x0]
- ldr r0, [sp, #0x8]
- lsl r0, r0, #0x2
- ldr r0, [r1, r0]
- str r0, [sp, #0x4]
- mov r0, #0x0
- add r1, r0, #0x0
- add r2, r0, #0x0
- bl FUN_02064E90
- mov r0, #0x5f
- bl FUN_02031588
- ldr r0, _02050020 ; =FUN_02050C14
- mov r1, #0x0
- bl FUN_02050094
-_02050014:
- add sp, #0xc
- pop {r4-r7, pc}
- .balign 4
-_02050018: .word 0x021C5A6C
-_0205001C: .word 0x0000066C
-_02050020: .word FUN_02050C14
-
- thumb_func_start FUN_02050024
-FUN_02050024: ; 0x02050024
- push {r3, lr}
- ldr r0, _02050040 ; =0x021C5A6C
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- beq _0205003E
- mov r0, #0x0
- add r1, r0, #0x0
- bl FUN_020334E8
- ldr r0, _02050044 ; =FUN_02050DB0
- mov r1, #0x5
- bl FUN_02050094
-_0205003E:
- pop {r3, pc}
- .balign 4
-_02050040: .word 0x021C5A6C
-_02050044: .word FUN_02050DB0
-
- thumb_func_start FUN_02050048
-FUN_02050048: ; 0x02050048
- push {r3, lr}
- ldr r0, _02050064 ; =0x021C5A6C
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- beq _02050060
- mov r0, #0x5b
- bl FUN_02031588
- ldr r0, _02050068 ; =FUN_02050D88
- mov r1, #0x5
- bl FUN_02050094
-_02050060:
- pop {r3, pc}
- nop
-_02050064: .word 0x021C5A6C
-_02050068: .word FUN_02050D88
-
- thumb_func_start FUN_0205006C
-FUN_0205006C: ; 0x0205006C
- push {r3, lr}
- ldr r1, _02050090 ; =0x021C5A6C
- ldr r2, [r1, #0x0]
- cmp r2, #0x0
- bne _0205007C
- bl FUN_0200CAB4
- pop {r3, pc}
-_0205007C:
- ldr r1, [r2, #0x34]
- cmp r1, #0x0
- beq _0205008C
- add r2, #0x40
- ldrb r0, [r2, #0x0]
- cmp r0, #0x0
- bne _0205008C
- blx r1
-_0205008C:
- pop {r3, pc}
- nop
-_02050090: .word 0x021C5A6C
-
- thumb_func_start FUN_02050094
-FUN_02050094: ; 0x02050094
- ldr r2, _020500A0 ; =0x021C5A6C
- ldr r3, [r2, #0x0]
- str r0, [r3, #0x34]
- ldr r0, [r2, #0x0]
- strh r1, [r0, #0x3c]
- bx lr
- .balign 4
-_020500A0: .word 0x021C5A6C
-
- thumb_func_start FUN_020500A4
-FUN_020500A4: ; 0x020500A4
- push {r3, lr}
- ldr r0, _02050108 ; =0x021C5A6C
- ldr r1, [r0, #0x0]
- ldrh r0, [r1, #0x3c]
- cmp r0, #0x0
- beq _020500B6
- sub r0, r0, #0x1
- strh r0, [r1, #0x3c]
- pop {r3, pc}
-_020500B6:
- bl FUN_02030F40
- cmp r0, #0x0
- beq _02050104
- ldr r0, _02050108 ; =0x021C5A6C
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x18]
- bl FUN_0223E1E0
- bl FUN_0202DBE0
- mov r0, #0x0
- bl FUN_0204D168
- bl FUN_0223EF7C
- bl FUN_02245FA0
- ldr r0, _02050108 ; =0x021C5A6C
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x18]
- ldr r0, [r0, #0xc]
- bl FUN_020462AC
- bl FUN_0205F194
- cmp r0, #0x0
- bne _020500F8
- ldr r0, _0205010C ; =FUN_02050114
- mov r1, #0x0
- bl FUN_02050094
- pop {r3, pc}
-_020500F8:
- bl FUN_0204F80C
- ldr r0, _02050110 ; =FUN_02050144
- mov r1, #0x18
- bl FUN_02050094
-_02050104:
- pop {r3, pc}
- nop
-_02050108: .word 0x021C5A6C
-_0205010C: .word FUN_02050114
-_02050110: .word FUN_02050144
-
- thumb_func_start FUN_02050114
-FUN_02050114: ; 0x02050114
- push {r3, lr}
- ldr r0, _0205013C ; =0x021C5A6C
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x18]
- ldr r0, [r0, #0xc]
- bl FUN_020462AC
- bl FUN_0205F194
- cmp r0, #0x0
- beq _0205013A
- bl FUN_02031880
- bl FUN_0204F80C
- ldr r0, _02050140 ; =FUN_02050168
- mov r1, #0x18
- bl FUN_02050094
-_0205013A:
- pop {r3, pc}
- .balign 4
-_0205013C: .word 0x021C5A6C
-_02050140: .word FUN_02050168
-
- thumb_func_start FUN_02050144
-FUN_02050144: ; 0x02050144
- push {r3, lr}
- ldr r0, _02050160 ; =0x021C5A6C
- ldr r1, [r0, #0x0]
- ldrh r0, [r1, #0x3c]
- cmp r0, #0x0
- beq _02050156
- sub r0, r0, #0x1
- strh r0, [r1, #0x3c]
- pop {r3, pc}
-_02050156:
- ldr r0, _02050164 ; =FUN_02050168
- mov r1, #0x18
- bl FUN_02050094
- pop {r3, pc}
- .balign 4
-_02050160: .word 0x021C5A6C
-_02050164: .word FUN_02050168
-
- thumb_func_start FUN_02050168
-FUN_02050168: ; 0x02050168
- push {r3, lr}
- bl FUN_0223DFB4
- bl FUN_0204F80C
- bl FUN_020318C4
- cmp r0, #0x0
- beq _02050198
- bl FUN_02031190
- cmp r0, #0x0
- bne _02050190
- bl FUN_02245324
- ldr r0, _0205019C ; =FUN_0205024C
- mov r1, #0x3c
- bl FUN_02050094
- pop {r3, pc}
-_02050190:
- ldr r0, _020501A0 ; =FUN_020501A4
- mov r1, #0x78
- bl FUN_02050094
-_02050198:
- pop {r3, pc}
- nop
-_0205019C: .word FUN_0205024C
-_020501A0: .word FUN_020501A4
-
- thumb_func_start FUN_020501A4
-FUN_020501A4: ; 0x020501A4
- push {r3, lr}
- ldr r0, _02050240 ; =0x021C5A6C
- ldr r1, [r0, #0x0]
- ldrh r0, [r1, #0x3c]
- cmp r0, #0x0
- beq _020501B4
- sub r0, r0, #0x1
- strh r0, [r1, #0x3c]
-_020501B4:
- bl FUN_0202EE44
- cmp r0, #0x0
- bne _020501CE
- bl FUN_020311F0
- cmp r0, #0x0
- bne _020501CE
- ldr r0, _02050240 ; =0x021C5A6C
- ldr r0, [r0, #0x0]
- ldrh r0, [r0, #0x3c]
- cmp r0, #0x0
- bne _020501DC
-_020501CE:
- bl FUN_02031880
- ldr r0, _02050244 ; =FUN_020504A4
- mov r1, #0x0
- bl FUN_02050094
- pop {r3, pc}
-_020501DC:
- bl FUN_02031190
- bl FUN_02030E7C
- cmp r0, #0x0
- beq _0205023C
- ldr r0, _02050240 ; =0x021C5A6C
- ldr r1, [r0, #0x0]
- ldrh r0, [r1, #0x3c]
- cmp r0, #0x0
- beq _02050202
- sub r0, r0, #0x1
- strh r0, [r1, #0x3c]
- bl FUN_02030C58
- mov r1, #0x42
- lsl r1, r1, #0x2
- cmp r0, r1
- bne _0205023C
-_02050202:
- bl FUN_0223E6B8
- mov r0, #0x0
- bl FUN_0204D040
- mov r0, #0x0
- add r1, r0, #0x0
- add r2, r0, #0x0
- add r3, r0, #0x0
- bl FUN_022408FC
- mov r0, #0x0
- mov r1, #0x1
- bl FUN_0223FCE8
- mov r0, #0x0
- bl FUN_0202DE78
- mov r0, #0x0
- add r1, r0, #0x0
- add r2, r0, #0x0
- bl FUN_0204D43C
- bl FUN_0204F858
- ldr r0, _02050248 ; =FUN_02050350
- mov r1, #0xa
- bl FUN_02050094
-_0205023C:
- pop {r3, pc}
- nop
-_02050240: .word 0x021C5A6C
-_02050244: .word FUN_020504A4
-_02050248: .word FUN_02050350
-
- thumb_func_start FUN_0205024C
-FUN_0205024C: ; 0x0205024C
- push {r3, lr}
- bl FUN_0223DFB4
- ldr r0, _020502A0 ; =0x021C5A6C
- ldr r1, [r0, #0x0]
- ldrh r0, [r1, #0x3c]
- cmp r0, #0x0
- beq _02050260
- sub r0, r0, #0x1
- strh r0, [r1, #0x3c]
-_02050260:
- bl FUN_020311E8
- cmp r0, #0x0
- bne _02050272
- ldr r0, _020502A0 ; =0x021C5A6C
- ldr r0, [r0, #0x0]
- ldrh r0, [r0, #0x3c]
- cmp r0, #0x0
- bne _0205029E
-_02050272:
- bl FUN_0223E6B8
- cmp r0, #0x0
- beq _0205027E
- bl FUN_0204F7FC
-_0205027E:
- ldr r0, _020502A4 ; =0x02105E74
- bl FUN_0204FBAC
- mov r0, #0x0
- bl FUN_0204D168
- bl FUN_0204F930
- bl FUN_02245FA0
- bl FUN_0223E7FC
- ldr r0, _020502A8 ; =FUN_020502AC
- mov r1, #0x0
- bl FUN_02050094
-_0205029E:
- pop {r3, pc}
- .balign 4
-_020502A0: .word 0x021C5A6C
-_020502A4: .word 0x02105E74
-_020502A8: .word FUN_020502AC
-
- thumb_func_start FUN_020502AC
-FUN_020502AC: ; 0x020502AC
- push {r3, lr}
- bl FUN_0223DFB4
- ldr r0, _02050314 ; =0x021C5A6C
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x18]
- ldr r0, [r0, #0x10]
- cmp r0, #0x0
- bne _02050310
- bl FUN_020311F0
- cmp r0, #0x0
- bne _020502E2
- bl FUN_0202EE24
- cmp r0, #0x0
- beq _020502E2
- bl FUN_02031190
- bl FUN_02030E7C
- cmp r0, #0x0
- bne _02050310
- bl FUN_02031280
- cmp r0, #0x0
- bne _02050310
-_020502E2:
- mov r0, #0x0
- bl FUN_02245358
- bl FUN_0204F90C
- bl FUN_02247808
- mov r0, #0x2b
- bl FUN_020311DC
- bl FUN_02031190
- mov r1, #0x1
- bl FUN_0223FCE8
- bl FUN_0223E6B8
- bl FUN_020318B4
- ldr r0, _02050318 ; =FUN_02050458
- mov r1, #0x0
- bl FUN_02050094
-_02050310:
- pop {r3, pc}
- nop
-_02050314: .word 0x021C5A6C
-_02050318: .word FUN_02050458
-
- thumb_func_start FUN_0205031C
-FUN_0205031C: ; 0x0205031C
- push {r3, lr}
- bl FUN_0204CC48
- ldr r0, _0205032C ; =FUN_02050330
- mov r1, #0x0
- bl FUN_02050094
- pop {r3, pc}
- .balign 4
-_0205032C: .word FUN_02050330
-
- thumb_func_start FUN_02050330
-FUN_02050330: ; 0x02050330
- ldr r3, _02050334 ; =FUN_0223DFB4
- bx r3
- .balign 4
-_02050334: .word FUN_0223DFB4 + 1
-
- thumb_func_start FUN_02050338
-FUN_02050338: ; 0x02050338
- push {r3, lr}
- bl FUN_02245F1C
- bl FUN_0204CC9C
- ldr r0, _0205034C ; =FUN_020502AC
- mov r1, #0x0
- bl FUN_02050094
- pop {r3, pc}
- .balign 4
-_0205034C: .word FUN_020502AC
-
- thumb_func_start FUN_02050350
-FUN_02050350: ; 0x02050350
- push {r3, lr}
- ldr r0, _020503A8 ; =0x021C5A6C
- ldr r0, [r0, #0x0]
- ldrh r0, [r0, #0x3c]
- cmp r0, #0x9
- bne _02050364
- bl FUN_0202DBE0
- bl FUN_0223E7FC
-_02050364:
- ldr r0, _020503A8 ; =0x021C5A6C
- ldr r0, [r0, #0x0]
- ldrh r0, [r0, #0x3c]
- cmp r0, #0x1
- bne _02050374
- mov r0, #0x0
- bl FUN_0204D198
-_02050374:
- ldr r0, _020503A8 ; =0x021C5A6C
- ldr r1, [r0, #0x0]
- ldrh r0, [r1, #0x3c]
- cmp r0, #0x0
- beq _02050384
- sub r0, r0, #0x1
- strh r0, [r1, #0x3c]
- pop {r3, pc}
-_02050384:
- bl FUN_0202DCF8
- cmp r0, #0x0
- beq _020503A0
- ldr r0, _020503AC ; =0x02105E80
- bl FUN_0204FBAC
- bl FUN_0204F930
- ldr r0, _020503B0 ; =FUN_020503B4
- mov r1, #0xc8
- bl FUN_02050094
- pop {r3, pc}
-_020503A0:
- bl FUN_02050548
- pop {r3, pc}
- nop
-_020503A8: .word 0x021C5A6C
-_020503AC: .word 0x02105E80
-_020503B0: .word FUN_020503B4
-
- thumb_func_start FUN_020503B4
-FUN_020503B4: ; 0x020503B4
- push {r3, lr}
- bl FUN_0204FB00
- cmp r0, #0x0
- beq _020503CC
- bl FUN_0223EF7C
- ldr r0, _020503E8 ; =FUN_020503F0
- mov r1, #0x0
- bl FUN_02050094
- pop {r3, pc}
-_020503CC:
- bl FUN_02050548
- ldr r0, _020503EC ; =0x021C5A6C
- ldr r1, [r0, #0x0]
- ldrh r0, [r1, #0x3c]
- cmp r0, #0x0
- beq _020503E0
- sub r0, r0, #0x1
- strh r0, [r1, #0x3c]
- pop {r3, pc}
-_020503E0:
- bl FUN_02050510
- pop {r3, pc}
- nop
-_020503E8: .word FUN_020503F0
-_020503EC: .word 0x021C5A6C
-
- thumb_func_start FUN_020503F0
-FUN_020503F0: ; 0x020503F0
- push {r3, lr}
- bl FUN_0223F4D8
- cmp r0, #0x0
- beq _02050412
- ldr r0, _02050418 ; =0x02105E94
- bl FUN_0204FBAC
- bl FUN_0223F4F4
- bl FUN_02245FA0
- ldr r0, _0205041C ; =FUN_02050420
- mov r1, #0x0
- bl FUN_02050094
- pop {r3, pc}
-_02050412:
- bl FUN_02050548
- pop {r3, pc}
- .balign 4
-_02050418: .word 0x02105E94
-_0205041C: .word FUN_02050420
-
- thumb_func_start FUN_02050420
-FUN_02050420: ; 0x02050420
- push {r3, lr}
- bl FUN_022461A4
- cmp r0, #0x0
- beq _0205044A
- ldr r0, _02050450 ; =0x02105EB0
- bl FUN_0204FBAC
- bl FUN_022461B8
- mov r0, #0x1
- bl FUN_0204D168
- mov r0, #0x1f
- bl FUN_020311DC
- ldr r0, _02050454 ; =FUN_02050548
- mov r1, #0x0
- bl FUN_02050094
- pop {r3, pc}
-_0205044A:
- bl FUN_02050548
- pop {r3, pc}
- .balign 4
-_02050450: .word 0x02105EB0
-_02050454: .word FUN_02050548
-
- thumb_func_start FUN_02050458
-FUN_02050458: ; 0x02050458
- push {r3, lr}
- bl FUN_02031280
- cmp r0, #0x0
- beq _02050472
- mov r0, #0x0
- add r1, r0, #0x0
- bl FUN_0204EAD8
- ldr r0, _02050474 ; =FUN_02050478
- mov r1, #0x1e
- bl FUN_02050094
-_02050472:
- pop {r3, pc}
- .balign 4
-_02050474: .word FUN_02050478
-
- thumb_func_start FUN_02050478
-FUN_02050478: ; 0x02050478
- push {r3, lr}
- ldr r0, _0205049C ; =0x021C5A6C
- ldr r1, [r0, #0x0]
- ldrh r0, [r1, #0x3c]
- cmp r0, #0x0
- beq _0205048A
- sub r0, r0, #0x1
- strh r0, [r1, #0x3c]
- pop {r3, pc}
-_0205048A:
- bl FUN_02031190
- cmp r0, #0x0
- bne _0205049A
- ldr r0, _020504A0 ; =FUN_020500A4
- mov r1, #0x0
- bl FUN_02050094
-_0205049A:
- pop {r3, pc}
- .balign 4
-_0205049C: .word 0x021C5A6C
-_020504A0: .word FUN_020500A4
-
- thumb_func_start FUN_020504A4
-FUN_020504A4: ; 0x020504A4
- push {r3, lr}
- ldr r0, _020504C8 ; =0x021C5A6C
- ldr r1, [r0, #0x0]
- ldrh r0, [r1, #0x3c]
- cmp r0, #0x0
- beq _020504B6
- sub r0, r0, #0x1
- strh r0, [r1, #0x3c]
- pop {r3, pc}
-_020504B6:
- bl FUN_02031190
- cmp r0, #0x0
- bne _020504C6
- ldr r0, _020504CC ; =FUN_020500A4
- mov r1, #0x0
- bl FUN_02050094
-_020504C6:
- pop {r3, pc}
- .balign 4
-_020504C8: .word 0x021C5A6C
-_020504CC: .word FUN_020500A4
-
- thumb_func_start FUN_020504D0
-FUN_020504D0: ; 0x020504D0
- ldr r3, _020504D4 ; =FUN_0223DFB4
- bx r3
- .balign 4
-_020504D4: .word FUN_0223DFB4 + 1
-
- thumb_func_start FUN_020504D8
-FUN_020504D8: ; 0x020504D8
- push {r3, lr}
- bl FUN_02031190
- cmp r0, #0x0
- bne _02050506
- ldr r0, _02050508 ; =0x021C5A6C
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x18]
- bl FUN_0223E1E0
- bl FUN_0202DBE0
- mov r0, #0x0
- bl FUN_0204D168
- bl FUN_0223EF7C
- bl FUN_02245FA0
- ldr r0, _0205050C ; =FUN_020504D0
- mov r1, #0x0
- bl FUN_02050094
-_02050506:
- pop {r3, pc}
- .balign 4
-_02050508: .word 0x021C5A6C
-_0205050C: .word FUN_020504D0
-
- thumb_func_start FUN_02050510
-FUN_02050510: ; 0x02050510
- push {r3, lr}
- bl FUN_02031190
- mov r1, #0x1
- bl FUN_0223FCE8
- bl FUN_02031190
- mov r1, #0x1
- bl FUN_02247728
- bl FUN_0223CACC
- bl FUN_0204CEF8
- bl FUN_0223E6B8
- bl FUN_02031880
- bl FUN_0204FB28
- ldr r0, _02050544 ; =FUN_020504A4
- mov r1, #0x0
- bl FUN_02050094
- pop {r3, pc}
- .balign 4
-_02050544: .word FUN_020504A4
-
- thumb_func_start FUN_02050548
-FUN_02050548: ; 0x02050548
- push {r3, lr}
- bl FUN_0223DFB4
- bl FUN_0204F80C
- ldr r0, _02050574 ; =0x021C5A6C
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x18]
- ldr r0, [r0, #0x10]
- cmp r0, #0x0
- bne _02050572
- bl FUN_0202EE44
- cmp r0, #0x0
- bne _0205056E
- bl FUN_020311F0
- cmp r0, #0x0
- beq _02050572
-_0205056E:
- bl FUN_02050510
-_02050572:
- pop {r3, pc}
- .balign 4
-_02050574: .word 0x021C5A6C
-
- thumb_func_start FUN_02050578
-FUN_02050578: ; 0x02050578
- push {r3, lr}
- bl FUN_0204CC48
- ldr r0, _02050588 ; =FUN_0205058C
- mov r1, #0x0
- bl FUN_02050094
- pop {r3, pc}
- .balign 4
-_02050588: .word FUN_0205058C
-
- thumb_func_start FUN_0205058C
-FUN_0205058C: ; 0x0205058C
- ldr r3, _02050590 ; =0x02247831
- bx r3
- .balign 4
-_02050590: .word 0x02247831
-
- thumb_func_start FUN_02050594
-FUN_02050594: ; 0x02050594
- push {r3, lr}
- bl FUN_02245F1C
- bl FUN_0204CC9C
- bl FUN_0202EE44
- cmp r0, #0x0
- bne _020505AE
- bl FUN_020311F0
- cmp r0, #0x0
- beq _020505CC
-_020505AE:
- bl FUN_022452A4
- bl FUN_0204CEF8
- bl FUN_0223E6B8
- bl FUN_02031880
- bl FUN_0204FB28
- ldr r0, _020505D8 ; =FUN_020504A4
- mov r1, #0x0
- bl FUN_02050094
- pop {r3, pc}
-_020505CC:
- ldr r0, _020505DC ; =FUN_02050548
- mov r1, #0x0
- bl FUN_02050094
- pop {r3, pc}
- nop
-_020505D8: .word FUN_020504A4
-_020505DC: .word FUN_02050548
-
- thumb_func_start FUN_020505E0
-FUN_020505E0: ; 0x020505E0
- push {r3, lr}
- bl FUN_0204CC48
- ldr r0, _020505F0 ; =FUN_020505F4
- mov r1, #0x0
- bl FUN_02050094
- pop {r3, pc}
- .balign 4
-_020505F0: .word FUN_020505F4
-
- thumb_func_start FUN_020505F4
-FUN_020505F4: ; 0x020505F4
- bx lr
- .balign 4
-
- thumb_func_start FUN_020505F8
-FUN_020505F8: ; 0x020505F8
- push {r3, lr}
- bl FUN_02245F1C
- bl FUN_0204CC9C
- ldr r0, _0205060C ; =FUN_02050168
- mov r1, #0x0
- bl FUN_02050094
- pop {r3, pc}
- .balign 4
-_0205060C: .word FUN_02050168
-
- thumb_func_start FUN_02050610
-FUN_02050610: ; 0x02050610
- push {r3, lr}
- bl FUN_0204CF24
- ldr r0, _02050620 ; =FUN_02050624
- mov r1, #0x0
- bl FUN_02050094
- pop {r3, pc}
- .balign 4
-_02050620: .word FUN_02050624
-
- thumb_func_start FUN_02050624
-FUN_02050624: ; 0x02050624
- bx lr
- .balign 4
-
- thumb_func_start FUN_02050628
-FUN_02050628: ; 0x02050628
- push {r3, lr}
- bl FUN_02245F1C
- bl FUN_0204CC9C
- ldr r0, _0205063C ; =FUN_020504D0
- mov r1, #0x0
- bl FUN_02050094
- pop {r3, pc}
- .balign 4
-_0205063C: .word FUN_020504D0
-
- thumb_func_start FUN_02050640
-FUN_02050640: ; 0x02050640
- push {r3, lr}
- bl FUN_02031190
- bl FUN_02030E7C
- cmp r0, #0x0
- beq _0205065E
- bl FUN_02240834
- bl FUN_0202DBE0
- ldr r0, _02050660 ; =FUN_02050664
- mov r1, #0x0
- bl FUN_02050094
-_0205065E:
- pop {r3, pc}
- .balign 4
-_02050660: .word FUN_02050664
-
- thumb_func_start FUN_02050664
-FUN_02050664: ; 0x02050664
- bx lr
- .balign 4
-
- thumb_func_start FUN_02050668
-FUN_02050668: ; 0x02050668
- push {r3, lr}
- bl FUN_0202E4C8
- cmp r0, #0x0
- beq _0205067E
- bl FUN_022407CC
- ldr r0, _02050680 ; =FUN_02050684
- mov r1, #0x0
- bl FUN_02050094
-_0205067E:
- pop {r3, pc}
- .balign 4
-_02050680: .word FUN_02050684
-
- thumb_func_start FUN_02050684
-FUN_02050684: ; 0x02050684
- bx lr
- .balign 4
-
- thumb_func_start FUN_02050688
-FUN_02050688: ; 0x02050688
- push {r3, lr}
- ldr r0, _020506A0 ; =0x021C5A6C
- ldr r0, [r0, #0x0]
- add r0, #0x3e
- ldrb r0, [r0, #0x0]
- bl FUN_020319D8
- ldr r0, _020506A4 ; =FUN_020506A8
- mov r1, #0x0
- bl FUN_02050094
- pop {r3, pc}
- .balign 4
-_020506A0: .word 0x021C5A6C
-_020506A4: .word FUN_020506A8
-
- thumb_func_start FUN_020506A8
-FUN_020506A8: ; 0x020506A8
- push {r3, lr}
- bl FUN_02031A2C
- cmp r0, #0x0
- beq _020506BE
- bl FUN_0202DBE0
- ldr r0, _020506C0 ; =FUN_020506C4
- mov r1, #0x0
- bl FUN_02050094
-_020506BE:
- pop {r3, pc}
- .balign 4
-_020506C0: .word FUN_020506C4
-
- thumb_func_start FUN_020506C4
-FUN_020506C4: ; 0x020506C4
- bx lr
- .balign 4
-
- thumb_func_start FUN_020506C8
-FUN_020506C8: ; 0x020506C8
- push {r3, lr}
- mov r0, #0x62
- bl FUN_020315D8
- cmp r0, #0x0
- beq _02050704
- bl FUN_0204D320
- add r1, r0, #0x0
- mov r0, #0xf
- bl FUN_02016998
- ldr r1, _02050720 ; =0x021C5A6C
- mov r2, #0x0
- ldr r1, [r1, #0x0]
- ldr r1, [r1, #0x18]
- bl FUN_0204CB20
- bl FUN_0204F80C
- bl FUN_02030FC8
- mov r0, #0x5c
- bl FUN_02031588
- ldr r0, _02050724 ; =FUN_02050728
- mov r1, #0x0
- bl FUN_02050094
- pop {r3, pc}
-_02050704:
- ldr r0, _02050720 ; =0x021C5A6C
- ldr r1, [r0, #0x0]
- ldrh r0, [r1, #0x3c]
- cmp r0, #0x0
- beq _02050714
- sub r0, r0, #0x1
- strh r0, [r1, #0x3c]
- pop {r3, pc}
-_02050714:
- mov r0, #0x1e
- strh r0, [r1, #0x3c]
- mov r0, #0x62
- bl FUN_02031588
- pop {r3, pc}
- .balign 4
-_02050720: .word 0x021C5A6C
-_02050724: .word FUN_02050728
-
- thumb_func_start FUN_02050728
-FUN_02050728: ; 0x02050728
- push {lr}
- sub sp, #0xc
- bl FUN_02031190
- cmp r0, #0x0
- bne _02050738
- bl FUN_0202DDE8
-_02050738:
- mov r0, #0x5c
- bl FUN_020315D8
- cmp r0, #0x0
- beq _02050776
- mov r0, #0x6
- str r0, [sp, #0x0]
- mov r1, #0x1
- str r1, [sp, #0x4]
- mov r0, #0x4
- str r0, [sp, #0x8]
- mov r0, #0x0
- add r2, r1, #0x0
- add r3, r0, #0x0
- bl FUN_0200E1D0
- mov r0, #0x0
- bl FUN_0200E388
- mov r0, #0x1
- bl FUN_0200E388
- bl FUN_0204CC9C
- mov r0, #0x0
- bl FUN_0204D168
- ldr r0, _0205077C ; =FUN_020507B4
- mov r1, #0x1
- bl FUN_02050094
-_02050776:
- add sp, #0xc
- pop {pc}
- nop
-_0205077C: .word FUN_020507B4
-
- thumb_func_start FUN_02050780
-FUN_02050780: ; 0x02050780
- push {r3, lr}
- ldr r0, _020507AC ; =0x021C5A6C
- ldr r1, [r0, #0x0]
- ldrh r0, [r1, #0x3c]
- cmp r0, #0x0
- beq _02050792
- sub r0, r0, #0x1
- strh r0, [r1, #0x3c]
- pop {r3, pc}
-_02050792:
- mov r0, #0x1e
- bl FUN_020315D8
- cmp r0, #0x0
- beq _020507A8
- bl FUN_02030FA8
- ldr r0, _020507B0 ; =FUN_02050930
- mov r1, #0x0
- bl FUN_02050094
-_020507A8:
- pop {r3, pc}
- nop
-_020507AC: .word 0x021C5A6C
-_020507B0: .word FUN_02050930
-
- thumb_func_start FUN_020507B4
-FUN_020507B4: ; 0x020507B4
- push {r3, lr}
- ldr r0, _020507F0 ; =0x021C5A6C
- ldr r1, [r0, #0x0]
- ldrh r0, [r1, #0x3c]
- cmp r0, #0x0
- beq _020507C6
- sub r0, r0, #0x1
- strh r0, [r1, #0x3c]
- pop {r3, pc}
-_020507C6:
- bl FUN_02031190
- cmp r0, #0x0
- bne _020507DE
- bl FUN_0204ED08
- cmp r0, #0x0
- beq _020507EC
- mov r0, #0x1e
- bl FUN_02031588
- b _020507E4
-_020507DE:
- mov r0, #0x1e
- bl FUN_02031588
-_020507E4:
- ldr r0, _020507F4 ; =FUN_02050780
- mov r1, #0x14
- bl FUN_02050094
-_020507EC:
- pop {r3, pc}
- nop
-_020507F0: .word 0x021C5A6C
-_020507F4: .word FUN_02050780
-
- thumb_func_start FUN_020507F8
-FUN_020507F8: ; 0x020507F8
- push {r3, lr}
- mov r0, #0x62
- bl FUN_020315D8
- cmp r0, #0x0
- beq _02050830
- bl FUN_0204D320
- add r1, r0, #0x0
- mov r0, #0xf
- bl FUN_02016998
- ldr r1, _0205084C ; =0x021C5A6C
- mov r2, #0x0
- ldr r1, [r1, #0x0]
- ldr r1, [r1, #0x18]
- bl FUN_0204CB20
- bl FUN_0204F80C
- mov r0, #0x5c
- bl FUN_02031588
- ldr r0, _02050850 ; =FUN_02050854
- mov r1, #0x0
- bl FUN_02050094
- pop {r3, pc}
-_02050830:
- ldr r0, _0205084C ; =0x021C5A6C
- ldr r1, [r0, #0x0]
- ldrh r0, [r1, #0x3c]
- cmp r0, #0x0
- beq _02050840
- sub r0, r0, #0x1
- strh r0, [r1, #0x3c]
- pop {r3, pc}
-_02050840:
- mov r0, #0x1e
- strh r0, [r1, #0x3c]
- mov r0, #0x62
- bl FUN_02031588
- pop {r3, pc}
- .balign 4
-_0205084C: .word 0x021C5A6C
-_02050850: .word FUN_02050854
-
- thumb_func_start FUN_02050854
-FUN_02050854: ; 0x02050854
- push {r3, lr}
- sub sp, #0x10
- bl FUN_02031190
- cmp r0, #0x0
- bne _02050864
- bl FUN_0202DDE8
-_02050864:
- mov r0, #0x5c
- bl FUN_020315D8
- cmp r0, #0x0
- beq _020508B0
- bl FUN_0204CC9C
- mov r0, #0x0
- bl FUN_0204D168
- mov r1, #0x1
- add r0, sp, #0xc
- strb r1, [r0, #0x0]
- mov r0, #0x5e
- add r1, sp, #0xc
- bl FUN_020311D0
- mov r0, #0x6
- str r0, [sp, #0x0]
- mov r1, #0x1
- str r1, [sp, #0x4]
- mov r0, #0x4
- str r0, [sp, #0x8]
- mov r0, #0x0
- add r2, r1, #0x0
- add r3, r0, #0x0
- bl FUN_0200E1D0
- mov r0, #0x0
- bl FUN_0200E388
- mov r0, #0x1
- bl FUN_0200E388
- ldr r0, _020508B4 ; =FUN_02050A14
- mov r1, #0x0
- bl FUN_02050094
-_020508B0:
- add sp, #0x10
- pop {r3, pc}
- .balign 4
-_020508B4: .word FUN_02050A14
-
- thumb_func_start FUN_020508B8
-FUN_020508B8: ; 0x020508B8
- push {r3-r7, lr}
- mov r7, #0x0
- bl FUN_02030F20
- cmp r0, #0x0
- ble _02050916
- ldr r6, _02050928 ; =0x021C5A6C
-_020508C6:
- bl FUN_02031190
- cmp r7, r0
- beq _0205090C
- add r0, r7, #0x0
- bl FUN_020315FC
- cmp r0, #0x5e
- bne _0205090C
- ldr r0, [r6, #0x0]
- ldr r0, [r0, #0x18]
- ldr r0, [r0, #0x10]
- cmp r0, #0x0
- bne _0205090C
- mov r4, #0x0
- add r5, r4, #0x0
-_020508E6:
- ldr r0, [r6, #0x0]
- ldr r0, [r0, r5]
- cmp r0, #0x0
- beq _020508F8
- bl FUN_02016A18
- ldr r1, [r6, #0x0]
- mov r0, #0x0
- str r0, [r1, r5]
-_020508F8:
- add r4, r4, #0x1
- add r5, r5, #0x4
- cmp r4, #0x4
- blt _020508E6
- ldr r0, [r6, #0x0]
- ldr r1, _0205092C ; =0x0000238E
- ldr r0, [r0, #0x18]
- mov r2, #0x0
- bl FUN_02038C78
-_0205090C:
- add r7, r7, #0x1
- bl FUN_02030F20
- cmp r7, r0
- blt _020508C6
-_02050916:
- ldr r1, _02050928 ; =0x021C5A6C
- mov r0, #0x4
- ldr r1, [r1, #0x0]
- ldr r1, [r1, #0x18]
- ldr r1, [r1, #0x8]
- bl FUN_020335F0
- pop {r3-r7, pc}
- nop
-_02050928: .word 0x021C5A6C
-_0205092C: .word 0x0000238E
-
- thumb_func_start FUN_02050930
-FUN_02050930: ; 0x02050930
- push {r3, lr}
- bl FUN_0204EB44
- cmp r0, #0x0
- bne _0205095A
- ldr r0, _02050960 ; =0x021C5A6C
- mov r1, #0x0
- ldr r0, [r0, #0x0]
- add r0, #0x43
- strb r1, [r0, #0x0]
- mov r1, #0x1
- add r0, sp, #0x0
- strb r1, [r0, #0x0]
- mov r0, #0x5e
- add r1, sp, #0x0
- bl FUN_020311D0
- ldr r0, _02050964 ; =FUN_02050A14
- mov r1, #0x0
- bl FUN_02050094
-_0205095A:
- bl FUN_020508B8
- pop {r3, pc}
- .balign 4
-_02050960: .word 0x021C5A6C
-_02050964: .word FUN_02050A14
-
- thumb_func_start FUN_02050968
-FUN_02050968: ; 0x02050968
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- beq _02050986
- mov r0, #0xb
- bl FUN_0206B8AC
- ldr r1, _020509AC ; =0x021C5A6C
- ldr r2, [r1, #0x0]
- str r0, [r2, #0x44]
- ldr r1, [r1, #0x0]
- add r0, r4, #0x0
- ldr r1, [r1, #0x44]
- bl FUN_0206BAD0
-_02050986:
- cmp r5, #0x0
- beq _02050994
- ldr r0, _020509B0 ; =FUN_02050B8C
- mov r1, #0x3
- bl FUN_02050094
- pop {r3-r5, pc}
-_02050994:
- mov r1, #0x3
- add r0, sp, #0x0
- strb r1, [r0, #0x0]
- mov r0, #0x5e
- add r1, sp, #0x0
- bl FUN_020311D0
- ldr r0, _020509B4 ; =FUN_02050930
- mov r1, #0x0
- bl FUN_02050094
- pop {r3-r5, pc}
- .balign 4
-_020509AC: .word 0x021C5A6C
-_020509B0: .word FUN_02050B8C
-_020509B4: .word FUN_02050930
-
- thumb_func_start FUN_020509B8
-FUN_020509B8: ; 0x020509B8
- ldr r3, _020509C0 ; =FUN_02050094
- ldr r0, _020509C4 ; =FUN_02050930
- mov r1, #0x0
- bx r3
- .balign 4
-_020509C0: .word FUN_02050094
-_020509C4: .word FUN_02050930
-
- thumb_func_start FUN_020509C8
-FUN_020509C8: ; 0x020509C8
- push {r3, lr}
- bl FUN_02031438
- cmp r0, #0x0
- bne _02050A06
- bl FUN_02031190
- bl FUN_0204F6B4
- cmp r0, #0x0
- bne _02050A06
- ldr r0, _02050A08 ; =0x021C5A6C
- ldr r1, [r0, #0x0]
- ldrh r0, [r1, #0x3c]
- cmp r0, #0x0
- beq _020509EE
- sub r0, r0, #0x1
- strh r0, [r1, #0x3c]
- pop {r3, pc}
-_020509EE:
- bl FUN_0204F7E4
- ldr r0, _02050A08 ; =0x021C5A6C
- ldr r1, _02050A0C ; =FUN_02050968
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x18]
- bl FUN_02051880
- ldr r0, _02050A10 ; =FUN_020509B8
- mov r1, #0x0
- bl FUN_02050094
-_02050A06:
- pop {r3, pc}
- .balign 4
-_02050A08: .word 0x021C5A6C
-_02050A0C: .word FUN_02050968
-_02050A10: .word FUN_020509B8
-
- thumb_func_start FUN_02050A14
-FUN_02050A14: ; 0x02050A14
- push {r3, lr}
- ldr r0, _02050A40 ; =0x021C5A6C
- ldr r0, [r0, #0x0]
- add r0, #0x43
- ldrb r0, [r0, #0x0]
- cmp r0, #0x0
- beq _02050A38
- ldr r0, _02050A44 ; =FUN_020509C8
- mov r1, #0x5
- bl FUN_02050094
- mov r1, #0x0
- add r0, sp, #0x0
- strb r1, [r0, #0x0]
- mov r0, #0x5e
- add r1, sp, #0x0
- bl FUN_020311D0
-_02050A38:
- bl FUN_020508B8
- pop {r3, pc}
- nop
-_02050A40: .word 0x021C5A6C
-_02050A44: .word FUN_020509C8
-
- thumb_func_start FUN_02050A48
-FUN_02050A48: ; 0x02050A48
- push {r4, lr}
- add r4, r2, #0x0
- bl FUN_02031190
- ldrb r1, [r4, #0x0]
- cmp r1, r0
- bne _02050A60
- ldr r0, _02050A64 ; =0x021C5A6C
- mov r1, #0x1
- ldr r0, [r0, #0x0]
- add r0, #0x43
- strb r1, [r0, #0x0]
-_02050A60:
- pop {r4, pc}
- nop
-_02050A64: .word 0x021C5A6C
-
- thumb_func_start FUN_02050A68
-FUN_02050A68: ; 0x02050A68
- ldr r0, _02050A88 ; =0x021C5A6C
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- beq _02050A82
- ldr r1, [r0, #0x34]
- ldr r0, _02050A8C ; =FUN_02050A14
- cmp r1, r0
- beq _02050A7E
- ldr r0, _02050A90 ; =FUN_02050930
- cmp r1, r0
- bne _02050A82
-_02050A7E:
- mov r0, #0x1
- bx lr
-_02050A82:
- mov r0, #0x0
- bx lr
- nop
-_02050A88: .word 0x021C5A6C
-_02050A8C: .word FUN_02050A14
-_02050A90: .word FUN_02050930
-
- thumb_func_start FUN_02050A94
-FUN_02050A94: ; 0x02050A94
- push {r4, lr}
- sub sp, #0x8
- ldr r0, _02050B00 ; =0x021C5A6C
- ldr r1, [r0, #0x0]
- ldrh r0, [r1, #0x3c]
- cmp r0, #0x0
- beq _02050AAA
- sub r0, r0, #0x1
- strh r0, [r1, #0x3c]
- add sp, #0x8
- pop {r4, pc}
-_02050AAA:
- mov r4, #0x5
- bl FUN_02033534
- cmp r0, #0x2
- beq _02050AC0
- cmp r0, #0x4
- beq _02050ABC
- cmp r0, #0x5
- bne _02050AC2
-_02050ABC:
- mov r4, #0xf
- b _02050AC2
-_02050AC0:
- mov r4, #0x7
-_02050AC2:
- add r0, sp, #0x0
- bl FUN_02033578
- ldr r0, _02050B00 ; =0x021C5A6C
- ldr r0, [r0, #0x0]
- ldr r1, [r0, #0x44]
- ldr r0, [r0, #0x18]
- cmp r1, #0x0
- bne _02050ADE
- add r1, sp, #0x0
- add r2, r4, #0x0
- bl FUN_0204726C
- b _02050AF6
-_02050ADE:
- add r2, r4, #0x0
- bl FUN_020472B0
- ldr r0, _02050B00 ; =0x021C5A6C
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x44]
- bl FUN_02016A18
- ldr r0, _02050B00 ; =0x021C5A6C
- mov r1, #0x0
- ldr r0, [r0, #0x0]
- str r1, [r0, #0x44]
-_02050AF6:
- bl FUN_0204FC10
- add sp, #0x8
- pop {r4, pc}
- nop
-_02050B00: .word 0x021C5A6C
-
- thumb_func_start FUN_02050B04
-FUN_02050B04: ; 0x02050B04
- push {r3, lr}
- bl FUN_0202FA48
- cmp r0, #0x0
- beq _02050B3E
- ldr r0, _02050B40 ; =0x021C5A6C
- ldr r1, [r0, #0x0]
- ldrh r0, [r1, #0x3c]
- cmp r0, #0x0
- beq _02050B1C
- sub r0, r0, #0x1
- strh r0, [r1, #0x3c]
-_02050B1C:
- ldr r0, _02050B40 ; =0x021C5A6C
- ldr r0, [r0, #0x0]
- ldrh r0, [r0, #0x3c]
- cmp r0, #0x5a
- bne _02050B2C
- mov r0, #0x4
- bl FUN_02031588
-_02050B2C:
- mov r0, #0x4
- bl FUN_020315D8
- cmp r0, #0x0
- beq _02050B3E
- ldr r0, _02050B44 ; =FUN_02050A94
- mov r1, #0x0
- bl FUN_02050094
-_02050B3E:
- pop {r3, pc}
- .balign 4
-_02050B40: .word 0x021C5A6C
-_02050B44: .word FUN_02050A94
-
- thumb_func_start FUN_02050B48
-FUN_02050B48: ; 0x02050B48
- push {r3, lr}
- ldr r0, _02050B68 ; =0x021C5A6C
- ldr r1, [r0, #0x0]
- ldrh r0, [r1, #0x3c]
- cmp r0, #0x0
- beq _02050B5A
- sub r0, r0, #0x1
- strh r0, [r1, #0x3c]
- pop {r3, pc}
-_02050B5A:
- bl FUN_0202FA10
- ldr r0, _02050B6C ; =FUN_02050B04
- mov r1, #0x78
- bl FUN_02050094
- pop {r3, pc}
- .balign 4
-_02050B68: .word 0x021C5A6C
-_02050B6C: .word FUN_02050B04
-
- thumb_func_start FUN_02050B70
-FUN_02050B70: ; 0x02050B70
- push {r3, lr}
- mov r0, #0x3
- bl FUN_020315D8
- cmp r0, #0x0
- beq _02050B84
- ldr r0, _02050B88 ; =FUN_02050B48
- mov r1, #0x2
- bl FUN_02050094
-_02050B84:
- pop {r3, pc}
- nop
-_02050B88: .word FUN_02050B48
-
- thumb_func_start FUN_02050B8C
-FUN_02050B8C: ; 0x02050B8C
- push {r3, lr}
- ldr r0, _02050BB4 ; =0x021C5A6C
- ldr r1, [r0, #0x0]
- ldrh r0, [r1, #0x3c]
- cmp r0, #0x0
- beq _02050B9E
- sub r0, r0, #0x1
- strh r0, [r1, #0x3c]
- pop {r3, pc}
-_02050B9E:
- mov r0, #0x0
- bl FUN_0204CCE0
- mov r0, #0x3
- bl FUN_02031588
- ldr r0, _02050BB8 ; =FUN_02050B70
- mov r1, #0x0
- bl FUN_02050094
- pop {r3, pc}
- .balign 4
-_02050BB4: .word 0x021C5A6C
-_02050BB8: .word FUN_02050B70
-
- thumb_func_start FUN_02050BBC
-FUN_02050BBC: ; 0x02050BBC
- push {r3, lr}
- bl FUN_020319F4
- ldr r0, _02050BCC ; =FUN_02050BD0
- mov r1, #0x2
- bl FUN_02050094
- pop {r3, pc}
- .balign 4
-_02050BCC: .word FUN_02050BD0
-
- thumb_func_start FUN_02050BD0
-FUN_02050BD0: ; 0x02050BD0
- push {r3, lr}
- bl FUN_0202EE0C
- cmp r0, #0x0
- beq _02050BE2
- ldr r0, _02050BE4 ; =FUN_020506A8
- mov r1, #0xa
- bl FUN_02050094
-_02050BE2:
- pop {r3, pc}
- .balign 4
-_02050BE4: .word FUN_020506A8
-
- thumb_func_start FUN_02050BE8
-FUN_02050BE8: ; 0x02050BE8
- ldr r1, _02050BF4 ; =0x021C5A6C
- mov r2, #0x1
- ldr r1, [r1, #0x0]
- add r0, r1, r0
- strb r2, [r0, #0x10]
- bx lr
- .balign 4
-_02050BF4: .word 0x021C5A6C
-
- thumb_func_start FUN_02050BF8
-FUN_02050BF8: ; 0x02050BF8
- push {r4, lr}
- add r4, r0, #0x0
- cmp r4, #0x4
- blt _02050C04
- bl ErrorHandling
-_02050C04:
- ldr r0, _02050C10 ; =0x021C5A6C
- ldr r1, [r0, #0x0]
- lsl r0, r4, #0x2
- ldr r0, [r1, r0]
- pop {r4, pc}
- nop
-_02050C10: .word 0x021C5A6C
-
- thumb_func_start FUN_02050C14
-FUN_02050C14: ; 0x02050C14
- push {r4, lr}
- bl FUN_02031190
- add r4, r0, #0x0
- mov r0, #0x5f
- bl FUN_020315D8
- cmp r0, #0x0
- beq _02050C3E
- ldr r1, _02050C40 ; =0x021C5A6C
- mov r0, #0x58
- ldr r2, [r1, #0x0]
- lsl r1, r4, #0x2
- ldr r1, [r2, r1]
- ldr r2, _02050C44 ; =0x0000066C
- bl FUN_02030A78
- ldr r0, _02050C48 ; =FUN_02050C4C
- mov r1, #0x0
- bl FUN_02050094
-_02050C3E:
- pop {r4, pc}
- .balign 4
-_02050C40: .word 0x021C5A6C
-_02050C44: .word 0x0000066C
-_02050C48: .word FUN_02050C4C
-
- thumb_func_start FUN_02050C4C
-FUN_02050C4C: ; 0x02050C4C
- push {r3-r5, lr}
- mov r4, #0x0
- bl FUN_02030F20
- cmp r0, #0x0
- ble _02050C6E
- ldr r5, _02050C80 ; =0x021C5A6C
-_02050C5A:
- ldr r0, [r5, #0x0]
- add r0, r0, r4
- ldrb r0, [r0, #0x10]
- cmp r0, #0x0
- beq _02050C7C
- add r4, r4, #0x1
- bl FUN_02030F20
- cmp r4, r0
- blt _02050C5A
-_02050C6E:
- mov r0, #0x61
- bl FUN_02031588
- ldr r0, _02050C84 ; =FUN_02050CF4
- mov r1, #0x0
- bl FUN_02050094
-_02050C7C:
- pop {r3-r5, pc}
- nop
-_02050C80: .word 0x021C5A6C
-_02050C84: .word FUN_02050CF4
-
- thumb_func_start FUN_02050C88
-FUN_02050C88: ; 0x02050C88
- push {r3, lr}
- bl FUN_0202FA48
- cmp r0, #0x0
- bne _02050CC2
- ldr r0, _02050CC4 ; =0x021C5A6C
- ldr r1, [r0, #0x0]
- ldrh r0, [r1, #0x3c]
- cmp r0, #0x0
- beq _02050CA0
- sub r0, r0, #0x1
- strh r0, [r1, #0x3c]
-_02050CA0:
- ldr r0, _02050CC4 ; =0x021C5A6C
- ldr r0, [r0, #0x0]
- ldrh r0, [r0, #0x3c]
- cmp r0, #0x5a
- bne _02050CB0
- mov r0, #0x5
- bl FUN_02031588
-_02050CB0:
- mov r0, #0x5
- bl FUN_020315D8
- cmp r0, #0x0
- beq _02050CC2
- ldr r0, _02050CC8 ; =FUN_02050D10
- mov r1, #0x0
- bl FUN_02050094
-_02050CC2:
- pop {r3, pc}
- .balign 4
-_02050CC4: .word 0x021C5A6C
-_02050CC8: .word FUN_02050D10
-
- thumb_func_start FUN_02050CCC
-FUN_02050CCC: ; 0x02050CCC
- push {r3, lr}
- ldr r0, _02050CEC ; =0x021C5A6C
- ldr r1, [r0, #0x0]
- ldrh r0, [r1, #0x3c]
- cmp r0, #0x0
- beq _02050CDE
- sub r0, r0, #0x1
- strh r0, [r1, #0x3c]
- pop {r3, pc}
-_02050CDE:
- bl FUN_0202FA1C
- ldr r0, _02050CF0 ; =FUN_02050C88
- mov r1, #0x78
- bl FUN_02050094
- pop {r3, pc}
- .balign 4
-_02050CEC: .word 0x021C5A6C
-_02050CF0: .word FUN_02050C88
-
- thumb_func_start FUN_02050CF4
-FUN_02050CF4: ; 0x02050CF4
- push {r3, lr}
- mov r0, #0x61
- bl FUN_020315D8
- cmp r0, #0x0
- beq _02050D08
- ldr r0, _02050D0C ; =FUN_02050CCC
- mov r1, #0x2
- bl FUN_02050094
-_02050D08:
- pop {r3, pc}
- nop
-_02050D0C: .word FUN_02050CCC
-
- thumb_func_start FUN_02050D10
-FUN_02050D10: ; 0x02050D10
- push {r3, lr}
- ldr r0, _02050D48 ; =0x021C5A6C
- ldr r1, [r0, #0x0]
- ldrh r0, [r1, #0x3c]
- cmp r0, #0x0
- beq _02050D22
- sub r0, r0, #0x1
- strh r0, [r1, #0x3c]
- pop {r3, pc}
-_02050D22:
- mov r0, #0x62
- bl FUN_02031588
- ldr r0, _02050D48 ; =0x021C5A6C
- ldr r0, [r0, #0x0]
- add r0, #0x42
- ldrb r0, [r0, #0x0]
- cmp r0, #0x0
- beq _02050D3E
- ldr r0, _02050D4C ; =FUN_020506C8
- mov r1, #0x1e
- bl FUN_02050094
- pop {r3, pc}
-_02050D3E:
- ldr r0, _02050D50 ; =FUN_020507F8
- mov r1, #0x1e
- bl FUN_02050094
- pop {r3, pc}
- .balign 4
-_02050D48: .word 0x021C5A6C
-_02050D4C: .word FUN_020506C8
-_02050D50: .word FUN_020507F8
-
- thumb_func_start FUN_02050D54
-FUN_02050D54: ; 0x02050D54
- push {r3, lr}
- ldr r0, _02050D84 ; =0x021C5A6C
- ldr r1, [r0, #0x0]
- ldrh r0, [r1, #0x3c]
- cmp r0, #0x0
- beq _02050D66
- sub r0, r0, #0x1
- strh r0, [r1, #0x3c]
- pop {r3, pc}
-_02050D66:
- bl FUN_0223E1A4
- bl FUN_02031860
- mov r0, #0x21
- bl FUN_020168D0
- ldr r0, _02050D84 ; =0x021C5A6C
- mov r1, #0x0
- ldr r0, [r0, #0x0]
- add r0, #0x41
- strb r1, [r0, #0x0]
- bl FUN_0204FC10
- pop {r3, pc}
- .balign 4
-_02050D84: .word 0x021C5A6C
-
- thumb_func_start FUN_02050D88
-FUN_02050D88: ; 0x02050D88
- push {r3, lr}
- mov r0, #0x5b
- bl FUN_020315D8
- cmp r0, #0x0
- beq _02050DAA
- mov r0, #0x0
- add r1, r0, #0x0
- bl FUN_020334E8
- mov r0, #0x1
- bl FUN_0204CCE0
- ldr r0, _02050DAC ; =FUN_02050DC8
- mov r1, #0x5
- bl FUN_02050094
-_02050DAA:
- pop {r3, pc}
- .balign 4
-_02050DAC: .word FUN_02050DC8
-
- thumb_func_start FUN_02050DB0
-FUN_02050DB0: ; 0x02050DB0
- push {r3, lr}
- mov r0, #0x1
- bl FUN_0204CCE0
- ldr r0, _02050DC4 ; =FUN_02050DC8
- mov r1, #0x5
- bl FUN_02050094
- pop {r3, pc}
- nop
-_02050DC4: .word FUN_02050DC8
-
- thumb_func_start FUN_02050DC8
-FUN_02050DC8: ; 0x02050DC8
- push {r3, lr}
- ldr r0, _02050DE8 ; =0x021C5A6C
- ldr r1, [r0, #0x0]
- ldrh r0, [r1, #0x3c]
- cmp r0, #0x0
- beq _02050DDA
- sub r0, r0, #0x1
- strh r0, [r1, #0x3c]
- pop {r3, pc}
-_02050DDA:
- bl FUN_02031A08
- ldr r0, _02050DEC ; =FUN_0204FC10
- mov r1, #0x0
- bl FUN_02050094
- pop {r3, pc}
- .balign 4
-_02050DE8: .word 0x021C5A6C
-_02050DEC: .word FUN_0204FC10
-
- thumb_func_start FUN_02050DF0
-FUN_02050DF0: ; 0x02050DF0
- push {r3, lr}
- ldr r1, _02050E0C ; =0x021C5A6C
- ldr r1, [r1, #0x0]
- cmp r1, #0x0
- beq _02050E02
- add r1, #0x41
- ldrb r1, [r1, #0x0]
- cmp r1, #0x0
- bne _02050E06
-_02050E02:
- mov r0, #0x0
- pop {r3, pc}
-_02050E06:
- bl FUN_0223E2AC
- pop {r3, pc}
- .balign 4
-_02050E0C: .word 0x021C5A6C
-
- thumb_func_start FUN_02050E10
-FUN_02050E10: ; 0x02050E10
- push {r3, lr}
- ldr r0, _02050E28 ; =0x021C5A6C
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- beq _02050E26
- add r0, #0x41
- ldrb r0, [r0, #0x0]
- cmp r0, #0x0
- beq _02050E26
- bl FUN_0223E118
-_02050E26:
- pop {r3, pc}
- .balign 4
-_02050E28: .word 0x021C5A6C
-
- thumb_func_start FUN_02050E2C
-FUN_02050E2C: ; 0x02050E2C
- push {r3, lr}
- ldr r0, _02050E44 ; =0x021C5A6C
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- beq _02050E42
- add r0, #0x41
- ldrb r0, [r0, #0x0]
- cmp r0, #0x0
- beq _02050E42
- bl FUN_0223E154
-_02050E42:
- pop {r3, pc}
- .balign 4
-_02050E44: .word 0x021C5A6C
-
- thumb_func_start FUN_02050E48
-FUN_02050E48: ; 0x02050E48
- push {r3-r7, lr}
- sub sp, #0x8
- add r7, r0, #0x0
- add r5, r1, #0x0
- ldr r0, [sp, #0x24]
- mov r1, #0x30
- str r2, [sp, #0x0]
- str r3, [sp, #0x4]
- ldr r6, [r5, #0xc]
- bl FUN_020169D8
- mov r1, #0x0
- mov r2, #0x30
- add r4, r0, #0x0
- blx MI_CpuFill8
- ldr r0, [r5, #0xc]
- bl FUN_020238F4
- add r1, r0, #0x0
- add r0, r4, #0x0
- bl FUN_0207C2A4
- add r0, r6, #0x0
- bl FUN_0206BB28
- str r0, [r4, #0x1c]
- add r0, r6, #0x0
- bl FUN_02079C70
- str r0, [r4, #0x2c]
- add r0, r6, #0x0
- bl LoadPlayerDataAddress
- str r0, [r4, #0x4]
- ldr r0, [sp, #0x0]
- str r0, [r4, #0x0]
- mov r0, #0x1
- strb r0, [r4, #0x11]
- ldr r0, [sp, #0x4]
- strb r0, [r4, #0x14]
- ldr r0, [r4, #0x0]
- bl FUN_0206B9AC
- strb r0, [r4, #0x13]
- mov r0, #0x0
- strh r0, [r4, #0x18]
- ldr r0, [sp, #0x20]
- strb r0, [r4, #0x12]
- add r0, r6, #0x0
- bl FUN_0202A918
- str r0, [r4, #0x20]
- ldr r1, _02050ECC ; =0x020F5880
- add r0, r4, #0x0
- bl FUN_0207B000
- ldr r1, _02050ED0 ; =0x020FA6E8
- add r0, r5, #0x0
- add r2, r4, #0x0
- bl FUN_020373D4
- str r4, [r7, #0x0]
- add sp, #0x8
- pop {r3-r7, pc}
- nop
-_02050ECC: .word 0x020F5880
-_02050ED0: .word 0x020FA6E8
-
- thumb_func_start FUN_02050ED4
-FUN_02050ED4: ; 0x02050ED4
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, r1, #0x0
- mov r1, #0x40
- bl FUN_02016998
- mov r1, #0x0
- mov r2, #0x40
- add r4, r0, #0x0
- blx MI_CpuFill8
- ldr r0, [r5, #0x24]
- ldr r0, [r0, #0xc]
- bl LoadPlayerDataAddress
- str r0, [r4, #0xc]
- ldr r0, [r5, #0x24]
- add r0, #0xac
- ldr r0, [r0, #0x0]
- str r0, [r4, #0x14]
- ldr r0, [r5, #0x24]
- ldr r0, [r0, #0xc]
- bl FUN_0206BB1C
- str r0, [r4, #0x0]
- ldr r0, [r5, #0x24]
- ldr r0, [r0, #0xc]
- bl FUN_0206F158
- str r0, [r4, #0x4]
- add r0, r4, #0x0
- mov r1, #0x0
- add r0, #0x21
- strb r1, [r0, #0x0]
- add r0, r4, #0x0
- mov r1, #0x2
- add r0, #0x20
- strb r1, [r0, #0x0]
- ldr r0, [r5, #0x24]
- add r0, #0xac
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- beq _02050F64
- mov r1, #0x1
- bl FUN_02023B0C
- add r1, r4, #0x0
- add r1, #0x32
- ldrb r1, [r1, #0x0]
- mov r2, #0xf
- lsl r0, r0, #0x18
- bic r1, r2
- lsr r2, r0, #0x18
- mov r0, #0xf
- and r0, r2
- orr r1, r0
- add r0, r4, #0x0
- add r0, #0x32
- strb r1, [r0, #0x0]
- add r0, r4, #0x0
- add r0, #0x32
- ldrb r0, [r0, #0x0]
- mov r1, #0xf0
- bic r0, r1
- add r1, r4, #0x0
- add r1, #0x32
- ldrb r1, [r1, #0x0]
- lsl r1, r1, #0x1c
- lsr r1, r1, #0x1c
- lsl r1, r1, #0x1c
- lsr r1, r1, #0x18
- b _02050F84
-_02050F64:
- add r0, r4, #0x0
- add r0, #0x32
- ldrb r1, [r0, #0x0]
- mov r0, #0xf
- bic r1, r0
- mov r0, #0x3
- orr r1, r0
- add r0, r4, #0x0
- add r0, #0x32
- strb r1, [r0, #0x0]
- add r0, r4, #0x0
- add r0, #0x32
- ldrb r1, [r0, #0x0]
- mov r0, #0xf0
- bic r1, r0
- mov r0, #0x30
-_02050F84:
- orr r1, r0
- add r0, r4, #0x0
- add r0, #0x32
- strb r1, [r0, #0x0]
- add r0, r4, #0x0
- mov r1, #0x64
- add r0, #0x33
- strb r1, [r0, #0x0]
- add r0, r5, #0x0
- add r0, #0x3c
- ldrb r1, [r0, #0x0]
- add r0, r4, #0x0
- add r0, #0x22
- strb r1, [r0, #0x0]
- mov r2, #0x0
-_02050FA2:
- add r0, r5, r2
- add r0, #0x3d
- ldrb r1, [r0, #0x0]
- add r0, r4, r2
- add r0, #0x2c
- add r2, r2, #0x1
- strb r1, [r0, #0x0]
- cmp r2, #0x6
- blt _02050FA2
- ldr r0, [r5, #0x24]
- ldr r1, _02050FC4 ; =0x020F96DC
- add r2, r4, #0x0
- bl FUN_020373D4
- str r4, [r5, #0x4]
- pop {r3-r5, pc}
- nop
-_02050FC4: .word 0x020F96DC
-
- thumb_func_start FUN_02050FC8
-FUN_02050FC8: ; 0x02050FC8
- push {r4, lr}
- add r4, r0, #0x0
- add r0, r1, #0x0
- bl FUN_0204647C
- cmp r0, #0x0
- beq _02050FDA
- mov r0, #0x0
- pop {r4, pc}
-_02050FDA:
- ldr r0, [r4, #0x4]
- add r1, r4, #0x0
- add r0, #0x2c
- add r1, #0x3d
- mov r2, #0x6
- blx MI_CpuCopy8
- ldr r0, [r4, #0x4]
- add r0, #0x22
- ldrb r0, [r0, #0x0]
- cmp r0, #0x6
- beq _02050FFC
- cmp r0, #0x7
- bne _02051002
- mov r0, #0x0
- str r0, [r4, #0x38]
- b _02051006
-_02050FFC:
- mov r0, #0x1
- str r0, [r4, #0x38]
- b _02051006
-_02051002:
- mov r0, #0x2
- str r0, [r4, #0x38]
-_02051006:
- ldr r0, [r4, #0x4]
- add r0, #0x22
- ldrb r1, [r0, #0x0]
- add r0, r4, #0x0
- add r0, #0x3c
- strb r1, [r0, #0x0]
- ldr r0, [r4, #0x4]
- bl FUN_02016A18
- mov r0, #0x0
- str r0, [r4, #0x4]
- mov r0, #0x1
- pop {r4, pc}
-
- thumb_func_start FUN_02051020
-FUN_02051020: ; 0x02051020
- push {r4, lr}
- add r4, r0, #0x0
- add r0, r1, #0x0
- bl FUN_0204647C
- cmp r0, #0x0
- beq _02051032
- mov r0, #0x0
- pop {r4, pc}
-_02051032:
- ldr r0, [r4, #0x0]
- ldrb r1, [r0, #0x14]
- add r0, r4, #0x0
- add r0, #0x3c
- strb r1, [r0, #0x0]
- ldr r0, [r4, #0x0]
- bl FUN_02016A18
- mov r0, #0x0
- str r0, [r4, #0x0]
- mov r0, #0x1
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0205104C
-FUN_0205104C: ; 0x0205104C
- push {r3, lr}
- ldr r0, [r0, #0x24]
- bl FUN_020464A4
- cmp r0, #0x0
- beq _02051066
- mov r0, #0x1
- bl FUN_021D7CA4
- bl FUN_0204CC9C
- mov r0, #0x1
- pop {r3, pc}
-_02051066:
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0205106C
-FUN_0205106C: ; 0x0205106C
- push {r3-r5, lr}
- bl FUN_02030F20
- add r5, r0, #0x0
- mov r4, #0x0
- cmp r5, #0x0
- ble _0205108E
-_0205107A:
- add r0, r4, #0x0
- bl FUN_020315FC
- cmp r0, #0x5e
- bne _02051088
- mov r0, #0x1
- pop {r3-r5, pc}
-_02051088:
- add r4, r4, #0x1
- cmp r4, r5
- blt _0205107A
-_0205108E:
- mov r0, #0x0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02051094
-FUN_02051094: ; 0x02051094
- push {r3-r5, lr}
- sub sp, #0x8
- add r5, r0, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- add r0, r5, #0x0
- bl FUN_02046528
- ldr r1, [r4, #0x34]
- cmp r1, #0x2c
- bls _020510AE
- b _020517B8
-_020510AE:
- add r1, r1, r1
- add r1, pc
- ldrh r1, [r1, #0x6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_020510BA: ; jump table (using 16-bit offset)
- .short _02051114 - _020510BA - 2; case 0
- .short _02051136 - _020510BA - 2; case 1
- .short _02051150 - _020510BA - 2; case 2
- .short _0205116A - _020510BA - 2; case 3
- .short _020511A6 - _020510BA - 2; case 4
- .short _020511F6 - _020510BA - 2; case 5
- .short _020517B8 - _020510BA - 2; case 6
- .short _020511E4 - _020510BA - 2; case 7
- .short _0205120C - _020510BA - 2; case 8
- .short _02051232 - _020510BA - 2; case 9
- .short _0205123E - _020510BA - 2; case 10
- .short _0205126A - _020510BA - 2; case 11
- .short _02051288 - _020510BA - 2; case 12
- .short _0205129C - _020510BA - 2; case 13
- .short _020512A8 - _020510BA - 2; case 14
- .short _020512CA - _020510BA - 2; case 15
- .short _020512E0 - _020510BA - 2; case 16
- .short _0205130E - _020510BA - 2; case 17
- .short _02051334 - _020510BA - 2; case 18
- .short _02051346 - _020510BA - 2; case 19
- .short _0205138A - _020510BA - 2; case 20
- .short _0205136A - _020510BA - 2; case 21
- .short _020513A6 - _020510BA - 2; case 22
- .short _020513B6 - _020510BA - 2; case 23
- .short _020513D4 - _020510BA - 2; case 24
- .short _020513F2 - _020510BA - 2; case 25
- .short _02051406 - _020510BA - 2; case 26
- .short _02051472 - _020510BA - 2; case 27
- .short _020514A8 - _020510BA - 2; case 28
- .short _020514BE - _020510BA - 2; case 29
- .short _02051508 - _020510BA - 2; case 30
- .short _02051540 - _020510BA - 2; case 31
- .short _02051566 - _020510BA - 2; case 32
- .short _02051686 - _020510BA - 2; case 33
- .short _020516B6 - _020510BA - 2; case 34
- .short _020516CE - _020510BA - 2; case 35
- .short _020515BA - _020510BA - 2; case 36
- .short _020515F8 - _020510BA - 2; case 37
- .short _02051614 - _020510BA - 2; case 38
- .short _020516DE - _020510BA - 2; case 39
- .short _020517B8 - _020510BA - 2; case 40
- .short _02051702 - _020510BA - 2; case 41
- .short _02051744 - _020510BA - 2; case 42
- .short _02051766 - _020510BA - 2; case 43
- .short _02051798 - _020510BA - 2; case 44
-_02051114:
- add r0, r4, #0x0
- add r0, #0x43
- ldrb r0, [r0, #0x0]
- sub r1, r0, #0x1
- add r0, r4, #0x0
- add r0, #0x43
- strb r1, [r0, #0x0]
- add r0, r4, #0x0
- add r0, #0x43
- ldrb r0, [r0, #0x0]
- cmp r0, #0x0
- bne _020511DC
- mov r0, #0x1
- str r0, [r4, #0x34]
- bl FUN_0204ECC0
- b _020517B8
-_02051136:
- ldr r0, [r4, #0x2c]
- ldr r2, [r4, #0xc]
- mov r1, #0x1
- bl FUN_0200A8E0
- ldr r1, [r4, #0xc]
- add r0, r4, #0x0
- bl FUN_020517C0
- str r0, [r4, #0x30]
- mov r0, #0x2
- str r0, [r4, #0x34]
- b _020517B8
-_02051150:
- ldr r0, [r4, #0x30]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- bl FUN_020546C8
- cmp r0, #0x0
- beq _020511DC
- mov r0, #0x5d
- bl FUN_02031588
- mov r0, #0x3
- str r0, [r4, #0x34]
- b _020517B8
-_0205116A:
- mov r0, #0x5d
- bl FUN_020315D8
- cmp r0, #0x0
- beq _0205118A
- mov r0, #0x7
- str r0, [r4, #0x34]
- ldr r0, [r4, #0x24]
- ldr r0, [r0, #0x34]
- bl FUN_02058768
- ldr r1, [r4, #0x50]
- ldr r2, [r4, #0x8]
- mov r0, #0x1
- blx r2
- b _020517B8
-_0205118A:
- ldr r0, _020514A4 ; =0x021C48B8
- ldr r1, [r0, #0x48]
- mov r0, #0x2
- tst r0, r1
- beq _020511DC
- mov r0, #0x4
- str r0, [r4, #0x34]
- mov r0, #0x5c
- bl FUN_02031588
- mov r0, #0x5
- add r4, #0x43
- strb r0, [r4, #0x0]
- b _020517B8
-_020511A6:
- mov r0, #0x5d
- bl FUN_020315D8
- cmp r0, #0x0
- beq _020511C4
- mov r0, #0x7
- str r0, [r4, #0x34]
- ldr r0, [r4, #0x24]
- ldr r0, [r0, #0x34]
- bl FUN_02058768
- ldr r1, [r4, #0x50]
- ldr r2, [r4, #0x8]
- mov r0, #0x1
- blx r2
-_020511C4:
- add r0, r4, #0x0
- add r0, #0x43
- ldrb r0, [r0, #0x0]
- sub r1, r0, #0x1
- add r0, r4, #0x0
- add r0, #0x43
- strb r1, [r0, #0x0]
- add r0, r4, #0x0
- add r0, #0x43
- ldrb r0, [r0, #0x0]
- cmp r0, #0x0
- beq _020511DE
-_020511DC:
- b _020517B8
-_020511DE:
- mov r0, #0x8
- str r0, [r4, #0x34]
- b _020517B8
-_020511E4:
- add r0, r4, #0x0
- bl FUN_02051998
- add r0, r4, #0x0
- bl FUN_02016A18
- add sp, #0x8
- mov r0, #0x1
- pop {r3-r5, pc}
-_020511F6:
- add r0, r4, #0x0
- bl FUN_02051998
- add r0, r4, #0x0
- bl FUN_02016A18
- bl FUN_0204F7FC
- add sp, #0x8
- mov r0, #0x1
- pop {r3-r5, pc}
-_0205120C:
- mov r0, #0x5d
- bl FUN_020315D8
- cmp r0, #0x0
- beq _02051224
- mov r0, #0x5
- str r0, [r4, #0x34]
- ldr r1, [r4, #0x50]
- ldr r2, [r4, #0x8]
- mov r0, #0x1
- blx r2
- b _020517B8
-_02051224:
- ldr r1, [r4, #0x50]
- ldr r2, [r4, #0x8]
- mov r0, #0x0
- blx r2
- mov r0, #0x5
- str r0, [r4, #0x34]
- b _020517B8
-_02051232:
- mov r0, #0xa
- str r0, [r4, #0x34]
- mov r0, #0x5
- add r4, #0x44
- strb r0, [r4, #0x0]
- b _020517B8
-_0205123E:
- add r1, r4, #0x0
- add r1, #0x44
- ldrb r1, [r1, #0x0]
- cmp r1, #0x0
- beq _02051256
- add r0, r4, #0x0
- add r0, #0x44
- ldrb r0, [r0, #0x0]
- add r4, #0x44
- sub r0, r0, #0x1
- strb r0, [r4, #0x0]
- b _020517B8
-_02051256:
- ldr r0, [r0, #0x38]
- bl FUN_020553A0
- bl FUN_0205AE28
- cmp r0, #0x0
- beq _020512FA
- mov r0, #0xb
- str r0, [r4, #0x34]
- b _020517B8
-_0205126A:
- bl FUN_0204ECC0
- ldr r0, [r4, #0x2c]
- ldr r2, [r4, #0xc]
- mov r1, #0xd
- bl FUN_0200A8E0
- ldr r1, [r4, #0xc]
- add r0, r4, #0x0
- bl FUN_020517C0
- str r0, [r4, #0x30]
- mov r0, #0xc
- str r0, [r4, #0x34]
- b _020517B8
-_02051288:
- ldr r0, [r4, #0x30]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- bl FUN_020546C8
- cmp r0, #0x0
- beq _020512FA
- mov r0, #0xd
- str r0, [r4, #0x34]
- b _020517B8
-_0205129C:
- mov r0, #0x0
- bl FUN_021D7CA4
- mov r0, #0xe
- str r0, [r4, #0x34]
- b _020517B8
-_020512A8:
- add r0, r4, #0x0
- add r0, #0x43
- ldrb r0, [r0, #0x0]
- sub r1, r0, #0x1
- add r0, r4, #0x0
- add r0, #0x43
- strb r1, [r0, #0x0]
- add r0, r4, #0x0
- add r0, #0x43
- ldrb r0, [r0, #0x0]
- cmp r0, #0x0
- bne _020512FA
- bl FUN_0204ECC0
- mov r0, #0xf
- str r0, [r4, #0x34]
- b _020517B8
-_020512CA:
- add r0, r4, #0x0
- mov r1, #0x0
- bl FUN_02051810
- add r0, r4, #0x0
- mov r1, #0xb
- bl FUN_02050ED4
- mov r0, #0x10
- str r0, [r4, #0x34]
- b _020517B8
-_020512E0:
- ldr r1, [r4, #0x24]
- add r0, r4, #0x0
- bl FUN_02050FC8
- cmp r0, #0x0
- beq _020512FA
- ldr r0, [r4, #0x38]
- cmp r0, #0x0
- beq _020512FC
- cmp r0, #0x1
- beq _02051302
- cmp r0, #0x2
- beq _02051308
-_020512FA:
- b _020517B8
-_020512FC:
- mov r0, #0x14
- str r0, [r4, #0x34]
- b _020517B8
-_02051302:
- mov r0, #0x13
- str r0, [r4, #0x34]
- b _020517B8
-_02051308:
- mov r0, #0x11
- str r0, [r4, #0x34]
- b _020517B8
-_0205130E:
- ldr r0, [r4, #0x24]
- ldr r0, [r0, #0xc]
- bl FUN_0206BB1C
- add r2, r0, #0x0
- mov r0, #0x0
- str r0, [sp, #0x0]
- mov r0, #0xb
- str r0, [sp, #0x4]
- add r3, r4, #0x0
- add r3, #0x3c
- ldrb r3, [r3, #0x0]
- ldr r1, [r4, #0x24]
- add r0, r4, #0x0
- bl FUN_02050E48
- mov r0, #0x12
- str r0, [r4, #0x34]
- b _020517B8
-_02051334:
- ldr r1, [r4, #0x24]
- add r0, r4, #0x0
- bl FUN_02051020
- cmp r0, #0x0
- beq _02051410
- mov r0, #0xf
- str r0, [r4, #0x34]
- b _020517B8
-_02051346:
- ldr r0, [r4, #0x24]
- bl FUN_0204649C
- add r0, r4, #0x0
- add r0, #0x88
- ldrb r0, [r0, #0x0]
- cmp r0, #0x3
- beq _02051364
- add r0, r4, #0x0
- mov r1, #0x5
- add r0, #0x43
- strb r1, [r0, #0x0]
- mov r0, #0x15
- str r0, [r4, #0x34]
- b _020517B8
-_02051364:
- mov r0, #0x1a
- str r0, [r4, #0x34]
- b _020517B8
-_0205136A:
- add r0, r4, #0x0
- add r0, #0x3d
- bl FUN_02033564
- add r0, r4, #0x0
- bl FUN_0205104C
- cmp r0, #0x0
- beq _02051410
- add r0, r4, #0x0
- mov r1, #0x5
- add r0, #0x43
- strb r1, [r0, #0x0]
- mov r0, #0x0
- str r0, [r4, #0x34]
- b _020517B8
-_0205138A:
- ldr r0, [r4, #0x24]
- bl FUN_0204649C
- add r0, r4, #0x0
- add r0, #0x88
- ldrb r0, [r0, #0x0]
- cmp r0, #0x3
- beq _020513A0
- mov r0, #0x16
- str r0, [r4, #0x34]
- b _020517B8
-_020513A0:
- mov r0, #0x1a
- str r0, [r4, #0x34]
- b _020517B8
-_020513A6:
- add r0, r4, #0x0
- bl FUN_0205104C
- cmp r0, #0x0
- beq _02051410
- mov r0, #0x8
- str r0, [r4, #0x34]
- b _020517B8
-_020513B6:
- add r0, r4, #0x0
- add r0, #0x44
- ldrb r0, [r0, #0x0]
- sub r1, r0, #0x1
- add r0, r4, #0x0
- add r0, #0x44
- strb r1, [r0, #0x0]
- add r0, r4, #0x0
- add r0, #0x44
- ldrb r0, [r0, #0x0]
- cmp r0, #0x0
- bne _02051410
- mov r0, #0x18
- str r0, [r4, #0x34]
- b _020517B8
-_020513D4:
- bl FUN_0204ECC0
- ldr r0, [r4, #0x2c]
- ldr r2, [r4, #0xc]
- mov r1, #0x13
- bl FUN_0200A8E0
- ldr r1, [r4, #0xc]
- add r0, r4, #0x0
- bl FUN_020517C0
- str r0, [r4, #0x30]
- mov r0, #0x19
- str r0, [r4, #0x34]
- b _020517B8
-_020513F2:
- ldr r0, [r4, #0x30]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- bl FUN_020546C8
- cmp r0, #0x0
- beq _02051410
- mov r0, #0xd
- str r0, [r4, #0x34]
- b _020517B8
-_02051406:
- add r0, r4, #0x0
- bl FUN_0205104C
- cmp r0, #0x0
- bne _02051412
-_02051410:
- b _020517B8
-_02051412:
- bl FUN_0205106C
- cmp r0, #0x0
- beq _02051420
- mov r0, #0x5
- str r0, [r4, #0x34]
- b _020517B8
-_02051420:
- ldr r0, [r4, #0x38]
- cmp r0, #0x0
- beq _0205142A
- mov r1, #0x1
- b _0205142C
-_0205142A:
- mov r1, #0x0
-_0205142C:
- add r0, r4, #0x0
- add r0, #0x82
- strb r1, [r0, #0x0]
- add r1, r4, #0x0
- add r1, #0x82
- ldrb r1, [r1, #0x0]
- add r0, r4, #0x0
- bl FUN_020519F0
- mov r0, #0x0
- bl FUN_02031588
- ldr r0, [r4, #0x28]
- ldr r2, [r4, #0x74]
- mov r1, #0x0
- bl FUN_0200ABC0
- ldr r0, [r4, #0x2c]
- ldr r2, [r4, #0xc]
- mov r1, #0xe
- bl FUN_0200A8E0
- ldr r0, [r4, #0x28]
- ldr r1, [r4, #0x10]
- ldr r2, [r4, #0xc]
- bl FUN_0200B7B8
- ldr r1, [r4, #0x10]
- add r0, r4, #0x0
- bl FUN_020517C0
- str r0, [r4, #0x30]
- mov r0, #0x1b
- str r0, [r4, #0x34]
- b _020517B8
-_02051472:
- ldr r0, [r4, #0x30]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- bl FUN_020546C8
- cmp r0, #0x0
- beq _02051574
- bl FUN_0205106C
- cmp r0, #0x0
- beq _0205148E
- mov r0, #0x5
- str r0, [r4, #0x34]
- b _020517B8
-_0205148E:
- mov r0, #0x0
- bl FUN_020315D8
- cmp r0, #0x0
- beq _02051574
- add r0, r4, #0x0
- bl FUN_02051A38
- mov r0, #0x1c
- str r0, [r4, #0x34]
- b _020517B8
- .balign 4
-_020514A4: .word 0x021C48B8
-_020514A8:
- add r0, r4, #0x0
- bl FUN_02051A80
- cmp r0, #0x0
- beq _02051574
- mov r0, #0x1
- bl FUN_02031588
- mov r0, #0x1d
- str r0, [r4, #0x34]
- b _020517B8
-_020514BE:
- mov r0, #0x1
- bl FUN_020315D8
- cmp r0, #0x0
- beq _02051574
- add r0, r4, #0x0
- bl FUN_02051A90
- add r1, r4, #0x0
- add r1, #0x83
- strb r0, [r1, #0x0]
- add r0, r4, #0x0
- add r0, #0x82
- ldrb r0, [r0, #0x0]
- cmp r0, #0x0
- beq _02051502
- add r0, r4, #0x0
- add r0, #0x83
- ldrb r0, [r0, #0x0]
- cmp r0, #0x0
- beq _02051502
- ldr r0, [r4, #0x2c]
- ldr r2, [r4, #0xc]
- mov r1, #0x14
- bl FUN_0200A8E0
- ldr r1, [r4, #0xc]
- add r0, r4, #0x0
- bl FUN_020517C0
- str r0, [r4, #0x30]
- mov r0, #0x1e
- str r0, [r4, #0x34]
- b _020517B8
-_02051502:
- mov r0, #0x2a
- str r0, [r4, #0x34]
- b _020517B8
-_02051508:
- ldr r0, [r4, #0x30]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- bl FUN_020546C8
- cmp r0, #0x0
- beq _02051574
- add r0, r4, #0x0
- mov r1, #0x0
- add r0, #0x89
- strb r1, [r0, #0x0]
- ldr r0, [r4, #0x2c]
- ldr r2, [r4, #0xc]
- mov r1, #0x11
- bl FUN_0200A8E0
- ldr r1, [r4, #0xc]
- add r0, r4, #0x0
- bl FUN_020517C0
- str r0, [r4, #0x30]
- add r0, r4, #0x0
- mov r1, #0x0
- add r0, #0x84
- strb r1, [r0, #0x0]
- mov r0, #0x1f
- str r0, [r4, #0x34]
- b _020517B8
-_02051540:
- ldr r0, [r4, #0x30]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- bl FUN_020546C8
- cmp r0, #0x0
- beq _02051574
- add r0, r4, #0x0
- bl FUN_02051AF0
- add r1, r4, #0x0
- add r1, #0x84
- ldrb r1, [r1, #0x0]
- add r0, r4, #0x0
- bl FUN_02051B68
- mov r0, #0x20
- str r0, [r4, #0x34]
- b _020517B8
-_02051566:
- add r0, r4, #0x0
- bl FUN_02051D54
- cmp r0, #0x1
- beq _02051576
- cmp r0, #0x2
- beq _0205158C
-_02051574:
- b _020517B8
-_02051576:
- add r0, r4, #0x0
- bl FUN_02051E24
- mov r0, #0x81
- ldrsb r1, [r4, r0]
- add r0, r4, #0x0
- add r0, #0x84
- strb r1, [r0, #0x0]
- mov r0, #0x24
- str r0, [r4, #0x34]
- b _020517B8
-_0205158C:
- add r0, r4, #0x0
- bl FUN_02051E24
- add r0, r4, #0x0
- mov r1, #0xff
- add r0, #0x84
- strb r1, [r0, #0x0]
- ldr r0, [r4, #0x2c]
- ldr r2, [r4, #0xc]
- mov r1, #0xf
- bl FUN_0200A8E0
- ldr r1, [r4, #0xc]
- add r0, r4, #0x0
- bl FUN_020517C0
- str r0, [r4, #0x30]
- mov r0, #0x2
- bl FUN_02031588
- mov r0, #0x27
- str r0, [r4, #0x34]
- b _020517B8
-_020515BA:
- add r1, r4, #0x0
- add r1, #0x84
- ldrb r1, [r1, #0x0]
- ldr r0, [r4, #0x50]
- bl FUN_0206B9B0
- bl FUN_020690E4
- add r2, r0, #0x0
- ldr r0, [r4, #0x28]
- mov r1, #0x1
- bl FUN_0200AC60
- ldr r0, [r4, #0x2c]
- ldr r2, [r4, #0xc]
- mov r1, #0x12
- bl FUN_0200A8E0
- ldr r0, [r4, #0x28]
- ldr r1, [r4, #0x10]
- ldr r2, [r4, #0xc]
- bl FUN_0200B7B8
- ldr r1, [r4, #0x10]
- add r0, r4, #0x0
- bl FUN_020517C0
- str r0, [r4, #0x30]
- mov r0, #0x25
- str r0, [r4, #0x34]
- b _020517B8
-_020515F8:
- ldr r0, [r4, #0x30]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- bl FUN_020546C8
- cmp r0, #0x0
- beq _0205168E
- add r0, r4, #0x0
- mov r1, #0x0
- bl FUN_02051C88
- mov r0, #0x26
- str r0, [r4, #0x34]
- b _020517B8
-_02051614:
- add r0, r4, #0x0
- bl FUN_02051D54
- cmp r0, #0x1
- beq _02051642
- cmp r0, #0x2
- bne _0205168E
- add r0, r4, #0x0
- bl FUN_02051E24
- ldr r0, [r4, #0x2c]
- ldr r2, [r4, #0xc]
- mov r1, #0x11
- bl FUN_0200A8E0
- ldr r1, [r4, #0xc]
- add r0, r4, #0x0
- bl FUN_020517C0
- str r0, [r4, #0x30]
- mov r0, #0x1f
- str r0, [r4, #0x34]
- b _020517B8
-_02051642:
- mov r0, #0x81
- ldrsb r0, [r4, r0]
- cmp r0, #0x1
- bne _0205167A
- add r0, r4, #0x0
- bl FUN_02051E24
- ldr r0, [r4, #0x2c]
- ldr r2, [r4, #0xc]
- mov r1, #0xe
- bl FUN_0200A8E0
- ldr r0, [r4, #0x28]
- ldr r1, [r4, #0x10]
- ldr r2, [r4, #0xc]
- bl FUN_0200B7B8
- ldr r1, [r4, #0x10]
- add r0, r4, #0x0
- bl FUN_020517C0
- str r0, [r4, #0x30]
- mov r0, #0x2
- bl FUN_02031588
- mov r0, #0x27
- str r0, [r4, #0x34]
- b _020517B8
-_0205167A:
- mov r0, #0x0
- bl FUN_021D7CA4
- mov r0, #0x21
- str r0, [r4, #0x34]
- b _020517B8
-_02051686:
- bl FUN_0200E308
- cmp r0, #0x0
- bne _02051690
-_0205168E:
- b _020517B8
-_02051690:
- add r0, r4, #0x0
- mov r1, #0x0
- bl FUN_02051810
- mov r0, #0x1
- str r0, [sp, #0x0]
- mov r0, #0xb
- str r0, [sp, #0x4]
- add r3, r4, #0x0
- add r3, #0x84
- ldrb r3, [r3, #0x0]
- ldr r1, [r4, #0x24]
- ldr r2, [r4, #0x50]
- add r0, r4, #0x0
- bl FUN_02050E48
- mov r0, #0x22
- str r0, [r4, #0x34]
- b _020517B8
-_020516B6:
- ldr r1, [r4, #0x24]
- add r0, r4, #0x0
- bl FUN_02051020
- cmp r0, #0x0
- beq _020517B8
- ldr r0, [r4, #0x24]
- bl FUN_0204649C
- mov r0, #0x23
- str r0, [r4, #0x34]
- b _020517B8
-_020516CE:
- add r0, r4, #0x0
- bl FUN_0205104C
- cmp r0, #0x0
- beq _020517B8
- mov r0, #0x24
- str r0, [r4, #0x34]
- b _020517B8
-_020516DE:
- ldr r0, [r4, #0x30]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- bl FUN_020546C8
- cmp r0, #0x0
- beq _020517B8
- mov r0, #0x2
- bl FUN_020315D8
- cmp r0, #0x0
- beq _020517B8
- add r0, r4, #0x0
- bl FUN_02051AA4
- mov r0, #0x29
- str r0, [r4, #0x34]
- b _020517B8
-_02051702:
- add r0, r4, #0x0
- bl FUN_02051AE0
- cmp r0, #0x0
- beq _020517B8
- add r0, r4, #0x0
- add r0, #0x84
- ldrb r0, [r0, #0x0]
- cmp r0, #0xff
- bne _02051722
- mov r0, #0x4
- bl FUN_02031588
- mov r0, #0x2c
- str r0, [r4, #0x34]
- b _020517B8
-_02051722:
- add r0, r4, #0x0
- add r0, #0x85
- ldrb r0, [r0, #0x0]
- cmp r0, #0xff
- bne _02051732
- mov r0, #0x2a
- str r0, [r4, #0x34]
- b _020517B8
-_02051732:
- add r0, r4, #0x0
- bl FUN_02051B1C
- mov r0, #0x5d
- bl FUN_02031588
- mov r0, #0x2
- str r0, [r4, #0x34]
- b _020517B8
-_02051744:
- ldr r0, [r4, #0x2c]
- ldr r2, [r4, #0xc]
- mov r1, #0xf
- bl FUN_0200A8E0
- ldr r1, [r4, #0xc]
- add r0, r4, #0x0
- bl FUN_020517C0
- str r0, [r4, #0x30]
- add r0, r4, #0x0
- mov r1, #0x0
- add r0, #0x43
- strb r1, [r0, #0x0]
- mov r0, #0x2b
- str r0, [r4, #0x34]
- b _020517B8
-_02051766:
- ldr r0, [r4, #0x30]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- bl FUN_020546C8
- cmp r0, #0x0
- beq _020517B8
- add r0, r4, #0x0
- add r0, #0x43
- ldrb r0, [r0, #0x0]
- add r1, r0, #0x1
- add r0, r4, #0x0
- add r0, #0x43
- strb r1, [r0, #0x0]
- add r0, r4, #0x0
- add r0, #0x43
- ldrb r0, [r0, #0x0]
- cmp r0, #0x3c
- bls _020517B8
- mov r0, #0x4
- bl FUN_02031588
- mov r0, #0x2c
- str r0, [r4, #0x34]
- b _020517B8
-_02051798:
- mov r0, #0x4
- bl FUN_020315D8
- cmp r0, #0x0
- beq _020517B8
- add r0, r4, #0x0
- add r0, #0x14
- mov r1, #0x0
- bl FUN_0200D0E0
- mov r0, #0x0
- ldr r2, [r4, #0x8]
- add r1, r0, #0x0
- blx r2
- mov r0, #0x5
- str r0, [r4, #0x34]
-_020517B8:
- mov r0, #0x0
- add sp, #0x8
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_020517C0
-FUN_020517C0: ; 0x020517C0
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r4, r5, #0x0
- add r4, #0x14
- add r0, r4, #0x0
- add r6, r1, #0x0
- bl FUN_02019048
- cmp r0, #0x0
- bne _020517F2
- ldr r0, [r5, #0x24]
- add r1, r4, #0x0
- ldr r0, [r0, #0x8]
- mov r2, #0x3
- bl FUN_020545B8
- ldr r0, [r5, #0x24]
- ldr r0, [r0, #0xc]
- bl LoadPlayerDataAddress
- add r1, r0, #0x0
- add r0, r4, #0x0
- bl FUN_02054608
- b _020517F8
-_020517F2:
- add r0, r4, #0x0
- bl FUN_0205464C
-_020517F8:
- ldr r0, [r5, #0x24]
- ldr r0, [r0, #0xc]
- bl LoadPlayerDataAddress
- add r2, r0, #0x0
- add r0, r4, #0x0
- add r1, r6, #0x0
- mov r3, #0x1
- bl FUN_02054658
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02051810
-FUN_02051810: ; 0x02051810
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, #0x14
- add r4, r1, #0x0
- bl FUN_02019048
- cmp r0, #0x0
- beq _02051846
- cmp r4, #0x0
- beq _02051836
- add r0, r5, #0x0
- add r0, #0x14
- mov r1, #0x0
- bl FUN_0200D0E0
- add r0, r5, #0x0
- add r0, #0x14
- bl FUN_02019570
-_02051836:
- add r0, r5, #0x0
- add r0, #0x14
- bl FUN_02019178
- add r0, r5, #0x0
- add r0, #0x14
- bl FUN_0201901C
-_02051846:
- add r0, r5, #0x0
- add r0, #0x54
- bl FUN_02019048
- cmp r0, #0x0
- beq _02051862
- add r0, r5, #0x0
- add r0, #0x54
- bl FUN_02019178
- add r0, r5, #0x0
- add r0, #0x54
- bl FUN_0201901C
-_02051862:
- add r0, r5, #0x0
- add r0, #0x64
- bl FUN_02019048
- cmp r0, #0x0
- beq _0205187E
- add r0, r5, #0x0
- add r0, #0x64
- bl FUN_02019178
- add r5, #0x64
- add r0, r5, #0x0
- bl FUN_0201901C
-_0205187E:
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02051880
-FUN_02051880: ; 0x02051880
- push {r4-r6, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0x10]
- add r6, r1, #0x0
- cmp r0, #0x0
- beq _0205188E
- b _02051992
-_0205188E:
- mov r0, #0xb
- mov r1, #0x8c
- bl FUN_020169D8
- add r4, r0, #0x0
- mov r1, #0x0
- mov r2, #0x8c
- blx MI_CpuFill8
- add r0, r4, #0x0
- mov r1, #0x5
- add r0, #0x43
- strb r1, [r0, #0x0]
- str r5, [r4, #0x24]
- str r6, [r4, #0x8]
- mov r0, #0xb
- bl FUN_0200AA80
- str r0, [r4, #0x28]
- mov r0, #0x0
- mov r1, #0x1a
- mov r2, #0x9
- mov r3, #0xb
- bl FUN_0200A86C
- str r0, [r4, #0x2c]
- mov r0, #0xc8
- mov r1, #0xb
- bl FUN_020219F4
- str r0, [r4, #0xc]
- mov r0, #0xc8
- mov r1, #0xb
- bl FUN_020219F4
- str r0, [r4, #0x10]
- add r0, r4, #0x0
- add r0, #0x14
- bl FUN_0201901C
- add r0, r4, #0x0
- add r0, #0x54
- bl FUN_0201901C
- add r0, r4, #0x0
- add r0, #0x64
- bl FUN_0201901C
- mov r0, #0xb
- bl FUN_02013690
- str r0, [r4, #0x78]
- bl FUN_02033534
- add r1, r4, #0x0
- add r1, #0x88
- strb r0, [r1, #0x0]
- mov r1, #0x0
- str r1, [r4, #0x4c]
- str r1, [r4, #0x48]
- add r0, r4, #0x0
- str r1, [r4, #0x50]
- add r0, #0x89
- strb r1, [r0, #0x0]
- bl FUN_02031190
- add r1, r4, #0x0
- add r1, #0x86
- strh r0, [r1, #0x0]
- add r0, r4, #0x0
- add r0, #0x86
- ldrh r1, [r0, #0x0]
- mov r0, #0x1
- eor r0, r1
- bl FUN_0202DFA4
- str r0, [r4, #0x74]
- add r0, r4, #0x0
- add r0, #0x88
- ldrb r0, [r0, #0x0]
- cmp r0, #0x3
- beq _02051938
- cmp r0, #0x4
- beq _0205196E
- b _02051974
-_02051938:
- bl FUN_02051E54
- add r6, r0, #0x0
- mov r0, #0xb
- add r1, r6, #0x0
- bl FUN_020169D8
- str r0, [r4, #0x4c]
- mov r0, #0xb
- add r1, r6, #0x0
- bl FUN_020169D8
- str r0, [r4, #0x48]
- mov r0, #0xb
- bl FUN_0206B8AC
- mov r1, #0x3
- str r0, [r4, #0x50]
- bl FUN_0206B8CC
- add r0, r4, #0x0
- mov r1, #0x5
- add r0, #0x44
- strb r1, [r0, #0x0]
- mov r0, #0x17
- str r0, [r4, #0x34]
- b _02051988
-_0205196E:
- mov r0, #0x9
- str r0, [r4, #0x34]
- b _02051988
-_02051974:
- ldr r0, [r4, #0x24]
- add r0, #0xac
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- beq _02051984
- mov r0, #0x9
- str r0, [r4, #0x34]
- b _02051988
-_02051984:
- mov r0, #0x0
- str r0, [r4, #0x34]
-_02051988:
- ldr r1, _02051994 ; =FUN_02051094
- add r0, r5, #0x0
- add r2, r4, #0x0
- bl FUN_020463CC
-_02051992:
- pop {r4-r6, pc}
- .balign 4
-_02051994: .word FUN_02051094
-
- thumb_func_start FUN_02051998
-FUN_02051998: ; 0x02051998
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x50]
- cmp r0, #0x0
- beq _020519A6
- bl FUN_02016A18
-_020519A6:
- ldr r0, [r4, #0x4c]
- cmp r0, #0x0
- beq _020519B0
- bl FUN_02016A18
-_020519B0:
- ldr r0, [r4, #0x48]
- cmp r0, #0x0
- beq _020519BA
- bl FUN_02016A18
-_020519BA:
- ldr r0, [r4, #0x2c]
- bl FUN_0200A8B8
- ldr r0, [r4, #0x28]
- bl FUN_0200AB18
- ldr r0, [r4, #0xc]
- bl FUN_02021A20
- ldr r0, [r4, #0x10]
- bl FUN_02021A20
- ldr r0, [r4, #0x78]
- bl FUN_020136C0
- add r0, r4, #0x0
- mov r1, #0x1
- bl FUN_02051810
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_020519E4
-FUN_020519E4: ; 0x020519E4
- ldr r3, _020519EC ; =FUN_0204652C
- ldr r0, [r0, #0x10]
- bx r3
- nop
-_020519EC: .word FUN_0204652C
-
- thumb_func_start FUN_020519F0
-FUN_020519F0: ; 0x020519F0
- push {r3-r7, lr}
- add r7, r0, #0x0
- ldr r0, [r7, #0x24]
- add r5, r1, #0x0
- ldr r0, [r0, #0xc]
- bl FUN_0206BB1C
- str r0, [sp, #0x0]
- ldr r4, [r7, #0x4c]
- bl FUN_020690C4
- add r6, r0, #0x0
- lsl r0, r6, #0x1
- add r0, r6, r0
- str r5, [r4, r0]
- ldr r0, [r4, r0]
- cmp r0, #0x0
- beq _02051A34
- mov r5, #0x0
-_02051A16:
- add r1, r7, r5
- add r1, #0x3d
- ldrb r1, [r1, #0x0]
- ldr r0, [sp, #0x0]
- sub r1, r1, #0x1
- bl FUN_0206B9B0
- add r1, r4, #0x0
- add r2, r6, #0x0
- blx MI_CpuCopy8
- add r5, r5, #0x1
- add r4, r4, r6
- cmp r5, #0x3
- blt _02051A16
-_02051A34:
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02051A38
-FUN_02051A38: ; 0x02051A38
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, #0x89
- ldrb r1, [r0, #0x0]
- mov r0, #0x1
- tst r1, r0
- bne _02051A7C
- ldr r4, [r5, #0x4c]
- bl FUN_02051E54
- add r2, r0, #0x0
- add r0, r5, #0x0
- add r0, #0x86
- ldrh r0, [r0, #0x0]
- cmp r0, #0x0
- bne _02051A62
- mov r0, #0x6a
- add r1, r4, #0x0
- bl FUN_02030B3C
- b _02051A6A
-_02051A62:
- mov r0, #0x6a
- add r1, r4, #0x0
- bl FUN_02030A78
-_02051A6A:
- cmp r0, #0x0
- beq _02051A7C
- add r1, r5, #0x0
- add r1, #0x89
- ldrb r2, [r1, #0x0]
- mov r1, #0x1
- add r5, #0x89
- orr r1, r2
- strb r1, [r5, #0x0]
-_02051A7C:
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02051A80
-FUN_02051A80: ; 0x02051A80
- add r0, #0x89
- ldrb r0, [r0, #0x0]
- cmp r0, #0x3
- bne _02051A8C
- mov r0, #0x1
- bx lr
-_02051A8C:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_02051A90
-FUN_02051A90: ; 0x02051A90
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_020690C4
- lsl r1, r0, #0x1
- ldr r2, [r4, #0x48]
- add r0, r0, r1
- ldr r0, [r2, r0]
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02051AA4
-FUN_02051AA4: ; 0x02051AA4
- push {r4, lr}
- add r4, r0, #0x0
- add r0, #0x86
- ldrh r0, [r0, #0x0]
- cmp r0, #0x0
- bne _02051ABE
- add r1, r4, #0x0
- mov r0, #0x6b
- add r1, #0x84
- mov r2, #0x1
- bl FUN_02030BC4
- b _02051ACA
-_02051ABE:
- add r1, r4, #0x0
- mov r0, #0x6b
- add r1, #0x84
- mov r2, #0x1
- bl FUN_02030ADC
-_02051ACA:
- cmp r0, #0x0
- beq _02051ADC
- add r1, r4, #0x0
- add r1, #0x89
- ldrb r2, [r1, #0x0]
- mov r1, #0x1
- add r4, #0x89
- orr r1, r2
- strb r1, [r4, #0x0]
-_02051ADC:
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02051AE0
-FUN_02051AE0: ; 0x02051AE0
- add r0, #0x89
- ldrb r0, [r0, #0x0]
- cmp r0, #0x3
- bne _02051AEC
- mov r0, #0x1
- bx lr
-_02051AEC:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_02051AF0
-FUN_02051AF0: ; 0x02051AF0
- push {r4-r6, lr}
- add r5, r0, #0x0
- bl FUN_020690C4
- add r6, r0, #0x0
- ldr r0, [r5, #0x50]
- mov r1, #0x3
- bl FUN_0206B8CC
- mov r4, #0x0
-_02051B04:
- add r1, r4, #0x0
- ldr r2, [r5, #0x48]
- mul r1, r6
- ldr r0, [r5, #0x50]
- add r1, r2, r1
- bl FUN_0206B900
- add r4, r4, #0x1
- cmp r4, #0x3
- blt _02051B04
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02051B1C
-FUN_02051B1C: ; 0x02051B1C
- push {r4-r6, lr}
- add r6, r0, #0x0
- bl FUN_020690C4
- add r4, r0, #0x0
- add r0, r6, #0x0
- add r0, #0x84
- ldrb r0, [r0, #0x0]
- ldr r2, [r6, #0x48]
- ldr r3, [r6, #0x4c]
- add r1, r0, #0x0
- mul r1, r4
- add r0, r2, r1
- add r1, r6, #0x0
- add r1, #0x85
- ldrb r1, [r1, #0x0]
- add r2, r1, #0x0
- mul r2, r4
- add r1, r3, r2
- add r2, r4, #0x0
- blx MI_CpuCopy8
- ldr r0, [r6, #0x50]
- mov r1, #0x3
- bl FUN_0206B8CC
- mov r5, #0x0
-_02051B52:
- add r1, r5, #0x0
- ldr r2, [r6, #0x4c]
- mul r1, r4
- ldr r0, [r6, #0x50]
- add r1, r2, r1
- bl FUN_0206B900
- add r5, r5, #0x1
- cmp r5, #0x3
- blt _02051B52
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02051B68
-FUN_02051B68: ; 0x02051B68
- push {r4-r7, lr}
- sub sp, #0x24
- add r5, r0, #0x0
- str r0, [sp, #0x20]
- add r0, #0x54
- str r1, [sp, #0x14]
- str r0, [sp, #0x20]
- bl FUN_02019048
- cmp r0, #0x0
- bne _02051C34
- ldr r2, _02051C84 ; =0x0000016A
- mov r0, #0x1
- mov r1, #0x1a
- mov r3, #0x4
- bl FUN_0200A86C
- str r0, [sp, #0x18]
- bl FUN_020690C4
- str r0, [sp, #0x1c]
- mov r0, #0x9
- str r0, [sp, #0x0]
- mov r1, #0xa
- str r1, [sp, #0x4]
- mov r0, #0x8
- str r0, [sp, #0x8]
- mov r0, #0xd
- str r0, [sp, #0xc]
- str r1, [sp, #0x10]
- ldr r0, [r5, #0x24]
- ldr r1, [sp, #0x20]
- ldr r0, [r0, #0x8]
- mov r2, #0x3
- mov r3, #0x15
- bl FUN_02019064
- mov r0, #0x0
- str r0, [sp, #0x0]
- mov r0, #0x4
- str r0, [sp, #0x4]
- ldr r0, [r5, #0x24]
- mov r1, #0x3
- ldr r0, [r0, #0x8]
- mov r2, #0x1
- mov r3, #0xb
- bl FUN_0200CB00
- ldr r0, [sp, #0x20]
- mov r1, #0xf
- bl FUN_02019620
- mov r7, #0x0
- add r6, r7, #0x0
- add r4, r7, #0x0
-_02051BD6:
- ldr r0, [r5, #0x48]
- mov r1, #0x5
- add r0, r0, r6
- mov r2, #0x0
- bl FUN_020671BC
- add r1, r0, #0x0
- ldr r0, [sp, #0x18]
- ldr r2, [r5, #0xc]
- bl FUN_0200A8E0
- str r4, [sp, #0x0]
- mov r0, #0xff
- str r0, [sp, #0x4]
- mov r0, #0x0
- str r0, [sp, #0x8]
- ldr r0, [sp, #0x20]
- ldr r2, [r5, #0xc]
- mov r1, #0x0
- mov r3, #0x10
- bl FUN_0201BD84
- ldr r0, [sp, #0x1c]
- add r7, r7, #0x1
- add r6, r6, r0
- add r4, #0x10
- cmp r7, #0x3
- blt _02051BD6
- ldr r0, [r5, #0x2c]
- ldr r2, [r5, #0xc]
- mov r1, #0x15
- bl FUN_0200A8E0
- lsl r0, r7, #0x4
- str r0, [sp, #0x0]
- mov r0, #0xff
- str r0, [sp, #0x4]
- mov r1, #0x0
- str r1, [sp, #0x8]
- ldr r0, [sp, #0x20]
- ldr r2, [r5, #0xc]
- mov r3, #0x10
- bl FUN_0201BD84
- ldr r0, [sp, #0x18]
- bl FUN_0200A8B8
-_02051C34:
- mov r0, #0x10
- str r0, [sp, #0x0]
- ldr r0, [sp, #0x20]
- mov r2, #0x0
- ldrb r0, [r0, #0x8]
- mov r1, #0xf
- add r3, r2, #0x0
- lsl r0, r0, #0x13
- lsr r0, r0, #0x10
- str r0, [sp, #0x4]
- ldr r0, [sp, #0x20]
- bl FUN_020196F4
- ldr r3, [sp, #0x14]
- add r1, r5, #0x0
- ldr r0, [r5, #0x78]
- add r1, #0x54
- mov r2, #0x0
- lsl r3, r3, #0x4
- bl FUN_020136F8
- add r0, r5, #0x0
- add r0, #0x54
- mov r1, #0x0
- mov r2, #0x1
- mov r3, #0xb
- bl FUN_0200CCA4
- add r1, r5, #0x0
- ldr r0, [sp, #0x14]
- add r1, #0x81
- strb r0, [r1, #0x0]
- add r0, r5, #0x0
- mov r1, #0x4
- add r0, #0x80
- strb r1, [r0, #0x0]
- ldr r0, [sp, #0x20]
- str r0, [r5, #0x7c]
- add sp, #0x24
- pop {r4-r7, pc}
- .balign 4
-_02051C84: .word 0x0000016A
-
- thumb_func_start FUN_02051C88
-FUN_02051C88: ; 0x02051C88
- push {r3-r7, lr}
- sub sp, #0x18
- add r5, r0, #0x0
- add r7, r5, #0x0
- add r7, #0x64
- add r0, r7, #0x0
- str r1, [sp, #0x14]
- bl FUN_02019048
- cmp r0, #0x0
- bne _02051D0A
- mov r0, #0xb
- str r0, [sp, #0x0]
- str r0, [sp, #0x4]
- mov r0, #0x6
- str r0, [sp, #0x8]
- mov r0, #0xd
- str r0, [sp, #0xc]
- mov r0, #0x5a
- str r0, [sp, #0x10]
- ldr r0, [r5, #0x24]
- add r1, r7, #0x0
- ldr r0, [r0, #0x8]
- mov r2, #0x3
- mov r3, #0x14
- bl FUN_02019064
- mov r0, #0x0
- str r0, [sp, #0x0]
- mov r0, #0x4
- str r0, [sp, #0x4]
- ldr r0, [r5, #0x24]
- mov r1, #0x3
- ldr r0, [r0, #0x8]
- mov r2, #0x1
- mov r3, #0xb
- bl FUN_0200CB00
- add r0, r7, #0x0
- mov r1, #0xf
- bl FUN_02019620
- mov r6, #0x0
- add r4, r6, #0x0
-_02051CE0:
- add r1, r6, #0x0
- ldr r0, [r5, #0x2c]
- ldr r2, [r5, #0xc]
- add r1, #0x16
- bl FUN_0200A8E0
- str r4, [sp, #0x0]
- mov r0, #0xff
- str r0, [sp, #0x4]
- mov r0, #0x0
- str r0, [sp, #0x8]
- ldr r2, [r5, #0xc]
- add r0, r7, #0x0
- mov r1, #0x0
- mov r3, #0x10
- bl FUN_0201BD84
- add r6, r6, #0x1
- add r4, #0x10
- cmp r6, #0x3
- blt _02051CE0
-_02051D0A:
- add r0, r5, #0x0
- mov r1, #0x3
- add r0, #0x80
- strb r1, [r0, #0x0]
- add r1, r5, #0x0
- ldr r0, [sp, #0x14]
- str r7, [r5, #0x7c]
- add r1, #0x81
- strb r0, [r1, #0x0]
- mov r0, #0x10
- str r0, [sp, #0x0]
- ldrb r0, [r7, #0x8]
- mov r2, #0x0
- mov r1, #0xf
- lsl r0, r0, #0x13
- lsr r0, r0, #0x10
- str r0, [sp, #0x4]
- add r0, r7, #0x0
- add r3, r2, #0x0
- bl FUN_020196F4
- ldr r3, [sp, #0x14]
- ldr r0, [r5, #0x78]
- ldr r1, [r5, #0x7c]
- mov r2, #0x0
- lsl r3, r3, #0x4
- bl FUN_020136F8
- ldr r0, [r5, #0x7c]
- mov r1, #0x0
- mov r2, #0x1
- mov r3, #0xb
- bl FUN_0200CCA4
- add sp, #0x18
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02051D54
-FUN_02051D54: ; 0x02051D54
- push {r4, lr}
- sub sp, #0x8
- add r4, r0, #0x0
- ldr r0, _02051E1C ; =0x021C48B8
- mov r1, #0x40
- ldr r0, [r0, #0x48]
- tst r1, r0
- beq _02051D7E
- mov r0, #0x81
- ldrsb r0, [r4, r0]
- cmp r0, #0x0
- bne _02051D74
- add r0, r4, #0x0
- add r0, #0x80
- ldrb r0, [r0, #0x0]
- b _02051D74
-_02051D74:
- sub r1, r0, #0x1
- add r0, r4, #0x0
- add r0, #0x81
- strb r1, [r0, #0x0]
- b _02051DE0
-_02051D7E:
- mov r1, #0x80
- tst r1, r0
- beq _02051DA2
- mov r0, #0x81
- ldrsb r1, [r4, r0]
- add r0, r4, #0x0
- add r0, #0x80
- ldrb r0, [r0, #0x0]
- sub r0, r0, #0x1
- cmp r1, r0
- bne _02051D98
- mov r1, #0x0
- b _02051D9A
-_02051D98:
- add r1, r1, #0x1
-_02051D9A:
- add r0, r4, #0x0
- add r0, #0x81
- strb r1, [r0, #0x0]
- b _02051DE0
-_02051DA2:
- mov r1, #0x1
- tst r1, r0
- beq _02051DC8
- ldr r0, _02051E20 ; =0x000005DC
- bl FUN_020054C8
- mov r0, #0x81
- ldrsb r1, [r4, r0]
- add r4, #0x80
- ldrb r0, [r4, #0x0]
- sub r0, r0, #0x1
- cmp r1, r0
- bge _02051DC2
- add sp, #0x8
- mov r0, #0x1
- pop {r4, pc}
-_02051DC2:
- add sp, #0x8
- mov r0, #0x2
- pop {r4, pc}
-_02051DC8:
- mov r1, #0x2
- tst r0, r1
- beq _02051DDA
- ldr r0, _02051E20 ; =0x000005DC
- bl FUN_020054C8
- add sp, #0x8
- mov r0, #0x2
- pop {r4, pc}
-_02051DDA:
- add sp, #0x8
- mov r0, #0x0
- pop {r4, pc}
-_02051DE0:
- ldr r0, _02051E20 ; =0x000005DC
- bl FUN_020054C8
- ldr r0, [r4, #0x7c]
- mov r1, #0x10
- str r1, [sp, #0x0]
- ldrb r1, [r0, #0x8]
- mov r2, #0x0
- add r3, r2, #0x0
- lsl r1, r1, #0x13
- lsr r1, r1, #0x10
- str r1, [sp, #0x4]
- mov r1, #0xf
- bl FUN_020196F4
- mov r3, #0x81
- ldrsb r3, [r4, r3]
- ldr r0, [r4, #0x78]
- ldr r1, [r4, #0x7c]
- mov r2, #0x0
- lsl r3, r3, #0x4
- bl FUN_020136F8
- ldr r0, [r4, #0x7c]
- bl FUN_02019548
- mov r0, #0x0
- add sp, #0x8
- pop {r4, pc}
- nop
-_02051E1C: .word 0x021C48B8
-_02051E20: .word 0x000005DC
-
- thumb_func_start FUN_02051E24
-FUN_02051E24: ; 0x02051E24
- ldr r3, _02051E2C ; =FUN_0200CCF8
- ldr r0, [r0, #0x7c]
- mov r1, #0x1
- bx r3
- .balign 4
-_02051E2C: .word FUN_0200CCF8
-
- thumb_func_start FUN_02051E30
-FUN_02051E30: ; 0x02051E30
- push {r4, lr}
- add r4, r0, #0x0
- add r0, r3, #0x0
- bl FUN_020519E4
- add r1, r0, #0x0
- add r1, #0x86
- ldrh r1, [r1, #0x0]
- cmp r1, r4
- beq _02051E52
- add r1, r0, #0x0
- add r1, #0x89
- ldrb r2, [r1, #0x0]
- mov r1, #0x2
- add r0, #0x89
- orr r1, r2
- strb r1, [r0, #0x0]
-_02051E52:
- pop {r4, pc}
-
- thumb_func_start FUN_02051E54
-FUN_02051E54: ; 0x02051E54
- push {r3, lr}
- bl FUN_020690C4
- lsl r1, r0, #0x1
- add r0, r0, r1
- add r0, r0, #0x4
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_02051E64
-FUN_02051E64: ; 0x02051E64
- push {r4, lr}
- add r4, r0, #0x0
- add r0, r1, #0x0
- bl FUN_020519E4
- add r1, r0, #0x0
- add r1, #0x86
- ldrh r1, [r1, #0x0]
- cmp r1, r4
- beq _02051E7C
- ldr r0, [r0, #0x48]
- pop {r4, pc}
-_02051E7C:
- mov r0, #0x0
- pop {r4, pc}
-
- thumb_func_start FUN_02051E80
-FUN_02051E80: ; 0x02051E80
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r0, r3, #0x0
- add r4, r2, #0x0
- bl FUN_020519E4
- add r1, r0, #0x0
- add r1, #0x86
- ldrh r1, [r1, #0x0]
- cmp r1, r5
- beq _02051EAC
- ldrb r2, [r4, #0x0]
- add r1, r0, #0x0
- add r1, #0x85
- strb r2, [r1, #0x0]
- add r1, r0, #0x0
- add r1, #0x89
- ldrb r2, [r1, #0x0]
- mov r1, #0x2
- add r0, #0x89
- orr r1, r2
- strb r1, [r0, #0x0]
-_02051EAC:
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02051EB0
-FUN_02051EB0: ; 0x02051EB0
- push {r4-r6, lr}
- add r4, r0, #0x0
- bl FUN_02046528
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- mov r1, #0x0
- ldr r0, [r4, #0x24]
- add r2, r1, #0x0
- bl FUN_02050BF8
- add r6, r0, #0x0
- ldr r0, [r4, #0x28]
- cmp r0, #0x7
- bls _02051ED6
- b _02052036
-_02051ED6:
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_02051EE2: ; jump table (using 16-bit offset)
- .short _02051EF2 - _02051EE2 - 2; case 0
- .short _02051F7C - _02051EE2 - 2; case 1
- .short _02051FCC - _02051EE2 - 2; case 2
- .short _02051FDC - _02051EE2 - 2; case 3
- .short _02051FEC - _02051EE2 - 2; case 4
- .short _02051FFE - _02051EE2 - 2; case 5
- .short _0205200C - _02051EE2 - 2; case 6
- .short _02052028 - _02051EE2 - 2; case 7
-_02051EF2:
- mov r0, #0x4
- bl FUN_0200AA80
- str r0, [r4, #0x18]
- mov r0, #0x0
- mov r1, #0x1a
- mov r2, #0x9
- mov r3, #0x4
- bl FUN_0200A86C
- str r0, [r4, #0x1c]
- mov r0, #0xc8
- mov r1, #0x4
- bl FUN_020219F4
- str r0, [r4, #0x0]
- mov r0, #0xc8
- mov r1, #0x4
- bl FUN_020219F4
- str r0, [r4, #0x4]
- ldrb r1, [r6, #0x3]
- ldr r0, [r4, #0x1c]
- ldr r2, [r4, #0x0]
- add r1, r1, #0x2
- bl FUN_0200A8E0
- ldr r0, [r4, #0x24]
- bl FUN_0202DFA4
- add r2, r0, #0x0
- ldr r0, [r4, #0x18]
- mov r1, #0x0
- bl FUN_0200ABC0
- ldr r0, [r4, #0x18]
- ldr r1, [r4, #0x4]
- ldr r2, [r4, #0x0]
- bl FUN_0200B7B8
- add r1, r4, #0x0
- ldr r0, [r5, #0x8]
- add r1, #0x8
- mov r2, #0x3
- bl FUN_020545B8
- ldr r0, [r5, #0xc]
- bl LoadPlayerDataAddress
- add r1, r0, #0x0
- add r0, r4, #0x0
- add r0, #0x8
- bl FUN_02054608
- ldr r0, [r5, #0xc]
- bl LoadPlayerDataAddress
- add r2, r0, #0x0
- add r0, r4, #0x0
- ldr r1, [r4, #0x4]
- add r0, #0x8
- mov r3, #0x1
- bl FUN_02054658
- str r0, [r4, #0x20]
- ldr r0, [r4, #0x28]
- add r0, r0, #0x1
- str r0, [r4, #0x28]
- b _0205203A
-_02051F7C:
- ldr r0, [r4, #0x20]
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- bl FUN_020546C8
- cmp r0, #0x0
- beq _0205203A
- ldr r0, _02052040 ; =0x021C48B8
- ldr r1, [r0, #0x48]
- mov r0, #0x1
- tst r0, r1
- beq _0205203A
- ldr r0, [r4, #0x1c]
- bl FUN_0200A8B8
- ldr r0, [r4, #0x18]
- bl FUN_0200AB18
- ldr r0, [r4, #0x0]
- bl FUN_02021A20
- ldr r0, [r4, #0x4]
- bl FUN_02021A20
- add r0, r4, #0x0
- add r0, #0x8
- mov r1, #0x0
- bl FUN_0200D0E0
- add r0, r4, #0x0
- add r0, #0x8
- bl FUN_02019178
- mov r0, #0x0
- bl FUN_021D7CA4
- ldr r0, [r4, #0x28]
- add r0, r0, #0x1
- str r0, [r4, #0x28]
- b _0205203A
-_02051FCC:
- bl FUN_0200E308
- cmp r0, #0x0
- beq _0205203A
- ldr r0, [r4, #0x28]
- add r0, r0, #0x1
- str r0, [r4, #0x28]
- b _0205203A
-_02051FDC:
- add r0, r5, #0x0
- add r1, r6, #0x0
- bl FUN_02038680
- ldr r0, [r4, #0x28]
- add r0, r0, #0x1
- str r0, [r4, #0x28]
- b _0205203A
-_02051FEC:
- add r0, r5, #0x0
- bl FUN_0204647C
- cmp r0, #0x0
- bne _0205203A
- ldr r0, [r4, #0x28]
- add r0, r0, #0x1
- str r0, [r4, #0x28]
- b _0205203A
-_02051FFE:
- add r0, r5, #0x0
- bl FUN_0204649C
- ldr r0, [r4, #0x28]
- add r0, r0, #0x1
- str r0, [r4, #0x28]
- b _0205203A
-_0205200C:
- add r0, r5, #0x0
- bl FUN_020464A4
- cmp r0, #0x0
- bne _0205203A
- mov r0, #0x1
- bl FUN_021D7CA4
- bl FUN_0204CC9C
- ldr r0, [r4, #0x28]
- add r0, r0, #0x1
- str r0, [r4, #0x28]
- b _0205203A
-_02052028:
- bl FUN_0204F7FC
- add r0, r4, #0x0
- bl FUN_02016A18
- mov r0, #0x1
- pop {r4-r6, pc}
-_02052036:
- mov r0, #0x1
- pop {r4-r6, pc}
-_0205203A:
- mov r0, #0x0
- pop {r4-r6, pc}
- nop
-_02052040: .word 0x021C48B8
-
- thumb_func_start FUN_02052044
-FUN_02052044: ; 0x02052044
- push {r3-r7, lr}
- str r0, [sp, #0x0]
- bl FUN_02031190
- add r5, r0, #0x0
- bl FUN_0204E4D4
- add r7, r0, #0x0
- add r0, r5, #0x0
- bl FUN_0204E50C
- add r6, r0, #0x0
- mov r4, #0x0
- bl FUN_02030F20
- cmp r0, #0x0
- ble _020520A6
-_02052066:
- cmp r4, r5
- beq _0205209C
- add r0, r4, #0x0
- bl FUN_0204E3EC
- cmp r7, r0
- bne _0205209C
- add r0, r4, #0x0
- bl FUN_0204E440
- cmp r6, r0
- bne _0205209C
- mov r0, #0xb
- mov r1, #0x2c
- bl FUN_020169D8
- add r2, r0, #0x0
- str r4, [r2, #0x24]
- mov r0, #0x0
- str r0, [r2, #0x28]
- ldr r0, [sp, #0x0]
- ldr r1, _020520A8 ; =FUN_02051EB0
- bl FUN_020463CC
- bl FUN_02037760
- pop {r3-r7, pc}
-_0205209C:
- add r4, r4, #0x1
- bl FUN_02030F20
- cmp r4, r0
- blt _02052066
-_020520A6:
- pop {r3-r7, pc}
- .balign 4
-_020520A8: .word FUN_02051EB0
-
- thumb_func_start FUN_020520AC
-FUN_020520AC: ; 0x020520AC
- push {r3-r5, lr}
- add r4, r0, #0x0
- bne _020520B6
- bl ErrorHandling
-_020520B6:
- ldr r0, [r4, #0x78]
- cmp r0, #0x0
- beq _020520C0
- mov r0, #0x0
- pop {r3-r5, pc}
-_020520C0:
- mov r2, #0x2a
- mov r0, #0x3
- mov r1, #0x1f
- lsl r2, r2, #0x6
- bl FUN_02016828
- add r0, r4, #0x0
- bl FUN_02052110
- add r5, r0, #0x0
- bne _020520D8
- ldr r5, [r4, #0x78]
-_020520D8:
- add r0, r4, #0x0
- bl FUN_0208881C
- mov r0, #0x2
- bl FUN_02032B6C
- ldr r1, _020520F4 ; =FUN_02052178
- add r0, r5, #0x0
- mov r2, #0x28
- bl FUN_02052300
- add r0, r5, #0x0
- pop {r3-r5, pc}
- nop
-_020520F4: .word FUN_02052178
-
- thumb_func_start FUN_020520F8
-FUN_020520F8: ; 0x020520F8
- push {r3, lr}
- ldr r0, [r0, #0x78]
- cmp r0, #0x0
- beq _02052108
- ldr r1, _0205210C ; =FUN_02052348
- mov r2, #0x5
- bl FUN_02052300
-_02052108:
- pop {r3, pc}
- nop
-_0205210C: .word FUN_02052348
-
- thumb_func_start FUN_02052110
-FUN_02052110: ; 0x02052110
- push {r4-r6, lr}
- add r5, r0, #0x0
- ldr r1, [r5, #0x78]
- cmp r1, #0x0
- beq _0205211E
- mov r0, #0x0
- pop {r4-r6, pc}
-_0205211E:
- bl FUN_020377AC
- add r6, r0, #0x0
- bl FUN_02031A7C
- mov r1, #0x19
- mov r0, #0x1f
- lsl r1, r1, #0x4
- bl FUN_02016998
- mov r2, #0x19
- mov r1, #0x0
- lsl r2, r2, #0x4
- add r4, r0, #0x0
- blx MI_CpuFill8
- mov r0, #0x0
- str r0, [r4, #0x10]
- mov r0, #0x28
- str r0, [r4, #0x14]
- ldr r0, _02052174 ; =FUN_02052308
- add r1, r4, #0x0
- mov r2, #0xa
- bl FUN_0200CA44
- str r0, [r4, #0xc]
- str r5, [r4, #0x0]
- str r6, [r4, #0x4]
- add r0, r6, #0x0
- bl FUN_020238F4
- str r0, [r4, #0x8]
- add r0, r4, #0x0
- bl FUN_02052E1C
- mov r0, #0x15
- lsl r0, r0, #0x4
- add r0, r4, r0
- bl FUN_020312BC
- add r0, r4, #0x0
- pop {r4-r6, pc}
- nop
-_02052174: .word FUN_02052308
-
- thumb_func_start FUN_02052178
-FUN_02052178: ; 0x02052178
- push {r4, lr}
- sub sp, #0x8
- add r4, r0, #0x0
- bl FUN_0202EDF8
- cmp r0, #0x0
- beq _020521A4
- add r0, sp, #0x0
- bl FUN_02013754
- add r0, sp, #0x0
- bl FUN_02052DE8
- add r0, r4, #0x0
- add r1, sp, #0x0
- bl FUN_02052CD8
- ldr r1, _020521A8 ; =FUN_020521AC
- add r0, r4, #0x0
- mov r2, #0x28
- bl FUN_02052300
-_020521A4:
- add sp, #0x8
- pop {r4, pc}
- .balign 4
-_020521A8: .word FUN_020521AC
-
- thumb_func_start FUN_020521AC
-FUN_020521AC: ; 0x020521AC
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_02031B2C
- cmp r0, #0x0
- beq _020521C8
- ldr r0, _02052208 ; =0x021C5A70
- mov r2, #0x0
- str r2, [r0, #0x0]
- ldr r1, _0205220C ; =FUN_0205225C
- add r0, r4, #0x0
- bl FUN_02052300
- pop {r4, pc}
-_020521C8:
- ldr r0, [r4, #0x20]
- cmp r0, #0x0
- beq _02052206
- mov r0, #0x2
- str r0, [r4, #0x28]
- ldr r0, [r4, #0x20]
- cmp r0, #0x1
- bne _020521EC
- ldr r0, [r4, #0x30]
- cmp r0, #0x5
- ldr r0, [r4, #0x18]
- bne _020521E6
- bl FUN_020328F4
- b _020521FC
-_020521E6:
- bl FUN_02031AC8
- b _020521FC
-_020521EC:
- cmp r0, #0x2
- bne _020521FC
- mov r0, #0x0
- bl FUN_02083D48
- ldr r0, [r4, #0x18]
- bl FUN_020328C0
-_020521FC:
- ldr r1, _02052210 ; =FUN_02052380
- add r0, r4, #0x0
- mov r2, #0xc
- bl FUN_02052300
-_02052206:
- pop {r4, pc}
- .balign 4
-_02052208: .word 0x021C5A70
-_0205220C: .word FUN_0205225C
-_02052210: .word FUN_02052380
-
- thumb_func_start FUN_02052214
-FUN_02052214: ; 0x02052214
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_02031BD0
- cmp r0, #0x1
- bne _02052230
- ldr r0, [r4, #0x0]
- bl FUN_0208881C
- ldr r1, _02052234 ; =FUN_020521AC
- add r0, r4, #0x0
- mov r2, #0x2
- bl FUN_02052300
-_02052230:
- pop {r4, pc}
- nop
-_02052234: .word FUN_020521AC
-
- thumb_func_start FUN_02052238
-FUN_02052238: ; 0x02052238
- push {r3-r5, lr}
- mov r5, #0x0
- mov r4, #0x1
-_0205223E:
- add r0, r4, #0x0
- bl FUN_0202DFA4
- cmp r0, #0x0
- beq _0205224A
- add r5, r5, #0x1
-_0205224A:
- add r4, r4, #0x1
- cmp r4, #0x5
- blt _0205223E
- cmp r5, #0x1
- blt _02052258
- mov r0, #0x1
- pop {r3-r5, pc}
-_02052258:
- mov r0, #0x0
- pop {r3-r5, pc}
-
- thumb_func_start FUN_0205225C
-FUN_0205225C: ; 0x0205225C
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x14]
- cmp r0, #0x0
- ble _0205226C
- sub r0, r0, #0x1
- str r0, [r4, #0x14]
- pop {r4, pc}
-_0205226C:
- ldr r0, _020522C4 ; =0x021C5A70
- ldr r1, [r0, #0x0]
- add r1, r1, #0x1
- str r1, [r0, #0x0]
- bl FUN_020311E8
- cmp r0, #0x0
- beq _020522A0
- bl FUN_02052238
- cmp r0, #0x1
- bne _020522A0
- bl FUN_0202DBE0
- mov r0, #0x1
- add r1, r0, #0x0
- bl FUN_020334E8
- mov r0, #0xb
- bl FUN_02052B74
- ldr r1, _020522C8 ; =FUN_020522D0
- add r0, r4, #0x0
- mov r2, #0x0
- bl FUN_02052300
-_020522A0:
- bl FUN_02031B2C
- cmp r0, #0x0
- bne _020522C2
- bl FUN_02031B50
- add r0, r4, #0x0
- bl FUN_02052E1C
- mov r0, #0x0
- bl FUN_02052B74
- ldr r1, _020522CC ; =FUN_02052214
- add r0, r4, #0x0
- mov r2, #0x2
- bl FUN_02052300
-_020522C2:
- pop {r4, pc}
- .balign 4
-_020522C4: .word 0x021C5A70
-_020522C8: .word FUN_020522D0
-_020522CC: .word FUN_02052214
-
- thumb_func_start FUN_020522D0
-FUN_020522D0: ; 0x020522D0
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_020311E8
- bl FUN_020311E8
- cmp r0, #0x0
- bne _020522FA
- bl FUN_02031B50
- add r0, r4, #0x0
- bl FUN_02052E1C
- mov r0, #0x0
- bl FUN_02052B74
- ldr r1, _020522FC ; =FUN_02052214
- add r0, r4, #0x0
- mov r2, #0x2
- bl FUN_02052300
-_020522FA:
- pop {r4, pc}
- .balign 4
-_020522FC: .word FUN_02052214
-
- thumb_func_start FUN_02052300
-FUN_02052300: ; 0x02052300
- str r1, [r0, #0x10]
- str r2, [r0, #0x14]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02052308
-FUN_02052308: ; 0x02052308
- push {r3-r7, lr}
- str r1, [sp, #0x0]
- cmp r1, #0x0
- bne _02052316
- bl FUN_0200CAB4
- pop {r3-r7, pc}
-_02052316:
- mov r7, #0x11
- ldr r5, _02052344 ; =0x021C5A7C
- mov r6, #0x0
- add r4, r1, #0x0
- lsl r7, r7, #0x4
-_02052320:
- add r0, r6, #0x0
- bl FUN_0202EF18
- mov r1, #0x11
- lsl r1, r1, #0x4
- str r0, [r4, r1]
- ldr r0, [r4, r7]
- add r6, r6, #0x1
- add r4, r4, #0x4
- stmia r5!, {r0}
- cmp r6, #0x10
- blt _02052320
- ldr r0, [sp, #0x0]
- ldr r1, [r0, #0x10]
- cmp r1, #0x0
- beq _02052342
- blx r1
-_02052342:
- pop {r3-r7, pc}
- .balign 4
-_02052344: .word 0x021C5A7C
-
- thumb_func_start FUN_02052348
-FUN_02052348: ; 0x02052348
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x14]
- cmp r0, #0x0
- beq _02052358
- sub r0, r0, #0x1
- str r0, [r4, #0x14]
- pop {r4, pc}
-_02052358:
- bl FUN_02031BF4
- ldr r1, _02052368 ; =FUN_0205236C
- add r0, r4, #0x0
- mov r2, #0x0
- bl FUN_02052300
- pop {r4, pc}
- .balign 4
-_02052368: .word FUN_0205236C
-
- thumb_func_start FUN_0205236C
-FUN_0205236C: ; 0x0205236C
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_02030F40
- cmp r0, #0x0
- bne _0205237E
- add r0, r4, #0x0
- bl FUN_020524A0
-_0205237E:
- pop {r4, pc}
-
- thumb_func_start FUN_02052380
-FUN_02052380: ; 0x02052380
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_02031AF4
- cmp r0, #0x1
- bne _0205239C
- bl FUN_0202DBE0
- ldr r1, _020523D4 ; =FUN_02052410
- add r0, r4, #0x0
- mov r2, #0x3
- bl FUN_02052300
- pop {r4, pc}
-_0205239C:
- bl FUN_020311E8
- cmp r0, #0x0
- beq _020523B4
- mov r2, #0x0
- str r2, [r4, #0x20]
- mov r0, #0x3
- str r0, [r4, #0x1c]
- ldr r1, _020523D8 ; =FUN_0205225C
- add r0, r4, #0x0
- bl FUN_02052300
-_020523B4:
- bl FUN_02031AF4
- cmp r0, #0x0
- beq _020523D2
- ldr r1, _020523DC ; =FUN_020523E0
- add r0, r4, #0x0
- mov r2, #0x2
- bl FUN_02052300
- mov r1, #0x0
- str r1, [r4, #0x24]
- mov r0, #0x2
- str r0, [r4, #0x1c]
- str r1, [r4, #0x20]
- str r1, [r4, #0x44]
-_020523D2:
- pop {r4, pc}
- .balign 4
-_020523D4: .word FUN_02052410
-_020523D8: .word FUN_0205225C
-_020523DC: .word FUN_020523E0
-
- thumb_func_start FUN_020523E0
-FUN_020523E0: ; 0x020523E0
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_0204646C
- cmp r0, #0x0
- bne _02052408
- bl FUN_02031B50
- add r0, r4, #0x0
- bl FUN_02052E1C
- mov r0, #0x0
- bl FUN_02052B74
- ldr r1, _0205240C ; =FUN_02052214
- add r0, r4, #0x0
- mov r2, #0x2
- bl FUN_02052300
-_02052408:
- pop {r4, pc}
- nop
-_0205240C: .word FUN_02052214
-
- thumb_func_start FUN_02052410
-FUN_02052410: ; 0x02052410
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_02031AF4
- cmp r0, #0x1
- bne _02052444
- bl FUN_02031190
- bl FUN_0202DFA4
- cmp r0, #0x0
- beq _0205246C
- mov r1, #0x0
- str r1, [r4, #0x20]
- mov r0, #0x1
- str r0, [r4, #0x1c]
- str r1, [r4, #0x44]
- add r1, r0, #0x0
- bl FUN_020334E8
- ldr r1, _02052470 ; =FUN_02052478
- add r0, r4, #0x0
- mov r2, #0x3
- bl FUN_02052300
- pop {r4, pc}
-_02052444:
- bl FUN_02031AF4
- cmp r0, #0x0
- bne _0205246C
- bl FUN_02031B50
- add r0, r4, #0x0
- bl FUN_02052E1C
- ldr r1, _02052474 ; =FUN_02052214
- add r0, r4, #0x0
- mov r2, #0x2
- bl FUN_02052300
- mov r1, #0x0
- str r1, [r4, #0x24]
- mov r0, #0x2
- str r0, [r4, #0x1c]
- str r1, [r4, #0x20]
- str r1, [r4, #0x44]
-_0205246C:
- pop {r4, pc}
- nop
-_02052470: .word FUN_02052478
-_02052474: .word FUN_02052214
-
- thumb_func_start FUN_02052478
-FUN_02052478: ; 0x02052478
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_02031AF4
- cmp r0, #0x0
- bne _02052498
- bl FUN_02031B50
- add r0, r4, #0x0
- bl FUN_02052E1C
- ldr r1, _0205249C ; =FUN_02052214
- add r0, r4, #0x0
- mov r2, #0x2
- bl FUN_02052300
-_02052498:
- pop {r4, pc}
- nop
-_0205249C: .word FUN_02052214
-
- thumb_func_start FUN_020524A0
-FUN_020524A0: ; 0x020524A0
- push {r4, lr}
- add r4, r0, #0x0
- beq _020524B8
- ldr r0, [r4, #0xc]
- bl FUN_0200CAB4
- add r0, r4, #0x0
- bl FUN_02016A18
- mov r0, #0x1f
- bl FUN_020168D0
-_020524B8:
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_020524BC
-FUN_020524BC: ; 0x020524BC
- ldr r0, [r0, #0x0]
- bx lr
-
- thumb_func_start FUN_020524C0
-FUN_020524C0: ; 0x020524C0
- lsl r1, r1, #0x2
- add r1, r0, r1
- mov r0, #0x11
- lsl r0, r0, #0x4
- ldr r0, [r1, r0]
- bx lr
-
- thumb_func_start FUN_020524CC
-FUN_020524CC: ; 0x020524CC
- push {r4-r6, lr}
- add r5, r1, #0x0
- add r4, r0, #0x0
- sub r0, r5, #0x1
- bl FUN_0202EF84
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl FUN_02052E10
- cmp r6, #0x0
- bne _020524E8
- mov r0, #0x5
- pop {r4-r6, pc}
-_020524E8:
- sub r0, r5, #0x1
- lsl r0, r0, #0x2
- add r1, r4, r0
- mov r0, #0x11
- lsl r0, r0, #0x4
- ldr r1, [r1, r0]
- ldr r0, _02052540 ; =0x021C5A70
- add r1, #0x50
- add r1, #0x30
- str r1, [r0, #0x4]
- ldrb r0, [r1, #0x1c]
- cmp r0, #0xb
- bhi _0205253A
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_0205250E: ; jump table (using 16-bit offset)
- .short _02052526 - _0205250E - 2; case 0
- .short _0205252A - _0205250E - 2; case 1
- .short _0205252E - _0205250E - 2; case 2
- .short _02052532 - _0205250E - 2; case 3
- .short _02052536 - _0205250E - 2; case 4
- .short _02052536 - _0205250E - 2; case 5
- .short _02052536 - _0205250E - 2; case 6
- .short _02052536 - _0205250E - 2; case 7
- .short _02052536 - _0205250E - 2; case 8
- .short _0205253A - _0205250E - 2; case 9
- .short _0205253A - _0205250E - 2; case 10
- .short _02052536 - _0205250E - 2; case 11
-_02052526:
- mov r0, #0x1
- pop {r4-r6, pc}
-_0205252A:
- mov r0, #0x2
- pop {r4-r6, pc}
-_0205252E:
- mov r0, #0x3
- pop {r4-r6, pc}
-_02052532:
- mov r0, #0x4
- pop {r4-r6, pc}
-_02052536:
- mov r0, #0x5
- pop {r4-r6, pc}
-_0205253A:
- mov r0, #0x5
- pop {r4-r6, pc}
- nop
-_02052540: .word 0x021C5A70
-
- thumb_func_start FUN_02052544
-FUN_02052544: ; 0x02052544
- push {r4-r6, lr}
- add r6, r1, #0x0
- add r4, r0, #0x0
- sub r0, r6, #0x1
- add r5, r2, #0x0
- bl FUN_0202EF84
- sub r0, r6, #0x1
- lsl r1, r0, #0x2
- add r2, r4, r1
- mov r1, #0x11
- lsl r1, r1, #0x4
- ldr r2, [r2, r1]
- ldr r1, _02052600 ; =0x021C5A70
- add r2, #0x50
- add r2, #0x30
- str r2, [r1, #0x4]
- ldrb r1, [r2, #0x1c]
- cmp r1, #0xb
- bhi _020525F8
- add r1, r1, r1
- add r1, pc
- ldrh r1, [r1, #0x6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_02052578: ; jump table (using 16-bit offset)
- .short _020525C6 - _02052578 - 2; case 0
- .short _020525DC - _02052578 - 2; case 1
- .short _020525AC - _02052578 - 2; case 2
- .short _02052590 - _02052578 - 2; case 3
- .short _020525F4 - _02052578 - 2; case 4
- .short _020525F4 - _02052578 - 2; case 5
- .short _020525F4 - _02052578 - 2; case 6
- .short _020525F4 - _02052578 - 2; case 7
- .short _020525F4 - _02052578 - 2; case 8
- .short _020525F8 - _02052578 - 2; case 9
- .short _020525F8 - _02052578 - 2; case 10
- .short _020525F4 - _02052578 - 2; case 11
-_02052590:
- cmp r5, #0x4
- beq _02052598
- mov r0, #0x5
- pop {r4-r6, pc}
-_02052598:
- mov r1, #0x6
- str r1, [r4, #0x30]
- str r0, [r4, #0x18]
- mov r0, #0x2
- str r0, [r4, #0x20]
- mov r0, #0x0
- str r0, [r4, #0x24]
- str r0, [r4, #0x1c]
- mov r0, #0x1
- pop {r4-r6, pc}
-_020525AC:
- cmp r5, #0x3
- beq _020525B4
- mov r0, #0x5
- pop {r4-r6, pc}
-_020525B4:
- mov r1, #0x5
- str r1, [r4, #0x30]
- str r0, [r4, #0x18]
- mov r0, #0x1
- str r0, [r4, #0x20]
- mov r1, #0x0
- str r1, [r4, #0x24]
- str r1, [r4, #0x1c]
- pop {r4-r6, pc}
-_020525C6:
- cmp r5, #0x1
- beq _020525CE
- mov r0, #0x5
- pop {r4-r6, pc}
-_020525CE:
- str r0, [r4, #0x18]
- mov r0, #0x1
- str r0, [r4, #0x20]
- mov r1, #0x0
- str r1, [r4, #0x24]
- str r1, [r4, #0x1c]
- pop {r4-r6, pc}
-_020525DC:
- cmp r5, #0x2
- beq _020525E4
- mov r0, #0x5
- pop {r4-r6, pc}
-_020525E4:
- str r0, [r4, #0x18]
- mov r0, #0x2
- str r0, [r4, #0x20]
- mov r0, #0x0
- str r0, [r4, #0x24]
- str r0, [r4, #0x1c]
- mov r0, #0x1
- pop {r4-r6, pc}
-_020525F4:
- mov r0, #0x5
- pop {r4-r6, pc}
-_020525F8:
- bl ErrorHandling
- mov r0, #0x0
- pop {r4-r6, pc}
- .balign 4
-_02052600: .word 0x021C5A70
-
- thumb_func_start FUN_02052604
-FUN_02052604: ; 0x02052604
- ldr r0, [r0, #0x1c]
- bx lr
-
- thumb_func_start FUN_02052608
-FUN_02052608: ; 0x02052608
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x44]
- cmp r0, #0x0
- beq _02052616
- mov r0, #0x7
- pop {r4, pc}
-_02052616:
- bl FUN_02030F20
- cmp r0, #0x2
- bge _02052622
- mov r0, #0x7
- pop {r4, pc}
-_02052622:
- bl FUN_02031190
- cmp r0, #0x0
- bne _02052636
- bl FUN_02031B2C
- cmp r0, #0x1
- bne _02052642
- ldr r0, [r4, #0x40]
- pop {r4, pc}
-_02052636:
- bl FUN_02031AF4
- cmp r0, #0x1
- bne _02052642
- ldr r0, [r4, #0x40]
- pop {r4, pc}
-_02052642:
- mov r0, #0x7
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02052648
-FUN_02052648: ; 0x02052648
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_02031B2C
- cmp r0, #0x1
- bne _02052658
- ldr r0, [r4, #0x30]
- pop {r4, pc}
-_02052658:
- mov r0, #0x7
- pop {r4, pc}
-
- thumb_func_start FUN_0205265C
-FUN_0205265C: ; 0x0205265C
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r2, #0x0
- add r0, sp, #0x0
- strb r4, [r0, #0x2]
- cmp r1, #0x0
- beq _02052670
- cmp r1, #0x1
- beq _02052688
- pop {r3-r5, pc}
-_02052670:
- ldr r1, [r5, #0x44]
- cmp r1, #0x0
- bne _020526B0
- ldrb r0, [r0, #0x2]
- add r1, sp, #0x0
- add r1, #0x2
- str r0, [r5, #0x34]
- mov r0, #0x63
- mov r2, #0x1
- bl FUN_02030ADC
- pop {r3-r5, pc}
-_02052688:
- cmp r4, #0x0
- bne _020526A0
- ldr r1, [r5, #0x30]
- mov r2, #0x1
- strb r1, [r0, #0x1]
- add r1, sp, #0x0
- mov r0, #0x67
- add r1, #0x1
- bl FUN_02030BC4
- str r4, [r5, #0x3c]
- pop {r3-r5, pc}
-_020526A0:
- mov r1, #0x7
- strb r1, [r0, #0x0]
- mov r0, #0x67
- add r1, sp, #0x0
- mov r2, #0x1
- bl FUN_02030BC4
- str r4, [r5, #0x3c]
-_020526B0:
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_020526B4
-FUN_020526B4: ; 0x020526B4
- bx lr
- .balign 4
-
- thumb_func_start FUN_020526B8
-FUN_020526B8: ; 0x020526B8
- bx lr
- .balign 4
-
- thumb_func_start FUN_020526BC
-FUN_020526BC: ; 0x020526BC
- push {r4, lr}
- add r4, r3, #0x0
- ldr r0, [r4, #0x78]
- ldr r1, _020526D4 ; =FUN_020521AC
- mov r2, #0x2
- bl FUN_02052300
- ldr r0, [r4, #0x78]
- bl FUN_02052E1C
- pop {r4, pc}
- nop
-_020526D4: .word FUN_020521AC
-
- thumb_func_start FUN_020526D8
-FUN_020526D8: ; 0x020526D8
- ldr r1, [r3, #0x78]
- ldr r0, [r1, #0x44]
- cmp r0, #0x0
- bne _020526EA
- ldrb r0, [r2, #0x0]
- str r0, [r1, #0x30]
- ldrb r1, [r2, #0x0]
- ldr r0, _020526EC ; =0x021C5A70
- str r1, [r0, #0x8]
-_020526EA:
- bx lr
- .balign 4
-_020526EC: .word 0x021C5A70
-
- thumb_func_start FUN_020526F0
-FUN_020526F0: ; 0x020526F0
- push {r3, lr}
- ldr r0, [r3, #0x78]
- mov r1, #0x1
- str r1, [r0, #0x2c]
- ldrb r1, [r2, #0x0]
- ldr r0, [r3, #0x78]
- str r1, [r0, #0x40]
- ldrb r0, [r2, #0x0]
- cmp r0, #0x4
- bne _02052708
- bl FUN_02032888
-_02052708:
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_0205270C
-FUN_0205270C: ; 0x0205270C
- ldr r0, [r3, #0x78]
- mov r1, #0x1
- str r1, [r0, #0x44]
- bx lr
-
- thumb_func_start FUN_02052714
-FUN_02052714: ; 0x02052714
- ldr r0, [r0, #0x44]
- bx lr
-
- thumb_func_start FUN_02052718
-FUN_02052718: ; 0x02052718
- push {r4, lr}
- ldr r0, [r0, #0x30]
- add r4, r1, #0x0
- cmp r0, #0x0
- bne _02052730
- mov r1, #0x0
- mov r0, #0x68
- add r2, r1, #0x0
- bl FUN_02030ADC
- add r0, r4, #0x0
- pop {r4, pc}
-_02052730:
- mov r0, #0x0
- pop {r4, pc}
-
- thumb_func_start FUN_02052734
-FUN_02052734: ; 0x02052734
- push {r3-r7, lr}
- add r5, r0, #0x0
- add r6, r2, #0x0
- add r4, r3, #0x0
- bl FUN_02031190
- mov r1, #0x1
- eor r0, r1
- bl FUN_0202DFA4
- add r7, r0, #0x0
- ldr r0, _02052784 ; =0x0000066A
- mov r1, #0x1
- strh r1, [r6, r0]
- bl FUN_02031190
- cmp r5, r0
- beq _02052780
- add r0, r7, #0x0
- bl FUN_0202398C
- add r5, r0, #0x0
- add r0, r7, #0x0
- bl FUN_020239CC
- add r1, r0, #0x0
- lsl r1, r1, #0x18
- add r0, r5, #0x0
- lsr r1, r1, #0x18
- mov r2, #0x1f
- bl FUN_0202942C
- add r4, #0x98
- add r1, r0, #0x0
- ldr r0, [r4, #0x0]
- mov r2, #0x4
- bl FUN_02028AD4
-_02052780:
- pop {r3-r7, pc}
- nop
-_02052784: .word 0x0000066A
-
- thumb_func_start FUN_02052788
-FUN_02052788: ; 0x02052788
- ldr r1, [r1, #0x78]
- lsl r0, r0, #0x2
- add r1, r1, r0
- mov r0, #0x62
- lsl r0, r0, #0x2
- ldr r0, [r1, r0]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02052798
-FUN_02052798: ; 0x02052798
- ldr r1, [r3, #0x78]
- ldrb r2, [r2, #0x0]
- add r1, r1, r0
- ldr r0, _020527A4 ; =0x00000176
- strb r2, [r1, r0]
- bx lr
- .balign 4
-_020527A4: .word 0x00000176
-
- thumb_func_start FUN_020527A8
-FUN_020527A8: ; 0x020527A8
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_02031190
- ldr r2, _020527D4 ; =0x00000176
- add r1, r4, r0
- ldrb r1, [r1, r2]
- cmp r1, #0x2
- bne _020527BE
- mov r0, #0x1
- pop {r4, pc}
-_020527BE:
- mov r1, #0x1
- eor r0, r1
- add r0, r4, r0
- ldrb r0, [r0, r2]
- cmp r0, #0x2
- bne _020527CE
- mov r0, #0x2
- pop {r4, pc}
-_020527CE:
- mov r0, #0x0
- pop {r4, pc}
- nop
-_020527D4: .word 0x00000176
-
- thumb_func_start FUN_020527D8
-FUN_020527D8: ; 0x020527D8
- push {r3, lr}
- add r1, sp, #0x0
- strb r0, [r1, #0x0]
- mov r0, #0x65
- add r1, sp, #0x0
- mov r2, #0x1
- bl FUN_02030ADC
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_020527EC
-FUN_020527EC: ; 0x020527EC
- ldr r3, _02052810 ; =0x020F58D4
- mov r2, #0x0
-_020527F0:
- ldrh r1, [r3, #0x0]
- cmp r1, r0
- bgt _02052800
- add r1, r1, #0x4
- cmp r1, r0
- ble _02052800
- add r0, r2, #0x0
- bx lr
-_02052800:
- add r2, r2, #0x1
- add r3, r3, #0x2
- cmp r2, #0xa
- blt _020527F0
- mov r0, #0x0
- mvn r0, r0
- bx lr
- nop
-_02052810: .word 0x020F58D4
-
- thumb_func_start FUN_02052814
-FUN_02052814: ; 0x02052814
- push {r4-r6, lr}
- add r4, r1, #0x0
- add r6, r0, #0x0
- cmp r4, #0x9
- ble _02052834
- add r0, r4, #0x0
- bl FUN_020527EC
- add r5, r0, #0x0
- mov r0, #0x0
- mvn r0, r0
- cmp r4, r0
- bne _02052836
- bl ErrorHandling
- b _02052836
-_02052834:
- add r5, r4, #0x0
-_02052836:
- add r0, r5, #0x0
- bl FUN_0202EF84
- lsl r1, r5, #0x2
- add r2, r6, r1
- mov r1, #0x11
- lsl r1, r1, #0x4
- ldr r5, [r2, r1]
- add r5, #0x50
- add r5, #0x30
- cmp r0, #0x0
- bne _02052852
- mov r0, #0x28
- pop {r4-r6, pc}
-_02052852:
- cmp r4, #0x9
- ble _0205286C
- sub r4, #0xa
- lsr r2, r4, #0x1f
- lsl r1, r4, #0x1e
- sub r1, r1, r2
- mov r0, #0x1e
- ror r1, r0
- add r0, r2, r1
- add r0, r5, r0
- ldrb r0, [r0, #0x18]
- asr r4, r0, #0x7
- b _02052872
-_0205286C:
- bl FUN_020239CC
- add r4, r0, #0x0
-_02052872:
- ldrb r0, [r5, #0x1c]
- cmp r0, #0xb
- bhi _0205294C
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_02052884: ; jump table (using 16-bit offset)
- .short _0205294C - _02052884 - 2; case 0
- .short _020528F8 - _02052884 - 2; case 1
- .short _02052914 - _02052884 - 2; case 2
- .short _02052930 - _02052884 - 2; case 3
- .short _0205289C - _02052884 - 2; case 4
- .short _020528A4 - _02052884 - 2; case 5
- .short _020528C0 - _02052884 - 2; case 6
- .short _020528DC - _02052884 - 2; case 7
- .short _020528F8 - _02052884 - 2; case 8
- .short _02052914 - _02052884 - 2; case 9
- .short _02052930 - _02052884 - 2; case 10
- .short _0205289C - _02052884 - 2; case 11
-_0205289C:
- ldr r0, _02052950 ; =0x020F5894
- lsl r1, r4, #0x2
- ldr r0, [r0, r1]
- pop {r4-r6, pc}
-_020528A4:
- bl FUN_0201B9EC
- lsr r2, r0, #0x1f
- lsl r1, r0, #0x1f
- sub r1, r1, r2
- mov r0, #0x1f
- ror r1, r0
- add r0, r2, r1
- lsl r2, r0, #0x3
- ldr r0, _02052954 ; =0x020F58C4
- lsl r1, r4, #0x2
- add r0, r0, r2
- ldr r0, [r1, r0]
- pop {r4-r6, pc}
-_020528C0:
- bl FUN_0201B9EC
- lsr r2, r0, #0x1f
- lsl r1, r0, #0x1e
- sub r1, r1, r2
- mov r0, #0x1e
- ror r1, r0
- add r0, r2, r1
- lsl r2, r0, #0x3
- ldr r0, _02052958 ; =0x020F5984
- lsl r1, r4, #0x2
- add r0, r0, r2
- ldr r0, [r1, r0]
- pop {r4-r6, pc}
-_020528DC:
- bl FUN_0201B9EC
- lsr r2, r0, #0x1f
- lsl r1, r0, #0x1f
- sub r1, r1, r2
- mov r0, #0x1f
- ror r1, r0
- add r0, r2, r1
- lsl r2, r0, #0x3
- ldr r0, _0205295C ; =0x020F58B4
- lsl r1, r4, #0x2
- add r0, r0, r2
- ldr r0, [r1, r0]
- pop {r4-r6, pc}
-_020528F8:
- bl FUN_0201B9EC
- lsr r2, r0, #0x1f
- lsl r1, r0, #0x1e
- sub r1, r1, r2
- mov r0, #0x1e
- ror r1, r0
- add r0, r2, r1
- lsl r2, r0, #0x3
- ldr r0, _02052960 ; =0x020F5964
- lsl r1, r4, #0x2
- add r0, r0, r2
- ldr r0, [r1, r0]
- pop {r4-r6, pc}
-_02052914:
- bl FUN_0201B9EC
- lsr r2, r0, #0x1f
- lsl r1, r0, #0x1e
- sub r1, r1, r2
- mov r0, #0x1e
- ror r1, r0
- add r0, r2, r1
- lsl r2, r0, #0x3
- ldr r0, _02052964 ; =0x020F59A4
- lsl r1, r4, #0x2
- add r0, r0, r2
- ldr r0, [r1, r0]
- pop {r4-r6, pc}
-_02052930:
- bl FUN_0201B9EC
- lsr r2, r0, #0x1f
- lsl r1, r0, #0x1e
- sub r1, r1, r2
- mov r0, #0x1e
- ror r1, r0
- add r0, r2, r1
- lsl r2, r0, #0x3
- ldr r0, _02052968 ; =0x020F59C4
- lsl r1, r4, #0x2
- add r0, r0, r2
- ldr r0, [r1, r0]
- pop {r4-r6, pc}
-_0205294C:
- mov r0, #0x28
- pop {r4-r6, pc}
- .balign 4
-_02052950: .word 0x020F5894
-_02052954: .word 0x020F58C4
-_02052958: .word 0x020F5984
-_0205295C: .word 0x020F58B4
-_02052960: .word 0x020F5964
-_02052964: .word 0x020F59A4
-_02052968: .word 0x020F59C4
-
- thumb_func_start FUN_0205296C
-FUN_0205296C: ; 0x0205296C
- push {r3-r7, lr}
- str r0, [sp, #0x0]
- bl FUN_02031190
- bl FUN_0202E020
- lsl r0, r0, #0x18
- lsr r7, r0, #0x18
- bl FUN_02031190
- mov r1, #0x1
- eor r0, r1
- bl FUN_0202E020
- lsl r0, r0, #0x18
- lsr r4, r0, #0x18
- bl FUN_02031190
- bl FUN_0202E044
- lsl r0, r0, #0x18
- lsr r6, r0, #0x18
- bl FUN_02031190
- mov r1, #0x1
- eor r0, r1
- bl FUN_0202E044
- lsl r0, r0, #0x18
- lsr r5, r0, #0x18
- cmp r4, #0x0
- bne _020529B0
- mov r0, #0xf
- pop {r3-r7, pc}
-_020529B0:
- beq _020529CC
- ldr r0, [sp, #0x0]
- mov r1, #0x3
- add r2, r4, #0x0
- bl FUN_0200B4A0
- cmp r5, #0x0
- beq _020529CC
- ldr r0, [sp, #0x0]
- mov r1, #0x4
- add r2, r4, #0x0
- add r3, r5, #0x0
- bl FUN_0200B4D8
-_020529CC:
- cmp r7, r4
- beq _020529E4
- cmp r5, #0x0
- bne _020529D8
- mov r0, #0xd
- pop {r3-r7, pc}
-_020529D8:
- cmp r6, r5
- bne _020529E0
- mov r0, #0xd
- pop {r3-r7, pc}
-_020529E0:
- mov r0, #0xc
- pop {r3-r7, pc}
-_020529E4:
- cmp r6, r5
- beq _020529EC
- mov r0, #0xe
- pop {r3-r7, pc}
-_020529EC:
- mov r0, #0xf
- pop {r3-r7, pc}
-
- thumb_func_start FUN_020529F0
-FUN_020529F0: ; 0x020529F0
- push {r3, lr}
- cmp r0, #0x0
- beq _02052A02
- lsl r2, r0, #0x3
- ldr r0, _02052A0C ; =0x020F5A14
- lsl r1, r1, #0x2
- add r0, r0, r2
- ldr r0, [r1, r0]
- pop {r3, pc}
-_02052A02:
- add r0, r2, #0x0
- bl FUN_0205296C
- pop {r3, pc}
- nop
-_02052A0C: .word 0x020F5A14
-
- thumb_func_start FUN_02052A10
-FUN_02052A10: ; 0x02052A10
- push {r4-r6, lr}
- add r4, r2, #0x0
- add r5, r0, #0x0
- add r6, r3, #0x0
- cmp r4, #0x0
- bne _02052A24
- sub r1, r1, #0x1
- bl FUN_02052814
- pop {r4-r6, pc}
-_02052A24:
- sub r0, r1, #0x1
- bl FUN_0202EF84
- bl FUN_020239CC
- add r1, r0, #0x0
- cmp r4, #0x18
- bhi _02052AFA
- add r0, r4, r4
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_02052A40: ; jump table (using 16-bit offset)
- .short _02052AFA - _02052A40 - 2; case 0
- .short _02052A72 - _02052A40 - 2; case 1
- .short _02052A7E - _02052A40 - 2; case 2
- .short _02052AAA - _02052A40 - 2; case 3
- .short _02052AAA - _02052A40 - 2; case 4
- .short _02052AAA - _02052A40 - 2; case 5
- .short _02052AAA - _02052A40 - 2; case 6
- .short _02052AAA - _02052A40 - 2; case 7
- .short _02052AAA - _02052A40 - 2; case 8
- .short _02052A86 - _02052A40 - 2; case 9
- .short _02052AB8 - _02052A40 - 2; case 10
- .short _02052AB8 - _02052A40 - 2; case 11
- .short _02052AB8 - _02052A40 - 2; case 12
- .short _02052AC6 - _02052A40 - 2; case 13
- .short _02052AC6 - _02052A40 - 2; case 14
- .short _02052AC6 - _02052A40 - 2; case 15
- .short _02052AD4 - _02052A40 - 2; case 16
- .short _02052AD4 - _02052A40 - 2; case 17
- .short _02052AD4 - _02052A40 - 2; case 18
- .short _02052A9C - _02052A40 - 2; case 19
- .short _02052A9C - _02052A40 - 2; case 20
- .short _02052A9C - _02052A40 - 2; case 21
- .short _02052AE2 - _02052A40 - 2; case 22
- .short _02052AEA - _02052A40 - 2; case 23
- .short _02052AF2 - _02052A40 - 2; case 24
-_02052A72:
- ldr r0, [r5, #0x34]
- add r2, r6, #0x0
- sub r0, r0, #0x1
- bl FUN_020529F0
- pop {r4-r6, pc}
-_02052A7E:
- ldr r0, _02052B04 ; =0x020F58AC
- lsl r1, r1, #0x2
- ldr r0, [r0, r1]
- pop {r4-r6, pc}
-_02052A86:
- ldr r0, [r5, #0x34]
- cmp r0, #0x0
- bne _02052A90
- mov r0, #0x0
- pop {r4-r6, pc}
-_02052A90:
- lsl r2, r0, #0x3
- ldr r0, _02052B08 ; =0x020F59DC
- lsl r1, r1, #0x2
- add r0, r0, r2
- ldr r0, [r1, r0]
- pop {r4-r6, pc}
-_02052A9C:
- sub r4, #0x13
- ldr r0, _02052B0C ; =0x020F58E8
- lsl r2, r4, #0x3
- lsl r1, r1, #0x2
- add r0, r0, r2
- ldr r0, [r1, r0]
- pop {r4-r6, pc}
-_02052AAA:
- sub r0, r4, #0x3
- lsl r2, r0, #0x3
- ldr r0, _02052B10 ; =0x020F5A44
- lsl r1, r1, #0x2
- add r0, r0, r2
- ldr r0, [r1, r0]
- pop {r4-r6, pc}
-_02052AB8:
- sub r4, #0xa
- ldr r0, _02052B14 ; =0x020F5900
- lsl r2, r4, #0x3
- lsl r1, r1, #0x2
- add r0, r0, r2
- ldr r0, [r1, r0]
- pop {r4-r6, pc}
-_02052AC6:
- sub r4, #0xd
- ldr r0, _02052B18 ; =0x020F5918
- lsl r2, r4, #0x3
- lsl r1, r1, #0x2
- add r0, r0, r2
- ldr r0, [r1, r0]
- pop {r4-r6, pc}
-_02052AD4:
- sub r4, #0x10
- ldr r0, _02052B1C ; =0x020F5930
- lsl r2, r4, #0x3
- lsl r1, r1, #0x2
- add r0, r0, r2
- ldr r0, [r1, r0]
- pop {r4-r6, pc}
-_02052AE2:
- ldr r0, _02052B20 ; =0x020F588C
- lsl r1, r1, #0x2
- ldr r0, [r0, r1]
- pop {r4-r6, pc}
-_02052AEA:
- ldr r0, _02052B24 ; =0x020F58A4
- lsl r1, r1, #0x2
- ldr r0, [r0, r1]
- pop {r4-r6, pc}
-_02052AF2:
- ldr r0, _02052B28 ; =0x020F589C
- lsl r1, r1, #0x2
- ldr r0, [r0, r1]
- pop {r4-r6, pc}
-_02052AFA:
- bl ErrorHandling
- mov r0, #0x28
- pop {r4-r6, pc}
- nop
-_02052B04: .word 0x020F58AC
-_02052B08: .word 0x020F59DC
-_02052B0C: .word 0x020F58E8
-_02052B10: .word 0x020F5A44
-_02052B14: .word 0x020F5900
-_02052B18: .word 0x020F5918
-_02052B1C: .word 0x020F5930
-_02052B20: .word 0x020F588C
-_02052B24: .word 0x020F58A4
-_02052B28: .word 0x020F589C
-
- thumb_func_start FUN_02052B2C
-FUN_02052B2C: ; 0x02052B2C
- push {r3-r7, lr}
- add r5, r0, #0x0
- mov r6, #0x1
-_02052B32:
- add r0, r6, #0x0
- sub r4, r6, #0x1
- bl FUN_0202DFA4
- add r7, r0, #0x0
- beq _02052B60
- bl FUN_020239BC
- lsl r1, r4, #0x2
- str r0, [r5, r1]
- add r0, r7, #0x0
- bl FUN_02023A28
- str r0, [sp, #0x0]
- add r0, r7, #0x0
- bl FUN_020239CC
- lsl r1, r0, #0x7
- ldr r0, [sp, #0x0]
- orr r1, r0
- add r0, r5, r4
- strb r1, [r0, #0x18]
- b _02052B6A
-_02052B60:
- lsl r1, r4, #0x2
- mov r0, #0x0
- str r0, [r5, r1]
- add r1, r5, r4
- strb r0, [r1, #0x18]
-_02052B6A:
- add r6, r6, #0x1
- cmp r6, #0x5
- blt _02052B32
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02052B74
-FUN_02052B74: ; 0x02052B74
- push {r4, lr}
- sub sp, #0x20
- add r4, r0, #0x0
- add r0, sp, #0x0
- mov r1, #0x0
- mov r2, #0x20
- blx MI_CpuFill8
- cmp r4, #0xb
- bhi _02052BFA
- add r0, r4, r4
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_02052B94: ; jump table (using 16-bit offset)
- .short _02052BFA - _02052B94 - 2; case 0
- .short _02052BCA - _02052B94 - 2; case 1
- .short _02052BDE - _02052B94 - 2; case 2
- .short _02052BF2 - _02052B94 - 2; case 3
- .short _02052BFA - _02052B94 - 2; case 4
- .short _02052BB6 - _02052B94 - 2; case 5
- .short _02052BB6 - _02052B94 - 2; case 6
- .short _02052BB6 - _02052B94 - 2; case 7
- .short _02052BC0 - _02052B94 - 2; case 8
- .short _02052BD4 - _02052B94 - 2; case 9
- .short _02052BE8 - _02052B94 - 2; case 10
- .short _02052BAC - _02052B94 - 2; case 11
-_02052BAC:
- add r0, sp, #0x0
- mov r1, #0x2
- bl FUN_02052B2C
- b _02052BFA
-_02052BB6:
- add r0, sp, #0x0
- mov r1, #0x2
- bl FUN_02052B2C
- b _02052BFA
-_02052BC0:
- add r0, sp, #0x0
- mov r1, #0x5
- bl FUN_02052B2C
- b _02052BFA
-_02052BCA:
- add r0, sp, #0x0
- mov r1, #0x4
- bl FUN_02052B2C
- b _02052BFA
-_02052BD4:
- add r0, sp, #0x0
- mov r1, #0x5
- bl FUN_02052B2C
- b _02052BFA
-_02052BDE:
- add r0, sp, #0x0
- mov r1, #0x4
- bl FUN_02052B2C
- b _02052BFA
-_02052BE8:
- add r0, sp, #0x0
- mov r1, #0x4
- bl FUN_02052B2C
- b _02052BFA
-_02052BF2:
- add r0, sp, #0x0
- mov r1, #0x4
- bl FUN_02052B2C
-_02052BFA:
- add r0, sp, #0x0
- strb r4, [r0, #0x1c]
- add r0, sp, #0x0
- bl FUN_0202F094
- bl FUN_0202F0B8
- add sp, #0x20
- pop {r4, pc}
-
- thumb_func_start FUN_02052C0C
-FUN_02052C0C: ; 0x02052C0C
- push {r4-r6, lr}
- add r5, r0, #0x0
- mov r3, #0x0
- mov r0, #0x11
- add r6, r1, #0x0
- add r2, r3, #0x0
- add r4, r5, #0x0
- lsl r0, r0, #0x4
-_02052C1C:
- ldr r1, [r4, r0]
- cmp r1, #0x0
- beq _02052C24
- add r3, r3, #0x1
-_02052C24:
- add r2, r2, #0x1
- add r4, r4, #0x4
- cmp r2, #0xa
- blt _02052C1C
- cmp r3, #0x0
- beq _02052C34
- mov r0, #0xa4
- pop {r4-r6, pc}
-_02052C34:
- mov r0, #0x5e
- lsl r0, r0, #0x2
- add r0, r5, r0
- bl FUN_0201385C
- cmp r0, #0x0
- bne _02052C46
- mov r0, #0xa5
- pop {r4-r6, pc}
-_02052C46:
- mov r0, #0x5e
- lsl r0, r0, #0x2
- add r0, r5, r0
- bl FUN_02013920
- cmp r0, #0x4
- beq _02052C78
- ldr r0, [r5, #0x8]
- bl FUN_02023A28
- add r4, r0, #0x0
- ldr r0, [r5, #0x8]
- bl FUN_020239CC
- add r1, r4, #0x0
- mov r2, #0x2
- bl FUN_020536D0
- add r2, r0, #0x0
- add r0, r6, #0x0
- mov r1, #0x0
- bl FUN_0200B064
- mov r0, #0xa6
- pop {r4-r6, pc}
-_02052C78:
- mov r0, #0x5e
- lsl r0, r0, #0x2
- add r0, r5, r0
- bl FUN_02013924
- add r4, r0, #0x0
- cmp r4, #0x14
- blt _02052C8A
- mov r4, #0x0
-_02052C8A:
- mov r0, #0x5e
- lsl r0, r0, #0x2
- add r0, r5, r0
- mov r1, #0x0
- bl FUN_02013918
- add r2, r0, #0x0
- ldr r0, _02052CB0 ; =0x0000FFFF
- cmp r2, r0
- beq _02052CA6
- add r0, r6, #0x0
- mov r1, #0x0
- bl FUN_0200B518
-_02052CA6:
- ldr r0, _02052CB4 ; =0x020F5A74
- lsl r1, r4, #0x2
- ldr r0, [r0, r1]
- pop {r4-r6, pc}
- nop
-_02052CB0: .word 0x0000FFFF
-_02052CB4: .word 0x020F5A74
-
- thumb_func_start FUN_02052CB8
-FUN_02052CB8: ; 0x02052CB8
- push {r3-r4}
- mov r3, #0x0
- strb r3, [r0, #0x1c]
- add r4, r0, #0x0
- add r2, r3, #0x0
-_02052CC2:
- stmia r4!, {r2}
- add r1, r0, r3
- strb r2, [r1, #0x18]
- strb r2, [r1, #0x10]
- add r3, r3, #0x1
- strb r2, [r1, #0x14]
- cmp r3, #0x4
- blt _02052CC2
- pop {r3-r4}
- bx lr
- .balign 4
-
- thumb_func_start FUN_02052CD8
-FUN_02052CD8: ; 0x02052CD8
- push {r4, lr}
- add r4, r0, #0x0
- mov r0, #0x5e
- lsl r0, r0, #0x2
- add r0, r4, r0
- bl FUN_02013960
- mov r0, #0x6
- mov r1, #0x1
- lsl r0, r0, #0x6
- str r1, [r4, r0]
- pop {r4, pc}
-
- thumb_func_start FUN_02052CF0
-FUN_02052CF0: ; 0x02052CF0
- mov r1, #0x6
- lsl r1, r1, #0x6
- ldr r2, [r0, r1]
- cmp r2, #0x0
- bne _02052CFE
- mov r0, #0x0
- bx lr
-_02052CFE:
- mov r2, #0x0
- str r2, [r0, r1]
- sub r1, #0x8
- add r0, r0, r1
- bx lr
-
- thumb_func_start FUN_02052D08
-FUN_02052D08: ; 0x02052D08
- push {r4-r7, lr}
- sub sp, #0xc
- add r6, r2, #0x0
- mov r2, #0x9
- add r5, r0, #0x0
- add r4, r1, #0x0
- str r3, [sp, #0x8]
- mov r0, #0x1
- mov r1, #0x1a
- lsl r2, r2, #0x6
- mov r3, #0x4
- bl FUN_0200A86C
- add r7, r0, #0x0
- cmp r4, #0x0
- bne _02052D30
- sub r0, r6, #0x1
- bl FUN_0202EF84
- b _02052D3C
-_02052D30:
- bl FUN_02031190
- mov r1, #0x1
- eor r0, r1
- bl FUN_0202DFA4
-_02052D3C:
- add r4, r0, #0x0
- cmp r4, #0x0
- beq _02052DE0
- add r0, r5, #0x0
- mov r1, #0x0
- add r2, r4, #0x0
- bl FUN_0200ABC0
- ldr r2, [sp, #0x8]
- add r0, r5, #0x0
- mov r1, #0x1
- bl FUN_0200ABC0
- add r0, r4, #0x0
- bl FUN_02023A70
- add r4, r0, #0x0
- cmp r4, #0x1
- blt _02052D80
- cmp r4, #0x7
- bgt _02052D80
- sub r0, r4, #0x1
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- cmp r0, #0x7
- bhs _02052D80
- lsl r1, r0, #0x2
- ldr r0, _02052DE4 ; =0x020F5948
- ldr r1, [r0, r1]
- cmp r1, #0x0
- blt _02052D80
- ldr r0, [sp, #0x20]
- bl FUN_02013C18
-_02052D80:
- cmp r4, #0x7
- bhi _02052DB8
- add r0, r4, r4
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_02052D90: ; jump table (using 16-bit offset)
- .short _02052DB8 - _02052D90 - 2; case 0
- .short _02052DA0 - _02052D90 - 2; case 1
- .short _02052DA4 - _02052D90 - 2; case 2
- .short _02052DA8 - _02052D90 - 2; case 3
- .short _02052DAC - _02052D90 - 2; case 4
- .short _02052DB0 - _02052D90 - 2; case 5
- .short _02052DB8 - _02052D90 - 2; case 6
- .short _02052DB4 - _02052D90 - 2; case 7
-_02052DA0:
- mov r1, #0xd1
- b _02052DBA
-_02052DA4:
- mov r1, #0xd2
- b _02052DBA
-_02052DA8:
- mov r1, #0xd3
- b _02052DBA
-_02052DAC:
- mov r1, #0xd4
- b _02052DBA
-_02052DB0:
- mov r1, #0xd5
- b _02052DBA
-_02052DB4:
- mov r1, #0xd6
- b _02052DBA
-_02052DB8:
- mov r1, #0xd7
-_02052DBA:
- add r0, r7, #0x0
- bl FUN_0200A914
- add r6, r0, #0x0
- mov r0, #0x1
- str r0, [sp, #0x0]
- add r0, r5, #0x0
- mov r1, #0x2
- add r2, r6, #0x0
- mov r3, #0x0
- str r4, [sp, #0x4]
- bl FUN_0200ABB4
- add r0, r6, #0x0
- bl FUN_02016A18
- add r0, r7, #0x0
- bl FUN_0200A8B8
-_02052DE0:
- add sp, #0xc
- pop {r4-r7, pc}
- .balign 4
-_02052DE4: .word 0x020F5948
-
- thumb_func_start FUN_02052DE8
-FUN_02052DE8: ; 0x02052DE8
- push {r4, lr}
- sub sp, #0x20
- add r4, r0, #0x0
- add r0, sp, #0x0
- bl FUN_02052CB8
- mov r1, #0x0
- add r0, sp, #0x0
- strb r1, [r0, #0x1c]
- add r0, r4, #0x0
- bl FUN_0202F078
- add r0, sp, #0x0
- bl FUN_0202F094
- bl FUN_0202F0B8
- add sp, #0x20
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02052E10
-FUN_02052E10: ; 0x02052E10
- mov r1, #0x0
- str r1, [r0, #0x30]
- str r1, [r0, #0x40]
- str r1, [r0, #0x44]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02052E1C
-FUN_02052E1C: ; 0x02052E1C
- mov r2, #0x0
- str r2, [r0, #0x20]
- str r2, [r0, #0x24]
- str r2, [r0, #0x2c]
- str r2, [r0, #0x30]
- mov r1, #0x5d
- str r2, [r0, #0x40]
- lsl r1, r1, #0x2
- strh r2, [r0, r1]
- add r1, #0xc
- str r2, [r0, r1]
- str r2, [r0, #0x44]
- bx lr
- .balign 4
-
- thumb_func_start FUN_02052E38
-FUN_02052E38: ; 0x02052E38
- push {r3-r5, lr}
- sub sp, #0x8
- add r4, r0, #0x0
- mov r0, #0x0
- bl FUN_02065054
- mov r1, #0x61
- lsl r1, r1, #0x2
- str r0, [r4, r1]
- mov r0, #0x0
- bl FUN_02065054
- mov r1, #0x62
- lsl r1, r1, #0x2
- str r0, [r4, r1]
- mov r0, #0x0
- bl FUN_02065054
- mov r1, #0x63
- lsl r1, r1, #0x2
- str r0, [r4, r1]
- ldr r0, [r4, #0x8]
- bl FUN_020239CC
- add r5, r0, #0x0
- ldr r0, [r4, #0x8]
- bl FUN_02023A28
- add r1, r0, #0x0
- add r0, r5, #0x0
- mov r2, #0x0
- bl FUN_020536D0
- add r3, r0, #0x0
- ldr r0, [r4, #0x0]
- lsl r3, r3, #0x18
- str r0, [sp, #0x0]
- mov r0, #0x61
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- lsr r3, r3, #0x18
- str r0, [sp, #0x4]
- mov r0, #0x0
- add r1, r0, #0x0
- add r2, r0, #0x0
- bl FUN_02064E90
- bl FUN_02031190
- mov r1, #0x1
- eor r0, r1
- lsl r0, r0, #0x2
- add r1, r4, r0
- mov r0, #0x62
- lsl r0, r0, #0x2
- ldr r0, [r1, r0]
- add sp, #0x8
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02052EAC
-FUN_02052EAC: ; 0x02052EAC
- push {r4, lr}
- add r4, r0, #0x0
- mov r0, #0x62
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- bl FUN_02016A18
- mov r0, #0x63
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- bl FUN_02016A18
- mov r0, #0x61
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- bl FUN_02016A18
- pop {r4, pc}
-
- thumb_func_start FUN_02052ED0
-FUN_02052ED0: ; 0x02052ED0
- mov r1, #0x61
- add r2, r0, #0x0
- lsl r1, r1, #0x2
- ldr r1, [r2, r1]
- ldr r3, _02052EE0 ; =FUN_02030A78
- mov r0, #0x69
- ldr r2, _02052EE4 ; =0x0000066C
- bx r3
- .balign 4
-_02052EE0: .word FUN_02030A78
-_02052EE4: .word 0x0000066C
-
- thumb_func_start FUN_02052EE8
-FUN_02052EE8: ; 0x02052EE8
- push {r3-r5, lr}
- ldr r1, _02052F58 ; =0x000004E8
- add r5, r0, #0x0
- mov r0, #0x1f
- bl FUN_02016998
- add r4, r0, #0x0
- ldr r2, _02052F58 ; =0x000004E8
- mov r0, #0x0
- add r1, r4, #0x0
- blx MIi_CpuClearFast
- mov r0, #0x4e
- str r5, [r4, #0x0]
- mov r1, #0x1
- lsl r0, r0, #0x4
- str r1, [r4, r0]
- ldr r0, _02052F5C ; =FUN_02052FC8
- add r1, r4, #0x0
- mov r2, #0xb
- bl FUN_0200CA44
- str r0, [r4, #0x4]
- add r0, r5, #0x0
- bl FUN_020524BC
- ldr r1, _02052F60 ; =0x000004D4
- str r0, [r4, r1]
- ldr r0, [r4, r1]
- mov r1, #0x9
- ldr r0, [r0, #0xc]
- bl FUN_02022610
- ldr r1, _02052F64 ; =0x000004D8
- ldr r2, _02052F68 ; =0x00002710
- str r0, [r4, r1]
- sub r0, r1, #0x4
- ldr r0, [r4, r0]
- mov r1, #0x59
- ldr r0, [r0, #0x38]
- str r0, [r4, #0x8]
- mov r0, #0xb
- bl FUN_02016828
- mov r0, #0x59
- bl FUN_02053618
- ldr r1, _02052F6C ; =0x000004DC
- str r0, [r4, r1]
- add r0, r4, #0x0
- bl FUN_02052F8C
- ldr r0, _02052F70 ; =0x021C5ABC
- str r4, [r0, #0x0]
- add r0, r4, #0x0
- pop {r3-r5, pc}
- .balign 4
-_02052F58: .word 0x000004E8
-_02052F5C: .word FUN_02052FC8
-_02052F60: .word 0x000004D4
-_02052F64: .word 0x000004D8
-_02052F68: .word 0x00002710
-_02052F6C: .word 0x000004DC
-_02052F70: .word 0x021C5ABC
-
- thumb_func_start FUN_02052F74
-FUN_02052F74: ; 0x02052F74
- mov r3, #0x0
- mov r1, #0x3
-_02052F78:
- ldrb r2, [r0, #0xd]
- cmp r2, #0x0
- beq _02052F80
- strb r1, [r0, #0xc]
-_02052F80:
- add r3, r3, #0x1
- add r0, #0x18
- cmp r3, #0x33
- blt _02052F78
- bx lr
- .balign 4
-
- thumb_func_start FUN_02052F8C
-FUN_02052F8C: ; 0x02052F8C
- mov r2, #0x0
- add r1, r2, #0x0
-_02052F90:
- strb r1, [r0, #0xc]
- strb r1, [r0, #0xd]
- strb r1, [r0, #0xe]
- strb r1, [r0, #0xf]
- add r2, r2, #0x1
- add r0, #0x18
- cmp r2, #0x33
- blt _02052F90
- bx lr
- .balign 4
-
- thumb_func_start FUN_02052FA4
-FUN_02052FA4: ; 0x02052FA4
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x4]
- bl FUN_0200CAB4
- ldr r0, _02052FC4 ; =0x000004DC
- ldr r0, [r4, r0]
- bl FUN_0205362C
- mov r0, #0x59
- bl FUN_020168D0
- add r0, r4, #0x0
- bl FUN_02016A18
- pop {r4, pc}
- .balign 4
-_02052FC4: .word 0x000004DC
-
- thumb_func_start FUN_02052FC8
-FUN_02052FC8: ; 0x02052FC8
- push {r3-r5, lr}
- ldr r0, _02052FFC ; =0x000004D4
- add r5, r1, #0x0
- ldr r0, [r5, r0]
- ldr r4, [r5, #0x0]
- bl FUN_0204646C
- cmp r0, #0x0
- bne _02052FF8
- ldr r3, _02052FFC ; =0x000004D4
- add r0, r5, #0x0
- ldr r2, [r5, r3]
- add r3, r3, #0x4
- ldr r2, [r2, #0x34]
- ldr r3, [r5, r3]
- add r1, r4, #0x0
- bl FUN_0205312C
- ldr r1, _02052FFC ; =0x000004D4
- add r0, r5, #0x0
- ldr r1, [r5, r1]
- ldr r1, [r1, #0x34]
- bl FUN_020531E4
-_02052FF8:
- pop {r3-r5, pc}
- nop
-_02052FFC: .word 0x000004D4
-
- thumb_func_start FUN_02053000
-FUN_02053000: ; 0x02053000
- push {r4-r7, lr}
- sub sp, #0x14
- mov r5, #0x0
- str r0, [sp, #0x0]
- str r3, [sp, #0x4]
- cmp r2, #0x0
- bne _02053034
- ldr r0, _02053100 ; =0x020F58D4
- lsl r1, r1, #0x1
- ldrh r4, [r0, r1]
- ldr r0, [sp, #0x0]
- mov r6, #0x3
- add r0, #0xc
- str r0, [sp, #0x0]
-_0205301C:
- ldr r0, [sp, #0x0]
- add r1, r4, #0x0
- add r2, r6, #0x0
- bl FUN_02053104
- add r5, r5, #0x1
- add r4, r4, #0x1
- cmp r5, #0x4
- blt _0205301C
- add sp, #0x14
- mov r0, #0x0
- pop {r4-r7, pc}
-_02053034:
- add r0, r2, #0x0
- str r0, [sp, #0xc]
- add r0, #0x50
- str r0, [sp, #0xc]
- add r0, #0x30
- str r0, [sp, #0xc]
- ldr r0, [r2, #0x50]
- mov r2, #0x18
- add r3, r1, #0x0
- mul r3, r2
- ldr r2, [sp, #0x0]
- add r2, r2, r3
- ldr r2, [r2, #0x18]
- cmp r0, r2
- beq _02053078
- ldr r0, _02053100 ; =0x020F58D4
- lsl r1, r1, #0x1
- ldrh r4, [r0, r1]
- ldr r0, [sp, #0x0]
- mov r6, #0x3
- add r0, #0xc
- str r0, [sp, #0x0]
-_02053060:
- ldr r0, [sp, #0x0]
- add r1, r4, #0x0
- add r2, r6, #0x0
- bl FUN_02053104
- add r5, r5, #0x1
- add r4, r4, #0x1
- cmp r5, #0x4
- blt _02053060
- add sp, #0x14
- mov r0, #0x0
- pop {r4-r7, pc}
-_02053078:
- ldr r0, _02053100 ; =0x020F58D4
- lsl r1, r1, #0x1
- ldrh r7, [r0, r1]
- ldr r0, [sp, #0xc]
- add r6, r5, #0x0
- str r0, [sp, #0x8]
- ldr r0, [sp, #0x0]
- str r0, [sp, #0x10]
- add r0, #0xc
- str r0, [sp, #0x10]
-_0205308C:
- mov r0, #0x18
- add r1, r7, #0x0
- mul r1, r0
- ldr r0, [sp, #0x0]
- add r4, r0, r1
- ldrb r0, [r4, #0xd]
- cmp r0, #0x0
- beq _020530A6
- cmp r0, #0x2
- beq _020530CC
- cmp r0, #0x4
- beq _020530E6
- b _020530EA
-_020530A6:
- ldr r0, [sp, #0xc]
- add r1, r0, r6
- ldrb r0, [r1, #0x18]
- cmp r0, #0x0
- beq _020530EA
- mov r0, #0x2
- strb r0, [r4, #0xc]
- ldrb r1, [r1, #0x18]
- mov r0, #0x7f
- and r0, r1
- strb r0, [r4, #0x14]
- ldr r1, [sp, #0x8]
- ldr r0, [sp, #0x4]
- ldr r1, [r1, #0x0]
- bl FUN_02025614
- strb r0, [r4, #0xe]
- mov r5, #0x1
- b _020530EA
-_020530CC:
- ldr r0, [sp, #0xc]
- add r0, r0, r6
- ldrb r0, [r0, #0x18]
- cmp r0, #0x0
- bne _020530E2
- ldr r0, [sp, #0x10]
- add r1, r7, #0x0
- mov r2, #0x3
- bl FUN_02053104
- b _020530EA
-_020530E2:
- mov r5, #0x1
- b _020530EA
-_020530E6:
- mov r0, #0x0
- strb r0, [r4, #0xc]
-_020530EA:
- ldr r0, [sp, #0x8]
- add r6, r6, #0x1
- add r0, r0, #0x4
- add r7, r7, #0x1
- str r0, [sp, #0x8]
- cmp r6, #0x4
- blt _0205308C
- add r0, r5, #0x0
- add sp, #0x14
- pop {r4-r7, pc}
- nop
-_02053100: .word 0x020F58D4
-
- thumb_func_start FUN_02053104
-FUN_02053104: ; 0x02053104
- push {r4-r6, lr}
- ldr r6, _02053124 ; =0x021C5ABC
- mov r4, #0x18
- ldr r3, [r6, #0x0]
- ldr r5, _02053128 ; =0x000004D4
- mul r4, r1
- ldr r3, [r3, r5]
- strb r2, [r0, r4]
- ldr r0, [r6, #0x0]
- ldr r0, [r0, r5]
- cmp r3, r0
- beq _02053120
- bl ErrorHandling
-_02053120:
- pop {r4-r6, pc}
- nop
-_02053124: .word 0x021C5ABC
-_02053128: .word 0x000004D4
-
- thumb_func_start FUN_0205312C
-FUN_0205312C: ; 0x0205312C
- push {r4-r7, lr}
- sub sp, #0x14
- str r0, [sp, #0x0]
- add r5, r0, #0x0
- str r0, [sp, #0x10]
- add r0, #0xc
- str r1, [sp, #0x4]
- str r3, [sp, #0x8]
- mov r4, #0x0
- str r0, [sp, #0x10]
-_02053140:
- ldr r0, [sp, #0x4]
- add r1, r4, #0x0
- bl FUN_020524C0
- add r6, r0, #0x0
- add r7, r6, #0x0
- add r7, #0x50
- add r0, r7, #0x0
- str r0, [sp, #0xc]
- add r0, #0x10
- str r0, [sp, #0xc]
- ldrb r0, [r5, #0xd]
- cmp r0, #0x0
- beq _02053166
- cmp r0, #0x2
- beq _020531A2
- cmp r0, #0x4
- beq _020531D4
- b _020531D8
-_02053166:
- cmp r6, #0x0
- beq _020531D8
- ldr r0, [sp, #0xc]
- bl FUN_02023A28
- strb r0, [r5, #0x14]
- ldr r0, [sp, #0xc]
- bl FUN_020239BC
- add r1, r0, #0x0
- ldr r0, [sp, #0x8]
- bl FUN_02025614
- strb r0, [r5, #0xe]
- ldr r0, [r7, #0x0]
- ldr r3, [sp, #0x8]
- str r0, [r5, #0x18]
- ldr r0, [sp, #0x0]
- add r1, r4, #0x0
- add r2, r6, #0x0
- bl FUN_02053000
- cmp r0, #0x0
- beq _0205319C
- mov r0, #0x2
- strb r0, [r5, #0xc]
- b _020531D8
-_0205319C:
- mov r0, #0x1
- strb r0, [r5, #0xc]
- b _020531D8
-_020531A2:
- cmp r6, #0x0
- beq _020531AE
- ldr r1, [r7, #0x0]
- ldr r0, [r5, #0x18]
- cmp r1, r0
- beq _020531B8
-_020531AE:
- ldr r0, [sp, #0x10]
- add r1, r4, #0x0
- mov r2, #0x3
- bl FUN_02053104
-_020531B8:
- ldr r0, [sp, #0x0]
- ldr r3, [sp, #0x8]
- add r1, r4, #0x0
- add r2, r6, #0x0
- bl FUN_02053000
- cmp r0, #0x0
- beq _020531D8
- ldrb r0, [r5, #0x15]
- cmp r0, #0x1
- bne _020531D8
- mov r0, #0x3
- strb r0, [r5, #0xc]
- b _020531D8
-_020531D4:
- mov r0, #0x0
- strb r0, [r5, #0xc]
-_020531D8:
- add r4, r4, #0x1
- add r5, #0x18
- cmp r4, #0xa
- blt _02053140
- add sp, #0x14
- pop {r4-r7, pc}
-
- thumb_func_start FUN_020531E4
-FUN_020531E4: ; 0x020531E4
- push {r3-r7, lr}
- sub sp, #0x10
- str r0, [sp, #0x0]
- ldr r0, [r0, #0x8]
- str r1, [sp, #0x4]
- bl FUN_02055320
- str r0, [sp, #0xc]
- ldr r0, [sp, #0x0]
- ldr r0, [r0, #0x8]
- bl FUN_0205532C
- ldr r4, [sp, #0x0]
- str r0, [sp, #0x8]
- add r6, r4, #0x0
- mov r7, #0x0
- add r6, #0xc
-_02053206:
- ldr r0, [sp, #0x4]
- add r1, r7, #0x1
- bl FUN_02058060
- add r5, r0, #0x0
- bne _02053216
- bl ErrorHandling
-_02053216:
- ldrb r0, [r4, #0xd]
- cmp r0, #0x4
- bhi _0205330A
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_02053228: ; jump table (using 16-bit offset)
- .short _02053232 - _02053228 - 2; case 0
- .short _02053252 - _02053228 - 2; case 1
- .short _020532B2 - _02053228 - 2; case 2
- .short _020532DA - _02053228 - 2; case 3
- .short _02053306 - _02053228 - 2; case 4
-_02053232:
- add r0, r5, #0x0
- bl FUN_0205AD98
- cmp r0, #0x1
- bne _0205330A
- ldrb r0, [r4, #0xc]
- sub r0, r0, #0x1
- cmp r0, #0x1
- bhi _0205330A
- ldr r2, [sp, #0xc]
- ldr r3, [sp, #0x8]
- add r0, r6, #0x0
- add r1, r5, #0x0
- bl FUN_0205339C
- b _0205330A
-_02053252:
- add r0, r5, #0x0
- bl FUN_0205AD98
- cmp r0, #0x1
- bne _0205330A
- ldrb r0, [r4, #0xc]
- cmp r0, #0x3
- bne _02053272
- mov r0, #0x0
- strb r0, [r4, #0xd]
- strb r0, [r4, #0xc]
- add r0, r6, #0x0
- mov r1, #0x1
- bl FUN_0205333C
- b _0205330A
-_02053272:
- add r0, r5, #0x0
- bl FUN_0205AE50
- add r0, r5, #0x0
- mov r1, #0x0
- bl FUN_020588EC
- ldrb r0, [r4, #0xc]
- cmp r0, #0x1
- bne _020532A8
- ldrb r0, [r4, #0x15]
- cmp r0, #0x0
- bne _020532A8
- add r0, r5, #0x0
- mov r1, #0x3
- bl FUN_02058E90
- add r0, r5, #0x0
- mov r1, #0x1
- bl FUN_02058534
- add r0, r5, #0x0
- mov r1, #0x1
- bl FUN_0205853C
- mov r0, #0x1
- strb r0, [r4, #0x15]
-_020532A8:
- mov r0, #0x2
- strb r0, [r4, #0xd]
- mov r0, #0x0
- strb r0, [r4, #0xc]
- b _0205330A
-_020532B2:
- add r0, r5, #0x0
- bl FUN_0205AD98
- cmp r0, #0x1
- bne _0205330A
- add r0, r6, #0x0
- add r1, r5, #0x0
- bl FUN_02053478
- ldrb r0, [r4, #0xc]
- cmp r0, #0x3
- bne _020532D2
- add r0, r6, #0x0
- add r1, r5, #0x0
- bl FUN_02053444
-_020532D2:
- add r0, r6, #0x0
- bl FUN_02053378
- b _0205330A
-_020532DA:
- add r0, r5, #0x0
- bl FUN_0205AD98
- cmp r0, #0x1
- bne _0205330A
- add r0, r5, #0x0
- bl FUN_0205AE50
- mov r0, #0x4
- strb r0, [r4, #0xd]
- mov r0, #0x0
- strb r0, [r4, #0xc]
- strb r0, [r4, #0x15]
- add r0, r5, #0x0
- mov r1, #0x1
- bl FUN_0205889C
- add r0, r5, #0x0
- mov r1, #0x0
- bl FUN_020588B8
- b _0205330A
-_02053306:
- mov r0, #0x0
- strb r0, [r4, #0xd]
-_0205330A:
- add r7, r7, #0x1
- add r4, #0x18
- add r6, #0x18
- cmp r7, #0x32
- bge _02053316
- b _02053206
-_02053316:
- ldr r0, [sp, #0x0]
- ldr r0, [r0, #0x8]
- bl FUN_020553A0
- add r1, r0, #0x0
- ldr r2, _02053338 ; =0x000004BC
- ldr r0, [sp, #0x0]
- add r0, r0, r2
- bl FUN_02053478
- ldr r1, _02053338 ; =0x000004BC
- ldr r0, [sp, #0x0]
- add r0, r0, r1
- bl FUN_02053378
- add sp, #0x10
- pop {r3-r7, pc}
- .balign 4
-_02053338: .word 0x000004BC
-
- thumb_func_start FUN_0205333C
-FUN_0205333C: ; 0x0205333C
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0x10]
- add r4, r1, #0x0
- cmp r0, #0x0
- beq _0205335A
- bl FUN_020646A0
- cmp r0, #0x0
- beq _02053356
- ldr r0, [r5, #0x10]
- bl FUN_02064520
-_02053356:
- mov r0, #0x0
- str r0, [r5, #0x10]
-_0205335A:
- cmp r4, #0x0
- beq _02053376
- ldr r0, [r5, #0x14]
- cmp r0, #0x0
- beq _02053376
- bl FUN_020646A0
- cmp r0, #0x0
- beq _02053372
- ldr r0, [r5, #0x14]
- bl FUN_02064520
-_02053372:
- mov r0, #0x0
- str r0, [r5, #0x14]
-_02053376:
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02053378
-FUN_02053378: ; 0x02053378
- push {r4, lr}
- add r4, r0, #0x0
- ldrb r1, [r4, #0x4]
- cmp r1, #0x0
- beq _02053398
- ldrh r1, [r4, #0x6]
- sub r1, r1, #0x1
- strh r1, [r4, #0x6]
- ldrh r1, [r4, #0x6]
- cmp r1, #0x0
- bne _02053398
- mov r1, #0x0
- bl FUN_0205333C
- mov r0, #0x0
- strb r0, [r4, #0x4]
-_02053398:
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0205339C
-FUN_0205339C: ; 0x0205339C
- push {r3-r7, lr}
- sub sp, #0x10
- add r4, r1, #0x0
- add r5, r0, #0x0
- add r0, r4, #0x0
- str r2, [sp, #0x4]
- str r3, [sp, #0x8]
- bl FUN_02058AFC
- add r7, r0, #0x0
- add r0, r4, #0x0
- bl FUN_02058B04
- str r0, [sp, #0xc]
- add r0, r4, #0x0
- bl FUN_02058B0C
- add r6, r0, #0x0
- ldr r0, [sp, #0x4]
- cmp r7, r0
- bne _020533CC
- ldr r0, [sp, #0x8]
- cmp r6, r0
- beq _0205343C
-_020533CC:
- ldr r0, _02053440 ; =0x0000064F
- bl FUN_020054C8
- ldrb r1, [r5, #0x8]
- add r0, r4, #0x0
- bl FUN_02057634
- add r0, r5, #0x0
- mov r1, #0x0
- bl FUN_0205333C
- mov r0, #0x1
- str r0, [sp, #0x0]
- ldr r2, [sp, #0xc]
- add r0, r4, #0x0
- add r1, r7, #0x0
- add r3, r6, #0x0
- bl FUN_02058E28
- add r0, r4, #0x0
- mov r1, #0x1
- bl FUN_020584A4
- add r0, r4, #0x0
- mov r1, #0x44
- bl FUN_0205ADDC
- add r0, r4, #0x0
- mov r1, #0x0
- bl FUN_0205889C
- add r0, r4, #0x0
- mov r1, #0x1
- bl FUN_020588B8
- mov r1, #0x1
- strb r1, [r5, #0x1]
- ldrb r0, [r5, #0x2]
- cmp r0, #0x0
- beq _0205343C
- cmp r0, #0x1
- bne _0205342A
- add r0, r4, #0x0
- bl FUN_02249668
- str r0, [r5, #0x14]
- b _02053438
-_0205342A:
- cmp r0, #0x2
- blo _02053438
- add r0, r4, #0x0
- mov r1, #0x2
- bl FUN_02249668
- str r0, [r5, #0x14]
-_02053438:
- mov r0, #0x0
- strb r0, [r5, #0x2]
-_0205343C:
- add sp, #0x10
- pop {r3-r7, pc}
- .balign 4
-_02053440: .word 0x0000064F
-
- thumb_func_start FUN_02053444
-FUN_02053444: ; 0x02053444
- push {r3-r5, lr}
- add r5, r1, #0x0
- add r4, r0, #0x0
- add r0, r5, #0x0
- mov r1, #0x43
- bl FUN_0205ADDC
- add r0, r5, #0x0
- mov r1, #0x1
- bl FUN_020588EC
- add r0, r5, #0x0
- mov r1, #0x0
- bl FUN_02058E90
- add r0, r4, #0x0
- mov r1, #0x1
- bl FUN_0205333C
- mov r0, #0x0
- strb r0, [r4, #0x4]
- strh r0, [r4, #0x6]
- mov r0, #0x3
- strb r0, [r4, #0x1]
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02053478
-FUN_02053478: ; 0x02053478
- push {r4, lr}
- add r4, r0, #0x0
- ldrb r0, [r4, #0x3]
- cmp r0, #0x1
- bne _0205349C
- ldrb r0, [r4, #0x4]
- cmp r0, #0x0
- bne _0205349C
- add r0, r1, #0x0
- bl FUN_021EDA48
- str r0, [r4, #0x10]
- mov r0, #0x1e
- strh r0, [r4, #0x6]
- mov r0, #0x0
- strb r0, [r4, #0x3]
- mov r0, #0x1
- strb r0, [r4, #0x4]
-_0205349C:
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_020534A0
-FUN_020534A0: ; 0x020534A0
- push {r3-r7, lr}
- add r5, r1, #0x0
- add r6, r2, #0x0
- add r7, r0, #0x0
- cmp r5, r6
- bge _020534DA
-_020534AC:
- add r0, r7, #0x0
- add r1, r5, #0x0
- bl FUN_02058060
- add r4, r0, #0x0
- bne _020534BC
- bl ErrorHandling
-_020534BC:
- add r0, r4, #0x0
- mov r1, #0x1
- bl FUN_0205889C
- add r0, r4, #0x0
- mov r1, #0x0
- bl FUN_020588B8
- add r0, r4, #0x0
- mov r1, #0x1
- bl FUN_020588EC
- add r5, r5, #0x1
- cmp r5, r6
- blt _020534AC
-_020534DA:
- pop {r3-r7, pc}
-
- thumb_func_start FUN_020534DC
-FUN_020534DC: ; 0x020534DC
- push {r3-r7, lr}
- add r5, r1, #0x0
- mov r1, #0x0
- add r7, r0, #0x0
- bl FUN_02058060
- add r4, r0, #0x0
- bne _020534F0
- bl ErrorHandling
-_020534F0:
- add r0, r4, #0x0
- bl FUN_0205AD98
- cmp r0, #0x1
- bne _02053596
- bl FUN_02031B2C
- cmp r0, #0x0
- bne _0205350A
- bl FUN_02031AF4
- cmp r0, #0x0
- beq _0205358C
-_0205350A:
- mov r6, #0x0
- add r5, #0xc
-_0205350E:
- ldrb r0, [r5, #0x1]
- cmp r0, #0x1
- bne _02053578
- add r0, r7, #0x0
- add r1, r6, #0x1
- bl FUN_02058060
- add r4, r0, #0x0
- bne _02053524
- bl ErrorHandling
-_02053524:
- ldrb r1, [r5, #0x8]
- add r0, r4, #0x0
- bl FUN_02057634
- add r0, r4, #0x0
- mov r1, #0x1
- bl FUN_020584A4
- add r0, r4, #0x0
- mov r1, #0x44
- bl FUN_0205ADDC
- add r0, r4, #0x0
- mov r1, #0x0
- bl FUN_0205889C
- add r0, r4, #0x0
- mov r1, #0x1
- bl FUN_020588B8
- mov r0, #0x1
- strb r0, [r5, #0x1]
- ldrb r0, [r5, #0x2]
- cmp r0, #0x0
- beq _02053578
- cmp r0, #0x1
- bne _02053566
- add r0, r4, #0x0
- mov r1, #0x1
- bl FUN_02249668
- str r0, [r5, #0x14]
- b _02053574
-_02053566:
- cmp r0, #0x2
- blo _02053574
- add r0, r4, #0x0
- mov r1, #0x2
- bl FUN_02249668
- str r0, [r5, #0x14]
-_02053574:
- mov r0, #0x0
- strb r0, [r5, #0x2]
-_02053578:
- add r6, r6, #0x1
- add r5, #0x18
- cmp r6, #0xa
- blt _0205350E
- add r0, r7, #0x0
- mov r1, #0xb
- mov r2, #0x33
- bl FUN_020534A0
- pop {r3-r7, pc}
-_0205358C:
- add r0, r7, #0x0
- mov r1, #0x1
- mov r2, #0x33
- bl FUN_020534A0
-_02053596:
- pop {r3-r7, pc}
-
- thumb_func_start FUN_02053598
-FUN_02053598: ; 0x02053598
- push {r4, lr}
- add r4, r0, #0x0
- mov r0, #0x8
- mov r1, #0x59
- bl FUN_020219F4
- str r0, [r4, #0x0]
- mov r1, #0x0
- add r0, r4, #0x0
- str r1, [r4, #0x4]
- add r0, #0x14
- str r1, [r4, #0x8]
- bl FUN_0201373C
- mov r0, #0x0
- str r0, [r4, #0x10]
- str r0, [r4, #0xc]
- pop {r4, pc}
-
- thumb_func_start FUN_020535BC
-FUN_020535BC: ; 0x020535BC
- push {r4-r6, lr}
- add r6, r0, #0x0
- mov r4, #0x0
- add r5, r6, #0x0
-_020535C4:
- add r0, r5, #0x0
- bl FUN_02053598
- add r4, r4, #0x1
- add r5, #0x1c
- cmp r4, #0x1e
- blt _020535C4
- mov r0, #0xd2
- mov r1, #0x0
- lsl r0, r0, #0x2
- str r1, [r6, r0]
- add r0, r0, #0x4
- str r1, [r6, r0]
- pop {r4-r6, pc}
-
- thumb_func_start FUN_020535E0
-FUN_020535E0: ; 0x020535E0
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- bl FUN_02016A18
- ldr r0, [r4, #0x4]
- cmp r0, #0x0
- beq _020535F4
- bl FUN_02021A20
-_020535F4:
- ldr r0, [r4, #0x8]
- cmp r0, #0x0
- beq _020535FE
- bl FUN_02021A20
-_020535FE:
- pop {r4, pc}
-
- thumb_func_start FUN_02053600
-FUN_02053600: ; 0x02053600
- push {r3-r5, lr}
- add r5, r0, #0x0
- mov r4, #0x0
-_02053606:
- add r0, r5, #0x0
- bl FUN_020535E0
- add r4, r4, #0x1
- add r5, #0x1c
- cmp r4, #0x1e
- blt _02053606
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02053618
-FUN_02053618: ; 0x02053618
- push {r4, lr}
- mov r1, #0x35
- lsl r1, r1, #0x4
- bl FUN_02016998
- add r4, r0, #0x0
- bl FUN_020535BC
- add r0, r4, #0x0
- pop {r4, pc}
-
- thumb_func_start FUN_0205362C
-FUN_0205362C: ; 0x0205362C
- push {r4, lr}
- add r4, r0, #0x0
- bl FUN_02053600
- add r0, r4, #0x0
- bl FUN_02016A18
- pop {r4, pc}
-
- thumb_func_start FUN_0205363C
-FUN_0205363C: ; 0x0205363C
- push {r3-r7, lr}
- add r7, r2, #0x0
- lsl r0, r0, #0x1d
- ldr r2, _02053670 ; =0x020F5AC4
- lsr r0, r0, #0x19
- add r5, r2, r0
- lsl r2, r1, #0x3
- mov r1, #0xc
- ldr r0, _02053674 ; =0x020F5B44
- mul r1, r2
- mov r4, #0x0
- add r6, r0, r1
-_02053654:
- ldr r3, [r5, #0x0]
- mov r2, #0xc
- mul r2, r3
- add r2, r6, r2
- ldr r2, [r2, #0x4]
- add r0, r7, #0x0
- add r1, r4, #0x0
- bl FUN_0200B064
- add r4, r4, #0x1
- add r5, r5, #0x4
- cmp r4, #0x4
- blt _02053654
- pop {r3-r7, pc}
- .balign 4
-_02053670: .word 0x020F5AC4
-_02053674: .word 0x020F5B44
-
- thumb_func_start FUN_02053678
-FUN_02053678: ; 0x02053678
- lsl r0, r0, #0x1d
- lsr r3, r0, #0x19
- ldr r0, _02053694 ; =0x020F5AC4
- lsl r2, r2, #0x2
- add r0, r0, r3
- ldr r0, [r2, r0]
- lsl r1, r1, #0x3
- add r1, r1, r0
- mov r0, #0xc
- add r2, r1, #0x0
- mul r2, r0
- ldr r0, _02053698 ; =0x020F5B44
- ldr r0, [r0, r2]
- bx lr
- .balign 4
-_02053694: .word 0x020F5AC4
-_02053698: .word 0x020F5B44
-
- thumb_func_start FUN_0205369C
-FUN_0205369C: ; 0x0205369C
- push {r3-r4}
- lsl r4, r0, #0x3
- mov r0, #0xc
- ldr r2, _020536C4 ; =0x020F5B44
- mul r0, r4
- mov r3, #0x0
- add r2, r2, r0
-_020536AA:
- ldr r0, [r2, #0x0]
- cmp r1, r0
- bne _020536B6
- add r0, r3, r4
- pop {r3-r4}
- bx lr
-_020536B6:
- add r3, r3, #0x1
- add r2, #0xc
- cmp r3, #0x8
- blt _020536AA
- mov r0, #0x0
- pop {r3-r4}
- bx lr
- .balign 4
-_020536C4: .word 0x020F5B44
-
- thumb_func_start FUN_020536C8
-FUN_020536C8: ; 0x020536C8
- ldr r3, _020536CC ; =FUN_0205369C
- bx r3
- .balign 4
-_020536CC: .word FUN_0205369C
-
- thumb_func_start FUN_020536D0
-FUN_020536D0: ; 0x020536D0
- push {r4, lr}
- add r4, r2, #0x0
- bl FUN_0205369C
- cmp r4, #0x0
- beq _020536FE
- cmp r4, #0x1
- beq _020536EE
- cmp r4, #0x2
- bne _020536F8
- mov r1, #0xc
- mul r1, r0
- ldr r0, _02053700 ; =0x020F5B48
- ldr r0, [r0, r1]
- pop {r4, pc}
-_020536EE:
- mov r1, #0xc
- mul r1, r0
- ldr r0, _02053704 ; =0x020F5B4C
- ldr r0, [r0, r1]
- pop {r4, pc}
-_020536F8:
- bl ErrorHandling
- mov r0, #0x0
-_020536FE:
- pop {r4, pc}
- .balign 4
-_02053700: .word 0x020F5B48
-_02053704: .word 0x020F5B4C
-
- thumb_func_start FUN_02053708
-FUN_02053708: ; 0x02053708
- push {r3-r6, lr}
- sub sp, #0x4
- add r5, r0, #0x0
- mov r0, #0x56
- mov r1, #0x7
- add r2, sp, #0x0
- add r3, r5, #0x0
- bl FUN_02006C08
- mov r1, #0x9
- add r4, r0, #0x0
- add r0, r5, #0x0
- lsl r1, r1, #0x6
- bl FUN_02016998
- add r5, r0, #0x0
- ldr r0, [sp, #0x0]
- mov r2, #0x0
- ldr r3, [r0, #0xc]
- mov r0, #0x1
- add r6, r5, #0x0
- lsl r0, r0, #0x8
-_02053734:
- ldrh r1, [r3, #0x0]
- add r2, r2, #0x1
- add r3, r3, #0x2
- strh r1, [r6, #0x0]
- add r6, r6, #0x2
- cmp r2, r0
- blt _02053734
- add r0, r4, #0x0
- bl FUN_02016A18
- add r0, r5, #0x0
- add sp, #0x4
- pop {r3-r6, pc}
- .balign 4
-
- thumb_func_start FUN_02053750
-FUN_02053750: ; 0x02053750
- push {r3-r7, lr}
- sub sp, #0x18
- add r4, r1, #0x0
- add r5, r0, #0x0
- ldr r0, [r4, #0x4]
- cmp r0, #0x0
- beq _02053762
- bl FUN_0201FDEC
-_02053762:
- mov r1, #0x6
- lsl r1, r1, #0x6
- ldr r0, [r4, r1]
- cmp r0, #0x5
- bls _0205376E
- b _020538B2
-_0205376E:
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_0205377A: ; jump table (using 16-bit offset)
- .short _02053786 - _0205377A - 2; case 0
- .short _020537AA - _0205377A - 2; case 1
- .short _020537DA - _0205377A - 2; case 2
- .short _0205385C - _0205377A - 2; case 3
- .short _02053872 - _0205377A - 2; case 4
- .short _020538A2 - _0205377A - 2; case 5
-_02053786:
- ldr r0, [r4, #0x0]
- ldr r0, [r0, #0x38]
- bl FUN_020553A0
- bl FUN_02058914
- ldr r0, [r4, #0x0]
- mov r1, #0x0
- ldr r0, [r0, #0x38]
- bl FUN_0205537C
- mov r0, #0x6
- lsl r0, r0, #0x6
- ldr r1, [r4, r0]
- add sp, #0x18
- add r1, r1, #0x1
- str r1, [r4, r0]
- pop {r3-r7, pc}
-_020537AA:
- sub r1, #0x24
- add r0, r4, #0x0
- add r1, r4, r1
- mov r2, #0x0
- bl FUN_02053F38
- mov r1, #0x5b
- lsl r1, r1, #0x2
- add r0, r4, #0x0
- add r1, r4, r1
- mov r2, #0x1
- bl FUN_02053F38
- mov r0, #0x5f
- mov r1, #0x2
- lsl r0, r0, #0x2
- str r1, [r4, r0]
- add r1, r0, #0x4
- ldr r1, [r4, r1]
- add r0, r0, #0x4
- add r1, r1, #0x1
- add sp, #0x18
- str r1, [r4, r0]
- pop {r3-r7, pc}
-_020537DA:
- mov r0, #0x0
- str r0, [sp, #0xc]
- sub r0, r1, #0x4
- ldr r0, [r4, r0]
- cmp r0, #0x0
- ble _02053810
- sub r1, #0x24
- add r7, r4, r1
- add r6, r4, #0x0
- add r5, sp, #0x10
-_020537EE:
- mov r1, #0x5a
- lsl r1, r1, #0x2
- ldr r1, [r6, r1]
- add r0, r7, #0x0
- blx r1
- stmia r5!, {r0}
- ldr r0, [sp, #0xc]
- add r7, #0x10
- add r0, r0, #0x1
- str r0, [sp, #0xc]
- mov r0, #0x5f
- lsl r0, r0, #0x2
- ldr r1, [r4, r0]
- ldr r0, [sp, #0xc]
- add r6, #0x10
- cmp r0, r1
- blt _020537EE
-_02053810:
- ldr r0, [sp, #0x10]
- cmp r0, #0x2
- bne _0205382E
- mov r0, #0x6
- str r0, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x4]
- mov r0, #0x4
- str r0, [sp, #0x8]
- mov r0, #0x0
- add r1, r0, #0x0
- add r2, r0, #0x0
- add r3, r0, #0x0
- bl FUN_0200E1D0
-_0205382E:
- mov r0, #0x5f
- lsl r0, r0, #0x2
- ldr r2, [r4, r0]
- mov r3, #0x0
- cmp r2, #0x0
- ble _0205384A
- add r1, sp, #0x10
-_0205383C:
- ldr r0, [r1, #0x0]
- cmp r0, #0x0
- bne _0205384A
- add r3, r3, #0x1
- add r1, r1, #0x4
- cmp r3, r2
- blt _0205383C
-_0205384A:
- cmp r3, r2
- bne _020538B2
- mov r0, #0x6
- lsl r0, r0, #0x6
- ldr r1, [r4, r0]
- add sp, #0x18
- add r1, r1, #0x1
- str r1, [r4, r0]
- pop {r3-r7, pc}
-_0205385C:
- bl FUN_0200E308
- cmp r0, #0x0
- beq _020538B2
- mov r0, #0x6
- lsl r0, r0, #0x6
- ldr r1, [r4, r0]
- add sp, #0x18
- add r1, r1, #0x1
- str r1, [r4, r0]
- pop {r3-r7, pc}
-_02053872:
- sub r0, r1, #0x4
- ldr r0, [r4, r0]
- mov r6, #0x0
- cmp r0, #0x0
- ble _02053894
- sub r1, #0x24
- mov r7, #0x5f
- add r5, r4, r1
- lsl r7, r7, #0x2
-_02053884:
- add r0, r5, #0x0
- bl FUN_02054070
- ldr r0, [r4, r7]
- add r6, r6, #0x1
- add r5, #0x10
- cmp r6, r0
- blt _02053884
-_02053894:
- mov r0, #0x6
- lsl r0, r0, #0x6
- ldr r1, [r4, r0]
- add sp, #0x18
- add r1, r1, #0x1
- str r1, [r4, r0]
- pop {r3-r7, pc}
-_020538A2:
- add r1, #0x8
- ldr r0, [r4, r1]
- mov r2, #0x1
- str r2, [r0, #0x0]
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02053D3C
-_020538B2:
- add sp, #0x18
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_020538B8
-FUN_020538B8: ; 0x020538B8
- push {r3-r5, lr}
- sub sp, #0x10
- add r5, r0, #0x0
- add r4, r1, #0x0
- mov r1, #0x0
- add r0, sp, #0xc
- strh r1, [r0, #0x0]
- mov r0, #0x6
- lsl r0, r0, #0x6
- ldr r0, [r4, r0]
- cmp r0, #0x5
- beq _020538D6
- ldr r0, [r4, #0x4]
- bl FUN_0201FDEC
-_020538D6:
- mov r1, #0x6
- lsl r1, r1, #0x6
- ldr r0, [r4, r1]
- cmp r0, #0x5
- bls _020538E2
- b _020539EA
-_020538E2:
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_020538EE: ; jump table (using 16-bit offset)
- .short _020538FA - _020538EE - 2; case 0
- .short _02053912 - _020538EE - 2; case 1
- .short _0205396E - _020538EE - 2; case 2
- .short _020539A2 - _020538EE - 2; case 3
- .short _020539C4 - _020538EE - 2; case 4
- .short _020539DA - _020538EE - 2; case 5
-_020538FA:
- ldr r0, [r4, #0x0]
- mov r1, #0x0
- ldr r0, [r0, #0x38]
- bl FUN_0205537C
- mov r0, #0x6
- lsl r0, r0, #0x6
- ldr r1, [r4, r0]
- add sp, #0x10
- add r1, r1, #0x1
- str r1, [r4, r0]
- pop {r3-r5, pc}
-_02053912:
- mov r0, #0x4
- add r1, sp, #0xc
- mov r2, #0x2
- mov r3, #0x0
- bl FUN_02017FB4
- mov r0, #0x1
- mov r1, #0x0
- bl FUN_0201E74C
- mov r0, #0x2
- mov r1, #0x0
- bl FUN_0201E74C
- mov r1, #0x57
- lsl r1, r1, #0x2
- add r0, r4, #0x0
- add r1, r4, r1
- mov r2, #0x2
- bl FUN_02053F38
- mov r0, #0x6
- str r0, [sp, #0x0]
- mov r1, #0x1
- str r1, [sp, #0x4]
- mov r0, #0x4
- str r0, [sp, #0x8]
- mov r0, #0x0
- add r2, r1, #0x0
- add r3, r0, #0x0
- bl FUN_0200E1D0
- ldr r0, _020539F0 ; =0x0000062F
- bl FUN_020054C8
- mov r0, #0x5f
- mov r1, #0x1
- lsl r0, r0, #0x2
- str r1, [r4, r0]
- add r1, r0, #0x4
- ldr r1, [r4, r1]
- add r0, r0, #0x4
- add r1, r1, #0x1
- add sp, #0x10
- str r1, [r4, r0]
- pop {r3-r5, pc}
-_0205396E:
- add r0, r1, #0x0
- sub r1, #0x18
- sub r0, #0x24
- ldr r1, [r4, r1]
- add r0, r4, r0
- blx r1
- cmp r0, #0x0
- bne _020539EA
- bl FUN_0200E308
- cmp r0, #0x0
- beq _020539EA
- ldr r0, _020539F4 ; =0x00000631
- bl FUN_020054C8
- mov r0, #0x6
- lsl r0, r0, #0x6
- ldr r1, [r4, r0]
- add sp, #0x10
- add r1, r1, #0x1
- str r1, [r4, r0]
- mov r1, #0xfe
- mvn r1, r1
- add r0, r0, #0x4
- str r1, [r4, r0]
- pop {r3-r5, pc}
-_020539A2:
- add r0, r1, #0x4
- ldr r2, [r4, r0]
- add r2, #0x10
- str r2, [r4, r0]
- ldr r0, [r4, r0]
- cmp r0, #0x0
- ble _020539EA
- ldr r0, [r4, r1]
- add r0, r0, #0x1
- str r0, [r4, r1]
- ldr r0, [r4, #0x0]
- mov r1, #0x1
- ldr r0, [r0, #0x38]
- bl FUN_0205537C
- add sp, #0x10
- pop {r3-r5, pc}
-_020539C4:
- sub r1, #0x24
- add r0, r4, r1
- bl FUN_02054070
- mov r0, #0x6
- lsl r0, r0, #0x6
- ldr r1, [r4, r0]
- add sp, #0x10
- add r1, r1, #0x1
- str r1, [r4, r0]
- pop {r3-r5, pc}
-_020539DA:
- add r1, #0x8
- ldr r0, [r4, r1]
- mov r2, #0x1
- str r2, [r0, #0x0]
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02053D3C
-_020539EA:
- add sp, #0x10
- pop {r3-r5, pc}
- nop
-_020539F0: .word 0x0000062F
-_020539F4: .word 0x00000631
-
- thumb_func_start FUN_020539F8
-FUN_020539F8: ; 0x020539F8
- push {r4-r5, lr}
- sub sp, #0xc
- add r5, r0, #0x0
- mov r0, #0x6
- add r4, r1, #0x0
- lsl r0, r0, #0x6
- ldr r0, [r4, r0]
- cmp r0, #0x6
- beq _02053A10
- ldr r0, [r4, #0x4]
- bl FUN_0201FDEC
-_02053A10:
- mov r1, #0x6
- lsl r1, r1, #0x6
- ldr r0, [r4, r1]
- cmp r0, #0x6
- bls _02053A1C
- b _02053B30
-_02053A1C:
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_02053A28: ; jump table (using 16-bit offset)
- .short _02053A36 - _02053A28 - 2; case 0
- .short _02053A4E - _02053A28 - 2; case 1
- .short _02053A78 - _02053A28 - 2; case 2
- .short _02053AA0 - _02053A28 - 2; case 3
- .short _02053AE2 - _02053A28 - 2; case 4
- .short _02053B00 - _02053A28 - 2; case 5
- .short _02053B16 - _02053A28 - 2; case 6
-_02053A36:
- ldr r0, [r4, #0x0]
- mov r1, #0x0
- ldr r0, [r0, #0x38]
- bl FUN_0205537C
- mov r0, #0x6
- lsl r0, r0, #0x6
- ldr r1, [r4, r0]
- add sp, #0xc
- add r1, r1, #0x1
- str r1, [r4, r0]
- pop {r4-r5, pc}
-_02053A4E:
- sub r1, #0x24
- add r0, r4, #0x0
- add r1, r4, r1
- mov r2, #0x3
- bl FUN_02053F38
- mov r0, #0x63
- lsl r0, r0, #0x4
- bl FUN_020054C8
- mov r0, #0x5f
- mov r1, #0x1
- lsl r0, r0, #0x2
- str r1, [r4, r0]
- add r1, r0, #0x4
- ldr r1, [r4, r1]
- add r0, r0, #0x4
- add r1, r1, #0x1
- add sp, #0xc
- str r1, [r4, r0]
- pop {r4-r5, pc}
-_02053A78:
- add r0, r1, #0x4
- ldr r2, [r4, r0]
- sub r2, #0x20
- str r2, [r4, r0]
- ldr r1, [r4, r0]
- mov r0, #0xfe
- mvn r0, r0
- cmp r1, r0
- bge _02053B30
- mov r0, #0x1
- mov r1, #0x0
- bl FUN_0201E74C
- mov r0, #0x6
- lsl r0, r0, #0x6
- ldr r1, [r4, r0]
- add sp, #0xc
- add r1, r1, #0x1
- str r1, [r4, r0]
- pop {r4-r5, pc}
-_02053AA0:
- add r0, r1, #0x0
- sub r1, #0x18
- sub r0, #0x24
- ldr r1, [r4, r1]
- add r0, r4, r0
- blx r1
- add r5, r0, #0x0
- cmp r5, #0x2
- bne _02053AD0
- mov r1, #0x61
- mov r0, #0x0
- lsl r1, r1, #0x2
- str r0, [r4, r1]
- mov r1, #0x6
- str r1, [sp, #0x0]
- mov r1, #0x1
- str r1, [sp, #0x4]
- mov r1, #0x4
- str r1, [sp, #0x8]
- ldr r3, _02053B34 ; =0x00007FFF
- add r1, r0, #0x0
- add r2, r0, #0x0
- bl FUN_0200E1D0
-_02053AD0:
- cmp r5, #0x0
- bne _02053B30
- mov r0, #0x6
- lsl r0, r0, #0x6
- ldr r1, [r4, r0]
- add sp, #0xc
- add r1, r1, #0x1
- str r1, [r4, r0]
- pop {r4-r5, pc}
-_02053AE2:
- bl FUN_0200E308
- cmp r0, #0x0
- beq _02053B30
- mov r0, #0x61
- mov r1, #0x0
- lsl r0, r0, #0x2
- str r1, [r4, r0]
- sub r1, r0, #0x4
- ldr r1, [r4, r1]
- sub r0, r0, #0x4
- add r1, r1, #0x1
- add sp, #0xc
- str r1, [r4, r0]
- pop {r4-r5, pc}
-_02053B00:
- sub r1, #0x24
- add r0, r4, r1
- bl FUN_02054070
- mov r0, #0x6
- lsl r0, r0, #0x6
- ldr r1, [r4, r0]
- add sp, #0xc
- add r1, r1, #0x1
- str r1, [r4, r0]
- pop {r4-r5, pc}
-_02053B16:
- mov r0, #0x2
- mov r1, #0x0
- bl FUN_0201E74C
- mov r0, #0x62
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- mov r1, #0x1
- str r1, [r0, #0x0]
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02053D3C
-_02053B30:
- add sp, #0xc
- pop {r4-r5, pc}
- .balign 4
-_02053B34: .word 0x00007FFF
-
- thumb_func_start FUN_02053B38
-FUN_02053B38: ; 0x02053B38
- push {r4-r5, lr}
- sub sp, #0xc
- add r5, r0, #0x0
- mov r0, #0x6
- add r4, r1, #0x0
- lsl r0, r0, #0x6
- ldr r0, [r4, r0]
- cmp r0, #0x6
- beq _02053B50
- ldr r0, [r4, #0x4]
- bl FUN_0201FDEC
-_02053B50:
- mov r1, #0x6
- lsl r1, r1, #0x6
- ldr r0, [r4, r1]
- cmp r0, #0x6
- bls _02053B5C
- b _02053C8C
-_02053B5C:
- add r0, r0, r0
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_02053B68: ; jump table (using 16-bit offset)
- .short _02053B76 - _02053B68 - 2; case 0
- .short _02053BB2 - _02053B68 - 2; case 1
- .short _02053BD6 - _02053B68 - 2; case 2
- .short _02053BF2 - _02053B68 - 2; case 3
- .short _02053C22 - _02053B68 - 2; case 4
- .short _02053C66 - _02053B68 - 2; case 5
- .short _02053C7C - _02053B68 - 2; case 6
-_02053B76:
- ldr r0, [r4, #0x0]
- mov r1, #0x0
- ldr r0, [r0, #0x38]
- bl FUN_0205537C
- mov r1, #0x57
- lsl r1, r1, #0x2
- add r0, r4, #0x0
- add r1, r4, r1
- mov r2, #0x4
- bl FUN_02053F38
- mov r1, #0x5b
- lsl r1, r1, #0x2
- add r0, r4, #0x0
- add r1, r4, r1
- mov r2, #0x5
- bl FUN_02053F38
- mov r0, #0x5f
- mov r1, #0x2
- lsl r0, r0, #0x2
- str r1, [r4, r0]
- add r1, r0, #0x4
- ldr r1, [r4, r1]
- add r0, r0, #0x4
- add r1, r1, #0x1
- add sp, #0xc
- str r1, [r4, r0]
- pop {r4-r5, pc}
-_02053BB2:
- mov r0, #0x6
- str r0, [sp, #0x0]
- mov r1, #0x1
- str r1, [sp, #0x4]
- mov r0, #0x4
- str r0, [sp, #0x8]
- ldr r3, _02053C90 ; =0x00007FFF
- mov r0, #0x0
- add r2, r1, #0x0
- bl FUN_0200E1D0
- mov r0, #0x6
- lsl r0, r0, #0x6
- ldr r1, [r4, r0]
- add sp, #0xc
- add r1, r1, #0x1
- str r1, [r4, r0]
- pop {r4-r5, pc}
-_02053BD6:
- bl FUN_0200E308
- cmp r0, #0x0
- beq _02053C8C
- ldr r0, _02053C94 ; =0x00000632
- bl FUN_020054C8
- mov r0, #0x6
- lsl r0, r0, #0x6
- ldr r1, [r4, r0]
- add sp, #0xc
- add r1, r1, #0x1
- str r1, [r4, r0]
- pop {r4-r5, pc}
-_02053BF2:
- add r0, r1, #0x0
- sub r1, #0x18
- sub r0, #0x24
- ldr r1, [r4, r1]
- add r0, r4, r0
- blx r1
- cmp r0, #0x0
- bne _02053C8C
- ldr r0, [r4, #0x0]
- mov r1, #0x1
- ldr r0, [r0, #0x38]
- bl FUN_0205537C
- mov r0, #0x61
- mov r1, #0x6
- lsl r0, r0, #0x2
- str r1, [r4, r0]
- sub r1, r0, #0x4
- ldr r1, [r4, r1]
- sub r0, r0, #0x4
- add r1, r1, #0x1
- add sp, #0xc
- str r1, [r4, r0]
- pop {r4-r5, pc}
-_02053C22:
- add r0, r1, #0x0
- sub r1, #0x8
- sub r0, #0x14
- ldr r1, [r4, r1]
- add r0, r4, r0
- blx r1
- add r5, r0, #0x0
- mov r0, #0x61
- lsl r0, r0, #0x2
- ldr r1, [r4, r0]
- cmp r1, #0x0
- bgt _02053C50
- bne _02053C54
- sub r0, #0x28
- add r0, r4, r0
- bl FUN_02054070
- mov r0, #0x61
- lsl r0, r0, #0x2
- ldr r1, [r4, r0]
- sub r1, r1, #0x1
- str r1, [r4, r0]
- b _02053C54
-_02053C50:
- sub r1, r1, #0x1
- str r1, [r4, r0]
-_02053C54:
- cmp r5, #0x0
- bne _02053C8C
- mov r0, #0x6
- lsl r0, r0, #0x6
- ldr r1, [r4, r0]
- add sp, #0xc
- add r1, r1, #0x1
- str r1, [r4, r0]
- pop {r4-r5, pc}
-_02053C66:
- sub r1, #0x14
- add r0, r4, r1
- bl FUN_02054070
- mov r0, #0x6
- lsl r0, r0, #0x6
- ldr r1, [r4, r0]
- add sp, #0xc
- add r1, r1, #0x1
- str r1, [r4, r0]
- pop {r4-r5, pc}
-_02053C7C:
- add r1, #0x8
- ldr r0, [r4, r1]
- mov r2, #0x1
- str r2, [r0, #0x0]
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02053D3C
-_02053C8C:
- add sp, #0xc
- pop {r4-r5, pc}
- .balign 4
-_02053C90: .word 0x00007FFF
-_02053C94: .word 0x00000632
-
- thumb_func_start FUN_02053C98
-FUN_02053C98: ; 0x02053C98
- push {r3-r5, lr}
- add r3, r1, #0x0
- add r4, r0, #0x0
- add r5, r2, #0x0
- cmp r3, #0x3
- bhi _02053CEE
- add r1, r3, r3
- add r1, pc
- ldrh r1, [r1, #0x6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_02053CB0: ; jump table (using 16-bit offset)
- .short _02053CB8 - _02053CB0 - 2; case 0
- .short _02053CC6 - _02053CB0 - 2; case 1
- .short _02053CD4 - _02053CB0 - 2; case 2
- .short _02053CE2 - _02053CB0 - 2; case 3
-_02053CB8:
- ldr r2, _02053CF8 ; =0x020F5C04
- ldr r0, _02053CFC ; =FUN_02053750
- ldrb r2, [r2, r3]
- add r1, r4, #0x0
- bl FUN_02053D0C
- b _02053CEE
-_02053CC6:
- ldr r2, _02053CF8 ; =0x020F5C04
- ldr r0, _02053D00 ; =FUN_020538B8
- ldrb r2, [r2, r3]
- add r1, r4, #0x0
- bl FUN_02053D0C
- b _02053CEE
-_02053CD4:
- ldr r2, _02053CF8 ; =0x020F5C04
- ldr r0, _02053D04 ; =FUN_020539F8
- ldrb r2, [r2, r3]
- add r1, r4, #0x0
- bl FUN_02053D0C
- b _02053CEE
-_02053CE2:
- ldr r2, _02053CF8 ; =0x020F5C04
- ldr r0, _02053D08 ; =FUN_02053B38
- ldrb r2, [r2, r3]
- add r1, r4, #0x0
- bl FUN_02053D0C
-_02053CEE:
- mov r1, #0x62
- lsl r1, r1, #0x2
- str r5, [r0, r1]
- str r4, [r0, #0x0]
- pop {r3-r5, pc}
- .balign 4
-_02053CF8: .word 0x020F5C04
-_02053CFC: .word FUN_02053750
-_02053D00: .word FUN_020538B8
-_02053D04: .word FUN_020539F8
-_02053D08: .word FUN_02053B38
-
- thumb_func_start FUN_02053D0C
-FUN_02053D0C: ; 0x02053D0C
- push {r4-r6, lr}
- add r5, r1, #0x0
- mov r1, #0x63
- add r6, r2, #0x0
- lsl r1, r1, #0x2
- mov r2, #0x5
- mov r3, #0x4
- bl FUN_020061E8
- bl FUN_0201B6C8
- add r4, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_020238F4
- bl FUN_020239CC
- add r1, r0, #0x0
- add r0, r4, #0x4
- add r2, r6, #0x0
- bl FUN_02053D50
- add r0, r4, #0x0
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02053D3C
-FUN_02053D3C: ; 0x02053D3C
- push {r4, lr}
- add r4, r0, #0x0
- add r0, r1, #0x4
- bl FUN_02053D68
- add r0, r4, #0x0
- bl FUN_0200621C
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02053D50
-FUN_02053D50: ; 0x02053D50
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- add r6, r2, #0x0
- bl FUN_02053D70
- add r0, r5, #0x0
- add r1, r4, #0x0
- add r2, r6, #0x0
- bl FUN_02053D94
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02053D68
-FUN_02053D68: ; 0x02053D68
- ldr r3, _02053D6C ; =FUN_02053EF0
- bx r3
- .balign 4
-_02053D6C: .word FUN_02053EF0
-
- thumb_func_start FUN_02053D70
-FUN_02053D70: ; 0x02053D70
- push {r4, lr}
- add r4, r0, #0x0
- add r1, r4, #0x0
- mov r0, #0x2
- add r1, #0x30
- mov r2, #0x4
- bl FUN_02008C9C
- str r0, [r4, #0x0]
- mov r0, #0x10
- mov r1, #0x1
- bl FUN_0201E6E4
- mov r0, #0x10
- mov r1, #0x1
- bl FUN_0201E74C
- pop {r4, pc}
-
- thumb_func_start FUN_02053D94
-FUN_02053D94: ; 0x02053D94
- push {r3-r7, lr}
- sub sp, #0x18
- add r5, r0, #0x0
- str r1, [sp, #0x10]
- add r7, r2, #0x0
- mov r6, #0x0
- add r4, r5, #0x0
-_02053DA2:
- mov r0, #0x2
- add r1, r6, #0x0
- mov r2, #0x4
- bl FUN_02008DEC
- str r0, [r4, #0x8]
- add r6, r6, #0x1
- add r4, r4, #0x4
- cmp r6, #0x4
- blt _02053DA2
- ldr r0, [sp, #0x10]
- add r1, r5, #0x0
- lsl r0, r0, #0x2
- str r0, [sp, #0x14]
- ldr r3, _02053E78 ; =0x02105EC8
- ldr r2, [sp, #0x14]
- ldr r0, [r5, #0x8]
- ldr r2, [r3, r2]
- add r1, #0x18
- bl FUN_02053E8C
- str r0, [r5, #0x20]
- ldr r1, [r5, #0x18]
- mov r6, #0x0
- ldr r0, [r1, #0x8]
- cmp r0, #0x0
- ble _02053DF0
- add r4, r6, #0x0
-_02053DDA:
- ldr r0, [r1, #0x0]
- add r1, r7, #0x0
- ldr r0, [r0, r4]
- bl FUN_02009630
- ldr r1, [r5, #0x18]
- add r6, r6, #0x1
- ldr r0, [r1, #0x8]
- add r4, r4, #0x4
- cmp r6, r0
- blt _02053DDA
-_02053DF0:
- ldr r3, _02053E7C ; =0x02105ED0
- ldr r2, [sp, #0x14]
- add r1, r5, #0x0
- ldr r0, [r5, #0xc]
- ldr r2, [r3, r2]
- add r1, #0x1c
- bl FUN_02053E8C
- str r0, [r5, #0x24]
- ldr r1, [r5, #0x1c]
- mov r6, #0x0
- ldr r0, [r1, #0x8]
- cmp r0, #0x0
- ble _02053E24
- add r4, r6, #0x0
-_02053E0E:
- ldr r0, [r1, #0x0]
- add r1, r7, #0x0
- ldr r0, [r0, r4]
- bl FUN_02009630
- ldr r1, [r5, #0x1c]
- add r6, r6, #0x1
- ldr r0, [r1, #0x8]
- add r4, r4, #0x4
- cmp r6, r0
- blt _02053E0E
-_02053E24:
- ldr r0, [r5, #0x10]
- ldr r2, _02053E80 ; =0x02105F48
- mov r1, #0x0
- bl FUN_02053E8C
- str r0, [r5, #0x28]
- ldr r0, [r5, #0x14]
- ldr r2, _02053E84 ; =0x02105F64
- mov r1, #0x0
- bl FUN_02053E8C
- str r0, [r5, #0x2c]
- ldr r0, [r5, #0x18]
- bl FUN_02009B44
- ldr r0, [r5, #0x1c]
- bl FUN_02009DAC
- ldr r1, _02053E88 ; =0x02105F80
- mov r0, #0x4
- bl FUN_020161A4
- ldr r1, [r5, #0x10]
- add r4, r0, #0x0
- str r1, [sp, #0x0]
- ldr r1, [r5, #0x14]
- str r1, [sp, #0x4]
- mov r1, #0x0
- str r1, [sp, #0x8]
- str r1, [sp, #0xc]
- ldr r2, [r5, #0x8]
- ldr r3, [r5, #0xc]
- mov r1, #0x4
- bl FUN_02008BE0
- str r0, [r5, #0x4]
- add r0, r4, #0x0
- bl FUN_02016A18
- add sp, #0x18
- pop {r3-r7, pc}
- nop
-_02053E78: .word 0x02105EC8
-_02053E7C: .word 0x02105ED0
-_02053E80: .word 0x02105F48
-_02053E84: .word 0x02105F64
-_02053E88: .word 0x02105F80
-
- thumb_func_start FUN_02053E8C
-FUN_02053E8C: ; 0x02053E8C
- push {r3-r7, lr}
- add r7, r0, #0x0
- add r5, r1, #0x0
- add r6, r2, #0x0
- bl FUN_0200965C
- add r1, r0, #0x0
- mov r0, #0x4
- bl FUN_020169D8
- add r4, r0, #0x0
- mov r0, #0x4
- add r1, r6, #0x0
- bl FUN_020161A4
- add r6, r0, #0x0
- add r1, r4, #0x0
- mov r2, #0x4
- bl FUN_02009668
- add r0, r6, #0x0
- bl FUN_02016A18
- cmp r5, #0x0
- beq _02053ED0
- add r0, r4, #0x0
- bl FUN_020096CC
- mov r1, #0x4
- bl FUN_02009424
- str r0, [r5, #0x0]
- add r2, r0, #0x0
- b _02053ED2
-_02053ED0:
- mov r2, #0x0
-_02053ED2:
- add r0, r7, #0x0
- add r1, r4, #0x0
- mov r3, #0x4
- bl FUN_020093A8
- add r5, r0, #0x0
- add r0, r4, #0x0
- bl FUN_020096B4
- add r0, r4, #0x0
- bl FUN_02016A18
- add r0, r5, #0x0
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02053EF0
-FUN_02053EF0: ; 0x02053EF0
- push {r4-r6, lr}
- add r5, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_0201FD58
- mov r0, #0x0
- str r0, [r5, #0x0]
- ldr r0, [r5, #0x4]
- bl FUN_02008C80
- mov r0, #0x0
- str r0, [r5, #0x4]
- ldr r0, [r5, #0x18]
- bl FUN_02009C30
- ldr r0, [r5, #0x1c]
- bl FUN_02009E28
- mov r6, #0x0
- add r4, r5, #0x0
-_02053F18:
- ldr r0, [r4, #0x18]
- bl FUN_02009448
- add r6, r6, #0x1
- add r4, r4, #0x4
- cmp r6, #0x2
- blt _02053F18
- mov r4, #0x0
-_02053F28:
- ldr r0, [r5, #0x8]
- bl FUN_02008E2C
- add r4, r4, #0x1
- add r5, r5, #0x4
- cmp r4, #0x4
- blt _02053F28
- pop {r4-r6, pc}
-
- thumb_func_start FUN_02053F38
-FUN_02053F38: ; 0x02053F38
- push {r3-r5, lr}
- add r5, r1, #0x0
- mov r4, #0x10
- mov r3, #0x0
-_02053F40:
- strb r3, [r5, #0x0]
- add r5, r5, #0x1
- sub r4, r4, #0x1
- bne _02053F40
- cmp r2, #0x5
- bhi _02053FB6
- add r2, r2, r2
- add r2, pc
- ldrh r2, [r2, #0x6]
- lsl r2, r2, #0x10
- asr r2, r2, #0x10
- add pc, r2
-_02053F58: ; jump table (using 16-bit offset)
- .short _02053F64 - _02053F58 - 2; case 0
- .short _02053F72 - _02053F58 - 2; case 1
- .short _02053F80 - _02053F58 - 2; case 2
- .short _02053F8E - _02053F58 - 2; case 3
- .short _02053F9C - _02053F58 - 2; case 4
- .short _02053FAA - _02053F58 - 2; case 5
-_02053F64:
- ldr r2, _02053FC0 ; =FUN_02054088
- str r2, [r1, #0x4]
- ldr r2, _02053FC4 ; =FUN_020540C8
- str r2, [r1, #0x8]
- ldr r2, _02053FC8 ; =FUN_020540E8
- str r2, [r1, #0xc]
- b _02053FB6
-_02053F72:
- ldr r2, _02053FCC ; =FUN_02054168
- str r2, [r1, #0x4]
- ldr r2, _02053FD0 ; =FUN_020541A4
- str r2, [r1, #0x8]
- ldr r2, _02053FD4 ; =FUN_020541C4
- str r2, [r1, #0xc]
- b _02053FB6
-_02053F80:
- ldr r2, _02053FD8 ; =FUN_020541E8
- str r2, [r1, #0x4]
- ldr r2, _02053FDC ; =FUN_02054228
- str r2, [r1, #0x8]
- ldr r2, _02053FE0 ; =FUN_02054248
- str r2, [r1, #0xc]
- b _02053FB6
-_02053F8E:
- ldr r2, _02053FE4 ; =FUN_020542A4
- str r2, [r1, #0x4]
- ldr r2, _02053FE8 ; =FUN_020542E8
- str r2, [r1, #0x8]
- ldr r2, _02053FEC ; =FUN_02054308
- str r2, [r1, #0xc]
- b _02053FB6
-_02053F9C:
- ldr r2, _02053FF0 ; =FUN_020543D8
- str r2, [r1, #0x4]
- ldr r2, _02053FF4 ; =FUN_0205442C
- str r2, [r1, #0x8]
- ldr r2, _02053FF8 ; =FUN_0205444C
- str r2, [r1, #0xc]
- b _02053FB6
-_02053FAA:
- ldr r2, _02053FFC ; =FUN_02054508
- str r2, [r1, #0x4]
- ldr r2, _02054000 ; =FUN_0205454C
- str r2, [r1, #0x8]
- ldr r2, _02054004 ; =FUN_0205456C
- str r2, [r1, #0xc]
-_02053FB6:
- ldr r2, [r1, #0x4]
- add r0, r0, #0x4
- blx r2
- pop {r3-r5, pc}
- nop
-_02053FC0: .word FUN_02054088
-_02053FC4: .word FUN_020540C8
-_02053FC8: .word FUN_020540E8
-_02053FCC: .word FUN_02054168
-_02053FD0: .word FUN_020541A4
-_02053FD4: .word FUN_020541C4
-_02053FD8: .word FUN_020541E8
-_02053FDC: .word FUN_02054228
-_02053FE0: .word FUN_02054248
-_02053FE4: .word FUN_020542A4
-_02053FE8: .word FUN_020542E8
-_02053FEC: .word FUN_02054308
-_02053FF0: .word FUN_020543D8
-_02053FF4: .word FUN_0205442C
-_02053FF8: .word FUN_0205444C
-_02053FFC: .word FUN_02054508
-_02054000: .word FUN_0205454C
-_02054004: .word FUN_0205456C
-
- thumb_func_start FUN_02054008
-FUN_02054008: ; 0x02054008
- push {r3-r7, lr}
- sub sp, #0x30
- add r5, r0, #0x0
- add r7, sp, #0x0
- add r6, r3, #0x0
- mov r0, #0x0
- add r4, r1, #0x0
- add r3, r7, #0x0
- add r1, r0, #0x0
- stmia r3!, {r0-r1}
- stmia r3!, {r0-r1}
- stmia r3!, {r0-r1}
- stmia r3!, {r0-r1}
- stmia r3!, {r0-r1}
- stmia r3!, {r0-r1}
- ldr r0, [r5, #0x0]
- add r3, sp, #0x8
- str r0, [sp, #0x0]
- ldr r0, [r5, #0x4]
- ldr r1, [r0, #0x0]
- mov r0, #0x24
- mul r0, r4
- add r0, r1, r0
- str r0, [sp, #0x4]
- ldmia r2!, {r0-r1}
- stmia r3!, {r0-r1}
- ldr r0, [r2, #0x0]
- add r2, sp, #0x14
- str r0, [r3, #0x0]
- ldr r3, _0205406C ; =0x020F5C08
- ldmia r3!, {r0-r1}
- stmia r2!, {r0-r1}
- ldr r0, [r3, #0x0]
- str r0, [r2, #0x0]
- ldr r0, [sp, #0x48]
- str r6, [sp, #0x24]
- str r0, [sp, #0x28]
- mov r0, #0x4
- str r0, [sp, #0x2c]
- add r0, r7, #0x0
- bl FUN_0201FE94
- add r4, r0, #0x0
- bne _02054064
- bl ErrorHandling
-_02054064:
- add r0, r4, #0x0
- add sp, #0x30
- pop {r3-r7, pc}
- nop
-_0205406C: .word 0x020F5C08
-
- thumb_func_start FUN_02054070
-FUN_02054070: ; 0x02054070
- push {r4, lr}
- add r4, r0, #0x0
- ldr r1, [r4, #0x8]
- blx r1
- mov r1, #0x10
- mov r0, #0x0
-_0205407C:
- strb r0, [r4, #0x0]
- add r4, r4, #0x1
- sub r1, r1, #0x1
- bne _0205407C
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02054088
-FUN_02054088: ; 0x02054088
- push {r3-r5, lr}
- add r4, r0, #0x0
- add r5, r1, #0x0
- mov r0, #0x4
- mov r1, #0x14
- bl FUN_02016998
- str r0, [r5, #0x0]
- mov r2, #0x14
- mov r1, #0x0
-_0205409C:
- strb r1, [r0, #0x0]
- add r0, r0, #0x1
- sub r2, r2, #0x1
- bne _0205409C
- ldr r5, [r5, #0x0]
- mov r0, #0x7
- lsl r0, r0, #0x10
- str r0, [r5, #0x0]
- mov r0, #0x45
- lsl r0, r0, #0xc
- str r0, [r5, #0x4]
- mov r0, #0x1
- mov r1, #0x0
- str r0, [sp, #0x0]
- add r0, r4, #0x0
- add r2, r5, #0x0
- add r3, r1, #0x0
- bl FUN_02054008
- str r0, [r5, #0xc]
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_020540C8
-FUN_020540C8: ; 0x020540C8
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- cmp r0, #0x0
- beq _020540E4
- ldr r0, [r0, #0xc]
- bl FUN_0201FFC8
- ldr r1, [r4, #0x0]
- mov r0, #0x4
- bl FUN_02016A8C
- mov r0, #0x0
- str r0, [r4, #0x0]
-_020540E4:
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_020540E8
-FUN_020540E8: ; 0x020540E8
- push {r3-r6, lr}
- sub sp, #0xc
- ldr r4, [r0, #0x0]
- mov r2, #0x2
- ldr r0, [r4, #0x10]
- lsl r2, r2, #0xe
- cmp r0, r2
- bgt _0205415E
- add r6, r4, #0x0
- ldmia r6!, {r0-r1}
- add r5, sp, #0x0
- add r3, r5, #0x0
- stmia r5!, {r0-r1}
- ldr r0, [r6, #0x0]
- lsr r2, r2, #0x4
- str r0, [r5, #0x0]
- ldr r0, [r4, #0x10]
- ldr r1, [sp, #0x4]
- asr r0, r0, #0x4
- lsl r5, r0, #0x2
- ldr r0, _02054164 ; =0x020FFA38
- ldrsh r5, [r0, r5]
- asr r0, r5, #0x1f
- lsr r6, r5, #0x10
- lsl r0, r0, #0x10
- orr r0, r6
- lsl r6, r5, #0x10
- mov r5, #0x0
- add r2, r6, r2
- adc r0, r5
- lsl r0, r0, #0x14
- lsr r2, r2, #0xc
- orr r2, r0
- sub r0, r1, r2
- str r0, [sp, #0x4]
- ldr r0, [r4, #0xc]
- add r1, r3, #0x0
- bl FUN_02020044
- mov r1, #0x2
- ldr r0, [r4, #0x10]
- lsl r1, r1, #0xa
- add r0, r0, r1
- str r0, [r4, #0x10]
- ldr r0, [r4, #0xc]
- lsl r1, r1, #0x1
- bl FUN_020201E4
- mov r0, #0x2
- ldr r1, [r4, #0x10]
- lsl r0, r0, #0xe
- cmp r1, r0
- bne _02054158
- add sp, #0xc
- mov r0, #0x2
- pop {r3-r6, pc}
-_02054158:
- add sp, #0xc
- mov r0, #0x1
- pop {r3-r6, pc}
-_0205415E:
- mov r0, #0x0
- add sp, #0xc
- pop {r3-r6, pc}
- .balign 4
-_02054164: .word 0x020FFA38
-
- thumb_func_start FUN_02054168
-FUN_02054168: ; 0x02054168
- push {r3-r5, lr}
- add r4, r0, #0x0
- add r5, r1, #0x0
- mov r0, #0x4
- mov r1, #0x14
- bl FUN_02016998
- str r0, [r5, #0x0]
- mov r2, #0x14
- mov r1, #0x0
-_0205417C:
- strb r1, [r0, #0x0]
- add r0, r0, #0x1
- sub r2, r2, #0x1
- bne _0205417C
- ldr r5, [r5, #0x0]
- mov r0, #0x7
- lsl r0, r0, #0x10
- str r0, [r5, #0x0]
- mov r0, #0x6
- lsl r0, r0, #0x10
- mov r1, #0x1
- str r0, [r5, #0x4]
- add r0, r4, #0x0
- add r2, r5, #0x0
- add r3, r1, #0x0
- str r1, [sp, #0x0]
- bl FUN_02054008
- str r0, [r5, #0xc]
- pop {r3-r5, pc}
-
- thumb_func_start FUN_020541A4
-FUN_020541A4: ; 0x020541A4
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- cmp r0, #0x0
- beq _020541C0
- ldr r0, [r0, #0xc]
- bl FUN_0201FFC8
- ldr r1, [r4, #0x0]
- mov r0, #0x4
- bl FUN_02016A8C
- mov r0, #0x0
- str r0, [r4, #0x0]
-_020541C0:
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_020541C4
-FUN_020541C4: ; 0x020541C4
- push {r4, lr}
- ldr r4, [r0, #0x0]
- ldr r0, [r4, #0x10]
- cmp r0, #0x7
- bge _020541E2
- mov r1, #0x1
- ldr r0, [r4, #0xc]
- lsl r1, r1, #0xc
- bl FUN_020201E4
- ldr r0, [r4, #0x10]
- add r0, r0, #0x1
- str r0, [r4, #0x10]
- mov r0, #0x1
- pop {r4, pc}
-_020541E2:
- mov r0, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_020541E8
-FUN_020541E8: ; 0x020541E8
- push {r3-r5, lr}
- add r4, r0, #0x0
- add r5, r1, #0x0
- mov r0, #0x4
- mov r1, #0x14
- bl FUN_02016998
- str r0, [r5, #0x0]
- mov r2, #0x14
- mov r1, #0x0
-_020541FC:
- strb r1, [r0, #0x0]
- add r0, r0, #0x1
- sub r2, r2, #0x1
- bne _020541FC
- ldr r5, [r5, #0x0]
- mov r0, #0x7
- lsl r0, r0, #0x10
- str r0, [r5, #0x0]
- mov r0, #0x3
- lsl r0, r0, #0x12
- str r0, [r5, #0x4]
- mov r0, #0x1
- mov r1, #0x0
- str r0, [sp, #0x0]
- add r0, r4, #0x0
- add r2, r5, #0x0
- add r3, r1, #0x0
- bl FUN_02054008
- str r0, [r5, #0xc]
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02054228
-FUN_02054228: ; 0x02054228
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- cmp r0, #0x0
- beq _02054244
- ldr r0, [r0, #0xc]
- bl FUN_0201FFC8
- ldr r1, [r4, #0x0]
- mov r0, #0x4
- bl FUN_02016A8C
- mov r0, #0x0
- str r0, [r4, #0x0]
-_02054244:
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02054248
-FUN_02054248: ; 0x02054248
- push {r4, lr}
- ldr r4, [r0, #0x0]
- mov r0, #0x2
- ldr r1, [r4, #0x4]
- lsl r0, r0, #0xe
- add r0, r1, r0
- str r0, [r4, #0x4]
- ldr r0, [r4, #0xc]
- add r1, r4, #0x0
- bl FUN_02020044
- mov r1, #0x1
- ldr r0, [r4, #0xc]
- lsl r1, r1, #0xc
- bl FUN_020201E4
- ldr r0, [r4, #0x10]
- ldr r1, [r4, #0x4]
- cmp r0, #0x0
- bne _02054284
- mov r0, #0x6
- lsl r0, r0, #0x12
- cmp r1, r0
- blt _0205429A
- ldr r0, _020542A0 ; =0xFFFE0000
- str r0, [r4, #0x4]
- ldr r0, [r4, #0x10]
- add r0, r0, #0x1
- str r0, [r4, #0x10]
- b _0205429A
-_02054284:
- mov r0, #0x45
- lsl r0, r0, #0xc
- cmp r1, r0
- blt _0205429A
- str r0, [r4, #0x4]
- ldr r0, [r4, #0xc]
- add r1, r4, #0x0
- bl FUN_02020044
- mov r0, #0x0
- pop {r4, pc}
-_0205429A:
- mov r0, #0x1
- pop {r4, pc}
- nop
-_020542A0: .word 0xFFFE0000
-
- thumb_func_start FUN_020542A4
-FUN_020542A4: ; 0x020542A4
- push {r3-r5, lr}
- add r4, r0, #0x0
- add r5, r1, #0x0
- mov r0, #0x4
- mov r1, #0x18
- bl FUN_02016998
- str r0, [r5, #0x0]
- mov r2, #0x18
- mov r1, #0x0
-_020542B8:
- strb r1, [r0, #0x0]
- add r0, r0, #0x1
- sub r2, r2, #0x1
- bne _020542B8
- ldr r5, [r5, #0x0]
- mov r0, #0x7
- lsl r0, r0, #0x10
- str r0, [r5, #0x0]
- mov r0, #0x45
- lsl r0, r0, #0xc
- str r0, [r5, #0x4]
- mov r0, #0x1
- mov r1, #0x0
- str r0, [sp, #0x0]
- add r0, r4, #0x0
- add r2, r5, #0x0
- add r3, r1, #0x0
- bl FUN_02054008
- mov r1, #0x1
- str r0, [r5, #0xc]
- bl FUN_02020130
- pop {r3-r5, pc}
-
- thumb_func_start FUN_020542E8
-FUN_020542E8: ; 0x020542E8
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- cmp r0, #0x0
- beq _02054304
- ldr r0, [r0, #0xc]
- bl FUN_0201FFC8
- ldr r1, [r4, #0x0]
- mov r0, #0x4
- bl FUN_02016A8C
- mov r0, #0x0
- str r0, [r4, #0x0]
-_02054304:
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02054308
-FUN_02054308: ; 0x02054308
- push {r3-r5, lr}
- ldr r4, [r0, #0x0]
- mov r5, #0x1
- ldr r0, [r4, #0x10]
- cmp r0, #0x4
- bhi _020543CC
- add r1, r0, r0
- add r1, pc
- ldrh r1, [r1, #0x6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_02054320: ; jump table (using 16-bit offset)
- .short _0205432A - _02054320 - 2; case 0
- .short _02054348 - _02054320 - 2; case 1
- .short _02054376 - _02054320 - 2; case 2
- .short _020543A2 - _02054320 - 2; case 3
- .short _020543CA - _02054320 - 2; case 4
-_0205432A:
- ldr r1, [r4, #0x14]
- ldr r0, _020543D0 ; =0x00000333
- add r1, r1, r0
- str r1, [r4, #0x14]
- ldr r0, [r4, #0xc]
- bl FUN_020201E4
- ldr r1, [r4, #0x14]
- lsl r0, r5, #0xd
- cmp r1, r0
- blt _020543CC
- ldr r0, [r4, #0x10]
- add r0, r0, #0x1
- str r0, [r4, #0x10]
- b _020543CC
-_02054348:
- ldr r1, [r4, #0x4]
- ldr r0, _020543D4 ; =0xFFFE0000
- cmp r1, r0
- ble _02054368
- lsl r0, r5, #0xf
- sub r0, r1, r0
- str r0, [r4, #0x4]
- ldr r0, [r4, #0xc]
- add r1, r4, #0x0
- bl FUN_02020044
- ldr r0, [r4, #0xc]
- ldr r1, [r4, #0x14]
- bl FUN_020201E4
- b _020543CC
-_02054368:
- mov r0, #0x6
- lsl r0, r0, #0x12
- str r0, [r4, #0x4]
- ldr r0, [r4, #0x10]
- add r0, r0, #0x1
- str r0, [r4, #0x10]
- b _020543CC
-_02054376:
- ldr r1, [r4, #0x4]
- lsl r0, r5, #0xf
- sub r0, r1, r0
- str r0, [r4, #0x4]
- ldr r0, [r4, #0xc]
- add r1, r4, #0x0
- bl FUN_02020044
- ldr r0, [r4, #0xc]
- ldr r1, [r4, #0x14]
- bl FUN_020201E4
- mov r0, #0x4b
- ldr r1, [r4, #0x4]
- lsl r0, r0, #0xe
- cmp r1, r0
- bge _020543CC
- ldr r0, [r4, #0x10]
- mov r5, #0x2
- add r0, r0, #0x1
- str r0, [r4, #0x10]
- b _020543CC
-_020543A2:
- mov r1, #0x3
- ldr r2, [r4, #0x4]
- lsl r1, r1, #0x12
- cmp r2, r1
- ble _020543C4
- lsl r0, r5, #0xf
- sub r0, r2, r0
- str r0, [r4, #0x4]
- ldr r0, [r4, #0xc]
- add r1, r4, #0x0
- bl FUN_02020044
- ldr r0, [r4, #0xc]
- ldr r1, [r4, #0x14]
- bl FUN_020201E4
- b _020543CC
-_020543C4:
- add r0, r0, #0x1
- str r0, [r4, #0x10]
- b _020543CC
-_020543CA:
- mov r5, #0x0
-_020543CC:
- add r0, r5, #0x0
- pop {r3-r5, pc}
- .balign 4
-_020543D0: .word 0x00000333
-_020543D4: .word 0xFFFE0000
-
- thumb_func_start FUN_020543D8
-FUN_020543D8: ; 0x020543D8
- push {r3-r5, lr}
- add r4, r0, #0x0
- add r5, r1, #0x0
- mov r0, #0x4
- mov r1, #0x18
- bl FUN_02016998
- str r0, [r5, #0x0]
- mov r2, #0x18
- mov r1, #0x0
-_020543EC:
- strb r1, [r0, #0x0]
- add r0, r0, #0x1
- sub r2, r2, #0x1
- bne _020543EC
- ldr r5, [r5, #0x0]
- mov r0, #0x7
- lsl r0, r0, #0x10
- str r0, [r5, #0x0]
- mov r0, #0x45
- lsl r0, r0, #0xc
- str r0, [r5, #0x4]
- mov r0, #0x1
- mov r1, #0x0
- str r0, [sp, #0x0]
- add r0, r4, #0x0
- add r2, r5, #0x0
- add r3, r1, #0x0
- bl FUN_02054008
- mov r1, #0x1
- str r0, [r5, #0xc]
- bl FUN_02020130
- mov r0, #0x2
- lsl r0, r0, #0xc
- str r0, [r5, #0x14]
- ldr r0, [r5, #0xc]
- mov r1, #0x0
- bl FUN_020200A0
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0205442C
-FUN_0205442C: ; 0x0205442C
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- cmp r0, #0x0
- beq _02054448
- ldr r0, [r0, #0xc]
- bl FUN_0201FFC8
- ldr r1, [r4, #0x0]
- mov r0, #0x4
- bl FUN_02016A8C
- mov r0, #0x0
- str r0, [r4, #0x0]
-_02054448:
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0205444C
-FUN_0205444C: ; 0x0205444C
- push {r4-r7, lr}
- sub sp, #0xc
- ldr r4, [r0, #0x0]
- mov r5, #0x1
- ldr r0, [r4, #0x10]
- cmp r0, #0x3
- bhi _020544F8
- add r1, r0, r0
- add r1, pc
- ldrh r1, [r1, #0x6]
- lsl r1, r1, #0x10
- asr r1, r1, #0x10
- add pc, r1
-_02054466: ; jump table (using 16-bit offset)
- .short _0205446E - _02054466 - 2; case 0
- .short _0205447E - _02054466 - 2; case 1
- .short _020544DA - _02054466 - 2; case 2
- .short _020544F6 - _02054466 - 2; case 3
-_0205446E:
- ldr r0, [r4, #0xc]
- add r1, r5, #0x0
- bl FUN_020200A0
- ldr r0, [r4, #0x10]
- add r0, r0, #0x1
- str r0, [r4, #0x10]
- b _020544F8
-_0205447E:
- ldr r2, [r4, #0x14]
- lsl r1, r5, #0xf
- cmp r2, r1
- bgt _020544D4
- add r6, r4, #0x0
- ldmia r6!, {r0-r1}
- add r3, sp, #0x0
- add r2, r3, #0x0
- stmia r3!, {r0-r1}
- ldr r0, [r6, #0x0]
- mov r7, #0x0
- str r0, [r3, #0x0]
- ldr r0, [r4, #0x14]
- ldr r6, [sp, #0x4]
- asr r0, r0, #0x4
- lsl r1, r0, #0x2
- ldr r0, _02054500 ; =0x020FFA38
- ldrsh r0, [r0, r1]
- asr r3, r0, #0x1f
- lsr r1, r0, #0xf
- lsl r3, r3, #0x11
- orr r3, r1
- lsl r1, r0, #0x11
- lsl r0, r5, #0xb
- add r0, r1, r0
- adc r3, r7
- lsl r1, r3, #0x14
- lsr r0, r0, #0xc
- orr r0, r1
- sub r0, r6, r0
- str r0, [sp, #0x4]
- ldr r0, [r4, #0xc]
- add r1, r2, #0x0
- bl FUN_02020044
- ldr r0, [r4, #0x14]
- lsl r1, r5, #0xc
- add r0, r0, r1
- str r0, [r4, #0x14]
- ldr r0, [r4, #0xc]
- bl FUN_020201E4
- b _020544F8
-_020544D4:
- add r0, r0, #0x1
- str r0, [r4, #0x10]
- b _020544F8
-_020544DA:
- ldr r1, [r4, #0x14]
- ldr r0, _02054504 ; =0x00000666
- sub r1, r1, r0
- str r1, [r4, #0x14]
- ldr r0, [r4, #0xc]
- bl FUN_020201E4
- ldr r0, [r4, #0x14]
- cmp r0, #0x0
- bgt _020544F8
- ldr r0, [r4, #0x10]
- add r0, r0, #0x1
- str r0, [r4, #0x10]
- b _020544F8
-_020544F6:
- mov r5, #0x0
-_020544F8:
- add r0, r5, #0x0
- add sp, #0xc
- pop {r4-r7, pc}
- nop
-_02054500: .word 0x020FFA38
-_02054504: .word 0x00000666
-
- thumb_func_start FUN_02054508
-FUN_02054508: ; 0x02054508
- push {r3-r5, lr}
- add r4, r0, #0x0
- add r5, r1, #0x0
- mov r0, #0x4
- mov r1, #0x14
- bl FUN_02016998
- str r0, [r5, #0x0]
- mov r2, #0x14
- mov r1, #0x0
-_0205451C:
- strb r1, [r0, #0x0]
- add r0, r0, #0x1
- sub r2, r2, #0x1
- bne _0205451C
- ldr r5, [r5, #0x0]
- mov r0, #0x7
- lsl r0, r0, #0x10
- str r0, [r5, #0x0]
- mov r0, #0x6
- lsl r0, r0, #0x10
- mov r1, #0x1
- str r0, [r5, #0x4]
- add r0, r4, #0x0
- add r2, r5, #0x0
- add r3, r1, #0x0
- str r1, [sp, #0x0]
- bl FUN_02054008
- mov r1, #0x1
- str r0, [r5, #0xc]
- bl FUN_02020130
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_0205454C
-FUN_0205454C: ; 0x0205454C
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, [r4, #0x0]
- cmp r0, #0x0
- beq _02054568
- ldr r0, [r0, #0xc]
- bl FUN_0201FFC8
- ldr r1, [r4, #0x0]
- mov r0, #0x4
- bl FUN_02016A8C
- mov r0, #0x0
- str r0, [r4, #0x0]
-_02054568:
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0205456C
-FUN_0205456C: ; 0x0205456C
- push {r4, lr}
- ldr r4, [r0, #0x0]
- ldr r0, [r4, #0x10]
- cmp r0, #0x8
- bge _0205458A
- mov r1, #0x1
- ldr r0, [r4, #0xc]
- lsl r1, r1, #0xc
- bl FUN_020201E4
- ldr r0, [r4, #0x10]
- add r0, r0, #0x1
- str r0, [r4, #0x10]
- mov r0, #0x1
- pop {r4, pc}
-_0205458A:
- mov r0, #0x0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02054590
-FUN_02054590: ; 0x02054590
- push {r4, lr}
- add r4, r0, #0x0
- cmp r1, #0x1
- bne _0205459C
- bl FUN_0201BD5C
-_0205459C:
- mov r1, #0x1a
- add r0, r4, #0x0
- lsl r1, r1, #0x4
- mov r2, #0x4
- bl FUN_02002ED0
- mov r1, #0x6
- add r0, r4, #0x0
- lsl r1, r1, #0x6
- mov r2, #0x4
- bl FUN_02002EEC
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_020545B8
-FUN_020545B8: ; 0x020545B8
- push {lr}
- sub sp, #0x14
- cmp r2, #0x3
- bne _020545E0
- mov r2, #0x13
- str r2, [sp, #0x0]
- mov r2, #0x1b
- str r2, [sp, #0x4]
- mov r2, #0x4
- str r2, [sp, #0x8]
- mov r2, #0xc
- str r2, [sp, #0xc]
- ldr r2, _02054604 ; =0x0000032D
- mov r3, #0x2
- str r2, [sp, #0x10]
- mov r2, #0x3
- bl FUN_02019064
- add sp, #0x14
- pop {pc}
-_020545E0:
- mov r2, #0x13
- str r2, [sp, #0x0]
- mov r2, #0x1b
- str r2, [sp, #0x4]
- mov r2, #0x4
- str r2, [sp, #0x8]
- mov r2, #0xc
- str r2, [sp, #0xc]
- mov r2, #0x65
- lsl r2, r2, #0x2
- str r2, [sp, #0x10]
- mov r2, #0x7
- mov r3, #0x2
- bl FUN_02019064
- add sp, #0x14
- pop {pc}
- nop
-_02054604: .word 0x0000032D
-
- thumb_func_start FUN_02054608
-FUN_02054608: ; 0x02054608
- push {r4-r6, lr}
- sub sp, #0x8
- add r4, r1, #0x0
- add r5, r0, #0x0
- bl FUN_0201AB08
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl FUN_02025084
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x0]
- mov r0, #0x4
- str r0, [sp, #0x4]
- ldr r0, [r5, #0x0]
- ldr r2, _02054648 ; =0x000003E2
- add r1, r6, #0x0
- mov r3, #0xa
- bl FUN_0200CD68
- add r0, r5, #0x0
- bl FUN_0205464C
- ldr r2, _02054648 ; =0x000003E2
- add r0, r5, #0x0
- mov r1, #0x0
- mov r3, #0xa
- bl FUN_0200D0BC
- add sp, #0x8
- pop {r4-r6, pc}
- .balign 4
-_02054648: .word 0x000003E2
-
- thumb_func_start FUN_0205464C
-FUN_0205464C: ; 0x0205464C
- ldr r3, _02054654 ; =FUN_02019620
- mov r1, #0xf
- bx r3
- nop
-_02054654: .word FUN_02019620
-
- thumb_func_start FUN_02054658
-FUN_02054658: ; 0x02054658
- push {r3-r6, lr}
- sub sp, #0xc
- add r5, r0, #0x0
- add r0, r3, #0x0
- add r4, r1, #0x0
- add r6, r2, #0x0
- bl FUN_02002B60
- mov r0, #0x0
- bl FUN_02002B7C
- mov r0, #0x0
- bl FUN_02002BB8
- add r0, r6, #0x0
- bl FUN_02024FF4
- mov r3, #0x0
- str r3, [sp, #0x0]
- str r0, [sp, #0x4]
- add r0, r5, #0x0
- mov r1, #0x1
- add r2, r4, #0x0
- str r3, [sp, #0x8]
- bl FUN_0201BD84
- add sp, #0xc
- pop {r3-r6, pc}
-
- thumb_func_start FUN_02054690
-FUN_02054690: ; 0x02054690
- push {r4-r7, lr}
- sub sp, #0xc
- add r5, r0, #0x0
- add r0, sp, #0x10
- ldrb r0, [r0, #0x10]
- add r6, r1, #0x0
- add r7, r2, #0x0
- add r4, r3, #0x0
- bl FUN_02002B60
- ldr r0, [sp, #0x24]
- bl FUN_02002B7C
- mov r0, #0x0
- bl FUN_02002BB8
- mov r3, #0x0
- str r3, [sp, #0x0]
- str r4, [sp, #0x4]
- add r0, r5, #0x0
- add r1, r7, #0x0
- add r2, r6, #0x0
- str r3, [sp, #0x8]
- bl FUN_0201BD84
- add sp, #0xc
- pop {r4-r7, pc}
- .balign 4
-
- thumb_func_start FUN_020546C8
-FUN_020546C8: ; 0x020546C8
- push {r3, lr}
- bl FUN_0201BD70
- cmp r0, #0x0
- bne _020546D6
- mov r0, #0x1
- b _020546D8
-_020546D6:
- mov r0, #0x0
-_020546D8:
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- pop {r3, pc}
- .balign 4
-
- thumb_func_start FUN_020546E0
-FUN_020546E0: ; 0x020546E0
- push {r4-r5, lr}
- sub sp, #0x14
- cmp r2, #0x1
- bhi _020546EE
- mov r4, #0x9
- mov r5, #0x14
- b _020546F2
-_020546EE:
- mov r4, #0x2
- mov r5, #0x1b
-_020546F2:
- cmp r3, #0x3
- bne _0205471A
- mov r2, #0x13
- str r2, [sp, #0x0]
- lsl r2, r5, #0x18
- lsr r2, r2, #0x18
- str r2, [sp, #0x4]
- mov r2, #0x4
- str r2, [sp, #0x8]
- mov r2, #0x9
- str r2, [sp, #0xc]
- ldr r2, _02054740 ; =0x0000032D
- lsl r3, r4, #0x18
- str r2, [sp, #0x10]
- mov r2, #0x3
- lsr r3, r3, #0x18
- bl FUN_02019064
- add sp, #0x14
- pop {r4-r5, pc}
-_0205471A:
- mov r2, #0x13
- str r2, [sp, #0x0]
- lsl r2, r5, #0x18
- lsr r2, r2, #0x18
- str r2, [sp, #0x4]
- mov r2, #0x4
- str r2, [sp, #0x8]
- mov r2, #0x9
- str r2, [sp, #0xc]
- mov r2, #0x65
- lsl r2, r2, #0x2
- lsl r3, r4, #0x18
- str r2, [sp, #0x10]
- mov r2, #0x7
- lsr r3, r3, #0x18
- bl FUN_02019064
- add sp, #0x14
- pop {r4-r5, pc}
- .balign 4
-_02054740: .word 0x0000032D
-
- thumb_func_start FUN_02054744
-FUN_02054744: ; 0x02054744
- push {r3-r6, lr}
- sub sp, #0xc
- add r4, r1, #0x0
- add r5, r0, #0x0
- add r6, r2, #0x0
- bl FUN_0201AB08
- add r1, r0, #0x0
- lsl r0, r4, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x0]
- str r6, [sp, #0x4]
- mov r0, #0x4
- str r0, [sp, #0x8]
- ldr r0, [r5, #0x0]
- ldr r2, _02054788 ; =0x00000399
- mov r3, #0x9
- bl FUN_0200D300
- add r0, r5, #0x0
- mov r1, #0xf
- bl FUN_02019620
- lsl r0, r4, #0x18
- lsr r0, r0, #0x18
- str r0, [sp, #0x0]
- ldr r2, _02054788 ; =0x00000399
- add r0, r5, #0x0
- mov r1, #0x0
- mov r3, #0x9
- bl FUN_0200D6F8
- add sp, #0xc
- pop {r3-r6, pc}
- .balign 4
-_02054788: .word 0x00000399
-
- thumb_func_start FUN_0205478C
-FUN_0205478C: ; 0x0205478C
- cmp r0, #0x2
- bne _02054794
- mov r0, #0x1
- bx lr
-_02054794:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_02054798
-FUN_02054798: ; 0x02054798
- cmp r0, #0x3
- bne _020547A0
- mov r0, #0x1
- bx lr
-_020547A0:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_020547A4
-FUN_020547A4: ; 0x020547A4
- cmp r0, #0x80
- bne _020547AC
- mov r0, #0x1
- bx lr
-_020547AC:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_020547B0
-FUN_020547B0: ; 0x020547B0
- cmp r0, #0x69
- bne _020547B8
- mov r0, #0x1
- bx lr
-_020547B8:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_020547BC
-FUN_020547BC: ; 0x020547BC
- cmp r0, #0x62
- bne _020547C4
- mov r0, #0x1
- bx lr
-_020547C4:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_020547C8
-FUN_020547C8: ; 0x020547C8
- cmp r0, #0x63
- bne _020547D0
- mov r0, #0x1
- bx lr
-_020547D0:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_020547D4
-FUN_020547D4: ; 0x020547D4
- cmp r0, #0x64
- bne _020547DC
- mov r0, #0x1
- bx lr
-_020547DC:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_020547E0
-FUN_020547E0: ; 0x020547E0
- cmp r0, #0x65
- bne _020547E8
- mov r0, #0x1
- bx lr
-_020547E8:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_020547EC
-FUN_020547EC: ; 0x020547EC
- cmp r0, #0x6c
- bne _020547F4
- mov r0, #0x1
- bx lr
-_020547F4:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_020547F8
-FUN_020547F8: ; 0x020547F8
- cmp r0, #0x6d
- bne _02054800
- mov r0, #0x1
- bx lr
-_02054800:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_02054804
-FUN_02054804: ; 0x02054804
- cmp r0, #0x6e
- bne _0205480C
- mov r0, #0x1
- bx lr
-_0205480C:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_02054810
-FUN_02054810: ; 0x02054810
- cmp r0, #0x6f
- bne _02054818
- mov r0, #0x1
- bx lr
-_02054818:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_0205481C
-FUN_0205481C: ; 0x0205481C
- ldr r1, _0205482C ; =0x020F5C14
- ldrb r1, [r1, r0]
- mov r0, #0x1
- tst r1, r0
- bne _02054828
- mov r0, #0x0
-_02054828:
- bx lr
- nop
-_0205482C: .word 0x020F5C14
-
- thumb_func_start FUN_02054830
-FUN_02054830: ; 0x02054830
- cmp r0, #0x21
- bne _02054838
- mov r0, #0x1
- bx lr
-_02054838:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_0205483C
-FUN_0205483C: ; 0x0205483C
- cmp r0, #0x17
- bne _02054844
- mov r0, #0x1
- bx lr
-_02054844:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_02054848
-FUN_02054848: ; 0x02054848
- cmp r0, #0x3a
- bne _02054850
- mov r0, #0x1
- bx lr
-_02054850:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_02054854
-FUN_02054854: ; 0x02054854
- cmp r0, #0x3b
- bne _0205485C
- mov r0, #0x1
- bx lr
-_0205485C:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_02054860
-FUN_02054860: ; 0x02054860
- cmp r0, #0x39
- bne _02054868
- mov r0, #0x1
- bx lr
-_02054868:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_0205486C
-FUN_0205486C: ; 0x0205486C
- cmp r0, #0x38
- bne _02054874
- mov r0, #0x1
- bx lr
-_02054874:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_02054878
-FUN_02054878: ; 0x02054878
- cmp r0, #0x83
- bne _02054880
- mov r0, #0x1
- bx lr
-_02054880:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_02054884
-FUN_02054884: ; 0x02054884
- cmp r0, #0x85
- bne _0205488C
- mov r0, #0x1
- bx lr
-_0205488C:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_02054890
-FUN_02054890: ; 0x02054890
- cmp r0, #0x56
- bne _02054898
- mov r0, #0x1
- bx lr
-_02054898:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_0205489C
-FUN_0205489C: ; 0x0205489C
- cmp r0, #0x57
- bne _020548A4
- mov r0, #0x1
- bx lr
-_020548A4:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_020548A8
-FUN_020548A8: ; 0x020548A8
- cmp r0, #0x58
- bne _020548B0
- mov r0, #0x1
- bx lr
-_020548B0:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_020548B4
-FUN_020548B4: ; 0x020548B4
- cmp r0, #0x59
- bne _020548BC
- mov r0, #0x1
- bx lr
-_020548BC:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_020548C0
-FUN_020548C0: ; 0x020548C0
- cmp r0, #0x6a
- bne _020548C8
- mov r0, #0x1
- bx lr
-_020548C8:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_020548CC
-FUN_020548CC: ; 0x020548CC
- cmp r0, #0x6b
- bne _020548D4
- mov r0, #0x1
- bx lr
-_020548D4:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_020548D8
-FUN_020548D8: ; 0x020548D8
- cmp r0, #0x5e
- bne _020548E0
- mov r0, #0x1
- bx lr
-_020548E0:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_020548E4
-FUN_020548E4: ; 0x020548E4
- cmp r0, #0x5f
- bne _020548EC
- mov r0, #0x1
- bx lr
-_020548EC:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_020548F0
-FUN_020548F0: ; 0x020548F0
- cmp r0, #0x20
- bne _020548F8
- mov r0, #0x1
- bx lr
-_020548F8:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_020548FC
-FUN_020548FC: ; 0x020548FC
- cmp r0, #0x4b
- bne _02054904
- mov r0, #0x1
- bx lr
-_02054904:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_02054908
-FUN_02054908: ; 0x02054908
- cmp r0, #0x4c
- bne _02054910
- mov r0, #0x1
- bx lr
-_02054910:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_02054914
-FUN_02054914: ; 0x02054914
- cmp r0, #0xe0
- bne _0205491C
- mov r0, #0x1
- bx lr
-_0205491C:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_02054920
-FUN_02054920: ; 0x02054920
- cmp r0, #0xea
- bne _02054928
- mov r0, #0x1
- bx lr
-_02054928:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_0205492C
-FUN_0205492C: ; 0x0205492C
- cmp r0, #0xe1
- bne _02054934
- mov r0, #0x1
- bx lr
-_02054934:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_02054938
-FUN_02054938: ; 0x02054938
- cmp r0, #0xe2
- bne _02054940
- mov r0, #0x1
- bx lr
-_02054940:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_02054944
-FUN_02054944: ; 0x02054944
- cmp r0, #0xe4
- bne _0205494C
- mov r0, #0x1
- bx lr
-_0205494C:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_02054950
-FUN_02054950: ; 0x02054950
- cmp r0, #0xe5
- bne _02054958
- mov r0, #0x1
- bx lr
-_02054958:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_0205495C
-FUN_0205495C: ; 0x0205495C
- cmp r0, #0xeb
- bne _02054964
- mov r0, #0x1
- bx lr
-_02054964:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_02054968
-FUN_02054968: ; 0x02054968
- cmp r0, #0xec
- bne _02054970
- mov r0, #0x1
- bx lr
-_02054970:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_02054974
-FUN_02054974: ; 0x02054974
- cmp r0, #0xa4
- beq _0205497C
- cmp r0, #0xa5
- bne _02054980
-_0205497C:
- mov r0, #0x1
- bx lr
-_02054980:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_02054984
-FUN_02054984: ; 0x02054984
- cmp r0, #0xa5
- bne _0205498C
- mov r0, #0x1
- bx lr
-_0205498C:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_02054990
-FUN_02054990: ; 0x02054990
- cmp r0, #0xa6
- beq _02054998
- cmp r0, #0xa7
- bne _0205499C
-_02054998:
- mov r0, #0x1
- bx lr
-_0205499C:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_020549A0
-FUN_020549A0: ; 0x020549A0
- cmp r0, #0xa7
- bne _020549A8
- mov r0, #0x1
- bx lr
-_020549A8:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_020549AC
-FUN_020549AC: ; 0x020549AC
- add r0, #0x5f
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- mov r3, #0x0
- cmp r0, #0x7
- bhi _020549C6
- mov r1, #0x1
- add r2, r1, #0x0
- lsl r2, r0
- mov r0, #0x87
- tst r0, r2
- beq _020549C6
- add r3, r1, #0x0
-_020549C6:
- add r0, r3, #0x0
- bx lr
- .balign 4
-
- thumb_func_start FUN_020549CC
-FUN_020549CC: ; 0x020549CC
- cmp r0, #0xa8
- bne _020549D4
- mov r0, #0x1
- bx lr
-_020549D4:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_020549D8
-FUN_020549D8: ; 0x020549D8
- cmp r0, #0xa1
- bne _020549E0
- mov r0, #0x1
- bx lr
-_020549E0:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_020549E4
-FUN_020549E4: ; 0x020549E4
- cmp r0, #0xa2
- bne _020549EC
- mov r0, #0x1
- bx lr
-_020549EC:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_020549F0
-FUN_020549F0: ; 0x020549F0
- cmp r0, #0xa3
- bne _020549F8
- mov r0, #0x1
- bx lr
-_020549F8:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_020549FC
-FUN_020549FC: ; 0x020549FC
- cmp r0, #0xd9
- beq _02054A04
- cmp r0, #0xda
- bne _02054A08
-_02054A04:
- mov r0, #0x1
- bx lr
-_02054A08:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_02054A0C
-FUN_02054A0C: ; 0x02054A0C
- cmp r0, #0xd9
- bne _02054A14
- mov r0, #0x1
- bx lr
-_02054A14:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_02054A18
-FUN_02054A18: ; 0x02054A18
- cmp r0, #0xda
- bne _02054A20
- mov r0, #0x1
- bx lr
-_02054A20:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_02054A24
-FUN_02054A24: ; 0x02054A24
- cmp r0, #0xd7
- bne _02054A2C
- mov r0, #0x1
- bx lr
-_02054A2C:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_02054A30
-FUN_02054A30: ; 0x02054A30
- cmp r0, #0xd8
- bne _02054A38
- mov r0, #0x1
- bx lr
-_02054A38:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_02054A3C
-FUN_02054A3C: ; 0x02054A3C
- cmp r0, #0x8
- bne _02054A44
- mov r0, #0x1
- bx lr
-_02054A44:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_02054A48
-FUN_02054A48: ; 0x02054A48
- cmp r0, #0x13
- bne _02054A50
- mov r0, #0x1
- bx lr
-_02054A50:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_02054A54
-FUN_02054A54: ; 0x02054A54
- cmp r0, #0xdb
- bne _02054A5C
- mov r0, #0x1
- bx lr
-_02054A5C:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_02054A60
-FUN_02054A60: ; 0x02054A60
- add r0, #0xce
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- mov r3, #0x0
- cmp r0, #0x17
- bhi _02054A7A
- mov r1, #0x1
- add r2, r1, #0x0
- lsl r2, r0
- ldr r0, _02054A80 ; =0x0080000D
- tst r0, r2
- beq _02054A7A
- add r3, r1, #0x0
-_02054A7A:
- add r0, r3, #0x0
- bx lr
- nop
-_02054A80: .word 0x0080000D
-
- thumb_func_start FUN_02054A84
-FUN_02054A84: ; 0x02054A84
- add r0, #0xcd
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- mov r3, #0x0
- cmp r0, #0x16
- bhi _02054A9E
- mov r1, #0x1
- add r2, r1, #0x0
- lsl r2, r0
- ldr r0, _02054AA4 ; =0x00400019
- tst r0, r2
- beq _02054A9E
- add r3, r1, #0x0
-_02054A9E:
- add r0, r3, #0x0
- bx lr
- nop
-_02054AA4: .word 0x00400019
-
- thumb_func_start FUN_02054AA8
-FUN_02054AA8: ; 0x02054AA8
- add r0, #0xcf
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- mov r3, #0x0
- cmp r0, #0x19
- bhi _02054AC2
- mov r1, #0x1
- add r2, r1, #0x0
- lsl r2, r0
- ldr r0, _02054AC8 ; =0x02000051
- tst r0, r2
- beq _02054AC2
- add r3, r1, #0x0
-_02054AC2:
- add r0, r3, #0x0
- bx lr
- nop
-_02054AC8: .word 0x02000051
-
- thumb_func_start FUN_02054ACC
-FUN_02054ACC: ; 0x02054ACC
- add r0, #0xd0
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- mov r3, #0x0
- cmp r0, #0x1a
- bhi _02054AE6
- mov r1, #0x1
- add r2, r1, #0x0
- lsl r2, r0
- ldr r0, _02054AEC ; =0x04000051
- tst r0, r2
- beq _02054AE6
- add r3, r1, #0x0
-_02054AE6:
- add r0, r3, #0x0
- bx lr
- nop
-_02054AEC: .word 0x04000051
-
- thumb_func_start FUN_02054AF0
-FUN_02054AF0: ; 0x02054AF0
- cmp r0, #0x16
- bne _02054AF8
- mov r0, #0x1
- bx lr
-_02054AF8:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_02054AFC
-FUN_02054AFC: ; 0x02054AFC
- ldr r1, _02054B10 ; =0x020F5C14
- ldrb r1, [r1, r0]
- mov r0, #0x2
- tst r0, r1
- beq _02054B0A
- mov r0, #0x1
- bx lr
-_02054B0A:
- mov r0, #0x0
- bx lr
- nop
-_02054B10: .word 0x020F5C14
-
- thumb_func_start FUN_02054B14
-FUN_02054B14: ; 0x02054B14
- cmp r0, #0x86
- bne _02054B1C
- mov r0, #0x1
- bx lr
-_02054B1C:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_02054B20
-FUN_02054B20: ; 0x02054B20
- cmp r0, #0x16
- beq _02054B28
- cmp r0, #0x10
- bne _02054B2C
-_02054B28:
- mov r0, #0x1
- bx lr
-_02054B2C:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_02054B30
-FUN_02054B30: ; 0x02054B30
- cmp r0, #0x40
- bne _02054B38
- mov r0, #0x1
- bx lr
-_02054B38:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_02054B3C
-FUN_02054B3C: ; 0x02054B3C
- cmp r0, #0x41
- bne _02054B44
- mov r0, #0x1
- bx lr
-_02054B44:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_02054B48
-FUN_02054B48: ; 0x02054B48
- cmp r0, #0x42
- bne _02054B50
- mov r0, #0x1
- bx lr
-_02054B50:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_02054B54
-FUN_02054B54: ; 0x02054B54
- cmp r0, #0x43
- bne _02054B5C
- mov r0, #0x1
- bx lr
-_02054B5C:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_02054B60
-FUN_02054B60: ; 0x02054B60
- cmp r0, #0x67
- bne _02054B68
- mov r0, #0x1
- bx lr
-_02054B68:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_02054B6C
-FUN_02054B6C: ; 0x02054B6C
- cmp r0, #0x70
- bne _02054B74
- mov r0, #0x1
- bx lr
-_02054B74:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_02054B78
-FUN_02054B78: ; 0x02054B78
- add r0, #0x8f
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- cmp r0, #0xc
- bhi _02054B86
- mov r0, #0x1
- bx lr
-_02054B86:
- mov r0, #0x0
- bx lr
- .balign 4
-
- thumb_func_start FUN_02054B8C
-FUN_02054B8C: ; 0x02054B8C
- add r0, #0x8d
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- mov r3, #0x0
- cmp r0, #0x9
- bhi _02054BA6
- mov r1, #0x1
- add r2, r1, #0x0
- lsl r2, r0
- ldr r0, _02054BAC ; =0x00000221
- tst r0, r2
- beq _02054BA6
- add r3, r1, #0x0
-_02054BA6:
- add r0, r3, #0x0
- bx lr
- nop
-_02054BAC: .word 0x00000221
-
- thumb_func_start FUN_02054BB0
-FUN_02054BB0: ; 0x02054BB0
- add r0, #0x8c
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- mov r3, #0x0
- cmp r0, #0x9
- bhi _02054BCA
- mov r1, #0x1
- add r2, r1, #0x0
- lsl r2, r0
- ldr r0, _02054BD0 ; =0x00000221
- tst r0, r2
- beq _02054BCA
- add r3, r1, #0x0
-_02054BCA:
- add r0, r3, #0x0
- bx lr
- nop
-_02054BD0: .word 0x00000221
-
- thumb_func_start FUN_02054BD4
-FUN_02054BD4: ; 0x02054BD4
- cmp r0, #0x75
- bne _02054BDC
- mov r0, #0x1
- bx lr
-_02054BDC:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_02054BE0
-FUN_02054BE0: ; 0x02054BE0
- add r0, #0x8a
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- cmp r0, #0x3
- bhi _02054BEE
- mov r0, #0x1
- bx lr
-_02054BEE:
- mov r0, #0x0
- bx lr
- .balign 4
-
- thumb_func_start FUN_02054BF4
-FUN_02054BF4: ; 0x02054BF4
- add r0, #0x86
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- cmp r0, #0x3
- bhi _02054C02
- mov r0, #0x1
- bx lr
-_02054C02:
- mov r0, #0x0
- bx lr
- .balign 4
-
- thumb_func_start FUN_02054C08
-FUN_02054C08: ; 0x02054C08
- cmp r0, #0xff
- bne _02054C10
- mov r0, #0x1
- bx lr
-_02054C10:
- mov r0, #0x0
- bx lr
-
- thumb_func_start FUN_02054C14
-FUN_02054C14: ; 0x02054C14
- push {r4, lr}
- mov r1, #0xa
- add r4, r0, #0x0
- blx _u32_div_f
- cmp r0, #0x0
- bne _02054C26
- mov r0, #0x1
- pop {r4, pc}
-_02054C26:
- add r0, r4, #0x0
- mov r1, #0x64
- blx _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
- blx _u32_div_f
- cmp r0, #0x0
- bne _02054C48
- mov r0, #0x3
- pop {r4, pc}
-_02054C48:
- ldr r1, _02054C9C ; =0x00002710
- add r0, r4, #0x0
- blx _u32_div_f
- cmp r0, #0x0
- bne _02054C58
- mov r0, #0x4
- pop {r4, pc}
-_02054C58:
- ldr r1, _02054CA0 ; =0x000186A0
- add r0, r4, #0x0
- blx _u32_div_f
- cmp r0, #0x0
- bne _02054C68
- mov r0, #0x5
- pop {r4, pc}
-_02054C68:
- ldr r1, _02054CA4 ; =0x000F4240
- add r0, r4, #0x0
- blx _u32_div_f
- cmp r0, #0x0
- bne _02054C78
- mov r0, #0x6
- pop {r4, pc}
-_02054C78:
- ldr r1, _02054CA8 ; =0x00989680
- add r0, r4, #0x0
- blx _u32_div_f
- cmp r0, #0x0
- bne _02054C88
- mov r0, #0x7
- pop {r4, pc}
-_02054C88:
- ldr r1, _02054CAC ; =0x05F5E100
- add r0, r4, #0x0
- blx _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
- blx _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
- blx _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
- blx MI_CpuFill8
- add r0, sp, #0x8
- ldrh r0, [r0, #0x10]
- cmp r0, #0x0
- beq _02054F8A
- lsl r0, r0, #0xc
- blx _fflt
- add r1, r0, #0x0
- mov r0, #0x3f
- lsl r0, r0, #0x18
- blx _fadd
- b _02054F98
-_02054F8A:
- lsl r0, r0, #0xc
- blx _fflt
- mov r1, #0x3f
- lsl r1, r1, #0x18
- blx _fsub
-_02054F98:
- blx _ffix
- str r0, [r4, #0x4]
- add r0, sp, #0x8
- ldrh r0, [r0, #0x14]
- cmp r0, #0x0
- beq _02054FB8
- lsl r0, r0, #0xc
- blx _fflt
- add r1, r0, #0x0
- mov r0, #0x3f
- lsl r0, r0, #0x18
- blx _fadd
- b _02054FC6
-_02054FB8:
- lsl r0, r0, #0xc
- blx _fflt
- mov r1, #0x3f
- lsl r1, r1, #0x18
- blx _fsub
-_02054FC6:
- blx _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
- blx 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 FUN_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 FUN_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
- blx Call_FillMemWithValue
- 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 FUN_021E5FE0
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_02055BD4
- cmp r0, #0x1
- bne _0205584E
- add r0, r5, #0x0
- bl FUN_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 FUN_021E7138
- b _02055878
-_0205586C:
- ldr r0, [sp, #0x1c]
- cmp r0, #0x1
- bne _02055878
- add r0, r5, #0x0
- bl FUN_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 FUN_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
- blx Call_FillMemWithValue
- 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
- blx Call_FillMemWithValue
- 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
- blx Call_FillMemWithValue
-_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
- blx 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 ; =Call_FillMemWithValue
- mov r2, #0x4a
- mov r1, #0x0
- lsl r2, r2, #0x2
- bx r3
- nop
-_02057F8C: .word Call_FillMemWithValue
-
- 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 FUN_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 FUN_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
- blx Call_FillMemWithValue
- 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
- blx Call_FillMemWithValue
- 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
- blx Call_FillMemWithValue
- 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
- blx Call_FillMemWithValue
- 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 FUN_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 FUN_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 FUN_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 FUN_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 FUN_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 FUN_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 FUN_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 FUN_02249E6C
- pop {r4-r6, pc}
-_02059478:
- cmp r0, #0x2
- bne _020594BC
- add r0, r5, #0x0
- bl FUN_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 FUN_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 FUN_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 FUN_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 FUN_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 FUN_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 FUN_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 FUN_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 FUN_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 FUN_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 FUN_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 FUN_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 FUN_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 FUN_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 FUN_022497E8
- pop {r4-r6, pc}
-_020597FA:
- add r0, r5, #0x0
- mov r1, #0x1
- bl FUN_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 FUN_0201B9EC
- add r6, r0, #0x0
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_0205AA90
- add r1, r0, #0x0
- add r0, r6, #0x0
- blx _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 FUN_0201B9EC
- add r6, r0, #0x0
- add r0, r4, #0x0
- add r1, r5, #0x0
- bl FUN_0205AA90
- add r1, r0, #0x0
- add r0, r6, #0x0
- blx _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 FUN_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 FUN_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 FUN_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 FUN_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 FUN_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 FUN_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 FUN_0224A528
-_0205C432:
- add r1, r4, #0x0
- ldr r2, [r4, #0x0]
- add r0, r5, #0x0
- add r1, #0x8
- bl FUN_021F1F78
- b _0205C450
-_0205C440:
- cmp r0, #0x0
- beq _0205C450
- ldrh r0, [r7, #0x2]
- cmp r0, #0x0
- bne _0205C450
- add r0, r5, #0x0
- bl FUN_0224A528
-_0205C450:
- mov r0, #0x0
- strh r0, [r7, #0x2]
-_0205C454:
- add r0, r5, #0x0
- str r6, [r4, #0x4]
- bl FUN_021F2E28
- cmp r0, #0x1
- beq _0205C488
- ldr r1, [r4, #0x8]
- cmp r1, #0x0
- beq _0205C488
- add r0, r5, #0x0
- bl FUN_021F2F48
- add r0, r5, #0x0
- bl FUN_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 FUN_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 FUN_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 FUN_021F20D8
-_0205C4C0:
- add r1, r4, #0x0
- ldr r2, [r4, #0x0]
- add r0, r5, #0x0
- add r1, #0x8
- bl FUN_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 FUN_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 FUN_021F1F78
- b _0205C510
-_0205C506:
- mov r1, #0x2
- add r0, r5, #0x0
- lsl r1, r1, #0x14
- bl FUN_02058418
-_0205C510:
- add r0, r5, #0x0
- bl FUN_0224A310
-_0205C516:
- ldr r0, [r4, #0x8]
- cmp r0, #0x0
- beq _0205C536
- add r1, r4, #0x0
- add r1, #0xc
- bl FUN_021F20F8
- ldr r1, [r4, #0x8]
- add r0, r5, #0x0
- bl FUN_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
- blx Call_FillMemWithValue
- 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 FUN_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 FUN_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 FUN_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
- blx Call_FillMemWithValue
- 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 FUN_021E5FD8
- ldr r0, [r4, #0x38]
- bl FUN_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 FUN_021E5FD8
- ldr r0, [r4, #0x38]
- bl FUN_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
- blx Call_FillMemWithValue
- 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 FUN_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
- blx Call_FillMemWithValue
- 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 FUN_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 FUN_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 FUN_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 FUN_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 FUN_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 FUN_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
- blx Call_FillMemWithValue
- 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 FUN_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
- blx Call_FillMemWithValue
- 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 FUN_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 FUN_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]
- blx 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 FUN_0201B9EC
- add r6, r0, #0x0
- ldr r0, _0205DED0 ; =0x0000FFFF
- add r1, r4, #0x0
- blx _s32_div_f
- add r1, r0, #0x0
- add r1, r1, #0x1
- lsl r1, r1, #0x10
- add r0, r6, #0x0
- lsr r1, r1, #0x10
- blx _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
- blx _s32_div_f
- lsl r0, r0, #0x18
- lsr r0, r0, #0x18
- bne _0205DE1C
- add r0, r6, #0x0
- add r1, r4, #0x0
- blx _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
- blx _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 FUN_0201B9EC
- mov r1, #0x29
- lsl r1, r1, #0x4
- blx _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 FUN_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 FUN_0224B818
- str r0, [r4, #0x34]
- b _0205DF90
-_0205DF80:
- add r0, r5, #0x0
- mov r3, #0x1
- bl FUN_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 FUN_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 FUN_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 FUN_0201B9EC
- mov r1, #0x29
- lsl r1, r1, #0x4
- blx _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 FUN_0201B9EC
- add r4, r0, #0x0
- lsl r1, r5, #0x10
- ldr r0, _0205E47C ; =0x0000FFFF
- lsr r1, r1, #0x10
- blx _s32_div_f
- add r1, r0, #0x0
- add r1, r1, #0x1
- lsl r1, r1, #0x10
- add r0, r4, #0x0
- lsr r1, r1, #0x10
- blx _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 FUN_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 FUN_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 FUN_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
- blx MI_CpuFill8
- add r0, r7, #0x0
- add r1, sp, #0xc
- mov r2, #0x2
- mov r3, #0xb
- bl FUN_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 FUN_021D967C
- ldr r0, _0205EBE4 ; =0x000034D8
- mov r1, #0x55
- str r0, [sp, #0x0]
- add r0, r7, #0x0
- mov r2, #0x2
- mov r3, #0x0
- bl FUN_021D96F4
- ldr r0, _0205EBE4 ; =0x000034D8
- mov r1, #0x55
- str r0, [sp, #0x0]
- add r0, r7, #0x0
- mov r2, #0x3
- mov r3, #0x0
- bl FUN_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 FUN_021D971C
- ldr r4, _0205EBE8 ; =0x020F73C8
- mov r6, #0x0
- add r5, r7, #0x0
-_0205EBC0:
- add r0, r7, #0x0
- add r1, r4, #0x0
- bl FUN_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 FUN_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 FUN_0201B9EC
- add r4, r0, #0x0
- bl FUN_0201B9EC
- 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 FUN_0201B9EC
- mov r1, #0x62
- blx _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
- blx Call_FillMemWithValue
- 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
- blx _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
- blx _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
- blx FS_InitFile
- add r0, sp, #0x28
- add r1, r4, #0x0
- blx 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
- blx 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
- blx 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
- blx 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
- blx 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
- blx 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
- blx 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
- blx 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
- blx 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
- blx 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 FUN_02244660
- strh r0, [r4, #0x0]
- b _0205FDD2
-_0205FDBC:
- add r0, r6, #0x0
- add r1, r7, #0x0
- bl FUN_022446BC
- strh r0, [r4, #0x0]
- b _0205FDD2
-_0205FDC8:
- add r0, r6, #0x0
- add r1, r7, #0x0
- bl FUN_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
- blx 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 FUN_02244DB0
- str r0, [r4, #0x0]
- mov r0, #0xb
- add r1, r5, #0x0
- bl FUN_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 FUN_02245198
- ldr r0, [r4, #0x4]
- bl FUN_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 FUN_02245088
- add r6, r0, #0x0
- add r0, r7, #0x0
- mov r1, #0x1
- bl FUN_0205889C
- ldr r0, [r4, #0x0]
- add r1, r6, #0x0
- bl FUN_02244DC4
- ldr r0, [r4, #0x0]
- bl FUN_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 FUN_02245198
- ldr r0, [r4, #0x4]
- bl FUN_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 FUN_02244F18
- mov r0, #0x7
- strb r0, [r4, #0xc]
- b _02060332
-_020602FC:
- ldr r0, [r4, #0x0]
- bl FUN_02244F24
- cmp r0, #0x0
- beq _02060332
- ldr r0, [r4, #0x0]
- bl FUN_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 FUN_02245190
- ldr r0, [r4, #0x0]
- bl FUN_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 FUN_0201B9EC
- 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 FUN_0201B9EC
- ldr r1, _020605D4 ; =0x000008D4
- blx _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 FUN_0201B9EC
- add r6, r0, #0x0
- ldr r0, _02060684 ; =0x0000FFFF
- add r1, r5, #0x0
- blx _s32_div_f
- add r1, r0, #0x0
- add r1, r1, #0x1
- lsl r1, r1, #0x10
- add r0, r6, #0x0
- lsr r1, r1, #0x10
- blx _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 FUN_0224891C
- ldr r1, [r4, #0x0]
- ldr r2, [r4, #0x8]
- add r0, r6, #0x0
- bl FUN_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
- blx Call_FillMemWithValue
- 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 FUN_021DA4EC
- ldr r0, [r5, #0x50]
- mov r1, #0x2
- mov r2, #0x0
- bl FUN_021DA4EC
- ldr r0, _02060B08 ; =0x000006DE
- bl FUN_020054C8
- b _02060B00
-_02060A2C:
- ldr r0, [r5, #0x50]
- mov r1, #0x1
- bl FUN_021DA58C
- cmp r0, #0x0
- beq _02060B00
- ldr r0, [r5, #0x50]
- mov r1, #0x2
- bl FUN_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 FUN_021DA54C
- ldr r0, [r5, #0x4c]
- ldr r1, [r5, #0x50]
- mov r2, #0x2
- bl FUN_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 FUN_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 FUN_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 FUN_021F4BD0
- ldr r0, [r0, #0x0]
- blx 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 FUN_021E7EC8
- str r0, [sp, #0x1c]
- ldr r0, [r5, #0x2c]
- bl FUN_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 FUN_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 FUN_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 FUN_02248B5C
- add r7, r0, #0x0
- add r0, r6, #0x0
- bl FUN_02248B54
- str r0, [sp, #0x8]
- add r0, r6, #0x0
- bl FUN_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
- blx 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
- blx 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 FUN_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 FUN_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 FUN_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 FUN_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 FUN_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
- blx 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 FUN_02248B60
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl FUN_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 FUN_02248B60
- add r6, r0, #0x0
- add r0, r4, #0x0
- bl FUN_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 FUN_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 FUN_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 FUN_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 FUN_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 FUN_0201B9EC
- ldr r1, _020614F8 ; =0x00003334
- blx _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 FUN_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 FUN_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 FUN_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 FUN_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 FUN_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 FUN_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 FUN_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 FUN_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 FUN_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 FUN_0201BA60
- mov r1, #0x3
- blx _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 FUN_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 FUN_0201B9EC
- ldr r1, _02061830 ; =0x00005556
- blx _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 FUN_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 FUN_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 FUN_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 FUN_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 FUN_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
- blx _u32_div_f
- add r0, r0, #0x5
- mov r1, #0xa
- blx _u32_div_f
- mov r1, #0xa
- add r4, r0, #0x0
- blx _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
- blx _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 FUN_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 FUN_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 FUN_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 FUN_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 FUN_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 FUN_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 FUN_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 FUN_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 FUN_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 FUN_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 FUN_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 FUN_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 FUN_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 FUN_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 FUN_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 FUN_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 FUN_0201BA60
- add r1, r4, #0x0
- blx _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 FUN_0201B9EC
- mov r1, #0xf1
- lsl r1, r1, #0x4
- blx _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 FUN_0201B9EC
- ldr r1, _02062234 ; =0x00003334
- blx _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 FUN_0201B9EC
- 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 FUN_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 FUN_0201B9EC
- mov r1, #0xf1
- lsl r1, r1, #0x4
- blx _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 FUN_0201B9EC
- mov r1, #0xf1
- lsl r1, r1, #0x4
- blx _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 FUN_0201B9EC
- add r5, r0, #0x0
- lsl r1, r4, #0x10
- ldr r0, _020623F0 ; =0x0000FFFF
- lsr r1, r1, #0x10
- blx _s32_div_f
- add r1, r0, #0x0
- add r1, r1, #0x1
- lsl r1, r1, #0x10
- add r0, r5, #0x0
- lsr r1, r1, #0x10
- blx _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 FUN_0201B9EC
- add r5, r0, #0x0
- ldr r0, _02062504 ; =0x0000FFFF
- add r1, r4, #0x0
- blx _s32_div_f
- add r1, r0, #0x0
- add r1, r1, #0x1
- lsl r1, r1, #0x10
- add r0, r5, #0x0
- lsr r1, r1, #0x10
- blx _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 FUN_0201BA60
- add r1, r4, #0x0
- blx _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
- blx MI_CpuFill8
- mov r0, #0x50
- str r0, [r4, #0x0]
- ldr r0, [sp, #0x0]
- mov r1, #0x3
- blx _s32_div_f
- strb r1, [r4, #0x16]
- ldr r0, [sp, #0x0]
- mov r1, #0x3
- blx _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
- blx 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
- blx 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 FUN_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 FUN_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 FUN_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 FUN_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 FUN_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 FUN_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 FUN_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
- blx 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 FUN_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 FUN_022466A0
- cmp r0, #0x0
- beq _02063942
- ldr r0, [r4, #0x14]
- bl FUN_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 FUN_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 FUN_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 FUN_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 FUN_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
- blx Call_FillMemWithValue
- 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
- blx Call_FillMemWithValue
- 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
- blx Call_FillMemWithValue
- 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 FUN_021E7FBC
- add r0, r4, #0x0
- add r0, #0xa0
- ldr r0, [r0, #0x0]
- ldr r1, _02064864 ; =0x00000102
- bl FUN_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 FUN_021E7EA0
- ldr r0, [sp, #0x14]
- add r1, sp, #0x18
- str r5, [sp, #0x1c]
- bl FUN_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 FUN_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 FUN_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 FUN_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 FUN_021E7EB0
- b _02064B5C
-_02064B2E:
- add r2, r5, #0x0
- add r2, #0x9c
- ldr r1, [r4, #0x4]
- ldr r2, [r2, #0x0]
- mov r0, #0x0
- bl FUN_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 FUN_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 FUN_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 FUN_021E7EB0
- b _02064C52
-_02064C24:
- add r2, r5, #0x0
- add r2, #0x9c
- ldr r1, [r4, #0x4]
- ldr r2, [r2, #0x0]
- mov r0, #0x0
- bl FUN_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
- blx Call_FillMemWithValue
- 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
- blx 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
- blx 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
- blx 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
- blx 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
- blx 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 FUN_0224C678
- mov r0, #0x5b
- lsl r0, r0, #0x2
- ldr r0, [r4, r0]
- mov r1, #0x5a
- bl FUN_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 FUN_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 FUN_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
- blx 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
- blx MI_CpuFill8
- add r0, r4, #0x0
- bl FUN_0202398C
- add r1, r7, #0x0
- add r1, #0xa8
- mov r2, #0x10
- blx 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
- blx 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
- blx 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
- blx 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
- blx 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
- blx 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 FUN_0201B9EC
- add r4, r0, #0x0
- bl FUN_0201B9EC
- 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 FUN_0201B9EC
- add r4, r0, #0x0
- bl FUN_0201B9EC
- 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 FUN_0201B9EC
- 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 FUN_0201B9EC
- 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 FUN_0201B9EC
- add r5, r0, #0x0
- bl FUN_0201B9EC
- 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 FUN_0201B9EC
- add r4, r0, #0x0
- bl FUN_0201B9EC
- 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
- blx _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
- blx _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
- blx _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
- blx _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
- blx _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
- blx _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
- blx _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
- blx _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]
- blx _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]
- blx _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]
- blx _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]
- blx _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]
- blx _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]
- blx _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
- blx _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
- blx _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
- blx _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
- blx _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 FUN_0201B9EC
- 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
- blx _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 FUN_0201B9EC
- mov r1, #0x7
- and r0, r1
- lsl r0, r0, #0x10
- lsr r6, r0, #0x10
- bl FUN_0201B9EC
- 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 FUN_0201B9EC
- 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 FUN_0201B9EC
- 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
- blx 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]
- blx _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
- blx FS_InitFile
- ldr r1, _020695A4 ; =0x02105FC8
- add r0, sp, #0x4
- blx FS_OpenFile
- add r0, sp, #0x4
- lsl r1, r4, #0x1
- mov r2, #0x0
- blx FS_SeekFile
- add r0, sp, #0x4
- add r1, sp, #0x0
- mov r2, #0x2
- blx FS_ReadFile
- add r0, sp, #0x4
- blx 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
- blx 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 FUN_0201B9EC
- 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 FUN_0201B9EC
- add r1, r6, #0x0
- blx _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 FUN_0201B9EC
- 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 FUN_0201B9EC
- mov r1, #0x3
- blx _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 FUN_0201B9EC
- mov r1, #0x64
- blx _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
- blx 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
- blx _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 FUN_0201B9D4
- 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 FUN_0201B9E0
- add r0, r4, r5
- add r0, #0x29
- ldrb r0, [r0, #0x0]
- mov r6, #0x0
- cmp r0, #0x0
- ble _0206AECE
-_0206AEBC:
- bl FUN_0201B9EC
- 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
- blx _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 FUN_0201B9E0
- add r0, r4, r5
- add r0, #0x29
- ldrb r0, [r0, #0x0]
- mov r6, #0x0
- cmp r0, #0x0
- ble _0206AF76
-_0206AF64:
- bl FUN_0201B9EC
- 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
- blx _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 FUN_0201B9E0
- add r0, r4, r5
- add r0, #0x29
- ldrb r0, [r0, #0x0]
- mov r6, #0x0
- cmp r0, #0x0
- ble _0206B030
-_0206B01E:
- bl FUN_0201B9EC
- 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
- blx _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 FUN_0201B9E0
- add r0, r4, r5
- add r0, #0x29
- ldrb r0, [r0, #0x0]
- mov r6, #0x0
- cmp r0, #0x0
- ble _0206B0DA
-_0206B0C8:
- bl FUN_0201B9EC
- 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
- blx _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 FUN_0201B9E0
- 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
- blx Call_FillMemWithValue
- 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
- blx 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 FUN_02231344
- add r0, r5, #0x0
- add r1, r6, #0x4
- bl FUN_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 FUN_022300D4
- add r5, r0, #0x0
- ldr r0, [sp, #0x0]
- bl FUN_022300F4
- add r4, r0, #0x0
- ldr r0, [sp, #0x0]
- bl FUN_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 FUN_022300DC
- add r7, r0, #0x0
- ldr r0, [sp, #0x0]
- bl FUN_02230118
- add r4, r0, #0x0
- ldr r0, [sp, #0x0]
- bl FUN_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 FUN_022300D4
- add r6, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_022300E8
- add r4, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_022300F4
- str r0, [sp, #0x4]
- ldr r0, [r5, #0x0]
- bl FUN_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 FUN_022300DC
- add r6, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_0223010C
- add r4, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_02230118
- add r7, r0, #0x0
- ldr r0, [r5, #0x0]
- bl FUN_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 FUN_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 FUN_0223135C
- add r0, r4, #0x0
- mov r1, #0xff
- bl FUN_02231368
- add r0, r4, #0x0
- mov r1, #0x1
- bl FUN_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
- blx MIi_CpuClearFast
- bl FUN_020222F0
- str r0, [sp, #0x1c]
- bl FUN_020222E8
- add r1, r0, #0x0
- ldr r2, [sp, #0x1c]
- mov r0, #0x0
- blx MIi_CpuClear16
- bl FUN_02022300
- str r0, [sp, #0x20]
- bl FUN_020222F8
- add r1, r0, #0x0
- ldr r2, [sp, #0x20]
- mov r0, #0x0
- blx 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
- blx 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
- blx 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
- blx MIi_CpuClear32
- mov r1, #0x62
- mov r2, #0x2
- mov r0, #0x0
- lsl r1, r1, #0x14
- lsl r2, r2, #0x10
- blx MIi_CpuClear32
- mov r1, #0x19
- mov r2, #0x1
- mov r0, #0x0
- lsl r1, r1, #0x16
- lsl r2, r2, #0x12
- blx MIi_CpuClear32
- mov r1, #0x66
- mov r2, #0x2
- mov r0, #0x0
- lsl r1, r1, #0x14
- lsl r2, r2, #0x10
- blx 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
- blx G2x_SetBlendAlpha_
- mov r0, #0x8
- str r0, [sp, #0x0]
- ldr r0, _0206DE74 ; =0x04001050
- mov r1, #0x0
- mov r2, #0xe
- mov r3, #0x7
- blx 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
- blx G3X_SetFog
- mov r0, #0x0
- ldr r2, _0206DF0C ; =0x00007FFF
- add r1, r0, #0x0
- mov r3, #0x3f
- str r0, [sp, #0x0]
- blx 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
- blx 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
- blx Call_FillMemWithValue
- 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
- blx 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 FUN_02211E60
- mov r0, #0x0
- blx 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
- blx MI_CpuFill8
- mov r0, #0xb
- mov r1, #0xc
- bl FUN_020169D8
- mov r1, #0x0
- mov r2, #0xc
- str r0, [r4, #0x0]
- blx 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
- blx 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
- blx 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
- blx Call_FillMemWithValue
- 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]
- blx 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
- blx memcpy
- add r1, r4, #0x6
- lsl r2, r1, #0x6
- ldr r1, [sp, #0x4]
- add r0, r6, #0x0
- add r1, r1, r2
- mov r2, #0x20
- blx 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
- blx 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
- blx memcpy
- ldr r0, [sp, #0x1c]
- ldr r1, [sp, #0x10]
- add r0, r0, r5
- add r1, r1, r7
- mov r2, #0x20
- blx 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
- blx memcpy
- ldr r0, [sp, #0x24]
- ldr r1, [sp, #0x10]
- add r0, r0, r5
- add r1, r1, r7
- mov r2, #0x20
- blx 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
- blx _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
- blx Call_FillMemWithValue
- 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
- blx 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
- blx 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 FUN_0201B9EC
- mov r1, #0x12
- blx _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 FUN_0201B9EC
- mov r1, #0x12
- blx _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
- blx 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
- blx 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
- blx 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
- blx 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
- blx 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
- blx 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
- blx 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
- blx 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
- blx 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
- blx 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]
- blx 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 FUN_0200019E
- 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
- blx _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
- blx _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
- blx 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
- blx 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
- blx 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
- blx 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
- blx Call_FillMemWithValue
- 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
- blx 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
- blx 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
- blx _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
- blx _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
- blx _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
- blx _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
- blx FUN_020BB7F4
- blx G3X_Init
- blx 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
- blx G3X_SetFog
- mov r0, #0x0
- ldr r2, _0207EFF8 ; =0x00007FFF
- add r1, r0, #0x0
- mov r3, #0x3f
- str r0, [sp, #0x0]
- blx 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]
- blx FUN_020B849C
- mov r0, #0xb7
- lsl r0, r0, #0x2
- add r0, r4, r0
- bl FUN_0207F108
- blx FUN_020B849C
- add r0, r4, #0x0
- bl FUN_0207F1A4
-_0207F046:
- blx 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
- blx _fflt
- ldr r1, _0207F600 ; =0x45800000
- blx _fdiv
- ldr r1, _0207F604 ; =0x40800000
- blx _fdiv
- mov r1, #0x0
- blx _fgr
- bls _0207F4E0
- add r0, r7, #0x0
- blx _fflt
- ldr r1, _0207F600 ; =0x45800000
- blx _fdiv
- ldr r1, _0207F604 ; =0x40800000
- blx _fdiv
- add r1, r0, #0x0
- ldr r0, _0207F600 ; =0x45800000
- blx _fmul
- add r1, r0, #0x0
- mov r0, #0x3f
- lsl r0, r0, #0x18
- blx _fadd
- blx _ffix
- b _0207F506
-_0207F4E0:
- add r0, r7, #0x0
- blx _fflt
- ldr r1, _0207F600 ; =0x45800000
- blx _fdiv
- ldr r1, _0207F604 ; =0x40800000
- blx _fdiv
- add r1, r0, #0x0
- ldr r0, _0207F600 ; =0x45800000
- blx _fmul
- mov r1, #0x3f
- lsl r1, r1, #0x18
- blx _fsub
- blx _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
- blx _fflt
- ldr r1, _0207F600 ; =0x45800000
- blx _fdiv
- ldr r1, _0207F604 ; =0x40800000
- blx _fdiv
- mov r1, #0x0
- blx _fgr
- bls _0207F558
- add r0, r7, #0x0
- blx _fflt
- ldr r1, _0207F600 ; =0x45800000
- blx _fdiv
- ldr r1, _0207F604 ; =0x40800000
- blx _fdiv
- add r1, r0, #0x0
- ldr r0, _0207F600 ; =0x45800000
- blx _fmul
- add r1, r0, #0x0
- mov r0, #0x3f
- lsl r0, r0, #0x18
- blx _fadd
- blx _ffix
- b _0207F57E
-_0207F558:
- add r0, r7, #0x0
- blx _fflt
- ldr r1, _0207F600 ; =0x45800000
- blx _fdiv
- ldr r1, _0207F604 ; =0x40800000
- blx _fdiv
- add r1, r0, #0x0
- ldr r0, _0207F600 ; =0x45800000
- blx _fmul
- mov r1, #0x3f
- lsl r1, r1, #0x18
- blx _fsub
- blx _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
- blx _fflt
- ldr r1, _0207F600 ; =0x45800000
- blx _fdiv
- ldr r1, _0207F604 ; =0x40800000
- blx _fdiv
- mov r1, #0x0
- blx _fgr
- bls _0207F5D0
- add r0, r4, #0x0
- blx _fflt
- ldr r1, _0207F600 ; =0x45800000
- blx _fdiv
- ldr r1, _0207F604 ; =0x40800000
- blx _fdiv
- add r1, r0, #0x0
- ldr r0, _0207F600 ; =0x45800000
- blx _fmul
- add r1, r0, #0x0
- mov r0, #0x3f
- lsl r0, r0, #0x18
- blx _fadd
- blx _ffix
- b _0207F5F6
-_0207F5D0:
- add r0, r4, #0x0
- blx _fflt
- ldr r1, _0207F600 ; =0x45800000
- blx _fdiv
- ldr r1, _0207F604 ; =0x40800000
- blx _fdiv
- add r1, r0, #0x0
- ldr r0, _0207F600 ; =0x45800000
- blx _fmul
- mov r1, #0x3f
- lsl r1, r1, #0x18
- blx _fsub
- blx _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
- blx _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
- blx _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
- blx 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
- blx 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
- blx 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 FUN_0201B9D4
- 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 FUN_0201B9E0
- 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
- blx 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
- blx 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
- blx 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 FUN_0201B9D4
- add r0, #0xa
- mul r0, r4
- lsl r0, r0, #0x10
- lsr r0, r0, #0x10
- bl FUN_0201B9E0
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_02082878
-FUN_02082878: ; 0x02082878
- ldr r3, _0208287C ; =FUN_0201B9EC
- bx r3
- .balign 4
-_0208287C: .word FUN_0201B9EC
-
- thumb_func_start FUN_02082880
-FUN_02082880: ; 0x02082880
- push {r4, lr}
- add r4, r1, #0x0
- bl FUN_0201BA10
- 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
- blx _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]
- blx _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
- blx _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]
- blx _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
- blx _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 FUN_0201B9EC
- mov r1, #0xc
- blx _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
- blx 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 FUN_0201B9EC
- add r1, r4, #0x0
- blx _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
- blx 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 ; =0x0223D1CD
- add r1, r2, #0x0
- bx r3
- .balign 4
-_020835AC: .word 0x0223D1CD
-
- 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
- blx 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]
- blx 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
- blx 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
- blx 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
- blx 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
- blx 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
- blx 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
- blx 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
- blx 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
- blx 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]
- blx 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
- blx 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
- blx 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
- blx 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
- blx 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]
- blx 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
- blx 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
- blx 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
- blx 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 FUN_0222F440
- b _02083C14
-_02083BF6:
- bl FUN_02031190
- ldr r1, _02083C20 ; =0x00002218
- ldr r2, [r4, #0x50]
- ldr r1, [r4, r1]
- bl FUN_0222F480
- b _02083C14
-_02083C06:
- bl FUN_02031190
- ldr r1, _02083C20 ; =0x00002218
- ldr r2, [r4, #0x50]
- ldr r1, [r4, r1]
- bl FUN_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
- blx 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
- blx MIi_CpuCopyFast
- b _02083D9C
-_02083D90:
- add r2, r4, r2
- add r1, r2, r1
- add r0, r5, #0x0
- sub r2, r3, #0x4
- blx 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
- blx 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 FUN_021D8B64
- ldr r1, _02083E8C ; =0x000043D0
- mov r2, #0xe1
- mov r0, #0x0
- add r1, r4, r1
- lsl r2, r2, #0x6
- blx 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 FUN_021D917C
- mov r1, #0xc6
- lsl r1, r1, #0x2
- ldr r1, [r4, r1]
- cmp r1, r0
- bne _02083EFE
- bl FUN_0202CB8C
- blx 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 FUN_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 FUN_021D8B64
- add sp, #0x4
- pop {r3-r6, pc}
-_02083F6E:
- ldrb r2, [r5, #0x0]
- add r0, r4, #0x0
- mov r1, #0x15
- bl FUN_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 FUN_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 FUN_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
- blx 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 FUN_021D844C
- lsl r2, r5, #0x18
- add r0, r4, #0x0
- mov r1, #0x19
- lsr r2, r2, #0x18
- bl FUN_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 ; =FUN_021D88E4
- mov r1, #0x2
- mov r2, #0x0
- bx r3
- nop
-_02084120: .word FUN_021D88E4 + 1
-
- 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 FUN_021D8C24
- ldr r1, _02084208 ; =0x00004A48
- ldr r1, [r4, r1]
- cmp r1, r0
- bne _02084186
- bl FUN_0202CB8C
- blx 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 FUN_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 FUN_021D88E4
- add sp, #0x4
- pop {r3-r6, pc}
-_020841FA:
- ldrb r2, [r5, #0x0]
- add r0, r4, #0x0
- mov r1, #0x13
- bl FUN_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 FUN_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 FUN_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 FUN_0201B9EC
- 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
- blx _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
- blx 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
- blx 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
- blx 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
- blx 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
- blx 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
- blx 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 FUN_02230F3C
- bl FUN_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
- blx Call_FillMemWithValue
- bl FUN_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 FUN_02230F80
- bl FUN_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 FUN_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 FUN_0222EDBC
- add r0, r4, #0x0
- add r0, #0xd4
- bl FUN_0222E7E8
- bl FUN_0201CC08
- mov r0, #0x4
- bl FUN_0201CC24
- add r0, r4, #0x0
- bl FUN_022300E4
- ldr r0, _02085BAC ; =0x022310CD
- add r1, r4, #0x0
- bl FUN_02015F10
- add r0, r4, #0x0
- bl FUN_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 FUN_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 FUN_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 FUN_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 FUN_0222DD38
- add r0, r4, #0x0
- add r0, #0xd4
- bl FUN_0222E874
- bl FUN_0201C29C
- mov r0, #0x23
- lsl r0, r0, #0x4
- ldr r0, [r4, r0]
- bl FUN_020223BC
- mov r0, #0x35
- bl FUN_02230F70
- add r0, r5, #0x0
- bl FUN_0200627C
- bl FUN_0201CD04
- mov r0, #0x35
- bl FUN_020168D0
- ldr r0, _02085D68 ; =0x00000008
- bl FUN_02005F60
- mov r0, #0x1
- pop {r3-r5, pc}
- nop
-_02085D64: .word 0x00000428
-_02085D68: .word 0x00000008
-
- 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]
- blx Call_FillMemWithValue
- 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]
- blx Call_FillMemWithValue
- 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
- blx Call_FillMemWithValue
- 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 FUN_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
- blx G2x_SetBlendAlpha_
- mov r0, #0x8
- str r0, [sp, #0x0]
- ldr r0, _02086464 ; =0x04001050
- mov r1, #0x0
- mov r2, #0xe
- mov r3, #0x7
- blx 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
- blx G3X_SetFog
- mov r0, #0x0
- ldr r2, _02086500 ; =0x00007FFF
- add r1, r0, #0x0
- mov r3, #0x3f
- str r0, [sp, #0x0]
- blx 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
- blx MIi_CpuClear32
- mov r1, #0x62
- mov r2, #0x2
- mov r0, #0x0
- lsl r1, r1, #0x14
- lsl r2, r2, #0x10
- blx MIi_CpuClear32
- mov r1, #0x19
- mov r2, #0x1
- mov r0, #0x0
- lsl r1, r1, #0x16
- lsl r2, r2, #0x12
- blx MIi_CpuClear32
- mov r1, #0x66
- mov r2, #0x2
- mov r0, #0x0
- lsl r1, r1, #0x14
- lsl r2, r2, #0x10
- blx 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
- blx 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
- blx _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
- blx 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
- blx 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
- blx 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
- blx 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]
- blx _ffltu
- add r1, r0, #0x0
- ldr r0, _02088318 ; =0x3F8CCCCD
- blx _fmul
- blx _ffixu
- ldr r1, [sp, #0x4]
- strb r0, [r4, r1]
- add r4, sp, #0x8
- ldr r0, [sp, #0x0]
- add r4, #0x1
- ldrb r0, [r4, r0]
- blx _ffltu
- add r1, r0, #0x0
- ldr r0, _0208831C ; =0x3F666666
- blx _fmul
- blx _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
- blx 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
- blx 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
- blx 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
- blx 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
- blx _fflt
- add r1, r0, #0x0
- mov r0, #0x3f
- lsl r0, r0, #0x18
- blx _fadd
- b _020885A4
-_02088596:
- lsl r0, r7, #0xc
- blx _fflt
- mov r1, #0x3f
- lsl r1, r1, #0x18
- blx _fsub
-_020885A4:
- blx _ffix
- str r0, [sp, #0x48]
- ldr r0, [sp, #0x30]
- cmp r0, #0x0
- beq _020885C2
- lsl r0, r0, #0xc
- blx _fflt
- add r1, r0, #0x0
- mov r0, #0x3f
- lsl r0, r0, #0x18
- blx _fadd
- b _020885D0
-_020885C2:
- lsl r0, r0, #0xc
- blx _fflt
- mov r1, #0x3f
- lsl r1, r1, #0x18
- blx _fsub
-_020885D0:
- blx _ffix
- str r0, [sp, #0x4c]
- add r0, sp, #0x78
- ldrh r0, [r0, #0x10]
- cmp r0, #0x0
- beq _020885F0
- lsl r0, r0, #0xc
- blx _fflt
- add r1, r0, #0x0
- mov r0, #0x3f
- lsl r0, r0, #0x18
- blx _fadd
- b _020885FE
-_020885F0:
- lsl r0, r0, #0xc
- blx _fflt
- mov r1, #0x3f
- lsl r1, r1, #0x18
- blx _fsub
-_020885FE:
- blx _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 ; =FUN_02005FDC
- ldr r0, _02088864 ; =0x00000004
- mov r1, #0x2
- bx r3
- .balign 4
-_02088860: .word FUN_02005FDC
-_02088864: .word 0x00000004
-
- thumb_func_start FUN_02088868
-FUN_02088868: ; 0x02088868
- ldr r3, _02088870 ; =FUN_02005F60
- ldr r0, _02088874 ; =0x00000004
- bx r3
- nop
-_02088870: .word FUN_02005F60
-_02088874: .word 0x00000004
-
- thumb_func_start FUN_02088878
-FUN_02088878: ; 0x02088878
- ldr r3, _02088880 ; =FUN_02005FDC
- ldr r0, _02088884 ; =0x0000000D
- mov r1, #0x2
- bx r3
- .balign 4
-_02088880: .word FUN_02005FDC
-_02088884: .word 0x0000000D
-
- thumb_func_start FUN_02088888
-FUN_02088888: ; 0x02088888
- ldr r3, _02088890 ; =FUN_02005F60
- ldr r0, _02088894 ; =0x0000000D
- bx r3
- nop
-_02088890: .word FUN_02005F60
-_02088894: .word 0x0000000D
-
- 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 FUN_02211E60
- bl FUN_02088888
- bl FUN_02088868
- mov r0, #0x0
- blx OS_ResetSystem
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_020888BC
-FUN_020888BC: ; 0x020888BC
- ldr r3, _020888C4 ; =FUN_02005FDC
- ldr r0, _020888C8 ; =0x0000004F
- mov r1, #0x2
- bx r3
- .balign 4
-_020888C4: .word FUN_02005FDC
-_020888C8: .word 0x0000004F
-
- thumb_func_start FUN_020888CC
-FUN_020888CC: ; 0x020888CC
- ldr r3, _020888D4 ; =FUN_02005F60
- ldr r0, _020888D8 ; =0x0000004F
- bx r3
- nop
-_020888D4: .word FUN_02005F60
-_020888D8: .word 0x0000004F
-
- 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
- blx 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
- blx 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
- blx 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
- blx 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
- blx 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
- blx 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
- blx 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
- blx 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
- blx 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
- blx Call_FillMemWithValue
- 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
- blx 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
- blx Call_FillMemWithValue
- 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 ; =0x00000053
- ldr r1, _02089A68 ; =0x0223A360
- bl FUN_02000E7C
- mov r0, #0x1
- pop {r3-r5, pc}
- nop
-_02089A64: .word 0x00000053
-_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
- blx 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
- blx 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
- blx 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 FUN_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 FUN_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 FUN_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
- blx OS_GetInitArenaHi
- add r1, r0, #0x0
- mov r0, #0x0
- blx OS_SetArenaHi
- mov r0, #0x0
- blx OS_GetInitArenaLo
- add r1, r0, #0x0
- mov r0, #0x0
- blx 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
- blx OS_DisableIrqMask
- ldr r1, _0208ABD0 ; =FUN_0208A998
- mov r0, #0x1
- blx OS_SetIrqFunction
- mov r0, #0x1
- blx 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
- blx 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
- blx 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
- blx 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/asm/unk_0208AC14.s b/asm/unk_0208AC14.s
deleted file mode 100644
index 0adafb8b..00000000
--- a/asm/unk_0208AC14.s
+++ /dev/null
@@ -1,42449 +0,0 @@
- .include "asm/macros.inc"
- .include "global.inc"
-
- .text
-
- arm_func_start FUN_0208AC14
-FUN_0208AC14: ; 0x0208AC14
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r5, r0
- ldr r1, [r5, #0x4]
- cmp r1, #0x0
- addeq sp, sp, #0x4
- ldmeqia sp!, {r4-r5,lr}
- bxeq lr
-_0208AC34:
- ldr r4, [r1, #0x0]
- mov r0, r5
- bl FUN_0208AC58
- mov r1, r4
- cmp r4, #0x0
- bne _0208AC34
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
-
- arm_func_start FUN_0208AC58
-FUN_0208AC58: ; 0x0208AC58
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- mov r6, r1
- mov r7, r0
- add r0, r6, #0x8
- bl FUN_02090A58
- movs r1, r0
- beq _0208AC98
- add r5, r7, #0x1c
- add r4, r6, #0x8
-_0208AC80:
- mov r0, r5
- bl FUN_02090AA4
- mov r0, r4
- bl FUN_02090A58
- movs r1, r0
- bne _0208AC80
-_0208AC98:
- add r0, r6, #0x14
- bl FUN_02090A58
- movs r1, r0
- beq _0208ACC8
- add r5, r7, #0x1c
- add r4, r6, #0x14
-_0208ACB0:
- mov r0, r5
- bl FUN_02090AA4
- mov r0, r4
- bl FUN_02090A58
- movs r1, r0
- bne _0208ACB0
-_0208ACC8:
- mov r1, r6
- add r0, r7, #0x4
- bl FUN_020909D8
- mov r1, r6
- add r0, r7, #0x10
- bl FUN_02090AA4
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,lr}
- bx lr
-
- arm_func_start FUN_0208ACEC
-FUN_0208ACEC: ; 0x0208ACEC
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0xc
- mov r7, r0
- ldr r0, [r7, #0x10]
- mov r6, r1
- mov r5, r2
- cmp r0, #0x0
- mov r4, #0x0
- beq _0208AD70
- add r1, sp, #0x0
- str r4, [r1, #0x0]
- str r4, [r1, #0x4]
- add r0, r7, #0x10
- str r4, [r1, #0x8]
- bl FUN_02090A58
- ldr r1, [r7, #0x28]
- add r2, sp, #0x0
- add r1, r1, r6, lsl #0x5
- mov r4, r0
- bl FUN_0208C138
-_0208AD3C: ; 0x0208AD3C
- cmp r5, #0x0
- beq _0208AD4C
- mov r0, r4
- blx r5
-_0208AD4C:
- mov r1, r4
- add r0, r7, #0x4
- bl FUN_02090AA4
- ldr r0, [r4, #0x20]
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x0]
- mov r0, r0, lsl #0x11
- movs r0, r0, lsr #0x1f
- movne r4, #0x0
-_0208AD70:
- mov r0, r4
- add sp, sp, #0xc
- ldmia sp!, {r4-r7,lr}
- bx lr
-
- arm_func_start FUN_0208AD80
-FUN_0208AD80: ; 0x0208AD80
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- ldr r2, _0208AE44 ; =0x04000060
- mov r4, r0
- ldrh r0, [r2, #0x0]
- bic r0, r0, #0x3000
- orr r0, r0, #0x8
- strh r0, [r2, #0x0]
- str r1, [r4, #0x44]
- ldr r0, [r4, #0x38]
- mov r0, r0, lsl #0x7
- movs r0, r0, lsr #0x1f
- bne _0208ADFC
- ldr r5, [r4, #0x4]
- cmp r5, #0x0
- addeq sp, sp, #0x4
- ldmeqia sp!, {r4-r5,lr}
- bxeq lr
-_0208ADC8:
- str r5, [r4, #0x40]
- ldr r0, [r5, #0x24]
- mov r0, r0, lsl #0x1c
- movs r0, r0, lsr #0x1f
- bne _0208ADE4
- mov r0, r4
- bl FUN_0208B6A0
-_0208ADE4:
- ldr r5, [r5, #0x0]
- cmp r5, #0x0
- bne _0208ADC8
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
-_0208ADFC:
- ldr r5, [r4, #0xc]
- cmp r5, #0x0
- addeq sp, sp, #0x4
- ldmeqia sp!, {r4-r5,lr}
- bxeq lr
-_0208AE10:
- str r5, [r4, #0x40]
- ldr r0, [r5, #0x24]
- mov r0, r0, lsl #0x1c
- movs r0, r0, lsr #0x1f
- bne _0208AE2C
- mov r0, r4
- bl FUN_0208B6A0
-_0208AE2C:
- ldr r5, [r5, #0x4]
- cmp r5, #0x0
- bne _0208AE10
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
- .balign 4
-_0208AE44: .word 0x04000060
-
- arm_func_start FUN_0208AE48
-FUN_0208AE48: ; 0x0208AE48
- stmdb sp!, {r4-r10,lr}
- mov r8, r0
- ldr r7, [r8, #0x4]
- cmp r7, #0x0
- beq _0208AF5C
- add r10, r8, #0x4
- add r9, r8, #0x10
- mov r4, #0x0
-_0208AE68:
- ldr r2, [r7, #0x24]
- ldr r1, [r7, #0x20]
- mov r0, r2, lsl #0x1b
- movs r0, r0, lsr #0x1f
- ldr r5, [r1, #0x0]
- ldr r6, [r7, #0x0]
- bne _0208AE9C
- ldrh r1, [r7, #0x4c]
- ldrh r0, [r5, #0x32]
- cmp r1, r0
- orrcs r0, r2, #0x10
- strcs r0, [r7, #0x24]
- strcsh r4, [r7, #0x4c]
-_0208AE9C:
- ldr r0, [r7, #0x24]
- mov r0, r0, lsl #0x1d
- movs r0, r0, lsr #0x1f
- bne _0208AED8
- ldr r0, [r7, #0x80]
- mov r0, r0, lsl #0xd
- movs r0, r0, lsr #0x1d
- beq _0208AECC
- ldrh r1, [r8, #0x48]
- sub r0, r0, #0x1
- cmp r1, r0
- bne _0208AED8
-_0208AECC:
- mov r0, r8
- mov r1, r7
- bl FUN_0208B8F0
-_0208AED8:
- ldr r0, [r5, #0x0]
- mov r0, r0, lsl #0x11
- movs r0, r0, lsr #0x1f
- beq _0208AF10
- ldrh r1, [r5, #0x3c]
- cmp r1, #0x0
- beq _0208AF10
- ldr r0, [r7, #0x24]
- mov r0, r0, lsl #0x1b
- movs r0, r0, lsr #0x1f
- beq _0208AF10
- ldrh r0, [r7, #0x4c]
- cmp r0, r1
- bhi _0208AF20
-_0208AF10:
- ldr r0, [r7, #0x24]
- mov r0, r0, lsl #0x1f
- movs r0, r0, lsr #0x1f
- beq _0208AF50
-_0208AF20:
- ldr r0, [r7, #0xc]
- cmp r0, #0x0
- bne _0208AF50
- ldr r0, [r7, #0x18]
- cmp r0, #0x0
- bne _0208AF50
- mov r0, r10
- mov r1, r7
- bl FUN_020909D8
- mov r1, r0
- mov r0, r9
- bl FUN_02090AA4
-_0208AF50:
- mov r7, r6
- cmp r6, #0x0
- bne _0208AE68
-_0208AF5C:
- ldrh r0, [r8, #0x48]
- add r0, r0, #0x1
- strh r0, [r8, #0x48]
- ldrh r0, [r8, #0x48]
- cmp r0, #0x1
- movhi r0, #0x0
- strhih r0, [r8, #0x48]
- ldmia sp!, {r4-r10,lr}
- bx lr
-
- arm_func_start FUN_0208AF80
-FUN_0208AF80: ; 0x0208AF80
- ldr ip, _0208AF8C ; =FUN_0208AFA8
- ldr r1, _0208AF90 ; =FUN_0208B630
- bx r12
- .balign 4
-_0208AF8C: .word FUN_0208AFA8
-_0208AF90: .word FUN_0208B630
-
- arm_func_start FUN_0208AF94
-FUN_0208AF94: ; 0x0208AF94
- ldr ip, _0208AFA0 ; =FUN_0208B05C
- ldr r1, _0208AFA4 ; =FUN_0208B668
- bx r12
- .balign 4
-_0208AFA0: .word FUN_0208B05C
-_0208AFA4: .word FUN_0208B668
-
- arm_func_start FUN_0208AFA8
-FUN_0208AFA8: ; 0x0208AFA8
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0x4
- mov r10, r0
- mov r11, r1
- bl GX_BeginLoadTexPltt
- ldrh r0, [r10, #0x32]
- mov r9, #0x0
- cmp r0, #0x0
- ble _0208B048
- mov r0, #0x1
- mov r5, r9
- mov r4, r9
- str r0, [sp, #0x0]
-_0208AFDC:
- ldr r0, [r10, #0x2c]
- mov r6, r4
- ldr r7, [r0, r5]
- add r8, r0, r5
- ldr r0, [r7, #0x10]
- cmp r0, #0x0
- beq _0208B030
- ldr r1, [r7, #0x4]
- mov r1, r1, lsl #0x1c
- mov r1, r1, lsr #0x1c
- cmp r1, #0x2
- ldreq r1, [sp, #0x0]
- movne r1, r4
- blx r11
- mov r6, r0
- ldr r1, [r8, #0x0]
- ldr r0, [r7, #0xc]
- ldr r2, [r7, #0x10]
- add r0, r1, r0
- mov r1, r6
- bl GX_LoadTexPltt
-_0208B030:
- str r6, [r8, #0x8]
- ldrh r0, [r10, #0x32]
- add r9, r9, #0x1
- add r5, r5, #0x14
- cmp r9, r0
- blt _0208AFDC
-_0208B048:
- bl GX_EndLoadTexPltt
- mov r0, #0x1
- add sp, sp, #0x4
- ldmia sp!, {r4-r11,lr}
- bx lr
-
- arm_func_start FUN_0208B05C
-FUN_0208B05C: ; 0x0208B05C
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0xc
- mov r10, r0
- mov r11, r1
- bl GX_BeginLoadTex
- ldrh r0, [r10, #0x32]
- mov r9, #0x0
- cmp r0, #0x0
- ble _0208B114
- mov r0, #0x1
- mov r6, r9
- str r9, [sp, #0x4]
- str r0, [sp, #0x0]
- mov r4, #0x14
-_0208B094:
- ldr r2, [r10, #0x2c]
- ldr r7, [r2, r6]
- add r8, r2, r6
- ldr r0, [r7, #0x4]
- mov r1, r0, lsl #0xe
- movs r1, r1, lsr #0x1f
- beq _0208B0C8
- mov r0, r0, lsl #0x6
- mov r1, r0, lsr #0x18
- mla r0, r1, r4, r2
- ldr r0, [r0, #0x4]
- str r0, [r8, #0x4]
- b _0208B100
-_0208B0C8:
- mov r0, r0, lsl #0x1c
- mov r0, r0, lsr #0x1c
- cmp r0, #0x5
- ldreq r1, [sp, #0x0]
- ldr r0, [r7, #0x8]
- ldrne r1, [sp, #0x4]
- blx r11
- mov r5, r0
- ldr r0, [r8, #0x0]
- ldr r2, [r7, #0x8]
- add r0, r0, #0x20
- mov r1, r5
- bl GX_LoadTex
- str r5, [r8, #0x4]
-_0208B100:
- ldrh r0, [r10, #0x32]
- add r9, r9, #0x1
- add r6, r6, #0x14
- cmp r9, r0
- blt _0208B094
-_0208B114:
- bl GX_EndLoadTex
- mov r0, #0x1
- add sp, sp, #0xc
- ldmia sp!, {r4-r11,lr}
- bx lr
-
- arm_func_start FUN_0208B128
-FUN_0208B128: ; 0x0208B128
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0x2c
- mov r9, r1
- ldrh r1, [r9, #0x8]
- mov r10, r0
- mov r8, #0x20
- strh r1, [r10, #0x30]
- ldrh r0, [r9, #0xa]
- strh r0, [r10, #0x32]
- ldrh r0, [r10, #0x30]
- ldr r1, [r10, #0x0]
- mov r0, r0, lsl #0x5
- blx r1
- str r0, [r10, #0x28]
- ldrh r2, [r10, #0x30]
- ldr r0, [r10, #0x28]
- mov r1, #0x0
- mov r2, r2, lsl #0x5
- bl MI_CpuFill8
- ldrh r1, [r10, #0x30]
- mov r0, #0x0
- str r0, [sp, #0x0]
- cmp r1, #0x0
- ble _0208B3C8
- mov r6, r0
- str r0, [sp, #0x10]
- str r0, [sp, #0x14]
- str r0, [sp, #0x18]
- str r0, [sp, #0x1c]
- str r0, [sp, #0x20]
- str r0, [sp, #0x24]
-_0208B1A4:
- ldr r1, [r10, #0x28]
- add r0, r9, r8
- str r0, [r1, r6]
- ldr r0, [r1, r6]
- add r8, r8, #0x58
- ldr r0, [r0, #0x0]
- add r7, r1, r6
- str r0, [sp, #0x28]
- mov r0, r0, lsl #0x17
- movs r0, r0, lsr #0x1f
- addne r0, r9, r8
- strne r0, [r7, #0x4]
- ldreq r0, [sp, #0x10]
- addne r8, r8, #0xc
- streq r0, [r7, #0x4]
- ldr r0, [sp, #0x28]
- mov r0, r0, lsl #0x16
- movs r0, r0, lsr #0x1f
- addne r0, r9, r8
- strne r0, [r7, #0x8]
- ldreq r0, [sp, #0x14]
- addne r8, r8, #0xc
- streq r0, [r7, #0x8]
- ldr r0, [sp, #0x28]
- mov r0, r0, lsl #0x15
- movs r0, r0, lsr #0x1f
- addne r0, r9, r8
- strne r0, [r7, #0xc]
- ldreq r0, [sp, #0x18]
- addne r8, r8, #0x8
- streq r0, [r7, #0xc]
- ldr r0, [sp, #0x28]
- mov r0, r0, lsl #0x14
- movs r0, r0, lsr #0x1f
- addne r0, r9, r8
- strne r0, [r7, #0x10]
- ldreq r0, [sp, #0x1c]
- addne r8, r8, #0xc
- streq r0, [r7, #0x10]
- ldr r0, [sp, #0x28]
- mov r0, r0, lsl #0xf
- movs r0, r0, lsr #0x1f
- addne r0, r9, r8
- strne r0, [r7, #0x14]
- ldreq r0, [sp, #0x20]
- addne r8, r8, #0x14
- streq r0, [r7, #0x14]
- ldr r0, [sp, #0x28]
- mov r1, r0, lsl #0x7
- mov r2, r0, lsl #0x6
- mov r5, r1, lsr #0x1f
- mov r4, r2, lsr #0x1f
- add r1, r5, r2, lsr #0x1f
- mov r2, r0, lsl #0x5
- add r1, r1, r2, lsr #0x1f
- mov r3, r0, lsl #0x4
- mov r11, r2, lsr #0x1f
- add r2, r1, r3, lsr #0x1f
- mov r1, r3, lsr #0x1f
- mov r12, r0, lsl #0x3
- str r1, [sp, #0x4]
- mov r3, r0, lsl #0x2
- mov r0, r12, lsr #0x1f
- add r1, r2, r12, lsr #0x1f
- str r0, [sp, #0x8]
- add r0, r1, r3, lsr #0x1f
- strh r0, [r7, #0x1c]
- mov r0, r3, lsr #0x1f
- str r0, [sp, #0xc]
- ldrh r0, [r7, #0x1c]
- cmp r0, #0x0
- beq _0208B3A4
- mov r0, r0, lsl #0x3
- ldr r1, [r10, #0x0]
- blx r1
- str r0, [r7, #0x18]
- cmp r5, #0x0
- ldr r0, [r7, #0x18]
- beq _0208B2F8
- add r1, r9, r8
- str r1, [r0, #0x4]
- ldr r1, _0208B488 ; =FUN_020909A4
- add r8, r8, #0x8
- str r1, [r0, #0x0]
- add r0, r0, #0x8
-_0208B2F8:
- cmp r4, #0x0
- beq _0208B318
- add r1, r9, r8
- str r1, [r0, #0x4]
- ldr r1, _0208B48C ; =FUN_020908DC
- add r8, r8, #0x8
- str r1, [r0, #0x0]
- add r0, r0, #0x8
-_0208B318:
- cmp r11, #0x0
- beq _0208B338
- add r1, r9, r8
- str r1, [r0, #0x4]
- ldr r1, _0208B490 ; =FUN_02090858
- add r8, r8, #0x10
- str r1, [r0, #0x0]
- add r0, r0, #0x8
-_0208B338:
- ldr r1, [sp, #0x4]
- cmp r1, #0x0
- beq _0208B35C
- add r1, r9, r8
- str r1, [r0, #0x4]
- ldr r1, _0208B494 ; =FUN_02090780
- add r8, r8, #0x4
- str r1, [r0, #0x0]
- add r0, r0, #0x8
-_0208B35C:
- ldr r1, [sp, #0x8]
- cmp r1, #0x0
- beq _0208B380
- add r1, r9, r8
- str r1, [r0, #0x4]
- ldr r1, _0208B498 ; =FUN_02090664
- add r8, r8, #0x8
- str r1, [r0, #0x0]
- add r0, r0, #0x8
-_0208B380:
- ldr r1, [sp, #0xc]
- cmp r1, #0x0
- beq _0208B3AC
- add r1, r9, r8
- str r1, [r0, #0x4]
- ldr r1, _0208B49C ; =FUN_020905D0
- add r8, r8, #0x10
- str r1, [r0, #0x0]
- b _0208B3AC
-_0208B3A4:
- ldr r0, [sp, #0x24]
- str r0, [r7, #0x18]
-_0208B3AC:
- ldr r0, [sp, #0x0]
- ldrh r1, [r10, #0x30]
- add r0, r0, #0x1
- add r6, r6, #0x20
- str r0, [sp, #0x0]
- cmp r0, r1
- blt _0208B1A4
-_0208B3C8:
- ldrh r2, [r10, #0x32]
- mov r0, #0x14
- ldr r1, [r10, #0x0]
- mul r0, r2, r0
- blx r1
- str r0, [r10, #0x2c]
- ldrh r3, [r10, #0x32]
- mov r1, #0x14
- ldr r0, [r10, #0x2c]
- mul r2, r3, r1
- mov r1, #0x0
- bl MI_CpuFill8
- ldrh r0, [r10, #0x32]
- mov r3, #0x0
- cmp r0, #0x0
- addle sp, sp, #0x2c
- ldmleia sp!, {r4-r11,lr}
- bxle lr
- mov r4, r3
- mov r0, #0x1
-_0208B418:
- ldr r2, [r10, #0x2c]
- add r1, r9, r8
- str r1, [r2, r4]
- ldr r5, [r1, #0x4]
- add r2, r2, r4
- mov r5, r5, lsl #0x18
- mov r5, r5, lsr #0x1c
- add r5, r5, #0x3
- mov r5, r0, lsl r5
- strh r5, [r2, #0x10]
- ldr r5, [r1, #0x4]
- add r3, r3, #0x1
- mov r5, r5, lsl #0x14
- mov r5, r5, lsr #0x1c
- add r5, r5, #0x3
- mov r5, r0, lsl r5
- strh r5, [r2, #0x12]
- ldr r5, [r1, #0x4]
- add r4, r4, #0x14
- str r5, [r2, #0xc]
- ldrh r2, [r10, #0x32]
- ldr r1, [r1, #0x1c]
- cmp r3, r2
- add r8, r8, r1
- blt _0208B418
- add sp, sp, #0x2c
- ldmia sp!, {r4-r11,lr}
- bx lr
- .balign 4
-_0208B488: .word FUN_020909A4
-_0208B48C: .word FUN_020908DC
-_0208B490: .word FUN_02090858
-_0208B494: .word FUN_02090780
-_0208B498: .word FUN_02090664
-_0208B49C: .word FUN_020905D0
-
- arm_func_start FUN_0208B4A0
-FUN_0208B4A0: ; 0x0208B4A0
- stmdb sp!, {r4-r10,lr}
- mov r8, r0
- mov r0, #0x4c
- mov r7, r1
- mov r6, r2
- mov r4, r3
- blx r8
- mov r5, r0
- mov r1, #0x0
- mov r2, #0x4c
- bl MI_CpuFill8
- strh r7, [r5, #0x34]
- strh r6, [r5, #0x36]
- ldrh r0, [sp, #0x20]
- and r2, r4, #0x3f
- ldr r1, [r5, #0x38]
- and r0, r0, #0x3f
- bic r1, r1, #0x3f
- orr r0, r1, r0
- str r0, [r5, #0x38]
- ldrh r0, [sp, #0x24]
- ldr r3, [r5, #0x38]
- mov r1, #0x0
- bic r3, r3, #0xfc0
- and r0, r0, #0x3f
- orr r0, r3, r0, lsl #0x6
- str r0, [r5, #0x38]
- ldr r3, [r5, #0x38]
- mov r0, #0x9c
- mul r4, r7, r0
- bic r12, r3, #0x3f000
- mov r0, r3, lsl #0x1a
- mov r0, r0, lsr #0x1a
- and r0, r0, #0x3f
- orr r0, r12, r0, lsl #0xc
- str r0, [r5, #0x38]
- ldr r3, [r5, #0x38]
- mov r0, r4
- bic r3, r3, #0xfc0000
- orr r2, r3, r2, lsl #0x12
- str r2, [r5, #0x38]
- ldr r2, [r5, #0x38]
- bic r2, r2, #0x1000000
- str r2, [r5, #0x38]
- ldr r2, [r5, #0x38]
- bic r2, r2, #0xfe000000
- str r2, [r5, #0x38]
- str r8, [r5, #0x0]
- str r1, [r5, #0x8]
- str r1, [r5, #0x14]
- str r1, [r5, #0x20]
- str r1, [r5, #0x4]
- str r1, [r5, #0x10]
- str r1, [r5, #0x1c]
- str r1, [r5, #0x3c]
- strh r1, [r5, #0x48]
- blx r8
- mov r2, r4
- mov r9, r0
- mov r1, #0x0
- bl MI_CpuFill8
-_0208B594: ; 0x0208B594
- cmp r7, #0x0
- mov r10, #0x0
- ble _0208B5C0
- add r4, r5, #0x10
-_0208B5A4:
- mov r0, r4
- mov r1, r9
- bl FUN_02090AA4
- add r10, r10, #0x1
- cmp r10, r7
- add r9, r9, #0x9c
- blt _0208B5A4
-_0208B5C0:
- mov r0, #0x44
- mul r4, r6, r0
- mov r0, r4
- blx r8
- mov r2, r4
- mov r1, #0x0
- mov r8, r0
- bl MI_CpuFill8
-_0208B5E0: ; 0x0208B5E0
- cmp r6, #0x0
- mov r7, #0x0
- ble _0208B60C
- add r4, r5, #0x1c
-_0208B5F0:
- mov r0, r4
- mov r1, r8
- bl FUN_02090AA4
- add r7, r7, #0x1
- cmp r7, r6
- add r8, r8, #0x44
- blt _0208B5F0
-_0208B60C:
- mov r0, #0x0
- str r0, [r5, #0x28]
- str r0, [r5, #0x2c]
- strh r0, [r5, #0x32]
- ldrh r1, [r5, #0x32]
- mov r0, r5
- strh r1, [r5, #0x30]
- ldmia sp!, {r4-r10,lr}
- bx lr
-
- arm_func_start FUN_0208B630
-FUN_0208B630: ; 0x0208B630
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r3, _0208B660 ; =0x021064C0
- mov r2, #0x0
- ldr r3, [r3, #0x0]
- blx r3
- ldr r1, _0208B664 ; =0x0000FFFF
- and r0, r0, r1
- mov r0, r0, lsl #0x3
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_0208B660: .word 0x021064C0
-_0208B664: .word 0x0000FFFF
-
- arm_func_start FUN_0208B668
-FUN_0208B668: ; 0x0208B668
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r3, _0208B698 ; =0x021064B8
- mov r2, #0x0
- ldr r3, [r3, #0x0]
- blx r3
- ldr r1, _0208B69C ; =0x0000FFFF
- and r0, r0, r1
- mov r0, r0, lsl #0x3
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_0208B698: .word 0x021064B8
-_0208B69C: .word 0x0000FFFF
-
- arm_func_start FUN_0208B6A0
-FUN_0208B6A0: ; 0x0208B6A0
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r4, r0
- ldr r1, [r4, #0x40]
- ldr r1, [r1, #0x20]
- ldr r5, [r1, #0x0]
- ldr r1, [r5, #0x0]
- mov r2, r1, lsl #0xa
- movs r2, r2, lsr #0x1f
- beq _0208B6F8
- bl FUN_0208B71C
-_0208B6CC: ; 0x0208B6CC
- ldr r0, [r5, #0x0]
- mov r0, r0, lsl #0x9
- movs r0, r0, lsr #0x1f
- addne sp, sp, #0x4
- ldmneia sp!, {r4-r5,lr}
- bxne lr
- mov r0, r4
- bl FUN_0208B804
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
-_0208B6F8:
- mov r1, r1, lsl #0x9
- movs r1, r1, lsr #0x1f
- bne _0208B708
- bl FUN_0208B804
-_0208B708:
- mov r0, r4
- bl FUN_0208B71C
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
-
- arm_func_start FUN_0208B71C
-FUN_0208B71C:
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- mov r7, r0
- ldr r6, [r7, #0x40]
- mov r4, #0x0
- ldr r5, [r6, #0x20]
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0x0]
- mov r0, r0, lsl #0xf
- movs r0, r0, lsr #0x1f
- addeq sp, sp, #0x4
- ldmeqia sp!, {r4-r7,lr}
- bxeq lr
- ldr r0, [r5, #0x14]
- ldr r2, [r7, #0x2c]
- ldrb r1, [r0, #0xf]
- mov r0, #0x14
- mla r0, r1, r0, r2
- bl FUN_0208C408
- ldr r0, [r5, #0x14]
- ldrh r0, [r0, #0x0]
- mov r0, r0, lsl #0x17
- mov r0, r0, lsr #0x1e
- cmp r0, #0x4
- addls pc, pc, r0, lsl #0x2
- b _0208B7BC
-_0208B784:
- b _0208B798
-_0208B788:
- b _0208B7A0
-_0208B78C:
- b _0208B7A8
-_0208B790:
- b _0208B7B0
-_0208B794:
- b _0208B7B8
-_0208B798:
- ldr r4, _0208B7F4 ; =FUN_0208E258
- b _0208B7BC
-_0208B7A0:
- ldr r4, _0208B7F8 ; =FUN_0208D490
- b _0208B7BC
-_0208B7A8:
- ldr r4, _0208B7FC ; =FUN_0208CDF0
- b _0208B7BC
-_0208B7B0:
- ldr r4, _0208B800 ; =FUN_0208C4F4
- b _0208B7BC
-_0208B7B8:
- ldr r4, _0208B800 ; =FUN_0208C4F4
-_0208B7BC:
- ldr r5, [r6, #0x14]
- cmp r5, #0x0
- addeq sp, sp, #0x4
- ldmeqia sp!, {r4-r7,lr}
- bxeq lr
-_0208B7D0:
- mov r0, r7
- mov r1, r5
- blx r4
- ldr r5, [r5, #0x0]
- cmp r5, #0x0
- bne _0208B7D0
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,lr}
- bx lr
- .balign 4
-_0208B7F4: .word FUN_0208E258
-_0208B7F8: .word FUN_0208D490
-_0208B7FC: .word FUN_0208CDF0
-_0208B800: .word FUN_0208C4F4
-
- arm_func_start FUN_0208B804
-FUN_0208B804: ; 0x0208B804
- stmdb sp!, {r4-r8,lr}
- mov r7, r0
- ldr r6, [r7, #0x40]
- ldr r2, [r7, #0x2c]
- ldr r1, [r6, #0x20]
- mov r0, #0x14
- ldr r5, [r1, #0x0]
- mov r4, #0x0
- ldrb r1, [r5, #0x47]
- mla r0, r1, r0, r2
- bl FUN_0208C408
-_0208B830: ; 0x0208B830
- ldr r0, [r5, #0x0]
- mov r0, r0, lsl #0x1a
- mov r0, r0, lsr #0x1e
- cmp r0, #0x4
- addls pc, pc, r0, lsl #0x2
- b _0208B880
-_0208B848:
- b _0208B85C
-_0208B84C:
- b _0208B864
-_0208B850:
- b _0208B86C
-_0208B854:
- b _0208B874
-_0208B858:
- b _0208B87C
-_0208B85C:
- ldr r4, _0208B8D8 ; =FUN_0208E6AC
- b _0208B880
-_0208B864:
- ldr r4, _0208B8DC ; =FUN_0208DB70
- b _0208B880
-_0208B86C:
- ldr r4, _0208B8E0 ; =FUN_0208D140
- b _0208B880
-_0208B874:
- ldr r4, _0208B8E4 ; =FUN_0208C974
- b _0208B880
-_0208B87C:
- ldr r4, _0208B8E4 ; =FUN_0208C974
-_0208B880:
- ldr r0, [r5, #0x0]
- ldr r8, [r6, #0x8]
- mov r0, r0, lsl #0x14
- movs r0, r0, lsr #0x1f
- ldrne r5, _0208B8E8 ; =FUN_0208C408
- ldreq r5, _0208B8EC ; =FUN_0208C404
- cmp r8, #0x0
- ldmeqia sp!, {r4-r8,lr}
- bxeq lr
- mov r6, #0x14
-_0208B8A8:
- ldrb r1, [r8, #0x2c]
- ldr r0, [r7, #0x2c]
- mla r0, r1, r6, r0
- blx r5
- mov r0, r7
- mov r1, r8
- blx r4
- ldr r8, [r8, #0x0]
- cmp r8, #0x0
- bne _0208B8A8
- ldmia sp!, {r4-r8,lr}
- bx lr
- .balign 4
-_0208B8D8: .word FUN_0208E6AC
-_0208B8DC: .word FUN_0208DB70
-_0208B8E0: .word FUN_0208D140
-_0208B8E4: .word FUN_0208C974
-_0208B8E8: .word FUN_0208C408
-_0208B8EC: .word FUN_0208C404
-
- arm_func_start FUN_0208B8F0
-FUN_0208B8F0:
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0x74
- mov r9, r1
- ldr r8, [r9, #0x20]
- mov r10, r0
- ldr r0, [r8, #0x14]
- ldr r4, [r8, #0x0]
- str r0, [sp, #0x4]
- ldr r0, [r4, #0x0]
- mov r6, #0x0
- str r0, [sp, #0x24]
- ldrb r0, [r4, #0x46]
- ldr r2, [r9, #0x90]
- ldrh r7, [r8, #0x1c]
- add r0, r0, #0x180
- cmp r2, #0x0
- str r0, [sp, #0x8]
- beq _0208B944
- mov r0, r9
- mov r1, r6
- blx r2
-_0208B944:
- ldrh r1, [r4, #0x3c]
- cmp r1, #0x0
- beq _0208B95C
- ldrh r0, [r9, #0x4c]
- cmp r0, r1
- bhs _0208B9A4
-_0208B95C:
- ldrh r0, [r9, #0x4c]
- ldrb r1, [r9, #0x80]
- bl _s32_div_f
-_0208B968: ; 0x0208B968
- cmp r1, #0x0
- bne _0208B9A4
- ldr r1, [r9, #0x24]
- mov r0, r1, lsl #0x1f
- movs r0, r0, lsr #0x1f
- bne _0208B9A4
- mov r0, r1, lsl #0x1e
- movs r0, r0, lsr #0x1f
- bne _0208B9A4
- mov r0, r1, lsl #0x1b
- movs r0, r0, lsr #0x1f
- beq _0208B9A4
- mov r0, r9
- add r1, r10, #0x1c
- bl FUN_0208F07C
-_0208B9A4:
- ldr r0, [sp, #0x24]
- mov r0, r0, lsl #0x17
- movs r0, r0, lsr #0x1f
- beq _0208B9D4
- ldr r0, _0208C120 ; =FUN_02090540
- add r6, r6, #0x1
- str r0, [sp, #0x28]
- ldr r0, [r8, #0x4]
- ldrh r0, [r0, #0x8]
- mov r0, r0, lsl #0x1f
- mov r0, r0, lsr #0x1f
- str r0, [sp, #0x2c]
-_0208B9D4:
- ldr r0, [sp, #0x24]
- mov r0, r0, lsl #0x16
- movs r0, r0, lsr #0x1f
- beq _0208BA20
- ldr r3, [r8, #0x8]
- ldrh r0, [r3, #0x8]
- mov r0, r0, lsl #0x1f
- movs r0, r0, lsr #0x1f
- bne _0208BA20
- ldr r2, _0208C124 ; =FUN_02090374
- add r1, sp, #0x28
- str r2, [r1, r6, lsl #0x3]
- ldrh r1, [r3, #0x8]
- mov r2, r6, lsl #0x3
- add r0, sp, #0x2c
- mov r1, r1, lsl #0x1e
- mov r1, r1, lsr #0x1f
- add r6, r6, #0x1
- str r1, [r0, r2]
-_0208BA20:
- ldr r0, [sp, #0x24]
- mov r0, r0, lsl #0x15
- movs r0, r0, lsr #0x1f
- beq _0208BA5C
- ldr r2, _0208C128 ; =FUN_02090298
- add r1, sp, #0x28
- str r2, [r1, r6, lsl #0x3]
- ldr r1, [r8, #0xc]
- mov r2, r6, lsl #0x3
- ldrh r1, [r1, #0x2]
- add r0, sp, #0x2c
- add r6, r6, #0x1
- mov r1, r1, lsl #0x17
- mov r1, r1, lsr #0x1f
- str r1, [r0, r2]
-_0208BA5C:
- ldr r0, [sp, #0x24]
- mov r0, r0, lsl #0x14
- movs r0, r0, lsr #0x1f
- beq _0208BAA4
- ldr r3, [r8, #0x10]
- ldr r0, [r3, #0x8]
- mov r0, r0, lsl #0xf
- movs r0, r0, lsr #0x1f
- bne _0208BAA4
- ldr r2, _0208C12C ; =FUN_02090234
- add r1, sp, #0x28
- str r2, [r1, r6, lsl #0x3]
- ldr r1, [r3, #0x8]
- add r0, sp, #0x2c
- mov r1, r1, lsl #0xe
- mov r1, r1, lsr #0x1f
- str r1, [r0, r6, lsl #0x3]
- add r6, r6, #0x1
-_0208BAA4:
- ldr r4, [r9, #0x8]
- cmp r4, #0x0
- beq _0208BDE0
- ldr r0, [sp, #0x24]
- add r11, sp, #0x28
- mov r2, r0, lsl #0x10
- mov r1, r0, lsl #0xf
- mov r0, r2, lsr #0x1f
- str r0, [sp, #0xc]
- mov r0, r1, lsr #0x1f
- str r0, [sp, #0x10]
- mov r0, #0x0
- str r0, [sp, #0x18]
-_0208BAD8:
- ldr r0, [r4, #0x0]
- ldrh r1, [r4, #0x2a]
- str r0, [sp, #0x0]
- ldrh r0, [r4, #0x26]
- cmp r6, #0x0
- ldr r5, [sp, #0x18]
- mul r2, r1, r0
- mov r1, r2, asr #0x8
- strb r1, [sp, #0x20]
- ldrh r1, [r4, #0x28]
- ldrb r2, [r4, #0x2d]
- mul r0, r1, r0
- add r0, r2, r0, asr #0x8
- strb r0, [sp, #0x21]
- ble _0208BB40
-_0208BB14:
- add r2, r11, r5, lsl #0x3
- ldr r12, [r2, #0x4]
- add r2, sp, #0x20
- ldrb r2, [r2, r12]
- ldr r3, [r11, r5, lsl #0x3]
- mov r0, r4
- mov r1, r8
- blx r3
- add r5, r5, #0x1
- cmp r5, r6
- blt _0208BB14
-_0208BB40:
- ldr r0, [sp, #0x18]
- ldr r5, [sp, #0x18]
- str r0, [sp, #0x70]
- str r0, [sp, #0x6c]
- str r0, [sp, #0x68]
- ldr r0, [sp, #0xc]
- cmp r0, #0x0
- addne r0, r9, #0x28
- addne r3, r4, #0x38
- ldmneia r0, {r0-r2}
- stmneia r3, {r0-r2}
- cmp r7, #0x0
- ble _0208BBA0
-_0208BB74:
- ldr r2, [r8, #0x18]
- mov r1, r4
- add r0, r2, r5, lsl #0x3
- ldr r12, [r2, r5, lsl #0x3]
- ldr r0, [r0, #0x4]
- add r2, sp, #0x68
- mov r3, r9
- blx r12
- add r5, r5, #0x1
- cmp r5, r7
- blt _0208BB74
-_0208BBA0:
- ldr r0, [sp, #0x10]
- ldrh r1, [r4, #0x20]
- cmp r0, #0x0
- ldrsh r0, [r4, #0x22]
- add r0, r1, r0
- strh r0, [r4, #0x20]
- ldr r1, [r4, #0x14]
- ldr r0, [sp, #0x8]
- mul r0, r1, r0
- mov r0, r0, asr #0x9
- str r0, [r4, #0x14]
- ldr r1, [r4, #0x18]
- ldr r0, [sp, #0x8]
- mul r0, r1, r0
- mov r0, r0, asr #0x9
- str r0, [r4, #0x18]
- ldr r1, [r4, #0x1c]
- ldr r0, [sp, #0x8]
- mul r0, r1, r0
- mov r0, r0, asr #0x9
- str r0, [r4, #0x1c]
- ldr r1, [r4, #0x14]
- ldr r0, [sp, #0x68]
- add r0, r1, r0
- str r0, [r4, #0x14]
- ldr r1, [r4, #0x18]
- ldr r0, [sp, #0x6c]
- add r0, r1, r0
- str r0, [r4, #0x18]
- ldr r1, [r4, #0x1c]
- ldr r0, [sp, #0x70]
- add r0, r1, r0
- str r0, [r4, #0x1c]
- ldr r1, [r4, #0x14]
- ldr r0, [r9, #0x34]
- ldr r2, [r4, #0x8]
- add r0, r1, r0
- add r0, r2, r0
- str r0, [r4, #0x8]
- ldr r1, [r4, #0x18]
- ldr r0, [r9, #0x38]
- ldr r2, [r4, #0xc]
- add r0, r1, r0
- add r0, r2, r0
- str r0, [r4, #0xc]
- ldr r1, [r4, #0x1c]
- ldr r0, [r9, #0x3c]
- ldr r2, [r4, #0x10]
- add r0, r1, r0
- add r0, r2, r0
- str r0, [r4, #0x10]
- beq _0208BCD8
- ldr r0, [sp, #0x4]
- ldrh r2, [r4, #0x24]
- ldrb r1, [r0, #0xd]
- ldrh r3, [r4, #0x26]
- mov r2, r2, lsl #0xc
- mov r1, r1, lsl #0xc
- mov r0, r3, lsl #0xc
- smull r5, r3, r2, r1
- mov r1, #0x800
- adds r2, r5, r1
- adc r1, r3, #0x0
- mov r2, r2, lsr #0xc
- orr r2, r2, r1, lsl #0x14
- mov r1, r2, asr #0x8
- subs r0, r0, r1
- bmi _0208BCD8
- ldr r1, [sp, #0x4]
- mov r0, r0, asr #0xc
- ldrb r1, [r1, #0xe]
- bl _s32_div_f
-_0208BCC0: ; 0x0208BCC0
- cmp r1, #0x0
- bne _0208BCD8
- mov r0, r4
- mov r1, r9
- add r2, r10, #0x1c
- bl FUN_0208ED5C
-_0208BCD8:
- ldr r0, [r9, #0x20]
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x0]
- mov r0, r0, lsl #0x1
- movs r0, r0, lsr #0x1f
- beq _0208BD1C
- ldrh r0, [r4, #0x2e]
- ldr r1, [r10, #0x38]
- bic r0, r0, #0xfc00
- mov r1, r1, lsl #0x8
- mov r1, r1, lsr #0x1a
- mov r1, r1, lsl #0x10
- mov r1, r1, lsr #0x10
- and r1, r1, #0x3f
- orr r0, r0, r1, lsl #0xa
- strh r0, [r4, #0x2e]
- b _0208BD9C
-_0208BD1C:
- ldrh r0, [r4, #0x2e]
- ldr r2, [r10, #0x38]
- add r1, r10, #0x38
- bic r0, r0, #0xfc00
- mov r2, r2, lsl #0xe
- mov r2, r2, lsr #0x1a
- mov r2, r2, lsl #0x10
- mov r2, r2, lsr #0x10
- and r2, r2, #0x3f
- orr r0, r0, r2, lsl #0xa
- strh r0, [r4, #0x2e]
- ldr r2, [r10, #0x38]
- bic r0, r2, #0x3f000
- mov r2, r2, lsl #0xe
- mov r2, r2, lsr #0x1a
- add r2, r2, #0x1
- and r2, r2, #0x3f
- orr r0, r0, r2, lsl #0xc
- str r0, [r10, #0x38]
- ldr r2, [r10, #0x38]
- mov r0, r2, lsl #0xe
- mov r3, r0, lsr #0x1a
- mov r0, r2, lsl #0x14
- cmp r3, r0, lsr #0x1a
- bls _0208BD9C
- mov r0, r2, lsl #0x1a
- mov r0, r0, lsr #0x1a
- and r0, r0, #0x3f
- ldr r2, [r1, #0x0]
- bic r2, r2, #0x3f000
- orr r0, r2, r0, lsl #0xc
- str r0, [r1, #0x0]
-_0208BD9C:
- ldrh r0, [r4, #0x26]
- add r0, r0, #0x1
- strh r0, [r4, #0x26]
- ldrh r1, [r4, #0x26]
- ldrh r0, [r4, #0x24]
- cmp r1, r0
- bls _0208BDD0
- mov r1, r4
- add r0, r9, #0x8
- bl FUN_020909D8
- mov r1, r0
- add r0, r10, #0x1c
- bl FUN_02090AA4
-_0208BDD0:
- ldr r0, [sp, #0x0]
- cmp r0, #0x0
- mov r4, r0
- bne _0208BAD8
-_0208BDE0:
- ldr r0, [sp, #0x24]
- mov r0, r0, lsl #0xf
- movs r0, r0, lsr #0x1f
- beq _0208C0E8
- ldr r0, [sp, #0x4]
- mov r6, #0x0
- ldrh r0, [r0, #0x0]
- mov r0, r0, lsl #0x1e
- movs r0, r0, lsr #0x1f
- ldrne r0, _0208C130 ; =FUN_020901E8
- strne r6, [sp, #0x4c]
- strne r0, [sp, #0x48]
- ldr r0, [sp, #0x4]
- addne r6, r6, #0x1
- ldrh r0, [r0, #0x0]
- mov r0, r0, lsl #0x1d
- movs r0, r0, lsr #0x1f
- beq _0208BE44
- ldr r2, _0208C134 ; =FUN_02090190
- add r1, sp, #0x48
- str r2, [r1, r6, lsl #0x3]
- add r0, sp, #0x4c
- mov r1, #0x0
- str r1, [r0, r6, lsl #0x3]
- add r6, r6, #0x1
-_0208BE44:
- ldr r0, [sp, #0x4]
- ldr r5, [r9, #0x14]
- ldrh r0, [r0, #0x0]
- mov r0, r0, lsl #0x1f
- movs r0, r0, lsr #0x1f
- moveq r7, #0x0
- cmp r5, #0x0
- beq _0208C0E8
- mov r0, #0x0
- str r0, [sp, #0x1c]
-_0208BE6C:
- ldrh r2, [r5, #0x26]
- ldr r0, [r5, #0x0]
- ldrh r1, [r5, #0x24]
- str r0, [sp, #0x14]
- mov r0, r2, lsl #0x8
- bl _s32_div_f
- ldr r4, [sp, #0x1c]
- strb r0, [sp, #0x20]
- cmp r6, #0x0
- ble _0208BEBC
- ldrb r11, [sp, #0x20]
-_0208BE98:
- add r3, sp, #0x48
- ldr r3, [r3, r4, lsl #0x3]
- mov r0, r5
- mov r1, r8
- mov r2, r11
- blx r3
- add r4, r4, #0x1
- cmp r4, r6
- blt _0208BE98
-_0208BEBC:
- ldr r0, [sp, #0x1c]
- ldr r4, [sp, #0x1c]
- str r0, [sp, #0x70]
- str r0, [sp, #0x6c]
- str r0, [sp, #0x68]
- ldr r0, [sp, #0x4]
- ldrh r0, [r0, #0x0]
- mov r0, r0, lsl #0x1a
- movs r0, r0, lsr #0x1f
- addne r0, r9, #0x28
- addne r3, r5, #0x38
- ldmneia r0, {r0-r2}
- stmneia r3, {r0-r2}
- cmp r7, #0x0
- ble _0208BF24
-_0208BEF8:
- ldr r2, [r8, #0x18]
- mov r1, r5
- add r0, r2, r4, lsl #0x3
- ldr r11, [r2, r4, lsl #0x3]
- ldr r0, [r0, #0x4]
- add r2, sp, #0x68
- mov r3, r9
- blx r11
- add r4, r4, #0x1
- cmp r4, r7
- blt _0208BEF8
-_0208BF24:
- ldrh r1, [r5, #0x20]
- ldrsh r0, [r5, #0x22]
- add r0, r1, r0
- strh r0, [r5, #0x20]
- ldr r1, [r5, #0x14]
- ldr r0, [sp, #0x8]
- mul r0, r1, r0
- mov r0, r0, asr #0x9
- str r0, [r5, #0x14]
- ldr r1, [r5, #0x18]
- ldr r0, [sp, #0x8]
- mul r0, r1, r0
- mov r0, r0, asr #0x9
- str r0, [r5, #0x18]
- ldr r1, [r5, #0x1c]
- ldr r0, [sp, #0x8]
- mul r0, r1, r0
- mov r0, r0, asr #0x9
- str r0, [r5, #0x1c]
- ldr r1, [r5, #0x14]
- ldr r0, [sp, #0x68]
- add r0, r1, r0
- str r0, [r5, #0x14]
- ldr r1, [r5, #0x18]
- ldr r0, [sp, #0x6c]
- add r0, r1, r0
- str r0, [r5, #0x18]
- ldr r1, [r5, #0x1c]
- ldr r0, [sp, #0x70]
- add r0, r1, r0
- str r0, [r5, #0x1c]
- ldr r1, [r5, #0x14]
- ldr r0, [r9, #0x34]
- ldr r2, [r5, #0x8]
- add r0, r1, r0
- add r0, r2, r0
- str r0, [r5, #0x8]
- ldr r1, [r5, #0x18]
- ldr r0, [r9, #0x38]
- ldr r2, [r5, #0xc]
- add r0, r1, r0
- add r0, r2, r0
- str r0, [r5, #0xc]
- ldr r1, [r5, #0x1c]
- ldr r0, [r9, #0x3c]
- ldr r2, [r5, #0x10]
- add r0, r1, r0
- add r0, r2, r0
- str r0, [r5, #0x10]
- ldr r0, [r9, #0x20]
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x0]
- movs r0, r0, lsr #0x1f
- beq _0208C028
- ldr r0, [r10, #0x38]
- ldrh r1, [r5, #0x2e]
- mov r0, r0, lsl #0x8
- mov r0, r0, lsr #0x1a
- bic r1, r1, #0xfc00
- mov r0, r0, lsl #0x10
- mov r0, r0, lsr #0x10
- and r0, r0, #0x3f
- orr r0, r1, r0, lsl #0xa
- strh r0, [r5, #0x2e]
- b _0208C0A8
-_0208C028:
- ldr r0, [r10, #0x38]
- ldrh r1, [r5, #0x2e]
- mov r0, r0, lsl #0xe
- mov r0, r0, lsr #0x1a
- bic r1, r1, #0xfc00
- mov r0, r0, lsl #0x10
- mov r0, r0, lsr #0x10
- and r0, r0, #0x3f
- orr r0, r1, r0, lsl #0xa
- strh r0, [r5, #0x2e]
- ldr r1, [r10, #0x38]
- add r0, r10, #0x38
- bic r2, r1, #0x3f000
- mov r1, r1, lsl #0xe
- mov r1, r1, lsr #0x1a
- add r1, r1, #0x1
- and r1, r1, #0x3f
- orr r1, r2, r1, lsl #0xc
- str r1, [r10, #0x38]
- ldr r2, [r10, #0x38]
- mov r1, r2, lsl #0xe
- mov r3, r1, lsr #0x1a
- mov r1, r2, lsl #0x14
- cmp r3, r1, lsr #0x1a
- bls _0208C0A8
- mov r1, r2, lsl #0x1a
- mov r1, r1, lsr #0x1a
- and r1, r1, #0x3f
- ldr r2, [r0, #0x0]
- bic r2, r2, #0x3f000
- orr r1, r2, r1, lsl #0xc
- str r1, [r0, #0x0]
-_0208C0A8:
- ldrh r0, [r5, #0x26]
- add r0, r0, #0x1
- strh r0, [r5, #0x26]
- ldrh r1, [r5, #0x26]
- ldrh r0, [r5, #0x24]
- cmp r1, r0
- bls _0208C0DC
- mov r1, r5
- add r0, r9, #0x14
- bl FUN_020909D8
- mov r1, r0
- add r0, r10, #0x1c
- bl FUN_02090AA4
-_0208C0DC:
- ldr r5, [sp, #0x14]
- movs r0, r5
- bne _0208BE6C
-_0208C0E8:
- ldrh r0, [r9, #0x4c]
- add r0, r0, #0x1
- strh r0, [r9, #0x4c]
- ldr r2, [r9, #0x90]
- cmp r2, #0x0
- addeq sp, sp, #0x74
- ldmeqia sp!, {r4-r11,lr}
- bxeq lr
- mov r0, r9
- mov r1, #0x1
- blx r2
- add sp, sp, #0x74
- ldmia sp!, {r4-r11,lr}
- bx lr
- .balign 4
-_0208C120: .word FUN_02090540
-_0208C124: .word FUN_02090374
-_0208C128: .word FUN_02090298
-_0208C12C: .word FUN_02090234
-_0208C130: .word FUN_020901E8
-_0208C134: .word FUN_02090190
-
- arm_func_start FUN_0208C138
-FUN_0208C138:
- stmdb sp!, {r4-r6,lr}
- str r1, [r0, #0x20]
- mov r3, #0x0
- str r3, [r0, #0x24]
- ldr r1, [r0, #0x20]
- ldr r5, [r2, #0x0]
- ldr r1, [r1, #0x0]
- ldr r4, _0208C3FC ; =0x00007FFF
- ldr r1, [r1, #0x4]
- ldr ip, _0208C400 ; =0x0007FFFF
- add r1, r5, r1
- str r1, [r0, #0x28]
- ldr r1, [r0, #0x20]
- ldr r6, [r2, #0x4]
- ldr r1, [r1, #0x0]
- mov lr, #0x80000000
- ldr r5, [r1, #0x8]
- mov r1, #0x1000
- add r5, r6, r5
- str r5, [r0, #0x2c]
- ldr r5, [r0, #0x20]
- ldr r6, [r2, #0x8]
- ldr r2, [r5, #0x0]
- ldr r2, [r2, #0xc]
- add r2, r6, r2
- str r2, [r0, #0x30]
- str r3, [r0, #0x40]
- str r3, [r0, #0x44]
- str r3, [r0, #0x48]
- str r3, [r0, #0x3c]
- ldr r2, [r0, #0x3c]
- str r2, [r0, #0x38]
- ldr r2, [r0, #0x38]
- str r2, [r0, #0x34]
- strh r3, [r0, #0x4c]
- strh r3, [r0, #0x4e]
- ldr r2, [r0, #0x20]
- ldr r5, [r2, #0x0]
- ldrh r3, [r5, #0x1c]
- ldrh r2, [r5, #0x1e]
- strh r3, [r0, #0x50]
- strh r2, [r0, #0x52]
- ldrh r2, [r5, #0x20]
- strh r2, [r0, #0x54]
- ldr r2, [r0, #0x20]
- ldr r2, [r2, #0x0]
- ldrh r2, [r2, #0x38]
- strh r2, [r0, #0x56]
- ldr r2, [r0, #0x20]
- ldr r2, [r2, #0x0]
- ldr r2, [r2, #0x10]
- str r2, [r0, #0x58]
- ldr r2, [r0, #0x20]
- ldr r2, [r2, #0x0]
- ldr r2, [r2, #0x14]
- str r2, [r0, #0x5c]
- ldr r2, [r0, #0x20]
- ldr r2, [r2, #0x0]
- ldr r2, [r2, #0x18]
- str r2, [r0, #0x60]
- ldr r2, [r0, #0x20]
- ldr r2, [r2, #0x0]
- ldr r2, [r2, #0x24]
- str r2, [r0, #0x64]
- ldr r2, [r0, #0x20]
- ldr r2, [r2, #0x0]
- ldr r2, [r2, #0x28]
- str r2, [r0, #0x68]
- ldr r2, [r0, #0x20]
- ldr r2, [r2, #0x0]
- ldr r2, [r2, #0x2c]
- str r2, [r0, #0x6c]
- ldr r2, [r0, #0x20]
- ldr r2, [r2, #0x0]
- ldrh r2, [r2, #0x3e]
- strh r2, [r0, #0x70]
- strh r4, [r0, #0x72]
- ldr r2, [r0, #0x20]
- ldr r2, [r2, #0x0]
- ldrb r2, [r2, #0x44]
- strb r2, [r0, #0x80]
- ldr r2, [r0, #0x20]
- ldr r2, [r2, #0x0]
- ldrb r2, [r2, #0x45]
- strb r2, [r0, #0x81]
- ldr r2, [r0, #0x80]
- bic r2, r2, #0x70000
- str r2, [r0, #0x80]
- ldr r2, [r0, #0x80]
- and r2, r2, r12
- str r2, [r0, #0x80]
- str lr, [r0, #0x74]
- ldr r2, [r0, #0x20]
- ldr r2, [r2, #0x0]
- ldr r2, [r2, #0x48]
- mov r2, r2, lsl #0x6
- mov r2, r2, lsr #0x1e
- mov r2, r1, lsl r2
- strh r2, [r0, #0x78]
- ldr r2, [r0, #0x20]
- ldr r2, [r2, #0x0]
- ldr r2, [r2, #0x48]
- mov r2, r2, lsl #0x4
- mov r2, r2, lsr #0x1e
- mov r1, r1, lsl r2
- strh r1, [r0, #0x7a]
- ldr r1, [r0, #0x20]
- ldr r1, [r1, #0x0]
- ldr r1, [r1, #0x4c]
- mov r1, r1, lsl #0x1f
- movs r1, r1, lsr #0x1f
- ldrnesh r2, [r0, #0x78]
- mvnne r1, #0x0
- smulbbne r1, r2, r1
- strneh r1, [r0, #0x78]
- ldr r1, [r0, #0x20]
- ldr r1, [r1, #0x0]
- ldr r1, [r1, #0x4c]
- mov r1, r1, lsl #0x1e
- movs r1, r1, lsr #0x1f
- ldrnesh r2, [r0, #0x7a]
- mvnne r1, #0x0
- smulbbne r1, r2, r1
- strneh r1, [r0, #0x7a]
- ldr r2, [r0, #0x20]
- ldr r1, [r2, #0x0]
- ldr r1, [r1, #0x0]
- mov r1, r1, lsl #0xf
- movs r1, r1, lsr #0x1f
- beq _0208C3C0
- ldr r1, [r2, #0x14]
- mov r2, #0x1000
- ldr r1, [r1, #0x10]
- mov r1, r1, lsl #0x1e
- mov r1, r1, lsr #0x1e
- mov r1, r2, lsl r1
- strh r1, [r0, #0x7c]
- ldr r1, [r0, #0x20]
- ldr r1, [r1, #0x14]
- ldr r1, [r1, #0x10]
- mov r1, r1, lsl #0x1c
- mov r1, r1, lsr #0x1e
- mov r1, r2, lsl r1
- strh r1, [r0, #0x7e]
- ldr r1, [r0, #0x20]
- ldr r1, [r1, #0x14]
- ldr r1, [r1, #0x10]
- mov r1, r1, lsl #0x1b
- movs r1, r1, lsr #0x1f
- ldrnesh r2, [r0, #0x7c]
- mvnne r1, #0x0
- smulbbne r1, r2, r1
- strneh r1, [r0, #0x7c]
- ldr r1, [r0, #0x20]
- ldr r1, [r1, #0x14]
- ldr r1, [r1, #0x10]
- mov r1, r1, lsl #0x1a
- movs r1, r1, lsr #0x1f
- ldrnesh r2, [r0, #0x7e]
- mvnne r1, #0x0
- smulbbne r1, r2, r1
- strneh r1, [r0, #0x7e]
-_0208C3C0:
- mov r2, #0x0
- str r2, [r0, #0x4]
- ldr r1, [r0, #0x4]
- str r1, [r0, #0x0]
- str r2, [r0, #0x14]
- ldr r1, [r0, #0x14]
- str r1, [r0, #0x8]
- str r2, [r0, #0x18]
- ldr r1, [r0, #0x18]
- str r1, [r0, #0xc]
- str r2, [r0, #0x90]
- str r2, [r0, #0x94]
- str r2, [r0, #0x98]
- ldmia sp!, {r4-r6,lr}
- bx lr
- .balign 4
-_0208C3FC: .word 0x00007FFF
-_0208C400: .word 0x0007FFFF
-
- arm_func_start FUN_0208C404
-FUN_0208C404: ; 0x0208C404
- bx lr
-
- arm_func_start FUN_0208C408
-FUN_0208C408:
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- ldr r7, [r0, #0xc]
- ldr r3, _0208C4E0 ; =0x040004A8
- str r7, [sp, #0x0]
- ldr r1, [r0, #0x4]
- mov r2, r7, lsl #0x1c
- mov lr, r2, lsr #0x1c
- mov r1, r1, lsr #0x3
- orr r12, r1, lr, lsl #0x1a
- mov r4, r7, lsl #0x18
- mov r5, r7, lsl #0x14
- mov r2, r7, lsl #0xf
- mov r4, r4, lsr #0x1c
- orr r12, r12, #0x40000000
- mov r6, r7, lsl #0x12
- orr r12, r12, r4, lsl #0x14
- mov r5, r5, lsr #0x1c
- mov r1, r7, lsl #0x10
- orr r12, r12, r5, lsl #0x17
- mov r4, r6, lsr #0x1e
- mov r5, r1, lsr #0x1e
- orr r1, r12, r4, lsl #0x10
- mov r2, r2, lsr #0x1f
- orr r1, r1, r5, lsl #0x12
- orr r1, r1, r2, lsl #0x1d
- str r1, [r3, #0x0]
- cmp lr, #0x2
- moveq r1, #0x1
- movne r1, #0x0
- ldr r2, [r0, #0x8]
- rsb r1, r1, #0x4
- mov r2, r2, lsr r1
- ldr r1, _0208C4E4 ; =0x040004AC
- ldr ip, _0208C4E8 ; =0x04000440
- str r2, [r1, #0x0]
- mov r2, #0x3
- ldr r1, _0208C4EC ; =0x04000454
- str r2, [r12, #0x0]
- mov r3, #0x0
- str r3, [r1, #0x0]
- ldrh r1, [r0, #0x10]
- ldrh r2, [r0, #0x12]
- ldr r0, _0208C4F0 ; =0x0400046C
- mov r1, r1, lsl #0xc
- str r1, [r0, #0x0]
- mov r1, r2, lsl #0xc
- str r1, [r0, #0x0]
- str r3, [r0, #0x0]
- mov r0, #0x1
- str r0, [r12, #0x0]
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,lr}
- bx lr
- .balign 4
-_0208C4E0: .word 0x040004A8
-_0208C4E4: .word 0x040004AC
-_0208C4E8: .word 0x04000440
-_0208C4EC: .word 0x04000454
-_0208C4F0: .word 0x0400046C
-
- arm_func_start FUN_0208C4F4
-FUN_0208C4F4: ; 0x0208C4F4
- stmdb sp!, {r4-r8,lr}
- sub sp, sp, #0xf0
- mov r4, r1
- ldrh r2, [r4, #0x2e]
- mov r5, r0
- ldr r0, [r5, #0x3c]
- mov r1, r2, lsl #0x16
- mov r3, r2, lsl #0x1b
- mov r1, r1, lsr #0x1b
- mov r3, r3, lsr #0x1b
- add r1, r1, #0x1
- mul r6, r3, r1
- mov r1, r2, lsl #0x10
- movs r2, r6, asr #0x5
- mov r1, r1, lsr #0x1a
- orr r0, r0, #0xc0
- orr r1, r0, r1, lsl #0x18
- ldr r0, _0208C950 ; =0x040004A4
- orr r1, r1, r2, lsl #0x10
- str r1, [r0, #0x0]
- addeq sp, sp, #0xf0
- ldr r0, [r0, #0x0]
- ldmeqia sp!, {r4-r8,lr}
- bxeq lr
- ldr r0, [r5, #0x40]
- ldrh r1, [r4, #0x20]
- ldr r0, [r0, #0x20]
- ldr r6, _0208C954 ; =0x020FFA38
- ldr r0, [r0, #0x14]
- mov r1, r1, asr #0x4
- ldrh r0, [r0, #0x0]
- mov r2, r1, lsl #0x1
- add r1, r2, #0x1
- mov r7, r2, lsl #0x1
- mov r1, r1, lsl #0x1
- mov r0, r0, lsl #0x15
- mov r3, r0, lsr #0x1e
- ldr r2, _0208C958 ; =0x02106160
- ldrsh r0, [r6, r7]
- ldr r3, [r2, r3, lsl #0x2]
- ldrsh r1, [r6, r1]
- add r2, sp, #0x30
- blx r3
- add r0, sp, #0xc0
- bl MTX_Identity43_
- ldr r0, [r5, #0x40]
- ldr r0, [r0, #0x20]
- ldr r0, [r0, #0x14]
- ldr r0, [r0, #0x10]
- mov r0, r0, lsl #0x19
- movs r0, r0, lsr #0x1f
- bne _0208C5D4
- add r1, sp, #0x90
- add r0, r4, #0x14
- bl VEC_Normalize
- b _0208C604
-_0208C5D4:
- add r1, sp, #0x90
- add r0, r4, #0x8
- bl VEC_Normalize
- ldr r2, [sp, #0x90]
- ldr r1, [sp, #0x94]
- ldr r0, [sp, #0x98]
- rsb r2, r2, #0x0
- rsb r1, r1, #0x0
- rsb r0, r0, #0x0
- str r2, [sp, #0x90]
- str r1, [sp, #0x94]
- str r0, [sp, #0x98]
-_0208C604:
- mov r3, #0x0
- mov r2, #0x1000
- add r0, sp, #0x90
- add r1, sp, #0xb4
- str r3, [sp, #0xb4]
- str r2, [sp, #0xb8]
- str r3, [sp, #0xbc]
- bl VEC_DotProduct
- ldr r1, _0208C95C ; =0x00000CCD
- cmp r0, r1
- bgt _0208C63C
- ldr r1, _0208C960 ; =0xFFFFF333
- cmp r0, r1
- bge _0208C650
-_0208C63C:
- mov r0, #0x0
- mov r1, #0x1000
- str r1, [sp, #0xb4]
- str r0, [sp, #0xb8]
- str r0, [sp, #0xbc]
-_0208C650:
- add r0, sp, #0x90
- add r1, sp, #0xb4
- add r2, sp, #0x9c
- bl VEC_CrossProduct
- add r0, sp, #0x90
- add r1, sp, #0x9c
- add r2, sp, #0xa8
- bl VEC_CrossProduct
- ldr r7, [sp, #0x9c]
- ldr r6, [sp, #0xa0]
- ldr r3, [sp, #0xa4]
- ldr r0, [sp, #0x90]
- ldr r1, [sp, #0x94]
- ldr r2, [sp, #0x98]
- str r7, [sp, #0xc0]
- ldr r7, [sp, #0xa8]
- str r6, [sp, #0xc4]
- ldr r6, [sp, #0xac]
- str r3, [sp, #0xc8]
- ldr r3, [sp, #0xb0]
- str r0, [sp, #0xcc]
- str r1, [sp, #0xd0]
- add r0, sp, #0x30
- str r2, [sp, #0xd4]
- add r1, sp, #0xc0
- mov r2, r0
- str r7, [sp, #0xd8]
- str r6, [sp, #0xdc]
- str r3, [sp, #0xe0]
- bl MTX_Concat43
- ldr r0, [r5, #0x40]
- ldr r2, [r4, #0x30]
- ldr r0, [r0, #0x20]
- mov r12, #0x800
- ldr r0, [r0, #0x0]
- mov r3, r2, asr #0x1f
- ldrsh r1, [r0, #0x30]
- ldr r0, [r0, #0x48]
- mov lr, #0x0
- smull r6, r1, r2, r1
- adds r7, r6, r12
- adc r6, r1, #0x0
- mov r0, r0, lsl #0x1
- mov r1, r7, lsr #0xc
- orr r1, r1, r6, lsl #0x14
- movs r0, r0, lsr #0x1d
- beq _0208C720
- cmp r0, #0x1
- beq _0208C75C
- cmp r0, #0x2
- beq _0208C778
- b _0208C79C
-_0208C720:
- ldrsh r0, [r4, #0x34]
- mov r8, r0, asr #0x1f
- umull r7, r6, r2, r0
- mla r6, r2, r8, r6
- smull r8, r2, r1, r0
- adds r1, r8, r12
- adc r8, r2, lr
- adds r2, r7, r12
- mla r6, r3, r0, r6
- mov r1, r1, lsr #0xc
- adc r0, r6, lr
- mov r2, r2, lsr #0xc
- orr r1, r1, r8, lsl #0x14
- orr r2, r2, r0, lsl #0x14
- b _0208C79C
-_0208C75C:
- ldrsh r0, [r4, #0x34]
- smull r3, r0, r1, r0
- adds r1, r3, r12
- adc r0, r0, lr
- mov r1, r1, lsr #0xc
- orr r1, r1, r0, lsl #0x14
- b _0208C79C
-_0208C778:
- ldrsh r6, [r4, #0x34]
- mov r0, r6, asr #0x1f
- umull r8, r7, r2, r6
- mla r7, r2, r0, r7
- adds r2, r8, r12
- mla r7, r3, r6, r7
- adc r0, r7, lr
- mov r2, r2, lsr #0xc
- orr r2, r2, r0, lsl #0x14
-_0208C79C:
- add r0, sp, #0x60
- mov r3, r2
- blx MTX_Scale43_
- add r0, sp, #0x30
- add r1, sp, #0x60
- add r2, sp, #0x0
- bl MTX_Concat43
- ldr r0, [r5, #0x40]
- ldr r0, [r0, #0x20]
- ldr r3, [r0, #0x0]
- ldr r0, [r3, #0x0]
- mov r0, r0, lsl #0x8
- movs r0, r0, lsr #0x1f
- bne _0208C818
- ldr r1, [r4, #0x8]
- ldr r0, [r4, #0x38]
- add r0, r1, r0
- str r0, [sp, #0x24]
- ldr r1, [r4, #0xc]
- ldr r0, [r4, #0x3c]
- add r0, r1, r0
- str r0, [sp, #0x28]
- ldr r1, [r4, #0x10]
- ldr r0, [r4, #0x40]
- add r0, r1, r0
- str r0, [sp, #0x2c]
- ldr r0, [r5, #0x44]
- bl G3_LoadMtx43
-_0208C80C: ; 0x0208C80C
- add r0, sp, #0x0
- bl G3_MultMtx43
- b _0208C8BC
-_0208C818:
- ldr r2, [r4, #0x8]
- ldr r1, [r4, #0x38]
- ldr r0, [r3, #0x4]
- add r1, r2, r1
- sub r0, r1, r0
- str r0, [sp, #0x24]
- ldr r0, [r5, #0x40]
- ldr r2, [r4, #0xc]
- ldr r0, [r0, #0x20]
- ldr r1, [r4, #0x3c]
- ldr r0, [r0, #0x0]
- add r2, r2, r1
- ldr r1, [r0, #0x8]
- ldr r0, _0208C964 ; =0x04000454
- sub r1, r2, r1
- str r1, [sp, #0x28]
- ldr r1, [r5, #0x40]
- ldr r3, [r4, #0x10]
- ldr r1, [r1, #0x20]
- ldr r2, [r4, #0x40]
- ldr r1, [r1, #0x0]
- add r3, r3, r2
- ldr r2, [r1, #0xc]
- mov r1, #0x0
- sub r2, r3, r2
- str r2, [sp, #0x2c]
- str r1, [r0, #0x0]
- ldr r1, [r5, #0x40]
- ldr r0, _0208C968 ; =0x04000470
- ldr r1, [r1, #0x20]
- ldr r1, [r1, #0x0]
- ldr r3, [r1, #0xc]
- ldr r2, [r1, #0x8]
- ldr r1, [r1, #0x4]
- str r1, [r0, #0x0]
- str r2, [r0, #0x0]
- str r3, [r0, #0x0]
- ldr r0, [r5, #0x44]
- bl G3_MultMtx43
-_0208C8B4: ; 0x0208C8B4
- add r0, sp, #0x0
- bl G3_MultMtx43
-_0208C8BC:
- ldr r0, [r5, #0x40]
- ldrh r4, [r4, #0x36]
- ldrh r12, [r0, #0x72]
- mov r2, #0x0
- and r1, r4, #0x1f
- and r0, r12, #0x1f
- mul r3, r1, r0
- and r1, r4, #0x3e0
- and r0, r12, #0x3e0
- mul r0, r1, r0
- and r4, r4, #0x7c00
- and r1, r12, #0x7c00
- mul r12, r4, r1
- mov r1, r3, asr #0x5
- mov r0, r0, asr #0xf
- mov r3, r12, asr #0x19
- orr r0, r1, r0, lsl #0x5
- orr r0, r0, r3, lsl #0xa
- mov r0, r0, lsl #0x10
- ldr r1, _0208C96C ; =0x04000480
- mov r0, r0, lsr #0x10
- str r0, [r1, #0x0]
- ldr r5, [r5, #0x40]
- ldr r4, _0208C970 ; =0x02106158
- ldr r1, [r5, #0x20]
- ldrsh r0, [r5, #0x7c]
- ldr r3, [r1, #0x14]
- ldrsh r1, [r5, #0x7e]
- ldrh r5, [r3, #0x0]
- mov r3, r2
- mov r5, r5, lsl #0x14
- mov r5, r5, lsr #0x1f
- ldr r4, [r4, r5, lsl #0x2]
- blx r4
- add sp, sp, #0xf0
- ldmia sp!, {r4-r8,lr}
- bx lr
- .balign 4
-_0208C950: .word 0x040004A4
-_0208C954: .word 0x020FFA38
-_0208C958: .word 0x02106160
-_0208C95C: .word 0x00000CCD
-_0208C960: .word 0xFFFFF333
-_0208C964: .word 0x04000454
-_0208C968: .word 0x04000470
-_0208C96C: .word 0x04000480
-_0208C970: .word 0x02106158
-
- arm_func_start FUN_0208C974
-FUN_0208C974: ; 0x0208C974
- stmdb sp!, {r4-r8,lr}
- sub sp, sp, #0xf0
- mov r4, r1
- ldrh r2, [r4, #0x2e]
- mov r5, r0
- ldr r0, [r5, #0x3c]
- mov r1, r2, lsl #0x16
- mov r3, r2, lsl #0x1b
- mov r1, r1, lsr #0x1b
- mov r3, r3, lsr #0x1b
- add r1, r1, #0x1
- mul r6, r3, r1
- mov r1, r2, lsl #0x10
- movs r2, r6, asr #0x5
- mov r1, r1, lsr #0x1a
- orr r0, r0, #0xc0
- orr r1, r0, r1, lsl #0x18
- ldr r0, _0208CDCC ; =0x040004A4
- orr r1, r1, r2, lsl #0x10
- str r1, [r0, #0x0]
- addeq sp, sp, #0xf0
- ldr r0, [r0, #0x0]
- ldmeqia sp!, {r4-r8,lr}
- bxeq lr
- ldr r0, [r5, #0x40]
- ldrh r1, [r4, #0x20]
- ldr r0, [r0, #0x20]
- ldr r6, _0208CDD0 ; =0x020FFA38
- ldr r0, [r0, #0x0]
- mov r1, r1, asr #0x4
- mov r2, r1, lsl #0x1
- ldr r0, [r0, #0x0]
- add r1, r2, #0x1
- mov r7, r2, lsl #0x1
- mov r1, r1, lsl #0x1
- mov r0, r0, lsl #0xd
- mov r3, r0, lsr #0x1e
- ldr r2, _0208CDD4 ; =0x02106160
- ldrsh r0, [r6, r7]
- ldr r3, [r2, r3, lsl #0x2]
- ldrsh r1, [r6, r1]
- add r2, sp, #0x30
- blx r3
- add r0, sp, #0xc0
- bl MTX_Identity43_
- ldr r0, [r5, #0x40]
- ldr r0, [r0, #0x20]
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x48]
- movs r0, r0, lsr #0x1f
- bne _0208CA50
- add r1, sp, #0x90
- add r0, r4, #0x14
- bl VEC_Normalize
- b _0208CA80
-_0208CA50:
- add r1, sp, #0x90
- add r0, r4, #0x8
- bl VEC_Normalize
- ldr r2, [sp, #0x90]
- ldr r1, [sp, #0x94]
- ldr r0, [sp, #0x98]
- rsb r2, r2, #0x0
- rsb r1, r1, #0x0
- rsb r0, r0, #0x0
- str r2, [sp, #0x90]
- str r1, [sp, #0x94]
- str r0, [sp, #0x98]
-_0208CA80:
- mov r3, #0x0
- mov r2, #0x1000
- add r0, sp, #0x90
- add r1, sp, #0xb4
- str r3, [sp, #0xb4]
- str r2, [sp, #0xb8]
- str r3, [sp, #0xbc]
- bl VEC_DotProduct
- ldr r1, _0208CDD8 ; =0x00000CCD
- cmp r0, r1
- bgt _0208CAB8
- ldr r1, _0208CDDC ; =0xFFFFF333
- cmp r0, r1
- bge _0208CACC
-_0208CAB8:
- mov r0, #0x0
- mov r1, #0x1000
- str r1, [sp, #0xb4]
- str r0, [sp, #0xb8]
- str r0, [sp, #0xbc]
-_0208CACC:
- add r0, sp, #0x90
- add r1, sp, #0xb4
- add r2, sp, #0x9c
- bl VEC_CrossProduct
- add r0, sp, #0x90
- add r1, sp, #0x9c
- add r2, sp, #0xa8
- bl VEC_CrossProduct
- ldr r7, [sp, #0x9c]
- ldr r6, [sp, #0xa0]
- ldr r3, [sp, #0xa4]
- ldr r0, [sp, #0x90]
- ldr r1, [sp, #0x94]
- ldr r2, [sp, #0x98]
- str r7, [sp, #0xc0]
- ldr r7, [sp, #0xa8]
- str r6, [sp, #0xc4]
- ldr r6, [sp, #0xac]
- str r3, [sp, #0xc8]
- ldr r3, [sp, #0xb0]
- str r0, [sp, #0xcc]
- str r1, [sp, #0xd0]
- add r0, sp, #0x30
- str r2, [sp, #0xd4]
- add r1, sp, #0xc0
- mov r2, r0
- str r7, [sp, #0xd8]
- str r6, [sp, #0xdc]
- str r3, [sp, #0xe0]
- bl MTX_Concat43
- ldr r0, [r5, #0x40]
- ldr r2, [r4, #0x30]
- ldr r0, [r0, #0x20]
- mov r12, #0x800
- ldr r0, [r0, #0x0]
- mov r3, r2, asr #0x1f
- ldrsh r1, [r0, #0x30]
- ldr r0, [r0, #0x48]
- mov lr, #0x0
- smull r6, r1, r2, r1
- adds r7, r6, r12
- adc r6, r1, #0x0
- mov r0, r0, lsl #0x1
- mov r1, r7, lsr #0xc
- orr r1, r1, r6, lsl #0x14
- movs r0, r0, lsr #0x1d
- beq _0208CB9C
- cmp r0, #0x1
- beq _0208CBD8
- cmp r0, #0x2
- beq _0208CBF4
- b _0208CC18
-_0208CB9C:
- ldrsh r0, [r4, #0x34]
- mov r8, r0, asr #0x1f
- umull r7, r6, r2, r0
- mla r6, r2, r8, r6
- smull r8, r2, r1, r0
- adds r1, r8, r12
- adc r8, r2, lr
- adds r2, r7, r12
- mla r6, r3, r0, r6
- mov r1, r1, lsr #0xc
- adc r0, r6, lr
- mov r2, r2, lsr #0xc
- orr r1, r1, r8, lsl #0x14
- orr r2, r2, r0, lsl #0x14
- b _0208CC18
-_0208CBD8:
- ldrsh r0, [r4, #0x34]
- smull r3, r0, r1, r0
- adds r1, r3, r12
- adc r0, r0, lr
- mov r1, r1, lsr #0xc
- orr r1, r1, r0, lsl #0x14
- b _0208CC18
-_0208CBF4:
- ldrsh r6, [r4, #0x34]
- mov r0, r6, asr #0x1f
- umull r8, r7, r2, r6
- mla r7, r2, r0, r7
- adds r2, r8, r12
- mla r7, r3, r6, r7
- adc r0, r7, lr
- mov r2, r2, lsr #0xc
- orr r2, r2, r0, lsl #0x14
-_0208CC18:
- add r0, sp, #0x60
- mov r3, r2
- blx MTX_Scale43_
- add r0, sp, #0x60
- add r1, sp, #0x30
- add r2, sp, #0x0
- bl MTX_Concat43
- ldr r0, [r5, #0x40]
- ldr r0, [r0, #0x20]
- ldr r3, [r0, #0x0]
- ldr r0, [r3, #0x0]
- mov r0, r0, lsl #0x8
- movs r0, r0, lsr #0x1f
- bne _0208CC94
- ldr r1, [r4, #0x8]
- ldr r0, [r4, #0x38]
- add r0, r1, r0
- str r0, [sp, #0x24]
- ldr r1, [r4, #0xc]
- ldr r0, [r4, #0x3c]
- add r0, r1, r0
- str r0, [sp, #0x28]
- ldr r1, [r4, #0x10]
- ldr r0, [r4, #0x40]
- add r0, r1, r0
- str r0, [sp, #0x2c]
- ldr r0, [r5, #0x44]
- bl G3_LoadMtx43
-_0208CC88: ; 0x0208CC88
- add r0, sp, #0x0
- bl G3_MultMtx43
- b _0208CD38
-_0208CC94:
- ldr r2, [r4, #0x8]
- ldr r1, [r4, #0x38]
- ldr r0, [r3, #0x4]
- add r1, r2, r1
- sub r0, r1, r0
- str r0, [sp, #0x24]
- ldr r0, [r5, #0x40]
- ldr r2, [r4, #0xc]
- ldr r0, [r0, #0x20]
- ldr r1, [r4, #0x3c]
- ldr r0, [r0, #0x0]
- add r2, r2, r1
- ldr r1, [r0, #0x8]
- ldr r0, _0208CDE0 ; =0x04000454
- sub r1, r2, r1
- str r1, [sp, #0x28]
- ldr r1, [r5, #0x40]
- ldr r3, [r4, #0x10]
- ldr r1, [r1, #0x20]
- ldr r2, [r4, #0x40]
- ldr r1, [r1, #0x0]
- add r3, r3, r2
- ldr r2, [r1, #0xc]
- mov r1, #0x0
- sub r2, r3, r2
- str r2, [sp, #0x2c]
- str r1, [r0, #0x0]
- ldr r1, [r5, #0x40]
- ldr r0, _0208CDE4 ; =0x04000470
- ldr r1, [r1, #0x20]
- ldr r1, [r1, #0x0]
- ldr r3, [r1, #0xc]
- ldr r2, [r1, #0x8]
- ldr r1, [r1, #0x4]
- str r1, [r0, #0x0]
- str r2, [r0, #0x0]
- str r3, [r0, #0x0]
- ldr r0, [r5, #0x44]
- bl G3_MultMtx43
-_0208CD30: ; 0x0208CD30
- add r0, sp, #0x0
- bl G3_MultMtx43
-_0208CD38:
- ldr r0, [r5, #0x40]
- ldrh r4, [r4, #0x36]
- ldrh r12, [r0, #0x72]
- ldr r1, _0208CDE8 ; =0x04000480
- and r2, r4, #0x1f
- and r0, r12, #0x1f
- mul r3, r2, r0
- and r2, r4, #0x3e0
- and r0, r12, #0x3e0
- mul r0, r2, r0
- and r4, r4, #0x7c00
- and r2, r12, #0x7c00
- mul r12, r4, r2
- mov r2, r3, asr #0x5
- mov r0, r0, asr #0xf
- mov r3, r12, asr #0x19
- orr r0, r2, r0, lsl #0x5
- orr r0, r0, r3, lsl #0xa
- mov r0, r0, lsl #0x10
- mov r0, r0, lsr #0x10
- str r0, [r1, #0x0]
- ldr r2, [r5, #0x40]
- ldr r4, _0208CDEC ; =0x02106158
- ldr r1, [r2, #0x20]
- ldrsh r0, [r2, #0x78]
- ldr r12, [r1, #0x0]
- ldrsh r1, [r2, #0x7a]
- ldr r3, [r12, #0x0]
- ldrsh r2, [r12, #0x50]
- mov r3, r3, lsl #0xc
- mov r5, r3, lsr #0x1f
- ldrsh r3, [r12, #0x52]
- ldr r4, [r4, r5, lsl #0x2]
- blx r4
- add sp, sp, #0xf0
- ldmia sp!, {r4-r8,lr}
- bx lr
- .balign 4
-_0208CDCC: .word 0x040004A4
-_0208CDD0: .word 0x020FFA38
-_0208CDD4: .word 0x02106160
-_0208CDD8: .word 0x00000CCD
-_0208CDDC: .word 0xFFFFF333
-_0208CDE0: .word 0x04000454
-_0208CDE4: .word 0x04000470
-_0208CDE8: .word 0x04000480
-_0208CDEC: .word 0x02106158
-
- arm_func_start FUN_0208CDF0
-FUN_0208CDF0: ; 0x0208CDF0
- stmdb sp!, {r4-r8,lr}
- sub sp, sp, #0x90
- mov r4, r1
- ldrh r2, [r4, #0x2e]
- mov r5, r0
- ldr r0, [r5, #0x3c]
- mov r1, r2, lsl #0x16
- mov r3, r2, lsl #0x1b
- mov r1, r1, lsr #0x1b
- mov r3, r3, lsr #0x1b
- add r1, r1, #0x1
- mul r6, r3, r1
- mov r1, r2, lsl #0x10
- movs r2, r6, asr #0x5
- mov r1, r1, lsr #0x1a
- orr r0, r0, #0xc0
- orr r1, r0, r1, lsl #0x18
- ldr r0, _0208D124 ; =0x040004A4
- orr r1, r1, r2, lsl #0x10
- str r1, [r0, #0x0]
- addeq sp, sp, #0x90
- ldr r0, [r0, #0x0]
- ldmeqia sp!, {r4-r8,lr}
- bxeq lr
- ldr r0, [r5, #0x40]
- ldrh r1, [r4, #0x20]
- ldr r0, [r0, #0x20]
- ldr r6, _0208D128 ; =0x020FFA38
- ldr r0, [r0, #0x14]
- mov r1, r1, asr #0x4
- ldrh r0, [r0, #0x0]
- mov r2, r1, lsl #0x1
- add r1, r2, #0x1
- mov r7, r2, lsl #0x1
- mov r1, r1, lsl #0x1
- mov r0, r0, lsl #0x15
- mov r3, r0, lsr #0x1e
- ldr r2, _0208D12C ; =0x02106160
- ldrsh r0, [r6, r7]
- ldr r3, [r2, r3, lsl #0x2]
- ldrsh r1, [r6, r1]
- add r2, sp, #0x30
- blx r3
- ldr r0, [r5, #0x40]
- ldr r2, [r4, #0x30]
- ldr r0, [r0, #0x20]
- mov r12, #0x800
- ldr r0, [r0, #0x0]
- mov r3, r2, asr #0x1f
- ldrsh r1, [r0, #0x30]
- ldr r0, [r0, #0x48]
- mov lr, #0x0
- smull r6, r1, r2, r1
- adds r7, r6, r12
- adc r6, r1, #0x0
- mov r1, r7, lsr #0xc
- mov r0, r0, lsl #0x1
- orr r1, r1, r6, lsl #0x14
- movs r0, r0, lsr #0x1d
- beq _0208CEF4
- cmp r0, #0x1
- beq _0208CF30
- cmp r0, #0x2
- beq _0208CF4C
- b _0208CF70
-_0208CEF4:
- ldrsh r0, [r4, #0x34]
- mov r8, r0, asr #0x1f
- umull r7, r6, r2, r0
- mla r6, r2, r8, r6
- smull r8, r2, r1, r0
- adds r1, r8, r12
- adc r8, r2, lr
- adds r2, r7, r12
- mla r6, r3, r0, r6
- mov r1, r1, lsr #0xc
- adc r0, r6, lr
- mov r2, r2, lsr #0xc
- orr r1, r1, r8, lsl #0x14
- orr r2, r2, r0, lsl #0x14
- b _0208CF70
-_0208CF30:
- ldrsh r0, [r4, #0x34]
- smull r3, r0, r1, r0
- adds r1, r3, r12
- adc r0, r0, lr
- mov r1, r1, lsr #0xc
- orr r1, r1, r0, lsl #0x14
- b _0208CF70
-_0208CF4C:
- ldrsh r6, [r4, #0x34]
- mov r0, r6, asr #0x1f
- umull r8, r7, r2, r6
- mla r7, r2, r0, r7
- adds r2, r8, r12
- mla r7, r3, r6, r7
- adc r0, r7, lr
- mov r2, r2, lsr #0xc
- orr r2, r2, r0, lsl #0x14
-_0208CF70:
- add r0, sp, #0x60
- mov r3, r2
- blx MTX_Scale43_
- add r0, sp, #0x30
- add r1, sp, #0x60
- add r2, sp, #0x0
- bl MTX_Concat43
- ldr r0, [r5, #0x40]
- ldr r0, [r0, #0x20]
- ldr r3, [r0, #0x0]
- ldr r0, [r3, #0x0]
- mov r0, r0, lsl #0x8
- movs r0, r0, lsr #0x1f
- bne _0208CFEC
- ldr r1, [r4, #0x8]
- ldr r0, [r4, #0x38]
- add r0, r1, r0
- str r0, [sp, #0x24]
- ldr r1, [r4, #0xc]
- ldr r0, [r4, #0x3c]
- add r0, r1, r0
- str r0, [sp, #0x28]
- ldr r1, [r4, #0x10]
- ldr r0, [r4, #0x40]
- add r0, r1, r0
- str r0, [sp, #0x2c]
- ldr r0, [r5, #0x44]
- bl G3_LoadMtx43
-_0208CFE0: ; 0x0208CFE0
- add r0, sp, #0x0
- bl G3_MultMtx43
- b _0208D090
-_0208CFEC:
- ldr r2, [r4, #0x8]
- ldr r1, [r4, #0x38]
- ldr r0, [r3, #0x4]
- add r1, r2, r1
- sub r0, r1, r0
- str r0, [sp, #0x24]
- ldr r0, [r5, #0x40]
- ldr r2, [r4, #0xc]
- ldr r0, [r0, #0x20]
- ldr r1, [r4, #0x3c]
- ldr r0, [r0, #0x0]
- add r2, r2, r1
- ldr r1, [r0, #0x8]
- ldr r0, _0208D130 ; =0x04000454
- sub r1, r2, r1
- str r1, [sp, #0x28]
- ldr r1, [r5, #0x40]
- ldr r3, [r4, #0x10]
- ldr r1, [r1, #0x20]
- ldr r2, [r4, #0x40]
- ldr r1, [r1, #0x0]
- add r3, r3, r2
- ldr r2, [r1, #0xc]
- mov r1, #0x0
- sub r2, r3, r2
- str r2, [sp, #0x2c]
- str r1, [r0, #0x0]
- ldr r1, [r5, #0x40]
- ldr r0, _0208D134 ; =0x04000470
- ldr r1, [r1, #0x20]
- ldr r1, [r1, #0x0]
- ldr r3, [r1, #0xc]
- ldr r2, [r1, #0x8]
- ldr r1, [r1, #0x4]
- str r1, [r0, #0x0]
- str r2, [r0, #0x0]
- str r3, [r0, #0x0]
- ldr r0, [r5, #0x44]
- bl G3_MultMtx43
-_0208D088: ; 0x0208D088
- add r0, sp, #0x0
- bl G3_MultMtx43
-_0208D090:
- ldr r0, [r5, #0x40]
- ldrh r4, [r4, #0x36]
- ldrh r12, [r0, #0x72]
- mov r2, #0x0
- and r1, r4, #0x1f
- and r0, r12, #0x1f
- mul r3, r1, r0
- and r1, r4, #0x3e0
- and r0, r12, #0x3e0
- mul r0, r1, r0
- and r4, r4, #0x7c00
- and r1, r12, #0x7c00
- mul r12, r4, r1
- mov r1, r3, asr #0x5
- mov r0, r0, asr #0xf
- mov r3, r12, asr #0x19
- orr r0, r1, r0, lsl #0x5
- orr r0, r0, r3, lsl #0xa
- mov r0, r0, lsl #0x10
- ldr r1, _0208D138 ; =0x04000480
- mov r0, r0, lsr #0x10
- str r0, [r1, #0x0]
- ldr r5, [r5, #0x40]
- ldr r4, _0208D13C ; =0x02106158
- ldr r1, [r5, #0x20]
- ldrsh r0, [r5, #0x7c]
- ldr r3, [r1, #0x14]
- ldrsh r1, [r5, #0x7e]
- ldrh r5, [r3, #0x0]
- mov r3, r2
- mov r5, r5, lsl #0x14
- mov r5, r5, lsr #0x1f
- ldr r4, [r4, r5, lsl #0x2]
- blx r4
- add sp, sp, #0x90
- ldmia sp!, {r4-r8,lr}
- bx lr
- .balign 4
-_0208D124: .word 0x040004A4
-_0208D128: .word 0x020FFA38
-_0208D12C: .word 0x02106160
-_0208D130: .word 0x04000454
-_0208D134: .word 0x04000470
-_0208D138: .word 0x04000480
-_0208D13C: .word 0x02106158
-
- arm_func_start FUN_0208D140
-FUN_0208D140: ; 0x0208D140
- stmdb sp!, {r4-r8,lr}
- sub sp, sp, #0x90
- mov r4, r1
- ldrh r2, [r4, #0x2e]
- mov r5, r0
- ldr r0, [r5, #0x3c]
- mov r1, r2, lsl #0x16
- mov r3, r2, lsl #0x1b
- mov r1, r1, lsr #0x1b
- mov r3, r3, lsr #0x1b
- add r1, r1, #0x1
- mul r6, r3, r1
- mov r1, r2, lsl #0x10
- movs r2, r6, asr #0x5
- mov r1, r1, lsr #0x1a
- orr r0, r0, #0xc0
- orr r1, r0, r1, lsl #0x18
- ldr r0, _0208D474 ; =0x040004A4
- orr r1, r1, r2, lsl #0x10
- str r1, [r0, #0x0]
- addeq sp, sp, #0x90
- ldr r0, [r0, #0x0]
- ldmeqia sp!, {r4-r8,lr}
- bxeq lr
- ldr r0, [r5, #0x40]
- ldrh r1, [r4, #0x20]
- ldr r0, [r0, #0x20]
- ldr r6, _0208D478 ; =0x020FFA38
- ldr r0, [r0, #0x0]
- mov r1, r1, asr #0x4
- mov r2, r1, lsl #0x1
- ldr r0, [r0, #0x0]
- add r1, r2, #0x1
- mov r7, r2, lsl #0x1
- mov r1, r1, lsl #0x1
- mov r0, r0, lsl #0xd
- mov r3, r0, lsr #0x1e
- ldr r2, _0208D47C ; =0x02106160
- ldrsh r0, [r6, r7]
- ldr r3, [r2, r3, lsl #0x2]
- ldrsh r1, [r6, r1]
- add r2, sp, #0x30
- blx r3
- ldr r0, [r5, #0x40]
- ldr r2, [r4, #0x30]
- ldr r0, [r0, #0x20]
- mov r12, #0x800
- ldr r0, [r0, #0x0]
- mov r3, r2, asr #0x1f
- ldrsh r1, [r0, #0x30]
- ldr r0, [r0, #0x48]
- mov lr, #0x0
- smull r6, r1, r2, r1
- adds r7, r6, r12
- adc r6, r1, #0x0
- mov r1, r7, lsr #0xc
- mov r0, r0, lsl #0x1
- orr r1, r1, r6, lsl #0x14
- movs r0, r0, lsr #0x1d
- beq _0208D244
- cmp r0, #0x1
- beq _0208D280
- cmp r0, #0x2
- beq _0208D29C
- b _0208D2C0
-_0208D244:
- ldrsh r0, [r4, #0x34]
- mov r8, r0, asr #0x1f
- umull r7, r6, r2, r0
- mla r6, r2, r8, r6
- smull r8, r2, r1, r0
- adds r1, r8, r12
- adc r8, r2, lr
- adds r2, r7, r12
- mla r6, r3, r0, r6
- mov r1, r1, lsr #0xc
- adc r0, r6, lr
- mov r2, r2, lsr #0xc
- orr r1, r1, r8, lsl #0x14
- orr r2, r2, r0, lsl #0x14
- b _0208D2C0
-_0208D280:
- ldrsh r0, [r4, #0x34]
- smull r3, r0, r1, r0
- adds r1, r3, r12
- adc r0, r0, lr
- mov r1, r1, lsr #0xc
- orr r1, r1, r0, lsl #0x14
- b _0208D2C0
-_0208D29C:
- ldrsh r6, [r4, #0x34]
- mov r0, r6, asr #0x1f
- umull r8, r7, r2, r6
- mla r7, r2, r0, r7
- adds r2, r8, r12
- mla r7, r3, r6, r7
- adc r0, r7, lr
- mov r2, r2, lsr #0xc
- orr r2, r2, r0, lsl #0x14
-_0208D2C0:
- add r0, sp, #0x60
- mov r3, r2
- blx MTX_Scale43_
- add r0, sp, #0x60
- add r1, sp, #0x30
- add r2, sp, #0x0
- bl MTX_Concat43
- ldr r0, [r5, #0x40]
- ldr r0, [r0, #0x20]
- ldr r3, [r0, #0x0]
- ldr r0, [r3, #0x0]
- mov r0, r0, lsl #0x8
- movs r0, r0, lsr #0x1f
- bne _0208D33C
- ldr r1, [r4, #0x8]
- ldr r0, [r4, #0x38]
- add r0, r1, r0
- str r0, [sp, #0x24]
- ldr r1, [r4, #0xc]
- ldr r0, [r4, #0x3c]
- add r0, r1, r0
- str r0, [sp, #0x28]
- ldr r1, [r4, #0x10]
- ldr r0, [r4, #0x40]
- add r0, r1, r0
- str r0, [sp, #0x2c]
- ldr r0, [r5, #0x44]
- bl G3_LoadMtx43
-_0208D330: ; 0x0208D330
- add r0, sp, #0x0
- bl G3_MultMtx43
- b _0208D3E0
-_0208D33C:
- ldr r2, [r4, #0x8]
- ldr r1, [r4, #0x38]
- ldr r0, [r3, #0x4]
- add r1, r2, r1
- sub r0, r1, r0
- str r0, [sp, #0x24]
- ldr r0, [r5, #0x40]
- ldr r2, [r4, #0xc]
- ldr r0, [r0, #0x20]
- ldr r1, [r4, #0x3c]
- ldr r0, [r0, #0x0]
- add r2, r2, r1
- ldr r1, [r0, #0x8]
- ldr r0, _0208D480 ; =0x04000454
- sub r1, r2, r1
- str r1, [sp, #0x28]
- ldr r1, [r5, #0x40]
- ldr r3, [r4, #0x10]
- ldr r1, [r1, #0x20]
- ldr r2, [r4, #0x40]
- ldr r1, [r1, #0x0]
- add r3, r3, r2
- ldr r2, [r1, #0xc]
- mov r1, #0x0
- sub r2, r3, r2
- str r2, [sp, #0x2c]
- str r1, [r0, #0x0]
- ldr r1, [r5, #0x40]
- ldr r0, _0208D484 ; =0x04000470
- ldr r1, [r1, #0x20]
- ldr r1, [r1, #0x0]
- ldr r3, [r1, #0xc]
- ldr r2, [r1, #0x8]
- ldr r1, [r1, #0x4]
- str r1, [r0, #0x0]
- str r2, [r0, #0x0]
- str r3, [r0, #0x0]
- ldr r0, [r5, #0x44]
- bl G3_MultMtx43
-_0208D3D8: ; 0x0208D3D8
- add r0, sp, #0x0
- bl G3_MultMtx43
-_0208D3E0:
- ldr r0, [r5, #0x40]
- ldrh r4, [r4, #0x36]
- ldrh r12, [r0, #0x72]
- ldr r1, _0208D488 ; =0x04000480
- and r2, r4, #0x1f
- and r0, r12, #0x1f
- mul r3, r2, r0
- and r2, r4, #0x3e0
- and r0, r12, #0x3e0
- mul r0, r2, r0
- and r4, r4, #0x7c00
- and r2, r12, #0x7c00
- mul r12, r4, r2
- mov r2, r3, asr #0x5
- mov r0, r0, asr #0xf
- mov r3, r12, asr #0x19
- orr r0, r2, r0, lsl #0x5
- orr r0, r0, r3, lsl #0xa
- mov r0, r0, lsl #0x10
- mov r0, r0, lsr #0x10
- str r0, [r1, #0x0]
- ldr r2, [r5, #0x40]
- ldr r4, _0208D48C ; =0x02106158
- ldr r1, [r2, #0x20]
- ldrsh r0, [r2, #0x78]
- ldr r12, [r1, #0x0]
- ldrsh r1, [r2, #0x7a]
- ldr r3, [r12, #0x0]
- ldrsh r2, [r12, #0x50]
- mov r3, r3, lsl #0xc
- mov r5, r3, lsr #0x1f
- ldrsh r3, [r12, #0x52]
- ldr r4, [r4, r5, lsl #0x2]
- blx r4
- add sp, sp, #0x90
- ldmia sp!, {r4-r8,lr}
- bx lr
- .balign 4
-_0208D474: .word 0x040004A4
-_0208D478: .word 0x020FFA38
-_0208D47C: .word 0x02106160
-_0208D480: .word 0x04000454
-_0208D484: .word 0x04000470
-_0208D488: .word 0x04000480
-_0208D48C: .word 0x02106158
-
- arm_func_start FUN_0208D490
-FUN_0208D490: ; 0x0208D490
- stmdb sp!, {r4-r10,lr}
- sub sp, sp, #0x88
- mov r6, r1
- ldrh r1, [r6, #0x2e]
- mov r7, r0
- ldr r4, [r7, #0x40]
- mov r0, r1, lsl #0x16
- mov r2, r1, lsl #0x1b
- mov r0, r0, lsr #0x1b
- mov r2, r2, lsr #0x1b
- add r0, r0, #0x1
- mul r3, r2, r0
- ldr r2, [r4, #0x20]
- movs r3, r3, asr #0x5
- ldr r0, [r7, #0x3c]
- ldr r4, [r2, #0x0]
- mov r1, r1, lsl #0x10
- mov r2, r1, lsr #0x1a
- orr r1, r0, #0xc0
- orr r2, r1, r2, lsl #0x18
- ldrsh r0, [r4, #0x30]
- ldr r8, [r7, #0x44]
- ldr r1, _0208DB60 ; =0x040004A4
- orr r2, r2, r3, lsl #0x10
- str r2, [r1, #0x0]
- addeq sp, sp, #0x88
- ldr r1, [r1, #0x0]
- ldmeqia sp!, {r4-r10,lr}
- bxeq lr
- ldr r4, [r6, #0x30]
- ldr r1, [r7, #0x40]
- smull r2, r5, r4, r0
- ldr r0, [r1, #0x20]
- mov r3, #0x800
- adds r1, r2, r3
- ldr r2, [r0, #0x0]
- adc r9, r5, #0x0
- ldr r0, [r2, #0x48]
- mov r5, r1, lsr #0xc
- mov r0, r0, lsl #0x1
- mov r1, r4, asr #0x1f
- orr r5, r5, r9, lsl #0x14
- movs r0, r0, lsr #0x1d
- mov r9, #0x0
- beq _0208D558
- cmp r0, #0x1
- beq _0208D594
- cmp r0, #0x2
- beq _0208D5B0
- b _0208D5D4
-_0208D558:
- ldrsh r0, [r6, #0x34]
- mov lr, r0, asr #0x1f
- umull r12, r10, r4, r0
- mla r10, r4, lr, r10
- smull lr, r4, r5, r0
- mla r10, r1, r0, r10
- adds r0, lr, r3
- adc lr, r4, r9
- adds r1, r12, r3
- mov r5, r0, lsr #0xc
- adc r0, r10, r9
- mov r4, r1, lsr #0xc
- orr r5, r5, lr, lsl #0x14
- orr r4, r4, r0, lsl #0x14
- b _0208D5D4
-_0208D594:
- ldrsh r0, [r6, #0x34]
- smull r1, r0, r5, r0
- adds r1, r1, r3
- adc r0, r0, r9
- mov r5, r1, lsr #0xc
- orr r5, r5, r0, lsl #0x14
- b _0208D5D4
-_0208D5B0:
- ldrsh r10, [r6, #0x34]
- mov r0, r10, asr #0x1f
- umull lr, r12, r4, r10
- mla r12, r4, r0, r12
- adds r3, lr, r3
- mla r12, r1, r10, r12
- adc r0, r12, r9
- mov r4, r3, lsr #0xc
- orr r4, r4, r0, lsl #0x14
-_0208D5D4:
- ldr r0, [r2, #0x0]
- mov r0, r0, lsl #0x8
- movs r0, r0, lsr #0x1f
- bne _0208D83C
- ldr r1, [r6, #0x8]
- ldr r0, [r6, #0x38]
- add r9, sp, #0x18
- add r0, r1, r0
- str r0, [sp, #0xc]
- ldr r2, [r6, #0xc]
- ldr r1, [r6, #0x3c]
- add r0, r6, #0x14
- add r1, r2, r1
- str r1, [sp, #0x10]
- ldr r2, [r6, #0x10]
- ldr r1, [r6, #0x40]
- add r1, r2, r1
- str r1, [sp, #0x14]
- ldmia r0, {r0-r2}
- stmia r9, {r0-r2}
- ldr r0, [r8, #0x8]
- add r1, sp, #0x24
- str r0, [sp, #0x24]
- ldr r2, [r8, #0x14]
- mov r0, r9
- str r2, [sp, #0x28]
- ldr r3, [r8, #0x20]
- mov r2, r9
- str r3, [sp, #0x2c]
- bl VEC_CrossProduct
- ldr r0, [sp, #0x18]
- cmp r0, #0x0
- bne _0208D678
- ldr r0, [sp, #0x1c]
- cmp r0, #0x0
- bne _0208D678
- ldr r0, [sp, #0x20]
- cmp r0, #0x0
- addeq sp, sp, #0x88
- ldmeqia sp!, {r4-r10,lr}
- bxeq lr
-_0208D678:
- add r0, sp, #0x18
- mov r1, r0
- bl VEC_Normalize
- add r1, sp, #0x30
- mov r0, r8
- bl MI_Copy36B
- add r0, sp, #0x18
- add r1, sp, #0x30
- mov r2, r0
- bl MTX_MultVec33
- add r0, sp, #0xc
- mov r1, r8
- mov r2, r0
- bl MTX_MultVec43
- add r0, r6, #0x14
- add r3, sp, #0x0
- ldmia r0, {r0-r2}
- stmia r3, {r0-r2}
- mov r0, r3
- mov r1, r3
- bl VEC_Normalize
- ldr r0, [r8, #0x20]
- ldr r1, [sp, #0x8]
- rsb r0, r0, #0x0
- smull r3, r0, r1, r0
- mov r2, #0x800
- adds r1, r3, r2
- ldr r3, [r8, #0x14]
- adc r0, r0, #0x0
- mov r1, r1, lsr #0xc
- orr r1, r1, r0, lsl #0x14
- ldr r0, [r8, #0x8]
- ldr r9, [sp, #0x0]
- rsb r0, r0, #0x0
- smull r8, r0, r9, r0
- adds r9, r8, r2
- adc r8, r0, #0x0
- mov r0, r9, lsr #0xc
- orr r0, r0, r8, lsl #0x14
- ldr r8, [sp, #0x4]
- rsb r3, r3, #0x0
- smull r9, r3, r8, r3
- adds r8, r9, r2
- adc r2, r3, #0x0
- mov r3, r8, lsr #0xc
- orr r3, r3, r2, lsl #0x14
- add r0, r0, r3
- adds r1, r1, r0
- ldr r0, [r7, #0x40]
- rsbmi r1, r1, #0x0
- ldr r0, [r0, #0x20]
- rsb r2, r1, #0x1000
- ldr r0, [r0, #0x0]
- mov r9, #0x800
- ldr r0, [r0, #0x48]
- ldr r12, [sp, #0x18]
- mov r0, r0, lsl #0x8
- mov r0, r0, lsr #0x10
- smull r8, r0, r2, r0
- adds r2, r8, r9
- adc r0, r0, #0x0
- mov r1, #0x0
- mov r2, r2, lsr #0xc
- orr r2, r2, r0, lsl #0x14
- add r0, r2, #0x1000
- smull r2, r0, r4, r0
- adds r2, r2, r9
- adc r0, r0, #0x0
- mov lr, r2, lsr #0xc
- orr lr, lr, r0, lsl #0x14
- smull r0, r4, r12, r5
- adds r8, r0, r9
- ldr r3, [sp, #0x1c]
- ldr r0, [sp, #0xc]
- rsb r2, r3, #0x0
- str r0, [sp, #0x78]
- ldr r0, [sp, #0x10]
- smull r10, r5, r3, r5
- str r0, [sp, #0x7c]
- smull r3, r0, r2, lr
- adc r4, r4, #0x0
- mov r8, r8, lsr #0xc
- orr r8, r8, r4, lsl #0x14
- adds r3, r3, r9
- smull lr, r2, r12, lr
- str r8, [sp, #0x54]
- adc r0, r0, #0x0
- adds r8, r10, r9
- adc r4, r5, #0x0
- adds r5, lr, r9
- mov r9, r3, lsr #0xc
- orr r9, r9, r0, lsl #0x14
- mov r8, r8, lsr #0xc
- orr r8, r8, r4, lsl #0x14
- ldr r3, [sp, #0x14]
- adc r0, r2, #0x0
- mov r5, r5, lsr #0xc
- orr r5, r5, r0, lsl #0x14
- mov r4, #0x1000
- ldr r2, _0208DB64 ; =0x04000454
- str r9, [sp, #0x60]
- str r8, [sp, #0x58]
- add r0, sp, #0x54
- str r5, [sp, #0x64]
- str r1, [sp, #0x6c]
- str r1, [sp, #0x70]
- str r1, [sp, #0x5c]
- str r1, [sp, #0x68]
- str r4, [sp, #0x74]
- str r3, [sp, #0x80]
- str r1, [r2, #0x0]
- bl G3_MultMtx43
- b _0208DAE8
-_0208D83C:
- ldr r3, [r6, #0x8]
- ldr r1, [r6, #0x38]
- ldr r0, [r2, #0x4]
- add r1, r3, r1
- sub r0, r1, r0
- str r0, [sp, #0xc]
- ldr r0, [r7, #0x40]
- ldr r2, [r6, #0xc]
- ldr r0, [r0, #0x20]
- ldr r1, [r6, #0x3c]
- ldr r0, [r0, #0x0]
- add r1, r2, r1
- ldr r0, [r0, #0x8]
- add r9, sp, #0x18
- sub r0, r1, r0
- str r0, [sp, #0x10]
- ldr r0, [r7, #0x40]
- ldr r2, [r6, #0x10]
- ldr r0, [r0, #0x20]
- ldr r1, [r6, #0x40]
- ldr r0, [r0, #0x0]
- add r2, r2, r1
- ldr r1, [r0, #0xc]
- add r0, r6, #0x14
- sub r1, r2, r1
- str r1, [sp, #0x14]
- ldmia r0, {r0-r2}
- stmia r9, {r0-r2}
- ldr r0, [r8, #0x8]
- add r1, sp, #0x24
- str r0, [sp, #0x24]
- ldr r2, [r8, #0x14]
- mov r0, r9
- str r2, [sp, #0x28]
- ldr r3, [r8, #0x20]
- mov r2, r9
- str r3, [sp, #0x2c]
- bl VEC_CrossProduct
- ldr r0, [sp, #0x18]
- cmp r0, #0x0
- bne _0208D900
- ldr r0, [sp, #0x1c]
- cmp r0, #0x0
- bne _0208D900
- ldr r0, [sp, #0x20]
- cmp r0, #0x0
- addeq sp, sp, #0x88
- ldmeqia sp!, {r4-r10,lr}
- bxeq lr
-_0208D900:
- add r0, sp, #0x18
- mov r1, r0
- bl VEC_Normalize
- add r1, sp, #0x30
- mov r0, r8
- bl MI_Copy36B
- add r0, sp, #0x18
- add r1, sp, #0x30
- mov r2, r0
- bl MTX_MultVec33
- add r0, sp, #0xc
- mov r1, r8
- mov r2, r0
- bl MTX_MultVec43
- add r0, r6, #0x14
- add r3, sp, #0x0
- ldmia r0, {r0-r2}
- stmia r3, {r0-r2}
- mov r0, r3
- mov r1, r3
- bl VEC_Normalize
- ldr r0, [r8, #0x20]
- ldr r1, [sp, #0x8]
- rsb r0, r0, #0x0
- smull r3, r0, r1, r0
- mov r2, #0x800
- adds r1, r3, r2
- ldr r3, [r8, #0x14]
- adc r0, r0, #0x0
- mov r1, r1, lsr #0xc
- orr r1, r1, r0, lsl #0x14
- ldr r0, [r8, #0x8]
- ldr r9, [sp, #0x0]
- rsb r0, r0, #0x0
- smull r8, r0, r9, r0
- adds r9, r8, r2
- adc r8, r0, #0x0
- mov r0, r9, lsr #0xc
- orr r0, r0, r8, lsl #0x14
- ldr r8, [sp, #0x4]
- rsb r3, r3, #0x0
- smull r9, r3, r8, r3
- adds r8, r9, r2
- adc r2, r3, #0x0
- mov r3, r8, lsr #0xc
- orr r3, r3, r2, lsl #0x14
- add r0, r0, r3
- adds r1, r1, r0
- ldr r0, [r7, #0x40]
- rsbmi r1, r1, #0x0
- ldr r0, [r0, #0x20]
- rsb r2, r1, #0x1000
- ldr r0, [r0, #0x0]
- mov r9, #0x800
- ldr r0, [r0, #0x48]
- ldr lr, [sp, #0x18]
- mov r0, r0, lsl #0x8
- mov r0, r0, lsr #0x10
- smull r8, r0, r2, r0
- adds r2, r8, r9
- adc r0, r0, #0x0
- mov r1, #0x0
- mov r2, r2, lsr #0xc
- orr r2, r2, r0, lsl #0x14
- add r0, r2, #0x1000
- smull r2, r0, r4, r0
- adds r2, r2, r9
- adc r0, r0, #0x0
- mov r8, r2, lsr #0xc
- orr r8, r8, r0, lsl #0x14
- smull r0, r4, lr, r5
- adds r12, r0, r9
- ldr r3, [sp, #0x1c]
- ldr r0, [sp, #0xc]
- rsb r2, r3, #0x0
- str r0, [sp, #0x78]
- ldr r0, [sp, #0x10]
- smull r10, r5, r3, r5
- str r0, [sp, #0x7c]
- smull r3, r0, r2, r8
- adc r4, r4, #0x0
- mov r12, r12, lsr #0xc
- adds r3, r3, r9
- orr r12, r12, r4, lsl #0x14
- adc r0, r0, #0x0
- adds r10, r10, r9
- smull r8, r2, lr, r8
- adc r4, r5, #0x0
- adds r5, r8, r9
- mov r9, r3, lsr #0xc
- orr r9, r9, r0, lsl #0x14
- mov r8, r10, lsr #0xc
- orr r8, r8, r4, lsl #0x14
- ldr r3, [sp, #0x14]
- adc r0, r2, #0x0
- mov r2, r5, lsr #0xc
- orr r2, r2, r0, lsl #0x14
- mov r4, #0x1000
- ldr r0, _0208DB64 ; =0x04000454
- str r12, [sp, #0x54]
- str r9, [sp, #0x60]
- str r8, [sp, #0x58]
- str r1, [sp, #0x6c]
- str r2, [sp, #0x64]
- str r1, [sp, #0x70]
- str r1, [sp, #0x5c]
- str r1, [sp, #0x68]
- str r4, [sp, #0x74]
- str r3, [sp, #0x80]
- str r1, [r0, #0x0]
- ldr r0, [r7, #0x40]
- ldr r1, _0208DB68 ; =0x04000470
- ldr r2, [r0, #0x20]
- add r0, sp, #0x54
- ldr r2, [r2, #0x0]
- ldr r4, [r2, #0xc]
- ldr r3, [r2, #0x8]
- ldr r2, [r2, #0x4]
- str r2, [r1, #0x0]
- str r3, [r1, #0x0]
- str r4, [r1, #0x0]
- bl G3_MultMtx43
-_0208DAE8:
- ldr r0, [r7, #0x40]
- ldrh r4, [r6, #0x36]
- ldrh r5, [r0, #0x72]
- mov r2, #0x0
- and r1, r4, #0x1f
- and r0, r5, #0x1f
- mul r3, r1, r0
- and r1, r4, #0x3e0
- and r0, r5, #0x3e0
- mul r0, r1, r0
- and r4, r4, #0x7c00
- and r1, r5, #0x7c00
- mul r5, r4, r1
- mov r1, r3, asr #0x5
- mov r0, r0, asr #0xf
- mov r3, r5, asr #0x19
- orr r0, r1, r0, lsl #0x5
- orr r0, r0, r3, lsl #0xa
- mov r0, r0, lsl #0x10
- ldr r1, _0208DB6C ; =0x04000480
- mov r0, r0, lsr #0x10
- str r0, [r1, #0x0]
- ldr r1, [r7, #0x40]
- mov r3, r2
- ldrsh r0, [r1, #0x7c]
- ldrsh r1, [r1, #0x7e]
- bl FUN_0208ECA0
- add sp, sp, #0x88
- ldmia sp!, {r4-r10,lr}
- bx lr
- .balign 4
-_0208DB60: .word 0x040004A4
-_0208DB64: .word 0x04000454
-_0208DB68: .word 0x04000470
-_0208DB6C: .word 0x04000480
-
- arm_func_start FUN_0208DB70
-FUN_0208DB70: ; 0x0208DB70
- stmdb sp!, {r4-r10,lr}
- sub sp, sp, #0x88
- mov r6, r1
- ldrh r1, [r6, #0x2e]
- mov r7, r0
- ldr r4, [r7, #0x40]
- mov r0, r1, lsl #0x16
- mov r2, r1, lsl #0x1b
- mov r0, r0, lsr #0x1b
- mov r2, r2, lsr #0x1b
- add r0, r0, #0x1
- mul r3, r2, r0
- ldr r2, [r4, #0x20]
- movs r3, r3, asr #0x5
- ldr r0, [r7, #0x3c]
- ldr r4, [r2, #0x0]
- mov r1, r1, lsl #0x10
- mov r2, r1, lsr #0x1a
- orr r1, r0, #0xc0
- orr r2, r1, r2, lsl #0x18
- ldrsh r0, [r4, #0x30]
- ldr r8, [r7, #0x44]
- ldr r1, _0208E248 ; =0x040004A4
- orr r2, r2, r3, lsl #0x10
- str r2, [r1, #0x0]
- addeq sp, sp, #0x88
- ldr r1, [r1, #0x0]
- ldmeqia sp!, {r4-r10,lr}
- bxeq lr
- ldr r4, [r6, #0x30]
- ldr r1, [r7, #0x40]
- smull r2, r5, r4, r0
- ldr r0, [r1, #0x20]
- mov r3, #0x800
- adds r1, r2, r3
- ldr r2, [r0, #0x0]
- adc r9, r5, #0x0
- ldr r0, [r2, #0x48]
- mov r5, r1, lsr #0xc
- mov r0, r0, lsl #0x1
- mov r1, r4, asr #0x1f
- orr r5, r5, r9, lsl #0x14
- movs r0, r0, lsr #0x1d
- mov r9, #0x0
- beq _0208DC38
- cmp r0, #0x1
- beq _0208DC74
- cmp r0, #0x2
- beq _0208DC90
- b _0208DCB4
-_0208DC38:
- ldrsh r0, [r6, #0x34]
- mov lr, r0, asr #0x1f
- umull r12, r10, r4, r0
- mla r10, r4, lr, r10
- smull lr, r4, r5, r0
- mla r10, r1, r0, r10
- adds r0, lr, r3
- adc lr, r4, r9
- adds r1, r12, r3
- mov r5, r0, lsr #0xc
- adc r0, r10, r9
- mov r4, r1, lsr #0xc
- orr r5, r5, lr, lsl #0x14
- orr r4, r4, r0, lsl #0x14
- b _0208DCB4
-_0208DC74:
- ldrsh r0, [r6, #0x34]
- smull r1, r0, r5, r0
- adds r1, r1, r3
- adc r0, r0, r9
- mov r5, r1, lsr #0xc
- orr r5, r5, r0, lsl #0x14
- b _0208DCB4
-_0208DC90:
- ldrsh r10, [r6, #0x34]
- mov r0, r10, asr #0x1f
- umull lr, r12, r4, r10
- mla r12, r4, r0, r12
- adds r3, lr, r3
- mla r12, r1, r10, r12
- adc r0, r12, r9
- mov r4, r3, lsr #0xc
- orr r4, r4, r0, lsl #0x14
-_0208DCB4:
- ldr r0, [r2, #0x0]
- mov r0, r0, lsl #0x8
- movs r0, r0, lsr #0x1f
- bne _0208DF1C
- ldr r1, [r6, #0x8]
- ldr r0, [r6, #0x38]
- add r9, sp, #0x18
- add r0, r1, r0
- str r0, [sp, #0xc]
- ldr r2, [r6, #0xc]
- ldr r1, [r6, #0x3c]
- add r0, r6, #0x14
- add r1, r2, r1
- str r1, [sp, #0x10]
- ldr r2, [r6, #0x10]
- ldr r1, [r6, #0x40]
- add r1, r2, r1
- str r1, [sp, #0x14]
- ldmia r0, {r0-r2}
- stmia r9, {r0-r2}
- ldr r0, [r8, #0x8]
- add r1, sp, #0x24
- str r0, [sp, #0x24]
- ldr r2, [r8, #0x14]
- mov r0, r9
- str r2, [sp, #0x28]
- ldr r3, [r8, #0x20]
- mov r2, r9
- str r3, [sp, #0x2c]
- bl VEC_CrossProduct
- ldr r0, [sp, #0x18]
- cmp r0, #0x0
- bne _0208DD58
- ldr r0, [sp, #0x1c]
- cmp r0, #0x0
- bne _0208DD58
- ldr r0, [sp, #0x20]
- cmp r0, #0x0
- addeq sp, sp, #0x88
- ldmeqia sp!, {r4-r10,lr}
- bxeq lr
-_0208DD58:
- add r0, sp, #0x18
- mov r1, r0
- bl VEC_Normalize
- add r1, sp, #0x30
- mov r0, r8
- bl MI_Copy36B
- add r0, sp, #0x18
- add r1, sp, #0x30
- mov r2, r0
- bl MTX_MultVec33
- add r0, sp, #0xc
- mov r1, r8
- mov r2, r0
- bl MTX_MultVec43
- add r0, r6, #0x14
- add r3, sp, #0x0
- ldmia r0, {r0-r2}
- stmia r3, {r0-r2}
- mov r0, r3
- mov r1, r3
- bl VEC_Normalize
- ldr r0, [r8, #0x20]
- ldr r1, [sp, #0x8]
- rsb r0, r0, #0x0
- smull r3, r0, r1, r0
- mov r2, #0x800
- adds r1, r3, r2
- ldr r3, [r8, #0x14]
- adc r0, r0, #0x0
- mov r1, r1, lsr #0xc
- orr r1, r1, r0, lsl #0x14
- ldr r0, [r8, #0x8]
- ldr r9, [sp, #0x0]
- rsb r0, r0, #0x0
- smull r8, r0, r9, r0
- adds r9, r8, r2
- adc r8, r0, #0x0
- mov r0, r9, lsr #0xc
- orr r0, r0, r8, lsl #0x14
- ldr r8, [sp, #0x4]
- rsb r3, r3, #0x0
- smull r9, r3, r8, r3
- adds r8, r9, r2
- adc r2, r3, #0x0
- mov r3, r8, lsr #0xc
- orr r3, r3, r2, lsl #0x14
- add r0, r0, r3
- adds r1, r1, r0
- ldr r0, [r7, #0x40]
- rsbmi r1, r1, #0x0
- ldr r0, [r0, #0x20]
- rsb r2, r1, #0x1000
- ldr r0, [r0, #0x0]
- mov r9, #0x800
- ldr r0, [r0, #0x48]
- ldr r12, [sp, #0x18]
- mov r0, r0, lsl #0x8
- mov r0, r0, lsr #0x10
- smull r8, r0, r2, r0
- adds r2, r8, r9
- adc r0, r0, #0x0
- mov r1, #0x0
- mov r2, r2, lsr #0xc
- orr r2, r2, r0, lsl #0x14
- add r0, r2, #0x1000
- smull r2, r0, r4, r0
- adds r2, r2, r9
- adc r0, r0, #0x0
- mov lr, r2, lsr #0xc
- orr lr, lr, r0, lsl #0x14
- smull r0, r4, r12, r5
- adds r8, r0, r9
- ldr r3, [sp, #0x1c]
- ldr r0, [sp, #0xc]
- rsb r2, r3, #0x0
- str r0, [sp, #0x78]
- ldr r0, [sp, #0x10]
- smull r10, r5, r3, r5
- str r0, [sp, #0x7c]
- smull r3, r0, r2, lr
- adc r4, r4, #0x0
- mov r8, r8, lsr #0xc
- orr r8, r8, r4, lsl #0x14
- adds r3, r3, r9
- smull lr, r2, r12, lr
- str r8, [sp, #0x54]
- adc r0, r0, #0x0
- adds r8, r10, r9
- adc r4, r5, #0x0
- adds r5, lr, r9
- mov r9, r3, lsr #0xc
- orr r9, r9, r0, lsl #0x14
- mov r8, r8, lsr #0xc
- orr r8, r8, r4, lsl #0x14
- ldr r3, [sp, #0x14]
- adc r0, r2, #0x0
- mov r5, r5, lsr #0xc
- orr r5, r5, r0, lsl #0x14
- mov r4, #0x1000
- ldr r2, _0208E24C ; =0x04000454
- str r9, [sp, #0x60]
- str r8, [sp, #0x58]
- add r0, sp, #0x54
- str r5, [sp, #0x64]
- str r1, [sp, #0x6c]
- str r1, [sp, #0x70]
- str r1, [sp, #0x5c]
- str r1, [sp, #0x68]
- str r4, [sp, #0x74]
- str r3, [sp, #0x80]
- str r1, [r2, #0x0]
- bl G3_MultMtx43
- b _0208E1C8
-_0208DF1C:
- ldr r3, [r6, #0x8]
- ldr r1, [r6, #0x38]
- ldr r0, [r2, #0x4]
- add r1, r3, r1
- sub r0, r1, r0
- str r0, [sp, #0xc]
- ldr r0, [r7, #0x40]
- ldr r2, [r6, #0xc]
- ldr r0, [r0, #0x20]
- ldr r1, [r6, #0x3c]
- ldr r0, [r0, #0x0]
- add r1, r2, r1
- ldr r0, [r0, #0x8]
- add r9, sp, #0x18
- sub r0, r1, r0
- str r0, [sp, #0x10]
- ldr r0, [r7, #0x40]
- ldr r2, [r6, #0x10]
- ldr r0, [r0, #0x20]
- ldr r1, [r6, #0x40]
- ldr r0, [r0, #0x0]
- add r2, r2, r1
- ldr r1, [r0, #0xc]
- add r0, r6, #0x14
- sub r1, r2, r1
- str r1, [sp, #0x14]
- ldmia r0, {r0-r2}
- stmia r9, {r0-r2}
- ldr r0, [r8, #0x8]
- add r1, sp, #0x24
- str r0, [sp, #0x24]
- ldr r2, [r8, #0x14]
- mov r0, r9
- str r2, [sp, #0x28]
- ldr r3, [r8, #0x20]
- mov r2, r9
- str r3, [sp, #0x2c]
- bl VEC_CrossProduct
- ldr r0, [sp, #0x18]
- cmp r0, #0x0
- bne _0208DFE0
- ldr r0, [sp, #0x1c]
- cmp r0, #0x0
- bne _0208DFE0
- ldr r0, [sp, #0x20]
- cmp r0, #0x0
- addeq sp, sp, #0x88
- ldmeqia sp!, {r4-r10,lr}
- bxeq lr
-_0208DFE0:
- add r0, sp, #0x18
- mov r1, r0
- bl VEC_Normalize
- add r1, sp, #0x30
- mov r0, r8
- bl MI_Copy36B
- add r0, sp, #0x18
- add r1, sp, #0x30
- mov r2, r0
- bl MTX_MultVec33
- add r0, sp, #0xc
- mov r1, r8
- mov r2, r0
- bl MTX_MultVec43
- add r0, r6, #0x14
- add r3, sp, #0x0
- ldmia r0, {r0-r2}
- stmia r3, {r0-r2}
- mov r0, r3
- mov r1, r3
- bl VEC_Normalize
- ldr r0, [r8, #0x20]
- ldr r1, [sp, #0x8]
- rsb r0, r0, #0x0
- smull r3, r0, r1, r0
- mov r2, #0x800
- adds r1, r3, r2
- ldr r3, [r8, #0x14]
- adc r0, r0, #0x0
- mov r1, r1, lsr #0xc
- orr r1, r1, r0, lsl #0x14
- ldr r0, [r8, #0x8]
- ldr r9, [sp, #0x0]
- rsb r0, r0, #0x0
- smull r8, r0, r9, r0
- adds r9, r8, r2
- adc r8, r0, #0x0
- mov r0, r9, lsr #0xc
- orr r0, r0, r8, lsl #0x14
- ldr r8, [sp, #0x4]
- rsb r3, r3, #0x0
- smull r9, r3, r8, r3
- adds r8, r9, r2
- adc r2, r3, #0x0
- mov r3, r8, lsr #0xc
- orr r3, r3, r2, lsl #0x14
- add r0, r0, r3
- adds r1, r1, r0
- ldr r0, [r7, #0x40]
- rsbmi r1, r1, #0x0
- ldr r0, [r0, #0x20]
- rsb r2, r1, #0x1000
- ldr r0, [r0, #0x0]
- mov r9, #0x800
- ldr r0, [r0, #0x48]
- ldr lr, [sp, #0x18]
- mov r0, r0, lsl #0x8
- mov r0, r0, lsr #0x10
- smull r8, r0, r2, r0
- adds r2, r8, r9
- adc r0, r0, #0x0
- mov r1, #0x0
- mov r2, r2, lsr #0xc
- orr r2, r2, r0, lsl #0x14
- add r0, r2, #0x1000
- smull r2, r0, r4, r0
- adds r2, r2, r9
- adc r0, r0, #0x0
- mov r8, r2, lsr #0xc
- orr r8, r8, r0, lsl #0x14
- smull r0, r4, lr, r5
- adds r12, r0, r9
- ldr r3, [sp, #0x1c]
- ldr r0, [sp, #0xc]
- rsb r2, r3, #0x0
- str r0, [sp, #0x78]
- ldr r0, [sp, #0x10]
- smull r10, r5, r3, r5
- str r0, [sp, #0x7c]
- smull r3, r0, r2, r8
- adc r4, r4, #0x0
- mov r12, r12, lsr #0xc
- adds r3, r3, r9
- orr r12, r12, r4, lsl #0x14
- adc r0, r0, #0x0
- adds r10, r10, r9
- smull r8, r2, lr, r8
- adc r4, r5, #0x0
- adds r5, r8, r9
- mov r9, r3, lsr #0xc
- orr r9, r9, r0, lsl #0x14
- mov r8, r10, lsr #0xc
- orr r8, r8, r4, lsl #0x14
- ldr r3, [sp, #0x14]
- adc r0, r2, #0x0
- mov r2, r5, lsr #0xc
- orr r2, r2, r0, lsl #0x14
- mov r4, #0x1000
- ldr r0, _0208E24C ; =0x04000454
- str r12, [sp, #0x54]
- str r9, [sp, #0x60]
- str r8, [sp, #0x58]
- str r1, [sp, #0x6c]
- str r2, [sp, #0x64]
- str r1, [sp, #0x70]
- str r1, [sp, #0x5c]
- str r1, [sp, #0x68]
- str r4, [sp, #0x74]
- str r3, [sp, #0x80]
- str r1, [r0, #0x0]
- ldr r0, [r7, #0x40]
- ldr r1, _0208E250 ; =0x04000470
- ldr r2, [r0, #0x20]
- add r0, sp, #0x54
- ldr r2, [r2, #0x0]
- ldr r4, [r2, #0xc]
- ldr r3, [r2, #0x8]
- ldr r2, [r2, #0x4]
- str r2, [r1, #0x0]
- str r3, [r1, #0x0]
- str r4, [r1, #0x0]
- bl G3_MultMtx43
-_0208E1C8:
- ldr r0, [r7, #0x40]
- ldrh r4, [r6, #0x36]
- ldrh r5, [r0, #0x72]
- ldr r1, _0208E254 ; =0x04000480
- and r2, r4, #0x1f
- and r0, r5, #0x1f
- mul r3, r2, r0
- and r2, r4, #0x3e0
- and r0, r5, #0x3e0
- mul r0, r2, r0
- and r4, r4, #0x7c00
- and r2, r5, #0x7c00
- mul r5, r4, r2
- mov r2, r3, asr #0x5
- mov r0, r0, asr #0xf
- mov r3, r5, asr #0x19
- orr r0, r2, r0, lsl #0x5
- orr r0, r0, r3, lsl #0xa
- mov r0, r0, lsl #0x10
- mov r0, r0, lsr #0x10
- str r0, [r1, #0x0]
- ldr r2, [r7, #0x40]
- ldr r1, [r2, #0x20]
- ldrsh r0, [r2, #0x78]
- ldr r3, [r1, #0x0]
- ldrsh r1, [r2, #0x7a]
- ldrsh r2, [r3, #0x50]
- ldrsh r3, [r3, #0x52]
- bl FUN_0208ECA0
- add sp, sp, #0x88
- ldmia sp!, {r4-r10,lr}
- bx lr
- .balign 4
-_0208E248: .word 0x040004A4
-_0208E24C: .word 0x04000454
-_0208E250: .word 0x04000470
-_0208E254: .word 0x04000480
-
- arm_func_start FUN_0208E258
-FUN_0208E258: ; 0x0208E258
- stmdb sp!, {r4-r10,lr}
- sub sp, sp, #0x40
- mov r6, r1
- ldrh r1, [r6, #0x2e]
- mov r7, r0
- ldr r4, [r7, #0x40]
- mov r0, r1, lsl #0x16
- mov r2, r1, lsl #0x1b
- mov r0, r0, lsr #0x1b
- mov r2, r2, lsr #0x1b
- add r0, r0, #0x1
- mul r3, r2, r0
- ldr r2, [r4, #0x20]
- ldr r0, [r7, #0x3c]
- ldr r4, [r2, #0x0]
- mov r1, r1, lsl #0x10
- mov r2, r1, lsr #0x1a
- orr r1, r0, #0xc0
- ldrsh r0, [r4, #0x30]
- movs r4, r3, asr #0x5
- orr r3, r1, r2, lsl #0x18
- ldr r1, [r7, #0x44]
- ldr r2, _0208E698 ; =0x040004A4
- orr r3, r3, r4, lsl #0x10
- str r3, [r2, #0x0]
- addeq sp, sp, #0x40
- ldr r2, [r2, #0x0]
- ldmeqia sp!, {r4-r10,lr}
- bxeq lr
- ldr r4, [r6, #0x30]
- ldr r2, [r7, #0x40]
- smull r3, r5, r4, r0
- ldr r0, [r2, #0x20]
- mov r8, #0x800
- adds r2, r3, r8
- ldr r3, [r0, #0x0]
- adc r9, r5, #0x0
- ldr r0, [r3, #0x48]
- mov r5, r2, lsr #0xc
- mov r0, r0, lsl #0x1
- mov r2, r4, asr #0x1f
- orr r5, r5, r9, lsl #0x14
- movs r0, r0, lsr #0x1d
- mov r9, #0x0
- beq _0208E320
- cmp r0, #0x1
- beq _0208E35C
- cmp r0, #0x2
- beq _0208E378
- b _0208E39C
-_0208E320:
- ldrsh r0, [r6, #0x34]
- mov lr, r0, asr #0x1f
- umull r12, r10, r4, r0
- mla r10, r4, lr, r10
- smull lr, r4, r5, r0
- mla r10, r2, r0, r10
- adds r0, lr, r8
- adc lr, r4, r9
- adds r2, r12, r8
- mov r5, r0, lsr #0xc
- adc r0, r10, r9
- mov r4, r2, lsr #0xc
- orr r5, r5, lr, lsl #0x14
- orr r4, r4, r0, lsl #0x14
- b _0208E39C
-_0208E35C:
- ldrsh r0, [r6, #0x34]
- smull r2, r0, r5, r0
- adds r2, r2, r8
- adc r0, r0, r9
- mov r5, r2, lsr #0xc
- orr r5, r5, r0, lsl #0x14
- b _0208E39C
-_0208E378:
- ldrsh r10, [r6, #0x34]
- mov r0, r10, asr #0x1f
- umull lr, r12, r4, r10
- mla r12, r4, r0, r12
- adds r4, lr, r8
- mla r12, r2, r10, r12
- adc r0, r12, r9
- mov r4, r4, lsr #0xc
- orr r4, r4, r0, lsl #0x14
-_0208E39C:
- ldr r0, [r3, #0x0]
- mov r0, r0, lsl #0x8
- movs r0, r0, lsr #0x1f
- bne _0208E4BC
- ldr r3, [r6, #0x8]
- ldr r2, [r6, #0x38]
- add r0, sp, #0x0
- add r2, r3, r2
- str r2, [sp, #0x0]
- ldr r8, [r6, #0xc]
- ldr r3, [r6, #0x3c]
- mov r2, r0
- add r3, r8, r3
- str r3, [sp, #0x4]
- ldr r8, [r6, #0x10]
- ldr r3, [r6, #0x40]
- add r3, r8, r3
- str r3, [sp, #0x8]
- bl MTX_MultVec43
- ldrh r0, [r6, #0x20]
- ldr r2, _0208E69C ; =0x020FFA38
- mov r9, #0x0
- mov r0, r0, asr #0x4
- mov r3, r0, lsl #0x1
- mov r0, r3, lsl #0x1
- ldrsh r1, [r2, r0]
- add r0, r3, #0x1
- mov r0, r0, lsl #0x1
- ldrsh r0, [r2, r0]
- mov lr, #0x1000
- ldr r3, [sp, #0x0]
- ldr r2, [sp, #0x4]
- str r3, [sp, #0x30]
- smull r12, r10, r1, r5
- str lr, [sp, #0x2c]
- rsb r8, r1, #0x0
- ldr r1, [sp, #0x8]
- smull lr, r5, r0, r5
- mov r3, #0x800
- str r2, [sp, #0x34]
- adds r2, lr, r3
- adc r5, r5, #0x0
- adds r12, r12, r3
- mov lr, r2, lsr #0xc
- orr lr, lr, r5, lsl #0x14
- smull r5, r2, r8, r4
- adc r10, r10, #0x0
- mov r8, r12, lsr #0xc
- orr r8, r8, r10, lsl #0x14
- adds r5, r5, r3
- smull r10, r4, r0, r4
- adc r0, r2, #0x0
- adds r2, r10, r3
- mov r5, r5, lsr #0xc
- orr r5, r5, r0, lsl #0x14
- mov r3, r2, lsr #0xc
- adc r0, r4, #0x0
- orr r3, r3, r0, lsl #0x14
- ldr r2, _0208E6A0 ; =0x04000454
- str lr, [sp, #0xc]
- add r0, sp, #0xc
- str r8, [sp, #0x10]
- str r9, [sp, #0x14]
- str r5, [sp, #0x18]
- str r3, [sp, #0x1c]
- str r9, [sp, #0x20]
- str r9, [sp, #0x24]
- str r9, [sp, #0x28]
- str r1, [sp, #0x38]
- str r9, [r2, #0x0]
- bl G3_MultMtx43
- b _0208E620
-_0208E4BC:
- ldr r8, [r6, #0x8]
- ldr r2, [r6, #0x38]
- ldr r0, [r3, #0x4]
- add r2, r8, r2
- sub r0, r2, r0
- str r0, [sp, #0x0]
- ldr r2, [r7, #0x40]
- ldr r8, [r6, #0xc]
- ldr r2, [r2, #0x20]
- ldr r3, [r6, #0x3c]
- ldr r2, [r2, #0x0]
- add r3, r8, r3
- ldr r2, [r2, #0x8]
- add r0, sp, #0x0
- sub r2, r3, r2
- str r2, [sp, #0x4]
- ldr r2, [r7, #0x40]
- ldr r8, [r6, #0x10]
- ldr r2, [r2, #0x20]
- ldr r3, [r6, #0x40]
- ldr r2, [r2, #0x0]
- add r8, r8, r3
- ldr r3, [r2, #0xc]
- mov r2, r0
- sub r3, r8, r3
- str r3, [sp, #0x8]
- bl MTX_MultVec43
- ldrh r0, [r6, #0x20]
- ldr r2, _0208E69C ; =0x020FFA38
- mov lr, #0x0
- mov r0, r0, asr #0x4
- mov r3, r0, lsl #0x1
- mov r0, r3, lsl #0x1
- ldrsh r1, [r2, r0]
- add r0, r3, #0x1
- mov r0, r0, lsl #0x1
- ldrsh r0, [r2, r0]
- mov r10, #0x1000
- ldr r3, [sp, #0x0]
- ldr r2, [sp, #0x4]
- str r3, [sp, #0x30]
- smull r9, r8, r1, r5
- str r10, [sp, #0x2c]
- rsb r12, r1, #0x0
- smull r10, r5, r0, r5
- ldr r1, [sp, #0x8]
- mov r3, #0x800
- str r2, [sp, #0x34]
- adds r2, r10, r3
- adc r5, r5, #0x0
- mov r10, r2, lsr #0xc
- orr r10, r10, r5, lsl #0x14
- str r1, [sp, #0x38]
- adds r9, r9, r3
- str r10, [sp, #0xc]
- adc r10, r8, #0x0
- smull r5, r2, r12, r4
- mov r8, r9, lsr #0xc
- orr r8, r8, r10, lsl #0x14
- smull r9, r4, r0, r4
- adds r5, r5, r3
- adc r0, r2, #0x0
- adds r2, r9, r3
- mov r3, r5, lsr #0xc
- orr r3, r3, r0, lsl #0x14
- adc r0, r4, #0x0
- mov r2, r2, lsr #0xc
- orr r2, r2, r0, lsl #0x14
- ldr r0, _0208E6A0 ; =0x04000454
- str r8, [sp, #0x10]
- str lr, [sp, #0x14]
- str r3, [sp, #0x18]
- str r2, [sp, #0x1c]
- str lr, [sp, #0x20]
- str lr, [sp, #0x24]
- str lr, [sp, #0x28]
- str lr, [r0, #0x0]
- ldr r0, [r7, #0x40]
- ldr r1, _0208E6A4 ; =0x04000470
- ldr r2, [r0, #0x20]
- add r0, sp, #0xc
- ldr r2, [r2, #0x0]
- ldr r4, [r2, #0xc]
- ldr r3, [r2, #0x8]
- ldr r2, [r2, #0x4]
- str r2, [r1, #0x0]
- str r3, [r1, #0x0]
- str r4, [r1, #0x0]
- bl G3_MultMtx43
-_0208E620:
- ldr r0, [r7, #0x40]
- ldrh r4, [r6, #0x36]
- ldrh r5, [r0, #0x72]
- mov r2, #0x0
- and r1, r4, #0x1f
- and r0, r5, #0x1f
- mul r3, r1, r0
- and r1, r4, #0x3e0
- and r0, r5, #0x3e0
- mul r0, r1, r0
- and r4, r4, #0x7c00
- and r1, r5, #0x7c00
- mul r5, r4, r1
- mov r1, r3, asr #0x5
- mov r0, r0, asr #0xf
- mov r3, r5, asr #0x19
- orr r0, r1, r0, lsl #0x5
- orr r0, r0, r3, lsl #0xa
- mov r0, r0, lsl #0x10
- ldr r1, _0208E6A8 ; =0x04000480
- mov r0, r0, lsr #0x10
- str r0, [r1, #0x0]
- ldr r1, [r7, #0x40]
- mov r3, r2
- ldrsh r0, [r1, #0x7c]
- ldrsh r1, [r1, #0x7e]
- bl FUN_0208ECA0
- add sp, sp, #0x40
- ldmia sp!, {r4-r10,lr}
- bx lr
- .balign 4
-_0208E698: .word 0x040004A4
-_0208E69C: .word 0x020FFA38
-_0208E6A0: .word 0x04000454
-_0208E6A4: .word 0x04000470
-_0208E6A8: .word 0x04000480
-
- arm_func_start FUN_0208E6AC
-FUN_0208E6AC: ; 0x0208E6AC
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0x3c
- mov r8, r1
- ldrh r3, [r8, #0x2e]
- mov r9, r0
- ldr r1, [r9, #0x40]
- mov r0, r3, lsl #0x16
- mov r2, r3, lsl #0x1b
- mov r0, r0, lsr #0x1b
- ldr r4, [r1, #0x20]
- mov r2, r2, lsr #0x1b
- ldr r5, [r4, #0x0]
- add r0, r0, #0x1
- mul r0, r2, r0
- movs r11, r0, asr #0x5
- mov r3, r3, lsl #0x10
- ldr r2, [r9, #0x3c]
- mov r6, r3, lsr #0x1a
- orr r3, r2, #0xc0
- ldr r4, [r5, #0x48]
- ldrsh r7, [r5, #0x30]
- mov r2, r4, lsl #0x1
- ldrh r4, [r1, #0x72]
- orr r3, r3, r6, lsl #0x18
- ldrsh r10, [r8, #0x34]
- ldrh r5, [r8, #0x36]
- ldr r1, [r9, #0x44]
- ldr r0, _0208EAE4 ; =0x040004A4
- orr r3, r3, r11, lsl #0x10
- str r3, [r0, #0x0]
- mov r2, r2, lsr #0x1d
- addeq sp, sp, #0x3c
- and r3, r2, #0xff
- ldr r0, [r0, #0x0]
- ldmeqia sp!, {r4-r11,lr}
- bxeq lr
- ldr r6, [r8, #0x30]
- mov r0, #0x800
- smull r7, r2, r6, r7
- adds r7, r7, r0
- adc r2, r2, #0x0
- mov r7, r7, lsr #0xc
- cmp r3, #0x0
- mov lr, r6, asr #0x1f
- orr r7, r7, r2, lsl #0x14
- mov r2, #0x0
- bne _0208E7A0
- mov r12, r10, asr #0x1f
- umull r11, r3, r6, r10
- mla r3, r6, r12, r3
- mla r3, lr, r10, r3
- smull r6, r10, r7, r10
- adds r6, r6, r0
- adc r10, r10, r2
- adds r11, r11, r0
- adc r0, r3, r2
- mov r7, r6, lsr #0xc
- mov r6, r11, lsr #0xc
- orr r7, r7, r10, lsl #0x14
- orr r6, r6, r0, lsl #0x14
- b _0208E7E0
-_0208E7A0:
- cmp r3, #0x1
- bne _0208E7C0
- smull r10, r3, r7, r10
- adds r7, r10, r0
- adc r0, r3, r2
- mov r7, r7, lsr #0xc
- orr r7, r7, r0, lsl #0x14
- b _0208E7E0
-_0208E7C0:
- mov r12, r10, asr #0x1f
- umull r11, r3, r6, r10
- adds r0, r11, r0
- mla r3, r6, r12, r3
- mla r3, lr, r10, r3
- adc r2, r3, r2
- mov r6, r0, lsr #0xc
- orr r6, r6, r2, lsl #0x14
-_0208E7E0:
- ldr r0, [r9, #0x40]
- ldr r0, [r0, #0x20]
- ldr r10, [r0, #0x0]
- ldr r0, [r10, #0x0]
- mov r0, r0, lsl #0x8
- movs r0, r0, lsr #0x1f
- bne _0208E90C
- ldr r3, [r8, #0x8]
- ldr r2, [r8, #0x38]
- add r0, sp, #0x0
- add r2, r3, r2
- str r2, [sp, #0x0]
- ldr r10, [r8, #0xc]
- ldr r3, [r8, #0x3c]
- mov r2, r0
- add r3, r10, r3
- str r3, [sp, #0x4]
- ldr r10, [r8, #0x10]
- ldr r3, [r8, #0x40]
- add r3, r10, r3
- str r3, [sp, #0x8]
- bl MTX_MultVec43
- ldrh r0, [r8, #0x20]
- ldr r2, _0208EAE8 ; =0x020FFA38
- ldr r12, [sp, #0x0]
- mov r0, r0, asr #0x4
- mov r3, r0, lsl #0x1
- mov r0, r3, lsl #0x1
- ldrsh r1, [r2, r0]
- add r0, r3, #0x1
- mov r0, r0, lsl #0x1
- ldrsh r0, [r2, r0]
- str r12, [sp, #0x30]
- mov r12, #0x1000
- ldr r2, [sp, #0x4]
- smull r11, r10, r1, r7
- str r12, [sp, #0x2c]
- rsb r3, r1, #0x0
- ldr r1, [sp, #0x8]
- str r2, [sp, #0x34]
- mov r8, #0x0
- smull r12, r7, r0, r7
- mov r2, #0x800
- str r1, [sp, #0x38]
- adds r1, r12, r2
- adc r12, r7, #0x0
- adds r7, r11, r2
- mov r11, r1, lsr #0xc
- orr r11, r11, r12, lsl #0x14
- smull r12, r1, r3, r6
- adc r10, r10, #0x0
- mov r7, r7, lsr #0xc
- orr r7, r7, r10, lsl #0x14
- adds r3, r12, r2
- smull r10, r6, r0, r6
- adc r0, r1, #0x0
- adds r1, r10, r2
- mov r3, r3, lsr #0xc
- orr r3, r3, r0, lsl #0x14
- mov r2, r1, lsr #0xc
- adc r0, r6, #0x0
- orr r2, r2, r0, lsl #0x14
- ldr r1, _0208EAEC ; =0x04000454
- str r11, [sp, #0xc]
- add r0, sp, #0xc
- str r7, [sp, #0x10]
- str r8, [sp, #0x14]
- str r3, [sp, #0x18]
- str r2, [sp, #0x1c]
- str r8, [sp, #0x20]
- str r8, [sp, #0x24]
- str r8, [sp, #0x28]
- str r8, [r1, #0x0]
- bl G3_MultMtx43
- b _0208EA70
-_0208E90C:
- ldr r3, [r8, #0x8]
- ldr r2, [r8, #0x38]
- ldr r0, [r10, #0x4]
- add r2, r3, r2
- sub r0, r2, r0
- str r0, [sp, #0x0]
- ldr r2, [r9, #0x40]
- ldr r10, [r8, #0xc]
- ldr r2, [r2, #0x20]
- ldr r3, [r8, #0x3c]
- ldr r2, [r2, #0x0]
- add r3, r10, r3
- ldr r2, [r2, #0x8]
- add r0, sp, #0x0
- sub r2, r3, r2
- str r2, [sp, #0x4]
- ldr r2, [r9, #0x40]
- ldr r10, [r8, #0x10]
- ldr r2, [r2, #0x20]
- ldr r3, [r8, #0x40]
- ldr r2, [r2, #0x0]
- add r10, r10, r3
- ldr r3, [r2, #0xc]
- mov r2, r0
- sub r3, r10, r3
- str r3, [sp, #0x8]
- bl MTX_MultVec43
- ldrh r0, [r8, #0x20]
- ldr r2, _0208EAE8 ; =0x020FFA38
- mov r8, #0x0
- mov r0, r0, asr #0x4
- mov r3, r0, lsl #0x1
- mov r0, r3, lsl #0x1
- ldrsh r1, [r2, r0]
- add r0, r3, #0x1
- mov r0, r0, lsl #0x1
- ldrsh r0, [r2, r0]
- ldr r12, [sp, #0x0]
- ldr r2, [sp, #0x4]
- str r12, [sp, #0x30]
- mov r12, #0x1000
- str r2, [sp, #0x34]
- smull r11, r10, r1, r7
- str r12, [sp, #0x2c]
- rsb r3, r1, #0x0
- ldr r1, [sp, #0x8]
- smull r12, r7, r0, r7
- mov r2, #0x800
- str r1, [sp, #0x38]
- adds r1, r12, r2
- adc r12, r7, #0x0
- adds r7, r11, r2
- mov r11, r1, lsr #0xc
- orr r11, r11, r12, lsl #0x14
- smull r12, r1, r3, r6
- adc r10, r10, #0x0
- mov r7, r7, lsr #0xc
- orr r7, r7, r10, lsl #0x14
- smull r10, r6, r0, r6
- adds r3, r12, r2
- adc r0, r1, #0x0
- adds r1, r10, r2
- mov r2, r3, lsr #0xc
- orr r2, r2, r0, lsl #0x14
- adc r0, r6, #0x0
- mov r1, r1, lsr #0xc
- orr r1, r1, r0, lsl #0x14
- str r1, [sp, #0x1c]
- ldr r0, _0208EAEC ; =0x04000454
- str r11, [sp, #0xc]
- str r7, [sp, #0x10]
- str r8, [sp, #0x14]
- str r2, [sp, #0x18]
- str r8, [sp, #0x20]
- str r8, [sp, #0x24]
- str r8, [sp, #0x28]
- str r8, [r0, #0x0]
- ldr r0, [r9, #0x40]
- ldr r1, _0208EAF0 ; =0x04000470
- ldr r2, [r0, #0x20]
- add r0, sp, #0xc
- ldr r2, [r2, #0x0]
- ldr r6, [r2, #0xc]
- ldr r3, [r2, #0x8]
- ldr r2, [r2, #0x4]
- str r2, [r1, #0x0]
- str r3, [r1, #0x0]
- str r6, [r1, #0x0]
- bl G3_MultMtx43
-_0208EA70:
- and r1, r5, #0x1f
- and r0, r4, #0x1f
- mul r2, r1, r0
- and r1, r5, #0x3e0
- and r0, r4, #0x3e0
- mul r0, r1, r0
- and r3, r5, #0x7c00
- and r1, r4, #0x7c00
- mul r4, r3, r1
- mov r1, r2, asr #0x5
- mov r0, r0, asr #0xf
- mov r2, r4, asr #0x19
- orr r0, r1, r0, lsl #0x5
- orr r0, r0, r2, lsl #0xa
- mov r0, r0, lsl #0x10
- ldr r1, _0208EAF4 ; =0x04000480
- mov r0, r0, lsr #0x10
- str r0, [r1, #0x0]
- ldr r2, [r9, #0x40]
- ldr r1, [r2, #0x20]
- ldrsh r0, [r2, #0x78]
- ldr r3, [r1, #0x0]
- ldrsh r1, [r2, #0x7a]
- ldrsh r2, [r3, #0x50]
- ldrsh r3, [r3, #0x52]
- bl FUN_0208ECA0
- add sp, sp, #0x3c
- ldmia sp!, {r4-r11,lr}
- bx lr
- .balign 4
-_0208EAE4: .word 0x040004A4
-_0208EAE8: .word 0x020FFA38
-_0208EAEC: .word 0x04000454
-_0208EAF0: .word 0x04000470
-_0208EAF4: .word 0x04000480
-
- arm_func_start FUN_0208EAF8
-FUN_0208EAF8: ; 0x0208EAF8
- str r1, [r2, #0x0]
- mov r12, #0x0
- str r12, [r2, #0xc]
- str r0, [r2, #0x18]
- str r12, [r2, #0x24]
- str r12, [r2, #0x4]
- mov r3, #0x1000
- str r3, [r2, #0x10]
- str r12, [r2, #0x1c]
- str r12, [r2, #0x28]
- rsb r0, r0, #0x0
- str r0, [r2, #0x8]
- str r12, [r2, #0x14]
- str r1, [r2, #0x20]
- str r12, [r2, #0x2c]
- bx lr
-
- arm_func_start FUN_0208EB38
-FUN_0208EB38: ; 0x0208EB38
- stmdb sp!, {r4-r9,lr}
- sub sp, sp, #0x4
- ldr r3, _0208EBDC ; =0x00000555
- rsb r7, r1, #0x1000
- ldr ip, _0208EBE0 ; =0x0000093D
- mov r4, #0x0
- umull r9, r8, r7, r3
- umull r6, r5, r0, r12
- mov lr, #0x800
- adds r9, r9, lr
- mla r8, r7, r4, r8
- mov r7, r7, asr #0x1f
- mla r8, r7, r3, r8
- adc r7, r8, #0x0
- mov r3, r9, lsr #0xc
- adds r6, r6, lr
- orr r3, r3, r7, lsl #0x14
- add r1, r3, r1
- mla r5, r0, r4, r5
- mov r0, r0, asr #0x1f
- mla r5, r0, r12, r5
- adc r0, r5, #0x0
- mov r5, r6, lsr #0xc
- orr r5, r5, r0, lsl #0x14
- str r1, [r2, #0x0]
- add r12, r3, r5
- str r12, [r2, #0xc]
- sub r0, r3, r5
- str r0, [r2, #0x18]
- str r4, [r2, #0x24]
- str r0, [r2, #0x4]
- str r1, [r2, #0x10]
- str r12, [r2, #0x1c]
- str r4, [r2, #0x28]
- str r12, [r2, #0x8]
- str r0, [r2, #0x14]
- str r1, [r2, #0x20]
- str r4, [r2, #0x2c]
- add sp, sp, #0x4
- ldmia sp!, {r4-r9,lr}
- bx lr
- .balign 4
-_0208EBDC: .word 0x00000555
-_0208EBE0: .word 0x0000093D
-
- arm_func_start FUN_0208EBE4
-FUN_0208EBE4: ; 0x0208EBE4
- stmdb sp!, {r4-r8,lr}
- sub r7, r2, #0x1000
- add r5, r3, #0x1000
- add r4, r2, #0x1000
- mov r2, r0, lsl #0x8
- mov r0, r1, lsl #0x8
- sub r3, r3, #0x1000
- mov r0, r0, lsr #0x10
- mov r1, r2, lsr #0x10
- ldr ip, _0208EC8C ; =0x04000500
- mov r8, #0x1
- ldr r6, _0208EC90 ; =0x000003FF
- mov r2, r7, lsl #0x10
- mov lr, r5, lsl #0x10
- mov r4, r4, lsl #0x10
- mov r5, r3, lsl #0x10
- ldr r3, _0208EC94 ; =0x04000488
- str r8, [r12, #0x0]
- mov r12, #0x0
- and r2, r6, r2, asr #0x16
- and r7, r6, lr, asr #0x16
- and lr, r6, r4, asr #0x16
- and r4, r6, r5, asr #0x16
- ldr r6, _0208EC98 ; =0x04000490
- str r12, [r3, #0x0]
- orr r5, r2, r7, lsl #0x14
- str r5, [r6, #0x0]
- str r1, [r3, #0x0]
- orr r5, lr, r7, lsl #0x14
- str r5, [r6, #0x0]
- orr r1, r1, r0, lsl #0x10
- str r1, [r3, #0x0]
- orr r1, lr, r4, lsl #0x14
- str r1, [r6, #0x0]
- mov r0, r0, lsl #0x10
- str r0, [r3, #0x0]
- orr r1, r2, r4, lsl #0x14
- ldr r0, _0208EC9C ; =0x04000504
- str r1, [r6, #0x0]
- str r12, [r0, #0x0]
- ldmia sp!, {r4-r8,lr}
- bx lr
- .balign 4
-_0208EC8C: .word 0x04000500
-_0208EC90: .word 0x000003FF
-_0208EC94: .word 0x04000488
-_0208EC98: .word 0x04000490
-_0208EC9C: .word 0x04000504
-
- arm_func_start FUN_0208ECA0
-FUN_0208ECA0: ; 0x0208ECA0
- stmdb sp!, {r4-r8,lr}
- add r12, r3, #0x1000
- sub r5, r2, #0x1000
- add r4, r2, #0x1000
- mov r2, r0, lsl #0x8
- mov r0, r1, lsl #0x8
- sub r3, r3, #0x1000
- mov r0, r0, lsr #0x10
- mov r1, r2, lsr #0x10
- ldr r7, _0208ED48 ; =0x04000500
- mov r8, #0x1
- ldr r6, _0208ED4C ; =0x000003FF
- mov r2, r12, lsl #0x10
- mov lr, r5, lsl #0x10
- mov r4, r4, lsl #0x10
- mov r5, r3, lsl #0x10
- ldr r3, _0208ED50 ; =0x04000488
- str r8, [r7, #0x0]
- mov r12, #0x0
- and r7, r6, r2, asr #0x16
- and r2, r6, lr, asr #0x16
- and lr, r6, r4, asr #0x16
- and r4, r6, r5, asr #0x16
- ldr r6, _0208ED54 ; =0x04000490
- str r12, [r3, #0x0]
- orr r5, r2, r7, lsl #0xa
- str r5, [r6, #0x0]
- str r1, [r3, #0x0]
- orr r5, lr, r7, lsl #0xa
- str r5, [r6, #0x0]
- orr r1, r1, r0, lsl #0x10
- str r1, [r3, #0x0]
- orr r1, lr, r4, lsl #0xa
- str r1, [r6, #0x0]
- mov r0, r0, lsl #0x10
- str r0, [r3, #0x0]
- orr r1, r2, r4, lsl #0xa
- ldr r0, _0208ED58 ; =0x04000504
- str r1, [r6, #0x0]
- str r12, [r0, #0x0]
- ldmia sp!, {r4-r8,lr}
- bx lr
- .balign 4
-_0208ED48: .word 0x04000500
-_0208ED4C: .word 0x000003FF
-_0208ED50: .word 0x04000488
-_0208ED54: .word 0x04000490
-_0208ED58: .word 0x04000504
-
- arm_func_start FUN_0208ED5C
-FUN_0208ED5C: ; 0x0208ED5C
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0x24
- ldr r3, [r1, #0x20]
- str r1, [sp, #0x0]
- ldr r6, [r3, #0x14]
- mov r8, r0
- ldrb r3, [r6, #0x8]
- ldrb r0, [r6, #0xc]
- str r2, [sp, #0x4]
- mov r3, r3, lsl #0xc
- mov r2, r3, asr #0x1f
- mov r2, r2, lsl #0x4
- mov r1, #0x800
- mov r4, r3, lsl #0x4
- adds r4, r4, r1
- orr r2, r2, r3, lsr #0x1c
- adc r1, r2, #0x0
- mov r5, r4, lsr #0xc
- cmp r0, #0x0
- mov r0, #0x0
- str r0, [sp, #0x8]
- orr r5, r5, r1, lsl #0x14
- addle sp, sp, #0x24
- ldmleia sp!, {r4-r11,lr}
- bxle lr
- ldr sb, _0208F06C ; =0x021C8C5C
- str r0, [sp, #0x18]
- str r0, [sp, #0x14]
- str r0, [sp, #0x1c]
- str r0, [sp, #0x20]
- mov r0, #0x1000
- mov r4, r5, asr #0x1f
- str r0, [sp, #0x10]
-_0208EDE0:
- ldr r0, [sp, #0x4]
- bl FUN_02090A58
- movs r7, r0
- addeq sp, sp, #0x24
- ldmeqia sp!, {r4-r11,lr}
- bxeq lr
- ldr r0, [sp, #0x0]
- mov r1, r7
- add r0, r0, #0x14
- bl FUN_02090AA4
- add r0, r7, #0x38
- add r1, r8, #0x8
- str r0, [sp, #0xc]
- add r10, r7, #0x8
- ldmia r1, {r0-r2}
- stmia r10, {r0-r2}
- ldr r10, [r8, #0x14]
- ldr r12, [r9, #0x0]
- ldr r1, _0208F070 ; =0x5EEDF715
- ldr r0, _0208F074 ; =0x1B0CB173
- mov r2, r10, asr #0x1f
- mla r0, r12, r1, r0
- str r0, [r9, #0x0]
- umull lr, r12, r10, r5
- mla r12, r10, r4, r12
- ldrsh r1, [r6, #0x2]
- mov r0, r0, lsr #0x17
- mla r12, r2, r5, r12
- mul r0, r1, r0
- mov r3, #0x800
- adds r2, lr, r3
- sub r0, r0, r1, lsl #0x8
- adc r10, r12, #0x0
- mov r2, r2, lsr #0xc
- orr r2, r2, r10, lsl #0x14
- add r0, r2, r0, asr #0x8
- str r0, [r7, #0x14]
- ldr r10, [r8, #0x18]
- ldr r12, [r9, #0x0]
- ldr r1, _0208F070 ; =0x5EEDF715
- ldr r0, _0208F074 ; =0x1B0CB173
- mov r2, r10, asr #0x1f
- mla r0, r12, r1, r0
- str r0, [r9, #0x0]
- umull lr, r12, r10, r5
- mla r12, r10, r4, r12
- mla r12, r2, r5, r12
- adds r2, lr, r3
- ldrsh r1, [r6, #0x2]
- mov r0, r0, lsr #0x17
- adc r10, r12, #0x0
- mul r0, r1, r0
- mov r2, r2, lsr #0xc
- sub r0, r0, r1, lsl #0x8
- orr r2, r2, r10, lsl #0x14
- add r0, r2, r0, asr #0x8
- str r0, [r7, #0x18]
- ldr r12, [r8, #0x1c]
- ldr r10, [r9, #0x0]
- ldr r1, _0208F070 ; =0x5EEDF715
- ldr r0, _0208F074 ; =0x1B0CB173
- mov r2, r12, asr #0x1f
- mla r0, r10, r1, r0
- umull r10, lr, r12, r5
- str r0, [r9, #0x0]
- mla lr, r12, r4, lr
- adds r3, r10, r3
- mla lr, r2, r5, lr
- ldrsh r1, [r6, #0x2]
- mov r0, r0, lsr #0x17
- adc r2, lr, #0x0
- mul r0, r1, r0
- mov r3, r3, lsr #0xc
- orr r3, r3, r2, lsl #0x14
- sub r0, r0, r1, lsl #0x8
- add r0, r3, r0, asr #0x8
- ldr r3, [sp, #0xc]
- add r11, r8, #0x38
- str r0, [r7, #0x1c]
- ldmia r11, {r0-r2}
- stmia r3, {r0-r2}
- ldrb r0, [r6, #0x9]
- ldrsh r1, [r8, #0x34]
- ldr r2, [r8, #0x30]
- add r0, r0, #0x1
- mul r1, r2, r1
- mov r1, r1, asr #0xc
- mul r0, r1, r0
- mov r0, r0, asr #0x6
- str r0, [r7, #0x30]
- ldr r0, [sp, #0x10]
- strh r0, [r7, #0x34]
- ldrh r0, [r6, #0x0]
- mov r0, r0, lsl #0x19
- movs r0, r0, lsr #0x1f
- ldrneh r0, [r6, #0xa]
- strneh r0, [r7, #0x36]
- ldreqh r0, [r8, #0x36]
- streqh r0, [r7, #0x36]
- ldrh r1, [r8, #0x2e]
- ldrh r0, [r7, #0x2e]
- mov r2, r1, lsl #0x1b
- mov r1, r1, lsl #0x16
- mov r1, r1, lsr #0x1b
- mov r2, r2, lsr #0x1b
- add r1, r1, #0x1
- mul r1, r2, r1
- mov r1, r1, lsl #0xb
- mov r1, r1, lsr #0x10
- bic r0, r0, #0x1f
- and r1, r1, #0x1f
- orr r0, r0, r1
- strh r0, [r7, #0x2e]
- ldrh r0, [r7, #0x2e]
- bic r0, r0, #0x3e0
- orr r0, r0, #0x3e0
- strh r0, [r7, #0x2e]
- ldrh r0, [r6, #0x0]
- mov r0, r0, lsl #0x1b
- movs r0, r0, lsr #0x1e
- beq _0208EFE4
- cmp r0, #0x1
- beq _0208EFF4
- cmp r0, #0x2
- ldreqh r0, [r8, #0x20]
- streqh r0, [r7, #0x20]
- ldreqsh r0, [r8, #0x22]
- streqh r0, [r7, #0x22]
- b _0208F004
-_0208EFE4:
- ldr r0, [sp, #0x14]
- strh r0, [r7, #0x20]
- strh r0, [r7, #0x22]
- b _0208F004
-_0208EFF4:
- ldrh r0, [r8, #0x20]
- strh r0, [r7, #0x20]
- ldr r0, [sp, #0x18]
- strh r0, [r7, #0x22]
-_0208F004:
- ldrh r1, [r6, #0x6]
- ldr r0, _0208F078 ; =0x0000FFFF
- strh r1, [r7, #0x24]
- ldr r1, [sp, #0x1c]
- strh r1, [r7, #0x26]
- ldrb r1, [r6, #0xf]
- strb r1, [r7, #0x2c]
- ldrh r1, [r8, #0x24]
- mov r1, r1, lsr #0x1
- bl _s32_div_f
- strh r0, [r7, #0x28]
- ldrh r1, [r8, #0x24]
- ldr r0, _0208F078 ; =0x0000FFFF
- bl _s32_div_f
- strh r0, [r7, #0x2a]
- ldr r0, [sp, #0x20]
- strb r0, [r7, #0x2d]
- ldr r0, [sp, #0x8]
- ldrb r1, [r6, #0xc]
- add r0, r0, #0x1
- str r0, [sp, #0x8]
- cmp r0, r1
- blt _0208EDE0
- add sp, sp, #0x24
- ldmia sp!, {r4-r11,lr}
- bx lr
- .balign 4
-_0208F06C: .word 0x021C8C5C
-_0208F070: .word 0x5EEDF715
-_0208F074: .word 0x1B0CB173
-_0208F078: .word 0x0000FFFF
-
- arm_func_start FUN_0208F07C
-FUN_0208F07C: ; 0x0208F07C
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0xc4
- mov r9, r0
- ldr r0, [r9, #0x20]
- ldrsh r3, [r9, #0x4e]
- str r0, [sp, #0x4]
- ldr r0, [r9, #0x58]
- ldr r2, _0208FD88 ; =0x00000FFF
- add r3, r0, r3
- ldr r0, [sp, #0x4]
- str r1, [sp, #0x0]
- ldr r8, [r0, #0x0]
- and r0, r3, r2
- strh r0, [r9, #0x4e]
- ldr r0, [r8, #0x0]
- mov r0, r0, lsl #0x1c
- mov r1, r0, lsr #0x1c
- mov r0, r3, asr #0xc
- cmp r1, #0x2
- str r0, [sp, #0xc]
- beq _0208F0E4
- cmp r1, #0x3
- beq _0208F0E4
- sub r0, r1, #0x5
- cmp r0, #0x4
- bhi _0208F0EC
-_0208F0E4:
- mov r0, r9
- bl FUN_0208FF08
-_0208F0EC:
- ldr r0, [sp, #0xc]
- cmp r0, #0x0
- mov r0, #0x0
- str r0, [sp, #0x8]
- addle sp, sp, #0xc4
- ldmleia sp!, {r4-r11,lr}
- bxle lr
- str r0, [sp, #0x18]
- str r0, [sp, #0x24]
- str r0, [sp, #0x20]
- str r0, [sp, #0x1c]
- mov r0, #0x1000
- str r0, [sp, #0x34]
- ldr r0, [sp, #0x8]
- ldr r6, _0208FD8C ; =0x021C8C5C
- ldr r4, _0208FD90 ; =0x5EEDF715
- ldr r5, _0208FD94 ; =0x1B0CB173
- str r0, [sp, #0x38]
- str r0, [sp, #0x3c]
- str r0, [sp, #0x40]
-_0208F13C:
- ldr r0, [sp, #0x0]
- bl FUN_02090A58
- movs r7, r0
- addeq sp, sp, #0xc4
- ldmeqia sp!, {r4-r11,lr}
- bxeq lr
- add r0, r9, #0x8
- mov r1, r7
- bl FUN_02090AA4
-_0208F160: ; 0x0208F160
- ldr r0, [r8, #0x0]
- mov r0, r0, lsl #0x1c
- mov r0, r0, lsr #0x1c
- cmp r0, #0x9
- addls pc, pc, r0, lsl #0x2
- b _0208F87C
-_0208F178:
- b _0208F1A0
-_0208F17C:
- b _0208F1BC
-_0208F180:
- b _0208F22C
-_0208F184:
- b _0208F294
-_0208F188:
- b _0208F328
-_0208F18C:
- b _0208F428
-_0208F190:
- b _0208F720
-_0208F194:
- b _0208F7A4
-_0208F198:
- b _0208F4E4
-_0208F19C:
- b _0208F5B4
-_0208F1A0:
- ldr r0, [sp, #0x1c]
- str r0, [r7, #0x10]
- ldr r0, [r7, #0x10]
- str r0, [r7, #0xc]
- ldr r0, [r7, #0xc]
- str r0, [r7, #0x8]
- b _0208F87C
-_0208F1BC:
- add r0, r7, #0x8
- bl FUN_02090B50
- ldr r2, [r7, #0x8]
- ldr r1, [r9, #0x5c]
- mov r0, #0x800
- smull r3, r1, r2, r1
- adds r2, r3, r0
- adc r1, r1, #0x0
- mov r2, r2, lsr #0xc
- orr r2, r2, r1, lsl #0x14
- str r2, [r7, #0x8]
- ldr r2, [r7, #0xc]
- ldr r1, [r9, #0x5c]
- smull r3, r1, r2, r1
- adds r2, r3, r0
- adc r1, r1, #0x0
- mov r2, r2, lsr #0xc
- orr r2, r2, r1, lsl #0x14
- str r2, [r7, #0xc]
- ldr r2, [r7, #0x10]
- ldr r1, [r9, #0x5c]
- smull r3, r1, r2, r1
- adds r2, r3, r0
- adc r0, r1, #0x0
- mov r1, r2, lsr #0xc
- orr r1, r1, r0, lsl #0x14
- str r1, [r7, #0x10]
- b _0208F87C
-_0208F22C:
- add r0, sp, #0x58
- bl FUN_02090AF4
- ldr r2, [sp, #0x58]
- ldr r0, [r9, #0x5c]
- mov r1, #0x800
- smull r3, r0, r2, r0
- adds r2, r3, r1
- adc r0, r0, #0x0
- mov r2, r2, lsr #0xc
- orr r2, r2, r0, lsl #0x14
- str r2, [sp, #0x58]
- ldr r3, [sp, #0x5c]
- ldr r2, [r9, #0x5c]
- add r0, r7, #0x8
- smull r10, r2, r3, r2
- adds r3, r10, r1
- adc r1, r2, #0x0
- mov r2, r3, lsr #0xc
- orr r2, r2, r1, lsl #0x14
- ldr r1, [sp, #0x20]
- str r2, [sp, #0x5c]
- str r1, [sp, #0x60]
- add r1, sp, #0x58
- mov r2, r9
- bl FUN_0208FDA8
- b _0208F87C
-_0208F294:
- ldr r0, [sp, #0x18]
- ldr r1, [sp, #0xc]
- bl _s32_div_f
- ldr r1, [sp, #0x18]
- mov r0, r0, asr #0x4
- add r1, r1, #0x10000
- mov r2, r0, lsl #0x1
- str r1, [sp, #0x18]
- ldr r0, _0208FD98 ; =0x020FFA38
- mov r1, r2, lsl #0x1
- ldrsh r0, [r0, r1]
- add r1, r2, #0x1
- mov r2, r1, lsl #0x1
- ldr r1, _0208FD98 ; =0x020FFA38
- ldrsh r3, [r1, r2]
- ldr r2, [r9, #0x5c]
- mov r1, #0x800
- smull r10, r2, r0, r2
- adds r10, r10, r1
- adc r0, r2, #0x0
- mov r2, r10, lsr #0xc
- orr r2, r2, r0, lsl #0x14
- str r2, [sp, #0x64]
- ldr r2, [r9, #0x5c]
- add r0, r7, #0x8
- smull r10, r2, r3, r2
- adds r3, r10, r1
- adc r1, r2, #0x0
- mov r2, r3, lsr #0xc
- orr r2, r2, r1, lsl #0x14
- ldr r1, [sp, #0x24]
- str r2, [sp, #0x68]
- str r1, [sp, #0x6c]
- add r1, sp, #0x64
- mov r2, r9
- bl FUN_0208FDA8
- b _0208F87C
-_0208F328:
- add r0, r7, #0x8
- bl FUN_02090B50
- ldr r1, [r6, #0x0]
- mov r0, #0x800
- mla r2, r1, r4, r5
- str r2, [r6, #0x0]
- mov r1, r2, lsr #0x17
- mov r1, r1, lsl #0xc
- sub r1, r1, #0x100000
- mov r1, r1, asr #0x8
- ldr r3, [r7, #0x8]
- ldr r2, [r9, #0x5c]
- smull r10, r2, r3, r2
- adds r3, r10, r0
- adc r2, r2, #0x0
- mov r3, r3, lsr #0xc
- orr r3, r3, r2, lsl #0x14
- smull r2, r1, r3, r1
- adds r2, r2, r0
- adc r1, r1, #0x0
- mov r2, r2, lsr #0xc
- orr r2, r2, r1, lsl #0x14
- str r2, [r7, #0x8]
- ldr r1, [r6, #0x0]
- mla r2, r1, r4, r5
- str r2, [r6, #0x0]
- mov r1, r2, lsr #0x17
- mov r1, r1, lsl #0xc
- sub r1, r1, #0x100000
- mov r1, r1, asr #0x8
- ldr r3, [r7, #0xc]
- ldr r2, [r9, #0x5c]
- smull r10, r2, r3, r2
- adds r3, r10, r0
- adc r2, r2, #0x0
- mov r3, r3, lsr #0xc
- orr r3, r3, r2, lsl #0x14
- smull r2, r1, r3, r1
- adds r2, r2, r0
- adc r1, r1, #0x0
- mov r2, r2, lsr #0xc
- orr r2, r2, r1, lsl #0x14
- str r2, [r7, #0xc]
- ldr r1, [r6, #0x0]
- mla r2, r1, r4, r5
- str r2, [r6, #0x0]
- mov r1, r2, lsr #0x17
- mov r1, r1, lsl #0xc
- sub r1, r1, #0x100000
- mov r1, r1, asr #0x8
- ldr r3, [r7, #0x10]
- ldr r2, [r9, #0x5c]
- smull r10, r2, r3, r2
- adds r3, r10, r0
- adc r2, r2, #0x0
- mov r3, r3, lsr #0xc
- orr r3, r3, r2, lsl #0x14
- smull r2, r1, r3, r1
- adds r2, r2, r0
- adc r0, r1, #0x0
- mov r1, r2, lsr #0xc
- orr r1, r1, r0, lsl #0x14
- str r1, [r7, #0x10]
- b _0208F87C
-_0208F428:
- add r0, sp, #0x70
- bl FUN_02090AF4
-_0208F430: ; 0x0208F430
- ldr r0, [r6, #0x0]
- ldr r3, [sp, #0x70]
- mla r1, r0, r4, r5
- str r1, [r6, #0x0]
- ldr r0, [r9, #0x5c]
- mov r2, #0x800
- smull r10, r0, r3, r0
- adds r10, r10, r2
- adc r3, r0, #0x0
- mov r0, r10, lsr #0xc
- orr r0, r0, r3, lsl #0x14
- mov r3, r1, lsr #0x17
- mov r3, r3, lsl #0xc
- sub r3, r3, #0x100000
- mov r3, r3, asr #0x8
- smull r10, r3, r0, r3
- adds r10, r10, r2
- adc r0, r3, #0x0
- mov r3, r10, lsr #0xc
- orr r3, r3, r0, lsl #0x14
- mla r0, r1, r4, r5
- str r0, [r6, #0x0]
- str r3, [sp, #0x70]
- mov r0, r0, lsr #0x17
- mov r0, r0, lsl #0xc
- sub r0, r0, #0x100000
- mov r1, r0, asr #0x8
- ldr r10, [sp, #0x74]
- ldr r3, [r9, #0x5c]
- add r0, r7, #0x8
- smull r11, r3, r10, r3
- adds r10, r11, r2
- adc r3, r3, #0x0
- mov r10, r10, lsr #0xc
- orr r10, r10, r3, lsl #0x14
- smull r3, r1, r10, r1
- adds r2, r3, r2
- adc r1, r1, #0x0
- mov r2, r2, lsr #0xc
- orr r2, r2, r1, lsl #0x14
- str r2, [sp, #0x74]
- add r1, sp, #0x70
- mov r2, r9
- bl FUN_0208FDA8
- b _0208F87C
-_0208F4E4:
- add r0, r7, #0x8
- bl FUN_02090B50
- add r0, r9, #0x84
- add r1, r9, #0x8a
- add r2, sp, #0x44
- bl VEC_Fx16CrossProduct
- ldrsh r1, [sp, #0x46]
- ldrsh r0, [sp, #0x48]
- ldrsh r2, [sp, #0x44]
- str r1, [sp, #0x80]
- str r0, [sp, #0x84]
- add r0, sp, #0x7c
- add r1, r7, #0x8
- str r2, [sp, #0x7c]
- bl VEC_DotProduct
-_0208F520: ; 0x0208F520
- cmp r0, #0x0
- bgt _0208F54C
- ldr r0, [r7, #0x8]
- rsb r0, r0, #0x0
- str r0, [r7, #0x8]
- ldr r0, [r7, #0xc]
- rsb r0, r0, #0x0
- str r0, [r7, #0xc]
- ldr r0, [r7, #0x10]
- rsb r0, r0, #0x0
- str r0, [r7, #0x10]
-_0208F54C:
- ldr r2, [r7, #0x8]
- ldr r1, [r9, #0x5c]
- mov r0, #0x800
- smull r3, r1, r2, r1
- adds r2, r3, r0
- adc r1, r1, #0x0
- mov r2, r2, lsr #0xc
- orr r2, r2, r1, lsl #0x14
- str r2, [r7, #0x8]
- ldr r2, [r7, #0xc]
- ldr r1, [r9, #0x5c]
- smull r3, r1, r2, r1
- adds r2, r3, r0
- adc r1, r1, #0x0
- mov r2, r2, lsr #0xc
- orr r2, r2, r1, lsl #0x14
- str r2, [r7, #0xc]
- ldr r2, [r7, #0x10]
- ldr r1, [r9, #0x5c]
- smull r3, r1, r2, r1
- adds r2, r3, r0
- adc r0, r1, #0x0
- mov r1, r2, lsr #0xc
- orr r1, r1, r0, lsl #0x14
- str r1, [r7, #0x10]
- b _0208F87C
-_0208F5B4:
- add r0, r7, #0x8
- bl FUN_02090B50
- add r0, r9, #0x84
- add r1, r9, #0x8a
- add r2, sp, #0x4a
- bl VEC_Fx16CrossProduct
- ldrsh r1, [sp, #0x4c]
- ldrsh r0, [sp, #0x4e]
- ldrsh r2, [sp, #0x4a]
- str r1, [sp, #0x8c]
- str r0, [sp, #0x90]
- add r0, sp, #0x88
- add r1, r7, #0x8
- str r2, [sp, #0x88]
- bl VEC_DotProduct
-_0208F5F0: ; 0x0208F5F0
- cmp r0, #0x0
- bge _0208F61C
- ldr r0, [r7, #0x8]
- rsb r0, r0, #0x0
- str r0, [r7, #0x8]
- ldr r0, [r7, #0xc]
- rsb r0, r0, #0x0
- str r0, [r7, #0xc]
- ldr r0, [r7, #0x10]
- rsb r0, r0, #0x0
- str r0, [r7, #0x10]
-_0208F61C:
- ldr r1, [r6, #0x0]
- mov r0, #0x800
- mla r2, r1, r4, r5
- str r2, [r6, #0x0]
- mov r1, r2, lsr #0x17
- mov r1, r1, lsl #0xc
- sub r1, r1, #0x100000
- mov r1, r1, asr #0x9
- add r1, r1, #0x800
- ldr r3, [r7, #0x8]
- ldr r2, [r9, #0x5c]
- smull r10, r2, r3, r2
- adds r3, r10, r0
- adc r2, r2, #0x0
- mov r3, r3, lsr #0xc
- orr r3, r3, r2, lsl #0x14
- smull r2, r1, r3, r1
- adds r2, r2, r0
- adc r1, r1, #0x0
- mov r2, r2, lsr #0xc
- orr r2, r2, r1, lsl #0x14
- str r2, [r7, #0x8]
- ldr r1, [r6, #0x0]
- mla r2, r1, r4, r5
- str r2, [r6, #0x0]
- mov r1, r2, lsr #0x17
- mov r1, r1, lsl #0xc
- sub r1, r1, #0x100000
- mov r1, r1, asr #0x9
- add r1, r1, #0x800
- ldr r3, [r7, #0xc]
- ldr r2, [r9, #0x5c]
- smull r10, r2, r3, r2
- adds r3, r10, r0
- adc r2, r2, #0x0
- mov r3, r3, lsr #0xc
- orr r3, r3, r2, lsl #0x14
- smull r2, r1, r3, r1
- adds r2, r2, r0
- adc r1, r1, #0x0
- mov r2, r2, lsr #0xc
- orr r2, r2, r1, lsl #0x14
- str r2, [r7, #0xc]
- ldr r1, [r6, #0x0]
- mla r2, r1, r4, r5
- str r2, [r6, #0x0]
- mov r1, r2, lsr #0x17
- mov r1, r1, lsl #0xc
- sub r1, r1, #0x100000
- mov r1, r1, asr #0x9
- add r1, r1, #0x800
- ldr r3, [r7, #0x10]
- ldr r2, [r9, #0x5c]
- smull r10, r2, r3, r2
- adds r3, r10, r0
- adc r2, r2, #0x0
- mov r3, r3, lsr #0xc
- orr r3, r3, r2, lsl #0x14
- smull r2, r1, r3, r1
- adds r2, r2, r0
- adc r0, r1, #0x0
- mov r1, r2, lsr #0xc
- orr r1, r1, r0, lsl #0x14
- str r1, [r7, #0x10]
- b _0208F87C
-_0208F720:
- add r0, r7, #0x14
- bl FUN_02090AF4
- ldr r2, [r7, #0x14]
- ldr r1, [r9, #0x5c]
- mov r0, #0x800
- smull r3, r1, r2, r1
- adds r2, r3, r0
- adc r1, r1, #0x0
- mov r2, r2, lsr #0xc
- orr r2, r2, r1, lsl #0x14
- str r2, [sp, #0x94]
- ldr r3, [r7, #0x18]
- ldr r2, [r9, #0x5c]
- ldr r1, [r6, #0x0]
- smull r10, r2, r3, r2
- adds r3, r10, r0
- adc r0, r2, #0x0
- mov r2, r3, lsr #0xc
- orr r2, r2, r0, lsl #0x14
- mla r0, r1, r4, r5
- str r0, [r6, #0x0]
- str r2, [sp, #0x98]
- mov r1, r0, lsr #0x17
- ldr r2, [r9, #0x60]
- add r0, r7, #0x8
- mul r1, r2, r1
- sub r1, r1, r2, lsl #0x8
- mov r1, r1, asr #0x8
- str r1, [sp, #0x9c]
- add r1, sp, #0x94
- mov r2, r9
- bl FUN_0208FDA8
- b _0208F87C
-_0208F7A4:
- add r0, r7, #0x14
- bl FUN_02090AF4
-_0208F7AC: ; 0x0208F7AC
- ldr r0, [r6, #0x0]
- mov r3, #0x800
- mla r2, r0, r4, r5
- str r2, [r6, #0x0]
- ldr r10, [r7, #0x14]
- ldr r0, [r9, #0x5c]
- mov r1, r2, lsr #0x17
- smull r11, r0, r10, r0
- adds r11, r11, r3
- mov r1, r1, lsl #0xc
- adc r10, r0, #0x0
- mov r0, r11, lsr #0xc
- sub r1, r1, #0x100000
- orr r0, r0, r10, lsl #0x14
- mov r1, r1, asr #0x8
- smull r10, r1, r0, r1
- adds r10, r10, r3
- adc r0, r1, #0x0
- mov r1, r10, lsr #0xc
- orr r1, r1, r0, lsl #0x14
- str r1, [sp, #0xa0]
- mla r1, r2, r4, r5
- str r1, [r6, #0x0]
- mov r2, r1, lsr #0x17
- mov r2, r2, lsl #0xc
- sub r2, r2, #0x100000
- ldr r10, [r7, #0x18]
- ldr r0, [r9, #0x5c]
- mov r2, r2, asr #0x8
- smull r11, r0, r10, r0
- adds r11, r11, r3
- adc r10, r0, #0x0
- mov r0, r11, lsr #0xc
- orr r0, r0, r10, lsl #0x14
- smull r10, r2, r0, r2
- adds r3, r10, r3
- adc r0, r2, #0x0
- mov r2, r3, lsr #0xc
- orr r2, r2, r0, lsl #0x14
- mla r0, r1, r4, r5
- str r0, [r6, #0x0]
- str r2, [sp, #0xa4]
- mov r1, r0, lsr #0x17
- ldr r2, [r9, #0x60]
- add r0, r7, #0x8
- mul r1, r2, r1
- sub r1, r1, r2, lsl #0x8
- mov r1, r1, asr #0x8
- str r1, [sp, #0xa8]
- add r1, sp, #0xa0
- mov r2, r9
- bl FUN_0208FDA8
-_0208F87C:
- ldr r1, [r6, #0x0]
- mla r0, r1, r4, r5
- str r0, [r6, #0x0]
- ldrb r2, [r8, #0x42]
- mov r1, r0, lsr #0x18
- ldr r3, [r9, #0x64]
- mul r1, r2, r1
- add r2, r2, #0xff
- sub r1, r2, r1, asr #0x7
- mul r1, r3, r1
- mov r1, r1, asr #0x8
- str r1, [sp, #0x10]
- mla r1, r0, r4, r5
- str r1, [r6, #0x0]
- mov r0, r1, lsr #0x18
- ldrb r2, [r8, #0x42]
- ldr r3, [r9, #0x68]
- ldr r1, [r8, #0x0]
- mul r0, r2, r0
- add r2, r2, #0xff
- sub r0, r2, r0, asr #0x7
- mul r0, r3, r0
- mov r0, r0, asr #0x8
- str r0, [sp, #0x14]
- mov r0, r1, lsl #0x1c
- mov r0, r0, lsr #0x1c
- cmp r0, #0x6
- bne _0208F9C8
- ldrsh r0, [r9, #0x84]
- ldr r1, [r7, #0x14]
- mov r2, #0x800
- smull r3, r0, r1, r0
- adds r1, r3, r2
- ldrsh r3, [r9, #0x8a]
- ldr lr, [r7, #0x18]
- mov r12, r1, lsr #0xc
- smull r10, r3, lr, r3
- adc r0, r0, #0x0
- adds r10, r10, r2
- orr r12, r12, r0, lsl #0x14
- adc r3, r3, #0x0
- mov r10, r10, lsr #0xc
- orr r10, r10, r3, lsl #0x14
- add r3, r12, r10
- str r3, [sp, #0xb8]
- ldrsh r10, [r9, #0x86]
- ldr r3, [r7, #0x14]
- ldrsh lr, [r9, #0x8c]
- smull r12, r10, r3, r10
- adds r12, r12, r2
- ldr r11, [r7, #0x18]
- adc r10, r10, #0x0
- smull r3, lr, r11, lr
- mov r12, r12, lsr #0xc
- adds r3, r3, r2
- orr r12, r12, r10, lsl #0x14
- adc r10, lr, #0x0
- mov r3, r3, lsr #0xc
- orr r3, r3, r10, lsl #0x14
- add r3, r12, r3
- str r3, [sp, #0xbc]
- ldr r10, [r7, #0x18]
- ldrsh r11, [r9, #0x88]
- ldr r3, [r7, #0x14]
- str r10, [sp, #0x28]
- smull r12, r11, r3, r11
- ldrsh r10, [r9, #0x8e]
- ldr r3, [sp, #0x28]
- adds r12, r12, r2
- smull r10, lr, r3, r10
- adc r3, r11, #0x0
- adds r2, r10, r2
- mov r10, r12, lsr #0xc
- orr r10, r10, r3, lsl #0x14
- adc r3, lr, #0x0
- mov r2, r2, lsr #0xc
- orr r2, r2, r3, lsl #0x14
- add r2, r10, r2
- add r0, sp, #0xb8
- add r1, sp, #0xac
- str r2, [sp, #0xc0]
- bl VEC_Normalize
- b _0208FA04
-_0208F9C8:
- ldr r0, [r7, #0x8]
- cmp r0, #0x0
- bne _0208F9F8
- ldr r0, [r7, #0xc]
- cmp r0, #0x0
- bne _0208F9F8
- ldr r0, [r7, #0x10]
- cmp r0, #0x0
- bne _0208F9F8
- add r0, sp, #0xac
- bl FUN_02090B50
- b _0208FA04
-_0208F9F8:
- add r0, r7, #0x8
- add r1, sp, #0xac
- bl VEC_Normalize
-_0208FA04:
- ldr r2, [sp, #0xac]
- ldr r1, [sp, #0x10]
- mov r0, #0x800
- smull r10, r1, r2, r1
- adds r2, r10, r0
- add r10, r9, #0x28
- str r10, [sp, #0x2c]
- add r10, r7, #0x38
- str r10, [sp, #0x30]
- adc r1, r1, #0x0
- mov r2, r2, lsr #0xc
- orr r2, r2, r1, lsl #0x14
- ldrsh r1, [r9, #0x50]
- ldr r10, [sp, #0x14]
- ldr r3, [r9, #0x40]
- smull r11, r10, r1, r10
- adds r11, r11, r0
- adc r1, r10, #0x0
- mov r10, r11, lsr #0xc
- orr r10, r10, r1, lsl #0x14
- add r1, r2, r10
- add r1, r3, r1
- str r1, [r7, #0x14]
- ldr r3, [sp, #0xb0]
- ldr r1, [sp, #0x10]
- ldrsh r10, [r9, #0x52]
- smull r11, r1, r3, r1
- adds r11, r11, r0
- adc r3, r1, #0x0
- mov r1, r11, lsr #0xc
- orr r1, r1, r3, lsl #0x14
- ldr r3, [sp, #0x14]
- ldr r2, [r9, #0x44]
- smull r11, r3, r10, r3
- adds r10, r11, r0
- adc r3, r3, #0x0
- mov r10, r10, lsr #0xc
- orr r10, r10, r3, lsl #0x14
- add r1, r1, r10
- add r1, r2, r1
- str r1, [r7, #0x18]
- ldr r1, [sp, #0xb4]
- ldr r2, [sp, #0x10]
- ldrsh lr, [r9, #0x54]
- smull r10, r3, r1, r2
- ldr r1, [sp, #0x14]
- adds r10, r10, r0
- smull r2, r1, lr, r1
- adc r3, r3, #0x0
- adds r0, r2, r0
- mov r2, r10, lsr #0xc
- orr r2, r2, r3, lsl #0x14
- adc r1, r1, #0x0
- mov r0, r0, lsr #0xc
- orr r0, r0, r1, lsl #0x14
- ldr r12, [r9, #0x48]
- add r0, r2, r0
- add r0, r12, r0
- str r0, [r7, #0x1c]
- ldr r0, [sp, #0x2c]
- ldr r3, [sp, #0x30]
- ldmia r0, {r0-r2}
- stmia r3, {r0-r2}
- ldr r0, [r6, #0x0]
- mla r1, r0, r4, r5
- str r1, [r6, #0x0]
- mov r0, r1, lsr #0x18
- ldrb r1, [r8, #0x40]
- ldr r2, [r9, #0x6c]
- mul r0, r1, r0
- add r1, r1, #0xff
- sub r0, r1, r0, asr #0x7
- mul r0, r2, r0
- mov r0, r0, asr #0x8
- str r0, [r7, #0x30]
- ldr r0, [sp, #0x34]
- strh r0, [r7, #0x34]
- ldr r0, [r8, #0x0]
- mov r0, r0, lsl #0x16
- movs r0, r0, lsr #0x1f
- beq _0208FBBC
- ldr r0, [sp, #0x4]
- ldr r0, [r0, #0x8]
- ldrh r0, [r0, #0x8]
- mov r0, r0, lsl #0x1f
- movs r0, r0, lsr #0x1f
- beq _0208FBBC
- ldr r0, [r6, #0x0]
- ldr r3, _0208FD9C ; =0x00000003
- mla r1, r0, r4, r5
- str r1, [r6, #0x0]
- mov r0, r1, lsr #0x14
- ldr r1, [sp, #0x4]
- ldr r2, [r1, #0x8]
- ldr r1, _0208FDA0 ; =0xAAAAAAAB
- umull r1, r10, r0, r1
- mov r10, r10, lsr #0x1
- umull r10, r11, r3, r10
- ldrh r1, [r2, #0x0]
- sub r10, r0, r10
- strh r1, [sp, #0x50]
- ldrh r0, [r8, #0x22]
- mov r1, r10, lsl #0x1
- strh r0, [sp, #0x52]
- ldrh r0, [r2, #0x2]
- strh r0, [sp, #0x54]
- add r0, sp, #0x50
- ldrh r0, [r0, r1]
- strh r0, [r7, #0x36]
- b _0208FBC4
-_0208FBBC:
- ldrh r0, [r8, #0x22]
- strh r0, [r7, #0x36]
-_0208FBC4:
- ldrh r1, [r7, #0x2e]
- ldrb r0, [r9, #0x81]
- bic r1, r1, #0x1f
- and r0, r0, #0x1f
- orr r0, r1, r0
- strh r0, [r7, #0x2e]
- ldrh r0, [r7, #0x2e]
- bic r0, r0, #0x3e0
- orr r0, r0, #0x3e0
- strh r0, [r7, #0x2e]
- ldr r0, [r8, #0x0]
- mov r0, r0, lsl #0x12
- movs r0, r0, lsr #0x1f
- ldrne r0, [r6, #0x0]
- mlane r1, r0, r4, r5
- strne r1, [r6, #0x0]
- strneh r1, [r7, #0x20]
- ldreqh r0, [r9, #0x56]
- streqh r0, [r7, #0x20]
- ldr r0, [r8, #0x0]
- mov r0, r0, lsl #0x13
- movs r0, r0, lsr #0x1f
- ldreq r0, [sp, #0x38]
- streqh r0, [r7, #0x22]
- beq _0208FC54
- ldr r0, [r6, #0x0]
- mla r1, r0, r4, r5
- str r1, [r6, #0x0]
- mov r0, r1, lsr #0x14
- ldrsh r2, [r8, #0x34]
- ldrsh r1, [r8, #0x36]
- sub r1, r1, r2
- mul r0, r1, r0
- add r0, r0, r2, lsl #0xc
- mov r0, r0, lsr #0xc
- strh r0, [r7, #0x22]
-_0208FC54:
- ldr r0, [r6, #0x0]
- mla r1, r0, r4, r5
- str r1, [r6, #0x0]
- mov r0, r1, lsr #0x18
- ldrb r1, [r8, #0x41]
- ldrh r2, [r9, #0x70]
- mul r0, r1, r0
- mov r0, r0, asr #0x8
- rsb r0, r0, #0xff
- mul r0, r2, r0
- mov r0, r0, asr #0x8
- add r0, r0, #0x1
- strh r0, [r7, #0x24]
- ldr r0, [sp, #0x3c]
- strh r0, [r7, #0x26]
- ldr r0, [r8, #0x0]
- mov r0, r0, lsl #0x14
- movs r1, r0, lsr #0x1f
- beq _0208FCE4
- ldr r0, [sp, #0x4]
- ldr r0, [r0, #0x10]
- ldr r0, [r0, #0x8]
- mov r0, r0, lsl #0xf
- movs r0, r0, lsr #0x1f
- beq _0208FCE4
- ldr r0, [r6, #0x0]
- mla r1, r0, r4, r5
- str r1, [r6, #0x0]
- mov r0, r1, lsr #0x14
- ldr r1, [sp, #0x4]
- ldr r10, [r1, #0x10]
- ldrb r1, [r10, #0x8]
- bl _u32_div_f
- ldrb r0, [r10, r1]
- strb r0, [r7, #0x2c]
- b _0208FD14
-_0208FCE4:
- cmp r1, #0x0
- beq _0208FD0C
- ldr r0, [sp, #0x4]
- ldr r1, [r0, #0x10]
- ldr r0, [r1, #0x8]
- mov r0, r0, lsl #0xf
- movs r0, r0, lsr #0x1f
- ldreqb r0, [r1, #0x0]
- streqb r0, [r7, #0x2c]
- beq _0208FD14
-_0208FD0C:
- ldrb r0, [r8, #0x47]
- strb r0, [r7, #0x2c]
-_0208FD14:
- ldr r1, [sp, #0x4]
- ldr r0, _0208FDA4 ; =0x0000FFFF
- ldr r1, [r1, #0x0]
- ldrb r1, [r1, #0x48]
- bl _s32_div_f
- strh r0, [r7, #0x28]
- ldrh r1, [r7, #0x24]
- ldr r0, _0208FDA4 ; =0x0000FFFF
- bl _s32_div_f
- strh r0, [r7, #0x2a]
- ldr r0, [sp, #0x40]
- strb r0, [r7, #0x2d]
- ldr r0, [r8, #0x0]
- mov r0, r0, lsl #0xb
- movs r0, r0, lsr #0x1f
- ldrne r0, [r6, #0x0]
- mlane r1, r0, r4, r5
- strne r1, [r6, #0x0]
- movne r0, r1, lsr #0x18
- strneb r0, [r7, #0x2d]
- ldr r0, [sp, #0x8]
- add r1, r0, #0x1
- ldr r0, [sp, #0xc]
- str r1, [sp, #0x8]
- cmp r1, r0
- blt _0208F13C
- add sp, sp, #0xc4
- ldmia sp!, {r4-r11,lr}
- bx lr
- .balign 4
-_0208FD88: .word 0x00000FFF
-_0208FD8C: .word 0x021C8C5C
-_0208FD90: .word 0x5EEDF715
-_0208FD94: .word 0x1B0CB173
-_0208FD98: .word 0x020FFA38
-_0208FD9C: .word 0x00000003
-_0208FDA0: .word 0xAAAAAAAB
-_0208FDA4: .word 0x0000FFFF
-
- arm_func_start FUN_0208FDA8
-FUN_0208FDA8: ; 0x0208FDA8
- stmdb sp!, {r4-r8,lr}
- sub sp, sp, #0x8
- mov r4, r2
- mov r6, r0
- mov r5, r1
- add r2, sp, #0x0
- add r0, r4, #0x84
- add r1, r4, #0x8a
- bl VEC_Fx16CrossProduct
-_0208FDCC: ; 0x0208FDCC
- add r0, sp, #0x0
- mov r1, r0
- bl VEC_Fx16Normalize
- ldrsh r1, [sp, #0x0]
- ldr lr, [r5, #0x8]
- ldrsh r0, [r4, #0x84]
- ldr r12, [r5, #0x0]
- smull r3, r2, lr, r1
- smull r1, r0, r12, r0
- ldrsh r7, [r4, #0x8a]
- ldr r8, [r5, #0x4]
- mov r12, #0x800
- smull lr, r7, r8, r7
- adds r8, r3, r12
- adc r3, r2, #0x0
- mov r2, r8, lsr #0xc
- adds r1, r1, r12
- orr r2, r2, r3, lsl #0x14
- adc r0, r0, #0x0
- mov r3, r1, lsr #0xc
- adds r1, lr, r12
- orr r3, r3, r0, lsl #0x14
- adc r0, r7, #0x0
- mov r1, r1, lsr #0xc
- orr r1, r1, r0, lsl #0x14
- add r0, r3, r1
- add r0, r2, r0
- str r0, [r6, #0x0]
- ldrsh r0, [sp, #0x2]
- ldr r1, [r5, #0x8]
- ldrsh r3, [r4, #0x86]
- smull r2, r0, r1, r0
- adds r2, r2, r12
- ldr lr, [r5, #0x0]
- adc r1, r0, #0x0
- mov r0, r2, lsr #0xc
- orr r0, r0, r1, lsl #0x14
- smull r8, r7, lr, r3
- ldrsh r1, [r4, #0x8c]
- ldr r2, [r5, #0x4]
- adds r8, r8, r12
- smull r3, r1, r2, r1
- adc r2, r7, #0x0
- mov r7, r8, lsr #0xc
- orr r7, r7, r2, lsl #0x14
- adds r2, r3, r12
- adc r1, r1, #0x0
- mov r2, r2, lsr #0xc
- orr r2, r2, r1, lsl #0x14
- add r1, r7, r2
- add r0, r0, r1
- str r0, [r6, #0x4]
- ldrsh r0, [sp, #0x4]
- ldr r1, [r5, #0x8]
- ldr lr, [r5, #0x0]
- smull r3, r0, r1, r0
- adds r3, r3, r12
- adc r1, r0, #0x0
- mov r0, r3, lsr #0xc
- orr r0, r0, r1, lsl #0x14
- ldrsh r3, [r4, #0x88]
- ldrsh r1, [r4, #0x8e]
- ldr r2, [r5, #0x4]
- smull r5, r4, lr, r3
- adds r5, r5, r12
- smull r3, r1, r2, r1
- adc r4, r4, #0x0
- adds r2, r3, r12
- mov r3, r5, lsr #0xc
- adc r1, r1, #0x0
- mov r2, r2, lsr #0xc
- orr r3, r3, r4, lsl #0x14
- orr r2, r2, r1, lsl #0x14
- add r1, r3, r2
- add r0, r0, r1
- str r0, [r6, #0x8]
- add sp, sp, #0x8
- ldmia sp!, {r4-r8,lr}
- bx lr
-
- arm_func_start FUN_0208FF08
-FUN_0208FF08: ; 0x0208FF08
- stmdb sp!, {r4-r6,lr}
- sub sp, sp, #0x10
- ldr r1, _0209018C ; =0x02106168
- mov r4, r0
- ldrh r3, [r1, #0x0]
- ldrh r2, [r1, #0x2]
- ldrh r0, [r1, #0x4]
- strh r3, [sp, #0x0]
- strh r2, [sp, #0x2]
- strh r0, [sp, #0x4]
- ldr r0, [r4, #0x20]
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x0]
- mov r0, r0, lsl #0x18
- movs r0, r0, lsr #0x1e
- beq _0208FF88
- cmp r0, #0x1
- beq _0208FF70
- cmp r0, #0x2
- bne _0208FFA0
- mov r0, #0x0
- mov r1, #0x1000
- strh r1, [sp, #0x6]
- strh r0, [sp, #0x8]
- strh r0, [sp, #0xa]
- b _0208FFAC
-_0208FF70:
- mov r1, #0x0
- mov r0, #0x1000
- strh r1, [sp, #0x6]
- strh r0, [sp, #0x8]
- strh r1, [sp, #0xa]
- b _0208FFAC
-_0208FF88:
- mov r1, #0x0
- mov r0, #0x1000
- strh r1, [sp, #0x6]
- strh r1, [sp, #0x8]
- strh r0, [sp, #0xa]
- b _0208FFAC
-_0208FFA0:
- add r1, sp, #0x6
- add r0, r4, #0x50
- bl VEC_Fx16Normalize
-_0208FFAC:
- add r0, sp, #0x0
- add r1, sp, #0x6
- bl VEC_Fx16DotProduct
- cmp r0, #0x1000
- beq _0208FFD0
- mov r1, #0x1000
- rsb r1, r1, #0x0
- cmp r0, r1
- bne _0208FFE4
-_0208FFD0:
- mov r0, #0x0
- mov r1, #0x1000
- strh r1, [sp, #0x0]
- strh r0, [sp, #0x2]
- strh r0, [sp, #0x4]
-_0208FFE4:
- ldrsh r3, [sp, #0x8]
- ldrsh r1, [sp, #0x4]
- ldrsh r2, [sp, #0xa]
- ldrsh r0, [sp, #0x2]
- smull r6, r5, r3, r1
- mov r1, #0x800
- adds r6, r6, r1
- smull r3, r0, r2, r0
- adc r5, r5, #0x0
- adds r2, r3, r1
- mov r3, r6, lsr #0xc
- adc r0, r0, #0x0
- mov r2, r2, lsr #0xc
- orr r3, r3, r5, lsl #0x14
- orr r2, r2, r0, lsl #0x14
- sub r0, r3, r2
- strh r0, [r4, #0x84]
- ldrsh r5, [sp, #0xa]
- ldrsh r3, [sp, #0x0]
- ldrsh r2, [sp, #0x6]
- ldrsh r0, [sp, #0x4]
- smull r3, r6, r5, r3
- adds r12, r3, r1
- smull r3, r0, r2, r0
- adc r5, r6, #0x0
- adds r2, r3, r1
- mov r3, r12, lsr #0xc
- adc r0, r0, #0x0
- mov r2, r2, lsr #0xc
- orr r3, r3, r5, lsl #0x14
- orr r2, r2, r0, lsl #0x14
- sub r0, r3, r2
- strh r0, [r4, #0x86]
- ldrsh r5, [sp, #0x6]
- ldrsh r3, [sp, #0x2]
- ldrsh r2, [sp, #0x8]
- ldrsh r0, [sp, #0x0]
- smull r3, r6, r5, r3
- adds r12, r3, r1
- smull r3, r0, r2, r0
- adc r5, r6, #0x0
- adds r2, r3, r1
- mov r3, r12, lsr #0xc
- adc r0, r0, #0x0
- mov r2, r2, lsr #0xc
- orr r3, r3, r5, lsl #0x14
- orr r2, r2, r0, lsl #0x14
- sub r0, r3, r2
- strh r0, [r4, #0x88]
- ldrsh r6, [sp, #0x8]
- ldrsh r5, [r4, #0x88]
- add r0, r4, #0x84
- ldrsh r3, [sp, #0xa]
- ldrsh r2, [r4, #0x86]
- smull r5, r12, r6, r5
- adds lr, r5, r1
- smull r5, r2, r3, r2
- adc r6, r12, #0x0
- adds r3, r5, r1
- mov r5, lr, lsr #0xc
- adc r2, r2, #0x0
- mov r3, r3, lsr #0xc
- orr r5, r5, r6, lsl #0x14
- orr r3, r3, r2, lsl #0x14
- sub r2, r5, r3
- strh r2, [r4, #0x8a]
- ldrsh r6, [sp, #0xa]
- ldrsh r5, [r4, #0x84]
- ldrsh r3, [sp, #0x6]
- ldrsh r2, [r4, #0x88]
- smull lr, r12, r6, r5
- smull r5, r2, r3, r2
- adds r6, lr, r1
- adc r3, r12, #0x0
- mov r6, r6, lsr #0xc
- orr r6, r6, r3, lsl #0x14
- adds r3, r5, r1
- adc r2, r2, #0x0
- mov r3, r3, lsr #0xc
- orr r3, r3, r2, lsl #0x14
- sub r2, r6, r3
- strh r2, [r4, #0x8c]
- ldrsh lr, [sp, #0x6]
- ldrsh r12, [r4, #0x86]
- ldrsh r3, [sp, #0x8]
- ldrsh r2, [r4, #0x84]
- smull r6, r5, lr, r12
- smull r12, r2, r3, r2
- adds r6, r6, r1
- adc r5, r5, #0x0
- adds r3, r12, r1
- mov r6, r6, lsr #0xc
- orr r6, r6, r5, lsl #0x14
- adc r1, r2, #0x0
- mov r2, r3, lsr #0xc
- orr r2, r2, r1, lsl #0x14
- sub r1, r6, r2
- strh r1, [r4, #0x8e]
- mov r1, r0
- bl VEC_Fx16Normalize
- add r0, r4, #0x8a
- mov r1, r0
- bl VEC_Fx16Normalize
- add sp, sp, #0x10
- ldmia sp!, {r4-r6,lr}
- bx lr
- .balign 4
-_0209018C: .word 0x02106168
-
- arm_func_start FUN_02090190
-FUN_02090190: ; 0x02090190
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- rsb r2, r2, #0xff
- mov r1, #0x1f
- mul r3, r2, r1
- ldr r2, _020901E4 ; =0x80808081
- ldrh lr, [r0, #0x2e]
- smull r1, r12, r2, r3
- add r12, r3, r12
- mov r12, r12, asr #0x7
- mov r1, r3, lsr #0x1f
- add r12, r1, r12
- mov r1, r12, lsl #0x10
- mov r1, r1, lsr #0x10
- bic r2, lr, #0x3e0
- and r1, r1, #0x1f
- orr r1, r2, r1, lsl #0x5
- strh r1, [r0, #0x2e]
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020901E4: .word 0x80808081
-
- arm_func_start FUN_020901E8
-FUN_020901E8: ; 0x020901E8
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r3, [r1, #0x14]
- sub r1, r2, #0xff
- ldrsh lr, [r3, #0x4]
- ldr r2, _02090230 ; =0x80808081
- sub r3, lr, #0x1000
- mul r12, r3, r1
- smull r1, r3, r2, r12
- add r3, r12, r3
- mov r3, r3, asr #0x7
- mov r1, r12, lsr #0x1f
- add r3, r1, r3
- add r1, lr, r3
- strh r1, [r0, #0x34]
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_02090230: .word 0x80808081
-
- arm_func_start FUN_02090234
-FUN_02090234: ; 0x02090234
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- ldr r5, [r1, #0x10]
- mov r4, #0x0
- ldrb r3, [r5, #0x8]
- cmp r3, #0x0
- addle sp, sp, #0x4
- ldmleia sp!, {r4-r5,lr}
- bxle lr
- ldrb r12, [r5, #0x9]
- mov lr, r4
-_02090260:
- add r1, lr, r12
- cmp r2, r1
- ldrltb r1, [r5, r4]
- addlt sp, sp, #0x4
- strltb r1, [r0, #0x2c]
- ldmltia sp!, {r4-r5,lr}
- bxlt lr
- add r4, r4, #0x1
- cmp r4, r3
- add lr, lr, r12
- blt _02090260
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
-
- arm_func_start FUN_02090298
-FUN_02090298: ; 0x02090298
- stmdb sp!, {r4-r6,lr}
- ldr r4, [r1, #0xc]
- mov r5, r0
- ldrb r1, [r4, #0x4]
- ldrb r3, [r4, #0x5]
- cmp r2, r1
- bge _020902D8
- ldrh r3, [r4, #0x0]
- mov r0, r3, lsl #0x16
- mov r6, r3, lsl #0x1b
- mov r0, r0, lsr #0x1b
- sub r0, r0, r6, lsr #0x1b
- mul r0, r2, r0
- bl _s32_div_f
- add r0, r0, r6, lsr #0x1b
- b _02090314
-_020902D8:
- cmp r2, r3
- ldrlth r0, [r4, #0x0]
- movlt r0, r0, lsl #0x16
- movlt r0, r0, lsr #0x1b
- blt _02090314
- ldrh r0, [r4, #0x0]
- sub r2, r2, #0xff
- rsb r1, r3, #0xff
- mov r6, r0, lsl #0x11
- mov r3, r6, lsr #0x1b
- mov r0, r0, lsl #0x16
- sub r0, r3, r0, lsr #0x1b
- mul r0, r2, r0
- bl _s32_div_f
- add r0, r0, r6, lsr #0x1b
-_02090314:
- ldr r3, _02090368 ; =0x021C8C5C
- ldr r1, _0209036C ; =0x5EEDF715
- ldr r12, [r3, #0x0]
- ldr r2, _02090370 ; =0x1B0CB173
- mla r1, r12, r1, r2
- str r1, [r3, #0x0]
- ldrb r2, [r4, #0x2]
- mov r1, r1, lsr #0x18
- ldrh r3, [r5, #0x2e]
- mul r1, r2, r1
- mov r1, r1, asr #0x8
- rsb r1, r1, #0xff
- mul r1, r0, r1
- mov r0, r1, lsl #0x8
- mov r0, r0, lsr #0x10
- bic r1, r3, #0x3e0
- and r0, r0, #0x1f
- orr r0, r1, r0, lsl #0x5
- strh r0, [r5, #0x2e]
- ldmia sp!, {r4-r6,lr}
- bx lr
- .balign 4
-_02090368: .word 0x021C8C5C
-_0209036C: .word 0x5EEDF715
-_02090370: .word 0x1B0CB173
-
- arm_func_start FUN_02090374
-FUN_02090374: ; 0x02090374
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0x4
-
- arm_func_start FUN_0209037C
-FUN_0209037C: ; 0x0209037C
- ldr r4, [r1, #0x8]
- mov r10, r0
- ldrb r3, [r4, #0x4]
- ldr r0, [r1, #0x0]
- ldrb r1, [r4, #0x5]
- cmp r2, r3
- ldrb r11, [r4, #0x6]
- ldrlth r0, [r4, #0x0]
- addlt sp, sp, #0x4
- strlth r0, [r10, #0x36]
- ldmltia sp!, {r4-r11,lr}
- bxlt lr
- cmp r2, r1
- bge _0209046C
- ldrh r9, [r0, #0x22]
- ldrh r0, [r4, #0x8]
- ldrh r8, [r4, #0x0]
- mov r7, r9, asr #0x5
- mov r11, r9, asr #0xa
- mov r4, r0, lsl #0x1d
- mov r6, r8, asr #0x5
- mov r5, r8, asr #0xa
- movs r4, r4, lsr #0x1f
- and r9, r9, #0x1f
- and r7, r7, #0x1f
- and r0, r11, #0x1f
- orreq r1, r9, r7, lsl #0x5
- orreq r0, r1, r0, lsl #0xa
- and r8, r8, #0x1f
- and r6, r6, #0x1f
- and r5, r5, #0x1f
- addeq sp, sp, #0x4
- streqh r0, [r10, #0x36]
- ldmeqia sp!, {r4-r11,lr}
- bxeq lr
- sub r4, r2, r3
- sub r0, r0, r5
- mul r0, r4, r0
- sub r11, r1, r3
- mov r1, r11
- bl _s32_div_f
- sub r1, r9, r8
- mov r9, r0
- mul r0, r4, r1
- mov r1, r11
- bl _s32_div_f
- sub r1, r7, r6
- mov r7, r0
- mul r0, r4, r1
- mov r1, r11
- bl _s32_div_f
- add r1, r8, r7
- add r0, r6, r0
- add r2, r5, r9
- orr r0, r1, r0, lsl #0x5
- orr r0, r0, r2, lsl #0xa
- add sp, sp, #0x4
- strh r0, [r10, #0x36]
- ldmia sp!, {r4-r11,lr}
- bx lr
-_0209046C:
- cmp r2, r11
- bge _0209052C
- ldrh r7, [r4, #0x2]
- ldrh r8, [r0, #0x22]
- ldrh r0, [r4, #0x8]
- mov r5, r7, asr #0x5
- mov r4, r7, asr #0xa
- mov r3, r0, lsl #0x1d
- mov r6, r8, asr #0x5
- mov r9, r8, asr #0xa
- movs r3, r3, lsr #0x1f
- and r7, r7, #0x1f
- and r5, r5, #0x1f
- and r0, r4, #0x1f
- orreq r1, r7, r5, lsl #0x5
- orreq r0, r1, r0, lsl #0xa
- and r8, r8, #0x1f
- and r6, r6, #0x1f
- and r9, r9, #0x1f
- addeq sp, sp, #0x4
- streqh r0, [r10, #0x36]
- ldmeqia sp!, {r4-r11,lr}
- bxeq lr
- sub r4, r2, r1
- sub r0, r0, r9
- mul r0, r4, r0
- sub r11, r11, r1
- mov r1, r11
- bl _s32_div_f
- sub r1, r7, r8
- mov r7, r0
- mul r0, r4, r1
- mov r1, r11
- bl _s32_div_f
- sub r1, r5, r6
- mov r5, r0
- mul r0, r4, r1
- mov r1, r11
- bl _s32_div_f
- add r1, r8, r5
- add r0, r6, r0
- add r2, r9, r7
- orr r0, r1, r0, lsl #0x5
- orr r0, r0, r2, lsl #0xa
- add sp, sp, #0x4
- strh r0, [r10, #0x36]
- ldmia sp!, {r4-r11,lr}
- bx lr
-_0209052C:
- ldrh r0, [r4, #0x2]
- strh r0, [r10, #0x36]
- add sp, sp, #0x4
- ldmia sp!, {r4-r11,lr}
- bx lr
-
- arm_func_start FUN_02090540
-FUN_02090540: ; 0x02090540
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- ldr r12, [r1, #0x4]
- mov r4, r0
- ldrb r1, [r12, #0x6]
- ldrb r3, [r12, #0x7]
- cmp r2, r1
- bge _02090588
- ldrsh r5, [r12, #0x0]
- ldrsh r0, [r12, #0x2]
- sub r0, r0, r5
- mul r0, r2, r0
- bl _s32_div_f
-_02090574: ; 0x02090574
- add r0, r5, r0
- add sp, sp, #0x4
- strh r0, [r4, #0x34]
- ldmia sp!, {r4-r5,lr}
- bx lr
-_02090588:
- cmp r2, r3
- ldrltsh r0, [r12, #0x2]
- addlt sp, sp, #0x4
- strlth r0, [r4, #0x34]
- ldmltia sp!, {r4-r5,lr}
- bxlt lr
- ldrsh r5, [r12, #0x4]
- ldrsh r0, [r12, #0x2]
- sub r2, r2, #0xff
- rsb r1, r3, #0xff
- sub r0, r5, r0
- mul r0, r2, r0
- bl _s32_div_f
-_020905BC: ; 0x020905BC
- add r0, r5, r0
- strh r0, [r4, #0x34]
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
-
- arm_func_start FUN_020905D0
-FUN_020905D0: ; 0x020905D0
- stmdb sp!, {r4,lr}
- ldr lr, [r1, #0x8]
- ldr r2, [r0, #0x0]
- ldrsh r4, [r0, #0xc]
- sub r3, r2, lr
- mov r2, #0x800
- smull r12, r3, r4, r3
- adds r4, r12, r2
- adc r3, r3, #0x0
- mov r4, r4, lsr #0xc
- orr r4, r4, r3, lsl #0x14
- add r3, lr, r4
- str r3, [r1, #0x8]
- ldr r4, [r1, #0xc]
- ldr r3, [r0, #0x4]
- ldrsh r12, [r0, #0xc]
- sub r3, r3, r4
- smull lr, r3, r12, r3
- adds r12, lr, r2
- adc r3, r3, #0x0
- mov r12, r12, lsr #0xc
- orr r12, r12, r3, lsl #0x14
- add r3, r4, r12
- str r3, [r1, #0xc]
- ldr lr, [r1, #0x10]
- ldr r3, [r0, #0x8]
- ldrsh r12, [r0, #0xc]
- sub r0, r3, lr
- smull r3, r0, r12, r0
- adds r2, r3, r2
- adc r0, r0, #0x0
- mov r2, r2, lsr #0xc
- orr r2, r2, r0, lsl #0x14
- add r0, lr, r2
- str r0, [r1, #0x10]
- ldmia sp!, {r4,lr}
- bx lr
-
- arm_func_start FUN_02090664
-FUN_02090664: ; 0x02090664
- ldr r3, [r3, #0x74]
- ldr r2, [r0, #0x0]
- cmp r3, #0x80000000
- movne r2, r3
- ldrh r3, [r0, #0x6]
- mov r3, r3, lsl #0x1e
- movs r3, r3, lsr #0x1e
- beq _02090690
- cmp r3, #0x1
- beq _020906E4
- bx lr
-_02090690:
- ldr r3, [r1, #0x3c]
- cmp r3, r2
- bge _020906BC
- ldr r0, [r1, #0xc]
- add r0, r3, r0
- cmp r0, r2
- subgt r0, r2, r3
- strgt r0, [r1, #0xc]
- ldrgth r0, [r1, #0x24]
- strgth r0, [r1, #0x26]
- bxgt lr
-_020906BC:
- cmp r3, r2
- bxlt lr
- ldr r0, [r1, #0xc]
- add r0, r3, r0
- cmp r0, r2
- sublt r0, r2, r3
- strlt r0, [r1, #0xc]
- ldrlth r0, [r1, #0x24]
- strlth r0, [r1, #0x26]
- bx lr
-_020906E4:
- ldr r12, [r1, #0x3c]
- cmp r12, r2
- bge _02090734
- ldr r3, [r1, #0xc]
- add r3, r12, r3
- cmp r3, r2
- ble _02090734
- sub r2, r2, r12
- str r2, [r1, #0xc]
- ldrsh r2, [r0, #0x4]
- ldr r3, [r1, #0x18]
- mov r0, #0x800
- smull r12, r2, r3, r2
- adds r3, r12, r0
- adc r0, r2, #0x0
- mov r2, r3, lsr #0xc
- orr r2, r2, r0, lsl #0x14
- rsb r0, r2, #0x0
- str r0, [r1, #0x18]
- bx lr
-_02090734:
- cmp r12, r2
- bxlt lr
- ldr r3, [r1, #0xc]
- add r3, r12, r3
- cmp r3, r2
- bxge lr
- sub r2, r2, r12
- str r2, [r1, #0xc]
- ldrsh r2, [r0, #0x4]
- ldr r3, [r1, #0x18]
- mov r0, #0x800
- smull r12, r2, r3, r2
- adds r3, r12, r0
- adc r0, r2, #0x0
- mov r2, r3, lsr #0xc
- orr r2, r2, r0, lsl #0x14
- rsb r0, r2, #0x0
- str r0, [r1, #0x18]
- bx lr
-
- arm_func_start FUN_02090780
-FUN_02090780: ; 0x02090780
- stmdb sp!, {r4,lr}
- sub sp, sp, #0x28
- ldrh r2, [r0, #0x2]
- mov r4, r1
- cmp r2, #0x0
- beq _020907AC
- cmp r2, #0x1
- beq _020907DC
- cmp r2, #0x2
- beq _0209080C
- b _02090838
-_020907AC:
- ldrh r1, [r0, #0x0]
- ldr r3, _02090854 ; =0x020FFA38
- add r0, sp, #0x0
- mov r1, r1, asr #0x4
- mov r2, r1, lsl #0x1
- add r1, r2, #0x1
- mov r12, r2, lsl #0x1
- mov r2, r1, lsl #0x1
- ldrsh r1, [r3, r12]
- ldrsh r2, [r3, r2]
- blx MTX_RotX33_
- b _02090838
-_020907DC:
- ldrh r1, [r0, #0x0]
- ldr r3, _02090854 ; =0x020FFA38
- add r0, sp, #0x0
- mov r1, r1, asr #0x4
- mov r2, r1, lsl #0x1
- add r1, r2, #0x1
- mov r12, r2, lsl #0x1
- mov r2, r1, lsl #0x1
- ldrsh r1, [r3, r12]
- ldrsh r2, [r3, r2]
- blx MTX_RotY33_
- b _02090838
-_0209080C:
- ldrh r1, [r0, #0x0]
- ldr r3, _02090854 ; =0x020FFA38
- add r0, sp, #0x0
- mov r1, r1, asr #0x4
- mov r2, r1, lsl #0x1
- add r1, r2, #0x1
- mov r12, r2, lsl #0x1
- mov r2, r1, lsl #0x1
- ldrsh r1, [r3, r12]
- ldrsh r2, [r3, r2]
- blx MTX_RotZ33_
-_02090838:
- add r0, r4, #0x8
- add r1, sp, #0x0
- mov r2, r0
- bl MTX_MultVec33
- add sp, sp, #0x28
- ldmia sp!, {r4,lr}
- bx lr
- .balign 4
-_02090854: .word 0x020FFA38
-
- arm_func_start FUN_02090858
-FUN_02090858: ; 0x02090858
- stmdb sp!, {r4,lr}
- ldr r12, [r0, #0x0]
- ldr r4, [r1, #0x8]
- ldrsh lr, [r0, #0xc]
- ldr r3, [r1, #0x14]
- sub r4, r12, r4
- sub r3, r4, r3
- mul r3, lr, r3
- ldr r4, [r2, #0x0]
- add r3, r4, r3, asr #0xc
- str r3, [r2, #0x0]
- ldr lr, [r0, #0x4]
- ldr r12, [r1, #0xc]
- ldrsh r4, [r0, #0xc]
- ldr r3, [r1, #0x18]
- sub r12, lr, r12
- sub r3, r12, r3
- mul r3, r4, r3
- ldr r4, [r2, #0x4]
- add r3, r4, r3, asr #0xc
- str r3, [r2, #0x4]
- ldr r12, [r0, #0x8]
- ldr r3, [r1, #0x10]
- ldrsh lr, [r0, #0xc]
- ldr r0, [r1, #0x1c]
- sub r1, r12, r3
- sub r0, r1, r0
- mul r0, lr, r0
- ldr r1, [r2, #0x8]
- add r0, r1, r0, asr #0xc
- str r0, [r2, #0x8]
- ldmia sp!, {r4,lr}
- bx lr
-
- arm_func_start FUN_020908DC
-FUN_020908DC: ; 0x020908DC
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r5, r0
- ldrh r0, [r1, #0x26]
- ldrh r1, [r5, #0x6]
- mov r4, r2
- bl _s32_div_f
-_020908F8: ; 0x020908F8
- cmp r1, #0x0
- addne sp, sp, #0x4
- ldmneia sp!, {r4-r5,lr}
- bxne lr
- ldr r2, _02090998 ; =0x021C8C5C
- ldr r0, _0209099C ; =0x5EEDF715
- ldr r3, [r2, #0x0]
- ldr r1, _020909A0 ; =0x1B0CB173
- mla r12, r3, r0, r1
- str r12, [r2, #0x0]
- ldrsh lr, [r5, #0x0]
- mov r3, r12, lsr #0x17
- ldr r12, [r4, #0x0]
- mul r3, lr, r3
- sub r3, r3, lr, lsl #0x8
- add r3, r12, r3, asr #0x8
- str r3, [r4, #0x0]
- ldr r3, [r2, #0x0]
- mla r12, r3, r0, r1
- str r12, [r2, #0x0]
- ldrsh lr, [r5, #0x2]
- mov r3, r12, lsr #0x17
- ldr r12, [r4, #0x4]
- mul r3, lr, r3
- sub r3, r3, lr, lsl #0x8
- add r3, r12, r3, asr #0x8
- str r3, [r4, #0x4]
- ldr r3, [r2, #0x0]
- mla r0, r3, r0, r1
- str r0, [r2, #0x0]
- ldrsh r2, [r5, #0x4]
- mov r0, r0, lsr #0x17
- ldr r1, [r4, #0x8]
- mul r0, r2, r0
- sub r0, r0, r2, lsl #0x8
- add r0, r1, r0, asr #0x8
- str r0, [r4, #0x8]
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
- .balign 4
-_02090998: .word 0x021C8C5C
-_0209099C: .word 0x5EEDF715
-_020909A0: .word 0x1B0CB173
-
- arm_func_start FUN_020909A4
-FUN_020909A4: ; 0x020909A4
- ldrsh r1, [r0, #0x0]
- ldr r3, [r2, #0x0]
- add r1, r3, r1
- str r1, [r2, #0x0]
- ldrsh r1, [r0, #0x2]
- ldr r3, [r2, #0x4]
- add r1, r3, r1
- str r1, [r2, #0x4]
- ldrsh r0, [r0, #0x4]
- ldr r1, [r2, #0x8]
- add r0, r1, r0
- str r0, [r2, #0x8]
- bx lr
-
- arm_func_start FUN_020909D8
-FUN_020909D8: ; 0x020909D8
- ldr r3, [r1, #0x0]
- cmp r3, #0x0
- bne _02090A18
- ldr r2, [r0, #0x0]
- cmp r2, r1
- moveq r2, #0x0
- streq r2, [r0, #0x0]
- streq r2, [r0, #0x8]
- beq _02090A44
- ldr r2, [r1, #0x4]
- mov r3, #0x0
- str r3, [r2, #0x0]
- ldr r2, [r0, #0x8]
- ldr r2, [r2, #0x4]
- str r2, [r0, #0x8]
- b _02090A44
-_02090A18:
- ldr r2, [r0, #0x0]
- cmp r2, r1
- streq r3, [r0, #0x0]
- ldreq r2, [r0, #0x0]
- moveq r3, #0x0
- streq r3, [r2, #0x4]
- ldrne r2, [r1, #0x4]
- strne r2, [r3, #0x4]
- ldrne r3, [r1, #0x0]
- ldrne r2, [r1, #0x4]
- strne r3, [r2, #0x0]
-_02090A44:
- ldr r2, [r0, #0x4]
- sub r2, r2, #0x1
- str r2, [r0, #0x4]
- mov r0, r1
- bx lr
-
- arm_func_start FUN_02090A58
-FUN_02090A58: ; 0x02090A58
- ldr r2, [r0, #0x0]
- mov r3, #0x0
- mov r12, r3
- cmp r2, #0x0
- beq _02090A9C
- ldr r1, [r2, #0x0]
- mov r12, r2
- str r1, [r0, #0x0]
- ldr r1, [r0, #0x0]
- cmp r1, #0x0
- ldrne r1, [r2, #0x0]
- strne r3, [r1, #0x4]
- streq r3, [r0, #0x0]
- streq r3, [r0, #0x8]
- ldr r1, [r0, #0x4]
- sub r1, r1, #0x1
- str r1, [r0, #0x4]
-_02090A9C:
- mov r0, r12
- bx lr
-
- arm_func_start FUN_02090AA4
-FUN_02090AA4:
- ldr r2, [r0, #0x0]
- cmp r2, #0x0
- bne _02090ACC
- str r1, [r0, #0x0]
- str r1, [r0, #0x8]
- mov r2, #0x0
- str r2, [r1, #0x0]
- ldr r2, [r1, #0x0]
- str r2, [r1, #0x4]
- b _02090AE4
-_02090ACC:
- str r2, [r1, #0x0]
- mov r2, #0x0
- str r2, [r1, #0x4]
- ldr r2, [r0, #0x0]
- str r1, [r2, #0x4]
- str r1, [r0, #0x0]
-_02090AE4:
- ldr r1, [r0, #0x4]
- add r1, r1, #0x1
- str r1, [r0, #0x4]
- bx lr
-
- arm_func_start FUN_02090AF4
-FUN_02090AF4:
- stmdb sp!, {r4,lr}
- ldr ip, _02090B44 ; =0x021C8C5C
- ldr r2, _02090B48 ; =0x5EEDF715
- ldr r4, [r12, #0x0]
- ldr r3, _02090B4C ; =0x1B0CB173
- mov r1, r0
- mla lr, r4, r2, r3
- str lr, [r12, #0x0]
- mov r4, lr, asr #0x8
- str r4, [r0, #0x0]
- ldr r4, [r12, #0x0]
- mov lr, #0x0
- mla r2, r4, r2, r3
- str r2, [r12, #0x0]
- mov r2, r2, asr #0x8
- str r2, [r0, #0x4]
- str lr, [r0, #0x8]
- bl VEC_Normalize
- ldmia sp!, {r4,lr}
- bx lr
- .balign 4
-_02090B44: .word 0x021C8C5C
-_02090B48: .word 0x5EEDF715
-_02090B4C: .word 0x1B0CB173
-
- arm_func_start FUN_02090B50
-FUN_02090B50: ; 0x02090B50
- stmdb sp!, {r4,lr}
- ldr ip, _02090BAC ; =0x021C8C5C
- ldr r2, _02090BB0 ; =0x5EEDF715
- ldr r4, [r12, #0x0]
- ldr r3, _02090BB4 ; =0x1B0CB173
- mov r1, r0
- mla lr, r4, r2, r3
- str lr, [r12, #0x0]
- mov r4, lr, asr #0x8
- str r4, [r0, #0x0]
- ldr lr, [r12, #0x0]
- mla r4, lr, r2, r3
- str r4, [r12, #0x0]
- mov lr, r4, asr #0x8
- str lr, [r0, #0x4]
- ldr lr, [r12, #0x0]
- mla r2, lr, r2, r3
- str r2, [r12, #0x0]
- mov r2, r2, asr #0x8
- str r2, [r0, #0x8]
- bl VEC_Normalize
- ldmia sp!, {r4,lr}
- bx lr
- .balign 4
-_02090BAC: .word 0x021C8C5C
-_02090BB0: .word 0x5EEDF715
-_02090BB4: .word 0x1B0CB173
-
- arm_func_start FUN_02090BB8
-FUN_02090BB8: ; 0x02090BB8
- bx lr
-
- arm_func_start FUN_02090BBC
-FUN_02090BBC: ; 0x02090BBC
- stmdb sp!, {r4-r6,lr}
- mov r0, #0x10000
- rsb r0, r0, #0x0
- ldr r3, _02090CB8 ; =0x021C8C6C
- ldr r2, _02090CBC ; =0x021C8C68
- and r0, r1, r0
- cmp r0, #0x10000
- and r4, r1, #0xff
- ldr r6, [r3, #0x0]
- ldr r5, [r2, #0x0]
- beq _02090BF4
- cmp r0, #0x20000
- beq _02090C38
- b _02090C84
-_02090BF4:
- cmp r4, #0x7
- bne _02090C84
- ldr r0, _02090CC0 ; =0x021C8C64
- ldrh r1, [r0, #0x0]
- cmp r1, #0x0
- beq _02090C84
- ldr r1, _02090CC4 ; =0x021C8C60
- ldrh r2, [r1, #0x0]
- cmp r2, #0x0
- beq _02090C84
- ldrh r0, [r0, #0x0]
- ldrh r1, [r1, #0x0]
- bl OSi_UnlockVram
- ldr r0, _02090CC0 ; =0x021C8C64
- mov r1, #0x0
- strh r1, [r0, #0x0]
- b _02090C84
-_02090C38:
- cmp r4, #0x0
- bne _02090C78
- ldr r0, _02090CC0 ; =0x021C8C64
- ldrh r1, [r0, #0x0]
- cmp r1, #0x0
- beq _02090C78
- ldr r1, _02090CC4 ; =0x021C8C60
- ldrh r2, [r1, #0x0]
- cmp r2, #0x0
- beq _02090C78
- ldrh r0, [r0, #0x0]
- ldrh r1, [r1, #0x0]
- bl OSi_UnlockVram
- ldr r0, _02090CC0 ; =0x021C8C64
- mov r1, #0x0
- strh r1, [r0, #0x0]
-_02090C78:
- mov r0, #0xf
- mov r1, #0x0
- bl PXI_SetFifoRecvCallback
-_02090C84:
- cmp r6, #0x0
- ldmeqia sp!, {r4-r6,lr}
- bxeq lr
- ldr r3, _02090CB8 ; =0x021C8C6C
- mov r12, #0x0
- ldr r2, _02090CBC ; =0x021C8C68
- mov r0, r5
- mov r1, r4
- str r12, [r3, #0x0]
- str r12, [r2, #0x0]
- blx r6
- ldmia sp!, {r4-r6,lr}
- bx lr
- .balign 4
-_02090CB8: .word 0x021C8C6C
-_02090CBC: .word 0x021C8C68
-_02090CC0: .word 0x021C8C64
-_02090CC4: .word 0x021C8C60
-
- arm_func_start FUN_02090CC8
-FUN_02090CC8: ; 0x02090CC8
- stmdb sp!, {r4-r6,lr}
- mov r6, r0
- mov r5, r1
- bl PXI_Init
- mov r0, #0xf
- mov r1, #0x1
- bl PXI_IsCallbackReady
-_02090CE4: ; 0x02090CE4
- cmp r0, #0x0
- moveq r0, #0x2
- ldmeqia sp!, {r4-r6,lr}
- bxeq lr
- bl OS_DisableInterrupts
- ldr r1, _02090DA8 ; =0x021C8C6C
- mov r4, r0
- ldr r1, [r1, #0x0]
- cmp r1, #0x0
- beq _02090D1C
- bl OS_RestoreInterrupts
- mov r0, #0x5
- ldmia sp!, {r4-r6,lr}
- bx lr
-_02090D1C:
- mov r0, #0xf
- mov r1, #0x0
- bl PXI_IsCallbackReady
-_02090D28: ; 0x02090D28
- cmp r0, #0x0
- bne _02090D3C
- ldr r1, _02090DAC ; =FUN_02090BBC
- mov r0, #0xf
- bl PXI_SetFifoRecvCallback
-_02090D3C:
- cmp r6, #0x0
- ldreq r1, _02090DB0 ; =FUN_02090BB8
- ldreq r0, _02090DA8 ; =0x021C8C6C
- ldr r3, _02090DB4 ; =0x021C8C68
- streq r1, [r0, #0x0]
- ldrne r0, _02090DA8 ; =0x021C8C6C
- mov r1, #0x20000
- strne r6, [r0, #0x0]
- mov r0, #0xf
- mov r2, #0x0
- str r5, [r3, #0x0]
- bl PXI_SendWordByFifo
-_02090D6C: ; 0x02090D6C
- cmp r0, #0x0
- bge _02090D94
- ldr r1, _02090DA8 ; =0x021C8C6C
- mov r2, #0x0
- mov r0, r4
- str r2, [r1, #0x0]
- bl OS_RestoreInterrupts
- mov r0, #0x4
- ldmia sp!, {r4-r6,lr}
- bx lr
-_02090D94:
- mov r0, r4
- bl OS_RestoreInterrupts
- mov r0, #0x1
- ldmia sp!, {r4-r6,lr}
- bx lr
- .balign 4
-_02090DA8: .word 0x021C8C6C
-_02090DAC: .word FUN_02090BBC
-_02090DB0: .word FUN_02090BB8
-_02090DB4: .word 0x021C8C68
-
- arm_func_start FUN_02090DB8
-FUN_02090DB8: ; 0x02090DB8
- stmdb sp!, {r4-r8,lr}
- mov r7, r0
- mov r6, r1
- mov r5, r2
- bl PXI_Init
- mov r0, #0xf
- mov r1, #0x1
- bl PXI_IsCallbackReady
-_02090DD8: ; 0x02090DD8
- cmp r0, #0x0
- moveq r0, #0x2
- ldmeqia sp!, {r4-r8,lr}
- bxeq lr
- ldr r8, _02091020 ; =0x021C8C60
- ldrh r0, [r8, #0x0]
- cmp r0, #0x0
- bne _02090E20
- mvn r4, #0x2
-_02090DFC:
- bl OS_GetLockID
- cmp r0, r4
- moveq r0, #0x7
- ldmeqia sp!, {r4-r8,lr}
- bxeq lr
- strh r0, [r8, #0x0]
- ldrh r0, [r8, #0x0]
- cmp r0, #0x0
- beq _02090DFC
-_02090E20:
- bl OS_DisableInterrupts
- ldr r1, _02091024 ; =0x021C8C6C
- mov r4, r0
- ldr r1, [r1, #0x0]
- cmp r1, #0x0
- beq _02090E48
- bl OS_RestoreInterrupts
- mov r0, #0x5
- ldmia sp!, {r4-r8,lr}
- bx lr
-_02090E48:
- ldr r1, _02091028 ; =0x021C8C64
- ldrh r1, [r1, #0x0]
- cmp r1, #0x0
- beq _02090E68
- bl OS_RestoreInterrupts
- mov r0, #0x5
- ldmia sp!, {r4-r8,lr}
- bx lr
-_02090E68:
- cmp r7, #0x4
- beq _02090E84
- cmp r7, #0x8
- beq _02090ECC
- cmp r7, #0xc
- beq _02090F14
- b _02090F68
-_02090E84:
- ldr r1, _02091020 ; =0x021C8C60
- mov r0, #0x4
- ldrh r1, [r1, #0x0]
- bl OSi_TryLockVram
-_02090E94: ; 0x02090E94
- cmp r0, #0x0
- bne _02090EB0
- mov r0, r4
- bl OS_RestoreInterrupts
- mov r0, #0x6
- ldmia sp!, {r4-r8,lr}
- bx lr
-_02090EB0:
- ldr r0, _02091028 ; =0x021C8C64
- mov r2, #0x4
- ldr r1, _0209102C ; =0x04000242
- strh r2, [r0, #0x0]
- mov r0, #0x82
- strb r0, [r1, #0x0]
- b _02090F78
-_02090ECC:
- ldr r1, _02091020 ; =0x021C8C60
- mov r0, #0x8
- ldrh r1, [r1, #0x0]
- bl OSi_TryLockVram
-_02090EDC: ; 0x02090EDC
- cmp r0, #0x0
- bne _02090EF8
- mov r0, r4
- bl OS_RestoreInterrupts
- mov r0, #0x6
- ldmia sp!, {r4-r8,lr}
- bx lr
-_02090EF8:
- ldr r0, _02091028 ; =0x021C8C64
- mov r2, #0x8
- ldr r1, _02091030 ; =0x04000243
- strh r2, [r0, #0x0]
- mov r0, #0x82
- strb r0, [r1, #0x0]
- b _02090F78
-_02090F14:
- ldr r1, _02091020 ; =0x021C8C60
- mov r0, #0xc
- ldrh r1, [r1, #0x0]
- bl OSi_TryLockVram
-_02090F24: ; 0x02090F24
- cmp r0, #0x0
- bne _02090F40
- mov r0, r4
- bl OS_RestoreInterrupts
- mov r0, #0x6
- ldmia sp!, {r4-r8,lr}
- bx lr
-_02090F40:
- ldr r0, _02091028 ; =0x021C8C64
- mov r2, #0xc
- ldr r1, _0209102C ; =0x04000242
- strh r2, [r0, #0x0]
- mov r2, #0x82
- ldr r0, _02091030 ; =0x04000243
- strb r2, [r1, #0x0]
- mov r1, #0x8a
- strb r1, [r0, #0x0]
- b _02090F78
-_02090F68:
- bl OS_RestoreInterrupts
- mov r0, #0x3
- ldmia sp!, {r4-r8,lr}
- bx lr
-_02090F78:
- mov r0, #0xf
- mov r1, #0x0
- bl PXI_IsCallbackReady
-_02090F84: ; 0x02090F84
- cmp r0, #0x0
- bne _02090F98
- ldr r1, _02091034 ; =FUN_02090BBC
- mov r0, #0xf
- bl PXI_SetFifoRecvCallback
-_02090F98:
- cmp r6, #0x0
- ldreq r1, _02091038 ; =FUN_02090BB8
- ldreq r0, _02091024 ; =0x021C8C6C
- ldr r3, _0209103C ; =0x021C8C68
- streq r1, [r0, #0x0]
- ldrne r0, _02091024 ; =0x021C8C6C
- mov r1, #0x10000
- strne r6, [r0, #0x0]
- mov r0, #0xf
- mov r2, #0x0
- str r5, [r3, #0x0]
- bl PXI_SendWordByFifo
-_02090FC8: ; 0x02090FC8
- cmp r0, #0x0
- bge _0209100C
- ldr r0, _02091028 ; =0x021C8C64
- ldr r1, _02091020 ; =0x021C8C60
- ldrh r0, [r0, #0x0]
- ldrh r1, [r1, #0x0]
- bl OSi_UnlockVram
- ldr r2, _02091028 ; =0x021C8C64
- mov r3, #0x0
- ldr r1, _02091024 ; =0x021C8C6C
- mov r0, r4
- strh r3, [r2, #0x0]
- str r3, [r1, #0x0]
- bl OS_RestoreInterrupts
- mov r0, #0x4
- ldmia sp!, {r4-r8,lr}
- bx lr
-_0209100C:
- mov r0, r4
- bl OS_RestoreInterrupts
- mov r0, #0x1
- ldmia sp!, {r4-r8,lr}
- bx lr
- .balign 4
-_02091020: .word 0x021C8C60
-_02091024: .word 0x021C8C6C
-_02091028: .word 0x021C8C64
-_0209102C: .word 0x04000242
-_02091030: .word 0x04000243
-_02091034: .word FUN_02090BBC
-_02091038: .word FUN_02090BB8
-_0209103C: .word 0x021C8C68
-
- arm_func_start FUN_02091040
-FUN_02091040: ; 0x02091040
- ldr r3, _02091054 ; =0x021C8C70
- ldr r2, _02091058 ; =0x021C8C74
- str r0, [r3, #0x0]
- str r1, [r2, #0x0]
- bx lr
- .balign 4
-_02091054: .word 0x021C8C70
-_02091058: .word 0x021C8C74
-
- arm_func_start FUN_0209105C
-FUN_0209105C: ; 0x0209105C
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r1, _020910A0 ; =0x021C8C74
- mov r2, r0
- ldr r1, [r1, #0x0]
- cmp r1, #0x0
- beq _02091088
- blx r1
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-_02091088:
- mov r0, #0x0
- mvn r1, #0x0
- bl OS_FreeToHeap
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020910A0: .word 0x021C8C74
-
- arm_func_start FUN_020910A4
-FUN_020910A4:
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r1, _020910E8 ; =0x021C8C70
- mov r2, r0
- ldr r1, [r1, #0x0]
- cmp r1, #0x0
- beq _020910D0
- blx r1
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-_020910D0:
- mov r0, #0x0
- mvn r1, #0x0
- bl OS_AllocFromHeap
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020910E8: .word 0x021C8C70
-
- arm_func_start FUN_020910EC
-FUN_020910EC: ; 0x020910EC
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x14
- mov r12, r0
- mov r4, r1
- mov r5, r2
- mov r2, r4
- add r0, sp, #0x0
- mov r1, r12
- mov r4, r3
- bl MATH_CalcSHA1
-_02091114: ; 0x02091114
- add r0, sp, #0x0
- mov r1, r5
- mov r2, r4
- bl FUN_02091130
- add sp, sp, #0x14
- ldmia sp!, {r4-r5,lr}
- bx lr
-
- arm_func_start FUN_02091130
-FUN_02091130: ; 0x02091130
- stmdb sp!, {r4,lr}
- sub sp, sp, #0x120
- mov r3, #0x0
- str r3, [sp, #0x10]
- str r3, [sp, #0x18]
- str r2, [sp, #0x0]
- mov r3, #0x80
- mov r4, r0
- mov r2, r1
- ldr ip, _0209122C ; =0x00010001
- str r3, [sp, #0x4]
- add r0, sp, #0x1c
- mov r1, #0x100
- str r12, [sp, #0x8]
- bl FUN_0209156C
- mov r1, r0
- add r0, sp, #0x1c
- add r2, sp, #0xc
- add r3, sp, #0x10
- bl FUN_020913D4
-_02091180: ; 0x02091180
- cmp r0, #0x0
- addeq sp, sp, #0x120
- moveq r0, #0x0
- ldmeqia sp!, {r4,lr}
- bxeq lr
- add r1, sp, #0x14
- add r0, sp, #0x18
- str r1, [sp, #0x0]
- str r0, [sp, #0x4]
- mov r2, #0x0
- ldr r0, [sp, #0xc]
- ldr r1, [sp, #0x10]
- mov r3, r2
- bl FUN_02091230
-_020911B8: ; 0x020911B8
- cmp r0, #0x0
- addeq sp, sp, #0x120
- moveq r0, #0x0
- ldmeqia sp!, {r4,lr}
- bxeq lr
- ldr r0, [sp, #0x18]
- cmp r0, #0x14
- addne sp, sp, #0x120
- movne r0, #0x0
- ldmneia sp!, {r4,lr}
- bxne lr
- ldr r2, [sp, #0x14]
- mov r3, #0x0
-_020911EC:
- ldrb r1, [r2, #0x0]
- ldrb r0, [r4, #0x0]
- cmp r1, r0
- addne sp, sp, #0x120
- movne r0, #0x0
- ldmneia sp!, {r4,lr}
- bxne lr
- add r3, r3, #0x1
- cmp r3, #0x14
- add r4, r4, #0x1
- add r2, r2, #0x1
- blt _020911EC
- mov r0, #0x1
- add sp, sp, #0x120
- ldmia sp!, {r4,lr}
- bx lr
- .balign 4
-_0209122C: .word 0x00010001
-
- arm_func_start FUN_02091230
-FUN_02091230:
- stmdb sp!, {r0-r3}
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r5, r2
- mov r4, r3
- add r0, sp, #0x10
- add r1, sp, #0x14
- mov r2, #0x30
- mov r3, #0x0
- bl FUN_02091498
-_02091258: ; 0x02091258
- cmp r0, #0x0
- addeq sp, sp, #0x4
- moveq r0, #0x0
- ldmeqia sp!, {r4-r5,lr}
- addeq sp, sp, #0x10
- bxeq lr
- add r0, sp, #0x10
- add r1, sp, #0x14
- mov r2, #0x30
- mov r3, #0x0
- bl FUN_02091498
-_02091284: ; 0x02091284
- cmp r0, #0x0
- addeq sp, sp, #0x4
- moveq r0, #0x0
- ldmeqia sp!, {r4-r5,lr}
- addeq sp, sp, #0x10
- bxeq lr
- add r0, sp, #0x10
- add r1, sp, #0x14
- add r3, sp, #0x0
- mov r2, #0x6
- bl FUN_02091498
-_020912B0: ; 0x020912B0
- cmp r0, #0x0
- addeq sp, sp, #0x4
- moveq r0, #0x0
- ldmeqia sp!, {r4-r5,lr}
- addeq sp, sp, #0x10
- bxeq lr
- cmp r5, #0x0
- ldrne r0, [sp, #0x10]
- strne r0, [r5, #0x0]
- cmp r4, #0x0
- ldrne r0, [sp, #0x0]
- strne r0, [r4, #0x0]
- ldr r2, [sp, #0x0]
- ldr r0, [sp, #0x10]
- ldr r1, [sp, #0x14]
- add r0, r0, r2
- str r0, [sp, #0x10]
- cmp r1, r2
- addcc sp, sp, #0x4
- movcc r0, #0x0
- ldmccia sp!, {r4-r5,lr}
- addcc sp, sp, #0x10
- bxcc lr
- sub r12, r1, r2
- add r0, sp, #0x10
- add r1, sp, #0x14
- add r3, sp, #0x0
- mov r2, #0x5
- str r12, [sp, #0x14]
- bl FUN_02091498
-_02091328: ; 0x02091328
- cmp r0, #0x0
- addeq sp, sp, #0x4
- moveq r0, #0x0
- ldmeqia sp!, {r4-r5,lr}
- addeq sp, sp, #0x10
- bxeq lr
- ldr r2, [sp, #0x0]
- ldr r0, [sp, #0x10]
- ldr r1, [sp, #0x14]
- add r0, r0, r2
- str r0, [sp, #0x10]
- cmp r1, r2
- addcc sp, sp, #0x4
- movcc r0, #0x0
- ldmccia sp!, {r4-r5,lr}
- addcc sp, sp, #0x10
- bxcc lr
- sub r12, r1, r2
- add r0, sp, #0x10
- add r1, sp, #0x14
- add r3, sp, #0x0
- mov r2, #0x4
- str r12, [sp, #0x14]
- bl FUN_02091498
-_02091388: ; 0x02091388
- cmp r0, #0x0
- addeq sp, sp, #0x4
- moveq r0, #0x0
- ldmeqia sp!, {r4-r5,lr}
- addeq sp, sp, #0x10
- bxeq lr
- ldr r1, [sp, #0x20]
- cmp r1, #0x0
- ldrne r0, [sp, #0x10]
- strne r0, [r1, #0x0]
- ldr r1, [sp, #0x24]
- cmp r1, #0x0
- ldrne r0, [sp, #0x0]
- strne r0, [r1, #0x0]
- mov r0, #0x1
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- add sp, sp, #0x10
- bx lr
-
- arm_func_start FUN_020913D4
-FUN_020913D4:
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- cmp r1, #0xa
- addcc sp, sp, #0x4
- movcc r0, #0x0
- ldmccia sp!, {lr}
- bxcc lr
- ldrb r12, [r0, #0x0]
- add lr, r0, r1
- cmp r12, #0x1
- addne sp, sp, #0x4
- movne r0, #0x0
- ldmneia sp!, {lr}
- bxne lr
- add r12, r0, #0x1
- mov r1, #0x0
-_02091414:
- ldrb r0, [r12], #0x1
- cmp r0, #0xff
- addne sp, sp, #0x4
- movne r0, #0x0
- ldmneia sp!, {lr}
- bxne lr
- add r1, r1, #0x1
- cmp r1, #0x8
- blt _02091414
- cmp r12, lr
- beq _02091458
-_02091440:
- ldrb r0, [r12, #0x0]
- cmp r0, #0xff
- bne _02091458
- add r12, r12, #0x1
- cmp r12, lr
- bne _02091440
-_02091458:
- cmp r12, lr
- addeq sp, sp, #0x4
- moveq r0, #0x0
- ldmeqia sp!, {lr}
- bxeq lr
- ldrb r0, [r12, #0x0]
- cmp r0, #0x0
- movne r0, #0x0
- addeq r0, r12, #0x1
- subeq r1, lr, r0
- streq r1, [r3, #0x0]
- streq r0, [r2, #0x0]
- moveq r0, #0x1
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-
- arm_func_start FUN_02091498
-FUN_02091498:
- stmdb sp!, {r4-r6,lr}
- ldr r5, [r0, #0x0]
- mov r6, #0x0
- ldrb r4, [r5, #0x0]
- add r5, r5, #0x1
- mov r12, r6
- cmp r4, r2
- ldr r2, [r1, #0x0]
- movne r0, r6
- ldmneia sp!, {r4-r6,lr}
- bxne lr
- cmp r2, #0x1
- movcc r0, r6
- ldmccia sp!, {r4-r6,lr}
- bxcc lr
- ldrb lr, [r5, #0x0]
- sub r4, r2, #0x1
- ands r2, lr, #0x80
- beq _02091534
- and r2, lr, #0x7f
- and lr, r2, #0xff
- add r2, lr, #0x1
- cmp r4, r2
- movcc r0, r6
- ldmccia sp!, {r4-r6,lr}
- bxcc lr
- cmp r3, #0x0
- sub r6, r4, lr
- beq _0209152C
- ldrb r2, [r5, #0x1]
- add r5, r5, #0x1
- and r4, r2, #0x7f
-_02091518:
- sub r2, lr, #0x1
- add r12, r4, r12, lsl #0x7
- ands lr, r2, #0xff
- bne _02091518
- b _02091550
-_0209152C:
- add r5, r5, lr
- b _02091550
-_02091534:
- add r5, r5, #0x1
- cmp r4, #0x1
- mov r12, lr
- movcc r0, r6
- ldmccia sp!, {r4-r6,lr}
- bxcc lr
- sub r6, r4, #0x1
-_02091550:
- str r5, [r0, #0x0]
- str r6, [r1, #0x0]
- cmp r3, #0x0
- strne r12, [r3, #0x0]
- mov r0, #0x1
- ldmia sp!, {r4-r6,lr}
- bx lr
-
- arm_func_start FUN_0209156C
-FUN_0209156C: ; 0x0209156C
- stmdb sp!, {r4-r8,lr}
- sub sp, sp, #0x58
- movs r6, r0
- mov r5, r1
- mov r8, r2
- mov r7, r3
- beq _0209159C
- cmp r8, #0x0
- beq _0209159C
- ldr r0, [sp, #0x70]
- cmp r0, #0x0
- bne _020915AC
-_0209159C:
- add sp, sp, #0x58
- mvn r0, #0x2
- ldmia sp!, {r4-r8,lr}
- bx lr
-_020915AC:
- bl FUN_02094FAC
- mov r4, r0
- add r0, sp, #0x4
- bl FUN_0209502C
- add r0, sp, #0x18
- bl FUN_0209502C
- add r0, sp, #0x2c
- bl FUN_0209502C
- add r0, sp, #0x40
- bl FUN_0209502C
-_020915D4: ; 0x020915D4
- cmp r4, #0x0
- mvneq r5, #0x1
- beq _02091688
- add r2, sp, #0x4
- mov r0, r8
- mov r1, r7
- bl FUN_02094C68
-_020915F0: ; 0x020915F0
- cmp r0, #0x0
- mvneq r5, #0x1
- beq _02091688
- ldr r1, [sp, #0x78]
- add r0, sp, #0x2c
- bl FUN_02094D7C
-_02091608: ; 0x02091608
- cmp r0, #0x0
- mvneq r5, #0x1
- beq _02091688
- ldr r0, [sp, #0x70]
- ldr r1, [sp, #0x74]
- add r2, sp, #0x40
- bl FUN_02094C68
-_02091624: ; 0x02091624
- cmp r0, #0x0
- mvneq r5, #0x1
- beq _02091688
- add r0, sp, #0x18
- add r1, sp, #0x4
- add r2, sp, #0x2c
- add r3, sp, #0x40
- str r4, [sp, #0x0]
- bl FUN_020931B8
-_02091648: ; 0x02091648
- cmp r0, #0x0
- mvneq r5, #0x1
- beq _02091688
- add r0, sp, #0x18
- bl FUN_02095188
- add r1, r0, #0x7
- mov r0, r1, asr #0x2
- add r0, r1, r0, lsr #0x1d
- mov r0, r0, asr #0x3
- cmp r0, r5
- mvngt r5, #0x0
- bgt _02091688
- add r0, sp, #0x18
- mov r1, r6
- bl FUN_02094BEC
- mov r5, r0
-_02091688:
- add r0, sp, #0x4
- bl FUN_0209510C
- add r0, sp, #0x18
- bl FUN_0209510C
- add r0, sp, #0x2c
- bl FUN_0209510C
- add r0, sp, #0x40
- bl FUN_0209510C
-_020916A8: ; 0x020916A8
- cmp r4, #0x0
- beq _020916B8
- mov r0, r4
- bl FUN_02094F3C
-_020916B8:
- mov r0, r5
- add sp, sp, #0x58
- ldmia sp!, {r4-r8,lr}
- bx lr
-
- arm_func_start FUN_020916C8
-FUN_020916C8: ; 0x020916C8
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0x7c
- mov r4, #0x0
- mov r5, r3
- mov r3, r4
- str r3, [sp, #0x34]
- ldr r3, [r5, #0x0]
- str r0, [sp, #0x4]
- mov r0, r4
- ldr r3, [r3, #0x0]
- str r0, [sp, #0x1c]
- str r0, [sp, #0x20]
- ands r0, r3, #0x1
- ldr r0, [sp, #0xa0]
- str r4, [sp, #0x8]
- str r0, [sp, #0xa0]
- mov r7, r1
- mov r6, r2
- addeq sp, sp, #0x7c
- moveq r0, r4
- ldmeqia sp!, {r4-r11,lr}
- bxeq lr
- ldr r1, [r7, #0x4]
- ldr r0, [r0, #0x0]
- cmp r1, #0x0
- str r0, [sp, #0xc]
- beq _0209174C
- cmp r1, #0x1
- bne _02091768
- ldr r0, [r7, #0x0]
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- bne _02091768
-_0209174C:
- ldr r0, [sp, #0x4]
- mov r1, #0x0
- bl FUN_02094D7C
- add sp, sp, #0x7c
- mov r0, #0x1
- ldmia sp!, {r4-r11,lr}
- bx lr
-_02091768:
- ldr r1, [r6, #0x4]
- cmp r1, #0x0
- beq _0209178C
- cmp r1, #0x1
- bne _020917A8
- ldr r0, [r6, #0x0]
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- bne _020917A8
-_0209178C:
- ldr r0, [sp, #0x4]
- mov r1, #0x1
- bl FUN_02094D7C
- add sp, sp, #0x7c
- mov r0, #0x1
- ldmia sp!, {r4-r11,lr}
- bx lr
-_020917A8:
- cmp r1, #0x1
- bne _020917DC
- ldr r0, [r6, #0x0]
- ldr r0, [r0, #0x0]
- cmp r0, #0x1
- bne _020917DC
- ldr r0, [sp, #0x4]
- mov r1, r7
- bl FUN_02094E24
- add sp, sp, #0x7c
- mov r0, #0x1
- ldmia sp!, {r4-r11,lr}
- bx lr
-_020917DC:
- ldr r0, [sp, #0xa4]
- str r0, [sp, #0x18]
- cmp r0, #0x0
- bne _02091810
- bl FUN_02092860
- str r0, [sp, #0x18]
- cmp r0, #0x0
- beq _02091E6C
- ldr r2, [sp, #0xa0]
- mov r1, r5
- bl FUN_02092894
-_02091808: ; 0x02091808
- cmp r0, #0x0
- beq _02091E6C
-_02091810:
- ldr r3, [sp, #0xa0]
- add r1, sp, #0x34
- mov r4, r3
- ldr r4, [r4, #0x10c]
- mov r0, r6
- mov r2, #0x0
- str r4, [sp, #0x1c]
- bl FUN_02092C28
-_02091830: ; 0x02091830
- cmp r0, #0x0
- beq _02091E6C
- ldr r0, [sp, #0xa0]
- ldr r0, [r0, #0x0]
- add r1, r0, #0x1
- ldr r0, [sp, #0xa0]
- str r1, [r0, #0x0]
- ldr r0, [sp, #0x34]
- ldrb r1, [r0, #0x2]
- ldrb r0, [r0, #0x3]
- str r0, [sp, #0x10]
- add r0, r1, #0x3f
- bl _s32_div_f
- ldr r1, [sp, #0x34]
- mov r4, r0
- add r0, r1, #0x4
- str r0, [sp, #0x34]
- ldr r0, [sp, #0x18]
- ldr r3, [r7, #0x4]
- ldr r10, [r0, #0x24]
- cmp r3, r10
- bne _020918A8
- ldr r1, [r7, #0x0]
- sub r2, r10, #0x1
- ldr r0, [r5, #0x0]
- ldr r1, [r1, r2, lsl #0x2]
- ldr r0, [r0, r2, lsl #0x2]
- cmp r1, r0
- strcc r7, [sp, #0x14]
- blo _02091960
-_020918A8:
- cmp r3, r10
- bge _0209191C
- ldr r0, [sp, #0xa0]
- ldr r3, [r0, #0x0]
- add r1, r0, #0x4
- add r2, r3, #0x1
- str r2, [r0, #0x0]
- mov r0, #0x14
- mla r0, r3, r0, r1
- ldr r2, [r7, #0x4]
- mov r1, r0
- str r2, [r1, #0x4]
- mov r1, r10
- str r0, [sp, #0x14]
- bl FUN_0209508C
- ldr r0, [r7, #0x4]
- mov r2, #0x0
- cmp r0, #0x0
- ble _02091960
-_020918F4:
- ldr r1, [r7, #0x0]
- ldr r0, [sp, #0x14]
- ldr r1, [r1, r2, lsl #0x2]
- ldr r0, [r0, #0x0]
- str r1, [r0, r2, lsl #0x2]
- ldr r0, [r7, #0x4]
- add r2, r2, #0x1
- cmp r2, r0
- blt _020918F4
- b _02091960
-_0209191C:
- ldr r0, [sp, #0xa0]
- mov r2, r5
- ldr r3, [r0, #0x0]
- mov r1, r7
- add r5, r3, #0x1
- str r5, [r0, #0x0]
- add r5, r0, #0x4
- mov r0, #0x14
- mla r0, r3, r0, r5
- ldr r3, [sp, #0xa0]
- str r0, [sp, #0x14]
- bl FUN_02093214
-_0209194C: ; 0x0209194C
- cmp r0, #0x0
- beq _02091E6C
- ldr r0, [sp, #0x14]
- mov r1, r10
- bl FUN_0209508C
-_02091960:
- ldr r0, [sp, #0xa0]
- ldr r3, [r0, #0x0]
- ldr r0, [r6, #0x4]
- add r1, r3, #0x1
- mul r2, r0, r4
- ldr r0, [sp, #0xa0]
- mov r4, r2, lsl #0x1
- str r1, [r0, #0x0]
- ldr r1, [r0, #0x0]
- add r4, r4, #0x7
- add r2, r1, #0x1
- str r2, [r0, #0x0]
- ldr r2, [sp, #0x10]
- ldr r0, [r0, #0x0]
- mul r5, r2, r10
- mov r2, r4, asr #0x1
- add r2, r4, r2, lsr #0x1e
- add r5, r5, r2, asr #0x2
- ldr r2, [sp, #0xa0]
- mov r6, #0x14
- add r2, r2, #0x4
- mla r8, r1, r6, r2
- mla r4, r3, r6, r2
- ldr r1, [sp, #0xa0]
- add r3, r0, #0x1
- mla r7, r0, r6, r2
- str r3, [r1, #0x0]
- mov r0, r1
- ldr r0, [r0, #0x0]
- mla r6, r0, r6, r2
- add r1, r0, #0x1
- ldr r0, [sp, #0xa0]
- str r1, [r0, #0x0]
- ldr r0, [sp, #0x4]
- ldr r0, [r0, #0x8]
- cmp r10, r0
- ldrle r0, [sp, #0x4]
- ble _02091A04
- ldr r0, [sp, #0x4]
- mov r1, r10
- bl FUN_02094EBC
-_02091A04:
- cmp r0, #0x0
- beq _02091E6C
- ldr r0, [r8, #0x8]
- mov r1, r10, lsl #0x2
- cmp r1, r0
- movle r0, r8
- ble _02091A28
- mov r0, r8
- bl FUN_02094EBC
-_02091A28:
- cmp r0, #0x0
- beq _02091E6C
- ldr r1, [r7, #0x8]
- mov r0, r10, lsl #0x1
- str r0, [sp, #0x24]
- cmp r0, r1
- movle r0, r7
- ble _02091A54
- ldr r1, [sp, #0x24]
- mov r0, r7
- bl FUN_02094EBC
-_02091A54:
- cmp r0, #0x0
- beq _02091E6C
- ldr r0, [r4, #0x8]
- cmp r5, r0
- movle r0, r4
- ble _02091A78
- mov r1, r5
- mov r0, r4
- bl FUN_02094EBC
-_02091A78:
- cmp r0, #0x0
- beq _02091E6C
- ldr r1, [r6, #0x8]
- ldr r0, [sp, #0x24]
- cmp r0, r1
- movle r0, r6
- ble _02091AA0
- ldr r1, [sp, #0x24]
- mov r0, r6
- bl FUN_02094EBC
-_02091AA0:
- cmp r0, #0x0
- beq _02091E6C
- ldr r0, [sp, #0x18]
- ldr r11, [r8, #0x0]
- ldr r8, [r7, #0x0]
- ldr r6, [r6, #0x0]
- ldr r1, [r4, #0x0]
- ldr r7, [r0, #0x48]
- ldr r5, [r0, #0x20]
- ldr r3, [sp, #0x18]
- str r1, [sp, #0x38]
- str r10, [sp, #0x0]
- ldr r1, [sp, #0x14]
- ldr r3, [r3, #0xc]
- ldr r1, [r1, #0x0]
- mov r0, r6
- mov r2, r10
- bl FUN_020937E8
- str r7, [sp, #0x0]
- ldr r0, [sp, #0x38]
- mov r1, r6
- mov r2, r5
- mov r3, r10
- bl FUN_02092E30
- ldr r0, [sp, #0x10]
- cmp r0, #0x1
- ble _02091BA8
- ldr r1, [sp, #0x38]
- mov r0, r6
- mov r2, r10
- mov r3, r11
- bl FUN_02092F70
- mov r0, r11
- mov r1, r6
- mov r2, r5
- mov r3, r10
- str r7, [sp, #0x0]
- bl FUN_02092E30
- ldr r0, [sp, #0x10]
- mov r4, #0x1
- cmp r0, #0x1
- ble _02091BA8
- mov r0, r10, lsl #0x2
- str r0, [sp, #0x28]
- add r9, sp, #0x38
-_02091B54:
- sub r3, r4, #0x1
- ldr r2, [r9, r3, lsl #0x2]
- ldr r1, [sp, #0x28]
- mov r0, r6
- add r1, r2, r1
- str r1, [r9, r4, lsl #0x2]
- str r10, [sp, #0x0]
- ldr r1, [r9, r3, lsl #0x2]
- mov r2, r10
- mov r3, r11
- bl FUN_020937E8
- str r7, [sp, #0x0]
- ldr r0, [r9, r4, lsl #0x2]
- mov r1, r6
- mov r2, r5
- mov r3, r10
- bl FUN_02092E30
- ldr r0, [sp, #0x10]
- add r4, r4, #0x1
- cmp r4, r0
- blt _02091B54
-_02091BA8:
- ldr r3, [sp, #0x34]
- add r0, r3, #0x1
- str r0, [sp, #0x34]
- add r2, r0, #0x1
- ldrb r1, [r3, #0x0]
- str r2, [sp, #0x34]
- ldrb r9, [r3, #0x1]
- cmp r9, #0xff
- bne _02091C28
- cmp r1, #0x0
- bne _02091C28
- add r0, r2, #0x1
- str r0, [sp, #0x34]
- ldrb r1, [r2, #0x0]
- b _02091BF8
-_02091BE4:
- add r9, r9, #0x100
- ldr r1, [sp, #0x34]
- add r1, r1, #0x2
- str r1, [sp, #0x34]
- ldrb r1, [r0, #0x1]
-_02091BF8:
- ldr r0, [sp, #0x34]
- ldrb r2, [r0, #0x0]
- cmp r2, #0xff
- bne _02091C10
- cmp r1, #0x0
- beq _02091BE4
-_02091C10:
- ldr r2, [sp, #0x34]
- add r2, r2, #0x1
- str r2, [sp, #0x34]
- ldrb r0, [r0, #0x0]
- add r0, r0, #0x1
- add r9, r9, r0
-_02091C28:
- mov r2, r1, asr #0x1
- add r0, sp, #0x38
- ldr r0, [r0, r2, lsl #0x2]
- mov r1, r8
- mov r2, r10, lsl #0x2
- bl MI_CpuCopy8
-_02091C40: ; 0x02091C40
- cmp r9, #0x0
- beq _02091E00
- mov r0, #0xff
- str r0, [sp, #0x2c]
- mov r0, #0x0
- str r0, [sp, #0x30]
-_02091C58:
- ldr r0, [sp, #0x1c]
- cmp r0, #0x0
- beq _02091C8C
- mov r3, r0
- ldr r1, [sp, #0x2c]
- ldr r2, [sp, #0x20]
- ldr r3, [r3, #0x0]
- blx r3
- cmp r0, #0x0
- ldr r0, [sp, #0x20]
- add r0, r0, #0x1
- str r0, [sp, #0x20]
- bne _02091E6C
-_02091C8C:
- ldr r0, [sp, #0xa0]
- ldr r0, [r0, #0x108]
- ands r0, r0, #0x4000
- bne _02091E6C
- cmp r9, #0x0
- ldr r4, [sp, #0x30]
- ble _02091CE0
-_02091CA8:
- mov r0, r6
- mov r1, r8
- mov r2, r10
- mov r3, r11
- bl FUN_02092F70
- str r7, [sp, #0x0]
- mov r0, r8
- mov r1, r6
- mov r2, r5
- mov r3, r10
- bl FUN_02092E30
- add r4, r4, #0x1
- cmp r4, r9
- blt _02091CA8
-_02091CE0:
- ldr r2, [sp, #0x34]
- add r0, r2, #0x1
- str r0, [sp, #0x34]
- add r1, r0, #0x1
- ldrb r0, [r2, #0x0]
- str r1, [sp, #0x34]
- ldrb r9, [r2, #0x1]
- cmp r9, #0xff
- bne _02091D60
- cmp r0, #0x0
- bne _02091D60
- add r0, r1, #0x1
- str r0, [sp, #0x34]
- ldrb r0, [r1, #0x0]
- b _02091D30
-_02091D1C:
- add r9, r9, #0x100
- ldr r0, [sp, #0x34]
- add r0, r0, #0x2
- str r0, [sp, #0x34]
- ldrb r0, [r1, #0x1]
-_02091D30:
- ldr r1, [sp, #0x34]
- ldrb r2, [r1, #0x0]
- cmp r2, #0xff
- bne _02091D48
- cmp r0, #0x0
- beq _02091D1C
-_02091D48:
- ldr r2, [sp, #0x34]
- add r2, r2, #0x1
- str r2, [sp, #0x34]
- ldrb r1, [r1, #0x0]
- add r1, r1, #0x1
- add r9, r9, r1
-_02091D60:
- cmp r0, #0x0
- bne _02091D70
- cmp r9, #0x0
- beq _02091E00
-_02091D70:
- cmp r9, #0x0
- bne _02091D80
- cmp r0, #0x1
- beq _02091DBC
-_02091D80:
- mov r1, r0, asr #0x1
- str r10, [sp, #0x0]
- add r0, sp, #0x38
- ldr r3, [r0, r1, lsl #0x2]
- mov r0, r6
- mov r1, r8
- mov r2, r10
- bl FUN_020937E8
- mov r0, r8
- mov r1, r6
- mov r2, r5
- mov r3, r10
- str r7, [sp, #0x0]
- bl FUN_02092E30
- b _02091DF8
-_02091DBC:
- ldr r0, [sp, #0x14]
- str r10, [sp, #0x0]
- ldr r3, [r0, #0x0]
- mov r0, r6
- mov r1, r8
- mov r2, r10
- bl FUN_020937E8
- ldr r0, [sp, #0x4]
- str r7, [sp, #0x0]
- ldr r0, [r0, #0x0]
- mov r1, r6
- mov r2, r5
- mov r3, r10
- bl FUN_02092E30
- b _02091E44
-_02091DF8:
- cmp r9, #0x0
- bne _02091C58
-_02091E00:
- ldr r0, [sp, #0x24]
- mov r2, r10
- cmp r10, r0
- bge _02091E28
- mov r1, #0x0
-_02091E14:
- ldr r0, [sp, #0x24]
- str r1, [r8, r2, lsl #0x2]
- add r2, r2, #0x1
- cmp r2, r0
- blt _02091E14
-_02091E28:
- ldr r0, [sp, #0x4]
- str r7, [sp, #0x0]
- ldr r0, [r0, #0x0]
- mov r1, r8
- mov r2, r5
- mov r3, r10
- bl FUN_02092E30
-_02091E44:
- ldr r0, [sp, #0xa0]
- ldr r0, [r0, #0x108]
- ands r0, r0, #0x4000
- bne _02091E6C
- ldr r0, [sp, #0x4]
- mov r1, r0
- str r10, [r1, #0x4]
- bl FUN_02095040
- mov r0, #0x1
- str r0, [sp, #0x8]
-_02091E6C:
- ldr r0, [sp, #0x1c]
- cmp r0, #0x0
- beq _02091E94
- ldr r3, [r0, #0x0]
- mov r1, #0xff
- mvn r2, #0x0
- blx r3
- cmp r0, #0x0
- movne r0, #0x0
- strne r0, [sp, #0x8]
-_02091E94:
- ldr r0, [sp, #0xa4]
- cmp r0, #0x0
- bne _02091EB0
- ldr r0, [sp, #0x18]
- cmp r0, #0x0
- beq _02091EB0
- bl FUN_020927E4
-_02091EB0:
- ldr r2, [sp, #0xc]
- ldr r1, [sp, #0xa0]
- ldr r0, [sp, #0x8]
- str r2, [r1, #0x0]
- add sp, sp, #0x7c
- ldmia sp!, {r4-r11,lr}
- bx lr
-
- arm_func_start FUN_02091ECC
-FUN_02091ECC: ; 0x02091ECC
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0x18c
- mov r10, r0
- mov r0, #0x0
- str r0, [sp, #0x8]
- mov r5, r1
- ldr r1, [sp, #0x8]
- mov r0, r2
- str r2, [sp, #0x4]
- mov r4, r3
- str r1, [sp, #0xc]
- ldr r9, [sp, #0x1b0]
- bl FUN_02095188
- ldr r1, [r5, #0x4]
- mov r8, r0
- cmp r1, #0x0
- beq _02091F28
- cmp r1, #0x1
- bne _02091F44
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- bne _02091F44
-_02091F28:
- mov r0, r10
- mov r1, #0x0
- bl FUN_02094D7C
- add sp, sp, #0x18c
- mov r0, #0x1
- ldmia sp!, {r4-r11,lr}
- bx lr
-_02091F44:
- ldr r0, [sp, #0x4]
- ldr r1, [r0, #0x4]
- cmp r1, #0x0
- beq _02091F6C
- cmp r1, #0x1
- bne _02091F88
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- bne _02091F88
-_02091F6C:
- mov r0, r10
- mov r1, #0x1
- bl FUN_02094D7C
- add sp, sp, #0x18c
- mov r0, #0x1
- ldmia sp!, {r4-r11,lr}
- bx lr
-_02091F88:
- cmp r1, #0x1
- bne _02091FC0
- ldr r0, [sp, #0x4]
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x0]
- cmp r0, #0x1
- bne _02091FC0
- mov r0, r10
- mov r1, r5
- bl FUN_02094E24
- add sp, sp, #0x18c
- mov r0, #0x1
- ldmia sp!, {r4-r11,lr}
- bx lr
-_02091FC0:
- add r0, sp, #0x18
- bl FUN_020927BC
- add r0, sp, #0x18
- mov r1, r4
- mov r2, r9
- bl FUN_02092744
-_02091FD8: ; 0x02091FD8
- cmp r0, #0x0
- ble _0209220C
- add r0, sp, #0x4c
- bl FUN_0209502C
- ldr r2, [r9, #0x0]
- add r1, r9, #0x4
- mov r0, #0x14
- mla r6, r2, r0, r1
- add r1, r2, #0x1
- str r1, [r9, #0x0]
- mov r2, r4
- mov r4, #0x1
- add r0, sp, #0x4c
- mov r1, r5
- mov r3, r9
- str r4, [sp, #0xc]
- bl FUN_02093214
-_0209201C: ; 0x0209201C
- cmp r0, #0x0
- beq _0209220C
- add r1, sp, #0x4c
- add r3, sp, #0x18
- mov r0, r6
- mov r2, r1
- str r9, [sp, #0x0]
- bl FUN_02092698
-_0209203C: ; 0x0209203C
- cmp r0, #0x0
- beq _0209220C
- cmp r8, #0x11
- movle r11, r4
- ble _02092068
- cmp r8, #0x100
- movge r11, #0x5
- bge _02092068
- cmp r8, #0x80
- movge r11, #0x4
- movlt r11, #0x3
-_02092068:
- sub r0, r11, #0x1
- mov r4, #0x1
- mov r7, r4, lsl r0
- cmp r7, #0x1
- ble _020920C4
- add r5, sp, #0x60
-_02092080:
- mov r0, r5
- bl FUN_0209502C
- sub r3, r4, #0x1
- mov r2, #0x14
- add r1, sp, #0x4c
- mla r1, r3, r2, r1
- mov r0, r5
- mov r2, r6
- add r3, sp, #0x18
- str r9, [sp, #0x0]
- bl FUN_02092698
-_020920AC: ; 0x020920AC
- cmp r0, #0x0
- beq _0209220C
- add r4, r4, #0x1
- cmp r4, r7
- add r5, r5, #0x14
- blt _02092080
-_020920C4:
- mov r5, #0x1
- mov r0, r10
- mov r1, r5
- str r4, [sp, #0xc]
- sub r8, r8, #0x1
- bl FUN_02094D7C
-_020920DC: ; 0x020920DC
- cmp r0, #0x0
- beq _0209220C
- mov r0, r5
- str r0, [sp, #0x10]
- mov r0, #0x0
- str r0, [sp, #0x14]
-_020920F4:
- ldr r0, [sp, #0x4]
- mov r1, r8
- bl FUN_02094A8C
-_02092100: ; 0x02092100
- cmp r0, #0x0
- bne _02092140
- cmp r5, #0x0
- bne _02092130
- mov r0, r10
- mov r1, r10
- mov r2, r10
- add r3, sp, #0x18
- str r9, [sp, #0x0]
- bl FUN_02092698
-_02092128: ; 0x02092128
- cmp r0, #0x0
- beq _0209220C
-_02092130:
- cmp r8, #0x0
- beq _02092204
- sub r8, r8, #0x1
- b _020920F4
-_02092140:
- ldr r6, [sp, #0x10]
- ldr r7, [sp, #0x14]
- cmp r11, #0x1
- mov r4, r6
- ble _02092184
-_02092154:
- subs r1, r8, r4
- bmi _02092184
- ldr r0, [sp, #0x4]
- bl FUN_02094A8C
-_02092164: ; 0x02092164
- cmp r0, #0x0
- subne r0, r4, r7
- movne r0, r6, lsl r0
- movne r7, r4
- add r4, r4, #0x1
- orrne r6, r0, #0x1
- cmp r4, r11
- blt _02092154
-_02092184:
- cmp r5, #0x0
- add r5, r7, #0x1
- bne _020921C8
- cmp r5, #0x0
- ldr r4, [sp, #0x14]
- ble _020921C8
-_0209219C:
- mov r0, r10
- mov r1, r10
- mov r2, r10
- add r3, sp, #0x18
- str r9, [sp, #0x0]
- bl FUN_02092698
-_020921B4: ; 0x020921B4
- cmp r0, #0x0
- beq _0209220C
- add r4, r4, #0x1
- cmp r4, r5
- blt _0209219C
-_020921C8:
- mov r3, r6, asr #0x1
- mov r1, #0x14
- add r0, sp, #0x4c
- mla r2, r3, r1, r0
- mov r0, r10
- mov r1, r10
- add r3, sp, #0x18
- str r9, [sp, #0x0]
- bl FUN_02092698
-_020921EC: ; 0x020921EC
- cmp r0, #0x0
- beq _0209220C
- add r0, r7, #0x1
- ldr r5, [sp, #0x14]
- subs r8, r8, r0
- bpl _020920F4
-_02092204:
- mov r0, #0x1
- str r0, [sp, #0x8]
-_0209220C:
- ldr r0, [sp, #0xc]
- ldr r1, [r9, #0x0]
- cmp r0, #0x0
- sub r0, r1, #0x1
- str r0, [r9, #0x0]
- mov r4, #0x0
- ble _02092248
- add r5, sp, #0x4c
-_0209222C:
- mov r0, r5
- bl FUN_02095164
- ldr r0, [sp, #0xc]
- add r4, r4, #0x1
- cmp r4, r0
- add r5, r5, #0x14
- blt _0209222C
-_02092248:
- add r0, sp, #0x18
- bl FUN_02092788
- ldr r0, [sp, #0x8]
- add sp, sp, #0x18c
- ldmia sp!, {r4-r11,lr}
- bx lr
-
- arm_func_start FUN_02092260
-FUN_02092260: ; 0x02092260
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0x4
- movs r8, r2
- mov r10, r0
- mov r9, r1
- mov r11, #0x0
- mov r5, #0x2
- addeq sp, sp, #0x4
- mvneq r0, #0x0
- ldmeqia sp!, {r4-r11,lr}
- bxeq lr
- mov r0, r8
- bl FUN_020951BC
- cmp r0, #0x20
- beq _020922B4
- mov r1, #0x1
- cmp r10, r1, lsl r0
- addhi sp, sp, #0x4
- movhi r0, r11
- ldmhiia sp!, {r4-r11,lr}
- bxhi lr
-_020922B4:
- cmp r10, r8
- rsb r2, r0, #0x20
- subcs r10, r10, r8
- cmp r2, #0x0
- movne r1, r10, lsl r2
- rsbne r0, r2, #0x20
- orrne r10, r1, r9, lsr r0
- movne r8, r8, lsl r2
- ldr r4, _0209239C ; =0x0000FFFF
- movne r9, r9, lsl r2
- and r7, r4, r8, lsr #0x10
- and r6, r8, r4
-_020922E4:
- mov r0, r10, lsr #0x10
- cmp r0, r7
- moveq r0, r4
- beq _02092300
- mov r0, r10
- mov r1, r7
- bl _u32_div_f
-_02092300:
- mul r12, r0, r7
- mul r3, r0, r6
- and r2, r4, r9, lsr #0x10
-_0209230C:
- mov lr, #0x10000
- sub r1, r10, r12
- rsb lr, lr, #0x0
- ands lr, r1, lr
- bne _02092338
- add r1, r2, r1, lsl #0x10
- cmp r3, r1
- subhi r12, r12, r7
- subhi r3, r3, r6
- subhi r0, r0, #0x1
- bhi _0209230C
-_02092338:
- mul r2, r0, r6
- and r1, r2, r4
- mul r3, r0, r7
- mov r1, r1, lsl #0x10
- cmp r9, r1
- add r2, r3, r2, lsr #0x10
- addcc r2, r2, #0x1
- cmp r10, r2
- addcc r10, r10, r8
- sub r9, r9, r1
- subcc r0, r0, #0x1
- sub r1, r10, r2
- subs r5, r5, #0x1
- beq _0209238C
- and r2, r0, r4
- mov r1, r1, lsl #0x10
- and r0, r9, r4
- orr r10, r1, r9, lsr #0x10
- mov r11, r2, lsl #0x10
- mov r9, r0, lsl #0x10
- b _020922E4
-_0209238C:
- orr r0, r11, r0
- add sp, sp, #0x4
- ldmia sp!, {r4-r11,lr}
- bx lr
- .balign 4
-_0209239C: .word 0x0000FFFF
-
- arm_func_start FUN_020923A0
-FUN_020923A0: ; 0x020923A0
- stmdb sp!, {r4-r8,lr}
- sub sp, sp, #0x18
- mov r8, r0
- add r0, sp, #0x4
- mov r7, r1
- mov r6, r2
- mov r5, r3
- mvn r4, #0x0
- bl FUN_0209502C
- add r0, sp, #0x4
- mov r1, #0x0
- bl FUN_02094D7C
- add r0, sp, #0x4
- mov r1, r6
- bl FUN_02094AFC
-_020923DC: ; 0x020923DC
- cmp r0, #0x0
- beq _02092404
- add r2, sp, #0x4
- mov r0, r8
- mov r3, r7
- mov r1, #0x0
- str r5, [sp, #0x0]
- bl FUN_02093248
-_020923FC: ; 0x020923FC
- cmp r0, #0x0
- movne r4, r6
-_02092404:
- add r0, sp, #0x4
- bl FUN_0209510C
- mov r0, r4
- add sp, sp, #0x18
- ldmia sp!, {r4-r8,lr}
- bx lr
-
- arm_func_start FUN_0209241C
-FUN_0209241C: ; 0x0209241C
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0xc
- ldr r6, [sp, #0x30]
- mov r9, r1
- ldr r11, [r6, #0x0]
- movs r10, r0
- add r0, r11, #0x1
- str r0, [r6, #0x0]
- ldr r7, [r6, #0x0]
- add r4, r6, #0x4
- mov r0, #0x14
- mla r5, r11, r0, r4
- add r12, r7, #0x1
- mov r1, #0x0
- str r5, [sp, #0x4]
- mla r5, r7, r0, r4
- str r12, [r6, #0x0]
- str r1, [sp, #0x0]
- ldreq r1, [r6, #0x0]
- mov r8, r2
- mlaeq r10, r1, r0, r4
- addeq r0, r1, #0x1
- streq r0, [r6, #0x0]
- mov r7, r3
- cmp r9, #0x0
- bne _0209249C
- ldr r2, [r6, #0x0]
- add r1, r6, #0x4
- mov r0, #0x14
- mla r9, r2, r0, r1
- add r0, r2, #0x1
- str r0, [r6, #0x0]
-_0209249C:
- mov r0, r8
- mov r1, r7
- bl FUN_02094B98
-_020924A8: ; 0x020924A8
- cmp r0, #0x0
- bge _020924DC
- mov r0, r10
- mov r1, #0x0
- bl FUN_02094D7C
- mov r0, r9
- mov r1, r8
- bl FUN_02094E24
- add sp, sp, #0xc
- str r11, [r6, #0x0]
- mov r0, #0x1
- ldmia sp!, {r4-r11,lr}
- bx lr
-_020924DC:
- mov r0, r8
- bl FUN_02095188
- ldr r1, [r7, #0x28]
- mov r2, r0
- mov r0, r1, lsl #0x1
- cmp r0, r2
- movgt r2, r0
- suble r0, r2, r0
- movgt r4, #0x0
- addle r0, r0, r0, lsr #0x1f
- movle r4, r0, asr #0x1
- ldr r1, [r7, #0x2c]
- add r0, r2, r2, lsr #0x1f
- mov r0, r0, asr #0x1
- cmp r2, r1
- str r0, [sp, #0x8]
- beq _02092534
- mov r1, r7
- mov r3, r6
- add r0, r7, #0x14
- bl FUN_020923A0
- str r0, [r7, #0x2c]
-_02092534:
- ldr r2, [sp, #0x8]
- ldr r0, [sp, #0x4]
- mov r1, r8
- sub r2, r2, r4
- bl FUN_02094134
-_02092548: ; 0x02092548
- cmp r0, #0x0
- beq _02092684
- ldr r1, [sp, #0x4]
- mov r0, r5
- mov r3, r6
- add r2, r7, #0x14
- bl FUN_0209390C
-_02092564: ; 0x02092564
- cmp r0, #0x0
- beq _02092684
- ldr r2, [sp, #0x8]
- mov r0, r10
- mov r1, r5
- add r2, r2, r4
- bl FUN_02094134
-_02092580: ; 0x02092580
- cmp r0, #0x0
- beq _02092684
- mov r4, #0x0
- mov r0, r5
- mov r1, r7
- mov r2, r10
- mov r3, r6
- str r4, [r10, #0xc]
- bl FUN_0209390C
-_020925A4: ; 0x020925A4
- cmp r0, #0x0
- beq _02092684
- mov r0, r9
- mov r1, r8
- mov r2, r5
- bl FUN_02093B50
-_020925BC: ; 0x020925BC
- cmp r0, #0x0
- beq _02092684
- mov r5, r4
- mov r0, r9
- mov r1, r7
- str r5, [r9, #0xc]
- bl FUN_02094B98
-_020925D8: ; 0x020925D8
- cmp r0, #0x0
- blt _02092630
- mov r4, #0x1
-_020925E4:
- cmp r5, #0x2
- add r5, r5, #0x1
- bgt _02092684
- mov r0, r9
- mov r1, r9
- mov r2, r7
- bl FUN_02093B50
-_02092600: ; 0x02092600
- cmp r0, #0x0
- beq _02092684
- mov r0, r10
- mov r1, r4
- bl FUN_0209400C
-_02092614: ; 0x02092614
- cmp r0, #0x0
- beq _02092684
- mov r0, r9
- mov r1, r7
- bl FUN_02094B98
-_02092628: ; 0x02092628
- cmp r0, #0x0
- bge _020925E4
-_02092630:
- ldr r0, [r9, #0x4]
- mov r1, #0x1
- cmp r0, #0x0
- beq _0209265C
- cmp r0, #0x1
- bne _02092658
- ldr r0, [r9, #0x0]
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- beq _0209265C
-_02092658:
- mov r1, #0x0
-_0209265C:
- cmp r1, #0x0
- movne r0, #0x0
- ldreq r0, [r8, #0xc]
- str r0, [r9, #0xc]
- mov r0, #0x1
- ldr r2, [r8, #0xc]
- ldr r1, [r7, #0xc]
- str r0, [sp, #0x0]
- eor r0, r2, r1
- str r0, [r10, #0xc]
-_02092684:
- ldr r0, [sp, #0x0]
- str r11, [r6, #0x0]
- add sp, sp, #0xc
- ldmia sp!, {r4-r11,lr}
- bx lr
-
- arm_func_start FUN_02092698
-FUN_02092698:
- stmdb sp!, {r4-r8,lr}
- sub sp, sp, #0x8
- ldr r4, [sp, #0x20]
- mov r12, #0x14
- ldr r5, [r4, #0x0]
- add lr, r4, #0x4
- mla r6, r5, r12, lr
- add r12, r5, #0x1
- mov r8, r0
- mov r7, r3
- str r12, [r4, #0x0]
- cmp r2, #0x0
- mov r5, #0x0
- beq _02092708
- cmp r1, r2
- bne _020926F0
- mov r0, r6
- mov r2, r4
- bl FUN_0209305C
-_020926E4: ; 0x020926E4
- cmp r0, #0x0
- bne _0209270C
- b _02092728
-_020926F0:
- mov r0, r6
- mov r3, r4
- bl FUN_0209390C
-_020926FC: ; 0x020926FC
- cmp r0, #0x0
- bne _0209270C
- b _02092728
-_02092708:
- mov r6, r1
-_0209270C:
- mov r1, r8
- mov r2, r6
- mov r3, r7
- mov r0, #0x0
- str r4, [sp, #0x0]
- bl FUN_0209241C
- mov r5, #0x1
-_02092728:
- ldr r1, [r4, #0x0]
- mov r0, r5
- sub r1, r1, #0x1
- str r1, [r4, #0x0]
- add sp, sp, #0x8
- ldmia sp!, {r4-r8,lr}
- bx lr
-
- arm_func_start FUN_02092744
-FUN_02092744:
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r5, r0
- mov r4, r1
- bl FUN_02094E24
- add r0, r5, #0x14
- mov r1, #0x0
- bl FUN_02094D7C
- mov r0, r4
- bl FUN_02095188
- str r0, [r5, #0x28]
- mov r0, #0x0
- str r0, [r5, #0x2c]
- mov r0, #0x1
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
-
- arm_func_start FUN_02092788
-FUN_02092788: ; 0x02092788
- stmdb sp!, {r4,lr}
- mov r4, r0
- bl FUN_0209510C
- add r0, r4, #0x14
- bl FUN_0209510C
- ldr r0, [r4, #0x30]
- ands r0, r0, #0x1
- ldmeqia sp!, {r4,lr}
- bxeq lr
- mov r0, r4
- bl FUN_0209105C
- ldmia sp!, {r4,lr}
- bx lr
-
- arm_func_start FUN_020927BC
-FUN_020927BC: ; 0x020927BC
- stmdb sp!, {r4,lr}
- mov r4, r0
- bl FUN_0209502C
- add r0, r4, #0x14
- bl FUN_0209502C
-_020927D0: ; 0x020927D0
- mov r0, #0x0
- str r0, [r4, #0x28]
- str r0, [r4, #0x30]
- ldmia sp!, {r4,lr}
- bx lr
-
- arm_func_start FUN_020927E4
-FUN_020927E4: ; 0x020927E4
- stmdb sp!, {r4,lr}
- mov r4, r0
- add r0, r4, #0xc
- bl FUN_0209510C
- add r0, r4, #0x20
- bl FUN_0209510C
- add r0, r4, #0x34
- bl FUN_0209510C
- ldr r0, [r4, #0x4c]
- ands r0, r0, #0x1
- ldmeqia sp!, {r4,lr}
- bxeq lr
- mov r0, r4
- bl FUN_0209105C
- ldmia sp!, {r4,lr}
- bx lr
-
- arm_func_start FUN_02092824
-FUN_02092824: ; 0x02092824
- stmdb sp!, {r4,lr}
- mov r4, r0
- mov r1, #0x0
- str r1, [r4, #0x0]
- add r0, r4, #0xc
- str r1, [r4, #0x8]
- bl FUN_0209502C
- add r0, r4, #0x20
- bl FUN_0209502C
- add r0, r4, #0x34
- bl FUN_0209502C
-_02092850: ; 0x02092850
- mov r0, #0x0
- str r0, [r4, #0x4c]
- ldmia sp!, {r4,lr}
- bx lr
-
- arm_func_start FUN_02092860
-FUN_02092860: ; 0x02092860
- stmdb sp!, {r4,lr}
- mov r0, #0x50
- bl FUN_020910A4
- movs r4, r0
- moveq r0, #0x0
- ldmeqia sp!, {r4,lr}
- bxeq lr
- bl FUN_02092824
- mov r1, #0x1
- mov r0, r4
- str r1, [r4, #0x4c]
- ldmia sp!, {r4,lr}
- bx lr
-
- arm_func_start FUN_02092894
-FUN_02092894:
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x14
- mov r6, r1
- ldr r3, [r6, #0x4]
- mov r7, r0
- cmp r3, #0x0
- mov r5, r2
- addeq sp, sp, #0x14
- moveq r0, #0x0
- ldmeqia sp!, {r4-r7,lr}
- bxeq lr
- add r0, r7, #0x20
- add r4, r7, #0xc
- bl FUN_02094E24
-_020928CC: ; 0x020928CC
- cmp r0, #0x0
- addeq sp, sp, #0x14
- moveq r0, #0x0
- ldmeqia sp!, {r4-r7,lr}
- bxeq lr
- add r0, sp, #0x0
- bl FUN_0209502C
- mov r1, #0x1
- mov r0, r6
- str r1, [r7, #0x0]
- bl FUN_02095188
- add r1, r0, #0x1f
- mov r0, r1, asr #0x4
- add r0, r1, r0, lsr #0x1b
- mov r2, r0, asr #0x5
- mov r0, r4
- mov r1, #0x0
- str r2, [r7, #0x8]
- bl FUN_02094D7C
-_02092918: ; 0x02092918
- cmp r0, #0x0
- addeq sp, sp, #0x14
- moveq r0, #0x0
- ldmeqia sp!, {r4-r7,lr}
- bxeq lr
- mov r0, r4
- mov r1, #0x20
- bl FUN_02094AFC
-_02092938: ; 0x02092938
- cmp r0, #0x0
- beq _02092A38
- ldr r0, [r6, #0x0]
- ldr r4, [r0, #0x0]
- mov r0, r4
- bl FUN_02092D9C
- mov r1, r0
- add r0, sp, #0x0
- bl FUN_02094D7C
-_0209295C: ; 0x0209295C
- cmp r0, #0x0
- beq _02092A38
- add r0, sp, #0x0
- mov r2, #0x20
- mov r1, r0
- bl FUN_02094250
-_02092974: ; 0x02092974
- cmp r0, #0x0
- beq _02092A38
- ldr r0, [sp, #0x4]
- cmp r0, #0x0
- beq _020929B0
- cmp r0, #0x1
- bne _020929A0
- ldr r0, [sp, #0x0]
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- beq _020929B0
-_020929A0:
- add r0, sp, #0x0
- mov r1, #0x1
- bl FUN_02093EAC
- b _020929C4
-_020929B0:
- add r0, sp, #0x0
- mvn r1, #0x0
- bl FUN_02094D7C
-_020929BC: ; 0x020929BC
- cmp r0, #0x0
- beq _02092A38
-_020929C4:
- ldr r2, [sp, #0x4]
- cmp r2, #0x1
- ldrge r0, [sp, #0x0]
- ldrge r1, [r0, #0x0]
- movlt r1, #0x0
- cmp r2, #0x2
- ldrge r0, [sp, #0x0]
- mov r2, r4
- ldrge r0, [r0, #0x4]
- movlt r0, #0x0
- bl FUN_02092260
- str r0, [r7, #0x48]
- add r0, r7, #0xc
- mov r1, #0x0
- bl FUN_02094D7C
- ldr r1, [r7, #0x8]
- add r0, r7, #0xc
- mov r1, r1, lsl #0x6
- bl FUN_02094AFC
-_02092A10: ; 0x02092A10
- cmp r0, #0x0
- beq _02092A38
- add r0, r7, #0xc
- mov r1, r0
- mov r3, r5
- add r2, r7, #0x20
- bl FUN_02093214
- ldr r1, [r7, #0x8]
- add r0, r7, #0xc
- bl FUN_0209508C
-_02092A38:
- add r0, sp, #0x0
- bl FUN_0209510C
- mov r0, #0x1
- add sp, sp, #0x14
- ldmia sp!, {r4-r7,lr}
- bx lr
-
- arm_func_start FUN_02092A50
-FUN_02092A50: ; 0x02092A50
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0xc
- mov r4, r2
- mov r7, r1
- cmp r4, #0x6
- mov r5, r0
- movgt r4, #0x6
- mov r1, #0x1
- mov r2, r1, lsl r4
- ldr r0, [r7, #0x4]
- sub r2, r2, #0x1
- add r0, r4, r0, lsl #0x5
- ldr r3, _02092C24 ; =0x02106170
- str r2, [sp, #0x0]
- ldr r2, [r3, r4, lsl #0x2]
- mov r1, r4
- sub r0, r0, #0x1
- str r2, [sp, #0x4]
- mov r6, #0x0
- bl _s32_div_f
- mov r12, #0x0
- mov r0, r0, lsl #0x1
- add r0, r0, #0x2
- mov r8, r6
- add r1, r5, r0
- strb r8, [r5, r0]
- strb r8, [r1, #-0x1]
- ldr r0, [r7, #0x0]
- ldr r2, [r7, #0x4]
- ldr r7, [r0, #0x0]
- add lr, r0, #0x4
- cmp r2, #0x1
- sub r9, r1, #0x2
- ldrgt r8, [lr], #0x4
- mov r10, r7
- mov r0, r12
- str r12, [sp, #0x8]
- mov r1, #0xff
- mov r11, r12
-_02092AEC:
- ldr r3, [sp, #0x0]
- and r3, r10, r3
- ldr r10, [sp, #0x4]
- ldrb r10, [r10, r3]
- cmp r10, #0x0
- beq _02092B4C
- add r12, r12, r10
- add r6, r6, r10
- cmp r6, #0x20
- blo _02092B34
- cmp r2, #0x1
- ble _02092B4C
- sub r2, r2, #0x1
- mov r7, r8
- cmp r2, #0x1
- movle r8, r11
- ldrgt r8, [lr], #0x4
- sub r6, r6, #0x20
-_02092B34:
- cmp r6, #0x0
- moveq r10, r7
- movne r10, r7, lsr r6
- rsbne r3, r6, #0x20
- orrne r10, r10, r8, lsl r3
- b _02092AEC
-_02092B4C:
- cmp r3, #0x0
- beq _02092BD0
- strb r12, [r9, #0x0]
- strb r3, [r9, #-0x1]
- cmp r12, #0x100
- sub r9, r9, #0x2
- blo _02092B88
- cmp r12, #0x100
- blo _02092B88
-_02092B70:
- strb r1, [r9, #0x0]
- sub r12, r12, #0x100
- strb r0, [r9, #-0x1]
- sub r9, r9, #0x2
- cmp r12, #0x100
- bhs _02092B70
-_02092B88:
- mov r12, r4
- add r6, r6, r4
- cmp r6, #0x20
- blo _02092BB8
- cmp r2, #0x1
- ble _02092BD0
- sub r2, r2, #0x1
- mov r7, r8
- cmp r2, #0x1
- ldrle r8, [sp, #0x8]
- sub r6, r6, #0x20
- ldrgt r8, [lr], #0x4
-_02092BB8:
- cmp r6, #0x0
- moveq r10, r7
- movne r10, r7, lsr r6
- rsbne r3, r6, #0x20
- orrne r10, r10, r8, lsl r3
- b _02092AEC
-_02092BD0:
- add r9, r9, #0x1
- mov r0, #0x2
- b _02092BF4
-_02092BDC:
- strb r2, [r5, #0x0]
- ldrb r1, [r9, #0x1]
- add r9, r9, #0x2
- add r0, r0, #0x2
- strb r1, [r5, #0x1]
- add r5, r5, #0x2
-_02092BF4:
- ldrb r2, [r9, #0x0]
- cmp r2, #0x0
- bne _02092BDC
- ldrb r1, [r9, #0x1]
- cmp r1, #0x0
- bne _02092BDC
- mov r1, #0x0
- strb r1, [r5, #0x0]
- strb r1, [r5, #0x1]
- add sp, sp, #0xc
- ldmia sp!, {r4-r11,lr}
- bx lr
- .balign 4
-_02092C24: .word 0x02106170
-
- arm_func_start FUN_02092C28
-FUN_02092C28:
- stmdb sp!, {r4-r9,lr}
- sub sp, sp, #0x4
- ldr r5, [r3], #0x4
- mov r2, #0x14
- mla r4, r5, r2, r3
- mov r9, r0
- ldr r0, [r9, #0x4]
- mov r8, r1
- cmp r0, #0x0
- mov r5, #0x0
- mov r1, r0, lsl #0x5
- addeq sp, sp, #0x4
- moveq r0, r5
- ldmeqia sp!, {r4-r9,lr}
- bxeq lr
- cmp r0, #0x1
- bne _02092CC8
- cmp r0, #0x1
- bne _02092C8C
- ldr r2, [r9, #0x0]
- ldr r1, _02092D8C ; =0x00010001
- ldr r2, [r2, #0x0]
- cmp r2, r1
- ldreq r5, _02092D90 ; =0x020FF500
- beq _02092CB8
-_02092C8C:
- ldr r1, [r9, #0x0]
- ldr r1, [r1, #0x0]
- cmp r1, #0x11
- bne _02092CA8
- cmp r0, #0x1
- ldreq r5, _02092D94 ; =0x020FF518
- beq _02092CB8
-_02092CA8:
- cmp r1, #0x3
- bne _02092CB8
- cmp r0, #0x1
- ldreq r5, _02092D98 ; =0x020FF50C
-_02092CB8:
- mov r7, #0x1
- mov r6, r7
- mov r1, #0x20
- b _02092CF8
-_02092CC8:
- cmp r1, #0x100
- movge r7, #0x5
- movge r6, #0x10
- movge r1, #0x7
- bge _02092CF8
- cmp r1, #0x80
- movge r6, #0x8
- movge r1, r6
- movge r7, #0x4
- movlt r7, #0x3
- movlt r6, #0x4
- movlt r1, #0xb
-_02092CF8:
- mul r1, r0, r1
- mov r0, r1, lsl #0x1
- add r1, r0, #0x7
- mov r0, r1, asr #0x1
- add r0, r1, r0, lsr #0x1e
- cmp r5, #0x0
- mov r1, r0, asr #0x2
- bne _02092D74
- ldr r0, [r4, #0x8]
- cmp r1, r0
- movle r0, r4
- ble _02092D30
- mov r0, r4
- bl FUN_02094EBC
-_02092D30:
- cmp r0, #0x0
- addeq sp, sp, #0x4
- moveq r0, #0x0
- ldmeqia sp!, {r4-r9,lr}
- bxeq lr
- ldr r5, [r4, #0x0]
- mov r1, r9
- mov r2, r7
- add r0, r5, #0x4
- bl FUN_02092A50
- add r1, r0, #0x2
- mov r0, r1, asr #0x8
- strb r0, [r5, #0x0]
- strb r1, [r5, #0x1]
- strb r7, [r5, #0x2]
- strb r6, [r5, #0x3]
- b _02092D78
-_02092D74:
- mov r1, #0x8
-_02092D78:
- str r5, [r8, #0x0]
- add r0, r1, #0x2
- add sp, sp, #0x4
- ldmia sp!, {r4-r9,lr}
- bx lr
- .balign 4
-_02092D8C: .word 0x00010001
-_02092D90: .word 0x020FF500
-_02092D94: .word 0x020FF518
-_02092D98: .word 0x020FF50C
-
- arm_func_start FUN_02092D9C
-FUN_02092D9C: ; 0x02092D9C
- stmdb sp!, {r4-r10,lr}
- mov r10, r0
- mov r1, r10
- rsb r0, r10, #0x0
- bl _u32_div_f
- movs r8, r1
- mov r7, r10
- mov r5, #0x0
- mov r6, #0x1
- mvn r4, #0x0
- beq _02092E04
-_02092DC8:
- mov r0, r7
- mov r1, r8
- bl _u32_div_f
- mov r9, r1
- mov r0, r7
- mov r1, r8
- bl _u32_div_f
- mla r1, r0, r6, r5
- mov r5, r6
- mov r7, r8
- mov r6, r1
- mov r8, r9
- cmp r9, #0x0
- rsb r4, r4, #0x0
- bne _02092DC8
-_02092E04:
- cmp r4, #0x0
- sublt r5, r10, r5
- cmp r7, #0x1
- movne r1, #0x0
- bne _02092E24
- mov r0, r5
- mov r1, r10
- bl _u32_div_f
-_02092E24:
- mov r0, r1
- ldmia sp!, {r4-r10,lr}
- bx lr
-
- arm_func_start FUN_02092E30
-FUN_02092E30: ; 0x02092E30
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0xc
- mov r7, r3
- mov r9, r1
- mov r6, #0x0
- mov r10, r0
- mov r8, r2
- mov r4, r6
- cmp r7, #0x0
- add r5, r9, r7, lsl #0x2
- ldr r11, [sp, #0x30]
- ble _02092EC0
- mov r0, #0x1
- str r6, [sp, #0x4]
- str r0, [sp, #0x0]
-_02092E6C:
- ldr r1, [r9, #0x0]
- mov r0, r9
- mul r3, r1, r11
- mov r1, r8
- mov r2, r7
- bl FUN_020948AC
- add r1, r0, r6
- ldr r0, [r5, #0x0]
- cmp r1, r6
- ldrcc r6, [sp, #0x0]
- add r0, r0, r1
- str r0, [r5, #0x0]
- ldr r0, [r5, #0x0]
- ldrcs r6, [sp, #0x4]
- cmp r0, r1
- add r4, r4, #0x1
- addcc r6, r6, #0x1
- cmp r4, r7
- add r9, r9, #0x4
- add r5, r5, #0x4
- blt _02092E6C
-_02092EC0:
- cmp r6, #0x0
- sub r2, r7, #0x1
- bne _02092F14
- ldr r1, [r9, r2, lsl #0x2]
- ldr r0, [r8, r2, lsl #0x2]
- cmp r1, r0
- bne _02092F00
- cmp r2, #0x0
- ble _02092F00
-_02092EE4:
- ldr r1, [r9, r2, lsl #0x2]
- ldr r0, [r8, r2, lsl #0x2]
- cmp r1, r0
- bne _02092F00
- sub r2, r2, #0x1
- cmp r2, #0x0
- bgt _02092EE4
-_02092F00:
- ldr r1, [r9, r2, lsl #0x2]
- ldr r0, [r8, r2, lsl #0x2]
- cmp r1, r0
- movcs r6, #0x1
- movcc r6, #0x0
-_02092F14:
- cmp r6, #0x0
- beq _02092F3C
- mov r0, r10
- mov r1, r9
- mov r2, r8
- mov r3, r7
- bl FUN_02094354
- add sp, sp, #0xc
- ldmia sp!, {r4-r11,lr}
- bx lr
-_02092F3C:
- cmp r7, #0x0
- addle sp, sp, #0xc
- mov r1, #0x0
- ldmleia sp!, {r4-r11,lr}
- bxle lr
-_02092F50:
- ldr r0, [r9, r1, lsl #0x2]
- str r0, [r10, r1, lsl #0x2]
- add r1, r1, #0x1
- cmp r1, r7
- blt _02092F50
- add sp, sp, #0xc
- ldmia sp!, {r4-r11,lr}
- bx lr
-
- arm_func_start FUN_02092F70
-FUN_02092F70:
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0x4
- mov r11, r2
- mov r6, r11, lsl #0x1
- mov r10, r0
- mov r7, r11
- mov r9, r1
- sub r7, r7, #0x1
- sub r2, r6, #0x1
- mov r0, #0x0
- str r0, [r10, r2, lsl #0x2]
- ldr r0, [r10, r2, lsl #0x2]
- str r3, [sp, #0x0]
- mov r5, r9
- str r0, [r10, #0x0]
- cmp r7, #0x0
- add r4, r10, #0x4
- ble _02092FD8
- add r5, r5, #0x4
- ldr r3, [r9, #0x0]
- mov r0, r4
- mov r1, r5
- mov r2, r7
- bl FUN_0209470C
- str r0, [r4, r7, lsl #0x2]
- add r4, r4, #0x8
-_02092FD8:
- sub r8, r11, #0x2
- cmp r8, #0x0
- ble _02093018
-_02092FE4:
- mov r0, r5
- sub r7, r7, #0x1
- add r5, r5, #0x4
- ldr r3, [r0, #0x0]
- mov r0, r4
- mov r1, r5
- mov r2, r7
- bl FUN_020948AC
- sub r8, r8, #0x1
- str r0, [r4, r7, lsl #0x2]
- cmp r8, #0x0
- add r4, r4, #0x8
- bgt _02092FE4
-_02093018:
- mov r0, r10
- mov r1, r10
- mov r2, r10
- mov r3, r6
- bl FUN_02094468
-_0209302C: ; 0x0209302C
- ldr r0, [sp, #0x0]
- mov r1, r9
- mov r2, r11
- bl FUN_020945B8
- ldr r2, [sp, #0x0]
- mov r0, r10
- mov r1, r10
- mov r3, r6
- bl FUN_02094468
- add sp, sp, #0x4
- ldmia sp!, {r4-r11,lr}
- bx lr
-
- arm_func_start FUN_0209305C
-FUN_0209305C:
- stmdb sp!, {r4-r9,lr}
- sub sp, sp, #0x64
- ldr r5, [r2, #0x0]
- mov r9, r0
- mov r8, r1
- cmp r8, r9
- add r3, r2, #0x4
- mov r2, #0x14
- movne r7, r9
- addeq r0, r5, #0x1
- mla r4, r5, r2, r3
- mlaeq r7, r0, r2, r3
- ldr r5, [r8, #0x4]
- cmp r5, #0x0
- movle r0, #0x0
- strle r0, [r9, #0x4]
- addle sp, sp, #0x64
- movle r0, #0x1
- ldmleia sp!, {r4-r9,lr}
- bxle lr
- ldr r0, [r7, #0x8]
- mov r6, r5, lsl #0x1
- cmp r6, r0
- movle r0, r7
- ble _020930CC
- mov r0, r7
- mov r1, r6
- bl FUN_02094EBC
-_020930CC:
- cmp r0, #0x0
- addeq sp, sp, #0x64
- moveq r0, #0x0
- ldmeqia sp!, {r4-r9,lr}
- bxeq lr
- str r6, [r7, #0x4]
- mov r0, #0x0
- str r0, [r7, #0xc]
- cmp r5, #0x4
- bne _0209310C
- ldr r0, [r7, #0x0]
- ldr r1, [r8, #0x0]
- add r3, sp, #0x0
- mov r2, #0x4
- bl FUN_02092F70
- b _02093170
-_0209310C:
- cmp r5, #0x8
- bne _0209312C
- ldr r0, [r7, #0x0]
- ldr r1, [r8, #0x0]
- add r3, sp, #0x20
- mov r2, #0x8
- bl FUN_02092F70
- b _02093170
-_0209312C:
- ldr r0, [r4, #0x8]
- cmp r6, r0
- movle r0, r4
- ble _02093148
- mov r0, r4
- mov r1, r6
- bl FUN_02094EBC
-_02093148:
- cmp r0, #0x0
- addeq sp, sp, #0x64
- moveq r0, #0x0
- ldmeqia sp!, {r4-r9,lr}
- bxeq lr
- ldr r0, [r7, #0x0]
- ldr r1, [r8, #0x0]
- ldr r3, [r4, #0x0]
- mov r2, r5
- bl FUN_02092F70
-_02093170:
- cmp r6, #0x0
- ble _02093194
- ldr r1, [r7, #0x0]
- sub r0, r6, #0x1
- ldr r0, [r1, r0, lsl #0x2]
- cmp r0, #0x0
- ldreq r0, [r7, #0x4]
- subeq r0, r0, #0x1
- streq r0, [r7, #0x4]
-_02093194:
- cmp r7, r9
- beq _020931A8
- mov r0, r9
- mov r1, r7
- bl FUN_02094E24
-_020931A8:
- mov r0, #0x1
- add sp, sp, #0x64
- ldmia sp!, {r4-r9,lr}
- bx lr
-
- arm_func_start FUN_020931B8
-FUN_020931B8:
- stmdb sp!, {lr}
- sub sp, sp, #0xc
- ldr r12, [r3, #0x4]
- cmp r12, #0x0
- ble _020931FC
- ldr r12, [r3, #0x0]
- ldr r12, [r12, #0x0]
- ands r12, r12, #0x1
- beq _020931FC
- ldr lr, [sp, #0x10]
- mov r12, #0x0
- str lr, [sp, #0x0]
- str r12, [sp, #0x4]
- bl FUN_020916C8
- add sp, sp, #0xc
- ldmia sp!, {lr}
- bx lr
-_020931FC:
- ldr r12, [sp, #0x10]
- str r12, [sp, #0x0]
- bl FUN_02091ECC
- add sp, sp, #0xc
- ldmia sp!, {lr}
- bx lr
-
- arm_func_start FUN_02093214
-FUN_02093214:
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- mov lr, r1
- mov r12, r2
- str r3, [sp, #0x0]
- mov r1, r0
- mov r2, lr
- mov r3, r12
- mov r0, #0x0
- bl FUN_02093248
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-
- arm_func_start FUN_02093248
-FUN_02093248:
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0x4c
- mov r6, r3
- ldr r3, [r6, #0x4]
- mov r8, r0
- str r1, [sp, #0x0]
- str r2, [sp, #0x4]
- cmp r3, #0x0
- ldr r4, [sp, #0x70]
- beq _02093288
- cmp r3, #0x1
- bne _02093298
- ldr r0, [r6, #0x0]
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- bne _02093298
-_02093288:
- add sp, sp, #0x4c
- mov r0, #0x0
- ldmia sp!, {r4-r11,lr}
- bx lr
-_02093298:
- ldr r0, [sp, #0x4]
- mov r1, r6
- bl FUN_02094B98
-_020932A4: ; 0x020932A4
- cmp r0, #0x0
- bge _020932F8
- ldr r0, [sp, #0x0]
- cmp r0, #0x0
- beq _020932D4
- ldr r1, [sp, #0x4]
- bl FUN_02094E24
-_020932C0: ; 0x020932C0
- cmp r0, #0x0
- addeq sp, sp, #0x4c
- moveq r0, #0x0
- ldmeqia sp!, {r4-r11,lr}
- bxeq lr
-_020932D4:
- cmp r8, #0x0
- beq _020932E8
- mov r0, r8
- mov r1, #0x0
- bl FUN_02094D7C
-_020932E8:
- add sp, sp, #0x4c
- mov r0, #0x1
- ldmia sp!, {r4-r11,lr}
- bx lr
-_020932F8:
- ldr r3, [r4, #0x0]
- add r0, r4, #0x4
- mov r2, #0x14
- mla r1, r3, r2, r0
- mov r3, #0x0
- str r3, [r1, #0xc]
- ldr r5, [r4, #0x0]
- str r1, [sp, #0x14]
- add r4, r5, #0x1
- mla r1, r4, r2, r0
- add r3, r5, #0x2
- str r1, [sp, #0x18]
- mla r1, r3, r2, r0
- cmp r8, #0x0
- str r1, [sp, #0x1c]
- addeq r1, r5, #0x3
- mlaeq r8, r1, r2, r0
- mov r0, r6
- bl FUN_02095188
- mov r1, r0, lsr #0x1f
- rsb r0, r1, r0, lsl #0x1b
- add r0, r1, r0, ror #0x1b
- rsb r0, r0, #0x20
- str r0, [sp, #0x8]
- ldr r0, [sp, #0x1c]
- ldr r2, [sp, #0x8]
- mov r1, r6
- bl FUN_02094250
-_02093368: ; 0x02093368
- cmp r0, #0x0
- addeq sp, sp, #0x4c
- moveq r0, #0x0
- ldmeqia sp!, {r4-r11,lr}
- bxeq lr
- ldr r2, [sp, #0x8]
- ldr r0, [sp, #0x18]
- ldr r1, [sp, #0x4]
- ldr r3, [sp, #0x1c]
- mov r4, #0x0
- add r2, r2, #0x20
- str r4, [r3, #0xc]
- bl FUN_02094250
-_0209339C: ; 0x0209339C
- cmp r0, #0x0
- addeq sp, sp, #0x4c
- moveq r0, r4
- ldmeqia sp!, {r4-r11,lr}
- bxeq lr
- ldr r0, [sp, #0x18]
- mov r1, r4
- str r1, [r0, #0xc]
- ldr r0, [sp, #0x1c]
- ldr r0, [r0, #0x4]
- str r0, [sp, #0x28]
- ldr r0, [sp, #0x18]
- ldr r1, [sp, #0x28]
- ldr r4, [r0, #0x4]
- add r0, sp, #0x38
- sub r1, r4, r1
- str r1, [sp, #0x10]
- bl FUN_0209502C
- ldr r0, [sp, #0x18]
- ldr r2, [r0, #0x0]
- ldr r0, [sp, #0x28]
- sub r1, r0, #0x1
- ldr r0, [sp, #0x10]
- add r0, r2, r0, lsl #0x2
- str r0, [sp, #0x38]
- ldr r0, [sp, #0x28]
- str r0, [sp, #0x3c]
- ldr r0, [sp, #0x18]
- ldr r2, [r0, #0x8]
- ldr r0, [sp, #0x28]
- cmp r0, #0x1
- add r0, r2, #0x1
- str r0, [sp, #0x40]
- ldr r0, [sp, #0x1c]
- moveq r5, #0x0
- ldr r2, [r0, #0x0]
- ldr r0, [r2, r1, lsl #0x2]
- str r0, [sp, #0x24]
- ldrne r0, [sp, #0x28]
- subne r0, r0, #0x2
- ldrne r5, [r2, r0, lsl #0x2]
- ldr r0, [sp, #0x18]
- ldr r2, [r8, #0x8]
- ldr r1, [r0, #0x0]
- sub r0, r4, #0x1
- add r7, r1, r0, lsl #0x2
- ldr r0, [sp, #0x10]
- add r1, r0, #0x1
- cmp r1, r2
- movle r0, r8
- ble _02093470
- mov r0, r8
- bl FUN_02094EBC
-_02093470:
- cmp r0, #0x0
- beq _020937D4
- ldr r0, [sp, #0x4]
- ldr r1, [r6, #0xc]
- ldr r3, [r0, #0xc]
- ldr r0, [sp, #0x10]
- sub r2, r0, #0x1
- eor r0, r3, r1
- str r0, [r8, #0xc]
- ldr r0, [sp, #0x10]
- str r0, [r8, #0x4]
- ldr r0, [sp, #0x28]
- ldr r3, [r8, #0x0]
- add r1, r0, #0x1
- add r0, r3, r2, lsl #0x2
- str r0, [sp, #0x20]
- ldr r0, [sp, #0x14]
- ldr r0, [r0, #0x8]
- cmp r1, r0
- ldrle r0, [sp, #0x14]
- ble _020934CC
- ldr r0, [sp, #0x14]
- bl FUN_02094EBC
-_020934CC:
- cmp r0, #0x0
- beq _020937D4
- ldr r1, [sp, #0x1c]
- add r0, sp, #0x38
- bl FUN_02094B98
-_020934E0: ; 0x020934E0
- cmp r0, #0x0
- blt _02093520
- add r0, sp, #0x38
- ldr r2, [sp, #0x1c]
- mov r1, r0
- bl FUN_02093B50
-_020934F8: ; 0x020934F8
- cmp r0, #0x0
- beq _020937D4
- ldr r0, [sp, #0x20]
- mov r2, #0x1
- str r2, [r0, #0x0]
- ldr r0, [r8, #0x4]
- ldr r1, [r8, #0x0]
- sub r0, r0, #0x1
- str r2, [r1, r0, lsl #0x2]
- b _0209352C
-_02093520:
- ldr r0, [r8, #0x4]
- sub r0, r0, #0x1
- str r0, [r8, #0x4]
-_0209352C:
- ldr r0, [sp, #0x10]
- sub r1, r0, #0x1
- ldr r0, [sp, #0x20]
- cmp r1, #0x0
- sub r0, r0, #0x4
- str r0, [sp, #0x20]
- mov r0, #0x0
- str r0, [sp, #0xc]
- ble _0209377C
- ldr r8, _020937E4 ; =0x0000FFFF
- cmp r1, #0x0
- and r0, r5, r8
- str r0, [sp, #0x2c]
- and r0, r8, r5, lsr #0x10
- str r0, [sp, #0x30]
- ldr r0, [sp, #0x24]
- and r4, r0, r8
- ble _0209377C
- and r9, r8, r0, lsr #0x10
- mvn r0, #0x0
- str r0, [sp, #0x34]
-_02093580:
- ldr r1, [sp, #0x38]
- ldr r0, [sp, #0x3c]
- sub r1, r1, #0x4
- add r0, r0, #0x1
- str r0, [sp, #0x3c]
- str r1, [sp, #0x38]
- ldr r11, [r7, #0x0]
- ldr r0, [sp, #0x24]
- ldr r5, [r7, #-0x4]
- cmp r11, r0
- ldreq r6, [sp, #0x34]
- beq _020935C4
- ldr r2, [sp, #0x24]
- mov r0, r11
- mov r1, r5
- bl FUN_02092260
- mov r6, r0
-_020935C4:
- ldr r0, [sp, #0x2c]
- and r2, r6, r8
- mul r12, r0, r2
- ldr r0, [sp, #0x30]
- and lr, r8, r6, lsr #0x10
- ldr r1, [sp, #0x30]
- mul r0, r2, r0
- mul r3, r1, lr
- ldr r1, [sp, #0x2c]
- mul r10, r9, lr
- mla r1, lr, r1, r0
- cmp r1, r0
- addcc r3, r3, #0x10000
- and r0, r8, r1, lsr #0x10
- add r3, r3, r0
- and r0, r1, r8
- add r12, r12, r0, lsl #0x10
- cmp r12, r0, lsl #0x10
- mul r0, r2, r9
- mul r1, r4, r2
- mla r2, lr, r4, r0
- addcc r3, r3, #0x1
- cmp r2, r0
- addcc r10, r10, #0x10000
- and r0, r8, r2, lsr #0x10
- add r10, r10, r0
- and r0, r2, r8
- add r1, r1, r0, lsl #0x10
- cmp r1, r0, lsl #0x10
- addcc r10, r10, #0x1
- sub r1, r5, r1
- cmp r1, r5
- addhi r10, r10, #0x1
- subs r0, r11, r10
- bne _02093674
- cmp r3, r1
- blo _02093674
- cmp r3, r1
- bne _0209366C
- ldr r0, [r7, #-0x8]
- cmp r12, r0
- bls _02093674
-_0209366C:
- sub r6, r6, #0x1
- b _020935C4
-_02093674:
- ldr r0, [sp, #0x14]
- ldr r1, [sp, #0x1c]
- ldr r0, [r0, #0x0]
- ldr r1, [r1, #0x0]
- ldr r2, [sp, #0x28]
- mov r3, r6
- bl FUN_0209470C
- ldr r1, [sp, #0x14]
- ldr r2, [sp, #0x28]
- ldr r3, [r1, #0x0]
- ldr r1, [sp, #0x28]
- str r0, [r3, r2, lsl #0x2]
- add r1, r1, #0x1
- cmp r1, #0x0
- ble _020936D4
- ldr r0, [sp, #0x14]
- ldr r2, [r0, #0x0]
-_020936B8:
- sub r0, r1, #0x1
- ldr r0, [r2, r0, lsl #0x2]
- cmp r0, #0x0
- bne _020936D4
- sub r1, r1, #0x1
- cmp r1, #0x0
- bgt _020936B8
-_020936D4:
- ldr r0, [sp, #0x14]
- ldr r2, [sp, #0x14]
- str r1, [r0, #0x4]
- add r0, sp, #0x38
- mov r1, r0
- ldr r5, [sp, #0x3c]
- bl FUN_02093A0C
- ldr r0, [sp, #0x18]
- ldr r1, [r0, #0x4]
- ldr r0, [sp, #0x3c]
- add r0, r1, r0
- sub r1, r0, r5
- ldr r0, [sp, #0x18]
- str r1, [r0, #0x4]
- ldr r0, [sp, #0x44]
- cmp r0, #0x0
- beq _0209374C
- add r0, sp, #0x38
- ldr r2, [sp, #0x1c]
- mov r1, r0
- sub r6, r6, #0x1
- ldr r5, [sp, #0x3c]
- bl FUN_02093DD0
- ldr r0, [sp, #0x18]
- ldr r1, [r0, #0x4]
- ldr r0, [sp, #0x3c]
- sub r0, r0, r5
- add r1, r1, r0
- ldr r0, [sp, #0x18]
- str r1, [r0, #0x4]
-_0209374C:
- ldr r0, [sp, #0x20]
- sub r7, r7, #0x4
- str r6, [r0], #-0x4
- str r0, [sp, #0x20]
- ldr r0, [sp, #0xc]
- add r0, r0, #0x1
- str r0, [sp, #0xc]
- ldr r0, [sp, #0x10]
- sub r1, r0, #0x1
- ldr r0, [sp, #0xc]
- cmp r0, r1
- blt _02093580
-_0209377C:
- ldr r0, [sp, #0x18]
- bl FUN_02095040
-_02093784: ; 0x02093784
- ldr r0, [sp, #0x0]
- cmp r0, #0x0
- beq _020937C4
- ldr r2, [sp, #0x8]
- ldr r3, [sp, #0x4]
- ldr r1, [sp, #0x18]
- add r2, r2, #0x20
- ldr r4, [r3, #0xc]
- bl FUN_02094134
-_020937A8: ; 0x020937A8
- cmp r0, #0x0
- addeq sp, sp, #0x4c
- moveq r0, #0x0
- ldmeqia sp!, {r4-r11,lr}
- bxeq lr
- ldr r0, [sp, #0x0]
- str r4, [r0, #0xc]
-_020937C4:
- add sp, sp, #0x4c
- mov r0, #0x1
- ldmia sp!, {r4-r11,lr}
- bx lr
-_020937D4:
- mov r0, #0x0
- add sp, sp, #0x4c
- ldmia sp!, {r4-r11,lr}
- bx lr
- .balign 4
-_020937E4: .word 0x0000FFFF
-
- arm_func_start FUN_020937E8
-FUN_020937E8: ; 0x020937E8
- stmdb sp!, {r4-r9,lr}
- sub sp, sp, #0x4
- ldr r5, [sp, #0x20]
- mov r7, r2
- mov r9, r0
- mov r8, r1
- mov r6, r3
- cmp r7, r5
- bge _02093824
- mov r1, r7
- mov r0, r8
- mov r7, r5
- mov r8, r6
- mov r5, r1
- mov r6, r0
-_02093824:
- ldr r3, [r6, #0x0]
- mov r0, r9
- mov r1, r8
- mov r2, r7
- add r4, r9, r7, lsl #0x2
- bl FUN_0209470C
- str r0, [r9, r7, lsl #0x2]
-_02093840:
- sub r0, r5, #0x1
- cmp r0, #0x0
- addle sp, sp, #0x4
- ldmleia sp!, {r4-r9,lr}
- bxle lr
- ldr r3, [r6, #0x4]
- mov r1, r8
- mov r2, r7
- add r0, r9, #0x4
- bl FUN_020948AC
- sub r1, r5, #0x2
- cmp r1, #0x0
- addle sp, sp, #0x4
- str r0, [r4, #0x4]
- ldmleia sp!, {r4-r9,lr}
- bxle lr
- ldr r3, [r6, #0x8]
- mov r1, r8
- mov r2, r7
- add r0, r9, #0x8
- bl FUN_020948AC
- sub r1, r5, #0x3
- cmp r1, #0x0
- addle sp, sp, #0x4
- str r0, [r4, #0x8]
- ldmleia sp!, {r4-r9,lr}
- bxle lr
- ldr r3, [r6, #0xc]
- mov r1, r8
- mov r2, r7
- add r0, r9, #0xc
- bl FUN_020948AC
- sub r5, r5, #0x4
- cmp r5, #0x0
- addle sp, sp, #0x4
- str r0, [r4, #0xc]
- ldmleia sp!, {r4-r9,lr}
- bxle lr
- ldr r3, [r6, #0x10]
- mov r1, r8
- mov r2, r7
- add r0, r9, #0x10
- bl FUN_020948AC
- str r0, [r4, #0x10]
- add r4, r4, #0x10
- add r9, r9, #0x10
- add r6, r6, #0x10
- b _02093840
-_02093900: ; 0x02093900
- add sp, sp, #0x4
- ldmia sp!, {r4-r9,lr}
- bx lr
-
- arm_func_start FUN_0209390C
-FUN_0209390C:
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0x4
- mov r9, r1
- ldr r6, [r9, #0x4]
- mov r8, r2
- mov r10, r0
- cmp r6, #0x0
- ldr r5, [r8, #0x4]
- beq _02093938
- cmp r5, #0x0
- bne _02093954
-_02093938:
- mov r0, r10
- mov r1, #0x0
- bl FUN_02094D7C
- add sp, sp, #0x4
- mov r0, #0x1
- ldmia sp!, {r4-r11,lr}
- bx lr
-_02093954:
- ldr r1, [r9, #0xc]
- ldr r0, [r8, #0xc]
- cmp r10, r9
- add r7, r6, r5
- eor r11, r1, r0
- beq _02093974
- cmp r10, r8
- bne _0209398C
-_02093974:
- ldr r0, [r3, #0x0]
- add r2, r3, #0x4
- add r1, r0, #0x1
- mov r0, #0x14
- mla r4, r1, r0, r2
- b _02093990
-_0209398C:
- mov r4, r10
-_02093990:
- ldr r0, [r4, #0x8]
- cmp r7, r0
- movle r0, r4
- ble _020939AC
- mov r0, r4
- mov r1, r7
- bl FUN_02094EBC
-_020939AC:
- cmp r0, #0x0
- addeq sp, sp, #0x4
- moveq r0, #0x0
- ldmeqia sp!, {r4-r11,lr}
- bxeq lr
- str r7, [r4, #0x4]
- str r5, [sp, #0x0]
- ldr r0, [r4, #0x0]
- ldr r1, [r9, #0x0]
- ldr r3, [r8, #0x0]
- mov r2, r6
- bl FUN_020937E8
- mov r0, r4
- str r11, [r10, #0xc]
- bl FUN_02095040
- cmp r10, r4
- beq _020939FC
- mov r0, r10
- mov r1, r4
- bl FUN_02094E24
-_020939FC:
- mov r0, #0x1
- add sp, sp, #0x4
- ldmia sp!, {r4-r11,lr}
- bx lr
-
- arm_func_start FUN_02093A0C
-FUN_02093A0C: ; 0x02093A0C
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- mov r6, r1
- ldr r1, [r6, #0xc]
- mov r3, #0x0
- mov r7, r0
- mov r5, r2
- mov r4, r3
- cmp r1, #0x0
- beq _02093A54
- ldr r0, [r5, #0xc]
- cmp r0, #0x0
- movne r0, r6
- moveq r3, #0x1
- movne r6, r5
- movne r5, r0
- moveq r4, r3
- b _02093A60
-_02093A54:
- ldr r0, [r5, #0xc]
- cmp r0, #0x0
- movne r3, #0x1
-_02093A60:
- cmp r3, #0x0
- beq _02093A94
- mov r0, r7
- mov r1, r6
- mov r2, r5
- bl FUN_02093CB4
-_02093A78: ; 0x02093A78
- cmp r0, #0x0
- moveq r0, #0x0
- add sp, sp, #0x4
- strne r4, [r7, #0xc]
- movne r0, #0x1
- ldmia sp!, {r4-r7,lr}
- bx lr
-_02093A94:
- ldr r0, [r5, #0x4]
- ldr r1, [r6, #0x4]
- cmp r1, r0
- movle r1, r0
- ldr r0, [r7, #0x8]
- cmp r1, r0
- movle r0, r7
- ble _02093ABC
- mov r0, r7
- bl FUN_02094EBC
-_02093ABC:
- cmp r0, #0x0
- addeq sp, sp, #0x4
- moveq r0, #0x0
- ldmeqia sp!, {r4-r7,lr}
- bxeq lr
- mov r0, r6
- mov r1, r5
- bl FUN_02094B98
-_02093ADC: ; 0x02093ADC
- cmp r0, #0x0
- bge _02093B14
- mov r0, r7
- mov r1, r5
- mov r2, r6
- bl FUN_02093B50
-_02093AF4: ; 0x02093AF4
- cmp r0, #0x0
- addeq sp, sp, #0x4
- moveq r0, #0x0
- ldmeqia sp!, {r4-r7,lr}
- bxeq lr
- mov r0, #0x1
- str r0, [r7, #0xc]
- b _02093B40
-_02093B14:
- mov r0, r7
- mov r1, r6
- mov r2, r5
- bl FUN_02093B50
-_02093B24: ; 0x02093B24
- cmp r0, #0x0
- addeq sp, sp, #0x4
- moveq r0, #0x0
- ldmeqia sp!, {r4-r7,lr}
- bxeq lr
- mov r0, #0x0
- str r0, [r7, #0xc]
-_02093B40:
- mov r0, #0x1
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,lr}
- bx lr
-
- arm_func_start FUN_02093B50
-FUN_02093B50:
- stmdb sp!, {r4-r10,lr}
- mov r8, r1
- mov r7, r2
- ldr r5, [r7, #0x4]
- ldr r6, [r8, #0x4]
- mov r4, r0
- cmp r6, r5
- movlt r0, #0x0
- ldmltia sp!, {r4-r10,lr}
- bxlt lr
- ldr r1, [r4, #0x8]
- cmp r6, r1
- ble _02093B8C
- mov r1, r6
- bl FUN_02094EBC
-_02093B8C:
- cmp r0, #0x0
- moveq r0, #0x0
- ldmeqia sp!, {r4-r10,lr}
- bxeq lr
- mov r3, #0x0
- mov r0, r3
- cmp r5, #0x0
- ldr r2, [r8, #0x0]
- ldr r9, [r7, #0x0]
- ldr r1, [r4, #0x0]
- ble _02093C0C
- mov r12, r3
- mov r7, r3
- mov lr, #0x1
-_02093BC4:
- cmp r3, #0x0
- ldr r10, [r2], #0x4
- ldr r8, [r9], #0x4
- beq _02093BEC
- cmp r10, r8
- movls r3, lr
- sub r8, r10, r8
- movhi r3, r12
- sub r10, r8, #0x1
- b _02093BFC
-_02093BEC:
- cmp r10, r8
- movcc r3, lr
- movcs r3, r7
- sub r10, r10, r8
-_02093BFC:
- add r0, r0, #0x1
- cmp r0, r5
- str r10, [r1], #0x4
- blt _02093BC4
-_02093C0C:
- cmp r3, #0x0
- beq _02093C3C
- cmp r0, r6
- bge _02093C3C
-_02093C1C:
- ldr r5, [r2], #0x4
- add r0, r0, #0x1
- sub r3, r5, #0x1
- cmp r5, r3
- str r3, [r1], #0x4
- bhi _02093C3C
- cmp r0, r6
- blt _02093C1C
-_02093C3C:
- cmp r1, r2
- beq _02093C9C
-_02093C44:
- cmp r0, r6
- bge _02093C9C
- ldr r5, [r2, #0x0]
- add r3, r0, #0x1
- str r5, [r1, #0x0]
- cmp r3, r6
- bge _02093C9C
- ldr r5, [r2, #0x4]
- add r3, r0, #0x2
- str r5, [r1, #0x4]
- cmp r3, r6
- bge _02093C9C
- ldr r5, [r2, #0x8]
- add r3, r0, #0x3
- str r5, [r1, #0x8]
- cmp r3, r6
- ldrlt r3, [r2, #0xc]
- add r0, r0, #0x4
- strlt r3, [r1, #0xc]
- addlt r2, r2, #0x10
- addlt r1, r1, #0x10
- blt _02093C44
-_02093C9C:
- mov r0, r4
- str r6, [r4, #0x4]
- bl FUN_02095040
- mov r0, #0x1
- ldmia sp!, {r4-r10,lr}
- bx lr
-
- arm_func_start FUN_02093CB4
-FUN_02093CB4:
- stmdb sp!, {r4-r9,lr}
- sub sp, sp, #0x4
- mov r4, r1
- mov r8, r2
- ldr r2, [r4, #0x4]
- ldr r1, [r8, #0x4]
- mov r9, r0
- cmp r2, r1
- movlt r0, r4
- movlt r4, r8
- movlt r8, r0
- ldr r6, [r4, #0x4]
- ldr r0, [r9, #0x8]
- add r1, r6, #0x1
- cmp r1, r0
- ldr r7, [r8, #0x4]
- movle r0, r9
- ble _02093D04
- mov r0, r9
- bl FUN_02094EBC
-_02093D04:
- cmp r0, #0x0
- addeq sp, sp, #0x4
- moveq r0, #0x0
- ldmeqia sp!, {r4-r9,lr}
- bxeq lr
- str r6, [r9, #0x4]
- ldr r5, [r4, #0x0]
- ldr r4, [r9, #0x0]
- ldr r2, [r8, #0x0]
- mov r0, r4
- mov r1, r5
- mov r3, r7
- bl FUN_02094468
-_02093D38: ; 0x02093D38
- cmp r0, #0x0
- add r4, r4, r7, lsl #0x2
- add r5, r5, r7, lsl #0x2
- beq _02093D9C
- cmp r7, r6
- bge _02093D7C
-_02093D50:
- ldr r2, [r5], #0x4
- mov r3, r4
- add r1, r2, #0x1
- str r1, [r4], #0x4
- ldr r1, [r3, #0x0]
- add r7, r7, #0x1
- cmp r1, r2
- movcs r0, #0x0
- bhs _02093D7C
- cmp r7, r6
- blt _02093D50
-_02093D7C:
- cmp r7, r6
- blt _02093D9C
- cmp r0, #0x0
- movne r0, #0x1
- strne r0, [r4], #0x4
- ldrne r0, [r9, #0x4]
- addne r0, r0, #0x1
- strne r0, [r9, #0x4]
-_02093D9C:
- cmp r4, r5
- beq _02093DC0
- cmp r7, r6
- bge _02093DC0
-_02093DAC:
- ldr r0, [r5], #0x4
- add r7, r7, #0x1
- cmp r7, r6
- str r0, [r4], #0x4
- blt _02093DAC
-_02093DC0:
- mov r0, #0x1
- add sp, sp, #0x4
- ldmia sp!, {r4-r9,lr}
- bx lr
-
- arm_func_start FUN_02093DD0
-FUN_02093DD0: ; 0x02093DD0
- stmdb sp!, {r4-r6,lr}
- mov r5, r1
- mov r4, r2
- ldr r2, [r5, #0xc]
- ldr r1, [r4, #0xc]
- mov r6, r0
- eors r0, r2, r1
- beq _02093E74
- cmp r2, #0x0
- movne r0, r5
- movne r5, r4
- movne r4, r0
- mov r0, r5
- mov r1, r4
- bl FUN_02094B98
-_02093E0C: ; 0x02093E0C
- cmp r0, #0x0
- bge _02093E40
- mov r0, r6
- mov r1, r4
- mov r2, r5
- bl FUN_02093B50
-_02093E24: ; 0x02093E24
- cmp r0, #0x0
- moveq r0, #0x0
- ldmeqia sp!, {r4-r6,lr}
- bxeq lr
- mov r0, #0x1
- str r0, [r6, #0xc]
- b _02093E68
-_02093E40:
- mov r0, r6
- mov r1, r5
- mov r2, r4
- bl FUN_02093B50
-_02093E50: ; 0x02093E50
- cmp r0, #0x0
- moveq r0, #0x0
- ldmeqia sp!, {r4-r6,lr}
- bxeq lr
- mov r0, #0x0
- str r0, [r6, #0xc]
-_02093E68:
- mov r0, #0x1
- ldmia sp!, {r4-r6,lr}
- bx lr
-_02093E74:
- cmp r2, #0x0
- movne r0, #0x1
- strne r0, [r6, #0xc]
- moveq r0, #0x0
- streq r0, [r6, #0xc]
- mov r0, r6
- mov r1, r5
- mov r2, r4
- bl FUN_02093CB4
-_02093E98: ; 0x02093E98
- cmp r0, #0x0
- moveq r0, #0x0
- movne r0, #0x1
- ldmia sp!, {r4-r6,lr}
- bx lr
-
- arm_func_start FUN_02093EAC
-FUN_02093EAC: ; 0x02093EAC
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- movs r4, r1
- mov r5, r0
- addeq sp, sp, #0x4
- moveq r0, #0x1
- ldmeqia sp!, {r4-r5,lr}
- bxeq lr
- ldr r2, [r5, #0xc]
- cmp r2, #0x0
- beq _02093EF8
- mov r2, #0x0
- str r2, [r5, #0xc]
- bl FUN_0209400C
- mov r1, #0x1
- add sp, sp, #0x4
- str r1, [r5, #0xc]
- ldmia sp!, {r4-r5,lr}
- bx lr
-_02093EF8:
- ldr r1, [r5, #0x4]
- cmp r1, #0x1
- bgt _02093F9C
- cmp r1, #0x0
- bne _02093F54
- ldr r1, [r5, #0x8]
- cmp r1, #0x1
- bge _02093F20
- mov r1, #0x1
- bl FUN_02094EBC
-_02093F20:
- cmp r0, #0x0
- addeq sp, sp, #0x4
- moveq r0, #0x0
- ldmeqia sp!, {r4-r5,lr}
- bxeq lr
- ldr r1, [r5, #0x0]
- mov r0, #0x1
- str r4, [r1, #0x0]
- str r0, [r5, #0xc]
- add sp, sp, #0x4
- str r0, [r5, #0x4]
- ldmia sp!, {r4-r5,lr}
- bx lr
-_02093F54:
- ldr r2, [r5, #0x0]
- ldr r1, [r2, #0x0]
- cmp r1, r4
- moveq r0, #0x0
- streq r0, [r5, #0x4]
- beq _02093F8C
- cmp r1, r4
- subhi r0, r1, r4
- strhi r0, [r2, #0x0]
- movls r0, #0x1
- strls r0, [r5, #0xc]
- ldrls r0, [r5, #0x0]
- subls r1, r4, r1
- strls r1, [r0, #0x0]
-_02093F8C:
- add sp, sp, #0x4
- mov r0, #0x1
- ldmia sp!, {r4-r5,lr}
- bx lr
-_02093F9C:
- mov r0, #0x0
- mov r1, #0x1
-_02093FA4:
- ldr r12, [r5, #0x0]
- mov r3, r0, lsl #0x2
- ldr r2, [r12, r0, lsl #0x2]
- cmp r2, r4
- ldrcs r1, [r12, r3]
- subcs r1, r1, r4
- strcs r1, [r12, r3]
- bhs _02093FDC
- ldr r2, [r12, r3]
- add r0, r0, #0x1
- sub r2, r2, r4
- mov r4, r1
- str r2, [r12, r3]
- b _02093FA4
-_02093FDC:
- ldr r1, [r5, #0x0]
- ldr r1, [r1, r3]
- cmp r1, #0x0
- bne _02093FFC
- ldr r1, [r5, #0x4]
- sub r1, r1, #0x1
- cmp r0, r1
- streq r1, [r5, #0x4]
-_02093FFC:
- mov r0, #0x1
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
-
- arm_func_start FUN_0209400C
-FUN_0209400C:
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- movs r4, r1
- mov r5, r0
- addeq sp, sp, #0x4
- moveq r0, #0x1
- ldmeqia sp!, {r4-r5,lr}
- bxeq lr
- ldr r2, [r5, #0xc]
- cmp r2, #0x0
- beq _020940B4
- ldr r2, [r5, #0x4]
- cmp r2, #0x1
- ble _02094064
- mov r2, #0x0
- str r2, [r5, #0xc]
- bl FUN_02093EAC
- mov r1, #0x1
- add sp, sp, #0x4
- str r1, [r5, #0xc]
- ldmia sp!, {r4-r5,lr}
- bx lr
-_02094064:
- ldr r2, [r5, #0x0]
- ldr r1, [r2, #0x0]
- cmp r1, r4
- subhi r0, r1, r4
- strhi r0, [r2, #0x0]
- bhi _020940A4
- cmp r1, r4
- movcs r0, #0x0
- strcs r0, [r5, #0xc]
- strcs r0, [r5, #0x4]
- bhs _020940A4
- mov r0, #0x0
- str r0, [r5, #0xc]
- ldr r0, [r5, #0x0]
- sub r1, r4, r1
- str r1, [r0, #0x0]
-_020940A4:
- add sp, sp, #0x4
- mov r0, #0x1
- ldmia sp!, {r4-r5,lr}
- bx lr
-_020940B4:
- ldr r1, [r5, #0x4]
- ldr r2, [r5, #0x8]
- add r1, r1, #0x1
- cmp r1, r2
- ble _020940CC
- bl FUN_02094EBC
-_020940CC:
- cmp r0, #0x0
- addeq sp, sp, #0x4
- moveq r0, #0x0
- ldmeqia sp!, {r4-r5,lr}
- bxeq lr
- ldr r1, [r5, #0x0]
- ldr r0, [r5, #0x4]
- mov r3, #0x0
- str r3, [r1, r0, lsl #0x2]
- mov r0, #0x1
-_020940F4:
- ldr r2, [r5, #0x0]
- ldr r1, [r2, r3, lsl #0x2]
- add r1, r4, r1
- cmp r4, r1
- str r1, [r2, r3, lsl #0x2]
- movhi r4, r0
- addhi r3, r3, #0x1
- bhi _020940F4
- ldr r0, [r5, #0x4]
- cmp r3, r0
- addge r0, r0, #0x1
- strge r0, [r5, #0x4]
- mov r0, #0x1
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
-
- arm_func_start FUN_02094134
-FUN_02094134:
- stmdb sp!, {r4-r8,lr}
- mov r7, r1
- mov r1, r2, asr #0x4
- mov r3, r2, lsr #0x1f
- add r1, r2, r1, lsr #0x1b
- rsb r2, r3, r2, lsl #0x1b
- add r4, r3, r2, ror #0x1b
- ldr r2, [r7, #0x4]
- mov r6, r1, asr #0x5
- mov r8, r0
- cmp r6, r2
- rsb r5, r4, #0x20
- ble _0209417C
- mov r1, #0x0
- bl FUN_02094D7C
- mov r0, #0x1
- ldmia sp!, {r4-r8,lr}
- bx lr
-_0209417C:
- cmp r8, r7
- beq _020941B4
- sub r1, r2, r6
- ldr r2, [r8, #0x8]
- add r1, r1, #0x2
- cmp r1, r2
- ble _0209419C
- bl FUN_02094EBC
-_0209419C:
- cmp r0, #0x0
- moveq r0, #0x0
- ldmeqia sp!, {r4-r8,lr}
- bxeq lr
- ldr r0, [r7, #0xc]
- str r0, [r8, #0xc]
-_020941B4:
- ldr r0, [r7, #0x0]
- ldr r1, [r7, #0x4]
- add r2, r0, r6, lsl #0x2
- ldr r0, [r8, #0x0]
- sub r7, r1, r6
- mov r6, r2
- str r7, [r8, #0x4]
- cmp r4, #0x0
- bne _020941FC
- add r2, r7, #0x1
- cmp r2, #0x0
- ble _0209423C
-_020941E4:
- ldr r1, [r6], #0x4
- sub r2, r2, #0x1
- cmp r2, #0x0
- str r1, [r0], #0x4
- bgt _020941E4
- b _0209423C
-_020941FC:
- cmp r7, #0x1
- add r6, r2, #0x4
- ldr r3, [r2, #0x0]
- mov r2, #0x1
- ble _0209422C
-_02094210:
- mov r1, r3, lsr r4
- ldr r3, [r6], #0x4
- add r2, r2, #0x1
- orr r1, r1, r3, lsl r5
- cmp r2, r7
- str r1, [r0], #0x4
- blt _02094210
-_0209422C:
- mov r1, r3, lsr r4
- str r1, [r0, #0x0]
- mov r1, #0x0
- str r1, [r0, #0x4]
-_0209423C:
- mov r0, r8
- bl FUN_02095040
- mov r0, #0x1
- ldmia sp!, {r4-r8,lr}
- bx lr
-
- arm_func_start FUN_02094250
-FUN_02094250:
- stmdb sp!, {r4-r10,lr}
- mov r4, r1
- mov r7, r2
- mov r1, r7, asr #0x4
- mov r5, r0
- add r2, r7, r1, lsr #0x1b
- ldr r1, [r4, #0x4]
- ldr r3, [r5, #0x8]
- add r1, r1, r2, asr #0x5
- add r1, r1, #0x1
- cmp r1, r3
- mov r6, r2, asr #0x5
- ble _02094288
- bl FUN_02094EBC
-_02094288:
- cmp r0, #0x0
- moveq r0, #0x0
- ldmeqia sp!, {r4-r10,lr}
- bxeq lr
- ldr r0, [r4, #0xc]
- mov r1, r7, lsr #0x1f
- str r0, [r5, #0xc]
- ldr r3, [r4, #0x4]
- rsb r0, r1, r7, lsl #0x1b
- adds r12, r1, r0, ror #0x1b
- ldr r2, [r4, #0x0]
- ldr r0, [r5, #0x0]
- add r1, r3, r6
- mov r3, #0x0
- str r3, [r0, r1, lsl #0x2]
- rsb r3, r12, #0x20
- bne _020942F0
- ldr r1, [r4, #0x4]
- subs r7, r1, #0x1
- bmi _02094324
-_020942D8:
- ldr r3, [r2, r7, lsl #0x2]
- add r1, r6, r7
- str r3, [r0, r1, lsl #0x2]
- subs r7, r7, #0x1
- bpl _020942D8
- b _02094324
-_020942F0:
- ldr r1, [r4, #0x4]
- subs r1, r1, #0x1
- bmi _02094324
-_020942FC:
- add r9, r6, r1
- add r8, r9, #0x1
- ldr r10, [r2, r1, lsl #0x2]
- ldr lr, [r0, r8, lsl #0x2]
- mov r7, r10, lsl r12
- orr lr, lr, r10, lsr r3
- str lr, [r0, r8, lsl #0x2]
- str r7, [r0, r9, lsl #0x2]
- subs r1, r1, #0x1
- bpl _020942FC
-_02094324:
- mov r2, r6, lsl #0x2
- mov r1, #0x0
- bl MI_CpuFill8
- ldr r1, [r4, #0x4]
- mov r0, r5
- add r1, r1, r6
- add r1, r1, #0x1
- str r1, [r5, #0x4]
- bl FUN_02095040
- mov r0, #0x1
- ldmia sp!, {r4-r10,lr}
- bx lr
-
- arm_func_start FUN_02094354
-FUN_02094354: ; 0x02094354
- stmdb sp!, {r4-r10,lr}
- cmp r3, #0x0
- movle r0, #0x0
- ldmleia sp!, {r4-r10,lr}
- bxle lr
- mov r6, #0x0
- mov r4, r6
- mov lr, r6
- mov r12, r6
- mov r7, r6
- mov r5, #0x1
-_02094380:
- ldr r10, [r1, #0x0]
- ldr r9, [r2, #0x0]
- sub r8, r10, r9
- sub r8, r8, r6
- str r8, [r0, #0x0]
- cmp r10, r9
- beq _020943A8
- cmp r10, r9
- movcc r6, r5
- movcs r6, r4
-_020943A8:
- sub r8, r3, #0x1
- cmp r8, #0x0
- ble _0209445C
- ldr r10, [r1, #0x4]
- ldr r9, [r2, #0x4]
- sub r8, r10, r9
- sub r8, r8, r6
- str r8, [r0, #0x4]
- cmp r10, r9
- beq _020943DC
- cmp r10, r9
- movcc r6, r5
- movcs r6, lr
-_020943DC:
- sub r8, r3, #0x2
- cmp r8, #0x0
- ble _0209445C
- ldr r10, [r1, #0x8]
- ldr r9, [r2, #0x8]
- sub r8, r10, r9
- sub r8, r8, r6
- str r8, [r0, #0x8]
- cmp r10, r9
- beq _02094410
- cmp r10, r9
- movcc r6, r5
- movcs r6, r12
-_02094410:
- sub r8, r3, #0x3
- cmp r8, #0x0
- ble _0209445C
- ldr r10, [r1, #0xc]
- ldr r9, [r2, #0xc]
- sub r8, r10, r9
- sub r8, r8, r6
- str r8, [r0, #0xc]
- cmp r10, r9
- beq _02094444
- cmp r10, r9
- movcc r6, r5
- movcs r6, r7
-_02094444:
- sub r3, r3, #0x4
- cmp r3, #0x0
- addgt r1, r1, #0x10
- addgt r2, r2, #0x10
- addgt r0, r0, #0x10
- bgt _02094380
-_0209445C:
- mov r0, r6
- ldmia sp!, {r4-r10,lr}
- bx lr
-
- arm_func_start FUN_02094468
-FUN_02094468:
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0xc
- cmp r3, #0x0
- addle sp, sp, #0xc
- movle r0, #0x0
- ldmleia sp!, {r4-r11,lr}
- bxle lr
- mov r12, #0x0
- mov r7, r12
- mov r6, r12
- mov r5, r12
- mov r4, r12
- mov lr, r12
- mov r11, r12
- str r12, [sp, #0x0]
- str r12, [sp, #0x4]
- mov r8, #0x1
-_020944AC:
- ldr r9, [r1, #0x0]
- add r10, r9, r12
- ldr r9, [r2, #0x0]
- cmp r10, r12
- movcc r12, r8
- add r9, r10, r9
- movcs r12, r7
- cmp r9, r10
- movcc r10, r8
- movcs r10, r6
- str r9, [r0, #0x0]
- sub r9, r3, #0x1
- add r12, r12, r10
- cmp r9, #0x0
- ble _020945A8
- ldr r9, [r1, #0x4]
- ldr r10, [r2, #0x4]
- add r9, r9, r12
- cmp r9, r12
- movcc r12, r8
- add r10, r9, r10
- movcs r12, r5
- cmp r10, r9
- movcc r9, r8
- movcs r9, r4
- add r12, r12, r9
- sub r9, r3, #0x2
- str r10, [r0, #0x4]
- cmp r9, #0x0
- ble _020945A8
- ldr r9, [r1, #0x8]
- ldr r10, [r2, #0x8]
- add r9, r9, r12
- cmp r9, r12
- movcc r12, r8
- add r10, r9, r10
- movcs r12, lr
- cmp r10, r9
- movcc r9, r8
- movcs r9, r11
- add r12, r12, r9
- sub r9, r3, #0x3
- str r10, [r0, #0x8]
- cmp r9, #0x0
- ble _020945A8
- ldr r9, [r1, #0xc]
- ldr r10, [r2, #0xc]
- add r9, r9, r12
- cmp r9, r12
- movcc r12, r8
- add r10, r9, r10
- ldrcs r12, [sp, #0x0]
- cmp r10, r9
- movcc r9, r8
- ldrcs r9, [sp, #0x4]
- sub r3, r3, #0x4
- cmp r3, #0x0
- str r10, [r0, #0xc]
- add r12, r12, r9
- addgt r1, r1, #0x10
- addgt r2, r2, #0x10
- addgt r0, r0, #0x10
- bgt _020944AC
-_020945A8:
- mov r0, r12
- add sp, sp, #0xc
- ldmia sp!, {r4-r11,lr}
- bx lr
-
- arm_func_start FUN_020945B8
-FUN_020945B8: ; 0x020945B8
- stmdb sp!, {r4-r8,lr}
- cmp r2, #0x0
- ldmleia sp!, {r4-r8,lr}
- bxle lr
- mov r3, #0x8000
- ldr lr, _02094708 ; =0x0000FFFF
- rsb r12, r3, #0x0
-_020945D4:
- ldr r5, [r1, #0x0]
- mov r3, #0x8000
- and r4, r5, lr
- and r7, lr, r5, lsr #0x10
- mul r6, r4, r7
- mul r5, r4, r4
- and r4, r6, lr
- add r8, r5, r4, lsl #0x11
- rsb r3, r3, #0x0
- mul r5, r7, r7
- and r3, r6, r3
- add r3, r5, r3, lsr #0xf
- cmp r8, r4, lsl #0x11
- addcc r3, r3, #0x1
- str r8, [r0, #0x0]
- str r3, [r0, #0x4]
- subs r3, r2, #0x1
- ldmeqia sp!, {r4-r8,lr}
- bxeq lr
- ldr r4, [r1, #0x4]
- and r7, lr, r4, lsr #0x10
- and r3, r4, lr
- mul r6, r3, r7
- mul r4, r3, r3
- and r3, r6, lr
- add r8, r4, r3, lsl #0x11
- mul r5, r7, r7
- and r4, r6, r12
- cmp r8, r3, lsl #0x11
- add r3, r5, r4, lsr #0xf
- addcc r3, r3, #0x1
- str r8, [r0, #0x8]
- str r3, [r0, #0xc]
- subs r3, r2, #0x2
- ldmeqia sp!, {r4-r8,lr}
- bxeq lr
- ldr r5, [r1, #0x8]
- mov r3, #0x8000
- and r4, r5, lr
- and r7, lr, r5, lsr #0x10
- mul r6, r4, r7
- mul r5, r4, r4
- and r4, r6, lr
- add r8, r5, r4, lsl #0x11
- rsb r3, r3, #0x0
- mul r5, r7, r7
- and r3, r6, r3
- add r3, r5, r3, lsr #0xf
- cmp r8, r4, lsl #0x11
- addcc r3, r3, #0x1
- str r8, [r0, #0x10]
- str r3, [r0, #0x14]
- subs r3, r2, #0x3
- ldmeqia sp!, {r4-r8,lr}
- bxeq lr
- ldr r5, [r1, #0xc]
- mov r3, #0x8000
- and r4, r5, lr
- and r7, lr, r5, lsr #0x10
- mul r6, r4, r7
- mul r5, r4, r4
- and r4, r6, lr
- add r8, r5, r4, lsl #0x11
- rsb r3, r3, #0x0
- mul r5, r7, r7
- and r3, r6, r3
- add r3, r5, r3, lsr #0xf
- cmp r8, r4, lsl #0x11
- addcc r3, r3, #0x1
- str r8, [r0, #0x18]
- subs r2, r2, #0x4
- str r3, [r0, #0x1c]
- addne r1, r1, #0x10
- addne r0, r0, #0x20
- bne _020945D4
- ldmia sp!, {r4-r8,lr}
- bx lr
- .balign 4
-_02094708: .word 0x0000FFFF
-
- arm_func_start FUN_0209470C
-FUN_0209470C: ; 0x0209470C
- stmdb sp!, {r4-r9,lr}
- sub sp, sp, #0x4
- cmp r2, #0x0
- mov r4, #0x0
- addle sp, sp, #0x4
- movle r0, r4
- ldmleia sp!, {r4-r9,lr}
- bxle lr
- ldr r5, _020948A8 ; =0x0000FFFF
- and lr, r3, r5
- and r12, r5, r3, lsr #0x10
-_02094738:
- ldr r3, [r1, #0x0]
- and r7, r5, r3, lsr #0x10
- mul r6, lr, r7
- and r3, r3, r5
- mla r9, r12, r3, r6
- mul r8, r3, lr
- mul r3, r7, r12
- cmp r9, r6
- and r6, r9, r5
- addcc r3, r3, #0x10000
- and r7, r5, r9, lsr #0x10
- add r8, r8, r6, lsl #0x10
- cmp r8, r6, lsl #0x10
- add r3, r3, r7
- add r6, r8, r4
- addcc r3, r3, #0x1
- cmp r6, r4
- addcc r3, r3, #0x1
- str r6, [r0, #0x0]
- mov r4, r3
- subs r6, r2, #0x1
- beq _02094898
- ldr r4, [r1, #0x4]
- and r7, r5, r4, lsr #0x10
- mul r6, lr, r7
- and r4, r4, r5
- mla r9, r12, r4, r6
- mul r8, r4, lr
- mul r4, r7, r12
- cmp r9, r6
- and r6, r9, r5
- addcc r4, r4, #0x10000
- and r7, r5, r9, lsr #0x10
- add r8, r8, r6, lsl #0x10
- cmp r8, r6, lsl #0x10
- add r4, r4, r7
- add r6, r8, r3
- addcc r4, r4, #0x1
- cmp r6, r3
- addcc r4, r4, #0x1
- str r6, [r0, #0x4]
- subs r3, r2, #0x2
- beq _02094898
- ldr r3, [r1, #0x8]
- and r7, r5, r3, lsr #0x10
- mul r6, lr, r7
- and r3, r3, r5
- mla r9, r12, r3, r6
- mul r8, r3, lr
- mul r3, r7, r12
- cmp r9, r6
- and r6, r9, r5
- addcc r3, r3, #0x10000
- and r7, r5, r9, lsr #0x10
- add r8, r8, r6, lsl #0x10
- cmp r8, r6, lsl #0x10
- add r3, r3, r7
- add r6, r8, r4
- addcc r3, r3, #0x1
- cmp r6, r4
- addcc r3, r3, #0x1
- str r6, [r0, #0x8]
- mov r4, r3
- subs r6, r2, #0x3
- beq _02094898
- ldr r4, [r1, #0xc]
- and r7, r5, r4, lsr #0x10
- mul r6, lr, r7
- and r4, r4, r5
- mla r9, r12, r4, r6
- mul r8, r4, lr
- mul r4, r7, r12
- cmp r9, r6
- and r6, r9, r5
- addcc r4, r4, #0x10000
- and r7, r5, r9, lsr #0x10
- add r8, r8, r6, lsl #0x10
- cmp r8, r6, lsl #0x10
- add r4, r4, r7
- add r6, r8, r3
- addcc r4, r4, #0x1
- cmp r6, r3
- addcc r4, r4, #0x1
- subs r2, r2, #0x4
- str r6, [r0, #0xc]
- addne r1, r1, #0x10
- addne r0, r0, #0x10
- bne _02094738
-_02094898:
- mov r0, r4
- add sp, sp, #0x4
- ldmia sp!, {r4-r9,lr}
- bx lr
- .balign 4
-_020948A8: .word 0x0000FFFF
-
- arm_func_start FUN_020948AC
-FUN_020948AC: ; 0x020948AC
- stmdb sp!, {r4-r9,lr}
- sub sp, sp, #0x4
- cmp r2, #0x0
- mov r12, #0x0
- addle sp, sp, #0x4
- movle r0, r12
- ldmleia sp!, {r4-r9,lr}
- bxle lr
- ldr r5, _02094A88 ; =0x0000FFFF
- and r4, r3, r5
- and lr, r5, r3, lsr #0x10
-_020948D8:
- ldr r3, [r1, #0x0]
- and r7, r5, r3, lsr #0x10
- mul r6, r4, r7
- and r3, r3, r5
- mla r9, lr, r3, r6
- mul r8, r3, r4
- mul r3, r7, lr
- cmp r9, r6
- and r6, r9, r5
- addcc r3, r3, #0x10000
- and r7, r5, r9, lsr #0x10
- add r8, r8, r6, lsl #0x10
- cmp r8, r6, lsl #0x10
- add r3, r3, r7
- ldr r6, [r0, #0x0]
- addcc r3, r3, #0x1
- add r7, r8, r12
- cmp r7, r12
- add r7, r7, r6
- addcc r3, r3, #0x1
- cmp r7, r6
- addcc r3, r3, #0x1
- mov r12, r3
- str r7, [r0, #0x0]
- subs r6, r2, #0x1
- beq _02094A78
- ldr r12, [r1, #0x4]
- and r7, r5, r12, lsr #0x10
- mul r6, r4, r7
- and r12, r12, r5
- mla r9, lr, r12, r6
- mul r8, r12, r4
- mul r12, r7, lr
- cmp r9, r6
- and r6, r9, r5
- addcc r12, r12, #0x10000
- and r7, r5, r9, lsr #0x10
- add r8, r8, r6, lsl #0x10
- cmp r8, r6, lsl #0x10
- add r12, r12, r7
- add r6, r8, r3
- addcc r12, r12, #0x1
- cmp r6, r3
- ldr r3, [r0, #0x4]
- addcc r12, r12, #0x1
- add r6, r6, r3
- cmp r6, r3
- addcc r12, r12, #0x1
- str r6, [r0, #0x4]
- subs r3, r2, #0x2
- beq _02094A78
- ldr r3, [r1, #0x8]
- and r7, r5, r3, lsr #0x10
- mul r6, r4, r7
- and r3, r3, r5
- mla r9, lr, r3, r6
- mul r8, r3, r4
- mul r3, r7, lr
- cmp r9, r6
- and r6, r9, r5
- addcc r3, r3, #0x10000
- and r7, r5, r9, lsr #0x10
- add r8, r8, r6, lsl #0x10
- cmp r8, r6, lsl #0x10
- add r3, r3, r7
- ldr r6, [r0, #0x8]
- addcc r3, r3, #0x1
- add r7, r8, r12
- cmp r7, r12
- add r7, r7, r6
- addcc r3, r3, #0x1
- cmp r7, r6
- addcc r3, r3, #0x1
- mov r12, r3
- str r7, [r0, #0x8]
- subs r6, r2, #0x3
- beq _02094A78
- ldr r12, [r1, #0xc]
- and r7, r5, r12, lsr #0x10
- mul r6, r4, r7
- and r12, r12, r5
- mla r9, lr, r12, r6
- mul r8, r12, r4
- mul r12, r7, lr
- cmp r9, r6
- and r6, r9, r5
- addcc r12, r12, #0x10000
- and r7, r5, r9, lsr #0x10
- add r8, r8, r6, lsl #0x10
- cmp r8, r6, lsl #0x10
- add r12, r12, r7
- add r6, r8, r3
- addcc r12, r12, #0x1
- cmp r6, r3
- ldr r3, [r0, #0xc]
- addcc r12, r12, #0x1
- add r6, r6, r3
- cmp r6, r3
- addcc r12, r12, #0x1
- subs r2, r2, #0x4
- str r6, [r0, #0xc]
- addne r1, r1, #0x10
- addne r0, r0, #0x10
- bne _020948D8
-_02094A78:
- mov r0, r12
- add sp, sp, #0x4
- ldmia sp!, {r4-r9,lr}
- bx lr
- .balign 4
-_02094A88: .word 0x0000FFFF
-
- arm_func_start FUN_02094A8C
-FUN_02094A8C:
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- cmp r1, #0x0
- addlt sp, sp, #0x4
- movlt r0, #0x0
- ldmltia sp!, {lr}
- bxlt lr
- mov r2, r1, asr #0x4
- add r2, r1, r2, lsr #0x1b
- mov r3, r1, lsr #0x1f
- ldr r12, [r0, #0x4]
- mov lr, r2, asr #0x5
- cmp r12, lr
- rsb r1, r3, r1, lsl #0x1b
- addle sp, sp, #0x4
- add r2, r3, r1, ror #0x1b
- movle r0, #0x0
- ldmleia sp!, {lr}
- bxle lr
- ldr r1, [r0, #0x0]
- mov r0, #0x1
- mov r2, r0, lsl r2
- ldr r1, [r1, lr, lsl #0x2]
- ands r1, r2, r1
- moveq r0, #0x0
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-
- arm_func_start FUN_02094AFC
-FUN_02094AFC:
- stmdb sp!, {r4-r6,lr}
- mov r6, r0
- mov r2, r1, asr #0x4
- add r2, r1, r2, lsr #0x1b
- mov r3, r1, lsr #0x1f
- rsb r1, r3, r1, lsl #0x1b
- ldr r4, [r6, #0x4]
- mov r5, r2, asr #0x5
- cmp r4, r5
- add r4, r3, r1, ror #0x1b
- bgt _02094B7C
- ldr r2, [r6, #0x8]
- add r1, r5, #0x1
- cmp r1, r2
- ble _02094B3C
- bl FUN_02094EBC
-_02094B3C:
- cmp r0, #0x0
- moveq r0, #0x0
- ldmeqia sp!, {r4-r6,lr}
- bxeq lr
- ldr r3, [r6, #0x4]
- add r2, r5, #0x1
- cmp r3, r2
- bge _02094B74
- mov r1, #0x0
-_02094B60:
- ldr r0, [r6, #0x0]
- str r1, [r0, r3, lsl #0x2]
- add r3, r3, #0x1
- cmp r3, r2
- blt _02094B60
-_02094B74:
- add r0, r5, #0x1
- str r0, [r6, #0x4]
-_02094B7C:
- ldr r2, [r6, #0x0]
- mov r0, #0x1
- ldr r1, [r2, r5, lsl #0x2]
- orr r1, r1, r0, lsl r4
- str r1, [r2, r5, lsl #0x2]
- ldmia sp!, {r4-r6,lr}
- bx lr
-
- arm_func_start FUN_02094B98
-FUN_02094B98:
- ldr r3, [r0, #0x4]
- ldr r2, [r1, #0x4]
- subs r2, r3, r2
- movne r0, r2
- bxne lr
- subs r2, r3, #0x1
- ldr r12, [r0, #0x0]
- ldr r3, [r1, #0x0]
- bmi _02094BE4
-_02094BBC:
- ldr r1, [r12, r2, lsl #0x2]
- ldr r0, [r3, r2, lsl #0x2]
- cmp r1, r0
- beq _02094BDC
- cmp r1, r0
- movhi r0, #0x1
- mvnls r0, #0x0
- bx lr
-_02094BDC:
- subs r2, r2, #0x1
- bpl _02094BBC
-_02094BE4:
- mov r0, #0x0
- bx lr
-
- arm_func_start FUN_02094BEC
-FUN_02094BEC: ; 0x02094BEC
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r5, r0
- mov r4, r1
- bl FUN_02095188
- add r1, r0, #0x7
- mov r0, r1, asr #0x2
- add r0, r1, r0, lsr #0x1d
- mov r0, r0, asr #0x3
- cmp r0, #0x0
- addle sp, sp, #0x4
- sub r12, r0, #0x1
- ldmleia sp!, {r4-r5,lr}
- bxle lr
-_02094C24:
- mov r3, r12, lsr #0x1f
- mov r1, r12, asr #0x1
- rsb r2, r3, r12, lsl #0x1e
- add r1, r12, r1, lsr #0x1e
- add r2, r3, r2, ror #0x1e
- ldr r3, [r5, #0x0]
- mov r1, r1, asr #0x2
- ldr r3, [r3, r1, lsl #0x2]
- mov r1, r2, lsl #0x3
- mov r1, r3, lsr r1
- cmp r12, #0x0
- strb r1, [r4], #0x1
- sub r12, r12, #0x1
- bgt _02094C24
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
-
- arm_func_start FUN_02094C68
-FUN_02094C68:
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- movs r5, r2
- mov r7, r0
- mov r6, r1
- bne _02094C88
- bl FUN_02094FE0
- mov r5, r0
-_02094C88:
- cmp r5, #0x0
- addeq sp, sp, #0x4
- moveq r0, #0x0
- ldmeqia sp!, {r4-r7,lr}
- bxeq lr
- cmp r6, #0x0
- mov r4, #0x0
- addeq sp, sp, #0x4
- moveq r0, r5
- streq r4, [r5, #0x4]
- ldmeqia sp!, {r4-r7,lr}
- bxeq lr
- add r0, r6, #0x2
- mov r2, r0, lsl #0x3
- add r1, r2, #0x1f
- mov r0, r1, asr #0x4
- add r0, r1, r0, lsr #0x1b
- ldr r1, [r5, #0x8]
- mov r0, r0, asr #0x5
- cmp r0, r1
- movle r0, r5
- ble _02094CF8
- mov r0, r2, asr #0x4
- add r0, r2, r0, lsr #0x1b
- mov r1, r0, asr #0x5
- mov r0, r5
- add r1, r1, #0x1
- bl FUN_02094EBC
-_02094CF8:
- cmp r0, #0x0
- addeq sp, sp, #0x4
- moveq r0, #0x0
- ldmeqia sp!, {r4-r7,lr}
- bxeq lr
- sub r0, r6, #0x1
- mov r1, r0, lsr #0x2
- add r12, r1, #0x1
- cmp r6, #0x0
- str r12, [r5, #0x4]
- and r3, r0, #0x3
- sub r6, r6, #0x1
- beq _02094D64
- mov r1, #0x0
- mov r0, #0x3
-_02094D34:
- ldrb r2, [r7], #0x1
- cmp r3, #0x0
- sub r3, r3, #0x1
- orr r4, r2, r4, lsl #0x8
- ldreq r2, [r5, #0x0]
- subeq r12, r12, #0x1
- streq r4, [r2, r12, lsl #0x2]
- moveq r4, r1
- moveq r3, r0
- cmp r6, #0x0
- sub r6, r6, #0x1
- bne _02094D34
-_02094D64:
- mov r0, r5
- bl FUN_02095040
- mov r0, r5
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,lr}
- bx lr
-
- arm_func_start FUN_02094D7C
-FUN_02094D7C:
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r4, r0
- ldr r2, [r4, #0x8]
- mov r5, r1
- cmp r2, #0x1
- bge _02094DA0
- mov r1, #0x2
- bl FUN_02094EBC
-_02094DA0:
- cmp r0, #0x0
- addeq sp, sp, #0x4
- moveq r0, #0x0
- ldmeqia sp!, {r4-r5,lr}
- bxeq lr
- mov r0, #0x0
- str r0, [r4, #0xc]
- str r0, [r4, #0x4]
- ldr r0, [r4, #0x0]
- str r5, [r0, #0x0]
- ldr r0, [r4, #0x0]
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- movne r0, #0x1
- strne r0, [r4, #0x4]
- mov r0, #0x1
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
-
- arm_func_start FUN_02094DEC
-FUN_02094DEC: ; 0x02094DEC
- stmdb sp!, {r4,lr}
- mov r4, r0
- ldr r0, [r4, #0x0]
- cmp r0, #0x0
- beq _02094E10
- ldr r2, [r4, #0x8]
- mov r1, #0x0
- mov r2, r2, lsl #0x2
- bl MI_CpuFill8
-_02094E10:
- mov r0, #0x0
- str r0, [r4, #0x4]
- str r0, [r4, #0xc]
- ldmia sp!, {r4,lr}
- bx lr
-
- arm_func_start FUN_02094E24
-FUN_02094E24:
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r5, r0
- mov r4, r1
- cmp r5, r4
- addeq sp, sp, #0x4
- ldmeqia sp!, {r4-r5,lr}
- bxeq lr
- ldr r1, [r4, #0x4]
- ldr r2, [r5, #0x8]
- cmp r1, r2
- ble _02094E58
- bl FUN_02094EBC
-_02094E58:
- cmp r0, #0x0
- addeq sp, sp, #0x4
- moveq r0, #0x0
- ldmeqia sp!, {r4-r5,lr}
- bxeq lr
- ldr r2, [r4, #0x4]
- ldr r0, [r4, #0x0]
- ldr r1, [r5, #0x0]
- mov r2, r2, lsl #0x2
- bl MI_CpuCopy8
- ldr r0, [r4, #0x4]
- str r0, [r5, #0x4]
- ldr r0, [r5, #0x4]
- cmp r0, #0x0
- bne _02094EA4
- ldr r1, [r5, #0x0]
- cmp r1, #0x0
- movne r0, #0x0
- strne r0, [r1, #0x0]
-_02094EA4:
- ldr r1, [r4, #0xc]
- mov r0, r5
- str r1, [r5, #0xc]
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
-
- arm_func_start FUN_02094EBC
-FUN_02094EBC:
- stmdb sp!, {r4-r6,lr}
- mov r5, r0
- ldr r0, [r5, #0x8]
- mov r4, r1
- cmp r4, r0
- ble _02094F30
- ldr r0, [r5, #0x10]
- ands r0, r0, #0x2
- movne r0, #0x0
- ldmneia sp!, {r4-r6,lr}
- bxne lr
- add r0, r4, #0x1
- mov r0, r0, lsl #0x2
- bl FUN_020910A4
- movs r6, r0
- moveq r0, #0x0
- ldmeqia sp!, {r4-r6,lr}
- bxeq lr
- ldr r0, [r5, #0x0]
- cmp r0, #0x0
- beq _02094F28
- ldr r2, [r5, #0x4]
- mov r1, r6
- mov r2, r2, lsl #0x2
- bl MI_CpuCopy8
-_02094F20: ; 0x02094F20
- ldr r0, [r5, #0x0]
- bl FUN_0209105C
-_02094F28:
- str r6, [r5, #0x0]
- str r4, [r5, #0x8]
-_02094F30:
- mov r0, r5
- ldmia sp!, {r4-r6,lr}
- bx lr
-
- arm_func_start FUN_02094F3C
-FUN_02094F3C: ; 0x02094F3C
- stmdb sp!, {r4-r6,lr}
- mov r6, r0
- add r4, r6, #0x4
- mov r5, #0x0
-_02094F4C:
- mov r0, r4
- bl FUN_02095164
- add r5, r5, #0x1
- cmp r5, #0xc
- add r4, r4, #0x14
- blt _02094F4C
- ldr r0, [r6, #0x108]
- ands r0, r0, #0x1
- ldmeqia sp!, {r4-r6,lr}
- bxeq lr
- mov r0, r6
- bl FUN_0209105C
- ldmia sp!, {r4-r6,lr}
- bx lr
-
- arm_func_start FUN_02094F84
-FUN_02094F84: ; 0x02094F84
- stmdb sp!, {r4,lr}
- mov r1, #0x0
- mov r2, #0x110
- mov r4, r0
- bl MI_CpuFill8
-_02094F98: ; 0x02094F98
- mov r0, #0x0
- str r0, [r4, #0x0]
- str r0, [r4, #0x108]
- ldmia sp!, {r4,lr}
- bx lr
-
- arm_func_start FUN_02094FAC
-FUN_02094FAC: ; 0x02094FAC
- stmdb sp!, {r4,lr}
- mov r0, #0x110
- bl FUN_020910A4
- movs r4, r0
- moveq r0, #0x0
- ldmeqia sp!, {r4,lr}
- bxeq lr
- bl FUN_02094F84
- mov r1, #0x1
- mov r0, r4
- str r1, [r4, #0x108]
- ldmia sp!, {r4,lr}
- bx lr
-
- arm_func_start FUN_02094FE0
-FUN_02094FE0: ; 0x02094FE0
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- mov r0, #0x14
- bl FUN_020910A4
-_02094FF0: ; 0x02094FF0
- cmp r0, #0x0
- addeq sp, sp, #0x4
- moveq r0, #0x0
- ldmeqia sp!, {lr}
- bxeq lr
- mov r1, #0x1
- str r1, [r0, #0x10]
- mov r1, #0x0
- str r1, [r0, #0x4]
- str r1, [r0, #0xc]
- str r1, [r0, #0x8]
- str r1, [r0, #0x0]
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-
- arm_func_start FUN_0209502C
-FUN_0209502C:
- ldr ip, _0209503C ; =MI_CpuFill8
- mov r1, #0x0
- mov r2, #0x14
- bx r12
- .balign 4
-_0209503C: .word MI_CpuFill8
-
- arm_func_start FUN_02095040
-FUN_02095040:
- ldr r3, [r0, #0x4]
- cmp r3, #0x0
- bxle lr
- ldr r2, [r0, #0x0]
- sub r1, r3, #0x1
- cmp r3, #0x0
- add r3, r2, r1, lsl #0x2
- bxle lr
- add r2, r0, #0x4
-_02095064:
- ldr r1, [r3], #-0x4
- cmp r1, #0x0
- bxne lr
- ldr r1, [r2, #0x0]
- sub r1, r1, #0x1
- str r1, [r2, #0x0]
- ldr r1, [r0, #0x4]
- cmp r1, #0x0
- bgt _02095064
- bx lr
-
- arm_func_start FUN_0209508C
-FUN_0209508C:
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r5, r0
- ldr r2, [r5, #0x4]
- mov r4, r1
- cmp r2, r4
- addge sp, sp, #0x4
- ldmgeia sp!, {r4-r5,lr}
- bxge lr
- ldr r2, [r5, #0x8]
- cmp r4, r2
- ble _020950C0
- bl FUN_02094EBC
-_020950C0:
- ldr r0, [r5, #0x0]
- cmp r0, #0x0
- addeq sp, sp, #0x4
- ldmeqia sp!, {r4-r5,lr}
- bxeq lr
- ldr r2, [r5, #0x4]
- cmp r2, r4
- addge sp, sp, #0x4
- ldmgeia sp!, {r4-r5,lr}
- bxge lr
- mov r1, #0x0
-_020950EC:
- ldr r0, [r5, #0x0]
- str r1, [r0, r2, lsl #0x2]
- add r2, r2, #0x1
- cmp r2, r4
- blt _020950EC
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
-
- arm_func_start FUN_0209510C
-FUN_0209510C:
- stmdb sp!, {r4,lr}
- movs r4, r0
- ldmeqia sp!, {r4,lr}
- bxeq lr
- ldr r0, [r4, #0x0]
- cmp r0, #0x0
- beq _02095138
- ldr r1, [r4, #0x10]
- ands r1, r1, #0x2
- bne _02095138
- bl FUN_0209105C
-_02095138:
- ldr r0, [r4, #0x10]
- orr r0, r0, #0x8000
- str r0, [r4, #0x10]
- ldr r0, [r4, #0x10]
- ands r0, r0, #0x1
- ldmeqia sp!, {r4,lr}
- bxeq lr
- mov r0, r4
- bl FUN_0209105C
- ldmia sp!, {r4,lr}
- bx lr
-
- arm_func_start FUN_02095164
-FUN_02095164: ; 0x02095164
- stmdb sp!, {r4,lr}
- movs r4, r0
- ldmeqia sp!, {r4,lr}
- bxeq lr
- bl FUN_02094DEC
- mov r0, r4
- bl FUN_0209510C
- ldmia sp!, {r4,lr}
- bx lr
-
- arm_func_start FUN_02095188
-FUN_02095188: ; 0x02095188
- stmdb sp!, {r4,lr}
- ldr r1, [r0, #0x4]
- cmp r1, #0x0
- moveq r0, #0x0
- ldmeqia sp!, {r4,lr}
- bxeq lr
- ldr r0, [r0, #0x0]
- sub r4, r1, #0x1
- ldr r0, [r0, r4, lsl #0x2]
- bl FUN_020951BC
- add r0, r0, r4, lsl #0x5
- ldmia sp!, {r4,lr}
- bx lr
-
- arm_func_start FUN_020951BC
-FUN_020951BC: ; 0x020951BC
- mov r1, #0x10000
- rsb r1, r1, #0x0
- ands r1, r0, r1
- beq _020951DC
- ands r1, r0, #0xff000000
- movne r2, #0x18
- moveq r2, #0x10
- b _020951E8
-_020951DC:
- ands r1, r0, #0xff00
- movne r2, #0x8
- moveq r2, #0x0
-_020951E8:
- mov r1, r0, lsr r2
- ands r0, r1, #0xf0
- ldreq r0, _02095218 ; =0x020FF524
- ldreqsb r0, [r0, r1]
- addeq r0, r0, r2
- bxeq lr
- ldr r0, _02095218 ; =0x020FF524
- mov r1, r1, lsr #0x4
- ldrsb r0, [r0, r1]
- add r0, r0, r2
- add r0, r0, #0x4
- bx lr
- .balign 4
-_02095218: .word 0x020FF524
-
- arm_func_start FUN_0209521C
-FUN_0209521C: ; 0x0209521C
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- mov r3, #0x0
- strb r3, [r0, #0x0]
- cmp r2, #0x10
- strb r3, [r0, #0x1]
- movhi r2, #0x10
- add r0, r0, #0x4
-_0209523C:
- strb r3, [r0, r3]
- add r3, r3, #0x1
- cmp r3, #0x100
- blt _0209523C
- mov r6, #0x0
- mov r7, r6
- mov r4, r6
- mov r3, r6
- and r12, r2, #0xff
-_02095260:
- ldrb r5, [r0, r4]
- ldrb lr, [r1, r7]
- add r2, r7, #0x1
- and r7, r2, #0xff
- add r2, r5, lr
- add r2, r6, r2
- and r6, r2, #0xff
- ldrb r2, [r0, r6]
- add lr, r0, r4
- add r4, r4, #0x1
- strb r2, [lr, #0x0]
- cmp r7, r12
- moveq r7, r3
- cmp r4, #0x100
- strb r5, [r0, r6]
- blt _02095260
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,lr}
- bx lr
-
- arm_func_start FUN_020952AC
-FUN_020952AC: ; 0x020952AC
- stmdb sp!, {r4-r9,lr}
- ldrb r7, [r0, #0x0]
- ldrb r6, [r0, #0x1]
- add r0, r0, #0x4
- mov lr, #0x1000000
- add r7, lr, r7, lsl #0x18
- mov r6, r6, lsl #0x18
- ldrb r9, [r0, r7, lsr #0x18]
- subs r2, r2, #0x1
- bmi _0209530C
-_020952D4:
- add r6, r6, r9, lsl #0x18
- subs r2, r2, #0x1
- ldrb r8, [r0, r6, lsr #0x18]
- ldrb r5, [r1], #0x1
- strb r8, [r0, r7, lsr #0x18]
- strb r9, [r0, r6, lsr #0x18]
- add r4, r9, r8
- and r4, r4, #0xff
- add r7, r7, lr
- ldrb r4, [r0, r4]
- ldrb r9, [r0, r7, lsr #0x18]
- eor r5, r5, r4
- strb r5, [r3], #0x1
- bge _020952D4
-_0209530C:
- sub r7, r7, lr
- mov r7, r7, lsr #0x18
- mov r6, r6, lsr #0x18
- strb r7, [r0, #-0x4]
- strb r6, [r0, #-0x3]
- ldmia sp!, {r4-r9,pc}
-_02095324: ; 0x02095324
- ldr r0, _0209532C ; =0x021C8C84
- bx lr
- .balign 4
-_0209532C: .word 0x021C8C84
-
- arm_func_start FUN_02095330
-FUN_02095330: ; 0x02095330
- stmdb sp!, {r4,lr}
- sub sp, sp, #0x8
- mov r4, r0
- ldr r3, [r4, #0x8]
- ldr r2, [r4, #0xc]
- ldr r1, _020953E4 ; =0x021C8C84
- str r2, [sp, #0x4]
- str r3, [sp, #0x0]
- mov r2, #0x5
- bl MI_CpuCopy8
- ldr r1, [sp, #0x0]
- ldr r2, [r4, #0x4]
- ldr r0, [sp, #0x4]
- mov r2, r2, lsr #0x8
- mov r12, r1, lsr #0x5
- mov r3, r0, lsr #0x5
- orr r12, r12, r0, lsl #0x1b
- and lr, r2, #0x7
- and r0, r1, #0x1f
- orr lr, lr, r0, lsl #0x3
- ldr r2, _020953E4 ; =0x021C8C84
- ldr r1, _020953E8 ; =0x021C8C8A
- strb lr, [r2, #0x5]
- add r0, sp, #0x0
- str r12, [sp, #0x0]
- str r3, [sp, #0x4]
- mov r2, #0x4
- bl MI_CpuCopy8
- ldrh r0, [r4, #0x10]
- ldr r1, [sp, #0x4]
- ldr r3, _020953E4 ; =0x021C8C84
- and r1, r1, #0x3f
- and r0, r0, #0x3
- orr r0, r1, r0, lsl #0x6
- strb r0, [r3, #0xa]
- ldrh r2, [r4, #0x10]
- add r0, r4, #0x12
- ldr r1, _020953EC ; =0x021C8C90
- mov r4, r2, asr #0x2
- mov r2, #0x2
- strb r4, [r3, #0xb]
- bl MI_CpuCopy8
- ldr r0, _020953E4 ; =0x021C8C84
- add sp, sp, #0x8
- ldmia sp!, {r4,pc}
- .balign 4
-_020953E4: .word 0x021C8C84
-_020953E8: .word 0x021C8C8A
-_020953EC: .word 0x021C8C90
-
- arm_func_start FUN_020953F0
-FUN_020953F0: ; 0x020953F0
- ldr r3, _02095420 ; =0x021C8C78
- and r12, r1, #0xff
- ldr r0, _02095424 ; =0x021C8C7C
- mov r1, #0x1
- strh r12, [r3, #0x0]
- str r1, [r0, #0x0]
- cmp r2, #0x0
- movne r0, #0xff
- strneh r0, [r3, #0x0]
- ldr r0, _02095420 ; =0x021C8C78
- ldrh r0, [r0, #0x0]
- bx lr
- .balign 4
-_02095420: .word 0x021C8C78
-_02095424: .word 0x021C8C7C
-
- arm_func_start FUN_02095428
-FUN_02095428:
- stmdb sp!, {r4-r6,lr}
- mov r5, #0x4
- mov r4, #0x1
-_02095434:
- mov r0, r5
- mov r1, r4
- bl PXI_IsCallbackReady
-_02095440: ; 0x02095440
- cmp r0, #0x0
- beq _02095434
- ldr r1, _02095490 ; =FUN_020953F0
- mov r0, #0x4
- bl PXI_SetFifoRecvCallback
- mov r4, #0x40000
- mov r6, #0x7
- mov r5, #0x0
-_02095460:
- mov r0, r6
- mov r1, r5
- mov r2, r5
- mov r3, r5
- bl FUN_020955F4
- cmp r0, #0x1
- beq _02095488
- mov r0, r4
- blx SVC_WaitByLoop
- b _02095460
-_02095488:
- mov r0, #0x1
- ldmia sp!, {r4-r6,pc}
- .balign 4
-_02095490: .word FUN_020953F0
-
- arm_func_start FUN_02095494
-FUN_02095494:
- stmdb sp!, {r4-r6,lr}
- mov r5, r2
- mov r4, r3
- mov r6, r0
- mov r0, r1
- mov r1, r5
- mov r2, r4
- bl FUN_0209555C
-_020954B4: ; 0x020954B4
- cmp r0, #0x0
- moveq r0, #0x0
- ldmeqia sp!, {r4-r6,pc}
-_020954C0: ; 0x020954C0
- mov r0, r6
- mov r1, r4
- mov r2, r5
- bl memcmp
-_020954D0: ; 0x020954D0
- cmp r0, #0x0
- moveq r0, #0x1
- movne r0, #0x0
- ldmia sp!, {r4-r6,pc}
-
- arm_func_start FUN_020954E0
-FUN_020954E0: ; 0x020954E0
- stmdb sp!, {r4-r8,lr}
- mov r8, r0
- mov r7, r1
- mov r6, r2
- mov r5, #0x4
- mov r4, #0x1
-_020954F8:
- mov r0, r5
- mov r1, r4
- bl PXI_IsCallbackReady
-_02095504: ; 0x02095504
- cmp r0, #0x0
- beq _020954F8
- ldr r1, _02095558 ; =FUN_020953F0
- mov r0, #0x4
- bl PXI_SetFifoRecvCallback
- mov r0, r6
- mov r1, r7
- bl DC_StoreRange
- mov r4, #0x40000
- mov r5, #0x2
-_0209552C:
- mov r0, r5
- mov r1, r8
- mov r2, r7
- mov r3, r6
- bl FUN_020955F4
- cmp r0, #0x1
- ldmeqia sp!, {r4-r8,pc}
-_02095548: ; 0x02095548
- mov r0, r4
- blx SVC_WaitByLoop
- b _0209552C
-_02095554: ; 0x02095554
- ldmia sp!, {r4-r8,pc}
- .balign 4
-_02095558: .word FUN_020953F0
-
- arm_func_start FUN_0209555C
-FUN_0209555C:
- stmdb sp!, {r4-r9,lr}
- sub sp, sp, #0x4
- mov r4, r2
- mov r6, r0
- mov r0, r4
- mov r5, r1
- bl DC_InvalidateRange
- mov r8, #0x4
- mov r7, #0x1
-_02095580:
- mov r0, r8
- mov r1, r7
- bl PXI_IsCallbackReady
-_0209558C: ; 0x0209558C
- cmp r0, #0x0
- beq _02095580
- ldr r1, _020955F0 ; =FUN_020953F0
- mov r0, #0x4
- bl PXI_SetFifoRecvCallback
- mov r0, r5, lsl #0x10
- mov r8, r0, lsr #0x10
- mov r7, #0x40000
- mov r9, #0x1
-_020955B0:
- mov r0, r9
- mov r1, r6
- mov r2, r8
- mov r3, r4
- bl FUN_020955F4
- cmp r0, #0x1
- beq _020955D8
- mov r0, r7
- blx SVC_WaitByLoop
- b _020955B0
-_020955D8:
- mov r0, r4
- mov r1, r5
- bl DC_InvalidateRange
- mov r0, #0x1
- add sp, sp, #0x4
- ldmia sp!, {r4-r9,pc}
- .balign 4
-_020955F0: .word FUN_020953F0
-
- arm_func_start FUN_020955F4
-FUN_020955F4: ; 0x020955F4
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0xc4
- ldr ip, _02095AAC ; =0x0000FFFF
- ldr sl, _02095AB0 ; =0x021C8CA0
- and r8, r2, r12
- and r7, r1, r12
- mov r5, r1, lsr #0x10
- mov r4, r3, lsr #0x10
- and r1, r3, r12
- orr r3, r8, #0x30000
- str r3, [sp, #0xc]
- ldr r3, _02095AB4 ; =0x01050000
- orr r2, r2, #0x20000
- orr r3, r1, r3
- str r3, [sp, #0x14]
- orr r1, r1, #0x1040000
- mov r9, r0
- and r0, r5, #0xff
- str r2, [sp, #0x1c]
- str r1, [sp, #0x24]
- ldr r1, _02095AB8 ; =0x02002200
- mov r8, #0x0
- orr r2, r4, #0x40000
- orr r1, r1, r10, lsr #0x18
- str r1, [sp, #0x28]
- and r1, r12, r10, lsr #0x8
- orr r1, r1, #0x10000
- ldr r3, _02095ABC ; =0x02002300
- str r2, [sp, #0x10]
- orr r2, r0, r3
- str r2, [sp, #0x8]
- orr r2, r4, #0x30000
- str r2, [sp, #0x20]
- ldr r2, _02095AC0 ; =0x02002500
- mov r6, r10, lsl #0x8
- str r1, [sp, #0x2c]
- and r1, r6, #0xff00
- orr r0, r0, r2
- ldr r3, _02095AC4 ; =0x01020000
- str r0, [sp, #0x18]
- orr r0, r1, r3
- str r0, [sp, #0x30]
- mov r0, #0x20000
- str r0, [sp, #0x40]
- mov r0, #0x5
- str r0, [sp, #0xac]
- mov r0, #0x3
- str r0, [sp, #0xb0]
- mov r0, #0x6
- str r0, [sp, #0xb8]
- mov r0, #0x4000
- orr r7, r7, #0x10000
- str r8, [sp, #0xb4]
- mov r4, #0x1
- str r8, [sp, #0xa8]
- mov r5, #0x4
- str r8, [sp, #0xa4]
- str r8, [sp, #0xa0]
- str r8, [sp, #0x90]
- str r8, [sp, #0x98]
- str r8, [sp, #0x9c]
- str r8, [sp, #0x94]
- str r8, [sp, #0x8c]
- str r8, [sp, #0x6c]
- str r8, [sp, #0x74]
- str r8, [sp, #0x7c]
- str r8, [sp, #0x84]
- str r8, [sp, #0x88]
- str r8, [sp, #0x80]
- str r8, [sp, #0x78]
- str r8, [sp, #0x70]
- str r8, [sp, #0x68]
- str r8, [sp, #0x64]
- str r8, [sp, #0x38]
- str r8, [sp, #0x44]
- str r8, [sp, #0x4c]
- str r8, [sp, #0x54]
- str r8, [sp, #0x5c]
- str r8, [sp, #0x60]
- str r8, [sp, #0x58]
- str r8, [sp, #0x50]
- str r8, [sp, #0x48]
- str r8, [sp, #0x3c]
- str r8, [sp, #0x34]
- mov r6, r8
- str r0, [sp, #0xbc]
-_0209574C:
- cmp r8, #0x0
- bne _02095988
- ldr r0, _02095AC8 ; =0x021C8C7C
- cmp r9, #0x7
- str r6, [r0, #0x0]
- addls pc, pc, r9, lsl #0x2
- b _0209574C
-_02095768:
- b _0209574C
-_0209576C:
- b _02095788
-_02095770:
- b _02095834
-_02095774:
- b _02095854
-_02095778:
- b _020958F0
-_0209577C:
- b _020958F0
-_02095780:
- b _02095948
-_02095784:
- b _02095968
-_02095788:
- ldr r1, [sp, #0x8]
- mov r0, r5
- mov r2, r6
- bl PXI_SendWordByFifo
-_02095798: ; 0x02095798
- cmp r0, #0x0
- ldrlt r8, [sp, #0x34]
- blt _0209574C
- ldr r2, [sp, #0x38]
- mov r0, r5
- mov r1, r7
- bl PXI_SendWordByFifo
-_020957B4: ; 0x020957B4
- cmp r0, #0x0
- ldrlt r8, [sp, #0x3c]
- blt _0209574C
- ldr r1, [sp, #0x40]
- ldr r2, [sp, #0x44]
- mov r0, r5
- bl PXI_SendWordByFifo
-_020957D0: ; 0x020957D0
- cmp r0, #0x0
- ldrlt r8, [sp, #0x48]
- blt _0209574C
- ldr r1, [sp, #0xc]
- ldr r2, [sp, #0x4c]
- mov r0, r5
- bl PXI_SendWordByFifo
-_020957EC: ; 0x020957EC
- cmp r0, #0x0
- ldrlt r8, [sp, #0x50]
- blt _0209574C
- ldr r1, [sp, #0x10]
- ldr r2, [sp, #0x54]
- mov r0, r5
- bl PXI_SendWordByFifo
-_02095808: ; 0x02095808
- cmp r0, #0x0
- ldrlt r8, [sp, #0x58]
- blt _0209574C
- ldr r1, [sp, #0x14]
- ldr r2, [sp, #0x5c]
- mov r0, r5
- bl PXI_SendWordByFifo
-_02095824: ; 0x02095824
- cmp r0, #0x0
- ldrlt r8, [sp, #0x60]
- movge r8, r4
- b _0209574C
-_02095834:
- ldr r1, _02095ACC ; =0x03002000
- mov r0, r5
- mov r2, r6
- bl PXI_SendWordByFifo
-_02095844: ; 0x02095844
- cmp r0, #0x0
- movge r8, r4
- ldrlt r8, [sp, #0x64]
- b _0209574C
-_02095854:
- ldr r1, [sp, #0x18]
- mov r0, r5
- mov r2, r6
- bl PXI_SendWordByFifo
-_02095864: ; 0x02095864
- cmp r0, #0x0
- ldrlt r8, [sp, #0x68]
- blt _020958E0
- ldr r2, [sp, #0x6c]
- mov r0, r5
- mov r1, r7
- bl PXI_SendWordByFifo
-_02095880: ; 0x02095880
- cmp r0, #0x0
- ldrlt r8, [sp, #0x70]
- blt _020958E0
- ldr r1, [sp, #0x1c]
- ldr r2, [sp, #0x74]
- mov r0, r5
- bl PXI_SendWordByFifo
-_0209589C: ; 0x0209589C
- cmp r0, #0x0
- ldrlt r8, [sp, #0x78]
- blt _020958E0
- ldr r1, [sp, #0x20]
- ldr r2, [sp, #0x7c]
- mov r0, r5
- bl PXI_SendWordByFifo
-_020958B8: ; 0x020958B8
- cmp r0, #0x0
- ldrlt r8, [sp, #0x80]
- blt _020958E0
- ldr r1, [sp, #0x24]
- ldr r2, [sp, #0x84]
- mov r0, r5
- bl PXI_SendWordByFifo
-_020958D4: ; 0x020958D4
- cmp r0, #0x0
- ldrlt r8, [sp, #0x88]
- movge r8, r4
-_020958E0:
- bl OS_GetTick
-_020958E4: ; 0x020958E4
- str r0, [sp, #0x0]
- mov r11, r1
- b _0209574C
-_020958F0:
- ldr r1, [sp, #0x28]
- mov r0, r5
- mov r2, r6
- bl PXI_SendWordByFifo
-_02095900: ; 0x02095900
- cmp r0, #0x0
- ldrlt r8, [sp, #0x8c]
- blt _0209574C
- ldr r1, [sp, #0x2c]
- ldr r2, [sp, #0x90]
- mov r0, r5
- bl PXI_SendWordByFifo
-_0209591C: ; 0x0209591C
- cmp r0, #0x0
- ldrlt r8, [sp, #0x94]
- blt _0209574C
- ldr r1, [sp, #0x30]
- ldr r2, [sp, #0x98]
- mov r0, r5
- bl PXI_SendWordByFifo
-_02095938: ; 0x02095938
- cmp r0, #0x0
- ldrlt r8, [sp, #0x9c]
- movge r8, r4
- b _0209574C
-_02095948:
- ldr r1, _02095AD0 ; =0x03002D00
- mov r0, r5
- mov r2, r6
- bl PXI_SendWordByFifo
-_02095958: ; 0x02095958
- cmp r0, #0x0
- movge r8, r4
- ldrlt r8, [sp, #0xa0]
- b _0209574C
-_02095968:
- ldr r1, _02095AD4 ; =0x03002100
- mov r0, r5
- mov r2, r6
- bl PXI_SendWordByFifo
-_02095978: ; 0x02095978
- cmp r0, #0x0
- movge r8, r4
- ldrlt r8, [sp, #0xa4]
- b _0209574C
-_02095988:
- ldr r0, _02095AC8 ; =0x021C8C7C
- ldr r0, [r0, #0x0]
- cmp r0, #0x1
- bne _0209574C
- ldr r0, _02095AD8 ; =0x021C8C78
- ldr r8, [sp, #0xa8]
- ldrh r0, [r0, #0x0]
- cmp r0, #0x0
- bne _02095AA0
- cmp r9, #0x7
- addls pc, pc, r9, lsl #0x2
- b _0209574C
-_020959B8: ; 0x020959B8
- b _0209574C
-_020959BC: ; 0x020959BC
- b _020959D8
-_020959C0: ; 0x020959C0
- b _020959E4
-_020959C4: ; 0x020959C4
- b _020959EC
-_020959C8: ; 0x020959C8
- b _020959F4
-_020959CC: ; 0x020959CC
- b _020959F4
-_020959D0: ; 0x020959D0
- b _02095A88
-_020959D4: ; 0x020959D4
- b _02095A94
-_020959D8:
- add sp, sp, #0xc4
- mov r0, #0x1
- ldmia sp!, {r4-r11,pc}
-_020959E4:
- mov r9, r5
- b _0209574C
-_020959EC:
- ldr r9, [sp, #0xac]
- b _0209574C
-_020959F4:
- mov r0, r10
- mov r1, r4
- bl DC_InvalidateRange
- cmp r9, #0x4
- bne _02095A24
- ldrb r0, [r10, #0x0]
- ands r0, r0, #0x2
- ldrne r9, [sp, #0xb0]
- bne _0209574C
- add sp, sp, #0xc4
- mov r0, #0x0
- ldmia sp!, {r4-r11,pc}
-_02095A24:
- ldrb r1, [r10, #0x0]
- ands r0, r1, #0x1
- addeq sp, sp, #0xc4
- moveq r0, #0x1
- ldmeqia sp!, {r4-r11,pc}
-_02095A38: ; 0x02095A38
- ands r0, r1, #0x20
- bne _02095A74
- bl OS_GetTick
- ldr r2, [sp, #0x0]
- ldr r3, [sp, #0xb4]
- subs r2, r0, r2
- sbc r0, r1, r11
- mov r1, r0, lsl #0x6
- orr r1, r1, r2, lsr #0x1a
- mov r0, r2, lsl #0x6
- ldr r2, _02095ADC ; =0x000082EA
- bl _ll_udiv
-_02095A68: ; 0x02095A68
- cmp r1, #0x0
- cmpeq r0, #0xfa0
- bls _02095A7C
-_02095A74:
- ldr r9, [sp, #0xb8]
- b _0209574C
-_02095A7C:
- ldr r0, [sp, #0xbc]
- blx SVC_WaitByLoop
- b _0209574C
-_02095A88:
- add sp, sp, #0xc4
- mov r0, r8
- ldmia sp!, {r4-r11,pc}
-_02095A94:
- add sp, sp, #0xc4
- mov r0, #0x1
- ldmia sp!, {r4-r11,pc}
-_02095AA0:
- mov r0, r8
- add sp, sp, #0xc4
- ldmia sp!, {r4-r11,pc}
- .balign 4
-_02095AAC: .word 0x0000FFFF
-_02095AB0: .word 0x021C8CA0
-_02095AB4: .word 0x01050000
-_02095AB8: .word 0x02002200
-_02095ABC: .word 0x02002300
-_02095AC0: .word 0x02002500
-_02095AC4: .word 0x01020000
-_02095AC8: .word 0x021C8C7C
-_02095ACC: .word 0x03002000
-_02095AD0: .word 0x03002D00
-_02095AD4: .word 0x03002100
-_02095AD8: .word 0x021C8C78
-_02095ADC: .word 0x000082EA
-
- arm_func_start FUN_02095AE0
-FUN_02095AE0:
- ldrb r0, [r0, #0x0]
- cmp r0, #0x7f
- moveq r0, #0x0
- bxeq lr
- cmp r0, #0x1
- movcc r0, #0x0
- bxcc lr
- cmp r0, #0xdf
- movls r0, #0x1
- movhi r0, #0x0
- bx lr
-
- arm_func_start FUN_02095B0C
-FUN_02095B0C:
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0xc
- mov r5, r0
- mov r4, r1
- bl FUN_02095AE0
-_02095B20: ; 0x02095B20
- cmp r0, #0x0
- addeq sp, sp, #0xc
- moveq r0, #0x0
- ldmeqia sp!, {r4-r5,pc}
-_02095B30: ; 0x02095B30
- add r1, sp, #0x0
- mov r0, r5
- mov r2, #0x4
- bl MI_CpuCopy8
- add r1, sp, #0x4
- mov r0, r4
- mov r2, #0x4
- bl MI_CpuCopy8
- ldr r3, [sp, #0x4]
- ldr r2, [sp, #0x0]
- mvn r0, #0x1
- orr r1, r2, r3
- cmp r1, r0
- addeq sp, sp, #0xc
- moveq r0, #0x0
- ldmeqia sp!, {r4-r5,pc}
-_02095B70: ; 0x02095B70
- mvn r0, r3
- ands r0, r2, r0
- movne r0, #0x1
- moveq r0, #0x0
- add sp, sp, #0xc
- ldmia sp!, {r4-r5,pc}
-
- arm_func_start FUN_02095B88
-FUN_02095B88:
- mov r2, #0x0
-_02095B8C:
- ldrb r1, [r0, r2]
- cmp r1, #0x0
- movne r0, #0x1
- bxne lr
- add r2, r2, #0x1
- cmp r2, #0x20
- blt _02095B8C
- mov r0, #0x0
- bx lr
-
- arm_func_start FUN_02095BB0
-FUN_02095BB0: ; 0x02095BB0
- mvn r2, #0x0
- mov r12, #0x0
- eor r3, r2, r2, lsr r0
- mov r2, r12
-_02095BC0:
- rsb r0, r2, #0x18
- mov r0, r3, lsr r0
- strb r0, [r1, r12]
- add r12, r12, #0x1
- cmp r12, #0x4
- add r2, r2, #0x8
- blt _02095BC0
- bx lr
-
- arm_func_start FUN_02095BE0
-FUN_02095BE0: ; 0x02095BE0
- stmdb sp!, {r4,lr}
- mov lr, #0x0
- mov r4, lr
- mov r2, lr
-_02095BF0:
- ldrb r3, [r0, lr]
- mov r12, r2
-_02095BF8:
- mov r1, r3, asr r12
- ands r1, r1, #0x1
- add r12, r12, #0x1
- addne r4, r4, #0x1
- cmp r12, #0x8
- blt _02095BF8
- add lr, lr, #0x1
- cmp lr, #0x4
- blt _02095BF0
- and r0, r4, #0xff
- ldmia sp!, {r4,pc}
-
- arm_func_start FUN_02095C24
-FUN_02095C24: ; 0x02095C24
- ldr ip, _02095C34 ; =MI_CpuCopy8
- ldr r1, _02095C38 ; =0x021C8C84
- mov r2, #0xe
- bx r12
- .balign 4
-_02095C34: .word MI_CpuCopy8
-_02095C38: .word 0x021C8C84
-
- arm_func_start FUN_02095C3C
-FUN_02095C3C:
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0x4
- ldr r1, _02095CD8 ; =0x021C8C80
- mov r10, r0
- ldr r8, [r1, #0x0]
- mov r7, r10
- mov r9, #0x0
- add r4, r10, #0x400
- add r6, r10, #0x500
- mov r5, #0x100
- mov r11, #0xfe
-_02095C68:
- mov r0, r6
- mov r1, r7
- mov r2, r11
- bl MATH_CalcCRC16
- add r1, r10, r9, lsl #0x8
- strh r0, [r1, #0xfe]
-_02095C80:
- mov r0, r8
- mov r1, r5
- mov r2, r7
- bl FUN_020954E0
- mov r0, r7
- mov r1, r8
- mov r2, r5
- mov r3, r4
- bl FUN_02095494
-_02095CA4: ; 0x02095CA4
- cmp r0, #0x0
- beq _02095C80
- add r9, r9, #0x1
- cmp r9, #0x4
- add r7, r7, #0x100
- add r8, r8, #0x100
- blt _02095C68
- bl FUN_02095428
-_02095CC4: ; 0x02095CC4
- cmp r0, #0x0
- movne r0, #0x1
- moveq r0, #0x0
- add sp, sp, #0x4
- ldmia sp!, {r4-r11,pc}
- .balign 4
-_02095CD8: .word 0x021C8C80
-
- arm_func_start FUN_02095CDC
-FUN_02095CDC: ; 0x02095CDC
- stmdb sp!, {r4-r9,lr}
- sub sp, sp, #0x4
- ldr r3, _02095D64 ; =0x021C8C80
- mov r4, r0
- ldr r6, [r3, #0x0]
- mov r9, r1
- mov r8, r2
- mov r7, #0x0
- mov r5, #0x100
-_02095D00:
- ldr r0, [r9, r7, lsl #0x2]
- cmp r0, #0x0
- beq _02095D38
-_02095D0C:
- mov r0, r6
- mov r1, r5
- mov r2, r4
- bl FUN_020954E0
- mov r0, r4
- mov r1, r6
- mov r2, r5
- mov r3, r8
- bl FUN_02095494
-_02095D30: ; 0x02095D30
- cmp r0, #0x0
- beq _02095D0C
-_02095D38:
- add r7, r7, #0x1
- cmp r7, #0x4
- add r4, r4, #0x100
- add r6, r6, #0x100
- blt _02095D00
- bl FUN_02095428
-_02095D50: ; 0x02095D50
- cmp r0, #0x0
- movne r0, #0x1
- moveq r0, #0x0
- add sp, sp, #0x4
- ldmia sp!, {r4-r9,pc}
- .balign 4
-_02095D64: .word 0x021C8C80
-
- arm_func_start FUN_02095D68
-FUN_02095D68:
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r1, _02095D98 ; =0x021C8C80
- mov r2, r0
- ldr r0, [r1, #0x0]
- mov r1, #0x400
- bl FUN_0209555C
-_02095D84: ; 0x02095D84
- cmp r0, #0x0
- movne r0, #0x1
- moveq r0, #0x0
- add sp, sp, #0x4
- ldmia sp!, {pc}
- .balign 4
-_02095D98: .word 0x021C8C80
-
- arm_func_start FUN_02095D9C
-FUN_02095D9C:
- stmdb sp!, {r4,lr}
- mov r4, r0
- mov r0, #0x20
- mov r1, r0
- mov r2, r4
- bl FUN_0209555C
-_02095DB4: ; 0x02095DB4
- cmp r0, #0x0
- moveq r0, #0x0
- ldmeqia sp!, {r4,pc}
-_02095DC0: ; 0x02095DC0
- ldrh r2, [r4, #0x0]
- ldr r1, _02095DDC ; =0x021C8C80
- mov r0, #0x1
- mov r2, r2, lsl #0x3
- sub r2, r2, #0x400
- str r2, [r1, #0x0]
- ldmia sp!, {r4,pc}
- .balign 4
-_02095DDC: .word 0x021C8C80
-
- arm_func_start FUN_02095DE0
-FUN_02095DE0:
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0x4
- ldr r2, _02095EBC ; =0x021C8C80
- mov r10, r1
- ldr r8, [r2, #0x0]
- bl FUN_02095330
- ldr r1, _02095EC0 ; =0x0000A001
- add r0, r10, #0x200
- bl MATHi_CRC16InitTableRev
- mov r9, #0x0
- add r4, r10, #0x100
- add r6, r10, #0xf0
- mov r7, #0x100
- mov r5, #0xe
- mov r11, #0xfe
-_02095E1C:
- mov r0, r8
- mov r1, r7
- mov r2, r10
- bl FUN_0209555C
-_02095E2C: ; 0x02095E2C
- cmp r0, #0x0
- bne _02095E44
- bl OS_Terminate
- add sp, sp, #0x4
- mov r0, #0x0
- ldmia sp!, {r4-r11,pc}
-_02095E44:
- ldr r0, _02095EC4 ; =0x021C8C84
- mov r1, r6
- mov r2, r5
- bl MI_CpuCopy8
- mov r1, r10
- mov r2, r11
- add r0, r10, #0x200
- bl MATH_CalcCRC16
- strh r0, [r10, #0xfe]
-_02095E68:
- mov r0, r8
- mov r1, r7
- mov r2, r10
- bl FUN_020954E0
- mov r0, r10
- mov r1, r8
- mov r2, r7
- mov r3, r4
- bl FUN_02095494
-_02095E8C: ; 0x02095E8C
- cmp r0, #0x0
- beq _02095E68
- add r9, r9, #0x1
- cmp r9, #0x2
- add r8, r8, #0x100
- blt _02095E1C
- bl FUN_02095428
-_02095EA8: ; 0x02095EA8
- cmp r0, #0x0
- movne r0, #0x1
- moveq r0, #0x0
- add sp, sp, #0x4
- ldmia sp!, {r4-r11,pc}
- .balign 4
-_02095EBC: .word 0x021C8C80
-_02095EC0: .word 0x0000A001
-_02095EC4: .word 0x021C8C84
-
- arm_func_start FUN_02095EC8
-FUN_02095EC8:
- stmdb sp!, {r4,lr}
- mov r4, r0
- ldr r0, _02095F90 ; =0x021C8C84
- mov r1, r4
- mov r2, #0x6
- bl MI_CpuCopy8
- ldr r3, [r4, #0x0]
- mvn r0, #0x0
- ldr r2, [r4, #0x4]
- ldr r1, _02095F94 ; =0x000007FF
- and r0, r3, r0
- str r0, [r4, #0x0]
- and r1, r2, r1
- ldr r0, _02095F98 ; =0x021C8C89
- str r1, [r4, #0x4]
- add r1, r4, #0x8
- mov r2, #0x6
- bl MI_CpuCopy8
- add r12, r4, #0x8
- ldr r1, [r4, #0x8]
- ldr r0, [r12, #0x4]
- mov r1, r1, lsr #0x3
- orr r1, r1, r0, lsl #0x1d
- str r1, [r4, #0x8]
- mov r0, r0, lsr #0x3
- str r0, [r12, #0x4]
- ldr r3, [r4, #0x8]
- mvn r0, #0x0
- ldr r2, [r12, #0x4]
- ldr r1, _02095F94 ; =0x000007FF
- and r0, r3, r0
- str r0, [r4, #0x8]
- and r1, r2, r1
- ldr r0, _02095F9C ; =0x021C8C8E
- str r1, [r12, #0x4]
- add r1, r4, #0x10
- mov r2, #0x2
- bl MI_CpuCopy8
- ldrh r1, [r4, #0x10]
- ldr r3, _02095FA0 ; =0x000003FF
- ldr r0, _02095FA4 ; =0x021C8C90
- mov r1, r1, asr #0x6
- strh r1, [r4, #0x10]
- ldrh r12, [r4, #0x10]
- add r1, r4, #0x12
- mov r2, #0x2
- and r3, r12, r3
- strh r3, [r4, #0x10]
- bl MI_CpuCopy8
- ldmia sp!, {r4,pc}
- .balign 4
-_02095F90: .word 0x021C8C84
-_02095F94: .word 0x000007FF
-_02095F98: .word 0x021C8C89
-_02095F9C: .word 0x021C8C8E
-_02095FA0: .word 0x000003FF
-_02095FA4: .word 0x021C8C90
-
- arm_func_start FUN_02095FA8
-FUN_02095FA8: ; 0x02095FA8
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r1, _02095FD8 ; =0x021C8C80
- mov r2, r0
- ldr r0, [r1, #0x0]
- mov r1, #0x300
- bl FUN_0209555C
-_02095FC4: ; 0x02095FC4
- cmp r0, #0x0
- movne r0, #0x1
- moveq r0, #0x0
- add sp, sp, #0x4
- ldmia sp!, {pc}
- .balign 4
-_02095FD8: .word 0x021C8C80
-
- arm_func_start FUN_02095FDC
-FUN_02095FDC: ; 0x02095FDC
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r5, r0
- mov r4, r1
- add r1, r5, r4, lsl #0x8
- mov r0, #0x0
- mov r2, #0x100
- bl MIi_CpuClear16
- add r0, r5, r4, lsl #0x8
- mov r1, #0xff
- strb r1, [r0, #0xe7]
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,pc}
-
- arm_func_start FUN_02096010
-FUN_02096010: ; 0x02096010
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x14
- mov r7, r0
- mov r1, r7
- mov r0, #0x0
- mov r2, #0x400
- bl MIi_CpuClear16
- mov r2, #0x0
- mov r1, #0xff
-_02096034:
- add r0, r7, r2, lsl #0x8
- add r2, r2, #0x1
- strb r1, [r0, #0xe7]
- cmp r2, #0x3
- blt _02096034
- add r0, sp, #0x0
- bl FUN_020967A4
-_02096050: ; 0x02096050
- add r0, sp, #0x0
- bl FUN_02095330
- mov r6, r0
- mov r5, #0x0
- mov r4, #0xe
-_02096064:
- mov r0, r6
- mov r2, r4
- add r1, r7, #0xf0
- bl MI_CpuCopy8
- add r5, r5, #0x1
- cmp r5, #0x2
- add r7, r7, #0x100
- blt _02096064
- mov r0, #0x0
- add sp, sp, #0x14
- ldmia sp!, {r4-r7,pc}
-
- arm_func_start FUN_02096090
-FUN_02096090:
- stmdb sp!, {r4,lr}
- sub sp, sp, #0x8
- mov r4, r0
- ldrb r0, [r4, #0xe7]
- cmp r0, #0xff
- addeq sp, sp, #0x8
- moveq r0, #0x1
- ldmeqia sp!, {r4,pc}
-_020960B0: ; 0x020960B0
- cmp r0, #0x2
- addhi sp, sp, #0x8
- movhi r0, #0x0
- ldmhiia sp!, {r4,pc}
-_020960C0: ; 0x020960C0
- add r0, r4, #0x40
- bl FUN_02095B88
-_020960C8: ; 0x020960C8
- cmp r0, #0x0
- addeq sp, sp, #0x8
- moveq r0, #0x0
- ldmeqia sp!, {r4,pc}
-_020960D8: ; 0x020960D8
- ldr r1, _0209618C ; =0x020FF574
- add r0, r4, #0xc0
- mov r2, #0x4
- bl memcmp
-_020960E8: ; 0x020960E8
- cmp r0, #0x0
- beq _02096140
- add r0, r4, #0xc4
- bl FUN_02095AE0
-_020960F8: ; 0x020960F8
- cmp r0, #0x0
- addeq sp, sp, #0x8
- moveq r0, #0x0
- ldmeqia sp!, {r4,pc}
-_02096108: ; 0x02096108
- ldrb r0, [r4, #0xd0]
- cmp r0, #0x20
- addhi sp, sp, #0x8
- movhi r0, #0x0
- ldmhiia sp!, {r4,pc}
-_0209611C: ; 0x0209611C
- add r1, sp, #0x0
- bl FUN_02095BB0
- add r1, sp, #0x0
- add r0, r4, #0xc0
- bl FUN_02095B0C
-_02096130: ; 0x02096130
- cmp r0, #0x0
- addeq sp, sp, #0x8
- moveq r0, #0x0
- ldmeqia sp!, {r4,pc}
-_02096140:
- ldr r1, _0209618C ; =0x020FF574
- add r0, r4, #0xc8
- mov r2, #0x4
- bl memcmp
-_02096150: ; 0x02096150
- cmp r0, #0x0
- beq _02096180
- add r0, r4, #0xc8
- bl FUN_02095AE0
-_02096160: ; 0x02096160
- cmp r0, #0x0
- bne _02096180
- add r0, r4, #0xcc
- bl FUN_02095AE0
-_02096170: ; 0x02096170
- cmp r0, #0x0
- addeq sp, sp, #0x8
- moveq r0, #0x0
- ldmeqia sp!, {r4,pc}
-_02096180:
- mov r0, #0x1
- add sp, sp, #0x8
- ldmia sp!, {r4,pc}
- .balign 4
-_0209618C: .word 0x020FF574
-
- arm_func_start FUN_02096190
-FUN_02096190: ; 0x02096190
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0x14
- mov r10, r0
- mov r1, #0x0
- mov r2, #0x700
- bl MI_CpuFill8
- mov r0, r10
- bl FUN_02095D9C
-_020961B0: ; 0x020961B0
- cmp r0, #0x0
- addeq sp, sp, #0x14
- ldreq r0, _020964B4 ; =0xFFFFD8EF
- ldmeqia sp!, {r4-r11,pc}
-_020961C0: ; 0x020961C0
- ldr r1, _020964B8 ; =0x0000A001
- add r0, r10, #0x500
- bl MATHi_CRC16InitTableRev
- mov r0, r10
- bl FUN_02095D68
-_020961D4: ; 0x020961D4
- cmp r0, #0x0
- addeq sp, sp, #0x14
- ldreq r0, _020964B4 ; =0xFFFFD8EF
- ldmeqia sp!, {r4-r11,pc}
-_020961E4: ; 0x020961E4
- add r0, sp, #0x0
- mov r1, #0x0
- mov r2, #0x10
- bl MI_CpuFill8
- mov r8, r10
- mov r7, r10
- mov r9, #0x0
- add r11, sp, #0x0
- add r6, r10, #0x500
- mov r4, #0x1
- mov r5, #0xfe
-_02096210:
- mov r0, r6
- mov r1, r8
- mov r2, r5
- bl MATH_CalcCRC16
- add r1, r10, r9, lsl #0x8
- ldrh r1, [r1, #0xfe]
- cmp r0, r1
- bne _02096240
- mov r0, r7
- bl FUN_02096090
-_02096238: ; 0x02096238
- cmp r0, #0x0
- strne r4, [r11, r9, lsl #0x2]
-_02096240:
- add r9, r9, #0x1
- cmp r9, #0x3
- add r8, r8, #0x100
- add r7, r7, #0x100
- blt _02096210
- add r0, r10, #0x500
- add r1, r10, #0x300
- mov r2, #0xfe
- bl MATH_CalcCRC16
- add r1, r10, #0x300
- ldrh r1, [r1, #0xfe]
- cmp r0, r1
- moveq r0, #0x1
- ldr r1, [sp, #0x0]
- streq r0, [sp, #0xc]
- cmp r1, #0x0
- beq _020962BC
- ldr r0, [sp, #0x4]
- cmp r0, #0x0
- beq _020962BC
- ldr r0, [sp, #0x8]
- cmp r0, #0x0
- beq _020962BC
- ldr r0, [sp, #0xc]
- cmp r0, #0x0
- beq _020962BC
- add r0, r10, #0xf0
- bl FUN_02095C24
- add sp, sp, #0x14
- mov r0, #0x0
- ldmia sp!, {r4-r11,pc}
-_020962BC:
- cmp r1, #0x0
- bne _0209630C
- ldr r0, [sp, #0x4]
- cmp r0, #0x0
- bne _0209630C
- ldr r0, [sp, #0x8]
- cmp r0, #0x0
- bne _0209630C
- ldr r0, [sp, #0xc]
- cmp r0, #0x0
- bne _0209630C
- mov r0, r10
- bl FUN_02096010
- mov r0, r10
- bl FUN_02095C3C
-_020962F8: ; 0x020962F8
- cmp r0, #0x0
- movne r0, #0x0
- add sp, sp, #0x14
- ldreq r0, _020964BC ; =0xFFFFD8F0
- ldmia sp!, {r4-r11,pc}
-_0209630C:
- cmp r1, #0x0
- beq _02096320
- ldr r0, [sp, #0x4]
- cmp r0, #0x0
- bne _0209635C
-_02096320:
- ldr r0, [sp, #0x8]
- cmp r0, #0x0
- beq _02096338
- ldr r0, [sp, #0xc]
- cmp r0, #0x0
- bne _0209635C
-_02096338:
- mov r0, r10
- bl FUN_02096010
- mov r0, r10
- bl FUN_02095C3C
-_02096348: ; 0x02096348
- cmp r0, #0x0
- movne r0, #0x0
- add sp, sp, #0x14
- ldreq r0, _020964BC ; =0xFFFFD8F0
- ldmia sp!, {r4-r11,pc}
-_0209635C:
- cmp r1, #0x0
- bne _02096394
- ldr r0, [sp, #0x4]
- cmp r0, #0x0
- bne _02096394
- mov r0, r10
- bl FUN_02096010
- mov r0, r10
- bl FUN_02095C3C
-_02096380: ; 0x02096380
- cmp r0, #0x0
- ldrne r0, _020964C0 ; =0xFFFFD8ED
- add sp, sp, #0x14
- ldreq r0, _020964BC ; =0xFFFFD8F0
- ldmia sp!, {r4-r11,pc}
-_02096394:
- cmp r1, #0x0
- bne _020963C4
- mov r0, r10
- mov r1, #0x0
- bl FUN_02095FDC
- add r0, r10, #0x1f0
- add r1, r10, #0xf0
- mov r2, #0xe
- bl MI_CpuCopy8
- ldrb r0, [r10, #0x1ef]
- strb r0, [r10, #0xef]
- b _020963F4
-_020963C4:
- ldr r0, [sp, #0x4]
- cmp r0, #0x0
- bne _020963F4
- mov r0, r10
- mov r1, #0x1
- bl FUN_02095FDC
- add r0, r10, #0xf0
- add r1, r10, #0x1f0
- mov r2, #0xe
- bl MI_CpuCopy8
- ldrb r0, [r10, #0xef]
- strb r0, [r10, #0x1ef]
-_020963F4:
- add r0, r10, #0xf0
- bl FUN_02095C24
- ldr r0, [sp, #0x8]
- cmp r0, #0x0
- bne _02096414
- mov r0, r10
- mov r1, #0x2
- bl FUN_02095FDC
-_02096414:
- ldr r0, [sp, #0xc]
- cmp r0, #0x0
- bne _02096430
- add r1, r10, #0x300
- mov r0, #0x0
- mov r2, #0x100
- bl MIi_CpuClear16
-_02096430:
- mov r4, #0x0
- mov r1, r4
- add r0, sp, #0x0
- add r5, r10, #0xef
- mov r6, #0x1
-_02096444:
- ldr r2, [r0, r1, lsl #0x2]
- cmp r2, #0x0
- bne _0209647C
- ldrb r2, [r10, #0xef]
- mov r7, r6, lsl r1
- ands r2, r2, r7
- beq _0209647C
- ldrb r3, [r5, #0x0]
- mvn r2, r7
- mov r4, r6
- and r2, r3, r2
- strb r2, [r5, #0x0]
- ldrb r2, [r10, #0xef]
- strb r2, [r10, #0x1ef]
-_0209647C:
- add r1, r1, #0x1
- cmp r1, #0x3
- blt _02096444
- mov r0, r10
- bl FUN_02095C3C
-_02096490: ; 0x02096490
- cmp r0, #0x0
- addeq sp, sp, #0x14
- ldreq r0, _020964BC ; =0xFFFFD8F0
- ldmeqia sp!, {r4-r11,pc}
-_020964A0: ; 0x020964A0
- cmp r4, #0x0
- ldrne r0, _020964C4 ; =0xFFFFD8EE
- moveq r0, #0x0
- add sp, sp, #0x14
- ldmia sp!, {r4-r11,pc}
- .balign 4
-_020964B4: .word 0xFFFFD8EF
-_020964B8: .word 0x0000A001
-_020964BC: .word 0xFFFFD8F0
-_020964C0: .word 0xFFFFD8ED
-_020964C4: .word 0xFFFFD8EE
-
- arm_func_start FUN_020964C8
-FUN_020964C8:
- stmdb sp!, {lr}
- sub sp, sp, #0x14
- add r0, sp, #0x0
- bl FUN_02095EC8
- ldr r2, [sp, #0x8]
- ldr r1, [sp, #0xc]
- mov r0, #0x0
- cmp r1, r0
- cmpeq r2, r0
- bne _0209650C
- ldr r1, [sp, #0x4]
- ldr r2, [sp, #0x0]
- cmp r1, r0
- cmpeq r2, r0
- addeq sp, sp, #0x14
- moveq r0, #0x1
- ldmeqia sp!, {pc}
-_0209650C:
- mov r0, #0x0
- add sp, sp, #0x14
- ldmia sp!, {pc}
-
- arm_func_start FUN_02096518
-FUN_02096518: ; 0x02096518
- stmdb sp!, {r4,lr}
- sub sp, sp, #0x18
- mov r4, r0
- add r0, sp, #0x0
- bl FUN_02095EC8
-_0209652C: ; 0x0209652C
- add r0, sp, #0x0
- ldmia r0, {r2-r3}
- stmia r4, {r2-r3}
- add r1, sp, #0x8
- add r0, r4, #0x8
- ldmia r1, {r2-r3}
- stmia r0, {r2-r3}
- ldr r2, [sp, #0x0]
- ldr r1, [sp, #0x4]
- mov r0, #0x0
- cmp r1, r0
- cmpeq r2, r0
- streq r0, [r4, #0x10]
- movne r0, #0x1
- strne r0, [r4, #0x10]
- add sp, sp, #0x18
- ldmia sp!, {r4,pc}
-
- arm_func_start FUN_02096570
-FUN_02096570: ; 0x02096570
- stmdb sp!, {r4-r10,lr}
- sub sp, sp, #0x28
- add r2, sp, #0x0
- mov r1, #0x0
- strb r1, [r2, #0x0]
- strb r1, [r2, #0x1]
- strb r1, [r2, #0x2]
- strb r1, [r2, #0x3]
- strb r1, [r2, #0x4]
- mov r5, r0
- strb r1, [r2, #0x5]
- bl FUN_02095EC8
- bl RTC_Init
- add r0, sp, #0x8
- bl RTC_GetDate
-_020965AC: ; 0x020965AC
- cmp r0, #0x0
- addne sp, sp, #0x28
- movne r0, #0x0
- ldmneia sp!, {r4-r10,pc}
-_020965BC: ; 0x020965BC
- add r0, sp, #0x18
- bl RTC_GetTime
-_020965C4: ; 0x020965C4
- cmp r0, #0x0
- addne sp, sp, #0x28
- movne r0, #0x0
- ldmneia sp!, {r4-r10,pc}
-_020965D4: ; 0x020965D4
- add r0, sp, #0x8
- add r1, sp, #0x18
- bl RTC_ConvertDateTimeToSecond
- mov r4, r0
- mov r0, #0x0
- subs r2, r4, r0
- sbcs r2, r1, r0
- addlt sp, sp, #0x28
- ldmltia sp!, {r4-r10,pc}
-_020965F8: ; 0x020965F8
- bl OS_IsTickAvailable
-_020965FC: ; 0x020965FC
- cmp r0, #0x0
- beq _0209660C
- ldr r0, _02096700 ; =OS_GetTick
- adds r4, r4, r0
-_0209660C:
- add r0, sp, #0x0
- bl OS_GetMacAddress
- ldrb r1, [sp, #0x0]
- ldr r6, _02096704 ; =0x5D588B65
- ldr r7, _02096708 ; =0x00269EC3
- ldrb r0, [sp, #0x1]
- mla r9, r4, r6, r7
- mov r1, r1, lsl #0x10
- orr r1, r1, r0, lsl #0x8
- ldrb r2, [sp, #0x2]
- ldr r0, _0209670C ; =0x000009BF
- ldrb r8, [sp, #0x3]
- orr r1, r2, r1
- cmp r1, r0
- movne r1, #0x1
- mov r2, r9, lsr #0x10
- mov r0, #0x3e8
- mul r3, r2, r0
- mov r2, r3, lsr #0x10
- mov r3, r8, lsl #0x10
- ldrb r4, [sp, #0x4]
- ldrb r0, [sp, #0x5]
- mov r8, #0x0
- orr r10, r3, r4, lsl #0x8
- strh r2, [r5, #0x10]
- str r8, [r5, #0x8]
- str r8, [r5, #0xc]
- moveq r1, #0x0
- ldr r2, [r5, #0xc]
- ldr r3, [r5, #0x8]
- cmp r2, r8
- cmpeq r3, r8
- and r4, r1, #0xff
- orr r10, r0, r10
- bne _020966F4
-_02096698:
- mla r9, r6, r9, r7
- b _020966A4
-_020966A0:
- mla r9, r6, r9, r7
-_020966A4:
- cmp r9, #0x0
- beq _020966A0
- ldrh r1, [r5, #0x12]
- mov r0, r9, lsl #0x10
- mov r0, r0, lsr #0x10
- cmp r1, r0
- beq _020966A0
- strh r0, [r5, #0x12]
- ldrh r0, [r5, #0x12]
- mov r1, r10
- mov r2, r4
- mov r3, r8
- bl FUN_02096988
- str r0, [r5, #0x8]
- str r1, [r5, #0xc]
- ldr r0, [r5, #0xc]
- ldr r1, [r5, #0x8]
- cmp r0, r8
- cmpeq r1, r8
- beq _02096698
-_020966F4:
- mov r0, #0x1
- add sp, sp, #0x28
- ldmia sp!, {r4-r10,pc}
- .balign 4
-_02096700: .word OS_GetTick
-_02096704: .word 0x5D588B65
-_02096708: .word 0x00269EC3
-_0209670C: .word 0x000009BF
-
- arm_func_start FUN_02096710
-FUN_02096710: ; 0x02096710
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x14
- mov r5, r0
- add r0, sp, #0x0
- mov r4, r1
- bl FUN_02095EC8
- add r12, r5, #0x8
- ldmia r12, {r2-r3}
- stmia r5, {r2-r3}
- add r1, sp, #0x8
- ldmia r1, {r2-r3}
- mov r0, r5
- mov r1, r4
- stmia r12, {r2-r3}
- bl FUN_02095DE0
-_0209674C: ; 0x0209674C
- cmp r0, #0x0
- movne r0, #0x1
- moveq r0, #0x0
- add sp, sp, #0x14
- ldmia sp!, {r4-r5,pc}
-
- arm_func_start FUN_02096760
-FUN_02096760: ; 0x02096760
- stmdb sp!, {r4,lr}
- sub sp, sp, #0x18
- mov r4, r0
- add r0, sp, #0x0
- bl FUN_020967A4
-_02096774: ; 0x02096774
- cmp r0, #0x0
- addeq sp, sp, #0x18
- moveq r0, #0x0
- ldmeqia sp!, {r4,pc}
-_02096784: ; 0x02096784
- add r0, sp, #0x0
- mov r1, r4
- bl FUN_02095DE0
-_02096790: ; 0x02096790
- cmp r0, #0x0
- movne r0, #0x1
- moveq r0, #0x0
- add sp, sp, #0x18
- ldmia sp!, {r4,pc}
-
- arm_func_start FUN_020967A4
-FUN_020967A4:
- stmdb sp!, {r4-r10,lr}
- sub sp, sp, #0x28
- mov r8, r0
- bl FUN_02095EC8
- bl RTC_Init
- add r0, sp, #0x8
- bl RTC_GetDate
-_020967C0: ; 0x020967C0
- cmp r0, #0x0
- addne sp, sp, #0x28
- movne r0, #0x0
- ldmneia sp!, {r4-r10,pc}
-_020967D0: ; 0x020967D0
- add r0, sp, #0x18
- bl RTC_GetTime
-_020967D8: ; 0x020967D8
- cmp r0, #0x0
- addne sp, sp, #0x28
- movne r0, #0x0
- ldmneia sp!, {r4-r10,pc}
-_020967E8: ; 0x020967E8
- add r0, sp, #0x8
- add r1, sp, #0x18
- bl RTC_ConvertDateTimeToSecond
- mov r4, r0
- mov r0, #0x0
- subs r2, r4, r0
- sbcs r2, r1, r0
- addlt sp, sp, #0x28
- ldmltia sp!, {r4-r10,pc}
-_0209680C: ; 0x0209680C
- bl OS_IsTickAvailable
-_02096810: ; 0x02096810
- cmp r0, #0x0
- beq _02096820
- ldr r0, _02096978 ; =OS_GetTick
- adds r4, r4, r0
-_02096820:
- add r0, sp, #0x0
- bl OS_GetMacAddress
- ldrb r1, [sp, #0x0]
- ldr sb, _0209697C ; =0x5D588B65
- ldr sl, _02096980 ; =0x00269EC3
- ldrb r0, [sp, #0x1]
- mla r5, r4, r9, r10
- mov r1, r1, lsl #0x10
- orr r1, r1, r0, lsl #0x8
- ldrb r2, [sp, #0x2]
- ldr r0, _02096984 ; =0x000009BF
- ldrb r6, [sp, #0x3]
- orr r1, r2, r1
- cmp r1, r0
- movne r1, #0x1
- moveq r1, #0x0
- mov r2, r5, lsr #0x10
- mov r0, #0x3e8
- mul r3, r2, r0
- mov r2, r3, lsr #0x10
- ldrb r0, [sp, #0x5]
- ldrb r4, [sp, #0x4]
- mov r3, r6, lsl #0x10
- and r7, r1, #0xff
- orr r3, r3, r4, lsl #0x8
- strh r2, [r8, #0x10]
- mov r4, #0x0
- str r4, [r8, #0x0]
- str r4, [r8, #0x4]
- ldrh r2, [r8, #0x12]
- orr r6, r0, r3
- cmp r2, #0x0
- bne _02096910
- str r4, [r8, #0x8]
- str r4, [r8, #0xc]
- ldr r0, [r8, #0xc]
- ldr r1, [r8, #0x8]
- cmp r0, r4
- cmpeq r1, r4
- bne _0209696C
-_020968C0:
- mul r0, r5, r9
- adds r5, r0, r10
- bne _020968D8
-_020968CC:
- mul r0, r5, r9
- adds r5, r0, r10
- beq _020968CC
-_020968D8:
- strh r5, [r8, #0x12]
- ldrh r0, [r8, #0x12]
- mov r1, r6
- mov r2, r7
- mov r3, r4
- bl FUN_02096988
- str r0, [r8, #0x8]
- str r1, [r8, #0xc]
- ldr r0, [r8, #0xc]
- ldr r1, [r8, #0x8]
- cmp r0, r4
- cmpeq r1, #0x0
- beq _020968C0
- b _0209696C
-_02096910:
- str r4, [r8, #0x8]
- str r4, [r8, #0xc]
- ldr r0, [r8, #0xc]
- ldr r1, [r8, #0x8]
- cmp r0, r4
- cmpeq r1, r4
- bne _0209696C
- add r5, r8, #0x12
-_02096930:
- ldrh r0, [r5, #0x0]
- mov r1, r6
- mov r2, r7
- add r0, r0, #0x1
- strh r0, [r5, #0x0]
- ldrh r0, [r8, #0x12]
- mov r3, r4
- bl FUN_02096988
- str r0, [r8, #0x8]
- str r1, [r8, #0xc]
- ldr r0, [r8, #0xc]
- ldr r1, [r8, #0x8]
- cmp r0, r4
- cmpeq r1, r4
- beq _02096930
-_0209696C:
- mov r0, #0x1
- add sp, sp, #0x28
- ldmia sp!, {r4-r10,pc}
- .balign 4
-_02096978: .word OS_GetTick
-_0209697C: .word 0x5D588B65
-_02096980: .word 0x00269EC3
-_02096984: .word 0x000009BF
-
- arm_func_start FUN_02096988
-FUN_02096988: ; 0x02096988
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x14
- mov lr, #0x0
- and r12, lr, #0x0
- mvn r5, #0xff000000
- ldr r4, _02096B08 ; =0x0000FFFF
- and r2, r2, #0x1
- mov r6, r12, lsl #0x2
- and r3, r3, #0x3
- and r5, r1, r5
- orr r1, r3, r2, lsl #0x2
- orr r6, r6, r2, lsr #0x1e
- mov r7, r12, lsl #0x3
- and r2, r0, r4
- orr r0, r1, r5, lsl #0x3
- orr r1, r0, r2, lsl #0x1b
- mov r3, r12, lsl #0x1b
- orr r3, r3, r2, lsr #0x5
- orr r7, r7, r5, lsr #0x1d
- orr r0, r12, r6
- orr r0, r7, r0
- orr r0, r3, r0
- add r2, sp, #0x0
- str r1, [sp, #0x0]
- str r0, [sp, #0x4]
-_020969EC:
- ldrb r0, [r2, #0x0]
- add lr, lr, #0x1
- cmp lr, #0x6
- eor r0, r0, #0xd6
- strb r0, [r2], #0x1
- blt _020969EC
- ldr r2, _02096B0C ; =0x020FF580
- add r5, sp, #0x0
- mov r4, #0x0
-_02096A10:
- ldrb r3, [r5, #0x0]
- add r4, r4, #0x1
- cmp r4, #0x5
- mov r0, r3, asr #0x4
- and r1, r0, #0xf
- and r0, r3, #0xf
- ldrb r1, [r2, r1]
- ldrb r0, [r2, r0]
- orr r0, r0, r1, lsl #0x4
- strb r0, [r5], #0x1
- blt _02096A10
- add r0, sp, #0x0
- add r1, sp, #0x8
- mov r2, #0x8
- bl MI_CpuCopy8
- ldr r4, _02096B10 ; =0x020FF578
- add r5, sp, #0x8
- mov r3, #0x0
- add r1, sp, #0x0
-_02096A5C:
- ldrb r2, [r5, #0x0]
- ldrb r0, [r4, #0x0]
- add r3, r3, #0x1
- cmp r3, #0x5
- strb r2, [r1, r0]
- add r5, r5, #0x1
- add r4, r4, #0x1
- blt _02096A5C
- ldrb r2, [sp, #0x5]
- mov r0, #0x0
- ldr r3, [sp, #0x0]
- and r2, r2, #0x7
- strb r0, [sp, #0x7]
- strb r0, [sp, #0x6]
- strb r2, [sp, #0x5]
- ldr r2, [sp, #0x4]
- mov r4, r3, lsl #0x1
- mov r2, r2, lsl #0x1
- orr r2, r2, r3, lsr #0x1f
- str r2, [sp, #0x4]
- ldrb r2, [sp, #0x5]
- str r4, [sp, #0x0]
- ldrb r3, [sp, #0x0]
- mov r2, r2, asr #0x3
- and r2, r2, #0x1
- orr r2, r3, r2
- strb r2, [sp, #0x0]
-_02096AC8:
- ldrb r2, [r1, #0x0]
- add r0, r0, #0x1
- cmp r0, #0x6
- eor r2, r2, #0x67
- strb r2, [r1], #0x1
- blt _02096AC8
- ldrb r0, [sp, #0x5]
- mov r1, #0x0
- strb r1, [sp, #0x7]
- and r0, r0, #0x7
- strb r1, [sp, #0x6]
- strb r0, [sp, #0x5]
- ldr r0, [sp, #0x0]
- ldr r1, [sp, #0x4]
- add sp, sp, #0x14
- ldmia sp!, {r4-r7,pc}
- .balign 4
-_02096B08: .word 0x0000FFFF
-_02096B0C: .word 0x020FF580
-_02096B10: .word 0x020FF578
-
- arm_func_start FUN_02096B14
-FUN_02096B14: ; 0x02096B14
- stmdb sp!, {r4-r6,lr}
- mov r6, r0
- ldr r0, _02096B74 ; =0x02000B8C
- mov r4, #0x0
- bl OSi_ReferSymbol
- mov r0, r6
- bl FUN_02096190
- mov r5, r0
- bl FUN_020964C8
-_02096B38: ; 0x02096B38
- cmp r0, #0x0
- beq _02096B4C
- mov r0, r6
- bl FUN_02096760
- mov r4, #0x1
-_02096B4C:
- cmp r5, #0x0
- bge _02096B64
- cmp r4, #0x0
- movne r0, #0x2
- moveq r0, #0x3
- ldmia sp!, {r4-r6,pc}
-_02096B64:
- cmp r4, #0x0
- movne r0, #0x1
- moveq r0, #0x0
- ldmia sp!, {r4-r6,pc}
- .balign 4
-_02096B74: .word 0x02000B8C
-
- arm_func_start FUN_02096B78
-FUN_02096B78: ; 0x02096B78
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- mov r4, r1
- mov r7, r0
- bl FUN_020974C8
- mov r5, r0
- mov r0, r4
- bl FUN_020974C8
-_02096B98: ; 0x02096B98
- cmp r5, r0
- addne sp, sp, #0x4
- movne r0, #0x0
- ldmneia sp!, {r4-r7,pc}
-_02096BA8: ; 0x02096BA8
- cmp r5, #0x3
- bne _02096BD8
- mov r0, r7
- bl FUN_02097544
- mov r5, r0
- mov r0, r4
- bl FUN_02097544
-_02096BC4: ; 0x02096BC4
- cmp r5, r0
- moveq r0, #0x1
- add sp, sp, #0x4
- movne r0, #0x0
- ldmia sp!, {r4-r7,pc}
-_02096BD8:
- cmp r5, #0x1
- bne _02096C34
- mov r0, r7
- bl FUN_02097568
- mov r5, r0
- mov r6, r1
- mov r0, r4
- bl FUN_02097568
- cmp r6, r1
- cmpeq r5, r0
- bne _02096C28
- mov r0, r7
- bl FUN_02097560
- mov r5, r0
- mov r0, r4
- bl FUN_02097560
-_02096C18: ; 0x02096C18
- cmp r5, r0
- addeq sp, sp, #0x4
- moveq r0, #0x1
- ldmeqia sp!, {r4-r7,pc}
-_02096C28:
- add sp, sp, #0x4
- mov r0, #0x0
- ldmia sp!, {r4-r7,pc}
-_02096C34:
- cmp r5, #0x2
- bne _02096C6C
- mov r0, r7
- bl FUN_0209754C
- mov r5, r0
- mov r6, r1
- mov r0, r4
- bl FUN_0209754C
- cmp r6, r1
- cmpeq r5, r0
- moveq r0, #0x1
- add sp, sp, #0x4
- movne r0, #0x0
- ldmia sp!, {r4-r7,pc}
-_02096C6C:
- mov r0, #0x0
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,pc}
-_02096C78: ; 0x02096C78
- ldr ip, _02096C8C ; =FUN_02097218
- mov r3, r0
- mov r0, r1
- ldr r1, [r3, #0x24]
- bx r12
- .balign 4
-_02096C8C: .word FUN_02097218
-
- arm_func_start FUN_02096C90
-FUN_02096C90: ; 0x02096C90
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r4, r1
- mov r5, r0
- mov r1, #0x0
- mov r2, #0xc
- bl MI_CpuFill8
- mov r0, r5
- mov r1, r4
- bl FUN_020974F4
- mov r0, r5
- mov r1, #0x3
- bl FUN_02097440
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,pc}
-
- arm_func_start FUN_02096CCC
-FUN_02096CCC: ; 0x02096CCC
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r4, r1
- mov r5, r0
- mov r0, r4
- mov r1, #0x0
- mov r2, #0xc
- bl MI_CpuFill8
- mov r0, r5
- bl FUN_0209702C
-_02096CF4: ; 0x02096CF4
- cmp r0, #0x0
- addeq r0, r5, #0x4
- ldmeqia r0, {r0-r2}
- addeq sp, sp, #0x4
- stmeqia r4, {r0-r2}
- ldmeqia sp!, {r4-r5,pc}
-_02096D0C: ; 0x02096D0C
- ldr r1, [r5, #0x1c]
- mov r0, r4
- bl FUN_020974F4
- mov r0, r4
- mov r1, #0x3
- bl FUN_02097440
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,pc}
-
- arm_func_start FUN_02096D2C
-FUN_02096D2C: ; 0x02096D2C
- stmdb sp!, {r4-r6,lr}
- mov r5, r1
- mov r4, r2
- mov r6, r0
- mov r1, #0x0
- mov r2, #0xc
- bl MI_CpuFill8
- mov r0, r6
- mov r1, r5
- mov r2, r4
- bl FUN_020974FC
- mov r0, r6
- mov r1, #0x2
- bl FUN_02097440
- ldmia sp!, {r4-r6,pc}
-
- arm_func_start FUN_02096D68
-FUN_02096D68: ; 0x02096D68
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- mov r3, r0
- ldr r0, [r3, #0x1c]
- mov r2, #0x0
- mov r1, r2
- cmp r0, #0x0
- beq _02096D94
- ldr r1, [r3, #0x24]
- bl FUN_020973D0
- mov r2, r0
-_02096D94:
- mov r0, r2
- add sp, sp, #0x4
- ldmia sp!, {pc}
-
- arm_func_start FUN_02096DA0
-FUN_02096DA0: ; 0x02096DA0
- stmdb sp!, {r4-r6,lr}
- mov r4, r1
- mov r6, r0
- mov r0, r4
- bl FUN_020974C8
- cmp r0, #0x1
- beq _02096E14
- cmp r0, #0x2
- beq _02096DD0
- cmp r0, #0x3
- beq _02096E08
- b _02096E1C
-_02096DD0:
- mov r0, r4
- bl FUN_0209754C
- ldr r2, [r6, #0x24]
- mov r4, r0
- mov r5, r1
- bl FUN_02097344
-_02096DE8: ; 0x02096DE8
- cmp r0, #0x0
- moveq r0, #0x0
- ldmeqia sp!, {r4-r6,pc}
-_02096DF4: ; 0x02096DF4
- ldr r2, [r6, #0x24]
- mov r0, r4
- mov r1, r5
- bl FUN_02097324
- ldmia sp!, {r4-r6,pc}
-_02096E08:
- mov r0, r4
- bl FUN_02097544
- ldmia sp!, {r4-r6,pc}
-_02096E14:
- mvn r0, #0x0
- ldmia sp!, {r4-r6,pc}
-_02096E1C:
- mov r0, #0x0
- ldmia sp!, {r4-r6,pc}
-
- arm_func_start FUN_02096E24
-FUN_02096E24: ; 0x02096E24
- stmdb sp!, {r4,lr}
- mov r4, r0
- bl FUN_020974C8
- cmp r0, #0x2
- movne r0, #0x0
- movne r1, r0
- ldmneia sp!, {r4,pc}
-_02096E40: ; 0x02096E40
- mov r0, r4
- bl FUN_0209754C
- ldmia sp!, {r4,pc}
-
- arm_func_start FUN_02096E4C
-FUN_02096E4C: ; 0x02096E4C
- stmdb sp!, {r4,lr}
- sub sp, sp, #0x400
- mov r4, r0
- ldr r1, [r4, #0x20]
- add r0, sp, #0x0
- bic r2, r1, #0x1
- ldr r1, _02096E8C ; =0xEDB88320
- str r2, [r4, #0x20]
- bl MATHi_CRC32InitTableRev
-_02096E70: ; 0x02096E70
- add r0, sp, #0x0
- mov r1, r4
- mov r2, #0x3c
- bl MATH_CalcCRC32
- str r0, [r4, #0x3c]
- add sp, sp, #0x400
- ldmia sp!, {r4,pc}
- .balign 4
-_02096E8C: .word 0xEDB88320
-
- arm_func_start thunk_FUN_02096e4c
-thunk_FUN_02096e4c: ; 0x02096E90
- ldr ip, _02096E98 ; =FUN_02096E4C
- bx r12
- .balign 4
-_02096E98: .word FUN_02096E4C
-
- arm_func_start FUN_02096E9C
-FUN_02096E9C: ; 0x02096E9C
- ldr r0, [r0, #0x20]
- and r0, r0, #0x1
- cmp r0, #0x1
- moveq r0, #0x1
- movne r0, #0x0
- bx lr
-
- arm_func_start FUN_02096EB4
-FUN_02096EB4: ; 0x02096EB4
- ldr ip, _02096EBC ; =FUN_02096E9C
- bx r12
- .balign 4
-_02096EBC: .word FUN_02096E9C
-
- arm_func_start FUN_02096EC0
-FUN_02096EC0: ; 0x02096EC0
- stmdb sp!, {r4,lr}
- sub sp, sp, #0x400
- mov r4, r0
- add r3, r4, #0x10
- mov r12, r2
- ldmia r1, {r0-r2}
- stmia r3, {r0-r2}
- ldr r1, _02096F14 ; =0xEDB88320
- add r0, sp, #0x0
- str r12, [r4, #0x1c]
- bl MATHi_CRC32InitTableRev
-_02096EEC: ; 0x02096EEC
- add r0, sp, #0x0
- mov r1, r4
- mov r2, #0x3c
- bl MATH_CalcCRC32
- str r0, [r4, #0x3c]
- ldr r0, [r4, #0x20]
- orr r0, r0, #0x1
- str r0, [r4, #0x20]
- add sp, sp, #0x400
- ldmia sp!, {r4,pc}
- .balign 4
-_02096F14: .word 0xEDB88320
-
- arm_func_start FUN_02096F18
-FUN_02096F18: ; 0x02096F18
- stmdb sp!, {r4,lr}
- sub sp, sp, #0x18
- mov r4, r0
- add r0, r4, #0x10
- bl FUN_020974C8
-_02096F2C: ; 0x02096F2C
- cmp r0, #0x0
- addeq sp, sp, #0x18
- moveq r0, #0x1
- ldmeqia sp!, {r4,pc}
-_02096F3C: ; 0x02096F3C
- add r0, sp, #0x0
- bl FUN_02096518
- ldr r0, [sp, #0x10]
- cmp r0, #0x0
- addeq sp, sp, #0x18
- moveq r0, #0x0
- ldmeqia sp!, {r4,pc}
-_02096F58: ; 0x02096F58
- add r0, r4, #0x10
- bl FUN_02097568
- ldr r2, [sp, #0x4]
- ldr r3, [sp, #0x0]
- cmp r2, r1
- cmpeq r3, r0
- moveq r0, #0x1
- movne r0, #0x0
- add sp, sp, #0x18
- ldmia sp!, {r4,pc}
-
- arm_func_start FUN_02096F80
-FUN_02096F80: ; 0x02096F80
- stmdb sp!, {r4,lr}
- mov r4, r0
- add r0, r4, #0x10
- bl FUN_0209703C
-_02096F90: ; 0x02096F90
- cmp r0, #0x0
- beq _02096FA8
- ldr r0, [r4, #0x1c]
- cmp r0, #0x0
- movgt r0, #0x1
- ldmgtia sp!, {r4,pc}
-_02096FA8:
- mov r0, #0x0
- ldmia sp!, {r4,pc}
-
- arm_func_start FUN_02096FB0
-FUN_02096FB0: ; 0x02096FB0
- stmdb sp!, {r4,lr}
- sub sp, sp, #0x400
- ldr r1, _02096FF0 ; =0xEDB88320
- mov r4, r0
- add r0, sp, #0x0
- bl MATHi_CRC32InitTableRev
-_02096FC8: ; 0x02096FC8
- add r0, sp, #0x0
- mov r1, r4
- mov r2, #0x3c
- bl MATH_CalcCRC32
- ldr r1, [r4, #0x3c]
- cmp r0, r1
- moveq r0, #0x1
- movne r0, #0x0
- add sp, sp, #0x400
- ldmia sp!, {r4,pc}
- .balign 4
-_02096FF0: .word 0xEDB88320
-
- arm_func_start thunk_FUN_02097190
-thunk_FUN_02097190: ; 0x02096FF4
- ldr ip, _02096FFC ; =FUN_02097190
- bx r12
- .balign 4
-_02096FFC: .word FUN_02097190
-
- arm_func_start FUN_02097000
-FUN_02097000: ; 0x02097000
- ldr ip, _02097008 ; =FUN_0209700C
- bx r12
- .balign 4
-_02097008: .word FUN_0209700C
-
- arm_func_start FUN_0209700C
-FUN_0209700C: ; 0x0209700C
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- bl FUN_020974C8
-_02097018: ; 0x02097018
- cmp r0, #0x0
- movne r0, #0x1
- moveq r0, #0x0
- add sp, sp, #0x4
- ldmia sp!, {pc}
-
- arm_func_start FUN_0209702C
-FUN_0209702C:
- ldr ip, _02097038 ; =FUN_0209703C
- add r0, r0, #0x10
- bx r12
- .balign 4
-_02097038: .word FUN_0209703C
-
- arm_func_start FUN_0209703C
-FUN_0209703C:
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- bl FUN_020974C8
- cmp r0, #0x1
- moveq r0, #0x1
- movne r0, #0x0
- add sp, sp, #0x4
- ldmia sp!, {pc}
-
- arm_func_start FUN_0209705C
-FUN_0209705C: ; 0x0209705C
- stmdb sp!, {r4,lr}
- sub sp, sp, #0x18
- mov r4, r0
- add r0, sp, #0x0
- bl FUN_02096518
- ldr r0, [sp, #0x10]
- cmp r0, #0x0
- beq _020970A4
- mov r0, r4
- bl FUN_02097568
- ldr r2, [sp, #0x4]
- ldr r3, [sp, #0x0]
- cmp r2, r1
- cmpeq r3, r0
- moveq r0, #0x1
- add sp, sp, #0x18
- movne r0, #0x0
- ldmia sp!, {r4,pc}
-_020970A4:
- mov r0, r4
- bl FUN_02097568
- ldr r2, [sp, #0xc]
- ldr r3, [sp, #0x8]
- cmp r2, r1
- cmpeq r3, r0
- moveq r0, #0x1
- movne r0, #0x0
- add sp, sp, #0x18
- ldmia sp!, {r4,pc}
-
- arm_func_start FUN_020970CC
-FUN_020970CC: ; 0x020970CC
- stmdb sp!, {r4-r6,lr}
- sub sp, sp, #0x38
- mov r6, r0
- add r0, sp, #0x14
- bl OS_GetLowEntropyData
- mov r3, #0x1
- add r2, sp, #0x14
-_020970E8:
- add r0, r2, r3, lsl #0x2
- ldr r1, [r2, r3, lsl #0x2]
- ldr r0, [r0, #-0x4]
- eor r0, r1, r0
- str r0, [r2, r3, lsl #0x2]
- add r3, r3, #0x1
- cmp r3, #0x8
- blo _020970E8
- add r0, sp, #0x0
- ldr r5, [sp, #0x30]
- mov r4, #0x0
- bl FUN_02096518
- ldr r0, [sp, #0x10]
- cmp r0, #0x0
- beq _02097138
- ldr r1, [sp, #0x0]
- ldr r2, [sp, #0x4]
- mov r0, r6
- bl FUN_02097510
- b _02097148
-_02097138:
- ldr r1, [sp, #0x8]
- ldr r2, [sp, #0xc]
- mov r0, r6
- bl FUN_02097510
-_02097148:
- ldr r0, _02097184 ; =0x6C078965
- ldr r1, _02097188 ; =0x5D588B65
- umull r3, r2, r5, r0
- mla r2, r5, r1, r2
- ldr r1, _0209718C ; =0x00269EC3
- mla r2, r4, r0, r2
- adds r0, r3, r1
- mov r0, r6
- adc r1, r2, #0x0
- bl FUN_02097508
- mov r0, r6
- mov r1, #0x1
- bl FUN_02097440
- add sp, sp, #0x38
- ldmia sp!, {r4-r6,pc}
- .balign 4
-_02097184: .word 0x6C078965
-_02097188: .word 0x5D588B65
-_0209718C: .word 0x00269EC3
-
- arm_func_start FUN_02097190
-FUN_02097190: ; 0x02097190
- stmdb sp!, {r4-r5,lr}
- ldr ip, _02097210 ; =0x00000404
- sub sp, sp, r12
- mov r4, r1
- mov r1, #0x0
- mov r2, #0x40
- mov r5, r0
- bl MI_CpuFill8
- mov r0, #0x40
- str r0, [r5, #0x0]
- mov r0, #0x0
- str r0, [r5, #0x1c]
- add r0, r5, #0x4
- str r4, [r5, #0x24]
- bl FUN_020970CC
- add r0, r5, #0x10
- mov r1, #0x0
- bl FUN_02097440
- ldr r1, _02097214 ; =0xEDB88320
- add r0, sp, #0x0
- bl MATHi_CRC32InitTableRev
-_020971E4: ; 0x020971E4
- add r0, sp, #0x0
- mov r1, r5
- mov r2, #0x3c
- bl MATH_CalcCRC32
- str r0, [r5, #0x3c]
- ldr r0, [r5, #0x20]
- orr r0, r0, #0x1
- str r0, [r5, #0x20]
- ldr ip, _02097210 ; =0x00000404
- add sp, sp, r12
- ldmia sp!, {r4-r5,pc}
- .balign 4
-_02097210: .word 0x00000404
-_02097214: .word 0xEDB88320
-
- arm_func_start FUN_02097218
-FUN_02097218: ; 0x02097218
- stmdb sp!, {r4-r6,lr}
- sub sp, sp, #0x40
- mov r6, r0
- mov r4, r1
- mov r5, r2
- bl FUN_02097568
- add r3, sp, #0x14
- mov r2, #0x2b
- bl FUN_020972A8
- mov r0, r6
- bl FUN_02097560
- mov r1, #0x0
- mov r2, #0x20
- add r3, sp, #0x29
- bl FUN_020972A8
- mov r1, r4, lsr #0x18
- and r1, r1, #0xff
- str r1, [sp, #0x0]
- mov r1, r4, lsr #0x10
- and r1, r1, #0xff
- str r1, [sp, #0x4]
- mov r1, r4, lsr #0x8
- and r1, r1, #0xff
- str r1, [sp, #0x8]
- and r1, r4, #0xff
- str r1, [sp, #0xc]
- add r2, sp, #0x29
- str r2, [sp, #0x10]
- ldr r2, _020972A4 ; =0x0210618C
- mov r0, r5
- mov r1, #0x15
- add r3, sp, #0x14
- bl OS_SNPrintf
- add sp, sp, #0x40
- ldmia sp!, {r4-r6,pc}
- .balign 4
-_020972A4: .word 0x0210618C
-
- arm_func_start FUN_020972A8
-FUN_020972A8: ; 0x020972A8
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- ldr lr, _0209731C ; =0x66666667
- add r4, r2, #0x4
- smull r12, r2, lr, r4
- mov r2, r2, asr #0x1
- mov r12, r4, lsr #0x1f
- add r2, r12, r2
- cmp r2, #0x0
- ldr r6, _02097320 ; =0x0210619C
- mov r7, #0x0
- ble _0209730C
- add r4, r3, r2
- sub r4, r4, #0x1
- mov r12, #0x1f
-_020972E4:
- and r5, r0, r12
- ldrsb r5, [r6, r5]
- mov r0, r0, lsr #0x5
- mov lr, r1, lsr #0x5
- strb r5, [r4, -r7]
- add r7, r7, #0x1
- orr r0, r0, r1, lsl #0x1b
- mov r1, lr
- cmp r7, r2
- blt _020972E4
-_0209730C:
- mov r0, #0x0
- strb r0, [r3, r2]
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,pc}
- .balign 4
-_0209731C: .word 0x66666667
-_02097320: .word 0x0210619C
-
- arm_func_start FUN_02097324
-FUN_02097324: ; 0x02097324
- stmdb sp!, {r4,lr}
- mov r4, r0
- bl FUN_02097344
-_02097330: ; 0x02097330
- cmp r0, #0x0
- mvnne r0, #0x0
- andne r0, r4, r0
- moveq r0, #0x0
- ldmia sp!, {r4,pc}
-
- arm_func_start FUN_02097344
-FUN_02097344:
- stmdb sp!, {r4,lr}
- sub sp, sp, #0x108
- mov r4, r1
- and r3, r4, #0x0
- mov r1, #0x0
- and r12, r0, #0x80000000
- cmp r3, r1
- cmpeq r12, r1
- addne sp, sp, #0x108
- movne r0, r1
- ldmneia sp!, {r4,pc}
-_02097370: ; 0x02097370
- str r0, [sp, #0x0]
- add r0, sp, #0x8
- mov r1, #0x7
- str r2, [sp, #0x4]
- bl MATHi_CRC8InitTable
- add r0, sp, #0x8
- add r1, sp, #0x0
- mov r2, #0x8
- bl MATH_CalcCRC8
- and r2, r0, #0x7f
- mov r1, r2, asr #0x1f
- mov r0, #0x0
- cmp r1, r0
- cmpeq r2, r4
- moveq r0, #0x1
- add sp, sp, #0x108
- ldmia sp!, {r4,pc}
-
- arm_func_start FUN_020973B4
-FUN_020973B4: ; 0x020973B4
- ldr ip, _020973CC ; =FUN_02097344
- mov r3, r0
- mov r0, r1
- mov r1, r2
- ldr r2, [r3, #0x24]
- bx r12
- .balign 4
-_020973CC: .word FUN_02097344
-
- arm_func_start FUN_020973D0
-FUN_020973D0: ; 0x020973D0
- stmdb sp!, {r4,lr}
- sub sp, sp, #0x108
- mov r4, r0
- str r1, [sp, #0x4]
- add r0, sp, #0x8
- mov r1, #0x7
- str r4, [sp, #0x0]
- bl MATHi_CRC8InitTable
- add r0, sp, #0x8
- add r1, sp, #0x0
- mov r2, #0x8
- bl MATH_CalcCRC8
- and r0, r0, #0x7f
- orr r1, r0, #0x0
- orr r0, r4, #0x0
- add sp, sp, #0x108
- ldmia sp!, {r4,pc}
-
- arm_func_start FUN_02097414
-FUN_02097414: ; 0x02097414
- stmdb sp!, {r4,lr}
- mov r4, r0
- bl FUN_020974C8
- cmp r0, #0x3
- ldmneia sp!, {r4,pc}
-_02097428: ; 0x02097428
- mov r0, r4
- bl FUN_020974E0
- orr r1, r0, #0x4
- mov r0, r4
- bl FUN_0209746C
- ldmia sp!, {r4,pc}
-
- arm_func_start FUN_02097440
-FUN_02097440: ; 0x02097440
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r5, r0
- mov r4, r1
- bl FUN_020974E0
- bic r1, r0, #0x3
- mov r0, r5
- orr r1, r1, r4
- bl FUN_0209746C
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,pc}
-
- arm_func_start FUN_0209746C
-FUN_0209746C: ; 0x0209746C
- ldr ip, _0209747C ; =FUN_02097588
- ldr r3, _02097480 ; =0x001FFFFF
- mov r2, #0xb
- bx r12
- .balign 4
-_0209747C: .word FUN_02097588
-_02097480: .word 0x001FFFFF
-
- arm_func_start FUN_02097484
-FUN_02097484: ; 0x02097484
- ldr ip, _0209748C ; =FUN_020974C8
- bx r12
- .balign 4
-_0209748C: .word FUN_020974C8
-
- arm_func_start FUN_02097490
-FUN_02097490: ; 0x02097490
- stmdb sp!, {r4,lr}
- mov r4, r0
- bl FUN_020974C8
- cmp r0, #0x3
- bne _020974C0
- mov r0, r4
- bl FUN_020974E0
- and r0, r0, #0x4
- cmp r0, #0x4
- moveq r0, #0x1
- movne r0, #0x0
- ldmia sp!, {r4,pc}
-_020974C0:
- mov r0, #0x0
- ldmia sp!, {r4,pc}
-
- arm_func_start FUN_020974C8
-FUN_020974C8: ; 0x020974C8
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- bl FUN_020974E0
- and r0, r0, #0x3
- add sp, sp, #0x4
- ldmia sp!, {pc}
-
- arm_func_start FUN_020974E0
-FUN_020974E0: ; 0x020974E0
- ldr r1, [r0, #0x0]
- ldr r0, _020974F0 ; =0x001FFFFF
- and r0, r0, r1, lsr #0xb
- bx lr
- .balign 4
-_020974F0: .word 0x001FFFFF
-
- arm_func_start FUN_020974F4
-FUN_020974F4: ; 0x020974F4
- str r1, [r0, #0x4]
- bx lr
-
- arm_func_start FUN_020974FC
-FUN_020974FC: ; 0x020974FC
- str r1, [r0, #0x4]
- str r2, [r0, #0x8]
- bx lr
-
- arm_func_start FUN_02097508
-FUN_02097508: ; 0x02097508
- str r1, [r0, #0x8]
- bx lr
-
- arm_func_start FUN_02097510
-FUN_02097510: ; 0x02097510
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r12, #0x0
- mov r4, r1
- mov r1, r2
- ldr r3, _02097540 ; =0x000007FF
- mov r2, r12
- mov r5, r0
- bl FUN_02097588
- str r4, [r5, #0x4]
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,pc}
- .balign 4
-_02097540: .word 0x000007FF
-
- arm_func_start FUN_02097544
-FUN_02097544:
- ldr r0, [r0, #0x4]
- bx lr
-
- arm_func_start FUN_0209754C
-FUN_0209754C: ; 0x0209754C
- ldr r1, [r0, #0x8]
- ldr r0, [r0, #0x4]
- orr r1, r1, #0x0
- orr r0, r0, #0x0
- bx lr
-
- arm_func_start FUN_02097560
-FUN_02097560:
- ldr r0, [r0, #0x8]
- bx lr
-
- arm_func_start FUN_02097568
-FUN_02097568: ; 0x02097568
- ldr r2, [r0, #0x0]
- ldr r1, _02097584 ; =0x000007FF
- ldr r0, [r0, #0x4]
- and r1, r2, r1
- orr r1, r1, #0x0
- orr r0, r0, #0x0
- bx lr
- .balign 4
-_02097584: .word 0x000007FF
-
- arm_func_start FUN_02097588
-FUN_02097588: ; 0x02097588
- mvn r12, r3
- ands r12, r1, r12
- movne r0, #0x0
- bxne lr
- mvn r3, r3, lsl r2
- ldr r12, [r0, #0x0]
- and r3, r12, r3
- orr r1, r3, r1, lsl r2
- str r1, [r0, #0x0]
- mov r0, #0x1
- bx lr
-
- arm_func_start FUN_020975B4
-FUN_020975B4: ; 0x020975B4
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- bl FUN_020A8850
-_020975C0: ; 0x020975C0
- cmp r0, #0x0
- movne r0, #0x1
- moveq r0, #0x0
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-
- arm_func_start FUN_020975D8
-FUN_020975D8: ; 0x020975D8
- ldr r0, _020975EC ; =0x021C8CCC
- ldr r1, [r0, #0x0]
- orr r1, r1, #0x2
- str r1, [r0, #0x0]
- bx lr
- .balign 4
-_020975EC: .word 0x021C8CCC
-
- arm_func_start FUN_020975F0
-FUN_020975F0: ; 0x020975F0
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r1, _02097654 ; =0x021C8CC0
- ldr r0, _02097658 ; =0x021C8CCC
- ldr lr, [r1, #0x0]
- ldr r3, [r0, #0x0]
- ldr r12, [lr, #0x4]
- ldr r2, _0209765C ; =0x021C8F04
- ldr r1, _02097660 ; =0x021C8ED0
- str r12, [r2, #0x0]
- ldr r12, [lr, #0x8]
- ldr r2, _02097664 ; =0x021C8EE0
- str r12, [r1, #0x0]
- ldr r12, [lr, #0xc]
- ldr r1, _02097668 ; =0x021C8F1C
- str r12, [r2, #0x0]
- ldr r12, [lr, #0x10]
- orr r2, r3, #0x2
- str r12, [r1, #0x0]
- ldr r3, [lr, #0x14]
- str r3, [r1, #0x4]
- str r2, [r0, #0x0]
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_02097654: .word 0x021C8CC0
-_02097658: .word 0x021C8CCC
-_0209765C: .word 0x021C8F04
-_02097660: .word 0x021C8ED0
-_02097664: .word 0x021C8EE0
-_02097668: .word 0x021C8F1C
-
- arm_func_start FUN_0209766C
-FUN_0209766C: ; 0x0209766C
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- ldr r0, _020977C0 ; =0x021C8CC0
- ldr r5, _020977C4 ; =0x021C8CD4
- ldr r4, [r0, #0x0]
- mov r0, r5
- mov r1, #0x0
- mov r2, #0x30
- bl MI_CpuFill8
- ldr r0, _020977C8 ; =0x021C8CC4
- ldr r2, [r4, #0x18]
- mov r1, r5
- str r2, [r1, #0x4]
- ldr r12, [r4, #0x1c]
- mov r2, #0x0
- ldr r3, _020977CC ; =FUN_020975B4
- ldr r0, [r0, #0x0]
- str r12, [r1, #0x8]
- str r3, [r1, #0x10]
- str r2, [r1, #0x14]
- str r2, [r1, #0x18]
- str r0, [r1, #0x2c]
- ldr r0, [r4, #0x24]
- cmp r0, #0x0
- strne r0, [r5, #0x20]
- moveq r0, #0x4000
- streq r0, [r5, #0x20]
- ldr r0, [r4, #0x28]
- cmp r0, #0x0
- strne r0, [r5, #0x1c]
- bne _02097700
- ldr r1, _020977C0 ; =0x021C8CC0
- ldr r0, [r5, #0x20]
- ldr r1, [r1, #0x0]
- ldr r1, [r1, #0x18]
- blx r1
- str r0, [r5, #0x1c]
-_02097700:
- ldr r0, [r4, #0x30]
- ldr r12, [r4, #0x34]
- cmp r0, #0x0
- moveq r0, #0x240
- cmp r12, #0x0
- sub r2, r0, #0x28
- moveq r12, #0x10c0
- add r0, r12, r12, lsr #0x1f
- str r2, [r5, #0x24]
- ldr r1, _020977D0 ; =0x021061DC
- mov r3, r0, asr #0x1
- ldr r0, _020977D4 ; =0x021C8F04
- mov r2, #0x0
- strh r12, [r1, #0x2]
- strh r3, [r1, #0x4]
- str r2, [r0, #0x0]
- ldr r0, [r4, #0x0]
- cmp r0, #0x0
- beq _02097774
- ldr r0, _020977D8 ; =0x021C8CCC
- mov r1, #0x1
- str r1, [r0, #0x0]
- ldr r1, _020977DC ; =FUN_020975D8
- str r2, [r5, #0x0]
- ldr r0, _020977E0 ; =0x021C8CC8
- str r1, [r5, #0xc]
- ldr r0, [r0, #0x0]
- str r0, [r5, #0x28]
- b _0209778C
-_02097774:
- ldr r0, _020977D8 ; =0x021C8CCC
- mov r1, #0x1
- str r2, [r0, #0x0]
- ldr r0, _020977E4 ; =FUN_020975F0
- str r1, [r5, #0x0]
- str r0, [r5, #0xc]
-_0209778C:
- ldr r0, [r4, #0x2c]
- cmp r0, #0x0
- moveq r0, #0xb
- bl FUN_0209FC88
- ldr r0, _020977E8 ; =FUN_0209F65C
- bl FUN_020A87BC
- ldr r0, _020977EC ; =FUN_020996C0
- bl FUN_0209FD24
- mov r0, r5
- bl FUN_0209FD94
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
- .balign 4
-_020977C0: .word 0x021C8CC0
-_020977C4: .word 0x021C8CD4
-_020977C8: .word 0x021C8CC4
-_020977CC: .word FUN_020975B4
-_020977D0: .word 0x021061DC
-_020977D4: .word 0x021C8F04
-_020977D8: .word 0x021C8CCC
-_020977DC: .word FUN_020975D8
-_020977E0: .word 0x021C8CC8
-_020977E4: .word FUN_020975F0
-_020977E8: .word FUN_0209F65C
-_020977EC: .word FUN_020996C0
-
- arm_func_start FUN_020977F0
-FUN_020977F0: ; 0x020977F0
- stmdb sp!, {r4,lr}
- ldr r0, _02097828 ; =0x021C8CC0
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x20]
- bl FUN_02097B78
- movs r4, r0
- bmi _0209781C
- ldr r0, _0209782C ; =0x021061F4
- bl FUN_02097F70
- ldr r1, _02097830 ; =0x021C8CD0
- str r0, [r1, #0x0]
-_0209781C:
- mov r0, r4
- ldmia sp!, {r4,lr}
- bx lr
- .balign 4
-_02097828: .word 0x021C8CC0
-_0209782C: .word 0x021061F4
-_02097830: .word 0x021C8CD0
-
- arm_func_start FUN_02097834
-FUN_02097834: ; 0x02097834
- stmdb sp!, {r4,lr}
- mov r4, r0
- ldr r0, _02097870 ; =0x02000BC4
- bl OSi_ReferSymbol
- ldr r0, _02097874 ; =0x021C8CC0
- ldr r1, [r0, #0x0]
- cmp r1, #0x0
- movne r0, #0x0
- ldmneia sp!, {r4,lr}
- bxne lr
- str r4, [r0, #0x0]
- bl FUN_0209766C
- bl FUN_020977F0
- ldmia sp!, {r4,lr}
- bx lr
- .balign 4
-_02097870: .word 0x02000BC4
-_02097874: .word 0x021C8CC0
-
- arm_func_start FUN_02097878
-FUN_02097878: ; 0x02097878
- stmdb sp!, {r4-r9,lr}
- sub sp, sp, #0x4
- mov r9, r0
- add r6, sp, #0x0
- mov r4, #0x0
- mov r5, #0x1
-_02097890:
- mov r0, r9
- mov r1, r6
- mov r2, r5
- bl OS_ReadMessage
-_020978A0: ; 0x020978A0
- ldr r0, [sp, #0x0]
- cmp r0, #0x0
- addeq sp, sp, #0x4
- ldmeqia sp!, {r4-r9,lr}
- bxeq lr
- ldr r1, [r0, #0x0]
- blx r1
- mov r7, r0
- bl OS_DisableInterrupts
- mov r8, r0
- bl OS_DisableScheduler
- mov r0, r9
- mov r1, r4
- mov r2, r4
- bl OS_ReceiveMessage
-_020978DC: ; 0x020978DC
- ldr r0, [sp, #0x0]
- ldr r0, [r0, #0x4]
- cmp r0, #0x0
- strne r7, [r0, #0x6c]
- ldr r0, [sp, #0x0]
- ldr r0, [r0, #0x8]
- cmp r0, #0x0
- beq _02097908
- mov r1, r7
- mov r2, r4
- bl OS_SendMessage
-_02097908:
- ldr r0, [sp, #0x0]
- bl FUN_02097A64
- bl OS_EnableScheduler
- mov r0, r8
- bl OS_RestoreInterrupts
- b _02097890
-_02097920: ; 0x02097920
- add sp, sp, #0x4
- ldmia sp!, {r4-r9,lr}
- bx lr
-
- arm_func_start FUN_0209792C
-FUN_0209792C: ; 0x0209792C
- stmdb sp!, {r4,lr}
- mov r4, r1
- bl FUN_02097A50
- mov r1, r4
- bl FUN_02097968
- ldmia sp!, {r4,lr}
- bx lr
-
- arm_func_start FUN_02097948
-FUN_02097948:
- ldr ip, _02097954 ; =FUN_02097968
- ldr r0, [r0, #0x68]
- bx r12
- .balign 4
-_02097954: .word FUN_02097968
-
- arm_func_start FUN_02097958
-FUN_02097958: ; 0x02097958
- ldr ip, _02097964 ; =FUN_02097968
- ldr r0, [r0, #0x64]
- bx r12
- .balign 4
-_02097964: .word FUN_02097968
-
- arm_func_start FUN_02097968
-FUN_02097968: ; 0x02097968
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x2c
- mov r4, r1
- ldrsb r2, [r4, #0xd]
- mov r5, r0
- cmp r2, #0x1
- bne _020979BC
- add r0, sp, #0x8
- add r1, sp, #0x4
- mov r2, #0x1
- bl OS_InitMessageQueue
- add r2, sp, #0x8
- mov r0, r5
- mov r1, r4
- str r2, [r4, #0x8]
- bl FUN_020979F8
- add r0, sp, #0x8
- add r1, sp, #0x0
- mov r2, #0x1
- bl OS_ReceiveMessage
- b _020979CC
-_020979BC:
- mov r2, #0x0
- str r2, [r4, #0x8]
- bl FUN_020979F8
-_020979C8: ; 0x020979C8
- str r0, [sp, #0x0]
-_020979CC:
- ldr r0, [sp, #0x0]
- add sp, sp, #0x2c
- ldmia sp!, {r4-r5,lr}
- bx lr
-
- arm_func_start FUN_020979DC
-FUN_020979DC:
- stmdb sp!, {r4,lr}
- mov r4, r1
- bl FUN_02097A50
- mov r1, r4
- bl FUN_020979F8
- ldmia sp!, {r4,lr}
- bx lr
-
- arm_func_start FUN_020979F8
-FUN_020979F8:
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- movs r5, r1
- beq _02097A14
- ldrsb r1, [r5, #0xd]
- ands r1, r1, #0x1
- beq _02097A1C
-_02097A14:
- mov r2, #0x1
- b _02097A20
-_02097A1C:
- mov r2, #0x0
-_02097A20:
- mov r1, r5
- bl OS_SendMessage
- movs r4, r0
- bne _02097A38
- mov r0, r5
- bl FUN_02097A64
-_02097A38:
- cmp r4, #0x0
- movne r0, #0x0
- mvneq r0, #0x29
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
-
- arm_func_start FUN_02097A50
-FUN_02097A50: ; 0x02097A50
- ldr r1, [r0, #0x64]
- cmp r1, #0x0
- ldreq r1, [r0, #0x68]
- mov r0, r1
- bx lr
-
- arm_func_start FUN_02097A64
-FUN_02097A64:
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- movs r1, r0
- addeq sp, sp, #0x4
- ldmeqia sp!, {lr}
- bxeq lr
- ldr r0, _02097A94 ; =0x021C8D08
- mov r2, #0x0
- bl OS_SendMessage
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_02097A94: .word 0x021C8D08
-
- arm_func_start FUN_02097A98
-FUN_02097A98: ; 0x02097A98
- stmdb sp!, {r4-r6,lr}
- mov r4, r2
- mov r6, r0
- mov r0, r4
- mov r5, r1
- bl FUN_02097AE0
-_02097AB0: ; 0x02097AB0
- cmp r0, #0x0
- ldmeqia sp!, {r4-r6,lr}
- bxeq lr
- str r6, [r0, #0x0]
- str r5, [r0, #0x4]
- mov r1, #0x0
- str r1, [r0, #0x8]
- ldrsb r1, [r5, #0x73]
- strb r1, [r0, #0xc]
- strb r4, [r0, #0xd]
- ldmia sp!, {r4-r6,lr}
- bx lr
-
- arm_func_start FUN_02097AE0
-FUN_02097AE0:
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- mov r2, r0
- ldr r0, _02097B10 ; =0x021C8D08
- add r1, sp, #0x0
- bl OS_ReceiveMessage
-_02097AF8: ; 0x02097AF8
- cmp r0, #0x0
- ldrne r0, [sp, #0x0]
- moveq r0, #0x0
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_02097B10: .word 0x021C8D08
-
- arm_func_start FUN_02097B14
-FUN_02097B14: ; 0x02097B14
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r0, _02097B6C ; =0x021C8D08
- ldr r1, [r0, #0x1c]
- ldr r0, [r0, #0x14]
- cmp r1, r0
- addlt sp, sp, #0x4
- mvnlt r0, #0x0
- ldmltia sp!, {lr}
- bxlt lr
- ldr r0, _02097B70 ; =0x021C8CC0
- ldr r1, _02097B74 ; =0x021C8D04
- ldr r2, [r0, #0x0]
- ldr r0, [r1, #0x0]
- ldr r1, [r2, #0x1c]
- blx r1
- ldr r1, _02097B74 ; =0x021C8D04
- mov r0, #0x0
- str r0, [r1, #0x0]
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_02097B6C: .word 0x021C8D08
-_02097B70: .word 0x021C8CC0
-_02097B74: .word 0x021C8D04
-
- arm_func_start FUN_02097B78
-FUN_02097B78: ; 0x02097B78
- stmdb sp!, {r4-r6,lr}
- mov r4, r0
- mov r0, #0x2c
- mul r1, r4, r0
- ldr r0, _02097C08 ; =0x021C8CC0
- mov r2, r4, lsl #0x2
- add r2, r2, #0x3
- ldr r0, [r0, #0x0]
- add r1, r1, #0x3
- bic r5, r2, #0x3
- bic r2, r1, #0x3
- ldr r1, [r0, #0x18]
- add r0, r2, r5
- blx r1
- movs r6, r0
- mvneq r0, #0x0
- ldmeqia sp!, {r4-r6,lr}
- bxeq lr
- ldr r0, _02097C0C ; =0x021C8D08
- mov r1, r6
- mov r2, r4
- bl OS_InitMessageQueue
-_02097BD0: ; 0x02097BD0
- cmp r4, #0x0
- add r5, r6, r5
- ble _02097BF4
-_02097BDC:
- mov r0, r5
- bl FUN_02097A64
- sub r4, r4, #0x1
- cmp r4, #0x0
- add r5, r5, #0x2c
- bgt _02097BDC
-_02097BF4:
- ldr r1, _02097C10 ; =0x021C8D04
- mov r0, #0x0
- str r6, [r1, #0x0]
- ldmia sp!, {r4-r6,lr}
- bx lr
- .balign 4
-_02097C08: .word 0x021C8CC0
-_02097C0C: .word 0x021C8D08
-_02097C10: .word 0x021C8D04
-
- arm_func_start FUN_02097C14
-FUN_02097C14: ; 0x02097C14
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0xc
- mov r5, r2
- mov r7, r0
- mov r0, r5
- mov r6, r1
- bl FUN_02097DC4
- add r4, r7, r0
- ldrb r2, [r5, #0x3]
- mov r0, r6
- mov r1, r7
- bl OS_InitMessageQueue
- add r0, r6, #0xe0
- bl OS_InitMutex
- ldrh r2, [r5, #0x0]
- add r0, r6, #0x20
- ldr r1, _02097C88 ; =FUN_02097878
- str r2, [sp, #0x0]
- ldrb r12, [r5, #0x2]
- mov r2, r6
- mov r3, r4
- str r12, [sp, #0x4]
- bl OS_CreateThread
- add r0, r6, #0x20
- bl OS_WakeupThreadDirect
- mov r0, r4
- add sp, sp, #0xc
- ldmia sp!, {r4-r7,lr}
- bx lr
- .balign 4
-_02097C88: .word FUN_02097878
-
- arm_func_start FUN_02097C8C
-FUN_02097C8C: ; 0x02097C8C
- stmdb sp!, {r4,lr}
- mov r4, r0
- cmp r2, #0x0
- moveq r0, #0x0
- str r0, [r1, #0x4]
- mov r0, r2
- str r2, [r1, #0x0]
- bl FUN_02099F6C
-_02097CAC: ; 0x02097CAC
- add r0, r4, r0
- ldmia sp!, {r4,lr}
- bx lr
-
- arm_func_start FUN_02097CB8
-FUN_02097CB8: ; 0x02097CB8
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- mov r6, r1
- ldrsb r1, [r6, #0x0]
- mov r7, r0
- add r4, r7, #0x80
- strb r1, [r7, #0x73]
- ldrsb r0, [r6, #0x1]
- strb r0, [r7, #0x72]
- ldrh r0, [r6, #0x2]
- cmp r0, #0x0
- beq _02097D40
- str r4, [r7, #0x64]
- ldrh r2, [r6, #0x4]
- mov r1, r4
- add r0, r4, #0x114
- strh r2, [r4, #0xfc]
- add r2, r6, #0x10
- mov r5, r4
- bl FUN_02097C14
- ldrh r2, [r6, #0x2]
- add r1, r7, #0x3c
- bl FUN_02097C8C
- ldrh r2, [r6, #0x8]
- add r1, r7, #0x50
- bl FUN_02097C8C
- ldrh r3, [r6, #0xe]
- add r1, r5, #0x100
- mov r2, #0x0
- strh r3, [r1, #0xa]
- str r2, [r5, #0x110]
- ldr r1, [r5, #0x110]
- mov r4, r0
- str r1, [r5, #0x10c]
-_02097D40:
- ldrh r0, [r6, #0x6]
- cmp r0, #0x0
- ldreq r0, _02097DC0 ; =0x021C8CD0
- ldreq r0, [r0, #0x0]
- ldreq r0, [r0, #0x68]
- streq r0, [r7, #0x68]
- beq _02097DB0
- str r4, [r7, #0x68]
- mov r1, r4
- str r7, [r4, #0x10c]
- add r0, r4, #0x110
- add r2, r6, #0x14
- mov r5, r4
- bl FUN_02097C14
- ldrh r2, [r6, #0x6]
- add r1, r7, #0x48
- bl FUN_02097C8C
- ldrh r2, [r6, #0xa]
- add r1, r7, #0x58
- bl FUN_02097C8C
- ldrh r2, [r6, #0xc]
- add r1, r4, #0xf8
- bl FUN_02097C8C
- mov r1, #0x0
- str r1, [r5, #0x108]
- ldr r1, [r5, #0x108]
- mov r4, r0
- str r1, [r5, #0x104]
-_02097DB0:
- mov r0, r4
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,lr}
- bx lr
- .balign 4
-_02097DC0: .word 0x021C8CD0
-
- arm_func_start FUN_02097DC4
-FUN_02097DC4: ; 0x02097DC4
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r5, r0
- ldrb r0, [r5, #0x3]
- mov r0, r0, lsl #0x2
- bl FUN_02099F6C
- mov r4, r0
- ldrh r0, [r5, #0x0]
- bl FUN_02099F6C
-_02097DE8: ; 0x02097DE8
- add r0, r4, r0
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
-
- arm_func_start FUN_02097DF8
-FUN_02097DF8: ; 0x02097DF8
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r5, r0
- ldrh r0, [r5, #0x2]
- mov r4, #0x80
- cmp r0, #0x0
- beq _02097E38
- add r4, r4, #0x114
- bl FUN_02099F6C
- add r4, r4, r0
- ldrh r0, [r5, #0x8]
- bl FUN_02099F6C
- add r4, r4, r0
- add r0, r5, #0x10
- bl FUN_02097DC4
- add r4, r4, r0
-_02097E38:
- ldrh r0, [r5, #0x6]
- cmp r0, #0x0
- beq _02097E74
- add r4, r4, #0x110
- bl FUN_02099F6C
- add r4, r4, r0
- ldrh r0, [r5, #0xa]
- bl FUN_02099F6C
- add r4, r4, r0
- ldrh r0, [r5, #0xc]
- bl FUN_02099F6C
- add r4, r4, r0
- add r0, r5, #0x14
- bl FUN_02097DC4
- add r4, r4, r0
-_02097E74:
- mov r0, r4
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
-
- arm_func_start FUN_02097E84
-FUN_02097E84: ; 0x02097E84
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- mov r7, r0
- bl FUN_02097DF8
- mov r4, r0
- bl OS_DisableInterrupts
- ldr r1, _02097EF4 ; =0x021C8CC0
- mov r5, r0
- ldr r1, [r1, #0x0]
- mov r0, r4
- ldr r1, [r1, #0x18]
- blx r1
- movs r6, r0
- beq _02097EDC
- mov r2, r4
- mov r1, #0x0
- bl MI_CpuFill8
- mov r0, r6
- mov r1, r7
- bl FUN_02097CB8
- mov r0, r6
- bl FUN_0209A094
-_02097EDC:
- mov r0, r5
- bl OS_RestoreInterrupts
- mov r0, r6
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,lr}
- bx lr
- .balign 4
-_02097EF4: .word 0x021C8CC0
-
- arm_func_start FUN_02097EF8
-FUN_02097EF8: ; 0x02097EF8
- stmdb sp!, {r4,lr}
- ldr r4, [r0, #0x4]
- mov r0, r4
- bl FUN_0209CC28
- ldrsb r0, [r4, #0x73]
- ldr r1, [r4, #0x68]
- cmp r0, #0x4
- addls pc, pc, r0, lsl #0x2
- b _02097F58
-_02097F1C:
- b _02097F30
-_02097F20:
- b _02097F40
-_02097F24:
- b _02097F54
-_02097F28:
- b _02097F58
-_02097F2C:
- b _02097F30
-_02097F30:
- add r0, r1, #0x20
- bl FUN_0209CB0C
- bl FUN_0209CB44
- b _02097F58
-_02097F40:
- bl FUN_0209CB44
- bl FUN_0209CBE8
- ldr r0, _02097F6C ; =FUN_02098550
- bl FUN_0209CAA8
-_02097F50: ; 0x02097F50
- b _02097F58
-_02097F54:
- bl FUN_0209CBE8
-_02097F58:
- mov r0, #0x1
- strh r0, [r4, #0x70]
- mov r0, #0x0
- ldmia sp!, {r4,lr}
- bx lr
- .balign 4
-_02097F6C: .word FUN_02098550
-
- arm_func_start FUN_02097F70
-FUN_02097F70: ; 0x02097F70
- stmdb sp!, {r4,lr}
- bl FUN_02097E84
- movs r4, r0
- mvneq r0, #0x30
- ldmeqia sp!, {r4,lr}
- bxeq lr
- ldr r0, _02097FB0 ; =FUN_02097EF8
- mov r1, r4
- mov r2, #0x1
- bl FUN_02097A98
- mov r1, r0
- mov r0, r4
- bl FUN_0209792C
- mov r0, r4
- ldmia sp!, {r4,lr}
- bx lr
- .balign 4
-_02097FB0: .word FUN_02097EF8
-
- arm_func_start FUN_02097FB4
-FUN_02097FB4: ; 0x02097FB4
- stmdb sp!, {r4-r6,lr}
- sub sp, sp, #0x8
- mov r6, r0
- ldr r4, [r6, #0x4]
- ldr r5, [r4, #0x64]
- add r0, r5, #0xe0
- bl OS_LockMutex
- mov r1, #0x0
- ldrh r0, [r6, #0x10]
- mov r2, r1
- bl FUN_0209CB78
- bl FUN_0209CA54
- mov r2, #0x0
- add r0, sp, #0x0
- add r1, sp, #0x4
- str r2, [r5, #0xf8]
- bl FUN_0209C8E0
- ldrh r2, [sp, #0x0]
- ldr r1, [r6, #0x14]
- strh r2, [r1, #0x0]
- ldr r1, [r6, #0x18]
- str r0, [r1, #0x0]
- ldrsh r1, [r4, #0x70]
- add r0, r5, #0xe0
- orr r1, r1, #0x4
- strh r1, [r4, #0x70]
- bl OS_UnlockMutex
-_02098020: ; 0x02098020
- mov r0, #0x0
- add sp, sp, #0x8
- ldmia sp!, {r4-r6,lr}
- bx lr
-
- arm_func_start FUN_02098030
-FUN_02098030:
- stmdb sp!, {r4-r6,lr}
- mov r6, r0
- mov r5, r1
- mov r4, r2
- bl FUN_02099FA8
-_02098044: ; 0x02098044
- cmp r0, #0x0
- mvnne r0, #0x1b
- ldmneia sp!, {r4-r6,lr}
- bxne lr
- cmp r6, #0x0
- mov r1, #0x0
- beq _0209806C
- ldrsh r0, [r6, #0x70]
- ands r0, r0, #0x1
- movne r1, #0x1
-_0209806C:
- cmp r1, #0x0
- mvneq r0, #0x26
- ldmeqia sp!, {r4-r6,lr}
- bxeq lr
- ldrsh r0, [r6, #0x70]
- ands r0, r0, #0x2
- mvnne r0, #0x1b
- ldmneia sp!, {r4-r6,lr}
- bxne lr
- ldrsb r0, [r6, #0x73]
- mov r1, #0x1
- cmp r0, #0x0
- beq _020980A8
- cmp r0, #0x4
- movne r1, #0x0
-_020980A8:
- cmp r1, #0x0
- mvneq r0, #0x1b
- ldmeqia sp!, {r4-r6,lr}
- bxeq lr
- ldrsb r2, [r6, #0x72]
- cmp r2, #0x1
- mvnne r0, #0x5
- ldmneia sp!, {r4-r6,lr}
- bxne lr
- ldrh r0, [r6, #0x74]
- cmp r0, #0x0
- mvneq r0, #0x1b
- ldmeqia sp!, {r4-r6,lr}
- bxeq lr
- ldr r0, _0209811C ; =FUN_02097FB4
- mov r1, r6
- bl FUN_02097A98
- mov r1, r0
- ldrh r2, [r6, #0x74]
- mov r0, r6
- strh r2, [r1, #0x10]
- str r5, [r1, #0x14]
- str r4, [r1, #0x18]
- ldrsh r2, [r6, #0x70]
- orr r2, r2, #0x2
- strh r2, [r6, #0x70]
- bl FUN_02097958
- ldmia sp!, {r4-r6,lr}
- bx lr
- .balign 4
-_0209811C: .word FUN_02097FB4
-
- arm_func_start FUN_02098120
-FUN_02098120:
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- mov r6, r0
- mov r5, r1
- mov r4, r2
- bl FUN_02099FA8
-_02098138: ; 0x02098138
- cmp r0, #0x0
- addne sp, sp, #0x4
- mvnne r0, #0x1b
- ldmneia sp!, {r4-r7,lr}
- bxne lr
- cmp r6, #0x0
- mov r1, #0x0
- beq _02098164
- ldrsh r0, [r6, #0x70]
- ands r0, r0, #0x1
- movne r1, #0x1
-_02098164:
- cmp r1, #0x0
- addeq sp, sp, #0x4
- mvneq r0, #0x26
- ldmeqia sp!, {r4-r7,lr}
- bxeq lr
- ldrsh r0, [r6, #0x70]
- ands r0, r0, #0x2
- addne sp, sp, #0x4
- mvnne r0, #0x1b
- ldmneia sp!, {r4-r7,lr}
- bxne lr
- ldrsb r0, [r6, #0x73]
- mov r1, #0x1
- cmp r0, #0x0
- beq _020981A8
- cmp r0, #0x4
- movne r1, #0x0
-_020981A8:
- cmp r1, #0x0
- addeq sp, sp, #0x4
- mvneq r0, #0x1b
- ldmeqia sp!, {r4-r7,lr}
- bxeq lr
- ldrsb r0, [r6, #0x72]
- cmp r0, #0x1
- addne sp, sp, #0x4
- mvnne r0, #0x5
- ldmneia sp!, {r4-r7,lr}
- bxne lr
- ldr r0, _02098228 ; =0x021061DC
- bl FUN_02097F70
- movs r7, r0
- addmi sp, sp, #0x4
- ldmmiia sp!, {r4-r7,lr}
- bxmi lr
- ldrh r1, [r6, #0x74]
- bl FUN_020984B4
-_020981F4: ; 0x020981F4
- cmp r0, #0x0
- addlt sp, sp, #0x4
- ldmltia sp!, {r4-r7,lr}
- bxlt lr
- mov r0, r7
- mov r1, r5
- mov r2, r4
- bl FUN_02098030
-_02098214: ; 0x02098214
- cmp r0, #0x0
- movge r0, r7
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,lr}
- bx lr
- .balign 4
-_02098228: .word 0x021061DC
-
- arm_func_start FUN_0209822C
-FUN_0209822C: ; 0x0209822C
- stmdb sp!, {r4,lr}
- mov r4, r0
- bl FUN_02099FA8
-_02098238: ; 0x02098238
- cmp r0, #0x0
- mvnne r0, #0x1b
- ldmneia sp!, {r4,lr}
- bxne lr
- cmp r4, #0x0
- mov r1, #0x0
- beq _02098260
- ldrsh r0, [r4, #0x70]
- ands r0, r0, #0x1
- movne r1, #0x1
-_02098260:
- cmp r1, #0x0
- mvneq r0, #0x26
- ldmeqia sp!, {r4,lr}
- bxeq lr
- ldrsh r0, [r4, #0x70]
- ands r0, r0, #0x2
- mvnne r0, #0x1b
- ldmneia sp!, {r4,lr}
- bxne lr
- ldrsb r0, [r4, #0x73]
- mov r1, #0x1
- cmp r0, #0x0
- beq _0209829C
- cmp r0, #0x4
- movne r1, #0x0
-_0209829C:
- cmp r1, #0x0
- mvneq r0, #0x1b
- ldmeqia sp!, {r4,lr}
- bxeq lr
- ldrsb r0, [r4, #0x72]
- cmp r0, #0x1
- moveq r0, #0x0
- mvnne r0, #0x5
- ldmia sp!, {r4,lr}
- bx lr
-
- arm_func_start FUN_020982C4
-FUN_020982C4: ; 0x020982C4
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- mov r7, r0
- ldr r4, [r7, #0x4]
- mov r5, #0x0
- ldr r6, [r4, #0x64]
- add r0, r6, #0xe0
- bl OS_LockMutex
- ldrh r0, [r7, #0x10]
- ldrh r1, [r7, #0x12]
- ldr r2, [r7, #0x14]
- bl FUN_0209CB78
- mov r0, r5
- str r0, [r6, #0xf8]
- ldrsb r0, [r7, #0xc]
- cmp r0, #0x0
- beq _02098310
- cmp r0, #0x4
- bne _02098318
-_02098310:
- bl FUN_0209C934
- mov r5, r0
-_02098318:
- add r0, r6, #0xe0
- bl OS_UnlockMutex
-_02098320: ; 0x02098320
- cmp r5, #0x0
- ldrnesh r1, [r4, #0x70]
- mvnne r0, #0x4b
- moveq r0, #0x0
- orrne r1, r1, #0x40
- strneh r1, [r4, #0x70]
- ldreqsh r1, [r4, #0x70]
- orreq r1, r1, #0x4
- streqh r1, [r4, #0x70]
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,lr}
- bx lr
-
- arm_func_start FUN_02098350
-FUN_02098350: ; 0x02098350
- stmdb sp!, {r4,lr}
- mov r4, r0
- ldrsb r2, [r4, #0x72]
- ldr r0, _020983AC ; =FUN_020982C4
- mov r1, r4
- bl FUN_02097A98
- movs r1, r0
- mvneq r0, #0x20
- ldmeqia sp!, {r4,lr}
- bxeq lr
- ldrh r2, [r4, #0x74]
- mov r0, r4
- strh r2, [r1, #0x10]
- ldrh r2, [r4, #0x76]
- strh r2, [r1, #0x12]
- ldr r2, [r4, #0x78]
- str r2, [r1, #0x14]
- ldrsh r2, [r4, #0x70]
- orr r2, r2, #0x2
- strh r2, [r4, #0x70]
- bl FUN_02097958
- ldmia sp!, {r4,lr}
- bx lr
- .balign 4
-_020983AC: .word FUN_020982C4
-
- arm_func_start FUN_020983B0
-FUN_020983B0: ; 0x020983B0
- stmdb sp!, {r4-r6,lr}
- mov r6, r0
- mov r5, r1
- mov r4, r2
- bl FUN_02099FA8
-_020983C4: ; 0x020983C4
- cmp r0, #0x0
- bne _020983D8
- ldrsh r0, [r6, #0x70]
- ands r0, r0, #0x8
- beq _020983E4
-_020983D8:
- mvn r0, #0x1b
- ldmia sp!, {r4-r6,lr}
- bx lr
-_020983E4:
- cmp r6, #0x0
- mov r1, #0x0
- beq _020983FC
- ldrsh r0, [r6, #0x70]
- ands r0, r0, #0x1
- movne r1, #0x1
-_020983FC:
- cmp r1, #0x0
- mvneq r0, #0x26
- ldmeqia sp!, {r4-r6,lr}
- bxeq lr
- ldrsb r0, [r6, #0x73]
- mov r1, #0x1
- cmp r0, #0x0
- beq _02098424
- cmp r0, #0x4
- movne r1, #0x0
-_02098424:
- cmp r1, #0x0
- beq _0209849C
- ldrsh r0, [r6, #0x70]
- ands r0, r0, #0x4
- beq _02098450
- ldrsb r0, [r6, #0x72]
- cmp r0, #0x1
- mvneq r0, #0x1d
- movne r0, #0x0
- ldmia sp!, {r4-r6,lr}
- bx lr
-_02098450:
- ldrsh r0, [r6, #0x70]
- ands r0, r0, #0x2
- beq _02098478
- ldrsh r0, [r6, #0x70]
- ands r0, r0, #0x40
- ldrne r0, [r6, #0x6c]
- ldreq r0, _020984B0 ; =0x021061C0
- ldreq r0, [r0, #0x0]
- ldmia sp!, {r4-r6,lr}
- bx lr
-_02098478:
- strh r5, [r6, #0x76]
- mov r0, r6
- str r4, [r6, #0x78]
- bl FUN_02098350
- ldrsb r1, [r6, #0x72]
- cmp r1, #0x1
- mvnne r0, #0x19
- ldmia sp!, {r4-r6,lr}
- bx lr
-_0209849C:
- strh r5, [r6, #0x76]
- str r4, [r6, #0x78]
- mov r0, #0x0
- ldmia sp!, {r4-r6,lr}
- bx lr
- .balign 4
-_020984B0: .word 0x021061C0
-
- arm_func_start FUN_020984B4
-FUN_020984B4:
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r4, r0
- mov r5, r1
- bl FUN_02099FA8
-_020984C8: ; 0x020984C8
- cmp r0, #0x0
- addne sp, sp, #0x4
- mvnne r0, #0x1b
- ldmneia sp!, {r4-r5,lr}
- bxne lr
- cmp r4, #0x0
- mov r1, #0x0
- beq _020984F4
- ldrsh r0, [r4, #0x70]
- ands r0, r0, #0x1
- movne r1, #0x1
-_020984F4:
- cmp r1, #0x0
- addeq sp, sp, #0x4
- mvneq r0, #0x26
- ldmeqia sp!, {r4-r5,lr}
- bxeq lr
- ldrsh r0, [r4, #0x70]
- ands r0, r0, #0x2
- addne sp, sp, #0x4
- mvnne r0, #0x6
- ldmneia sp!, {r4-r5,lr}
- bxne lr
- strh r5, [r4, #0x74]
- ldrsb r0, [r4, #0x73]
- cmp r0, #0x1
- addne sp, sp, #0x4
- movne r0, #0x0
- ldmneia sp!, {r4-r5,lr}
- bxne lr
- mov r0, r4
- bl FUN_02098350
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
-
- arm_func_start FUN_02098550
-FUN_02098550: ; 0x02098550
- stmdb sp!, {r4-r9,lr}
- sub sp, sp, #0x4
- mov r7, r2
- ldr r6, [r7, #0x64]
- mov r9, r0
- mov r8, r1
- bl OS_DisableInterrupts
- add r1, r6, #0x100
- ldrh r2, [r1, #0x8]
- ldrh r1, [r1, #0xa]
- mov r4, r0
- add r0, r2, r8
- cmp r1, r0
- blo _02098618
- ldr r1, _02098668 ; =0x021C8CC0
- add r0, r8, #0xc
- ldr r1, [r1, #0x0]
- ldr r1, [r1, #0x18]
- blx r1
- movs r5, r0
- beq _02098604
- add r1, r6, #0x100
- ldrh r3, [r1, #0x8]
- mov r2, #0x0
- mov r0, r9
- add r3, r3, r8
- strh r3, [r1, #0x8]
- str r2, [r5, #0x0]
- strh r8, [r5, #0x4]
- ldrh r3, [r7, #0x18]
- mov r2, r8
- add r1, r5, #0xc
- strh r3, [r5, #0x6]
- ldr r3, [r7, #0x1c]
- str r3, [r5, #0x8]
- bl MI_CpuCopy8
- ldr r0, [r6, #0x100]
- cmp r0, #0x0
- ldrne r0, [r6, #0x100]
- strne r5, [r0, #0x0]
- str r5, [r6, #0x100]
- ldr r0, [r6, #0x104]
- cmp r0, #0x0
- streq r5, [r6, #0x104]
- b _02098628
-_02098604:
- ldr r0, _0209866C ; =0x021C8D28
- ldr r1, [r0, #0x0]
- add r1, r1, #0x1
- str r1, [r0, #0x0]
- b _02098628
-_02098618:
- ldr r0, _0209866C ; =0x021C8D28
- ldr r1, [r0, #0x4]
- add r1, r1, #0x1
- str r1, [r0, #0x4]
-_02098628:
- ldrh r0, [r7, #0x74]
- cmp r0, #0x0
- ldreqh r0, [r7, #0xa]
- streqh r0, [r7, #0x74]
- ldrh r1, [r7, #0x1a]
- add r0, r6, #0x10c
- strh r1, [r7, #0x18]
- ldr r1, [r7, #0x20]
- str r1, [r7, #0x1c]
- bl OS_WakeupThread
- mov r0, r4
- bl OS_RestoreInterrupts
- mov r0, #0x1
- add sp, sp, #0x4
- ldmia sp!, {r4-r9,lr}
- bx lr
- .balign 4
-_02098668: .word 0x021C8CC0
-_0209866C: .word 0x021C8D28
-
- arm_func_start FUN_02098670
-FUN_02098670: ; 0x02098670
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0x14
- mov r10, r0
- ldr r9, [r10, #0x64]
- str r1, [sp, #0x0]
- ldr r0, [r9, #0x104]
- str r2, [sp, #0x4]
- str r3, [sp, #0x8]
- bl OS_DisableInterrupts
- ldr r8, [r9, #0x104]
- str r0, [sp, #0xc]
- cmp r8, #0x0
- bne _02098710
- ldr r0, [sp, #0x3c]
- and r7, r0, #0x1
- add r6, r9, #0x10c
- mov r4, #0x1
- mov r5, #0x0
-_020986B8:
- cmp r7, #0x0
- mvneq r11, #0x5
- beq _02098710
- mov r0, r6
- bl OS_SleepThread
- mov r0, r10
- bl FUN_02099FA8
-_020986D4: ; 0x020986D4
- cmp r0, #0x0
- bne _020986FC
- mov r1, r5
- cmp r10, #0x0
- beq _020986F4
- ldrsh r0, [r10, #0x70]
- ands r0, r0, #0x1
- movne r1, r4
-_020986F4:
- cmp r1, #0x0
- bne _02098704
-_020986FC:
- mvn r11, #0x37
- b _02098710
-_02098704:
- ldr r8, [r9, #0x104]
- cmp r8, #0x0
- beq _020986B8
-_02098710:
- cmp r8, #0x0
- beq _020987A4
- ldrh r1, [r8, #0x4]
- ldr r0, [sp, #0x4]
- cmp r0, r1
- strgt r1, [sp, #0x4]
- ldr r1, [sp, #0x0]
- ldr r2, [sp, #0x4]
- add r0, r8, #0xc
- bl MI_CpuCopy8
- ldr r0, [sp, #0x8]
- cmp r0, #0x0
- ldrneh r1, [r8, #0x6]
- strneh r1, [r0, #0x0]
- ldr r1, [sp, #0x38]
- cmp r1, #0x0
- ldrne r0, [r8, #0x8]
- strne r0, [r1, #0x0]
- ldrsb r0, [r9, #0xfe]
- ldrh r11, [r8, #0x4]
- cmp r0, #0x0
- bne _020987A4
- ldr r0, [r8, #0x0]
- ldr r1, _020987BC ; =0x021C8CC0
- str r0, [r9, #0x104]
- ldr r0, [r8, #0x0]
- cmp r0, #0x0
- moveq r0, #0x0
- streq r0, [r9, #0x100]
- ldr r1, [r1, #0x0]
- mov r0, r8
- ldr r1, [r1, #0x1c]
- blx r1
- add r0, r9, #0x100
- ldrh r1, [r0, #0x8]
- sub r1, r1, r11
- strh r1, [r0, #0x8]
-_020987A4:
- ldr r0, [sp, #0xc]
- bl OS_RestoreInterrupts
- mov r0, r11
- add sp, sp, #0x14
- ldmia sp!, {r4-r11,lr}
- bx lr
- .balign 4
-_020987BC: .word 0x021C8CC0
-
- arm_func_start FUN_020987C0
-FUN_020987C0: ; 0x020987C0
- stmdb sp!, {r4-r6,lr}
- ldr r6, [r0, #0x64]
- bl OS_DisableInterrupts
- ldr r4, [r6, #0xf8]
- mov r5, r0
- cmp r4, #0x0
- beq _020987EC
- mov r1, #0x0
- mov r0, r4
- str r1, [r6, #0xf8]
- bl FUN_0209C52C
-_020987EC:
- mov r0, r5
- bl OS_RestoreInterrupts
- mov r0, r4
- ldmia sp!, {r4-r6,lr}
- bx lr
-
- arm_func_start FUN_02098800
-FUN_02098800: ; 0x02098800
- ldr ip, _0209880C ; =FUN_020987C0
- ldr r0, [r0, #0x4]
- bx r12
- .balign 4
-_0209880C: .word FUN_020987C0
-
- arm_func_start FUN_02098810
-FUN_02098810:
- stmdb sp!, {r4,lr}
- mov r4, r0
- ldr r1, [r4, #0x64]
- ldrh r0, [r1, #0xfc]
- ldr r1, [r1, #0xf8]
- cmp r1, r0
- movlt r0, #0x0
- ldmltia sp!, {r4,lr}
- bxlt lr
- ldr r0, _02098864 ; =FUN_02098800
- mov r1, r4
- mov r2, #0x0
- bl FUN_02097A98
- movs r1, r0
- mvneq r0, #0x20
- ldmeqia sp!, {r4,lr}
- bxeq lr
- mov r0, r4
- bl FUN_02097958
- ldmia sp!, {r4,lr}
- bx lr
- .balign 4
-_02098864: .word FUN_02098800
-
- arm_func_start FUN_02098868
-FUN_02098868: ; 0x02098868
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0x14
- ldr r9, [r0, #0x4]
- ldr r1, [r0, #0x10]
- ldr r8, [r9, #0x64]
- str r1, [sp, #0x4]
- ldr r1, [r0, #0x18]
- ldr r10, [r0, #0x14]
- ldr r0, [r0, #0x1c]
- ldr r7, [r8, #0xf8]
- str r1, [sp, #0x8]
- str r0, [sp, #0xc]
- add r11, sp, #0x10
- mov r5, #0x0
- mov r6, #0x1
- mov r4, #0xa
-_020988A8:
- mov r0, r11
- bl FUN_0209C638
-_020988B0: ; 0x020988B0
- cmp r0, #0x0
- beq _02098904
- ldr r1, [sp, #0x10]
- sub r1, r1, r7
- cmp r1, #0x0
- bgt _02098904
- ldrsb r0, [r9, #0x73]
- mov r1, r6
- cmp r0, #0x0
- beq _020988E0
- cmp r0, #0x4
- movne r1, r5
-_020988E0:
- cmp r1, #0x0
- beq _020988F8
- ldrb r0, [r9, #0x8]
- cmp r0, #0x4
- movne r0, #0x0
- bne _02098904
-_020988F8:
- mov r0, r4
- bl OS_Sleep
- b _020988A8
-_02098904:
- ldrsb r1, [r9, #0x73]
- cmp r1, #0x4
- bne _02098954
- cmp r0, #0x0
- addeq sp, sp, #0x14
- moveq r0, #0x0
- ldmeqia sp!, {r4-r11,lr}
- bxeq lr
- ldr r1, [sp, #0x10]
- cmp r10, r1
- movhi r10, r1
- ldr r1, [sp, #0x4]
- mov r2, r10
- bl MI_CpuCopy8
- mov r0, r10
- bl FUN_0209C52C
- add sp, sp, #0x14
- mov r0, r10
- ldmia sp!, {r4-r11,lr}
- bx lr
-_02098954:
- cmp r0, #0x0
- moveq r4, #0x0
- beq _02098980
- ldr r4, [sp, #0xc]
- ldr r1, [sp, #0x4]
- ldr r3, [sp, #0x8]
- mov r0, r9
- mov r2, r10
- str r4, [sp, #0x0]
- bl FUN_02098AA4
- mov r4, r0
-_02098980:
- cmp r4, #0x0
- addle sp, sp, #0x14
- movle r0, r4
- ldmleia sp!, {r4-r11,lr}
- bxle lr
- ldrh r0, [r8, #0xfc]
- ldr r1, [r8, #0xf8]
- cmp r1, r0
- blt _020989AC
- mov r0, r9
- bl FUN_020987C0
-_020989AC:
- mov r0, r4
- add sp, sp, #0x14
- ldmia sp!, {r4-r11,lr}
- bx lr
-
- arm_func_start FUN_020989BC
-FUN_020989BC: ; 0x020989BC
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- mov r7, r0
- mov r6, r1
- mov r5, r2
- ldr r0, _02098A10 ; =FUN_02098868
- mov r1, r7
- mov r2, #0x1
- mov r4, r3
- bl FUN_02097A98
- mov r1, r0
- str r6, [r1, #0x10]
- str r5, [r1, #0x14]
- ldr r2, [sp, #0x18]
- str r4, [r1, #0x18]
- mov r0, r7
- str r2, [r1, #0x1c]
- bl FUN_02097958
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,lr}
- bx lr
- .balign 4
-_02098A10: .word FUN_02098868
-
- arm_func_start FUN_02098A14
-FUN_02098A14:
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- ldr r0, [r0, #0x64]
- ldr r5, [r0, #0xc4]
- ldr r4, [r0, #0xf8]
- ldr r0, [r5, #0x44]
- subs lr, r0, r4
- bmi _02098A78
- ldrh r12, [r5, #0xa]
- ldr r0, [sp, #0x10]
- cmp lr, #0x0
- strh r12, [r2, #0x0]
- ldrh r2, [r5, #0x18]
- strh r2, [r3, #0x0]
- ldr r2, [r5, #0x1c]
- str r2, [r0, #0x0]
- str lr, [r1, #0x0]
- bne _02098A90
- ldrb r0, [r5, #0x8]
- cmp r0, #0x4
- beq _02098A90
- add sp, sp, #0x4
- mov r0, #0x0
- ldmia sp!, {r4-r5,lr}
- bx lr
-_02098A78:
- mvn r0, #0x0
- str r0, [r1, #0x0]
- add sp, sp, #0x4
- mov r0, #0x0
- ldmia sp!, {r4-r5,lr}
- bx lr
-_02098A90:
- ldr r0, [r5, #0x40]
- add r0, r0, r4
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
-
- arm_func_start FUN_02098AA4
-FUN_02098AA4: ; 0x02098AA4
- stmdb sp!, {r4-r9,lr}
- sub sp, sp, #0x14
- mov r9, r0
- mov r8, r1
- mov r7, r2
- mov r6, r3
- bl OS_DisableInterrupts
- add r1, sp, #0xc
- mov r5, r0
- str r1, [sp, #0x0]
- add r1, sp, #0x8
- mov r0, r9
- add r2, sp, #0x4
- add r3, sp, #0x6
- bl FUN_02098A14
-_02098AE0: ; 0x02098AE0
- cmp r0, #0x0
- beq _02098B48
- ldr r4, [sp, #0x8]
- cmp r4, #0x0
- mvneq r4, #0x5
- beq _02098B64
- ldrsb r1, [r9, #0x73]
- cmp r7, r4
- movgt r7, r4
- mov r2, #0x1
- cmp r1, #0x0
- beq _02098B18
- cmp r1, #0x4
- movne r2, #0x0
-_02098B18:
- cmp r2, #0x0
- mov r1, r8
- mov r2, r7
- movne r4, r7
- bl MI_CpuCopy8
- ldr r1, [r9, #0x64]
- ldrsb r0, [r1, #0xfe]
- cmp r0, #0x0
- ldreq r0, [r1, #0xf8]
- addeq r0, r0, r4
- streq r0, [r1, #0xf8]
- b _02098B64
-_02098B48:
- ldr r0, [sp, #0x8]
- cmp r0, #0x0
- ldrsh r0, [r9, #0x70]
- moveq r4, #0x0
- mvnne r4, #0x1b
- bic r0, r0, #0x6
- strh r0, [r9, #0x70]
-_02098B64:
- cmp r4, #0x0
- blt _02098B9C
- cmp r6, #0x0
- beq _02098B8C
- ldr r1, [sp, #0x30]
- cmp r1, #0x0
- ldrneh r0, [sp, #0x6]
- strneh r0, [r6, #0x0]
- ldrne r0, [sp, #0xc]
- strne r0, [r1, #0x0]
-_02098B8C:
- ldrh r0, [r9, #0x74]
- cmp r0, #0x0
- ldreqh r0, [sp, #0x4]
- streqh r0, [r9, #0x74]
-_02098B9C:
- mov r0, r5
- bl OS_RestoreInterrupts
- mov r0, r4
- add sp, sp, #0x14
- ldmia sp!, {r4-r9,lr}
- bx lr
-
- arm_func_start FUN_02098BB4
-FUN_02098BB4: ; 0x02098BB4
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- mov r7, r0
- ldrsb r12, [r7, #0x73]
- mov r6, r1
- mov r5, r2
- mov r4, r3
- cmp r12, #0x4
- bne _02098BF0
- ldr r4, [sp, #0x18]
- str r4, [sp, #0x0]
- bl FUN_020989BC
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,lr}
- bx lr
-_02098BF0:
- ldr r12, [sp, #0x18]
- str r12, [sp, #0x0]
- bl FUN_02098AA4
- mvn r1, #0x5
- cmp r0, r1
- addne sp, sp, #0x4
- ldmneia sp!, {r4-r7,lr}
- bxne lr
- ldr r1, [sp, #0x1c]
- ands r1, r1, #0x1
- addeq sp, sp, #0x4
- ldmeqia sp!, {r4-r7,lr}
- bxeq lr
- ldr r12, [sp, #0x18]
- mov r0, r7
- mov r1, r6
- mov r2, r5
- mov r3, r4
- str r12, [sp, #0x0]
- bl FUN_020989BC
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,lr}
- bx lr
-
- arm_func_start FUN_02098C4C
-FUN_02098C4C: ; 0x02098C4C
- stmdb sp!, {r4-r8,lr}
- sub sp, sp, #0x8
- ldr r5, [sp, #0x28]
- mov r7, r0
- ands r0, r5, #0x2
- ldr r5, [r7, #0x64]
- beq _02098C74
- cmp r5, #0x0
- movne r6, #0x1
- bne _02098C78
-_02098C74:
- mov r6, #0x0
-_02098C78:
- cmp r6, #0x0
- ldrnesb r4, [r5, #0xfe]
- movne r0, #0x1
- strneb r0, [r5, #0xfe]
- ldrsb r0, [r7, #0x73]
- cmp r0, #0x1
- bne _02098CB4
- ldr r0, [sp, #0x20]
- ldr r12, [sp, #0x24]
- str r0, [sp, #0x0]
- mov r0, r7
- str r12, [sp, #0x4]
- bl FUN_02098670
- mov r8, r0
- b _02098CDC
-_02098CB4:
- ldr r0, [sp, #0x20]
- ldr r12, [sp, #0x24]
- str r0, [sp, #0x0]
- mov r0, r7
- str r12, [sp, #0x4]
- bl FUN_02098BB4
- movs r8, r0
- bmi _02098CDC
- mov r0, r7
- bl FUN_02098810
-_02098CDC:
- cmp r6, #0x0
- strneb r4, [r5, #0xfe]
- mov r0, r8
- add sp, sp, #0x8
- ldmia sp!, {r4-r8,lr}
- bx lr
-
- arm_func_start FUN_02098CF4
-FUN_02098CF4:
- stmdb sp!, {r4-r9,lr}
- sub sp, sp, #0xc
- mov r9, r0
- mov r8, r1
- mov r7, r2
- mov r6, r3
- bl FUN_02099FA8
-_02098D10: ; 0x02098D10
- cmp r0, #0x0
- addne sp, sp, #0xc
- mvnne r0, #0x1b
- ldmneia sp!, {r4-r9,lr}
- bxne lr
- ldr r0, [sp, #0x2c]
- ands r0, r0, #0x4
- bne _02098D3C
- ldrsb r0, [r9, #0x72]
- cmp r0, #0x0
- bne _02098D5C
-_02098D3C:
- ldrsb r0, [r9, #0x73]
- cmp r0, #0x4
- addeq sp, sp, #0xc
- mvneq r0, #0x1b
- ldmeqia sp!, {r4-r9,lr}
- bxeq lr
- mov r4, #0x0
- b _02098D78
-_02098D5C:
- bl OS_GetProcMode
- cmp r0, #0x12
- addeq sp, sp, #0xc
- mvneq r0, #0x1b
- ldmeqia sp!, {r4-r9,lr}
- bxeq lr
- mov r4, #0x1
-_02098D78:
- cmp r9, #0x0
- mov r1, #0x0
- beq _02098D90
- ldrsh r0, [r9, #0x70]
- ands r0, r0, #0x1
- movne r1, #0x1
-_02098D90:
- cmp r1, #0x0
- addeq sp, sp, #0xc
- mvneq r0, #0x26
- ldmeqia sp!, {r4-r9,lr}
- bxeq lr
- ldrsb r0, [r9, #0x73]
- mov r1, #0x1
- cmp r0, #0x0
- beq _02098DBC
- cmp r0, #0x4
- movne r1, #0x0
-_02098DBC:
- cmp r1, #0x0
- beq _02098DEC
- ldrsh r0, [r9, #0x70]
- ands r0, r0, #0x4
- beq _02098DDC
- ldrsh r0, [r9, #0x70]
- ands r0, r0, #0x8
- beq _02098DEC
-_02098DDC:
- add sp, sp, #0xc
- mvn r0, #0x37
- ldmia sp!, {r4-r9,lr}
- bx lr
-_02098DEC:
- ands r0, r4, #0x1
- ldr r5, [r9, #0x64]
- bne _02098E18
- add r0, r5, #0xe0
- bl OS_TryLockMutex
-_02098E00: ; 0x02098E00
- cmp r0, #0x0
- bne _02098E20
- add sp, sp, #0xc
- mvn r0, #0x5
- ldmia sp!, {r4-r9,lr}
- bx lr
-_02098E18:
- add r0, r5, #0xe0
- bl OS_LockMutex
-_02098E20:
- ldr r0, [sp, #0x28]
- ldr r12, [sp, #0x2c]
- str r0, [sp, #0x0]
- str r4, [sp, #0x4]
- mov r0, r9
- mov r1, r8
- mov r2, r7
- mov r3, r6
- str r12, [sp, #0x8]
- bl FUN_02098C4C
- mov r4, r0
- add r0, r5, #0xe0
- bl OS_UnlockMutex
- mov r0, r4
- add sp, sp, #0xc
- ldmia sp!, {r4-r9,lr}
- bx lr
-
- arm_func_start FUN_02098E64
-FUN_02098E64: ; 0x02098E64
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- mov r6, r2
- ldr r5, [r6, #0x14]
- ldr r4, [r6, #0x1c]
- cmp r5, r1
- mov r7, r0
- movgt r5, r1
- movgt r4, #0x0
- bgt _02098E98
- sub r0, r1, r5
- cmp r4, r0
- movgt r4, r0
-_02098E98:
- cmp r5, #0x0
- ble _02098EC8
- ldr r0, [r6, #0x10]
- mov r1, r7
- mov r2, r5
- bl MI_CpuCopy8
- ldr r0, [r6, #0x10]
- add r0, r0, r5
- str r0, [r6, #0x10]
- ldr r0, [r6, #0x14]
- sub r0, r0, r5
- str r0, [r6, #0x14]
-_02098EC8:
- cmp r4, #0x0
- ble _02098EF8
- ldr r0, [r6, #0x18]
- mov r2, r4
- add r1, r7, r5
- bl MI_CpuCopy8
- ldr r0, [r6, #0x18]
- add r0, r0, r4
- str r0, [r6, #0x18]
- ldr r0, [r6, #0x1c]
- sub r0, r0, r4
- str r0, [r6, #0x1c]
-_02098EF8:
- add r0, r5, r4
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,lr}
- bx lr
-
- arm_func_start FUN_02098F08
-FUN_02098F08: ; 0x02098F08
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- ldr r1, _02098FBC ; =0x021D3498
- mov r4, r0
- ldr r0, [r1, #0x4]
- ldr r5, [r0, #0xa4]
- bl OS_DisableInterrupts
-_02098F24: ; 0x02098F24
- cmp r5, #0x0
- beq _02098F74
- ldrh r3, [r5, #0x2e]
- cmp r3, #0x0
- beq _02098F64
- ldrh r2, [r5, #0x2c]
- cmp r2, #0x0
- beq _02098F64
- ldr r1, _02098FC0 ; =0x021C8CD4
- cmp r3, r2
- ldr r1, [r1, #0x24]
- movgt r3, r2
- cmp r3, r1
- movgt r3, r1
- mov r5, r3, lsl #0x1
- b _02098F80
-_02098F64:
- ldr r1, _02098FC0 ; =0x021C8CD4
- ldr r1, [r1, #0x24]
- mov r5, r1, lsl #0x1
- b _02098F80
-_02098F74:
- ldr r1, _02098FC0 ; =0x021C8CD4
- ldr r1, [r1, #0x24]
- mov r5, r1, lsl #0x1
-_02098F80:
- bl OS_RestoreInterrupts
-_02098F84: ; 0x02098F84
- cmp r5, #0x0
- ble _02098FAC
- mov r0, r4
- mov r1, r5
- bl _s32_div_f
-_02098F98: ; 0x02098F98
- cmp r0, #0x0
- mulgt r0, r5, r0
- addgt sp, sp, #0x4
- ldmgtia sp!, {r4-r5,lr}
- bxgt lr
-_02098FAC:
- mov r0, r4
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
- .balign 4
-_02098FBC: .word 0x021D3498
-_02098FC0: .word 0x021C8CD4
-
- arm_func_start FUN_02098FC4
-FUN_02098FC4: ; 0x02098FC4
- stmdb sp!, {r4-r9,lr}
- sub sp, sp, #0x4
- mov r8, r0
- ldr r7, [r8, #0x4]
- mov r4, #0x0
- ldrsb r0, [r7, #0x73]
- ldr r6, [r7, #0x68]
- mov r1, #0x1
- cmp r0, #0x0
- beq _02098FF4
- cmp r0, #0x4
- movne r1, r4
-_02098FF4:
- cmp r1, #0x0
- beq _02099008
- ldrsh r0, [r7, #0x70]
- ands r0, r0, #0x4
- beq _020990DC
-_02099008:
- ldr r2, [r8, #0x28]
- cmp r2, #0x0
- beq _02099020
- ldrh r0, [r8, #0x24]
- ldrh r1, [r8, #0x26]
- bl FUN_0209CB78
-_02099020:
- ldrsb r1, [r7, #0x73]
- mov r0, #0x1
- cmp r1, #0x0
- beq _02099038
- cmp r1, #0x4
- movne r0, #0x0
-_02099038:
- cmp r0, #0x0
- movne r2, #0x36
- moveq r2, #0x2a
- ldr r0, [r7, #0x4c]
- cmp r1, #0x0
- add r5, r0, r2
- beq _0209905C
- cmp r1, #0x4
- bne _02099070
-_0209905C:
- ldr r0, [r7, #0x48]
- sub r0, r0, r2
- bl FUN_02098F08
- mov r9, r0
- b _02099078
-_02099070:
- ldr r0, [r7, #0x48]
- sub r9, r0, r2
-_02099078:
- mov r0, r5
- mov r1, r9
- mov r2, r8
- bl FUN_02098E64
- mov r1, r0
- cmp r1, #0x0
- ble _020990E0
- mov r0, r5
- bl FUN_0209C030
-_0209909C: ; 0x0209909C
- cmp r0, #0x0
- bgt _020990D4
- ldrsb r0, [r7, #0x73]
- mov r1, #0x1
- cmp r0, #0x0
- beq _020990BC
- cmp r0, #0x4
- movne r1, #0x0
-_020990BC:
- cmp r1, #0x0
- ldrnesh r0, [r7, #0x70]
- mvn r4, #0x4b
- bicne r0, r0, #0xe
- strneh r0, [r7, #0x70]
- b _020990E0
-_020990D4:
- add r4, r4, r0
- b _02099078
-_020990DC:
- mvn r4, #0x4b
-_020990E0:
- ldrh r2, [r8, #0x20]
- add r1, r6, #0x100
- add r0, r6, #0x104
- strh r2, [r1, #0x2]
- bl OS_WakeupThread
- mov r0, r4
- add sp, sp, #0x4
- ldmia sp!, {r4-r9,lr}
- bx lr
-
- arm_func_start FUN_02099104
-FUN_02099104:
- stmdb sp!, {r4-r9,lr}
- sub sp, sp, #0x4
- mov r9, r0
- ldr r6, [r9, #0x68]
- mov r4, r1
- mov r8, r2
- ldr r1, [r6, #0x10c]
- ldr r2, [sp, #0x28]
- ldr r0, _0209929C ; =FUN_02098FC4
- mov r7, r3
- bl FUN_02097A98
- movs r5, r0
- addeq sp, sp, #0x4
- mvneq r0, #0x20
- ldmeqia sp!, {r4-r9,lr}
- bxeq lr
- ldr r0, [sp, #0x28]
- ands r0, r0, #0x1
- beq _02099164
- ldrsb r0, [r9, #0x73]
- cmp r0, #0x1
- movne r0, #0x3
- strneb r0, [r5, #0xd]
- bne _0209916C
-_02099164:
- mov r0, #0x0
- strb r0, [r5, #0xd]
-_0209916C:
- ldr r2, [r6, #0xf8]
- add r1, r7, r8
- cmp r1, r2
- ldr r3, [r6, #0xfc]
- bge _020991A0
- add r0, r3, r7
- str r0, [r5, #0x10]
- str r8, [r5, #0x14]
- mov r0, #0x0
- str r0, [r5, #0x18]
- mov r7, r1
- str r0, [r5, #0x1c]
- b _020991D8
-_020991A0:
- add r0, r3, r7
- str r0, [r5, #0x10]
- sub r0, r2, r7
- str r0, [r5, #0x14]
- str r3, [r5, #0x18]
- ldr r0, [r5, #0x14]
- sub r0, r8, r0
- str r0, [r5, #0x1c]
- ldr r7, [r5, #0x1c]
- ldr r0, [r5, #0x14]
- ldr r1, [r5, #0x18]
- mov r2, r7
- add r0, r4, r0
- bl MI_CpuCopy8
-_020991D8:
- ldr r1, [r5, #0x10]
- ldr r2, [r5, #0x14]
- mov r0, r4
- bl MI_CpuCopy8
- add r0, r6, #0x100
- ldrh r4, [r0, #0x0]
- strh r7, [r5, #0x20]
- ldrh r1, [r5, #0x20]
- strh r1, [r0, #0x0]
- ldrsb r0, [r9, #0x73]
- cmp r0, #0x1
- bne _02099268
- ldrh r0, [r9, #0x74]
- cmp r0, #0x0
- bne _02099224
- bl FUN_0209CC8C
- strh r0, [r9, #0x74]
- ldrh r0, [r9, #0x74]
- strh r0, [r9, #0xa]
-_02099224:
- ldrh r0, [r9, #0x74]
- strh r0, [r5, #0x24]
- ldr r1, [r9, #0x78]
- cmp r1, #0x0
- beq _02099244
- ldr r0, [sp, #0x24]
- cmp r0, #0x0
- beq _02099258
-_02099244:
- ldr r1, [sp, #0x24]
- ldrh r0, [sp, #0x20]
- str r1, [r5, #0x28]
- strh r0, [r5, #0x26]
- b _02099270
-_02099258:
- str r1, [r5, #0x28]
- ldrh r0, [r9, #0x76]
- strh r0, [r5, #0x26]
- b _02099270
-_02099268:
- mov r0, #0x0
- str r0, [r5, #0x28]
-_02099270:
- ldr r0, [r6, #0x10c]
- mov r1, r5
- bl FUN_02097948
-_0209927C: ; 0x0209927C
- cmp r0, #0x0
- addne r0, r6, #0x100
- movne r8, #0x0
- strneh r4, [r0, #0x0]
- mov r0, r8
- add sp, sp, #0x4
- ldmia sp!, {r4-r9,lr}
- bx lr
- .balign 4
-_0209929C: .word FUN_02098FC4
-
- arm_func_start FUN_020992A0
-FUN_020992A0:
- ldr r2, [r0, #0x68]
- add r0, r2, #0x100
- ldrh r1, [r0, #0x0]
- ldrh r0, [r0, #0x2]
- ldr r2, [r2, #0xf8]
- sub r0, r0, r1
- subs r0, r0, #0x1
- addmi r0, r0, r2
- bx lr
-
- arm_func_start FUN_020992C4
-FUN_020992C4: ; 0x020992C4
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0x4
- mov r10, r0
- mov r9, r1
- mov r8, r2
- cmp r8, r9
- mov r11, r3
- ldr r7, [r10, #0x68]
- movgt r8, r9
- bl OS_DisableInterrupts
- ldr r1, [sp, #0x28]
- str r0, [sp, #0x0]
- and r5, r1, #0x1
- add r4, r7, #0x104
-_020992FC:
- mov r0, r10
- bl FUN_020992A0
- mov r6, r0
- cmp r6, r8
- blt _02099328
- add r0, r7, #0x100
- ldrh r0, [r0, #0x0]
- cmp r6, r9
- movge r6, r9
- str r0, [r11, #0x0]
- b _02099340
-_02099328:
- cmp r5, #0x0
- moveq r6, #0x0
- beq _02099340
- mov r0, r4
- bl OS_SleepThread
- b _020992FC
-_02099340:
- ldr r0, [sp, #0x0]
- bl OS_RestoreInterrupts
- mov r0, r6
- add sp, sp, #0x4
- ldmia sp!, {r4-r11,lr}
- bx lr
-
- arm_func_start FUN_02099358
-FUN_02099358: ; 0x02099358
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0x1c
- mov r10, r0
- ldr r4, [r10, #0x68]
- ldrsb r0, [r10, #0x73]
- ldr r4, [r4, #0x10c]
- mov r9, r1
- cmp r0, #0x1
- ldr r0, [r4, #0x48]
- mov r8, r2
- str r3, [sp, #0xc]
- ldr r7, [sp, #0x40]
- ldr r6, [sp, #0x44]
- mov r4, #0x0
- bne _020993B4
- sub r0, r0, #0x2a
- cmp r8, r0
- addgt sp, sp, #0x1c
- mvngt r0, #0x22
- ldmgtia sp!, {r4-r11,lr}
- bxgt lr
- str r8, [sp, #0x10]
- b _020993C4
-_020993B4:
- sub r0, r0, #0x36
- str r0, [sp, #0x10]
- cmp r8, r0
- strle r8, [sp, #0x10]
-_020993C4:
- cmp r8, #0x0
- ble _02099460
- and r11, r6, #0x1
-_020993D0:
- ldr r2, [sp, #0x10]
- mov r0, r10
- mov r1, r8
- add r3, sp, #0x14
- str r6, [sp, #0x0]
- bl FUN_020992C4
- mov r5, r0
- cmp r5, #0x0
- ble _02099438
- ldr r0, [sp, #0xc]
- mov r1, r9
- str r0, [sp, #0x0]
- str r7, [sp, #0x4]
- str r6, [sp, #0x8]
- ldr r3, [sp, #0x14]
- mov r0, r10
- mov r2, r5
- bl FUN_02099104
-_02099418: ; 0x02099418
- cmp r0, #0x0
- addle sp, sp, #0x1c
- mvnle r0, #0x5
- ldmleia sp!, {r4-r11,lr}
- bxle lr
- add r9, r9, r5
- sub r8, r8, r5
- add r4, r4, r5
-_02099438:
- cmp r11, #0x0
- bne _02099458
- cmp r5, #0x0
- bgt _02099460
- add sp, sp, #0x1c
- mvn r0, #0x5
- ldmia sp!, {r4-r11,lr}
- bx lr
-_02099458:
- cmp r8, #0x0
- bgt _020993D0
-_02099460:
- mov r0, r4
- add sp, sp, #0x1c
- ldmia sp!, {r4-r11,lr}
- bx lr
-
- arm_func_start FUN_02099470
-FUN_02099470: ; 0x02099470
- stmdb sp!, {r4-r8,lr}
- sub sp, sp, #0x8
- mov r8, r0
- mov r7, r1
- mov r6, r2
- mov r5, r3
- bl FUN_02099FA8
-_0209948C: ; 0x0209948C
- cmp r0, #0x0
- addne sp, sp, #0x8
- mvnne r0, #0x1b
- ldmneia sp!, {r4-r8,lr}
- bxne lr
- cmp r8, #0x0
- mov r1, #0x0
- beq _020994B8
- ldrsh r0, [r8, #0x70]
- ands r0, r0, #0x1
- movne r1, #0x1
-_020994B8:
- cmp r1, #0x0
- addeq sp, sp, #0x8
- mvneq r0, #0x26
- ldmeqia sp!, {r4-r8,lr}
- bxeq lr
- ldrsb r0, [r8, #0x73]
- mov r1, #0x1
- cmp r0, #0x0
- beq _020994E4
- cmp r0, #0x4
- movne r1, #0x0
-_020994E4:
- cmp r1, #0x0
- beq _02099514
- ldrsh r0, [r8, #0x70]
- ands r0, r0, #0x4
- beq _02099504
- ldrsh r0, [r8, #0x70]
- ands r0, r0, #0x8
- beq _02099514
-_02099504:
- add sp, sp, #0x8
- mvn r0, #0x37
- ldmia sp!, {r4-r8,lr}
- bx lr
-_02099514:
- ldr r0, [sp, #0x24]
- ldr r4, [r8, #0x68]
- ands r0, r0, #0x4
- bne _02099530
- ldrsb r0, [r8, #0x72]
- cmp r0, #0x0
- bne _02099554
-_02099530:
- add r0, r4, #0xe0
- bl OS_TryLockMutex
-_02099538: ; 0x02099538
- cmp r0, #0x0
- addeq sp, sp, #0x8
- mvneq r0, #0x5
- ldmeqia sp!, {r4-r8,lr}
- bxeq lr
- mov r12, #0x0
- b _02099560
-_02099554:
- add r0, r4, #0xe0
- bl OS_LockMutex
- mov r12, #0x1
-_02099560:
- ldr r1, [sp, #0x20]
- mov r0, r8
- str r1, [sp, #0x0]
- mov r1, r7
- mov r2, r6
- mov r3, r5
- str r12, [sp, #0x4]
- bl FUN_02099358
- mov r5, r0
- add r0, r4, #0xe0
- bl OS_UnlockMutex
- mov r0, r5
- add sp, sp, #0x8
- ldmia sp!, {r4-r8,lr}
- bx lr
-
- arm_func_start FUN_0209959C
-FUN_0209959C: ; 0x0209959C
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r0, [r0, #0x4]
- mov r1, #0x1
- ldrsb r0, [r0, #0x73]
- cmp r0, #0x0
- beq _020995C0
- cmp r0, #0x4
- movne r1, #0x0
-_020995C0:
- cmp r1, #0x0
- beq _020995CC
- bl FUN_0209C840
-_020995CC:
- mov r0, #0x0
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-
- arm_func_start FUN_020995DC
-FUN_020995DC: ; 0x020995DC
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r4, r0
- bl FUN_02099FA8
-_020995EC: ; 0x020995EC
- cmp r0, #0x0
- addne sp, sp, #0x4
- mvnne r0, #0x1b
- ldmneia sp!, {r4-r5,lr}
- bxne lr
- cmp r4, #0x0
- mov r1, #0x0
- beq _02099618
- ldrsh r0, [r4, #0x70]
- ands r0, r0, #0x1
- movne r1, #0x1
-_02099618:
- cmp r1, #0x0
- addeq sp, sp, #0x4
- mvneq r0, #0x26
- ldmeqia sp!, {r4-r5,lr}
- bxeq lr
- ldrsh r0, [r4, #0x70]
- ands r0, r0, #0x4
- beq _02099644
- ldrsh r0, [r4, #0x70]
- ands r0, r0, #0x8
- beq _02099654
-_02099644:
- add sp, sp, #0x4
- mvn r0, #0x37
- ldmia sp!, {r4-r5,lr}
- bx lr
-_02099654:
- ldrsh r0, [r4, #0x70]
- orr r0, r0, #0x8
- strh r0, [r4, #0x70]
- ldr r5, [r4, #0x68]
- cmp r5, #0x0
- beq _020996AC
- ldr r1, [r5, #0x10c]
- cmp r1, #0x0
- beq _020996AC
- ldrsb r2, [r4, #0x72]
- ldr r0, _020996BC ; =FUN_0209959C
- bl FUN_02097A98
- movs r1, r0
- addeq sp, sp, #0x4
- mvneq r0, #0x20
- ldmeqia sp!, {r4-r5,lr}
- bxeq lr
- ldr r0, [r5, #0x10c]
- bl FUN_02097948
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
-_020996AC:
- mov r0, #0x0
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
- .balign 4
-_020996BC: .word FUN_0209959C
-
- arm_func_start FUN_020996C0
-FUN_020996C0: ; 0x020996C0
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- bl OS_DisableInterrupts
- ldr r4, _02099704 ; =0x021C8D34
- mov r5, r0
- ldr r0, [r4, #0x0]
- cmp r0, #0x0
- beq _020996F0
-_020996E0:
- bl FUN_020997B8
-_020996E4: ; 0x020996E4
- ldr r0, [r4, #0x0]
- cmp r0, #0x0
- bne _020996E0
-_020996F0:
- mov r0, r5
- bl OS_RestoreInterrupts
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
- .balign 4
-_02099704: .word 0x021C8D34
-
- arm_func_start FUN_02099708
-FUN_02099708: ; 0x02099708
- stmdb sp!, {r4-r8,lr}
- sub sp, sp, #0x8
- movs r8, r0
- addeq sp, sp, #0x8
- ldmeqia sp!, {r4-r8,lr}
- bxeq lr
- add r0, r8, #0x20
- bl OS_JoinThread
- bl OS_DisableInterrupts
- mov r7, r0
- bl OS_DisableScheduler
- add r1, sp, #0x0
- mov r0, r8
- mov r2, #0x0
- bl OS_ReceiveMessage
-_02099744: ; 0x02099744
- cmp r0, #0x0
- beq _0209979C
- add r4, sp, #0x0
- mvn r6, #0xa
- mov r5, #0x0
-_02099758:
- ldr r0, [sp, #0x0]
- cmp r0, #0x0
- beq _02099784
- ldr r0, [r0, #0x8]
- cmp r0, #0x0
- beq _0209977C
- mov r1, r6
- mov r2, r5
- bl OS_SendMessage
-_0209977C:
- ldr r0, [sp, #0x0]
- bl FUN_02097A64
-_02099784:
- mov r0, r8
- mov r1, r4
- mov r2, r5
- bl OS_ReceiveMessage
-_02099794: ; 0x02099794
- cmp r0, #0x0
- bne _02099758
-_0209979C:
- bl OS_EnableScheduler
- bl OS_RescheduleThread
- mov r0, r7
- bl OS_RestoreInterrupts
- add sp, sp, #0x8
- ldmia sp!, {r4-r8,lr}
- bx lr
-
- arm_func_start FUN_020997B8
-FUN_020997B8:
- stmdb sp!, {r4-r6,lr}
- movs r4, r0
- ldmeqia sp!, {r4-r6,lr}
- bxeq lr
- mov r0, #0x0
- strh r0, [r4, #0x70]
- ldrsb r1, [r4, #0x73]
- mov r2, #0x1
- cmp r1, #0x0
- beq _020997E8
- cmp r1, #0x4
- movne r2, r0
-_020997E8:
- cmp r2, #0x0
- beq _02099804
- ldr r0, [r4, #0x68]
- bl FUN_02099708
- ldr r0, [r4, #0x64]
- bl FUN_02099708
- b _02099884
-_02099804:
- cmp r1, #0x1
- bne _02099874
- ldr r0, [r4, #0x64]
- ldr r0, [r0, #0x104]
- cmp r0, #0x0
- beq _0209983C
- ldr r5, _020998C0 ; =0x021C8CC0
-_02099820:
- ldr r1, [r5, #0x0]
- ldr r6, [r0, #0x0]
- ldr r1, [r1, #0x1c]
- blx r1
- mov r0, r6
- cmp r6, #0x0
- bne _02099820
-_0209983C:
- ldr r0, [r4, #0x64]
- mov r1, #0x0
- add r0, r0, #0x100
- strh r1, [r0, #0x8]
- ldr r0, [r4, #0x64]
- str r1, [r0, #0x100]
- ldr r0, [r4, #0x64]
- str r1, [r0, #0x104]
- ldr r0, [r4, #0x64]
- add r0, r0, #0x10c
- bl OS_WakeupThread
- ldr r0, [r4, #0x64]
- bl FUN_02099708
- b _02099884
-_02099874:
- cmp r1, #0x2
- bne _02099884
- ldr r0, [r4, #0x68]
- bl FUN_02099708
-_02099884:
- bl OS_DisableInterrupts
- mov r5, r0
- mov r0, r4
- bl FUN_0209A054
- mov r0, r4
- bl FUN_02099FF0
- ldr r1, _020998C0 ; =0x021C8CC0
- mov r0, r4
- ldr r1, [r1, #0x0]
- ldr r1, [r1, #0x1c]
- blx r1
- mov r0, r5
- bl OS_RestoreInterrupts
- ldmia sp!, {r4-r6,lr}
- bx lr
- .balign 4
-_020998C0: .word 0x021C8CC0
-
- arm_func_start FUN_020998C4
-FUN_020998C4: ; 0x020998C4
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- ldr r4, [r0, #0x4]
- mov r1, #0x1
- ldrsb r0, [r4, #0x73]
- cmp r0, #0x0
- beq _020998E8
- cmp r0, #0x4
- movne r1, #0x0
-_020998E8:
- cmp r1, #0x0
- beq _02099908
- ldr r0, [r4, #0x68]
- add r0, r0, #0x20
- bl OS_JoinThread
- bl FUN_0209C840
- bl FUN_0209C7AC
- bl FUN_0209CB24
-_02099908:
- bl FUN_0209CC10
- ldrsh r0, [r4, #0x70]
- mov r1, #0x0
- bic r0, r0, #0x6
- strh r0, [r4, #0x70]
- ldrsb r0, [r4, #0x73]
- cmp r0, #0x2
- ldreq r0, [r4, #0x68]
- ldrne r0, [r4, #0x64]
- bl FUN_020979F8
- bl OS_DisableInterrupts
- mov r5, r0
- mov r0, r4
- bl FUN_0209A054
- mov r0, r4
- bl FUN_0209A06C
- mov r0, r5
- bl OS_RestoreInterrupts
- ldrsh r1, [r4, #0x70]
- mov r0, #0x0
- orr r1, r1, #0x20
- strh r1, [r4, #0x70]
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
-
- arm_func_start FUN_0209996C
-FUN_0209996C: ; 0x0209996C
- stmdb sp!, {r4,lr}
- mov r4, r0
- cmp r4, #0x0
- mvnle r0, #0x1b
- ldmleia sp!, {r4,lr}
- bxle lr
- bl FUN_02099F78
-_02099988: ; 0x02099988
- cmp r0, #0x0
- mvnne r0, #0x19
- ldmneia sp!, {r4,lr}
- bxne lr
- mov r0, r4
- bl FUN_02099FA8
-_020999A0: ; 0x020999A0
- cmp r0, #0x0
- movne r0, #0x0
- ldmneia sp!, {r4,lr}
- bxne lr
- cmp r4, #0x0
- mov r1, #0x0
- beq _020999C8
- ldrsh r0, [r4, #0x70]
- ands r0, r0, #0x1
- movne r1, #0x1
-_020999C8:
- cmp r1, #0x0
- mvneq r0, #0x26
- ldmeqia sp!, {r4,lr}
- bxeq lr
- ldrsh r0, [r4, #0x70]
- ands r0, r0, #0x10
- mvnne r0, #0x19
- ldmneia sp!, {r4,lr}
- bxne lr
- ldrsh r0, [r4, #0x70]
- mov r1, #0x1
- orr r0, r0, #0x18
- strh r0, [r4, #0x70]
- ldrsb r0, [r4, #0x73]
- cmp r0, #0x0
- beq _02099A10
- cmp r0, #0x4
- movne r1, #0x0
-_02099A10:
- cmp r1, #0x0
- beq _02099A24
- ldr r0, [r4, #0x68]
- mov r1, #0x0
- bl FUN_020979F8
-_02099A24:
- ldr r0, _02099A54 ; =FUN_020998C4
- mov r1, r4
- mov r2, #0x1
- bl FUN_02097A98
- mov r1, r0
- mov r2, #0x0
- mov r0, r4
- str r2, [r1, #0x8]
- bl FUN_020979DC
-_02099A48: ; 0x02099A48
- mov r0, #0x0
- ldmia sp!, {r4,lr}
- bx lr
- .balign 4
-_02099A54: .word FUN_020998C4
-
- arm_func_start FUN_02099A58
-FUN_02099A58:
- stmdb sp!, {r4,lr}
- movs r4, r0
- bmi _02099A88
- bl FUN_02099FA8
-_02099A68: ; 0x02099A68
- cmp r0, #0x0
- beq _02099A88
- mov r0, r4
- bl FUN_02099F78
-_02099A78: ; 0x02099A78
- cmp r0, #0x0
- moveq r0, #0x1
- ldmeqia sp!, {r4,lr}
- bxeq lr
-_02099A88:
- mov r0, #0x0
- ldmia sp!, {r4,lr}
- bx lr
-
- arm_func_start FUN_02099A94
-FUN_02099A94: ; 0x02099A94
- stmdb sp!, {r4,lr}
- ldr r0, _02099B10 ; =0x021C8CD0
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- beq _02099AE8
- bl FUN_02099B14
- movs r4, r0
- bne _02099AE0
- ldr r0, _02099B10 ; =0x021C8CD0
- ldr r0, [r0, #0x0]
- bl FUN_0209996C
- ldr r0, _02099B10 ; =0x021C8CD0
- ldr r0, [r0, #0x0]
- bl FUN_02099A58
-_02099ACC: ; 0x02099ACC
- cmp r0, #0x0
- ldrne r0, _02099B10 ; =0x021C8CD0
- movne r1, #0x0
- strne r1, [r0, #0x0]
- mvn r4, #0x19
-_02099AE0:
- bl FUN_020996C0
- b _02099B04
-_02099AE8:
- bl FUN_0209FD34
-_02099AEC: ; 0x02099AEC
- cmp r0, #0x0
- mvneq r4, #0x19
- beq _02099B04
- mov r0, #0x0
- bl FUN_020A87BC
- mov r4, #0x0
-_02099B04:
- mov r0, r4
- ldmia sp!, {r4,lr}
- bx lr
- .balign 4
-_02099B10: .word 0x021C8CD0
-
- arm_func_start FUN_02099B14
-FUN_02099B14: ; 0x02099B14
- stmdb sp!, {r4-r6,lr}
- ldr r4, _02099BBC ; =0x021C8CD0
- ldr r5, _02099BC0 ; =0x021C8D30
-_02099B20:
- bl OS_DisableInterrupts
- ldr r6, [r5, #0x0]
- cmp r6, #0x0
- beq _02099B54
- ldr r2, [r4, #0x0]
-_02099B34:
- cmp r6, r2
- beq _02099B48
- ldrsh r1, [r6, #0x70]
- ands r1, r1, #0x10
- beq _02099B54
-_02099B48:
- ldr r6, [r6, #0x7c]
- cmp r6, #0x0
- bne _02099B34
-_02099B54:
- bl OS_RestoreInterrupts
-_02099B58: ; 0x02099B58
- cmp r6, #0x0
- beq _02099B6C
- mov r0, r6
- bl FUN_0209996C
- b _02099B20
-_02099B6C:
- ldr r0, _02099BC0 ; =0x021C8D30
- ldr r1, [r0, #0x0]
- cmp r1, #0x0
- beq _02099B98
- ldr r0, _02099BBC ; =0x021C8CD0
- ldr r0, [r0, #0x0]
- cmp r1, r0
- bne _02099BB0
- ldr r0, [r1, #0x7c]
- cmp r0, #0x0
- bne _02099BB0
-_02099B98:
- ldr r0, _02099BC4 ; =0x021C8D34
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- moveq r0, #0x0
- ldmeqia sp!, {r4-r6,lr}
- bxeq lr
-_02099BB0:
- mvn r0, #0x19
- ldmia sp!, {r4-r6,lr}
- bx lr
- .balign 4
-_02099BBC: .word 0x021C8CD0
-_02099BC0: .word 0x021C8D30
-_02099BC4: .word 0x021C8D34
-
- arm_func_start FUN_02099BC8
-FUN_02099BC8: ; 0x02099BC8
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- ldr r1, _02099C68 ; =0x021C8CC8
- ldr r0, [r1, #0x0]
- cmp r0, #0x0
- ldreq r0, _02099C6C ; =0x021C8F04
- ldreq r0, [r0, #0x0]
- streq r0, [r1, #0x0]
- bl FUN_02099A94
- mvn r4, #0x19
- cmp r0, r4
- bne _02099C10
- mov r5, #0x64
-_02099BFC:
- mov r0, r5
- bl OS_Sleep
- bl FUN_02099A94
- cmp r0, r4
- beq _02099BFC
-_02099C10:
- bl FUN_02097B14
- movs r4, r0
- bmi _02099C58
- bl FUN_0209FCC4
-_02099C20: ; 0x02099C20
- mov r0, #0x0
- bl FUN_0209FD24
- ldr r0, _02099C70 ; =0x021C8CC0
- ldr r1, [r0, #0x0]
- ldr r0, [r1, #0x28]
- cmp r0, #0x0
- bne _02099C4C
- ldr r0, _02099C74 ; =0x021C8CD4
- ldr r1, [r1, #0x1c]
- ldr r0, [r0, #0x1c]
- blx r1
-_02099C4C:
- ldr r0, _02099C70 ; =0x021C8CC0
- mov r1, #0x0
- str r1, [r0, #0x0]
-_02099C58:
- mov r0, r4
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
- .balign 4
-_02099C68: .word 0x021C8CC8
-_02099C6C: .word 0x021C8F04
-_02099C70: .word 0x021C8CC0
-_02099C74: .word 0x021C8CD4
-
- arm_func_start FUN_02099C78
-FUN_02099C78:
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r0, _02099CE0 ; =0x021C8F04
- ldr r2, [r0, #0x0]
- cmp r2, #0x0
- bne _02099CBC
- ldr r0, _02099CE4 ; =0x021C8CCC
- ldr r0, [r0, #0x0]
- and r0, r0, #0x3
- cmp r0, #0x1
- bne _02099CCC
- bl OS_GetProcMode
- cmp r0, #0x12
- beq _02099CCC
- mov r0, #0xa
- bl OS_Sleep
- b _02099CCC
-_02099CBC:
- ldr r0, _02099CE8 ; =0x021C8CC8
- ldr r1, [r0, #0x0]
- cmp r1, #0x0
- streq r2, [r0, #0x0]
-_02099CCC:
- ldr r0, _02099CE0 ; =0x021C8F04
- ldr r0, [r0, #0x0]
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_02099CE0: .word 0x021C8F04
-_02099CE4: .word 0x021C8CCC
-_02099CE8: .word 0x021C8CC8
-
- arm_func_start FUN_02099CEC
-FUN_02099CEC: ; 0x02099CEC
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r5, r0
- mov r4, r1
- bl FUN_02099C78
-_02099D00: ; 0x02099D00
- cmp r0, #0x0
- ldrne r1, _02099D24 ; =0x021C8F1C
- mvneq r0, #0x26
- movne r0, #0x0
- strne r5, [r1, #0x0]
- strne r4, [r1, #0x4]
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
- .balign 4
-_02099D24: .word 0x021C8F1C
-
- arm_func_start FUN_02099D28
-FUN_02099D28:
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- mov r4, r0
- bl OS_DisableInterrupts
- ldr r1, _02099D84 ; =0x021C8F1C
- mov r5, r0
- ldr r7, [r1, #0x0]
- mov r2, #0x0
- ldr r6, [r1, #0x4]
- mov r0, r4
- str r2, [r1, #0x0]
- str r2, [r1, #0x4]
- bl FUN_0209AB80
- ldr r1, _02099D84 ; =0x021C8F1C
- mov r4, r0
- mov r0, r5
- str r7, [r1, #0x0]
- str r6, [r1, #0x4]
- bl OS_RestoreInterrupts
- mov r0, r4
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,lr}
- bx lr
- .balign 4
-_02099D84: .word 0x021C8F1C
-
- arm_func_start FUN_02099D88
-FUN_02099D88: ; 0x02099D88
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x64
- movs r4, r0
- addeq sp, sp, #0x64
- moveq r0, #0x0
- ldmeqia sp!, {r4-r5,lr}
- bxeq lr
- ldr r1, _02099E34 ; =0x021C8CC0
- mov r0, #0xfd0
- ldr r1, [r1, #0x0]
- ldr r1, [r1, #0x18]
- blx r1
- movs r5, r0
- addeq sp, sp, #0x64
- moveq r0, #0x0
- ldmeqia sp!, {r4-r5,lr}
- bxeq lr
- add r0, sp, #0x0
- mov r1, #0x0
- mov r2, #0x64
- bl MI_CpuFill8
- ldr r3, _02099E38 ; =0x00000B68
- ldr r1, _02099E3C ; =0x00000466
- add r2, r5, r3
- add r0, sp, #0x0
- str r5, [sp, #0x40]
- str r3, [sp, #0x3c]
- str r2, [sp, #0x4c]
- str r1, [sp, #0x48]
- bl FUN_0209CC28
- mov r0, r4
- bl FUN_0209AB80
- mov r4, r0
- bl FUN_0209CC10
- ldr r1, _02099E34 ; =0x021C8CC0
- mov r0, r5
- ldr r1, [r1, #0x0]
- ldr r1, [r1, #0x1c]
- blx r1
- mov r0, r4
- add sp, sp, #0x64
- ldmia sp!, {r4-r5,lr}
- bx lr
- .balign 4
-_02099E34: .word 0x021C8CC0
-_02099E38: .word 0x00000B68
-_02099E3C: .word 0x00000466
-
- arm_func_start FUN_02099E40
-FUN_02099E40:
- ldr r2, [r0, #0x64]
- mov r3, #0x0
- cmp r2, #0x0
- beq _02099E88
- ldrsb r1, [r0, #0x73]
- cmp r1, #0x1
- bne _02099E6C
- ldr r0, [r2, #0x104]
- cmp r0, #0x0
- ldrneh r3, [r0, #0x4]
- b _02099E88
-_02099E6C:
- cmp r1, #0x0
- beq _02099E7C
- cmp r1, #0x4
- bne _02099E88
-_02099E7C:
- ldr r1, [r0, #0x44]
- ldr r0, [r2, #0xf8]
- sub r3, r1, r0
-_02099E88:
- mov r0, r3
- bx lr
-
- arm_func_start FUN_02099E90
-FUN_02099E90:
- stmdb sp!, {r4-r6,lr}
- mov r4, #0x0
- mov r5, r0
- bl FUN_02099FA8
-_02099EA0: ; 0x02099EA0
- cmp r0, #0x0
- orrne r4, r4, #0x80
- bne _02099F60
- ldrsh r0, [r5, #0x70]
- ands r0, r0, #0x40
- ldrsb r0, [r5, #0x73]
- orrne r4, r4, #0x20
- cmp r0, #0x1
- beq _02099ED0
- ldrsh r0, [r5, #0x70]
- ands r0, r0, #0x4
- beq _02099F00
-_02099ED0:
- bl OS_DisableInterrupts
- mov r6, r0
- mov r0, r5
- bl FUN_02099E40
-_02099EE0: ; 0x02099EE0
- cmp r0, #0x0
- mov r0, r5
- orrgt r4, r4, #0x1
- bl FUN_020992A0
-_02099EF0: ; 0x02099EF0
- cmp r0, #0x0
- mov r0, r6
- orrgt r4, r4, #0x8
- bl OS_RestoreInterrupts
-_02099F00:
- ldrsb r0, [r5, #0x73]
- mov r1, #0x1
- cmp r0, #0x0
- beq _02099F18
- cmp r0, #0x4
- movne r1, #0x0
-_02099F18:
- cmp r1, #0x0
- beq _02099F60
- ldrsh r0, [r5, #0x70]
- ands r0, r0, #0x4
- beq _02099F48
- ldrb r0, [r5, #0x8]
- cmp r0, #0x4
- beq _02099F48
- ands r0, r4, #0x1
- ldreqsh r0, [r5, #0x70]
- biceq r0, r0, #0x6
- streqh r0, [r5, #0x70]
-_02099F48:
- ldrsh r0, [r5, #0x70]
- ands r0, r0, #0x2
- bne _02099F60
- ldrsh r0, [r5, #0x70]
- ands r0, r0, #0x4
- orreq r4, r4, #0x40
-_02099F60:
- mov r0, r4
- ldmia sp!, {r4-r6,lr}
- bx lr
-
- arm_func_start FUN_02099F6C
-FUN_02099F6C:
- add r0, r0, #0x3
- bic r0, r0, #0x3
- bx lr
-
- arm_func_start FUN_02099F78
-FUN_02099F78:
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- mov r1, r0
- ldr r0, _02099FA4 ; =0x021C8D34
- bl FUN_0209A008
-_02099F8C: ; 0x02099F8C
- cmp r0, #0x0
- movne r0, #0x1
- moveq r0, #0x0
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_02099FA4: .word 0x021C8D34
-
- arm_func_start FUN_02099FA8
-FUN_02099FA8:
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- mov r1, r0
- cmp r1, #0x0
- ble _02099FCC
- ldr r0, _02099FEC ; =0x021C8D30
- bl FUN_0209A008
-_02099FC4: ; 0x02099FC4
- cmp r0, #0x0
- bne _02099FDC
-_02099FCC:
- add sp, sp, #0x4
- mov r0, #0x1
- ldmia sp!, {lr}
- bx lr
-_02099FDC:
- mov r0, #0x0
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_02099FEC: .word 0x021C8D30
-
- arm_func_start FUN_02099FF0
-FUN_02099FF0: ; 0x02099FF0
- ldr ip, _0209A000 ; =FUN_0209A034
- mov r1, r0
- ldr r0, _0209A004 ; =0x021C8D34
- bx r12
- .balign 4
-_0209A000: .word FUN_0209A034
-_0209A004: .word 0x021C8D34
-
- arm_func_start FUN_0209A008
-FUN_0209A008:
- ldr r2, [r0, #0x0]
- cmp r2, #0x0
- beq _0209A02C
-_0209A014:
- cmp r2, r1
- bxeq lr
- add r0, r2, #0x7c
- ldr r2, [r2, #0x7c]
- cmp r2, #0x0
- bne _0209A014
-_0209A02C:
- mov r0, #0x0
- bx lr
-
- arm_func_start FUN_0209A034
-FUN_0209A034: ; 0x0209A034
- stmdb sp!, {r4,lr}
- mov r4, r1
- bl FUN_0209A008
-_0209A040: ; 0x0209A040
- cmp r0, #0x0
- ldrne r1, [r4, #0x7c]
- strne r1, [r0, #0x0]
- ldmia sp!, {r4,lr}
- bx lr
-
- arm_func_start FUN_0209A054
-FUN_0209A054: ; 0x0209A054
- ldr ip, _0209A064 ; =FUN_0209A034
- mov r1, r0
- ldr r0, _0209A068 ; =0x021C8D30
- bx r12
- .balign 4
-_0209A064: .word FUN_0209A034
-_0209A068: .word 0x021C8D30
-
- arm_func_start FUN_0209A06C
-FUN_0209A06C: ; 0x0209A06C
- ldr ip, _0209A07C ; =FUN_0209A084
- mov r1, r0
- ldr r0, _0209A080 ; =0x021C8D34
- bx r12
- .balign 4
-_0209A07C: .word FUN_0209A084
-_0209A080: .word 0x021C8D34
-
- arm_func_start FUN_0209A084
-FUN_0209A084: ; 0x0209A084
- ldr r2, [r0, #0x0]
- str r2, [r1, #0x7c]
- str r1, [r0, #0x0]
- bx lr
-
- arm_func_start FUN_0209A094
-FUN_0209A094: ; 0x0209A094
- ldr ip, _0209A0A4 ; =FUN_0209A084
- mov r1, r0
- ldr r0, _0209A0A8 ; =0x021C8D30
- bx r12
- .balign 4
-_0209A0A4: .word FUN_0209A084
-_0209A0A8: .word 0x021C8D30
-
- arm_func_start FUN_0209A0AC
-FUN_0209A0AC: ; 0x0209A0AC
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0xc
- mov r9, r2
- str r0, [sp, #0x0]
- mov r0, #0x1
- str r0, [sp, #0x8]
- mov r0, #0x0
- mov r8, r3
- mvn r2, #0x0
- cmp r8, r2
- cmpeq r9, r2
- movne r11, #0x1
- mov r10, r1
- moveq r11, #0x0
- str r0, [sp, #0x4]
-_0209A0E8:
- ldr r5, [sp, #0x4]
- ldr r7, [sp, #0x0]
- mov r6, r5
- cmp r10, #0x0
- bls _0209A128
-_0209A0FC:
- ldrsh r1, [r7, #0x4]
- ldr r0, [r7, #0x0]
- orr r4, r1, #0xe0
- bl FUN_02099E90
-_0209A10C: ; 0x0209A10C
- ands r0, r4, r0
- strh r0, [r7, #0x6]
- add r6, r6, #0x1
- addne r5, r5, #0x1
- cmp r6, r10
- add r7, r7, #0x8
- blo _0209A0FC
-_0209A128:
- cmp r5, #0x0
- bgt _0209A160
- cmp r11, #0x0
- beq _0209A148
- mov r1, #0x0
- subs r0, r1, r9
- sbcs r0, r1, r8
- bge _0209A160
-_0209A148:
- ldr r0, [sp, #0x8]
- bl OS_Sleep
- ldr r0, _0209A170 ; =0x0000020B
- subs r9, r9, r0
- sbc r8, r8, #0x0
- b _0209A0E8
-_0209A160:
- mov r0, r5
- add sp, sp, #0xc
- ldmia sp!, {r4-r11,lr}
- bx lr
- .balign 4
-_0209A170: .word 0x0000020B
-
- arm_func_start FUN_0209A174
-FUN_0209A174: ; 0x0209A174
- mov r2, r0, lsr #0x18
- strb r2, [r1, #0x0]
- mov r2, r0, lsr #0x10
- strb r2, [r1, #0x1]
- mov r2, r0, lsr #0x8
- strb r2, [r1, #0x2]
- strb r0, [r1, #0x3]
- bx lr
-
- arm_func_start FUN_0209A194
-FUN_0209A194: ; 0x0209A194
- stmdb sp!, {r4,lr}
- sub sp, sp, #0x18
- cmp r0, #0x2
- mov r4, r2
- addne sp, sp, #0x18
- movne r0, #0x0
- ldmneia sp!, {r4,lr}
- bxne lr
- cmp r3, #0x10
- addcc sp, sp, #0x18
- movcc r0, #0x0
- ldmccia sp!, {r4,lr}
- bxcc lr
- mov r0, r1
- add r1, sp, #0xc
- mov r2, #0x4
- bl MI_CpuCopy8
- ldr r0, [sp, #0xc]
- add r1, sp, #0x10
- bl FUN_0209A174
- ldrb r1, [sp, #0x12]
- ldr r2, _0209A220 ; =0x0210620C
- mov r0, r4
- str r1, [sp, #0x0]
- ldrb r3, [sp, #0x11]
- mov r1, #0x10
- str r3, [sp, #0x4]
- ldrb r3, [sp, #0x10]
- str r3, [sp, #0x8]
- ldrb r3, [sp, #0x13]
- bl OS_SNPrintf
- mov r0, r4
- add sp, sp, #0x18
- ldmia sp!, {r4,lr}
- bx lr
- .balign 4
-_0209A220: .word 0x0210620C
-
- arm_func_start FUN_0209A224
-FUN_0209A224: ; 0x0209A224
- stmdb sp!, {r4,lr}
- mov r4, r1
- bl FUN_02099D28
-_0209A230: ; 0x0209A230
- cmp r0, #0x0
- moveq r0, #0x0
- ldmeqia sp!, {r4,lr}
- bxeq lr
- mov r2, r0, lsr #0x18
- mov r1, r0, lsr #0x8
- mov r3, r0, lsl #0x8
- mov r12, r0, lsl #0x18
- and r2, r2, #0xff
- and r0, r1, #0xff00
- and r1, r3, #0xff0000
- orr r0, r2, r0
- and r2, r12, #0xff000000
- orr r0, r1, r0
- orr r0, r2, r0
- str r0, [r4, #0x0]
- mov r0, #0x1
- ldmia sp!, {r4,lr}
- bx lr
-
- arm_func_start FUN_0209A27C
-FUN_0209A27C: ; 0x0209A27C
- stmdb sp!, {r0-r3}
-
- arm_func_start FUN_0209A280
-FUN_0209A280: ; 0x0209A280
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r2, _0209A2B0 ; =0x021C8D5C
- add r1, sp, #0x8
- mov r0, #0x2
- mov r3, #0x10
- bl FUN_0209A194
- ldr r0, _0209A2B0 ; =0x021C8D5C
- add sp, sp, #0x4
- ldmia sp!, {lr}
- add sp, sp, #0x10
- bx lr
- .balign 4
-_0209A2B0: .word 0x021C8D5C
-
- arm_func_start THUNK_FUN_02099BC8
-THUNK_FUN_02099BC8: ; 0x0209A2B4
- ldr ip, _0209A2BC ; =FUN_02099BC8
- bx r12
- .balign 4
-_0209A2BC: .word FUN_02099BC8
-
- arm_func_start FUN_0209A2C0
-FUN_0209A2C0: ; 0x0209A2C0
- stmdb sp!, {r4-r8,lr}
- ldr r1, [r0, #0xc]
- ldr ip, _0209A430 ; =0x021C8D6C
- cmp r1, #0x1
- moveq r1, #0x1
- movne r1, #0x0
- str r1, [r12, #0x0]
- ldr r6, [r0, #0x10]
- ldr r5, _0209A434 ; =FUN_0209A484
- mov r2, r6, lsr #0x18
- mov r1, r6, lsr #0x8
- mov r3, r6, lsl #0x8
- and r2, r2, #0xff
- and r1, r1, #0xff00
- mov r6, r6, lsl #0x18
- orr r1, r2, r1
- and r3, r3, #0xff0000
- orr r1, r3, r1
- and r2, r6, #0xff000000
- orr r1, r2, r1
- str r1, [r12, #0x4]
- ldr r7, [r0, #0x14]
- ldr r4, _0209A438 ; =FUN_0209A444
- mov r2, r7, lsr #0x18
- mov r1, r7, lsr #0x8
- mov r6, r7, lsl #0x8
- and r2, r2, #0xff
- and r1, r1, #0xff00
- mov r7, r7, lsl #0x18
- orr r1, r2, r1
- and r6, r6, #0xff0000
- and r2, r7, #0xff000000
- orr r1, r6, r1
- orr r1, r2, r1
- str r1, [r12, #0x8]
- ldr r1, [r0, #0x18]
- ldr r3, _0209A43C ; =0x021C8D40
- mov r7, r1, lsr #0x18
- mov r6, r1, lsr #0x8
- mov r8, r1, lsl #0x8
- and r7, r7, #0xff
- and r6, r6, #0xff00
- mov r1, r1, lsl #0x18
- orr r6, r7, r6
- and r8, r8, #0xff0000
- and r7, r1, #0xff000000
- orr r1, r8, r6
- orr r1, r7, r1
- str r1, [r12, #0xc]
- ldr r1, [r0, #0x1c]
- ldr r2, _0209A440 ; =0x021C8D3C
- mov r7, r1, lsr #0x18
- mov r6, r1, lsr #0x8
- mov r8, r1, lsl #0x8
- and r7, r7, #0xff
- and r6, r6, #0xff00
- mov r1, r1, lsl #0x18
- orr r6, r7, r6
- and r8, r8, #0xff0000
- and r7, r1, #0xff000000
- orr r1, r8, r6
- orr r1, r7, r1
- str r1, [r12, #0x10]
- ldr r1, [r0, #0x20]
- mov lr, #0x40
- mov r7, r1, lsr #0x18
- mov r6, r1, lsr #0x8
- mov r8, r1, lsl #0x8
- and r7, r7, #0xff
- and r6, r6, #0xff00
- mov r1, r1, lsl #0x18
- orr r6, r7, r6
- and r8, r8, #0xff0000
- and r7, r1, #0xff000000
- orr r1, r8, r6
- orr r1, r7, r1
- str r5, [r12, #0x18]
- str r4, [r12, #0x1c]
- str r1, [r12, #0x14]
- ldr r1, [r0, #0x4]
- str r1, [r3, #0x0]
- ldr r1, [r0, #0x8]
- str lr, [r12, #0x20]
- str r1, [r2, #0x0]
- ldr r1, [r0, #0x2c]
- str r1, [r12, #0x30]
- ldr r1, [r0, #0x30]
- mov r0, r12
- str r1, [r12, #0x34]
- bl FUN_02097834
- ldmia sp!, {r4-r8,lr}
- bx lr
- .balign 4
-_0209A430: .word 0x021C8D6C
-_0209A434: .word FUN_0209A484
-_0209A438: .word FUN_0209A444
-_0209A43C: .word 0x021C8D40
-_0209A440: .word 0x021C8D3C
-
- arm_func_start FUN_0209A444
-FUN_0209A444: ; 0x0209A444
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- cmp r0, #0x0
- addeq sp, sp, #0x4
- ldmeqia sp!, {lr}
- bxeq lr
- ldr r1, _0209A480 ; =0x021C8D3C
- ldr r2, [r0, #-0x4]
- ldr r3, [r1, #0x0]
- sub r1, r0, #0x4
- mov r0, #0x0
- blx r3
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_0209A480: .word 0x021C8D3C
-
- arm_func_start FUN_0209A484
-FUN_0209A484: ; 0x0209A484
- stmdb sp!, {r4,lr}
- ldr r1, _0209A4B0 ; =0x021C8D40
- add r4, r0, #0x4
- ldr r2, [r1, #0x0]
- mov r1, r4
- mov r0, #0x0
- blx r2
- cmp r0, #0x0
- strne r4, [r0], #0x4
- ldmia sp!, {r4,lr}
- bx lr
- .balign 4
-_0209A4B0: .word 0x021C8D40
-
- arm_func_start FUN_0209A4B4
-FUN_0209A4B4: ; 0x0209A4B4
- cmp r0, #0x0
- mvneq r0, #0x0
- bxeq lr
- cmp r1, #0x3
- beq _0209A4D4
- cmp r1, #0x4
- beq _0209A4E8
- b _0209A4FC
-_0209A4D4:
- ldrsb r0, [r0, #0x72]
- cmp r0, #0x1
- moveq r0, #0x0
- movne r0, #0x4
- bx lr
-_0209A4E8:
- ands r1, r2, #0x4
- movne r1, #0x0
- strneb r1, [r0, #0x72]
- moveq r1, #0x1
- streqb r1, [r0, #0x72]
-_0209A4FC:
- mov r0, #0x0
- bx lr
-
- arm_func_start FUN_0209A504
-FUN_0209A504: ; 0x0209A504
- stmdb sp!, {r4,lr}
- sub sp, sp, #0x8
- mov r4, r1
- add r1, sp, #0x0
- add r2, sp, #0x4
- bl FUN_02098120
-_0209A51C: ; 0x0209A51C
- cmp r0, #0x0
- addlt sp, sp, #0x8
- ldmltia sp!, {r4,lr}
- bxlt lr
- ldrh r1, [sp, #0x0]
- mov r2, r1, asr #0x8
- mov r1, r1, lsl #0x8
- and r2, r2, #0xff
- and r1, r1, #0xff00
- orr r1, r2, r1
- strh r1, [r4, #0x2]
- ldr r12, [sp, #0x4]
- mov r2, r12, lsr #0x18
- mov r1, r12, lsr #0x8
- mov r3, r12, lsl #0x8
- mov r12, r12, lsl #0x18
- and r2, r2, #0xff
- and r1, r1, #0xff00
- and r3, r3, #0xff0000
- orr r1, r2, r1
- and r2, r12, #0xff000000
- orr r1, r3, r1
- orr r1, r2, r1
- str r1, [r4, #0x4]
- add sp, sp, #0x8
- ldmia sp!, {r4,lr}
- bx lr
-
- arm_func_start FUN_0209A588
-FUN_0209A588: ; 0x0209A588
- ldr ip, _0209A590 ; =FUN_0209822C
- bx r12
- .balign 4
-_0209A590: .word FUN_0209822C
-
- arm_func_start FUN_0209A594
-FUN_0209A594: ; 0x0209A594
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- ldr r12, [r1, #0x0]
- ldr r0, [r0, #0x0]
- mov r2, r12, lsr #0x18
- mov r4, r0, lsr #0x18
- mov lr, r0, lsr #0x8
- mov r1, r12, lsr #0x8
- mov r5, r0, lsl #0x8
- mov r3, r12, lsl #0x8
- mov r0, r0, lsl #0x18
- mov r12, r12, lsl #0x18
- and r4, r4, #0xff
- and lr, lr, #0xff00
- and r2, r2, #0xff
- and r1, r1, #0xff00
- and r5, r5, #0xff0000
- orr r4, r4, lr
- and r3, r3, #0xff0000
- orr r1, r2, r1
- and lr, r0, #0xff000000
- orr r0, r5, r4
- and r2, r12, #0xff000000
- orr r1, r3, r1
- orr r0, lr, r0
- orr r1, r2, r1
- bl FUN_02099CEC
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
-
- arm_func_start FUN_0209A60C
-FUN_0209A60C: ; 0x0209A60C
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- bl FUN_02099C78
- mov r2, r0, lsr #0x18
- mov r1, r0, lsr #0x8
- mov r3, r0, lsl #0x8
- mov r12, r0, lsl #0x18
- and r2, r2, #0xff
- and r0, r1, #0xff00
- and r1, r3, #0xff0000
- orr r0, r2, r0
- and r2, r12, #0xff000000
- orr r0, r1, r0
- orr r0, r2, r0
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-
- arm_func_start FUN_0209A650
-FUN_0209A650: ; 0x0209A650
- stmdb sp!, {r4-r6,lr}
- movs r5, r0
- mov r4, r1
- mvneq r0, #0x26
- ldmeqia sp!, {r4-r6,lr}
- bxeq lr
- bl FUN_02099C78
-_0209A66C: ; 0x0209A66C
- cmp r5, #0x0
- ldrneh r1, [r5, #0x74]
- mov r2, r0, lsr #0x18
- mov r6, #0x8
- moveq r1, #0x0
- cmp r0, #0x0
- moveq r1, #0x0
- mov r1, r1, lsl #0x10
- mov r3, r1, lsr #0x10
- mov r5, r3, asr #0x8
- mov lr, r3, lsl #0x8
- strb r6, [r4, #0x0]
- mov r6, #0x2
- mov r1, r0, lsr #0x8
- mov r3, r0, lsl #0x8
- mov r12, r0, lsl #0x18
- and r0, r1, #0xff00
- and r2, r2, #0xff
- orr r0, r2, r0
- and r1, r3, #0xff0000
- and r5, r5, #0xff
- and lr, lr, #0xff00
- strb r6, [r4, #0x1]
- orr r3, r5, lr
- and r2, r12, #0xff000000
- orr r0, r1, r0
- strh r3, [r4, #0x2]
- orr r0, r2, r0
- str r0, [r4, #0x4]
- mov r0, #0x0
- ldmia sp!, {r4-r6,lr}
- bx lr
-
- arm_func_start FUN_0209A6EC
-FUN_0209A6EC: ; 0x0209A6EC
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r5, r0
- bl FUN_02099D88
- movs r4, r0
- addeq sp, sp, #0x4
- moveq r0, #0x0
- ldmeqia sp!, {r4-r5,lr}
- bxeq lr
- ldr r0, _0209A7A4 ; =0x021C8DA4
- ldr r2, _0209A7A8 ; =0x00000101
- mov r1, #0x0
- bl MI_CpuFill8
- ldr r0, _0209A7A4 ; =0x021C8DA4
- ldr r2, _0209A7A8 ; =0x00000101
- mov r1, r5
- bl STD_CopyLString
- mov r1, r4, lsr #0x18
- mov r0, r4, lsr #0x8
- mov r2, r4, lsl #0x8
- mov r3, r4, lsl #0x18
- and r1, r1, #0xff
- and r0, r0, #0xff00
- and r2, r2, #0xff0000
- orr r0, r1, r0
- and r3, r3, #0xff000000
- orr r1, r2, r0
- ldr r5, _0209A7A4 ; =0x021C8DA4
- ldr r0, _0209A7AC ; =0x021C8D4C
- ldr ip, _0209A7B0 ; =0x021C8D44
- mov r4, #0x0
- ldr r2, _0209A7B4 ; =0x021C8D38
- orr r1, r3, r1
- mov lr, #0x2
- mov r3, #0x4
- str r5, [r0, #0x0]
- str r4, [r0, #0x4]
- strh lr, [r0, #0x8]
- strh r3, [r0, #0xa]
- str r12, [r0, #0xc]
- str r2, [r12, #0x0]
- str r4, [r12, #0x4]
- str r1, [r2, #0x0]
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
- .balign 4
-_0209A7A4: .word 0x021C8DA4
-_0209A7A8: .word 0x00000101
-_0209A7AC: .word 0x021C8D4C
-_0209A7B0: .word 0x021C8D44
-_0209A7B4: .word 0x021C8D38
-
- arm_func_start thunk_FUN_0209996c
-thunk_FUN_0209996c: ; 0x0209A7B8
- ldr ip, _0209A7C0 ; =FUN_0209996C
- bx r12
- .balign 4
-_0209A7C0: .word FUN_0209996C
-
- arm_func_start thunk_FUN_020995dc
-thunk_FUN_020995dc: ; 0x0209A7C4
- ldr ip, _0209A7CC ; =FUN_020995DC
- bx r12
- .balign 4
-_0209A7CC: .word FUN_020995DC
-
- arm_func_start FUN_0209A7D0
-FUN_0209A7D0: ; 0x0209A7D0
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0xc
- ldr r5, [sp, #0x20]
- cmp r5, #0x0
- moveq r5, #0x0
- moveq r4, r5
- beq _0209A83C
- ldrh r4, [r5, #0x2]
- ldr r6, [r5, #0x4]
- mov r7, r4, asr #0x8
- mov r12, r4, lsl #0x8
- mov r4, r6, lsr #0x18
- mov lr, r6, lsr #0x8
- mov r5, r6, lsl #0x8
- mov r6, r6, lsl #0x18
- and r7, r7, #0xff
- and r12, r12, #0xff00
- orr r7, r7, r12
- and r4, r4, #0xff
- and lr, lr, #0xff00
- and r5, r5, #0xff0000
- orr r4, r4, lr
- mov r12, r7, lsl #0x10
- orr r4, r5, r4
- and r6, r6, #0xff000000
- mov r5, r12, lsr #0x10
- orr r4, r6, r4
-_0209A83C:
- str r4, [sp, #0x0]
- str r3, [sp, #0x4]
- mov r3, r5
- bl FUN_02099470
- add sp, sp, #0xc
- ldmia sp!, {r4-r7,lr}
- bx lr
-
- arm_func_start FUN_0209A858
-FUN_0209A858: ; 0x0209A858
- stmdb sp!, {lr}
- sub sp, sp, #0xc
- mov r12, #0x0
- str r12, [sp, #0x0]
- str r3, [sp, #0x4]
- mov r3, r12
- bl FUN_02099470
- add sp, sp, #0xc
- ldmia sp!, {lr}
- bx lr
-
- arm_func_start FUN_0209A880
-FUN_0209A880: ; 0x0209A880
- stmdb sp!, {lr}
- sub sp, sp, #0x14
- add r12, sp, #0xc
- str r12, [sp, #0x0]
- str r3, [sp, #0x4]
- add r3, sp, #0x8
- bl FUN_02098CF4
-_0209A89C: ; 0x0209A89C
- cmp r0, #0x0
- addlt sp, sp, #0x14
- ldmltia sp!, {lr}
- bxlt lr
- ldr r1, [sp, #0x18]
- cmp r1, #0x0
- addeq sp, sp, #0x14
- ldmeqia sp!, {lr}
- bxeq lr
- ldrh r2, [sp, #0x8]
- mov r3, r2, asr #0x8
- mov r2, r2, lsl #0x8
- and r3, r3, #0xff
- and r2, r2, #0xff00
- orr r2, r3, r2
- strh r2, [r1, #0x2]
- ldr lr, [sp, #0xc]
- mov r3, lr, lsr #0x18
- mov r2, lr, lsr #0x8
- mov r12, lr, lsl #0x8
- mov lr, lr, lsl #0x18
- and r3, r3, #0xff
- and r2, r2, #0xff00
- and r12, r12, #0xff0000
- orr r2, r3, r2
- and r3, lr, #0xff000000
- orr r2, r12, r2
- orr r2, r3, r2
- str r2, [r1, #0x4]
- add sp, sp, #0x14
- ldmia sp!, {lr}
- bx lr
-
- arm_func_start FUN_0209A91C
-FUN_0209A91C: ; 0x0209A91C
- stmdb sp!, {lr}
- sub sp, sp, #0xc
- mov r12, #0x0
- str r12, [sp, #0x0]
- str r3, [sp, #0x4]
- mov r3, r12
- bl FUN_02098CF4
- add sp, sp, #0xc
- ldmia sp!, {lr}
- bx lr
-
- arm_func_start FUN_0209A944
-FUN_0209A944: ; 0x0209A944
- stmdb sp!, {r4,lr}
- ldrh r2, [r1, #0x2]
- ldr lr, [r1, #0x4]
- mov r4, r2, asr #0x8
- mov r1, r2, lsl #0x8
- mov r3, lr, lsr #0x18
- mov r2, lr, lsr #0x8
- mov r12, lr, lsl #0x8
- mov lr, lr, lsl #0x18
- and r4, r4, #0xff
- and r1, r1, #0xff00
- orr r1, r4, r1
- mov r1, r1, lsl #0x10
- and r3, r3, #0xff
- and r2, r2, #0xff00
- and r12, r12, #0xff0000
- orr r2, r3, r2
- and r3, lr, #0xff000000
- orr r2, r12, r2
- mov r1, r1, lsr #0x10
- orr r2, r3, r2
- bl FUN_020983B0
- ldmia sp!, {r4,lr}
- bx lr
-
- arm_func_start FUN_0209A9A4
-FUN_0209A9A4: ; 0x0209A9A4
- ldrh r1, [r1, #0x2]
- ldr ip, _0209A9CC ; =FUN_020984B4
- mov r2, r1, asr #0x8
- mov r1, r1, lsl #0x8
- and r2, r2, #0xff
- and r1, r1, #0xff00
- orr r1, r2, r1
- mov r1, r1, lsl #0x10
- mov r1, r1, lsr #0x10
- bx r12
- .balign 4
-_0209A9CC: .word FUN_020984B4
-
- arm_func_start FUN_0209A9D0
-FUN_0209A9D0: ; 0x0209A9D0
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- cmp r1, #0x1
- bne _0209A9F4
- ldr r0, _0209AA08 ; =0x021061DC
- bl FUN_02097F70
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-_0209A9F4:
- ldr r0, _0209AA0C ; =0x021061C4
- bl FUN_02097F70
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_0209AA08: .word 0x021061DC
-_0209AA0C: .word 0x021061C4
-
- arm_func_start FUN_0209AA10
-FUN_0209AA10: ; 0x0209AA10
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- mov r7, r0
- ldr r6, [r7, #0x4]
- ldr r5, [r6, #0x64]
- add r0, r5, #0xe0
- ldr r4, [r5, #0xc4]
- bl OS_LockMutex
- ldr r1, [r7, #0x10]
- cmp r1, #0x0
- beq _0209AA54
- mov r0, #0x1
- str r1, [r4, #0xc]
- bl FUN_020A02EC
- mov r0, #0x4
- strb r0, [r6, #0x73]
- b _0209AA68
-_0209AA54:
- mov r0, #0x0
- strb r0, [r6, #0x73]
- bl FUN_020A02EC
-_0209AA60: ; 0x0209AA60
- mov r0, #0x0
- str r0, [r4, #0xc]
-_0209AA68:
- add r0, r5, #0xe0
- bl OS_UnlockMutex
-_0209AA70: ; 0x0209AA70
- mov r0, #0x0
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,lr}
- bx lr
-
- arm_func_start FUN_0209AA80
-FUN_0209AA80: ; 0x0209AA80
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r5, r0
- mov r4, r1
- ldr r0, _0209AACC ; =FUN_0209AA10
- mov r1, r5
- mov r2, #0x1
- bl FUN_02097A98
- movs r1, r0
- addeq sp, sp, #0x4
- mvneq r0, #0x20
- ldmeqia sp!, {r4-r5,lr}
- bxeq lr
- mov r0, r5
- str r4, [r1, #0x10]
- bl FUN_02097958
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
- .balign 4
-_0209AACC: .word FUN_0209AA10
-
- arm_func_start FUN_0209AAD0
-FUN_0209AAD0: ; 0x0209AAD0
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r5, r0
- mov r4, r1
- bl FUN_02099FA8
-_0209AAE4: ; 0x0209AAE4
- cmp r0, #0x0
- addne sp, sp, #0x4
- mvnne r0, #0x1b
- ldmneia sp!, {r4-r5,lr}
- bxne lr
- ldrsb r0, [r5, #0x73]
- mov r1, #0x1
- cmp r0, #0x0
- beq _0209AB10
- cmp r0, #0x4
- movne r1, #0x0
-_0209AB10:
- cmp r1, #0x0
- addeq sp, sp, #0x4
- mvneq r0, #0x1b
- ldmeqia sp!, {r4-r5,lr}
- bxeq lr
- cmp r5, #0x0
- mov r1, #0x0
- beq _0209AB3C
- ldrsh r0, [r5, #0x70]
- ands r0, r0, #0x1
- movne r1, #0x1
-_0209AB3C:
- cmp r1, #0x0
- addeq sp, sp, #0x4
- mvneq r0, #0x26
- ldmeqia sp!, {r4-r5,lr}
- bxeq lr
- ldrsh r0, [r5, #0x70]
- ands r0, r0, #0x2
- addne sp, sp, #0x4
- mvnne r0, #0x1b
- ldmneia sp!, {r4-r5,lr}
- bxne lr
- mov r0, r5
- mov r1, r4
- bl FUN_0209AA80
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
-
- arm_func_start FUN_0209AB80
-FUN_0209AB80: ; 0x0209AB80
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0xc
- ldr r6, _0209ACC0 ; =0x021C8F24
- mov r9, #0x0
- ldr r11, [r6, #0x8]
- ldr r2, [r6, #0x0]
- ldr r1, [r6, #0x4]
- umull r5, r4, r11, r2
- mla r4, r11, r1, r4
- ldr r10, [r6, #0xc]
- ldr r3, [r6, #0x10]
- mla r4, r10, r2, r4
- adds r5, r3, r5
- ldr r1, [r6, #0x14]
- umull r8, r7, r11, r5
- adc r4, r1, r4
- mla r7, r11, r4, r7
- mla r7, r10, r5, r7
- mov r2, r9, lsl #0x10
- adds r8, r3, r8
- str r5, [r6, #0x0]
- adc r5, r1, r7
- mov r3, r9, lsl #0x10
- orr r2, r2, r4, lsr #0x10
- str r4, [r6, #0x4]
- orr r3, r3, r5, lsr #0x10
- add r1, sp, #0x4
- mov r10, r0
- strh r2, [sp, #0x8]
- str r8, [r6, #0x0]
- str r5, [r6, #0x4]
- strh r3, [sp, #0xa]
- bl FUN_0209AD34
-_0209AC04: ; 0x0209AC04
- cmp r0, #0x0
- ldrne r0, [sp, #0x4]
- addne sp, sp, #0xc
- ldmneia sp!, {r4-r11,lr}
- bxne lr
- mov r0, #0x1
- ldr r6, _0209ACC4 ; =0x021C8F1C
- strb r0, [sp, #0x0]
- strb r0, [sp, #0x1]
- add r5, sp, #0x8
- mov r4, r9
- mov r11, r9
-_0209AC34:
- mov r8, r11
- add r7, sp, #0x0
-_0209AC3C:
- ldrb r0, [r7, #0x0]
- cmp r0, #0x0
- beq _0209AC80
- mov r0, r8, lsl #0x1
- ldrh r2, [r5, r0]
- ldr r1, [r6, r8, lsl #0x2]
- mov r0, r10
- bl FUN_0209ACC8
- str r0, [sp, #0x4]
- cmp r0, #0x0
- beq _0209AC74
- mvn r1, #0x0
- cmp r0, r1
- bne _0209AC9C
-_0209AC74:
- mvn r1, #0x0
- cmp r0, r1
- streqb r4, [r7, #0x0]
-_0209AC80:
- add r8, r8, #0x1
- cmp r8, #0x2
- add r7, r7, #0x1
- blt _0209AC3C
- add r9, r9, #0x1
- cmp r9, #0x3
- blt _0209AC34
-_0209AC9C:
- ldr r1, [sp, #0x4]
- mvn r0, #0x0
- cmp r1, r0
- moveq r0, #0x0
- streq r0, [sp, #0x4]
- ldr r0, [sp, #0x4]
- add sp, sp, #0xc
- ldmia sp!, {r4-r11,lr}
- bx lr
- .balign 4
-_0209ACC0: .word 0x021C8F24
-_0209ACC4: .word 0x021C8F1C
-
- arm_func_start FUN_0209ACC8
-FUN_0209ACC8: ; 0x0209ACC8
- stmdb sp!, {r4-r6,lr}
- sub sp, sp, #0x8
- movs r5, r1
- mov r6, r0
- mov r4, r2
- addeq sp, sp, #0x8
- mvneq r0, #0x0
- ldmeqia sp!, {r4-r6,lr}
- bxeq lr
- bl FUN_0209CB44
- bl FUN_0209CBE8
- mov r2, r5
- mov r0, #0x0
- mov r1, #0x35
- bl FUN_0209CB78
- mov r0, r6
- mov r2, r4
- mov r3, #0x0
- str r3, [sp, #0x0]
- mov r1, #0x1
- bl FUN_0209AE18
- mov r4, r0
- bl FUN_0209CB24
- mov r0, r4
- add sp, sp, #0x8
- ldmia sp!, {r4-r6,lr}
- bx lr
-
- arm_func_start FUN_0209AD34
-FUN_0209AD34:
- stmdb sp!, {r4-r8,lr}
- sub sp, sp, #0x8
- mov r6, #0x0
- mov r8, r0
- mov r7, r1
- mov r5, r6
- add r4, sp, #0x0
-_0209AD50:
- mov r0, r8
- mov r1, r4
- mov r6, r6, lsl #0x8
- bl FUN_0209ADE4
- ldr r2, [sp, #0x0]
- cmp r8, r2
- addeq sp, sp, #0x8
- moveq r0, #0x0
- ldmeqia sp!, {r4-r8,lr}
- bxeq lr
- mov r8, r2
- cmp r0, #0xff
- bhi _0209ADB0
- cmp r5, #0x3
- beq _0209AD9C
- ldrb r1, [r2, #0x0]
- add r8, r2, #0x1
- cmp r1, #0x2e
- bne _0209ADB0
-_0209AD9C:
- cmp r5, #0x3
- bne _0209ADC0
- ldrb r1, [r8, #0x0]
- cmp r1, #0x0
- beq _0209ADC0
-_0209ADB0:
- add sp, sp, #0x8
- mov r0, #0x0
- ldmia sp!, {r4-r8,lr}
- bx lr
-_0209ADC0:
- add r5, r5, #0x1
- cmp r5, #0x4
- orr r6, r6, r0
- blt _0209AD50
- str r6, [r7, #0x0]
- mov r0, #0x1
- add sp, sp, #0x8
- ldmia sp!, {r4-r8,lr}
- bx lr
-
- arm_func_start FUN_0209ADE4
-FUN_0209ADE4: ; 0x0209ADE4
- str r0, [r1, #0x0]
- mov r12, #0x0
- mov r2, #0xa
-_0209ADF0:
- ldrb r3, [r0, #0x0]
- sub r3, r3, #0x30
- and r3, r3, #0xff
- cmp r3, #0x9
- mlals r12, r2, r12, r3
- addls r0, r0, #0x1
- strls r0, [r1, #0x0]
- bls _0209ADF0
- mov r0, r12
- bx lr
-
- arm_func_start FUN_0209AE18
-FUN_0209AE18: ; 0x0209AE18
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0x4c
- mov r9, r2
- mov r2, r9, asr #0x8
- mov r10, r1
- orr r1, r2, r9, lsl #0x8
- strh r1, [sp, #0x10]
- cmp r10, #0x20
- mov r5, #0x0
- movne r1, #0x1
- strneh r1, [sp, #0x12]
- ldreq r1, _0209B0C8 ; =0x00001001
- strh r5, [sp, #0x16]
- streqh r1, [sp, #0x12]
- mov r1, #0x100
- strh r1, [sp, #0x14]
- add r1, sp, #0x1c
- strh r5, [sp, #0x18]
- strh r5, [sp, #0x1a]
- str r5, [sp, #0xc]
- ldrb r6, [r0], #0x1
- str r3, [sp, #0x0]
- ldr r8, [sp, #0x70]
- add r2, r1, #0x1
- cmp r6, #0x0
- beq _0209AED8
- add r4, sp, #0x10
-_0209AE84:
- cmp r6, #0x2e
- beq _0209AEB8
- sub r3, r2, r4
- cmp r3, #0x3c
- addge sp, sp, #0x4c
- mvnge r0, #0x0
- ldmgeia sp!, {r4-r11,lr}
- bxge lr
- strb r6, [r2], #0x1
- ldr r3, [sp, #0xc]
- add r3, r3, #0x1
- str r3, [sp, #0xc]
- b _0209AECC
-_0209AEB8:
- ldr r3, [sp, #0xc]
- strb r3, [r1, #0x0]
- mov r1, r2
- str r5, [sp, #0xc]
- add r2, r2, #0x1
-_0209AECC:
- ldrb r6, [r0], #0x1
- cmp r6, #0x0
- bne _0209AE84
-_0209AED8:
- ldr r0, [sp, #0xc]
- mov r3, #0x0
- strb r0, [r1, #0x0]
- strb r3, [r2, #0x0]
- mov r0, r10, lsr #0x8
- strb r0, [r2, #0x1]
- strb r10, [r2, #0x2]
- strb r3, [r2, #0x3]
- mov r3, #0x1
- add r0, sp, #0x10
- add r1, r2, #0x5
- sub r1, r1, r0
- strb r3, [r2, #0x4]
- bl FUN_0209C030
- mov r6, #0x0
- bl OS_GetTick
- mov r5, r0, lsr #0x10
- mov r0, #0x2
- str r0, [sp, #0x8]
- mov r0, #0x1
- orr r5, r5, r1, lsl #0x10
- str r0, [sp, #0x4]
- mvn r11, #0x0
- b _0209B084
-_0209AF38:
- bl FUN_0209BF9C
-_0209AF3C: ; 0x0209AF3C
- cmp r0, #0x0
- bne _0209AF4C
- bl FUN_020A005C
- b _0209B084
-_0209AF4C:
- add r0, sp, #0xc
- bl FUN_0209C638
- ldr r1, [sp, #0xc]
- cmp r1, #0xc
- bls _0209B07C
- ldrh r3, [r0, #0x0]
- mov r2, r3, asr #0x8
- orr r2, r2, r3, lsl #0x8
- mov r2, r2, lsl #0x10
- cmp r9, r2, lsr #0x10
- bne _0209B07C
- ldrb r2, [r0, #0x3]
- and r2, r2, #0xf
- cmp r2, #0x3
- moveq r6, r11
- beq _0209B07C
- cmp r2, #0x0
- bne _0209B07C
- ldrb r2, [r0, #0x4]
- add r4, r0, r1
- ldrb r1, [r0, #0x5]
- add r0, r0, #0xc
- orr r1, r1, r2, lsl #0x8
- mov r1, r1, lsl #0x10
- movs r1, r1, lsr #0x10
- sub r7, r1, #0x1
- beq _0209AFCC
-_0209AFB8:
- bl FUN_0209B0D0
-_0209AFBC: ; 0x0209AFBC
- cmp r7, #0x0
- add r0, r0, #0x4
- sub r7, r7, #0x1
- bne _0209AFB8
-_0209AFCC:
- cmp r0, r4
- bhs _0209B07C
-_0209AFD4:
- bl FUN_0209B0D0
- ldrb r7, [r0, #0x8]
- ldrb r1, [r0, #0x9]
- ldrb r3, [r0, #0x0]
- ldrb r2, [r0, #0x1]
- orr r1, r1, r7, lsl #0x8
- mov r1, r1, lsl #0x10
- orr r3, r2, r3, lsl #0x8
- mov r2, r1, lsr #0x10
- mov r1, r3, lsl #0x10
- cmp r10, r1, lsr #0x10
- bne _0209B06C
- cmp r10, #0xc
- beq _0209B04C
- add r1, r0, #0x6
- add r3, r1, r2
- add r4, r0, #0x8
- ldrb r1, [r1, r2]
- ldrb r0, [r3, #0x1]
- add r3, r4, r2
- ldrb r2, [r4, r2]
- orr r0, r0, r1, lsl #0x8
- ldrb r1, [r3, #0x1]
- mov r0, r0, lsl #0x10
- mov r3, r0, lsr #0x10
- orr r0, r1, r2, lsl #0x8
- mov r1, r3, lsl #0x10
- mov r0, r0, lsl #0x10
- orr r6, r1, r0, lsr #0x10
- b _0209B07C
-_0209B04C:
- cmp r2, r8
- ldrhi r6, [sp, #0x8]
- bhi _0209B07C
- ldr r1, [sp, #0x0]
- add r0, r0, #0xa
- bl MI_CpuCopy8
- ldr r6, [sp, #0x4]
- b _0209B07C
-_0209B06C:
- add r1, r2, #0xa
- add r0, r0, r1
- cmp r0, r4
- blo _0209AFD4
-_0209B07C:
- ldr r0, [sp, #0xc]
- bl FUN_0209C52C
-_0209B084:
- ldr r0, _0209B0CC ; =0x021C8EFC
- ldr r0, [r0, #0x0]
- blx r0
- cmp r0, #0x0
- beq _0209B0B8
- cmp r6, #0x0
- bne _0209B0B8
- bl OS_GetTick
- mov r0, r0, lsr #0x10
- orr r0, r0, r1, lsl #0x10
- sub r0, r0, r5
- cmp r0, #0xf
- blt _0209AF38
-_0209B0B8:
- mov r0, r6
- add sp, sp, #0x4c
- ldmia sp!, {r4-r11,lr}
- bx lr
- .balign 4
-_0209B0C8: .word 0x00001001
-_0209B0CC: .word 0x021C8EFC
-
- arm_func_start FUN_0209B0D0
-FUN_0209B0D0:
- ldrb r2, [r0], #0x1
- cmp r2, #0x0
- bxeq lr
-_0209B0DC:
- and r1, r2, #0xc0
- cmp r1, #0xc0
- addeq r0, r0, #0x1
- bxeq lr
- add r0, r0, r2
- ldrb r2, [r0], #0x1
- cmp r2, #0x0
- bne _0209B0DC
- bx lr
-
- arm_func_start FUN_0209B100
-FUN_0209B100: ; 0x0209B100
- stmdb sp!, {r4,lr}
- bl FUN_0209CB44
- bl FUN_0209CBE8
- ldr r1, _0209B168 ; =0x021C8ED4
- mov r0, #0x44
- ldr r2, [r1, #0x0]
- mov r1, #0x43
- bl FUN_0209CB78
- ldr r4, _0209B16C ; =0x021C924A
- mov r1, #0x7
- mov r0, r4
- mov r2, #0x0
- bl FUN_0209B8E0
- mov r1, #0xff
- add r2, r0, #0x1
- strb r1, [r0, #0x0]
- mov r0, #0x0
- mov r1, #0x12c
- sub r3, r2, r4
- bl FUN_0209B8A0
- sub r1, r0, r4
- mov r0, r4
- bl FUN_0209C030
- bl FUN_0209CB24
- ldmia sp!, {r4,lr}
- bx lr
- .balign 4
-_0209B168: .word 0x021C8ED4
-_0209B16C: .word 0x021C924A
-
- arm_func_start FUN_0209B170
-FUN_0209B170:
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- mov r4, r1
- mov r5, r0
- bl FUN_0209CB44
- bl FUN_0209CBE8
- cmp r4, #0x1
- bne _0209B1A8
- ldr r1, _0209B28C ; =0x021C8ED4
- mov r0, #0x44
- ldr r2, [r1, #0x0]
- mov r1, #0x43
- bl FUN_0209CB78
- b _0209B1B8
-_0209B1A8:
- mov r0, #0x44
- mov r1, #0x43
- mvn r2, #0x0
- bl FUN_0209CB78
-_0209B1B8:
- mov r6, #0x0
-_0209B1BC:
- mov r0, r4
- bl FUN_0209B6BC
- mov r1, r6
- bl FUN_0209B2FC
- movs r7, r0
- bne _0209B1E0
- add r6, r6, #0x1
- cmp r6, #0x4
- blt _0209B1BC
-_0209B1E0:
- bl FUN_0209CB24
- cmp r7, #0x2
- bne _0209B224
- ldr r0, _0209B290 ; =0x021C8F00
- mov r1, #0x3
- ldr r3, [r0, #0x0]
- ldr r2, _0209B294 ; =0x021C8EEC
- mov r3, r3, lsr #0x1
- str r3, [r5, #0x0]
- ldr r3, [r0, #0x0]
- add sp, sp, #0x4
- mul r1, r3, r1
- mov r1, r1, lsr #0x3
- str r1, [r2, #0x0]
- mov r0, #0x1
- ldmia sp!, {r4-r7,lr}
- bx lr
-_0209B224:
- ldr r1, _0209B294 ; =0x021C8EEC
- cmp r4, #0x1
- ldr r0, [r1, #0x0]
- mov r0, r0, lsr #0x1
- str r0, [r1, #0x0]
- str r0, [r5, #0x0]
- beq _0209B24C
- cmp r4, #0x2
- beq _0209B270
- b _0209B27C
-_0209B24C:
- cmp r0, #0x3c
- bhs _0209B27C
- mov r2, #0x1
- ldr r0, _0209B290 ; =0x021C8F00
- str r2, [r5, #0x0]
- ldr r0, [r0, #0x0]
- mov r0, r0, lsr #0x3
- str r0, [r1, #0x0]
- b _0209B27C
-_0209B270:
- cmp r0, #0x3c
- movcc r0, #0x1
- strcc r0, [r5, #0x0]
-_0209B27C:
- mov r0, #0x0
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,lr}
- bx lr
- .balign 4
-_0209B28C: .word 0x021C8ED4
-_0209B290: .word 0x021C8F00
-_0209B294: .word 0x021C8EEC
-
- arm_func_start FUN_0209B298
-FUN_0209B298:
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- bl FUN_0209CB44
- bl FUN_0209CBE8
- mov r0, #0x44
- mov r1, #0x43
- mvn r2, #0x0
- bl FUN_0209CB78
- mov r4, #0x0
-_0209B2BC:
- bl FUN_0209B7D8
- mov r1, r4
- bl FUN_0209B2FC
- mov r5, r0
- cmp r5, #0x1
- beq _0209B2E0
- add r4, r4, #0x1
- cmp r4, #0x4
- blt _0209B2BC
-_0209B2E0:
- bl FUN_0209CB24
- cmp r5, #0x1
- moveq r0, #0x1
- movne r0, #0x0
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
-
- arm_func_start FUN_0209B2FC
-FUN_0209B2FC: ; 0x0209B2FC
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0x14
- add r2, r1, #0x1
- mov r1, #0xf
- mul r1, r2, r1
- str r1, [sp, #0x8]
- str r0, [sp, #0x0]
- bl OS_GetTick
- mov r0, r0, lsr #0x10
- str r0, [sp, #0x4]
- orr r0, r0, r1, lsl #0x10
- mov r4, #0x0
- str r0, [sp, #0x4]
- mov r0, #0x3
- mov r9, r4
- ldr r5, _0209B698 ; =0x021C8F1C
- mov r7, #0x2
- mov r8, #0x1
- ldr fp, _0209B69C ; =0x021C8EE0
- ldr r6, _0209B6A0 ; =0x021C8ED0
- str r0, [sp, #0xc]
- b _0209B64C
-_0209B354:
- bl FUN_0209BF9C
-_0209B358: ; 0x0209B358
- cmp r0, #0x0
- bne _0209B368
- bl FUN_020A005C
- b _0209B64C
-_0209B368:
- add r0, sp, #0x10
- bl FUN_0209C638
- mov r10, r0
- ldr r0, [sp, #0x10]
- cmp r0, #0xf0
- bls _0209B644
- ldrb r0, [r10, #0x0]
- cmp r0, #0x2
- bne _0209B644
- ldrh r1, [r10, #0x6]
- ldrh r2, [r10, #0x4]
- mov r0, r1, asr #0x8
- orr r0, r0, r1, lsl #0x8
- mov r1, r0, lsl #0x10
- mov r0, r2, asr #0x8
- orr r0, r0, r2, lsl #0x8
- mov r0, r0, lsl #0x10
- mov r0, r0, lsr #0x10
- mov r0, r0, lsl #0x10
- orr r1, r0, r1, lsr #0x10
- ldr r0, [sp, #0x0]
- cmp r0, r1
- bne _0209B644
- ldr r1, _0209B6A4 ; =0x021C8F14
- add r0, r10, #0x1c
- bl FUN_0209F9A0
-_0209B3D0: ; 0x0209B3D0
- cmp r0, #0x0
- bne _0209B644
- ldrb r3, [r10, #0x10]
- ldrb r0, [r10, #0x11]
- ldrb r2, [r10, #0x12]
- ldrb r1, [r10, #0x13]
- orr r0, r0, r3, lsl #0x8
- mov r0, r0, lsl #0x10
- orr r1, r1, r2, lsl #0x8
- mov r0, r0, lsr #0x10
- mov r2, r0, lsl #0x10
- mov r0, r1, lsl #0x10
- orr r0, r2, r0, lsr #0x10
- ldrb r2, [r10, #0xec]
- ldr r1, [sp, #0x10]
- ldr r4, [sp, #0xc]
- add r1, r10, r1
- cmp r2, #0x63
- bne _0209B644
- ldrb r2, [r10, #0xed]
- cmp r2, #0x82
- bne _0209B644
- ldrb r2, [r10, #0xee]
- cmp r2, #0x53
- bne _0209B644
- add r2, r10, #0xf0
- ldrb r3, [r10, #0xef]
- cmp r3, #0x63
- bne _0209B644
- b _0209B630
-_0209B448:
- cmp r3, #0x0
- beq _0209B630
- cmp r3, #0x33
- bgt _0209B48C
- cmp r3, #0x33
- bge _0209B588
- cmp r3, #0x6
- bgt _0209B624
- cmp r3, #0x1
- blt _0209B624
- cmp r3, #0x1
- beq _0209B4AC
- cmp r3, #0x3
- beq _0209B4E0
- cmp r3, #0x6
- beq _0209B514
- b _0209B624
-_0209B48C:
- cmp r3, #0x35
- bgt _0209B4A0
- cmp r3, #0x35
- beq _0209B5C0
- b _0209B624
-_0209B4A0:
- cmp r3, #0x36
- beq _0209B5F0
- b _0209B624
-_0209B4AC:
- ldrb lr, [r2, #0x1]
- ldrb r12, [r2, #0x2]
- ldrb r10, [r2, #0x3]
- ldrb r3, [r2, #0x4]
- orr r12, r12, lr, lsl #0x8
- mov r12, r12, lsl #0x10
- orr r3, r3, r10, lsl #0x8
- mov r10, r12, lsr #0x10
- mov r10, r10, lsl #0x10
- mov r3, r3, lsl #0x10
- orr r3, r10, r3, lsr #0x10
- str r3, [r6, #0x0]
- b _0209B624
-_0209B4E0:
- ldrb lr, [r2, #0x1]
- ldrb r12, [r2, #0x2]
- ldrb r10, [r2, #0x3]
- ldrb r3, [r2, #0x4]
- orr r12, r12, lr, lsl #0x8
- mov r12, r12, lsl #0x10
- orr r3, r3, r10, lsl #0x8
- mov r10, r12, lsr #0x10
- mov r10, r10, lsl #0x10
- mov r3, r3, lsl #0x10
- orr r3, r10, r3, lsr #0x10
- str r3, [r11, #0x0]
- b _0209B624
-_0209B514:
- ldrb r3, [r2, #0x0]
- cmp r3, #0x8
- strcc r9, [r5, #0x4]
- blo _0209B554
- ldrb lr, [r2, #0x5]
- ldrb r12, [r2, #0x6]
- ldrb r10, [r2, #0x7]
- ldrb r3, [r2, #0x8]
- orr r12, r12, lr, lsl #0x8
- mov r12, r12, lsl #0x10
- orr r3, r3, r10, lsl #0x8
- mov r10, r12, lsr #0x10
- mov r10, r10, lsl #0x10
- mov r3, r3, lsl #0x10
- orr r3, r10, r3, lsr #0x10
- str r3, [r5, #0x4]
-_0209B554:
- ldrb lr, [r2, #0x1]
- ldrb r12, [r2, #0x2]
- ldrb r10, [r2, #0x3]
- ldrb r3, [r2, #0x4]
- orr r12, r12, lr, lsl #0x8
- mov r12, r12, lsl #0x10
- orr r3, r3, r10, lsl #0x8
- mov r10, r12, lsr #0x10
- mov r10, r10, lsl #0x10
- mov r3, r3, lsl #0x10
- orr r3, r10, r3, lsr #0x10
- str r3, [r5, #0x0]
- b _0209B624
-_0209B588:
- ldrb lr, [r2, #0x1]
- ldrb r12, [r2, #0x2]
- ldrb r10, [r2, #0x3]
- ldrb r3, [r2, #0x4]
- orr r12, r12, lr, lsl #0x8
- mov r12, r12, lsl #0x10
- orr r3, r3, r10, lsl #0x8
- mov r10, r12, lsr #0x10
- mov r10, r10, lsl #0x10
- mov r3, r3, lsl #0x10
- orr r10, r10, r3, lsr #0x10
- ldr r3, _0209B6A8 ; =0x021C8F00
- str r10, [r3, #0x0]
- b _0209B624
-_0209B5C0:
- ldrb r3, [r2, #0x1]
- cmp r3, #0x2
- beq _0209B5E0
- cmp r3, #0x5
- ldreq r3, _0209B6AC ; =0x021C8F04
- moveq r4, r7
- streq r0, [r3, #0x0]
- b _0209B624
-_0209B5E0:
- ldr r3, _0209B6B0 ; =0x021C8EE8
- mov r4, r8
- str r0, [r3, #0x0]
- b _0209B624
-_0209B5F0:
- ldrb lr, [r2, #0x1]
- ldrb r12, [r2, #0x2]
- ldrb r10, [r2, #0x3]
- ldrb r3, [r2, #0x4]
- orr r12, r12, lr, lsl #0x8
- mov r12, r12, lsl #0x10
- orr r3, r3, r10, lsl #0x8
- mov r10, r12, lsr #0x10
- mov r10, r10, lsl #0x10
- mov r3, r3, lsl #0x10
- orr r10, r10, r3, lsr #0x10
- ldr r3, _0209B6B4 ; =0x021C8ED4
- str r10, [r3, #0x0]
-_0209B624:
- ldrb r3, [r2, #0x0]
- add r3, r3, #0x1
- add r2, r2, r3
-_0209B630:
- cmp r2, r1
- bhs _0209B644
- ldrb r3, [r2], #0x1
- cmp r3, #0xff
- bne _0209B448
-_0209B644:
- ldr r0, [sp, #0x10]
- bl FUN_0209C52C
-_0209B64C:
- ldr r0, _0209B6B8 ; =0x021C8EFC
- ldr r0, [r0, #0x0]
- blx r0
- cmp r0, #0x0
- beq _0209B688
- cmp r4, #0x0
- bne _0209B688
- bl OS_GetTick
- mov r2, r0, lsr #0x10
- ldr r0, [sp, #0x4]
- orr r2, r2, r1, lsl #0x10
- sub r1, r2, r0
- ldr r0, [sp, #0x8]
- cmp r1, r0
- blt _0209B354
-_0209B688:
- mov r0, r4
- add sp, sp, #0x14
- ldmia sp!, {r4-r11,lr}
- bx lr
- .balign 4
-_0209B698: .word 0x021C8F1C
-_0209B69C: .word 0x021C8EE0
-_0209B6A0: .word 0x021C8ED0
-_0209B6A4: .word 0x021C8F14
-_0209B6A8: .word 0x021C8F00
-_0209B6AC: .word 0x021C8F04
-_0209B6B0: .word 0x021C8EE8
-_0209B6B4: .word 0x021C8ED4
-_0209B6B8: .word 0x021C8EFC
-
- arm_func_start FUN_0209B6BC
-FUN_0209B6BC: ; 0x0209B6BC
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- ldr r4, _0209B7CC ; =0x021C924A
- mov r5, r0
- add r2, sp, #0x0
- mov r0, r4
- mov r1, #0x3
- bl FUN_0209B8E0
- mov r12, r0
- cmp r5, #0x0
- bne _0209B790
- mov r0, #0x32
- strb r0, [r12, #0x0]
- mov r0, #0x4
- ldr r3, _0209B7D0 ; =0x021C8EE8
- strb r0, [r12, #0x1]
- ldr r1, [r3, #0x0]
- mov lr, #0x36
- mov r1, r1, lsr #0x10
- mov r1, r1, lsl #0x10
- mov r1, r1, lsr #0x10
- mov r1, r1, asr #0x8
- strb r1, [r12, #0x2]
- ldr r1, [r3, #0x0]
- ldr r2, _0209B7D4 ; =0x021C8ED4
- mov r1, r1, lsr #0x10
- strb r1, [r12, #0x3]
- ldr r1, [r3, #0x0]
- mov r1, r1, lsl #0x10
- mov r1, r1, lsr #0x10
- mov r1, r1, asr #0x8
- strb r1, [r12, #0x4]
- ldr r1, [r3, #0x0]
- strb r1, [r12, #0x5]
- strb lr, [r12, #0x6]
- strb r0, [r12, #0x7]
- ldr r0, [r2, #0x0]
- mov r0, r0, lsr #0x10
- mov r0, r0, lsl #0x10
- mov r0, r0, lsr #0x10
- mov r0, r0, asr #0x8
- strb r0, [r12, #0x8]
- ldr r0, [r2, #0x0]
- mov r0, r0, lsr #0x10
- strb r0, [r12, #0x9]
- ldr r0, [r2, #0x0]
- mov r0, r0, lsl #0x10
- mov r0, r0, lsr #0x10
- mov r0, r0, asr #0x8
- strb r0, [r12, #0xa]
- ldr r0, [r2, #0x0]
- strb r0, [r12, #0xb]
- add r12, r12, #0xc
-_0209B790:
- add r2, r12, #0x1
- mov lr, #0xff
- sub r3, r2, r4
- mov r0, #0x0
- mov r1, #0x12c
- strb lr, [r12, #0x0]
- bl FUN_0209B8A0
- mov r1, r0
- mov r0, r4
- sub r1, r1, r4
- bl FUN_0209C030
-_0209B7BC: ; 0x0209B7BC
- ldr r0, [sp, #0x0]
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
- .balign 4
-_0209B7CC: .word 0x021C924A
-_0209B7D0: .word 0x021C8EE8
-_0209B7D4: .word 0x021C8ED4
-
- arm_func_start FUN_0209B7D8
-FUN_0209B7D8: ; 0x0209B7D8
- stmdb sp!, {r4,lr}
- sub sp, sp, #0x8
- ldr r4, _0209B898 ; =0x021C924A
- add r2, sp, #0x0
- mov r0, r4
- mov r1, #0x1
- bl FUN_0209B8E0
- ldr r1, _0209B89C ; =0x021C8EE8
- mov r12, r0
- ldr r0, [r1, #0x0]
- cmp r0, #0x0
- beq _0209B85C
- mov r0, #0x32
- strb r0, [r12, #0x0]
- mov r0, #0x4
- strb r0, [r12, #0x1]
- ldr r0, [r1, #0x0]
- mov r0, r0, lsr #0x10
- mov r0, r0, lsl #0x10
- mov r0, r0, lsr #0x10
- mov r0, r0, asr #0x8
- strb r0, [r12, #0x2]
- ldr r0, [r1, #0x0]
- mov r0, r0, lsr #0x10
- strb r0, [r12, #0x3]
- ldr r0, [r1, #0x0]
- mov r0, r0, lsl #0x10
- mov r0, r0, lsr #0x10
- mov r0, r0, asr #0x8
- strb r0, [r12, #0x4]
- ldr r0, [r1, #0x0]
- strb r0, [r12, #0x5]
- add r12, r12, #0x6
-_0209B85C:
- add r2, r12, #0x1
- mov lr, #0xff
- sub r3, r2, r4
- mov r0, #0x0
- mov r1, #0x12c
- strb lr, [r12, #0x0]
- bl FUN_0209B8A0
- mov r1, r0
- mov r0, r4
- sub r1, r1, r4
- bl FUN_0209C030
-_0209B888: ; 0x0209B888
- ldr r0, [sp, #0x0]
- add sp, sp, #0x8
- ldmia sp!, {r4,lr}
- bx lr
- .balign 4
-_0209B898: .word 0x021C924A
-_0209B89C: .word 0x021C8EE8
-
- arm_func_start FUN_0209B8A0
-FUN_0209B8A0: ; 0x0209B8A0
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r12, r0
- mov r5, r2
- cmp r3, r1
- bhs _0209B8D0
- sub r4, r1, r3
- mov r0, r5
- mov r1, r12
- mov r2, r4
- bl MI_CpuFill8
- add r5, r5, r4
-_0209B8D0:
- mov r0, r5
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
-
- arm_func_start FUN_0209B8E0
-FUN_0209B8E0: ; 0x0209B8E0
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- mov r5, r1
- mov r4, r2
- mov r1, #0x0
- mov r2, #0xec
- mov r6, r0
- bl MI_CpuFill8
- ldr r0, _0209BA5C ; =0x00000101
- mov r1, #0x6
- strh r0, [r6, #0x0]
- ldr r0, _0209BA60 ; =0x021C8F24
- strb r1, [r6, #0x2]
- ldr r3, [r0, #0x8]
- ldr r2, [r0, #0x0]
- ldr r1, [r0, #0x4]
- umull lr, r12, r3, r2
- mla r12, r3, r1, r12
- ldr r1, [r0, #0xc]
- ldr r7, [r0, #0x10]
- mla r12, r1, r2, r12
- adds r3, r7, lr
- ldr r1, [r0, #0x14]
- str r3, [r0, #0x0]
- adc r1, r1, r12
- str r1, [r0, #0x4]
- mov r0, r1, lsr #0x10
- mov r0, r0, lsl #0x10
- mov r3, r0, lsr #0x10
- cmp r4, #0x0
- mov r2, r3, asr #0x8
- mov r0, r1, lsl #0x10
- strne r1, [r4, #0x0]
- mov r1, r0, lsr #0x10
- orr r2, r2, r3, lsl #0x8
- mov r0, r1, asr #0x8
- strh r2, [r6, #0x4]
- orr r0, r0, r1, lsl #0x8
- strh r0, [r6, #0x6]
- ldr r2, _0209BA64 ; =0x021C8F04
- ldr r0, _0209BA68 ; =0x021C8F14
- ldr r1, [r2, #0x0]
- mov r1, r1, lsr #0x10
- mov r1, r1, lsl #0x10
- mov r3, r1, lsr #0x10
- mov r1, r3, asr #0x8
- orr r1, r1, r3, lsl #0x8
- strh r1, [r6, #0xc]
- ldr r2, [r2, #0x0]
- add r1, r6, #0x1c
- mov r2, r2, lsl #0x10
- mov r3, r2, lsr #0x10
- mov r2, r3, asr #0x8
- orr r3, r2, r3, lsl #0x8
- mov r2, #0x6
- strh r3, [r6, #0xe]
- bl MI_CpuCopy8
- ldr r0, _0209BA6C ; =0x00008263
- ldr r1, _0209BA70 ; =0x00006353
- strh r0, [r6, #0xec]
- strh r1, [r6, #0xee]
- ldr r0, _0209BA74 ; =0x00000135
- mov r1, #0x7
- strh r0, [r6, #0xf0]
- strb r5, [r6, #0xf2]
- mov r0, #0x3d
- strb r0, [r6, #0xf3]
- strb r1, [r6, #0xf4]
- mov r3, #0x1
- ldr r0, _0209BA68 ; =0x021C8F14
- add r1, r6, #0xf6
- mov r2, #0x6
- strb r3, [r6, #0xf5]
- bl MI_CpuCopy8
- mov r1, #0xc
- strb r1, [r6, #0xfc]
- mov r2, #0xa
- ldr r0, _0209BA78 ; =0x02106224
- add r1, r6, #0xfe
- strb r2, [r6, #0xfd]
- bl MI_CpuCopy8
- mov r1, #0x37
- strb r1, [r6, #0x108]
- mov r2, #0x3
- ldr r0, _0209BA7C ; =0x0000010D
- strb r2, [r6, #0x109]
- mov r1, #0x1
- strb r1, [r6, #0x10a]
- strb r2, [r6, #0x10b]
- mov r1, #0x6
- strb r1, [r6, #0x10c]
- add r0, r6, r0
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,lr}
- bx lr
- .balign 4
-_0209BA5C: .word 0x00000101
-_0209BA60: .word 0x021C8F24
-_0209BA64: .word 0x021C8F04
-_0209BA68: .word 0x021C8F14
-_0209BA6C: .word 0x00008263
-_0209BA70: .word 0x00006353
-_0209BA74: .word 0x00000135
-_0209BA78: .word 0x02106224
-_0209BA7C: .word 0x0000010D
-
- arm_func_start FUN_0209BA80
-FUN_0209BA80: ; 0x0209BA80
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0x54
- ldr r3, _0209BE40 ; =0x021C8EF8
- mov r1, #0x0
- ldr r0, _0209BE44 ; =0x021C8FD8
- mov r2, #0x64
- str r1, [r3, #0x0]
- bl MI_CpuFill8
- ldr r0, _0209BE44 ; =0x021C8FD8
- mov r3, #0x180
- ldr r2, _0209BE48 ; =0x021C93A0
- ldr r1, _0209BE4C ; =0x021C9220
- str r3, [r0, #0x3c]
- str r2, [r0, #0x40]
- str r3, [r0, #0x48]
- str r1, [r0, #0x4c]
- bl FUN_0209CC28
- mov r11, #0x0
- mov r0, #0x1
- str r0, [sp, #0x0]
- str r0, [sp, #0x4]
- str r0, [sp, #0x4c]
- mov r1, r0
- ldr r0, _0209BE50 ; =0x021C8EC0
- ldr r5, [sp, #0x0]
- str r1, [r0, #0x0]
- mov r0, #0x2
- str r0, [sp, #0x10]
- mov r0, r5
- str r0, [sp, #0x34]
- str r0, [sp, #0x3c]
- mov r0, #0x3
- str r0, [sp, #0x1c]
- mov r0, r5
- str r0, [sp, #0x30]
- str r0, [sp, #0x28]
- str r0, [sp, #0x24]
- str r0, [sp, #0x20]
- str r0, [sp, #0xc]
- mov r0, #0x69
- str r0, [sp, #0x44]
- mov r0, #0x3e8
- mov r6, r11
- mov r4, r11
- mov r10, r11
- str r11, [sp, #0x14]
- str r11, [sp, #0x18]
- str r11, [sp, #0x38]
- str r11, [sp, #0x2c]
- str r11, [sp, #0x40]
- str r11, [sp, #0x48]
- str r0, [sp, #0x8]
-_0209BB50:
- ldr r0, [sp, #0x8]
- bl OS_Sleep
- ldr r0, _0209BE40 ; =0x021C8EF8
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- bne _0209BE14
- bl OS_GetTick
- mov r9, r0, lsr #0x10
- ldr r0, _0209BE54 ; =0x021C8EFC
- orr r9, r9, r1, lsl #0x10
- ldr r0, [r0, #0x0]
- blx r0
- cmp r0, #0x0
- beq _0209BC8C
- ldr r0, [sp, #0x4c]
- subs r0, r0, #0x1
- str r0, [sp, #0x4c]
- bne _0209BCA4
- ldr r0, _0209BE58 ; =0x021C8EC4
- ldr r0, [r0, #0x0]
- ands r0, r0, #0x1
- beq _0209BBBC
- cmp r11, #0x0
- bne _0209BCA4
- bl FUN_0209BE78
- ldr r11, [sp, #0xc]
- b _0209BCA4
-_0209BBBC:
- cmp r11, #0x3
- addls pc, pc, r11, lsl #0x2
- b _0209BCA4
-_0209BBC8:
- b _0209BBD8
-_0209BBCC:
- b _0209BC28
-_0209BBD0:
- b _0209BC4C
-_0209BBD4:
- b _0209BCA4
-_0209BBD8:
- ldr r0, [sp, #0x4]
- cmp r0, #0x0
- ldrne r1, [sp, #0x10]
- ldrne r0, _0209BE50 ; =0x021C8EC0
- strne r1, [r0, #0x0]
- ldrne r0, [sp, #0x14]
- strne r0, [sp, #0x4]
- bl FUN_0209B298
-_0209BBF8: ; 0x0209BBF8
- cmp r0, #0x0
- beq _0209BC14
- ldr r1, [sp, #0x18]
- add r0, sp, #0x4c
- bl FUN_0209B170
-_0209BC0C: ; 0x0209BC0C
- cmp r0, #0x0
- bne _0209BC20
-_0209BC14:
- bl FUN_0209BE78
- ldr r11, [sp, #0x1c]
- b _0209BCA4
-_0209BC20:
- ldr r11, [sp, #0x20]
- b _0209BCA4
-_0209BC28:
- ldr r1, [sp, #0x24]
- add r0, sp, #0x4c
- bl FUN_0209B170
-_0209BC34: ; 0x0209BC34
- cmp r0, #0x0
- bne _0209BCA4
- ldr r0, [sp, #0x4c]
- cmp r0, #0x3c
- ldrcc r11, [sp, #0x10]
- b _0209BCA4
-_0209BC4C:
- ldr r1, [sp, #0x10]
- add r0, sp, #0x4c
- bl FUN_0209B170
-_0209BC58: ; 0x0209BC58
- cmp r0, #0x0
- ldrne r11, [sp, #0x28]
- bne _0209BCA4
- ldr r0, [sp, #0x4c]
- cmp r0, #0x3c
- bhs _0209BCA4
- ldr r0, [sp, #0x1c]
- bl FUN_020A0098
- ldr r0, [sp, #0x30]
- ldr r11, [sp, #0x2c]
- str r0, [sp, #0x4c]
- str r0, [sp, #0x0]
- b _0209BCA4
-_0209BC8C:
- ldr r0, [sp, #0x34]
- bl FUN_020A0098
- ldr r0, [sp, #0x3c]
- ldr r11, [sp, #0x38]
- str r0, [sp, #0x4c]
- str r0, [sp, #0x0]
-_0209BCA4:
- ldr r1, [sp, #0x40]
- ldr r0, _0209BE5C ; =0x021C8F78
-_0209BCAC:
- ldr r2, [r0, #0x0]
- cmp r2, #0x0
- beq _0209BCD4
- ldrh r2, [r0, #0xa]
- sub r2, r9, r2
- mov r2, r2, lsl #0x10
- mov r3, r2, asr #0x10
- ldr r2, _0209BE60 ; =0x000003BD
- cmp r3, r2
- strgt r6, [r0, #0x0]
-_0209BCD4:
- add r0, r0, #0xc
- add r1, r1, #0x1
- cmp r1, #0x8
- blt _0209BCAC
- ldr r0, _0209BE64 ; =0x021C8EE0
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- beq _0209BD10
- ldr r1, [sp, #0x0]
- subs r1, r1, #0x1
- str r1, [sp, #0x0]
- bne _0209BD10
- bl FUN_0209F338
- ldr r0, [sp, #0x44]
- str r0, [sp, #0x0]
-_0209BD10:
- ldr r0, _0209BE68 ; =0x021D3498
- ldr r7, [r0, #0x8]
- cmp r7, #0x0
- beq _0209BDAC
-_0209BD20:
- ldr r0, [r7, #0xa4]
- cmp r0, #0x0
- beq _0209BDA0
- ldr r1, [r0, #0x0]
- cmp r1, #0x0
- beq _0209BDA0
- ldrb r2, [r0, #0x8]
- cmp r2, #0x3
- bne _0209BD6C
- ldr r1, [r0, #0x10]
- sub r1, r9, r1
- cmp r1, #0x27
- ble _0209BD6C
- strb r5, [r0, #0x8]
- ldrh r1, [r0, #0x1a]
- strh r1, [r0, #0x18]
- ldr r1, [r0, #0x20]
- str r1, [r0, #0x1c]
- b _0209BDA0
-_0209BD6C:
- cmp r2, #0x2
- bne _0209BDA0
- ldr r1, [r0, #0x10]
- sub r1, r9, r1
- cmp r1, #0x27
- ble _0209BDA0
- ldr r1, [r0, #0x4]
- cmp r1, #0x1
- bne _0209BDA0
- strb r4, [r0, #0x8]
- str r4, [r0, #0x4]
- ldr r0, [r0, #0x0]
- bl OS_WakeupThreadDirect
-_0209BDA0:
- ldr r7, [r7, #0x68]
- cmp r7, #0x0
- bne _0209BD20
-_0209BDAC:
- ldr r7, [sp, #0x48]
- ldr r8, _0209BE6C ; =0x021C9520
-_0209BDB4:
- ldrh r0, [r8, #0x4]
- cmp r0, #0x0
- beq _0209BDE4
- ldr r0, [r8, #0x2c]
- sub r0, r9, r0
- cmp r0, #0xef
- ble _0209BDE4
- ldr r1, _0209BE70 ; =0x021C8EF4
- ldr r0, [r8, #0x34]
- ldr r1, [r1, #0x0]
- blx r1
- strh r10, [r8, #0x4]
-_0209BDE4:
- add r8, r8, #0x38
- add r7, r7, #0x1
- cmp r7, #0x8
- blt _0209BDB4
- mov r0, r9
- bl FUN_020A01FC
- ldr r0, _0209BE74 ; =0x021C8EF0
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- beq _0209BB50
- blx r0
- b _0209BB50
-_0209BE14:
- ldr r0, _0209BE58 ; =0x021C8EC4
- ldr r0, [r0, #0x0]
- ands r0, r0, #0x1
- bne _0209BE30
- cmp r11, #0x3
- beq _0209BE30
- bl FUN_0209B100
-_0209BE30:
- bl FUN_0209CC10
- add sp, sp, #0x54
- ldmia sp!, {r4-r11,lr}
- bx lr
- .balign 4
-_0209BE40: .word 0x021C8EF8
-_0209BE44: .word 0x021C8FD8
-_0209BE48: .word 0x021C93A0
-_0209BE4C: .word 0x021C9220
-_0209BE50: .word 0x021C8EC0
-_0209BE54: .word 0x021C8EFC
-_0209BE58: .word 0x021C8EC4
-_0209BE5C: .word 0x021C8F78
-_0209BE60: .word 0x000003BD
-_0209BE64: .word 0x021C8EE0
-_0209BE68: .word 0x021D3498
-_0209BE6C: .word 0x021C9520
-_0209BE70: .word 0x021C8EF4
-_0209BE74: .word 0x021C8EF0
-
- arm_func_start FUN_0209BE78
-FUN_0209BE78: ; 0x0209BE78
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- ldr r0, _0209BF3C ; =0x021C8ECC
- ldr r0, [r0, #0x0]
- blx r0
- ldr r0, _0209BF40 ; =0x021C8F04
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- addeq sp, sp, #0x4
- ldmeqia sp!, {r4-r7,lr}
- bxeq lr
- bl FUN_0209F338
- mov r0, #0x64
- bl OS_Sleep
- ldr r0, _0209BF40 ; =0x021C8F04
- ldr r0, [r0, #0x0]
- bl FUN_0209F338
- bl OS_GetTick
- mov r4, r0, lsr #0x10
- orr r4, r4, r1, lsl #0x10
- ldr r6, _0209BF44 ; =0x021C8EAC
- mov r7, #0x64
- ldr r5, _0209BF48 ; =0x021C8EFC
- b _0209BF00
-_0209BED8:
- ldrb r0, [r6, #0x0]
- cmp r0, #0x0
- beq _0209BEF8
- mov r0, #0x4
- bl FUN_020A0098
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,lr}
- bx lr
-_0209BEF8:
- mov r0, r7
- bl OS_Sleep
-_0209BF00:
- ldr r0, [r5, #0x0]
- blx r0
- cmp r0, #0x0
- addeq sp, sp, #0x4
- ldmeqia sp!, {r4-r7,lr}
- bxeq lr
- bl OS_GetTick
- mov r0, r0, lsr #0x10
- orr r0, r0, r1, lsl #0x10
- sub r0, r0, r4
- cmp r0, #0x17
- blt _0209BED8
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,lr}
- bx lr
- .balign 4
-_0209BF3C: .word 0x021C8ECC
-_0209BF40: .word 0x021C8F04
-_0209BF44: .word 0x021C8EAC
-_0209BF48: .word 0x021C8EFC
-
- arm_func_start FUN_0209BF4C
-FUN_0209BF4C: ; 0x0209BF4C
- stmdb sp!, {r4,lr}
- ldr r0, _0209BF98 ; =0x021D3498
- ldr r0, [r0, #0x4]
- ldr r4, [r0, #0xa4]
- cmp r4, #0x0
- ldmeqia sp!, {r4,lr}
- bxeq lr
- ldr r1, [r4, #0x60]
- cmp r1, #0x0
- ldmeqia sp!, {r4,lr}
- bxeq lr
- mov r2, #0x0
- ldr r0, [r4, #0x5c]
- mov r3, r2
- bl FUN_0209C0E8
-_0209BF88: ; 0x0209BF88
- mov r0, #0x0
- str r0, [r4, #0x60]
- ldmia sp!, {r4,lr}
- bx lr
- .balign 4
-_0209BF98: .word 0x021D3498
-
- arm_func_start FUN_0209BF9C
-FUN_0209BF9C:
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r0, _0209C02C ; =0x021D3498
- ldr r0, [r0, #0x4]
- ldr r0, [r0, #0xa4]
- cmp r0, #0x0
- beq _0209C01C
- ldrb r1, [r0, #0x9]
- cmp r1, #0x0
- beq _0209BFD4
- bl FUN_020A0538
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-_0209BFD4:
- ldr r1, [r0, #0x44]
- cmp r1, #0x0
- bne _0209BFFC
- ldrb r0, [r0, #0x8]
- cmp r0, #0x4
- beq _0209BFFC
- add r0, r0, #0xf6
- and r0, r0, #0xff
- cmp r0, #0x1
- bhi _0209C00C
-_0209BFFC:
- add sp, sp, #0x4
- mov r0, r1
- ldmia sp!, {lr}
- bx lr
-_0209C00C:
- add sp, sp, #0x4
- mvn r0, #0x0
- ldmia sp!, {lr}
- bx lr
-_0209C01C:
- mov r0, #0x0
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_0209C02C: .word 0x021D3498
-
- arm_func_start FUN_0209C030
-FUN_0209C030:
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- ldr r3, _0209C0E4 ; =0x021D3498
- mov r2, r0
- ldr r4, [r3, #0x4]
- mov r3, r1
- ldr r5, [r4, #0xa4]
- cmp r5, #0x0
- beq _0209C0D4
- ldr r4, [r5, #0x60]
- cmp r4, #0x0
- beq _0209C0BC
- ldr r0, [r5, #0x5c]
- mov r1, r4
- bl FUN_0209C0E8
- ldr r1, [r5, #0x60]
- mov r4, r0
- cmp r4, r1
- movcs r0, #0x0
- strcs r0, [r5, #0x60]
- addcs sp, sp, #0x4
- subcs r0, r4, r1
- ldmcsia sp!, {r4-r5,lr}
- bxcs lr
- ldr r0, [r5, #0x5c]
- sub r2, r1, r4
- add r1, r0, r4
- bl memmove
- ldr r1, [r5, #0x60]
- add sp, sp, #0x4
- sub r1, r1, r4
- mov r0, #0x0
- str r1, [r5, #0x60]
- ldmia sp!, {r4-r5,lr}
- bx lr
-_0209C0BC:
- mov r2, #0x0
- mov r3, r2
- bl FUN_0209C0E8
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
-_0209C0D4:
- mov r0, #0x0
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
- .balign 4
-_0209C0E4: .word 0x021D3498
-
- arm_func_start FUN_0209C0E8
-FUN_0209C0E8:
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- ldr ip, _0209C1CC ; =0x021D3498
- mov r7, r1
- ldr r12, [r12, #0x4]
- mov r6, r2
- ldr r4, [r12, #0xa4]
- mov r5, r3
- cmp r4, #0x0
- beq _0209C1BC
- ldrb r12, [r4, #0x8]
- cmp r12, #0xa
- bne _0209C14C
- cmp r7, #0x0
- beq _0209C12C
- mov r2, r4
- bl FUN_0209EB00
-_0209C12C:
- cmp r5, #0x0
- beq _0209C144
- mov r0, r6
- mov r1, r5
- mov r2, r4
- bl FUN_0209EB00
-_0209C144:
- add r0, r7, r5
- b _0209C1A4
-_0209C14C:
- cmp r12, #0xb
- bne _0209C184
- cmp r7, #0x0
- beq _0209C164
- mov r2, r4
- bl FUN_0209EC40
-_0209C164:
- cmp r5, #0x0
- beq _0209C17C
- mov r0, r6
- mov r1, r5
- mov r2, r4
- bl FUN_0209EC40
-_0209C17C:
- add r0, r7, r5
- b _0209C1A4
-_0209C184:
- ldrb r12, [r4, #0x9]
- cmp r12, #0x0
- beq _0209C19C
- str r4, [sp, #0x0]
- bl FUN_020A03E0
- b _0209C1A4
-_0209C19C:
- str r4, [sp, #0x0]
- bl FUN_0209C1D4
-_0209C1A4:
- ldr r1, _0209C1D0 ; =0x021C8EA8
- ldrb r1, [r1, #0x0]
- cmp r1, #0x0
- addeq sp, sp, #0x4
- ldmeqia sp!, {r4-r7,lr}
- bxeq lr
-_0209C1BC:
- mov r0, #0x0
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,lr}
- bx lr
- .balign 4
-_0209C1CC: .word 0x021D3498
-_0209C1D0: .word 0x021C8EA8
-
- arm_func_start FUN_0209C1D4
-FUN_0209C1D4:
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0x1c
- mov r4, #0x0
- mov r10, r0
- ldr r8, [sp, #0x40]
- mov r0, r4
- str r4, [sp, #0xc]
- mov r9, r1
- mov r11, r2
- str r3, [sp, #0x8]
- mov r6, r4
- str r0, [r8, #0x34]
- bl OS_GetTick
- mov r0, r0, lsr #0x10
- str r0, [sp, #0x10]
- orr r0, r0, r1, lsl #0x10
- str r0, [sp, #0x10]
- mov r0, r6
- str r0, [sp, #0x18]
- mov r0, #0x1
- ldr r4, _0209C3EC ; =0x021C8EFC
- str r0, [sp, #0x14]
- b _0209C39C
-_0209C230:
- ldr r7, [r8, #0x28]
- ldr r3, [sp, #0x8]
- str r8, [sp, #0x0]
- mov r0, r10
- mov r1, r9
- mov r2, r11
- str r6, [sp, #0x4]
- bl FUN_0209C3F0
- bl OS_GetTick
- mov r5, r0, lsr #0x10
- orr r5, r5, r1, lsl #0x10
-_0209C25C:
- bl FUN_020A005C
-_0209C260: ; 0x0209C260
- ldr r0, [r4, #0x0]
- blx r0
- cmp r0, #0x0
- beq _0209C2B8
- ldrb r0, [r8, #0x8]
- cmp r0, #0x4
- bne _0209C2B8
- ldr r1, [r8, #0x28]
- ldr r0, [r8, #0x30]
- cmp r1, r0
- beq _0209C2B8
- bl OS_GetTick
- mov r0, r0, lsr #0x10
- orr r0, r0, r1, lsl #0x10
- sub r0, r0, r5
- cmp r0, #0xf
- bge _0209C2B8
- cmp r6, #0x0
- beq _0209C25C
- ldrh r0, [r8, #0x2c]
- cmp r0, #0x0
- beq _0209C25C
-_0209C2B8:
- ldr r0, [r8, #0x30]
- subs r7, r0, r7
- ldr r0, [sp, #0xc]
- add r0, r0, r7
- str r0, [sp, #0xc]
- beq _0209C2E4
- bl OS_GetTick
- mov r0, r0, lsr #0x10
- str r0, [sp, #0x10]
- orr r0, r0, r1, lsl #0x10
- str r0, [sp, #0x10]
-_0209C2E4:
- ldr r0, [r8, #0x30]
- str r0, [r8, #0x28]
- ldrb r0, [r8, #0x8]
- cmp r0, #0x4
- bne _0209C36C
- ldrh r0, [r8, #0x2c]
- cmp r0, #0x0
- bne _0209C36C
- cmp r7, #0x0
- bne _0209C36C
- cmp r6, #0x0
- bne _0209C370
- bl OS_GetTick
- mov r5, r0, lsr #0x10
- orr r5, r5, r1, lsl #0x10
- b _0209C334
-_0209C324:
- bl FUN_020A005C
- ldrh r0, [r8, #0x2c]
- cmp r0, #0x0
- bne _0209C35C
-_0209C334:
- ldr r0, [r4, #0x0]
- blx r0
- cmp r0, #0x0
- beq _0209C35C
- bl OS_GetTick
- mov r0, r0, lsr #0x10
- orr r0, r0, r1, lsl #0x10
- sub r0, r0, r5
- cmp r0, #0xf
- blt _0209C324
-_0209C35C:
- ldrh r0, [r8, #0x2c]
- cmp r0, #0x0
- ldreq r6, [sp, #0x14]
- b _0209C370
-_0209C36C:
- ldr r6, [sp, #0x18]
-_0209C370:
- cmp r7, r9
- addcc r10, r10, r7
- subcc r9, r9, r7
- blo _0209C39C
- sub r1, r7, r9
- add r10, r11, r1
- ldr r0, [sp, #0x8]
- ldr r11, [sp, #0x18]
- sub r9, r0, r1
- mov r0, r11
- str r0, [sp, #0x8]
-_0209C39C:
- ldr r0, [r4, #0x0]
- blx r0
- cmp r0, #0x0
- beq _0209C3DC
- cmp r9, #0x0
- beq _0209C3DC
- ldrb r0, [r8, #0x8]
- cmp r0, #0x4
- bne _0209C3DC
- bl OS_GetTick
- mov r2, r0, lsr #0x10
- ldr r0, [sp, #0x10]
- orr r2, r2, r1, lsl #0x10
- sub r0, r2, r0
- cmp r0, #0x9f
- blt _0209C230
-_0209C3DC:
- ldr r0, [sp, #0xc]
- add sp, sp, #0x1c
- ldmia sp!, {r4-r11,lr}
- bx lr
- .balign 4
-_0209C3EC: .word 0x021C8EFC
-
- arm_func_start FUN_0209C3F0
-FUN_0209C3F0: ; 0x0209C3F0
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r5, r2
- mov r4, r3
- ldr r2, [sp, #0x10]
- ldr r3, [sp, #0x14]
- bl FUN_0209C44C
-_0209C40C: ; 0x0209C40C
- cmp r0, #0x0
- addeq sp, sp, #0x4
- ldmeqia sp!, {r4-r5,lr}
- bxeq lr
- cmp r4, #0x0
- addeq sp, sp, #0x4
- ldmeqia sp!, {r4-r5,lr}
- bxeq lr
- ldr r2, [sp, #0x10]
- mov r0, r5
- mov r1, r4
- mov r3, #0x0
- bl FUN_0209C44C
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
-
- arm_func_start FUN_0209C44C
-FUN_0209C44C:
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0xc
- mov r8, r2
- ldr r11, [r8, #0x34]
- mov r10, r0
- movs r0, r3
- mov r0, r11, lsl #0x1
- movne r6, #0x1
- add r5, r0, #0x4
- mov r0, #0x18
- str r3, [sp, #0x4]
- mov r9, r1
- ldreqh r6, [r8, #0x2c]
- mov r4, #0x0
- str r0, [sp, #0x8]
- b _0209C504
-_0209C48C:
- ldr r0, _0209C528 ; =0x021C8EB0
- ldrh r7, [r8, #0x2e]
- ldrh r0, [r0, #0x0]
- ldr r1, [r8, #0x34]
- cmp r7, r6
- movcs r7, r6
- cmp r0, r7
- movcc r7, r0
- ldr r0, [sp, #0x4]
- cmp r0, #0x0
- biceq r7, r7, #0x1
- cmp r9, r7
- sub r0, r1, r11
- movcc r7, r9
- adds r0, r5, r0
- moveq r7, r4
- mov r11, r1
- sub r5, r0, #0x1
- cmp r7, #0x0
- beq _0209C518
- ldr r3, [sp, #0x8]
- mov r0, r10
- mov r1, r7
- mov r2, r8
- str r4, [sp, #0x0]
- sub r6, r6, r7
- bl FUN_0209E878
- bl OS_YieldThread
- add r10, r10, r7
- sub r9, r9, r7
-_0209C504:
- cmp r9, #0x0
- beq _0209C518
- ldrb r0, [r8, #0x8]
- cmp r0, #0x4
- beq _0209C48C
-_0209C518:
- mov r0, r7
- add sp, sp, #0xc
- ldmia sp!, {r4-r11,lr}
- bx lr
- .balign 4
-_0209C528: .word 0x021C8EB0
-
- arm_func_start FUN_0209C52C
-FUN_0209C52C: ; 0x0209C52C
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r1, _0209C57C ; =0x021D3498
- ldr r1, [r1, #0x4]
- ldr r1, [r1, #0xa4]
- cmp r1, #0x0
- addeq sp, sp, #0x4
- ldmeqia sp!, {lr}
- bxeq lr
- ldrb r2, [r1, #0x9]
- cmp r2, #0x0
- beq _0209C56C
- bl FUN_020A0738
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-_0209C56C:
- bl FUN_0209C580
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_0209C57C: .word 0x021D3498
-
- arm_func_start FUN_0209C580
-FUN_0209C580:
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- mov r4, r1
- mov r7, r0
- bl OS_DisableInterrupts
- ldr r2, [r4, #0x44]
- ldr r1, [r4, #0x3c]
- mov r6, r0
- cmp r2, r1
- mov r5, #0x0
- bne _0209C5B4
- cmp r7, #0x0
- movne r5, #0x1
-_0209C5B4:
- cmp r7, r2
- movcs r0, #0x0
- strcs r0, [r4, #0x44]
- bhs _0209C5D8
- ldr r0, [r4, #0x40]
- sub r2, r2, r7
- add r1, r0, r7
- str r2, [r4, #0x44]
- bl memmove
-_0209C5D8:
- mov r0, r6
- bl OS_RestoreInterrupts
- ldrb r0, [r4, #0x8]
- cmp r0, #0xa
- addeq sp, sp, #0x4
- ldmeqia sp!, {r4-r7,lr}
- bxeq lr
- cmp r0, #0xb
- addeq sp, sp, #0x4
- ldmeqia sp!, {r4-r7,lr}
- bxeq lr
- ldr r0, [r4, #0x44]
- cmp r0, #0x0
- beq _0209C620
- cmp r5, #0x0
- addeq sp, sp, #0x4
- ldmeqia sp!, {r4-r7,lr}
- bxeq lr
-_0209C620:
- mov r0, r4
- mov r1, #0x1b
- bl FUN_0209DF84
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,lr}
- bx lr
-
- arm_func_start FUN_0209C638
-FUN_0209C638:
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r1, _0209C6BC ; =0x021D3498
- ldr r1, [r1, #0x4]
- ldr r1, [r1, #0xa4]
- cmp r1, #0x0
- beq _0209C6A4
- ldrb r2, [r1, #0x8]
- add r2, r2, #0xf6
- and r2, r2, #0xff
- cmp r2, #0x1
- bhi _0209C678
- bl FUN_0209C74C
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-_0209C678:
- ldrb r2, [r1, #0x9]
- cmp r2, #0x0
- beq _0209C694
- bl FUN_020A0790
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-_0209C694:
- bl FUN_0209C6C0
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-_0209C6A4:
- mov r1, #0x0
- str r1, [r0, #0x0]
- mov r0, r1
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_0209C6BC: .word 0x021D3498
-
- arm_func_start FUN_0209C6C0
-FUN_0209C6C0: ; 0x0209C6C0
- stmdb sp!, {r4-r8,lr}
- mov r4, r1
- ldr r1, [r4, #0x44]
- mov r5, r0
- cmp r1, #0x0
- bne _0209C728
- ldrb r0, [r4, #0x8]
- cmp r0, #0x4
- bne _0209C728
- bl OS_DisableInterrupts
- mov r8, r0
- mov r7, #0x2
- mov r6, #0x0
- b _0209C704
-_0209C6F8:
- mov r0, r6
- str r7, [r4, #0x4]
- bl OS_SleepThread
-_0209C704:
- ldr r0, [r4, #0x44]
- cmp r0, #0x0
- bne _0209C71C
- ldrb r0, [r4, #0x8]
- cmp r0, #0x4
- beq _0209C6F8
-_0209C71C:
- mov r0, r8
- bl OS_RestoreInterrupts
-_0209C724: ; 0x0209C724
- b _0209C72C
-_0209C728:
- bl OS_YieldThread
-_0209C72C:
- ldr r0, [r4, #0x44]
- str r0, [r5, #0x0]
- ldr r0, [r5, #0x0]
- cmp r0, #0x0
- ldrne r0, [r4, #0x40]
- moveq r0, #0x0
- ldmia sp!, {r4-r8,lr}
- bx lr
-
- arm_func_start FUN_0209C74C
-FUN_0209C74C: ; 0x0209C74C
- stmdb sp!, {r4-r9,lr}
- sub sp, sp, #0x4
- mov r8, r1
- mov r9, r0
- bl OS_DisableInterrupts
- ldr r7, [r8, #0x44]
- mov r6, r0
- cmp r7, #0x0
- bne _0209C790
- mov r5, #0x3
- mov r4, #0x0
-_0209C778:
- mov r0, r4
- str r5, [r8, #0x4]
- bl OS_SleepThread
- ldr r7, [r8, #0x44]
- cmp r7, #0x0
- beq _0209C778
-_0209C790:
- mov r0, r6
- bl OS_RestoreInterrupts
- str r7, [r9, #0x0]
- ldr r0, [r8, #0x40]
- add sp, sp, #0x4
- ldmia sp!, {r4-r9,lr}
- bx lr
-
- arm_func_start FUN_0209C7AC
-FUN_0209C7AC: ; 0x0209C7AC
- stmdb sp!, {r4-r6,lr}
- ldr r0, _0209C838 ; =0x021D3498
- ldr r0, [r0, #0x4]
- ldr r4, [r0, #0xa4]
- cmp r4, #0x0
- ldmeqia sp!, {r4-r6,lr}
- bxeq lr
- ldrb r0, [r4, #0x9]
- cmp r0, #0x0
- beq _0209C7DC
- mov r0, r4
- bl FUN_020A0320
-_0209C7DC:
- bl OS_GetTick
- mov r6, r0, lsr #0x10
- orr r6, r6, r1, lsl #0x10
- ldr r5, _0209C83C ; =0x021C8EFC
- b _0209C7F4
-_0209C7F0:
- bl FUN_020A005C
-_0209C7F4:
- ldr r0, [r5, #0x0]
- blx r0
- cmp r0, #0x0
- beq _0209C828
- ldrb r0, [r4, #0x8]
- cmp r0, #0x0
- beq _0209C828
- bl OS_GetTick
- mov r0, r0, lsr #0x10
- orr r0, r0, r1, lsl #0x10
- sub r0, r0, r6
- cmp r0, #0x27
- blt _0209C7F0
-_0209C828:
- mov r0, #0x0
- strb r0, [r4, #0x8]
- ldmia sp!, {r4-r6,lr}
- bx lr
- .balign 4
-_0209C838: .word 0x021D3498
-_0209C83C: .word 0x021C8EFC
-
- arm_func_start FUN_0209C840
-FUN_0209C840:
- stmdb sp!, {r4,lr}
- ldr r0, _0209C880 ; =0x021D3498
- ldr r0, [r0, #0x4]
- ldr r4, [r0, #0xa4]
- cmp r4, #0x0
- ldmeqia sp!, {r4,lr}
- bxeq lr
- ldrb r0, [r4, #0x9]
- cmp r0, #0x0
- beq _0209C870
- mov r0, r4
- bl FUN_020A035C
-_0209C870:
- mov r0, r4
- bl FUN_0209C884
- ldmia sp!, {r4,lr}
- bx lr
- .balign 4
-_0209C880: .word 0x021D3498
-
- arm_func_start FUN_0209C884
-FUN_0209C884: ; 0x0209C884
- stmdb sp!, {r4,lr}
- mov r4, r0
- bl OS_YieldThread
- ldrb r1, [r4, #0x8]
- add r0, r1, #0xfd
- and r0, r0, #0xff
- cmp r0, #0x1
- bhi _0209C8C0
- mov r0, r4
- mov r1, #0x19
- bl FUN_0209DF70
- mov r0, #0x7
- strb r0, [r4, #0x8]
- ldmia sp!, {r4,lr}
- bx lr
-_0209C8C0:
- cmp r1, #0x0
- ldmeqia sp!, {r4,lr}
- bxeq lr
- mov r0, r4
- mov r1, #0x1a
- bl FUN_0209DF84
- ldmia sp!, {r4,lr}
- bx lr
-
- arm_func_start FUN_0209C8E0
-FUN_0209C8E0: ; 0x0209C8E0
- ldr r2, _0209C930 ; =0x021D3498
- ldr r2, [r2, #0x4]
- ldr r3, [r2, #0xa4]
- cmp r3, #0x0
- beq _0209C928
- ldrb r2, [r3, #0x8]
- cmp r2, #0x4
- beq _0209C908
- cmp r2, #0xa
- bne _0209C928
-_0209C908:
- cmp r0, #0x0
- ldrneh r2, [r3, #0x18]
- strneh r2, [r0, #0x0]
- cmp r1, #0x0
- ldrne r0, [r3, #0x14]
- strne r0, [r1, #0x0]
- ldr r0, [r3, #0x1c]
- bx lr
-_0209C928:
- mov r0, #0x0
- bx lr
- .balign 4
-_0209C930: .word 0x021D3498
-
- arm_func_start FUN_0209C934
-FUN_0209C934: ; 0x0209C934
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r0, _0209C98C ; =0x021D3498
- ldr r0, [r0, #0x4]
- ldr r0, [r0, #0xa4]
- cmp r0, #0x0
- beq _0209C97C
- ldrb r1, [r0, #0x9]
- cmp r1, #0x0
- beq _0209C96C
- bl FUN_020A0874
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-_0209C96C:
- bl FUN_0209C990
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-_0209C97C:
- mov r0, #0x1
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_0209C98C: .word 0x021D3498
-
- arm_func_start FUN_0209C990
-FUN_0209C990:
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0x4
- mov r10, r0
- bl FUN_0209CC3C
- mov r8, r0
- mov r9, #0x0
- mov r11, r9
- mov r4, #0x1
- mov r6, #0x2
- mov r5, #0x18
-_0209C9B8:
- str r8, [r10, #0x28]
- strb r6, [r10, #0x8]
- bl OS_GetTick
- mov r2, r0, lsr #0x10
- orr r2, r2, r1, lsl #0x10
- str r2, [r10, #0x10]
- mov r0, r10
- mov r1, r6
- mov r2, r5
- bl FUN_0209DF98
- bl OS_DisableInterrupts
- mov r7, r0
- ldr r0, _0209CA50 ; =0x021C8F04
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- beq _0209CA04
- mov r0, r11
- str r4, [r10, #0x4]
- bl OS_SleepThread
-_0209CA04:
- mov r0, r7
- bl OS_RestoreInterrupts
- ldrb r0, [r10, #0x8]
- cmp r0, #0x4
- addeq sp, sp, #0x4
- moveq r0, #0x0
- ldmeqia sp!, {r4-r11,lr}
- bxeq lr
- ldr r0, _0209CA50 ; =0x021C8F04
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- beq _0209CA40
- add r9, r9, #0x1
- cmp r9, #0x3
- blo _0209C9B8
-_0209CA40:
- mov r0, #0x1
- add sp, sp, #0x4
- ldmia sp!, {r4-r11,lr}
- bx lr
- .balign 4
-_0209CA50: .word 0x021C8F04
-
- arm_func_start FUN_0209CA54
-FUN_0209CA54: ; 0x0209CA54
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r0, _0209CAA4 ; =0x021D3498
- ldr r0, [r0, #0x4]
- ldr r0, [r0, #0xa4]
- cmp r0, #0x0
- addeq sp, sp, #0x4
- ldmeqia sp!, {lr}
- bxeq lr
- ldrb r1, [r0, #0x9]
- cmp r1, #0x0
- beq _0209CA94
- bl FUN_020A09CC
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-_0209CA94:
- bl FUN_0209CAC4
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_0209CAA4: .word 0x021D3498
-
- arm_func_start FUN_0209CAA8
-FUN_0209CAA8:
- ldr r1, _0209CAC0 ; =0x021D3498
- ldr r1, [r1, #0x4]
- ldr r1, [r1, #0xa4]
- cmp r1, #0x0
- strne r0, [r1, #0x38]
- bx lr
- .balign 4
-_0209CAC0: .word 0x021D3498
-
- arm_func_start FUN_0209CAC4
-FUN_0209CAC4: ; 0x0209CAC4
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r5, r0
- bl FUN_0209CC3C
- str r0, [r5, #0x28]
- mov r0, #0x1
- strb r0, [r5, #0x8]
- bl OS_DisableInterrupts
- mov r4, r0
- mov r1, #0x1
- mov r0, #0x0
- str r1, [r5, #0x4]
- bl OS_SleepThread
- mov r0, r4
- bl OS_RestoreInterrupts
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
-
- arm_func_start FUN_0209CB0C
-FUN_0209CB0C: ; 0x0209CB0C
- ldr r1, _0209CB20 ; =0x021D3498
- ldr r1, [r1, #0x4]
- ldr r1, [r1, #0xa4]
- str r1, [r0, #0xa4]
- bx lr
- .balign 4
-_0209CB20: .word 0x021D3498
-
- arm_func_start FUN_0209CB24
-FUN_0209CB24: ; 0x0209CB24
- ldr r0, _0209CB40 ; =0x021D3498
- ldr r0, [r0, #0x4]
- ldr r1, [r0, #0xa4]
- cmp r1, #0x0
- movne r0, #0x0
- strne r0, [r1, #0x0]
- bx lr
- .balign 4
-_0209CB40: .word 0x021D3498
-
- arm_func_start FUN_0209CB44
-FUN_0209CB44: ; 0x0209CB44
- ldr r0, _0209CB74 ; =0x021D3498
- ldr r0, [r0, #0x4]
- ldr r1, [r0, #0xa4]
- cmp r1, #0x0
- bxeq lr
- str r0, [r1, #0x0]
- mov r0, #0x0
- strb r0, [r1, #0x8]
- str r0, [r1, #0x44]
- str r0, [r1, #0x60]
- str r0, [r1, #0x38]
- bx lr
- .balign 4
-_0209CB74: .word 0x021D3498
-
- arm_func_start FUN_0209CB78
-FUN_0209CB78: ; 0x0209CB78
- stmdb sp!, {r4,lr}
- ldr r3, _0209CBDC ; =0x021D3498
- ldr r3, [r3, #0x4]
- ldr r4, [r3, #0xa4]
- cmp r4, #0x0
- ldmeqia sp!, {r4,lr}
- bxeq lr
- ldr r3, _0209CBE0 ; =0x7F000001
- cmp r2, r3
- ldreq r2, _0209CBE4 ; =0x021C8F04
- ldreq r2, [r2, #0x0]
- cmp r0, #0x0
- strh r1, [r4, #0x1a]
- ldrh r1, [r4, #0x1a]
- strh r1, [r4, #0x18]
- str r2, [r4, #0x20]
- ldr r1, [r4, #0x20]
- str r1, [r4, #0x1c]
- strneh r0, [r4, #0xa]
- ldmneia sp!, {r4,lr}
- bxne lr
- bl FUN_0209CC8C
- strh r0, [r4, #0xa]
- ldmia sp!, {r4,lr}
- bx lr
- .balign 4
-_0209CBDC: .word 0x021D3498
-_0209CBE0: .word 0x7F000001
-_0209CBE4: .word 0x021C8F04
-
- arm_func_start FUN_0209CBE8
-FUN_0209CBE8: ; 0x0209CBE8
- ldr r0, _0209CC0C ; =0x021D3498
- ldr r0, [r0, #0x4]
- ldr r1, [r0, #0xa4]
- cmp r1, #0x0
- movne r0, #0xa
- strneb r0, [r1, #0x8]
- movne r0, #0x0
- strne r0, [r1, #0x44]
- bx lr
- .balign 4
-_0209CC0C: .word 0x021D3498
-
- arm_func_start FUN_0209CC10
-FUN_0209CC10: ; 0x0209CC10
- ldr r0, _0209CC24 ; =0x021D3498
- mov r1, #0x0
- ldr r0, [r0, #0x4]
- str r1, [r0, #0xa4]
- bx lr
- .balign 4
-_0209CC24: .word 0x021D3498
-
- arm_func_start FUN_0209CC28
-FUN_0209CC28: ; 0x0209CC28
- ldr r1, _0209CC38 ; =0x021D3498
- ldr r1, [r1, #0x4]
- str r0, [r1, #0xa4]
- bx lr
- .balign 4
-_0209CC38: .word 0x021D3498
-
- arm_func_start FUN_0209CC3C
-FUN_0209CC3C: ; 0x0209CC3C
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r1, _0209CC88 ; =0x021C8F24
- ldr r3, [r1, #0x8]
- ldr r2, [r1, #0x0]
- ldr r0, [r1, #0x4]
- umull lr, r12, r3, r2
- mla r12, r3, r0, r12
- ldr r0, [r1, #0xc]
- ldr r3, [r1, #0x10]
- mla r12, r0, r2, r12
- adds r2, r3, lr
- ldr r0, [r1, #0x14]
- str r2, [r1, #0x0]
- adc r0, r0, r12
- str r0, [r1, #0x4]
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_0209CC88: .word 0x021C8F24
-
- arm_func_start FUN_0209CC8C
-FUN_0209CC8C: ; 0x0209CC8C
- stmdb sp!, {r4-r8,lr}
- ldr r0, _0209CD30 ; =0x021D3498
- ldr r6, [r0, #0x8]
- ldr r2, _0209CD34 ; =0x021C8EBC
- mov r4, #0x400
- mov r3, #0x1
- mov r5, #0x0
- ldr r1, _0209CD38 ; =0x00001388
-_0209CCAC:
- ldrh r12, [r2, #0x0]
- mov r0, r5
- add r12, r12, #0x1
- strh r12, [r2, #0x0]
- ldrh r12, [r2, #0x0]
- cmp r12, #0x400
- blo _0209CCD0
- cmp r12, r1
- blo _0209CCD4
-_0209CCD0:
- strh r4, [r2, #0x0]
-_0209CCD4:
- mov r8, r6
- cmp r6, #0x0
- beq _0209CD18
- ldrh r7, [r2, #0x0]
-_0209CCE4:
- ldr lr, [r8, #0xa4]
- cmp lr, #0x0
- beq _0209CD0C
- ldr r12, [lr, #0x0]
- cmp r12, #0x0
- beq _0209CD0C
- ldrh r12, [lr, #0xa]
- cmp r12, r7
- moveq r0, r3
- beq _0209CD18
-_0209CD0C:
- ldr r8, [r8, #0x68]
- cmp r8, #0x0
- bne _0209CCE4
-_0209CD18:
- cmp r0, #0x0
- bne _0209CCAC
- ldr r0, _0209CD34 ; =0x021C8EBC
- ldrh r0, [r0, #0x0]
- ldmia sp!, {r4-r8,lr}
- bx lr
- .balign 4
-_0209CD30: .word 0x021D3498
-_0209CD34: .word 0x021C8EBC
-_0209CD38: .word 0x00001388
-
- arm_func_start FUN_0209CD3C
-FUN_0209CD3C: ; 0x0209CD3C
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- ldr r5, _0209CDAC ; =0x00000806
- add r4, sp, #0x0
-_0209CD4C:
- mov r0, r4
- bl FUN_0209F57C
- ldr r3, [sp, #0x0]
- cmp r3, #0x22
- bls _0209CDA4
- ldrh r2, [r0, #0xc]
- mov r1, r2, asr #0x8
- orr r1, r1, r2, lsl #0x8
- mov r1, r1, lsl #0x10
- mov r1, r1, lsr #0x10
- cmp r1, #0x800
- beq _0209CD88
- cmp r1, r5
- beq _0209CD98
- b _0209CDA4
-_0209CD88:
- add r0, r0, #0xe
- sub r1, r3, #0xe
- bl FUN_0209CDB0
- b _0209CDA4
-_0209CD98:
- add r0, r0, #0xe
- sub r1, r3, #0xe
- bl FUN_0209E614
-_0209CDA4:
- bl FUN_0209F51C
- b _0209CD4C
- .balign 4
-_0209CDAC: .word 0x00000806
-
- arm_func_start FUN_0209CDB0
-FUN_0209CDB0: ; 0x0209CDB0
- stmdb sp!, {r4-r6,lr}
- sub sp, sp, #0x8
- mov r4, r0
- ldrh r12, [r4, #0xc]
- ldrh r6, [r4, #0x10]
- ldrh r2, [r4, #0xe]
- ldrh r0, [r4, #0x12]
- mov r5, r6, asr #0x8
- mov r3, r12, asr #0x8
- orr r5, r5, r6, lsl #0x8
- orr r12, r3, r12, lsl #0x8
- mov r3, r5, lsl #0x10
- mov r5, r0, asr #0x8
- mov r12, r12, lsl #0x10
- mov lr, r2, asr #0x8
- mov r6, r3, lsr #0x10
- orr r0, r5, r0, lsl #0x8
- mov r3, r12, lsr #0x10
- orr r2, lr, r2, lsl #0x8
- mov r5, r6, lsl #0x10
- mov r0, r0, lsl #0x10
- mov r3, r3, lsl #0x10
- mov r2, r2, lsl #0x10
- orr r0, r5, r0, lsr #0x10
- orr r2, r3, r2, lsr #0x10
- mov r5, r1
- cmp r0, r2
- beq _0209CEF0
- bl FUN_0209F9CC
-_0209CE24: ; 0x0209CE24
- cmp r0, #0x0
- addeq sp, sp, #0x8
- ldmeqia sp!, {r4-r6,lr}
- bxeq lr
- ldrh r1, [r4, #0x2]
- mov r0, r1, asr #0x8
- orr r0, r0, r1, lsl #0x8
- mov r0, r0, lsl #0x10
- cmp r5, r0, lsr #0x10
- addcc sp, sp, #0x8
- ldmccia sp!, {r4-r6,lr}
- bxcc lr
- ldrb r1, [r4, #0x0]
- mov r0, r4
- and r1, r1, #0xf
- mov r1, r1, lsl #0x2
- bl FUN_0209FB84
- ldr r1, _0209CFA0 ; =0x0000FFFF
- cmp r0, r1
- addne sp, sp, #0x8
- ldmneia sp!, {r4-r6,lr}
- bxne lr
- ldrh r2, [r4, #0x10]
- ldrh r12, [r4, #0x12]
- ldr r1, _0209CFA4 ; =0x021C8F04
- mov r0, r2, asr #0x8
- orr r0, r0, r2, lsl #0x8
- mov r0, r0, lsl #0x10
- mov r2, r12, asr #0x8
- mov r3, r0, lsr #0x10
- orr r0, r2, r12, lsl #0x8
- mov r2, r3, lsl #0x10
- mov r0, r0, lsl #0x10
- ldr r1, [r1, #0x0]
- orr r0, r2, r0, lsr #0x10
- cmp r1, r0
- bne _0209CEF0
- ldrh r2, [r4, #0xc]
- ldrh r12, [r4, #0xe]
- sub r0, r4, #0x8
- mov r1, r2, asr #0x8
- orr r1, r1, r2, lsl #0x8
- mov r1, r1, lsl #0x10
- mov r2, r12, asr #0x8
- mov r3, r1, lsr #0x10
- orr r1, r2, r12, lsl #0x8
- mov r2, r3, lsl #0x10
- mov r1, r1, lsl #0x10
- orr r1, r2, r1, lsr #0x10
- mov r2, #0x1
- bl FUN_0209F12C
-_0209CEF0:
- add r1, sp, #0x0
- mov r0, r4
- bl FUN_0209CFAC
- movs r4, r0
- addeq sp, sp, #0x8
- ldmeqia sp!, {r4-r6,lr}
- bxeq lr
- ldrh r2, [r4, #0x2]
- ldrb r3, [r4, #0x0]
- ldrb r12, [r4, #0x9]
- mov r1, r2, asr #0x8
- orr r1, r1, r2, lsl #0x8
- mov r1, r1, lsl #0x10
- and r3, r3, #0xf
- mov r2, r1, lsr #0x10
- cmp r12, #0x11
- add r1, r4, r3, lsl #0x2
- sub r2, r2, r3, lsl #0x2
- bne _0209CF44
- bl FUN_0209D2BC
- b _0209CF70
-_0209CF44:
- ldr r3, _0209CFA4 ; =0x021C8F04
- ldr r3, [r3, #0x0]
- cmp r3, #0x0
- beq _0209CF70
- cmp r12, #0x1
- bne _0209CF64
- bl FUN_0209E2E0
- b _0209CF70
-_0209CF64:
- cmp r12, #0x6
- bne _0209CF70
- bl FUN_0209D4D8
-_0209CF70:
- ldr r0, [sp, #0x0]
- cmp r0, #0x0
- addeq sp, sp, #0x8
- ldmeqia sp!, {r4-r6,lr}
- bxeq lr
- ldr r1, _0209CFA8 ; =0x021C8EF4
- sub r0, r4, #0xe
- ldr r1, [r1, #0x0]
- blx r1
- add sp, sp, #0x8
- ldmia sp!, {r4-r6,lr}
- bx lr
- .balign 4
-_0209CFA0: .word 0x0000FFFF
-_0209CFA4: .word 0x021C8F04
-_0209CFA8: .word 0x021C8EF4
-
- arm_func_start FUN_0209CFAC
-FUN_0209CFAC: ; 0x0209CFAC
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0x14
- mov r6, #0x0
- mov r10, r0
- str r6, [r1, #0x0]
- ldrh r3, [r10, #0x6]
- str r1, [sp, #0x0]
- ldr r2, _0209D2A4 ; =0x00003FFF
- mov r1, r3, asr #0x8
- orr r1, r1, r3, lsl #0x8
- mov r1, r1, lsl #0x10
- mov r1, r1, lsr #0x10
- str r1, [sp, #0x4]
- ands r1, r1, r2
- addeq sp, sp, #0x14
- ldmeqia sp!, {r4-r11,lr}
- bxeq lr
- ldrh r1, [r10, #0xc]
- ldrh r3, [r10, #0xe]
- ldrb r4, [r10, #0x0]
- mov r0, r1, asr #0x8
- orr r0, r0, r1, lsl #0x8
- mov r0, r0, lsl #0x10
- mov r1, r3, asr #0x8
- mov r2, r0, lsr #0x10
- orr r0, r1, r3, lsl #0x8
- and r3, r4, #0xf
- ldrh r9, [r10, #0x4]
- mov r2, r2, lsl #0x10
- mov r1, r0, lsl #0x10
- ldr r5, _0209D2A8 ; =0x021C9520
- mov r0, r6
- mov r7, r3, lsl #0x2
- orr r4, r2, r1, lsr #0x10
-_0209D034:
- ldrh r2, [r5, #0x4]
- cmp r2, #0x0
- beq _0209D058
- ldr r1, [r5, #0x0]
- cmp r1, r4
- bne _0209D058
- ldrh r1, [r5, #0x6]
- cmp r1, r9
- beq _0209D078
-_0209D058:
- cmp r2, #0x0
- bne _0209D068
- cmp r6, #0x0
- moveq r6, r5
-_0209D068:
- add r0, r0, #0x1
- cmp r0, #0x8
- add r5, r5, #0x38
- blo _0209D034
-_0209D078:
- ldrh r2, [r10, #0x2]
- cmp r0, #0x8
- ldr r1, _0209D2AC ; =0x00001FFF
- mov r0, r2, asr #0x8
- orr r0, r0, r2, lsl #0x8
- mov r0, r0, lsl #0x10
- mov r2, r0, lsr #0x10
- ldr r0, [sp, #0x4]
- and r8, r0, r1
- sub r0, r2, r7
- str r0, [sp, #0x8]
- mov r0, r8, lsl #0x3
- str r0, [sp, #0xc]
- ldr r0, [sp, #0x8]
- add r11, r0, r8, lsl #0x3
- bne _0209D150
- cmp r6, #0x0
- beq _0209D0C8
- cmp r11, #0x1000
- bls _0209D0D8
-_0209D0C8:
- add sp, sp, #0x14
- mov r0, #0x0
- ldmia sp!, {r4-r11,lr}
- bx lr
-_0209D0D8:
- ldr r1, _0209D2B0 ; =0x021C8EC8
- ldr r0, _0209D2B4 ; =0x0000100E
- ldr r1, [r1, #0x0]
- add r0, r7, r0
- mov r5, r6
- blx r1
- str r0, [r6, #0x34]
- ldr r0, [r6, #0x34]
- cmp r0, #0x0
- addeq sp, sp, #0x14
- moveq r0, #0x0
- ldmeqia sp!, {r4-r11,lr}
- bxeq lr
- str r4, [r6, #0x0]
- strh r9, [r6, #0x6]
- mov r0, #0x0
- strh r0, [r6, #0x8]
- bl OS_GetTick
- mov r0, r0, lsr #0x10
- orr r0, r0, r1, lsl #0x10
- str r0, [r6, #0x2c]
- ldr r1, [r6, #0x34]
- mov r0, r10
- add r1, r1, #0xe
- add r1, r1, r7
- str r1, [r6, #0x30]
- ldr r1, [r6, #0x34]
- mov r2, r7
- add r1, r1, #0xe
- bl MI_CpuCopy8
-_0209D150:
- ldrh r0, [r5, #0x4]
- cmp r0, #0x8
- beq _0209D164
- cmp r11, #0x1000
- bls _0209D18C
-_0209D164:
- mov r0, #0x0
- strh r0, [r5, #0x4]
- ldr r1, _0209D2B8 ; =0x021C8EF4
- ldr r0, [r5, #0x34]
- ldr r1, [r1, #0x0]
- blx r1
- add sp, sp, #0x14
- mov r0, #0x0
- ldmia sp!, {r4-r11,lr}
- bx lr
-_0209D18C:
- ldr r0, [sp, #0x8]
- ldr r2, [sp, #0x8]
- add r0, r0, #0x7
- add r1, r8, r0, lsr #0x3
- ldr r0, [sp, #0x4]
- ands r0, r0, #0x2000
- streqh r11, [r5, #0xa]
- streqh r1, [r5, #0x8]
- ldrh r3, [r5, #0x4]
- add r0, r10, r7
- add r3, r5, r3, lsl #0x1
- strh r8, [r3, #0xc]
- ldrh r3, [r5, #0x4]
- add r3, r5, r3, lsl #0x1
- strh r1, [r3, #0x1c]
- ldrh r1, [r5, #0x4]
- add r1, r1, #0x1
- strh r1, [r5, #0x4]
- ldr r3, [r5, #0x30]
- ldr r1, [sp, #0xc]
- add r1, r3, r1
- bl MI_CpuCopy8
- ldrh r6, [r5, #0x8]
- cmp r6, #0x0
- addeq sp, sp, #0x14
- moveq r0, #0x0
- ldmeqia sp!, {r4-r11,lr}
- bxeq lr
- ldrh r7, [r5, #0x4]
- mov r3, #0x0
- mov r4, r3
- cmp r7, #0x0
- bls _0209D244
- mov r0, r3
-_0209D214:
- add r2, r5, r4, lsl #0x1
- ldrh r1, [r2, #0xc]
- cmp r1, r3
- bhi _0209D238
- ldrh r1, [r2, #0x1c]
- cmp r3, r1
- movcc r3, r1
- movcc r4, r0
- blo _0209D23C
-_0209D238:
- add r4, r4, #0x1
-_0209D23C:
- cmp r4, r7
- blo _0209D214
-_0209D244:
- cmp r3, r6
- addcc sp, sp, #0x14
- movcc r0, #0x0
- ldmccia sp!, {r4-r11,lr}
- bxcc lr
- ldr r0, [r5, #0x34]
- ldrh r3, [r5, #0xa]
- ldrb r1, [r0, #0xe]
- add r0, r0, #0xe
- mov r2, #0x0
- and r1, r1, #0xf
- add r1, r3, r1, lsl #0x2
- mov r1, r1, lsl #0x10
- mov r3, r1, lsr #0x10
- mov r1, r3, asr #0x8
- orr r1, r1, r3, lsl #0x8
- strh r1, [r0, #0x2]
- strh r2, [r5, #0x4]
- ldr r1, [sp, #0x0]
- mov r2, #0x1
- str r2, [r1, #0x0]
- add sp, sp, #0x14
- ldmia sp!, {r4-r11,lr}
- bx lr
- .balign 4
-_0209D2A4: .word 0x00003FFF
-_0209D2A8: .word 0x021C9520
-_0209D2AC: .word 0x00001FFF
-_0209D2B0: .word 0x021C8EC8
-_0209D2B4: .word 0x0000100E
-_0209D2B8: .word 0x021C8EF4
-
- arm_func_start FUN_0209D2BC
-FUN_0209D2BC: ; 0x0209D2BC
- stmdb sp!, {r4-r8,lr}
- mov r6, r1
- ldrh r1, [r6, #0x6]
- mov r7, r0
- mov r5, r2
- cmp r1, #0x0
- beq _0209D2F8
- mov r0, r6
- mov r1, r5
- mov r2, r7
- mov r3, #0x11
- bl FUN_0209FB28
-_0209D2EC: ; 0x0209D2EC
- cmp r0, #0x0
- ldmneia sp!, {r4-r8,lr}
- bxne lr
-_0209D2F8:
- bl OS_DisableInterrupts
- ldr r1, _0209D4D4 ; =0x021D3498
- mov r8, r0
- ldr r2, [r1, #0x8]
- cmp r2, #0x0
- beq _0209D4C4
- mvn r12, #0x0
-_0209D314:
- ldr r4, [r2, #0xa4]
- cmp r4, #0x0
- beq _0209D4B8
- ldr r0, [r4, #0x0]
- cmp r0, #0x0
- beq _0209D4B8
- ldrb r0, [r4, #0x8]
- cmp r0, #0xa
- bne _0209D4B8
- ldrh r3, [r6, #0x2]
- ldrh r1, [r4, #0xa]
- mov r0, r3, asr #0x8
- orr r0, r0, r3, lsl #0x8
- mov r0, r0, lsl #0x10
- cmp r1, r0, lsr #0x10
- bne _0209D4B8
- ldrh r3, [r4, #0x18]
- cmp r3, #0x0
- beq _0209D378
- ldrh r1, [r6, #0x0]
- mov r0, r1, asr #0x8
- orr r0, r0, r1, lsl #0x8
- mov r0, r0, lsl #0x10
- cmp r3, r0, lsr #0x10
- bne _0209D4B8
-_0209D378:
- ldr r1, [r4, #0x1c]
- cmp r1, #0x0
- beq _0209D3C0
- cmp r1, r12
- beq _0209D3C0
- ldrh lr, [r7, #0xc]
- ldrh r0, [r7, #0xe]
- mov r3, lr, asr #0x8
- orr r3, r3, lr, lsl #0x8
- mov r3, r3, lsl #0x10
- mov lr, r0, asr #0x8
- mov r3, r3, lsr #0x10
- orr r0, lr, r0, lsl #0x8
- mov r3, r3, lsl #0x10
- mov r0, r0, lsl #0x10
- orr r0, r3, r0, lsr #0x10
- cmp r1, r0
- bne _0209D4B8
-_0209D3C0:
- ldrh r1, [r7, #0x10]
- ldrh r3, [r7, #0x12]
- mov r0, r1, asr #0x8
- orr r0, r0, r1, lsl #0x8
- mov r0, r0, lsl #0x10
- mov r1, r3, asr #0x8
- mov r2, r0, lsr #0x10
- orr r0, r1, r3, lsl #0x8
- mov r1, r2, lsl #0x10
- mov r0, r0, lsl #0x10
- orr r0, r1, r0, lsr #0x10
- str r0, [r4, #0x14]
- ldr r0, [r4, #0x1c]
- cmp r0, #0x0
- bne _0209D43C
- ldrh r1, [r7, #0xc]
- ldrh r3, [r7, #0xe]
- mov r0, r1, asr #0x8
- orr r0, r0, r1, lsl #0x8
- mov r0, r0, lsl #0x10
- mov r1, r3, asr #0x8
- mov r2, r0, lsr #0x10
- orr r0, r1, r3, lsl #0x8
- mov r1, r2, lsl #0x10
- mov r0, r0, lsl #0x10
- orr r0, r1, r0, lsr #0x10
- str r0, [r4, #0x1c]
- ldrh r1, [r6, #0x0]
- mov r0, r1, asr #0x8
- orr r0, r0, r1, lsl #0x8
- strh r0, [r4, #0x18]
-_0209D43C:
- ldr r0, [r4, #0x44]
- cmp r0, #0x0
- bne _0209D4C4
- ldr r1, [r4, #0x3c]
- sub r0, r5, #0x8
- cmp r0, r1
- strhi r1, [r4, #0x44]
- strls r0, [r4, #0x44]
- ldr r1, [r4, #0x40]
- ldr r2, [r4, #0x44]
- add r0, r6, #0x8
- bl MI_CpuCopy8
- ldr r0, [r4, #0x4]
- cmp r0, #0x3
- bne _0209D48C
- mov r0, #0x0
- str r0, [r4, #0x4]
- ldr r0, [r4, #0x0]
- bl OS_WakeupThreadDirect
- b _0209D4C4
-_0209D48C:
- ldr r3, [r4, #0x38]
- cmp r3, #0x0
- beq _0209D4C4
- ldr r0, [r4, #0x40]
- ldr r1, [r4, #0x44]
- mov r2, r4
- blx r3
- cmp r0, #0x0
- movne r0, #0x0
- strne r0, [r4, #0x44]
- b _0209D4C4
-_0209D4B8:
- ldr r2, [r2, #0x68]
- cmp r2, #0x0
- bne _0209D314
-_0209D4C4:
- mov r0, r8
- bl OS_RestoreInterrupts
- ldmia sp!, {r4-r8,lr}
- bx lr
- .balign 4
-_0209D4D4: .word 0x021D3498
-
- arm_func_start FUN_0209D4D8
-FUN_0209D4D8:
- stmdb sp!, {r4-r6,lr}
- mov r6, r0
- mov r5, r1
- mov r4, r2
- mov r0, r5
- mov r1, r4
- mov r2, r6
- mov r3, #0x6
- bl FUN_0209FB28
-_0209D4FC: ; 0x0209D4FC
- cmp r0, #0x0
- ldmneia sp!, {r4-r6,lr}
- bxne lr
- ldrb r0, [r5, #0xc]
- ldrb r2, [r5, #0xd]
- and r1, r0, #0xf0
- mov r0, r1, asr #0x1
- add r0, r1, r0, lsr #0x1e
- and r1, r2, #0x17
- cmp r1, #0x10
- sub r4, r4, r0, asr #0x2
- bgt _0209D558
- cmp r1, #0x10
- bge _0209D5C4
- cmp r1, #0x2
- bgt _0209D5F4
- cmp r1, #0x1
- blt _0209D5F4
- cmp r1, #0x1
- beq _0209D5DC
- cmp r1, #0x2
- beq _0209D57C
- b _0209D5F4
-_0209D558:
- cmp r1, #0x12
- bgt _0209D5F4
- cmp r1, #0x11
- blt _0209D5F4
- cmp r1, #0x11
- beq _0209D5C4
- cmp r1, #0x12
- beq _0209D5A0
- b _0209D5F4
-_0209D57C:
- ands r0, r2, #0x28
- ldmneia sp!, {r4-r6,lr}
- bxne lr
- mov r0, r6
- mov r1, r5
- mov r2, r4
- bl FUN_0209DBB0
- ldmia sp!, {r4-r6,lr}
- bx lr
-_0209D5A0:
- ands r0, r2, #0x28
- ldmneia sp!, {r4-r6,lr}
- bxne lr
- mov r0, r6
- mov r1, r5
- mov r2, r4
- bl FUN_0209DA9C
- ldmia sp!, {r4-r6,lr}
- bx lr
-_0209D5C4:
- mov r0, r6
- mov r1, r5
- mov r2, r4
- bl FUN_0209D774
- ldmia sp!, {r4-r6,lr}
- bx lr
-_0209D5DC:
- mov r0, r6
- mov r1, r5
- mov r2, r4
- bl FUN_0209D674
- ldmia sp!, {r4-r6,lr}
- bx lr
-_0209D5F4:
- ands r0, r2, #0x4
- beq _0209D610
- mov r0, r6
- mov r1, r5
- bl FUN_0209D62C
- ldmia sp!, {r4-r6,lr}
- bx lr
-_0209D610:
- mov r0, r6
- mov r1, r5
- mov r2, r4
- mov r3, #0x0
- bl FUN_0209DE34
- ldmia sp!, {r4-r6,lr}
- bx lr
-
- arm_func_start FUN_0209D62C
-FUN_0209D62C: ; 0x0209D62C
- stmdb sp!, {r4,lr}
- bl FUN_0209E0C8
- movs r4, r0
- ldmeqia sp!, {r4,lr}
- bxeq lr
- bl OS_YieldThread
- mov r1, #0x0
- strb r1, [r4, #0x8]
- ldr r0, [r4, #0x4]
- sub r0, r0, #0x1
- cmp r0, #0x1
- ldmhiia sp!, {r4,lr}
- bxhi lr
- str r1, [r4, #0x4]
- ldr r0, [r4, #0x0]
- bl OS_WakeupThreadDirect
- ldmia sp!, {r4,lr}
- bx lr
-
- arm_func_start FUN_0209D674
-FUN_0209D674: ; 0x0209D674
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- mov r7, r0
- mov r6, r1
- mov r5, r2
- bl FUN_0209E0C8
- movs r4, r0
- addeq sp, sp, #0x4
- ldmeqia sp!, {r4-r7,lr}
- bxeq lr
- ldrb r1, [r4, #0x8]
- cmp r1, #0x4
- beq _0209D72C
- cmp r1, #0x7
- beq _0209D6BC
- cmp r1, #0x8
- beq _0209D6E4
- b _0209D754
-_0209D6BC:
- ldr r2, [r4, #0x24]
- mov r1, #0x0
- add r2, r2, #0x1
- str r2, [r4, #0x24]
- bl FUN_0209DF84
- mov r0, #0x9
- add sp, sp, #0x4
- strb r0, [r4, #0x8]
- ldmia sp!, {r4-r7,lr}
- bx lr
-_0209D6E4:
- ldr r2, [r4, #0x24]
- mov r1, #0x0
- add r2, r2, #0x1
- str r2, [r4, #0x24]
- bl FUN_0209DF84
- mov r1, #0x0
- strb r1, [r4, #0x8]
- ldr r0, [r4, #0x4]
- cmp r0, #0x2
- addne sp, sp, #0x4
- ldmneia sp!, {r4-r7,lr}
- bxne lr
- str r1, [r4, #0x4]
- ldr r0, [r4, #0x0]
- bl OS_WakeupThreadDirect
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,lr}
- bx lr
-_0209D72C:
- ldr r2, [r4, #0x24]
- mov r1, #0x0
- add r2, r2, #0x1
- str r2, [r4, #0x24]
- bl FUN_0209DF70
- mov r0, #0x6
- add sp, sp, #0x4
- strb r0, [r4, #0x8]
- ldmia sp!, {r4-r7,lr}
- bx lr
-_0209D754:
- mov r0, r7
- mov r1, r6
- mov r2, r5
- mov r3, #0x0
- bl FUN_0209DE34
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,lr}
- bx lr
-
- arm_func_start FUN_0209D774
-FUN_0209D774: ; 0x0209D774
- stmdb sp!, {r4-r9,lr}
- sub sp, sp, #0x4
- mov r8, r0
- mov r7, r1
- mov r6, r2
- bl FUN_0209E0C8
- movs r5, r0
- bne _0209D7B4
- mov r0, r8
- mov r1, r7
- mov r2, r6
- mov r3, #0x0
- bl FUN_0209DE34
- add sp, sp, #0x4
- ldmia sp!, {r4-r9,lr}
- bx lr
-_0209D7B4:
- ldrh r3, [r7, #0x8]
- ldrh r1, [r7, #0xa]
- ldrb r4, [r7, #0xd]
- mov r2, r3, asr #0x8
- orr r2, r2, r3, lsl #0x8
- mov r2, r2, lsl #0x10
- mov r3, r1, asr #0x8
- mov r2, r2, lsr #0x10
- orr r1, r3, r1, lsl #0x8
- mov r2, r2, lsl #0x10
- mov r1, r1, lsl #0x10
- orr r1, r2, r1, lsr #0x10
- str r1, [r5, #0x30]
- ldrh r9, [r7, #0x4]
- ldrh r1, [r7, #0x6]
- ldrb r3, [r5, #0x8]
- mov r2, r9, asr #0x8
- orr r2, r2, r9, lsl #0x8
- mov r2, r2, lsl #0x10
- mov r9, r1, asr #0x8
- mov r2, r2, lsr #0x10
- orr r1, r9, r1, lsl #0x8
- mov r2, r2, lsl #0x10
- mov r1, r1, lsl #0x10
- cmp r3, #0x4
- orr r2, r2, r1, lsr #0x10
- bne _0209D840
- ldr r1, [r5, #0x24]
- cmp r1, r2
- beq _0209D840
- mov r1, #0x0
- bl FUN_0209DF84
- add sp, sp, #0x4
- ldmia sp!, {r4-r9,lr}
- bx lr
-_0209D840:
- ldrh r1, [r7, #0xe]
- mov r0, r1, asr #0x8
- orr r0, r0, r1, lsl #0x8
- strh r0, [r5, #0x2c]
- ldrb r0, [r5, #0x8]
- cmp r0, #0x9
- addls pc, pc, r0, lsl #0x2
- b _0209DA70
-_0209D860:
- b _0209D888
-_0209D864:
- b _0209DA70
-_0209D868:
- b _0209D888
-_0209D86C:
- b _0209D8A0
-_0209D870:
- b _0209D8CC
-_0209D874:
- b _0209DA70
-_0209D878:
- b _0209DA4C
-_0209D87C:
- b _0209D9D8
-_0209D880:
- b _0209D9D8
-_0209D884:
- b _0209DA4C
-_0209D888:
- mov r0, r8
- mov r1, r7
- mov r2, r6
- mov r3, #0x0
- bl FUN_0209DE34
- b _0209DA8C
-_0209D8A0:
- mov r0, #0x4
- strb r0, [r5, #0x8]
- ldr r0, [r5, #0x4]
- cmp r0, #0x1
- bne _0209D8C4
- mov r0, #0x0
- str r0, [r5, #0x4]
- ldr r0, [r5, #0x0]
- bl OS_WakeupThreadDirect
-_0209D8C4:
- cmp r6, #0x0
- beq _0209DA8C
-_0209D8CC:
- ldr r0, [r5, #0x34]
- add r0, r0, #0x1
- str r0, [r5, #0x34]
- ldr r1, [r5, #0x3c]
- ldr r0, [r5, #0x44]
- sub r0, r1, r0
- cmp r6, r0
- movhi r9, #0x0
- movhi r6, r0
- movls r9, #0x1
- cmp r6, #0x0
- beq _0209D968
- bl OS_DisableInterrupts
- ldrb r1, [r7, #0xc]
- ldr r12, [r5, #0x40]
- ldr r3, [r5, #0x44]
- and r2, r1, #0xf0
- mov r1, r2, asr #0x1
- add r1, r2, r1, lsr #0x1e
- mov r8, r0
- mov r2, r6
- add r0, r7, r1, asr #0x2
- add r1, r12, r3
- bl MI_CpuCopy8
- ldr r1, [r5, #0x44]
- mov r0, r8
- add r1, r1, r6
- str r1, [r5, #0x44]
- ldr r1, [r5, #0x24]
- add r1, r1, r6
- str r1, [r5, #0x24]
- bl OS_RestoreInterrupts
- ldr r0, [r5, #0x4]
- cmp r0, #0x2
- bne _0209D968
- mov r0, #0x0
- str r0, [r5, #0x4]
- ldr r0, [r5, #0x0]
- bl OS_WakeupThreadDirect
-_0209D968:
- cmp r9, #0x0
- beq _0209D9C0
- ands r0, r4, #0x1
- beq _0209D9C0
- mov r0, #0x6
- strb r0, [r5, #0x8]
- ldr r1, [r5, #0x24]
- mov r0, r5
- add r2, r1, #0x1
- mov r1, #0x0
- str r2, [r5, #0x24]
- bl FUN_0209DF70
-_0209D998: ; 0x0209D998
- cmp r6, #0x0
- bne _0209DA8C
- ldr r0, [r5, #0x4]
- cmp r0, #0x2
- bne _0209DA8C
- mov r0, #0x0
- str r0, [r5, #0x4]
- ldr r0, [r5, #0x0]
- bl OS_WakeupThreadDirect
- b _0209DA8C
-_0209D9C0:
- cmp r6, #0x0
- beq _0209DA8C
- mov r0, r5
- mov r1, #0x0
- bl FUN_0209DF84
- b _0209DA8C
-_0209D9D8:
- ands r0, r4, #0x1
- beq _0209DA20
- ldr r1, [r5, #0x24]
- add r0, r6, #0x1
- add r2, r1, r0
- mov r0, r5
- mov r1, #0x0
- str r2, [r5, #0x24]
- bl FUN_0209DF84
- mov r1, #0x0
- strb r1, [r5, #0x8]
- ldr r0, [r5, #0x4]
- cmp r0, #0x2
- bne _0209DA8C
- str r1, [r5, #0x4]
- ldr r0, [r5, #0x0]
- bl OS_WakeupThreadDirect
- b _0209DA8C
-_0209DA20:
- cmp r6, #0x0
- beq _0209DA40
- ldr r1, [r5, #0x24]
- mov r0, r5
- add r2, r1, r6
- mov r1, #0x0
- str r2, [r5, #0x24]
- bl FUN_0209DF84
-_0209DA40:
- mov r0, #0x8
- strb r0, [r5, #0x8]
- b _0209DA8C
-_0209DA4C:
- mov r1, #0x0
- strb r1, [r5, #0x8]
- ldr r0, [r5, #0x4]
- cmp r0, #0x2
- bne _0209DA8C
- str r1, [r5, #0x4]
- ldr r0, [r5, #0x0]
- bl OS_WakeupThreadDirect
- b _0209DA8C
-_0209DA70:
- ands r0, r4, #0x1
- ldrne r0, [r5, #0x24]
- mov r1, #0x0
- addne r0, r0, #0x1
- strne r0, [r5, #0x24]
- mov r0, r5
- bl FUN_0209DF84
-_0209DA8C:
- bl OS_YieldThread
- add sp, sp, #0x4
- ldmia sp!, {r4-r9,lr}
- bx lr
-
- arm_func_start FUN_0209DA9C
-FUN_0209DA9C: ; 0x0209DA9C
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- mov r7, r0
- mov r5, r1
- mov r6, r2
- bl FUN_0209E0C8
- movs r4, r0
- beq _0209DAC8
- ldrb r0, [r4, #0x8]
- cmp r0, #0x2
- beq _0209DAE8
-_0209DAC8:
- mov r0, r7
- mov r1, r5
- mov r2, r6
- mov r3, #0x0
- bl FUN_0209DE34
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,lr}
- bx lr
-_0209DAE8:
- bl OS_YieldThread
- ldrh r2, [r5, #0x4]
- ldrh r12, [r5, #0x6]
- mov r0, r5
- mov r1, r2, asr #0x8
- orr r1, r1, r2, lsl #0x8
- mov r1, r1, lsl #0x10
- mov r2, r12, asr #0x8
- mov r3, r1, lsr #0x10
- orr r1, r2, r12, lsl #0x8
- mov r2, r3, lsl #0x10
- mov r1, r1, lsl #0x10
- orr r1, r2, r1, lsr #0x10
- add r1, r1, #0x1
- str r1, [r4, #0x24]
- ldrh r3, [r5, #0x8]
- ldrh lr, [r5, #0xa]
- mov r1, r4
- mov r2, r3, asr #0x8
- orr r2, r2, r3, lsl #0x8
- mov r2, r2, lsl #0x10
- mov r3, lr, asr #0x8
- mov r12, r2, lsr #0x10
- orr r2, r3, lr, lsl #0x8
- mov r3, r12, lsl #0x10
- mov r2, r2, lsl #0x10
- orr r2, r3, r2, lsr #0x10
- str r2, [r4, #0x30]
- ldrh r3, [r5, #0xe]
- mov r2, r3, asr #0x8
- orr r2, r2, r3, lsl #0x8
- strh r2, [r4, #0x2c]
- bl FUN_0209E044
- mov r0, r4
- mov r1, #0x0
- bl FUN_0209DF84
- mov r0, #0x4
- strb r0, [r4, #0x8]
- ldr r0, [r4, #0x4]
- cmp r0, #0x1
- addne sp, sp, #0x4
- ldmneia sp!, {r4-r7,lr}
- bxne lr
- mov r0, #0x0
- str r0, [r4, #0x4]
- ldr r0, [r4, #0x0]
- bl OS_WakeupThreadDirect
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,lr}
- bx lr
-
- arm_func_start FUN_0209DBB0
-FUN_0209DBB0: ; 0x0209DBB0
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- mov r4, r0
- ldrh r12, [r4, #0x10]
- ldrh r7, [r4, #0xc]
- ldrh r3, [r4, #0x12]
- mov r5, r12, asr #0x8
- mov r6, r7, asr #0x8
- orr r5, r5, r12, lsl #0x8
- orr r6, r6, r7, lsl #0x8
- mov r12, r6, lsl #0x10
- ldrh r0, [r4, #0xe]
- mov lr, r5, lsl #0x10
- mov r5, r3, asr #0x8
- mov r6, r0, asr #0x8
- mov r7, r12, lsr #0x10
- orr r0, r6, r0, lsl #0x8
- orr r3, r5, r3, lsl #0x8
- mov r12, lr, lsr #0x10
- mov r6, r7, lsl #0x10
- mov r0, r0, lsl #0x10
- mov r5, r12, lsl #0x10
- mov r3, r3, lsl #0x10
- mov r7, r1
- orr r1, r5, r3, lsr #0x10
- orr r0, r6, r0, lsr #0x10
- mov r5, r2
- bl FUN_0209E3DC
-_0209DC20: ; 0x0209DC20
- cmp r0, #0x0
- addeq sp, sp, #0x4
- ldmeqia sp!, {r4-r7,lr}
- bxeq lr
- mov r0, r4
- mov r1, r7
- mov r2, r5
- bl FUN_0209DCB4
-_0209DC40: ; 0x0209DC40
- cmp r0, #0x0
- addne sp, sp, #0x4
- ldmneia sp!, {r4-r7,lr}
- bxne lr
- mov r0, r4
- mov r1, r7
- bl FUN_0209E200
- movs r2, r0
- beq _0209DC7C
- mov r0, r4
- mov r1, r7
- bl FUN_0209DD44
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,lr}
- bx lr
-_0209DC7C:
- bl OS_YieldThread
- mov r0, r4
- mov r1, r7
- bl FUN_0209E200
- movs r2, r0
- addeq sp, sp, #0x4
- ldmeqia sp!, {r4-r7,lr}
- bxeq lr
- mov r0, r4
- mov r1, r7
- bl FUN_0209DD44
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,lr}
- bx lr
-
- arm_func_start FUN_0209DCB4
-FUN_0209DCB4:
- stmdb sp!, {r4-r6,lr}
- mov r6, r0
- mov r5, r1
- mov r4, r2
- bl FUN_0209E0C8
- movs r2, r0
- beq _0209DD38
- ldrb r0, [r2, #0x8]
- cmp r0, #0x1
- bne _0209DCEC
- mov r0, r6
- mov r1, r5
- bl FUN_0209DD44
- b _0209DD2C
-_0209DCEC:
- add r0, r0, #0xfd
- and r0, r0, #0xff
- cmp r0, #0x1
- bhi _0209DD18
- ldr r1, [r2, #0x28]
- mov r0, r6
- sub r3, r1, #0x1
- mov r1, r5
- str r3, [r2, #0x28]
- bl FUN_0209DD44
- b _0209DD2C
-_0209DD18:
- mov r0, r6
- mov r1, r5
- mov r2, r4
- mov r3, #0x0
- bl FUN_0209DE34
-_0209DD2C:
- mov r0, #0x1
- ldmia sp!, {r4-r6,lr}
- bx lr
-_0209DD38:
- mov r0, #0x0
- ldmia sp!, {r4-r6,lr}
- bx lr
-
- arm_func_start FUN_0209DD44
-FUN_0209DD44: ; 0x0209DD44
- stmdb sp!, {r4-r6,lr}
- mov r4, r2
- mov r2, #0x3
- mov r6, r0
- mov r5, r1
- strb r2, [r4, #0x8]
- bl OS_GetTick
- mov r0, r0, lsr #0x10
- orr r0, r0, r1, lsl #0x10
- str r0, [r4, #0x10]
- ldrh r2, [r6, #0x10]
- ldrh r3, [r6, #0x12]
- mov r0, r5
- mov r1, r2, asr #0x8
- orr r1, r1, r2, lsl #0x8
- mov r1, r1, lsl #0x10
- mov r2, r3, asr #0x8
- orr r2, r2, r3, lsl #0x8
- mov r1, r1, lsr #0x10
- mov r3, r1, lsl #0x10
- mov r1, r2, lsl #0x10
- orr r1, r3, r1, lsr #0x10
- str r1, [r4, #0x14]
- ldrh r3, [r5, #0x0]
- mov r1, r4
- mov r2, r3, asr #0x8
- orr r2, r2, r3, lsl #0x8
- strh r2, [r4, #0x18]
- ldrh r3, [r6, #0xc]
- ldrh r6, [r6, #0xe]
- mov r2, r3, asr #0x8
- orr r2, r2, r3, lsl #0x8
- mov r2, r2, lsl #0x10
- mov r3, r6, asr #0x8
- orr r3, r3, r6, lsl #0x8
- mov r2, r2, lsr #0x10
- mov r6, r2, lsl #0x10
- mov r2, r3, lsl #0x10
- orr r2, r6, r2, lsr #0x10
- str r2, [r4, #0x1c]
- ldrh r3, [r5, #0x4]
- ldrh r6, [r5, #0x6]
- mov r2, r3, asr #0x8
- orr r2, r2, r3, lsl #0x8
- mov r2, r2, lsl #0x10
- mov r3, r6, asr #0x8
- mov r5, r2, lsr #0x10
- orr r2, r3, r6, lsl #0x8
- mov r3, r5, lsl #0x10
- mov r2, r2, lsl #0x10
- orr r2, r3, r2, lsr #0x10
- add r2, r2, #0x1
- str r2, [r4, #0x24]
- bl FUN_0209E044
- mov r0, r4
- mov r1, #0x12
- mov r2, #0x0
- bl FUN_0209DF98
- ldmia sp!, {r4-r6,lr}
- bx lr
-
- arm_func_start FUN_0209DE34
-FUN_0209DE34: ; 0x0209DE34
- stmdb sp!, {r4-r8,lr}
- ldr r4, _0209DF6C ; =0x021C903C
- mov r8, r0
- mov r7, r1
- mov r6, r2
- mov r0, r4
- mov r1, #0x0
- mov r2, #0x64
- mov r5, r3
- bl MI_CpuFill8
- ldrh r2, [r7, #0x2]
- mov r1, r4
- mov r0, r2, asr #0x8
- orr r0, r0, r2, lsl #0x8
- strh r0, [r1, #0xa]
- ldrh r2, [r7, #0x0]
- mov r0, r2, asr #0x8
- orr r0, r0, r2, lsl #0x8
- strh r0, [r1, #0x18]
- ldrh r2, [r8, #0xc]
- ldrh r8, [r8, #0xe]
- mov r0, r2, asr #0x8
- orr r0, r0, r2, lsl #0x8
- mov r0, r0, lsl #0x10
- mov r2, r8, asr #0x8
- mov r3, r0, lsr #0x10
- orr r0, r2, r8, lsl #0x8
- mov r2, r3, lsl #0x10
- mov r0, r0, lsl #0x10
- orr r0, r2, r0, lsr #0x10
- str r0, [r1, #0x1c]
- ldrb r0, [r7, #0xd]
- ands r0, r0, #0x10
- beq _0209DF04
- ldrh r2, [r7, #0x8]
- ldrh r6, [r7, #0xa]
- mov r0, r4
- mov r1, r2, asr #0x8
- orr r1, r1, r2, lsl #0x8
- mov r1, r1, lsl #0x10
- mov r2, r6, asr #0x8
- mov r3, r1, lsr #0x10
- orr r1, r2, r6, lsl #0x8
- mov r2, r3, lsl #0x10
- mov r1, r1, lsl #0x10
- orr r3, r2, r1, lsr #0x10
- mov r2, r5
- mov r1, #0x4
- str r3, [r4, #0x28]
- bl FUN_0209DF98
- ldmia sp!, {r4-r8,lr}
- bx lr
-_0209DF04:
- mov r0, #0x0
- str r0, [r4, #0x28]
- ldrh r1, [r7, #0x4]
- ldrh r3, [r7, #0x6]
- mov r0, r1, asr #0x8
- orr r0, r0, r1, lsl #0x8
- mov r0, r0, lsl #0x10
- mov r1, r3, asr #0x8
- mov r2, r0, lsr #0x10
- orr r0, r1, r3, lsl #0x8
- mov r1, r2, lsl #0x10
- mov r0, r0, lsl #0x10
- orr r0, r1, r0, lsr #0x10
- add r0, r6, r0
- str r0, [r4, #0x24]
- ldrb r0, [r7, #0xd]
- mov r2, r5
- mov r1, #0x14
- ands r0, r0, #0x3
- ldrne r0, [r4, #0x24]
- addne r0, r0, #0x1
- strne r0, [r4, #0x24]
- mov r0, r4
- bl FUN_0209DF98
- ldmia sp!, {r4-r8,lr}
- bx lr
- .balign 4
-_0209DF6C: .word 0x021C903C
-
- arm_func_start FUN_0209DF70
-FUN_0209DF70:
- ldr ip, _0209DF80 ; =FUN_0209DF98
- mov r2, r1
- mov r1, #0x11
- bx r12
- .balign 4
-_0209DF80: .word FUN_0209DF98
-
- arm_func_start FUN_0209DF84
-FUN_0209DF84: ; 0x0209DF84
- ldr ip, _0209DF94 ; =FUN_0209DF98
- mov r2, r1
- mov r1, #0x10
- bx r12
- .balign 4
-_0209DF94: .word FUN_0209DF98
-
- arm_func_start FUN_0209DF98
-FUN_0209DF98: ; 0x0209DF98
- stmdb sp!, {r4-r6,lr}
- sub sp, sp, #0x8
- mov r6, r0
- ldr r0, [r6, #0x1c]
- mov r5, r1
- mov r4, r2
- bl FUN_0209E014
-_0209DFB4: ; 0x0209DFB4
- cmp r0, #0x0
- bne _0209DFD0
- ldr r0, _0209E00C ; =0x021D3498
- ldr r1, _0209E010 ; =0x021C9160
- ldr r0, [r0, #0x4]
- cmp r0, r1
- beq _0209DFF4
-_0209DFD0:
- mov r0, #0x0
- mov r1, r0
- mov r2, r6
- mov r3, r5
- str r4, [sp, #0x0]
- bl FUN_0209E878
- add sp, sp, #0x8
- ldmia sp!, {r4-r6,lr}
- bx lr
-_0209DFF4:
- ldr r0, [r6, #0x1c]
- bl FUN_0209FAB0
- bl FUN_0209F338
- add sp, sp, #0x8
- ldmia sp!, {r4-r6,lr}
- bx lr
- .balign 4
-_0209E00C: .word 0x021D3498
-_0209E010: .word 0x021C9160
-
- arm_func_start FUN_0209E014
-FUN_0209E014:
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- bl FUN_0209FAB0
-_0209E020: ; 0x0209E020
- cmp r0, #0x0
- addeq sp, sp, #0x4
- moveq r0, #0x1
- ldmeqia sp!, {lr}
- bxeq lr
- bl FUN_0209F438
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-
- arm_func_start FUN_0209E044
-FUN_0209E044: ; 0x0209E044
- mov r2, #0x218
- strh r2, [r1, #0x2e]
- ldrb r2, [r0, #0xc]
- add r3, r0, #0x14
- and r2, r2, #0xf0
- mov r0, r2, asr #0x1
- add r0, r2, r0, lsr #0x1e
- mov r0, r0, asr #0x2
- subs r0, r0, #0x14
- sub r12, r0, #0x1
- bxeq lr
-_0209E070:
- ldrb r0, [r3], #0x1
- cmp r0, #0x0
- bxeq lr
- cmp r0, #0x1
- beq _0209E0B8
- cmp r0, #0x2
- bne _0209E0A8
- ldrb r2, [r3, #0x1]
- ldrb r0, [r3, #0x2]
- add r3, r3, #0x3
- sub r12, r12, #0x3
- orr r0, r0, r2, lsl #0x8
- strh r0, [r1, #0x2e]
- b _0209E0B8
-_0209E0A8:
- ldrb r0, [r3, #0x0]
- sub r0, r0, #0x1
- sub r12, r12, r0
- add r3, r3, r0
-_0209E0B8:
- cmp r12, #0x0
- sub r12, r12, #0x1
- bne _0209E070
- bx lr
-
- arm_func_start FUN_0209E0C8
-FUN_0209E0C8: ; 0x0209E0C8
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- ldr r2, _0209E140 ; =0x021D3498
- mov r7, r0
- ldr r4, [r2, #0x8]
- mov r6, r1
- cmp r4, #0x0
- beq _0209E130
-_0209E0E8:
- ldr r5, [r4, #0xa4]
- cmp r5, #0x0
- beq _0209E124
- ldr r0, [r5, #0x0]
- cmp r0, #0x0
- beq _0209E124
- mov r0, r7
- mov r1, r6
- mov r2, r5
- bl FUN_0209E144
-_0209E110: ; 0x0209E110
- cmp r0, #0x0
- addne sp, sp, #0x4
- movne r0, r5
- ldmneia sp!, {r4-r7,lr}
- bxne lr
-_0209E124:
- ldr r4, [r4, #0x68]
- cmp r4, #0x0
- bne _0209E0E8
-_0209E130:
- mov r0, #0x0
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,lr}
- bx lr
- .balign 4
-_0209E140: .word 0x021D3498
-
- arm_func_start FUN_0209E144
-FUN_0209E144:
- stmdb sp!, {r4-r6,lr}
- ldrb r4, [r2, #0x8]
- mov r12, #0x0
- mov r3, r12
- mov r6, r12
- mov r5, r12
- cmp r4, #0xa
- beq _0209E16C
- cmp r4, #0xb
- movne r5, #0x1
-_0209E16C:
- cmp r5, #0x0
- beq _0209E190
- ldrh lr, [r1, #0x2]
- ldrh r5, [r2, #0xa]
- mov r4, lr, asr #0x8
- orr r4, r4, lr, lsl #0x8
- mov lr, r4, lsl #0x10
- cmp r5, lr, lsr #0x10
- moveq r6, #0x1
-_0209E190:
- cmp r6, #0x0
- beq _0209E1B4
- ldrh r4, [r1, #0x0]
- ldrh lr, [r2, #0x18]
- mov r1, r4, asr #0x8
- orr r1, r1, r4, lsl #0x8
- mov r1, r1, lsl #0x10
- cmp lr, r1, lsr #0x10
- moveq r3, #0x1
-_0209E1B4:
- cmp r3, #0x0
- beq _0209E1F4
- ldrh r1, [r0, #0xc]
- ldrh lr, [r0, #0xe]
- ldr r3, [r2, #0x1c]
- mov r0, r1, asr #0x8
- orr r0, r0, r1, lsl #0x8
- mov r0, r0, lsl #0x10
- mov r1, lr, asr #0x8
- mov r2, r0, lsr #0x10
- orr r0, r1, lr, lsl #0x8
- mov r1, r2, lsl #0x10
- mov r0, r0, lsl #0x10
- orr r0, r1, r0, lsr #0x10
- cmp r3, r0
- moveq r12, #0x1
-_0209E1F4:
- mov r0, r12
- ldmia sp!, {r4-r6,lr}
- bx lr
-
- arm_func_start FUN_0209E200
-FUN_0209E200: ; 0x0209E200
- stmdb sp!, {r4-r6,lr}
- ldr r2, _0209E2DC ; =0x021D3498
- ldr r3, [r2, #0x8]
- cmp r3, #0x0
- beq _0209E2D0
-_0209E214:
- ldr r12, [r3, #0xa4]
- cmp r12, #0x0
- beq _0209E2C4
- ldr r2, [r12, #0x0]
- cmp r2, #0x0
- beq _0209E2C4
- ldrb r2, [r12, #0x8]
- cmp r2, #0x1
- bne _0209E2C4
- ldrh r5, [r1, #0x2]
- ldrh r4, [r12, #0xa]
- mov r2, r5, asr #0x8
- orr r2, r2, r5, lsl #0x8
- mov r2, r2, lsl #0x10
- cmp r4, r2, lsr #0x10
- bne _0209E2C4
- ldrh r5, [r12, #0x18]
- cmp r5, #0x0
- beq _0209E278
- ldrh r4, [r1, #0x0]
- mov r2, r4, asr #0x8
- orr r2, r2, r4, lsl #0x8
- mov r2, r2, lsl #0x10
- cmp r5, r2, lsr #0x10
- bne _0209E2C4
-_0209E278:
- ldr r2, [r12, #0x1c]
- cmp r2, #0x0
- beq _0209E2B8
- ldrh r5, [r0, #0xc]
- ldrh r6, [r0, #0xe]
- mov r4, r5, asr #0x8
- orr r4, r4, r5, lsl #0x8
- mov lr, r4, lsl #0x10
- mov r4, r6, asr #0x8
- mov lr, lr, lsr #0x10
- orr r4, r4, r6, lsl #0x8
- mov r5, lr, lsl #0x10
- mov lr, r4, lsl #0x10
- orr r4, r5, lr, lsr #0x10
- cmp r2, r4
- bne _0209E2C4
-_0209E2B8:
- mov r0, r12
- ldmia sp!, {r4-r6,lr}
- bx lr
-_0209E2C4:
- ldr r3, [r3, #0x68]
- cmp r3, #0x0
- bne _0209E214
-_0209E2D0:
- mov r0, #0x0
- ldmia sp!, {r4-r6,lr}
- bx lr
- .balign 4
-_0209E2DC: .word 0x021D3498
-
- arm_func_start FUN_0209E2E0
-FUN_0209E2E0: ; 0x0209E2E0
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- mov r5, r1
- mov r4, r2
- mov r6, r0
- mov r0, r5
- mov r1, r4
- bl FUN_0209FB84
- ldr r1, _0209E3D8 ; =0x0000FFFF
- cmp r0, r1
- addne sp, sp, #0x4
- ldmneia sp!, {r4-r7,lr}
- bxne lr
- ldrh r12, [r6, #0x10]
- ldrh r7, [r6, #0xc]
- ldrh r0, [r6, #0xe]
- ldrh r1, [r6, #0x12]
- mov r3, r7, asr #0x8
- mov lr, r0, asr #0x8
- orr r0, lr, r0, lsl #0x8
- mov r2, r12, asr #0x8
- orr r7, r3, r7, lsl #0x8
- orr r3, r2, r12, lsl #0x8
- mov r2, r7, lsl #0x10
- mov r12, r1, asr #0x8
- orr r1, r12, r1, lsl #0x8
- mov r3, r3, lsl #0x10
- mov r7, r2, lsr #0x10
- mov r2, r3, lsr #0x10
- mov r3, r7, lsl #0x10
- mov r0, r0, lsl #0x10
- mov r2, r2, lsl #0x10
- mov r1, r1, lsl #0x10
- orr r0, r3, r0, lsr #0x10
- orr r1, r2, r1, lsr #0x10
- bl FUN_0209E3DC
-_0209E370: ; 0x0209E370
- cmp r0, #0x0
- addeq sp, sp, #0x4
- ldmeqia sp!, {r4-r7,lr}
- bxeq lr
- ldrb r0, [r5, #0x0]
- cmp r0, #0x0
- beq _0209E3A0
- cmp r0, #0x8
- beq _0209E3BC
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,lr}
- bx lr
-_0209E3A0:
- mov r0, r6
- mov r1, r5
- mov r2, r4
- bl FUN_0209E40C
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,lr}
- bx lr
-_0209E3BC:
- mov r0, r6
- mov r1, r5
- mov r2, r4
- bl FUN_0209E524
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,lr}
- bx lr
- .balign 4
-_0209E3D8: .word 0x0000FFFF
-
- arm_func_start FUN_0209E3DC
-FUN_0209E3DC:
- cmp r0, #0x0
- beq _0209E404
- mvn r2, #0x0
- cmp r0, r2
- beq _0209E404
- cmp r1, #0x0
- beq _0209E404
- cmp r1, r2
- movne r0, #0x1
- bxne lr
-_0209E404:
- mov r0, #0x0
- bx lr
-
- arm_func_start FUN_0209E40C
-FUN_0209E40C: ; 0x0209E40C
- stmdb sp!, {r4-r8,lr}
- mov r7, r0
- mov r6, r1
- mov r5, r2
- bl OS_DisableInterrupts
- ldr r1, _0209E520 ; =0x021D3498
- mov r8, r0
- ldr r2, [r1, #0x8]
- cmp r2, #0x0
- beq _0209E510
-_0209E434:
- ldr r4, [r2, #0xa4]
- cmp r4, #0x0
- beq _0209E504
- ldr r3, [r4, #0x0]
- cmp r3, #0x0
- beq _0209E504
- ldrb r0, [r4, #0x8]
- cmp r0, #0xb
- bne _0209E504
- ldrh r1, [r6, #0x4]
- mov r0, r3, lsl #0x10
- mov r0, r0, lsr #0x10
- cmp r0, r1
- bne _0209E504
- ldrh r1, [r4, #0xa]
- ldrh r0, [r6, #0x6]
- cmp r1, r0
- bne _0209E504
- ldr r0, [r4, #0x44]
- cmp r0, #0x0
- bne _0209E504
- ldrh r12, [r7, #0xc]
- ldrh r1, [r7, #0xe]
- ldr r0, [r4, #0x1c]
- mov r3, r12, asr #0x8
- orr r3, r3, r12, lsl #0x8
- mov r3, r3, lsl #0x10
- mov r12, r1, asr #0x8
- mov r3, r3, lsr #0x10
- orr r1, r12, r1, lsl #0x8
- mov r3, r3, lsl #0x10
- mov r1, r1, lsl #0x10
- orr r1, r3, r1, lsr #0x10
- cmp r0, r1
- bne _0209E504
- ldr r1, [r4, #0x3c]
- sub r0, r5, #0x8
- cmp r0, r1
- strhi r1, [r4, #0x44]
- strls r0, [r4, #0x44]
- ldr r1, [r4, #0x40]
- ldr r2, [r4, #0x44]
- add r0, r6, #0x8
- bl MI_CpuCopy8
- ldr r0, [r4, #0x4]
- cmp r0, #0x3
- bne _0209E510
- mov r0, #0x0
- str r0, [r4, #0x4]
- ldr r0, [r4, #0x0]
- bl OS_WakeupThreadDirect
- b _0209E510
-_0209E504:
- ldr r2, [r2, #0x68]
- cmp r2, #0x0
- bne _0209E434
-_0209E510:
- mov r0, r8
- bl OS_RestoreInterrupts
- ldmia sp!, {r4-r8,lr}
- bx lr
- .balign 4
-_0209E520: .word 0x021D3498
-
- arm_func_start FUN_0209E524
-FUN_0209E524: ; 0x0209E524
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0xc
- mov r6, r0
- ldrh r3, [r6, #0xc]
- ldrh r4, [r6, #0xe]
- mov r5, r1
- mov r0, r3, asr #0x8
- orr r0, r0, r3, lsl #0x8
- mov r0, r0, lsl #0x10
- mov r1, r4, asr #0x8
- mov r3, r0, lsr #0x10
- orr r0, r1, r4, lsl #0x8
- mov r1, r3, lsl #0x10
- mov r0, r0, lsl #0x10
- orr r0, r1, r0, lsr #0x10
- mov r4, r2
- bl FUN_0209FAB0
- movs r7, r0
- addeq sp, sp, #0xc
- ldmeqia sp!, {r4-r7,lr}
- bxeq lr
- bl FUN_0209F438
-_0209E57C: ; 0x0209E57C
- cmp r0, #0x0
- bne _0209E598
- mov r0, r7
- bl FUN_0209F338
- add sp, sp, #0xc
- ldmia sp!, {r4-r7,lr}
- bx lr
-_0209E598:
- mov r2, #0x0
- strb r2, [r5, #0x0]
- mov r0, r5
- mov r1, r4
- strh r2, [r5, #0x2]
- bl FUN_0209FB84
- mov r1, r0, asr #0x8
- orr r0, r1, r0, lsl #0x8
- strh r0, [r5, #0x2]
- ldrh r1, [r6, #0xc]
- ldrh r6, [r6, #0xe]
- mov r2, #0x0
- mov r0, r1, asr #0x8
- orr r0, r0, r1, lsl #0x8
- mov r0, r0, lsl #0x10
- mov r1, r6, asr #0x8
- mov r3, r0, lsr #0x10
- orr r0, r1, r6, lsl #0x8
- mov r1, r3, lsl #0x10
- mov r0, r0, lsl #0x10
- orr r6, r1, r0, lsr #0x10
- mov r0, r5
- mov r1, r4
- mov r3, r2
- str r6, [sp, #0x0]
- mov r4, #0x1
- str r4, [sp, #0x4]
- bl FUN_0209ECFC
- add sp, sp, #0xc
- ldmia sp!, {r4-r7,lr}
- bx lr
-
- arm_func_start FUN_0209E614
-FUN_0209E614: ; 0x0209E614
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- cmp r1, #0x1c
- mov r6, r0
- addcc sp, sp, #0x4
- ldmccia sp!, {r4-r7,lr}
- bxcc lr
- ldr r1, _0209E7BC ; =0x021C8F14
- add r0, r6, #0x8
- bl FUN_0209F9A0
-_0209E63C: ; 0x0209E63C
- cmp r0, #0x0
- addeq sp, sp, #0x4
- ldmeqia sp!, {r4-r7,lr}
- bxeq lr
- ldr r0, _0209E7C0 ; =0x021C8F04
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- addeq sp, sp, #0x4
- ldmeqia sp!, {r4-r7,lr}
- bxeq lr
- ldrh r0, [r6, #0x0]
- cmp r0, #0x100
- addne sp, sp, #0x4
- ldmneia sp!, {r4-r7,lr}
- bxne lr
- ldrh r0, [r6, #0x2]
- cmp r0, #0x8
- addne sp, sp, #0x4
- ldmneia sp!, {r4-r7,lr}
- bxne lr
- ldrh r1, [r6, #0x4]
- ldr r0, _0209E7C4 ; =0x00000406
- cmp r1, r0
- addne sp, sp, #0x4
- ldmneia sp!, {r4-r7,lr}
- bxne lr
- ldrh r1, [r6, #0x6]
- mov r0, r1, asr #0x8
- orr r0, r0, r1, lsl #0x8
- mov r0, r0, lsl #0x10
- mov r4, r0, lsr #0x10
- cmp r4, #0x1
- beq _0209E6D0
- cmp r4, #0x2
- addne sp, sp, #0x4
- ldmneia sp!, {r4-r7,lr}
- bxne lr
-_0209E6D0:
- ldrh r1, [r6, #0xe]
- ldrh r5, [r6, #0x10]
- ldr r2, _0209E7C0 ; =0x021C8F04
- mov r0, r1, asr #0x8
- orr r0, r0, r1, lsl #0x8
- mov r0, r0, lsl #0x10
- mov r3, r0, lsr #0x10
- mov r1, r5, asr #0x8
- orr r0, r1, r5, lsl #0x8
- mov r1, r0, lsl #0x10
- mov r3, r3, lsl #0x10
- orr r1, r3, r1, lsr #0x10
- ldr r0, [r2, #0x0]
- ldrh r3, [r6, #0x18]
- ldrh lr, [r6, #0x1a]
- cmp r1, r0
- mov r2, r3, asr #0x8
- orr r2, r2, r3, lsl #0x8
- mov r2, r2, lsl #0x10
- moveq r5, #0x1
- mov r3, lr, asr #0x8
- mov r12, r2, lsr #0x10
- orr r2, r3, lr, lsl #0x8
- mov r3, r12, lsl #0x10
- mov r2, r2, lsl #0x10
- orr r2, r3, r2, lsr #0x10
- movne r5, #0x0
- cmp r0, r2
- moveq r7, #0x1
- movne r7, #0x0
- cmp r5, #0x0
- bne _0209E75C
- mov r2, r7
- add r0, r6, #0x8
- bl FUN_0209F12C
-_0209E75C:
- cmp r4, #0x1
- bne _0209E780
- cmp r7, #0x0
- beq _0209E780
- mov r0, r6
- bl FUN_0209E7CC
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,lr}
- bx lr
-_0209E780:
- cmp r4, #0x2
- addne sp, sp, #0x4
- ldmneia sp!, {r4-r7,lr}
- bxne lr
- cmp r7, #0x0
- addeq sp, sp, #0x4
- ldmeqia sp!, {r4-r7,lr}
- bxeq lr
- cmp r5, #0x0
- ldrne r0, _0209E7C8 ; =0x021C8EAC
- movne r1, #0x1
- strneb r1, [r0, #0x0]
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,lr}
- bx lr
- .balign 4
-_0209E7BC: .word 0x021C8F14
-_0209E7C0: .word 0x021C8F04
-_0209E7C4: .word 0x00000406
-_0209E7C8: .word 0x021C8EAC
-
- arm_func_start FUN_0209E7CC
-FUN_0209E7CC: ; 0x0209E7CC
- stmdb sp!, {r4,lr}
- mov r4, r0
- mov r3, #0x200
- add r0, r4, #0x8
- add r1, r4, #0x12
- mov r2, #0xa
- strh r3, [r4, #0x6]
- bl MI_CpuCopy8
- ldr r0, _0209E870 ; =0x021C8F14
- add r1, r4, #0x8
- mov r2, #0x6
- bl MI_CpuCopy8
- ldr r3, _0209E874 ; =0x021C8F04
- add r0, r4, #0x12
- ldr r2, [r3, #0x0]
- sub r1, r4, #0xe
- mov r2, r2, lsr #0x10
- mov r2, r2, lsl #0x10
- mov r12, r2, lsr #0x10
- mov r2, r12, asr #0x8
- orr r2, r2, r12, lsl #0x8
- strh r2, [r4, #0xe]
- ldr r3, [r3, #0x0]
- mov r2, #0x6
- mov r3, r3, lsl #0x10
- mov r12, r3, lsr #0x10
- mov r3, r12, asr #0x8
- orr r3, r3, r12, lsl #0x8
- strh r3, [r4, #0x10]
- bl MI_CpuCopy8
- ldr r0, _0209E870 ; =0x021C8F14
- sub r1, r4, #0x8
- mov r2, #0x6
- bl MI_CpuCopy8
- sub r0, r4, #0xe
- mov r1, #0x2a
- mov r2, #0x0
- mov r3, r2
- bl FUN_0209F930
- ldmia sp!, {r4,lr}
- bx lr
- .balign 4
-_0209E870: .word 0x021C8F14
-_0209E874: .word 0x021C8F04
-
- arm_func_start FUN_0209E878
-FUN_0209E878: ; 0x0209E878
- stmdb sp!, {r4-r9,lr}
- sub sp, sp, #0xc
- mov r7, r2
- ldrb r2, [r7, #0x8]
- mov r9, r0
- mov r8, r1
- cmp r2, #0x0
- mov r6, r3
- addeq sp, sp, #0xc
- ldmeqia sp!, {r4-r9,lr}
- bxeq lr
- ldr r0, _0209EAEC ; =0x021D3498
- ldr r3, _0209EAF0 ; =0x021C8F04
- ldr r1, _0209EAF4 ; =0x021C9160
- ldr r0, [r0, #0x4]
- ldr r12, [r3, #0x0]
- cmp r0, r1
- ldreq r4, _0209EAF8 ; =0x021C8F5E
- ldrne r0, [r7, #0x4c]
- addne r4, r0, #0x22
- ands r0, r6, #0x2
- movne r5, #0x18
- moveq r5, #0x14
- add r1, r5, r8
- mov r2, r1, lsl #0x10
- mov r1, r12, lsr #0x10
- mov r1, r1, lsl #0x10
- mov r12, r1, lsr #0x10
- mov r1, r12, asr #0x8
- orr r1, r1, r12, lsl #0x8
- strh r1, [r4, #-0xc]
- ldr r1, [r3, #0x0]
- mov r12, r2, lsr #0x10
- mov r1, r1, lsl #0x10
- mov r2, r1, lsr #0x10
- mov r1, r2, asr #0x8
- orr r1, r1, r2, lsl #0x8
- strh r1, [r4, #-0xa]
- ldr r1, [r7, #0x1c]
- mov r3, r12, asr #0x8
- mov r1, r1, lsr #0x10
- mov r1, r1, lsl #0x10
- mov r2, r1, lsr #0x10
- mov r1, r2, asr #0x8
- orr r1, r1, r2, lsl #0x8
- strh r1, [r4, #-0x8]
- ldr r1, [r7, #0x1c]
- mov r2, r5, lsr #0x2
- mov r1, r1, lsl #0x10
- mov lr, r1, lsr #0x10
- mov r1, lr, asr #0x8
- orr r1, r1, lr, lsl #0x8
- strh r1, [r4, #-0x6]
- mov r1, #0x600
- strh r1, [r4, #-0x4]
- orr r1, r3, r12, lsl #0x8
- strh r1, [r4, #-0x2]
- ldrh r12, [r7, #0xa]
- cmp r0, #0x0
- mov r2, r2, lsl #0x4
- mov r3, r12, asr #0x8
- orr r3, r3, r12, lsl #0x8
- strh r3, [r4, #0x0]
- ldrh r3, [r7, #0x18]
- mov r1, #0x0
- mov r0, r3, asr #0x8
- orr r0, r0, r3, lsl #0x8
- strh r0, [r4, #0x2]
- ldr r0, [r7, #0x28]
- mov r0, r0, lsr #0x10
- mov r0, r0, lsl #0x10
- mov r3, r0, lsr #0x10
- mov r0, r3, asr #0x8
- orr r0, r0, r3, lsl #0x8
- strh r0, [r4, #0x4]
- ldr r0, [r7, #0x28]
- mov r0, r0, lsl #0x10
- mov r3, r0, lsr #0x10
- mov r0, r3, asr #0x8
- orr r0, r0, r3, lsl #0x8
- strh r0, [r4, #0x6]
- ldr r0, [r7, #0x24]
- mov r0, r0, lsr #0x10
- mov r0, r0, lsl #0x10
- mov r3, r0, lsr #0x10
- mov r0, r3, asr #0x8
- orr r0, r0, r3, lsl #0x8
- strh r0, [r4, #0x8]
- ldr r0, [r7, #0x24]
- mov r0, r0, lsl #0x10
- mov r3, r0, lsr #0x10
- mov r0, r3, asr #0x8
- orr r0, r0, r3, lsl #0x8
- strh r0, [r4, #0xa]
- strb r2, [r4, #0xc]
- strb r6, [r4, #0xd]
- ldr r2, [r7, #0x3c]
- ldr r0, [r7, #0x44]
- sub r0, r2, r0
- mov r0, r0, lsl #0x10
- mov r2, r0, lsr #0x10
- mov r0, r2, asr #0x8
- orr r0, r0, r2, lsl #0x8
- strh r0, [r4, #0xe]
- strh r1, [r4, #0x10]
- strh r1, [r4, #0x12]
- beq _0209EA64
- ldr r1, _0209EAFC ; =0x021C8EB0
- ldrh r0, [r1, #0x0]
- add r0, r0, #0x2040000
- mov r0, r0, lsr #0x10
- mov r0, r0, lsl #0x10
- mov r2, r0, lsr #0x10
- mov r0, r2, asr #0x8
- orr r0, r0, r2, lsl #0x8
- strh r0, [r4, #0x14]
- ldrh r0, [r1, #0x0]
- add r0, r0, #0x2040000
- mov r0, r0, lsl #0x10
- mov r1, r0, lsr #0x10
- mov r0, r1, asr #0x8
- orr r0, r0, r1, lsl #0x8
- strh r0, [r4, #0x16]
-_0209EA64:
- sub r0, r4, #0xc
- add r1, r5, #0xc
- mov r2, #0x0
- bl FUN_0209FBC8
- mov r2, r0
- mov r0, r9
- mov r1, r8
- bl FUN_0209FBC8
- mov r0, r0, lsl #0x10
- mov r0, r0, lsr #0x10
- bl FUN_0209FBAC
- mov r3, r0, asr #0x8
- orr r0, r3, r0, lsl #0x8
- strh r0, [r4, #0x10]
- mov r0, r4
- ldr r4, [r7, #0x1c]
- mov r3, #0x6
- str r4, [sp, #0x0]
- str r3, [sp, #0x4]
- mov r1, r5
- mov r2, r9
- mov r3, r8
- bl FUN_0209ECFC
- ands r0, r6, #0x3
- ldr r0, [r7, #0x28]
- add r1, r7, #0x28
- add r0, r0, r8
- str r0, [r7, #0x28]
- ldrne r0, [r1, #0x0]
- addne r0, r0, #0x1
- strne r0, [r1, #0x0]
- add sp, sp, #0xc
- ldmia sp!, {r4-r9,lr}
- bx lr
- .balign 4
-_0209EAEC: .word 0x021D3498
-_0209EAF0: .word 0x021C8F04
-_0209EAF4: .word 0x021C9160
-_0209EAF8: .word 0x021C8F5E
-_0209EAFC: .word 0x021C8EB0
-
- arm_func_start FUN_0209EB00
-FUN_0209EB00:
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0xc
- ldr r7, _0209EC3C ; =0x021C8F04
- mov r5, r2
- ldr r2, [r7, #0x0]
- mov r6, r1
- mov r1, r2, lsr #0x10
- mov r1, r1, lsl #0x10
- mov r2, r1, lsr #0x10
- ldr r3, [r5, #0x4c]
- mov r1, r2, asr #0x8
- add r4, r3, #0x22
- orr r1, r1, r2, lsl #0x8
- strh r1, [r4, #-0xc]
- ldr r1, [r7, #0x0]
- add r2, r6, #0x8
- mov r1, r1, lsl #0x10
- mov r7, r1, lsr #0x10
- mov r1, r7, asr #0x8
- orr r1, r1, r7, lsl #0x8
- strh r1, [r4, #-0xa]
- ldr r1, [r5, #0x1c]
- mov r2, r2, lsl #0x10
- mov r1, r1, lsr #0x10
- mov r1, r1, lsl #0x10
- mov r7, r1, lsr #0x10
- mov r1, r7, asr #0x8
- orr r1, r1, r7, lsl #0x8
- strh r1, [r4, #-0x8]
- ldr r1, [r5, #0x1c]
- mov r2, r2, lsr #0x10
- mov r1, r1, lsl #0x10
- mov r7, r1, lsr #0x10
- mov r1, r7, asr #0x8
- orr r7, r1, r7, lsl #0x8
- mov r1, r2, asr #0x8
- strh r7, [r4, #-0x6]
- mov r7, #0x1100
- strh r7, [r4, #-0x4]
- orr r1, r1, r2, lsl #0x8
- strh r1, [r4, #0x4]
- ldrh r1, [r4, #0x4]
- mov r7, r0
- sub r0, r4, #0xc
- strh r1, [r4, #-0x2]
- ldrh lr, [r5, #0x18]
- mov r2, #0x0
- mov r1, #0x14
- mov r12, lr, asr #0x8
- orr r12, r12, lr, lsl #0x8
- strh r12, [r4, #0x2]
- ldrh lr, [r5, #0xa]
- mov r12, lr, asr #0x8
- orr r12, r12, lr, lsl #0x8
- strh r12, [r3, #0x22]
- strh r2, [r4, #0x6]
- bl FUN_0209FBC8
- mov r2, r0
- mov r0, r7
- mov r1, r6
- bl FUN_0209FBC8
- mov r0, r0, lsl #0x10
- mov r0, r0, lsr #0x10
- bl FUN_0209FBAC
- mov r2, r7
- mov r3, r6
- mov r1, r0, asr #0x8
- orr r0, r1, r0, lsl #0x8
- strh r0, [r4, #0x6]
- ldr r1, [r5, #0x1c]
- mov r0, r4
- str r1, [sp, #0x0]
- mov r1, #0x11
- str r1, [sp, #0x4]
- mov r1, #0x8
- bl FUN_0209ECFC
- add sp, sp, #0xc
- ldmia sp!, {r4-r7,lr}
- bx lr
- .balign 4
-_0209EC3C: .word 0x021C8F04
-
- arm_func_start FUN_0209EC40
-FUN_0209EC40:
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0xc
- mov r5, r2
- ldr r3, [r5, #0x4c]
- mov r6, r1
- mov r1, #0x8
- ldr r2, _0209ECF4 ; =0x021D3498
- strh r1, [r3, #0x22]
- ldr r2, [r2, #0x4]
- add r4, r3, #0x22
- strh r2, [r4, #0x4]
- mov r2, #0x0
- ldr r3, _0209ECF8 ; =0x021C8EB4
- strh r2, [r4, #0x2]
- ldrh lr, [r3, #0x0]
- mov r7, r0
- mov r0, r4
- strh lr, [r5, #0xa]
- ldrh r12, [r3, #0x0]
- add r12, r12, #0x1
- strh r12, [r3, #0x0]
- strh lr, [r4, #0x6]
- bl FUN_0209FBC8
- mov r2, r0
- mov r0, r7
- mov r1, r6
- bl FUN_0209FBC8
- mov r0, r0, lsl #0x10
- mov r0, r0, lsr #0x10
- bl FUN_0209FBAC
- mov r2, r7
- mov r3, r6
- mov r1, r0, asr #0x8
- orr r0, r1, r0, lsl #0x8
- strh r0, [r4, #0x2]
- ldr r1, [r5, #0x1c]
- mov r0, r4
- str r1, [sp, #0x0]
- mov r1, #0x1
- str r1, [sp, #0x4]
- mov r1, #0x8
- bl FUN_0209ECFC
- add sp, sp, #0xc
- ldmia sp!, {r4-r7,lr}
- bx lr
- .balign 4
-_0209ECF4: .word 0x021D3498
-_0209ECF8: .word 0x021C8EB4
-
- arm_func_start FUN_0209ECFC
-FUN_0209ECFC: ; 0x0209ECFC
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0xc
- mov r10, r0
- mov r0, #0x45
- strb r0, [r10, #-0x14]
- mov r5, #0x0
- ldr r0, _0209EF0C ; =0x021C8EB8
- strb r5, [r10, #-0x13]
- ldrh r7, [r0, #0x0]
- ldr r6, [sp, #0x30]
- ldrb r4, [sp, #0x34]
- add r7, r7, #0x1
- strh r7, [r0, #0x0]
- ldrh r9, [r0, #0x0]
- mov r0, r6, lsr #0x10
- mov r7, #0x80
- mov r8, r9, asr #0x8
- orr r8, r8, r9, lsl #0x8
- strh r8, [r10, #-0x10]
- strb r7, [r10, #-0xc]
- ldr r7, _0209EF10 ; =0x021C8F04
- strb r4, [r10, #-0xb]
- ldr r8, [r7, #0x0]
- mov r4, r0, lsl #0x10
- mov r0, r8, lsr #0x10
- mov r0, r0, lsl #0x10
- mov r8, r0, lsr #0x10
- mov r0, r8, asr #0x8
- orr r0, r0, r8, lsl #0x8
- strh r0, [r10, #-0x8]
- ldr r0, [r7, #0x0]
- mov r8, r4, lsr #0x10
- mov r0, r0, lsl #0x10
- mov r7, r0, lsr #0x10
- mov r4, r7, asr #0x8
- mov r0, r6, lsl #0x10
- orr r9, r4, r7, lsl #0x8
- mov r7, r8, asr #0x8
- mov r4, r0, lsr #0x10
- mov r0, r4, asr #0x8
- strh r9, [r10, #-0x6]
- orr r7, r7, r8, lsl #0x8
- ldr fp, _0209EF14 ; =0x000005C8
- mov r9, r1
- strh r7, [r10, #-0x4]
- orr r0, r0, r4, lsl #0x8
- mov r8, r2
- mov r7, r3
- strh r0, [r10, #-0x2]
- cmp r9, r11
- bls _0209EE74
- mov r4, r10
- cmp r9, r11
- bls _0209EE14
- str r5, [sp, #0x8]
-_0209EDD8:
- ldr r1, [sp, #0x8]
- mov r0, r10
- mov r2, r4
- mov r3, r11
- str r6, [sp, #0x0]
- orr r12, r5, #0x2000
- str r12, [sp, #0x4]
- bl FUN_0209EF18
- add r0, r5, #0xb9
- sub r9, r9, r11
- mov r0, r0, lsl #0x10
- cmp r9, r11
- add r4, r4, r11
- mov r5, r0, lsr #0x10
- bhi _0209EDD8
-_0209EE14:
- cmp r9, #0x0
- beq _0209EE74
- cmp r7, #0x0
- beq _0209EE48
- mov r0, r10
- mov r2, r4
- mov r3, r9
- str r6, [sp, #0x0]
- orr r4, r5, #0x2000
- mov r1, #0x0
- str r4, [sp, #0x4]
- bl FUN_0209EF18
- b _0209EE64
-_0209EE48:
- str r6, [sp, #0x0]
- mov r0, r10
- mov r2, r4
- mov r3, r9
- mov r1, #0x0
- str r5, [sp, #0x4]
- bl FUN_0209EF18
-_0209EE64:
- add r0, r5, r9, lsr #0x3
- mov r0, r0, lsl #0x10
- mov r5, r0, lsr #0x10
- mov r9, #0x0
-_0209EE74:
- ldr r0, _0209EF14 ; =0x000005C8
- add r1, r9, r7
- cmp r1, r0
- bls _0209EED4
- mov r11, #0x0
-_0209EE88:
- ldr r0, _0209EF14 ; =0x000005C8
- mov r1, r9
- sub r4, r0, r9
- mov r0, r10
- mov r2, r8
- mov r3, r4
- str r6, [sp, #0x0]
- orr r9, r5, #0x2000
- str r9, [sp, #0x4]
- bl FUN_0209EF18
- add r0, r5, #0xb9
- mov r1, r0, lsl #0x10
- ldr r0, _0209EF14 ; =0x000005C8
- sub r7, r7, r4
- mov r9, r11
- cmp r7, r0
- add r8, r8, r4
- mov r5, r1, lsr #0x10
- bhi _0209EE88
-_0209EED4:
- adds r0, r9, r7
- addeq sp, sp, #0xc
- ldmeqia sp!, {r4-r11,lr}
- bxeq lr
- str r6, [sp, #0x0]
- mov r0, r10
- mov r1, r9
- mov r2, r8
- mov r3, r7
- str r5, [sp, #0x4]
- bl FUN_0209EF18
- add sp, sp, #0xc
- ldmia sp!, {r4-r11,lr}
- bx lr
- .balign 4
-_0209EF0C: .word 0x021C8EB8
-_0209EF10: .word 0x021C8F04
-_0209EF14: .word 0x000005C8
-
- arm_func_start FUN_0209EF18
-FUN_0209EF18: ; 0x0209EF18
- stmdb sp!, {r4-r8,lr}
- sub sp, sp, #0x8
- mov r7, r1
- mov r5, r3
- add r1, r7, #0x14
- add r1, r1, r5
- ldr r3, [sp, #0x24]
- mov r1, r1, lsl #0x10
- mov r4, r1, lsr #0x10
- mov r1, r3, lsl #0x10
- mov r3, r4, asr #0x8
- mov r1, r1, lsr #0x10
- mov r8, r0
- orr r3, r3, r4, lsl #0x8
- mov r0, r1, asr #0x8
- strh r3, [r8, #-0x12]
- orr r0, r0, r1, lsl #0x8
- strh r0, [r8, #-0xe]
- mov r3, #0x0
- sub r0, r8, #0x14
- mov r1, #0x14
- mov r6, r2
- strh r3, [r8, #-0xa]
- ldr r4, [sp, #0x20]
- bl FUN_0209FB84
- mov r2, r0, asr #0x8
- ldr r1, _0209F040 ; =0x7F000001
- orr r0, r2, r0, lsl #0x8
- strh r0, [r8, #-0xa]
- cmp r4, r1
- beq _0209EFC4
- ldr r0, _0209F044 ; =0x021C8F04
- ldr r0, [r0, #0x0]
- cmp r4, r0
- beq _0209EFC4
- mov r2, r6
- mov r3, r5
- str r4, [sp, #0x0]
- mov r12, #0x800
- sub r0, r8, #0x14
- add r1, r7, #0x14
- str r12, [sp, #0x4]
- bl FUN_0209F050
-_0209EFC4:
- ldr r0, _0209F040 ; =0x7F000001
- cmp r4, r0
- beq _0209EFF8
- ldr r0, _0209F044 ; =0x021C8F04
- ldr r0, [r0, #0x0]
- cmp r4, r0
- beq _0209EFF8
- mov r0, r4
- bl FUN_0209FA54
-_0209EFE8: ; 0x0209EFE8
- cmp r0, #0x0
- addeq sp, sp, #0x8
- ldmeqia sp!, {r4-r8,lr}
- bxeq lr
-_0209EFF8:
- ldr r0, _0209F048 ; =0x02106230
- sub r1, r8, #0x1c
- mov r2, #0x8
- bl MI_CpuCopy8
- bl OS_DisableInterrupts
- mov r4, r0
- ldr r0, _0209F04C ; =0x021C8F14
- str r6, [sp, #0x0]
- mov r1, r0
- str r5, [sp, #0x4]
- sub r2, r8, #0x1c
- add r3, r7, #0x1c
- bl FUN_0209F6C0
- mov r0, r4
- bl OS_RestoreInterrupts
- add sp, sp, #0x8
- ldmia sp!, {r4-r8,lr}
- bx lr
- .balign 4
-_0209F040: .word 0x7F000001
-_0209F044: .word 0x021C8F04
-_0209F048: .word 0x02106230
-_0209F04C: .word 0x021C8F14
-
- arm_func_start FUN_0209F050
-FUN_0209F050: ; 0x0209F050
- stmdb sp!, {r4-r8,lr}
- ldrh r5, [sp, #0x1c]
- ldr r4, [sp, #0x18]
- mov r8, r0
- mov r0, r5, asr #0x8
- orr r12, r0, r5, lsl #0x8
- mov r0, r4
- mov r7, r1
- mov r6, r2
- mov r5, r3
- strh r12, [r8, #-0x2]
- bl FUN_0209FA54
-_0209F080: ; 0x0209F080
- cmp r0, #0x0
- bne _0209F0CC
- mov r0, r4
- bl FUN_0209FAB0
- movs r4, r0
- ldmeqia sp!, {r4-r8,lr}
- bxeq lr
- bl FUN_0209F438
-_0209F0A0: ; 0x0209F0A0
- cmp r0, #0x0
- bne _0209F0B0
- mov r0, r4
- bl FUN_0209F2AC
-_0209F0B0:
- cmp r0, #0x0
- ldmeqia sp!, {r4-r8,lr}
- bxeq lr
- sub r1, r8, #0xe
- mov r2, #0x6
- bl MI_CpuCopy8
- b _0209F0FC
-_0209F0CC:
- mov r0, #0x1
- strb r0, [r8, #-0xe]
- mov r1, #0x0
- mov r0, r4, lsr #0x10
- strb r1, [r8, #-0xd]
- mov r1, #0x5e
- strb r1, [r8, #-0xc]
- and r0, r0, #0x7f
- strb r0, [r8, #-0xb]
- mov r0, r4, lsr #0x8
- strb r0, [r8, #-0xa]
- strb r4, [r8, #-0x9]
-_0209F0FC:
- ldr r0, _0209F128 ; =0x021C8F14
- sub r1, r8, #0x8
- mov r2, #0x6
- bl MI_CpuCopy8
- mov r2, r6
- mov r3, r5
- sub r0, r8, #0xe
- add r1, r7, #0xe
- bl FUN_0209F930
- ldmia sp!, {r4-r8,lr}
- bx lr
- .balign 4
-_0209F128: .word 0x021C8F14
-
- arm_func_start FUN_0209F12C
-FUN_0209F12C: ; 0x0209F12C
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- ldr r3, _0209F29C ; =0x7F000001
- mov r6, r1
- cmp r6, r3
- mov r7, r0
- mov r4, r2
- addeq sp, sp, #0x4
- ldmeqia sp!, {r4-r7,lr}
- bxeq lr
- ldr r0, _0209F2A0 ; =0x021C8F04
- ldr r0, [r0, #0x0]
- cmp r6, r0
- addeq sp, sp, #0x4
- ldmeqia sp!, {r4-r7,lr}
- bxeq lr
- mov r0, r6
- bl FUN_0209FAD8
-_0209F174: ; 0x0209F174
- cmp r0, #0x0
- addeq sp, sp, #0x4
- ldmeqia sp!, {r4-r7,lr}
- bxeq lr
- mov r0, r6
- bl FUN_0209FA54
-_0209F18C: ; 0x0209F18C
- cmp r0, #0x0
- addne sp, sp, #0x4
- ldmneia sp!, {r4-r7,lr}
- bxne lr
- bl OS_GetTick
- mov r0, r0, lsr #0x10
- orr r0, r0, r1, lsl #0x10
- mov r0, r0, lsl #0x10
- ldr r1, _0209F2A4 ; =0x021C8F78
- mov r5, r0, lsr #0x10
- mov r2, #0x0
-_0209F1B8:
- ldr r0, [r1, #0x0]
- cmp r6, r0
- bne _0209F1F8
- mov r0, #0xc
- mul r4, r2, r0
- ldr r0, _0209F2A4 ; =0x021C8F78
- ldr r3, _0209F2A8 ; =0x021C8F82
- add r1, r0, r4
- mov r0, r7
- add r1, r1, #0x4
- mov r2, #0x6
- strh r5, [r3, r4]
- bl MI_CpuCopy8
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,lr}
- bx lr
-_0209F1F8:
- add r2, r2, #0x1
- cmp r2, #0x8
- add r1, r1, #0xc
- blo _0209F1B8
- cmp r4, #0x0
- addeq sp, sp, #0x4
- ldmeqia sp!, {r4-r7,lr}
- bxeq lr
- mov r12, #0x0
- ldr r4, _0209F2A4 ; =0x021C8F78
- mov r0, r12
- mov r3, r12
-_0209F228:
- ldr r1, [r4, #0x0]
- cmp r1, #0x0
- moveq r0, r3
- beq _0209F264
- ldrh r1, [r4, #0xa]
- add r4, r4, #0xc
- sub r1, r5, r1
- mov r1, r1, lsl #0x10
- mov r2, r1, asr #0x10
- cmp r2, r12
- movgt r0, r3
- add r3, r3, #0x1
- movgt r12, r1, lsr #0x10
- cmp r3, #0x8
- blo _0209F228
-_0209F264:
- mov r1, #0xc
- mul r4, r0, r1
- ldr r3, _0209F2A4 ; =0x021C8F78
- mov r0, r7
- add r1, r3, r4
- add r1, r1, #0x4
- mov r2, #0x6
- str r6, [r3, r4]
- bl MI_CpuCopy8
- ldr r0, _0209F2A8 ; =0x021C8F82
- strh r5, [r0, r4]
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,lr}
- bx lr
- .balign 4
-_0209F29C: .word 0x7F000001
-_0209F2A0: .word 0x021C8F04
-_0209F2A4: .word 0x021C8F78
-_0209F2A8: .word 0x021C8F82
-
- arm_func_start FUN_0209F2AC
-FUN_0209F2AC:
- stmdb sp!, {r4-r9,lr}
- sub sp, sp, #0x4
- mov r9, r0
- mov r8, #0x0
- ldr r4, _0209F334 ; =0x021C8F04
- mov r6, r8
- mov r5, #0x64
-_0209F2C8:
- mov r0, r9
- bl FUN_0209F338
- mov r7, r6
-_0209F2D4:
- ldr r0, [r4, #0x0]
- cmp r0, #0x0
- addeq sp, sp, #0x4
- moveq r0, #0x0
- ldmeqia sp!, {r4-r9,lr}
- bxeq lr
- mov r0, r5
- bl OS_Sleep
- mov r0, r9
- bl FUN_0209F438
-_0209F2FC: ; 0x0209F2FC
- cmp r0, #0x0
- addne sp, sp, #0x4
- ldmneia sp!, {r4-r9,lr}
- bxne lr
- add r7, r7, #0x1
- cmp r7, #0x14
- blo _0209F2D4
- add r8, r8, #0x1
- cmp r8, #0x8
- blo _0209F2C8
- mov r0, #0x0
- add sp, sp, #0x4
- ldmia sp!, {r4-r9,lr}
- bx lr
- .balign 4
-_0209F334: .word 0x021C8F04
-
- arm_func_start FUN_0209F338
-FUN_0209F338: ; 0x0209F338
- stmdb sp!, {r4,lr}
- sub sp, sp, #0x30
- mov r4, r0
- add r0, sp, #0x0
- mov r1, #0x0
- mov r2, #0x2a
- bl MI_CpuFill8
-_0209F354: ; 0x0209F354
- add r0, sp, #0x0
- mov r1, #0xff
- mov r2, #0x6
- bl MI_CpuFill8
- ldr r0, _0209F428 ; =0x021C8F14
- add r1, sp, #0x6
- mov r2, #0x6
- bl MI_CpuCopy8
- mov r0, #0x1
- ldr r1, _0209F42C ; =0x00000608
- strb r0, [sp, #0xf]
- strh r1, [sp, #0xc]
- strb r0, [sp, #0x15]
- mov r0, #0x8
- ldr r1, _0209F430 ; =0x00000406
- strb r0, [sp, #0x10]
- strh r1, [sp, #0x12]
- ldr r0, _0209F428 ; =0x021C8F14
- add r1, sp, #0x16
- mov r2, #0x6
- bl MI_CpuCopy8
- ldr r0, _0209F434 ; =0x021C8F04
- mov r1, r4, lsr #0x10
- ldr r3, [r0, #0x0]
- mov r0, r1, lsl #0x10
- mov r2, r0, lsr #0x10
- mov r0, r4, lsl #0x10
- mov r1, r0, lsr #0x10
- mov r0, r3, lsr #0x10
- mov r0, r0, lsl #0x10
- mov r4, r0, lsr #0x10
- mov r0, r3, lsl #0x10
- mov r3, r0, lsr #0x10
- mov r0, r4, asr #0x8
- orr r0, r0, r4, lsl #0x8
- strh r0, [sp, #0x1c]
- mov r0, r3, asr #0x8
- orr r0, r0, r3, lsl #0x8
- strh r0, [sp, #0x1e]
- mov r0, r2, asr #0x8
- orr r0, r0, r2, lsl #0x8
- strh r0, [sp, #0x26]
- mov r0, r1, asr #0x8
- orr r0, r0, r1, lsl #0x8
- mov r2, #0x0
- strh r0, [sp, #0x28]
- add r0, sp, #0x0
- mov r1, #0x2a
- mov r3, r2
- bl FUN_0209F930
- add sp, sp, #0x30
- ldmia sp!, {r4,lr}
- bx lr
- .balign 4
-_0209F428: .word 0x021C8F14
-_0209F42C: .word 0x00000608
-_0209F430: .word 0x00000406
-_0209F434: .word 0x021C8F04
-
- arm_func_start FUN_0209F438
-FUN_0209F438:
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- mov r7, r0
- bl OS_DisableInterrupts
- ldr r1, _0209F504 ; =0x7F000001
- mov r4, r0
- cmp r7, r1
- mov r5, #0x0
- beq _0209F46C
- ldr r0, _0209F508 ; =0x021C8F04
- ldr r0, [r0, #0x0]
- cmp r7, r0
- bne _0209F474
-_0209F46C:
- ldr r5, _0209F50C ; =0x021C8F14
- b _0209F4EC
-_0209F474:
- mov r0, r7
- bl FUN_0209FA68
-_0209F47C: ; 0x0209F47C
- cmp r0, #0x0
- bne _0209F494
- mov r0, r7
- bl FUN_0209FA54
-_0209F48C: ; 0x0209F48C
- cmp r0, #0x0
- beq _0209F49C
-_0209F494:
- ldr r5, _0209F510 ; =0x0210621C
- b _0209F4EC
-_0209F49C:
- ldr r1, _0209F514 ; =0x021C8F78
- mov r6, r5
-_0209F4A4:
- ldr r0, [r1, #0x0]
- cmp r7, r0
- bne _0209F4DC
- bl OS_GetTick
- mov r2, #0xc
- mul r3, r6, r2
- ldr r2, _0209F514 ; =0x021C8F78
- mov r5, r0, lsr #0x10
- add r0, r2, r3
- ldr r2, _0209F518 ; =0x021C8F82
- orr r5, r5, r1, lsl #0x10
- strh r5, [r2, r3]
- add r5, r0, #0x4
- b _0209F4EC
-_0209F4DC:
- add r6, r6, #0x1
- cmp r6, #0x8
- add r1, r1, #0xc
- blo _0209F4A4
-_0209F4EC:
- mov r0, r4
- bl OS_RestoreInterrupts
- mov r0, r5
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,lr}
- bx lr
- .balign 4
-_0209F504: .word 0x7F000001
-_0209F508: .word 0x021C8F04
-_0209F50C: .word 0x021C8F14
-_0209F510: .word 0x0210621C
-_0209F514: .word 0x021C8F78
-_0209F518: .word 0x021C8F82
-
- arm_func_start FUN_0209F51C
-FUN_0209F51C: ; 0x0209F51C
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- bl OS_DisableInterrupts
- ldr r2, _0209F570 ; =0x021C8EE4
- ldr r1, _0209F574 ; =0x021C8F0C
- ldr lr, [r2, #0x0]
- ldr r12, [r1, #0x0]
- ldr r3, [r2, #0x0]
- ldr r1, _0209F578 ; =0x021C8F10
- ldrh r3, [r12, r3]
- add r3, lr, r3
- str r3, [r2, #0x0]
- ldr r3, [r2, #0x0]
- ldr r1, [r1, #0x0]
- cmp r3, r1
- movcs r1, #0x0
- strcs r1, [r2, #0x0]
- bl OS_RestoreInterrupts
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_0209F570: .word 0x021C8EE4
-_0209F574: .word 0x021C8F0C
-_0209F578: .word 0x021C8F10
-
- arm_func_start FUN_0209F57C
-FUN_0209F57C: ; 0x0209F57C
- stmdb sp!, {r4-r10,lr}
- mov r6, r0
- bl OS_DisableInterrupts
- ldr sl, _0209F644 ; =0x021C8EE4
- ldr sb, _0209F648 ; =0x021C8EDC
- ldr r2, [r10, #0x0]
- ldr r1, [r9, #0x0]
- mov r5, r0
- cmp r2, r1
- bne _0209F5D4
- ldr r8, _0209F64C ; =0x021D3498
- ldr r7, _0209F650 ; =0x021C8F08
- mov r4, #0x0
-_0209F5B0:
- ldr r1, [r8, #0x4]
- mov r0, r4
- str r1, [r7, #0x0]
- bl OS_SleepThread
- str r4, [r7, #0x0]
- ldr r1, [r10, #0x0]
- ldr r0, [r9, #0x0]
- cmp r1, r0
- beq _0209F5B0
-_0209F5D4:
- mov r0, r5
- bl OS_RestoreInterrupts
- ldr r0, _0209F654 ; =0x021C8F0C
- ldr r5, [r0, #0x0]
- ldr r0, _0209F644 ; =0x021C8EE4
- ldr r1, _0209F658 ; =0x021C8F10
- mov r3, #0x0
-_0209F5F0:
- ldr r4, [r1, #0x0]
- ldr r2, [r0, #0x0]
- sub r2, r4, r2
- cmp r2, #0x2
- strcc r3, [r0, #0x0]
- ldr r2, [r0, #0x0]
- ldrh r2, [r5, r2]
- cmp r2, #0x0
- streq r3, [r0, #0x0]
- cmp r2, #0x0
- beq _0209F5F0
- sub r0, r2, #0x2
- ldr r1, _0209F654 ; =0x021C8F0C
- str r0, [r6, #0x0]
- ldr r0, _0209F644 ; =0x021C8EE4
- ldr r1, [r1, #0x0]
- ldr r0, [r0, #0x0]
- add r0, r1, r0
- add r0, r0, #0x2
- ldmia sp!, {r4-r10,lr}
- bx lr
- .balign 4
-_0209F644: .word 0x021C8EE4
-_0209F648: .word 0x021C8EDC
-_0209F64C: .word 0x021D3498
-_0209F650: .word 0x021C8F08
-_0209F654: .word 0x021C8F0C
-_0209F658: .word 0x021C8F10
-
- arm_func_start FUN_0209F65C
-FUN_0209F65C: ; 0x0209F65C
- stmdb sp!, {lr}
- sub sp, sp, #0xc
- mov r12, #0x0
- str r12, [sp, #0x0]
- str r12, [sp, #0x4]
- bl FUN_0209F6C0
- ldr r0, _0209F6BC ; =0x021C8F08
- ldr r1, [r0, #0x0]
- cmp r1, #0x0
- addeq sp, sp, #0xc
- ldmeqia sp!, {lr}
- bxeq lr
- ldr r0, [r0, #0x0]
- bl OS_IsThreadTerminated
-_0209F694: ; 0x0209F694
- cmp r0, #0x0
- addne sp, sp, #0xc
- ldmneia sp!, {lr}
- bxne lr
- ldr r0, _0209F6BC ; =0x021C8F08
- ldr r0, [r0, #0x0]
- bl OS_WakeupThreadDirect
- add sp, sp, #0xc
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_0209F6BC: .word 0x021C8F08
-
- arm_func_start FUN_0209F6C0
-FUN_0209F6C0: ; 0x0209F6C0
- stmdb sp!, {r4-r8,lr}
- ldr r4, _0209F918 ; =0x021C8F0C
- mov r7, r0
- ldr r0, [r4, #0x0]
- mov r6, r2
- mov r5, r3
- cmp r0, #0x0
- ldmeqia sp!, {r4-r8,lr}
- bxeq lr
- ldr r2, _0209F91C ; =0x021C8F10
- ldr r2, [r2, #0x0]
- cmp r2, #0x0
- ldmeqia sp!, {r4-r8,lr}
- bxeq lr
- ldr r2, [sp, #0x1c]
- add r2, r5, r2
- cmp r2, #0x8
- ldmccia sp!, {r4-r8,lr}
- bxcc lr
- ldr r3, _0209F920 ; =0x000005E4
- cmp r2, r3
- ldmhiia sp!, {r4-r8,lr}
- bxhi lr
- ldr r3, _0209F924 ; =0x02106230
- ldrb r8, [r6, #0x0]
- ldrb r4, [r3, #0x0]
- cmp r8, r4
- ldmneia sp!, {r4-r8,lr}
- bxne lr
- ldrb r8, [r6, #0x1]
- ldrb r4, [r3, #0x1]
- cmp r8, r4
- ldmneia sp!, {r4-r8,lr}
- bxne lr
- ldrb r4, [r6, #0x2]
- ldrb r3, [r3, #0x2]
- cmp r4, r3
- ldmneia sp!, {r4-r8,lr}
- bxne lr
- ldrb r3, [r6, #0x6]
- cmp r3, #0x8
- ldmneia sp!, {r4-r8,lr}
- bxne lr
- ldrb r3, [r6, #0x7]
- cmp r3, #0x0
- beq _0209F784
- cmp r3, #0x6
- ldmneia sp!, {r4-r8,lr}
- bxne lr
-_0209F784:
- ldr r4, _0209F928 ; =0x021C8EDC
- add r2, r2, #0x9
- bic r2, r2, #0x1
- ldr lr, [r4, #0x0]
- mov r3, r2, lsl #0x10
- ldr ip, _0209F92C ; =0x021C8EE4
- ldr r8, [r4, #0x0]
- ldr r4, [r12, #0x0]
- mov r2, r3, lsr #0x10
- cmp r8, r4
- add r4, lr, r3, lsr #0x10
- bhs _0209F7C4
- ldr r3, [r12, #0x0]
- cmp r3, r4
- ldmlsia sp!, {r4-r8,lr}
- bxls lr
-_0209F7C4:
- ldr r3, _0209F91C ; =0x021C8F10
- ldr r8, [r3, #0x0]
- cmp r4, r8
- bne _0209F7F0
- ldr r3, _0209F92C ; =0x021C8EE4
- mov r4, #0x0
- ldr r3, [r3, #0x0]
- cmp r3, #0x0
- bne _0209F814
- ldmia sp!, {r4-r8,lr}
- bx lr
-_0209F7F0:
- ldr r3, [r3, #0x0]
- cmp r4, r3
- bls _0209F814
- ldr r3, _0209F92C ; =0x021C8EE4
- mov r4, r2
- ldr r3, [r3, #0x0]
- cmp r3, r2
- ldmlsia sp!, {r4-r8,lr}
- bxls lr
-_0209F814:
- ldr ip, _0209F928 ; =0x021C8EDC
- ldr r3, _0209F91C ; =0x021C8F10
- ldr lr, [r12, #0x0]
- ldr r8, [r3, #0x0]
- add lr, lr, r2
- cmp lr, r8
- bls _0209F858
- ldr r8, [r3, #0x0]
- ldr r3, [r12, #0x0]
- sub r3, r8, r3
- cmp r3, #0x2
- ldrcs r3, [r12, #0x0]
- movcs r8, #0x0
- strcsh r8, [r0, r3]
- ldr r0, _0209F928 ; =0x021C8EDC
- mov r3, #0x0
- str r3, [r0, #0x0]
-_0209F858:
- ldr ip, _0209F918 ; =0x021C8F0C
- ldr r3, _0209F928 ; =0x021C8EDC
- ldr r8, [r12, #0x0]
- ldr lr, [r3, #0x0]
- mov r0, r1
- strh r2, [r8, lr]
- ldr r12, [r12, #0x0]
- ldr r1, [r3, #0x0]
- mov r2, #0x6
- add r1, r12, r1
- add r1, r1, #0x2
- bl MI_CpuCopy8
- ldr r1, _0209F918 ; =0x021C8F0C
- ldr r0, _0209F928 ; =0x021C8EDC
- ldr r2, [r1, #0x0]
- ldr r1, [r0, #0x0]
- mov r0, r7
- add r1, r2, r1
- add r1, r1, #0x8
- mov r2, #0x6
- bl MI_CpuCopy8
- ldr r1, _0209F918 ; =0x021C8F0C
- ldr r0, _0209F928 ; =0x021C8EDC
- ldr r2, [r1, #0x0]
- ldr r1, [r0, #0x0]
- add r0, r6, #0x6
- add r1, r2, r1
- add r1, r1, #0xe
- sub r2, r5, #0x6
- bl MI_CpuCopy8
- ldr r0, [sp, #0x18]
- cmp r0, #0x0
- beq _0209F908
- ldr r2, [sp, #0x1c]
- cmp r2, #0x0
- beq _0209F908
- ldr r3, _0209F918 ; =0x021C8F0C
- ldr r1, _0209F928 ; =0x021C8EDC
- ldr r3, [r3, #0x0]
- ldr r1, [r1, #0x0]
- add r1, r3, r1
- add r1, r1, #0x8
- add r1, r1, r5
- bl MI_CpuCopy8
-_0209F908:
- ldr r0, _0209F928 ; =0x021C8EDC
- str r4, [r0, #0x0]
- ldmia sp!, {r4-r8,lr}
- bx lr
- .balign 4
-_0209F918: .word 0x021C8F0C
-_0209F91C: .word 0x021C8F10
-_0209F920: .word 0x000005E4
-_0209F924: .word 0x02106230
-_0209F928: .word 0x021C8EDC
-_0209F92C: .word 0x021C8EE4
-
- arm_func_start FUN_0209F930
-FUN_0209F930: ; 0x0209F930
- stmdb sp!, {r4-r6,lr}
- mov r6, r0
- mov r5, r1
- add r1, r6, r5
- mov r4, r3
- cmp r1, r2
- beq _0209F958
- mov r0, r2
- mov r2, r4
- bl MI_CpuCopy8
-_0209F958:
- ldr r0, _0209F998 ; =0x02106230
- add r1, r6, #0x6
- mov r2, #0x6
- bl MI_CpuCopy8
- add r2, r5, r4
- mov r0, r6
- add r1, r6, #0x6
- sub r2, r2, #0x6
- bl FUN_020A8644
-_0209F97C: ; 0x0209F97C
- cmp r0, #0x0
- movlt r1, #0x1
- ldr r0, _0209F99C ; =0x021C8EA8
- movge r1, #0x0
- strb r1, [r0, #0x0]
- ldmia sp!, {r4-r6,lr}
- bx lr
- .balign 4
-_0209F998: .word 0x02106230
-_0209F99C: .word 0x021C8EA8
-
- arm_func_start FUN_0209F9A0
-FUN_0209F9A0:
- mov r12, #0x0
-_0209F9A4:
- ldrh r3, [r0], #0x2
- ldrh r2, [r1], #0x2
- cmp r3, r2
- movne r0, #0x1
- bxne lr
- add r12, r12, #0x1
- cmp r12, #0x3
- blt _0209F9A4
- mov r0, #0x0
- bx lr
-
- arm_func_start FUN_0209F9CC
-FUN_0209F9CC:
- stmdb sp!, {r4-r6,lr}
- ldr r1, _0209FA4C ; =0x021C8F04
- mov r5, #0x1
- ldr r1, [r1, #0x0]
- mov r6, r0
- mov r4, r5
- mov r2, r5
- mov r0, r5
- cmp r1, #0x0
- beq _0209F9FC
- cmp r6, r1
- movne r0, #0x0
-_0209F9FC:
- cmp r0, #0x0
- bne _0209FA10
- ldr r0, _0209FA50 ; =0x7F000001
- cmp r6, r0
- movne r2, #0x0
-_0209FA10:
- cmp r2, #0x0
- bne _0209FA28
- mov r0, r6
- bl FUN_0209FA68
-_0209FA20: ; 0x0209FA20
- cmp r0, #0x0
- moveq r4, #0x0
-_0209FA28:
- cmp r4, #0x0
- bne _0209FA40
- mov r0, r6
- bl FUN_0209FA54
-_0209FA38: ; 0x0209FA38
- cmp r0, #0x0
- moveq r5, #0x0
-_0209FA40:
- mov r0, r5
- ldmia sp!, {r4-r6,lr}
- bx lr
- .balign 4
-_0209FA4C: .word 0x021C8F04
-_0209FA50: .word 0x7F000001
-
- arm_func_start FUN_0209FA54
-FUN_0209FA54:
- and r0, r0, #0xf0000000
- cmp r0, #0xe0000000
- moveq r0, #0x1
- movne r0, #0x0
- bx lr
-
- arm_func_start FUN_0209FA68
-FUN_0209FA68:
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r5, r0
- mov r4, #0x0
- bl FUN_0209FAD8
-_0209FA7C: ; 0x0209FA7C
- cmp r0, #0x0
- beq _0209FA9C
- ldr r0, _0209FAAC ; =0x021C8ED0
- ldr r0, [r0, #0x0]
- mvn r1, r0
- and r0, r1, r5
- cmp r1, r0
- moveq r4, #0x1
-_0209FA9C:
- mov r0, r4
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
- .balign 4
-_0209FAAC: .word 0x021C8ED0
-
- arm_func_start FUN_0209FAB0
-FUN_0209FAB0:
- stmdb sp!, {r4,lr}
- mov r4, r0
- bl FUN_0209FAD8
-_0209FABC: ; 0x0209FABC
- cmp r0, #0x0
- ldreq r0, _0209FAD4 ; =0x021C8EE0
- ldreq r4, [r0, #0x0]
- mov r0, r4
- ldmia sp!, {r4,lr}
- bx lr
- .balign 4
-_0209FAD4: .word 0x021C8EE0
-
- arm_func_start FUN_0209FAD8
-FUN_0209FAD8:
- mvn r1, #0x0
- cmp r0, r1
- mov r12, #0x1
- beq _0209FB14
- ldr r1, _0209FB1C ; =0x7F000001
- cmp r0, r1
- beq _0209FB14
- ldr r2, _0209FB20 ; =0x021C8ED0
- ldr r1, _0209FB24 ; =0x021C8F04
- ldr r3, [r2, #0x0]
- ldr r1, [r1, #0x0]
- and r2, r0, r3
- and r0, r1, r3
- cmp r2, r0
- movne r12, #0x0
-_0209FB14:
- mov r0, r12
- bx lr
- .balign 4
-_0209FB1C: .word 0x7F000001
-_0209FB20: .word 0x021C8ED0
-_0209FB24: .word 0x021C8F04
-
- arm_func_start FUN_0209FB28
-FUN_0209FB28:
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r4, r2
- mov r2, r3
- mov r5, r1
- bl FUN_0209FBC8
- mov r2, r0
- add r0, r4, #0xc
- mov r1, #0x8
- bl FUN_0209FBC8
- add r1, r0, r5
- ands r0, r1, #0x10000
- ldrne r0, _0209FB80 ; =0x0000FFFF
- addne r1, r1, #0x1
- andne r1, r1, r0
- ldr r0, _0209FB80 ; =0x0000FFFF
- cmp r1, r0
- movne r0, #0x1
- moveq r0, #0x0
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
- .balign 4
-_0209FB80: .word 0x0000FFFF
-
- arm_func_start FUN_0209FB84
-FUN_0209FB84: ; 0x0209FB84
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- mov r2, #0x0
- bl FUN_0209FBC8
- mov r0, r0, lsl #0x10
- mov r0, r0, lsr #0x10
- bl FUN_0209FBAC
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-
- arm_func_start FUN_0209FBAC
-FUN_0209FBAC: ; 0x0209FBAC
- ldr r1, _0209FBC4 ; =0x0000FFFF
- eor r0, r0, r1
- mov r0, r0, lsl #0x10
- movs r0, r0, lsr #0x10
- moveq r0, r1
- bx lr
- .balign 4
-_0209FBC4: .word 0x0000FFFF
-
- arm_func_start FUN_0209FBC8
-FUN_0209FBC8: ; 0x0209FBC8
- ands r3, r0, #0x1
- beq _0209FC00
- cmp r1, #0x1
- bls _0209FC54
-_0209FBD8:
- ldrb r12, [r0, #0x0]
- ldrb r3, [r0, #0x1]
- sub r1, r1, #0x2
- cmp r1, #0x1
- orr r3, r3, r12, lsl #0x8
- mov r3, r3, lsl #0x10
- add r2, r2, r3, lsr #0x10
- add r0, r0, #0x2
- bhi _0209FBD8
- b _0209FC54
-_0209FC00:
- mov r2, r2, lsl #0x10
- mov r3, r2, lsr #0x10
- mov r2, r3, asr #0x8
- orr r2, r2, r3, lsl #0x8
- mov r2, r2, lsl #0x10
- cmp r1, #0x1
- mov r2, r2, lsr #0x10
- bls _0209FC38
-_0209FC20:
- ldrh r3, [r0, #0x0]
- sub r1, r1, #0x2
- cmp r1, #0x1
- add r2, r2, r3
- add r0, r0, #0x2
- bhi _0209FC20
-_0209FC38:
- ldr r3, _0209FC7C ; =0x00FF00FF
- ldr ip, _0209FC80 ; =0xFF00FF00
- and r3, r3, r2, lsr #0x8
- and r2, r12, r2, lsl #0x8
- orr r3, r3, r2
- mov r2, r3, lsr #0x10
- orr r2, r2, r3, lsl #0x10
-_0209FC54:
- cmp r1, #0x0
- ldrneb r0, [r0, #0x0]
- addne r2, r2, r0, lsl #0x8
- ldr r0, _0209FC84 ; =0x0000FFFF
- and r0, r2, r0
- add r0, r0, r2, lsr #0x10
- add r0, r0, r0, lsr #0x10
- mov r0, r0, lsl #0x10
- mov r0, r0, lsr #0x10
- bx lr
- .balign 4
-_0209FC7C: .word 0x00FF00FF
-_0209FC80: .word 0xFF00FF00
-_0209FC84: .word 0x0000FFFF
-
- arm_func_start FUN_0209FC88
-FUN_0209FC88: ; 0x0209FC88
- stmdb sp!, {r4,lr}
- mov r4, r0
- ldr r2, _0209FCB8 ; =0x02106218
- ldr r0, _0209FCBC ; =0x021C9160
- mov r1, r4
- str r4, [r2, #0x0]
- bl OS_SetThreadPriority
- ldr r0, _0209FCC0 ; =0x021C90A0
- mov r1, r4
- bl OS_SetThreadPriority
- ldmia sp!, {r4,lr}
- bx lr
- .balign 4
-_0209FCB8: .word 0x02106218
-_0209FCBC: .word 0x021C9160
-_0209FCC0: .word 0x021C90A0
-
- arm_func_start FUN_0209FCC4
-FUN_0209FCC4:
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- bl FUN_0209FD34
- ldr r0, _0209FD10 ; =0x021C90A0
- bl OS_JoinThread
- ldr r0, _0209FD14 ; =0x021C9160
- bl OS_DestroyThread
- ldr r1, _0209FD18 ; =0x021C8F08
- mov r0, #0x0
- str r0, [r1, #0x0]
- bl FUN_020A0098
- ldr r1, _0209FD1C ; =0x021C8F0C
- mov r2, #0x0
- ldr r0, _0209FD20 ; =0x021C8F10
- str r2, [r1, #0x0]
- str r2, [r0, #0x0]
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_0209FD10: .word 0x021C90A0
-_0209FD14: .word 0x021C9160
-_0209FD18: .word 0x021C8F08
-_0209FD1C: .word 0x021C8F0C
-_0209FD20: .word 0x021C8F10
-
- arm_func_start FUN_0209FD24
-FUN_0209FD24: ; 0x0209FD24
- ldr r1, _0209FD30 ; =0x021C8EF0
- str r0, [r1, #0x0]
- bx lr
- .balign 4
-_0209FD30: .word 0x021C8EF0
-
- arm_func_start FUN_0209FD34
-FUN_0209FD34:
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- bl OS_DisableInterrupts
- mov r5, r0
- ldr r0, _0209FD8C ; =0x021C90A0
- bl OS_IsThreadTerminated
- movs r4, r0
- bne _0209FD74
- ldr r1, _0209FD90 ; =0x021C8EF8
- ldr r0, [r1, #0x0]
- cmp r0, #0x0
- bne _0209FD74
- ldr r0, _0209FD8C ; =0x021C90A0
- mov r2, #0x1
- str r2, [r1, #0x0]
- bl OS_WakeupThreadDirect
-_0209FD74:
- mov r0, r5
- bl OS_RestoreInterrupts
- mov r0, r4
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
- .balign 4
-_0209FD8C: .word 0x021C90A0
-_0209FD90: .word 0x021C8EF8
-
- arm_func_start FUN_0209FD94
-FUN_0209FD94: ; 0x0209FD94
- stmdb sp!, {r4-r6,lr}
- sub sp, sp, #0x8
- mov r4, r0
- ldr r0, _0209FFD4 ; =0x02000BEC
- bl OSi_ReferSymbol
- ldr r12, [r4, #0x14]
- ldr r6, [r4, #0x18]
- mov r1, #0x0
- cmp r6, r1
- cmpeq r12, r1
- beq _0209FDEC
- ldr r0, _0209FFD8 ; =0x021C8F24
- ldr r5, _0209FFDC ; =0x6C078965
- ldr r3, _0209FFE0 ; =0x5D588B65
- ldr r2, _0209FFE4 ; =0x00269EC3
- str r12, [r0, #0x0]
- str r6, [r0, #0x4]
- str r5, [r0, #0x8]
- str r3, [r0, #0xc]
- str r2, [r0, #0x10]
- str r1, [r0, #0x14]
- b _0209FE1C
-_0209FDEC:
- bl OS_GetTick
- ldr r2, _0209FFD8 ; =0x021C8F24
- ldr ip, _0209FFDC ; =0x6C078965
- ldr r6, _0209FFE0 ; =0x5D588B65
- ldr r5, _0209FFE4 ; =0x00269EC3
- mov r3, #0x0
- str r0, [r2, #0x0]
- str r1, [r2, #0x4]
- str r12, [r2, #0x8]
- str r6, [r2, #0xc]
- str r5, [r2, #0x10]
- str r3, [r2, #0x14]
-_0209FE1C:
- ldr r2, [r4, #0x4]
- cmp r2, #0x0
- beq _0209FE4C
- ldr r0, [r4, #0x8]
- cmp r0, #0x0
- beq _0209FE4C
- ldr r1, _0209FFE8 ; =0x021C8EC8
- ldr r0, _0209FFEC ; =0x021C8EF4
- str r2, [r1, #0x0]
- ldr r1, [r4, #0x8]
- str r1, [r0, #0x0]
- b _0209FE60
-_0209FE4C:
- ldr r2, _0209FFF0 ; =FUN_020A0058
- ldr r1, _0209FFE8 ; =0x021C8EC8
- ldr r0, _0209FFEC ; =0x021C8EF4
- str r2, [r1, #0x0]
- str r2, [r0, #0x0]
-_0209FE60:
- ldr r1, [r4, #0x0]
- ldr r0, _0209FFF4 ; =0x021C8EC4
- ldr ip, _0209FFD8 ; =0x021C8F24
- str r1, [r0, #0x0]
- ldr r1, [r4, #0x24]
- ldr r3, [r12, #0x8]
- cmp r1, #0x0
- ldrne r0, _0209FFF8 ; =0x021C8EB0
- strneh r1, [r0, #0x0]
- ldreq r1, _0209FFFC ; =0x000005B4
- ldreq r0, _0209FFF8 ; =0x021C8EB0
- streqh r1, [r0, #0x0]
- ldr r2, [r4, #0x28]
- ldr r1, _020A0000 ; =0x021C8EE8
- ldr r0, _020A0004 ; =0x021C8ED8
- str r2, [r1, #0x0]
- ldr r1, [r4, #0x2c]
- ldr r2, [r12, #0x0]
- str r1, [r0, #0x0]
- ldr r1, [r4, #0xc]
- umull lr, r5, r3, r2
- cmp r1, #0x0
- ldrne r0, _020A0008 ; =0x021C8ECC
- strne r1, [r0, #0x0]
- ldreq r1, _0209FFF0 ; =FUN_020A0058
- ldreq r0, _020A0008 ; =0x021C8ECC
- streq r1, [r0, #0x0]
- ldr r1, [r4, #0x10]
- cmp r1, #0x0
- ldrne r0, _020A000C ; =0x021C8EFC
- strne r1, [r0, #0x0]
- ldreq r1, _020A0010 ; =FUN_020A0050
- ldreq r0, _020A000C ; =0x021C8EFC
- streq r1, [r0, #0x0]
- ldr r1, [r12, #0x4]
- ldr r0, _020A0014 ; =0x00000F88
- mla r5, r3, r1, r5
- ldr r1, [r12, #0xc]
- ldr r3, [r12, #0x10]
- mla r5, r1, r2, r5
- adds r2, r3, lr
- ldr r1, [r12, #0x14]
- mov r3, #0x0
- adc r1, r1, r5
- umull lr, r5, r1, r0
- mla r5, r1, r3, r5
- mla r5, r3, r0, r5
- ldr r6, [r4, #0x1c]
- ldr r0, _020A0018 ; =0x021C8F0C
- ldr lr, _020A001C ; =0x021C8F10
- str r6, [r0, #0x0]
- ldr r4, [r4, #0x20]
- ldr r0, _020A0020 ; =0x021C8EE4
- str r4, [lr, #0x0]
- str r3, [r0, #0x0]
- ldr lr, _020A0024 ; =0x021C8EDC
- ldr r4, _020A0028 ; =0x021C8EBC
- add r5, r5, #0x400
- ldr r0, _020A002C ; =0x021C8F14
- str r3, [lr, #0x0]
- str r2, [r12, #0x0]
- str r1, [r12, #0x4]
- strh r5, [r4, #0x0]
- bl OS_GetMacAddress
- ldr r0, _020A0030 ; =0x021C8EAC
- mov r2, #0x0
- strb r2, [r0, #0x0]
- mov r1, #0x800
- str r1, [sp, #0x0]
- ldr r0, _020A0034 ; =0x02106218
- ldr r1, _020A0038 ; =FUN_0209CD3C
- ldr r4, [r0, #0x0]
- ldr r0, _020A003C ; =0x021C9160
- ldr r3, _020A0040 ; =0x021CA6E0
- str r4, [sp, #0x4]
- bl OS_CreateThread
- mov r1, #0x800
- ldr r0, _020A0034 ; =0x02106218
- str r1, [sp, #0x0]
- ldr r1, [r0, #0x0]
- ldr r0, _020A0044 ; =0x021C90A0
- str r1, [sp, #0x4]
- ldr r1, _020A0048 ; =FUN_0209BA80
- ldr r3, _020A004C ; =0x021C9EE0
- mov r2, #0x0
- bl OS_CreateThread
- ldr r0, _020A003C ; =0x021C9160
- bl OS_WakeupThreadDirect
- ldr r0, _020A0044 ; =0x021C90A0
- bl OS_WakeupThreadDirect
- add sp, sp, #0x8
- ldmia sp!, {r4-r6,lr}
- bx lr
- .balign 4
-_0209FFD4: .word 0x02000BEC
-_0209FFD8: .word 0x021C8F24
-_0209FFDC: .word 0x6C078965
-_0209FFE0: .word 0x5D588B65
-_0209FFE4: .word 0x00269EC3
-_0209FFE8: .word 0x021C8EC8
-_0209FFEC: .word 0x021C8EF4
-_0209FFF0: .word FUN_020A0058
-_0209FFF4: .word 0x021C8EC4
-_0209FFF8: .word 0x021C8EB0
-_0209FFFC: .word 0x000005B4
-_020A0000: .word 0x021C8EE8
-_020A0004: .word 0x021C8ED8
-_020A0008: .word 0x021C8ECC
-_020A000C: .word 0x021C8EFC
-_020A0010: .word FUN_020A0050
-_020A0014: .word 0x00000F88
-_020A0018: .word 0x021C8F0C
-_020A001C: .word 0x021C8F10
-_020A0020: .word 0x021C8EE4
-_020A0024: .word 0x021C8EDC
-_020A0028: .word 0x021C8EBC
-_020A002C: .word 0x021C8F14
-_020A0030: .word 0x021C8EAC
-_020A0034: .word 0x02106218
-_020A0038: .word FUN_0209CD3C
-_020A003C: .word 0x021C9160
-_020A0040: .word 0x021CA6E0
-_020A0044: .word 0x021C90A0
-_020A0048: .word FUN_0209BA80
-_020A004C: .word 0x021C9EE0
-
- arm_func_start FUN_020A0050
-FUN_020A0050: ; 0x020A0050
- mov r0, #0x1
- bx lr
-
- arm_func_start FUN_020A0058
-FUN_020A0058: ; 0x020A0058
- bx lr
-
- arm_func_start FUN_020A005C
-FUN_020A005C:
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r0, _020A0094 ; =0x021C8ED8
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- bne _020A0084
- bl OS_YieldThread
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-_020A0084:
- bl OS_Sleep
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020A0094: .word 0x021C8ED8
-
- arm_func_start FUN_020A0098
-FUN_020A0098: ; 0x020A0098
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- ldr r1, _020A01B8 ; =0x021C8F04
- ldr r5, _020A01BC ; =0x021C8EC0
- ldr r1, [r1, #0x0]
- ldr r3, _020A01C0 ; =0x021C8F1C
- cmp r1, #0x0
- mov r1, #0x0
- movne r6, #0x1
- ldr ip, _020A01C4 ; =0x021C8ED0
- ldr r2, _020A01C8 ; =0x021C8ED4
- moveq r6, #0x0
- ldr lr, _020A01B8 ; =0x021C8F04
- ldr r4, _020A01CC ; =0x021C8EE0
- cmp r6, #0x0
- str r1, [r12, #0x0]
- str r1, [r3, #0x0]
- str r1, [r3, #0x4]
- str r1, [r2, #0x0]
- addeq sp, sp, #0x4
- str r0, [r5, #0x0]
- str r1, [lr, #0x0]
- str r1, [r4, #0x0]
- ldmeqia sp!, {r4-r7,lr}
- bxeq lr
- ldr r0, _020A01D0 ; =0x021C8F78
- mov r2, #0x60
- bl MI_CpuFill8
- ldr r0, _020A01D4 ; =0x021D3498
- ldr r5, [r0, #0x8]
- cmp r5, #0x0
- beq _020A016C
- mov r4, #0x0
-_020A011C:
- ldr r1, [r5, #0xa4]
- cmp r1, #0x0
- beq _020A0160
- ldr r0, [r1, #0x0]
- cmp r0, #0x0
- beq _020A0160
- ldrb r0, [r1, #0x8]
- cmp r0, #0xa
- beq _020A0148
- cmp r0, #0xb
- strneb r4, [r1, #0x8]
-_020A0148:
- ldr r0, [r1, #0x4]
- cmp r0, #0x0
- beq _020A0160
- str r4, [r1, #0x4]
- ldr r0, [r1, #0x0]
- bl OS_WakeupThreadDirect
-_020A0160:
- ldr r5, [r5, #0x68]
- cmp r5, #0x0
- bne _020A011C
-_020A016C:
- ldr r6, _020A01D8 ; =0x021C9520
- mov r7, #0x0
- ldr r4, _020A01DC ; =0x021C8EF4
- mov r5, r7
-_020A017C:
- ldrh r0, [r6, #0x4]
- cmp r0, #0x0
- beq _020A0198
- ldr r0, [r6, #0x34]
- ldr r1, [r4, #0x0]
- blx r1
- strh r5, [r6, #0x4]
-_020A0198:
- add r7, r7, #0x1
- cmp r7, #0x8
- add r6, r6, #0x38
- blt _020A017C
- bl FUN_020A01E0
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,lr}
- bx lr
- .balign 4
-_020A01B8: .word 0x021C8F04
-_020A01BC: .word 0x021C8EC0
-_020A01C0: .word 0x021C8F1C
-_020A01C4: .word 0x021C8ED0
-_020A01C8: .word 0x021C8ED4
-_020A01CC: .word 0x021C8EE0
-_020A01D0: .word 0x021C8F78
-_020A01D4: .word 0x021D3498
-_020A01D8: .word 0x021C9520
-_020A01DC: .word 0x021C8EF4
-
- arm_func_start FUN_020A01E0
-FUN_020A01E0: ; 0x020A01E0
- ldr ip, _020A01F4 ; =MI_CpuFill8
- ldr r0, _020A01F8 ; =0x021CA6FC
- mov r1, #0x0
- mov r2, #0x170
- bx r12
- .balign 4
-_020A01F4: .word MI_CpuFill8
-_020A01F8: .word 0x021CA6FC
-
- arm_func_start FUN_020A01FC
-FUN_020A01FC: ; 0x020A01FC
- stmdb sp!, {r4-r6,lr}
- mov r5, r0
- bl OS_DisableInterrupts
- ldr r4, _020A02E0 ; =0x021CA6FC
- mov r6, #0x0
- mov r2, r6
- ldr r1, _020A02E4 ; =0x000003BD
-_020A0218:
- ldrb r3, [r4, #0x5a]
- cmp r3, #0x0
- beq _020A0234
- ldr r3, [r4, #0x50]
- sub r3, r5, r3
- cmp r3, r1
- strgtb r2, [r4, #0x5a]
-_020A0234:
- add r6, r6, #0x1
- cmp r6, #0x4
- add r4, r4, #0x5c
- blt _020A0218
- bl OS_RestoreInterrupts
- ldr r0, _020A02E8 ; =0x021D3498
- ldr r4, [r0, #0x8]
- cmp r4, #0x0
- ldmeqia sp!, {r4-r6,lr}
- bxeq lr
- mov r6, #0x0
-_020A0260:
- ldr r1, [r4, #0xa4]
- cmp r1, #0x0
- beq _020A02CC
- ldr r0, [r1, #0x0]
- cmp r0, #0x0
- beq _020A02CC
- ldrb r0, [r1, #0x9]
- cmp r0, #0x0
- beq _020A02CC
- ldrb r0, [r1, #0x8]
- cmp r0, #0x4
- bne _020A02CC
- ldr r0, [r1, #0xc]
- ldrb r0, [r0, #0x455]
- cmp r0, #0x8
- bhs _020A02CC
- ldr r0, [r1, #0x10]
- sub r0, r5, r0
- cmp r0, #0xef
- ble _020A02CC
- ldr r0, [r1, #0x4]
- cmp r0, #0x2
- bne _020A02CC
- strb r6, [r1, #0x8]
- str r6, [r1, #0x4]
- ldr r0, [r1, #0x0]
- bl OS_WakeupThreadDirect
-_020A02CC:
- ldr r4, [r4, #0x68]
- cmp r4, #0x0
- bne _020A0260
- ldmia sp!, {r4-r6,lr}
- bx lr
- .balign 4
-_020A02E0: .word 0x021CA6FC
-_020A02E4: .word 0x000003BD
-_020A02E8: .word 0x021D3498
-
- arm_func_start FUN_020A02EC
-FUN_020A02EC:
- stmdb sp!, {r4,lr}
- mov r4, r0
- ldr r0, _020A0318 ; =0x02000C04
- bl OSi_ReferSymbol
- ldr r0, _020A031C ; =0x021D3498
- ldr r0, [r0, #0x4]
- ldr r0, [r0, #0xa4]
- cmp r0, #0x0
- strneb r4, [r0, #0x9]
- ldmia sp!, {r4,lr}
- bx lr
- .balign 4
-_020A0318: .word 0x02000C04
-_020A031C: .word 0x021D3498
-
- arm_func_start FUN_020A0320
-FUN_020A0320: ; 0x020A0320
- stmdb sp!, {r4,lr}
- ldr r4, [r0, #0xc]
- mov r0, #0x0
- strb r0, [r4, #0x455]
- ldr r0, [r4, #0x824]
- cmp r0, #0x0
- beq _020A0348
- ldr r1, _020A0358 ; =0x021C8EF4
- ldr r1, [r1, #0x0]
- blx r1
-_020A0348:
- mov r0, #0x0
- str r0, [r4, #0x824]
- ldmia sp!, {r4,lr}
- bx lr
- .balign 4
-_020A0358: .word 0x021C8EF4
-
- arm_func_start FUN_020A035C
-FUN_020A035C: ; 0x020A035C
- stmdb sp!, {r4-r6,lr}
- sub sp, sp, #0x20
- mov r5, r0
- ldr r4, [r5, #0xc]
- ldrb r0, [r4, #0x455]
- cmp r0, #0x8
- bne _020A03CC
- mov r12, #0x0
- mov r6, #0x15
- mov lr, #0x3
- mov r3, #0x2
- mov r2, #0x1
- add r1, sp, #0x4
- mov r0, r4
- strb r6, [sp, #0x4]
- strb lr, [sp, #0x5]
- strb r12, [sp, #0x6]
- strb r12, [sp, #0x7]
- strb r3, [sp, #0x8]
- strb r2, [sp, #0x9]
- strb r12, [sp, #0xa]
- bl FUN_020A19F4
- mov r2, #0x0
- mov r1, r0
- add r0, sp, #0x4
- mov r3, r2
- str r5, [sp, #0x0]
- bl FUN_0209C1D4
-_020A03CC:
- mov r0, #0x0
- strb r0, [r4, #0x455]
- add sp, sp, #0x20
- ldmia sp!, {r4-r6,lr}
- bx lr
-
- arm_func_start FUN_020A03E0
-FUN_020A03E0: ; 0x020A03E0
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0x24
- ldr r4, [sp, #0x48]
- mov r9, r1
- mov r1, r4
- mov r10, r0
- mov r0, #0x0
- ldr r1, [r1, #0xc]
- str r0, [sp, #0x8]
- str r0, [sp, #0x1c]
- str r0, [sp, #0x14]
- str r0, [sp, #0x18]
- mov r0, #0x17
- str r0, [sp, #0xc]
- mov r0, #0x3
- str r4, [sp, #0x48]
- str r1, [sp, #0x4]
- mov r8, r2
- add r6, r9, r3
- str r0, [sp, #0x10]
-_020A0430:
- ldr r0, _020A052C ; =0x00000B4F
- ldr r1, _020A0530 ; =0x021C8EC8
- cmp r6, r0
- movgt r5, r0
- movle r5, r6
- ldr r1, [r1, #0x0]
- add r0, r5, #0x19
- blx r1
- movs r7, r0
- beq _020A051C
- cmp r9, r5
- movcs r4, r5
- movcc r4, r9
- mov r0, r10
- add r1, r7, #0x5
- mov r2, r4
- sub r11, r5, r4
- bl MI_CpuCopy8
- add r1, r7, #0x5
- mov r0, r8
- add r1, r1, r4
- mov r2, r11
- add r10, r10, r4
- sub r9, r9, r4
- bl MI_CpuCopy8
- ldr r0, [sp, #0xc]
- mov r1, r7
- strb r0, [r7, #0x0]
- ldr r0, [sp, #0x10]
- add r8, r8, r11
- strb r0, [r7, #0x1]
- ldr r0, [sp, #0x14]
- strb r0, [r7, #0x2]
- mov r0, r5, asr #0x8
- strb r0, [r7, #0x3]
- ldr r0, [sp, #0x4]
- strb r5, [r7, #0x4]
- bl FUN_020A19F4
- ldr r1, [sp, #0x48]
- ldr r2, [sp, #0x18]
- mov r4, r0
- str r1, [sp, #0x0]
- mov r0, r7
- mov r1, r4
- mov r3, r2
- bl FUN_0209C1D4
- cmp r0, r4
- ldr r1, _020A0534 ; =0x021C8EF4
- mov r0, r7
- ldr r1, [r1, #0x0]
- ldrcc r5, [sp, #0x1c]
- blx r1
- ldr r0, [sp, #0x8]
- subs r6, r6, r5
- add r0, r0, r5
- str r0, [sp, #0x8]
- beq _020A051C
- cmp r5, #0x0
- bne _020A0430
-_020A051C:
- ldr r0, [sp, #0x8]
- add sp, sp, #0x24
- ldmia sp!, {r4-r11,lr}
- bx lr
- .balign 4
-_020A052C: .word 0x00000B4F
-_020A0530: .word 0x021C8EC8
-_020A0534: .word 0x021C8EF4
-
- arm_func_start FUN_020A0538
-FUN_020A0538: ; 0x020A0538
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r5, r0
- ldr r4, [r5, #0xc]
- ldr r0, [r4, #0x824]
- cmp r0, #0x0
- beq _020A0560
- ldrb r0, [r4, #0x456]
- cmp r0, #0x0
- bne _020A0568
-_020A0560:
- mov r0, r5
- bl FUN_020A05D4
-_020A0568:
- ldr r1, [r4, #0x824]
- cmp r1, #0x0
- beq _020A0594
- ldrb r0, [r4, #0x456]
- cmp r0, #0x0
- ldrne r1, [r4, #0x828]
- ldrne r0, [r4, #0x82c]
- addne sp, sp, #0x4
- subne r0, r1, r0
- ldmneia sp!, {r4-r5,lr}
- bxne lr
-_020A0594:
- cmp r1, #0x0
- bne _020A05C4
- ldrb r0, [r5, #0x8]
- cmp r0, #0x4
- bne _020A05B4
- ldrb r0, [r4, #0x455]
- cmp r0, #0x9
- bne _020A05C4
-_020A05B4:
- add sp, sp, #0x4
- mvn r0, #0x0
- ldmia sp!, {r4-r5,lr}
- bx lr
-_020A05C4:
- mov r0, #0x0
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
-
- arm_func_start FUN_020A05D4
-FUN_020A05D4: ; 0x020A05D4
- stmdb sp!, {r4-r6,lr}
- sub sp, sp, #0x8
- mov r5, r0
- ldr r4, [r5, #0xc]
- ldr r0, [r4, #0x824]
- cmp r0, #0x0
- bne _020A0684
- ldr r0, [r5, #0x44]
- cmp r0, #0x5
- addcc sp, sp, #0x8
- ldmccia sp!, {r4-r6,lr}
- bxcc lr
- add r0, sp, #0x0
- mov r1, r5
- bl FUN_0209C6C0
- ldrb r2, [r0, #0x3]
- ldrb r0, [r0, #0x4]
- ldr r1, _020A0730 ; =0x00004805
- add r0, r0, r2, lsl #0x8
- add r0, r0, #0x5
- str r0, [sp, #0x0]
- cmp r0, r1
- movhi r0, #0x9
- addhi sp, sp, #0x8
- strhib r0, [r4, #0x455]
- ldmhiia sp!, {r4-r6,lr}
- bxhi lr
- ldr r1, _020A0734 ; =0x021C8EC8
- ldr r1, [r1, #0x0]
- blx r1
- str r0, [r4, #0x824]
- ldr r0, [r4, #0x824]
- cmp r0, #0x0
- moveq r0, #0x9
- addeq sp, sp, #0x8
- streqb r0, [r4, #0x455]
- ldmeqia sp!, {r4-r6,lr}
- bxeq lr
- ldr r1, [sp, #0x0]
- mov r0, #0x0
- str r1, [r4, #0x828]
- str r0, [r4, #0x82c]
- strb r0, [r4, #0x456]
- b _020A0698
-_020A0684:
- ldr r0, [r5, #0x44]
- cmp r0, #0x0
- addeq sp, sp, #0x8
- ldmeqia sp!, {r4-r6,lr}
- bxeq lr
-_020A0698:
- add r0, sp, #0x0
- mov r1, r5
- bl FUN_0209C6C0
- ldr r3, [r4, #0x828]
- ldr r2, [r4, #0x82c]
- ldr r1, [sp, #0x0]
- sub r2, r3, r2
- cmp r1, r2
- strcs r2, [sp, #0x0]
- movcs r6, #0x1
- ldr r3, [r4, #0x824]
- ldr r1, [r4, #0x82c]
- ldr r2, [sp, #0x0]
- add r1, r3, r1
- movcc r6, #0x0
- bl MI_CpuCopy8
-_020A06D8: ; 0x020A06D8
- ldr r0, [sp, #0x0]
- mov r1, r5
- bl FUN_0209C580
-_020A06E4: ; 0x020A06E4
- cmp r6, #0x0
- beq _020A0714
- ldr r1, [r4, #0x824]
- mov r0, r4
- bl FUN_020A16E8
- ldrb r0, [r4, #0x456]
- add sp, sp, #0x8
- cmp r0, #0x0
- moveq r0, #0x0
- streq r0, [r4, #0x824]
- ldmia sp!, {r4-r6,lr}
- bx lr
-_020A0714:
- ldr r1, [r4, #0x82c]
- ldr r0, [sp, #0x0]
- add r0, r1, r0
- str r0, [r4, #0x82c]
- add sp, sp, #0x8
- ldmia sp!, {r4-r6,lr}
- bx lr
- .balign 4
-_020A0730: .word 0x00004805
-_020A0734: .word 0x021C8EC8
-
- arm_func_start FUN_020A0738
-FUN_020A0738: ; 0x020A0738
- stmdb sp!, {r4,lr}
- ldr r4, [r1, #0xc]
- ldr r2, [r4, #0x828]
- ldr r1, [r4, #0x82c]
- sub r2, r2, r1
- cmp r0, r2
- blo _020A077C
- ldr r0, [r4, #0x824]
- cmp r0, #0x0
- beq _020A076C
- ldr r1, _020A078C ; =0x021C8EF4
- ldr r1, [r1, #0x0]
- blx r1
-_020A076C:
- mov r0, #0x0
- str r0, [r4, #0x824]
- ldmia sp!, {r4,lr}
- bx lr
-_020A077C:
- add r0, r1, r0
- str r0, [r4, #0x82c]
- ldmia sp!, {r4,lr}
- bx lr
- .balign 4
-_020A078C: .word 0x021C8EF4
-
- arm_func_start FUN_020A0790
-FUN_020A0790: ; 0x020A0790
- stmdb sp!, {r4-r6,lr}
- mov r5, r1
- ldr r4, [r5, #0xc]
- mov r6, r0
- ldr r12, [r4, #0x824]
- cmp r12, #0x0
- beq _020A0818
- ldrb r0, [r4, #0x456]
- cmp r0, #0x0
- bne _020A0818
- ldr r3, [r4, #0x82c]
- ldr r1, [r4, #0x828]
- mov r2, r5
- add r0, r12, r3
- sub r1, r1, r3
- bl FUN_020A1974
-_020A07D0: ; 0x020A07D0
- cmp r0, #0x0
- beq _020A07FC
- ldr r1, _020A0870 ; =0x021C8EF4
- ldr r0, [r4, #0x824]
- ldr r1, [r1, #0x0]
- blx r1
- mov r0, #0x0
- str r0, [r4, #0x824]
- str r0, [r6, #0x0]
- ldmia sp!, {r4-r6,lr}
- bx lr
-_020A07FC:
- ldr r1, [r4, #0x824]
- mov r0, r4
- bl FUN_020A16E8
- ldrb r0, [r4, #0x456]
- cmp r0, #0x0
- moveq r0, #0x0
- streq r0, [r4, #0x824]
-_020A0818:
- ldr r0, [r4, #0x824]
- cmp r0, #0x0
- bne _020A084C
-_020A0824:
- mov r0, r5
- bl FUN_020A1528
- cmp r0, #0x9
- moveq r0, #0x0
- streq r0, [r6, #0x0]
- ldmeqia sp!, {r4-r6,lr}
- bxeq lr
- ldr r0, [r4, #0x824]
- cmp r0, #0x0
- beq _020A0824
-_020A084C:
- ldr r1, [r4, #0x828]
- ldr r0, [r4, #0x82c]
- sub r0, r1, r0
- str r0, [r6, #0x0]
- ldr r1, [r4, #0x824]
- ldr r0, [r4, #0x82c]
- add r0, r1, r0
- ldmia sp!, {r4-r6,lr}
- bx lr
- .balign 4
-_020A0870: .word 0x021C8EF4
-
- arm_func_start FUN_020A0874
-FUN_020A0874: ; 0x020A0874
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r5, r0
- ldrb r1, [r5, #0x8]
- ldr r4, [r5, #0xc]
- cmp r1, #0x4
- beq _020A08A8
- bl FUN_0209C990
-_020A0894: ; 0x020A0894
- cmp r0, #0x0
- addne sp, sp, #0x4
- movne r0, #0x1
- ldmneia sp!, {r4-r5,lr}
- bxne lr
-_020A08A8:
- mov r1, #0x0
- strb r1, [r4, #0x455]
- str r1, [r4, #0x1d4]
- add r0, r4, #0x2ec
- strb r1, [r4, #0x454]
- bl FUN_020A41CC
- add r0, r4, #0x3a4
- bl FUN_020A3B8C
- mov r0, r5
- bl FUN_020A08DC
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
-
- arm_func_start FUN_020A08DC
-FUN_020A08DC: ; 0x020A08DC
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r5, r0
- ldr r4, [r5, #0xc]
- bl FUN_020A0DE4
-_020A08F0:
- mov r0, r5
- bl FUN_020A1528
- cmp r0, #0x9
- addeq sp, sp, #0x4
- moveq r0, #0x1
- ldmeqia sp!, {r4-r5,lr}
- bxeq lr
- cmp r0, #0x4
- beq _020A0920
- ldrb r0, [r4, #0x31]
- cmp r0, #0x0
- beq _020A08F0
-_020A0920:
- ldrb r0, [r4, #0x31]
- cmp r0, #0x0
- beq _020A095C
- mov r0, r4
- bl FUN_020A215C
- mov r0, r5
- bl FUN_020A0AF4
-_020A093C: ; 0x020A093C
- cmp r0, #0x0
- addne sp, sp, #0x4
- movne r0, #0x1
- ldmneia sp!, {r4-r5,lr}
- bxne lr
- mov r0, r5
- bl FUN_020A0F94
- b _020A09B4
-_020A095C:
- mov r0, r5
- bl FUN_020A0B2C
- mov r0, r4
- bl FUN_020A2364
- ldrb r0, [r4, #0x30]
- cmp r0, #0x0
- beq _020A0988
- ldrh r2, [r5, #0x18]
- ldr r1, [r5, #0x1c]
- mov r0, r4
- bl FUN_020A3808
-_020A0988:
- mov r0, r4
- bl FUN_020A215C
- mov r0, r5
- bl FUN_020A0F94
- mov r0, r5
- bl FUN_020A0AF4
-_020A09A0: ; 0x020A09A0
- cmp r0, #0x0
- addne sp, sp, #0x4
- movne r0, #0x1
- ldmneia sp!, {r4-r5,lr}
- bxne lr
-_020A09B4:
- mov r0, #0x8
- strb r0, [r4, #0x455]
- mov r0, #0x0
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
-
- arm_func_start FUN_020A09CC
-FUN_020A09CC: ; 0x020A09CC
- stmdb sp!, {r4-r9,lr}
- sub sp, sp, #0x4
- mov r9, r0
- ldr r8, [r9, #0xc]
- add r5, r8, #0x2ec
- add r4, r8, #0x3a4
- mov r7, #0x0
- mov r6, #0x1
-_020A09EC:
- mov r0, r9
- bl FUN_0209CAC4
- strb r7, [r8, #0x455]
- str r7, [r8, #0x1d4]
- mov r0, r5
- strb r6, [r8, #0x454]
- bl FUN_020A41CC
- mov r0, r4
- bl FUN_020A3B8C
- mov r0, r9
- bl FUN_020A0A58
-_020A0A18: ; 0x020A0A18
- cmp r0, #0x0
- moveq r0, #0x8
- addeq sp, sp, #0x4
- streqb r0, [r8, #0x455]
- ldmeqia sp!, {r4-r9,lr}
- bxeq lr
- mov r0, r9
- bl FUN_0209C884
- ldrh r0, [r9, #0x1a]
- strh r0, [r9, #0x18]
- ldr r0, [r9, #0x20]
- str r0, [r9, #0x1c]
- b _020A09EC
-_020A0A4C: ; 0x020A0A4C
- add sp, sp, #0x4
- ldmia sp!, {r4-r9,lr}
- bx lr
-
- arm_func_start FUN_020A0A58
-FUN_020A0A58:
- stmdb sp!, {r4,lr}
- mov r4, r0
- bl FUN_020A1528
- cmp r0, #0x1
- movne r0, #0x1
- ldmneia sp!, {r4,lr}
- bxne lr
- mov r0, r4
- bl FUN_020A10F4
-_020A0A7C: ; 0x020A0A7C
- cmp r0, #0x0
- beq _020A0AB0
- ldr r0, [r4, #0xc]
- bl FUN_020A215C
- mov r0, r4
- bl FUN_020A0F94
- mov r0, r4
- bl FUN_020A0AF4
-_020A0A9C: ; 0x020A0A9C
- cmp r0, #0x0
- beq _020A0AE8
- mov r0, #0x1
- ldmia sp!, {r4,lr}
- bx lr
-_020A0AB0:
- mov r0, r4
- bl FUN_020A1528
- cmp r0, #0x5
- movne r0, #0x1
- ldmneia sp!, {r4,lr}
- bxne lr
- mov r0, r4
- bl FUN_020A0AF4
-_020A0AD0: ; 0x020A0AD0
- cmp r0, #0x0
- movne r0, #0x1
- ldmneia sp!, {r4,lr}
- bxne lr
- mov r0, r4
- bl FUN_020A0F94
-_020A0AE8:
- mov r0, #0x0
- ldmia sp!, {r4,lr}
- bx lr
-
- arm_func_start FUN_020A0AF4
-FUN_020A0AF4:
- stmdb sp!, {r4,lr}
- mov r4, r0
- bl FUN_020A1528
- cmp r0, #0x7
- movne r0, #0x1
- ldmneia sp!, {r4,lr}
- bxne lr
- mov r0, r4
- bl FUN_020A1528
- cmp r0, #0x6
- movne r0, #0x1
- moveq r0, #0x0
- ldmia sp!, {r4,lr}
- bx lr
-
- arm_func_start FUN_020A0B2C
-FUN_020A0B2C: ; 0x020A0B2C
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0xc
- mov r11, r0
- ldr r10, [r11, #0xc]
- mov r0, #0x3
- strb r0, [r10, #0x0]
- mov r0, #0x0
- strb r0, [r10, #0x1]
- add r0, r10, #0x2
- mov r1, #0x2e
- bl FUN_020A13E0
- ldr r4, [r10, #0x594]
- ldr r0, _020A0DD4 ; =0x021C8EC8
- mov r1, r4, lsl #0x1
- ldr r2, [r0, #0x0]
- add r1, r1, r1, lsr #0x1f
- mov r0, r4
- mov r6, r1, asr #0x1
- blx r2
- movs r5, r0
- moveq r0, #0x9
- addeq sp, sp, #0xc
- streqb r0, [r10, #0x455]
- ldmeqia sp!, {r4-r11,lr}
- bxeq lr
- mov r0, #0x0
- strb r0, [r5, #0x0]
- mov r2, #0x2
- add r0, r5, #0x2
- sub r1, r4, #0x33
- strb r2, [r5, #0x1]
- bl FUN_020A13E0
- add r1, r5, r4
- mov r0, r10
- sub r3, r4, #0x31
- mov r7, #0x0
- sub r1, r1, #0x30
- mov r2, #0x30
- strb r7, [r5, r3]
- bl MI_CpuCopy8
- ldr r1, _020A0DD4 ; =0x021C8EC8
- mov r0, r6, lsl #0x3
- ldr r1, [r1, #0x0]
- blx r1
- movs r9, r0
- bne _020A0C08
- ldr r1, _020A0DD8 ; =0x021C8EF4
- mov r0, r5
- ldr r1, [r1, #0x0]
- blx r1
- mov r0, #0x9
- add sp, sp, #0xc
- strb r0, [r10, #0x455]
- ldmia sp!, {r4-r11,lr}
- bx lr
-_020A0C08:
- add r0, r9, r6, lsl #0x1
- add r8, r0, r6, lsl #0x1
- mov r1, r5
- mov r2, r4
- mov r3, r6
- str r0, [sp, #0x4]
- add r7, r8, r6, lsl #0x1
- bl FUN_020A4B50
- ldr r1, _020A0DDC ; =0x00000598
- ldr r2, [r10, #0x5a0]
- mov r0, r8
- add r1, r10, r1
- mov r3, r6
- bl FUN_020A4B50
- ldr r1, _020A0DE0 ; =0x00000494
- mov r0, r7
- mov r2, r4
- add r1, r10, r1
- mov r3, r6
- bl FUN_020A4B50
- bl FUN_020A36EC
- mov r3, r6
- mov r6, r0
- ldr r1, [sp, #0x4]
- mov r2, r8
- mov r0, r9
- str r7, [sp, #0x0]
- bl FUN_020A507C
- mov r0, r6
- bl FUN_020A36B4
- ldr r1, _020A0DD4 ; =0x021C8EC8
- add r0, r4, #0x49
- ldr r1, [r1, #0x0]
- blx r1
- movs r6, r0
- bne _020A0CCC
- ldr r1, _020A0DD8 ; =0x021C8EF4
- mov r0, r5
- ldr r1, [r1, #0x0]
- blx r1
- ldr r1, _020A0DD8 ; =0x021C8EF4
- mov r0, r9
- ldr r1, [r1, #0x0]
- blx r1
- mov r0, #0x9
- add sp, sp, #0xc
- strb r0, [r10, #0x455]
- ldmia sp!, {r4-r11,lr}
- bx lr
-_020A0CCC:
- mov r0, #0x16
- strb r0, [r6, #0x0]
- mov r1, #0x3
- add r0, r4, #0x4
- strb r1, [r6, #0x1]
- mov r1, #0x0
- strb r1, [r6, #0x2]
- mov r1, r0, asr #0x8
- strb r1, [r6, #0x3]
- add r2, r6, #0x9
- strb r0, [r6, #0x4]
- mov r0, #0x10
- strb r0, [r6, #0x5]
- mov r0, r4, asr #0x10
- strb r0, [r6, #0x6]
- mov r0, r4, asr #0x8
- strb r0, [r6, #0x7]
- mov r0, r2
- strb r4, [r6, #0x8]
- ands r1, r4, #0x1
- beq _020A0D38
- add r0, r4, r4, lsr #0x1f
- mov r0, r0, asr #0x1
- mov r0, r0, lsl #0x1
- ldrh r1, [r9, r0]
- add r0, r2, #0x1
- strb r1, [r2, #0x0]
-_020A0D38:
- add r1, r4, r4, lsr #0x1f
- mov r1, r1, asr #0x1
- subs r7, r1, #0x1
- bmi _020A0D70
-_020A0D48:
- mov r3, r7, lsl #0x1
- ldrh r1, [r9, r3]
- add r2, r0, #0x1
- subs r7, r7, #0x1
- mov r1, r1, asr #0x8
- strb r1, [r0, #0x0]
- ldrh r1, [r9, r3]
- add r0, r0, #0x2
- strb r1, [r2, #0x0]
- bpl _020A0D48
-_020A0D70:
- mov r2, #0x0
- mov r0, r6
- mov r3, r2
- add r1, r4, #0x9
- str r11, [sp, #0x0]
- bl FUN_0209C1D4
- mov r0, r10
- add r1, r6, #0x5
- add r2, r4, #0x4
- bl FUN_020A1944
- ldr r1, _020A0DD8 ; =0x021C8EF4
- mov r0, r6
- ldr r1, [r1, #0x0]
- blx r1
- ldr r1, _020A0DD8 ; =0x021C8EF4
- mov r0, r9
- ldr r1, [r1, #0x0]
- blx r1
- ldr r1, _020A0DD8 ; =0x021C8EF4
- mov r0, r5
- ldr r1, [r1, #0x0]
- blx r1
- add sp, sp, #0xc
- ldmia sp!, {r4-r11,lr}
- bx lr
- .balign 4
-_020A0DD4: .word 0x021C8EC8
-_020A0DD8: .word 0x021C8EF4
-_020A0DDC: .word 0x00000598
-_020A0DE0: .word 0x00000494
-
- arm_func_start FUN_020A0DE4
-FUN_020A0DE4: ; 0x020A0DE4
- stmdb sp!, {r4-r8,lr}
- sub sp, sp, #0x8
- ldr r1, _020A0F88 ; =0x021C8EC8
- mov r8, r0
- ldr r1, [r1, #0x0]
- mov r0, #0x98
- ldr r7, [r8, #0xc]
- blx r1
- movs r6, r0
- moveq r0, #0x9
- addeq sp, sp, #0x8
- streqb r0, [r7, #0x455]
- ldmeqia sp!, {r4-r8,lr}
- bxeq lr
- mov r0, #0x3
- strb r0, [r6, #0x9]
- add r5, r6, #0x9
- mov r0, #0x0
- strb r0, [r5, #0x1]
- bl FUN_020A375C
- mov r1, r0, lsr #0x18
- strb r1, [r7, #0x34]
- mov r1, r0, lsr #0x10
- strb r1, [r7, #0x35]
- mov r1, r0, lsr #0x8
- strb r1, [r7, #0x36]
- strb r0, [r7, #0x37]
- add r0, r7, #0x38
- mov r1, #0x1c
- bl FUN_020A13E0
- add r0, r7, #0x34
- add r1, r5, #0x2
- mov r2, #0x20
- bl MI_CpuCopy8
- ldrh r2, [r8, #0x18]
- ldr r1, [r8, #0x1c]
- mov r0, r7
- bl FUN_020A3908
- ldrb r0, [r7, #0x30]
- cmp r0, #0x0
- moveq r0, #0x0
- streqb r0, [r5, #0x22]
- addeq r5, r5, #0x23
- beq _020A0EAC
- mov r2, #0x20
- add r0, r7, #0x74
- add r1, r5, #0x23
- strb r2, [r5, #0x22]
- bl MI_CpuCopy8
- add r5, r5, #0x43
-_020A0EAC:
- mov r4, #0x0
- strb r4, [r5, #0x0]
- mov r0, #0x4
- strb r0, [r5, #0x1]
- ldr r2, _020A0F8C ; =0x0210623C
- add r5, r5, #0x2
-_020A0EC4:
- mov r3, r4, lsl #0x1
- ldrh r0, [r2, r3]
- add r4, r4, #0x1
- add r1, r5, #0x1
- mov r0, r0, asr #0x8
- strb r0, [r5, #0x0]
- ldrh r0, [r2, r3]
- cmp r4, #0x2
- add r5, r5, #0x2
- strb r0, [r1, #0x0]
- blo _020A0EC4
- mov r3, #0x1
- mov r2, #0x0
- strb r3, [r5, #0x0]
- add r0, r5, #0x2
- sub r0, r0, r6
- sub r4, r0, #0x5
- strb r2, [r5, #0x1]
- sub r1, r4, #0x4
- mov r0, #0x16
- strb r0, [r6, #0x0]
- mov r0, #0x3
- strb r0, [r6, #0x1]
- strb r2, [r6, #0x2]
- mov r0, r4, asr #0x8
- strb r0, [r6, #0x3]
- strb r4, [r6, #0x4]
- strb r3, [r6, #0x5]
- mov r0, r1, asr #0x10
- strb r0, [r6, #0x6]
- mov r0, r1, asr #0x8
- strb r0, [r6, #0x7]
- strb r1, [r6, #0x8]
- mov r0, r6
- mov r3, r2
- add r1, r4, #0x5
- str r8, [sp, #0x0]
- bl FUN_0209C1D4
- mov r0, r7
- mov r2, r4
- add r1, r6, #0x5
- bl FUN_020A1944
- ldr r1, _020A0F90 ; =0x021C8EF4
- mov r0, r6
- ldr r1, [r1, #0x0]
- blx r1
- add sp, sp, #0x8
- ldmia sp!, {r4-r8,lr}
- bx lr
- .balign 4
-_020A0F88: .word 0x021C8EC8
-_020A0F8C: .word 0x0210623C
-_020A0F90: .word 0x021C8EF4
-
- arm_func_start FUN_020A0F94
-FUN_020A0F94:
- stmdb sp!, {r4-r6,lr}
- sub sp, sp, #0x8
- ldr r1, _020A10EC ; =0x021C8EC8
- mov r6, r0
- ldr r1, [r1, #0x0]
- mov r0, #0x83
- ldr r5, [r6, #0xc]
- blx r1
- movs r4, r0
- moveq r0, #0x9
- addeq sp, sp, #0x8
- streqb r0, [r5, #0x455]
- ldmeqia sp!, {r4-r6,lr}
- bxeq lr
- mov r0, #0x14
- strb r0, [r4, #0x0]
- mov r0, #0x3
- strb r0, [r4, #0x1]
- mov r1, #0x0
- strb r1, [r4, #0x2]
- strb r1, [r4, #0x3]
- mov r3, #0x1
- strb r3, [r4, #0x4]
- add r0, r5, #0x1cc
- mov r2, #0x8
- strb r3, [r4, #0x5]
- bl MI_CpuFill8
- mov r0, #0x16
- strb r0, [r4, #0x6]
- mov r0, #0x3
- strb r0, [r4, #0x7]
- mov r1, #0x0
- strb r1, [r4, #0x8]
- strb r1, [r4, #0x9]
- mov r0, #0x28
- strb r0, [r4, #0xa]
- mov r0, #0x14
- strb r0, [r4, #0xb]
- strb r1, [r4, #0xc]
- strb r1, [r4, #0xd]
- mov r3, #0x24
- add r0, r5, #0x3a4
- add r1, r5, #0x3fc
- mov r2, #0x58
- strb r3, [r4, #0xe]
- bl MI_CpuCopy8
- mov r0, r5
- add r1, r4, #0xf
- mov r2, #0x0
- bl FUN_020A2034
- add r0, r5, #0x3fc
- add r1, r5, #0x3a4
- mov r2, #0x58
- bl MI_CpuCopy8
- add r0, r5, #0x2ec
- add r1, r5, #0x348
- mov r2, #0x5c
- bl MI_CpuCopy8
- mov r0, r5
- add r1, r4, #0x1f
- mov r2, #0x0
- bl FUN_020A1F4C
- add r0, r5, #0x348
- add r1, r5, #0x2ec
- mov r2, #0x5c
- bl MI_CpuCopy8
- mov r0, r5
- add r1, r4, #0xb
- mov r2, #0x28
- bl FUN_020A1944
- mov r0, r5
- add r1, r4, #0x6
- bl FUN_020A19F4
- mov r2, #0x0
- add r1, r0, #0x6
- mov r0, r4
- mov r3, r2
- str r6, [sp, #0x0]
- bl FUN_0209C1D4
- ldr r1, _020A10F0 ; =0x021C8EF4
- mov r0, r4
- ldr r1, [r1, #0x0]
- blx r1
- add sp, sp, #0x8
- ldmia sp!, {r4-r6,lr}
- bx lr
- .balign 4
-_020A10EC: .word 0x021C8EC8
-_020A10F0: .word 0x021C8EF4
-
- arm_func_start FUN_020A10F4
-FUN_020A10F4:
- stmdb sp!, {r4-r9,lr}
- sub sp, sp, #0x4
- mov r9, r0
- ldr r7, [r9, #0xc]
- ldr r4, [r7, #0x820]
- cmp r4, #0x0
- ldrne r8, [r4, #0x0]
- moveq r8, #0x0
- bl FUN_020A375C
- mov r1, r0, lsr #0x18
- strb r1, [r7, #0x54]
- mov r1, r0, lsr #0x10
- strb r1, [r7, #0x55]
- mov r1, r0, lsr #0x8
- strb r1, [r7, #0x56]
- strb r0, [r7, #0x57]
- add r0, r7, #0x58
- mov r1, #0x1c
- bl FUN_020A13E0
- ldr r1, _020A1360 ; =0x021C8EC8
- add r0, r8, #0x9d
- ldr r1, [r1, #0x0]
- blx r1
- movs r6, r0
- moveq r0, #0x9
- streqb r0, [r7, #0x455]
- addeq sp, sp, #0x4
- moveq r0, #0x1
- ldmeqia sp!, {r4-r9,lr}
- bxeq lr
- mov r0, #0x2
- add r5, r6, #0x5
- strb r0, [r6, #0x5]
- mov r3, #0x0
- strb r3, [r5, #0x1]
- strb r3, [r5, #0x2]
- mov r0, #0x46
- strb r0, [r5, #0x3]
- mov r0, #0x3
- strb r0, [r5, #0x4]
- add r0, r7, #0x54
- add r1, r5, #0x6
- mov r2, #0x20
- strb r3, [r5, #0x5]
- bl MI_CpuCopy8
- mov r2, #0x20
- strb r2, [r5, #0x26]
- ldrb r0, [r7, #0x30]
- cmp r0, #0x0
- beq _020A11D8
- add r0, r7, #0x74
- add r1, r5, #0x27
- bl MI_CpuCopy8
- mov r0, #0x1
- strb r0, [r7, #0x31]
- add r5, r5, #0x47
- b _020A1238
-_020A11D8:
- add r0, r5, #0x27
- mov r1, #0x1c
- bl FUN_020A13E0
- ldr r0, _020A1364 ; =0x021CA6E4
- add r2, r5, #0x46
- ldr r3, [r0, #0x0]
- add r1, r7, #0x74
- mov r0, r3, lsr #0x18
- strb r0, [r5, #0x43]
- mov r0, r3, lsr #0x10
- strb r0, [r5, #0x44]
- mov r0, r3, lsr #0x8
- strb r0, [r5, #0x45]
- add r5, r5, #0x47
- sub r0, r5, #0x20
- strb r3, [r2, #0x0]
- mov r2, #0x20
- bl MI_CpuCopy8
- ldr r0, _020A1364 ; =0x021CA6E4
- mov r1, #0x0
- ldr r2, [r0, #0x0]
- add r2, r2, #0x1
- str r2, [r0, #0x0]
- strb r1, [r7, #0x31]
-_020A1238:
- ldrh r2, [r7, #0x32]
- mov r0, #0x0
- mov r2, r2, asr #0x8
- strb r2, [r5, #0x0]
- ldrh r2, [r7, #0x32]
- strb r2, [r5, #0x1]
- strb r0, [r5, #0x2]
- ldrb r0, [r7, #0x31]
- add r5, r5, #0x3
- cmp r0, #0x0
- bne _020A12EC
- cmp r8, #0x0
- beq _020A12D0
- mov r0, #0xb
- add r2, r8, #0x6
- strb r0, [r5, #0x0]
- mov r0, r2, asr #0x10
- strb r0, [r5, #0x1]
- mov r0, r2, asr #0x8
- strb r0, [r5, #0x2]
- add r1, r8, #0x3
- strb r2, [r5, #0x3]
- mov r0, r1, asr #0x10
- strb r0, [r5, #0x4]
- mov r0, r1, asr #0x8
- strb r0, [r5, #0x5]
- strb r1, [r5, #0x6]
- mov r0, r8, asr #0x10
- strb r0, [r5, #0x7]
- mov r0, r8, asr #0x8
- strb r0, [r5, #0x8]
- strb r8, [r5, #0x9]
- add r5, r5, #0xa
- ldr r0, [r4, #0x4]
- mov r1, r5
- mov r2, r8
- bl MI_CpuCopy8
- add r5, r5, r8
-_020A12D0:
- mov r0, #0xe
- strb r0, [r5, #0x0]
- mov r1, #0x0
- strb r1, [r5, #0x1]
- strb r1, [r5, #0x2]
- strb r1, [r5, #0x3]
- add r5, r5, #0x4
-_020A12EC:
- mov r0, #0x16
- sub r1, r5, r6
- sub r4, r1, #0x5
- strb r0, [r6, #0x0]
- mov r0, #0x3
- strb r0, [r6, #0x1]
- mov r0, #0x0
- strb r0, [r6, #0x2]
- mov r0, r4, asr #0x8
- strb r0, [r6, #0x3]
- mov r0, r7
- mov r2, r4
- add r1, r6, #0x5
- strb r4, [r6, #0x4]
- bl FUN_020A1944
- mov r2, #0x0
- mov r0, r6
- mov r3, r2
- add r1, r4, #0x5
- str r9, [sp, #0x0]
- bl FUN_0209C1D4
- ldr r1, _020A1368 ; =0x021C8EF4
- mov r0, r6
- ldr r1, [r1, #0x0]
- blx r1
- ldrb r0, [r7, #0x31]
- add sp, sp, #0x4
- ldmia sp!, {r4-r9,lr}
- bx lr
- .balign 4
-_020A1360: .word 0x021C8EC8
-_020A1364: .word 0x021CA6E4
-_020A1368: .word 0x021C8EF4
-
- arm_func_start FUN_020A136C
-FUN_020A136C:
- stmdb sp!, {r4-r6,lr}
- sub sp, sp, #0x60
- mov r6, r0
- add r0, sp, #0x0
- mov r5, r1
- bl FUN_020A41CC
- bl OS_DisableInterrupts
- mov r4, r0
- ldr r1, _020A13D8 ; =0x021CA6E8
- add r0, sp, #0x0
- mov r2, #0x14
- bl FUN_020A410C
- mov r1, r6
- mov r2, r5
- add r0, sp, #0x0
- bl FUN_020A410C
- ldr r1, _020A13D8 ; =0x021CA6E8
- add r0, sp, #0x0
- bl FUN_020A4098
- mov r0, r4
- bl OS_RestoreInterrupts
- ldr r0, _020A13DC ; =0x021CA6E0
- mov r1, #0x1
- strb r1, [r0, #0x0]
- add sp, sp, #0x60
- ldmia sp!, {r4-r6,lr}
- bx lr
- .balign 4
-_020A13D8: .word 0x021CA6E8
-_020A13DC: .word 0x021CA6E0
-
- arm_func_start FUN_020A13E0
-FUN_020A13E0: ; 0x020A13E0
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0x7c
- ldr r2, _020A1518 ; =0x021CA6E0
- mov r10, r0
- ldrb r0, [r2, #0x0]
- mov r9, r1
- cmp r0, #0x0
- bne _020A1448
- ldr r2, _020A151C ; =0x021C8F24
- add r0, sp, #0x4
- ldr r4, [r2, #0x8]
- ldr r3, [r2, #0x0]
- ldr r1, [r2, #0x4]
- umull r6, r5, r4, r3
- mla r5, r4, r1, r5
- ldr r1, [r2, #0xc]
- ldr r4, [r2, #0x10]
- mla r5, r1, r3, r5
- adds r4, r4, r6
- ldr r3, [r2, #0x14]
- mov r1, #0x4
- adc r3, r3, r5
- str r4, [r2, #0x0]
- str r3, [r2, #0x4]
- str r3, [sp, #0x4]
- bl FUN_020A136C
-_020A1448:
- cmp r9, #0x0
- mov r7, #0x0
- addle sp, sp, #0x7c
- mov r1, #0x14
- ldmleia sp!, {r4-r11,lr}
- bxle lr
- add r6, sp, #0x1c
- mov r11, r1
- str r7, [sp, #0x0]
- mov r5, #0x1
- mov r4, #0x13
-_020A1474:
- cmp r1, #0x14
- bne _020A14EC
- mov r0, r6
- bl FUN_020A41CC
- bl OS_DisableInterrupts
- mov r8, r0
- ldr r1, _020A1520 ; =0x021CA6E8
- mov r0, r6
- mov r2, r11
- bl FUN_020A410C
- mov r0, r6
- add r1, sp, #0x8
- bl FUN_020A405C
- ldr r2, _020A1524 ; =0x021CA6FB
- mov r12, r5
- mov lr, r4
- add r3, sp, #0x1b
-_020A14B8:
- ldrb r1, [r2, #0x0]
- ldrb r0, [r3], #-0x1
- subs lr, lr, #0x1
- add r0, r1, r0
- add r0, r12, r0
- strb r0, [r2, #0x0]
- mov r12, r0, lsr #0x8
- sub r2, r2, #0x1
- bpl _020A14B8
- str r0, [sp, #0x4]
- mov r0, r8
- bl OS_RestoreInterrupts
- ldr r1, [sp, #0x0]
-_020A14EC:
- add r0, sp, #0x8
- ldrb r0, [r0, r1]
- add r1, r1, #0x1
- cmp r0, #0x0
- strneb r0, [r10, r7]
- addne r7, r7, #0x1
- cmp r7, r9
- blt _020A1474
- add sp, sp, #0x7c
- ldmia sp!, {r4-r11,lr}
- bx lr
- .balign 4
-_020A1518: .word 0x021CA6E0
-_020A151C: .word 0x021C8F24
-_020A1520: .word 0x021CA6E8
-_020A1524: .word 0x021CA6FB
-
- arm_func_start FUN_020A1528
-FUN_020A1528: ; 0x020A1528
- stmdb sp!, {r4-r6,lr}
- sub sp, sp, #0x8
- mov r5, r0
- ldr r4, [r5, #0xc]
- add r6, sp, #0x0
-_020A153C:
- mov r0, r6
- mov r1, r5
- bl FUN_0209C6C0
- ldr r1, [sp, #0x0]
- cmp r1, #0x0
- moveq r0, #0x9
- addeq sp, sp, #0x8
- streqb r0, [r4, #0x455]
- ldmeqia sp!, {r4-r6,lr}
- bxeq lr
- cmp r1, #0x5
- blo _020A153C
- ldrb r1, [r0, #0x0]
- cmp r1, #0x80
- bne _020A1634
- ldrb r1, [r4, #0x454]
- cmp r1, #0x0
- beq _020A1628
- ldrb r1, [r4, #0x455]
- cmp r1, #0x0
- bne _020A1628
- ldrb r2, [r0, #0x1]
- mov r1, r5
- mov r0, #0x2
- str r2, [sp, #0x0]
- bl FUN_0209C580
- ldr r1, _020A16DC ; =0x021C8EC8
- ldr r0, [sp, #0x0]
- ldr r1, [r1, #0x0]
- blx r1
- movs r6, r0
- moveq r0, #0x9
- addeq sp, sp, #0x8
- streqb r0, [r4, #0x455]
- ldmeqia sp!, {r4-r6,lr}
- bxeq lr
- ldr r1, [sp, #0x0]
- mov r2, r5
- bl FUN_020A1974
-_020A15D8: ; 0x020A15D8
- cmp r0, #0x0
- bne _020A15FC
- ldrb r0, [r6, #0x0]
- cmp r0, #0x1
- bne _020A15FC
- mov r0, r4
- add r1, r6, #0x1
- bl FUN_020A2774
- b _020A1604
-_020A15FC:
- mov r0, #0x9
- strb r0, [r4, #0x455]
-_020A1604:
- ldr r2, [sp, #0x0]
- mov r0, r4
- mov r1, r6
- bl FUN_020A1944
- ldr r1, _020A16E0 ; =0x021C8EF4
- mov r0, r6
- ldr r1, [r1, #0x0]
- blx r1
- b _020A16CC
-_020A1628:
- mov r0, #0x9
- strb r0, [r4, #0x455]
- b _020A16CC
-_020A1634:
- ldrb r2, [r0, #0x3]
- ldrb r0, [r0, #0x4]
- ldr r1, _020A16E4 ; =0x00004805
- add r0, r0, r2, lsl #0x8
- add r0, r0, #0x5
- str r0, [sp, #0x0]
- cmp r0, r1
- movhi r0, #0x9
- addhi sp, sp, #0x8
- strhib r0, [r4, #0x455]
- ldmhiia sp!, {r4-r6,lr}
- bxhi lr
- ldr r1, _020A16DC ; =0x021C8EC8
- ldr r1, [r1, #0x0]
- blx r1
- movs r6, r0
- moveq r0, #0x9
- addeq sp, sp, #0x8
- streqb r0, [r4, #0x455]
- ldmeqia sp!, {r4-r6,lr}
- bxeq lr
- ldr r1, [sp, #0x0]
- mov r2, r5
- bl FUN_020A1974
-_020A1694: ; 0x020A1694
- cmp r0, #0x0
- beq _020A16C0
- ldr r1, _020A16E0 ; =0x021C8EF4
- mov r0, r6
- ldr r1, [r1, #0x0]
- blx r1
- mov r0, #0x9
- add sp, sp, #0x8
- strb r0, [r4, #0x455]
- ldmia sp!, {r4-r6,lr}
- bx lr
-_020A16C0:
- mov r0, r4
- mov r1, r6
- bl FUN_020A16E8
-_020A16CC:
- ldrb r0, [r4, #0x455]
- add sp, sp, #0x8
- ldmia sp!, {r4-r6,lr}
- bx lr
- .balign 4
-_020A16DC: .word 0x021C8EC8
-_020A16E0: .word 0x021C8EF4
-_020A16E4: .word 0x00004805
-
- arm_func_start FUN_020A16E8
-FUN_020A16E8: ; 0x020A16E8
- stmdb sp!, {r4-r8,lr}
- mov r8, r0
- ldrb r0, [r8, #0x455]
- mov r7, r1
- cmp r0, #0x9
- bne _020A1718
- ldr r1, _020A1940 ; =0x021C8EF4
- mov r0, r7
- ldr r1, [r1, #0x0]
- blx r1
- ldmia sp!, {r4-r8,lr}
- bx lr
-_020A1718:
- ldrb r2, [r7, #0x3]
- ldrb r1, [r7, #0x4]
- add r0, r0, #0xf9
- and r0, r0, #0xff
- add r1, r1, r2, lsl #0x8
- cmp r0, #0x1
- add r5, r1, #0x5
- ldrb r4, [r7, #0x0]
- bhi _020A1744
- cmp r4, #0x15
- bne _020A1754
-_020A1744:
- cmp r4, #0x15
- bne _020A1764
- cmp r5, #0x7
- bls _020A1764
-_020A1754:
- mov r0, r8
- mov r1, r7
- bl FUN_020A1C08
- mov r5, r0
-_020A1764:
- sub r0, r4, #0x14
- cmp r0, #0x3
- add r6, r7, #0x5
- sub r5, r5, #0x5
- addls pc, pc, r0, lsl #0x2
- b _020A1920
-_020A177C: ; 0x020A177C
- b _020A178C
-_020A1780: ; 0x020A1780
- b _020A17BC
-_020A1784: ; 0x020A1784
- b _020A17D0
-_020A1788: ; 0x020A1788
- b _020A18FC
-_020A178C:
- ldr r0, [r8, #0x1d4]
- cmp r0, #0x0
- moveq r0, #0x9
- streqb r0, [r8, #0x455]
- beq _020A1928
- add r0, r8, #0x2e4
- mov r1, #0x0
- mov r2, #0x8
- bl MI_CpuFill8
- mov r0, #0x7
- strb r0, [r8, #0x455]
- b _020A1928
-_020A17BC:
- ldrb r0, [r6, #0x0]
- cmp r0, #0x2
- moveq r0, #0x9
- streqb r0, [r8, #0x455]
- b _020A1928
-_020A17D0:
- ldrb r1, [r6, #0x1]
- ldrb r0, [r6, #0x2]
- ldrb r3, [r6, #0x0]
- ldrb r2, [r6, #0x3]
- mov r1, r1, lsl #0x10
- add r0, r1, r0, lsl #0x8
- cmp r3, #0xb
- add r4, r2, r0
- add r6, r6, #0x4
- bgt _020A1824
- cmp r3, #0xb
- bge _020A1898
- cmp r3, #0x2
- bgt _020A18C4
- cmp r3, #0x1
- blt _020A18C4
- cmp r3, #0x1
- beq _020A1850
- cmp r3, #0x2
- beq _020A1888
- b _020A18C4
-_020A1824:
- cmp r3, #0x14
- bgt _020A18C4
- cmp r3, #0xe
- blt _020A18C4
- cmp r3, #0xe
- beq _020A18A8
- cmp r3, #0x10
- beq _020A1878
- cmp r3, #0x14
- beq _020A18B4
- b _020A18C4
-_020A1850:
- ldrb r0, [r8, #0x454]
- cmp r0, #0x0
- beq _020A18CC
- ldrb r0, [r8, #0x455]
- cmp r0, #0x0
- bne _020A18CC
- mov r0, r8
- mov r1, r6
- bl FUN_020A26D0
- b _020A18CC
-_020A1878:
- mov r0, r8
- mov r1, r6
- bl FUN_020A211C
- b _020A18CC
-_020A1888:
- mov r0, r8
- mov r1, r6
- bl FUN_020A2914
- b _020A18CC
-_020A1898:
- mov r0, r8
- mov r1, r6
- bl FUN_020A29DC
- b _020A18CC
-_020A18A8:
- mov r0, #0x4
- strb r0, [r8, #0x455]
- b _020A18CC
-_020A18B4:
- mov r0, r8
- mov r1, r6
- bl FUN_020A1E84
- b _020A18CC
-_020A18C4:
- mov r0, #0x9
- strb r0, [r8, #0x455]
-_020A18CC:
- mov r0, r8
- sub r1, r6, #0x4
- add r2, r4, #0x4
- bl FUN_020A1944
- add r0, r4, #0x4
- add r6, r6, r4
- subs r5, r5, r0
- beq _020A1928
- ldrb r0, [r8, #0x455]
- cmp r0, #0x9
- bne _020A17D0
- b _020A1928
-_020A18FC:
- str r7, [r8, #0x824]
- mov r0, #0x5
- str r0, [r8, #0x82c]
- add r0, r5, #0x5
- str r0, [r8, #0x828]
- mov r0, #0x1
- strb r0, [r8, #0x456]
- ldmia sp!, {r4-r8,lr}
- bx lr
-_020A1920:
- mov r0, #0x9
- strb r0, [r8, #0x455]
-_020A1928:
- ldr r1, _020A1940 ; =0x021C8EF4
- mov r0, r7
- ldr r1, [r1, #0x0]
- blx r1
- ldmia sp!, {r4-r8,lr}
- bx lr
- .balign 4
-_020A1940: .word 0x021C8EF4
-
- arm_func_start FUN_020A1944
-FUN_020A1944: ; 0x020A1944
- stmdb sp!, {r4-r6,lr}
- mov r6, r0
- mov r5, r1
- mov r4, r2
- add r0, r6, #0x2ec
- bl FUN_020A410C
- mov r1, r5
- mov r2, r4
- add r0, r6, #0x3a4
- bl FUN_020A3ACC
- ldmia sp!, {r4-r6,lr}
- bx lr
-
- arm_func_start FUN_020A1974
-FUN_020A1974:
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- mov r7, r0
- mov r6, r1
- mov r5, r2
- add r4, sp, #0x0
-_020A198C:
- mov r0, r4
- mov r1, r5
- bl FUN_0209C6C0
- ldr r1, [sp, #0x0]
- cmp r1, #0x0
- addeq sp, sp, #0x4
- mvneq r0, #0x0
- ldmeqia sp!, {r4-r7,lr}
- bxeq lr
- cmp r1, r6
- strhi r6, [sp, #0x0]
- ldr r2, [sp, #0x0]
- mov r1, r7
- bl MI_CpuCopy8
-_020A19C4: ; 0x020A19C4
- ldr r0, [sp, #0x0]
- mov r1, r5
- bl FUN_0209C580
-_020A19D0: ; 0x020A19D0
- ldr r0, [sp, #0x0]
- sub r6, r6, r0
- cmp r6, #0x0
- add r7, r7, r0
- bgt _020A198C
- mov r0, #0x0
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,lr}
- bx lr
-
- arm_func_start FUN_020A19F4
-FUN_020A19F4: ; 0x020A19F4
- stmdb sp!, {r4-r8,lr}
- sub sp, sp, #0x30
- mov r5, r1
- mov r6, r0
- ldrh r0, [r6, #0x32]
- ldrb r3, [r5, #0x3]
- ldrb r2, [r5, #0x4]
- add r1, r5, #0x5
- cmp r0, #0x4
- add r4, r2, r3, lsl #0x8
- add r8, r1, r4
- beq _020A1A30
- cmp r0, #0x5
- beq _020A1B04
- b _020A1BD4
-_020A1A30:
- add r7, r6, #0x3fc
- mov r0, r7
- bl FUN_020A3B8C
- ldr r1, [r6, #0xbc]
- mov r0, r7
- mov r2, #0x10
- bl FUN_020A3ACC
-_020A1A4C: ; 0x020A1A4C
- add r0, sp, #0x0
- mov r1, #0x36
- mov r2, #0x30
- bl MI_CpuFill8
- mov r0, r7
- add r1, sp, #0x0
- mov r2, #0x30
- bl FUN_020A3ACC
- mov r0, r7
- add r1, r6, #0x1cc
- mov r2, #0x8
- bl FUN_020A3ACC
- mov r0, r7
- mov r1, r5
- mov r2, #0x1
- bl FUN_020A3ACC
- mov r0, r7
- add r1, r5, #0x3
- add r2, r4, #0x2
- bl FUN_020A3ACC
- mov r0, r7
- mov r1, r8
- bl FUN_020A3A58
- mov r0, r7
- bl FUN_020A3B8C
- ldr r1, [r6, #0xbc]
- mov r0, r7
- mov r2, #0x10
- bl FUN_020A3ACC
-_020A1AC0: ; 0x020A1AC0
- add r0, sp, #0x0
- mov r1, #0x5c
- mov r2, #0x30
- bl MI_CpuFill8
- mov r0, r7
- add r1, sp, #0x0
- mov r2, #0x30
- bl FUN_020A3ACC
- mov r0, r7
- mov r1, r8
- mov r2, #0x10
- bl FUN_020A3ACC
- mov r0, r7
- mov r1, r8
- bl FUN_020A3A58
- add r4, r4, #0x10
- b _020A1BD4
-_020A1B04:
- add r7, r6, #0x348
- mov r0, r7
- bl FUN_020A41CC
- ldr r1, [r6, #0xbc]
- mov r0, r7
- mov r2, #0x14
- bl FUN_020A410C
-_020A1B20: ; 0x020A1B20
- add r0, sp, #0x0
- mov r1, #0x36
- mov r2, #0x28
- bl MI_CpuFill8
- mov r0, r7
- add r1, sp, #0x0
- mov r2, #0x28
- bl FUN_020A410C
- mov r0, r7
- add r1, r6, #0x1cc
- mov r2, #0x8
- bl FUN_020A410C
- mov r0, r7
- mov r1, r5
- mov r2, #0x1
- bl FUN_020A410C
- mov r0, r7
- add r1, r5, #0x3
- add r2, r4, #0x2
- bl FUN_020A410C
- mov r0, r7
- mov r1, r8
- bl FUN_020A4098
- mov r0, r7
- bl FUN_020A41CC
- ldr r1, [r6, #0xbc]
- mov r0, r7
- mov r2, #0x14
- bl FUN_020A410C
-_020A1B94: ; 0x020A1B94
- add r0, sp, #0x0
- mov r1, #0x5c
- mov r2, #0x28
- bl MI_CpuFill8
- mov r0, r7
- add r1, sp, #0x0
- mov r2, #0x28
- bl FUN_020A410C
- mov r0, r7
- mov r1, r8
- mov r2, #0x14
- bl FUN_020A410C
- mov r0, r7
- mov r1, r8
- bl FUN_020A4098
- add r4, r4, #0x14
-_020A1BD4:
- mov r0, r4, asr #0x8
- strb r0, [r5, #0x3]
- mov r2, r4
- add r0, r6, #0xc8
- add r1, r5, #0x5
- strb r4, [r5, #0x4]
- bl FUN_020A49CC
- add r0, r6, #0x1d4
- bl FUN_020A1E60
- add r0, r4, #0x5
- add sp, sp, #0x30
- ldmia sp!, {r4-r8,lr}
- bx lr
-
- arm_func_start FUN_020A1C08
-FUN_020A1C08: ; 0x020A1C08
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x44
- mov r6, r1
- ldrb r3, [r6, #0x3]
- ldrb r2, [r6, #0x4]
- mov r7, r0
- add r1, r6, #0x5
- add r2, r2, r3, lsl #0x8
- bl FUN_020A1E44
- ldrh r1, [r7, #0x32]
- mov r5, r0
- cmp r1, #0x4
- beq _020A1C48
- cmp r1, #0x5
- beq _020A1D2C
- b _020A1E0C
-_020A1C48:
- sub r5, r5, #0x10
- mov r0, r5, asr #0x8
- strb r0, [r6, #0x3]
- add r4, r7, #0x3fc
- mov r0, r4
- strb r5, [r6, #0x4]
- bl FUN_020A3B8C
- ldr r1, [r7, #0x1d4]
- mov r0, r4
- mov r2, #0x10
- bl FUN_020A3ACC
- add r0, sp, #0x14
- mov r1, #0x36
- mov r2, #0x30
- bl MI_CpuFill8
- mov r0, r4
- add r1, sp, #0x14
- mov r2, #0x30
- bl FUN_020A3ACC
- mov r0, r4
- add r1, r7, #0x2e4
- mov r2, #0x8
- bl FUN_020A3ACC
- mov r0, r4
- mov r1, r6
- mov r2, #0x1
- bl FUN_020A3ACC
- mov r0, r4
- add r1, r6, #0x3
- add r2, r5, #0x2
- bl FUN_020A3ACC
- mov r0, r4
- add r1, sp, #0x0
- bl FUN_020A3A58
- mov r0, r4
- bl FUN_020A3B8C
- ldr r1, [r7, #0x1d4]
- mov r0, r4
- mov r2, #0x10
- bl FUN_020A3ACC
- add r0, sp, #0x14
- mov r1, #0x5c
- mov r2, #0x30
- bl MI_CpuFill8
- mov r0, r4
- add r1, sp, #0x14
- mov r2, #0x30
- bl FUN_020A3ACC
- mov r0, r4
- add r1, sp, #0x0
- mov r2, #0x10
- bl FUN_020A3ACC
- mov r0, r4
- add r1, sp, #0x0
- bl FUN_020A3A58
- mov r4, #0x10
- b _020A1E0C
-_020A1D2C:
- sub r5, r5, #0x14
- mov r0, r5, asr #0x8
- strb r0, [r6, #0x3]
- add r4, r7, #0x348
- mov r0, r4
- strb r5, [r6, #0x4]
- bl FUN_020A41CC
- ldr r1, [r7, #0x1d4]
- mov r0, r4
- mov r2, #0x14
- bl FUN_020A410C
- add r0, sp, #0x14
- mov r1, #0x36
- mov r2, #0x28
- bl MI_CpuFill8
- mov r0, r4
- add r1, sp, #0x14
- mov r2, #0x28
- bl FUN_020A410C
- mov r0, r4
- add r1, r7, #0x2e4
- mov r2, #0x8
- bl FUN_020A410C
- mov r0, r4
- mov r1, r6
- mov r2, #0x1
- bl FUN_020A410C
- mov r0, r4
- add r1, r6, #0x3
- add r2, r5, #0x2
- bl FUN_020A410C
- mov r0, r4
- add r1, sp, #0x0
- bl FUN_020A4098
- mov r0, r4
- bl FUN_020A41CC
- ldr r1, [r7, #0x1d4]
- mov r0, r4
- mov r2, #0x14
- bl FUN_020A410C
- add r0, sp, #0x14
- mov r1, #0x5c
- mov r2, #0x28
- bl MI_CpuFill8
- mov r0, r4
- add r1, sp, #0x14
- mov r2, #0x28
- bl FUN_020A410C
- mov r0, r4
- add r1, sp, #0x0
- mov r2, #0x14
- bl FUN_020A410C
- mov r0, r4
- add r1, sp, #0x0
- bl FUN_020A4098
- mov r4, #0x14
-_020A1E0C:
- add r0, r6, #0x5
- add r1, sp, #0x0
- mov r2, r4
- add r0, r0, r5
- bl memcmp
-_020A1E20: ; 0x020A1E20
- cmp r0, #0x0
- movne r0, #0x9
- strneb r0, [r7, #0x455]
- add r0, r7, #0x2ec
- bl FUN_020A1E60
- add r0, r5, #0x5
- add sp, sp, #0x44
- ldmia sp!, {r4-r7,lr}
- bx lr
-
- arm_func_start FUN_020A1E44
-FUN_020A1E44: ; 0x020A1E44
- stmdb sp!, {r4,lr}
- add r0, r0, #0x1e0
- mov r4, r2
- bl FUN_020A49CC
- mov r0, r4
- ldmia sp!, {r4,lr}
- bx lr
-
- arm_func_start FUN_020A1E60
-FUN_020A1E60: ; 0x020A1E60
- mov r2, #0x8
-_020A1E64:
- ldrb r1, [r0, #-0x1]!
- add r1, r1, #0x1
- ands r1, r1, #0xff
- strb r1, [r0, #0x0]
- bxne lr
- subs r2, r2, #0x1
- bne _020A1E64
- bx lr
-
- arm_func_start FUN_020A1E84
-FUN_020A1E84: ; 0x020A1E84
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x14
- mov r5, r0
- mov r4, r1
- add r0, r5, #0x3a4
- add r1, r5, #0x3fc
- mov r2, #0x58
- bl MI_CpuCopy8
- add r1, sp, #0x0
- mov r0, r5
- mov r2, #0x1
- bl FUN_020A2034
- add r0, r5, #0x3fc
- add r1, r5, #0x3a4
- mov r2, #0x58
- bl MI_CpuCopy8
- add r1, sp, #0x0
- mov r0, r4
- mov r2, #0x10
- bl memcmp
-_020A1ED4: ; 0x020A1ED4
- cmp r0, #0x0
- movne r0, #0x9
- addne sp, sp, #0x14
- strneb r0, [r5, #0x455]
- ldmneia sp!, {r4-r5,lr}
- bxne lr
- add r0, r5, #0x2ec
- add r1, r5, #0x348
- mov r2, #0x5c
- bl MI_CpuCopy8
- add r1, sp, #0x0
- mov r0, r5
- mov r2, #0x1
- bl FUN_020A1F4C
- add r0, r5, #0x348
- add r1, r5, #0x2ec
- mov r2, #0x5c
- bl MI_CpuCopy8
- add r1, sp, #0x0
- add r0, r4, #0x10
- mov r2, #0x14
- bl memcmp
-_020A1F2C: ; 0x020A1F2C
- cmp r0, #0x0
- movne r0, #0x9
- strneb r0, [r5, #0x455]
- moveq r0, #0x6
- streqb r0, [r5, #0x455]
- add sp, sp, #0x14
- ldmia sp!, {r4-r5,lr}
- bx lr
-
- arm_func_start FUN_020A1F4C
-FUN_020A1F4C: ; 0x020A1F4C
- stmdb sp!, {r4-r6,lr}
- sub sp, sp, #0x28
- mov r6, r0
- ldrb r0, [r6, #0x454]
- mov r5, r1
- add r4, r6, #0x2ec
- eors r0, r0, r2
- beq _020A1F80
- ldr r1, _020A202C ; =0x02106290
- mov r0, r4
- mov r2, #0x4
- bl FUN_020A410C
- b _020A1F90
-_020A1F80:
- ldr r1, _020A2030 ; =0x02106298
- mov r0, r4
- mov r2, #0x4
- bl FUN_020A410C
-_020A1F90:
- mov r0, r4
- mov r1, r6
- mov r2, #0x30
- bl FUN_020A410C
-_020A1FA0: ; 0x020A1FA0
- add r0, sp, #0x0
- mov r1, #0x36
- mov r2, #0x28
- bl MI_CpuFill8
- add r1, sp, #0x0
- mov r0, r4
- mov r2, #0x28
- bl FUN_020A410C
- mov r0, r4
- mov r1, r5
- bl FUN_020A4098
- mov r0, r4
- bl FUN_020A41CC
- mov r1, r6
- mov r0, r4
- mov r2, #0x30
- bl FUN_020A410C
-_020A1FE4: ; 0x020A1FE4
- add r0, sp, #0x0
- mov r1, #0x5c
- mov r2, #0x28
- bl MI_CpuFill8
- mov r0, r4
- add r1, sp, #0x0
- mov r2, #0x28
- bl FUN_020A410C
- mov r0, r4
- mov r1, r5
- mov r2, #0x14
- bl FUN_020A410C
- mov r0, r4
- mov r1, r5
- bl FUN_020A4098
- add sp, sp, #0x28
- ldmia sp!, {r4-r6,lr}
- bx lr
- .balign 4
-_020A202C: .word 0x02106290
-_020A2030: .word 0x02106298
-
- arm_func_start FUN_020A2034
-FUN_020A2034: ; 0x020A2034
- stmdb sp!, {r4-r6,lr}
- sub sp, sp, #0x30
- mov r6, r0
- ldrb r0, [r6, #0x454]
- mov r5, r1
- add r4, r6, #0x3a4
- eors r0, r0, r2
- beq _020A2068
- ldr r1, _020A2114 ; =0x02106290
- mov r0, r4
- mov r2, #0x4
- bl FUN_020A3ACC
- b _020A2078
-_020A2068:
- ldr r1, _020A2118 ; =0x02106298
- mov r0, r4
- mov r2, #0x4
- bl FUN_020A3ACC
-_020A2078:
- mov r0, r4
- mov r1, r6
- mov r2, #0x30
- bl FUN_020A3ACC
-_020A2088: ; 0x020A2088
- add r0, sp, #0x0
- mov r1, #0x36
- mov r2, #0x30
- bl MI_CpuFill8
- add r1, sp, #0x0
- mov r0, r4
- mov r2, #0x30
- bl FUN_020A3ACC
- mov r0, r4
- mov r1, r5
- bl FUN_020A3A58
- mov r0, r4
- bl FUN_020A3B8C
- mov r1, r6
- mov r0, r4
- mov r2, #0x30
- bl FUN_020A3ACC
-_020A20CC: ; 0x020A20CC
- add r0, sp, #0x0
- mov r1, #0x5c
- mov r2, #0x30
- bl MI_CpuFill8
- mov r0, r4
- add r1, sp, #0x0
- mov r2, #0x30
- bl FUN_020A3ACC
- mov r0, r4
- mov r1, r5
- mov r2, #0x10
- bl FUN_020A3ACC
- mov r0, r4
- mov r1, r5
- bl FUN_020A3A58
- add sp, sp, #0x30
- ldmia sp!, {r4-r6,lr}
- bx lr
- .balign 4
-_020A2114: .word 0x02106290
-_020A2118: .word 0x02106298
-
- arm_func_start FUN_020A211C
-FUN_020A211C: ; 0x020A211C
- stmdb sp!, {r4,lr}
- mov r4, r0
- ldr r2, [r4, #0x81c]
- bl FUN_020A2470
- mov r0, r4
- bl FUN_020A2364
- mov r1, #0x0
- mov r0, r4
- mov r2, r1
- bl FUN_020A3808
- mov r0, r4
- bl FUN_020A215C
- mov r0, #0x5
- strb r0, [r4, #0x455]
- ldmia sp!, {r4,lr}
- bx lr
-
- arm_func_start FUN_020A215C
-FUN_020A215C: ; 0x020A215C
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0x34
- mov r10, r0
- ldrh r0, [r10, #0x32]
- cmp r0, #0x4
- beq _020A2190
- cmp r0, #0x5
- moveq r0, #0x14
- streq r0, [sp, #0x0]
- moveq r0, #0x10
- streq r0, [sp, #0x4]
- moveq r2, #0x0
- b _020A21A0
-_020A2190:
- mov r0, #0x10
- str r0, [sp, #0x0]
- str r0, [sp, #0x4]
- mov r2, #0x0
-_020A21A0:
- ldr r1, [sp, #0x0]
- ldr r0, [sp, #0x4]
- mov r9, #0x0
- add r0, r1, r0
- add r0, r2, r0
- mov r0, r0, lsl #0x1
- str r0, [sp, #0x8]
- cmp r0, #0x0
- ble _020A22B8
- mov r0, #0x20
- str r0, [sp, #0x10]
- mov r0, #0x14
- mov r6, r9
- add r5, sp, #0x18
- str r9, [sp, #0xc]
- mov r4, #0x1
- mov r11, #0x30
- str r0, [sp, #0x14]
-_020A21E8:
- add r7, r10, #0x348
- mov r0, r7
- bl FUN_020A41CC
- add r0, r9, #0x41
- strb r0, [sp, #0x18]
- add r0, r9, #0x1
- ldr r8, [sp, #0xc]
- cmp r0, #0x0
- ble _020A222C
-_020A220C:
- mov r0, r7
- mov r1, r5
- mov r2, r4
- bl FUN_020A410C
- add r8, r8, #0x1
- add r0, r9, #0x1
- cmp r8, r0
- blt _020A220C
-_020A222C:
- mov r0, r7
- mov r1, r10
- mov r2, r11
- bl FUN_020A410C
- ldr r2, [sp, #0x10]
- mov r0, r7
- add r1, r10, #0x54
- bl FUN_020A410C
- ldr r2, [sp, #0x10]
- mov r0, r7
- add r1, r10, #0x34
- bl FUN_020A410C
- mov r0, r7
- add r1, sp, #0x19
- bl FUN_020A4098
- add r7, r10, #0x3fc
- mov r0, r7
- bl FUN_020A3B8C
- mov r0, r7
- mov r1, r10
- mov r2, r11
- bl FUN_020A3ACC
- ldr r2, [sp, #0x14]
- mov r0, r7
- add r1, sp, #0x19
- bl FUN_020A3ACC
- add r1, r10, #0x74
- mov r0, r7
- add r1, r1, r6
- bl FUN_020A3A58
- ldr r0, [sp, #0x8]
- add r6, r6, #0x10
- cmp r6, r0
- add r9, r9, #0x1
- blt _020A21E8
-_020A22B8:
- ldrb r0, [r10, #0x454]
- cmp r0, #0x0
- beq _020A2300
- add r1, r10, #0x74
- str r1, [r10, #0x1d4]
- ldr r0, [sp, #0x0]
- ldr r2, [r10, #0x1d4]
- add r1, r1, r0
- add r0, r2, r0, lsl #0x1
- str r0, [r10, #0x1d8]
- str r1, [r10, #0xbc]
- ldr r1, [r10, #0xbc]
- ldr r0, [sp, #0x0]
- add r1, r1, r0
- ldr r0, [sp, #0x4]
- add r0, r1, r0
- str r0, [r10, #0xc0]
- b _020A2338
-_020A2300:
- add r1, r10, #0x74
- str r1, [r10, #0xbc]
- ldr r0, [sp, #0x0]
- ldr r2, [r10, #0xbc]
- add r1, r1, r0
- add r0, r2, r0, lsl #0x1
- str r0, [r10, #0xc0]
- str r1, [r10, #0x1d4]
- ldr r1, [r10, #0x1d4]
- ldr r0, [sp, #0x0]
- add r1, r1, r0
- ldr r0, [sp, #0x4]
- add r0, r1, r0
- str r0, [r10, #0x1d8]
-_020A2338:
- ldr r1, [r10, #0x1d8]
- add r0, r10, #0x1e0
- mov r2, #0x10
- bl FUN_020A4A3C
- ldr r1, [r10, #0xc0]
- add r0, r10, #0xc8
- mov r2, #0x10
- bl FUN_020A4A3C
- add sp, sp, #0x34
- ldmia sp!, {r4-r11,lr}
- bx lr
-
- arm_func_start FUN_020A2364
-FUN_020A2364: ; 0x020A2364
- stmdb sp!, {r4,lr}
- sub sp, sp, #0x30
- mov r4, r0
- ldr r1, _020A23BC ; =0x021062A0
- add r0, sp, #0x0
- mov r2, r4
- bl FUN_020A23C8
- ldr r1, _020A23C0 ; =0x021062A4
- add r0, sp, #0x10
- mov r2, r4
- bl FUN_020A23C8
- ldr r1, _020A23C4 ; =0x021062A8
- add r0, sp, #0x20
- mov r2, r4
- bl FUN_020A23C8
-_020A23A0: ; 0x020A23A0
- add r0, sp, #0x0
- mov r1, r4
- mov r2, #0x30
- bl MI_CpuCopy8
- add sp, sp, #0x30
- ldmia sp!, {r4,lr}
- bx lr
- .balign 4
-_020A23BC: .word 0x021062A0
-_020A23C0: .word 0x021062A4
-_020A23C4: .word 0x021062A8
-
- arm_func_start FUN_020A23C8
-FUN_020A23C8:
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x14
- mov r5, r2
- add r4, r5, #0x348
- mov r7, r0
- mov r6, r1
- mov r0, r4
- bl FUN_020A41CC
- mov r0, r6
- bl strlen
- mov r2, r0
- mov r1, r6
- mov r0, r4
- bl FUN_020A410C
- mov r0, r4
- mov r1, r5
- mov r2, #0x30
- bl FUN_020A410C
- mov r0, r4
- add r1, r5, #0x34
- mov r2, #0x40
- bl FUN_020A410C
- mov r0, r4
- add r1, sp, #0x0
- bl FUN_020A4098
- add r4, r5, #0x3fc
- mov r0, r4
- bl FUN_020A3B8C
- mov r1, r5
- mov r0, r4
- mov r2, #0x30
- bl FUN_020A3ACC
- mov r0, r4
- add r1, sp, #0x0
- mov r2, #0x14
- bl FUN_020A3ACC
- mov r0, r4
- mov r1, r7
- bl FUN_020A3A58
- add sp, sp, #0x14
- ldmia sp!, {r4-r7,lr}
- bx lr
-
- arm_func_start FUN_020A2470
-FUN_020A2470: ; 0x020A2470
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0x1c
- movs r10, r2
- str r0, [sp, #0x8]
- mov r11, r1
- addeq sp, sp, #0x1c
- ldmeqia sp!, {r4-r11,lr}
- bxeq lr
- ldr r0, [r10, #0x0]
- cmp r0, #0x0
- addeq sp, sp, #0x1c
- ldmeqia sp!, {r4-r11,lr}
- bxeq lr
- mov r0, r0, lsl #0x1
- add r0, r0, r0, lsr #0x1f
- mov r0, r0, asr #0x1
- add r9, r0, #0x1
- mov r0, #0x14
- mul r0, r9, r0
- ldr r1, _020A26C8 ; =0x021C8EC8
- ldr r1, [r1, #0x0]
- blx r1
- movs r8, r0
- addeq sp, sp, #0x1c
- ldmeqia sp!, {r4-r11,lr}
- bxeq lr
- add r7, r8, r9, lsl #0x1
- add r6, r7, r9, lsl #0x1
- add r1, r6, r9, lsl #0x1
- str r1, [sp, #0xc]
- add r1, r1, r9, lsl #0x1
- add r5, r1, r9, lsl #0x1
- str r1, [sp, #0x10]
- ldr r2, [r10, #0x0]
- add r4, r5, r9, lsl #0x1
- mov r1, r11
- mov r3, r9
- add r11, r4, r9, lsl #0x1
- bl FUN_020A4B50
- ldr r1, [r10, #0x1c]
- ldr r2, [r10, #0x18]
- mov r0, r7
- mov r3, r9
- bl FUN_020A4B50
- ldr r1, [r10, #0xc]
- ldr r2, [r10, #0x8]
- mov r0, r5
- mov r3, r9
- bl FUN_020A4B50
- bl FUN_020A36EC
- str r0, [sp, #0x14]
- ldr r0, [sp, #0xc]
- str r5, [sp, #0x0]
- mov r1, r8
- mov r2, r7
- mov r3, r9
- bl FUN_020A4BB0
- ldr r1, [r10, #0x24]
- ldr r2, [r10, #0x20]
- mov r0, r7
- mov r3, r9
- bl FUN_020A4B50
- ldr r1, [r10, #0x14]
- ldr r2, [r10, #0x10]
- mov r0, r5
- mov r3, r9
- bl FUN_020A4B50
- ldr r0, [sp, #0x10]
- mov r1, r8
- mov r2, r7
- mov r3, r9
- str r5, [sp, #0x0]
- bl FUN_020A4BB0
- ldr r0, [sp, #0x14]
- bl FUN_020A36B4
- ldr r1, [sp, #0xc]
- ldr r2, [sp, #0x10]
- mov r0, r8
- mov r3, r9
- bl FUN_020A57BC
- ldr r1, [r10, #0x2c]
- ldr r2, [r10, #0x28]
- mov r0, r7
- mov r3, r9
- bl FUN_020A4B50
- mov r0, r6
- mov r1, r8
- mov r2, r7
- mov r3, r9
- bl FUN_020A5608
- ldr r1, [r10, #0x14]
- ldr r2, [r10, #0x10]
- mov r0, r7
- mov r3, r9
- bl FUN_020A4B50
- mov r0, r8
- mov r1, r6
- mov r2, r7
- mov r3, r9
- bl FUN_020A5608
- ldr r2, [sp, #0x10]
- mov r0, r6
- mov r1, r8
- mov r3, r9
- bl FUN_020A5930
- ldr r1, [r10, #0x4]
- ldr r2, [r10, #0x0]
- mov r0, r7
- mov r3, r9
- bl FUN_020A4B50
- mov r0, r6
- mov r1, r9
- bl FUN_020A59DC
-_020A2634: ; 0x020A2634
- cmp r0, #0x0
- bge _020A267C
- mov r0, r6
- mov r1, r9
- bl FUN_020A5874
- str r9, [sp, #0x0]
- mov r1, r6
- mov r2, r7
- mov r3, r4
- mov r0, #0x0
- str r11, [sp, #0x4]
- bl FUN_020A5240
- mov r0, r4
- mov r1, r7
- mov r2, r4
- mov r3, r9
- bl FUN_020A57BC
- b _020A2698
-_020A267C:
- str r9, [sp, #0x0]
- mov r1, r6
- mov r2, r7
- mov r3, r4
- mov r0, #0x0
- str r11, [sp, #0x4]
- bl FUN_020A5240
-_020A2698:
- ldr r0, [sp, #0x8]
- mov r1, r4
- mov r3, r9
- mov r2, #0x30
- bl FUN_020A4B08
- ldr r1, _020A26CC ; =0x021C8EF4
- mov r0, r8
- ldr r1, [r1, #0x0]
- blx r1
- add sp, sp, #0x1c
- ldmia sp!, {r4-r11,lr}
- bx lr
- .balign 4
-_020A26C8: .word 0x021C8EC8
-_020A26CC: .word 0x021C8EF4
-
- arm_func_start FUN_020A26D0
-FUN_020A26D0: ; 0x020A26D0
- stmdb sp!, {r4-r6,lr}
- mov r6, r1
- mov r4, r0
- ldrb r0, [r6, #0x0]
- ldrb r1, [r6, #0x1]
- bl FUN_020A284C
-_020A26E8: ; 0x020A26E8
- cmp r0, #0x0
- ldmeqia sp!, {r4-r6,lr}
- bxeq lr
- add r0, r6, #0x2
- add r1, r4, #0x34
- mov r2, #0x20
- bl MI_CpuCopy8
- ldrb r5, [r6, #0x22]
- add r6, r6, #0x23
- cmp r5, #0x20
- movne r0, #0x0
- strneb r0, [r4, #0x30]
- bne _020A2734
- mov r0, r6
- add r1, r4, #0x74
- mov r2, #0x20
- bl MI_CpuCopy8
- mov r0, r4
- bl FUN_020A39B0
-_020A2734:
- add r0, r6, r5
- ldrb r1, [r0, #0x1]
- ldrb r3, [r6, r5]
- add r0, r0, #0x2
- mov r2, #0x2
- add r1, r1, r3, lsl #0x8
- add r1, r1, r1, lsr #0x1f
- mov r1, r1, asr #0x1
- bl FUN_020A285C
- mov r0, r0, lsl #0x10
- movs r0, r0, lsr #0x10
- strh r0, [r4, #0x32]
- movne r0, #0x1
- strneb r0, [r4, #0x455]
- ldmia sp!, {r4-r6,lr}
- bx lr
-
- arm_func_start FUN_020A2774
-FUN_020A2774: ; 0x020A2774
- stmdb sp!, {r4-r6,lr}
- mov r5, r1
- mov r6, r0
- ldrb r0, [r5, #0x0]
- ldrb r1, [r5, #0x1]
- bl FUN_020A284C
-_020A278C: ; 0x020A278C
- cmp r0, #0x0
- ldmeqia sp!, {r4-r6,lr}
- bxeq lr
- ldrb r2, [r5, #0x2]
- ldrb r1, [r5, #0x3]
- ldr r3, _020A2848 ; =0x55555556
- add r0, r5, #0x8
- add r4, r1, r2, lsl #0x8
- smull r2, r1, r3, r4
- add r1, r1, r4, lsr #0x1f
- mov r2, #0x3
- bl FUN_020A285C
- mov r0, r0, lsl #0x10
- movs r0, r0, lsr #0x10
- ldmeqia sp!, {r4-r6,lr}
- bxeq lr
- strh r0, [r6, #0x32]
- ldrb r12, [r5, #0x4]
- ldrb r0, [r5, #0x5]
- ldrb r3, [r5, #0x6]
- ldrb r2, [r5, #0x7]
- mov r1, #0x0
- add r12, r0, r12, lsl #0x8
- add r0, r4, #0x8
- add r4, r2, r3, lsl #0x8
- add r0, r0, r12
- strb r1, [r6, #0x30]
- cmp r4, #0x20
- add r5, r5, r0
- blt _020A2818
- mov r0, r5
- add r1, r6, #0x34
- mov r2, #0x20
- bl MI_CpuCopy8
- b _020A2838
-_020A2818:
- add r0, r6, #0x34
- rsb r2, r4, #0x20
- bl MI_CpuFill8
- add r1, r6, #0x54
- mov r0, r5
- mov r2, r4
- sub r1, r1, r4
- bl MI_CpuCopy8
-_020A2838:
- mov r0, #0x1
- strb r0, [r6, #0x455]
- ldmia sp!, {r4-r6,lr}
- bx lr
- .balign 4
-_020A2848: .word 0x55555556
-
- arm_func_start FUN_020A284C
-FUN_020A284C:
- cmp r0, #0x3
- moveq r0, #0x1
- movne r0, #0x0
- bx lr
-
- arm_func_start FUN_020A285C
-FUN_020A285C: ; 0x020A285C
- stmdb sp!, {r4-r8,lr}
- mov r8, r0
- mov r7, r1
- mov r6, r2
- mov r5, #0x0
- ldr r4, _020A28BC ; =0x0210623C
-_020A2874:
- mov r0, r5, lsl #0x1
- ldrh r3, [r4, r0]
- mov r0, r8
- mov r1, r7
- mov r2, r6
- bl FUN_020A28C0
-_020A288C: ; 0x020A288C
- cmp r0, #0x0
- ldrne r0, _020A28BC ; =0x0210623C
- movne r1, r5, lsl #0x1
- ldrneh r0, [r0, r1]
- ldmneia sp!, {r4-r8,lr}
- bxne lr
- add r5, r5, #0x1
- cmp r5, #0x2
- blo _020A2874
- mov r0, #0x0
- ldmia sp!, {r4-r8,lr}
- bx lr
- .balign 4
-_020A28BC: .word 0x0210623C
-
- arm_func_start FUN_020A28C0
-FUN_020A28C0:
- stmdb sp!, {r4,lr}
- cmp r1, #0x0
- mov r4, #0x0
- ble _020A2908
-_020A28D0:
- ldrb lr, [r0, #0x0]
- ldrb r12, [r0, #0x1]
- cmp r2, #0x3
- add lr, r12, lr, lsl #0x8
- ldreqb r12, [r0, #0x2]
- addeq lr, r12, lr, lsl #0x8
- cmp lr, r3
- moveq r0, #0x1
- ldmeqia sp!, {r4,lr}
- bxeq lr
- add r4, r4, #0x1
- cmp r4, r1
- add r0, r0, r2
- blt _020A28D0
-_020A2908:
- mov r0, #0x0
- ldmia sp!, {r4,lr}
- bx lr
-
- arm_func_start FUN_020A2914
-FUN_020A2914: ; 0x020A2914
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- mov r6, r0
- mov r5, r1
- add r0, r5, #0x2
- add r1, r6, #0x54
- mov r2, #0x20
- bl MI_CpuCopy8
- add r0, r5, #0x22
- ldrb r7, [r6, #0x30]
- add r5, r5, #0x23
- ldrb r4, [r0, #0x0]
- cmp r7, #0x0
- beq _020A2974
- cmp r4, #0x20
- bne _020A2974
- mov r1, r5
- add r0, r6, #0x74
- mov r2, #0x20
- bl memcmp
-_020A2964: ; 0x020A2964
- cmp r0, #0x0
- moveq r0, #0x1
- streqb r0, [r6, #0x31]
- beq _020A29B4
-_020A2974:
- cmp r7, #0x0
- beq _020A2984
- mov r0, r6
- bl FUN_020A3798
-_020A2984:
- cmp r4, #0x0
- moveq r0, #0x0
- streqb r0, [r6, #0x30]
- beq _020A29AC
- mov r0, r5
- add r1, r6, #0x74
- mov r2, #0x20
- bl MI_CpuCopy8
- mov r0, #0x1
- strb r0, [r6, #0x30]
-_020A29AC:
- mov r0, #0x0
- strb r0, [r6, #0x31]
-_020A29B4:
- add r0, r5, r4
- ldrb r2, [r5, r4]
- ldrb r1, [r0, #0x1]
- mov r0, #0x2
- add r1, r1, r2, lsl #0x8
- strh r1, [r6, #0x32]
- strb r0, [r6, #0x455]
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,lr}
- bx lr
-
- arm_func_start FUN_020A29DC
-FUN_020A29DC: ; 0x020A29DC
- stmdb sp!, {r0-r3}
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0x24
- ldr r1, [sp, #0x4c]
- mov r10, r0
- ldrb r4, [r1, #0x2]
- ldrb r3, [r1, #0x0]
- ldrb r2, [r1, #0x1]
- add r0, r1, #0x3
- mvn r1, #0x0
- str r0, [sp, #0x4c]
- add r2, r2, r3, lsl #0x8
- add r0, sp, #0x14
- str r1, [r10, #0x45c]
- add r7, r4, r2, lsl #0x8
- bl RTC_GetDate
- mov r8, #0x0
- ldr r0, [sp, #0x14]
- ldr r2, [sp, #0x1c]
- add r1, r0, #0x7d0
- ldr r0, [sp, #0x18]
- mov r1, r1, lsl #0x10
- add r0, r1, r0, lsl #0x8
- add r0, r2, r0
- str r0, [r10, #0x80c]
- strb r8, [r10, #0x6b0]
- str r8, [r10, #0x5a0]
- ldr r0, [r10, #0x5a0]
- mov r6, r8
- str r0, [r10, #0x594]
- add r0, r10, #0x7b0
- str r0, [sp, #0x4]
- mov r0, #0x1
- str r8, [sp, #0x8]
- mov r4, r8
- mov r11, #0x2
- str r0, [sp, #0xc]
- mvn r5, #0x0
-_020A2A74:
- ldr r1, [sp, #0x4c]
- mov r0, r10
- ldrb r2, [r1, #0x2]
- ldrb r12, [r1, #0x0]
- ldrb r3, [r1, #0x1]
- add r9, r1, #0x3
- add r1, sp, #0x4c
- str r9, [sp, #0x4c]
- str r5, [r10, #0x458]
- strb r4, [r10, #0x5ad]
- strb r4, [r10, #0x5ac]
- strb r4, [r10, #0x5af]
- strb r4, [r10, #0x6b0]
- strb r4, [r10, #0x5b0]
- strb r4, [r10, #0x7b0]
- add r3, r3, r12, lsl #0x8
- ldr r9, [sp, #0x4c]
- add r3, r2, r3, lsl #0x8
- add r2, r3, #0x3
- str r9, [r10, #0x804]
- str r3, [r10, #0x808]
- sub r7, r7, r2
- mov r2, r4
- mov r3, r4
- str r8, [sp, #0x0]
- bl FUN_020A2F98
-_020A2ADC: ; 0x020A2ADC
- cmp r0, #0x0
- bne _020A2AFC
- ldr r0, [r10, #0x594]
- cmp r0, #0x33
- blo _020A2AFC
- ldr r0, [r10, #0x5a0]
- cmp r0, #0x0
- bne _020A2B14
-_020A2AFC:
- mov r0, #0x9
- add sp, sp, #0x24
- strb r0, [r10, #0x455]
- ldmia sp!, {r4-r11,lr}
- add sp, sp, #0x10
- bx lr
-_020A2B14:
- mov r0, r10
- bl FUN_020A2CBC
- mov r8, r0
- cmp r6, #0x0
- bne _020A2B44
- ldr r0, [r10, #0x800]
- cmp r0, #0x0
- beq _020A2B44
- ldr r1, [sp, #0x4]
- bl FUN_020A2C18
-_020A2B3C: ; 0x020A2B3C
- cmp r0, #0x0
- orrne r8, r8, #0x4000
-_020A2B44:
- and r9, r8, #0xff
- cmp r9, #0x1
- bne _020A2BB4
- cmp r7, #0x0
- beq _020A2BB4
- ldr r1, [sp, #0x4c]
- ldr r2, [sp, #0x8]
- add r1, r1, #0x3
- str r1, [sp, #0x10]
- ldr r1, [sp, #0x8]
- mov r0, r10
- strb r1, [r10, #0x5ad]
- add r1, sp, #0x10
- mov r3, r2
- str r11, [sp, #0x0]
- bl FUN_020A2F98
-_020A2B84: ; 0x020A2B84
- cmp r0, #0x0
- movne r0, #0x9
- addne sp, sp, #0x24
- strneb r0, [r10, #0x455]
- ldmneia sp!, {r4-r11,lr}
- addne sp, sp, #0x10
- bxne lr
- mov r0, r10
- add r1, r10, #0x480
- bl FUN_020A2DBC
- bic r1, r8, #0xff
- orr r8, r1, r0
-_020A2BB4:
- ldr r3, [r10, #0x810]
- cmp r3, #0x0
- beq _020A2BD4
- mov r0, r8
- mov r1, r10
- mov r2, r6
- blx r3
- mov r8, r0
-_020A2BD4:
- cmp r9, #0x0
- add r6, r6, #0x1
- beq _020A2BF4
- cmp r8, #0x0
- bne _020A2BF4
- cmp r7, #0x0
- ldrne r8, [sp, #0xc]
- bne _020A2A74
-_020A2BF4:
- cmp r8, #0x0
- moveq r0, #0x3
- streqb r0, [r10, #0x455]
- movne r0, #0x9
- strneb r0, [r10, #0x455]
- add sp, sp, #0x24
- ldmia sp!, {r4-r11,lr}
- add sp, sp, #0x10
- bx lr
-
- arm_func_start FUN_020A2C18
-FUN_020A2C18:
- stmdb sp!, {r4-r6,lr}
- mov r6, r0
- mov r5, r1
- b _020A2C38
-_020A2C28:
- cmp r1, #0x0
- moveq r0, #0x0
- ldmeqia sp!, {r4-r6,lr}
- bxeq lr
-_020A2C38:
- ldrsb r0, [r5], #0x1
- ldrsb r1, [r6], #0x1
- cmp r1, r0
- beq _020A2C28
- cmp r0, #0x2a
- movne r0, #0x1
- ldmneia sp!, {r4-r6,lr}
- bxne lr
- sub r6, r6, #0x1
- mov r0, r6
- bl FUN_020A2C94
- mov r4, r0
- mov r0, r5
- bl FUN_020A2C94
- cmp r0, r4
- movgt r0, #0x1
- ldmgtia sp!, {r4-r6,lr}
- bxgt lr
- sub r0, r4, r0
- add r6, r6, r0
- b _020A2C38
-_020A2C8C: ; 0x020A2C8C
- ldmia sp!, {r4-r6,lr}
- bx lr
-
- arm_func_start FUN_020A2C94
-FUN_020A2C94: ; 0x020A2C94
- mov r2, r0
- b _020A2CA0
-_020A2C9C:
- add r0, r0, #0x1
-_020A2CA0:
- ldrsb r1, [r0, #0x0]
- cmp r1, #0x2e
- beq _020A2CB4
- cmp r1, #0x0
- bne _020A2C9C
-_020A2CB4:
- sub r0, r0, r2
- bx lr
-
- arm_func_start FUN_020A2CBC
-FUN_020A2CBC: ; 0x020A2CBC
- stmdb sp!, {r4-r6,lr}
- mov r5, r0
- ldrb r0, [r5, #0x5af]
- ldr r1, [r5, #0x45c]
- cmp r0, #0x0
- movne r4, #0x0
- moveq r4, #0x8000
- mvn r0, #0x0
- cmp r1, r0
- orreq r0, r4, #0x4
- ldmeqia sp!, {r4-r6,lr}
- bxeq lr
- ldr r0, [r5, #0x458]
- cmp r0, #0x3
- beq _020A2D04
- cmp r0, #0x4
- beq _020A2D40
- b _020A2D7C
-_020A2D04:
- add r6, r5, #0x3fc
- mov r0, r6
- bl FUN_020A3B8C
- ldr r1, [r5, #0x460]
- ldr r2, [r5, #0x464]
- mov r0, r6
- sub r2, r2, r1
- bl FUN_020A3ACC
- ldr r1, _020A2DB8 ; =0x00000468
- mov r0, r6
- add r1, r5, r1
- bl FUN_020A3A58
- mov r0, #0x10
- str r0, [r5, #0x47c]
- b _020A2D88
-_020A2D40:
- add r6, r5, #0x348
- mov r0, r6
- bl FUN_020A41CC
- ldr r1, [r5, #0x460]
- ldr r2, [r5, #0x464]
- mov r0, r6
- sub r2, r2, r1
- bl FUN_020A410C
- ldr r1, _020A2DB8 ; =0x00000468
- mov r0, r6
- add r1, r5, r1
- bl FUN_020A4098
- mov r0, #0x14
- str r0, [r5, #0x47c]
- b _020A2D88
-_020A2D7C:
- orr r0, r4, #0x3
- ldmia sp!, {r4-r6,lr}
- bx lr
-_020A2D88:
- mov r0, r5
- add r1, r5, #0x5b0
- bl FUN_020A3628
- movs r1, r0
- orreq r0, r4, #0x1
- ldmeqia sp!, {r4-r6,lr}
- bxeq lr
- mov r0, r5
- bl FUN_020A2DBC
-_020A2DAC: ; 0x020A2DAC
- orr r0, r4, r0
- ldmia sp!, {r4-r6,lr}
- bx lr
- .balign 4
-_020A2DB8: .word 0x00000468
-
- arm_func_start FUN_020A2DBC
-FUN_020A2DBC:
- stmdb sp!, {r4-r10,lr}
- sub sp, sp, #0x8
- mov r8, r0
- ldr r0, [r8, #0x5a4]
- mov r7, r1
- cmp r0, #0x0
- beq _020A2E14
- ldr r0, [r8, #0x5a8]
- cmp r0, #0x0
- beq _020A2E14
- ldr r0, [r7, #0x10]
- cmp r0, #0x0
- beq _020A2E14
- ldr r0, [r7, #0xc]
- cmp r0, #0x0
- beq _020A2E14
- ldr r0, [r7, #0x8]
- cmp r0, #0x0
- beq _020A2E14
- ldr r0, [r7, #0x4]
- cmp r0, #0x0
- bne _020A2E24
-_020A2E14:
- add sp, sp, #0x8
- mov r0, #0x2
- ldmia sp!, {r4-r10,lr}
- bx lr
-_020A2E24:
- mov r0, r0, lsl #0x1
- ldr r1, _020A2F8C ; =0x021C8EC8
- add r0, r0, r0, lsr #0x1f
- mov r4, r0, asr #0x1
- ldr r1, [r1, #0x0]
- mov r0, r4, lsl #0x3
- blx r1
- movs r6, r0
- addeq sp, sp, #0x8
- moveq r0, #0x2
- ldmeqia sp!, {r4-r10,lr}
- bxeq lr
- add r5, r6, r4, lsl #0x1
- add r10, r5, r4, lsl #0x1
- ldr r1, [r8, #0x5a4]
- ldr r2, [r8, #0x5a8]
- mov r0, r5
- mov r3, r4
- add r9, r10, r4, lsl #0x1
- bl FUN_020A4B50
- ldr r1, [r7, #0x10]
- ldr r2, [r7, #0xc]
- mov r0, r10
- mov r3, r4
- bl FUN_020A4B50
- mov r0, r9
- ldr r1, [r7, #0x8]
- ldr r2, [r7, #0x4]
- mov r3, r4
- bl FUN_020A4B50
- bl FUN_020A36EC
- str r9, [sp, #0x0]
- mov r2, r10
- mov r9, r0
- mov r0, r6
- mov r1, r5
- mov r3, r4
- bl FUN_020A507C
- mov r0, r9
- bl FUN_020A36B4
- mov r0, r5
- mov r1, r6
- ldr r2, [r7, #0x4]
- mov r3, r4
- bl FUN_020A4B08
- ldrb r0, [r6, r4, lsl #0x1]
- mov r4, #0x0
- cmp r0, #0x0
- bne _020A2EF4
- ldrb r0, [r5, #0x1]
- cmp r0, #0x1
- beq _020A2EFC
-_020A2EF4:
- mov r4, #0x2
- b _020A2F6C
-_020A2EFC:
- ldr r3, [r7, #0x4]
- mov r2, #0x2
- cmp r3, #0x2
- ble _020A2F24
-_020A2F0C:
- ldrb r0, [r5, r2]
- cmp r0, #0xff
- bne _020A2F24
- add r2, r2, #0x1
- cmp r2, r3
- blt _020A2F0C
-_020A2F24:
- add r1, r2, #0x1
- cmp r1, r3
- bge _020A2F68
- ldrb r0, [r5, r2]
- cmp r0, #0x0
- bne _020A2F68
- ldrb r0, [r5, r1]
- cmp r0, #0x30
- bne _020A2F68
- ldr r0, _020A2F90 ; =0x00000468
- ldr r2, [r8, #0x47c]
- add r1, r5, r3
- add r0, r8, r0
- sub r1, r1, r2
- bl memcmp
-_020A2F60: ; 0x020A2F60
- cmp r0, #0x0
- beq _020A2F6C
-_020A2F68:
- mov r4, #0x2
-_020A2F6C:
- ldr r1, _020A2F94 ; =0x021C8EF4
- mov r0, r6
- ldr r1, [r1, #0x0]
- blx r1
- mov r0, r4
- add sp, sp, #0x8
- ldmia sp!, {r4-r10,lr}
- bx lr
- .balign 4
-_020A2F8C: .word 0x021C8EC8
-_020A2F90: .word 0x00000468
-_020A2F94: .word 0x021C8EF4
-
- arm_func_start FUN_020A2F98
-FUN_020A2F98:
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0xc
- str r1, [sp, #0x4]
- ldr r1, [r1, #0x0]
- mov r9, r0
- str r1, [sp, #0x8]
- add r0, r1, #0x1
- str r0, [sp, #0x8]
- add r0, sp, #0x8
- mov r5, r2
- mov r4, r3
- ldr r8, [sp, #0x30]
- ldrb r6, [r1, #0x0]
- bl FUN_020A35D8
- movs r7, r0
- bmi _020A2FE0
- cmp r7, #0x7d0
- ble _020A2FF0
-_020A2FE0:
- add sp, sp, #0xc
- mov r0, #0x1
- ldmia sp!, {r4-r11,lr}
- bx lr
-_020A2FF0:
- and r1, r6, #0x1f
- cmp r1, #0x18
- addls pc, pc, r1, lsl #0x2
- b _020A3430
-_020A3000:
- b _020A3430
-_020A3004:
- b _020A3430
-_020A3008:
- b _020A3064
-_020A300C:
- b _020A315C
-_020A3010:
- b _020A3430
-_020A3014:
- b _020A3430
-_020A3018:
- b _020A31DC
-_020A301C:
- b _020A3430
-_020A3020:
- b _020A3430
-_020A3024:
- b _020A3430
-_020A3028:
- b _020A3430
-_020A302C:
- b _020A3430
-_020A3030:
- b _020A3274
-_020A3034:
- b _020A3430
-_020A3038:
- b _020A3430
-_020A303C:
- b _020A3430
-_020A3040:
- b _020A3348
-_020A3044:
- b _020A33D8
-_020A3048:
- b _020A3430
-_020A304C:
- b _020A3274
-_020A3050:
- b _020A3274
-_020A3054:
- b _020A3430
-_020A3058:
- b _020A3274
-_020A305C:
- b _020A32F4
-_020A3060:
- b _020A32F4
-_020A3064:
- ldrb r0, [r9, #0x5ad]
- cmp r0, #0x0
- beq _020A314C
- cmp r4, #0x0
- bne _020A30E0
- ldr r0, [sp, #0x8]
- ldrb r1, [r0, #0x0]
- cmp r1, #0x0
- bne _020A30A4
-_020A3088:
- ldr r1, [sp, #0x8]
- sub r7, r7, #0x1
- add r0, r1, #0x1
- str r0, [sp, #0x8]
- ldrb r1, [r1, #0x1]
- cmp r1, #0x0
- beq _020A3088
-_020A30A4:
- cmp r8, #0x0
- beq _020A30C0
- cmp r8, #0x2
- streq r7, [r9, #0x484]
- ldreq r0, [sp, #0x8]
- streq r0, [r9, #0x488]
- b _020A314C
-_020A30C0:
- cmp r7, #0x100
- bgt _020A314C
- ldr r1, _020A34B8 ; =0x00000494
- mov r2, r7
- add r1, r9, r1
- bl MI_CpuCopy8
- str r7, [r9, #0x594]
- b _020A314C
-_020A30E0:
- cmp r4, #0x1
- bne _020A314C
- ldr r0, [sp, #0x8]
- ldrb r1, [r0, #0x0]
- cmp r1, #0x0
- bne _020A3114
-_020A30F8:
- ldr r1, [sp, #0x8]
- sub r7, r7, #0x1
- add r0, r1, #0x1
- str r0, [sp, #0x8]
- ldrb r1, [r1, #0x1]
- cmp r1, #0x0
- beq _020A30F8
-_020A3114:
- cmp r8, #0x0
- beq _020A3130
- cmp r8, #0x2
- streq r7, [r9, #0x48c]
- ldreq r0, [sp, #0x8]
- streq r0, [r9, #0x490]
- b _020A314C
-_020A3130:
- cmp r7, #0x8
- bgt _020A314C
- ldr r1, _020A34BC ; =0x00000598
- mov r2, r7
- add r1, r9, r1
- bl MI_CpuCopy8
- str r7, [r9, #0x5a0]
-_020A314C:
- ldr r0, [sp, #0x8]
- add r0, r0, r7
- str r0, [sp, #0x8]
- b _020A349C
-_020A315C:
- cmp r5, #0x1
- bne _020A317C
- cmp r8, #0x2
- ldrne r1, [sp, #0x8]
- subne r0, r7, #0x1
- addne r1, r1, #0x1
- strne r1, [r9, #0x5a4]
- strne r0, [r9, #0x5a8]
-_020A317C:
- ldrb r0, [r9, #0x5ad]
- cmp r0, #0x0
- beq _020A31CC
- ldr r0, [sp, #0x8]
- add r1, sp, #0x8
- add r0, r0, #0x1
- str r0, [sp, #0x8]
- mov r0, r9
- mov r2, r5
- mov r3, #0x0
- str r8, [sp, #0x0]
- bl FUN_020A2F98
-_020A31AC: ; 0x020A31AC
- cmp r0, #0x0
- addne sp, sp, #0xc
- movne r0, #0x1
- ldmneia sp!, {r4-r11,lr}
- bxne lr
- mov r0, #0x0
- strb r0, [r9, #0x5ad]
- b _020A349C
-_020A31CC:
- ldr r0, [sp, #0x8]
- add r0, r0, r7
- str r0, [sp, #0x8]
- b _020A349C
-_020A31DC:
- ldr r5, [sp, #0x8]
- mov r6, #0x0
- ldr sl, _020A34C0 ; =0x02106278
-_020A31E8:
- ldr r4, [r10, r6, lsl #0x2]
- mov r0, r4
- bl strlen
- mov r2, r0
- mov r0, r5
- mov r1, r4
- bl memcmp
-_020A3204: ; 0x020A3204
- cmp r0, #0x0
- bne _020A3258
- cmp r6, #0x5
- addls pc, pc, r6, lsl #0x2
- b _020A3264
-_020A3218: ; 0x020A3218
- b _020A3264
-_020A321C: ; 0x020A321C
- b _020A3230
-_020A3220: ; 0x020A3220
- b _020A3230
-_020A3224: ; 0x020A3224
- b _020A3240
-_020A3228: ; 0x020A3228
- b _020A3240
-_020A322C: ; 0x020A322C
- b _020A324C
-_020A3230:
- cmp r8, #0x0
- streq r6, [r9, #0x45c]
- strb r6, [r9, #0x5ad]
- b _020A3264
-_020A3240:
- cmp r8, #0x2
- strne r6, [r9, #0x458]
- b _020A3264
-_020A324C:
- cmp r8, #0x2
- strneb r6, [r9, #0x5ae]
- b _020A3264
-_020A3258:
- add r6, r6, #0x1
- cmp r6, #0x6
- blt _020A31E8
-_020A3264:
- ldr r0, [sp, #0x8]
- add r0, r0, r7
- str r0, [sp, #0x8]
- b _020A349C
-_020A3274:
- cmp r8, #0x2
- beq _020A32DC
- ldrb r0, [r9, #0x5ac]
- cmp r0, #0x0
- beq _020A32CC
- ldr r1, [sp, #0x8]
- mov r2, r7
- add r0, r9, #0x6b0
- bl FUN_020A3554
- ldrb r0, [r9, #0x5ae]
- cmp r0, #0x5
- bne _020A32DC
- cmp r7, #0x4f
- bgt _020A32DC
- ldr r0, [sp, #0x8]
- mov r2, r7
- add r1, r9, #0x7b0
- bl MI_CpuCopy8
- add r0, r9, r7
- mov r1, #0x0
- strb r1, [r0, #0x7b0]
- b _020A32DC
-_020A32CC:
- ldr r1, [sp, #0x8]
- mov r2, r7
- add r0, r9, #0x5b0
- bl FUN_020A3554
-_020A32DC:
- mov r0, #0x0
- strb r0, [r9, #0x5ae]
- ldr r0, [sp, #0x8]
- add r0, r0, r7
- str r0, [sp, #0x8]
- b _020A349C
-_020A32F4:
- cmp r8, #0x2
- beq _020A3330
- ldr r0, [sp, #0x8]
- bl FUN_020A34C4
-_020A3304: ; 0x020A3304
- cmp r4, #0x0
- bne _020A3320
- ldr r1, [r9, #0x80c]
- cmp r1, r0
- movcs r0, #0x1
- strcsb r0, [r9, #0x5af]
- b _020A3330
-_020A3320:
- ldr r1, [r9, #0x80c]
- cmp r1, r0
- movhi r0, #0x0
- strhib r0, [r9, #0x5af]
-_020A3330:
- ldr r1, [sp, #0x8]
- mov r0, #0x1
- add r1, r1, r7
- str r1, [sp, #0x8]
- strb r0, [r9, #0x5ac]
- b _020A349C
-_020A3348:
- cmp r5, #0x0
- bne _020A3364
- cmp r4, #0x0
- bne _020A3364
- cmp r8, #0x2
- ldrne r0, [sp, #0x8]
- strne r0, [r9, #0x460]
-_020A3364:
- ldr r0, [sp, #0x8]
- mov r10, #0x0
- add r7, r0, r7
- cmp r0, r7
- bhs _020A33BC
- add r11, sp, #0x8
- add r6, r5, #0x1
-_020A3380:
- mov r0, r9
- mov r1, r11
- mov r2, r6
- mov r3, r10
- str r8, [sp, #0x0]
- bl FUN_020A2F98
-_020A3398: ; 0x020A3398
- cmp r0, #0x0
- add r10, r10, #0x1
- addne sp, sp, #0xc
- movne r0, #0x1
- ldmneia sp!, {r4-r11,lr}
- bxne lr
- ldr r0, [sp, #0x8]
- cmp r0, r7
- blo _020A3380
-_020A33BC:
- cmp r5, #0x1
- bne _020A349C
- cmp r4, #0x0
- bne _020A349C
- cmp r8, #0x2
- strne r0, [r9, #0x464]
- b _020A349C
-_020A33D8:
- ldr r0, [sp, #0x8]
- add r6, r0, r7
- cmp r0, r6
- bhs _020A349C
- add r7, r5, #0x1
- add r4, sp, #0x8
- mov r5, #0x0
-_020A33F4:
- mov r0, r9
- mov r1, r4
- mov r2, r7
- mov r3, r5
- str r8, [sp, #0x0]
- bl FUN_020A2F98
-_020A340C: ; 0x020A340C
- cmp r0, #0x0
- addne sp, sp, #0xc
- movne r0, #0x1
- ldmneia sp!, {r4-r11,lr}
- bxne lr
- ldr r0, [sp, #0x8]
- cmp r0, r6
- blo _020A33F4
- b _020A349C
-_020A3430:
- cmp r6, #0xa0
- bne _020A3490
- ldr r0, [sp, #0x8]
- add r6, r0, r7
- cmp r0, r6
- bhs _020A349C
- add r7, r5, #0x1
- add r4, sp, #0x8
- mov r5, #0x0
-_020A3454:
- mov r0, r9
- mov r1, r4
- mov r2, r7
- mov r3, r5
- str r8, [sp, #0x0]
- bl FUN_020A2F98
-_020A346C: ; 0x020A346C
- cmp r0, #0x0
- addne sp, sp, #0xc
- movne r0, #0x1
- ldmneia sp!, {r4-r11,lr}
- bxne lr
- ldr r0, [sp, #0x8]
- cmp r0, r6
- blo _020A3454
- b _020A349C
-_020A3490:
- ldr r0, [sp, #0x8]
- add r0, r0, r7
- str r0, [sp, #0x8]
-_020A349C:
- ldr r2, [sp, #0x8]
- ldr r1, [sp, #0x4]
- mov r0, #0x0
- str r2, [r1, #0x0]
- add sp, sp, #0xc
- ldmia sp!, {r4-r11,lr}
- bx lr
- .balign 4
-_020A34B8: .word 0x00000494
-_020A34BC: .word 0x00000598
-_020A34C0: .word 0x02106278
-
- arm_func_start FUN_020A34C4
-FUN_020A34C4:
- stmdb sp!, {r4,lr}
- ldrb r12, [r0, #0x1]
- ldrb r3, [r0, #0x0]
- mov r2, #0xa
- cmp r1, #0x17
- mla r1, r3, r2, r12
- sub lr, r1, #0x210
- add r0, r0, #0x2
- bne _020A34FC
- cmp lr, #0x32
- ldrhs r1, _020A3550 ; =0x0000076C
- addcc r4, lr, #0x7d0
- addcs r4, lr, r1
- b _020A3518
-_020A34FC:
- ldrb r12, [r0, #0x1]
- ldrb r3, [r0, #0x0]
- mov r1, #0x64
- add r0, r0, #0x2
- mla r2, r3, r2, r12
- sub r2, r2, #0x210
- mla r4, lr, r1, r2
-_020A3518:
- ldrb r12, [r0, #0x1]
- ldrb r3, [r0, #0x0]
- mov r1, #0xa
- ldrb r2, [r0, #0x3]
- ldrb r0, [r0, #0x2]
- mla r12, r3, r1, r12
- mla r1, r0, r1, r2
- mov r2, r4, lsl #0x10
- sub r0, r12, #0x210
- add r2, r2, r0, lsl #0x8
- sub r0, r1, #0x210
- add r0, r2, r0
- ldmia sp!, {r4,lr}
- bx lr
- .balign 4
-_020A3550: .word 0x0000076C
-
- arm_func_start FUN_020A3554
-FUN_020A3554:
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldrsb r3, [r0, #0x0]
- mov lr, r0
- cmp r3, #0x0
- beq _020A35AC
-_020A356C:
- ldrsb r3, [r0, #0x1]!
- cmp r3, #0x0
- bne _020A356C
- sub r3, r0, lr
- cmp r3, #0xff
- addge sp, sp, #0x4
- ldmgeia sp!, {lr}
- bxge lr
- mov r3, #0x2c
- strb r3, [r0, #0x0]
- mov r3, #0x20
- strb r3, [r0, #0x1]
- add r0, r0, #0x2
- b _020A35AC
-_020A35A4:
- ldrsb r3, [r1], #0x1
- strb r3, [r0], #0x1
-_020A35AC:
- cmp r2, #0x0
- sub r2, r2, #0x1
- beq _020A35C4
- sub r3, r0, lr
- cmp r3, #0xff
- blt _020A35A4
-_020A35C4:
- mov r1, #0x0
- strb r1, [r0, #0x0]
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-
- arm_func_start FUN_020A35D8
-FUN_020A35D8: ; 0x020A35D8
- ldr r1, [r0, #0x0]
- ldrb r3, [r1, #0x0]
- add r12, r1, #0x1
- ands r1, r3, #0x80
- beq _020A361C
- ands r1, r3, #0x7f
- sub r2, r1, #0x1
- mov r3, #0x0
- beq _020A361C
-_020A35FC:
- ands r1, r3, #0xff000000
- mvnne r0, #0x0
- bxne lr
- ldrb r1, [r12], #0x1
- cmp r2, #0x0
- sub r2, r2, #0x1
- add r3, r1, r3, lsl #0x8
- bne _020A35FC
-_020A361C:
- str r12, [r0, #0x0]
- mov r0, r3
- bx lr
-
- arm_func_start FUN_020A3628
-FUN_020A3628: ; 0x020A3628
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- ldr r4, [r0, #0x818]
- mov r7, r1
- cmp r4, #0x0
- mov r6, #0x0
- ble _020A3678
- ldr r5, [r0, #0x814]
-_020A3648:
- ldr r0, [r5, r6, lsl #0x2]
- mov r1, r7
- ldr r0, [r0, #0x0]
- bl strcmp
-_020A3658: ; 0x020A3658
- cmp r0, #0x0
- addeq sp, sp, #0x4
- ldreq r0, [r5, r6, lsl #0x2]
- ldmeqia sp!, {r4-r7,lr}
- bxeq lr
- add r6, r6, #0x1
- cmp r6, r4
- blt _020A3648
-_020A3678:
- mov r0, #0x0
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,lr}
- bx lr
-
- arm_func_start FUN_020A3688
-FUN_020A3688: ; 0x020A3688
- ldr r2, _020A36B0 ; =0x021D3498
- ldr r2, [r2, #0x4]
- ldr r2, [r2, #0xa4]
- cmp r2, #0x0
- bxeq lr
- ldr r2, [r2, #0xc]
- cmp r2, #0x0
- strne r0, [r2, #0x814]
- strne r1, [r2, #0x818]
- bx lr
- .balign 4
-_020A36B0: .word 0x021D3498
-
- arm_func_start FUN_020A36B4
-FUN_020A36B4: ; 0x020A36B4
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- mov r1, r0
- cmp r1, #0x20
- addcs sp, sp, #0x4
- ldmcsia sp!, {lr}
- bxcs lr
- ldr r0, _020A36E8 ; =0x021D3498
- ldr r0, [r0, #0x4]
- bl OS_SetThreadPriority
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020A36E8: .word 0x021D3498
-
- arm_func_start FUN_020A36EC
-FUN_020A36EC: ; 0x020A36EC
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- ldr r0, _020A3744 ; =0x02106244
- ldr r0, [r0, #0x0]
- cmp r0, #0x20
- addcs sp, sp, #0x4
- mvncs r0, #0x0
- ldmcsia sp!, {r4-r5,lr}
- bxcs lr
- ldr r0, _020A3748 ; =0x021D3498
- ldr r5, [r0, #0x4]
- mov r0, r5
- bl OS_GetThreadPriority
- ldr r1, _020A3744 ; =0x02106244
- mov r4, r0
- ldr r1, [r1, #0x0]
- mov r0, r5
- bl OS_SetThreadPriority
- mov r0, r4
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
- .balign 4
-_020A3744: .word 0x02106244
-_020A3748: .word 0x021D3498
-
- arm_func_start FUN_020A374C
-FUN_020A374C: ; 0x020A374C
- ldr r1, _020A3758 ; =0x02106244
- str r0, [r1, #0x0]
- bx lr
- .balign 4
-_020A3758: .word 0x02106244
-
- arm_func_start FUN_020A375C
-FUN_020A375C: ; 0x020A375C
- stmdb sp!, {lr}
- sub sp, sp, #0x1c
- add r0, sp, #0x0
- bl RTC_GetDate
- add r0, sp, #0x10
- bl RTC_GetTime
-_020A3774: ; 0x020A3774
- add r0, sp, #0x0
- add r1, sp, #0x10
- bl RTC_ConvertDateTimeToSecond
- ldr r1, _020A3794 ; =0x386D4380
- add r0, r0, r1
- add sp, sp, #0x1c
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020A3794: .word 0x386D4380
-
- arm_func_start FUN_020A3798
-FUN_020A3798:
- stmdb sp!, {r4-r8,lr}
- mov r4, r0
- bl OS_DisableInterrupts
- ldr r6, _020A3804 ; =0x021CA6FC
- mov r7, r0
- mov r8, #0x0
- add r5, r4, #0x74
- mov r4, #0x20
-_020A37B8:
- ldrb r0, [r6, #0x5a]
- cmp r0, #0x0
- beq _020A37E4
- mov r0, r6
- mov r1, r5
- mov r2, r4
- bl memcmp
-_020A37D4: ; 0x020A37D4
- cmp r0, #0x0
- moveq r0, #0x0
- streqb r0, [r6, #0x5a]
- beq _020A37F4
-_020A37E4:
- add r8, r8, #0x1
- cmp r8, #0x4
- add r6, r6, #0x5c
- blt _020A37B8
-_020A37F4:
- mov r0, r7
- bl OS_RestoreInterrupts
- ldmia sp!, {r4-r8,lr}
- bx lr
- .balign 4
-_020A3804: .word 0x021CA6FC
-
- arm_func_start FUN_020A3808
-FUN_020A3808: ; 0x020A3808
- stmdb sp!, {r4-r9,lr}
- sub sp, sp, #0x4
- mov r9, r0
- mov r8, r1
- mov r7, r2
- bl OS_DisableInterrupts
- mov r5, r0
- bl OS_GetTick
- ldr r6, _020A3904 ; =0x021CA6FC
- mov r4, r0, lsr #0x10
- mov r3, #0x0
- mov r12, r3
- mov r2, r6
- orr r4, r4, r1, lsl #0x10
- mvn r0, #0x0
-_020A3844:
- ldrb r1, [r2, #0x5a]
- cmp r1, #0x0
- beq _020A387C
- cmp r8, #0x0
- beq _020A387C
- ldr lr, [r2, #0x54]
- cmp r8, lr
- bne _020A387C
- cmp r7, #0x0
- beq _020A387C
- ldrh lr, [r2, #0x58]
- cmp r7, lr
- moveq r6, r2
- beq _020A38BC
-_020A387C:
- mvn lr, #0x0
- cmp r3, lr
- beq _020A38AC
- cmp r1, #0x0
- moveq r3, r0
- moveq r6, r2
- beq _020A38AC
- ldr r1, [r2, #0x50]
- sub r1, r4, r1
- cmp r1, r3
- movhi r3, r1
- movhi r6, r2
-_020A38AC:
- add r12, r12, #0x1
- cmp r12, #0x4
- add r2, r2, #0x5c
- blt _020A3844
-_020A38BC:
- mov r1, r6
- add r0, r9, #0x74
- mov r2, #0x20
- bl MI_CpuCopy8
- mov r0, r9
- add r1, r6, #0x20
- mov r2, #0x30
- bl MI_CpuCopy8
- str r4, [r6, #0x50]
- mov r0, #0x1
- strb r0, [r6, #0x5a]
- str r8, [r6, #0x54]
- mov r0, r5
- strh r7, [r6, #0x58]
- bl OS_RestoreInterrupts
- add sp, sp, #0x4
- ldmia sp!, {r4-r9,lr}
- bx lr
- .balign 4
-_020A3904: .word 0x021CA6FC
-
- arm_func_start FUN_020A3908
-FUN_020A3908: ; 0x020A3908
- stmdb sp!, {r4-r8,lr}
- mov r8, r0
- mov r7, r1
- mov r6, r2
- bl OS_DisableInterrupts
- mov r1, #0x0
- ldr r4, _020A39AC ; =0x021CA6FC
- mov r5, r0
- strb r1, [r8, #0x30]
-_020A392C:
- ldrb r0, [r4, #0x5a]
- cmp r0, #0x0
- beq _020A398C
- ldr r0, [r4, #0x54]
- cmp r0, r7
- bne _020A398C
- ldrh r0, [r4, #0x58]
- cmp r0, r6
- bne _020A398C
- mov r0, r4
- add r1, r8, #0x74
- mov r2, #0x20
- bl MI_CpuCopy8
- mov r1, r8
- add r0, r4, #0x20
- mov r2, #0x30
- bl MI_CpuCopy8
- bl OS_GetTick
- mov r0, r0, lsr #0x10
- orr r0, r0, r1, lsl #0x10
- str r0, [r4, #0x50]
- mov r0, #0x1
- strb r0, [r8, #0x30]
- b _020A399C
-_020A398C:
- add r1, r1, #0x1
- cmp r1, #0x4
- add r4, r4, #0x5c
- blt _020A392C
-_020A399C:
- mov r0, r5
- bl OS_RestoreInterrupts
- ldmia sp!, {r4-r8,lr}
- bx lr
- .balign 4
-_020A39AC: .word 0x021CA6FC
-
- arm_func_start FUN_020A39B0
-FUN_020A39B0: ; 0x020A39B0
- stmdb sp!, {r4-r9,lr}
- sub sp, sp, #0x4
- mov r7, r0
- bl OS_DisableInterrupts
- mov r6, #0x0
- ldr r4, _020A3A54 ; =0x021CA6FC
- mov r5, r0
- strb r6, [r7, #0x30]
- add r9, r7, #0x74
- mov r8, #0x20
-_020A39D8:
- ldrb r0, [r4, #0x5a]
- cmp r0, #0x0
- beq _020A3A30
- ldr r0, [r4, #0x54]
- cmp r0, #0x0
- bne _020A3A30
- ldrh r0, [r4, #0x58]
- cmp r0, #0x0
- bne _020A3A30
- mov r0, r4
- mov r1, r9
- mov r2, r8
- bl memcmp
-_020A3A0C: ; 0x020A3A0C
- cmp r0, #0x0
- bne _020A3A30
- mov r1, r7
- add r0, r4, #0x20
- mov r2, #0x30
- bl MI_CpuCopy8
- mov r0, #0x1
- strb r0, [r7, #0x30]
- b _020A3A40
-_020A3A30:
- add r6, r6, #0x1
- cmp r6, #0x4
- add r4, r4, #0x5c
- blt _020A39D8
-_020A3A40:
- mov r0, r5
- bl OS_RestoreInterrupts
- add sp, sp, #0x4
- ldmia sp!, {r4-r9,lr}
- bx lr
- .balign 4
-_020A3A54: .word 0x021CA6FC
-
- arm_func_start FUN_020A3A58
-FUN_020A3A58: ; 0x020A3A58
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r5, r0
- mov r4, r1
- mov r0, r4
- add r1, r5, #0x10
- mov r2, #0x8
- bl FUN_020A4044
- ldr r0, [r5, #0x10]
- ldr r1, _020A3AC8 ; =0x021062EC
- mov r0, r0, lsr #0x3
- and r0, r0, #0x3f
- cmp r0, #0x38
- rsblt r2, r0, #0x38
- rsbge r2, r0, #0x78
- mov r0, r5
- bl FUN_020A3ACC
- mov r0, r5
- mov r1, r4
- mov r2, #0x8
- bl FUN_020A3ACC
- mov r0, r4
- mov r1, r5
- mov r2, #0x10
- bl FUN_020A4044
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
- .balign 4
-_020A3AC8: .word 0x021062EC
-
- arm_func_start FUN_020A3ACC
-FUN_020A3ACC:
- stmdb sp!, {r4-r8,lr}
- mov r8, r0
- ldr r3, [r8, #0x10]
- mov r6, r2
- add r0, r3, r6, lsl #0x3
- str r0, [r8, #0x10]
- ldr r0, [r8, #0x10]
- mov r2, r3, lsr #0x3
- cmp r0, r6, lsl #0x3
- ldrcc r0, [r8, #0x14]
- and r4, r2, #0x3f
- addcc r0, r0, #0x1
- strcc r0, [r8, #0x14]
- ldr r0, [r8, #0x14]
- rsb r5, r4, #0x40
- add r0, r0, r6, lsr #0x1d
- mov r7, r1
- str r0, [r8, #0x14]
- cmp r6, r5
- blo _020A3B6C
- add r1, r8, #0x18
- mov r0, r7
- mov r2, r5
- add r1, r1, r4
- bl MI_CpuCopy8
- mov r0, r8
- add r1, r8, #0x18
- mov r4, #0x0
- bl FUN_020A3BD8
- add r0, r5, #0x3f
- cmp r0, r6
- bhs _020A3B70
-_020A3B4C:
- mov r0, r8
- add r1, r7, r5
- bl FUN_020A3BD8
- add r5, r5, #0x40
- add r0, r5, #0x3f
- cmp r0, r6
- blo _020A3B4C
- b _020A3B70
-_020A3B6C:
- mov r5, #0x0
-_020A3B70:
- add r1, r8, #0x18
- add r0, r7, r5
- add r1, r1, r4
- sub r2, r6, r5
- bl MI_CpuCopy8
- ldmia sp!, {r4-r8,lr}
- bx lr
-
- arm_func_start FUN_020A3B8C
-FUN_020A3B8C: ; 0x020A3B8C
- stmdb sp!, {r4,lr}
- mov r1, #0x0
- mov r2, #0x58
- mov r4, r0
- bl MI_CpuFill8
- ldr r1, _020A3BC8 ; =0x67452301
- ldr r0, _020A3BCC ; =0xEFCDAB89
- str r1, [r4, #0x0]
- ldr r1, _020A3BD0 ; =0x98BADCFE
- str r0, [r4, #0x4]
- ldr r0, _020A3BD4 ; =0x10325476
- str r1, [r4, #0x8]
- str r0, [r4, #0xc]
- ldmia sp!, {r4,lr}
- bx lr
- .balign 4
-_020A3BC8: .word 0x67452301
-_020A3BCC: .word 0xEFCDAB89
-_020A3BD0: .word 0x98BADCFE
-_020A3BD4: .word 0x10325476
-
- arm_func_start FUN_020A3BD8
-FUN_020A3BD8: ; 0x020A3BD8
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0x44
- str r0, [sp, #0x0]
- ldr r3, [sp, #0x0]
- add r0, sp, #0x4
- mov r2, #0x40
- ldr r7, [r3, #0x0]
- ldr r6, [r3, #0x4]
- ldr r5, [r3, #0x8]
- ldr r4, [r3, #0xc]
- bl FUN_020A402C
- ldr r2, _020A4024 ; =0x021062AC
- mov r3, #0x0
- ldr r1, _020A4028 ; =0x0210632C
- mov r11, r3
- add r0, sp, #0x4
- mov r10, r2
-_020A3C1C:
- ldrb r9, [r2, #0x0]
- add r8, r3, #0x1
- eor r12, r5, r4
- and r12, r6, r12
- eor r12, r4, r12
- ldr r9, [r0, r9, lsl #0x2]
- ldr lr, [r1, r3, lsl #0x2]
- add r9, r12, r9
- add r9, lr, r9
- add r9, r7, r9
- mov r7, r9, lsl #0x7
- orr r7, r7, r9, lsr #0x19
- ldrb r9, [r10, r8]
- add r7, r6, r7
- ldr r8, [r1, r8, lsl #0x2]
- ldr r9, [r0, r9, lsl #0x2]
- eor r12, r6, r5
- and r12, r7, r12
- eor r12, r5, r12
- add r9, r12, r9
- add r9, r8, r9
- add r8, r3, #0x2
- add r9, r4, r9
- mov r4, r9, lsl #0xc
- orr r4, r4, r9, lsr #0x14
- add r4, r7, r4
- ldr r9, [r1, r8, lsl #0x2]
- ldrb r12, [r10, r8]
- eor r8, r7, r6
- and r8, r4, r8
- eor r8, r6, r8
- ldr lr, [r0, r12, lsl #0x2]
- add r12, r3, #0x3
- add r8, r8, lr
- add r8, r9, r8
- add r8, r5, r8
- mov r5, r8, lsl #0x11
- orr r5, r5, r8, lsr #0xf
- add r5, r4, r5
- ldr r9, [r1, r12, lsl #0x2]
- ldrb r12, [r10, r12]
- eor r8, r4, r7
- and r8, r5, r8
- eor r8, r7, r8
- ldr r12, [r0, r12, lsl #0x2]
- add r2, r2, #0x4
- add r8, r8, r12
- add r8, r9, r8
- add r8, r6, r8
- mov r6, r8, lsl #0x16
- orr r6, r6, r8, lsr #0xa
- add r6, r5, r6
- add r3, r3, #0x4
- add r11, r11, #0x1
- cmp r11, #0x4
- blt _020A3C1C
- add r8, r10, r3
- mov r2, #0x0
- ldr r1, _020A4028 ; =0x0210632C
- add r0, sp, #0x4
- ldr lr, _020A4024 ; =0x021062AC
-_020A3D10:
- ldrb r10, [r8, #0x0]
- add r9, r3, #0x1
- eor r11, r6, r5
- and r11, r4, r11
- eor r11, r5, r11
- ldr r10, [r0, r10, lsl #0x2]
- ldr r12, [r1, r3, lsl #0x2]
- add r10, r11, r10
- add r10, r12, r10
- add r10, r7, r10
- mov r7, r10, lsl #0x5
- orr r7, r7, r10, lsr #0x1b
- ldrb r10, [lr, r9]
- add r7, r6, r7
- ldr r9, [r1, r9, lsl #0x2]
- ldr r10, [r0, r10, lsl #0x2]
- eor r11, r7, r6
- and r11, r5, r11
- eor r11, r6, r11
- add r10, r11, r10
- add r10, r9, r10
- add r9, r3, #0x2
- add r10, r4, r10
- mov r4, r10, lsl #0x9
- orr r4, r4, r10, lsr #0x17
- add r4, r7, r4
- ldr r12, [r1, r9, lsl #0x2]
- ldrb r9, [lr, r9]
- eor r10, r4, r7
- and r10, r6, r10
- eor r11, r7, r10
- ldr r10, [r0, r9, lsl #0x2]
- add r9, r3, #0x3
- add r10, r11, r10
- add r10, r12, r10
- add r10, r5, r10
- mov r5, r10, lsl #0xe
- orr r5, r5, r10, lsr #0x12
- add r5, r4, r5
- ldr r10, [r1, r9, lsl #0x2]
- ldrb r11, [lr, r9]
- eor r9, r5, r4
- and r9, r7, r9
- eor r9, r4, r9
- ldr r11, [r0, r11, lsl #0x2]
- add r8, r8, #0x4
- add r9, r9, r11
- add r9, r10, r9
- add r9, r6, r9
- mov r6, r9, lsl #0x14
- orr r6, r6, r9, lsr #0xc
- add r6, r5, r6
- add r3, r3, #0x4
- add r2, r2, #0x1
- cmp r2, #0x4
- blt _020A3D10
- add r8, lr, r3
- mov lr, #0x0
- ldr r2, _020A4028 ; =0x0210632C
- add r0, sp, #0x4
-_020A3E00:
- ldrb r1, [r8, #0x0]
- eor r12, r6, r5
- add lr, lr, #0x1
- ldr r11, [r0, r1, lsl #0x2]
- eor r12, r4, r12
- ldr r1, [r2, r3, lsl #0x2]
- add r11, r12, r11
- add r1, r1, r11
- add r7, r7, r1
- mov r1, r7, lsl #0x4
- orr r1, r1, r7, lsr #0x1c
- add r7, r6, r1
- add r10, r3, #0x1
- ldr r1, _020A4024 ; =0x021062AC
- ldr r12, [r2, r10, lsl #0x2]
- ldrb r1, [r1, r10]
- eor r10, r7, r6
- eor r11, r5, r10
- ldr r10, [r0, r1, lsl #0x2]
- add r9, r3, #0x2
- add r10, r11, r10
- add r10, r12, r10
- add r4, r4, r10
- ldr sl, _020A4024 ; =0x021062AC
- ldr r1, [r2, r9, lsl #0x2]
- ldrb r9, [r10, r9]
- mov r10, r4, lsl #0xb
- orr r4, r10, r4, lsr #0x15
- add r4, r7, r4
- eor r10, r4, r7
- ldr r9, [r0, r9, lsl #0x2]
- eor r10, r6, r10
- add r9, r10, r9
- add r1, r1, r9
- add r5, r5, r1
- add r10, r3, #0x3
- ldr sb, _020A4024 ; =0x021062AC
- mov r1, r5, lsl #0x10
- ldrb r9, [r9, r10]
- orr r1, r1, r5, lsr #0x10
- add r5, r4, r1
- ldr r1, [r2, r10, lsl #0x2]
- eor r10, r5, r4
- ldr r9, [r0, r9, lsl #0x2]
- eor r10, r7, r10
- add r9, r10, r9
- add r1, r1, r9
- add r6, r6, r1
- mov r1, r6, lsl #0x17
- orr r1, r1, r6, lsr #0x9
- add r8, r8, #0x4
- add r6, r5, r1
- add r3, r3, #0x4
- cmp lr, #0x4
- blt _020A3E00
- ldr r0, _020A4024 ; =0x021062AC
- ldr r1, _020A4028 ; =0x0210632C
- add r8, r0, r3
- ldr lr, _020A4024 ; =0x021062AC
- mov r2, #0x0
- add r0, sp, #0x4
-_020A3EF4:
- ldrb r10, [r8, #0x0]
- add r9, r3, #0x1
- mvn r11, r4
- orr r11, r6, r11
- eor r11, r5, r11
- ldr r10, [r0, r10, lsl #0x2]
- ldr r12, [r1, r3, lsl #0x2]
- add r10, r11, r10
- add r10, r12, r10
- add r10, r7, r10
- mov r7, r10, lsl #0x6
- orr r7, r7, r10, lsr #0x1a
- ldrb r10, [lr, r9]
- add r7, r6, r7
- ldr r9, [r1, r9, lsl #0x2]
- ldr r10, [r0, r10, lsl #0x2]
- mvn r11, r5
- orr r11, r7, r11
- eor r11, r6, r11
- add r10, r11, r10
- add r10, r9, r10
- add r9, r3, #0x2
- add r10, r4, r10
- mov r4, r10, lsl #0xa
- orr r4, r4, r10, lsr #0x16
- add r4, r7, r4
- ldr r12, [r1, r9, lsl #0x2]
- ldrb r9, [lr, r9]
- mvn r10, r6
- orr r10, r4, r10
- eor r11, r7, r10
- ldr r10, [r0, r9, lsl #0x2]
- add r9, r3, #0x3
- add r10, r11, r10
- add r10, r12, r10
- add r10, r5, r10
- mov r5, r10, lsl #0xf
- orr r5, r5, r10, lsr #0x11
- add r5, r4, r5
- ldr r10, [r1, r9, lsl #0x2]
- ldrb r11, [lr, r9]
- mvn r9, r7
- orr r9, r5, r9
- eor r9, r4, r9
- ldr r11, [r0, r11, lsl #0x2]
- add r8, r8, #0x4
- add r9, r9, r11
- add r9, r10, r9
- add r9, r6, r9
- mov r6, r9, lsl #0x15
- orr r6, r6, r9, lsr #0xb
- add r6, r5, r6
- add r3, r3, #0x4
- add r2, r2, #0x1
- cmp r2, #0x4
- blt _020A3EF4
- ldr r0, [sp, #0x0]
- ldr r0, [r0, #0x0]
- add r1, r0, r7
- ldr r0, [sp, #0x0]
- str r1, [r0, #0x0]
- ldr r0, [r0, #0x4]
- add r1, r0, r6
- ldr r0, [sp, #0x0]
- str r1, [r0, #0x4]
- ldr r0, [r0, #0x8]
- add r1, r0, r5
- ldr r0, [sp, #0x0]
- str r1, [r0, #0x8]
- ldr r0, [r0, #0xc]
- add r1, r0, r4
- ldr r0, [sp, #0x0]
- str r1, [r0, #0xc]
- add sp, sp, #0x44
- ldmia sp!, {r4-r11,lr}
- bx lr
- .balign 4
-_020A4024: .word 0x021062AC
-_020A4028: .word 0x0210632C
-
- arm_func_start FUN_020A402C
-FUN_020A402C: ; 0x020A402C
- ldr ip, _020A4040 ; =MI_CpuCopy8
- mov r3, r0
- mov r0, r1
- mov r1, r3
- bx r12
- .balign 4
-_020A4040: .word MI_CpuCopy8
-
- arm_func_start FUN_020A4044
-FUN_020A4044: ; 0x020A4044
- ldr ip, _020A4058 ; =MI_CpuCopy8
- mov r3, r0
- mov r0, r1
- mov r1, r3
- bx r12
- .balign 4
-_020A4058: .word MI_CpuCopy8
-
- arm_func_start FUN_020A405C
-FUN_020A405C: ; 0x020A405C
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r4, r1
- ldr r1, _020A4094 ; =0x0210642D
- mov r5, r0
- mov r2, #0x2c
- bl FUN_020A410C
- mov r0, r4
- mov r1, r5
- mov r2, #0x14
- bl FUN_020A4930
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
- .balign 4
-_020A4094: .word 0x0210642D
-
- arm_func_start FUN_020A4098
-FUN_020A4098: ; 0x020A4098
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r5, r0
- mov r4, r1
- mov r0, r4
- add r1, r5, #0x14
- mov r2, #0x8
- bl FUN_020A4930
- ldr r0, [r5, #0x18]
- ldr r1, _020A4108 ; =0x0210642C
- mov r0, r0, lsr #0x3
- and r0, r0, #0x3f
- cmp r0, #0x38
- rsblt r2, r0, #0x38
- rsbge r2, r0, #0x78
- mov r0, r5
- bl FUN_020A410C
- mov r0, r5
- mov r1, r4
- mov r2, #0x8
- bl FUN_020A410C
- mov r0, r4
- mov r1, r5
- mov r2, #0x14
- bl FUN_020A4930
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
- .balign 4
-_020A4108: .word 0x0210642C
-
- arm_func_start FUN_020A410C
-FUN_020A410C:
- stmdb sp!, {r4-r8,lr}
- mov r8, r0
- ldr r3, [r8, #0x18]
- mov r6, r2
- add r0, r3, r6, lsl #0x3
- str r0, [r8, #0x18]
- ldr r0, [r8, #0x18]
- mov r2, r3, lsr #0x3
- cmp r0, r6, lsl #0x3
- ldrcc r0, [r8, #0x14]
- and r4, r2, #0x3f
- addcc r0, r0, #0x1
- strcc r0, [r8, #0x14]
- ldr r0, [r8, #0x14]
- rsb r5, r4, #0x40
- add r0, r0, r6, lsr #0x1d
- mov r7, r1
- str r0, [r8, #0x14]
- cmp r6, r5
- blo _020A41AC
- add r1, r8, #0x1c
- mov r0, r7
- mov r2, r5
- add r1, r1, r4
- bl MI_CpuCopy8
- mov r0, r8
- add r1, r8, #0x1c
- mov r4, #0x0
- bl FUN_020A4224
- add r0, r5, #0x3f
- cmp r0, r6
- bhs _020A41B0
-_020A418C:
- mov r0, r8
- add r1, r7, r5
- bl FUN_020A4224
- add r5, r5, #0x40
- add r0, r5, #0x3f
- cmp r0, r6
- blo _020A418C
- b _020A41B0
-_020A41AC:
- mov r5, #0x0
-_020A41B0:
- add r1, r8, #0x1c
- add r0, r7, r5
- add r1, r1, r4
- sub r2, r6, r5
- bl MI_CpuCopy8
- ldmia sp!, {r4-r8,lr}
- bx lr
-
- arm_func_start FUN_020A41CC
-FUN_020A41CC: ; 0x020A41CC
- stmdb sp!, {r4,lr}
- mov r1, #0x0
- mov r2, #0x5c
- mov r4, r0
- bl MI_CpuFill8
- ldr r0, _020A4210 ; =0x67452301
- ldr r1, _020A4214 ; =0xEFCDAB89
- str r0, [r4, #0x0]
- ldr r0, _020A4218 ; =0x98BADCFE
- str r1, [r4, #0x4]
- ldr r1, _020A421C ; =0x10325476
- str r0, [r4, #0x8]
- ldr r0, _020A4220 ; =0xC3D2E1F0
- str r1, [r4, #0xc]
- str r0, [r4, #0x10]
- ldmia sp!, {r4,lr}
- bx lr
- .balign 4
-_020A4210: .word 0x67452301
-_020A4214: .word 0xEFCDAB89
-_020A4218: .word 0x98BADCFE
-_020A421C: .word 0x10325476
-_020A4220: .word 0xC3D2E1F0
-
- arm_func_start FUN_020A4224
-FUN_020A4224: ; 0x020A4224
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0x54
- str r0, [sp, #0x0]
- ldr r3, [sp, #0x0]
- add r0, sp, #0x10
- mov r2, #0x40
- ldr r6, [r3, #0x0]
- ldr r7, [r3, #0x4]
- ldr r8, [r3, #0x8]
- ldr r5, [r3, #0xc]
- ldr r4, [r3, #0x10]
- bl FUN_020A48CC
- mov r2, #0x0
- ldr r3, _020A48BC ; =0x5A827999
- mov r0, r2
- add r1, sp, #0x10
-_020A4264:
- eor r9, r8, r5
- mov r10, r6, lsl #0x5
- and r9, r7, r9
- orr r10, r10, r6, lsr #0x1b
- eor r9, r5, r9
- mov r11, r7, lsl #0x1e
- orr r7, r11, r7, lsr #0x2
- eor r11, r7, r8
- add r9, r10, r9
- ldr r12, [r1, r2, lsl #0x2]
- and r10, r6, r11
- add r9, r12, r9
- add r9, r9, r3
- add r4, r4, r9
- add r9, r2, #0x1
- ldr r9, [r1, r9, lsl #0x2]
- eor r10, r8, r10
- mov r11, r4, lsl #0x5
- orr r11, r11, r4, lsr #0x1b
- add r10, r11, r10
- add r10, r9, r10
- mov r9, r6, lsl #0x1e
- add r10, r10, r3
- add r5, r5, r10
- orr r6, r9, r6, lsr #0x2
- add r9, r2, #0x2
- ldr r10, [r1, r9, lsl #0x2]
- mov r9, r5, lsl #0x5
- orr r9, r9, r5, lsr #0x1b
- eor r11, r6, r7
- and r11, r4, r11
- eor r11, r7, r11
- add r9, r9, r11
- add r9, r10, r9
- add r9, r9, r3
- add r8, r8, r9
- mov r9, r4, lsl #0x1e
- orr r4, r9, r4, lsr #0x2
- add r9, r2, #0x3
- ldr r10, [r1, r9, lsl #0x2]
- mov r9, r8, lsl #0x5
- orr r9, r9, r8, lsr #0x1b
- eor r11, r4, r6
- and r11, r5, r11
- eor r11, r6, r11
- add r9, r9, r11
- add r9, r10, r9
- add r9, r9, r3
- add r7, r7, r9
- mov r9, r5, lsl #0x1e
- orr r5, r9, r5, lsr #0x2
- add r9, r2, #0x4
- ldr r10, [r1, r9, lsl #0x2]
- mov r9, r7, lsl #0x5
- orr r9, r9, r7, lsr #0x1b
- eor r11, r5, r4
- and r11, r8, r11
- eor r11, r4, r11
- add r9, r9, r11
- add r9, r10, r9
- add r9, r9, r3
- add r6, r6, r9
- mov r9, r8, lsl #0x1e
- orr r8, r9, r8, lsr #0x2
- add r2, r2, #0x5
- add r0, r0, #0x1
- cmp r0, #0x3
- blt _020A4264
- eor r0, r8, r5
- mov r2, r6, lsl #0x5
- and r0, r7, r0
- orr r3, r2, r6, lsr #0x1b
- eor r0, r5, r0
- add r3, r3, r0
- ldr r9, [sp, #0x4c]
- ldr r0, _020A48BC ; =0x5A827999
- add r3, r9, r3
- add r3, r3, r0
- mov r2, r7, lsl #0x1e
- orr r9, r2, r7, lsr #0x2
- mov r0, #0x0
- add r4, r4, r3
- bl FUN_020A4988
- eor r1, r9, r8
- mov r3, r4, lsl #0x5
- and r1, r6, r1
- mov r2, r6, lsl #0x1e
- orr r3, r3, r4, lsr #0x1b
- eor r1, r8, r1
- add r1, r3, r1
- add r3, r1, r0
- ldr r0, _020A48BC ; =0x5A827999
- add r1, sp, #0x10
- add r3, r3, r0
- orr r10, r2, r6, lsr #0x2
- mov r0, #0x1
- add r5, r5, r3
- bl FUN_020A4988
- eor r1, r10, r9
- mov r2, r5, lsl #0x5
- and r1, r4, r1
- orr r2, r2, r5, lsr #0x1b
- eor r1, r9, r1
- add r1, r2, r1
- add r2, r1, r0
- ldr r0, _020A48BC ; =0x5A827999
- mov r1, r4, lsl #0x1e
- add r0, r2, r0
- orr r6, r1, r4, lsr #0x2
- add r8, r8, r0
- add r1, sp, #0x10
- mov r0, #0x2
- bl FUN_020A4988
- mov r1, r8, lsl #0x5
- orr r2, r1, r8, lsr #0x1b
- eor r1, r6, r10
- and r1, r5, r1
- eor r1, r10, r1
- add r1, r2, r1
- add r2, r1, r0
- ldr r0, _020A48BC ; =0x5A827999
- mov r1, r5, lsl #0x1e
- add r0, r2, r0
- orr r7, r1, r5, lsr #0x2
- add r9, r9, r0
- mov r0, #0x3
- add r1, sp, #0x10
- bl FUN_020A4988
- mov r1, r9, lsl #0x5
- orr r2, r1, r9, lsr #0x1b
- eor r1, r7, r6
- and r1, r8, r1
- eor r1, r6, r1
- add r1, r2, r1
- add r2, r1, r0
- ldr r0, _020A48BC ; =0x5A827999
- mov r1, r8, lsl #0x1e
- add r0, r2, r0
- add r10, r10, r0
- mov r0, #0x0
- ldr r4, _020A48C0 ; =0x6ED9EBA1
- orr r8, r1, r8, lsr #0x2
- mov r5, #0x4
- str r0, [sp, #0xc]
- add r11, sp, #0x10
-_020A44A8:
- mov r0, r5
- mov r1, r11
- bl FUN_020A4988
- mov r2, r10, lsl #0x5
- eor r1, r9, r8
- orr r2, r2, r10, lsr #0x1b
- eor r1, r7, r1
- add r1, r2, r1
- add r0, r1, r0
- add r1, r0, r4
- mov r0, r9, lsl #0x1e
- add r6, r6, r1
- orr r9, r0, r9, lsr #0x2
- add r0, r5, #0x1
- mov r1, r11
- bl FUN_020A4988
- mov r1, r6, lsl #0x5
- orr r2, r1, r6, lsr #0x1b
- eor r1, r10, r9
- eor r1, r8, r1
- add r1, r2, r1
- add r0, r1, r0
- add r0, r0, r4
- add r7, r7, r0
- mov r0, r10, lsl #0x1e
- orr r10, r0, r10, lsr #0x2
- add r0, r5, #0x2
- and r5, r0, #0xf
- mov r0, r5
- mov r1, r11
- bl FUN_020A4988
- mov r1, r7, lsl #0x5
- orr r2, r1, r7, lsr #0x1b
- eor r1, r6, r10
- eor r1, r9, r1
- add r1, r2, r1
- add r0, r1, r0
- add r0, r0, r4
- add r8, r8, r0
- mov r0, r6, lsl #0x1e
- orr r6, r0, r6, lsr #0x2
- add r0, r5, #0x1
- mov r1, r11
- bl FUN_020A4988
- mov r1, r8, lsl #0x5
- orr r2, r1, r8, lsr #0x1b
- eor r1, r7, r6
- eor r1, r10, r1
- add r1, r2, r1
- add r0, r1, r0
- add r0, r0, r4
- add r9, r9, r0
- mov r0, r7, lsl #0x1e
- orr r7, r0, r7, lsr #0x2
- add r0, r5, #0x2
- mov r1, r11
- bl FUN_020A4988
- mov r1, r9, lsl #0x5
- orr r2, r1, r9, lsr #0x1b
- eor r1, r8, r7
- eor r1, r6, r1
- add r1, r2, r1
- add r0, r1, r0
- add r0, r0, r4
- add r10, r10, r0
- mov r0, r8, lsl #0x1e
- orr r8, r0, r8, lsr #0x2
- ldr r0, [sp, #0xc]
- add r5, r5, #0x3
- add r0, r0, #0x1
- str r0, [sp, #0xc]
- cmp r0, #0x4
- blt _020A44A8
- mov r0, #0x0
- ldr r4, _020A48C4 ; =0x8F1BBCDC
- str r0, [sp, #0x8]
- add r11, sp, #0x10
-_020A45DC:
- mov r0, r5
- mov r1, r11
- bl FUN_020A4988
- orr r2, r8, r7
- mov r1, r10, lsl #0x5
- and r3, r9, r2
- and r2, r8, r7
- orr r1, r1, r10, lsr #0x1b
- orr r2, r3, r2
- add r1, r1, r2
- add r1, r1, r0
- mov r0, r9, lsl #0x1e
- add r1, r1, r4
- add r6, r6, r1
- orr r9, r0, r9, lsr #0x2
- add r0, r5, #0x1
- mov r1, r11
- bl FUN_020A4988
- orr r2, r9, r8
- mov r1, r6, lsl #0x5
- and r3, r10, r2
- and r2, r9, r8
- orr r1, r1, r6, lsr #0x1b
- orr r2, r3, r2
- add r1, r1, r2
- add r0, r1, r0
- add r0, r0, r4
- add r7, r7, r0
- mov r0, r10, lsl #0x1e
- orr r10, r0, r10, lsr #0x2
- add r0, r5, #0x2
- mov r1, r11
- bl FUN_020A4988
- orr r2, r10, r9
- mov r1, r7, lsl #0x5
- and r3, r6, r2
- and r2, r10, r9
- orr r1, r1, r7, lsr #0x1b
- orr r2, r3, r2
- add r1, r1, r2
- add r0, r1, r0
- add r0, r0, r4
- add r8, r8, r0
- mov r0, r6, lsl #0x1e
- orr r6, r0, r6, lsr #0x2
- add r0, r5, #0x3
- and r5, r0, #0xf
- mov r0, r5
- mov r1, r11
- bl FUN_020A4988
- orr r2, r6, r10
- mov r1, r8, lsl #0x5
- and r3, r7, r2
- and r2, r6, r10
- orr r1, r1, r8, lsr #0x1b
- orr r2, r3, r2
- add r1, r1, r2
- add r0, r1, r0
- add r0, r0, r4
- add r9, r9, r0
- mov r0, r7, lsl #0x1e
- orr r7, r0, r7, lsr #0x2
- add r0, r5, #0x1
- mov r1, r11
- bl FUN_020A4988
- orr r2, r7, r6
- mov r1, r9, lsl #0x5
- and r3, r8, r2
- and r2, r7, r6
- orr r1, r1, r9, lsr #0x1b
- orr r2, r3, r2
- add r1, r1, r2
- add r0, r1, r0
- add r0, r0, r4
- add r10, r10, r0
- mov r0, r8, lsl #0x1e
- orr r8, r0, r8, lsr #0x2
- ldr r0, [sp, #0x8]
- add r5, r5, #0x2
- add r0, r0, #0x1
- str r0, [sp, #0x8]
- cmp r0, #0x4
- blt _020A45DC
- mov r0, #0x0
- ldr r4, _020A48C8 ; =0xCA62C1D6
- str r0, [sp, #0x4]
- add r11, sp, #0x10
-_020A4738:
- mov r0, r5
- mov r1, r11
- bl FUN_020A4988
- mov r2, r10, lsl #0x5
- eor r1, r9, r8
- orr r2, r2, r10, lsr #0x1b
- eor r1, r7, r1
- add r1, r2, r1
- add r0, r1, r0
- add r1, r0, r4
- mov r0, r9, lsl #0x1e
- add r6, r6, r1
- orr r9, r0, r9, lsr #0x2
- add r0, r5, #0x1
- mov r1, r11
- bl FUN_020A4988
- mov r1, r6, lsl #0x5
- orr r2, r1, r6, lsr #0x1b
- eor r1, r10, r9
- eor r1, r8, r1
- add r1, r2, r1
- add r0, r1, r0
- add r0, r0, r4
- add r7, r7, r0
- mov r0, r10, lsl #0x1e
- orr r10, r0, r10, lsr #0x2
- add r0, r5, #0x2
- mov r1, r11
- bl FUN_020A4988
- mov r1, r7, lsl #0x5
- orr r2, r1, r7, lsr #0x1b
- eor r1, r6, r10
- eor r1, r9, r1
- add r1, r2, r1
- add r0, r1, r0
- add r0, r0, r4
- add r8, r8, r0
- mov r0, r6, lsl #0x1e
- orr r6, r0, r6, lsr #0x2
- add r0, r5, #0x3
- mov r1, r11
- bl FUN_020A4988
- mov r1, r8, lsl #0x5
- orr r2, r1, r8, lsr #0x1b
- eor r1, r7, r6
- eor r1, r10, r1
- add r1, r2, r1
- add r0, r1, r0
- add r0, r0, r4
- add r9, r9, r0
- mov r0, r7, lsl #0x1e
- orr r7, r0, r7, lsr #0x2
- add r0, r5, #0x4
- and r5, r0, #0xf
- mov r0, r5
- mov r1, r11
- bl FUN_020A4988
- mov r1, r9, lsl #0x5
- orr r2, r1, r9, lsr #0x1b
- eor r1, r8, r7
- eor r1, r6, r1
- add r1, r2, r1
- add r0, r1, r0
- add r0, r0, r4
- add r10, r10, r0
- mov r0, r8, lsl #0x1e
- orr r8, r0, r8, lsr #0x2
- ldr r0, [sp, #0x4]
- add r5, r5, #0x1
- add r0, r0, #0x1
- str r0, [sp, #0x4]
- cmp r0, #0x4
- blt _020A4738
- ldr r0, [sp, #0x0]
- ldr r0, [r0, #0x0]
- add r1, r0, r10
- ldr r0, [sp, #0x0]
- str r1, [r0, #0x0]
- ldr r0, [r0, #0x4]
- add r1, r0, r9
- ldr r0, [sp, #0x0]
- str r1, [r0, #0x4]
- ldr r0, [r0, #0x8]
- add r1, r0, r8
- ldr r0, [sp, #0x0]
- str r1, [r0, #0x8]
- ldr r0, [r0, #0xc]
- add r1, r0, r7
- ldr r0, [sp, #0x0]
- str r1, [r0, #0xc]
- ldr r0, [r0, #0x10]
- add r1, r0, r6
- ldr r0, [sp, #0x0]
- str r1, [r0, #0x10]
- add sp, sp, #0x54
- ldmia sp!, {r4-r11,lr}
- bx lr
- .balign 4
-_020A48BC: .word 0x5A827999
-_020A48C0: .word 0x6ED9EBA1
-_020A48C4: .word 0x8F1BBCDC
-_020A48C8: .word 0xCA62C1D6
-
- arm_func_start FUN_020A48CC
-FUN_020A48CC: ; 0x020A48CC
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- cmp r2, #0x0
- addls sp, sp, #0x4
- mov r3, #0x0
- ldmlsia sp!, {r4-r5,lr}
- bxls lr
-_020A48E8:
- add r12, r3, #0x1
- ldrb lr, [r1, r3]
- add r4, r3, #0x2
- add r5, r3, #0x3
- ldrb r12, [r1, r12]
- mov lr, lr, lsl #0x18
- add r3, r3, #0x4
- ldrb r4, [r1, r4]
- orr r12, lr, r12, lsl #0x10
- ldrb lr, [r1, r5]
- orr r4, r12, r4, lsl #0x8
- cmp r3, r2
- orr r4, lr, r4
- str r4, [r0], #0x4
- blo _020A48E8
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
-
- arm_func_start FUN_020A4930
-FUN_020A4930: ; 0x020A4930
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- movs r12, r2, lsr #0x2
- mov lr, #0x0
- addeq sp, sp, #0x4
- ldmeqia sp!, {lr}
- bxeq lr
-_020A494C:
- ldr r3, [r1], #0x4
- add lr, lr, #0x1
- mov r2, r3, lsr #0x18
- strb r2, [r0, #0x0]
- mov r2, r3, lsr #0x10
- strb r2, [r0, #0x1]
- mov r2, r3, lsr #0x8
- strb r2, [r0, #0x2]
- strb r3, [r0, #0x3]
- cmp lr, r12
- add r0, r0, #0x4
- blo _020A494C
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-
- arm_func_start FUN_020A4988
-FUN_020A4988: ; 0x020A4988
- add r2, r0, #0xd
- add r12, r0, #0x2
- and r3, r2, #0xf
- eor r2, r0, #0x8
- and r12, r12, #0xf
- ldr r3, [r1, r3, lsl #0x2]
- ldr r2, [r1, r2, lsl #0x2]
- ldr r12, [r1, r12, lsl #0x2]
- eor r2, r3, r2
- ldr r3, [r1, r0, lsl #0x2]
- eor r2, r12, r2
- eor r3, r3, r2
- mov r2, r3, lsl #0x1
- orr r2, r2, r3, lsr #0x1f
- str r2, [r1, r0, lsl #0x2]
- ldr r0, [r1, r0, lsl #0x2]
- bx lr
-
- arm_func_start FUN_020A49CC
-FUN_020A49CC: ; 0x020A49CC
- stmdb sp!, {r4-r6,lr}
- cmp r2, #0x0
- add r3, r0, #0x2
- ldrb lr, [r0, #0x0]
- ldrb r12, [r0, #0x1]
- mov r4, #0x0
- ble _020A4A2C
-_020A49E8:
- add r5, lr, #0x1
- and lr, r5, #0xff
- ldrb r6, [r3, lr]
- add r5, r12, r6
- and r12, r5, #0xff
- ldrb r5, [r3, r12]
- strb r5, [r3, lr]
- add r5, r6, r5
- strb r6, [r3, r12]
- and r5, r5, #0xff
- ldrb r6, [r1, r4]
- ldrb r5, [r3, r5]
- eor r5, r6, r5
- strb r5, [r1, r4]
- add r4, r4, #0x1
- cmp r4, r2
- blt _020A49E8
-_020A4A2C:
- strb lr, [r0, #0x0]
- strb r12, [r0, #0x1]
- ldmia sp!, {r4-r6,lr}
- bx lr
-
- arm_func_start FUN_020A4A3C
-FUN_020A4A3C: ; 0x020A4A3C
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- mov r3, #0x0
- strb r3, [r0, #0x0]
- strb r3, [r0, #0x1]
- add r7, r0, #0x2
-_020A4A54:
- strb r3, [r7, r3]
- add r3, r3, #0x1
- cmp r3, #0x100
- blt _020A4A54
- mov r5, #0x0
- mov r6, r5
- mov r4, r5
- mov r0, r5
-_020A4A74:
- ldrb lr, [r7, r4]
- ldrb r12, [r1, r5]
- add r3, r5, #0x1
- and r5, r3, #0xff
- add r3, lr, r12
- add r3, r6, r3
- and r6, r3, #0xff
- ldrb r3, [r7, r6]
- cmp r5, r2
- movge r5, r0
- strb r3, [r7, r4]
- add r4, r4, #0x1
- strb lr, [r7, r6]
- cmp r4, #0x100
- blt _020A4A74
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,lr}
- bx lr
-
- arm_func_start FUN_020A4ABC
-FUN_020A4ABC: ; 0x020A4ABC
- ldrh r1, [r0, #0x0]
- mov r0, #0x0
- bx lr
-
- arm_func_start FUN_020A4AC8
-FUN_020A4AC8: ; 0x020A4AC8
- ldrh r1, [r0, #0x0]
- ldrh r0, [r0, #-0x2]
- mov r0, r0, lsl #0x10
- bx lr
-
- arm_func_start FUN_020A4AD8
-FUN_020A4AD8: ; 0x020A4AD8
- ldrh r1, [r0, #0x0]
- ldrh r2, [r0, #-0x2]
- ldrh r3, [r0, #-0x4]
- orr r0, r3, r2, lsl #0x10
- bx lr
-
- arm_func_start FUN_020A4AEC
-FUN_020A4AEC: ; 0x020A4AEC
- ldrh r2, [r0, #0x0]
- ldrh r3, [r0, #-0x2]
- orr r1, r3, r2, lsl #0x10
- ldrh r2, [r0, #-0x4]
- ldrh r3, [r0, #-0x6]
- orr r0, r3, r2, lsl #0x10
- bx lr
-
- arm_func_start FUN_020A4B08
-FUN_020A4B08: ; 0x020A4B08
- sub r3, r2, #0x1
- cmp r2, #0x1
- add r0, r0, r3
- ble _020A4B40
-_020A4B18:
- ldrh r3, [r1, #0x0]
- sub r2, r2, #0x2
- sub r12, r0, #0x1
- strb r3, [r0, #0x0]
- ldrh r3, [r1], #0x2
- cmp r2, #0x1
- sub r0, r0, #0x2
- mov r3, r3, asr #0x8
- strb r3, [r12, #0x0]
- bgt _020A4B18
-_020A4B40:
- cmp r2, #0x0
- ldrgth r1, [r1, #0x0]
- strgtb r1, [r0, #0x0]
- bx lr
-
- arm_func_start FUN_020A4B50
-FUN_020A4B50: ; 0x020A4B50
- stmdb sp!, {r4-r6,lr}
- mov r6, r1
- mov r5, r2
- mov r2, r3, lsl #0x1
- mov r1, #0x0
- mov r4, r0
- bl MI_CpuFill8
- sub r0, r5, #0x1
- cmp r5, #0x1
- add r6, r6, r0
- ble _020A4B9C
-_020A4B7C:
- ldrb r1, [r6, #0x0]
- ldrb r0, [r6, #-0x1]
- sub r5, r5, #0x2
- cmp r5, #0x1
- add r0, r1, r0, lsl #0x8
- strh r0, [r4], #0x2
- sub r6, r6, #0x2
- bgt _020A4B7C
-_020A4B9C:
- cmp r5, #0x0
- ldrgtb r0, [r6, #0x0]
- strgth r0, [r4, #0x0]
- ldmia sp!, {r4-r6,lr}
- bx lr
-
- arm_func_start FUN_020A4BB0
-FUN_020A4BB0: ; 0x020A4BB0
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0x34
- mov r10, r3
- mov r3, #0x16
- mul r4, r10, r3
- ldr r3, _020A4DE0 ; =0x021C8EC8
- mov r11, r0
- ldr r3, [r3, #0x0]
- mov r0, r4
- ldr r9, [sp, #0x58]
- str r1, [sp, #0x14]
- str r2, [sp, #0x18]
- blx r3
- str r0, [sp, #0x1c]
- cmp r0, #0x0
- addeq sp, sp, #0x34
- ldmeqia sp!, {r4-r11,lr}
- bxeq lr
- mov r2, r4
- mov r1, #0x0
- bl MI_CpuFill8
- ldr r0, [sp, #0x1c]
- mov r1, r10
- add r6, r0, r10, lsl #0x1
- add r0, r6, r10, lsl #0x1
- add r5, r0, r10, lsl #0x1
- add r4, r5, r10, lsl #0x1
- str r0, [sp, #0x20]
- add r0, r4, r10, lsl #0x1
- str r0, [sp, #0x24]
- add r7, r0, r10, lsl #0x1
- mov r0, r9
- bl thunk_FUN_020a5a28
- mov r8, r0
- ldr r0, [sp, #0x1c]
- mov r2, #0x1
- mov r1, r8, lsl #0x1
- strh r2, [r0, r1]
- ldr r0, [sp, #0x20]
- ldr r1, [sp, #0x1c]
- str r0, [sp, #0x0]
- mov r0, r6
- mov r2, r9
- mov r3, r10
- bl FUN_020A4F2C
- ldr r1, [sp, #0x1c]
- mov r0, r5
- mov r2, r6
- mov r3, r10
- bl FUN_020A5608
- mov r0, r6
- mov r1, r5
- mov r2, #0x1
- mov r3, r10
- bl FUN_020A5748
- str r10, [sp, #0x0]
- mov r0, r6
- mov r1, r6
- mov r2, r9
- mov r3, #0x0
- str r7, [sp, #0x4]
- bl FUN_020A5240
- ldr r1, [sp, #0x14]
- ldr r0, [sp, #0x20]
- ldr r2, [sp, #0x1c]
- mov r3, r10
- bl FUN_020A5608
- ldr r1, [sp, #0x20]
- str r10, [sp, #0x0]
- mov r0, #0x0
- mov r2, r9
- mov r3, r1
- str r7, [sp, #0x4]
- bl FUN_020A5240
- str r10, [sp, #0x0]
- ldr r1, [sp, #0x1c]
- mov r0, #0x0
- mov r2, r9
- mov r3, r11
- str r7, [sp, #0x4]
- bl FUN_020A5240
- movs r0, r8, lsl #0x4
- mov r7, #0x0
- str r0, [sp, #0x28]
- beq _020A4D9C
- mov r0, #0x1
- str r0, [sp, #0x2c]
- mov r0, #0x8000
- str r0, [sp, #0x30]
-_020A4D14:
- str r8, [sp, #0x0]
- str r9, [sp, #0x4]
- str r6, [sp, #0x8]
- str r5, [sp, #0xc]
- ldr r1, [sp, #0x24]
- ldr r2, [sp, #0x2c]
- mov r0, r11
- mov r3, r10
- str r4, [sp, #0x10]
- bl FUN_020A4DE8
- ldr r0, [sp, #0x30]
- and r1, r7, #0xf
- mov r0, r0, lsr r1
- sub r1, r8, r7, asr #0x4
- sub r1, r1, #0x1
- mov r2, r1, lsl #0x1
- ldr r1, [sp, #0x18]
- ldrh r1, [r1, r2]
- ands r0, r0, r1
- beq _020A4D8C
- str r8, [sp, #0x0]
- str r9, [sp, #0x4]
- str r6, [sp, #0x8]
- str r5, [sp, #0xc]
- ldr r1, [sp, #0x24]
- ldr r2, [sp, #0x20]
- mov r0, r11
- mov r3, r10
- str r4, [sp, #0x10]
- bl FUN_020A4DE8
-_020A4D8C:
- ldr r0, [sp, #0x28]
- add r7, r7, #0x1
- cmp r7, r0
- blo _020A4D14
-_020A4D9C:
- str r8, [sp, #0x0]
- str r9, [sp, #0x4]
- str r6, [sp, #0x8]
- str r5, [sp, #0xc]
- ldr r1, [sp, #0x24]
- mov r0, r11
- mov r3, r10
- mov r2, #0x0
- str r4, [sp, #0x10]
- bl FUN_020A4DE8
- ldr r1, _020A4DE4 ; =0x021C8EF4
- ldr r0, [sp, #0x1c]
- ldr r1, [r1, #0x0]
- blx r1
- add sp, sp, #0x34
- ldmia sp!, {r4-r11,lr}
- bx lr
- .balign 4
-_020A4DE0: .word 0x021C8EC8
-_020A4DE4: .word 0x021C8EF4
-
- arm_func_start FUN_020A4DE8
-FUN_020A4DE8: ; 0x020A4DE8
- stmdb sp!, {r4-r9,lr}
- sub sp, sp, #0x4
- mov r5, r3
- mov r7, r5, lsl #0x1
- mov r8, r2
- mov r2, r7
- mov r6, r0
- mov r9, r1
- ldr r4, [sp, #0x20]
- bl MI_CpuCopy8
- cmp r8, #0x1
- bne _020A4E2C
- mov r0, r6
- mov r1, r9
- mov r2, r5
- bl FUN_020A5438
- b _020A4E48
-_020A4E2C:
- cmp r8, #0x0
- beq _020A4E48
- mov r0, r6
- mov r1, r9
- mov r2, r8
- mov r3, r5
- bl FUN_020A5608
-_020A4E48:
- ldr r0, [sp, #0x2c]
- ldr r2, [sp, #0x28]
- mov r1, r6
- mov r3, r4
- bl FUN_020A5608
- sub r1, r5, r4
- ldr r0, [sp, #0x2c]
- mov r8, r1, lsl #0x1
- mov r2, r8
- add r0, r0, r4, lsl #0x1
- mov r1, #0x0
- bl MI_CpuFill8
- ldr r0, [sp, #0x30]
- ldr r1, [sp, #0x2c]
- ldr r2, [sp, #0x24]
- mov r3, r5
- bl FUN_020A5608
- mov r0, r6
- mov r1, r6
- ldr r2, [sp, #0x30]
- mov r3, r5
- bl FUN_020A5930
- mov r2, r8
- mov r0, r6
- add r1, r6, r4, lsl #0x1
- bl memmove
- add r0, r6, r5, lsl #0x1
- sub r0, r0, r4, lsl #0x1
- mov r2, r4, lsl #0x1
- mov r1, #0x0
- bl MI_CpuFill8
- mov r0, r6
- ldr r1, [sp, #0x24]
- mov r2, r5
- bl FUN_020A570C
-_020A4ED4: ; 0x020A4ED4
- cmp r0, #0x0
- beq _020A4EF0
- cmp r0, #0x1
- beq _020A4F0C
- add sp, sp, #0x4
- ldmia sp!, {r4-r9,lr}
- bx lr
-_020A4EF0:
- mov r0, r6
- mov r2, r7
- mov r1, #0x0
- bl MI_CpuFill8
- add sp, sp, #0x4
- ldmia sp!, {r4-r9,lr}
- bx lr
-_020A4F0C:
- ldr r2, [sp, #0x24]
- mov r0, r6
- mov r1, r6
- mov r3, r5
- bl FUN_020A57BC
- add sp, sp, #0x4
- ldmia sp!, {r4-r9,lr}
- bx lr
-
- arm_func_start FUN_020A4F2C
-FUN_020A4F2C: ; 0x020A4F2C
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0x14
- ldr r9, [sp, #0x38]
- mov r10, r3
- add r11, r9, r10, lsl #0x1
- add r8, r11, r10, lsl #0x1
- add r7, r8, r10, lsl #0x1
- add r6, r7, r10, lsl #0x1
- add r5, r6, r10, lsl #0x1
- str r0, [sp, #0x8]
- mov r0, r1
- add r1, r5, r10, lsl #0x1
- str r1, [sp, #0x10]
- mov r4, r10, lsl #0x1
- str r2, [sp, #0xc]
- mov r1, r9
- mov r2, r4
- bl MI_CpuCopy8
- ldr r0, [sp, #0xc]
- mov r1, r8
- mov r2, r4
- bl MI_CpuCopy8
- mov r0, #0x1
- strh r0, [r8, r4]
- mov r0, r9
- mov r1, r10
- bl FUN_020A59DC
-_020A4F98: ; 0x020A4F98
- cmp r0, #0x0
- ble _020A503C
-_020A4FA0:
- ldr r3, [sp, #0x10]
- str r10, [sp, #0x0]
- str r3, [sp, #0x4]
- mov r0, r11
- mov r1, r8
- mov r2, r9
- mov r3, r5
- bl FUN_020A5240
- mov r0, r9
- mov r1, r8
- mov r2, r4
- bl MI_CpuCopy8
- mov r0, r5
- mov r1, r9
- mov r2, r4
- bl MI_CpuCopy8
- mov r0, r5
- mov r1, r11
- mov r2, r7
- mov r3, r10
- bl FUN_020A5608
- mov r0, r5
- mov r1, r6
- mov r2, r5
- mov r3, r10
- bl FUN_020A57BC
- mov r0, r7
- mov r1, r6
- mov r2, r4
- bl MI_CpuCopy8
- mov r0, r5
- mov r1, r7
- mov r2, r4
- bl MI_CpuCopy8
- mov r0, r9
- mov r1, r10
- bl FUN_020A59DC
-_020A5034: ; 0x020A5034
- cmp r0, #0x0
- bgt _020A4FA0
-_020A503C:
- ldr r2, [sp, #0xc]
- mov r0, r6
- mov r1, r6
- mov r3, r10
- bl FUN_020A5930
- ldr r2, [sp, #0xc]
- ldr r3, [sp, #0x8]
- ldr r4, [sp, #0x10]
- str r10, [sp, #0x0]
- mov r1, r6
- mov r0, #0x0
- str r4, [sp, #0x4]
- bl FUN_020A5240
- add sp, sp, #0x14
- ldmia sp!, {r4-r11,lr}
- bx lr
-
- arm_func_start FUN_020A507C
-FUN_020A507C: ; 0x020A507C
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0x1c
- ldr r4, _020A5238 ; =0x021C8EC8
- mov r8, r3
- ldr r3, [r4, #0x0]
- mov r10, r0
- mov r0, r8, lsl #0x3
- ldr r7, [sp, #0x40]
- str r1, [sp, #0x8]
- mov r9, r2
- blx r3
- movs r6, r0
- addeq sp, sp, #0x1c
- ldmeqia sp!, {r4-r11,lr}
- bxeq lr
- sub r1, r8, #0x1
- add r0, r10, #0x2
- mov r2, r1, lsl #0x1
- mov r1, #0x0
- add r11, r6, r8, lsl #0x1
- bl MI_CpuFill8
- mov r2, #0x1
- mov r0, r9
- mov r1, r8
- strh r2, [r10, #0x0]
- bl thunk_FUN_020a5a28
-_020A50E4: ; 0x020A50E4
- sub r0, r8, r0
- mov r5, r0, lsl #0x4
- mov r4, r8, lsl #0x4
- cmp r5, r4
- bhs _020A5140
- mov r0, #0x8000
-_020A50FC:
- sub r1, r8, r5, asr #0x4
- sub r1, r1, #0x1
- mov r1, r1, lsl #0x1
- and r2, r5, #0xf
- ldrh r1, [r9, r1]
- mov r2, r0, lsr r2
- ands r1, r2, r1
- beq _020A5134
- ldr r0, [sp, #0x8]
- mov r1, r10
- mov r2, r8, lsl #0x1
- bl MI_CpuCopy8
- add r5, r5, #0x1
- b _020A5140
-_020A5134:
- add r5, r5, #0x1
- cmp r5, r4
- blo _020A50FC
-_020A5140:
- cmp r5, r4
- bhs _020A521C
- mov r0, r8, lsl #0x1
- str r0, [sp, #0xc]
- mov r0, #0x0
- str r0, [sp, #0x10]
- mov r0, #0x8000
- str r0, [sp, #0x14]
-_020A5160:
- mov r0, r6
- mov r1, r10
- mov r2, r8
- bl FUN_020A5438
- ldr r2, [sp, #0xc]
- mov r0, r6
- mov r1, r10
- bl MI_CpuCopy8
-_020A5180: ; 0x020A5180
- cmp r7, #0x0
- beq _020A51A4
- ldr r0, [sp, #0x10]
- str r8, [sp, #0x0]
- mov r1, r10
- mov r2, r7
- mov r3, r10
- str r11, [sp, #0x4]
- bl FUN_020A5240
-_020A51A4:
- sub r0, r8, r5, asr #0x4
- sub r0, r0, #0x1
- mov r1, r0, lsl #0x1
- ldr r0, [sp, #0x14]
- and r2, r5, #0xf
- mov r2, r0, lsr r2
- ldrh r0, [r9, r1]
- ands r0, r2, r0
- beq _020A5210
- ldr r2, [sp, #0x8]
- mov r0, r6
- mov r1, r10
- mov r3, r8
- bl FUN_020A5608
- ldr r2, [sp, #0xc]
- mov r0, r6
- mov r1, r10
- bl MI_CpuCopy8
-_020A51EC: ; 0x020A51EC
- cmp r7, #0x0
- beq _020A5210
- ldr r0, [sp, #0x10]
- str r8, [sp, #0x0]
- mov r1, r10
- mov r2, r7
- mov r3, r10
- str r11, [sp, #0x4]
- bl FUN_020A5240
-_020A5210:
- add r5, r5, #0x1
- cmp r5, r4
- blo _020A5160
-_020A521C:
- ldr r1, _020A523C ; =0x021C8EF4
- mov r0, r6
- ldr r1, [r1, #0x0]
- blx r1
- add sp, sp, #0x1c
- ldmia sp!, {r4-r11,lr}
- bx lr
- .balign 4
-_020A5238: .word 0x021C8EC8
-_020A523C: .word 0x021C8EF4
-
- arm_func_start FUN_020A5240
-FUN_020A5240: ; 0x020A5240
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0x24
- ldr r9, [sp, #0x48]
- ldr r6, [sp, #0x4c]
- str r1, [sp, #0x4]
- add r5, r6, r9, lsl #0x1
- str r0, [sp, #0x0]
- mov r10, r2
- mov r0, r5
- mov r2, r9, lsl #0x2
- mov r1, #0x0
- str r3, [sp, #0x8]
- add r4, r5, r9, lsl #0x1
- bl MI_CpuFill8
- ldr r0, [sp, #0x4]
- mov r1, r9
- bl thunk_FUN_020a5a28
- mov r11, r0
- mov r0, r10
- mov r1, r9
- bl thunk_FUN_020a5a28
- mov r7, r0
- cmp r11, #0x0
- ble _020A53E8
- cmp r7, #0x0
- ble _020A53E8
- sub r0, r9, r11
- add r0, r7, r0
- sub r8, r0, #0x1
- cmp r8, r9
- blt _020A52D0
- ldr r0, [sp, #0x4]
- mov r1, r4
- mov r2, r9, lsl #0x1
- bl MI_CpuCopy8
- b _020A53E8
-_020A52D0:
- ldr r0, [sp, #0x4]
- add r1, r5, r8, lsl #0x1
- mov r2, r11, lsl #0x1
- bl MI_CpuCopy8
- cmp r7, #0x2
- ble _020A5304
- add r0, r10, r7, lsl #0x1
- sub r0, r0, #0x2
- mov r7, r7, lsl #0x1
- bl FUN_020A4AD8
- str r0, [sp, #0x14]
- str r1, [sp, #0x10]
- b _020A5340
-_020A5304:
- cmp r7, #0x1
- ble _020A5328
- add r0, r10, r7, lsl #0x1
- sub r0, r0, #0x2
- mov r7, r7, lsl #0x1
- bl FUN_020A4AC8
- str r0, [sp, #0x14]
- str r1, [sp, #0x10]
- b _020A5340
-_020A5328:
- add r0, r10, r7, lsl #0x1
- sub r0, r0, #0x2
- mov r7, r7, lsl #0x1
- bl FUN_020A4ABC
- str r0, [sp, #0x14]
- str r1, [sp, #0x10]
-_020A5340:
- cmp r8, r9
- bge _020A53E8
- mov r0, r9, lsl #0x1
- sub r0, r0, #0x1
- mov r11, r0, lsl #0x1
- add r0, r4, r7
- str r0, [sp, #0x1c]
-_020A535C:
- mov r1, r5
- add r0, r5, #0x2
- mov r2, r11
- bl memmove
- ldr r0, [sp, #0x1c]
- bl FUN_020A4AEC
- ldr r2, [sp, #0x14]
- ldr r3, [sp, #0x10]
- bl _ll_udiv
- mov r7, r0
- ldr r0, _020A5434 ; =0x0000FFFF
- cmp r7, r0
- movhi r7, r0
-_020A5390:
- mov r2, r7, lsl #0x10
- mov r0, r6
- mov r1, r10
- mov r2, r2, lsr #0x10
- mov r3, r9
- bl FUN_020A5584
- mov r0, r4
- mov r1, r6
- mov r2, r9
- bl FUN_020A570C
-_020A53B8: ; 0x020A53B8
- cmp r0, #0x0
- sublt r7, r7, #0x1
- blt _020A5390
- mov r0, r4
- mov r1, r4
- mov r2, r6
- mov r3, r9
- bl FUN_020A57BC
- strh r7, [r5, #0x0]
- add r8, r8, #0x1
- cmp r8, r9
- blt _020A535C
-_020A53E8:
- ldr r0, [sp, #0x0]
- cmp r0, #0x0
- beq _020A5404
- ldr r1, [sp, #0x0]
- mov r0, r5
- mov r2, r9, lsl #0x1
- bl MI_CpuCopy8
-_020A5404:
- ldr r0, [sp, #0x8]
- cmp r0, #0x0
- addeq sp, sp, #0x24
- ldmeqia sp!, {r4-r11,lr}
- bxeq lr
- ldr r1, [sp, #0x8]
- mov r0, r4
- mov r2, r9, lsl #0x1
- bl MI_CpuCopy8
- add sp, sp, #0x24
- ldmia sp!, {r4-r11,lr}
- bx lr
- .balign 4
-_020A5434: .word 0x0000FFFF
-
- arm_func_start FUN_020A5438
-FUN_020A5438: ; 0x020A5438
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0x4
- mov r9, r1
- mov r8, r2
- mov r10, r0
- mov r0, r9
- mov r1, r8
- bl thunk_FUN_020a5a28
- mov r11, r0
- mov r0, r11, lsl #0x1
- cmp r0, r8
- bge _020A547C
- sub r1, r8, r0
- add r0, r10, r0, lsl #0x1
- mov r2, r1, lsl #0x1
- mov r1, #0x0
- bl MI_CpuFill8
-_020A547C:
- cmp r11, #0x0
- mov r1, #0x0
- ble _020A54D4
- mov r0, r1
- sub r4, r8, #0x1
-_020A5490:
- cmp r0, r8
- bge _020A54D4
- mov r2, r1, lsl #0x1
- ldrh r5, [r9, r2]
- mov r2, r0, lsl #0x1
- cmp r0, r4
- mul r3, r5, r5
- strh r3, [r10, r2]
- beq _020A54D4
- add r2, r0, #0x1
- add r1, r1, #0x1
- mov r3, r3, lsr #0x10
- mov r2, r2, lsl #0x1
- strh r3, [r10, r2]
- cmp r1, r11
- add r0, r0, #0x2
- blt _020A5490
-_020A54D4:
- cmp r11, #0x0
- mov r6, #0x0
- addle sp, sp, #0x4
- ldmleia sp!, {r4-r11,lr}
- bxle lr
-_020A54E8:
- add r7, r6, #0x1
- b _020A5554
-_020A54F0:
- mov r1, r7, lsl #0x1
- mov r0, r6, lsl #0x1
- ldrh r1, [r9, r1]
- ldrh r0, [r9, r0]
- mul r4, r1, r0
- ldr r0, _020A5580 ; =0x7FFF8000
- cmp r4, r0
- bhi _020A5528
- mov r0, r10
- mov r2, r5
- mov r3, r8
- mov r1, r4, lsl #0x1
- bl FUN_020A56C4
- b _020A5550
-_020A5528:
- mov r0, r10
- mov r1, r4
- mov r2, r5
- mov r3, r8
- bl FUN_020A56C4
- mov r0, r10
- mov r1, r4
- mov r2, r5
- mov r3, r8
- bl FUN_020A56C4
-_020A5550:
- add r7, r7, #0x1
-_020A5554:
- cmp r7, r11
- bge _020A5568
- add r5, r6, r7
- cmp r5, r8
- blt _020A54F0
-_020A5568:
- add r6, r6, #0x1
- cmp r6, r11
- blt _020A54E8
- add sp, sp, #0x4
- ldmia sp!, {r4-r11,lr}
- bx lr
- .balign 4
-_020A5580: .word 0x7FFF8000
-
- arm_func_start FUN_020A5584
-FUN_020A5584: ; 0x020A5584
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- mov r6, r1
- mov r4, r3
- mov r7, r0
- mov r0, r6
- mov r1, r4
- mov r5, r2
- bl thunk_FUN_020a5a28
- mov r3, #0x0
- mov r12, r3
- cmp r0, #0x0
- ble _020A55D8
-_020A55B8:
- mov r2, r12, lsl #0x1
- ldrh r1, [r6, r2]
- add r12, r12, #0x1
- cmp r12, r0
- mla r1, r5, r1, r3
- strh r1, [r7, r2]
- mov r3, r1, lsr #0x10
- blt _020A55B8
-_020A55D8:
- cmp r12, r4
- movlt r0, r12, lsl #0x1
- addlt r12, r12, #0x1
- sub r1, r4, r12
- strlth r3, [r7, r0]
- mov r2, r1, lsl #0x1
- add r0, r7, r12, lsl #0x1
- mov r1, #0x0
- bl MI_CpuFill8
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,lr}
- bx lr
-
- arm_func_start FUN_020A5608
-FUN_020A5608: ; 0x020A5608
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0xc
- mov r8, r3
- mov r10, r1
- mov r9, r2
- mov r2, r8, lsl #0x1
- mov r1, #0x0
- mov r11, r0
- bl MI_CpuFill8
- mov r0, r10
- mov r1, r8
- bl thunk_FUN_020a5a28
- mov r5, r0
- mov r0, r9
- mov r1, r8
- bl thunk_FUN_020a5a28
-_020A5648: ; 0x020A5648
- str r0, [sp, #0x0]
- cmp r0, #0x0
- mov r7, #0x0
- addle sp, sp, #0xc
- ldmleia sp!, {r4-r11,lr}
- bxle lr
- str r7, [sp, #0x4]
-_020A5664:
- ldr r6, [sp, #0x4]
- sub r4, r8, r7
- b _020A5698
-_020A5670:
- mov r1, r6, lsl #0x1
- mov r0, r7, lsl #0x1
- ldrh r2, [r10, r1]
- ldrh r1, [r9, r0]
- mov r0, r11
- mov r3, r8
- mul r1, r2, r1
- add r2, r7, r6
- bl FUN_020A56C4
- add r6, r6, #0x1
-_020A5698:
- cmp r6, r5
- bge _020A56A8
- cmp r6, r4
- blt _020A5670
-_020A56A8:
- ldr r0, [sp, #0x0]
- add r7, r7, #0x1
- cmp r7, r0
- blt _020A5664
- add sp, sp, #0xc
- ldmia sp!, {r4-r11,lr}
- bx lr
-
- arm_func_start FUN_020A56C4
-FUN_020A56C4: ; 0x020A56C4
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- b _020A56E8
-_020A56D0:
- mov lr, r2, lsl #0x1
- ldrh r12, [r0, lr]
- add r2, r2, #0x1
- add r1, r1, r12
- strh r1, [r0, lr]
- mov r1, r1, lsr #0x10
-_020A56E8:
- cmp r1, #0x0
- addeq sp, sp, #0x4
- ldmeqia sp!, {lr}
- bxeq lr
- cmp r2, r3
- blt _020A56D0
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-
- arm_func_start FUN_020A570C
-FUN_020A570C:
- subs r12, r2, #0x1
- bmi _020A5740
-_020A5714:
- mov r2, r12, lsl #0x1
- ldrh r3, [r1, r2]
- ldrh r2, [r0, r2]
- cmp r2, r3
- movhi r0, #0x1
- bxhi lr
- cmp r2, r3
- mvncc r0, #0x0
- bxcc lr
- subs r12, r12, #0x1
- bpl _020A5714
-_020A5740:
- mov r0, #0x0
- bx lr
-
- arm_func_start FUN_020A5748
-FUN_020A5748: ; 0x020A5748
- stmdb sp!, {r4,lr}
- cmp r3, #0x0
- mov r4, #0x0
- ble _020A5780
-_020A5758:
- mov lr, r4, lsl #0x1
- ldrh r12, [r1, lr]
- sub r12, r12, r2
- mov r2, r12, lsr #0x10
- strh r12, [r0, lr]
- ands r2, r2, #0x1
- beq _020A5780
- add r4, r4, #0x1
- cmp r4, r3
- blt _020A5758
-_020A5780:
- cmp r0, r1
- ldmeqia sp!, {r4,lr}
- bxeq lr
- add r4, r4, #0x1
- cmp r4, r3
- ldmgeia sp!, {r4,lr}
- bxge lr
-_020A579C:
- mov r12, r4, lsl #0x1
- ldrh r2, [r1, r12]
- add r4, r4, #0x1
- cmp r4, r3
- strh r2, [r0, r12]
- blt _020A579C
- ldmia sp!, {r4,lr}
- bx lr
-
- arm_func_start FUN_020A57BC
-FUN_020A57BC: ; 0x020A57BC
- stmdb sp!, {r4-r8,lr}
- mov r7, r1
- mov r5, r3
- mov r8, r0
- mov r6, r2
- mov r0, r7
- mov r1, r5
- bl thunk_FUN_020a5a28
- mov r4, r0
- mov r0, r6
- mov r1, r5
- bl thunk_FUN_020a5a28
-_020A57EC: ; 0x020A57EC
- cmp r4, r0
- movlt r4, r0
- mov r3, #0x0
- cmp r4, r5
- addne r4, r4, #0x1
- mov r12, r3
- b _020A5828
-_020A5808:
- mov r2, r12, lsl #0x1
- ldrh r1, [r7, r2]
- ldrh r0, [r6, r2]
- add r12, r12, #0x1
- sub r0, r1, r0
- add r0, r3, r0
- strh r0, [r8, r2]
- mov r3, r0, asr #0x10
-_020A5828:
- cmp r12, r4
- blt _020A5808
- cmp r12, r5
- bge _020A5840
- cmp r3, #0x0
- bne _020A5808
-_020A5840:
- cmp r8, r7
- ldmeqia sp!, {r4-r8,lr}
- bxeq lr
- cmp r8, r6
- ldmeqia sp!, {r4-r8,lr}
- bxeq lr
- sub r1, r5, r12
- add r0, r8, r12, lsl #0x1
- mov r2, r1, lsl #0x1
- mov r1, #0x0
- bl MI_CpuFill8
- ldmia sp!, {r4-r8,lr}
- bx lr
-
- arm_func_start FUN_020A5874
-FUN_020A5874: ; 0x020A5874
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- mov r3, r1
- cmp r3, #0x0
- mov r12, #0x0
- ble _020A58A8
-_020A588C:
- mov r2, r12, lsl #0x1
- ldrh r1, [r0, r2]
- add r12, r12, #0x1
- cmp r12, r3
- mvn r1, r1
- strh r1, [r0, r2]
- blt _020A588C
-_020A58A8:
- mov r1, r0
- mov r2, #0x1
- bl FUN_020A58C0
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-
- arm_func_start FUN_020A58C0
-FUN_020A58C0: ; 0x020A58C0
- stmdb sp!, {r4,lr}
- cmp r3, #0x0
- mov r4, #0x0
- ble _020A58F4
-_020A58D0:
- mov lr, r4, lsl #0x1
- ldrh r12, [r1, lr]
- add r2, r2, r12
- strh r2, [r0, lr]
- movs r2, r2, lsr #0x10
- beq _020A58F4
- add r4, r4, #0x1
- cmp r4, r3
- blt _020A58D0
-_020A58F4:
- cmp r0, r1
- ldmeqia sp!, {r4,lr}
- bxeq lr
- add r4, r4, #0x1
- cmp r4, r3
- ldmgeia sp!, {r4,lr}
- bxge lr
-_020A5910:
- mov r12, r4, lsl #0x1
- ldrh r2, [r1, r12]
- add r4, r4, #0x1
- cmp r4, r3
- strh r2, [r0, r12]
- blt _020A5910
- ldmia sp!, {r4,lr}
- bx lr
-
- arm_func_start FUN_020A5930
-FUN_020A5930: ; 0x020A5930
- stmdb sp!, {r4-r8,lr}
- mov r7, r1
- mov r5, r3
- mov r8, r0
- mov r6, r2
- mov r0, r7
- mov r1, r5
- bl thunk_FUN_020a5a28
- mov r4, r0
- mov r0, r6
- mov r1, r5
- bl thunk_FUN_020a5a28
-_020A5960: ; 0x020A5960
- cmp r4, r0
- movlt r4, r0
- cmp r4, r5
- addne r4, r4, #0x1
- mov r3, #0x0
- mov r12, r3
- cmp r4, #0x0
- ble _020A59A8
-_020A5980:
- mov r2, r12, lsl #0x1
- ldrh r1, [r7, r2]
- ldrh r0, [r6, r2]
- add r12, r12, #0x1
- cmp r12, r4
- add r0, r1, r0
- add r0, r3, r0
- strh r0, [r8, r2]
- mov r3, r0, lsr #0x10
- blt _020A5980
-_020A59A8:
- cmp r8, r7
- ldmeqia sp!, {r4-r8,lr}
- bxeq lr
- cmp r8, r6
- ldmeqia sp!, {r4-r8,lr}
- bxeq lr
- sub r1, r5, r12
- add r0, r8, r12, lsl #0x1
- mov r2, r1, lsl #0x1
- mov r1, #0x0
- bl MI_CpuFill8
- ldmia sp!, {r4-r8,lr}
- bx lr
-
- arm_func_start FUN_020A59DC
-FUN_020A59DC:
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- sub r2, r1, #0x1
- mov r2, r2, lsl #0x1
- ldrh r2, [r0, r2]
- ands r2, r2, #0x8000
- addne sp, sp, #0x4
- mvnne r0, #0x0
- ldmneia sp!, {lr}
- bxne lr
- bl thunk_FUN_020a5a28
-_020A5A08: ; 0x020A5A08
- cmp r0, #0x0
- movne r0, #0x1
- moveq r0, #0x0
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-
- arm_func_start thunk_FUN_020a5a28
-thunk_FUN_020a5a28:
- b _020A5A28
-_020A5A24:
- sub r1, r1, #0x1
-_020A5A28:
- cmp r1, #0x0
- beq _020A5A44
- sub r2, r1, #0x1
- mov r2, r2, lsl #0x1
- ldrh r2, [r0, r2]
- cmp r2, #0x0
- beq _020A5A24
-_020A5A44:
- mov r0, r1
- bx lr
-
- arm_func_start FUN_020A5A4C
-FUN_020A5A4C: ; 0x020A5A4C
- mov r1, r0
- mov r0, #0x0
- mov r3, #0x1
-_020A5A58:
- clz r2, r1
- rsbs r2, r2, #0x1f
- bxcc lr
- bic r1, r1, r3, lsl r2
- add r0, r0, #0x1
- b _020A5A58
-
- arm_func_start FUN_020A5A70
-FUN_020A5A70: ; 0x020A5A70
- clz r0, r0
- bx lr
-
- arm_func_start FUN_020A5A78
-FUN_020A5A78: ; 0x020A5A78
- stmdb sp!, {r4,lr}
- sub sp, sp, #0x8
- ldrh r0, [r0, #0x2]
- cmp r0, #0x0
- bne _020A5D80
- ldr r2, _020A5DA8 ; =0x021CA86C
- mov r0, #0x0
- ldr r1, [r2, #0x0]
- add r1, r1, #0x2000
- strb r0, [r1, #0x26b]
- ldr r1, [r2, #0x0]
- add r1, r1, #0x2200
- strh r0, [r1, #0x82]
- ldr r3, [r2, #0x0]
- add r1, r3, #0x2000
- ldr r1, [r1, #0x260]
- cmp r1, #0xd
- addls pc, pc, r1, lsl #0x2
- b _020A5D4C
-_020A5AC4:
- b _020A5D4C
-_020A5AC8:
- b _020A5D4C
-_020A5ACC:
- b _020A5D4C
-_020A5AD0:
- b _020A5D4C
-_020A5AD4:
- b _020A5D4C
-_020A5AD8:
- b _020A5AFC
-_020A5ADC:
- b _020A5AFC
-_020A5AE0:
- b _020A5B24
-_020A5AE4:
- b _020A5B4C
-_020A5AE8:
- b _020A5C74
-_020A5AEC:
- b _020A5CA4
-_020A5AF0:
- b _020A5D4C
-_020A5AF4:
- b _020A5C74
-_020A5AF8:
- b _020A5CD4
-_020A5AFC:
- mov r0, #0x3
- bl FUN_020A6C38
- mov r1, #0x0
- ldr r3, _020A5DAC ; =0x000008F5
- mov r2, r1
- mov r0, #0x1
- bl FUN_020A6D3C
- add sp, sp, #0x8
- ldmia sp!, {r4,lr}
- bx lr
-_020A5B24:
- mov r0, #0x3
- bl FUN_020A6C38
-_020A5B2C: ; 0x020A5B2C
- mov r0, #0x0
- ldr r3, _020A5DB0 ; =0x000008FB
- mov r1, r0
- mov r2, r0
- bl FUN_020A6D3C
- add sp, sp, #0x8
- ldmia sp!, {r4,lr}
- bx lr
-_020A5B4C:
- add r1, r3, #0x2200
- ldrh r4, [r1, #0xf8]
- strh r0, [r1, #0xf8]
- cmp r4, #0x12
- bne _020A5C44
- ldr r1, [r2, #0x0]
- add r1, r1, #0x2100
- ldrh r3, [r1, #0x70]
- and r12, r3, #0x24
- cmp r12, #0x24
- beq _020A5C44
- orr r3, r3, #0x24
- strh r3, [r1, #0x70]
- ldr r2, [r2, #0x0]
- add r1, r2, #0x2000
- ldr r3, [r1, #0x264]
- and r1, r3, #0xc0000
- cmp r1, #0xc0000
- moveq r0, #0x1
- mov r0, r0, lsl #0x10
- mov r12, r0, lsr #0x10
- and r1, r3, #0x30000
- cmp r1, #0x30000
- movne r3, #0x1
- add r1, r2, #0x2140
- ldr r0, _020A5DB4 ; =FUN_020A6144
- moveq r3, #0x0
- mov r2, #0x0
- str r12, [sp, #0x0]
- bl WM_StartConnectEx
- cmp r0, #0x2
- addeq sp, sp, #0x8
- ldmeqia sp!, {r4,lr}
- bxeq lr
- cmp r0, #0x3
- beq _020A5C14
- cmp r0, #0x8
- bne _020A5C14
- mov r0, #0xc
- bl FUN_020A6C38
- ldr r0, _020A5DA8 ; =0x021CA86C
- ldr r3, _020A5DB8 ; =0x0000091C
- ldr r0, [r0, #0x0]
- mov r2, r4
- add r1, r0, #0x2140
- mov r0, #0x1
- bl FUN_020A6D3C
- add sp, sp, #0x8
- ldmia sp!, {r4,lr}
- bx lr
-_020A5C14:
- mov r0, #0xb
- bl FUN_020A6C38
- ldr r0, _020A5DA8 ; =0x021CA86C
- ldr r3, _020A5DBC ; =0x00000925
- ldr r0, [r0, #0x0]
- mov r2, r4
- add r1, r0, #0x2140
- mov r0, #0x7
- bl FUN_020A6D3C
- add sp, sp, #0x8
- ldmia sp!, {r4,lr}
- bx lr
-_020A5C44:
- mov r0, #0x3
- bl FUN_020A6C38
- ldr r0, _020A5DA8 ; =0x021CA86C
- ldr r3, _020A5DC0 ; =0x0000092D
- ldr r0, [r0, #0x0]
- mov r2, r4
- add r1, r0, #0x2140
- mov r0, #0x1
- bl FUN_020A6D3C
- add sp, sp, #0x8
- ldmia sp!, {r4,lr}
- bx lr
-_020A5C74:
- mov r0, #0x3
- bl FUN_020A6C38
- ldr r0, _020A5DA8 ; =0x021CA86C
- ldr r3, _020A5DC4 ; =0x00000935
- ldr r1, [r0, #0x0]
- mov r0, #0x0
- add r1, r1, #0x2140
- mov r2, #0x1
- bl FUN_020A6D3C
- add sp, sp, #0x8
- ldmia sp!, {r4,lr}
- bx lr
-_020A5CA4:
- mov r0, #0x3
- bl FUN_020A6C38
- ldr r1, _020A5DA8 ; =0x021CA86C
- mov r0, #0x0
- ldr r1, [r1, #0x0]
- ldr r3, _020A5DC8 ; =0x0000093C
- mov r2, r0
- add r1, r1, #0x2140
- bl FUN_020A6D3C
- add sp, sp, #0x8
- ldmia sp!, {r4,lr}
- bx lr
-_020A5CD4:
- ldr r0, _020A5DCC ; =FUN_020A6768
- bl WM_PowerOff
- cmp r0, #0x2
- addeq sp, sp, #0x8
- ldmeqia sp!, {r4,lr}
- bxeq lr
- cmp r0, #0x3
- beq _020A5D24
- cmp r0, #0x8
- bne _020A5D24
- mov r0, #0xc
- bl FUN_020A6C38
- mov r1, #0x0
- ldr r3, _020A5DD0 ; =0x0000094A
- mov r2, r1
- mov r0, #0x1
- bl FUN_020A6D3C
- add sp, sp, #0x8
- ldmia sp!, {r4,lr}
- bx lr
-_020A5D24:
- mov r0, #0xb
- bl FUN_020A6C38
- mov r1, #0x0
- ldr r3, _020A5DD4 ; =0x00000953
- mov r2, r1
- mov r0, #0x7
- bl FUN_020A6D3C
- add sp, sp, #0x8
- ldmia sp!, {r4,lr}
- bx lr
-_020A5D4C:
- mov r0, #0xb
- bl FUN_020A6C38
- ldr r0, _020A5DA8 ; =0x021CA86C
- ldr r3, _020A5DD8 ; =0x00000959
- ldr r1, [r0, #0x0]
- mov r0, #0x7
- add r1, r1, #0x2000
- ldr r2, [r1, #0x260]
- mov r1, #0x0
- bl FUN_020A6D3C
- add sp, sp, #0x8
- ldmia sp!, {r4,lr}
- bx lr
-_020A5D80:
- mov r0, #0xb
- bl FUN_020A6C38
- mov r1, #0x0
- mov r2, r1
- mov r0, #0x7
- mov r3, #0x960
- bl FUN_020A6D3C
- add sp, sp, #0x8
- ldmia sp!, {r4,lr}
- bx lr
- .balign 4
-_020A5DA8: .word 0x021CA86C
-_020A5DAC: .word 0x000008F5
-_020A5DB0: .word 0x000008FB
-_020A5DB4: .word FUN_020A6144
-_020A5DB8: .word 0x0000091C
-_020A5DBC: .word 0x00000925
-_020A5DC0: .word 0x0000092D
-_020A5DC4: .word 0x00000935
-_020A5DC8: .word 0x0000093C
-_020A5DCC: .word FUN_020A6768
-_020A5DD0: .word 0x0000094A
-_020A5DD4: .word 0x00000953
-_020A5DD8: .word 0x00000959
-
- arm_func_start FUN_020A5DDC
-FUN_020A5DDC: ; 0x020A5DDC
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldrh r0, [r0, #0x2]
- cmp r0, #0x4
- addls pc, pc, r0, lsl #0x2
- b _020A5EF4
-_020A5DF4:
- b _020A5E08
-_020A5DF8:
- b _020A5EDC
-_020A5DFC:
- b _020A5EF4
-_020A5E00:
- b _020A5EDC
-_020A5E04:
- b _020A5EF4
-_020A5E08:
- ldr r0, _020A5F24 ; =0x021CA86C
- ldr r0, [r0, #0x0]
- add r0, r0, #0x2000
- ldr r0, [r0, #0x260]
- cmp r0, #0xc
- bne _020A5E38
- mov r0, #0xa
- bl FUN_020A6C38
- bl FUN_020A6B28
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-_020A5E38:
- ldr r0, _020A5F28 ; =FUN_020A6058
- mov r1, #0x0
- bl WM_Disconnect
- cmp r0, #0x2
- addeq sp, sp, #0x4
- ldmeqia sp!, {lr}
- bxeq lr
- cmp r0, #0x3
- beq _020A5E94
- cmp r0, #0x8
- bne _020A5EAC
- mov r0, #0xc
- bl FUN_020A6C38
- ldr r0, _020A5F24 ; =0x021CA86C
- ldr r3, _020A5F2C ; =0x000008B4
- ldr r1, [r0, #0x0]
- mov r0, #0x1
- add r1, r1, #0x2140
- mov r2, #0x0
- bl FUN_020A6D3C
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-_020A5E94:
- mov r0, #0xa
- bl FUN_020A6C38
- bl FUN_020A6B28
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-_020A5EAC:
- mov r0, #0xb
- bl FUN_020A6C38
- ldr r1, _020A5F24 ; =0x021CA86C
- mov r0, #0x7
- ldr r1, [r1, #0x0]
- mov r2, #0x0
- add r1, r1, #0x2140
- mov r3, #0x8c0
- bl FUN_020A6D3C
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-_020A5EDC:
- mov r0, #0xa
- bl FUN_020A6C38
- bl FUN_020A6B28
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-_020A5EF4:
- mov r0, #0xb
- bl FUN_020A6C38
- ldr r0, _020A5F24 ; =0x021CA86C
- ldr r3, _020A5F30 ; =0x000008D3
- ldr r1, [r0, #0x0]
- mov r0, #0x7
- add r1, r1, #0x2140
- mov r2, #0x0
- bl FUN_020A6D3C
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020A5F24: .word 0x021CA86C
-_020A5F28: .word FUN_020A6058
-_020A5F2C: .word 0x000008B4
-_020A5F30: .word 0x000008D3
-
- arm_func_start FUN_020A5F34
-FUN_020A5F34: ; 0x020A5F34
- stmdb sp!, {r4,lr}
- mov r4, r0
- ldrh r0, [r4, #0x2]
- cmp r0, #0x0
- beq _020A5F50
- cmp r0, #0x4
- b _020A601C
-_020A5F50:
- ldrh r0, [r4, #0x4]
- cmp r0, #0xe
- beq _020A5F68
- cmp r0, #0xf
- beq _020A5FC0
- b _020A5FF0
-_020A5F68:
- ldr r0, _020A6048 ; =0x021CA86C
- ldr r0, [r0, #0x0]
- add r0, r0, #0x2000
- ldr r0, [r0, #0x260]
- cmp r0, #0xc
- bne _020A5F94
- mov r0, #0x8
- bl FUN_020A6C38
- bl FUN_020A6B28
- ldmia sp!, {r4,lr}
- bx lr
-_020A5F94:
- mov r0, #0x9
- bl FUN_020A6C38
- ldr r1, _020A6048 ; =0x021CA86C
- mov r0, #0x0
- ldr r1, [r1, #0x0]
- ldr r3, _020A604C ; =0x00000872
- mov r2, r0
- add r1, r1, #0x2140
- bl FUN_020A6D3C
- ldmia sp!, {r4,lr}
- bx lr
-_020A5FC0:
- ldr r0, [r4, #0x8]
- ldrh r0, [r0, #0xe]
- mov r0, r0, asr #0x8
- and r0, r0, #0xff
- bl FUN_020A89D0
- ldr r0, [r4, #0x8]
- mov r1, #0x620
- bl DC_InvalidateRange
- ldr r0, [r4, #0x8]
- bl FUN_020A8934
- ldmia sp!, {r4,lr}
- bx lr
-_020A5FF0:
- mov r0, #0xb
- bl FUN_020A6C38
- ldr r0, _020A6048 ; =0x021CA86C
- ldrh r2, [r4, #0x4]
- ldr r0, [r0, #0x0]
- ldr r3, _020A6050 ; =0x00000881
- add r1, r0, #0x2140
- mov r0, #0x7
- bl FUN_020A6D3C
- ldmia sp!, {r4,lr}
- bx lr
-_020A601C:
- mov r0, #0xb
- bl FUN_020A6C38
- ldr r0, _020A6048 ; =0x021CA86C
- ldr r3, _020A6054 ; =0x0000088C
- ldr r1, [r0, #0x0]
- mov r0, #0x7
- add r1, r1, #0x2140
- mov r2, #0x0
- bl FUN_020A6D3C
- ldmia sp!, {r4,lr}
- bx lr
- .balign 4
-_020A6048: .word 0x021CA86C
-_020A604C: .word 0x00000872
-_020A6050: .word 0x00000881
-_020A6054: .word 0x0000088C
-
- arm_func_start FUN_020A6058
-FUN_020A6058: ; 0x020A6058
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldrh r0, [r0, #0x2]
- cmp r0, #0x4
- addls pc, pc, r0, lsl #0x2
- b _020A6108
-_020A6070:
- b _020A6084
-_020A6074:
- b _020A60F0
-_020A6078:
- b _020A6108
-_020A607C:
- b _020A60F0
-_020A6080:
- b _020A6108
-_020A6084:
- ldr r0, _020A6138 ; =0x021CA86C
- ldr r1, [r0, #0x0]
- add r0, r1, #0x2000
- ldr r0, [r0, #0x260]
- cmp r0, #0xc
- bne _020A60B4
- mov r0, #0xa
- bl FUN_020A6C38
- bl FUN_020A6B28
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-_020A60B4:
- add r1, r1, #0x2200
- mov r2, #0x0
- mov r0, #0x3
- strh r2, [r1, #0x82]
- bl FUN_020A6C38
- ldr r1, _020A6138 ; =0x021CA86C
- mov r0, #0x0
- ldr r1, [r1, #0x0]
- ldr r3, _020A613C ; =0x0000083D
- mov r2, r0
- add r1, r1, #0x2140
- bl FUN_020A6D3C
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-_020A60F0:
- mov r0, #0xa
- bl FUN_020A6C38
- bl FUN_020A6B28
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-_020A6108:
- mov r0, #0xb
- bl FUN_020A6C38
- ldr r0, _020A6138 ; =0x021CA86C
- ldr r3, _020A6140 ; =0x0000084F
- ldr r1, [r0, #0x0]
- mov r0, #0x7
- add r1, r1, #0x2140
- mov r2, #0x0
- bl FUN_020A6D3C
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020A6138: .word 0x021CA86C
-_020A613C: .word 0x0000083D
-_020A6140: .word 0x0000084F
-
- arm_func_start FUN_020A6144
-FUN_020A6144: ; 0x020A6144
- stmdb sp!, {r4,lr}
- mov r4, r0
- ldrh r0, [r4, #0x2]
- cmp r0, #0xc
- addls pc, pc, r0, lsl #0x2
- b _020A638C
-_020A615C:
- b _020A6190
-_020A6160:
- b _020A6364
-_020A6164:
- b _020A638C
-_020A6168:
- b _020A638C
-_020A616C:
- b _020A638C
-_020A6170:
- b _020A638C
-_020A6174:
- b _020A6378
-_020A6178:
- b _020A638C
-_020A617C:
- b _020A638C
-_020A6180:
- b _020A638C
-_020A6184:
- b _020A638C
-_020A6188:
- b _020A6378
-_020A618C:
- b _020A6378
-_020A6190:
- ldrh r0, [r4, #0x8]
- cmp r0, #0x9
- bgt _020A61D0
- cmp r0, #0x0
- addge pc, pc, r0, lsl #0x2
- b _020A6338
-_020A61A8: ; 0x020A61A8
- b _020A6338
-_020A61AC: ; 0x020A61AC
- b _020A6338
-_020A61B0: ; 0x020A61B0
- b _020A6338
-_020A61B4: ; 0x020A61B4
- b _020A6338
-_020A61B8: ; 0x020A61B8
- b _020A6338
-_020A61BC: ; 0x020A61BC
- b _020A6338
-_020A61C0: ; 0x020A61C0
- b _020A63B0
-_020A61C4: ; 0x020A61C4
- b _020A6258
-_020A61C8: ; 0x020A61C8
- b _020A61E0
-_020A61CC: ; 0x020A61CC
- b _020A61E0
-_020A61D0:
- cmp r0, #0x1a
- ldmeqia sp!, {r4,lr}
- bxeq lr
- b _020A6338
-_020A61E0:
- ldr r1, _020A63B8 ; =0x021CA86C
- ldr r2, [r1, #0x0]
- add r0, r2, #0x2000
- ldr r0, [r0, #0x260]
- sub r0, r0, #0x8
- cmp r0, #0x4
- addls pc, pc, r0, lsl #0x2
- b _020A63B0
-_020A6200:
- b _020A6220
-_020A6204:
- b _020A6230
-_020A6208:
- b _020A6214
-_020A620C:
- b _020A63B0
-_020A6210:
- b _020A624C
-_020A6214:
- add r0, r2, #0x2200
- mov r1, #0x0
- strh r1, [r0, #0x82]
-_020A6220:
- mov r0, #0xc
- bl FUN_020A6C38
- ldmia sp!, {r4,lr}
- bx lr
-_020A6230:
- add r0, r2, #0x2200
- mov r2, #0x0
- strh r2, [r0, #0x82]
- ldr r0, [r1, #0x0]
- mov r1, #0x6
- add r0, r0, #0x2200
- strh r1, [r0, #0x80]
-_020A624C:
- bl FUN_020A6B28
- ldmia sp!, {r4,lr}
- bx lr
-_020A6258:
- ldr r1, _020A63B8 ; =0x021CA86C
- ldr r3, [r1, #0x0]
- add r0, r3, #0x2000
- ldr r0, [r0, #0x260]
- cmp r0, #0xc
- bne _020A6284
- mov r0, #0x8
- bl FUN_020A6C38
- bl FUN_020A6B28
- ldmia sp!, {r4,lr}
- bx lr
-_020A6284:
- ldrh r2, [r4, #0xa]
- cmp r2, #0x1
- blo _020A632C
- ldr r0, _020A63BC ; =0x000007D7
- cmp r2, r0
- bhi _020A632C
- add r0, r3, #0x2200
- strh r2, [r0, #0x82]
- ldr r1, [r1, #0x0]
- ldr r0, _020A63C0 ; =FUN_020A5F34
- add r1, r1, #0x1500
- mov r2, #0x620
- bl WM_StartDCF
- cmp r0, #0x2
- ldmeqia sp!, {r4,lr}
- bxeq lr
- cmp r0, #0x3
- beq _020A6300
- cmp r0, #0x8
- bne _020A6300
- mov r0, #0xc
- bl FUN_020A6C38
- ldr r0, _020A63B8 ; =0x021CA86C
- ldr r3, _020A63C4 ; =0x000007ED
- ldr r1, [r0, #0x0]
- mov r0, #0x1
- add r1, r1, #0x2140
- mov r2, #0x0
- bl FUN_020A6D3C
- ldmia sp!, {r4,lr}
- bx lr
-_020A6300:
- mov r0, #0xb
- bl FUN_020A6C38
- ldr r0, _020A63B8 ; =0x021CA86C
- ldr r3, _020A63C8 ; =0x000007F6
- ldr r1, [r0, #0x0]
- mov r0, #0x7
- add r1, r1, #0x2140
- mov r2, #0x0
- bl FUN_020A6D3C
- ldmia sp!, {r4,lr}
- bx lr
-_020A632C:
- bl FUN_020A6B28
- ldmia sp!, {r4,lr}
- bx lr
-_020A6338:
- mov r0, #0xb
- bl FUN_020A6C38
- ldr r0, _020A63B8 ; =0x021CA86C
- ldrh r2, [r4, #0x8]
- ldr r0, [r0, #0x0]
- ldr r3, _020A63CC ; =0x00000804
- add r1, r0, #0x2140
- mov r0, #0x7
- bl FUN_020A6D3C
- ldmia sp!, {r4,lr}
- bx lr
-_020A6364:
- ldr r0, _020A63B8 ; =0x021CA86C
- ldrh r1, [r4, #0xe]
- ldr r0, [r0, #0x0]
- add r0, r0, #0x2200
- strh r1, [r0, #0xf8]
-_020A6378:
- mov r0, #0x8
- bl FUN_020A6C38
- bl FUN_020A6B28
- ldmia sp!, {r4,lr}
- bx lr
-_020A638C:
- mov r0, #0xb
- bl FUN_020A6C38
- ldr r0, _020A63B8 ; =0x021CA86C
- ldr r3, _020A63D0 ; =0x0000081B
- ldr r1, [r0, #0x0]
- mov r0, #0x7
- add r1, r1, #0x2140
- mov r2, #0x0
- bl FUN_020A6D3C
-_020A63B0:
- ldmia sp!, {r4,lr}
- bx lr
- .balign 4
-_020A63B8: .word 0x021CA86C
-_020A63BC: .word 0x000007D7
-_020A63C0: .word FUN_020A5F34
-_020A63C4: .word 0x000007ED
-_020A63C8: .word 0x000007F6
-_020A63CC: .word 0x00000804
-_020A63D0: .word 0x0000081B
-
- arm_func_start FUN_020A63D4
-FUN_020A63D4: ; 0x020A63D4
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldrh r0, [r0, #0x2]
- cmp r0, #0x4
- addls pc, pc, r0, lsl #0x2
- b _020A6438
-_020A63EC:
- b _020A6400
-_020A63F0:
- b _020A6428
-_020A63F4:
- b _020A6438
-_020A63F8:
- b _020A6438
-_020A63FC:
- b _020A6438
-_020A6400:
- mov r0, #0x3
- bl FUN_020A6C38
-_020A6408: ; 0x020A6408
- mov r0, #0x0
- ldr r3, _020A6460 ; =0x00000783
- mov r1, r0
- mov r2, r0
- bl FUN_020A6D3C
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-_020A6428:
- bl FUN_020A6B28
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-_020A6438:
- mov r0, #0xb
- bl FUN_020A6C38
- mov r1, #0x0
- ldr r3, _020A6464 ; =0x00000793
- mov r2, r1
- mov r0, #0x7
- bl FUN_020A6D3C
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020A6460: .word 0x00000783
-_020A6464: .word 0x00000793
-
- arm_func_start FUN_020A6468
-FUN_020A6468: ; 0x020A6468
- stmdb sp!, {r4-r8,lr}
- sub sp, sp, #0x8
- mov r5, r0
- ldrh r0, [r5, #0x2]
- mov r4, #0x14
- cmp r0, #0x4
- addls pc, pc, r0, lsl #0x2
- b _020A6714
-_020A6488:
- b _020A649C
-_020A648C:
- b _020A6704
-_020A6490:
- b _020A6714
-_020A6494:
- b _020A6714
-_020A6498:
- b _020A6714
-_020A649C:
- ldr r0, _020A673C ; =0x021CA86C
- ldr r0, [r0, #0x0]
- add r0, r0, #0x2000
- ldr r0, [r0, #0x260]
- cmp r0, #0x5
- bne _020A64D0
- mov r0, #0x6
- bl FUN_020A6C38
-_020A64BC: ; 0x020A64BC
- mov r0, #0x0
- ldr r3, _020A6740 ; =0x00000704
- mov r1, r0
- mov r2, r0
- bl FUN_020A6D3C
-_020A64D0:
- ldr r1, _020A673C ; =0x021CA86C
- ldr r2, [r1, #0x0]
- add r0, r2, #0x2000
- ldr r0, [r0, #0x260]
- cmp r0, #0x6
- beq _020A64FC
- cmp r0, #0x7
- beq _020A6674
- cmp r0, #0xd
- beq _020A6684
- b _020A6694
-_020A64FC:
- add r0, r2, #0x2200
- mov r2, #0x7
- strh r2, [r0, #0x80]
- ldrh r0, [r5, #0x8]
- cmp r0, #0x5
- bne _020A6588
- ldr r0, [r1, #0x0]
- add r1, r0, #0x2200
- add r0, r0, #0x2000
- ldrh r1, [r1, #0x8c]
- ldr r0, [r0, #0x288]
- bl DC_InvalidateRange
- ldrh r0, [r5, #0xe]
- mov r4, #0x0
- cmp r0, #0x0
- ble _020A6588
- ldr r8, _020A6744 ; =0x0000071A
- mov r6, r4
- mov r7, #0x7
-_020A6548:
- add r0, r5, r4, lsl #0x1
- add r2, r5, r4, lsl #0x2
- ldrh r1, [r0, #0x50]
- ldr r0, [r2, #0x10]
- bl FUN_020A8298
- str r8, [sp, #0x0]
- add r0, r5, r4, lsl #0x2
- ldr r2, [r0, #0x10]
- mov r0, r7
- mov r1, r6
- mov r3, r5
- bl FUN_020A6CE0
- ldrh r0, [r5, #0xe]
- add r4, r4, #0x1
- cmp r4, r0
- blt _020A6548
-_020A6588:
- ldr r0, _020A673C ; =0x021CA86C
- ldr r0, [r0, #0x0]
- add r0, r0, #0x2000
- ldr r1, [r0, #0x264]
- and r0, r1, #0xc00000
- cmp r0, #0xc00000
- bne _020A65F4
- ldr r0, _020A6748 ; =0x00003FFE
- and r0, r1, r0
- bl FUN_020A5A4C
- movs r1, r0
- beq _020A65F4
- ldr r0, _020A673C ; =0x021CA86C
- ldr r0, [r0, #0x0]
- add r0, r0, #0x2000
- ldr r6, [r0, #0x284]
- mov r0, r6
- bl _u32_div_f
-_020A65D0: ; 0x020A65D0
- cmp r1, #0x0
- bne _020A65F4
- ldr r4, _020A674C ; =0x00000728
- mov r1, #0x0
- mov r2, r6
- mov r3, r1
- mov r0, #0x8
- str r4, [sp, #0x0]
- bl FUN_020A6CE0
-_020A65F4:
- ldrh r0, [r5, #0xa]
- bl FUN_020A5A70
- rsb r0, r0, #0x20
- mov r0, r0, lsl #0x10
- mov r0, r0, lsr #0x10
- bl FUN_020A6D8C
- ldr r1, _020A673C ; =0x021CA86C
- mov r2, #0x1
- mov r2, r2, lsl r0
- ldr r0, [r1, #0x0]
- mov r2, r2, asr #0x1
- add r0, r0, #0x2200
- strh r2, [r0, #0x8e]
- ldr r0, [r1, #0x0]
- add r1, r0, #0x2200
- add r0, r0, #0x2000
- ldrh r1, [r1, #0x8c]
- ldr r0, [r0, #0x288]
- bl DC_InvalidateRange
- ldr r3, _020A673C ; =0x021CA86C
- ldr r2, _020A6750 ; =0x00002288
- ldr r1, [r3, #0x0]
- ldr r0, _020A6754 ; =FUN_020A6468
- add r1, r1, #0x2000
- ldr r4, [r1, #0x284]
- add r4, r4, #0x1
- str r4, [r1, #0x284]
- ldr r1, [r3, #0x0]
- add r1, r1, r2
- bl WM_StartScanEx
- mov r4, r0
- b _020A6694
-_020A6674:
- ldr r0, _020A6758 ; =FUN_020A63D4
- bl WM_EndScan
- mov r4, r0
- b _020A6694
-_020A6684:
- bl FUN_020A6B28
- add sp, sp, #0x8
- ldmia sp!, {r4-r8,lr}
- bx lr
-_020A6694:
- cmp r4, #0x2
- addeq sp, sp, #0x8
- ldmeqia sp!, {r4-r8,lr}
- bxeq lr
- cmp r4, #0x3
- beq _020A66DC
- cmp r4, #0x8
- bne _020A66DC
- mov r0, #0xc
- bl FUN_020A6C38
- mov r1, #0x0
- ldr r3, _020A675C ; =0x00000753
- mov r2, r1
- mov r0, #0x1
- bl FUN_020A6D3C
- add sp, sp, #0x8
- ldmia sp!, {r4-r8,lr}
- bx lr
-_020A66DC:
- mov r0, #0xb
- bl FUN_020A6C38
- mov r1, #0x0
- ldr r3, _020A6760 ; =0x0000075C
- mov r2, r1
- mov r0, #0x7
- bl FUN_020A6D3C
- add sp, sp, #0x8
- ldmia sp!, {r4-r8,lr}
- bx lr
-_020A6704:
- bl FUN_020A6B28
- add sp, sp, #0x8
- ldmia sp!, {r4-r8,lr}
- bx lr
-_020A6714:
- mov r0, #0xb
- bl FUN_020A6C38
- mov r1, #0x0
- ldr r3, _020A6764 ; =0x0000076D
- mov r2, r1
- mov r0, #0x7
- bl FUN_020A6D3C
- add sp, sp, #0x8
- ldmia sp!, {r4-r8,lr}
- bx lr
- .balign 4
-_020A673C: .word 0x021CA86C
-_020A6740: .word 0x00000704
-_020A6744: .word 0x0000071A
-_020A6748: .word 0x00003FFE
-_020A674C: .word 0x00000728
-_020A6750: .word 0x00002288
-_020A6754: .word FUN_020A6468
-_020A6758: .word FUN_020A63D4
-_020A675C: .word 0x00000753
-_020A6760: .word 0x0000075C
-_020A6764: .word 0x0000076D
-
- arm_func_start FUN_020A6768
-FUN_020A6768: ; 0x020A6768
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldrh r1, [r0, #0x2]
- mov r2, #0x14
- cmp r1, #0x4
- addls pc, pc, r1, lsl #0x2
- b _020A6A0C
-_020A6784:
- b _020A6798
-_020A6788:
- b _020A69CC
-_020A678C:
- b _020A6A0C
-_020A6790:
- b _020A6A0C
-_020A6794:
- b _020A6A0C
-_020A6798:
- ldrh r0, [r0, #0x0]
- cmp r0, #0x19
- bgt _020A67D4
- cmp r0, #0x19
- bge _020A68B4
- cmp r0, #0x6
- addls pc, pc, r0, lsl #0x2
- b _020A692C
-_020A67B8:
- b _020A692C
-_020A67BC:
- b _020A692C
-_020A67C0:
- b _020A692C
-_020A67C4:
- b _020A67F4
-_020A67C8:
- b _020A6804
-_020A67CC:
- b _020A6868
-_020A67D0:
- b _020A6890
-_020A67D4:
- cmp r0, #0x1d
- bgt _020A67E8
- cmp r0, #0x1d
- beq _020A68A0
- b _020A692C
-_020A67E8:
- cmp r0, #0x27
- beq _020A68DC
- b _020A692C
-_020A67F4:
- ldr r0, _020A6A4C ; =FUN_020A6768
- bl WM_PowerOn
- mov r2, r0
- b _020A692C
-_020A6804:
- bl WM_Finish
-_020A6808: ; 0x020A6808
- cmp r0, #0x0
- beq _020A6818
- cmp r0, #0x4
- b _020A6840
-_020A6818:
- mov r0, #0x1
- bl FUN_020A6C38
-_020A6820: ; 0x020A6820
- mov r0, #0x0
- ldr r3, _020A6A50 ; =0x00000663
- mov r1, r0
- mov r2, r0
- bl FUN_020A6D3C
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-_020A6840:
- mov r0, #0xb
- bl FUN_020A6C38
- mov r1, #0x0
- ldr r3, _020A6A54 ; =0x0000066C
- mov r2, r1
- mov r0, #0x7
- bl FUN_020A6D3C
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-_020A6868:
- mov r0, #0x3
- bl FUN_020A6C38
-_020A6870: ; 0x020A6870
- mov r0, #0x0
- ldr r3, _020A6A58 ; =0x00000673
- mov r1, r0
- mov r2, r0
- bl FUN_020A6D3C
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-_020A6890:
- ldr r0, _020A6A4C ; =FUN_020A6768
- bl WM_Disable
- mov r2, r0
- b _020A692C
-_020A68A0:
- ldr r0, _020A6A4C ; =FUN_020A6768
- mov r1, #0x0
- bl WM_SetBeaconIndication
- mov r2, r0
- b _020A692C
-_020A68B4:
- ldr r1, _020A6A5C ; =0x021CA86C
- ldr r0, _020A6A4C ; =FUN_020A6768
- ldr r3, [r1, #0x0]
- add r2, r3, #0x2000
- ldrb r1, [r2, #0x250]
- ldrb r2, [r2, #0x251]
- add r3, r3, #0x2200
- bl WM_SetWEPKeyEx
- mov r2, r0
- b _020A692C
-_020A68DC:
- ldr r0, _020A6A5C ; =0x021CA86C
- ldr r2, [r0, #0x0]
- add r0, r2, #0x2000
- ldr r1, [r0, #0x264]
- and r0, r1, #0xc0000
- cmp r0, #0xc0000
- moveq r0, #0x1
- movne r0, #0x0
- mov r0, r0, lsl #0x10
- mov r12, r0, lsr #0x10
- and r1, r1, #0x30000
- cmp r1, #0x30000
- movne r3, #0x1
- add r1, r2, #0x2140
- ldr r0, _020A6A60 ; =FUN_020A6144
- moveq r3, #0x0
- mov r2, #0x0
- str r12, [sp, #0x0]
- bl WM_StartConnectEx
- mov r2, r0
-_020A692C:
- cmp r2, #0x2
- addeq sp, sp, #0x4
- ldmeqia sp!, {lr}
- bxeq lr
- cmp r2, #0x3
- beq _020A698C
- cmp r2, #0x8
- bne _020A698C
- mov r0, #0xc
- bl FUN_020A6C38
- ldr r0, _020A6A5C ; =0x021CA86C
- ldr r3, _020A6A64 ; =0x000006AF
- ldr r1, [r0, #0x0]
- mov r2, #0x0
- add r0, r1, #0x2200
- ldrsh r0, [r0, #0x80]
- cmp r0, #0x5
- addeq r1, r1, #0x2140
- movne r1, #0x0
- mov r0, #0x1
- bl FUN_020A6D3C
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-_020A698C:
- mov r0, #0xb
- bl FUN_020A6C38
- ldr r0, _020A6A5C ; =0x021CA86C
- ldr r3, _020A6A68 ; =0x000006B8
- ldr r1, [r0, #0x0]
- mov r2, #0x0
- add r0, r1, #0x2200
- ldrsh r0, [r0, #0x80]
- cmp r0, #0x5
- addeq r1, r1, #0x2140
- movne r1, #0x0
- mov r0, #0x7
- bl FUN_020A6D3C
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-_020A69CC:
- mov r0, #0xc
- bl FUN_020A6C38
- ldr r0, _020A6A5C ; =0x021CA86C
- ldr r3, _020A6A6C ; =0x000006DE
- ldr r1, [r0, #0x0]
- mov r2, #0x0
- add r0, r1, #0x2200
- ldrsh r0, [r0, #0x80]
- cmp r0, #0x5
- addeq r1, r1, #0x2140
- movne r1, #0x0
- mov r0, #0x1
- bl FUN_020A6D3C
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-_020A6A0C:
- mov r0, #0xb
- bl FUN_020A6C38
- ldr r0, _020A6A5C ; =0x021CA86C
- ldr r3, _020A6A70 ; =0x000006E8
- ldr r1, [r0, #0x0]
- mov r2, #0x0
- add r0, r1, #0x2200
- ldrsh r0, [r0, #0x80]
- cmp r0, #0x5
- addeq r1, r1, #0x2140
- movne r1, #0x0
- mov r0, #0x7
- bl FUN_020A6D3C
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020A6A4C: .word FUN_020A6768
-_020A6A50: .word 0x00000663
-_020A6A54: .word 0x0000066C
-_020A6A58: .word 0x00000673
-_020A6A5C: .word 0x021CA86C
-_020A6A60: .word FUN_020A6144
-_020A6A64: .word 0x000006AF
-_020A6A68: .word 0x000006B8
-_020A6A6C: .word 0x000006DE
-_020A6A70: .word 0x000006E8
-
- arm_func_start FUN_020A6A74
-FUN_020A6A74: ; 0x020A6A74
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldrh r1, [r0, #0x2]
- cmp r1, #0x8
- addne sp, sp, #0x4
- ldmneia sp!, {lr}
- bxne lr
- ldrh r1, [r0, #0x4]
- cmp r1, #0x16
- addne sp, sp, #0x4
- ldmneia sp!, {lr}
- bxne lr
- ldrh r0, [r0, #0x6]
- cmp r0, #0x25
- addne sp, sp, #0x4
- ldmneia sp!, {lr}
- bxne lr
- ldr r0, _020A6B24 ; =0x021CA86C
- ldr r0, [r0, #0x0]
- add r0, r0, #0x2000
- ldr r0, [r0, #0x260]
- sub r0, r0, #0x8
- cmp r0, #0x4
- addls pc, pc, r0, lsl #0x2
- b _020A6B18
-_020A6AD8:
- b _020A6AEC
-_020A6ADC:
- b _020A6B00
-_020A6AE0:
- b _020A6B10
-_020A6AE4:
- b _020A6B18
-_020A6AE8:
- b _020A6B00
-_020A6AEC:
- mov r0, #0xc
- bl FUN_020A6C38
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-_020A6B00:
- bl FUN_020A6B28
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-_020A6B10:
- mov r0, #0xc
- bl FUN_020A6C38
-_020A6B18:
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020A6B24: .word 0x021CA86C
-
- arm_func_start FUN_020A6B28
-FUN_020A6B28: ; 0x020A6B28
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r0, _020A6B98 ; =0x021CA86C
- ldr r0, [r0, #0x0]
- add r1, r0, #0x2000
- ldrb r0, [r1, #0x26b]
- cmp r0, #0x0
- addne sp, sp, #0x4
- ldmneia sp!, {lr}
- bxne lr
- ldr r0, _020A6B9C ; =FUN_020A5A78
- mov r2, #0x1
- strb r2, [r1, #0x26b]
- bl WM_Reset
- cmp r0, #0x2
- addeq sp, sp, #0x4
- ldmeqia sp!, {lr}
- bxeq lr
- mov r0, #0xb
- bl FUN_020A6C38
- mov r1, #0x0
- mov r2, r1
- mov r0, #0x7
- mov r3, #0x610
- bl FUN_020A6D3C
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020A6B98: .word 0x021CA86C
-_020A6B9C: .word FUN_020A5A78
-
- arm_func_start FUN_020A6BA0
-FUN_020A6BA0: ; 0x020A6BA0
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- bl FUN_020A88A8
- bl FUN_020A6BBC
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-
- arm_func_start FUN_020A6BBC
-FUN_020A6BBC: ; 0x020A6BBC
- stmdb sp!, {r4,lr}
- sub sp, sp, #0x8
- bl OS_DisableInterrupts
- ldr r2, _020A6C28 ; =0x021CA86C
- ldr r1, _020A6C2C ; =0x000022CC
- ldr r2, [r2, #0x0]
- mov r4, r0
- add r0, r2, r1
- bl OS_CancelAlarm
- ldr r0, _020A6C28 ; =0x021CA86C
- ldr r12, [r0, #0x0]
- add r0, r12, #0x2000
- ldr r0, [r0, #0x260]
- cmp r0, #0x9
- bne _020A6C14
- ldr r0, _020A6C2C ; =0x000022CC
- ldr r1, _020A6C30 ; =0x022F5341
- mov r2, #0x0
- ldr r3, _020A6C34 ; =FUN_020A6BA0
- add r0, r12, r0
- str r2, [sp, #0x0]
- bl OS_SetAlarm
-_020A6C14:
- mov r0, r4
- bl OS_RestoreInterrupts
- add sp, sp, #0x8
- ldmia sp!, {r4,lr}
- bx lr
- .balign 4
-_020A6C28: .word 0x021CA86C
-_020A6C2C: .word 0x000022CC
-_020A6C30: .word 0x022F5341
-_020A6C34: .word FUN_020A6BA0
-
- arm_func_start FUN_020A6C38
-FUN_020A6C38:
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r5, r0
- bl OS_DisableInterrupts
- ldr r1, _020A6CD0 ; =0x021CA86C
- mov r4, r0
- ldr r1, [r1, #0x0]
- add r0, r1, #0x2000
- ldr r0, [r0, #0x260]
- cmp r0, #0x9
- bne _020A6C78
- cmp r5, #0x9
- beq _020A6C78
- ldr r0, _020A6CD4 ; =0x000022CC
- add r0, r1, r0
- bl OS_CancelAlarm
-_020A6C78:
- ldr r0, _020A6CD0 ; =0x021CA86C
- ldr r0, [r0, #0x0]
- add r0, r0, #0x2000
- ldr r1, [r0, #0x260]
- cmp r1, #0xb
- strne r5, [r0, #0x260]
- cmp r5, #0x9
- bne _020A6CBC
- mov r2, #0x0
- ldr r0, _020A6CD0 ; =0x021CA86C
- str r2, [sp, #0x0]
- ldr r5, [r0, #0x0]
- ldr r0, _020A6CD4 ; =0x000022CC
- ldr r1, _020A6CD8 ; =0x022F5341
- ldr r3, _020A6CDC ; =FUN_020A6BA0
- add r0, r5, r0
- bl OS_SetAlarm
-_020A6CBC:
- mov r0, r4
- bl OS_RestoreInterrupts
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
- .balign 4
-_020A6CD0: .word 0x021CA86C
-_020A6CD4: .word 0x000022CC
-_020A6CD8: .word 0x022F5341
-_020A6CDC: .word FUN_020A6BA0
-
- arm_func_start FUN_020A6CE0
-FUN_020A6CE0: ; 0x020A6CE0
- stmdb sp!, {lr}
- sub sp, sp, #0x14
- ldr ip, _020A6D38 ; =0x021CA86C
- ldr r12, [r12, #0x0]
- add r12, r12, #0x2000
- ldr lr, [r12, #0x27c]
- cmp lr, #0x0
- addeq sp, sp, #0x14
- ldmeqia sp!, {lr}
- bxeq lr
- ldr lr, [sp, #0x18]
- strh r0, [sp, #0x0]
- str r2, [sp, #0x4]
- str r3, [sp, #0x8]
- str lr, [sp, #0xc]
- strh r1, [sp, #0x2]
- ldr r1, [r12, #0x27c]
- add r0, sp, #0x0
- blx r1
- add sp, sp, #0x14
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020A6D38: .word 0x021CA86C
-
- arm_func_start FUN_020A6D3C
-FUN_020A6D3C: ; 0x020A6D3C
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- ldr ip, _020A6D88 ; =0x021CA86C
- mov r5, r0
- ldr r0, [r12, #0x0]
- mov r4, r1
- add r1, r0, #0x2200
- ldrsh r0, [r1, #0x80]
- mov r12, #0x0
- mov lr, r2
- strh r12, [r1, #0x80]
- str r3, [sp, #0x0]
- mov r1, r5
- mov r2, r4
- mov r3, lr
- bl FUN_020A6CE0
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
- .balign 4
-_020A6D88: .word 0x021CA86C
-
- arm_func_start FUN_020A6D8C
-FUN_020A6D8C: ; 0x020A6D8C
- stmdb sp!, {r4-r6,lr}
- ldr r1, _020A6E24 ; =0x021CA86C
- mov r2, r0
- ldr r1, [r1, #0x0]
- mov r3, #0x0
- add r1, r1, #0x2000
- ldr r1, [r1, #0x264]
- mov r6, #0x1
- ldr r5, _020A6E28 ; =0x4EC4EC4F
- ldr r4, _020A6E2C ; =0x0000000D
-_020A6DB4:
- smull r12, lr, r5, r2
- mov lr, lr, asr #0x2
- mov r12, r2, lsr #0x1f
- add lr, r12, lr
- smull r12, lr, r4, lr
- sub lr, r2, r12
- add r12, lr, #0x1
- mov r12, r6, lsl r12
- ands r12, r1, r12
- bne _020A6DEC
- add r3, r3, #0x1
- cmp r3, #0xd
- add r2, r2, #0x1
- blt _020A6DB4
-_020A6DEC:
- ldr r1, _020A6E28 ; =0x4EC4EC4F
- add r3, r0, r3
- smull r0, r4, r1, r3
- mov r4, r4, asr #0x2
- mov r0, r3, lsr #0x1f
- ldr r2, _020A6E2C ; =0x0000000D
- add r4, r0, r4
- smull r0, r1, r2, r4
- sub r4, r3, r0
- add r0, r4, #0x1
- mov r0, r0, lsl #0x10
- mov r0, r0, lsr #0x10
- ldmia sp!, {r4-r6,lr}
- bx lr
- .balign 4
-_020A6E24: .word 0x021CA86C
-_020A6E28: .word 0x4EC4EC4F
-_020A6E2C: .word 0x0000000D
-
- arm_func_start FUN_020A6E30
-FUN_020A6E30: ; 0x020A6E30
- ldr r0, _020A6E48 ; =0x021CA86C
- ldr r1, _020A6E4C ; =0x00AAA082
- ldr r0, [r0, #0x0]
- add r0, r0, #0x2000
- str r1, [r0, #0x264]
- bx lr
- .balign 4
-_020A6E48: .word 0x021CA86C
-_020A6E4C: .word 0x00AAA082
-
- arm_func_start FUN_020A6E50
-FUN_020A6E50: ; 0x020A6E50
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r5, r0
- mov r0, r2
- mov r4, r1
- bl FUN_020A7148
- ldr r2, _020A6FF4 ; =0x021CA86C
- mov r3, #0x400
- ldr r1, [r2, #0x0]
- mov r0, #0x0
- add r12, r1, #0x1500
- add r1, r1, #0x2000
- str r12, [r1, #0x288]
- ldr r1, [r2, #0x0]
- add r1, r1, #0x2200
- strh r3, [r1, #0x8c]
- bl FUN_020A6D8C
- ldr r1, _020A6FF4 ; =0x021CA86C
- mov r2, #0x1
- mov r2, r2, lsl r0
- ldr r0, [r1, #0x0]
- mov r2, r2, asr #0x1
- add r0, r0, #0x2200
- strh r2, [r0, #0x8e]
- ldr r0, [r1, #0x0]
- add r0, r0, #0x2200
- ldrh r0, [r0, #0x68]
- cmp r0, #0x0
- bne _020A6EC8
- bl WM_GetDispersionScanPeriod
-_020A6EC8:
- ldr r2, _020A6FF4 ; =0x021CA86C
- ldr r1, [r2, #0x0]
- add r1, r1, #0x2200
- strh r0, [r1, #0x90]
- ldr r1, [r2, #0x0]
- add r0, r1, #0x2000
- ldr r0, [r0, #0x264]
- and r0, r0, #0x300000
- cmp r0, #0x300000
- movne r2, #0x1
- moveq r2, #0x0
- add r0, r1, #0x2200
- strh r2, [r0, #0x98]
- cmp r5, #0x0
- bne _020A6F24
- ldr r0, _020A6FF4 ; =0x021CA86C
- ldr r1, _020A6FF8 ; =0x00002292
- ldr r2, [r0, #0x0]
- ldr r0, _020A6FFC ; =0x020FF590
- add r1, r2, r1
- mov r2, #0x6
- bl MI_CpuCopy8
- b _020A6F40
-_020A6F24:
- ldr r0, _020A6FF4 ; =0x021CA86C
- ldr r1, _020A6FF8 ; =0x00002292
- ldr r2, [r0, #0x0]
- mov r0, r5
- add r1, r2, r1
- mov r2, #0x6
- bl MI_CpuCopy8
-_020A6F40:
- cmp r4, #0x0
- beq _020A6F54
- ldr r0, _020A7000 ; =0x020FF598
- cmp r4, r0
- bne _020A6F88
-_020A6F54:
- ldr r0, _020A6FF4 ; =0x021CA86C
- ldr r1, _020A7004 ; =0x0000229C
- ldr r2, [r0, #0x0]
- ldr r0, _020A7000 ; =0x020FF598
- add r1, r2, r1
- mov r2, #0x20
- bl MI_CpuCopy8
- ldr r0, _020A6FF4 ; =0x021CA86C
- mov r1, #0x0
- ldr r0, [r0, #0x0]
- add r0, r0, #0x2200
- strh r1, [r0, #0x9a]
- b _020A6FD4
-_020A6F88:
- ldr r0, _020A6FF4 ; =0x021CA86C
- ldr r1, _020A7004 ; =0x0000229C
- ldr r2, [r0, #0x0]
- mov r0, r4
- add r1, r2, r1
- mov r2, #0x20
- bl MI_CpuCopy8
- mov r1, #0x0
-_020A6FA8:
- ldrb r0, [r4, #0x0]
- cmp r0, #0x0
- beq _020A6FC4
- add r1, r1, #0x1
- cmp r1, #0x20
- add r4, r4, #0x1
- blt _020A6FA8
-_020A6FC4:
- ldr r0, _020A6FF4 ; =0x021CA86C
- ldr r0, [r0, #0x0]
- add r0, r0, #0x2200
- strh r1, [r0, #0x9a]
-_020A6FD4:
- ldr r0, _020A6FF4 ; =0x021CA86C
- mov r1, #0x0
- ldr r0, [r0, #0x0]
- add r0, r0, #0x2000
- str r1, [r0, #0x284]
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
- .balign 4
-_020A6FF4: .word 0x021CA86C
-_020A6FF8: .word 0x00002292
-_020A6FFC: .word 0x020FF590
-_020A7000: .word 0x020FF598
-_020A7004: .word 0x0000229C
-
- arm_func_start FUN_020A7008
-FUN_020A7008: ; 0x020A7008
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- movs r5, r0
- mov r4, r1
- bne _020A705C
- ldr r1, _020A7134 ; =0x021CA86C
- mov r3, #0x3
- ldr r0, [r1, #0x0]
- mov r2, #0x0
- add r0, r0, #0x2000
- str r3, [r0, #0x26c]
- ldr r0, [r1, #0x0]
- add r0, r0, #0x2000
- str r2, [r0, #0x270]
- ldr r0, [r1, #0x0]
- add r0, r0, #0x2000
- str r2, [r0, #0x274]
- ldr r0, [r1, #0x0]
- add r0, r0, #0x2000
- str r2, [r0, #0x278]
- b _020A7118
-_020A705C:
- ldr r1, _020A7134 ; =0x021CA86C
- ldr r2, [r5, #0x0]
- ldr r0, [r1, #0x0]
- and r2, r2, #0x3
- add r0, r0, #0x2000
- str r2, [r0, #0x26c]
- ldr r3, [r5, #0x4]
- ldr r0, [r5, #0x8]
- and r2, r3, #0x3
- rsb r2, r2, #0x4
- and r2, r2, #0x3
- add r2, r2, #0xc
- cmp r2, r0
- bls _020A70B4
- ldr r0, [r1, #0x0]
- mov r2, #0x0
- add r0, r0, #0x2000
- str r2, [r0, #0x270]
- ldr r0, [r1, #0x0]
- add r0, r0, #0x2000
- str r2, [r0, #0x274]
- b _020A7104
-_020A70B4:
- ldr r0, [r1, #0x0]
- add r2, r3, #0x3
- bic r2, r2, #0x3
- add r0, r0, #0x2000
- str r2, [r0, #0x270]
- ldr r2, [r5, #0x4]
- ldr r0, [r1, #0x0]
- and r2, r2, #0x3
- rsb r2, r2, #0x4
- ldr r3, [r5, #0x8]
- and r2, r2, #0x3
- sub r2, r3, r2
- add r0, r0, #0x2000
- str r2, [r0, #0x274]
- ldr r0, [r1, #0x0]
- mov r1, #0x0
- add r2, r0, #0x2000
- ldr r0, [r2, #0x270]
- ldr r2, [r2, #0x274]
- bl MI_CpuFill8
-_020A7104:
- ldr r0, _020A7134 ; =0x021CA86C
- ldr r1, [r5, #0xc]
- ldr r0, [r0, #0x0]
- add r0, r0, #0x2000
- str r1, [r0, #0x278]
-_020A7118:
- ldr r0, _020A7134 ; =0x021CA86C
- ldr r0, [r0, #0x0]
- add r0, r0, #0x2000
- str r4, [r0, #0x27c]
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
- .balign 4
-_020A7134: .word 0x021CA86C
-
- arm_func_start FUN_020A7138
-FUN_020A7138:
- ldr r0, _020A7144 ; =0x021CA86C
- ldr r0, [r0, #0x0]
- bx lr
- .balign 4
-_020A7144: .word 0x021CA86C
-
- arm_func_start FUN_020A7148
-FUN_020A7148: ; 0x020A7148
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r5, r0
- bl OS_DisableInterrupts
- ldr r1, _020A71EC ; =0x021CA86C
- mov r2, #0x0
- ldr r1, [r1, #0x0]
- add r3, r1, #0x2000
- cmp r1, #0x0
- ldr r4, [r3, #0x264]
- bne _020A7188
- bl OS_RestoreInterrupts
- add sp, sp, #0x4
- mov r0, #0x0
- ldmia sp!, {r4-r5,lr}
- bx lr
-_020A7188:
- ands r3, r5, #0x8000
- beq _020A71A4
- ldr r3, _020A71F0 ; =0x00003FFE
- orr r2, r2, r3
- ands r3, r5, r3
- ldreq r3, _020A71F4 ; =0x0000A082
- orreq r5, r5, r3
-_020A71A4:
- ands r3, r5, #0x20000
- orrne r2, r2, #0x10000
- ands r3, r5, #0x80000
- orrne r2, r2, #0x40000
- ands r3, r5, #0x200000
- orrne r2, r2, #0x100000
- ands r3, r5, #0x800000
- orrne r2, r2, #0x400000
- mvn r2, r2
- and r2, r4, r2
- orr r2, r5, r2
- add r1, r1, #0x2000
- str r2, [r1, #0x264]
- bl OS_RestoreInterrupts
- mov r0, r4
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
- .balign 4
-_020A71EC: .word 0x021CA86C
-_020A71F0: .word 0x00003FFE
-_020A71F4: .word 0x0000A082
-
- arm_func_start FUN_020A71F8
-FUN_020A71F8: ; 0x020A71F8
- stmdb sp!, {r4,lr}
- bl OS_DisableInterrupts
- ldr r1, _020A7228 ; =0x021CA86C
- mov r4, #0x0
- ldr r1, [r1, #0x0]
- cmp r1, #0x0
- addne r1, r1, #0x2000
- ldrne r4, [r1, #0x260]
- bl OS_RestoreInterrupts
- mov r0, r4
- ldmia sp!, {r4,lr}
- bx lr
- .balign 4
-_020A7228: .word 0x021CA86C
-
- arm_func_start FUN_020A722C
-FUN_020A722C: ; 0x020A722C
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- bl OS_DisableInterrupts
- ldr r1, _020A747C ; =0x021CA86C
- mov r4, r0
- ldr r1, [r1, #0x0]
- cmp r1, #0x0
- bne _020A7260
- bl OS_RestoreInterrupts
- add sp, sp, #0x4
- mov r0, #0x1
- ldmia sp!, {r4-r5,lr}
- bx lr
-_020A7260:
- add r1, r1, #0x2000
- ldr r2, [r1, #0x260]
- cmp r2, #0xd
- addls pc, pc, r2, lsl #0x2
- b _020A7308
-_020A7274:
- b _020A7308
-_020A7278:
- b _020A72C0
-_020A727C:
- b _020A7308
-_020A7280:
- b _020A7320
-_020A7284:
- b _020A7308
-_020A7288:
- b _020A7308
-_020A728C:
- b _020A72D4
-_020A7290:
- b _020A7308
-_020A7294:
- b _020A7308
-_020A7298:
- b _020A7320
-_020A729C:
- b _020A7308
-_020A72A0:
- b _020A7308
-_020A72A4:
- b _020A7320
-_020A72A8:
- b _020A72AC
-_020A72AC:
- bl OS_RestoreInterrupts
- add sp, sp, #0x4
- mov r0, #0x2
- ldmia sp!, {r4-r5,lr}
- bx lr
-_020A72C0:
- bl OS_RestoreInterrupts
- add sp, sp, #0x4
- mov r0, #0x0
- ldmia sp!, {r4-r5,lr}
- bx lr
-_020A72D4:
- mov r0, #0xd
- bl FUN_020A6C38
- ldr r1, _020A747C ; =0x021CA86C
- mov r0, r4
- ldr r1, [r1, #0x0]
- mov r2, #0x9
- add r1, r1, #0x2200
- strh r2, [r1, #0x80]
- bl OS_RestoreInterrupts
- add sp, sp, #0x4
- mov r0, #0x3
- ldmia sp!, {r4-r5,lr}
- bx lr
-_020A7308:
- mov r0, r4
- bl OS_RestoreInterrupts
- add sp, sp, #0x4
- mov r0, #0x1
- ldmia sp!, {r4-r5,lr}
- bx lr
-_020A7320:
- ldrb r0, [r1, #0x26b]
- cmp r0, #0x1
- bne _020A734C
- mov r0, #0xd
- bl FUN_020A6C38
- ldr r0, _020A747C ; =0x021CA86C
- mov r1, #0x9
- ldr r0, [r0, #0x0]
- add r0, r0, #0x2200
- strh r1, [r0, #0x80]
- b _020A7464
-_020A734C:
- bl WMi_GetStatusAddress
- mov r5, r0
- mov r1, #0x2
- bl DC_InvalidateRange
- ldrh r0, [r5, #0x0]
- cmp r0, #0x0
- beq _020A737C
- cmp r0, #0x1
- beq _020A73BC
- cmp r0, #0x2
- beq _020A73C8
- b _020A73D4
-_020A737C:
- bl WM_Finish
-_020A7380: ; 0x020A7380
- cmp r0, #0x0
- bne _020A73F0
- mov r0, #0x1
- bl FUN_020A6C38
- ldr r1, _020A747C ; =0x021CA86C
- mov r0, r4
- ldr r1, [r1, #0x0]
- mov r2, #0x0
- add r1, r1, #0x2200
- strh r2, [r1, #0x80]
- bl OS_RestoreInterrupts
- add sp, sp, #0x4
- mov r0, #0x0
- ldmia sp!, {r4-r5,lr}
- bx lr
-_020A73BC:
- ldr r0, _020A7480 ; =FUN_020A6768
- bl WM_Disable
- b _020A73F0
-_020A73C8:
- ldr r0, _020A7480 ; =FUN_020A6768
- bl WM_PowerOff
- b _020A73F0
-_020A73D4:
- ldr r1, _020A747C ; =0x021CA86C
- ldr r0, _020A7484 ; =FUN_020A5A78
- ldr r1, [r1, #0x0]
- mov r2, #0x1
- add r1, r1, #0x2000
- strb r2, [r1, #0x26b]
- bl WM_Reset
-_020A73F0:
- cmp r0, #0x2
- beq _020A740C
- cmp r0, #0x3
- beq _020A7444
- cmp r0, #0x8
- beq _020A742C
- b _020A7444
-_020A740C:
- mov r0, #0xd
- bl FUN_020A6C38
- ldr r0, _020A747C ; =0x021CA86C
- mov r1, #0x9
- ldr r0, [r0, #0x0]
- add r0, r0, #0x2200
- strh r1, [r0, #0x80]
- b _020A7464
-_020A742C:
- mov r0, r4
- bl OS_RestoreInterrupts
- add sp, sp, #0x4
- mov r0, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
-_020A7444:
- mov r0, #0xb
- bl FUN_020A6C38
- mov r0, r4
- bl OS_RestoreInterrupts
- add sp, sp, #0x4
- mov r0, #0x7
- ldmia sp!, {r4-r5,lr}
- bx lr
-_020A7464:
- mov r0, r4
- bl OS_RestoreInterrupts
- mov r0, #0x3
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
- .balign 4
-_020A747C: .word 0x021CA86C
-_020A7480: .word FUN_020A6768
-_020A7484: .word FUN_020A5A78
-
- arm_func_start FUN_020A7488
-FUN_020A7488: ; 0x020A7488
- stmdb sp!, {r4,lr}
- bl OS_DisableInterrupts
- ldr r1, _020A75B8 ; =0x021CA86C
- mov r4, r0
- ldr r1, [r1, #0x0]
- cmp r1, #0x0
- bne _020A74B4
- bl OS_RestoreInterrupts
- mov r0, #0x1
- ldmia sp!, {r4,lr}
- bx lr
-_020A74B4:
- add r1, r1, #0x2000
- ldr r2, [r1, #0x260]
- cmp r2, #0x3
- beq _020A74E4
- cmp r2, #0x9
- beq _020A7504
- cmp r2, #0xa
- bne _020A74F4
- bl OS_RestoreInterrupts
- mov r0, #0x2
- ldmia sp!, {r4,lr}
- bx lr
-_020A74E4:
- bl OS_RestoreInterrupts
-_020A74E8: ; 0x020A74E8
- mov r0, #0x0
- ldmia sp!, {r4,lr}
- bx lr
-_020A74F4:
- bl OS_RestoreInterrupts
- mov r0, #0x1
- ldmia sp!, {r4,lr}
- bx lr
-_020A7504:
- ldrb r0, [r1, #0x26b]
- cmp r0, #0x1
- bne _020A7530
- mov r0, #0xa
- bl FUN_020A6C38
- ldr r0, _020A75B8 ; =0x021CA86C
- mov r1, #0x6
- ldr r0, [r0, #0x0]
- add r0, r0, #0x2200
- strh r1, [r0, #0x80]
- b _020A75A4
-_020A7530:
- ldr r0, _020A75BC ; =FUN_020A5DDC
- bl WM_EndDCF
- cmp r0, #0x2
- beq _020A7554
- cmp r0, #0x3
- beq _020A7588
- cmp r0, #0x8
- beq _020A7574
- b _020A7588
-_020A7554:
- mov r0, #0xa
- bl FUN_020A6C38
- ldr r0, _020A75B8 ; =0x021CA86C
- mov r1, #0x6
- ldr r0, [r0, #0x0]
- add r0, r0, #0x2200
- strh r1, [r0, #0x80]
- b _020A75A4
-_020A7574:
- mov r0, r4
- bl OS_RestoreInterrupts
- mov r0, #0x4
- ldmia sp!, {r4,lr}
- bx lr
-_020A7588:
- mov r0, #0xb
- bl FUN_020A6C38
- mov r0, r4
- bl OS_RestoreInterrupts
- mov r0, #0x7
- ldmia sp!, {r4,lr}
- bx lr
-_020A75A4:
- mov r0, r4
- bl OS_RestoreInterrupts
- mov r0, #0x3
- ldmia sp!, {r4,lr}
- bx lr
- .balign 4
-_020A75B8: .word 0x021CA86C
-_020A75BC: .word FUN_020A5DDC
-
- arm_func_start FUN_020A75C0
-FUN_020A75C0: ; 0x020A75C0
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- mov r7, r0
- mov r6, r1
- mov r5, r2
- bl OS_DisableInterrupts
- ldr r2, _020A7814 ; =0x021CA86C
- mov r4, r0
- ldr r12, [r2, #0x0]
- cmp r12, #0x0
- bne _020A7600
- bl OS_RestoreInterrupts
- add sp, sp, #0x4
- mov r0, #0x1
- ldmia sp!, {r4-r7,lr}
- bx lr
-_020A7600:
- add r1, r12, #0x2000
- ldr r3, [r1, #0x260]
- cmp r3, #0x3
- beq _020A7624
- cmp r3, #0x8
- beq _020A7734
- cmp r3, #0x9
- beq _020A7748
- b _020A775C
-_020A7624:
- cmp r7, #0x0
- bne _020A7640
- bl OS_RestoreInterrupts
- add sp, sp, #0x4
- mov r0, #0x1
- ldmia sp!, {r4-r7,lr}
- bx lr
-_020A7640:
- ldrh r3, [r7, #0x3c]
- cmp r3, #0x0
- beq _020A7660
- bl OS_RestoreInterrupts
- add sp, sp, #0x4
- mov r0, #0x1
- ldmia sp!, {r4-r7,lr}
- bx lr
-_020A7660:
- cmp r6, #0x0
- beq _020A76E8
- ldrb r3, [r6, #0x0]
- cmp r3, #0x4
- bhs _020A7680
- ldrb r0, [r6, #0x1]
- cmp r0, #0x4
- blo _020A7698
-_020A7680:
- mov r0, r4
- bl OS_RestoreInterrupts
- add sp, sp, #0x4
- mov r0, #0x1
- ldmia sp!, {r4-r7,lr}
- bx lr
-_020A7698:
- strb r3, [r1, #0x250]
- ldr r0, [r2, #0x0]
- ldrb r1, [r6, #0x1]
- add r0, r0, #0x2000
- strb r1, [r0, #0x251]
- ldr r1, [r2, #0x0]
- add r0, r1, #0x2000
- ldrb r0, [r0, #0x250]
- cmp r0, #0x0
- bne _020A76D4
- add r0, r1, #0x2200
- mov r1, #0x0
- mov r2, #0x50
- bl MI_CpuFill8
- b _020A76F8
-_020A76D4:
- add r0, r6, #0x2
- add r1, r1, #0x2200
- mov r2, #0x50
- bl MI_CpuCopy8
- b _020A76F8
-_020A76E8:
- add r0, r12, #0x2200
- mov r1, #0x0
- mov r2, #0x52
- bl MI_CpuFill8
-_020A76F8:
- ldr r1, _020A7814 ; =0x021CA86C
- mov r0, r7
- ldr r1, [r1, #0x0]
- mov r2, #0xc0
- add r1, r1, #0x2140
- bl MI_CpuCopy8
- ldr r1, _020A7814 ; =0x021CA86C
- mov r0, r5
- ldr r1, [r1, #0x0]
- add r1, r1, #0x2100
- ldrh r2, [r1, #0x6e]
- orr r2, r2, #0x3
- strh r2, [r1, #0x70]
- bl FUN_020A7148
- b _020A7770
-_020A7734:
- bl OS_RestoreInterrupts
- add sp, sp, #0x4
- mov r0, #0x2
- ldmia sp!, {r4-r7,lr}
- bx lr
-_020A7748:
- bl OS_RestoreInterrupts
- add sp, sp, #0x4
- mov r0, #0x0
- ldmia sp!, {r4-r7,lr}
- bx lr
-_020A775C:
- bl OS_RestoreInterrupts
- add sp, sp, #0x4
- mov r0, #0x1
- ldmia sp!, {r4-r7,lr}
- bx lr
-_020A7770:
- ldr r1, _020A7818 ; =0x0000FFFF
- ldr r0, _020A781C ; =FUN_020A6768
- mov r3, r1
- mov r2, #0x50
- str r1, [sp, #0x0]
- bl WM_SetLifeTime
- cmp r0, #0x2
- beq _020A77A4
- cmp r0, #0x3
- beq _020A77DC
- cmp r0, #0x8
- beq _020A77C4
- b _020A77DC
-_020A77A4:
- mov r0, #0x8
- bl FUN_020A6C38
- ldr r0, _020A7814 ; =0x021CA86C
- mov r1, #0x5
- ldr r0, [r0, #0x0]
- add r0, r0, #0x2200
- strh r1, [r0, #0x80]
- b _020A77FC
-_020A77C4:
- mov r0, r4
- bl OS_RestoreInterrupts
- add sp, sp, #0x4
- mov r0, #0x4
- ldmia sp!, {r4-r7,lr}
- bx lr
-_020A77DC:
- mov r0, #0xb
- bl FUN_020A6C38
- mov r0, r4
- bl OS_RestoreInterrupts
- add sp, sp, #0x4
- mov r0, #0x7
- ldmia sp!, {r4-r7,lr}
- bx lr
-_020A77FC:
- mov r0, r4
- bl OS_RestoreInterrupts
- mov r0, #0x3
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,lr}
- bx lr
- .balign 4
-_020A7814: .word 0x021CA86C
-_020A7818: .word 0x0000FFFF
-_020A781C: .word FUN_020A6768
-
- arm_func_start FUN_020A7820
-FUN_020A7820: ; 0x020A7820
- stmdb sp!, {r4,lr}
- bl OS_DisableInterrupts
- ldr r1, _020A78D4 ; =0x021CA86C
- mov r4, r0
- ldr r1, [r1, #0x0]
- cmp r1, #0x0
- bne _020A784C
- bl OS_RestoreInterrupts
- mov r0, #0x1
- ldmia sp!, {r4,lr}
- bx lr
-_020A784C:
- add r1, r1, #0x2000
- ldr r1, [r1, #0x260]
- cmp r1, #0x3
- beq _020A78A0
- cmp r1, #0x6
- beq _020A7870
- cmp r1, #0x7
- beq _020A7890
- b _020A78B0
-_020A7870:
- mov r0, #0x7
- bl FUN_020A6C38
- ldr r0, _020A78D4 ; =0x021CA86C
- mov r1, #0x4
- ldr r0, [r0, #0x0]
- add r0, r0, #0x2200
- strh r1, [r0, #0x80]
- b _020A78C0
-_020A7890:
- bl OS_RestoreInterrupts
- mov r0, #0x2
- ldmia sp!, {r4,lr}
- bx lr
-_020A78A0:
- bl OS_RestoreInterrupts
-_020A78A4: ; 0x020A78A4
- mov r0, #0x0
- ldmia sp!, {r4,lr}
- bx lr
-_020A78B0:
- bl OS_RestoreInterrupts
- mov r0, #0x1
- ldmia sp!, {r4,lr}
- bx lr
-_020A78C0:
- mov r0, r4
- bl OS_RestoreInterrupts
- mov r0, #0x3
- ldmia sp!, {r4,lr}
- bx lr
- .balign 4
-_020A78D4: .word 0x021CA86C
-
- arm_func_start FUN_020A78D8
-FUN_020A78D8: ; 0x020A78D8
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- mov r7, r0
- mov r6, r1
- mov r5, r2
- bl OS_DisableInterrupts
- ldr r1, _020A7A84 ; =0x021CA86C
- mov r4, r0
- ldr r1, [r1, #0x0]
- cmp r1, #0x0
- bne _020A7918
- bl OS_RestoreInterrupts
- add sp, sp, #0x4
- mov r0, #0x1
- ldmia sp!, {r4-r7,lr}
- bx lr
-_020A7918:
- add r1, r1, #0x2000
- ldr r1, [r1, #0x260]
- cmp r1, #0x3
- beq _020A79A0
- cmp r1, #0x5
- beq _020A793C
- cmp r1, #0x6
- beq _020A7964
- b _020A798C
-_020A793C:
- mov r0, r7
- mov r1, r6
- mov r2, r5
- bl FUN_020A6E50
- mov r0, r4
- bl OS_RestoreInterrupts
- add sp, sp, #0x4
- mov r0, #0x2
- ldmia sp!, {r4-r7,lr}
- bx lr
-_020A7964:
- mov r0, r7
- mov r1, r6
- mov r2, r5
- bl FUN_020A6E50
- mov r0, r4
- bl OS_RestoreInterrupts
- add sp, sp, #0x4
- mov r0, #0x0
- ldmia sp!, {r4-r7,lr}
- bx lr
-_020A798C:
- bl OS_RestoreInterrupts
- add sp, sp, #0x4
- mov r0, #0x1
- ldmia sp!, {r4-r7,lr}
- bx lr
-_020A79A0:
- mov r0, r7
- mov r1, r6
- mov r2, r5
- bl FUN_020A6E50
- ldr r0, _020A7A84 ; =0x021CA86C
- ldr r0, [r0, #0x0]
- add r1, r0, #0x2200
- add r0, r0, #0x2000
- ldrh r1, [r1, #0x8c]
- ldr r0, [r0, #0x288]
- bl DC_InvalidateRange
- ldr r3, _020A7A84 ; =0x021CA86C
- ldr r2, _020A7A88 ; =0x00002288
- ldr r1, [r3, #0x0]
- ldr r0, _020A7A8C ; =FUN_020A6468
- add r1, r1, #0x2000
- ldr r5, [r1, #0x284]
- add r5, r5, #0x1
- str r5, [r1, #0x284]
- ldr r1, [r3, #0x0]
- add r1, r1, r2
- bl WM_StartScanEx
- cmp r0, #0x2
- beq _020A7A14
- cmp r0, #0x3
- beq _020A7A4C
- cmp r0, #0x8
- beq _020A7A34
- b _020A7A4C
-_020A7A14:
- mov r0, #0x5
- bl FUN_020A6C38
- ldr r0, _020A7A84 ; =0x021CA86C
- mov r1, #0x3
- ldr r0, [r0, #0x0]
- add r0, r0, #0x2200
- strh r1, [r0, #0x80]
- b _020A7A6C
-_020A7A34:
- mov r0, r4
- bl OS_RestoreInterrupts
- add sp, sp, #0x4
- mov r0, #0x4
- ldmia sp!, {r4-r7,lr}
- bx lr
-_020A7A4C:
- mov r0, #0xb
- bl FUN_020A6C38
- mov r0, r4
- bl OS_RestoreInterrupts
- add sp, sp, #0x4
- mov r0, #0x7
- ldmia sp!, {r4-r7,lr}
- bx lr
-_020A7A6C:
- mov r0, r4
- bl OS_RestoreInterrupts
- mov r0, #0x3
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,lr}
- bx lr
- .balign 4
-_020A7A84: .word 0x021CA86C
-_020A7A88: .word 0x00002288
-_020A7A8C: .word FUN_020A6468
-
- arm_func_start FUN_020A7A90
-FUN_020A7A90: ; 0x020A7A90
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- cmp r0, #0x0
- beq _020A7AA8
- cmp r1, #0x0
- bne _020A7AB8
-_020A7AA8:
- bl FUN_020A7820
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-_020A7AB8:
- bl FUN_020A78D8
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-
- arm_func_start FUN_020A7AC8
-FUN_020A7AC8: ; 0x020A7AC8
- stmdb sp!, {r4,lr}
- bl OS_DisableInterrupts
- ldr r1, _020A7BCC ; =0x021CA86C
- mov r4, r0
- ldr r1, [r1, #0x0]
- cmp r1, #0x0
- bne _020A7AF4
- bl OS_RestoreInterrupts
- mov r0, #0x1
- ldmia sp!, {r4,lr}
- bx lr
-_020A7AF4:
- add r1, r1, #0x2000
- ldr r1, [r1, #0x260]
- cmp r1, #0x1
- beq _020A7B24
- cmp r1, #0x3
- beq _020A7B44
- cmp r1, #0x4
- bne _020A7B34
- bl OS_RestoreInterrupts
- mov r0, #0x2
- ldmia sp!, {r4,lr}
- bx lr
-_020A7B24:
- bl OS_RestoreInterrupts
-_020A7B28: ; 0x020A7B28
- mov r0, #0x0
- ldmia sp!, {r4,lr}
- bx lr
-_020A7B34:
- bl OS_RestoreInterrupts
- mov r0, #0x1
- ldmia sp!, {r4,lr}
- bx lr
-_020A7B44:
- ldr r0, _020A7BD0 ; =FUN_020A6768
- bl WM_PowerOff
- cmp r0, #0x2
- beq _020A7B68
- cmp r0, #0x3
- beq _020A7B9C
- cmp r0, #0x8
- beq _020A7B88
- b _020A7B9C
-_020A7B68:
- mov r0, #0x4
- bl FUN_020A6C38
- ldr r0, _020A7BCC ; =0x021CA86C
- mov r1, #0x2
- ldr r0, [r0, #0x0]
- add r0, r0, #0x2200
- strh r1, [r0, #0x80]
- b _020A7BB8
-_020A7B88:
- mov r0, r4
- bl OS_RestoreInterrupts
- mov r0, #0x4
- ldmia sp!, {r4,lr}
- bx lr
-_020A7B9C:
- mov r0, #0xb
- bl FUN_020A6C38
- mov r0, r4
- bl OS_RestoreInterrupts
- mov r0, #0x7
- ldmia sp!, {r4,lr}
- bx lr
-_020A7BB8:
- mov r0, r4
- bl OS_RestoreInterrupts
- mov r0, #0x3
- ldmia sp!, {r4,lr}
- bx lr
- .balign 4
-_020A7BCC: .word 0x021CA86C
-_020A7BD0: .word FUN_020A6768
-
- arm_func_start FUN_020A7BD4
-FUN_020A7BD4: ; 0x020A7BD4
- stmdb sp!, {r4-r6,lr}
- mov r6, r0
- mov r5, r1
- bl OS_DisableInterrupts
- ldr r1, _020A7E00 ; =0x021CA86C
- mov r4, r0
- ldr r1, [r1, #0x0]
- cmp r1, #0x0
- bne _020A7C08
- bl OS_RestoreInterrupts
- mov r0, #0x1
- ldmia sp!, {r4-r6,lr}
- bx lr
-_020A7C08:
- add r1, r1, #0x2000
- ldr r1, [r1, #0x260]
- cmp r1, #0x1
- beq _020A7C2C
- cmp r1, #0x2
- beq _020A7C3C
- cmp r1, #0x3
- beq _020A7C4C
- b _020A7C5C
-_020A7C2C:
- mov r0, r6
- mov r1, r5
- bl FUN_020A7008
- b _020A7C6C
-_020A7C3C:
- bl OS_RestoreInterrupts
- mov r0, #0x2
- ldmia sp!, {r4-r6,lr}
- bx lr
-_020A7C4C:
- bl OS_RestoreInterrupts
-_020A7C50: ; 0x020A7C50
- mov r0, #0x0
- ldmia sp!, {r4-r6,lr}
- bx lr
-_020A7C5C:
- bl OS_RestoreInterrupts
- mov r0, #0x1
- ldmia sp!, {r4-r6,lr}
- bx lr
-_020A7C6C:
- ldr r0, _020A7E00 ; =0x021CA86C
- ldr r0, [r0, #0x0]
- add r1, r0, #0x2000
- ldr r1, [r1, #0x26c]
- mov r1, r1, lsl #0x10
- mov r1, r1, lsr #0x10
- bl WM_Init
- cmp r0, #0x6
- addls pc, pc, r0, lsl #0x2
- b _020A7CE0
-_020A7C94:
- b _020A7CFC
-_020A7C98:
- b _020A7CE0
-_020A7C9C:
- b _020A7CE0
-_020A7CA0:
- b _020A7CB0
-_020A7CA4:
- b _020A7CCC
-_020A7CA8:
- b _020A7CE0
-_020A7CAC:
- b _020A7CE0
-_020A7CB0:
- mov r0, #0xb
- bl FUN_020A6C38
- mov r0, r4
- bl OS_RestoreInterrupts
- mov r0, #0x7
- ldmia sp!, {r4-r6,lr}
- bx lr
-_020A7CCC:
- mov r0, r4
- bl OS_RestoreInterrupts
- mov r0, #0x5
- ldmia sp!, {r4-r6,lr}
- bx lr
-_020A7CE0:
- mov r0, #0xb
- bl FUN_020A6C38
- mov r0, r4
- bl OS_RestoreInterrupts
- mov r0, #0x7
- ldmia sp!, {r4-r6,lr}
- bx lr
-_020A7CFC:
- bl WM_GetAllowedChannel
-_020A7D00: ; 0x020A7D00
- cmp r0, #0x0
- bne _020A7D44
- bl WM_Finish
-_020A7D0C: ; 0x020A7D0C
- cmp r0, #0x0
- beq _020A7D30
- mov r0, #0xb
- bl FUN_020A6C38
- mov r0, r4
- bl OS_RestoreInterrupts
- mov r0, #0x7
- ldmia sp!, {r4-r6,lr}
- bx lr
-_020A7D30:
- mov r0, r4
- bl OS_RestoreInterrupts
- mov r0, #0x5
- ldmia sp!, {r4-r6,lr}
- bx lr
-_020A7D44:
- ldr r0, _020A7E04 ; =FUN_020A6A74
- bl WM_SetIndCallback
-_020A7D4C: ; 0x020A7D4C
- cmp r0, #0x0
- beq _020A7D70
- mov r0, #0xb
- bl FUN_020A6C38
- mov r0, r4
- bl OS_RestoreInterrupts
- mov r0, #0x7
- ldmia sp!, {r4-r6,lr}
- bx lr
-_020A7D70:
- ldr r0, _020A7E08 ; =FUN_020A6768
- bl WM_Enable
- cmp r0, #0x2
- beq _020A7D94
- cmp r0, #0x3
- beq _020A7DD0
- cmp r0, #0x8
- beq _020A7DB4
- b _020A7DD0
-_020A7D94:
- mov r0, #0x2
- bl FUN_020A6C38
- ldr r0, _020A7E00 ; =0x021CA86C
- mov r1, #0x1
- ldr r0, [r0, #0x0]
- add r0, r0, #0x2200
- strh r1, [r0, #0x80]
- b _020A7DEC
-_020A7DB4:
- mov r0, #0xc
- bl FUN_020A6C38
- mov r0, r4
- bl OS_RestoreInterrupts
- mov r0, #0x1
- ldmia sp!, {r4-r6,lr}
- bx lr
-_020A7DD0:
- mov r0, #0xb
- bl FUN_020A6C38
- mov r0, r4
- bl OS_RestoreInterrupts
- mov r0, #0x7
- ldmia sp!, {r4-r6,lr}
- bx lr
-_020A7DEC:
- mov r0, r4
- bl OS_RestoreInterrupts
- mov r0, #0x3
- ldmia sp!, {r4-r6,lr}
- bx lr
- .balign 4
-_020A7E00: .word 0x021CA86C
-_020A7E04: .word FUN_020A6A74
-_020A7E08: .word FUN_020A6768
-
- arm_func_start FUN_020A7E0C
-FUN_020A7E0C: ; 0x020A7E0C
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- bl OS_DisableInterrupts
- ldr r2, _020A7E7C ; =0x021CA86C
- ldr r1, [r2, #0x0]
- cmp r1, #0x0
- bne _020A7E3C
- bl OS_RestoreInterrupts
- add sp, sp, #0x4
- mov r0, #0x1
- ldmia sp!, {lr}
- bx lr
-_020A7E3C:
- add r1, r1, #0x2000
- ldr r1, [r1, #0x260]
- cmp r1, #0x1
- beq _020A7E60
- bl OS_RestoreInterrupts
- add sp, sp, #0x4
- mov r0, #0x1
- ldmia sp!, {lr}
- bx lr
-_020A7E60:
- mov r1, #0x0
- str r1, [r2, #0x0]
- bl OS_RestoreInterrupts
-_020A7E6C: ; 0x020A7E6C
- mov r0, #0x0
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020A7E7C: .word 0x021CA86C
-
- arm_func_start FUN_020A7E80
-FUN_020A7E80: ; 0x020A7E80
- stmdb sp!, {r4-r6,lr}
- mov r6, r0
- mov r5, r1
- bl OS_DisableInterrupts
- ldr r2, _020A7FA8 ; =0x021CA86C
- mov r4, r0
- ldr r1, [r2, #0x0]
- cmp r1, #0x0
- beq _020A7EB4
- bl OS_RestoreInterrupts
- mov r0, #0x1
- ldmia sp!, {r4-r6,lr}
- bx lr
-_020A7EB4:
- cmp r6, #0x0
- bne _020A7ECC
- bl OS_RestoreInterrupts
- mov r0, #0x1
- ldmia sp!, {r4-r6,lr}
- bx lr
-_020A7ECC:
- ands r1, r6, #0x1f
- beq _020A7EE4
- bl OS_RestoreInterrupts
- mov r0, #0x1
- ldmia sp!, {r4-r6,lr}
- bx lr
-_020A7EE4:
- cmp r5, #0x2300
- bhs _020A7EFC
- bl OS_RestoreInterrupts
- mov r0, #0x6
- ldmia sp!, {r4-r6,lr}
- bx lr
-_020A7EFC:
- str r6, [r2, #0x0]
- add r0, r6, #0x2000
- mov r1, #0x1
- str r1, [r0, #0x260]
- ldr r1, [r2, #0x0]
- mov r0, #0x0
- add r1, r1, #0x2200
- strh r0, [r1, #0x80]
- ldr r1, [r2, #0x0]
- add r1, r1, #0x2200
- strh r0, [r1, #0x68]
- ldr r1, [r2, #0x0]
- add r1, r1, #0x2000
- strb r0, [r1, #0x26a]
- ldr r1, [r2, #0x0]
- add r1, r1, #0x2000
- strb r0, [r1, #0x26b]
- ldr r1, [r2, #0x0]
- add r1, r1, #0x2200
- strh r0, [r1, #0x82]
- ldr r1, [r2, #0x0]
- add r1, r1, #0x2200
- strh r0, [r1, #0xf8]
- bl FUN_020A6E30
- bl FUN_020A897C
- bl OS_IsTickAvailable
-_020A7F64: ; 0x020A7F64
- cmp r0, #0x0
- bne _020A7F70
- bl OS_InitTick
-_020A7F70:
- bl OS_IsAlarmAvailable
-_020A7F74: ; 0x020A7F74
- cmp r0, #0x0
- bne _020A7F80
- bl OS_InitAlarm
-_020A7F80:
- ldr r1, _020A7FA8 ; =0x021CA86C
- ldr r0, _020A7FAC ; =0x000022CC
- ldr r1, [r1, #0x0]
- add r0, r1, r0
- bl OS_CreateAlarm
- mov r0, r4
- bl OS_RestoreInterrupts
-_020A7F9C: ; 0x020A7F9C
- mov r0, #0x0
- ldmia sp!, {r4-r6,lr}
- bx lr
- .balign 4
-_020A7FA8: .word 0x021CA86C
-_020A7FAC: .word 0x000022CC
-
- arm_func_start FUN_020A7FB0
-FUN_020A7FB0: ; 0x020A7FB0
- stmdb sp!, {r4,lr}
- mov r4, r0
- bl FUN_020A7138
- add r1, r0, #0x2000
- cmp r4, #0x0
- ldr r0, [r1, #0x270]
- ldmeqia sp!, {r4,lr}
- bxeq lr
- cmp r0, #0x0
- ldmeqia sp!, {r4,lr}
- bxeq lr
- ldr r1, [r1, #0x274]
- cmp r1, #0xc
- ldmlsia sp!, {r4,lr}
- bxls lr
- ldr r3, [r0, #0x4]
- cmp r3, #0x0
- beq _020A8040
-_020A7FF8:
- cmp r3, r4
- bne _020A8034
- ldr r2, [r3, #0x8]
- cmp r2, #0x0
- ldrne r1, [r3, #0xc]
- strne r1, [r2, #0xc]
- ldreq r1, [r3, #0xc]
- streq r1, [r0, #0x4]
- ldr r2, [r3, #0xc]
- cmp r2, #0x0
- ldrne r1, [r3, #0x8]
- strne r1, [r2, #0x8]
- ldreq r1, [r3, #0x8]
- streq r1, [r0, #0x8]
- b _020A8040
-_020A8034:
- ldr r3, [r3, #0xc]
- cmp r3, #0x0
- bne _020A7FF8
-_020A8040:
- mov r1, #0x0
- str r1, [r4, #0xc]
- ldr r1, [r0, #0x8]
- str r1, [r4, #0x8]
- str r4, [r0, #0x8]
- ldr r1, [r4, #0x8]
- cmp r1, #0x0
- strne r4, [r1, #0xc]
- streq r4, [r0, #0x4]
- cmp r3, #0x0
- ldreq r1, [r0, #0x0]
- streq r1, [r4, #0x4]
- ldreq r1, [r0, #0x0]
- addeq r1, r1, #0x1
- streq r1, [r0, #0x0]
- ldmia sp!, {r4,lr}
- bx lr
-
- arm_func_start FUN_020A8084
-FUN_020A8084: ; 0x020A8084
- stmdb sp!, {r4,lr}
- mov r4, r0
- bl FUN_020A7138
- add r1, r0, #0x2000
- ldr r2, [r1, #0x270]
- mov r0, #0x0
- cmp r2, #0x0
- ldmeqia sp!, {r4,lr}
- bxeq lr
- ldr r1, [r1, #0x274]
- cmp r1, #0xc
- ldmlsia sp!, {r4,lr}
- bxls lr
- ldr r0, [r2, #0x4]
- cmp r0, #0x0
- ldmeqia sp!, {r4,lr}
- bxeq lr
-_020A80C8:
- ldr r1, [r0, #0x4]
- cmp r1, r4
- ldmeqia sp!, {r4,lr}
- bxeq lr
- ldr r0, [r0, #0xc]
- cmp r0, #0x0
- bne _020A80C8
- ldmia sp!, {r4,lr}
- bx lr
-
- arm_func_start FUN_020A80EC
-FUN_020A80EC: ; 0x020A80EC
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r5, r0
- bl FUN_020A7138
- add r0, r0, #0x2000
- cmp r5, #0x0
- mov r4, #0x0
- ldr r1, [r0, #0x270]
- addeq sp, sp, #0x4
- moveq r0, r4
- ldmeqia sp!, {r4-r5,lr}
- bxeq lr
- cmp r1, #0x0
- beq _020A8160
- ldr r0, [r0, #0x274]
- cmp r0, #0xc
- bls _020A8160
- ldr r4, [r1, #0x4]
- cmp r4, #0x0
- beq _020A8160
-_020A813C:
- add r0, r4, #0x10
- mov r1, r5
- add r0, r0, #0x4
- bl FUN_020A8B78
-_020A814C: ; 0x020A814C
- cmp r0, #0x0
- bne _020A8160
- ldr r4, [r4, #0xc]
- cmp r4, #0x0
- bne _020A813C
-_020A8160:
- mov r0, r4
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
-
- arm_func_start FUN_020A8170
-FUN_020A8170: ; 0x020A8170
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- bl FUN_020A7138
- add r0, r0, #0x2000
- ldr r1, [r0, #0x270]
- cmp r1, #0x0
- beq _020A81A4
- ldr r0, [r0, #0x274]
- cmp r0, #0xc
- addhi sp, sp, #0x4
- ldrhi r0, [r1, #0x4]
- ldmhiia sp!, {lr}
- bxhi lr
-_020A81A4:
- mov r0, #0x0
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-
- arm_func_start FUN_020A81B4
-FUN_020A81B4: ; 0x020A81B4
- stmdb sp!, {r4,lr}
- bl FUN_020A7138
- add r2, r0, #0x2000
- ldr r1, [r2, #0x270]
- mov r0, #0x0
- cmp r1, #0x0
- ldmeqia sp!, {r4,lr}
- bxeq lr
- ldr r3, [r2, #0x274]
- cmp r3, #0xc
- ldmlsia sp!, {r4,lr}
- bxls lr
- ldr r2, _020A8294 ; =0x4EC4EC4F
- sub r3, r3, #0xc
- umull r2, r4, r3, r2
- movs r4, r4, lsr #0x6
- ldmeqia sp!, {r4,lr}
- bxeq lr
- ldr r2, [r1, #0x0]
- cmp r4, r2
- ldmlsia sp!, {r4,lr}
- bxls lr
- mov lr, r0
- cmp r4, #0x0
- bls _020A8240
- add r12, r1, #0xc
- mov r2, #0xd0
-_020A8220:
- mul r0, lr, r2
- ldrb r3, [r12, r0]
- add r0, r12, r0
- cmp r3, #0x0
- beq _020A8240
- add lr, lr, #0x1
- cmp lr, r4
- blo _020A8220
-_020A8240:
- cmp lr, r4
- ldmcsia sp!, {r4,lr}
- bxcs lr
- mov r2, #0x1
- strb r2, [r0, #0x0]
- ldr r3, [r1, #0x0]
- mov r2, #0x0
- str r3, [r0, #0x4]
- str r2, [r0, #0xc]
- ldr r2, [r1, #0x8]
- str r2, [r0, #0x8]
- str r0, [r1, #0x8]
- ldr r2, [r0, #0x8]
- cmp r2, #0x0
- strne r0, [r2, #0xc]
- streq r0, [r1, #0x4]
- ldr r2, [r1, #0x0]
- add r2, r2, #0x1
- str r2, [r1, #0x0]
- ldmia sp!, {r4,lr}
- bx lr
- .balign 4
-_020A8294: .word 0x4EC4EC4F
-
- arm_func_start FUN_020A8298
-FUN_020A8298: ; 0x020A8298
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- mov r5, r0
- mov r4, r1
- bl FUN_020A7138
- movs r7, r0
- addeq sp, sp, #0x4
- ldmeqia sp!, {r4-r7,lr}
- bxeq lr
- add r0, r7, #0x2000
- ldrb r0, [r0, #0x26a]
- cmp r0, #0x0
- addne sp, sp, #0x4
- ldmneia sp!, {r4-r7,lr}
- bxne lr
- ldrh r0, [r5, #0x3c]
- cmp r0, #0x0
- addne sp, sp, #0x4
- ldmneia sp!, {r4-r7,lr}
- bxne lr
- add r0, r5, #0x4
- bl FUN_020A80EC
- movs r6, r0
- bne _020A8300
- bl FUN_020A81B4
- mov r6, r0
-_020A8300:
- cmp r6, #0x0
- bne _020A8320
- add r0, r7, #0x2000
- ldr r0, [r0, #0x278]
- cmp r0, #0x1
- bne _020A8320
- bl FUN_020A8170
- mov r6, r0
-_020A8320:
- cmp r6, #0x0
- addeq sp, sp, #0x4
- ldmeqia sp!, {r4-r7,lr}
- bxeq lr
- mov r0, r5
- add r1, r6, #0x10
- mov r2, #0xc0
- strh r4, [r6, #0x2]
- bl MIi_CpuCopyFast
- mov r0, r6
- bl FUN_020A7FB0
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,lr}
- bx lr
-
- arm_func_start FUN_020A8358
-FUN_020A8358: ; 0x020A8358
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r4, r0
- bl OS_DisableInterrupts
- mov r5, r0
- bl FUN_020A7138
-_020A8370: ; 0x020A8370
- cmp r0, #0x0
- bne _020A8390
- mov r0, r5
- bl OS_RestoreInterrupts
- add sp, sp, #0x4
- mov r0, #0x0
- ldmia sp!, {r4-r5,lr}
- bx lr
-_020A8390:
- mov r0, r4
- bl FUN_020A8084
- movs r4, r0
- bne _020A83B8
- mov r0, r5
- bl OS_RestoreInterrupts
- add sp, sp, #0x4
- mov r0, #0x0
- ldmia sp!, {r4-r5,lr}
- bx lr
-_020A83B8:
- mov r0, r5
- bl OS_RestoreInterrupts
- add r0, r4, #0x10
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
-
- arm_func_start FUN_020A83D0
-FUN_020A83D0: ; 0x020A83D0
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r5, r0
- bl OS_DisableInterrupts
- mov r4, r0
- bl FUN_020A7138
-_020A83E8: ; 0x020A83E8
- cmp r0, #0x0
- bne _020A8408
- mov r0, r4
- bl OS_RestoreInterrupts
- add sp, sp, #0x4
- mov r0, #0x0
- ldmia sp!, {r4-r5,lr}
- bx lr
-_020A8408:
- cmp r5, #0x0
- beq _020A8434
- add r1, r0, #0x2000
- ldrb r1, [r1, #0x26a]
- add r0, r0, #0x2000
- cmp r1, #0x0
- movne r5, #0x1
- mov r1, #0x1
- moveq r5, #0x0
- strb r1, [r0, #0x26a]
- b _020A8454
-_020A8434:
- add r1, r0, #0x2000
- ldrb r1, [r1, #0x26a]
- add r0, r0, #0x2000
- cmp r1, #0x0
- movne r5, #0x1
- mov r1, #0x0
- moveq r5, #0x0
- strb r1, [r0, #0x26a]
-_020A8454:
- mov r0, r4
- bl OS_RestoreInterrupts
- mov r0, r5
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
-
- arm_func_start FUN_020A846C
-FUN_020A846C: ; 0x020A846C
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- bl OS_DisableInterrupts
- mov r5, r0
- bl FUN_020A7138
-_020A8480: ; 0x020A8480
- cmp r0, #0x0
- mov r4, #0x0
- bne _020A84A4
- mov r0, r5
- bl OS_RestoreInterrupts
- add sp, sp, #0x4
- mov r0, r4
- ldmia sp!, {r4-r5,lr}
- bx lr
-_020A84A4:
- add r0, r0, #0x2000
- ldr r1, [r0, #0x270]
- cmp r1, #0x0
- beq _020A84C0
- ldr r0, [r0, #0x274]
- cmp r0, #0xc
- ldrhi r4, [r1, #0x0]
-_020A84C0:
- mov r0, r5
- bl OS_RestoreInterrupts
- mov r0, r4
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
-
- arm_func_start FUN_020A84D8
-FUN_020A84D8: ; 0x020A84D8
- stmdb sp!, {r4,lr}
- bl OS_DisableInterrupts
- mov r4, r0
- bl FUN_020A7138
-_020A84E8: ; 0x020A84E8
- cmp r0, #0x0
- bne _020A8500
- mov r0, r4
- bl OS_RestoreInterrupts
- ldmia sp!, {r4,lr}
- bx lr
-_020A8500:
- add r1, r0, #0x2000
- ldr r0, [r1, #0x270]
- cmp r0, #0x0
- beq _020A8524
- ldr r2, [r1, #0x274]
- cmp r2, #0x0
- ble _020A8524
- mov r1, #0x0
- bl MI_CpuFill8
-_020A8524:
- mov r0, r4
- bl OS_RestoreInterrupts
- ldmia sp!, {r4,lr}
- bx lr
-
- arm_func_start FUN_020A8534
-FUN_020A8534: ; 0x020A8534
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r2, [r0, #0x8]
- ldr r1, _020A858C ; =0x01FF8000
- cmp r2, r1
- addne sp, sp, #0x4
- ldmneia sp!, {lr}
- bxne lr
- ldr r1, [r0, #0xc]
- sub r1, r1, #0x1
- str r1, [r0, #0xc]
- ldr r1, [r0, #0xc]
- cmp r1, #0x0
- addne sp, sp, #0x4
- ldmneia sp!, {lr}
- bxne lr
- mov r1, #0x0
- str r1, [r0, #0x8]
- bl OS_WakeupThread
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020A858C: .word 0x01FF8000
-
- arm_func_start FUN_020A8590
-FUN_020A8590:
- ldr r2, [r0, #0x8]
- cmp r2, #0x0
- bne _020A85B8
- ldr r1, _020A85D8 ; =0x01FF8000
- str r1, [r0, #0x8]
- ldr r1, [r0, #0xc]
- add r1, r1, #0x1
- str r1, [r0, #0xc]
- mov r0, #0x1
- bx lr
-_020A85B8:
- ldr r1, _020A85D8 ; =0x01FF8000
- cmp r2, r1
- ldreq r1, [r0, #0xc]
- addeq r1, r1, #0x1
- streq r1, [r0, #0xc]
- moveq r0, #0x1
- movne r0, #0x0
- bx lr
- .balign 4
-_020A85D8: .word 0x01FF8000
-
- arm_func_start FUN_020A85DC
-FUN_020A85DC: ; 0x020A85DC
- ldr ip, _020A85E8 ; =FUN_020A8534
- ldr r0, _020A85EC ; =0x021CA87C
- bx r12
- .balign 4
-_020A85E8: .word FUN_020A8534
-_020A85EC: .word 0x021CA87C
-
- arm_func_start FUN_020A85F0
-FUN_020A85F0: ; 0x020A85F0
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldrh r1, [r0, #0x0]
- cmp r1, #0x12
- addne sp, sp, #0x4
- ldmneia sp!, {lr}
- bxne lr
- ldrh r2, [r0, #0x2]
- ldr r1, _020A863C ; =0x021CA870
- str r2, [r1, #0x24]
- ldrh r0, [r0, #0x2]
- cmp r0, #0x0
- bne _020A8628
- bl FUN_020A6BBC
-_020A8628:
- ldr r0, _020A8640 ; =0x021CA874
- bl OS_WakeupThread
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020A863C: .word 0x021CA870
-_020A8640: .word 0x021CA874
-
- arm_func_start FUN_020A8644
-FUN_020A8644:
- stmdb sp!, {r4-r8,lr}
- mov r8, r0
- mov r7, r1
- mov r6, r2
- bl OS_DisableInterrupts
- mov r5, r0
- bl FUN_020A7138
-_020A8660: ; 0x020A8660
- cmp r0, #0x0
- bne _020A867C
- mov r0, r5
- bl OS_RestoreInterrupts
-_020A8670: ; 0x020A8670
- mvn r0, #0x0
- ldmia sp!, {r4-r8,lr}
- bx lr
-_020A867C:
- ldr r0, _020A87AC ; =0x021CA87C
- bl OS_LockMutex
- bl FUN_020A7138
- movs r4, r0
- bne _020A86AC
- ldr r0, _020A87AC ; =0x021CA87C
- bl OS_UnlockMutex
- mov r0, r5
- bl OS_RestoreInterrupts
-_020A86A0: ; 0x020A86A0
- mvn r0, #0x0
- ldmia sp!, {r4-r8,lr}
- bx lr
-_020A86AC:
- add r0, r4, #0x2000
- ldr r1, [r0, #0x260]
- cmp r1, #0x9
- bne _020A86C8
- ldrb r0, [r0, #0x26b]
- cmp r0, #0x1
- bne _020A86E4
-_020A86C8:
- ldr r0, _020A87AC ; =0x021CA87C
- bl OS_UnlockMutex
- mov r0, r5
- bl OS_RestoreInterrupts
- mvn r0, #0x3
- ldmia sp!, {r4-r8,lr}
- bx lr
-_020A86E4:
- mov r0, r7
- mov r2, r6
- add r1, r4, #0xf00
- bl MI_CpuCopy8
- mov r3, r6, lsl #0x10
- ldr r0, _020A87B0 ; =FUN_020A85F0
- mov r1, r8
- add r2, r4, #0xf00
- mov r3, r3, lsr #0x10
- bl WM_SetDCFData
- cmp r0, #0x8
- addls pc, pc, r0, lsl #0x2
- b _020A873C
-_020A8718:
- b _020A873C
-_020A871C:
- b _020A873C
-_020A8720:
- b _020A8758
-_020A8724:
- b _020A873C
-_020A8728:
- b _020A873C
-_020A872C:
- b _020A873C
-_020A8730:
- b _020A873C
-_020A8734:
- b _020A873C
-_020A8738:
- b _020A873C
-_020A873C:
- ldr r0, _020A87AC ; =0x021CA87C
- bl OS_UnlockMutex
- mov r0, r5
- bl OS_RestoreInterrupts
- mvn r0, #0x4
- ldmia sp!, {r4-r8,lr}
- bx lr
-_020A8758:
- ldr r0, _020A87B4 ; =0x021CA874
- bl OS_SleepThread
- ldr r0, _020A87B8 ; =0x021CA870
- ldr r0, [r0, #0x24]
- cmp r0, #0x0
- beq _020A8790
- cmp r0, #0x1
- ldr r0, _020A87AC ; =0x021CA87C
- bl OS_UnlockMutex
- mov r0, r5
- bl OS_RestoreInterrupts
- mvn r0, #0x4
- ldmia sp!, {r4-r8,lr}
- bx lr
-_020A8790:
- ldr r0, _020A87AC ; =0x021CA87C
- bl OS_UnlockMutex
- mov r0, r5
- bl OS_RestoreInterrupts
- mov r0, r6
- ldmia sp!, {r4-r8,lr}
- bx lr
- .balign 4
-_020A87AC: .word 0x021CA87C
-_020A87B0: .word FUN_020A85F0
-_020A87B4: .word 0x021CA874
-_020A87B8: .word 0x021CA870
-
- arm_func_start FUN_020A87BC
-FUN_020A87BC: ; 0x020A87BC
- stmdb sp!, {r4,lr}
- mov r4, r0
- bl OS_DisableInterrupts
- ldr r1, _020A87DC ; =0x021CA870
- str r4, [r1, #0x28]
- bl OS_RestoreInterrupts
- ldmia sp!, {r4,lr}
- bx lr
- .balign 4
-_020A87DC: .word 0x021CA870
-
- arm_func_start FUN_020A87E0
-FUN_020A87E0: ; 0x020A87E0
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- mov r7, #0x0
- mov r4, r0
- mov r6, r7
- bl FUN_020A7138
- mov r5, r0
- bl OS_DisableInterrupts
-_020A8800: ; 0x020A8800
- cmp r5, #0x0
- beq _020A8830
- add r1, r5, #0x2000
- ldr r2, [r1, #0x260]
- cmp r2, #0x9
- bne _020A8830
- ldrb r1, [r1, #0x26b]
- cmp r1, #0x0
- addeq r2, r5, #0x2100
- ldreq r1, _020A884C ; =0x0000214C
- ldreqh r6, [r2, #0x4a]
- addeq r7, r5, r1
-_020A8830:
- bl OS_RestoreInterrupts
-_020A8834: ; 0x020A8834
- cmp r4, #0x0
- strneh r6, [r4, #0x0]
- mov r0, r7
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,lr}
- bx lr
- .balign 4
-_020A884C: .word 0x0000214C
-
- arm_func_start FUN_020A8850
-FUN_020A8850:
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r5, #0x0
- bl FUN_020A7138
- mov r4, r0
- bl OS_DisableInterrupts
-_020A8868: ; 0x020A8868
- cmp r4, #0x0
- beq _020A8890
- add r1, r4, #0x2000
- ldr r2, [r1, #0x260]
- cmp r2, #0x9
- bne _020A8890
- ldrb r1, [r1, #0x26b]
- cmp r1, #0x0
- ldreq r1, _020A88A4 ; =0x00002144
- addeq r5, r4, r1
-_020A8890:
- bl OS_RestoreInterrupts
- mov r0, r5
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
- .balign 4
-_020A88A4: .word 0x00002144
-
- arm_func_start FUN_020A88A8
-FUN_020A88A8: ; 0x020A88A8
- stmdb sp!, {r4,lr}
- bl FUN_020A7138
- movs r4, r0
- ldmeqia sp!, {r4,lr}
- bxeq lr
- add r0, r4, #0x2000
- ldr r1, [r0, #0x260]
- cmp r1, #0x9
- ldmneia sp!, {r4,lr}
- bxne lr
- ldrb r0, [r0, #0x26b]
- cmp r0, #0x1
- ldmeqia sp!, {r4,lr}
- bxeq lr
- ldr r0, _020A8928 ; =0x021CA87C
- bl FUN_020A8590
-_020A88E8: ; 0x020A88E8
- cmp r0, #0x0
- ldmeqia sp!, {r4,lr}
- bxeq lr
- ldr r1, _020A892C ; =0x00002144
- ldr r0, _020A8930 ; =FUN_020A85DC
- add r1, r4, r1
- add r2, r4, #0xf00
- mov r3, #0x0
- bl WM_SetDCFData
- cmp r0, #0x2
- ldmeqia sp!, {r4,lr}
- bxeq lr
- ldr r0, _020A8928 ; =0x021CA87C
- bl FUN_020A8534
- ldmia sp!, {r4,lr}
- bx lr
- .balign 4
-_020A8928: .word 0x021CA87C
-_020A892C: .word 0x00002144
-_020A8930: .word FUN_020A85DC
-
- arm_func_start FUN_020A8934
-FUN_020A8934: ; 0x020A8934
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r1, _020A8978 ; =0x021CA870
- mov r2, r0
- ldr r12, [r1, #0x28]
- cmp r12, #0x0
- addeq sp, sp, #0x4
- ldmeqia sp!, {lr}
- bxeq lr
- ldrh r3, [r2, #0x6]
- add r0, r2, #0x1e
- add r1, r2, #0x18
- add r2, r2, #0x2c
- blx r12
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020A8978: .word 0x021CA870
-
- arm_func_start FUN_020A897C
-FUN_020A897C: ; 0x020A897C
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r1, _020A89C8 ; =0x021CA870
- ldrb r0, [r1, #0x0]
- cmp r0, #0x0
- addne sp, sp, #0x4
- ldmneia sp!, {lr}
- bxne lr
- ldr r0, _020A89CC ; =0x021CA87C
- mov r2, #0x0
- mov r3, #0x1
- strb r3, [r1, #0x0]
- str r2, [r1, #0x24]
- str r2, [r1, #0x8]
- str r2, [r1, #0x4]
- bl OS_InitMutex
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020A89C8: .word 0x021CA870
-_020A89CC: .word 0x021CA87C
-
- arm_func_start FUN_020A89D0
-FUN_020A89D0: ; 0x020A89D0
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r2, _020A8A48 ; =0x021CA89C
- ands r1, r0, #0x2
- ldrb r12, [r2, #0x0]
- movne r0, r0, asr #0x2
- andne lr, r0, #0xff
- moveq r0, r0, asr #0x2
- addeq r0, r0, #0x19
- andeq lr, r0, #0xff
- mov r1, r12, lsr #0x1f
- rsb r0, r1, r12, lsl #0x1c
- cmp r12, #0x10
- ldr r3, _020A8A4C ; =0x021CA8A0
- add r0, r1, r0, ror #0x1c
- strb lr, [r3, r0]
- addcc r0, r12, #0x1
- strccb r0, [r2, #0x0]
- addcc sp, sp, #0x4
- ldmccia sp!, {lr}
- bxcc lr
- add r0, r12, #0x1
- mov r1, r0, lsr #0x1f
- rsb r0, r1, r0, lsl #0x1c
- add r0, r1, r0, ror #0x1c
- add r0, r0, #0x10
- strb r0, [r2, #0x0]
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020A8A48: .word 0x021CA89C
-_020A8A4C: .word 0x021CA8A0
-
- arm_func_start FUN_020A8A50
-FUN_020A8A50: ; 0x020A8A50
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- bl FUN_020A8A90
- mov r1, #0x0
- cmp r0, #0x1c
- movcs r1, #0x3
- bhs _020A8A80
- cmp r0, #0x16
- movcs r1, #0x2
- bhs _020A8A80
- cmp r0, #0x10
- movcs r1, #0x1
-_020A8A80:
- mov r0, r1
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-
- arm_func_start FUN_020A8A90
-FUN_020A8A90: ; 0x020A8A90
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r1, _020A8B20 ; =0x021CA89C
- mov r0, #0x0
- ldrb r1, [r1, #0x0]
- cmp r1, #0x10
- bls _020A8ADC
- ldr r2, _020A8B24 ; =0x021CA8A0
- mov r3, r0
-_020A8AB4:
- ldrb r1, [r2, #0x0]
- add r3, r3, #0x1
- cmp r3, #0x10
- add r0, r0, r1
- add r2, r2, #0x1
- blt _020A8AB4
- mov r1, r0, asr #0x3
- add r0, r0, r1, lsr #0x1c
- mov r0, r0, asr #0x4
- b _020A8B10
-_020A8ADC:
- cmp r1, #0x0
- beq _020A8B10
- mov r3, r0
- cmp r1, #0x0
- ble _020A8B0C
- ldr ip, _020A8B24 ; =0x021CA8A0
-_020A8AF4:
- ldrb r2, [r12, #0x0]
- add r3, r3, #0x1
- cmp r3, r1
- add r0, r0, r2
- add r12, r12, #0x1
- blt _020A8AF4
-_020A8B0C:
- bl _s32_div_f
-_020A8B10:
- and r0, r0, #0xff
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020A8B20: .word 0x021CA89C
-_020A8B24: .word 0x021CA8A0
-
- arm_func_start FUN_020A8B28
-FUN_020A8B28: ; 0x020A8B28
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- bl OS_DisableInterrupts
- mov r5, r0
- bl FUN_020A7138
-_020A8B3C: ; 0x020A8B3C
- cmp r0, #0x0
- mov r4, #0x0
- beq _020A8B60
- add r0, r0, #0x2000
- ldr r0, [r0, #0x260]
- cmp r0, #0x9
- bne _020A8B60
- bl FUN_020A8A50
- mov r4, r0
-_020A8B60:
- mov r0, r5
- bl OS_RestoreInterrupts
- mov r0, r4
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
-
- arm_func_start FUN_020A8B78
-FUN_020A8B78:
- mov r12, #0x0
-_020A8B7C:
- ldrb r3, [r0, r12]
- ldrb r2, [r1, r12]
- cmp r3, r2
- movne r0, #0x0
- bxne lr
- add r12, r12, #0x1
- cmp r12, #0x6
- blt _020A8B7C
- mov r0, #0x1
- bx lr
-
- arm_func_start FUN_020A8BA4
-FUN_020A8BA4: ; 0x020A8BA4
- ldr ip, _020A8BAC ; =DGT_Hash1GetDigest_R
- bx r12
- .balign 4
-_020A8BAC: .word DGT_Hash1GetDigest_R
-
- arm_func_start FUN_020A8BB0
-FUN_020A8BB0: ; 0x020A8BB0
- ldr ip, _020A8BB8 ; =DGT_Hash1SetSource
- bx r12
- .balign 4
-_020A8BB8: .word DGT_Hash1SetSource
-
- arm_func_start FUN_020A8BBC
-FUN_020A8BBC: ; 0x020A8BBC
- ldr ip, _020A8BC4 ; =DGT_Hash1Reset
- bx r12
- .balign 4
-_020A8BC4: .word DGT_Hash1Reset
-
- arm_func_start FUN_020A8BC8
-FUN_020A8BC8: ; 0x020A8BC8
- stmdb sp!, {r4,lr}
- ldrsh r4, [r3, #0x0]
- ldr r12, [sp, #0x8]
- mov lr, #0x0
- strh r4, [r0, #0x0]
- ldrb r4, [r3, #0x2]
- cmp r12, #0x2
- strb r4, [r0, #0x2]
- strb lr, [r0, #0x3]
- beq _020A8C04
- cmp r12, #0x3
- beq _020A8C10
- cmp r12, #0x4
- beq _020A8C1C
- ldmia sp!, {r4,pc}
-_020A8C04:
- add r0, r0, #0x4
- bl FUN_020A8CA8
- ldmia sp!, {r4,pc}
-_020A8C10:
- add r0, r0, #0x4
- bl FUN_020A91D8
- ldmia sp!, {r4,pc}
-_020A8C1C:
- add r0, r0, #0x4
- bl FUN_020A9D18
- ldmia sp!, {r4,pc}
-
- arm_func_start FUN_020A8C28
-FUN_020A8C28: ; 0x020A8C28
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldrsh r12, [r0, #0x0]
- cmp r3, #0x2
- strh r12, [sp, #0x0]
- ldrb r12, [r0, #0x2]
- strb r12, [sp, #0x2]
- beq _020A8C60
- cmp r3, #0x3
- beq _020A8C78
- cmp r3, #0x4
- beq _020A8C90
- add sp, sp, #0x4
- ldmia sp!, {pc}
-_020A8C60:
- add r3, sp, #0x0
- add r0, r0, #0x4
- sub r2, r2, #0x4
- bl FUN_020A8F58
- add sp, sp, #0x4
- ldmia sp!, {pc}
-_020A8C78:
- add r3, sp, #0x0
- add r0, r0, #0x4
- sub r2, r2, #0x4
- bl FUN_020A97DC
- add sp, sp, #0x4
- ldmia sp!, {pc}
-_020A8C90:
- add r3, sp, #0x0
- add r0, r0, #0x4
- sub r2, r2, #0x4
- bl FUN_020A9F10
- add sp, sp, #0x4
- ldmia sp!, {pc}
-
- arm_func_start FUN_020A8CA8
-FUN_020A8CA8: ; 0x020A8CA8
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0x3c
- movs r2, r2, lsr #0x2
- str r2, [sp, #0x4]
- mov r2, #0x0
- str r2, [sp, #0x0]
- addeq sp, sp, #0x3c
- ldmeqia sp!, {r4-r11,pc}
-_020A8CC8: ; 0x020A8CC8
- mov r5, #0x8000
- ldr fp, _020A8F4C ; =0x020FF5D4
- ldr r4, _020A8F50 ; =0x00007FFF
- str r2, [sp, #0x8]
- str r2, [sp, #0xc]
- str r2, [sp, #0x10]
- str r2, [sp, #0x14]
- str r2, [sp, #0x18]
- rsb r5, r5, #0x0
- mov r6, #0x2
- mov lr, #0x58
- str r2, [sp, #0x1c]
- str r2, [sp, #0x20]
- str r2, [sp, #0x24]
- str r2, [sp, #0x28]
- str r2, [sp, #0x2c]
- str r2, [sp, #0x30]
- str r2, [sp, #0x34]
-_020A8D10:
- ldrb r9, [r3, #0x2]
- ldrsh r2, [r3, #0x0]
- ldrsh r7, [r1, #0x0]
- mov r10, r9, lsl #0x1
- ldrsh r10, [r11, r10]
- subs r8, r7, r2
- movmi r7, r6
- ldrpl r7, [sp, #0x8]
- rsbmi r8, r8, #0x0
- cmp r8, r10
- orrge r7, r7, #0x1
- ands r8, r7, #0x1
- ldreq r10, [sp, #0xc]
- ands r8, r7, #0x2
- rsbne r10, r10, #0x0
- mov r8, #0x8000
- add r2, r2, r10
- rsb r8, r8, #0x0
- cmp r2, r8
- ldr r8, _020A8F54 ; =0x020FF5B8
- movlt r2, r5
- cmp r2, r4
- ldrsb r8, [r8, r7]
- movgt r2, r4
- adds r9, r9, r8
- ldrmi r9, [sp, #0x10]
- bmi _020A8D84
- cmp r9, #0x58
- movgt r9, lr
-_020A8D84:
- strh r2, [r3, #0x0]
- strb r9, [r3, #0x2]
- ldrb r10, [r3, #0x2]
- and r2, r7, #0xff
- ldrsh r7, [r3, #0x0]
- ldrsh r8, [r1, #0x2]
- mov r12, r10, lsl #0x1
- ldrsh r12, [r11, r12]
- subs r9, r8, r7
- movmi r8, r6
- ldrpl r8, [sp, #0x14]
- rsbmi r9, r9, #0x0
- cmp r9, r12
- orrge r8, r8, #0x1
- ands r9, r8, #0x1
- ldreq r12, [sp, #0x18]
- ands r9, r8, #0x2
- rsbne r12, r12, #0x0
- mov r9, #0x8000
- add r7, r7, r12
- rsb r9, r9, #0x0
- cmp r7, r9
- ldr sb, _020A8F54 ; =0x020FF5B8
- movlt r7, r5
- cmp r7, r4
- ldrsb r9, [r9, r8]
- movgt r7, r4
- adds r10, r10, r9
- ldrmi r10, [sp, #0x1c]
- bmi _020A8E04
- cmp r10, #0x58
- movgt r10, lr
-_020A8E04:
- strh r7, [r3, #0x0]
- strb r10, [r3, #0x2]
- and r7, r8, #0xff
- orr r2, r2, r7, lsl #0x2
- ldrb r10, [r3, #0x2]
- ldrsh r7, [r3, #0x0]
- ldrsh r8, [r1, #0x4]
- mov r12, r10, lsl #0x1
- ldrsh r12, [r11, r12]
- subs r9, r8, r7
- movmi r8, r6
- ldrpl r8, [sp, #0x20]
- rsbmi r9, r9, #0x0
- cmp r9, r12
- orrge r8, r8, #0x1
- ands r9, r8, #0x1
- ldreq r12, [sp, #0x24]
- ands r9, r8, #0x2
- rsbne r12, r12, #0x0
- mov r9, #0x8000
- add r7, r7, r12
- rsb r9, r9, #0x0
- cmp r7, r9
- ldr sb, _020A8F54 ; =0x020FF5B8
- movlt r7, r5
- cmp r7, r4
- ldrsb r9, [r9, r8]
- movgt r7, r4
- and r2, r2, #0xff
- adds r10, r10, r9
- ldrmi r10, [sp, #0x28]
- bmi _020A8E8C
- cmp r10, #0x58
- movgt r10, lr
-_020A8E8C:
- strh r7, [r3, #0x0]
- strb r10, [r3, #0x2]
- and r7, r8, #0xff
- orr r2, r2, r7, lsl #0x4
- ldrb r10, [r3, #0x2]
- ldrsh r8, [r1, #0x6]
- ldrsh r7, [r3, #0x0]
- mov r12, r10, lsl #0x1
- ldrsh r12, [r11, r12]
- subs r9, r8, r7
- movmi r8, r6
- ldrpl r8, [sp, #0x2c]
- rsbmi r9, r9, #0x0
- cmp r9, r12
- orrge r8, r8, #0x1
- ands r9, r8, #0x1
- ldreq r12, [sp, #0x30]
- ands r9, r8, #0x2
- rsbne r12, r12, #0x0
- mov r9, #0x8000
- add r7, r7, r12
- rsb r9, r9, #0x0
- cmp r7, r9
- ldr sb, _020A8F54 ; =0x020FF5B8
- movlt r7, r5
- cmp r7, r4
- ldrsb r9, [r9, r8]
- movgt r7, r4
- and r2, r2, #0xff
- adds r10, r10, r9
- add r1, r1, #0x8
- ldrmi r10, [sp, #0x34]
- bmi _020A8F18
- cmp r10, #0x58
- movgt r10, lr
-_020A8F18:
- strh r7, [r3, #0x0]
- and r7, r8, #0xff
- strb r10, [r3, #0x2]
- orr r2, r2, r7, lsl #0x6
- strb r2, [r0], #0x1
- ldr r2, [sp, #0x0]
- add r7, r2, #0x1
- ldr r2, [sp, #0x4]
- str r7, [sp, #0x0]
- cmp r7, r2
- blo _020A8D10
- add sp, sp, #0x3c
- ldmia sp!, {r4-r11,pc}
- .balign 4
-_020A8F4C: .word 0x020FF5D4
-_020A8F50: .word 0x00007FFF
-_020A8F54: .word 0x020FF5B8
-
- arm_func_start FUN_020A8F58
-FUN_020A8F58: ; 0x020A8F58
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0x34
- cmp r2, #0x0
- addls sp, sp, #0x34
- mov r12, #0x0
- ldmlsia sp!, {r4-r11,pc}
-_020A8F70: ; 0x020A8F70
- mov r4, #0x8000
- rsb r6, r4, #0x0
- ldr r5, _020A91CC ; =0x00007FFF
- ldr fp, _020A91D0 ; =0x020FF5D4
- str r12, [sp, #0x0]
- str r12, [sp, #0x8]
- str r12, [sp, #0xc]
- str r12, [sp, #0x14]
- str r12, [sp, #0x18]
- mov r4, #0x58
- str r12, [sp, #0x20]
- str r12, [sp, #0x24]
- str r12, [sp, #0x2c]
-_020A8FA4:
- ldrb r7, [r0, #0x0]
- ldrb r8, [r3, #0x2]
- ldrsh r9, [r3, #0x0]
- and r10, r7, #0x3
- ands r7, r10, #0x1
- mov r7, r8, lsl #0x1
- ldrsh r7, [r11, r7]
- ldreq r7, [sp, #0x0]
- ands lr, r10, #0x2
- str lr, [sp, #0x4]
- beq _020A8FE8
- sub r9, r9, r7
- mov r7, #0x8000
- rsb r7, r7, #0x0
- cmp r9, r7
- movlt r9, r6
- b _020A8FF4
-_020A8FE8:
- add r9, r9, r7
- cmp r9, r5
- movgt r9, r5
-_020A8FF4:
- ldr r7, _020A91D4 ; =0x020FF5B8
- ldrsb r7, [r7, r10]
- adds r8, r8, r7
- ldrmi r8, [sp, #0x8]
- bmi _020A9010
- cmp r8, #0x58
- movgt r8, r4
-_020A9010:
- mov r7, r9, lsl #0x10
- mov r7, r7, asr #0x10
- strh r7, [r3, #0x0]
- strb r8, [r3, #0x2]
- strh r7, [r1, #0x0]
- ldrb r7, [r0, #0x0]
- ldrb r8, [r3, #0x2]
- ldrsh r9, [r3, #0x0]
- mov r7, r7, asr #0x2
- and r10, r7, #0x3
- ands r7, r10, #0x1
- mov r7, r8, lsl #0x1
- ldrsh r7, [r11, r7]
- ldreq r7, [sp, #0xc]
- ands lr, r10, #0x2
- str lr, [sp, #0x10]
- beq _020A906C
- sub r9, r9, r7
- mov r7, #0x8000
- rsb r7, r7, #0x0
- cmp r9, r7
- movlt r9, r6
- b _020A9078
-_020A906C:
- add r9, r9, r7
- cmp r9, r5
- movgt r9, r5
-_020A9078:
- ldr r7, _020A91D4 ; =0x020FF5B8
- ldrsb r7, [r7, r10]
- adds r8, r8, r7
- ldrmi r8, [sp, #0x14]
- bmi _020A9094
- cmp r8, #0x58
- movgt r8, r4
-_020A9094:
- mov r7, r9, lsl #0x10
- mov r7, r7, asr #0x10
- strh r7, [r3, #0x0]
- strb r8, [r3, #0x2]
- strh r7, [r1, #0x2]
- ldrb r7, [r0, #0x0]
- ldrb r8, [r3, #0x2]
- ldrsh r9, [r3, #0x0]
- mov r7, r7, asr #0x4
- and r10, r7, #0x3
- ands r7, r10, #0x1
- mov r7, r8, lsl #0x1
- ldrsh r7, [r11, r7]
- ldreq r7, [sp, #0x18]
- ands lr, r10, #0x2
- str lr, [sp, #0x1c]
- beq _020A90F0
- sub r9, r9, r7
- mov r7, #0x8000
- rsb r7, r7, #0x0
- cmp r9, r7
- movlt r9, r6
- b _020A90FC
-_020A90F0:
- add r9, r9, r7
- cmp r9, r5
- movgt r9, r5
-_020A90FC:
- ldr r7, _020A91D4 ; =0x020FF5B8
- ldrsb r7, [r7, r10]
- adds r8, r8, r7
- ldrmi r8, [sp, #0x20]
- bmi _020A9118
- cmp r8, #0x58
- movgt r8, r4
-_020A9118:
- mov r7, r9, lsl #0x10
- mov r7, r7, asr #0x10
- strh r7, [r3, #0x0]
- strb r8, [r3, #0x2]
- strh r7, [r1, #0x4]
- ldrb r7, [r0, #0x0]
- ldrb r8, [r3, #0x2]
- ldrsh r9, [r3, #0x0]
- mov r7, r7, asr #0x6
- and r10, r7, #0x3
- ands r7, r10, #0x1
- mov r7, r8, lsl #0x1
- ldrsh r7, [r11, r7]
- ldreq r7, [sp, #0x24]
- ands lr, r10, #0x2
- str lr, [sp, #0x28]
- beq _020A9174
- sub r9, r9, r7
- mov r7, #0x8000
- rsb r7, r7, #0x0
- cmp r9, r7
- movlt r9, r6
- b _020A9180
-_020A9174:
- add r9, r9, r7
- cmp r9, r5
- movgt r9, r5
-_020A9180:
- ldr r7, _020A91D4 ; =0x020FF5B8
- ldrsb r7, [r7, r10]
- adds r8, r8, r7
- ldrmi r8, [sp, #0x2c]
- bmi _020A919C
- cmp r8, #0x58
- movgt r8, r4
-_020A919C:
- mov r7, r9, lsl #0x10
- mov r9, r7, asr #0x10
- strh r9, [r3, #0x0]
- strb r8, [r3, #0x2]
- add r12, r12, #0x1
- strh r9, [r1, #0x6]
- add r1, r1, #0x8
- add r0, r0, #0x1
- cmp r12, r2
- blo _020A8FA4
- add sp, sp, #0x34
- ldmia sp!, {r4-r11,pc}
- .balign 4
-_020A91CC: .word 0x00007FFF
-_020A91D0: .word 0x020FF5D4
-_020A91D4: .word 0x020FF5B8
-
- arm_func_start FUN_020A91D8
-FUN_020A91D8: ; 0x020A91D8
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0x54
- movs r2, r2, lsr #0x3
- str r2, [sp, #0x4]
- mov r2, #0x0
- str r2, [sp, #0x0]
- addeq sp, sp, #0x54
- ldmeqia sp!, {r4-r11,pc}
-_020A91F8: ; 0x020A91F8
- ldr r5, [sp, #0x0]
- mov r4, #0x8000
- rsb lr, r4, #0x0
- ldr ip, _020A97D0 ; =0x00007FFF
- str r2, [sp, #0x10]
- str r2, [sp, #0x14]
- str r2, [sp, #0x18]
- str r2, [sp, #0x1c]
- str r2, [sp, #0x20]
- mov r4, #0x4
- mov r2, #0x58
- str r5, [sp, #0x24]
- str r5, [sp, #0x28]
- str r5, [sp, #0x2c]
- str r5, [sp, #0x30]
- str r5, [sp, #0x34]
- str r5, [sp, #0x38]
- str r5, [sp, #0x3c]
- str r5, [sp, #0x40]
- str r5, [sp, #0x44]
- str r5, [sp, #0x48]
- str r5, [sp, #0x4c]
-_020A9250:
- ldrsh r8, [r3, #0x0]
- ldrsh r6, [r1, #0x0]
- ldrb r5, [r3, #0x2]
- subs r7, r6, r8
- movmi r10, r4
- ldr r6, _020A97D4 ; =0x020FF5D4
- mov r9, r5, lsl #0x1
- ldrsh r6, [r6, r9]
- ldrpl r10, [sp, #0x10]
- rsbmi r7, r7, #0x0
- cmp r7, r6
- orrge r10, r10, #0x2
- subge r7, r7, r6
- mov r9, r6, asr #0x1
- cmp r7, r9
- orrge r10, r10, #0x1
- ands r7, r10, #0x2
- mov r7, r6, asr #0x2
- addne r7, r7, r6
- ands r6, r10, #0x1
- addne r7, r7, r9
- ands r6, r10, #0x4
- rsbne r7, r7, #0x0
- add r6, r8, r7
- mov r7, #0x8000
- rsb r7, r7, #0x0
- cmp r6, r7
- ldr r7, _020A97D8 ; =0x020FF5BC
- movlt r6, lr
- cmp r6, r12
- ldrsb r7, [r7, r10]
- movgt r6, r12
- adds r5, r5, r7
- ldrmi r5, [sp, #0x14]
- bmi _020A92E4
- cmp r5, #0x58
- movgt r5, r2
-_020A92E4:
- strh r6, [r3, #0x0]
- strb r5, [r3, #0x2]
- and r5, r10, #0xff
- mov r5, r5, lsl #0x5
- and r10, r5, #0xff
- ldrb r8, [r3, #0x2]
- ldrsh r11, [r3, #0x0]
- ldrsh r5, [r1, #0x2]
- mov r9, r8, lsl #0x1
- subs r7, r5, r11
- ldr r5, _020A97D4 ; =0x020FF5D4
- movmi r6, r4
- ldrsh r9, [r5, r9]
- ldrpl r6, [sp, #0x18]
- rsbmi r7, r7, #0x0
- cmp r7, r9
- orrge r6, r6, #0x2
- subge r7, r7, r9
- mov r5, r9, asr #0x1
- cmp r7, r5
- orrge r6, r6, #0x1
- ands r7, r6, #0x2
- mov r7, r9, asr #0x2
- addne r7, r7, r9
- ands r9, r6, #0x1
- addne r7, r7, r5
- ands r5, r6, #0x4
- rsbne r7, r7, #0x0
- add r5, r11, r7
- mov r7, #0x8000
- rsb r7, r7, #0x0
- cmp r5, r7
- ldr r7, _020A97D8 ; =0x020FF5BC
- movlt r5, lr
- cmp r5, r12
- ldrsb r7, [r7, r6]
- movgt r5, r12
- adds r8, r8, r7
- ldrmi r8, [sp, #0x1c]
- bmi _020A938C
- cmp r8, #0x58
- movgt r8, r2
-_020A938C:
- strh r5, [r3, #0x0]
- strb r8, [r3, #0x2]
- and r5, r6, #0xff
- orr r5, r10, r5, lsl #0x2
- and r10, r5, #0xff
- ldrb r8, [r3, #0x2]
- ldrsh r11, [r3, #0x0]
- ldrsh r5, [r1, #0x4]
- mov r9, r8, lsl #0x1
- subs r7, r5, r11
- ldr r5, _020A97D4 ; =0x020FF5D4
- movmi r6, r4
- ldrsh r9, [r5, r9]
- ldrpl r6, [sp, #0x20]
- rsbmi r7, r7, #0x0
- cmp r7, r9
- orrge r6, r6, #0x2
- subge r7, r7, r9
- mov r5, r9, asr #0x1
- cmp r7, r5
- orrge r6, r6, #0x1
- ands r7, r6, #0x2
- mov r7, r9, asr #0x2
- addne r7, r7, r9
- ands r9, r6, #0x1
- addne r7, r7, r5
- ands r5, r6, #0x4
- rsbne r7, r7, #0x0
- add r5, r11, r7
- mov r7, #0x8000
- rsb r7, r7, #0x0
- cmp r5, r7
- ldr r7, _020A97D8 ; =0x020FF5BC
- movlt r5, lr
- cmp r5, r12
- ldrsb r7, [r7, r6]
- movgt r5, r12
- adds r8, r8, r7
- ldrmi r8, [sp, #0x24]
- bmi _020A9434
- cmp r8, #0x58
- movgt r8, r2
-_020A9434:
- strh r5, [r3, #0x0]
- and r5, r6, #0xff
- str r5, [sp, #0x8]
- strb r8, [r3, #0x2]
- orr r5, r10, r5, asr #0x1
- strb r5, [r0, #0x0]
- ldrb r5, [r3, #0x2]
- ldrsh r8, [r3, #0x0]
- ldrsh r6, [r1, #0x6]
- mov r9, r5, lsl #0x1
- subs r7, r6, r8
- ldr r6, _020A97D4 ; =0x020FF5D4
- movmi r10, r4
- ldrsh r6, [r6, r9]
- ldrpl r10, [sp, #0x28]
- rsbmi r7, r7, #0x0
- cmp r7, r6
- orrge r10, r10, #0x2
- subge r7, r7, r6
- mov r9, r6, asr #0x1
- cmp r7, r9
- orrge r10, r10, #0x1
- ands r7, r10, #0x2
- mov r7, r6, asr #0x2
- addne r7, r7, r6
- ands r6, r10, #0x1
- addne r7, r7, r9
- ands r6, r10, #0x4
- rsbne r7, r7, #0x0
- add r6, r8, r7
- mov r7, #0x8000
- rsb r7, r7, #0x0
- cmp r6, r7
- ldr r7, _020A97D8 ; =0x020FF5BC
- movlt r6, lr
- cmp r6, r12
- ldrsb r7, [r7, r10]
- movgt r6, r12
- adds r5, r5, r7
- ldrmi r5, [sp, #0x2c]
- bmi _020A94E0
- cmp r5, #0x58
- movgt r5, r2
-_020A94E0:
- strh r6, [r3, #0x0]
- strb r5, [r3, #0x2]
- ldrsh r11, [r3, #0x0]
- ldrsh r6, [r1, #0x8]
- ldrb r9, [r3, #0x2]
- and r5, r10, #0xff
- subs r8, r6, r11
- movmi r7, r4
- ldr r6, _020A97D4 ; =0x020FF5D4
- mov r10, r9, lsl #0x1
- ldrsh r10, [r6, r10]
- ldrpl r7, [sp, #0x30]
- rsbmi r8, r8, #0x0
- cmp r8, r10
- orrge r7, r7, #0x2
- subge r8, r8, r10
- mov r6, r10, asr #0x1
- cmp r8, r6
- orrge r7, r7, #0x1
- ands r8, r7, #0x2
- mov r8, r10, asr #0x2
- addne r8, r8, r10
- ands r10, r7, #0x1
- addne r8, r8, r6
- ands r6, r7, #0x4
- rsbne r8, r8, #0x0
- add r6, r11, r8
- mov r8, #0x8000
- rsb r8, r8, #0x0
- cmp r6, r8
- ldr r8, _020A97D8 ; =0x020FF5BC
- movlt r6, lr
- mov r5, r5, lsl #0x4
- cmp r6, r12
- ldrsb r8, [r8, r7]
- movgt r6, r12
- and r5, r5, #0xff
- adds r9, r9, r8
- ldrmi r9, [sp, #0x34]
- bmi _020A9588
- cmp r9, #0x58
- movgt r9, r2
-_020A9588:
- strh r6, [r3, #0x0]
- strb r9, [r3, #0x2]
- and r6, r7, #0xff
- orr r5, r5, r6, lsl #0x1
- ldrb r9, [r3, #0x2]
- ldrsh r11, [r3, #0x0]
- ldrsh r6, [r1, #0xa]
- mov r10, r9, lsl #0x1
- and r5, r5, #0xff
- subs r8, r6, r11
- ldr r6, _020A97D4 ; =0x020FF5D4
- movmi r7, r4
- ldrsh r10, [r6, r10]
- ldrpl r7, [sp, #0x38]
- rsbmi r8, r8, #0x0
- cmp r8, r10
- orrge r7, r7, #0x2
- subge r8, r8, r10
- mov r6, r10, asr #0x1
- cmp r8, r6
- orrge r7, r7, #0x1
- ands r8, r7, #0x2
- mov r8, r10, asr #0x2
- addne r8, r8, r10
- ands r10, r7, #0x1
- addne r8, r8, r6
- ands r6, r7, #0x4
- rsbne r8, r8, #0x0
- add r6, r11, r8
- mov r8, #0x8000
- rsb r8, r8, #0x0
- cmp r6, r8
- ldr r8, _020A97D8 ; =0x020FF5BC
- movlt r6, lr
- cmp r6, r12
- ldrsb r8, [r8, r7]
- movgt r6, r12
- adds r9, r9, r8
- ldrmi r9, [sp, #0x3c]
- bmi _020A9630
- cmp r9, #0x58
- movgt r9, r2
-_020A9630:
- ldr r8, [sp, #0x8]
- strh r6, [r3, #0x0]
- orr r8, r5, r8, lsl #0x7
- and r5, r7, #0xff
- str r5, [sp, #0xc]
- strb r9, [r3, #0x2]
- orr r5, r8, r5, asr #0x2
- strb r5, [r0, #0x1]
- ldrb r5, [r3, #0x2]
- ldrsh r8, [r3, #0x0]
- ldrsh r6, [r1, #0xc]
- mov r9, r5, lsl #0x1
- subs r7, r6, r8
- ldr r6, _020A97D4 ; =0x020FF5D4
- movmi r10, r4
- ldrsh r6, [r6, r9]
- ldrpl r10, [sp, #0x40]
- rsbmi r7, r7, #0x0
- cmp r7, r6
- orrge r10, r10, #0x2
- subge r7, r7, r6
- mov r9, r6, asr #0x1
- cmp r7, r9
- orrge r10, r10, #0x1
- ands r7, r10, #0x2
- mov r7, r6, asr #0x2
- addne r7, r7, r6
- ands r6, r10, #0x1
- addne r7, r7, r9
- ands r6, r10, #0x4
- rsbne r7, r7, #0x0
- add r6, r8, r7
- mov r7, #0x8000
- rsb r7, r7, #0x0
- cmp r6, r7
- ldr r7, _020A97D8 ; =0x020FF5BC
- movlt r6, lr
- cmp r6, r12
- ldrsb r7, [r7, r10]
- movgt r6, r12
- adds r5, r5, r7
- ldrmi r5, [sp, #0x44]
- bmi _020A96E4
- cmp r5, #0x58
- movgt r5, r2
-_020A96E4:
- strh r6, [r3, #0x0]
- strb r5, [r3, #0x2]
- and r5, r10, #0xff
- mov r5, r5, lsl #0x3
- and r11, r5, #0xff
- ldrsh r6, [r1, #0xe]
- ldrsh r5, [r3, #0x0]
- ldrb r9, [r3, #0x2]
- add r1, r1, #0x10
- subs r8, r6, r5
- movmi r7, r4
- ldr r6, _020A97D4 ; =0x020FF5D4
- mov r10, r9, lsl #0x1
- ldrsh r10, [r6, r10]
- ldrpl r7, [sp, #0x48]
- rsbmi r8, r8, #0x0
- cmp r8, r10
- orrge r7, r7, #0x2
- subge r8, r8, r10
- mov r6, r10, asr #0x1
- cmp r8, r6
- orrge r7, r7, #0x1
- ands r8, r7, #0x2
- mov r8, r10, asr #0x2
- addne r8, r8, r10
- ands r10, r7, #0x1
- addne r8, r8, r6
- ands r6, r7, #0x4
- rsbne r8, r8, #0x0
- mov r6, #0x8000
- add r5, r5, r8
- rsb r6, r6, #0x0
- cmp r5, r6
- ldr r6, _020A97D8 ; =0x020FF5BC
- movlt r5, lr
- cmp r5, r12
- ldrsb r6, [r6, r7]
- movgt r5, r12
- adds r9, r9, r6
- ldrmi r9, [sp, #0x4c]
- bmi _020A9790
- cmp r9, #0x58
- movgt r9, r2
-_020A9790:
- strh r5, [r3, #0x0]
- and r5, r7, #0xff
- orr r6, r11, r5
- ldr r5, [sp, #0xc]
- strb r9, [r3, #0x2]
- orr r5, r6, r5, lsl #0x6
- strb r5, [r0, #0x2]
- ldr r5, [sp, #0x0]
- add r0, r0, #0x3
- add r6, r5, #0x1
- ldr r5, [sp, #0x4]
- str r6, [sp, #0x0]
- cmp r6, r5
- blo _020A9250
- add sp, sp, #0x54
- ldmia sp!, {r4-r11,pc}
- .balign 4
-_020A97D0: .word 0x00007FFF
-_020A97D4: .word 0x020FF5D4
-_020A97D8: .word 0x020FF5BC
-
- arm_func_start FUN_020A97DC
-FUN_020A97DC: ; 0x020A97DC
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0x4c
- ldr r5, _020A9D08 ; =0xAAAAAAAB
- mov r4, #0x0
- str r4, [sp, #0x0]
- umull r5, r4, r2, r5
- str r4, [sp, #0xc]
- movs r2, r4, lsr #0x1
- str r2, [sp, #0xc]
- addeq sp, sp, #0x4c
- ldmeqia sp!, {r4-r11,pc}
-_020A9808: ; 0x020A9808
- ldr r2, [sp, #0x0]
- mov r4, #0x8000
- ldr lr, _020A9D0C ; =0x00007FFF
- str r2, [sp, #0x18]
- str r2, [sp, #0x24]
- str r2, [sp, #0x2c]
- str r2, [sp, #0x34]
- str r2, [sp, #0x3c]
- rsb r4, r4, #0x0
- mov r12, #0x58
- str r2, [sp, #0x40]
- str r2, [sp, #0x44]
- str r2, [sp, #0x48]
-_020A983C:
- ldrb r8, [r3, #0x2]
- ldr r5, _020A9D10 ; =0x020FF5D4
- ldrb r6, [r0, #0x0]
- mov r7, r8, lsl #0x1
- ldrsh r5, [r5, r7]
- ldrb r11, [r0, #0x1]
- ldrb r2, [r0, #0x2]
- str r5, [sp, #0x4]
- mov r5, r6, asr #0x5
- ands r7, r5, #0x2
- ldr r7, [sp, #0x4]
- ldrne r10, [sp, #0x4]
- mov r7, r7, asr #0x2
- addne r7, r7, r10
- ands r10, r5, #0x1
- str r10, [sp, #0x10]
- ldrne r10, [sp, #0x4]
- ldrsh r9, [r3, #0x0]
- addne r7, r7, r10, asr #0x1
- ands r10, r5, #0x4
- str r10, [sp, #0x14]
- beq _020A98AC
- sub r9, r9, r7
- mov r7, #0x8000
- rsb r7, r7, #0x0
- cmp r9, r7
- movlt r9, r4
- b _020A98B8
-_020A98AC:
- add r9, r9, r7
- cmp r9, lr
- movgt r9, lr
-_020A98B8:
- ldr r7, _020A9D14 ; =0x020FF5BC
- ldrsb r5, [r7, r5]
- adds r8, r8, r5
- ldrmi r8, [sp, #0x18]
- bmi _020A98D4
- cmp r8, #0x58
- movgt r8, r12
-_020A98D4:
- mov r5, r9, lsl #0x10
- mov r5, r5, asr #0x10
- strh r5, [r3, #0x0]
- strb r8, [r3, #0x2]
- strh r5, [r1, #0x0]
- ldrb r8, [r3, #0x2]
- mov r5, r6, asr #0x2
- ands r7, r5, #0x2
- ldr r7, _020A9D10 ; =0x020FF5D4
- mov r10, r8, lsl #0x1
- ldrsh r7, [r7, r10]
- ldrsh r9, [r3, #0x0]
- str r7, [sp, #0x8]
- ldrne r10, [sp, #0x8]
- mov r7, r7, asr #0x2
- addne r7, r7, r10
- ands r10, r5, #0x1
- str r10, [sp, #0x1c]
- ldrne r10, [sp, #0x8]
- addne r7, r7, r10, asr #0x1
- ands r10, r5, #0x4
- str r10, [sp, #0x20]
- beq _020A9948
- sub r9, r9, r7
- mov r7, #0x8000
- rsb r7, r7, #0x0
- cmp r9, r7
- movlt r9, r4
- b _020A9954
-_020A9948:
- add r9, r9, r7
- cmp r9, lr
- movgt r9, lr
-_020A9954:
- and r7, r5, #0x7
- ldr r5, _020A9D14 ; =0x020FF5BC
- ldrsb r5, [r5, r7]
- adds r8, r8, r5
- ldrmi r8, [sp, #0x24]
- bmi _020A9974
- cmp r8, #0x58
- movgt r8, r12
-_020A9974:
- mov r5, r9, lsl #0x10
- mov r5, r5, asr #0x10
- strh r5, [r3, #0x0]
- mov r6, r6, lsl #0x1
- strb r8, [r3, #0x2]
- strh r5, [r1, #0x2]
- and r6, r6, #0x7
- orr r6, r6, r11, asr #0x7
- ldrb r8, [r3, #0x2]
- ands r5, r6, #0x2
- ldr r5, _020A9D10 ; =0x020FF5D4
- mov r7, r8, lsl #0x1
- ldrsh r10, [r5, r7]
- ldrsh r9, [r3, #0x0]
- mov r7, r10, asr #0x2
- addne r7, r7, r10
- ands r5, r6, #0x1
- str r5, [sp, #0x28]
- addne r7, r7, r10, asr #0x1
- ands r5, r6, #0x4
- beq _020A99E0
- mov r5, #0x8000
- sub r9, r9, r7
- rsb r5, r5, #0x0
- cmp r9, r5
- movlt r9, r4
- b _020A99EC
-_020A99E0:
- add r9, r9, r7
- cmp r9, lr
- movgt r9, lr
-_020A99EC:
- ldr r5, _020A9D14 ; =0x020FF5BC
- ldrsb r5, [r5, r6]
- adds r8, r8, r5
- ldrmi r8, [sp, #0x2c]
- bmi _020A9A08
- cmp r8, #0x58
- movgt r8, r12
-_020A9A08:
- mov r5, r9, lsl #0x10
- mov r5, r5, asr #0x10
- strh r5, [r3, #0x0]
- strb r8, [r3, #0x2]
- strh r5, [r1, #0x4]
- ldrb r8, [r3, #0x2]
- mov r6, r11, asr #0x4
- ands r5, r6, #0x2
- ldr r5, _020A9D10 ; =0x020FF5D4
- mov r7, r8, lsl #0x1
- ldrsh r10, [r5, r7]
- ldrsh r9, [r3, #0x0]
- mov r7, r10, asr #0x2
- addne r7, r7, r10
- ands r5, r6, #0x1
- str r5, [sp, #0x30]
- addne r7, r7, r10, asr #0x1
- ands r5, r6, #0x4
- beq _020A9A6C
- mov r5, #0x8000
- sub r9, r9, r7
- rsb r5, r5, #0x0
- cmp r9, r5
- movlt r9, r4
- b _020A9A78
-_020A9A6C:
- add r9, r9, r7
- cmp r9, lr
- movgt r9, lr
-_020A9A78:
- ldr r5, _020A9D14 ; =0x020FF5BC
- and r6, r6, #0x7
- ldrsb r5, [r5, r6]
- adds r8, r8, r5
- ldrmi r8, [sp, #0x34]
- bmi _020A9A98
- cmp r8, #0x58
- movgt r8, r12
-_020A9A98:
- mov r5, r9, lsl #0x10
- mov r5, r5, asr #0x10
- strh r5, [r3, #0x0]
- strb r8, [r3, #0x2]
- strh r5, [r1, #0x6]
- ldrb r8, [r3, #0x2]
- mov r6, r11, asr #0x1
- ands r5, r6, #0x2
- ldr r5, _020A9D10 ; =0x020FF5D4
- mov r7, r8, lsl #0x1
- ldrsh r10, [r5, r7]
- ldrsh r9, [r3, #0x0]
- mov r7, r10, asr #0x2
- addne r7, r7, r10
- ands r5, r6, #0x1
- str r5, [sp, #0x38]
- addne r7, r7, r10, asr #0x1
- ands r5, r6, #0x4
- beq _020A9AFC
- mov r5, #0x8000
- sub r9, r9, r7
- rsb r5, r5, #0x0
- cmp r9, r5
- movlt r9, r4
- b _020A9B08
-_020A9AFC:
- add r9, r9, r7
- cmp r9, lr
- movgt r9, lr
-_020A9B08:
- ldr r5, _020A9D14 ; =0x020FF5BC
- and r6, r6, #0x7
- ldrsb r5, [r5, r6]
- adds r8, r8, r5
- ldrmi r8, [sp, #0x3c]
- bmi _020A9B28
- cmp r8, #0x58
- movgt r8, r12
-_020A9B28:
- mov r5, r9, lsl #0x10
- mov r6, r5, asr #0x10
- mov r5, r11, lsl #0x2
- and r5, r5, #0x7
- strh r6, [r3, #0x0]
- strb r8, [r3, #0x2]
- strh r6, [r1, #0x8]
- orr r5, r5, r2, asr #0x6
- ands r6, r5, #0x2
- ldrb r6, [r3, #0x2]
- ldr r8, _020A9D10 ; =0x020FF5D4
- ldrsh r7, [r3, #0x0]
- mov r9, r6, lsl #0x1
- ldrsh r10, [r8, r9]
- mov r9, r10, asr #0x2
- addne r9, r9, r10
- ands r8, r5, #0x1
- addne r9, r9, r10, asr #0x1
- ands r8, r5, #0x4
- beq _020A9B90
- mov r8, #0x8000
- sub r7, r7, r9
- rsb r8, r8, #0x0
- cmp r7, r8
- movlt r7, r4
- b _020A9B9C
-_020A9B90:
- add r7, r7, r9
- cmp r7, lr
- movgt r7, lr
-_020A9B9C:
- ldr r8, _020A9D14 ; =0x020FF5BC
- ldrsb r5, [r8, r5]
- adds r6, r6, r5
- ldrmi r6, [sp, #0x40]
- bmi _020A9BB8
- cmp r6, #0x58
- movgt r6, r12
-_020A9BB8:
- mov r5, r7, lsl #0x10
- mov r5, r5, asr #0x10
- strh r5, [r3, #0x0]
- strb r6, [r3, #0x2]
- strh r5, [r1, #0xa]
- ldrb r6, [r3, #0x2]
- mov r5, r2, asr #0x3
- ands r8, r5, #0x2
- ldr r8, _020A9D10 ; =0x020FF5D4
- mov r9, r6, lsl #0x1
- ldrsh r10, [r8, r9]
- ldrsh r7, [r3, #0x0]
- mov r9, r10, asr #0x2
- addne r9, r9, r10
- ands r8, r5, #0x1
- addne r9, r9, r10, asr #0x1
- ands r8, r5, #0x4
- beq _020A9C18
- mov r8, #0x8000
- sub r7, r7, r9
- rsb r8, r8, #0x0
- cmp r7, r8
- movlt r7, r4
- b _020A9C24
-_020A9C18:
- add r7, r7, r9
- cmp r7, lr
- movgt r7, lr
-_020A9C24:
- and r8, r5, #0x7
- ldr r5, _020A9D14 ; =0x020FF5BC
- ldrsb r5, [r5, r8]
- adds r6, r6, r5
- ldrmi r6, [sp, #0x44]
- bmi _020A9C44
- cmp r6, #0x58
- movgt r6, r12
-_020A9C44:
- mov r5, r7, lsl #0x10
- mov r5, r5, asr #0x10
- strh r5, [r3, #0x0]
- strb r6, [r3, #0x2]
- strh r5, [r1, #0xc]
- ands r5, r2, #0x2
- ldrb r5, [r3, #0x2]
- ldr r7, _020A9D10 ; =0x020FF5D4
- ldrsh r6, [r3, #0x0]
- mov r8, r5, lsl #0x1
- ldrsh r9, [r7, r8]
- mov r8, r9, asr #0x2
- addne r8, r8, r9
- ands r7, r2, #0x1
- addne r8, r8, r9, asr #0x1
- ands r7, r2, #0x4
- beq _020A9CA0
- mov r7, #0x8000
- sub r6, r6, r8
- rsb r7, r7, #0x0
- cmp r6, r7
- movlt r6, r4
- b _020A9CAC
-_020A9CA0:
- add r6, r6, r8
- cmp r6, lr
- movgt r6, lr
-_020A9CAC:
- and r7, r2, #0x7
- ldr r2, _020A9D14 ; =0x020FF5BC
- ldrsb r2, [r2, r7]
- adds r5, r5, r2
- ldrmi r5, [sp, #0x48]
- bmi _020A9CCC
- cmp r5, #0x58
- movgt r5, r12
-_020A9CCC:
- mov r2, r6, lsl #0x10
- mov r2, r2, asr #0x10
- strh r2, [r3, #0x0]
- strb r5, [r3, #0x2]
- strh r2, [r1, #0xe]
- ldr r2, [sp, #0x0]
- add r0, r0, #0x3
- add r5, r2, #0x1
- ldr r2, [sp, #0xc]
- add r1, r1, #0x10
- str r5, [sp, #0x0]
- cmp r5, r2
- blo _020A983C
- add sp, sp, #0x4c
- ldmia sp!, {r4-r11,pc}
- .balign 4
-_020A9D08: .word 0xAAAAAAAB
-_020A9D0C: .word 0x00007FFF
-_020A9D10: .word 0x020FF5D4
-_020A9D14: .word 0x020FF5BC
-
- arm_func_start FUN_020A9D18
-FUN_020A9D18: ; 0x020A9D18
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0x1c
- movs r2, r2, lsr #0x1
- str r2, [sp, #0x4]
- mov r2, #0x0
- str r2, [sp, #0x0]
- addeq sp, sp, #0x1c
- ldmeqia sp!, {r4-r11,pc}
-_020A9D38: ; 0x020A9D38
- mov r4, #0x8000
- rsb r5, r4, #0x0
- ldr fp, _020A9F04 ; =0x00007FFF
- str r2, [sp, #0xc]
- str r2, [sp, #0x10]
- str r2, [sp, #0x14]
- str r2, [sp, #0x18]
- mov r6, #0x8
- mov r4, #0x58
-_020A9D5C:
- ldrb r2, [r3, #0x2]
- ldrsh r8, [r3, #0x0]
- ldrsh r7, [r1, #0x0]
- ldr sb, _020A9F08 ; =0x020FF5D4
- mov r12, r2, lsl #0x1
- subs r7, r7, r8
- ldrsh r12, [r9, r12]
- movmi r10, r6
- ldrpl r10, [sp, #0xc]
- rsbmi r7, r7, #0x0
- cmp r7, r12
- orrge r10, r10, #0x4
- subge r7, r7, r12
- mov lr, r12, asr #0x1
- cmp r7, lr
- orrge r10, r10, #0x2
- subge r7, r7, lr
- mov r9, r12, asr #0x2
- cmp r7, r9
- orrge r10, r10, #0x1
- ands r7, r10, #0x4
- mov r7, r12, asr #0x3
- addne r7, r7, r12
- ands r12, r10, #0x2
- addne r7, r7, lr
- ands r12, r10, #0x1
- addne r7, r7, r9
- ands r9, r10, #0x8
- rsbne r7, r7, #0x0
- add r7, r8, r7
- mov r8, #0x8000
- rsb r8, r8, #0x0
- cmp r7, r8
- ldr r8, _020A9F0C ; =0x020FF5C4
- movlt r7, r5
- cmp r7, r11
- ldrsb r8, [r8, r10]
- movgt r7, r11
- adds r2, r2, r8
- ldrmi r2, [sp, #0x10]
- bmi _020A9E08
- cmp r2, #0x58
- movgt r2, r4
-_020A9E08:
- strh r7, [r3, #0x0]
- strb r2, [r3, #0x2]
- ldrsh r2, [r3, #0x0]
- ldrsh r8, [r1, #0x2]
- and lr, r10, #0xff
- str r2, [sp, #0x8]
- ldrb r2, [r3, #0x2]
- ldr r7, [sp, #0x8]
- add r1, r1, #0x4
- subs r7, r8, r7
- movmi r10, r6
- ldr r8, _020A9F08 ; =0x020FF5D4
- mov r9, r2, lsl #0x1
- ldrsh r12, [r8, r9]
- ldrpl r10, [sp, #0x14]
- rsbmi r7, r7, #0x0
- cmp r7, r12
- orrge r10, r10, #0x4
- subge r7, r7, r12
- mov r9, r12, asr #0x1
- cmp r7, r9
- orrge r10, r10, #0x2
- subge r7, r7, r9
- mov r8, r12, asr #0x2
- cmp r7, r8
- orrge r10, r10, #0x1
- ands r7, r10, #0x4
- mov r7, r12, asr #0x3
- addne r7, r7, r12
- ands r12, r10, #0x2
- addne r7, r7, r9
- ands r9, r10, #0x1
- addne r7, r7, r8
- ands r8, r10, #0x8
- ldr r8, [sp, #0x8]
- rsbne r7, r7, #0x0
- add r7, r8, r7
- mov r8, #0x8000
- rsb r8, r8, #0x0
- cmp r7, r8
- ldr r8, _020A9F0C ; =0x020FF5C4
- movlt r7, r5
- cmp r7, r11
- ldrsb r8, [r8, r10]
- movgt r7, r11
- adds r2, r2, r8
- ldrmi r2, [sp, #0x18]
- bmi _020A9ED0
- cmp r2, #0x58
- movgt r2, r4
-_020A9ED0:
- strh r7, [r3, #0x0]
- strb r2, [r3, #0x2]
- and r2, r10, #0xff
- orr r2, lr, r2, lsl #0x4
- strb r2, [r0], #0x1
- ldr r2, [sp, #0x0]
- add r7, r2, #0x1
- ldr r2, [sp, #0x4]
- str r7, [sp, #0x0]
- cmp r7, r2
- blo _020A9D5C
- add sp, sp, #0x1c
- ldmia sp!, {r4-r11,pc}
- .balign 4
-_020A9F04: .word 0x00007FFF
-_020A9F08: .word 0x020FF5D4
-_020A9F0C: .word 0x020FF5C4
-
- arm_func_start FUN_020A9F10
-FUN_020A9F10: ; 0x020A9F10
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0x1c
- cmp r2, #0x0
- addls sp, sp, #0x1c
- mov r12, #0x0
- ldmlsia sp!, {r4-r11,pc}
-_020A9F28: ; 0x020A9F28
- mov r4, #0x8000
- ldr fp, _020AA098 ; =0x00007FFF
- str r12, [sp, #0x8]
- str r12, [sp, #0x14]
- rsb r4, r4, #0x0
- mov lr, #0x58
-_020A9F40:
- ldrb r5, [r0, #0x0]
- ldrb r6, [r3, #0x2]
- ldrsh r7, [r3, #0x0]
- and r9, r5, #0xf
- ldr r5, _020AA09C ; =0x020FF5D4
- mov r8, r6, lsl #0x1
- ldrsh r8, [r5, r8]
- ands r5, r9, #0x4
- mov r5, r8, asr #0x3
- addne r5, r5, r8
- ands r10, r9, #0x2
- str r10, [sp, #0x0]
- addne r5, r5, r8, asr #0x1
- ands r10, r9, #0x1
- addne r5, r5, r8, asr #0x2
- str r10, [sp, #0x4]
- ands r8, r9, #0x8
- beq _020A9FA0
- sub r7, r7, r5
- mov r5, #0x8000
- rsb r5, r5, #0x0
- cmp r7, r5
- movlt r7, r4
- b _020A9FAC
-_020A9FA0:
- add r7, r7, r5
- cmp r7, r11
- movgt r7, r11
-_020A9FAC:
- ldr r5, _020AA0A0 ; =0x020FF5C4
- ldrsb r5, [r5, r9]
- adds r6, r6, r5
- ldrmi r6, [sp, #0x8]
- bmi _020A9FC8
- cmp r6, #0x58
- movgt r6, lr
-_020A9FC8:
- mov r5, r7, lsl #0x10
- mov r5, r5, asr #0x10
- strh r5, [r3, #0x0]
- strb r6, [r3, #0x2]
- strh r5, [r1, #0x0]
- ldrb r5, [r0, #0x0]
- ldrb r6, [r3, #0x2]
- ldrsh r7, [r3, #0x0]
- mov r5, r5, asr #0x4
- and r9, r5, #0xf
- ldr r5, _020AA09C ; =0x020FF5D4
- mov r8, r6, lsl #0x1
- ldrsh r8, [r5, r8]
- ands r5, r9, #0x4
- mov r5, r8, asr #0x3
- addne r5, r5, r8
- ands r10, r9, #0x2
- str r10, [sp, #0xc]
- addne r5, r5, r8, asr #0x1
- ands r10, r9, #0x1
- addne r5, r5, r8, asr #0x2
- str r10, [sp, #0x10]
- ands r8, r9, #0x8
- beq _020AA040
- sub r7, r7, r5
- mov r5, #0x8000
- rsb r5, r5, #0x0
- cmp r7, r5
- movlt r7, r4
- b _020AA04C
-_020AA040:
- add r7, r7, r5
- cmp r7, r11
- movgt r7, r11
-_020AA04C:
- ldr r5, _020AA0A0 ; =0x020FF5C4
- ldrsb r5, [r5, r9]
- adds r6, r6, r5
- ldrmi r6, [sp, #0x14]
- bmi _020AA068
- cmp r6, #0x58
- movgt r6, lr
-_020AA068:
- mov r5, r7, lsl #0x10
- mov r7, r5, asr #0x10
- strh r7, [r3, #0x0]
- strb r6, [r3, #0x2]
- add r12, r12, #0x1
- strh r7, [r1, #0x2]
- cmp r12, r2
- add r1, r1, #0x4
- add r0, r0, #0x1
- blo _020A9F40
- add sp, sp, #0x1c
- ldmia sp!, {r4-r11,pc}
- .balign 4
-_020AA098: .word 0x00007FFF
-_020AA09C: .word 0x020FF5D4
-_020AA0A0: .word 0x020FF5C4
-
- arm_func_start FUN_020AA0A4
-FUN_020AA0A4:
- stmdb sp!, {r4-r8,lr}
- ldr r0, _020AA1B4 ; =0x021CA8D0
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- moveq r0, #0x1
- ldmeqia sp!, {r4-r8,pc}
-_020AA0BC: ; 0x020AA0BC
- ldr r1, _020AA1B8 ; =0x021CAF00
- ldr r0, [r1, #0x8c8]
- cmp r0, #0x0
- bne _020AA0FC
- bl FUN_020AA4C0
- ldr r1, _020AA1B8 ; =0x021CAF00
- cmp r0, #0x0
- str r0, [r1, #0x8c8]
- beq _020AA0F4
- ldr r0, _020AA1BC ; =0x021CA8C8
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- movne r0, #0x0
- ldmneia sp!, {r4-r8,pc}
-_020AA0F4:
- mov r0, #0x1
- ldmia sp!, {r4-r8,pc}
-_020AA0FC:
- ldr r0, _020AA1C0 ; =0x021CCD20
- mov r5, #0x1
- ldr r0, [r0, #0x10]
- cmp r0, #0x2
- bne _020AA130
- ldr r3, [r1, #0x8d4]
- ldr r2, _020AA1C4 ; =0x020FF694
- mov r0, #0x3
- mla r0, r3, r0, r2
- ldr r3, [r1, #0x8d0]
- add r2, r3, #0x1
- ldrb r5, [r3, r0]
- str r2, [r1, #0x8d0]
-_020AA130:
- mov r4, #0x0
- ldr r7, _020AA1B8 ; =0x021CAF00
- mov r8, #0x80000000
- ldr r6, _020AA1C8 ; =0x021CA8BC
- b _020AA1A4
-_020AA144:
- ldr r1, [r7, #0x8cc]
- mov r2, r1
- clz r2, r2
- cmp r2, #0x20
- beq _020AA1AC
- mvn r0, r8, lsr r2
- and r3, r1, r0
- rsb r0, r2, #0x1f
- ldr r1, [r7, #0x8c8]
- ldr r2, [r6, #0x0]
- str r3, [r7, #0x8cc]
- and r0, r0, #0xff
- bl FUN_021EAE90
- ldr r0, [r7, #0x8cc]
- cmp r0, #0x0
- bne _020AA1A0
- ldr r1, [r7, #0x8c0]
- mov r0, #0x0
- add r1, r1, #0x1
- str r1, [r7, #0x8c0]
- str r0, [r7, #0x8c8]
- str r0, [r7, #0x8cc]
- b _020AA1AC
-_020AA1A0:
- add r4, r4, #0x1
-_020AA1A4:
- cmp r4, r5
- blt _020AA144
-_020AA1AC:
- mov r0, #0x1
- ldmia sp!, {r4-r8,pc}
- .balign 4
-_020AA1B4: .word 0x021CA8D0
-_020AA1B8: .word 0x021CAF00
-_020AA1BC: .word 0x021CA8C8
-_020AA1C0: .word 0x021CCD20
-_020AA1C4: .word 0x020FF694
-_020AA1C8: .word 0x021CA8BC
-
- arm_func_start FUN_020AA1CC
-FUN_020AA1CC: ; 0x020AA1CC
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- bl FUN_020AB154
-_020AA1D8: ; 0x020AA1D8
- cmp r0, #0x0
- addeq sp, sp, #0x4
- moveq r0, #0x0
- ldmeqia sp!, {r4-r7,pc}
-_020AA1E8: ; 0x020AA1E8
- ldrb r5, [r0, #0x11]
- mov r0, r5
- bl FUN_020AB144
- mov r6, r0
- cmp r6, #0x0
- mov r7, #0x0
- ble _020AA294
-_020AA204:
- mov r0, r5
- bl FUN_020AB10C
- mov r4, r0
- ldr r3, [r4, #0xc]
- cmp r3, #0x2
- blt _020AA230
- ldr r0, [r4, #0x474]
- ldr r2, [r4, #0x14]
- add r1, r4, #0x1c
- bl FUN_020A8C28
- b _020AA25C
-_020AA230:
- cmp r3, #0x1
- bne _020AA24C
- ldr r0, [r4, #0x474]
- ldr r2, [r4, #0x14]
- add r1, r4, #0x1c
- bl FUN_020AB328
- b _020AA25C
-_020AA24C:
- ldr r0, [r4, #0x474]
- ldr r2, [r4, #0x14]
- add r1, r4, #0x1c
- bl FUN_020AB2C0
-_020AA25C:
- add r1, r4, #0x1c
- mov r0, r4
- str r1, [r4, #0x474]
- bl FUN_020AB088
- ldrb r1, [r4, #0x11]
- mov r0, r4
- bl FUN_020AB500
-_020AA278: ; 0x020AA278
- cmp r0, #0x0
- bge _020AA288
- mov r0, r4
- bl FUN_020ACD90
-_020AA288:
- add r7, r7, #0x1
- cmp r7, r6
- blt _020AA204
-_020AA294:
- mov r0, r6
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,pc}
-
- arm_func_start FUN_020AA2A0
-FUN_020AA2A0: ; 0x020AA2A0
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0x4
- ldr r4, _020AA4A8 ; =0x021CA8D0
- mov r10, r0
- ldr r0, [r4, #0x0]
- ldr r7, [sp, #0x28]
- cmp r0, #0x0
- mov r5, #0x0
- mov r9, r1
- mov r8, r2
- mov r11, r3
- addeq sp, sp, #0x4
- moveq r0, r5
- ldmeqia sp!, {r4-r11,pc}
-_020AA2D8: ; 0x020AA2D8
- ldr r1, _020AA4AC ; =0x021CA8E8
- mov r2, r5
-_020AA2E0:
- ldr r0, [r1, #0x38]
- cmp r10, r0
- ldreq r1, _020AA4AC ; =0x021CA8E8
- moveq r0, #0x94
- mlaeq r5, r2, r0, r1
- beq _020AA308
- add r2, r2, #0x1
- cmp r2, #0x3
- add r1, r1, #0x94
- blo _020AA2E0
-_020AA308:
- cmp r5, #0x0
- addeq sp, sp, #0x4
- moveq r0, #0x0
- ldmeqia sp!, {r4-r11,pc}
-_020AA318: ; 0x020AA318
- ldrb r0, [r9, #0x4]
- cmp r0, #0x41
- bne _020AA344
- ldrh r2, [r9, #0x6]
- mov r0, #0x0
- mov r1, #0x1
- str r2, [r5, #0x30]
- str r0, [r5, #0x4c]
- add sp, sp, #0x4
- str r1, [r5, #0x6c]
- ldmia sp!, {r4-r11,pc}
-_020AA344:
- cmp r0, #0x40
- addne sp, sp, #0x4
- movne r0, #0x0
- ldmneia sp!, {r4-r11,pc}
-_020AA354: ; 0x020AA354
- ldrb r0, [r9, #0x5]
- and r4, r0, #0x7f
- cmp r4, #0x5
- addge sp, sp, #0x4
- str r4, [r5, #0x24]
- movge r0, #0x0
- ldmgeia sp!, {r4-r11,pc}
-_020AA370: ; 0x020AA370
- ldr r1, _020AA4B0 ; =0x020FF689
- ldr r0, _020AA4B4 ; =0x020FF688
- ldrb r2, [r1, r4, lsl #0x1]
- ldrb r1, [r0, r4, lsl #0x1]
- mov r0, #0x44
- mla r0, r1, r0, r2
- add r0, r0, #0xc
- cmp r8, r0
- addne sp, sp, #0x4
- movne r0, #0x0
- ldmneia sp!, {r4-r11,pc}
-_020AA39C: ; 0x020AA39C
- cmp r10, #0x0
- movne r0, #0x1
- movne r1, r0, lsl r10
- ldr r0, _020AA4B8 ; =0x021CA8B4
- moveq r1, #0x1
- ldr r0, [r0, #0x0]
- ands r0, r0, r1
- addeq sp, sp, #0x4
- moveq r0, #0x0
- ldmeqia sp!, {r4-r11,pc}
-_020AA3C4: ; 0x020AA3C4
- bl FUN_020ACDC8
- movs r6, r0
- bne _020AA40C
- ldr r0, [r5, #0x34]
- bl FUN_020AB6C4
- ldr r0, [r5, #0x34]
- bl FUN_020AB234
- bl FUN_020ACDC8
- movs r6, r0
- bne _020AA3FC
- bl FUN_020AB630
- bl FUN_020AB1E4
- bl FUN_020ACDC8
- mov r6, r0
-_020AA3FC:
- cmp r6, #0x0
- addeq sp, sp, #0x4
- moveq r0, #0x0
- ldmeqia sp!, {r4-r11,pc}
-_020AA40C:
- ldr r0, _020AA4BC ; =0x0000045C
- sub r2, r8, #0xc
- add r0, r6, r0
- sub r1, r0, r2
- add r0, r9, #0xc
- str r1, [sp, #0x0]
- bl MI_CpuCopy8
- ldr r0, [r5, #0x34]
- sub r1, r8, #0xc
- strb r0, [r6, #0x11]
- ldr r0, [sp, #0x0]
- str r4, [r6, #0xc]
- str r0, [r6, #0x474]
- str r1, [r6, #0x14]
- str r11, [r6, #0x464]
- str r7, [r6, #0x468]
- strb r10, [r6, #0x10]
- ldrb r2, [r9, #0x5]
- mov r0, r5
- mov r1, r6
- and r2, r2, #0x80
- str r2, [r6, #0x45c]
- ldr r2, [r9, #0x8]
- str r2, [r6, #0x460]
- ldrh r2, [r9, #0x6]
- str r2, [r6, #0x18]
- bl FUN_020AB760
-_020AA478: ; 0x020AA478
- cmp r0, #0x0
- bne _020AA494
- mov r0, r6
- bl FUN_020ACD90
- add sp, sp, #0x4
- mov r0, #0x0
- ldmia sp!, {r4-r11,pc}
-_020AA494:
- mov r0, r6
- bl FUN_020AB164
- mov r0, #0x1
- add sp, sp, #0x4
- ldmia sp!, {r4-r11,pc}
- .balign 4
-_020AA4A8: .word 0x021CA8D0
-_020AA4AC: .word 0x021CA8E8
-_020AA4B0: .word 0x020FF689
-_020AA4B4: .word 0x020FF688
-_020AA4B8: .word 0x021CA8B4
-_020AA4BC: .word 0x0000045C
-
- arm_func_start FUN_020AA4C0
-FUN_020AA4C0: ; 0x020AA4C0
- stmdb sp!, {r4-r8,lr}
- sub sp, sp, #0x8
- ldr r0, _020AA728 ; =0x021CAF00
- ldr r1, _020AA72C ; =0x021CA8CC
- ldr r3, [r0, #0x8c4]
- ldr r2, [r0, #0x8c0]
- ldr r5, [r1, #0x0]
- sub r1, r3, r2
- cmp r1, #0x1
- subhi r1, r3, #0x1
- strhi r1, [r0, #0x8c0]
- movhi r1, #0x1
- cmp r1, #0x0
- addeq sp, sp, #0x8
- moveq r0, #0x0
- ldmeqia sp!, {r4-r8,pc}
-_020AA500: ; 0x020AA500
- ldr r0, _020AA728 ; =0x021CAF00
- ldr r0, [r0, #0x8c0]
- ands r0, r0, #0x1
- movne r1, #0x0
- moveq r1, #0x460
- ldr r0, _020AA728 ; =0x021CAF00
- cmp r5, #0x2
- add r8, r0, r1
- ldr r1, _020AA730 ; =0x021CA8D4
- add r7, r8, #0xc
- addge r7, r7, #0x4
- ldr r1, [r1, #0x0]
- mov r0, r7
- bl FUN_020AD500
- ldr r2, _020AA734 ; =0x040002B0
- mov r3, #0x0
- ldr r1, _020AA738 ; =0x040002B8
- mov r6, r0
- strh r3, [r2, #0x0]
- str r6, [r1, #0x0]
-_020AA550:
- ldrh r0, [r2, #0x0]
- ands r0, r0, #0x8000
- bne _020AA550
- ldr r0, _020AA73C ; =0x021CA8C8
- ldr r1, _020AA740 ; =0x040002B4
- ldr r0, [r0, #0x0]
- ldr r4, [r1, #0x0]
- cmp r0, #0x0
- beq _020AA588
- ldr r1, _020AA730 ; =0x021CA8D4
- mov r0, r7
- ldr r1, [r1, #0x0]
- mov r2, r4
- bl FUN_020AD1CC
-_020AA588:
- ldr r0, _020AA744 ; =0x0210646C
- strb r5, [r8, #0x5]
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- beq _020AA5FC
- mov r0, r6
- mov r1, r4
- mov r2, #0x0
- bl FUN_020ACF38
- ldr r1, _020AA748 ; =0x021CA8D8
- cmp r0, #0x0
- str r0, [r1, #0x0]
- beq _020AA5D4
- cmp r0, #0x1
- beq _020AA5F0
- cmp r0, #0x3
- moveq r0, #0x41
- streqb r0, [r8, #0x4]
- b _020AA5FC
-_020AA5D4:
- ldr r1, _020AA728 ; =0x021CAF00
- add sp, sp, #0x8
- ldr r2, [r1, #0x8c0]
- mov r0, #0x0
- add r2, r2, #0x1
- str r2, [r1, #0x8c0]
- ldmia sp!, {r4-r8,pc}
-_020AA5F0:
- ldrb r0, [r8, #0x5]
- orr r0, r0, #0x80
- strb r0, [r8, #0x5]
-_020AA5FC:
- ldr r0, _020AA744 ; =0x0210646C
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- bne _020AA62C
- ldr r0, _020AA74C ; =0x021CA8B8
- ldr r1, [r0, #0x0]
- cmp r1, #0x0
- ldrneb r2, [r8, #0x5]
- movne r1, #0x0
- orrne r2, r2, #0x80
- strneb r2, [r8, #0x5]
- strne r1, [r0, #0x0]
-_020AA62C:
- ldr r0, _020AA750 ; =0x021CA8C4
- ldr r1, [r0, #0x0]
- cmp r1, #0x0
- ldrneb r2, [r8, #0x5]
- movne r1, #0x0
- orrne r2, r2, #0x80
- strneb r2, [r8, #0x5]
- strne r1, [r0, #0x0]
- cmp r5, #0x2
- blt _020AA690
- ldrb r0, [r8, #0x5]
- ldr r3, _020AA754 ; =0x021CA8C0
- ands r0, r0, #0x80
- ldrne r0, _020AA754 ; =0x021CA8C0
- movne r1, #0x0
- strneh r1, [r0, #0x0]
- strneb r1, [r0, #0x2]
- ldr r0, _020AA730 ; =0x021CA8D4
- str r5, [sp, #0x0]
- ldr r2, [r0, #0x0]
- mov r1, r7
- sub r0, r7, #0x4
- mov r2, r2, lsr #0x1
- bl FUN_020A8BC8
- b _020AA6D4
-_020AA690:
- cmp r5, #0x1
- bne _020AA6B4
- ldr r1, _020AA730 ; =0x021CA8D4
- mov r0, r7
- ldr r2, [r1, #0x0]
- mov r1, r7
- mov r2, r2, lsr #0x1
- bl FUN_020AB37C
- b _020AA6D4
-_020AA6B4:
- cmp r5, #0x0
- bne _020AA6D4
- ldr r1, _020AA730 ; =0x021CA8D4
- mov r0, r7
- ldr r2, [r1, #0x0]
- mov r1, r7
- mov r2, r2, lsr #0x1
- bl FUN_020AB2FC
-_020AA6D4:
- ldr r0, _020AA758 ; =0x021CCD20
- ldr r1, _020AA75C ; =0x021CA8B4
- ldrb r0, [r0, #0x0]
- mov r2, #0x1
- ldr r3, [r1, #0x0]
- mvn r0, r2, lsl r0
- ldr r1, _020AA728 ; =0x021CAF00
- and r0, r3, r0
- str r3, [r1, #0x8cc]
- str r0, [r1, #0x8cc]
- bl MATH_CountPopulation
- sub r0, r0, #0x1
- ldr r1, _020AA728 ; =0x021CAF00
- cmp r0, #0x7
- str r0, [r1, #0x8d4]
- movgt r0, #0x0
- movle r2, #0x0
- movle r0, r8
- strle r2, [r1, #0x8d0]
- add sp, sp, #0x8
- ldmia sp!, {r4-r8,pc}
- .balign 4
-_020AA728: .word 0x021CAF00
-_020AA72C: .word 0x021CA8CC
-_020AA730: .word 0x021CA8D4
-_020AA734: .word 0x040002B0
-_020AA738: .word 0x040002B8
-_020AA73C: .word 0x021CA8C8
-_020AA740: .word 0x040002B4
-_020AA744: .word 0x0210646C
-_020AA748: .word 0x021CA8D8
-_020AA74C: .word 0x021CA8B8
-_020AA750: .word 0x021CA8C4
-_020AA754: .word 0x021CA8C0
-_020AA758: .word 0x021CCD20
-_020AA75C: .word 0x021CA8B4
-
- arm_func_start FUN_020AA760
-FUN_020AA760: ; 0x020AA760
- ldr r1, _020AA76C ; =0x021CA8C8
- str r0, [r1, #0x0]
- bx lr
- .balign 4
-_020AA76C: .word 0x021CA8C8
-
- arm_func_start FUN_020AA770
-FUN_020AA770: ; 0x020AA770
- stmdb sp!, {r4,lr}
- ldr r1, _020AA798 ; =0x0210646C
- mov r4, r0
- str r4, [r1, #0x0]
- bl FUN_020AD170
-_020AA784: ; 0x020AA784
- cmp r4, #0x0
- ldreq r0, _020AA79C ; =0x021CA8B8
- moveq r1, #0x1
- streq r1, [r0, #0x0]
- ldmia sp!, {r4,pc}
- .balign 4
-_020AA798: .word 0x0210646C
-_020AA79C: .word 0x021CA8B8
-
- arm_func_start FUN_020AA7A0
-FUN_020AA7A0: ; 0x020AA7A0
- cmp r0, #0x5
- movge r0, #0x0
- bxge lr
- ldr r1, _020AA80C ; =0x021CCD20
- ldr r1, [r1, #0x10]
- cmp r1, #0x1
- beq _020AA7C8
- cmp r0, #0x1
- movls r0, #0x0
- bxls lr
-_020AA7C8:
- ldr r2, _020AA810 ; =0x020FF689
- ldr r1, _020AA814 ; =0x020FF688
- ldrb r12, [r2, r0, lsl #0x1]
- ldrb r3, [r1, r0, lsl #0x1]
- mov r1, #0x44
- ldr r2, _020AA818 ; =0x021CA8CC
- mla r12, r3, r1, r12
- str r0, [r2, #0x0]
- ldr r1, _020AA81C ; =0x021CA8BC
- add r3, r12, #0xc
- ldr r0, _020AA820 ; =0x021CA8C0
- mov r2, #0x0
- str r3, [r1, #0x0]
- strh r2, [r0, #0x0]
- strb r2, [r0, #0x2]
- mov r0, #0x1
- bx lr
- .balign 4
-_020AA80C: .word 0x021CCD20
-_020AA810: .word 0x020FF689
-_020AA814: .word 0x020FF688
-_020AA818: .word 0x021CA8CC
-_020AA81C: .word 0x021CA8BC
-_020AA820: .word 0x021CA8C0
-
- arm_func_start FUN_020AA824
-FUN_020AA824: ; 0x020AA824
- stmdb sp!, {r4-r10,lr}
- movs r5, r2
- mov r7, r0
- movne r0, #0x0
- strne r0, [r5, #0x0]
- ldr r0, _020AA958 ; =0x021CA8D4
- mov r6, r1
- ldr r0, [r0, #0x0]
- mov r4, #0x0
- cmp r6, r0
- bne _020AA920
- ldr r8, _020AA95C ; =0x021CA8D0
- ldr r0, [r8, #0x0]
- cmp r0, #0x0
- beq _020AA920
- mov r9, r4
- cmp r0, #0x0
- bls _020AA89C
-_020AA86C:
- mov r0, r7
- mov r1, r6
- mov r2, r9
- mov r3, r5
- bl FUN_020AA968
- cmp r0, #0x1
- moveq r4, #0x1
- beq _020AA89C
- ldr r0, [r8, #0x0]
- add r9, r9, #0x1
- cmp r9, r0
- blo _020AA86C
-_020AA89C:
- cmp r4, #0x0
- beq _020AA90C
- ldr r8, _020AA95C ; =0x021CA8D0
- add r10, r9, #0x1
- ldr r0, [r8, #0x0]
- cmp r10, r0
- moveq r4, #0x1
- beq _020AA934
- cmp r10, r0
- bhs _020AA934
- ldr sb, _020AA960 ; =0x021CAAA4
-_020AA8C8:
- mov r0, r9
- mov r1, r6
- mov r2, r10
- mov r3, r5
- bl FUN_020AA968
- cmp r0, #0x1
- bne _020AA8F8
- mov r0, r7
- mov r1, r9
- mov r2, r7
- mov r3, r6
- bl FUN_020AD61C
-_020AA8F8:
- ldr r0, [r8, #0x0]
- add r10, r10, #0x1
- cmp r10, r0
- blo _020AA8C8
- b _020AA934
-_020AA90C:
- mov r1, r7
- mov r2, r6
- mov r0, #0x0
- bl MIi_CpuClearFast
- b _020AA934
-_020AA920:
- mov r1, r7
- mov r2, r6
- mov r0, #0x0
- bl MIi_CpuClearFast
- mov r4, #0x0
-_020AA934:
- ldr r0, _020AA964 ; =0x021CA8C8
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- beq _020AA950
- mov r0, r7
- mov r1, r6
- bl FUN_020AD45C
-_020AA950:
- mov r0, r4
- ldmia sp!, {r4-r10,pc}
- .balign 4
-_020AA958: .word 0x021CA8D4
-_020AA95C: .word 0x021CA8D0
-_020AA960: .word 0x021CAAA4
-_020AA964: .word 0x021CA8C8
-
- arm_func_start FUN_020AA968
-FUN_020AA968: ; 0x020AA968
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0xc
- ldr r4, _020AABD4 ; =0x021CA8E8
- mov r10, r2
- mov r2, #0x94
- mla r6, r10, r2, r4
- str r0, [sp, #0x0]
- mov r0, r10
- str r1, [sp, #0x4]
- str r3, [sp, #0x8]
- mov r5, #0x1
- bl FUN_020AB434
- movs r8, r0
- beq _020AABB0
- mov r11, #0x0
-_020AA9A4:
- bl OS_GetTick
- mov r4, r0
- mov r0, r10
- mov r9, r1
- bl FUN_020AB4B8
- movs r7, r0
- beq _020AAB98
- mov r0, #0x34
- adds r2, r4, r0
- ldr r8, [r7, #0x46c]
- ldr r3, [r7, #0x470]
- mov r1, #0x0
- adc r0, r9, #0x0
- cmp r3, r0
- cmpeq r8, r2
- bls _020AAA68
- ldr r0, [r7, #0x45c]
- cmp r0, #0x0
- bne _020AAA5C
- ldr r0, [r6, #0x3c]
- cmp r0, #0x0
- beq _020AAA5C
- ldr r0, [r6, #0x20]
- ldr r1, [sp, #0x0]
- add r0, r0, #0x1
- str r0, [r6, #0x20]
- ldr r0, [r6, #0x3c]
- ldr r2, [sp, #0x4]
- ldr r0, [r0, #0x474]
- bl MIi_CpuCopyFast
- ldr r0, [r6, #0x3c]
- bl FUN_020ACD90
-_020AAA24: ; 0x020AAA24
- mov r0, #0x0
- str r0, [r6, #0x3c]
- ldr r0, [sp, #0x8]
- cmp r0, #0x0
- beq _020AAA50
- ldrb r1, [r7, #0x10]
- ldr r2, [r0, #0x0]
- mov r0, #0x1
- orr r1, r2, r0, lsl r1
- ldr r0, [sp, #0x8]
- str r1, [r0, #0x0]
-_020AAA50:
- add sp, sp, #0xc
- mov r0, #0x1
- ldmia sp!, {r4-r11,pc}
-_020AAA5C:
- add sp, sp, #0xc
- mov r0, #0x0
- ldmia sp!, {r4-r11,pc}
-_020AAA68:
- ldr r0, _020AABD8 ; =0x00008B4C
- adds r2, r8, r0
- adc r0, r3, r1
- cmp r9, r0
- cmpeq r4, r2
- bls _020AAAA8
- ldr r2, [r7, #0x18]
- mov r0, r6
- mov r1, r7
- str r2, [r6, #0x58]
- bl FUN_020ABC0C
- mov r8, r0
- mov r0, r10
- bl FUN_020AB4B8
- mov r5, r11
- b _020AABA8
-_020AAAA8:
- ldr r1, [r6, #0x58]
- ldr r2, [r7, #0x18]
- add r0, r1, #0x1
- cmp r0, r2
- beq _020AAAE0
- cmp r1, #0x0
- beq _020AAAE0
- cmp r1, r2
- bhi _020AAAE0
- ldr r0, [r7, #0x45c]
- cmp r0, #0x0
- ldreq r0, [r6, #0x14]
- addeq r0, r0, #0x1
- streq r0, [r6, #0x14]
-_020AAAE0:
- ldr r0, [r7, #0x18]
- cmp r5, #0x0
- str r0, [r6, #0x58]
- beq _020AAB24
- ldr r0, [r6, #0x70]
- cmp r0, #0x0
- beq _020AAB24
- mov r0, r6
- mov r1, r7
- bl FUN_020ABC0C
- mov r8, r0
- mov r0, r10
- bl FUN_020AB4B8
- ldr r0, [r6, #0x70]
- sub r0, r0, #0x1
- str r0, [r6, #0x70]
- b _020AABA8
-_020AAB24:
- ldr r1, [r7, #0x464]
- ldr r0, [r6, #0x28]
- subs r2, r4, r1
- str r2, [r6, #0x28]
- ldr r1, [r6, #0x28]
- sub r0, r2, r0
- sub r0, r0, r1
- add r0, r1, r0, lsr #0x4
- str r0, [r6, #0x2c]
- str r0, [r6, #0x0]
- ldr r0, [r7, #0x474]
- ldr r1, [sp, #0x0]
- ldr r2, [sp, #0x4]
- bl MIi_CpuCopyFast
- mov r0, r6
- mov r1, r7
- bl FUN_020ABC0C
- ldr r0, [sp, #0x8]
- cmp r0, #0x0
- beq _020AAB8C
- ldrb r1, [r7, #0x10]
- ldr r2, [r0, #0x0]
- mov r0, #0x1
- orr r1, r2, r0, lsl r1
- ldr r0, [sp, #0x8]
- str r1, [r0, #0x0]
-_020AAB8C:
- add sp, sp, #0xc
- mov r0, #0x1
- ldmia sp!, {r4-r11,pc}
-_020AAB98:
- add sp, sp, #0xc
- str r8, [r6, #0x8]
- mov r0, #0x0
- ldmia sp!, {r4-r11,pc}
-_020AABA8:
- cmp r8, #0x0
- bne _020AA9A4
-_020AABB0:
- ldr r0, [r6, #0x3c]
- cmp r0, #0x0
- beq _020AABC8
- bl FUN_020ACD90
-_020AABC0: ; 0x020AABC0
- mov r0, #0x0
- str r0, [r6, #0x3c]
-_020AABC8:
- mov r0, #0x0
- add sp, sp, #0xc
- ldmia sp!, {r4-r11,pc}
- .balign 4
-_020AABD4: .word 0x021CA8E8
-_020AABD8: .word 0x00008B4C
-
- arm_func_start FUN_020AABDC
-FUN_020AABDC: ; 0x020AABDC
- stmdb sp!, {r4,lr}
- ldr r3, _020AACE0 ; =0x021CA8D4
- mov r2, r1
- ldr r1, [r3, #0x0]
- mov r12, #0x0
- cmp r2, r1
- movne r0, r12
- ldmneia sp!, {r4,pc}
-_020AABFC: ; 0x020AABFC
- ldr r1, _020AACE4 ; =0x021CA8D0
- ldr r4, [r1, #0x0]
- cmp r4, #0x0
- moveq r0, r12
- ldmeqia sp!, {r4,pc}
-_020AAC10: ; 0x020AAC10
- mov lr, r12
- cmp r4, #0x0
- bls _020AAC48
- ldr r3, _020AACE8 ; =0x021CA8DC
-_020AAC20:
- ldr r1, [r3, lr, lsl #0x2]
- cmp r1, #0x0
- beq _020AAC3C
- ldr r1, [r1, #0xc]
- cmp r1, #0x2
- moveq r12, #0x1
- beq _020AAC48
-_020AAC3C:
- add lr, lr, #0x1
- cmp lr, r4
- blo _020AAC20
-_020AAC48:
- cmp r12, #0x0
- moveq r0, #0x0
- ldmeqia sp!, {r4,pc}
-_020AAC54: ; 0x020AAC54
- ldr r1, _020AACEC ; =0x021CAF00
- ldr r4, _020AACEC ; =0x021CAF00
- ldr r1, [r1, #0x8c4]
- ldr r3, _020AACF0 ; =0x5F564354
- ands r1, r1, #0x1
- movne r12, #0x0
- moveq r12, #0x460
- str r3, [r4, r12]
- ldr r1, _020AACF4 ; =0x021CA8CC
- add r4, r4, r12
- ldr r1, [r1, #0x0]
- cmp r1, #0x2
- blt _020AAC94
- add r1, r4, #0x10
- bl MIi_CpuCopyFast
- b _020AAC9C
-_020AAC94:
- add r1, r4, #0xc
- bl MIi_CpuCopyFast
-_020AAC9C:
- mov r1, #0x40
- ldr r0, _020AACF8 ; =0x021CA8B0
- strb r1, [r4, #0x4]
- ldrh r2, [r0, #0x0]
- add r1, r2, #0x1
- strh r1, [r0, #0x0]
- strh r2, [r4, #0x6]
- bl OS_GetTick
- mov r0, r0, lsr #0x6
- orr r0, r0, r1, lsl #0x1a
- ldr r1, _020AACEC ; =0x021CAF00
- str r0, [r4, #0x8]
- ldr r2, [r1, #0x8c4]
- mov r0, #0x1
- add r2, r2, #0x1
- str r2, [r1, #0x8c4]
- ldmia sp!, {r4,pc}
- .balign 4
-_020AACE0: .word 0x021CA8D4
-_020AACE4: .word 0x021CA8D0
-_020AACE8: .word 0x021CA8DC
-_020AACEC: .word 0x021CAF00
-_020AACF0: .word 0x5F564354
-_020AACF4: .word 0x021CA8CC
-_020AACF8: .word 0x021CA8B0
-
- arm_func_start FUN_020AACFC
-FUN_020AACFC: ; 0x020AACFC
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r5, r0
- mov r4, #0x0
- ldr ip, _020AADB8 ; =0x021CA8DC
-_020AAD10:
- ldr r0, [r12, r4, lsl #0x2]
- mov lr, r4, lsl #0x2
- cmp r0, r5
- bne _020AAD74
- ldr r1, _020AADBC ; =0x021CA8E8
- mov r0, #0x94
- mla r0, r4, r0, r1
- ldr r1, _020AADC0 ; =0x021CA8D0
- mov r3, #0x0
- ldr r2, [r1, #0x0]
- str r3, [r12, lr]
- sub r2, r2, #0x1
- str r2, [r1, #0x0]
- bl FUN_020ABC40
- mov r0, r4
- bl FUN_020AB6C4
- mov r0, r4
- bl FUN_020AB234
- ldr r0, _020AADC4 ; =0x021CA8B4
- ldr r1, [r5, #0x8]
- ldr r2, [r0, #0x0]
- mvn r1, r1
- and r1, r2, r1
- str r1, [r0, #0x0]
- b _020AAD80
-_020AAD74:
- add r4, r4, #0x1
- cmp r4, #0x3
- blo _020AAD10
-_020AAD80:
- ldr r0, _020AADC0 ; =0x021CA8D0
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- addne sp, sp, #0x4
- ldmneia sp!, {r4-r5,pc}
-_020AAD94: ; 0x020AAD94
- ldr r0, _020AADC8 ; =0x021CA8C4
- mov r1, #0x1
- str r1, [r0, #0x0]
- bl FUN_020AD170
- ldr r0, _020AADC4 ; =0x021CA8B4
- mov r1, #0x0
- str r1, [r0, #0x0]
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,pc}
- .balign 4
-_020AADB8: .word 0x021CA8DC
-_020AADBC: .word 0x021CA8E8
-_020AADC0: .word 0x021CA8D0
-_020AADC4: .word 0x021CA8B4
-_020AADC8: .word 0x021CA8C4
-
- arm_func_start FUN_020AADCC
-FUN_020AADCC: ; 0x020AADCC
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- movs r5, r0
- addeq sp, sp, #0x4
- moveq r0, #0x0
- ldmeqia sp!, {r4-r5,pc}
-_020AADE4: ; 0x020AADE4
- ldr r0, _020AAF24 ; =0x021CA8D0
- ldr r0, [r0, #0x0]
- cmp r0, #0x3
- addeq sp, sp, #0x4
- moveq r0, #0x0
- ldmeqia sp!, {r4-r5,pc}
-_020AADFC: ; 0x020AADFC
- ldr r0, [r5, #0xc]
- cmp r0, #0x2
- beq _020AAE18
- cmp r0, #0x3
- addne sp, sp, #0x4
- movne r0, #0x0
- ldmneia sp!, {r4-r5,pc}
-_020AAE18:
- ldr r1, _020AAF28 ; =0x021CA8DC
- mov r2, #0x0
-_020AAE20:
- ldr r0, [r1, r2, lsl #0x2]
- cmp r0, r5
- addeq sp, sp, #0x4
- moveq r0, #0x1
- ldmeqia sp!, {r4-r5,pc}
-_020AAE34: ; 0x020AAE34
- add r2, r2, #0x1
- cmp r2, #0x3
- blo _020AAE20
- ldr r1, _020AAF28 ; =0x021CA8DC
- mov r4, #0x0
-_020AAE48:
- ldr r0, [r1, r4, lsl #0x2]
- mov r2, r4, lsl #0x2
- cmp r0, #0x0
- streq r5, [r1, r2]
- beq _020AAE68
- add r4, r4, #0x1
- cmp r4, #0x3
- blo _020AAE48
-_020AAE68:
- ldr r0, _020AAF24 ; =0x021CA8D0
- ldr r1, _020AAF2C ; =0x021CA8B4
- ldr r3, [r0, #0x0]
- ldr r2, _020AAF30 ; =0x021CA8E8
- add r3, r3, #0x1
- str r3, [r0, #0x0]
- mov r0, #0x94
- ldr r12, [r1, #0x0]
- ldr r3, [r5, #0x8]
- mla r0, r4, r0, r2
- orr r2, r12, r3
- str r2, [r1, #0x0]
- ldrb r2, [r5, #0x5]
- mov r1, r4
- bl FUN_020ABC6C
- mov r0, r4
- bl FUN_020AB714
- ldr r0, [r5, #0xc]
- cmp r0, #0x2
- addne sp, sp, #0x4
- movne r0, #0x1
- ldmneia sp!, {r4-r5,pc}
-_020AAEC0: ; 0x020AAEC0
- ldr r0, _020AAF24 ; =0x021CA8D0
- ldr r0, [r0, #0x0]
- cmp r0, #0x1
- bne _020AAF18
- bl FUN_020AD170
- bl OS_GetTickLo
- ldr r4, _020AAF34 ; =0x021CA8B0
- ldr r3, _020AAF38 ; =0x021CA8C0
- mov r12, #0x0
- ldr r1, _020AAF3C ; =0x021CAF00
- ldr r2, _020AAF40 ; =0x021CA8C4
- mov r5, #0x1
- strh r0, [r4, #0x0]
- strh r12, [r3, #0x0]
- strb r12, [r3, #0x2]
- str r5, [r2, #0x0]
- str r12, [r1, #0x8c0]
- str r12, [r1, #0x8c4]
- str r12, [r1, #0x8cc]
- str r12, [r1, #0x8c8]
- str r12, [r1, #0x8d0]
- str r12, [r1, #0x8d4]
-_020AAF18:
- mov r0, #0x1
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,pc}
- .balign 4
-_020AAF24: .word 0x021CA8D0
-_020AAF28: .word 0x021CA8DC
-_020AAF2C: .word 0x021CA8B4
-_020AAF30: .word 0x021CA8E8
-_020AAF34: .word 0x021CA8B0
-_020AAF38: .word 0x021CA8C0
-_020AAF3C: .word 0x021CAF00
-_020AAF40: .word 0x021CA8C4
-
- arm_func_start FUN_020AAF44
-FUN_020AAF44: ; 0x020AAF44
- ldr r0, _020AAF54 ; =0x021CA8D0
- mov r1, #0x0
- str r1, [r0, #0x0]
- bx lr
- .balign 4
-_020AAF54: .word 0x021CA8D0
-
- arm_func_start FUN_020AAF58
-FUN_020AAF58:
- stmdb sp!, {r4-r8,lr}
- bl OS_GetTickLo
- ldr r1, _020AB054 ; =0x021CCD20
- ldr ip, _020AB058 ; =0x021CA8B0
- ldr r4, [r1, #0x10]
- strh r0, [r12, #0x0]
- cmp r4, #0x1
- ldreq r0, _020AB05C ; =0x021CA8CC
- mov r5, #0x0
- ldr r1, _020AB060 ; =0x021CA8B4
- streq r5, [r0, #0x0]
- str r5, [r1, #0x0]
- ldr r2, _020AB064 ; =0x021CA8D0
- ldrne r0, _020AB05C ; =0x021CA8CC
- movne r1, #0x4
- strne r1, [r0, #0x0]
- str r5, [r2, #0x0]
- ldr r0, _020AB05C ; =0x021CA8CC
- ldr r3, _020AB068 ; =0x0210646C
- ldr r2, [r0, #0x0]
- mov r6, #0x1
- ldr r1, _020AB06C ; =0x020FF689
- str r6, [r3, #0x0]
- ldr r0, _020AB070 ; =0x020FF688
- ldrb r3, [r1, r2, lsl #0x1]
- ldrb r1, [r0, r2, lsl #0x1]
- mov r0, #0x44
- ldr r2, _020AB074 ; =0x021CA8D4
- mla r0, r1, r0, r3
- add r4, r0, #0xc
- ldr r1, _020AB078 ; =0x021CA8BC
- mov r5, #0x440
- ldr r0, _020AB07C ; =0x021CAF00
- mov r3, #0x0
- str r5, [r2, #0x0]
- str r4, [r1, #0x0]
- str r3, [r0, #0x8c0]
- str r3, [r0, #0x8c4]
- str r3, [r0, #0x8cc]
- str r3, [r0, #0x8c8]
- str r3, [r0, #0x8d0]
- str r3, [r0, #0x8d4]
- bl FUN_020ACF10
- mov r8, #0x0
- ldr r7, _020AB080 ; =0x021CA8E8
- ldr r5, _020AB084 ; =0x021CA8DC
- mov r6, r8
- mvn r4, #0x0
-_020AB018:
- mov r0, r8
- str r6, [r5, r8, lsl #0x2]
- bl FUN_020AB714
- mov r0, r7
- mov r1, r8
- mov r2, r4
- bl FUN_020ABC6C
- add r8, r8, #0x1
- cmp r8, #0x3
- add r7, r7, #0x94
- blo _020AB018
- bl FUN_020AB284
- bl FUN_020AD474
- mov r0, #0x1
- ldmia sp!, {r4-r8,pc}
- .balign 4
-_020AB054: .word 0x021CCD20
-_020AB058: .word 0x021CA8B0
-_020AB05C: .word 0x021CA8CC
-_020AB060: .word 0x021CA8B4
-_020AB064: .word 0x021CA8D0
-_020AB068: .word 0x0210646C
-_020AB06C: .word 0x020FF689
-_020AB070: .word 0x020FF688
-_020AB074: .word 0x021CA8D4
-_020AB078: .word 0x021CA8BC
-_020AB07C: .word 0x021CAF00
-_020AB080: .word 0x021CA8E8
-_020AB084: .word 0x021CA8DC
-
- arm_func_start FUN_020AB088
-FUN_020AB088: ; 0x020AB088
- ldr r2, [r0, #0x4]
- cmp r2, #0x0
- ldrne r1, [r0, #0x8]
- strne r1, [r2, #0x8]
- bne _020AB0B4
- ldr r2, [r0, #0x8]
- ldr r1, _020AB100 ; =0x021CB7D8
- cmp r2, #0x0
- str r2, [r1, #0x0]
- movne r1, #0x0
- strne r1, [r2, #0x4]
-_020AB0B4:
- ldr r2, [r0, #0x8]
- cmp r2, #0x0
- ldrne r1, [r0, #0x4]
- strne r1, [r2, #0x4]
- bne _020AB0E0
- ldr r2, [r0, #0x4]
- ldr r1, _020AB104 ; =0x021CB7DC
- cmp r2, #0x0
- str r2, [r1, #0x0]
- movne r1, #0x0
- strne r1, [r2, #0x8]
-_020AB0E0:
- ldrb r2, [r0, #0x11]
- ldr r3, _020AB108 ; =0x021CB7E0
- ldr r1, [r3, r2, lsl #0x2]
- sub r1, r1, #0x1
- str r1, [r3, r2, lsl #0x2]
- ldrb r0, [r0, #0x11]
- ldr r0, [r3, r0, lsl #0x2]
- bx lr
- .balign 4
-_020AB100: .word 0x021CB7D8
-_020AB104: .word 0x021CB7DC
-_020AB108: .word 0x021CB7E0
-
- arm_func_start FUN_020AB10C
-FUN_020AB10C: ; 0x020AB10C
- ldr r1, _020AB140 ; =0x021CB7D8
- ldr r2, [r1, #0x0]
- cmp r2, #0x0
- beq _020AB138
-_020AB11C:
- ldrb r1, [r2, #0x11]
- cmp r1, r0
- moveq r0, r2
- bxeq lr
- ldr r2, [r2, #0x8]
- cmp r2, #0x0
- bne _020AB11C
-_020AB138:
- mov r0, #0x0
- bx lr
- .balign 4
-_020AB140: .word 0x021CB7D8
-
- arm_func_start FUN_020AB144
-FUN_020AB144: ; 0x020AB144
- ldr r1, _020AB150 ; =0x021CB7E0
- ldr r0, [r1, r0, lsl #0x2]
- bx lr
- .balign 4
-_020AB150: .word 0x021CB7E0
-
- arm_func_start FUN_020AB154
-FUN_020AB154:
- ldr r0, _020AB160 ; =0x021CB7D8
- ldr r0, [r0, #0x0]
- bx lr
- .balign 4
-_020AB160: .word 0x021CB7D8
-
- arm_func_start FUN_020AB164
-FUN_020AB164: ; 0x020AB164
- ldr r2, _020AB1D8 ; =0x021CB7D8
- ldr r1, [r2, #0x0]
- cmp r1, #0x0
- bne _020AB198
- str r0, [r2, #0x0]
- mov r12, #0x0
- str r12, [r0, #0x4]
- ldr r3, [r2, #0x0]
- ldr r1, _020AB1DC ; =0x021CB7DC
- str r12, [r3, #0x8]
- ldr r2, [r2, #0x0]
- str r2, [r1, #0x0]
- b _020AB1B8
-_020AB198:
- ldr r1, _020AB1DC ; =0x021CB7DC
- mov r2, #0x0
- ldr r3, [r1, #0x0]
- str r3, [r0, #0x4]
- str r2, [r0, #0x8]
- ldr r2, [r1, #0x0]
- str r0, [r2, #0x8]
- str r0, [r1, #0x0]
-_020AB1B8:
- ldrb r2, [r0, #0x11]
- ldr r3, _020AB1E0 ; =0x021CB7E0
- ldr r1, [r3, r2, lsl #0x2]
- add r1, r1, #0x1
- str r1, [r3, r2, lsl #0x2]
- ldrb r0, [r0, #0x11]
- ldr r0, [r3, r0, lsl #0x2]
- bx lr
- .balign 4
-_020AB1D8: .word 0x021CB7D8
-_020AB1DC: .word 0x021CB7DC
-_020AB1E0: .word 0x021CB7E0
-
- arm_func_start FUN_020AB1E4
-FUN_020AB1E4: ; 0x020AB1E4
- stmdb sp!, {r4,lr}
- ldr r0, _020AB22C ; =0x021CB7D8
- ldr r4, [r0, #0x0]
- cmp r4, #0x0
- beq _020AB20C
-_020AB1F8:
- mov r0, r4
- ldr r4, [r4, #0x8]
- bl FUN_020ACD90
-_020AB204: ; 0x020AB204
- cmp r4, #0x0
- bne _020AB1F8
-_020AB20C:
- mov r2, #0x0
- ldr r0, _020AB230 ; =0x021CB7E0
- mov r1, r2
-_020AB218:
- str r1, [r0, r2, lsl #0x2]
- add r2, r2, #0x1
- cmp r2, #0x3
- blt _020AB218
- ldmia sp!, {r4,pc}
- .balign 4
-_020AB22C: .word 0x021CB7D8
-_020AB230: .word 0x021CB7E0
-
- arm_func_start FUN_020AB234
-FUN_020AB234: ; 0x020AB234
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r5, r0
- bl FUN_020AB10C
- movs r4, r0
- beq _020AB26C
-_020AB24C:
- mov r0, r4
- bl FUN_020AB088
- mov r0, r4
- bl FUN_020ACD90
- mov r0, r5
- bl FUN_020AB10C
- movs r4, r0
- bne _020AB24C
-_020AB26C:
- ldr r0, _020AB280 ; =0x021CB7E0
- mov r1, #0x0
- str r1, [r0, r5, lsl #0x2]
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,pc}
- .balign 4
-_020AB280: .word 0x021CB7E0
-
- arm_func_start FUN_020AB284
-FUN_020AB284: ; 0x020AB284
- ldr r1, _020AB2B4 ; =0x021CB7DC
- mov r2, #0x0
- ldr r0, _020AB2B8 ; =0x021CB7D8
- str r2, [r1, #0x0]
- str r2, [r0, #0x0]
- ldr r0, _020AB2BC ; =0x021CB7E0
- mov r1, r2
-_020AB2A0:
- str r1, [r0, r2, lsl #0x2]
- add r2, r2, #0x1
- cmp r2, #0x3
- blt _020AB2A0
- bx lr
- .balign 4
-_020AB2B4: .word 0x021CB7DC
-_020AB2B8: .word 0x021CB7D8
-_020AB2BC: .word 0x021CB7E0
-
- arm_func_start FUN_020AB2C0
-FUN_020AB2C0: ; 0x020AB2C0
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- cmp r2, #0x0
- addls sp, sp, #0x4
- mov lr, #0x0
- ldmlsia sp!, {pc}
-_020AB2D8:
- ldrsb r12, [r0, lr]
- mov r3, lr, lsl #0x1
- add lr, lr, #0x1
- mov r12, r12, lsl #0x8
- strh r12, [r1, r3]
- cmp lr, r2
- blo _020AB2D8
- add sp, sp, #0x4
- ldmia sp!, {pc}
-
- arm_func_start FUN_020AB2FC
-FUN_020AB2FC: ; 0x020AB2FC
- cmp r2, #0x0
- mov r12, #0x0
- bxls lr
-_020AB308:
- mov r3, r12, lsl #0x1
- ldrsh r3, [r1, r3]
- mov r3, r3, asr #0x8
- strb r3, [r0, r12]
- add r12, r12, #0x1
- cmp r12, r2
- blo _020AB308
- bx lr
-
- arm_func_start FUN_020AB328
-FUN_020AB328: ; 0x020AB328
- stmdb sp!, {r4,lr}
- mov r4, #0x0
- cmp r2, #0x0
- ldmlsia sp!, {r4,pc}
-_020AB338:
- ldrb r3, [r0, r4]
- mvn lr, r3
- and r3, lr, #0xf
- mov r12, r3, lsl #0x3
- and r3, lr, #0x70
- add r12, r12, #0x84
- mov r3, r3, asr #0x4
- mov r12, r12, lsl r3
- ands r3, lr, #0x80
- rsbne r12, r12, #0x84
- mov r3, r4, lsl #0x1
- subeq r12, r12, #0x84
- add r4, r4, #0x1
- strh r12, [r1, r3]
- cmp r4, r2
- blo _020AB338
- ldmia sp!, {r4,pc}
-
- arm_func_start FUN_020AB37C
-FUN_020AB37C: ; 0x020AB37C
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0x4
- cmp r2, #0x0
- mov r8, #0x0
- addls sp, sp, #0x4
- ldmlsia sp!, {r4-r11,pc}
-_020AB394: ; 0x020AB394
- mov r12, r8
- mov lr, #0xff
- mov r4, #0x7f
- mov r3, #0x8
-_020AB3A4:
- mov r5, r8, lsl #0x1
- ldrsh r5, [r1, r5]
- ldr fp, _020AB42C ; =0x02106470
- movs r7, r5, asr #0x2
- movmi r6, r4
- ldr r5, _020AB430 ; =0x00001FDF
- rsbmi r7, r7, #0x0
- movpl r6, lr
- cmp r7, r5
- movgt r7, r5
- mov r5, r12
- add r10, r7, #0x21
-_020AB3D4:
- ldr r9, [r11], #0x4
- cmp r10, r9
- ble _020AB3F0
- add r5, r5, #0x1
- cmp r5, #0x8
- blt _020AB3D4
- mov r5, r3
-_020AB3F0:
- cmp r5, #0x8
- eorge r5, r6, #0x7f
- bge _020AB414
- add r9, r7, #0x21
- add r7, r5, #0x1
- mov r7, r9, asr r7
- and r7, r7, #0xf
- orr r5, r7, r5, lsl #0x4
- eor r5, r5, r6
-_020AB414:
- strb r5, [r0, r8]
- add r8, r8, #0x1
- cmp r8, r2
- blo _020AB3A4
- add sp, sp, #0x4
- ldmia sp!, {r4-r11,pc}
- .balign 4
-_020AB42C: .word 0x02106470
-_020AB430: .word 0x00001FDF
-
- arm_func_start FUN_020AB434
-FUN_020AB434: ; 0x020AB434
- ldr r1, _020AB440 ; =0x021CB7FC
- ldr r0, [r1, r0, lsl #0x2]
- bx lr
- .balign 4
-_020AB440: .word 0x021CB7FC
-
- arm_func_start FUN_020AB444
-FUN_020AB444: ; 0x020AB444
- stmdb sp!, {r4,lr}
- mov r4, r0
- bl OS_DisableInterrupts
- ldr r3, _020AB4AC ; =0x021CB7F0
- ldr r1, _020AB4B0 ; =0x021CB7EC
- ldr r2, [r3, r4, lsl #0x2]
- str r0, [r1, #0x0]
- cmp r2, #0x0
- mov r12, r4, lsl #0x2
- beq _020AB494
- ldr r1, _020AB4B4 ; =0x021CB7FC
- ldr r2, [r2, #0x8]
- ldr r0, [r1, r12]
- sub r0, r0, #0x1
- str r0, [r1, r12]
- str r2, [r3, r12]
- ldr r1, [r3, r12]
- cmp r1, #0x0
- movne r0, #0x0
- strne r0, [r1, #0x4]
-_020AB494:
- ldr r0, _020AB4B0 ; =0x021CB7EC
- ldr r0, [r0, #0x0]
- bl OS_RestoreInterrupts
- ldr r0, _020AB4B4 ; =0x021CB7FC
- ldr r0, [r0, r4, lsl #0x2]
- ldmia sp!, {r4,pc}
- .balign 4
-_020AB4AC: .word 0x021CB7F0
-_020AB4B0: .word 0x021CB7EC
-_020AB4B4: .word 0x021CB7FC
-
- arm_func_start FUN_020AB4B8
-FUN_020AB4B8: ; 0x020AB4B8
- stmdb sp!, {r4,lr}
- mov r4, r0
- bl OS_DisableInterrupts
- ldr r2, _020AB4F8 ; =0x021CB7F0
- ldr r1, _020AB4FC ; =0x021CB7EC
- ldr r2, [r2, r4, lsl #0x2]
- str r0, [r1, #0x0]
- cmp r2, #0x0
- beq _020AB4EC
- bl OS_RestoreInterrupts
- ldr r0, _020AB4F8 ; =0x021CB7F0
- ldr r0, [r0, r4, lsl #0x2]
- ldmia sp!, {r4,pc}
-_020AB4EC:
- bl OS_RestoreInterrupts
-_020AB4F0: ; 0x020AB4F0
- mov r0, #0x0
- ldmia sp!, {r4,pc}
- .balign 4
-_020AB4F8: .word 0x021CB7F0
-_020AB4FC: .word 0x021CB7EC
-
- arm_func_start FUN_020AB500
-FUN_020AB500:
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- movs r5, r0
- mov r4, r1
- addeq sp, sp, #0x4
- mvneq r0, #0x0
- ldmeqia sp!, {r4-r5,pc}
-_020AB51C: ; 0x020AB51C
- cmp r4, #0x3
- addcs sp, sp, #0x4
- mvncs r0, #0x0
- ldmcsia sp!, {r4-r5,pc}
-_020AB52C: ; 0x020AB52C
- bl OS_DisableInterrupts
- ldr r3, _020AB620 ; =0x021CB7F0
- ldr r1, _020AB624 ; =0x021CB7EC
- ldr r2, [r3, r4, lsl #0x2]
- str r0, [r1, #0x0]
- cmp r2, #0x0
- mov r12, r4, lsl #0x2
- bne _020AB574
- str r5, [r3, r12]
- ldr r0, [r3, r12]
- mov r2, #0x0
- str r2, [r0, #0x4]
- ldr r1, [r3, r12]
- ldr r0, _020AB628 ; =0x021CB808
- str r2, [r1, #0x8]
- ldr r1, [r3, r12]
- str r1, [r0, r12]
- b _020AB5F4
-_020AB574:
- ldr r0, _020AB628 ; =0x021CB808
- ldr r3, [r0, r12]
- cmp r3, #0x0
- beq _020AB5D4
- ldr r1, [r5, #0x18]
-_020AB588:
- ldr r0, [r3, #0x18]
- cmp r0, r1
- bhs _020AB5C8
- str r3, [r5, #0x4]
- ldr r0, [r3, #0x8]
- ldr r1, _020AB628 ; =0x021CB808
- str r0, [r5, #0x8]
- str r5, [r3, #0x8]
- ldr r0, [r5, #0x8]
- mov r2, r4, lsl #0x2
- cmp r0, #0x0
- strne r5, [r0, #0x4]
- ldr r0, [r1, r4, lsl #0x2]
- cmp r3, r0
- streq r5, [r1, r2]
- b _020AB5F4
-_020AB5C8:
- ldr r3, [r3, #0x4]
- cmp r3, #0x0
- bne _020AB588
-_020AB5D4:
- mov r0, #0x0
- ldr r1, _020AB620 ; =0x021CB7F0
- str r0, [r5, #0x4]
- ldr r0, [r1, r4, lsl #0x2]
- str r0, [r5, #0x8]
- ldr r0, [r1, r4, lsl #0x2]
- str r5, [r0, #0x4]
- str r5, [r1, r4, lsl #0x2]
-_020AB5F4:
- ldr r2, _020AB62C ; =0x021CB7FC
- ldr r0, _020AB624 ; =0x021CB7EC
- ldr r1, [r2, r4, lsl #0x2]
- add r1, r1, #0x1
- str r1, [r2, r4, lsl #0x2]
- ldr r0, [r0, #0x0]
- bl OS_RestoreInterrupts
- ldr r0, _020AB62C ; =0x021CB7FC
- ldr r0, [r0, r4, lsl #0x2]
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,pc}
- .balign 4
-_020AB620: .word 0x021CB7F0
-_020AB624: .word 0x021CB7EC
-_020AB628: .word 0x021CB808
-_020AB62C: .word 0x021CB7FC
-
- arm_func_start FUN_020AB630
-FUN_020AB630: ; 0x020AB630
- stmdb sp!, {r4-r9,lr}
- sub sp, sp, #0x4
- bl OS_DisableInterrupts
- mov r7, #0x0
- ldr r1, _020AB6B8 ; =0x021CB7EC
- mov r4, r7
- mov r9, r7
- str r0, [r1, #0x0]
- ldr r5, _020AB6BC ; =0x021CB7F0
- ldr r8, _020AB6C0 ; =0x021CB7FC
- b _020AB69C
-_020AB65C:
- ldr r0, [r5, r7, lsl #0x2]
- mov r6, r7, lsl #0x2
- cmp r0, #0x0
- beq _020AB694
-_020AB66C:
- ldr r0, [r5, r6]
- ldr r1, [r0, #0x8]
- str r1, [r5, r6]
- ldr r1, [r5, r6]
- cmp r1, #0x0
- strne r4, [r1, #0x4]
- bl FUN_020ACD90
- ldr r0, [r5, r6]
- cmp r0, #0x0
- bne _020AB66C
-_020AB694:
- str r9, [r8, r7, lsl #0x2]
- add r7, r7, #0x1
-_020AB69C:
- cmp r7, #0x3
- blt _020AB65C
- ldr r0, _020AB6B8 ; =0x021CB7EC
- ldr r0, [r0, #0x0]
- bl OS_RestoreInterrupts
- add sp, sp, #0x4
- ldmia sp!, {r4-r9,pc}
- .balign 4
-_020AB6B8: .word 0x021CB7EC
-_020AB6BC: .word 0x021CB7F0
-_020AB6C0: .word 0x021CB7FC
-
- arm_func_start FUN_020AB6C4
-FUN_020AB6C4: ; 0x020AB6C4
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r5, r0
- bl FUN_020AB4B8
- movs r4, r0
- beq _020AB6FC
-_020AB6DC:
- mov r0, r5
- bl FUN_020AB444
- mov r0, r4
- bl FUN_020ACD90
- mov r0, r5
- bl FUN_020AB4B8
- movs r4, r0
- bne _020AB6DC
-_020AB6FC:
- ldr r0, _020AB710 ; =0x021CB7FC
- mov r1, #0x0
- str r1, [r0, r5, lsl #0x2]
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,pc}
- .balign 4
-_020AB710: .word 0x021CB7FC
-
- arm_func_start FUN_020AB714
-FUN_020AB714: ; 0x020AB714
- stmdb sp!, {r4,lr}
- mov r4, r0
- bl OS_DisableInterrupts
- ldr r1, _020AB750 ; =0x021CB7EC
- ldr r3, _020AB754 ; =0x021CB808
- mov lr, #0x0
- str lr, [r3, r4, lsl #0x2]
- ldr r2, _020AB758 ; =0x021CB7FC
- ldr r12, [r3, r4, lsl #0x2]
- ldr r3, _020AB75C ; =0x021CB7F0
- str r0, [r1, #0x0]
- str r12, [r3, r4, lsl #0x2]
- str lr, [r2, r4, lsl #0x2]
- bl OS_RestoreInterrupts
- ldmia sp!, {r4,pc}
- .balign 4
-_020AB750: .word 0x021CB7EC
-_020AB754: .word 0x021CB808
-_020AB758: .word 0x021CB7FC
-_020AB75C: .word 0x021CB7F0
-
- arm_func_start FUN_020AB760
-FUN_020AB760:
- stmdb sp!, {r4-r8,lr}
- mov r7, r0
- ldr r2, [r7, #0x5c]
- mov r6, r1
- cmp r2, #0x0
- mov r4, #0x0
- beq _020AB790
- ldr r1, [r6, #0x18]
- mov r1, r1, lsl #0x10
- mov r1, r1, lsr #0x10
- bl FUN_020ABBEC
- b _020AB820
-_020AB790:
- ldr r2, [r6, #0x18]
- mov r2, r2, lsl #0x10
- mov r2, r2, lsr #0x10
- bl FUN_020ABB1C
-_020AB7A0: ; 0x020AB7A0
- cmp r0, #0x0
- ldreq r1, [r7, #0x14]
- moveq r0, r4
- addeq r1, r1, #0x1
- streq r1, [r7, #0x14]
- ldmeqia sp!, {r4-r8,pc}
-_020AB7B8: ; 0x020AB7B8
- ldr r0, [r6, #0x18]
- str r0, [r7, #0x10]
- ldr r2, [r6, #0x18]
- ldr r1, [r7, #0x54]
- cmp r1, r2
- ldreq r1, [r7, #0x14]
- moveq r0, r4
- addeq r1, r1, #0x1
- streq r1, [r7, #0x14]
- ldmeqia sp!, {r4-r8,pc}
-_020AB7E0: ; 0x020AB7E0
- add r0, r1, #0x1
- cmp r0, r2
- beq _020AB820
- ldr r0, [r6, #0x45c]
- cmp r0, #0x0
- bne _020AB820
- subs r0, r2, r1
- rsbmi r0, r0, #0x0
- cmp r0, #0x64
- strgt r2, [r7, #0x54]
- movgt r0, #0x0
- ldmgtia sp!, {r4-r8,pc}
-_020AB810: ; 0x020AB810
- cmp r1, r2
- ldrhi r0, [r7, #0x1c]
- addhi r0, r0, #0x1
- strhi r0, [r7, #0x1c]
-_020AB820:
- ldr r0, [r6, #0x18]
- str r0, [r7, #0x54]
- ldr r0, [r7, #0x4c]
- cmp r0, #0x0
- bne _020AB858
- ldr r1, [r6, #0x460]
- ldr r0, _020ABAF4 ; =0x00000464
- str r1, [r7, #0x4c]
- add r1, r6, r0
- add r0, r7, #0x44
- ldmia r1, {r2-r3}
- stmia r0, {r2-r3}
- mov r0, #0x0
- str r0, [r7, #0x6c]
-_020AB858:
- ldr r3, [r6, #0x460]
- ldr r1, [r7, #0x4c]
- ldr r2, [r6, #0x464]
- ldr r0, [r7, #0x44]
- sub r1, r3, r1
- ldr r3, [r7, #0x80]
- mov r1, r1, lsl #0x6
- subs r0, r2, r0
- subs r5, r1, r0
- cmp r3, #0x0
- mov r0, #0x0
- beq _020AB894
- ldr r2, [r6, #0x45c]
- cmp r2, #0x0
- beq _020AB89C
-_020AB894:
- str r5, [r7, #0x80]
- b _020AB918
-_020AB89C:
- str r5, [r7, #0x80]
- subs r2, r5, r3
- ldr r8, [r7, #0x7c]
- ldr r3, _020ABAF8 ; =0x00008B18
- ldr ip, _020ABAFC ; =0x0000CC8D
- add r3, r8, r3
- mov r8, r3, lsl #0x1
- rsbmi r2, r2, #0x0
- mov r3, r8, asr #0x1f
- adds r8, r8, r12
- mov r12, r2, asr #0x1f
- adc r3, r3, #0x0
- cmp r12, r3
- cmpeq r2, r8
- bls _020AB8F4
- ldr lr, _020ABB00 ; =0x75CA82CB
- mov r3, r2, lsr #0x1f
- smull r12, r8, lr, r2
- mov r8, r8, asr #0xe
- add r8, r3, r8
- add r3, r8, #0x2
- str r3, [r7, #0x84]
-_020AB8F4:
- ldr r3, [r7, #0x84]
- cmp r3, #0x0
- bgt _020AB918
- ldr r3, [r7, #0x7c]
- sub r2, r2, r3
- add r2, r3, r2, asr #0x4
- str r2, [r7, #0x7c]
- ldr r2, [r7, #0x7c]
- str r2, [r7, #0x18]
-_020AB918:
- ldr r3, [r7, #0x44]
- ldr r12, [r7, #0x4]
- ldr r2, [r7, #0x48]
- adds r1, r1, r3
- adc r0, r0, r2
- adds r1, r12, r1
- str r1, [r6, #0x46c]
- adc r0, r0, #0x0
- str r0, [r6, #0x470]
- bl OS_GetTick
- ldr r12, [r6, #0x46c]
- ldr r2, _020ABAF8 ; =0x00008B18
- ldr lr, [r6, #0x470]
- adds r6, r12, r2
- adc r3, lr, #0x0
- cmp r3, r1
- mov r3, #0x0
- cmpeq r6, r0
- movcc r0, r3
- ldmccia sp!, {r4-r8,pc}
-_020AB968: ; 0x020AB968
- ldr r6, _020ABB04 ; =0x0007FD88
- adds r6, r0, r6
- adc r0, r1, r3
- cmp lr, r0
- cmpeq r12, r6
- movhi r0, r3
- ldmhiia sp!, {r4-r8,pc}
-_020AB984: ; 0x020AB984
- ldr r0, [r7, #0x84]
- cmp r0, #0x0
- bgt _020ABAE0
- ldr r1, [r7, #0x7c]
- mov r0, #0x3
- mul lr, r1, r0
- ldr r6, _020ABB00 ; =0x75CA82CB
- ldr r12, [r7, #0x8c]
- smull r1, r0, r6, lr
- mov r0, r0, asr #0xe
- mov r1, lr, lsr #0x1f
- cmp lr, r12
- add r0, r1, r0
- bls _020AB9EC
- ldr r1, _020ABB08 ; =0x000134DF
- add r6, r0, #0x1
- mla r12, r6, r2, r1
- str r12, [r7, #0x8c]
- mla r1, r0, r2, r1
- ldr r2, [r7, #0x8c]
- ldr r0, _020ABB0C ; =0xFFFF2F5C
- add r0, r2, r0
- str r0, [r7, #0x88]
- str r1, [r7, #0x4]
- str r3, [r7, #0x90]
- b _020ABA50
-_020AB9EC:
- ldr r1, [r7, #0x88]
- cmp lr, r1
- bge _020ABA50
- ldr r1, [r7, #0x90]
- add r1, r1, #0x1
- str r1, [r7, #0x90]
- ldr r1, [r7, #0x90]
- cmp r1, #0x46
- bls _020ABA50
- ldr r1, _020ABB08 ; =0x000134DF
- add r12, r0, #0x1
- mla lr, r12, r2, r1
- ldr r6, _020ABB10 ; =0xFFFFBA74
- str lr, [r7, #0x8c]
- mla r1, r0, r2, r6
- str r1, [r7, #0x88]
- ldr r1, [r7, #0x88]
- ldr r2, _020ABB08 ; =0x000134DF
- cmp r1, #0x0
- ldr r1, _020ABAF8 ; =0x00008B18
- strlt r3, [r7, #0x88]
- mla r1, r0, r1, r2
- mov r3, #0x0
- str r1, [r7, #0x4]
- str r3, [r7, #0x90]
-_020ABA50:
- ldr r1, [r7, #0x4]
- ldr r0, _020ABB14 ; =0x00068520
- cmp r1, r0
- strhi r0, [r7, #0x4]
- ldr r0, [r7, #0x6c]
- cmp r0, #0x10
- addcc r0, r0, #0x1
- strcc r0, [r7, #0x6c]
- strcc r5, [r7, #0x74]
- strcc r5, [r7, #0x78]
- blo _020ABA98
- ldr r1, [r7, #0x74]
- mov r0, #0x1f
- mla r2, r1, r0, r5
- mov r0, r2, asr #0x4
- add r0, r2, r0, lsr #0x1b
- mov r0, r0, asr #0x5
- str r0, [r7, #0x74]
-_020ABA98:
- ldr r2, [r7, #0x78]
- ldr r1, [r7, #0x74]
- ldr r0, _020ABB18 ; =0x00008701
- sub r1, r2, r1
- str r1, [r7, #0xc]
- ldr r1, [r7, #0xc]
- cmp r1, r0
- mvn r0, #0x8700
- movgt r4, #0x1
- cmp r1, r0
- ldrlt r0, [r7, #0x70]
- mvnlt r4, #0x0
- addlt r0, r0, #0x1
- strlt r0, [r7, #0x70]
- cmp r4, #0x0
- movne r0, #0x0
- strne r0, [r7, #0x6c]
- strne r0, [r7, #0x4c]
-_020ABAE0:
- ldr r1, [r7, #0x84]
- mov r0, #0x1
- sub r1, r1, #0x1
- str r1, [r7, #0x84]
- ldmia sp!, {r4-r8,pc}
- .balign 4
-_020ABAF4: .word 0x00000464
-_020ABAF8: .word 0x00008B18
-_020ABAFC: .word 0x0000CC8D
-_020ABB00: .word 0x75CA82CB
-_020ABB04: .word 0x0007FD88
-_020ABB08: .word 0x000134DF
-_020ABB0C: .word 0xFFFF2F5C
-_020ABB10: .word 0xFFFFBA74
-_020ABB14: .word 0x00068520
-_020ABB18: .word 0x00008701
-
- arm_func_start FUN_020ABB1C
-FUN_020ABB1C:
- stmdb sp!, {r4-r6,lr}
- mov r6, r0
- ldrh r12, [r6, #0x68]
- mov r4, r2
- ldr r3, _020ABBE4 ; =0x00000BB8
- sub r2, r4, r12
- mov r2, r2, lsl #0x10
- mov r2, r2, lsr #0x10
- mov r5, r1
- cmp r2, r3
- bhs _020ABB60
- cmp r4, r12
- ldrcc r0, [r6, #0x60]
- addcc r0, r0, #0x10000
- strcc r0, [r6, #0x60]
- strh r4, [r6, #0x68]
- b _020ABBD0
-_020ABB60:
- ldr r1, _020ABBE8 ; =0x0000FF9C
- cmp r2, r1
- bhi _020ABBAC
- ldr r1, [r6, #0x64]
- cmp r4, r1
- bne _020ABB94
- mov r1, r4
- bl FUN_020ABBEC
- sub r0, r4, #0x1
- mov r0, r0, lsl #0x10
- mov r0, r0, lsr #0x10
- str r0, [r6, #0x54]
- b _020ABBD0
-_020ABB94:
- add r0, r4, #0x1
- mov r0, r0, lsl #0x10
- mov r0, r0, lsr #0x10
- str r0, [r6, #0x64]
- mov r0, #0x0
- ldmia sp!, {r4-r6,pc}
-_020ABBAC:
- ldr r2, [r6, #0x60]
- ldr r0, [r6, #0x54]
- add r2, r4, r2
- add r0, r0, r1
- cmp r2, r0
- subhi r0, r2, #0x10000
- strhi r0, [r5, #0x18]
- movhi r0, #0x1
- ldmhiia sp!, {r4-r6,pc}
-_020ABBD0:
- ldr r1, [r6, #0x60]
- mov r0, #0x1
- add r1, r4, r1
- str r1, [r5, #0x18]
- ldmia sp!, {r4-r6,pc}
- .balign 4
-_020ABBE4: .word 0x00000BB8
-_020ABBE8: .word 0x0000FF9C
-
- arm_func_start FUN_020ABBEC
-FUN_020ABBEC: ; 0x020ABBEC
- ldr r2, _020ABC08 ; =0x00010001
- strh r1, [r0, #0x68]
- str r2, [r0, #0x64]
- mov r1, #0x0
- str r1, [r0, #0x60]
- str r1, [r0, #0x5c]
- bx lr
- .balign 4
-_020ABC08: .word 0x00010001
-
- arm_func_start FUN_020ABC0C
-FUN_020ABC0C: ; 0x020ABC0C
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r5, r0
- ldr r0, [r5, #0x3c]
- mov r4, r1
- cmp r0, #0x0
- beq _020ABC2C
- bl FUN_020ACD90
-_020ABC2C:
- str r4, [r5, #0x3c]
- ldr r0, [r5, #0x34]
- bl FUN_020AB444
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,pc}
-
- arm_func_start FUN_020ABC40
-FUN_020ABC40: ; 0x020ABC40
- stmdb sp!, {r4,lr}
- mov r4, r0
- ldr r0, [r4, #0x3c]
- cmp r0, #0x0
- beq _020ABC60
- bl FUN_020ACD90
-_020ABC58: ; 0x020ABC58
- mov r0, #0x0
- str r0, [r4, #0x3c]
-_020ABC60:
- mvn r0, #0x0
- str r0, [r4, #0x38]
- ldmia sp!, {r4,pc}
-
- arm_func_start FUN_020ABC6C
-FUN_020ABC6C: ; 0x020ABC6C
- stmdb sp!, {r4-r6,lr}
- mov r5, r1
- mov r4, r2
- mov r1, #0x0
- mov r2, #0x28
- mov r6, r0
- bl MI_CpuFill8
- ldr r0, _020ABCF4 ; =0x000134DF
- mov r1, #0x0
- str r0, [r6, #0x4]
- str r1, [r6, #0x28]
- str r1, [r6, #0x2c]
- str r5, [r6, #0x34]
- str r4, [r6, #0x38]
- str r1, [r6, #0x7c]
- str r1, [r6, #0x80]
- str r1, [r6, #0x84]
- str r1, [r6, #0x88]
- str r0, [r6, #0x8c]
- str r1, [r6, #0x90]
- str r1, [r6, #0x4c]
- str r1, [r6, #0x44]
- str r1, [r6, #0x48]
- str r1, [r6, #0x6c]
- str r1, [r6, #0x70]
- str r1, [r6, #0x50]
- str r1, [r6, #0x54]
- str r1, [r6, #0x58]
- mov r0, #0x1
- str r0, [r6, #0x5c]
- str r1, [r6, #0x3c]
- str r1, [r6, #0x40]
- str r1, [r6, #0x30]
- ldmia sp!, {r4-r6,pc}
- .balign 4
-_020ABCF4: .word 0x000134DF
-
- arm_func_start FUN_020ABCF8
-FUN_020ABCF8: ; 0x020ABCF8
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r3, _020ABE34 ; =0x021CCD20
- ldr r2, [r3, #0x10]
- cmp r2, #0x2
- addne sp, sp, #0x4
- movne r0, #0x0
- ldmneia sp!, {pc}
- ldrb r12, [r3, #0x1]
- ldrb r2, [r0, #0x8]
- cmp r12, r2
- addne sp, sp, #0x4
- movne r0, #0x0
- ldmneia sp!, {pc}
- ldrb r2, [r0, #0xa]
- cmp r2, #0x0
- beq _020ABD48
- cmp r2, #0x1
- beq _020ABDA4
- b _020ABE1C
-_020ABD48:
- ldr r0, _020ABE38 ; =0x021CB824
- ldr r2, [r0, #0x2c]
- cmp r2, #0x0
- addeq sp, sp, #0x4
- moveq r0, #0x0
- ldmeqia sp!, {pc}
- ldr r0, [r0, #0x38]
- cmp r0, #0x5
- beq _020ABD74
- cmp r0, #0x2
- bne _020ABD80
-_020ABD74:
- mov r0, #0x9
- str r0, [r1, #0x0]
- b _020ABD88
-_020ABD80:
- mov r0, #0x5
- str r0, [r1, #0x0]
-_020ABD88:
- ldr r0, _020ABE38 ; =0x021CB824
- mov r3, #0x0
- ldr r2, _020ABE3C ; =0x021CB850
- str r3, [r0, #0x2c]
- str r3, [r0, #0x38]
- str r2, [r1, #0x4]
- b _020ABE28
-_020ABDA4:
- ldr r2, _020ABE38 ; =0x021CB824
- mov lr, #0x2
- str lr, [r2, #0x2c]
- ldrb r12, [r0, #0xb]
- ldrb r3, [r3, #0x0]
- cmp r12, r3
- bne _020ABDD8
- str lr, [r2, #0x38]
- mov r3, #0x7
- str r3, [r1, #0x0]
- ldr r3, [r0, #0xc]
- str r3, [r2, #0x34]
- b _020ABE04
-_020ABDD8:
- mov r3, #0x3
- str r3, [r2, #0x38]
- mov r2, #0x6
- str r2, [r1, #0x0]
- ldrb r3, [r0, #0xb]
- cmp r3, #0x0
- movne r2, #0x1
- movne r3, r2, lsl r3
- ldr r2, _020ABE38 ; =0x021CB824
- moveq r3, #0x1
- str r3, [r2, #0x34]
-_020ABE04:
- ldrb r3, [r0, #0xb]
- ldr r0, _020ABE38 ; =0x021CB824
- ldr r2, _020ABE3C ; =0x021CB850
- strb r3, [r0, #0x31]
- str r2, [r1, #0x4]
- b _020ABE28
-_020ABE1C:
- add sp, sp, #0x4
- mov r0, #0x0
- ldmia sp!, {pc}
-_020ABE28:
- mov r0, #0x1
- add sp, sp, #0x4
- ldmia sp!, {pc}
- .balign 4
-_020ABE34: .word 0x021CCD20
-_020ABE38: .word 0x021CB824
-_020ABE3C: .word 0x021CB850
-
- arm_func_start FUN_020ABE40
-FUN_020ABE40: ; 0x020ABE40
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r5, r0
- ldrb r0, [r5, #0x4]
- mov r4, r1
- cmp r0, #0xff
- bne _020ABE70
- ldrb r0, [r5, #0x6]
- cmp r0, #0x4
- addeq sp, sp, #0x4
- moveq r0, #0x0
- ldmeqia sp!, {r4-r5,pc}
-_020ABE70:
- ldrb r0, [r5, #0x8]
- bl FUN_020AC1E8
-_020ABE78: ; 0x020ABE78
- cmp r0, #0x0
- beq _020ABEA4
- mov r1, #0x2
- str r1, [r4, #0x0]
- str r0, [r4, #0x4]
- mov r2, #0x0
- str r2, [r0, #0x0]
- bl FUN_020AC708
- add sp, sp, #0x4
- mov r0, #0x1
- ldmia sp!, {r4-r5,pc}
-_020ABEA4:
- ldrb r1, [r5, #0x8]
- ldr r0, _020ABEC8 ; =0x021CB838
- bl FUN_020AC5A4
- ldr r0, _020ABEC8 ; =0x021CB838
- mov r1, #0x2
- bl FUN_020AC708
-_020ABEBC: ; 0x020ABEBC
- mov r0, #0x0
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,pc}
- .balign 4
-_020ABEC8: .word 0x021CB838
-
- arm_func_start FUN_020ABECC
-FUN_020ABECC: ; 0x020ABECC
- stmdb sp!, {r4-r6,lr}
- ldr r2, _020AC070 ; =0x021CB824
- mov r6, r0
- ldr r0, [r2, #0x2c]
- mov r5, r1
- cmp r0, #0x2
- bne _020ABF84
- ldrb r1, [r2, #0x30]
- ldrb r0, [r6, #0x8]
- cmp r1, r0
- bne _020ABF74
- ldr r0, _020AC074 ; =0x021CB850
- mov r1, r6
- bl FUN_020AC350
- mov r4, r0
- mvn r0, #0x2
- cmp r4, r0
- beq _020ABF48
- mvn r0, #0x1
- cmp r4, r0
- beq _020ABF30
- mvn r0, #0x0
- cmp r4, r0
- beq _020ABF48
- b _020ABF50
-_020ABF30:
- mov r0, #0xc
- str r0, [r5, #0x0]
- mov r0, #0x0
- str r0, [r5, #0x4]
- mov r0, #0x1
- ldmia sp!, {r4-r6,pc}
-_020ABF48:
- mov r0, #0x0
- ldmia sp!, {r4-r6,pc}
-_020ABF50:
- ldr r1, _020AC074 ; =0x021CB850
- mov r0, r6
- bl FUN_020AC4A0
- ldr r1, _020AC074 ; =0x021CB850
- str r0, [r5, #0x0]
- str r1, [r5, #0x4]
- ldr r0, [r5, #0x4]
- str r4, [r0, #0xc]
- b _020AC028
-_020ABF74:
- mov r0, #0x1
- bl FUN_020AC5E8
-_020ABF7C: ; 0x020ABF7C
- mov r0, #0x0
- ldmia sp!, {r4-r6,pc}
-_020ABF84:
- ldrb r12, [r6, #0x8]
- cmp r12, #0x0
- movne r0, #0x1
- movne r1, r0, lsl r12
- ldr r0, _020AC078 ; =0x021CB818
- moveq r1, #0x1
- ldr r0, [r0, #0x0]
- ands r0, r0, r1
- moveq r0, #0x0
- ldmeqia sp!, {r4-r6,pc}
-_020ABFAC: ; 0x020ABFAC
- ldr r2, _020AC070 ; =0x021CB824
- mov r4, #0x2
- mov r3, #0x0
- ldr r0, _020AC074 ; =0x021CB850
- mov r1, r6
- strb r12, [r2, #0x30]
- str r4, [r2, #0x2c]
- str r3, [r2, #0x38]
- bl FUN_020AC350
- mov r4, r0
- mvn r0, #0x2
- cmp r4, r0
- beq _020ABFF8
- mvn r0, #0x1
- cmp r4, r0
- beq _020ABFF8
- mvn r0, #0x0
- cmp r4, r0
- bne _020AC008
-_020ABFF8:
- ldr r1, _020AC070 ; =0x021CB824
- mov r0, #0x0
- str r0, [r1, #0x2c]
- ldmia sp!, {r4-r6,pc}
-_020AC008:
- ldr r1, _020AC074 ; =0x021CB850
- mov r0, r6
- bl FUN_020AC4A0
- ldr r1, _020AC074 ; =0x021CB850
- str r0, [r5, #0x0]
- str r1, [r5, #0x4]
- ldr r0, [r5, #0x4]
- str r4, [r0, #0xc]
-_020AC028:
- ldr r0, [r5, #0x0]
- cmp r0, #0xa
- bne _020AC050
- mov r0, #0x1
- bl FUN_020AC5E8
- bl OS_GetTick
- ldr r2, _020AC07C ; =0x021CB81C
- str r0, [r2, #0x0]
- str r1, [r2, #0x4]
- b _020AC068
-_020AC050:
- mov r0, #0x0
- bl FUN_020AC5E8
- ldr r0, _020AC07C ; =0x021CB81C
- mov r1, #0x0
- str r1, [r0, #0x0]
- str r1, [r0, #0x4]
-_020AC068:
- mov r0, #0x1
- ldmia sp!, {r4-r6,pc}
- .balign 4
-_020AC070: .word 0x021CB824
-_020AC074: .word 0x021CB850
-_020AC078: .word 0x021CB818
-_020AC07C: .word 0x021CB81C
-
- arm_func_start FUN_020AC080
-FUN_020AC080: ; 0x020AC080
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- mov r6, r0
- ldrb r2, [r6, #0x4]
- mov r5, r1
- cmp r2, #0xff
- bne _020AC0C4
- ldrb r2, [r6, #0x6]
- cmp r2, #0x4
- bne _020AC0B4
- bl FUN_020ABCF8
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,pc}
-_020AC0B4:
- cmp r2, #0x3
- addeq sp, sp, #0x4
- moveq r0, #0x0
- ldmeqia sp!, {r4-r7,pc}
-_020AC0C4:
- ldrb r0, [r6, #0x8]
- bl FUN_020AC1E8
- movs r4, r0
- beq _020AC154
- mov r1, r6
- bl FUN_020AC350
- mov r7, r0
- mvn r0, #0x1
- cmp r7, r0
- beq _020AC104
- mvn r0, #0x0
- cmp r7, r0
- bne _020AC124
- add sp, sp, #0x4
- mov r0, #0x0
- ldmia sp!, {r4-r7,pc}
-_020AC104:
- mov r0, #0xc
- str r0, [r5, #0x0]
- mov r0, #0x0
- str r0, [r4, #0x0]
- add sp, sp, #0x4
- str r4, [r5, #0x4]
- mov r0, #0x1
- ldmia sp!, {r4-r7,pc}
-_020AC124:
- mov r0, r6
- mov r1, r4
- bl FUN_020AC4A0
-_020AC130: ; 0x020AC130
- str r0, [r5, #0x0]
- str r4, [r5, #0x4]
- str r7, [r4, #0xc]
- ldr r0, [r5, #0x0]
- add sp, sp, #0x4
- cmp r0, #0x0
- movne r0, #0x1
- moveq r0, #0x0
- ldmia sp!, {r4-r7,pc}
-_020AC154:
- ldrb r0, [r6, #0x8]
- bl FUN_020AC790
- movs r7, r0
- bne _020AC188
- ldrb r1, [r6, #0x8]
- ldr r0, _020AC1E4 ; =0x021CB838
- bl FUN_020AC5A4
- ldr r0, _020AC1E4 ; =0x021CB838
- mov r1, #0x3
- bl FUN_020AC708
- add sp, sp, #0x4
- mov r0, #0x0
- ldmia sp!, {r4-r7,pc}
-_020AC188:
- mov r1, r6
- bl FUN_020AC350
- mov r4, r0
- add r0, r4, #0x2
- cmp r0, #0x1
- bhi _020AC1B4
- mov r0, r7
- bl FUN_020ACC84
- add sp, sp, #0x4
- mov r0, #0x0
- ldmia sp!, {r4-r7,pc}
-_020AC1B4:
- mov r0, r6
- mov r1, r7
- bl FUN_020AC4A0
-_020AC1C0: ; 0x020AC1C0
- str r0, [r5, #0x0]
- str r7, [r5, #0x4]
- str r4, [r7, #0xc]
- ldr r0, [r5, #0x0]
- cmp r0, #0x0
- movne r0, #0x1
- moveq r0, #0x0
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,pc}
- .balign 4
-_020AC1E4: .word 0x021CB838
-
- arm_func_start FUN_020AC1E8
-FUN_020AC1E8:
- ldr r1, _020AC25C ; =0x021CCD20
- ldr r2, _020AC260 ; =0x021CB824
- ldr r1, [r1, #0x10]
- ldr r3, [r2, #0x4]
- cmp r1, #0x2
- bne _020AC224
- ldr r1, [r2, #0x2c]
- cmp r1, #0x0
- beq _020AC21C
- ldrb r1, [r2, #0x30]
- cmp r1, r0
- ldreq r0, _020AC264 ; =0x021CB850
- bxeq lr
-_020AC21C:
- mov r0, #0x0
- bx lr
-_020AC224:
- cmp r3, #0x0
- beq _020AC254
-_020AC22C:
- ldr r1, [r3, #0x0]
- cmp r1, #0x0
- beq _020AC248
- ldrb r1, [r3, #0x4]
- cmp r1, r0
- moveq r0, r3
- bxeq lr
-_020AC248:
- ldr r3, [r3, #0x14]
- cmp r3, #0x0
- bne _020AC22C
-_020AC254:
- mov r0, #0x0
- bx lr
- .balign 4
-_020AC25C: .word 0x021CCD20
-_020AC260: .word 0x021CB824
-_020AC264: .word 0x021CB850
-
- arm_func_start FUN_020AC268
-FUN_020AC268:
- ldrb r2, [r1, #0x4]
- ldrb r12, [r1, #0x6]
- cmp r2, #0x0
- addeq r12, r12, #0x5
- cmp r12, #0x0
- blt _020AC288
- cmp r12, #0xb
- blt _020AC28C
-_020AC288:
- mvn r12, #0x0
-_020AC28C:
- cmp r12, #0x0
- mvnlt r0, #0x0
- bxlt lr
- ldr r1, _020AC2F8 ; =0x021CCD20
- ldr r1, [r1, #0x10]
- cmp r1, #0x1
- ldrne r3, [r0, #0xc]
- ldrne r2, _020AC2FC ; =0x020FF788
- movne r1, #0xb
- mlane r1, r3, r1, r2
- ldrnesb r2, [r12, r1]
- bne _020AC2D0
- ldr r3, [r0, #0xc]
- ldr r2, _020AC300 ; =0x020FF744
- mov r1, #0xb
- mla r1, r3, r1, r2
- ldrsb r2, [r12, r1]
-_020AC2D0:
- mvn r1, #0x0
- cmp r2, r1
- moveq r0, #0x1
- bxeq lr
- mvn r1, #0x1
- cmp r2, r1
- moveq r0, #0x0
- strne r2, [r0, #0xc]
- movne r0, #0x1
- bx lr
- .balign 4
-_020AC2F8: .word 0x021CCD20
-_020AC2FC: .word 0x020FF788
-_020AC300: .word 0x020FF744
-
- arm_func_start FUN_020AC304
-FUN_020AC304:
- ldr r1, _020AC34C ; =0x021CB824
- ldr r2, [r1, #0x4]
- cmp r2, #0x0
- beq _020AC344
-_020AC314:
- ldr r1, [r2, #0x0]
- cmp r1, #0x0
- beq _020AC338
- ldr r1, [r2, #0xc]
- cmp r1, #0x2
- bne _020AC338
- cmp r0, r2
- movne r0, #0x0
- bxne lr
-_020AC338:
- ldr r2, [r2, #0x14]
- cmp r2, #0x0
- bne _020AC314
-_020AC344:
- mov r0, #0x1
- bx lr
- .balign 4
-_020AC34C: .word 0x021CB824
-
- arm_func_start FUN_020AC350
-FUN_020AC350: ; 0x020AC350
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- ldrb r2, [r1, #0x4]
- ldrb r3, [r1, #0x6]
- mov r4, r0
- cmp r2, #0x0
- addeq r3, r3, #0x5
- cmp r3, #0x0
- blt _020AC37C
- cmp r3, #0xb
- blt _020AC380
-_020AC37C:
- mvn r3, #0x0
-_020AC380:
- cmp r3, #0x0
- addlt sp, sp, #0x4
- mvnlt r0, #0x0
- ldmltia sp!, {r4-r5,pc}
-_020AC390: ; 0x020AC390
- ldr r0, _020AC44C ; =0x021CCD20
- ldr r0, [r0, #0x10]
- cmp r0, #0x1
- ldrne r2, [r4, #0xc]
- ldrne r1, _020AC450 ; =0x020FF700
- movne r0, #0xb
- mlane r0, r2, r0, r1
- ldrnesb r5, [r3, r0]
- bne _020AC3C8
- ldr r2, [r4, #0xc]
- ldr r1, _020AC454 ; =0x020FF6BC
- mov r0, #0xb
- mla r0, r2, r0, r1
- ldrsb r5, [r3, r0]
-_020AC3C8:
- mvn r0, #0x2
- cmp r5, r0
- beq _020AC41C
- mvn r0, #0x1
- cmp r5, r0
- beq _020AC3F8
- mvn r0, #0x0
- cmp r5, r0
- bne _020AC440
- add sp, sp, #0x4
- mov r0, r5
- ldmia sp!, {r4-r5,pc}
-_020AC3F8:
- mov r0, r4
- mov r1, #0x1
- bl FUN_020AC708
- mov r1, #0x0
- str r1, [r4, #0xc]
- add sp, sp, #0x4
- mov r0, r5
- str r1, [r4, #0x0]
- ldmia sp!, {r4-r5,pc}
-_020AC41C:
- mov r0, r4
- mov r1, #0x3
- bl FUN_020AC708
- mov r1, #0x0
- str r1, [r4, #0xc]
- add sp, sp, #0x4
- mov r0, r5
- str r1, [r4, #0x0]
- ldmia sp!, {r4-r5,pc}
-_020AC440:
- mov r0, r5
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,pc}
- .balign 4
-_020AC44C: .word 0x021CCD20
-_020AC450: .word 0x020FF700
-_020AC454: .word 0x020FF6BC
-
- arm_func_start FUN_020AC458
-FUN_020AC458:
- ldr ip, _020AC498 ; =0x5F564354
- mov r3, #0x10
- str r12, [r1, #0x0]
- strb r3, [r1, #0x5]
- ldr r3, _020AC49C ; =0x021CCD20
- strb r2, [r1, #0x6]
- ldrb r2, [r3, #0x0]
- strb r2, [r1, #0x8]
- ldrb r2, [r0, #0x4]
- mov r0, #0x0
- strb r2, [r1, #0x9]
- strb r0, [r1, #0xa]
- ldrb r2, [r3, #0x0]
- strb r2, [r1, #0xb]
- str r0, [r1, #0xc]
- bx lr
- .balign 4
-_020AC498: .word 0x5F564354
-_020AC49C: .word 0x021CCD20
-
- arm_func_start FUN_020AC4A0
-FUN_020AC4A0:
- ldrb r2, [r0, #0xb]
- strb r2, [r1, #0x5]
- ldrb r2, [r0, #0x4]
- cmp r2, #0xff
- bne _020AC4E8
- ldrb r2, [r0, #0x6]
- cmp r2, #0x0
- bne _020AC4D8
- ldrb r3, [r1, #0x4]
- cmp r3, #0x0
- movne r2, #0x1
- movne r2, r2, lsl r3
- moveq r2, #0x1
- str r2, [r1, #0x8]
-_020AC4D8:
- ldrb r1, [r0, #0x6]
- ldr r0, _020AC54C ; =0x020FF6AC
- ldrb r0, [r0, r1]
- bx lr
-_020AC4E8:
- cmp r2, #0x0
- bne _020AC544
- ldrb r2, [r0, #0x6]
- cmp r2, #0x0
- bne _020AC538
- ldr r0, [r1, #0xc]
- cmp r0, #0x1
- bne _020AC528
- ldrb r2, [r1, #0x4]
- cmp r2, #0x0
- movne r0, #0x1
- movne r0, r0, lsl r2
- moveq r0, #0x1
- str r0, [r1, #0x8]
- mov r0, #0x7
- bx lr
-_020AC528:
- cmp r0, #0x5
- moveq r0, #0x9
- movne r0, #0xc
- bx lr
-_020AC538:
- ldr r0, _020AC550 ; =0x020FF6B4
- ldrb r0, [r0, r2]
- bx lr
-_020AC544:
- mov r0, #0xc
- bx lr
- .balign 4
-_020AC54C: .word 0x020FF6AC
-_020AC550: .word 0x020FF6B4
-
- arm_func_start FUN_020AC554
-FUN_020AC554:
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldrb r2, [r1, #0x4]
- cmp r2, #0xff
- bne _020AC57C
- ldrb r2, [r1, #0x6]
- cmp r2, #0x4
- bne _020AC57C
- bl FUN_020AC628
- b _020AC598
-_020AC57C:
- ldrb r0, [r0, #0x4]
- mov r2, #0x10
- bl FUN_021EB044
-_020AC588: ; 0x020AC588
- cmp r0, #0x0
- addeq sp, sp, #0x4
- moveq r0, #0x0
- ldmeqia sp!, {pc}
-_020AC598:
- mov r0, #0x1
- add sp, sp, #0x4
- ldmia sp!, {pc}
-
- arm_func_start FUN_020AC5A4
-FUN_020AC5A4: ; 0x020AC5A4
- mov r12, r0
- mov r3, #0x6
- mov r2, #0x0
-_020AC5B0:
- strb r2, [r12], #0x1
- strb r2, [r12], #0x1
- strb r2, [r12], #0x1
- strb r2, [r12], #0x1
- subs r3, r3, #0x1
- bne _020AC5B0
- ldr r2, _020AC5E4 ; =0x021CCD20
- mov r3, #0x0
- ldr r2, [r2, #0x10]
- str r2, [r0, #0x0]
- str r3, [r0, #0xc]
- strb r1, [r0, #0x4]
- bx lr
- .balign 4
-_020AC5E4: .word 0x021CCD20
-
- arm_func_start FUN_020AC5E8
-FUN_020AC5E8:
- stmdb sp!, {r4,lr}
- sub sp, sp, #0x10
- mov r4, r0
- mov r3, #0xff
- ldr r0, _020AC624 ; =0x021CB850
- add r1, sp, #0x0
- mov r2, #0x4
- strb r3, [sp, #0x4]
- bl FUN_020AC458
- ldr r0, _020AC624 ; =0x021CB850
- add r1, sp, #0x0
- strb r4, [sp, #0xa]
- bl FUN_020AC628
- add sp, sp, #0x10
- ldmia sp!, {r4,pc}
- .balign 4
-_020AC624: .word 0x021CB850
-
- arm_func_start FUN_020AC628
-FUN_020AC628: ; 0x020AC628
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0x4
- mov r11, r0
- mov r10, r1
- mov r9, #0x0
- bl FUN_020AC6E4
- ldr r4, _020AC6DC ; =0x021CCD20
- ldr r5, _020AC6E0 ; =0x021CB818
- mov r8, r9
- mov r7, #0x1
- mov r6, #0x10
-_020AC654:
- cmp r8, #0x0
- movne r1, r7, lsl r8
- ldr r0, [r5, #0x0]
- moveq r1, r7
- ands r0, r0, r1
- beq _020AC694
- ldrb r0, [r4, #0x0]
- cmp r8, r0
- beq _020AC694
- mov r0, r8
- mov r1, r10
- mov r2, r6
- strb r8, [r10, #0x9]
- bl FUN_021EB044
-_020AC68C: ; 0x020AC68C
- cmp r0, #0x0
- addne r9, r9, #0x1
-_020AC694:
- add r0, r8, #0x1
- and r8, r0, #0xff
- cmp r8, #0x20
- blo _020AC654
- ldrb r0, [r10, #0xa]
- cmp r0, #0x1
- ldreq r0, _020AC6E0 ; =0x021CB818
- ldreq r0, [r0, #0x0]
- streq r0, [r11, #0x8]
- beq _020AC6C8
- cmp r0, #0x0
- moveq r0, #0x0
- streq r0, [r11, #0x8]
-_020AC6C8:
- cmp r9, #0x0
- mvneq r0, #0x3
- movne r0, #0x0
- add sp, sp, #0x4
- ldmia sp!, {r4-r11,pc}
- .balign 4
-_020AC6DC: .word 0x021CCD20
-_020AC6E0: .word 0x021CB818
-
- arm_func_start FUN_020AC6E4
-FUN_020AC6E4: ; 0x020AC6E4
- ldrb r2, [r1, #0xa]
- cmp r2, #0x1
- ldreqb r2, [r0, #0x4]
- ldreq r0, _020AC704 ; =0x021CB818
- streqb r2, [r1, #0xb]
- ldreq r0, [r0, #0x0]
- streq r0, [r1, #0xc]
- bx lr
- .balign 4
-_020AC704: .word 0x021CB818
-
- arm_func_start FUN_020AC708
-FUN_020AC708:
- stmdb sp!, {r4,lr}
- sub sp, sp, #0x10
- add r2, sp, #0x0
- mov r3, #0x10
- mov r4, r0
- bl FUN_020ACAE0
-_020AC720: ; 0x020AC720
- cmp r0, #0x0
- addne sp, sp, #0x10
- ldmneia sp!, {r4,pc}
-_020AC72C: ; 0x020AC72C
- add r1, sp, #0x0
- mov r0, r4
- bl FUN_020AC554
-_020AC738: ; 0x020AC738
- cmp r0, #0x0
- movne r0, #0x0
- mvneq r0, #0x3
- add sp, sp, #0x10
- ldmia sp!, {r4,pc}
-
- arm_func_start FUN_020AC74C
-FUN_020AC74C: ; 0x020AC74C
- stmdb sp!, {r4,lr}
- sub sp, sp, #0x10
- add r2, sp, #0x0
- mov r3, #0x10
- mov r4, r0
- bl FUN_020ACBD0
-_020AC764: ; 0x020AC764
- cmp r0, #0x0
- addne sp, sp, #0x10
- ldmneia sp!, {r4,pc}
-_020AC770: ; 0x020AC770
- add r1, sp, #0x0
- mov r0, r4
- bl FUN_020AC554
-_020AC77C: ; 0x020AC77C
- cmp r0, #0x0
- movne r0, #0x0
- mvneq r0, #0x3
- add sp, sp, #0x10
- ldmia sp!, {r4,pc}
-
- arm_func_start FUN_020AC790
-FUN_020AC790: ; 0x020AC790
- stmdb sp!, {r4,lr}
- mov r1, r0
- cmp r1, #0x20
- movcs r0, #0x0
- ldmcsia sp!, {r4,pc}
-_020AC7A4: ; 0x020AC7A4
- ldr r0, _020AC7F4 ; =0x021CCD20
- ldrb r0, [r0, #0x0]
- cmp r1, r0
- moveq r0, #0x0
- ldmeqia sp!, {r4,pc}
-_020AC7B8: ; 0x020AC7B8
- ldr r2, _020AC7F8 ; =0x021CB824
- ldr r4, [r2, #0x0]
- cmp r4, #0x0
- moveq r0, #0x0
- ldmeqia sp!, {r4,pc}
-_020AC7CC: ; 0x020AC7CC
- ldr r3, [r4, #0x14]
- mov r0, r4
- str r3, [r2, #0x0]
- bl FUN_020AC5A4
- ldr r1, _020AC7F8 ; =0x021CB824
- mov r0, r4
- ldr r2, [r1, #0x4]
- str r2, [r4, #0x14]
- str r4, [r1, #0x4]
- ldmia sp!, {r4,pc}
- .balign 4
-_020AC7F4: .word 0x021CCD20
-_020AC7F8: .word 0x021CB824
-
- arm_func_start FUN_020AC7FC
-FUN_020AC7FC:
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- cmp r2, #0x10
- addne sp, sp, #0x4
- movne r0, #0x0
- ldmneia sp!, {pc}
- ldrb r2, [r1, #0x8]
- cmp r2, r0
- bne _020AC834
- ldr r0, _020AC894 ; =0x021CCD20
- ldrb r12, [r1, #0x9]
- ldrb r2, [r0, #0x0]
- cmp r12, r2
- beq _020AC840
-_020AC834:
- add sp, sp, #0x4
- mov r0, #0x0
- ldmia sp!, {pc}
-_020AC840:
- ldrb r2, [r1, #0x5]
- cmp r2, #0x10
- beq _020AC860
- mov r0, r1
- mov r1, r3
- bl FUN_020ABE40
- add sp, sp, #0x4
- ldmia sp!, {pc}
-_020AC860:
- ldr r0, [r0, #0xc]
- cmp r0, #0x0
- bne _020AC880
- mov r0, r1
- mov r1, r3
- bl FUN_020AC080
- add sp, sp, #0x4
- ldmia sp!, {pc}
-_020AC880:
- mov r0, r1
- mov r1, r3
- bl FUN_020ABECC
- add sp, sp, #0x4
- ldmia sp!, {pc}
- .balign 4
-_020AC894: .word 0x021CCD20
-
- arm_func_start FUN_020AC898
-FUN_020AC898: ; 0x020AC898
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- bl OS_GetTick
- ldr r2, _020AC950 ; =0x021CCD20
- ldr r3, [r2, #0x10]
- cmp r3, #0x2
- addne sp, sp, #0x4
- ldmneia sp!, {r4-r5,pc}
-_020AC8B8: ; 0x020AC8B8
- ldr r2, [r2, #0xc]
- cmp r2, #0x0
- addeq sp, sp, #0x4
- ldmeqia sp!, {r4-r5,pc}
-_020AC8C8: ; 0x020AC8C8
- ldr r3, _020AC954 ; =0x021CB81C
- mov r12, #0x0
- ldr r5, [r3, #0x4]
- ldr r4, [r3, #0x0]
- cmp r5, r12
- cmpeq r4, r12
- addeq sp, sp, #0x4
- ldmeqia sp!, {r4-r5,pc}
-_020AC8E8: ; 0x020AC8E8
- ldr r2, _020AC958 ; =0x02106490
- subs r4, r0, r4
- ldr lr, [r2, #0x0]
- ldr r0, [r2, #0x4]
- sbc r1, r1, r5
- cmp r1, r0
- cmpeq r4, lr
- addls sp, sp, #0x4
- ldmlsia sp!, {r4-r5,pc}
-_020AC90C: ; 0x020AC90C
- ldr r1, _020AC95C ; =0x021CB824
- mov r0, r12
- str r12, [r3, #0x0]
- str r12, [r3, #0x4]
- str r12, [r1, #0x2c]
- str r12, [r1, #0x38]
- bl FUN_020AC5E8
- ldr r1, _020AC950 ; =0x021CCD20
- ldr r0, _020AC95C ; =0x021CB824
- ldr r3, [r1, #0x8]
- ldrb r0, [r0, #0x30]
- ldr r12, [r1, #0x4]
- ldr r2, _020AC960 ; =0x021CB850
- mov r1, #0x9
- blx r12
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,pc}
- .balign 4
-_020AC950: .word 0x021CCD20
-_020AC954: .word 0x021CB81C
-_020AC958: .word 0x02106490
-_020AC95C: .word 0x021CB824
-_020AC960: .word 0x021CB850
-
- arm_func_start FUN_020AC964
-FUN_020AC964: ; 0x020AC964
- ldr r0, _020AC978 ; =0x021CB824
- mov r1, #0x0
- str r1, [r0, #0x4]
- str r1, [r0, #0x0]
- bx lr
- .balign 4
-_020AC978: .word 0x021CB824
-
- arm_func_start FUN_020AC97C
-FUN_020AC97C:
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r4, r0
- ldr r0, [r4, #0x0]
- cmp r0, #0x0
- beq _020AC9A8
- ldr r1, [r4, #0x4]
- cmp r1, #0x0
- beq _020AC9A8
- cmp r1, #0x8
- bls _020AC9B4
-_020AC9A8:
- add sp, sp, #0x4
- mov r0, #0x0
- ldmia sp!, {r4-r5,pc}
-_020AC9B4:
- ldr r1, _020ACA8C ; =0x021CB824
- mov r2, #0x18
- str r0, [r1, #0x0]
- ldr r3, [r4, #0x4]
- mov r1, #0x0
- mul r2, r3, r2
- bl MI_CpuFill8
- ldr r0, _020ACA90 ; =0x021CB850
- mov r1, #0x0
- mov r2, #0x18
- bl MI_CpuFill8
- ldr r0, _020ACA94 ; =0x021CB838
- mov r1, #0x0
- mov r2, #0x18
- bl MI_CpuFill8
- ldr r12, [r4, #0x4]
- mov lr, #0x0
- subs r0, r12, #0x1
- beq _020ACA34
- ldr r1, _020ACA8C ; =0x021CB824
- mov r5, lr
- mov r0, #0x18
-_020ACA0C:
- ldr r2, [r1, #0x0]
- add lr, lr, #0x1
- mla r3, lr, r0, r2
- add r2, r2, r5
- str r3, [r2, #0x14]
- ldr r12, [r4, #0x4]
- add r5, r5, #0x18
- sub r2, r12, #0x1
- cmp lr, r2
- blo _020ACA0C
-_020ACA34:
- ldr r3, _020ACA8C ; =0x021CB824
- mov r0, #0x18
- ldr r1, [r3, #0x0]
- mov r5, #0x0
- mla r0, r12, r0, r1
- str r5, [r0, #-0x4]
- ldr r2, _020ACA98 ; =0x021CB818
- ldr r1, _020ACA9C ; =0x021CB814
- ldr r0, _020ACAA0 ; =0x021CCD20
- ldr lr, _020ACAA4 ; =OS_GetTick
- ldr ip, _020ACAA8 ; =0x5D588B65
- ldr r4, _020ACAAC ; =0x00269EC3
- str r5, [r3, #0x4]
- str r5, [r2, #0x0]
- str r5, [r1, #0x0]
- str r5, [r0, #0x14]
- str lr, [r3, #0x8]
- str r12, [r3, #0xc]
- str r4, [r3, #0x10]
- mov r0, #0x1
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,pc}
- .balign 4
-_020ACA8C: .word 0x021CB824
-_020ACA90: .word 0x021CB850
-_020ACA94: .word 0x021CB838
-_020ACA98: .word 0x021CB818
-_020ACA9C: .word 0x021CB814
-_020ACAA0: .word 0x021CCD20
-_020ACAA4: .word OS_GetTick
-_020ACAA8: .word 0x5D588B65
-_020ACAAC: .word 0x00269EC3
-
- arm_func_start FUN_020ACAB0
-FUN_020ACAB0: ; 0x020ACAB0
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r2, _020ACADC ; =0x021CCD20
- ldr r2, [r2, #0x10]
- cmp r2, #0x2
- addeq sp, sp, #0x4
- mvneq r0, #0x2
- ldmeqia sp!, {pc}
- bl FUN_020AC708
- add sp, sp, #0x4
- ldmia sp!, {pc}
- .balign 4
-_020ACADC: .word 0x021CCD20
-
- arm_func_start FUN_020ACAE0
-FUN_020ACAE0:
- stmdb sp!, {r4-r6,lr}
- movs r5, r0
- mov r6, r1
- mov r4, r2
- mvneq r0, #0x0
- ldmeqia sp!, {r4-r6,pc}
-_020ACAF8: ; 0x020ACAF8
- cmp r3, #0x10
- mvncc r0, #0x0
- ldmccia sp!, {r4-r6,pc}
-_020ACB04: ; 0x020ACB04
- cmp r6, #0x0
- blt _020ACB14
- cmp r6, #0x6
- blt _020ACB1C
-_020ACB14:
- mvn r0, #0x2
- ldmia sp!, {r4-r6,pc}
-_020ACB1C:
- mov r3, #0x0
- mov r1, r4
- and r2, r6, #0xff
- strb r3, [r4, #0x4]
- bl FUN_020AC458
-_020ACB30: ; 0x020ACB30
- cmp r6, #0x0
- bne _020ACB80
- ldr r0, _020ACB9C ; =0x021CCD20
- ldr r0, [r0, #0x10]
- cmp r0, #0x1
- bne _020ACB68
- ldr r0, [r5, #0xc]
- cmp r0, #0x4
- bne _020ACB68
- mov r0, r5
- bl FUN_020AC304
-_020ACB5C: ; 0x020ACB5C
- cmp r0, #0x0
- mvneq r0, #0x2
- ldmeqia sp!, {r4-r6,pc}
-_020ACB68:
- ldrb r1, [r5, #0x4]
- cmp r1, #0x0
- movne r0, #0x1
- movne r0, r0, lsl r1
- moveq r0, #0x1
- str r0, [r5, #0x8]
-_020ACB80:
- mov r0, r5
- mov r1, r4
- bl FUN_020AC268
-_020ACB8C: ; 0x020ACB8C
- cmp r0, #0x0
- mvneq r0, #0x2
- movne r0, #0x0
- ldmia sp!, {r4-r6,pc}
- .balign 4
-_020ACB9C: .word 0x021CCD20
-
- arm_func_start FUN_020ACBA0
-FUN_020ACBA0: ; 0x020ACBA0
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r2, _020ACBCC ; =0x021CCD20
- ldr r2, [r2, #0x10]
- cmp r2, #0x2
- addeq sp, sp, #0x4
- mvneq r0, #0x2
- ldmeqia sp!, {pc}
- bl FUN_020AC74C
- add sp, sp, #0x4
- ldmia sp!, {pc}
- .balign 4
-_020ACBCC: .word 0x021CCD20
-
- arm_func_start FUN_020ACBD0
-FUN_020ACBD0:
- stmdb sp!, {r4-r6,lr}
- movs r5, r0
- mov r4, r1
- mov r6, r2
- mvneq r0, #0x0
- ldmeqia sp!, {r4-r6,pc}
-_020ACBE8: ; 0x020ACBE8
- cmp r3, #0x10
- mvncc r0, #0x0
- ldmccia sp!, {r4-r6,pc}
-_020ACBF4: ; 0x020ACBF4
- ldr r1, _020ACC80 ; =0x021CCD20
- ldr r1, [r1, #0xc]
- cmp r1, #0x1
- mvneq r0, #0x2
- ldmeqia sp!, {r4-r6,pc}
-_020ACC08: ; 0x020ACC08
- cmp r4, #0x0
- blt _020ACC18
- cmp r4, #0x5
- blt _020ACC20
-_020ACC18:
- mvn r0, #0x2
- ldmia sp!, {r4-r6,pc}
-_020ACC20:
- mov r3, #0xff
- mov r1, r6
- and r2, r4, #0xff
- strb r3, [r6, #0x4]
- bl FUN_020AC458
- mov r0, r5
- mov r1, r6
- bl FUN_020AC268
-_020ACC40: ; 0x020ACC40
- cmp r0, #0x0
- mvneq r0, #0x2
- ldmeqia sp!, {r4-r6,pc}
-_020ACC4C: ; 0x020ACC4C
- ldr r0, _020ACC80 ; =0x021CCD20
- ldr r0, [r0, #0x10]
- cmp r0, #0x1
- bne _020ACC78
- cmp r4, #0x0
- bne _020ACC78
- mov r0, r5
- bl FUN_020AC304
-_020ACC6C: ; 0x020ACC6C
- cmp r0, #0x0
- mvneq r0, #0x2
- ldmeqia sp!, {r4-r6,pc}
-_020ACC78:
- mov r0, #0x0
- ldmia sp!, {r4-r6,pc}
- .balign 4
-_020ACC80: .word 0x021CCD20
-
- arm_func_start FUN_020ACC84
-FUN_020ACC84: ; 0x020ACC84
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r2, _020ACD48 ; =0x021CB824
- cmp r0, #0x0
- mov lr, #0x0
- addeq sp, sp, #0x4
- ldr r12, [r2, #0x4]
- moveq r0, lr
- ldmeqia sp!, {pc}
- ldr r1, _020ACD4C ; =0x021CCD20
- ldr r1, [r1, #0x10]
- cmp r1, #0x2
- bne _020ACCD0
- ldr r1, _020ACD50 ; =0x021CB850
- add sp, sp, #0x4
- cmp r0, r1
- streq lr, [r2, #0x2c]
- mov r0, #0x1
- ldmia sp!, {pc}
-_020ACCD0:
- cmp r12, #0x0
- beq _020ACD3C
-_020ACCD8:
- cmp r12, r0
- bne _020ACD2C
- mov r3, #0x0
- str r3, [r0, #0x0]
- cmp lr, #0x0
- ldrne r1, [r0, #0x14]
- strne r1, [lr, #0x14]
- bne _020ACD10
- ldr r2, [r12, #0x14]
- cmp r2, #0x0
- ldrne r1, _020ACD48 ; =0x021CB824
- strne r2, [r1, #0x4]
- ldreq r1, _020ACD48 ; =0x021CB824
- streq r3, [r1, #0x4]
-_020ACD10:
- ldr r1, _020ACD48 ; =0x021CB824
- add sp, sp, #0x4
- ldr r2, [r1, #0x0]
- str r2, [r0, #0x14]
- str r0, [r1, #0x0]
- mov r0, #0x1
- ldmia sp!, {pc}
-_020ACD2C:
- mov lr, r12
- ldr r12, [r12, #0x14]
- cmp r12, #0x0
- bne _020ACCD8
-_020ACD3C:
- mov r0, #0x0
- add sp, sp, #0x4
- ldmia sp!, {pc}
- .balign 4
-_020ACD48: .word 0x021CB824
-_020ACD4C: .word 0x021CCD20
-_020ACD50: .word 0x021CB850
-
- arm_func_start FUN_020ACD54
-FUN_020ACD54: ; 0x020ACD54
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r1, _020ACD8C ; =0x021CCD20
- ldr r1, [r1, #0x10]
- cmp r1, #0x0
- beq _020ACD74
- cmp r1, #0x2
- bne _020ACD80
-_020ACD74:
- add sp, sp, #0x4
- mov r0, #0x0
- ldmia sp!, {pc}
-_020ACD80:
- bl FUN_020AC790
- add sp, sp, #0x4
- ldmia sp!, {pc}
- .balign 4
-_020ACD8C: .word 0x021CCD20
-
- arm_func_start FUN_020ACD90
-FUN_020ACD90:
- stmdb sp!, {r4,lr}
- mov r4, r0
- bl OS_DisableInterrupts
- ldr r1, _020ACDC0 ; =0x021CB86C
- ldr r2, _020ACDC4 ; =0x021CB868
- ldr r3, [r1, #0x0]
- str r0, [r2, #0x0]
- str r3, [r4, #0x0]
- ldr r0, [r2, #0x0]
- str r4, [r1, #0x0]
- bl OS_RestoreInterrupts
- ldmia sp!, {r4,pc}
- .balign 4
-_020ACDC0: .word 0x021CB86C
-_020ACDC4: .word 0x021CB868
-
- arm_func_start FUN_020ACDC8
-FUN_020ACDC8: ; 0x020ACDC8
- stmdb sp!, {r4,lr}
- mov r4, #0x0
- bl OS_DisableInterrupts
- ldr r1, _020ACE08 ; =0x021CB86C
- ldr r2, _020ACE0C ; =0x021CB868
- ldr r3, [r1, #0x0]
- str r0, [r2, #0x0]
- cmp r3, #0x0
- ldrne r0, [r3, #0x0]
- movne r4, r3
- strne r0, [r1, #0x0]
- ldr r0, _020ACE0C ; =0x021CB868
- ldr r0, [r0, #0x0]
- bl OS_RestoreInterrupts
- mov r0, r4
- ldmia sp!, {r4,pc}
- .balign 4
-_020ACE08: .word 0x021CB86C
-_020ACE0C: .word 0x021CB868
-
- arm_func_start FUN_020ACE10
-FUN_020ACE10:
- ldr r1, _020ACE28 ; =0x021CB86C
- mov r2, #0x0
- ldr r0, _020ACE2C ; =0x021CB870
- str r2, [r1, #0x0]
- str r2, [r0, #0x0]
- bx lr
- .balign 4
-_020ACE28: .word 0x021CB86C
-_020ACE2C: .word 0x021CB870
-
- arm_func_start FUN_020ACE30
-FUN_020ACE30:
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- ldr r3, _020ACF00 ; =0xE525982B
- mov r2, r1
- umull r1, r4, r2, r3
- ldr r1, _020ACF04 ; =0x021CB870
- mov r4, r4, lsr #0xa
- str r0, [r1, #0x0]
- cmp r4, #0x4
- blo _020ACE60
- cmp r4, #0x48
- bls _020ACE6C
-_020ACE60:
- add sp, sp, #0x4
- mov r0, #0x0
- ldmia sp!, {r4-r5,pc}
-_020ACE6C:
- cmp r0, #0x0
- addeq sp, sp, #0x4
- moveq r0, #0x0
- ldmeqia sp!, {r4-r5,pc}
-_020ACE7C: ; 0x020ACE7C
- ands r3, r0, #0x1f
- movne r0, #0x0
- strne r0, [r1, #0x0]
- addne sp, sp, #0x4
- ldmneia sp!, {r4-r5,pc}
-_020ACE90: ; 0x020ACE90
- mov r1, r0
- mov r0, #0x0
- bl MIi_CpuClearFast
- subs r12, r4, #0x1
- mov r5, #0x0
- beq _020ACED0
- ldr r1, _020ACF04 ; =0x021CB870
- ldr r0, _020ACF08 ; =0x00000478
- mov lr, r5
-_020ACEB4:
- ldr r3, [r1, #0x0]
- add r5, r5, #0x1
- mla r2, r5, r0, r3
- str r2, [r3, lr]
- cmp r5, r12
- add lr, lr, r0
- blo _020ACEB4
-_020ACED0:
- ldr r1, _020ACF04 ; =0x021CB870
- ldr r0, _020ACF08 ; =0x00000478
- ldr r2, [r1, #0x0]
- mov r3, #0x0
- mla r0, r4, r0, r2
- str r3, [r0, #-0x478]
- ldr r2, [r1, #0x0]
- ldr r1, _020ACF0C ; =0x021CB86C
- mov r0, #0x1
- str r2, [r1, #0x0]
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,pc}
- .balign 4
-_020ACF00: .word 0xE525982B
-_020ACF04: .word 0x021CB870
-_020ACF08: .word 0x00000478
-_020ACF0C: .word 0x021CB86C
-
- arm_func_start FUN_020ACF10
-FUN_020ACF10: ; 0x020ACF10
- mov r2, #0xf
- mov r0, #0x44
- mul r1, r2, r0
- ldr r0, _020ACF30 ; =0x02106498
- ldr ip, _020ACF34 ; =FUN_020AD170
- str r2, [r0, #0x8]
- str r1, [r0, #0xc]
- bx r12
- .balign 4
-_020ACF30: .word 0x02106498
-_020ACF34: .word FUN_020AD170
-
- arm_func_start FUN_020ACF38
-FUN_020ACF38: ; 0x020ACF38
- stmdb sp!, {r4,lr}
- ldr r3, _020AD124 ; =0x02106498
- mov r12, r1, lsr #0x8
- str r12, [r3, #0x4]
- cmp r2, #0x0
- strneb r12, [r2, #0x0]
- ldr r2, _020AD124 ; =0x02106498
- ldr r2, [r2, #0x0]
- cmp r2, #0x0
- bne _020AD05C
- mov r4, #0x0
- mov r12, r4
- ldr r3, _020AD128 ; =0x021CB880
-_020ACF6C:
- ldr r2, [r3, r12, lsl #0x2]
- add r12, r12, #0x1
- cmp r12, #0x4
- add r4, r4, r2
- blt _020ACF6C
- ldr ip, _020AD12C ; =0x040002B0
- mov r3, #0x0
- ldr r2, _020AD130 ; =0x040002B8
- strh r3, [r12, #0x0]
- mov r3, r4, lsr #0x2
- str r3, [r2, #0x0]
-_020ACF98:
- ldrh r2, [r12, #0x0]
- ands r2, r2, #0x8000
- bne _020ACF98
- ldr r2, _020AD134 ; =0x040002B4
- cmp r1, #0x0
- ldr r2, [r2, #0x0]
- beq _020AD038
- cmp r1, r2, lsl #0x1
- blo _020AD038
- mov r4, #0x0
- mov r3, r4
- ldr r2, _020AD128 ; =0x021CB880
-_020ACFC8:
- ldr r1, [r2, r3, lsl #0x2]
- add r3, r3, #0x1
- cmp r3, #0x4
- add r4, r4, r1
- blo _020ACFC8
- ldr r3, _020AD12C ; =0x040002B0
- mov r2, #0x0
- ldr r1, _020AD130 ; =0x040002B8
- strh r2, [r3, #0x0]
- mov r2, r4, lsr #0x2
- str r2, [r1, #0x0]
-_020ACFF4:
- ldrh r1, [r3, #0x0]
- ands r1, r1, #0x8000
- bne _020ACFF4
- ldr r2, _020AD134 ; =0x040002B4
- mov r1, #0x3
- ldr r2, [r2, #0x0]
- ldr r3, _020AD138 ; =0x021CB874
- mul r1, r2, r1
- mov lr, r1, lsr #0x1
- ldr r2, _020AD13C ; =0x021CB878
- mov r12, #0x0
- ldr r1, _020AD124 ; =0x02106498
- mov r4, #0x1
- str lr, [r3, #0x0]
- str r12, [r2, #0x0]
- str r4, [r1, #0x0]
- b _020AD03C
-_020AD038:
- mov r4, #0x0
-_020AD03C:
- ldr r1, _020AD13C ; =0x021CB878
- ldr r3, _020AD128 ; =0x021CB880
- ldr r12, [r1, #0x0]
- add r2, r12, #0x1
- and r2, r2, #0x3
- str r0, [r3, r12, lsl #0x2]
- str r2, [r1, #0x0]
- b _020AD11C
-_020AD05C:
- ldr r1, _020AD13C ; =0x021CB878
- mov lr, #0x0
- ldr r12, [r1, #0x0]
- ldr r3, _020AD128 ; =0x021CB880
- add r2, r12, #0x1
- and r2, r2, #0x3
- mov r4, lr
- str r0, [r3, r12, lsl #0x2]
- str r2, [r1, #0x0]
-_020AD080:
- ldr r0, [r3, r4, lsl #0x2]
- add r4, r4, #0x1
- cmp r4, #0x4
- add lr, lr, r0
- blt _020AD080
- ldr r2, _020AD12C ; =0x040002B0
- mov r1, #0x0
- ldr r0, _020AD130 ; =0x040002B8
- strh r1, [r2, #0x0]
- mov r1, lr, lsr #0x2
- str r1, [r0, #0x0]
-_020AD0AC:
- ldrh r0, [r2, #0x0]
- ands r0, r0, #0x8000
- bne _020AD0AC
- ldr r1, _020AD134 ; =0x040002B4
- ldr r0, _020AD138 ; =0x021CB874
- ldr r1, [r1, #0x0]
- ldr r0, [r0, #0x0]
- cmp r1, r0
- bhi _020AD10C
- ldr r2, _020AD140 ; =0x021CB87C
- ldr r1, _020AD124 ; =0x02106498
- ldr r3, [r2, #0x0]
- ldr r0, [r1, #0x8]
- add r3, r3, #0x1
- str r3, [r2, #0x0]
- cmp r3, r0
- ble _020AD118
- ldr r0, _020AD13C ; =0x021CB878
- mov r3, #0x0
- str r3, [r0, #0x0]
- str r3, [r1, #0x0]
- str r3, [r2, #0x0]
- mov r0, #0x3
- ldmia sp!, {r4,pc}
-_020AD10C:
- ldr r0, _020AD140 ; =0x021CB87C
- mov r1, #0x0
- str r1, [r0, #0x0]
-_020AD118:
- mov r4, #0x2
-_020AD11C:
- mov r0, r4
- ldmia sp!, {r4,pc}
- .balign 4
-_020AD124: .word 0x02106498
-_020AD128: .word 0x021CB880
-_020AD12C: .word 0x040002B0
-_020AD130: .word 0x040002B8
-_020AD134: .word 0x040002B4
-_020AD138: .word 0x021CB874
-_020AD13C: .word 0x021CB878
-_020AD140: .word 0x021CB87C
-
- arm_func_start FUN_020AD144
-FUN_020AD144: ; 0x020AD144
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- movs r1, r0
- addeq sp, sp, #0x4
- ldmeqia sp!, {pc}
- ldr r0, _020AD16C ; =0x02106498
- mov r2, #0x10
- bl MI_CpuCopy8
- add sp, sp, #0x4
- ldmia sp!, {pc}
- .balign 4
-_020AD16C: .word 0x02106498
-
- arm_func_start FUN_020AD170
-FUN_020AD170:
- ldr r0, _020AD1B8 ; =0x021CB880
- mov r2, #0x0
- mov r1, #0x1000000
-_020AD17C:
- str r1, [r0, r2, lsl #0x2]
- add r2, r2, #0x1
- cmp r2, #0x4
- blt _020AD17C
- ldr r3, _020AD1BC ; =0x021CB878
- mov r12, #0x0
- ldr r1, _020AD1C0 ; =0x02106498
- ldr r2, _020AD1C4 ; =0x021CB874
- ldr r0, _020AD1C8 ; =0x021CB87C
- str r12, [r3, #0x0]
- str r12, [r2, #0x0]
- str r12, [r1, #0x0]
- str r12, [r1, #0x4]
- str r12, [r0, #0x0]
- bx lr
- .balign 4
-_020AD1B8: .word 0x021CB880
-_020AD1BC: .word 0x021CB878
-_020AD1C0: .word 0x02106498
-_020AD1C4: .word 0x021CB874
-_020AD1C8: .word 0x021CB87C
-
- arm_func_start FUN_020AD1CC
-FUN_020AD1CC: ; 0x020AD1CC
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- mov r12, r1
- mov r3, r2
- ldr r1, _020AD1F0 ; =0x021CB8D4
- mov r2, r12
- bl FUN_020AD1F4
- add sp, sp, #0x4
- ldmia sp!, {pc}
- .balign 4
-_020AD1F0: .word 0x021CB8D4
-
- arm_func_start FUN_020AD1F4
-FUN_020AD1F4: ; 0x020AD1F4
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0x14
- mov r4, #0x0
- str r4, [sp, #0x0]
- str r4, [sp, #0x4]
- mov r9, r4
- movs r8, r2, lsr #0x1
- beq _020AD330
- mov r4, #0xc0000000
- ldr ip, _020AD420 ; =0x021CB8BC
- ldr r2, _020AD424 ; =0x021CB8A4
- str r4, [sp, #0xc]
-_020AD224:
- ldr r4, _020AD428 ; =0x021CB894
- ldr lr, [r2, #0x10]
- ldr r7, [r4, #0x0]
- mov r4, r9, lsl #0x1
- ldrsh r10, [r1, r4]
- ldr r4, _020AD42C ; =0x021CB898
- mov r5, r7, lsl #0x1
- ldr r6, [r4, #0x0]
- ldr r4, _020AD430 ; =0x021CBD14
- ldr r11, [r2, #0x14]
- strh r10, [r4, r5]
- ldr r10, [r12, #0x10]
- mov r5, r6, lsl #0x1
- ldrsh r5, [r4, r5]
- ldr r4, [r12, #0x14]
- mul lr, r10, lr
- str r10, [sp, #0x8]
- str r10, [r12, #0x14]
- mla r10, r4, r11, lr
- ldr r4, [r12, #0xc]
- ldr r11, [r2, #0xc]
- str r4, [r12, #0x10]
- mla r10, r4, r11, r10
- ldr r4, [r12, #0x8]
- ldr r11, [r2, #0x8]
- str r4, [r12, #0xc]
- mla r10, r4, r11, r10
- ldr r4, [r12, #0x4]
- ldr r11, [r2, #0x4]
- str r4, [r12, #0x8]
- mla r10, r4, r11, r10
- ldr r4, [r2, #0x0]
- str r5, [r12, #0x0]
- mla r4, r5, r4, r10
- str r5, [r12, #0x4]
- ldr r5, _020AD434 ; =0x3FFF8000
- cmp r4, r5
- movgt r4, r5
- bgt _020AD2C8
- cmp r4, #0xc0000000
- ldrlt r4, [sp, #0xc]
-_020AD2C8:
- ldr r5, _020AD438 ; =0x000007FF
- add r7, r7, #0x1
- and r7, r7, r5
- ldr r5, _020AD428 ; =0x021CB894
- add r6, r6, #0x1
- str r7, [r5, #0x0]
- ldr r5, _020AD438 ; =0x000007FF
- mov r7, r9, lsl #0x1
- and r6, r6, r5
- ldr r5, _020AD42C ; =0x021CB898
- mov r4, r4, asr #0xf
- str r6, [r5, #0x0]
- strh r4, [r1, r7]
- ldrsh r6, [r1, r7]
- ldrsh r4, [r0, r7]
- add r9, r9, #0x1
- mul r5, r6, r6
- strh r4, [r1, r7]
- ldr r4, [sp, #0x0]
- adds r4, r4, r5
- str r4, [sp, #0x0]
- ldr r4, [sp, #0x4]
- adc r4, r4, r5, asr #0x1f
- str r4, [sp, #0x4]
- cmp r9, r8
- blo _020AD224
-_020AD330:
- ldr r5, _020AD43C ; =0x04000280
- mov r1, #0x1
- strh r1, [r5, #0x0]
- ldr r4, _020AD440 ; =0x04000290
- ldr r1, [sp, #0x0]
- ldr r2, _020AD444 ; =0x04000298
- str r1, [r4, #0x0]
- ldr r1, [sp, #0x4]
- str r1, [r4, #0x4]
- str r8, [r2, #0x0]
- mov r1, #0x0
- str r1, [r2, #0x4]
-_020AD360:
- ldrh r1, [r5, #0x0]
- ands r1, r1, #0x8000
- bne _020AD360
- ldr r1, _020AD448 ; =0x040002A0
- ldr r2, _020AD44C ; =0x040002B0
- ldr r5, [r1, #0x0]
- mov r4, #0x0
- ldr r1, _020AD450 ; =0x040002B8
- strh r4, [r2, #0x0]
- str r5, [r1, #0x0]
-_020AD388:
- ldrh r1, [r2, #0x0]
- ands r1, r1, #0x8000
- bne _020AD388
- ldr r2, _020AD454 ; =0x040002B4
- mov r1, #0x3
- ldr r4, [r2, #0x0]
- mov r2, r3, lsl #0x1
- mul r1, r4, r1
- cmp r2, r1
- ldrhi r0, _020AD458 ; =0x021CB890
- movhi r1, #0x0
- strhih r1, [r0, #0x0]
- addhi sp, sp, #0x14
- ldmhiia sp!, {r4-r11,pc}
-_020AD3C0: ; 0x020AD3C0
- cmp r3, r4
- ldrlo r1, _020AD458 ; =0x021CB890
- movcc r2, #0x4
- strcch r2, [r1, #0x0]
- ldr r1, _020AD458 ; =0x021CB890
- mov r3, #0x0
- ldrsh r2, [r1, #0x0]
- cmp r2, #0x4
- addlt r2, r2, #0x1
- strlth r2, [r1, #0x0]
- cmp r8, #0x0
- addls sp, sp, #0x14
- ldmlsia sp!, {r4-r11,pc}
-_020AD3F4: ; 0x020AD3F4
- ldr r1, _020AD458 ; =0x021CB890
- ldrsh r4, [r1, #0x0]
-_020AD3FC:
- mov r2, r3, lsl #0x1
- ldrsh r1, [r0, r2]
- add r3, r3, #0x1
- cmp r3, r8
- mov r1, r1, asr r4
- strh r1, [r0, r2]
- blo _020AD3FC
- add sp, sp, #0x14
- ldmia sp!, {r4-r11,pc}
- .balign 4
-_020AD420: .word 0x021CB8BC
-_020AD424: .word 0x021CB8A4
-_020AD428: .word 0x021CB894
-_020AD42C: .word 0x021CB898
-_020AD430: .word 0x021CBD14
-_020AD434: .word 0x3FFF8000
-_020AD438: .word 0x000007FF
-_020AD43C: .word 0x04000280
-_020AD440: .word 0x04000290
-_020AD444: .word 0x04000298
-_020AD448: .word 0x040002A0
-_020AD44C: .word 0x040002B0
-_020AD450: .word 0x040002B8
-_020AD454: .word 0x040002B4
-_020AD458: .word 0x021CB890
-
- arm_func_start FUN_020AD45C
-FUN_020AD45C: ; 0x020AD45C
- ldr ip, _020AD46C ; =MIi_CpuCopyFast
- mov r2, r1
- ldr r1, _020AD470 ; =0x021CB8D4
- bx r12
- .balign 4
-_020AD46C: .word MIi_CpuCopyFast
-_020AD470: .word 0x021CB8D4
-
- arm_func_start FUN_020AD474
-FUN_020AD474: ; 0x020AD474
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r1, _020AD4E4 ; =0x021CB894
- mov r3, #0x0
- ldr r2, _020AD4E8 ; =0x0000019D
- ldr r0, _020AD4EC ; =0x021CB898
- ldr lr, _020AD4F0 ; =0x021064A8
- str r3, [r1, #0x0]
- str r2, [r0, #0x0]
- ldr r0, _020AD4F4 ; =0x021CBD14
- mov r12, r3
-_020AD4A0:
- mov r1, r3, lsl #0x1
- add r3, r3, #0x1
- strh r12, [r0, r1]
- cmp r3, #0x800
- blt _020AD4A0
- ldr r2, _020AD4F8 ; =0x021CB8BC
- ldr r0, _020AD4FC ; =0x021CB8A4
- mov r3, #0x0
-_020AD4C0:
- str r3, [r2, r12, lsl #0x2]
- mov r1, r12, lsl #0x1
- ldrsh r1, [lr, r1]
- str r1, [r0, r12, lsl #0x2]
- add r12, r12, #0x1
- cmp r12, #0x6
- blt _020AD4C0
- add sp, sp, #0x4
- ldmia sp!, {pc}
- .balign 4
-_020AD4E4: .word 0x021CB894
-_020AD4E8: .word 0x0000019D
-_020AD4EC: .word 0x021CB898
-_020AD4F0: .word 0x021064A8
-_020AD4F4: .word 0x021CBD14
-_020AD4F8: .word 0x021CB8BC
-_020AD4FC: .word 0x021CB8A4
-
- arm_func_start FUN_020AD500
-FUN_020AD500: ; 0x020AD500
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0x4
- ldrsh r2, [r0, #0x0]
- ldr r6, _020AD5FC ; =0x00000E9F
- ldr sb, _020AD600 ; =0x021CB89C
- ldr r8, _020AD604 ; =0x021CB8A0
- smulbb r10, r2, r6
- ldr r3, [r9, #0x0]
- ldr r2, [r8, #0x0]
- ldr r7, _020AD608 ; =0x00000D3E
- add r3, r10, r3
- mla r5, r2, r7, r3
- mov r3, r5, asr #0xc
- mul r4, r3, r3
- str r5, [r8, #0x0]
- rsb r2, r10, #0x0
- mov r12, r1, lsr #0x1
- str r3, [r8, #0x0]
- str r2, [r9, #0x0]
- cmp r12, #0x1
- mov lr, r4, asr #0x1f
- mov r5, #0x1
- bls _020AD5AC
-_020AD55C:
- mov r2, r5, lsl #0x1
- ldrsh r10, [r0, r2]
- ldr r3, [r8, #0x0]
- add r2, r0, r5, lsl #0x1
- strh r3, [r2, #-0x2]
- smulbb r11, r10, r6
- ldr r2, [r9, #0x0]
- rsb r10, r11, #0x0
- add r2, r11, r2
- mla r2, r3, r7, r2
- mov r3, r2, asr #0xc
- mul r11, r3, r3
- str r2, [r8, #0x0]
- adds r4, r4, r11
- str r10, [r9, #0x0]
- add r5, r5, #0x1
- adc lr, lr, r11, asr #0x1f
- str r3, [r8, #0x0]
- cmp r5, r12
- blo _020AD55C
-_020AD5AC:
- bic r1, r1, #0x1
- add r0, r0, r1
- ldr r2, _020AD60C ; =0x04000280
- strh r3, [r0, #-0x2]
- mov r0, #0x1
- ldr r1, _020AD610 ; =0x04000290
- strh r0, [r2, #0x0]
- str r4, [r1, #0x0]
- ldr r0, _020AD614 ; =0x04000298
- str lr, [r1, #0x4]
- str r12, [r0, #0x0]
- mov r1, #0x0
- str r1, [r0, #0x4]
-_020AD5E0:
- ldrh r0, [r2, #0x0]
- ands r0, r0, #0x8000
- bne _020AD5E0
- ldr r0, _020AD618 ; =0x040002A0
- ldr r0, [r0, #0x0]
- add sp, sp, #0x4
- ldmia sp!, {r4-r11,pc}
- .balign 4
-_020AD5FC: .word 0x00000E9F
-_020AD600: .word 0x021CB89C
-_020AD604: .word 0x021CB8A0
-_020AD608: .word 0x00000D3E
-_020AD60C: .word 0x04000280
-_020AD610: .word 0x04000290
-_020AD614: .word 0x04000298
-_020AD618: .word 0x040002A0
-
- arm_func_start FUN_020AD61C
-FUN_020AD61C:
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- movs lr, r3, lsr #0x1
- mov r4, #0x0
- addeq sp, sp, #0x4
- ldmeqia sp!, {r4-r7,pc}
-_020AD634: ; 0x020AD634
- mov r3, #0x8000
- ldr ip, _020AD720 ; =0x00007FFF
- rsb r3, r3, #0x0
-_020AD640:
- mov r5, r4, lsl #0x1
- ldrsh r6, [r0, r5]
- ldrsh r5, [r1, r5]
- add r6, r6, r5
- cmp r6, r12
- movgt r6, r12
- bgt _020AD664
- cmp r6, r3
- movlt r6, r3
-_020AD664:
- mov r5, r4, lsl #0x1
- add r7, r4, #0x1
- strh r6, [r2, r5]
- mov r5, r7, lsl #0x1
- ldrsh r6, [r0, r5]
- ldrsh r5, [r1, r5]
- add r6, r6, r5
- cmp r6, r12
- movgt r6, r12
- bgt _020AD694
- cmp r6, r3
- movlt r6, r3
-_020AD694:
- mov r5, r7, lsl #0x1
- add r7, r4, #0x2
- strh r6, [r2, r5]
- mov r5, r7, lsl #0x1
- ldrsh r6, [r0, r5]
- ldrsh r5, [r1, r5]
- add r6, r6, r5
- cmp r6, r12
- movgt r6, r12
- bgt _020AD6CC
- mov r5, #0x8000
- rsb r5, r5, #0x0
- cmp r6, r5
- movlt r6, r3
-_020AD6CC:
- mov r5, r7, lsl #0x1
- add r7, r4, #0x3
- strh r6, [r2, r5]
- mov r5, r7, lsl #0x1
- ldrsh r6, [r0, r5]
- ldrsh r5, [r1, r5]
- add r6, r6, r5
- cmp r6, r12
- movgt r6, r12
- bgt _020AD704
- mov r5, #0x8000
- rsb r5, r5, #0x0
- cmp r6, r5
- movlt r6, r3
-_020AD704:
- mov r5, r7, lsl #0x1
- add r4, r4, #0x4
- strh r6, [r2, r5]
- cmp r4, lr
- blo _020AD640
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,pc}
- .balign 4
-_020AD720: .word 0x00007FFF
-
- arm_func_start FUN_020AD724
-FUN_020AD724:
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- movs r6, r1
- mov r7, r0
- mov r5, r2
- mov r4, r3
- addeq sp, sp, #0x4
- moveq r0, #0x0
- ldmeqia sp!, {r4-r7,pc}
-_020AD748: ; 0x020AD748
- ldr r1, [r6, #0x0]
- ldr r0, _020AD824 ; =0x5F564354
- cmp r1, r0
- addne sp, sp, #0x4
- movne r0, #0x2
- ldmneia sp!, {r4-r7,pc}
-_020AD760: ; 0x020AD760
- ldr r0, _020AD828 ; =0x021CCD20
- ldr r0, [r0, #0x10]
- cmp r0, #0x0
- beq _020AD780
- ldr r0, _020AD82C ; =0x021CCD1C
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- bne _020AD78C
-_020AD780:
- add sp, sp, #0x4
- mov r0, #0x0
- ldmia sp!, {r4-r7,pc}
-_020AD78C:
- mov r0, #0x0
- str r0, [r4, #0x0]
- str r0, [r4, #0x4]
- bl OS_GetTick
- ldrb r3, [r6, #0x4]
- and r2, r3, #0xf0
- cmp r2, #0x40
- bne _020AD7E0
- ldr r2, _020AD830 ; =0x021CCD18
- mov r3, r0
- ldr r4, [r2, #0x0]
- mov r0, r7
- add r4, r4, #0x1
- str r4, [r2, #0x0]
- str r1, [sp, #0x0]
- mov r1, r6
- mov r2, r5
- bl FUN_020AA2A0
- add sp, sp, #0x4
- mov r0, #0x0
- ldmia sp!, {r4-r7,pc}
-_020AD7E0:
- cmp r3, #0x0
- beq _020AD7F0
- cmp r3, #0xff
- bne _020AD818
-_020AD7F0:
- mov r0, r7
- mov r1, r6
- mov r2, r5
- mov r3, r4
- bl FUN_020AC7FC
-_020AD804: ; 0x020AD804
- cmp r0, #0x0
- movne r0, #0x1
- add sp, sp, #0x4
- moveq r0, #0x0
- ldmia sp!, {r4-r7,pc}
-_020AD818:
- mov r0, #0x0
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,pc}
- .balign 4
-_020AD824: .word 0x5F564354
-_020AD828: .word 0x021CCD20
-_020AD82C: .word 0x021CCD1C
-_020AD830: .word 0x021CCD18
-
- arm_func_start FUN_020AD834
-FUN_020AD834: ; 0x020AD834
- stmdb sp!, {r4,lr}
- sub sp, sp, #0x8
- add r3, sp, #0x0
- mov r4, r0
- bl FUN_020AD724
-_020AD848: ; 0x020AD848
- cmp r0, #0x0
- beq _020AD898
- cmp r0, #0x1
- beq _020AD864
- cmp r0, #0x2
- beq _020AD88C
- b _020AD898
-_020AD864:
- ldr r0, _020AD8A4 ; =0x021CCD20
- ldr r1, [sp, #0x0]
- ldr r2, [sp, #0x4]
- ldr r3, [r0, #0x8]
- ldr r12, [r0, #0x4]
- mov r0, r4
- blx r12
- add sp, sp, #0x8
- mov r0, #0x1
- ldmia sp!, {r4,pc}
-_020AD88C:
- add sp, sp, #0x8
- mov r0, #0x0
- ldmia sp!, {r4,pc}
-_020AD898:
- mov r0, #0x1
- add sp, sp, #0x8
- ldmia sp!, {r4,pc}
- .balign 4
-_020AD8A4: .word 0x021CCD20
-
- arm_func_start FUN_020AD8A8
-FUN_020AD8A8: ; 0x020AD8A8
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r0, _020AD8FC ; =0x021CCD1C
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- addeq sp, sp, #0x4
- ldmeqia sp!, {pc}
- ldr r0, _020AD900 ; =0x021CCD14
- ldr r1, [r0, #0x0]
- add r1, r1, #0x1
- str r1, [r0, #0x0]
- ands r0, r1, #0xf
- bne _020AD8E0
- bl FUN_020AC898
-_020AD8E0:
- bl FUN_020AA0A4
-_020AD8E4: ; 0x020AD8E4
- cmp r0, #0x0
- addeq sp, sp, #0x4
- ldmeqia sp!, {pc}
- bl FUN_020AA1CC
- add sp, sp, #0x4
- ldmia sp!, {pc}
- .balign 4
-_020AD8FC: .word 0x021CCD1C
-_020AD900: .word 0x021CCD14
-
- arm_func_start FUN_020AD904
-FUN_020AD904: ; 0x020AD904
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- bl FUN_020AAF44
- bl FUN_020AC964
- bl FUN_020ACE10
- ldr r1, _020AD934 ; =0x021CCD20
- mov r2, #0x0
- ldr r0, _020AD938 ; =0x021CCD1C
- str r2, [r1, #0x10]
- str r2, [r0, #0x0]
- add sp, sp, #0x4
- ldmia sp!, {pc}
- .balign 4
-_020AD934: .word 0x021CCD20
-_020AD938: .word 0x021CCD1C
-
- arm_func_start FUN_020AD93C
-FUN_020AD93C: ; 0x020AD93C
- stmdb sp!, {r4,lr}
- mov r4, r0
- ldr r0, _020ADA78 ; =0x02000C1C
- bl OSi_ReferSymbol
-_020AD94C: ; 0x020AD94C
- cmp r4, #0x0
- moveq r0, #0x0
- ldmeqia sp!, {r4,pc}
-_020AD958: ; 0x020AD958
- ldr r0, _020ADA7C ; =0x021CCD1C
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- movne r0, #0x1
- ldmneia sp!, {r4,pc}
-_020AD96C: ; 0x020AD96C
- ldr r0, [r4, #0x8]
- cmp r0, #0x1
- beq _020AD98C
- cmp r0, #0x2
- beq _020AD98C
- cmp r0, #0x3
- movne r0, #0x0
- ldmneia sp!, {r4,pc}
-_020AD98C:
- ldr r0, [r4, #0x18]
- cmp r0, #0x0
- moveq r0, #0x0
- ldmeqia sp!, {r4,pc}
-_020AD99C: ; 0x020AD99C
- ldr r2, [r4, #0x10]
- cmp r2, #0x0
- beq _020AD9B4
- ldr r0, [r4, #0x14]
- cmp r0, #0x0
- bne _020AD9BC
-_020AD9B4:
- mov r0, #0x0
- ldmia sp!, {r4,pc}
-_020AD9BC:
- mov r1, r2, lsr #0x1f
- rsb r0, r1, r2, lsl #0x1b
- adds r0, r1, r0, ror #0x1b
- movne r0, #0x0
- ldmneia sp!, {r4,pc}
-_020AD9D0: ; 0x020AD9D0
- ldr r0, _020ADA80 ; =0x021CCD20
- mov r1, #0x0
- mov r2, #0x18
- bl MI_CpuFill8
- ldr r2, [r4, #0x18]
- ldr r1, _020ADA80 ; =0x021CCD20
- mov r0, #0x0
- str r2, [r1, #0x4]
- ldr r2, [r4, #0x1c]
- str r2, [r1, #0x8]
- ldr r2, [r4, #0x8]
- str r0, [r1, #0xc]
- str r2, [r1, #0x10]
- ldrb r2, [r4, #0xc]
- cmp r2, #0x20
- ldmcsia sp!, {r4,pc}
-_020ADA10: ; 0x020ADA10
- strb r2, [r1, #0x0]
- ldr r0, [r4, #0x10]
- ldr r1, [r4, #0x14]
- bl FUN_020ACE30
-_020ADA20: ; 0x020ADA20
- cmp r0, #0x0
- bne _020ADA34
- bl FUN_020ACE10
-_020ADA2C: ; 0x020ADA2C
- mov r0, #0x0
- ldmia sp!, {r4,pc}
-_020ADA34:
- mov r0, r4
- bl FUN_020AC97C
-_020ADA3C: ; 0x020ADA3C
- cmp r0, #0x0
- bne _020ADA50
- bl FUN_020ACE10
-_020ADA48: ; 0x020ADA48
- mov r0, #0x0
- ldmia sp!, {r4,pc}
-_020ADA50:
- bl FUN_020AAF58
-_020ADA54: ; 0x020ADA54
- cmp r0, #0x0
- ldrne r1, _020ADA7C ; =0x021CCD1C
- movne r0, #0x1
- strne r0, [r1, #0x0]
- ldmneia sp!, {r4,pc}
-_020ADA68: ; 0x020ADA68
- bl FUN_020AC964
- bl FUN_020ACE10
-_020ADA70: ; 0x020ADA70
- mov r0, #0x0
- ldmia sp!, {r4,pc}
- .balign 4
-_020ADA78: .word 0x02000C1C
-_020ADA7C: .word 0x021CCD1C
-_020ADA80: .word 0x021CCD20
-
- arm_func_start FUN_020ADA84
-FUN_020ADA84: ; 0x020ADA84
- cmp r1, #0x0
- ldreq r0, [r0, #0x4]
- ldrneh r0, [r0, #0xa]
- ldrne r0, [r1, r0]
- bx lr
-
- arm_func_start FUN_020ADA98
-FUN_020ADA98: ; 0x020ADA98
- cmp r1, #0x0
- ldreq r0, [r0, #0x0]
- ldrneh r0, [r0, #0xa]
- addne r0, r1, r0
- ldrne r0, [r0, #0x4]
- bx lr
-
- arm_func_start FUN_020ADAB0
-FUN_020ADAB0: ; 0x020ADAB0
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldrh r12, [r0, #0xa]
- ldr r3, [r1, r12]
- add lr, r1, r12
- cmp r3, #0x0
- ldreq r1, [lr, #0x4]
- streq r1, [r0, #0x0]
- ldrne r2, [lr, #0x4]
- addne r1, r3, r12
- strne r2, [r1, #0x4]
- ldr r3, [lr, #0x4]
- cmp r3, #0x0
- ldreq r1, [lr, #0x0]
- streq r1, [r0, #0x4]
- ldrneh r1, [r0, #0xa]
- ldrne r2, [lr, #0x0]
- strne r2, [r3, r1]
- mov r1, #0x0
- str r1, [lr, #0x0]
- str r1, [lr, #0x4]
- ldrh r1, [r0, #0x8]
- sub r1, r1, #0x1
- strh r1, [r0, #0x8]
- add sp, sp, #0x4
- ldmia sp!, {pc}
-
- arm_func_start FUN_020ADB18
-FUN_020ADB18: ; 0x020ADB18
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- cmp r1, #0x0
- bne _020ADB38
- mov r1, r2
- bl FUN_020ADBE8
- add sp, sp, #0x4
- ldmia sp!, {pc}
-_020ADB38:
- ldr r3, [r0, #0x0]
- cmp r1, r3
- bne _020ADB54
- mov r1, r2
- bl FUN_020ADB8C
- add sp, sp, #0x4
- ldmia sp!, {pc}
-_020ADB54:
- ldrh lr, [r0, #0xa]
- ldr r3, [r1, lr]
- add r12, r2, lr
- str r3, [r2, lr]
- str r1, [r12, #0x4]
- add r3, r3, lr
- str r2, [r3, #0x4]
- ldrh r3, [r0, #0xa]
- str r2, [r1, r3]
- ldrh r1, [r0, #0x8]
- add r1, r1, #0x1
- strh r1, [r0, #0x8]
- add sp, sp, #0x4
- ldmia sp!, {pc}
-
- arm_func_start FUN_020ADB8C
-FUN_020ADB8C: ; 0x020ADB8C
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r2, [r0, #0x0]
- cmp r2, #0x0
- bne _020ADBAC
- bl FUN_020ADC48
- add sp, sp, #0x4
- ldmia sp!, {pc}
-_020ADBAC:
- ldrh r3, [r0, #0xa]
- mov r2, #0x0
- str r2, [r1, r3]
- ldr r2, [r0, #0x0]
- add r3, r1, r3
- str r2, [r3, #0x4]
- ldrh r2, [r0, #0xa]
- ldr r3, [r0, #0x0]
- str r1, [r3, r2]
- str r1, [r0, #0x0]
- ldrh r1, [r0, #0x8]
- add r1, r1, #0x1
- strh r1, [r0, #0x8]
- add sp, sp, #0x4
- ldmia sp!, {pc}
-
- arm_func_start FUN_020ADBE8
-FUN_020ADBE8: ; 0x020ADBE8
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r2, [r0, #0x0]
- cmp r2, #0x0
- bne _020ADC08
- bl FUN_020ADC48
- add sp, sp, #0x4
- ldmia sp!, {pc}
-_020ADC08:
- ldrh r12, [r0, #0xa]
- ldr r3, [r0, #0x4]
- mov r2, #0x0
- str r3, [r1, r12]
- add r3, r1, r12
- str r2, [r3, #0x4]
- ldrh r2, [r0, #0xa]
- ldr r3, [r0, #0x4]
- add r2, r3, r2
- str r1, [r2, #0x4]
- str r1, [r0, #0x4]
- ldrh r1, [r0, #0x8]
- add r1, r1, #0x1
- strh r1, [r0, #0x8]
- add sp, sp, #0x4
- ldmia sp!, {pc}
-
- arm_func_start FUN_020ADC48
-FUN_020ADC48: ; 0x020ADC48
- ldrh r3, [r0, #0xa]
- mov r2, #0x0
- add r12, r1, r3
- str r2, [r12, #0x4]
- str r2, [r1, r3]
- str r1, [r0, #0x0]
- str r1, [r0, #0x4]
- ldrh r1, [r0, #0x8]
- add r1, r1, #0x1
- strh r1, [r0, #0x8]
- bx lr
-
- arm_func_start FUN_020ADC74
-FUN_020ADC74: ; 0x020ADC74
- mov r2, #0x0
- str r2, [r0, #0x0]
- str r2, [r0, #0x4]
- strh r2, [r0, #0x8]
- strh r1, [r0, #0xa]
- bx lr
-
- arm_func_start FUN_020ADC8C
-FUN_020ADC8C: ; 0x020ADC8C
- stmdb sp!, {r4,lr}
- mov r4, r0
- bl FUN_020ADD30
- mov r1, r4
- bl FUN_020ADAB0
- ldmia sp!, {r4,pc}
-
- arm_func_start FUN_020ADCA4
-FUN_020ADCA4:
- stmdb sp!, {r4,lr}
- mov r4, r0
- str r1, [r4, #0x0]
- str r2, [r4, #0x18]
- str r3, [r4, #0x1c]
- mov r0, #0x0
- str r0, [r4, #0x20]
- ldr r1, [r4, #0x20]
- ldrh r0, [sp, #0x8]
- bic r1, r1, #0xff
- str r1, [r4, #0x20]
- ldr r1, [r4, #0x20]
- and r0, r0, #0xff
- orr r2, r1, r0
- add r0, r4, #0xc
- mov r1, #0x4
- str r2, [r4, #0x20]
- bl FUN_020ADC74
- ldr r0, _020ADD28 ; =0x021CCD38
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- bne _020ADD14
- ldr r0, _020ADD2C ; =0x021CCD3C
- mov r1, #0x4
- bl FUN_020ADC74
- ldr r0, _020ADD28 ; =0x021CCD38
- mov r1, #0x1
- str r1, [r0, #0x0]
-_020ADD14:
- mov r0, r4
- bl FUN_020ADD30
- mov r1, r4
- bl FUN_020ADBE8
- ldmia sp!, {r4,pc}
- .balign 4
-_020ADD28: .word 0x021CCD38
-_020ADD2C: .word 0x021CCD3C
-
- arm_func_start FUN_020ADD30
-FUN_020ADD30: ; 0x020ADD30
- stmdb sp!, {r4,lr}
- ldr r4, _020ADD54 ; =0x021CCD3C
- mov r1, r0
- mov r0, r4
- bl FUN_020ADD58
-_020ADD44: ; 0x020ADD44
- cmp r0, #0x0
- addne r4, r0, #0xc
- mov r0, r4
- ldmia sp!, {r4,pc}
- .balign 4
-_020ADD54: .word 0x021CCD3C
-
- arm_func_start FUN_020ADD58
-FUN_020ADD58:
- stmdb sp!, {r4-r6,lr}
- mov r5, r1
- mov r1, #0x0
- mov r6, r0
- bl FUN_020ADA98
- movs r4, r0
- beq _020ADDB8
-_020ADD74:
- ldr r0, [r4, #0x18]
- cmp r0, r5
- bhi _020ADDA4
- ldr r0, [r4, #0x1c]
- cmp r5, r0
- bhs _020ADDA4
- mov r1, r5
- add r0, r4, #0xc
- bl FUN_020ADD58
-_020ADD98: ; 0x020ADD98
- cmp r0, #0x0
- moveq r0, r4
- ldmia sp!, {r4-r6,pc}
-_020ADDA4:
- mov r0, r6
- mov r1, r4
- bl FUN_020ADA98
- movs r4, r0
- bne _020ADD74
-_020ADDB8:
- mov r0, #0x0
- ldmia sp!, {r4-r6,pc}
-
- arm_func_start FUN_020ADDC0
-FUN_020ADDC0: ; 0x020ADDC0
- ldr r0, [r0, #-0xc]
- bx lr
-
- arm_func_start FUN_020ADDC8
-FUN_020ADDC8: ; 0x020ADDC8
- ldr r2, [r0, #0x24]
- mov r0, #0x0
- cmp r2, #0x0
- bxeq lr
-_020ADDD8:
- ldr r1, [r2, #0x4]
- ldr r2, [r2, #0xc]
- add r0, r0, r1
- cmp r2, #0x0
- bne _020ADDD8
- bx lr
-
- arm_func_start FUN_020ADDF0
-FUN_020ADDF0: ; 0x020ADDF0
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0xc
- sub r4, r1, #0x10
- add r5, r0, #0x24
- add r0, sp, #0x0
- mov r1, r4
- bl FUN_020AE528
- mov r1, r4
- add r0, r5, #0x8
- bl FUN_020AE500
- add r1, sp, #0x0
- mov r0, r5
- bl FUN_020AE02C
- add sp, sp, #0xc
- ldmia sp!, {r4-r5,pc}
-
- arm_func_start FUN_020ADE2C
-FUN_020ADE2C: ; 0x020ADE2C
- stmdb sp!, {r4-r10,lr}
- sub sp, sp, #0x10
- mov r4, r1
- mov r10, r2
- sub r6, r4, #0x10
- add r1, r10, #0x3
- mov r5, r0
- ldr r8, [r6, #0x4]
- bic r10, r1, #0x3
- cmp r10, r8
- add r7, r5, #0x24
- addeq sp, sp, #0x10
- moveq r0, r10
- ldmeqia sp!, {r4-r10,pc}
-_020ADE64: ; 0x020ADE64
- cmp r10, r8
- bls _020ADF60
- ldr r9, [r7, #0x0]
- add r0, r6, #0x10
- cmp r9, #0x0
- add r0, r8, r0
- beq _020ADE94
-_020ADE80:
- cmp r9, r0
- beq _020ADE94
- ldr r9, [r9, #0xc]
- cmp r9, #0x0
- bne _020ADE80
-_020ADE94:
- cmp r9, #0x0
- beq _020ADEB0
- ldr r0, [r9, #0x4]
- add r1, r8, #0x10
- add r0, r1, r0
- cmp r10, r0
- bls _020ADEBC
-_020ADEB0:
- add sp, sp, #0x10
- mov r0, #0x0
- ldmia sp!, {r4-r10,pc}
-_020ADEBC:
- add r0, sp, #0x0
- mov r1, r9
- bl FUN_020AE528
- mov r0, r7
- mov r1, r9
- bl FUN_020AE500
- ldr r2, [sp, #0x4]
- add r3, r10, r4
- ldr r9, [sp, #0x0]
- sub r1, r2, r3
- str r3, [sp, #0x0]
- cmp r1, #0x10
- strcc r2, [sp, #0x0]
- mov r8, r0
- ldr r0, [sp, #0x0]
- sub r0, r0, r4
- str r0, [r6, #0x4]
- ldr r1, [sp, #0x4]
- ldr r0, [sp, #0x0]
- sub r0, r1, r0
- cmp r0, #0x10
- blo _020ADF30
- ldr r1, _020ADF9C ; =0x00004652
- add r0, sp, #0x0
- bl FUN_020AE4A0
- mov r1, r0
- mov r0, r7
- mov r2, r8
- bl FUN_020AE4D0
-_020ADF30:
- ldr r0, [r5, #0x20]
- ldr r1, [sp, #0x0]
- and r0, r0, #0xff
- mov r0, r0, lsl #0x10
- mov r0, r0, lsr #0x10
- sub r2, r1, r9
- ands r0, r0, #0x1
- beq _020ADF90
- mov r1, r9
- mov r0, #0x0
- bl MIi_CpuClear32
- b _020ADF90
-_020ADF60:
- add r0, r10, r4
- str r0, [sp, #0x8]
- ldr r1, [r6, #0x4]
- add r0, r6, #0x10
- add r0, r1, r0
- str r0, [sp, #0xc]
- add r1, sp, #0x8
- mov r0, r7
- str r10, [r6, #0x4]
- bl FUN_020AE02C
-_020ADF88: ; 0x020ADF88
- cmp r0, #0x0
- streq r8, [r6, #0x4]
-_020ADF90:
- ldr r0, [r6, #0x4]
- add sp, sp, #0x10
- ldmia sp!, {r4-r10,pc}
- .balign 4
-_020ADF9C: .word 0x00004652
-
- arm_func_start tempName_NNS_FndAllocFromExpHeapEx
-tempName_NNS_FndAllocFromExpHeapEx: ; 0x020ADFA0
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- cmp r1, #0x0
- moveq r1, #0x1
- add r1, r1, #0x3
- cmp r2, #0x0
- bic r1, r1, #0x3
- blt _020ADFCC
- bl FUN_020AE1D8
- add sp, sp, #0x4
- ldmia sp!, {pc}
-_020ADFCC:
- rsb r2, r2, #0x0
- bl FUN_020AE11C
- add sp, sp, #0x4
- ldmia sp!, {pc}
-
- arm_func_start thunk_FUN_020adc8c
-thunk_FUN_020adc8c: ; 0x020ADFDC
- ldr ip, _020ADFE4 ; =FUN_020ADC8C
- bx r12
- .balign 4
-_020ADFE4: .word FUN_020ADC8C
-
- arm_func_start tempName_NNS_FndCreateExpHeapEx
-tempName_NNS_FndCreateExpHeapEx: ; 0x020ADFE8
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- add r1, r1, r0
- add r0, r0, #0x3
- bic r1, r1, #0x3
- bic r0, r0, #0x3
- cmp r0, r1
- bhi _020AE014
- sub r3, r1, r0
- cmp r3, #0x4c
- bhs _020AE020
-_020AE014:
- add sp, sp, #0x4
- mov r0, #0x0
- ldmia sp!, {pc}
-_020AE020:
- bl FUN_020AE420
- add sp, sp, #0x4
- ldmia sp!, {pc}
-
- arm_func_start FUN_020AE02C
-FUN_020AE02C:
- stmdb sp!, {r4-r6,lr}
- sub sp, sp, #0x8
- mov r5, r1
- ldr r2, [r5, #0x0]
- ldr r1, [r5, #0x4]
- mov r6, r0
- str r2, [sp, #0x0]
- str r1, [sp, #0x4]
- ldr r1, [r6, #0x0]
- mov r4, #0x0
- cmp r1, #0x0
- beq _020AE0A0
- ldr r0, [r5, #0x0]
-_020AE060:
- cmp r1, r0
- movcc r4, r1
- blo _020AE094
- ldr r0, [r5, #0x4]
- cmp r1, r0
- bne _020AE0A0
- ldr r2, [r1, #0x4]
- add r0, r1, #0x10
- add r2, r2, r0
- mov r0, r6
- str r2, [sp, #0x4]
- bl FUN_020AE500
- b _020AE0A0
-_020AE094:
- ldr r1, [r1, #0xc]
- cmp r1, #0x0
- bne _020AE060
-_020AE0A0:
- cmp r4, #0x0
- beq _020AE0D4
- ldr r2, [r4, #0x4]
- add r1, r4, #0x10
- ldr r0, [r5, #0x0]
- add r1, r2, r1
- cmp r1, r0
- bne _020AE0D4
- mov r0, r6
- mov r1, r4
- str r4, [sp, #0x0]
- bl FUN_020AE500
- mov r4, r0
-_020AE0D4:
- ldr r1, [sp, #0x4]
- ldr r0, [sp, #0x0]
- sub r0, r1, r0
- cmp r0, #0x10
- addcc sp, sp, #0x8
- movcc r0, #0x0
- ldmccia sp!, {r4-r6,pc}
-_020AE0F0: ; 0x020AE0F0
- ldr r1, _020AE118 ; =0x00004652
- add r0, sp, #0x0
- bl FUN_020AE4A0
- mov r1, r0
- mov r0, r6
- mov r2, r4
- bl FUN_020AE4D0
- mov r0, #0x1
- add sp, sp, #0x8
- ldmia sp!, {r4-r6,pc}
- .balign 4
-_020AE118: .word 0x00004652
-
- arm_func_start FUN_020AE11C
-FUN_020AE11C: ; 0x020AE11C
- stmdb sp!, {r4-r9,lr}
- sub sp, sp, #0x4
- add r0, r0, #0x24
- ldrh r4, [r0, #0x12]
- mov r3, r1
- mvn lr, #0x0
- and r1, r4, #0x1
- mov r1, r1, lsl #0x10
- movs r1, r1, lsr #0x10
- moveq r5, #0x1
- mov r1, #0x0
- ldr r4, [r0, #0x4]
- movne r5, #0x0
- mov r12, r1
- cmp r4, #0x0
- beq _020AE1B0
- sub r2, r2, #0x1
- mvn r2, r2
-_020AE164:
- ldr r8, [r4, #0x4]
- add r9, r4, #0x10
- add r6, r8, r9
- sub r6, r6, r3
- and r7, r2, r6
- subs r6, r7, r9
- bmi _020AE1A4
- cmp lr, r8
- bls _020AE1A4
- mov r1, r4
- mov lr, r8
- mov r12, r7
- cmp r5, #0x0
- bne _020AE1B0
- cmp r8, r3
- beq _020AE1B0
-_020AE1A4:
- ldr r4, [r4, #0x8]
- cmp r4, #0x0
- bne _020AE164
-_020AE1B0:
- cmp r1, #0x0
- addeq sp, sp, #0x4
- moveq r0, #0x0
- ldmeqia sp!, {r4-r9,pc}
-_020AE1C0: ; 0x020AE1C0
- mov r4, #0x1
- mov r2, r12
- str r4, [sp, #0x0]
- bl FUN_020AE298
- add sp, sp, #0x4
- ldmia sp!, {r4-r9,pc}
-
- arm_func_start FUN_020AE1D8
-FUN_020AE1D8: ; 0x020AE1D8
- stmdb sp!, {r4-r9,lr}
- sub sp, sp, #0x4
- add r0, r0, #0x24
- ldrh r4, [r0, #0x12]
- mov r3, r1
- ldr r5, [r0, #0x0]
- and r1, r4, #0x1
- mov r1, r1, lsl #0x10
- movs r1, r1, lsr #0x10
- moveq r6, #0x1
- mov r1, #0x0
- movne r6, #0x0
- mov lr, r1
- cmp r5, #0x0
- mvn r4, #0x0
- beq _020AE270
- sub r12, r2, #0x1
- mvn r2, r12
-_020AE220:
- add r8, r5, #0x10
- add r7, r12, r8
- and r9, r2, r7
- sub r7, r9, r8
- ldr r8, [r5, #0x4]
- add r7, r3, r7
- cmp r8, r7
- blo _020AE264
- cmp r4, r8
- bls _020AE264
- mov r1, r5
- mov r4, r8
- mov lr, r9
- cmp r6, #0x0
- bne _020AE270
- cmp r8, r3
- beq _020AE270
-_020AE264:
- ldr r5, [r5, #0xc]
- cmp r5, #0x0
- bne _020AE220
-_020AE270:
- cmp r1, #0x0
- addeq sp, sp, #0x4
- moveq r0, #0x0
- ldmeqia sp!, {r4-r9,pc}
-_020AE280: ; 0x020AE280
- mov r4, #0x0
- mov r2, lr
- str r4, [sp, #0x0]
- bl FUN_020AE298
- add sp, sp, #0x4
- ldmia sp!, {r4-r9,pc}
-
- arm_func_start FUN_020AE298
-FUN_020AE298: ; 0x020AE298
- stmdb sp!, {r4-r8,lr}
- sub sp, sp, #0x18
- mov r7, r0
- add r0, sp, #0x0
- mov r8, r1
- mov r6, r2
- mov r5, r3
- bl FUN_020AE528
- ldr r3, [sp, #0x4]
- sub r4, r6, #0x10
- add r2, r5, r6
- mov r0, r7
- mov r1, r8
- str r4, [sp, #0x4]
- str r3, [sp, #0xc]
- str r2, [sp, #0x8]
- bl FUN_020AE500
- ldr r2, [sp, #0x0]
- ldr r1, [sp, #0x4]
- mov r5, r0
- sub r0, r1, r2
- cmp r0, #0x10
- strcc r2, [sp, #0x4]
- blo _020AE318
- ldr r1, _020AE418 ; =0x00004652
- add r0, sp, #0x0
- bl FUN_020AE4A0
- mov r1, r0
- mov r0, r7
- mov r2, r5
- bl FUN_020AE4D0
- mov r5, r0
-_020AE318:
- ldr r1, [sp, #0xc]
- ldr r0, [sp, #0x8]
- sub r0, r1, r0
- cmp r0, #0x10
- strcc r1, [sp, #0x8]
- blo _020AE34C
- ldr r1, _020AE418 ; =0x00004652
- add r0, sp, #0x8
- bl FUN_020AE4A0
- mov r1, r0
- mov r0, r7
- mov r2, r5
- bl FUN_020AE4D0
-_020AE34C:
- ldr r0, [r7, #-0x4]
- ldr r1, [sp, #0x4]
- and r0, r0, #0xff
- mov r0, r0, lsl #0x10
- ldr r2, [sp, #0x8]
- mov r0, r0, lsr #0x10
- sub r2, r2, r1
- ands r0, r0, #0x1
- beq _020AE378
- mov r0, #0x0
- bl MIi_CpuClear32
-_020AE378:
- ldr r2, [sp, #0x8]
- ldr r1, _020AE41C ; =0x00005544
- add r0, sp, #0x10
- str r4, [sp, #0x10]
- str r2, [sp, #0x14]
- bl FUN_020AE4A0
- mov r1, r0
- ldrh r3, [r1, #0x2]
- ldrh r2, [sp, #0x30]
- add r0, r7, #0x8
- bic r3, r3, #0x8000
- strh r3, [r1, #0x2]
- ldrh r3, [r1, #0x2]
- and r2, r2, #0x1
- orr r2, r3, r2, lsl #0xf
- strh r2, [r1, #0x2]
- ldrh r2, [r1, #0x2]
- ldr r3, [sp, #0x4]
- bic r2, r2, #0x7f00
- strh r2, [r1, #0x2]
- sub r2, r1, r3
- mov r2, r2, lsl #0x10
- mov r2, r2, lsr #0x10
- ldrh r3, [r1, #0x2]
- and r2, r2, #0x7f
- orr r2, r3, r2, lsl #0x8
- strh r2, [r1, #0x2]
- ldrh r2, [r1, #0x2]
- ldrh r3, [r7, #0x10]
- bic r2, r2, #0xff
- strh r2, [r1, #0x2]
- ldrh r2, [r1, #0x2]
- and r3, r3, #0xff
- orr r2, r2, r3
- strh r2, [r1, #0x2]
- ldr r2, [r7, #0xc]
- bl FUN_020AE4D0
- mov r0, r6
- add sp, sp, #0x18
- ldmia sp!, {r4-r8,pc}
- .balign 4
-_020AE418: .word 0x00004652
-_020AE41C: .word 0x00005544
-
- arm_func_start FUN_020AE420
-FUN_020AE420: ; 0x020AE420
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0xc
- mov r5, r0
- mov r3, r1
- add r4, r5, #0x24
- str r2, [sp, #0x0]
- ldr r1, _020AE498 ; =0x45585048
- add r2, r4, #0x14
- bl FUN_020ADCA4
-_020AE444: ; 0x020AE444
- mov r0, #0x0
- strh r0, [r4, #0x10]
- strh r0, [r4, #0x12]
- ldrh r2, [r4, #0x12]
- ldr r1, _020AE49C ; =0x00004652
- add r0, sp, #0x4
- bic r2, r2, #0x1
- strh r2, [r4, #0x12]
- ldr r2, [r5, #0x18]
- str r2, [sp, #0x4]
- ldr r2, [r5, #0x1c]
- str r2, [sp, #0x8]
- bl FUN_020AE4A0
- str r0, [r5, #0x24]
- str r0, [r4, #0x4]
- mov r1, #0x0
- str r1, [r4, #0x8]
- mov r0, r5
- str r1, [r4, #0xc]
- add sp, sp, #0xc
- ldmia sp!, {r4-r5,pc}
- .balign 4
-_020AE498: .word 0x45585048
-_020AE49C: .word 0x00004652
-
- arm_func_start FUN_020AE4A0
-FUN_020AE4A0: ; 0x020AE4A0
- ldr r3, [r0, #0x0]
- mov r2, #0x0
- strh r1, [r3, #0x0]
- strh r2, [r3, #0x2]
- ldr r1, [r0, #0x4]
- add r0, r3, #0x10
- sub r0, r1, r0
- str r0, [r3, #0x4]
- str r2, [r3, #0x8]
- mov r0, r3
- str r2, [r3, #0xc]
- bx lr
-
- arm_func_start FUN_020AE4D0
-FUN_020AE4D0: ; 0x020AE4D0
- str r2, [r1, #0x8]
- cmp r2, #0x0
- ldrne r3, [r2, #0xc]
- strne r1, [r2, #0xc]
- ldreq r3, [r0, #0x0]
- streq r1, [r0, #0x0]
- str r3, [r1, #0xc]
- cmp r3, #0x0
- strne r1, [r3, #0x8]
- streq r1, [r0, #0x4]
- mov r0, r1
- bx lr
-
- arm_func_start FUN_020AE500
-FUN_020AE500: ; 0x020AE500
- ldr r2, [r1, #0x8]
- ldr r1, [r1, #0xc]
- cmp r2, #0x0
- strne r1, [r2, #0xc]
- streq r1, [r0, #0x0]
- cmp r1, #0x0
- strne r2, [r1, #0x8]
- streq r2, [r0, #0x4]
- mov r0, r2
- bx lr
-
- arm_func_start FUN_020AE528
-FUN_020AE528: ; 0x020AE528
- ldrh r2, [r1, #0x2]
- add r3, r1, #0x10
- mov r2, r2, asr #0x8
- and r2, r2, #0x7f
- mov r2, r2, lsl #0x10
- sub r2, r1, r2, lsr #0x10
- str r2, [r0, #0x0]
- ldr r1, [r1, #0x4]
- add r1, r1, r3
- str r1, [r0, #0x4]
- bx lr
-
- arm_func_start FUN_020AE554
-FUN_020AE554: ; 0x020AE554
- add r2, r0, #0x24
- cmp r1, #0x0
- ldr r3, [r2, #0x8]
- beq _020AE584
- cmp r3, #0x0
- beq _020AE584
-_020AE56C:
- ldr r0, [r3, #0x0]
- cmp r0, r1
- beq _020AE584
- ldr r3, [r3, #0xc]
- cmp r3, #0x0
- bne _020AE56C
-_020AE584:
- cmp r3, #0x0
- moveq r0, #0x0
- bxeq lr
- ldr r1, [r3, #0x4]
- mov r0, #0x1
- str r1, [r2, #0x0]
- ldr r1, [r3, #0x8]
- str r1, [r2, #0x4]
- ldr r1, [r3, #0xc]
- str r1, [r2, #0x8]
- bx lr
-
- arm_func_start FUN_020AE5B0
-FUN_020AE5B0: ; 0x020AE5B0
- stmdb sp!, {r4-r6,lr}
- add r4, r0, #0x24
- ldr r5, [r0, #0x24]
- mov r6, r1
- mov r0, r4
- mov r1, #0x10
- mov r2, #0x4
- bl FUN_020AE77C
-_020AE5D0: ; 0x020AE5D0
- cmp r0, #0x0
- moveq r0, #0x0
- ldmeqia sp!, {r4-r6,pc}
-_020AE5DC: ; 0x020AE5DC
- str r6, [r0, #0x0]
- str r5, [r0, #0x4]
- ldr r1, [r4, #0x4]
- str r1, [r0, #0x8]
- ldr r1, [r4, #0x8]
- str r1, [r0, #0xc]
- str r0, [r4, #0x8]
- mov r0, #0x1
- ldmia sp!, {r4-r6,pc}
-
- arm_func_start FUN_020AE600
-FUN_020AE600: ; 0x020AE600
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r4, r1
- mov r5, r0
- ands r1, r4, #0x1
- beq _020AE61C
- bl FUN_020AE6F8
-_020AE61C:
- ands r0, r4, #0x2
- addeq sp, sp, #0x4
- ldmeqia sp!, {r4-r5,pc}
-_020AE628: ; 0x020AE628
- mov r0, r5
- bl FUN_020AE6C8
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,pc}
-
- arm_func_start FUN_020AE638
-FUN_020AE638: ; 0x020AE638
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- cmp r1, #0x0
- moveq r1, #0x1
- add r1, r1, #0x3
- add r0, r0, #0x24
- cmp r2, #0x0
- bic r1, r1, #0x3
- blt _020AE668
- bl FUN_020AE77C
- add sp, sp, #0x4
- ldmia sp!, {pc}
-_020AE668:
- rsb r2, r2, #0x0
- bl FUN_020AE710
- add sp, sp, #0x4
- ldmia sp!, {pc}
-
- arm_func_start thunk_FUN_020adc8c_2
-thunk_FUN_020adc8c_2: ; 0x020AE678
- ldr ip, _020AE680 ; =FUN_020ADC8C
- bx r12
- .balign 4
-_020AE680: .word FUN_020ADC8C
-
- arm_func_start FUN_020AE684
-FUN_020AE684: ; 0x020AE684
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- add r1, r1, r0
- add r0, r0, #0x3
- bic r1, r1, #0x3
- bic r0, r0, #0x3
- cmp r0, r1
- bhi _020AE6B0
- sub r3, r1, r0
- cmp r3, #0x30
- bhs _020AE6BC
-_020AE6B0:
- add sp, sp, #0x4
- mov r0, #0x0
- ldmia sp!, {pc}
-_020AE6BC:
- bl FUN_020AE7E0
- add sp, sp, #0x4
- ldmia sp!, {pc}
-
- arm_func_start FUN_020AE6C8
-FUN_020AE6C8: ; 0x020AE6C8
- add r2, r0, #0x24
- ldr r3, [r2, #0x8]
- cmp r3, #0x0
- beq _020AE6EC
-_020AE6D8:
- ldr r1, [r0, #0x1c]
- str r1, [r3, #0x8]
- ldr r3, [r3, #0xc]
- cmp r3, #0x0
- bne _020AE6D8
-_020AE6EC:
- ldr r0, [r0, #0x1c]
- str r0, [r2, #0x4]
- bx lr
-
- arm_func_start FUN_020AE6F8
-FUN_020AE6F8: ; 0x020AE6F8
- ldr r1, [r0, #0x18]
- add r2, r0, #0x24
- str r1, [r0, #0x24]
- mov r0, #0x0
- str r0, [r2, #0x8]
- bx lr
-
- arm_func_start FUN_020AE710
-FUN_020AE710: ; 0x020AE710
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r5, r0
- ldr r3, [r5, #0x4]
- sub r0, r2, #0x1
- mvn r2, r0
- sub r1, r3, r1
- ldr r0, [r5, #0x0]
- and r4, r2, r1
- cmp r4, r0
- addcc sp, sp, #0x4
- movcc r0, #0x0
- ldmccia sp!, {r4-r5,pc}
-_020AE744: ; 0x020AE744
- ldr r0, [r5, #-0x4]
- sub r2, r3, r4
- and r0, r0, #0xff
- mov r0, r0, lsl #0x10
- mov r0, r0, lsr #0x10
- ands r0, r0, #0x1
- beq _020AE76C
- mov r1, r4
- mov r0, #0x0
- bl MIi_CpuClear32
-_020AE76C:
- mov r0, r4
- str r4, [r5, #0x4]
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,pc}
-
- arm_func_start FUN_020AE77C
-FUN_020AE77C:
- stmdb sp!, {r4-r6,lr}
- mov r6, r0
- ldr r0, [r6, #0x0]
- sub r2, r2, #0x1
- mvn r3, r2
- add r2, r2, r0
- and r5, r3, r2
- ldr r2, [r6, #0x4]
- add r4, r1, r5
- cmp r4, r2
- movhi r0, #0x0
- ldmhiia sp!, {r4-r6,pc}
-_020AE7AC: ; 0x020AE7AC
- ldr r1, [r6, #-0x4]
- sub r2, r4, r0
- and r1, r1, #0xff
- mov r1, r1, lsl #0x10
- mov r1, r1, lsr #0x10
- ands r1, r1, #0x1
- beq _020AE7D4
- mov r1, r0
- mov r0, #0x0
- bl MIi_CpuClear32
-_020AE7D4:
- mov r0, r5
- str r4, [r6, #0x0]
- ldmia sp!, {r4-r6,pc}
-
- arm_func_start FUN_020AE7E0
-FUN_020AE7E0: ; 0x020AE7E0
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r5, r0
- mov r3, r1
- add r4, r5, #0x24
- str r2, [sp, #0x0]
- ldr r1, _020AE828 ; =0x46524D48
- add r2, r4, #0xc
- bl FUN_020ADCA4
- ldr r0, [r5, #0x18]
- mov r1, #0x0
- str r0, [r5, #0x24]
- ldr r2, [r5, #0x1c]
- mov r0, r5
- str r2, [r4, #0x4]
- str r1, [r4, #0x8]
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,pc}
- .balign 4
-_020AE828: .word 0x46524D48
-
- arm_func_start FUN_020AE82C
-FUN_020AE82C: ; 0x020AE82C
- ldr ip, _020AE848 ; =0x020FF7CC
- mov r3, #0x0
- str r12, [r0, #0x0]
- str r1, [r0, #0x4]
- str r2, [r0, #0x8]
- str r3, [r0, #0xc]
- bx lr
- .balign 4
-_020AE848: .word 0x020FF7CC
-
- arm_func_start FUN_020AE84C
-FUN_020AE84C: ; 0x020AE84C
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r2, [r0, #0x0]
- ldr r2, [r2, #0x4]
- blx r2
- add sp, sp, #0x4
- ldmia sp!, {pc}
-
- arm_func_start FUN_020AE868
-FUN_020AE868: ; 0x020AE868
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r2, [r0, #0x0]
- ldr r2, [r2, #0x0]
- blx r2
- add sp, sp, #0x4
- ldmia sp!, {pc}
-
- arm_func_start FUN_020AE884
-FUN_020AE884: ; 0x020AE884
- ldr ip, _020AE890 ; =FUN_020ADDF0
- ldr r0, [r0, #0x4]
- bx r12
- .balign 4
-_020AE890: .word FUN_020ADDF0
-
- arm_func_start FUN_020AE894
-FUN_020AE894: ; 0x020AE894
- ldr ip, _020AE8A8 ; =tempName_NNS_FndAllocFromExpHeapEx
- mov r2, r0
- ldr r0, [r2, #0x4]
- ldr r2, [r2, #0x8]
- bx r12
- .balign 4
-_020AE8A8: .word tempName_NNS_FndAllocFromExpHeapEx
-
- arm_func_start FUN_020AE8AC
-FUN_020AE8AC: ; 0x020AE8AC
- mvn r0, #0x0
- bx lr
-
- arm_func_start FUN_020AE8B4
-FUN_020AE8B4: ; 0x020AE8B4
- mov r0, #0x0
- bx lr
-
- arm_func_start FUN_020AE8BC
-FUN_020AE8BC: ; 0x020AE8BC
- mvn r0, #0x0
- bx lr
-
- arm_func_start FUN_020AE8C4
-FUN_020AE8C4: ; 0x020AE8C4
- mov r0, #0x0
- bx lr
-
- arm_func_start FUN_020AE8CC
-FUN_020AE8CC: ; 0x020AE8CC
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- mov lr, #0x0
- ldr r3, _020AE914 ; =0x021064E4
- mov r12, lr
- mov r2, #0x1
-_020AE8E4:
- ldr r1, [r0, r12, lsl #0x2]
- add lr, lr, #0x1
- str r1, [r3, #0x0]
- ldr r1, [r0, r2, lsl #0x2]
- cmp lr, #0x5
- str r1, [r3, #0x4]
- add r12, r12, #0x2
- add r3, r3, #0x18
- add r2, r2, #0x2
- blt _020AE8E4
- add sp, sp, #0x4
- ldmia sp!, {pc}
- .balign 4
-_020AE914: .word 0x021064E4
-
- arm_func_start FUN_020AE918
-FUN_020AE918: ; 0x020AE918
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- mov lr, #0x0
- ldr ip, _020AE960 ; =0x021064E4
- mov r3, lr
- mov r2, #0x1
-_020AE930:
- ldr r1, [r12, #0x0]
- add lr, lr, #0x1
- str r1, [r0, r3, lsl #0x2]
- ldr r1, [r12, #0x4]
- cmp lr, #0x5
- str r1, [r0, r2, lsl #0x2]
- add r12, r12, #0x18
- add r3, r3, #0x2
- add r2, r2, #0x2
- blt _020AE930
- add sp, sp, #0x4
- ldmia sp!, {pc}
- .balign 4
-_020AE960: .word 0x021064E4
-
- arm_func_start FUN_020AE964
-FUN_020AE964: ; 0x020AE964
- mov r0, #0x0
- bx lr
-
- arm_func_start FUN_020AE96C
-FUN_020AE96C: ; 0x020AE96C
- stmdb sp!, {r4-r10,lr}
- cmp r0, #0x0
- moveq r7, #0x10
- addne r0, r0, #0xf
- bicne r7, r0, #0xf
- ldr r0, _020AEADC ; =0x0007FFF0
- cmp r7, r0
- movcs r0, #0x0
- ldmcsia sp!, {r4-r10,pc}
-_020AE990: ; 0x020AE990
- cmp r1, #0x0
- beq _020AEA5C
- mov lr, r7, lsr #0x1
- mov r6, #0x0
- ldr r2, _020AEAE0 ; =0x02106514
- ldr r3, _020AEAE4 ; =0x021064FC
- ldr ip, _020AEAE8 ; =0x021064C8
- mov r0, r6
-_020AE9B0:
- ldr r5, [r12, r6, lsl #0x2]
- ldr r4, [r5, #0x8]
- cmp r4, #0x0
- beq _020AEA48
- ldr r9, [r5, #0x4]
- ldr r4, [r5, #0x0]
- sub r4, r9, r4
- cmp r4, r7
- blo _020AEA48
- ldrh r4, [r5, #0x10]
- cmp r4, #0x0
- beq _020AE9EC
- cmp r4, #0x3
- beq _020AE9F4
- b _020AE9FC
-_020AE9EC:
- mov r4, r3
- b _020AEA00
-_020AE9F4:
- mov r4, r2
- b _020AEA00
-_020AE9FC:
- mov r4, r0
-_020AEA00:
- ldr r9, [r4, #0x8]
- cmp r9, #0x0
- beq _020AEA48
- ldr r10, [r4, #0x4]
- ldr r9, [r4, #0x0]
- sub r9, r10, r9
- cmp r9, lr
- blo _020AEA48
- ldr r3, [r5, #0x0]
- mov r0, #0x1
- add r2, r3, r7
- str r2, [r5, #0x0]
- ldr r2, [r4, #0x0]
- add r2, r2, lr
- str r2, [r4, #0x0]
- ldr r2, [r5, #0x14]
- add r8, r3, r2
- b _020AEAB8
-_020AEA48:
- add r6, r6, #0x1
- cmp r6, #0x2
- blt _020AE9B0
- mov r0, #0x0
- b _020AEAB8
-_020AEA5C:
- ldr r3, _020AEAEC ; =0x021064D0
- mov r5, #0x0
-_020AEA64:
- ldr r4, [r3, r5, lsl #0x2]
- ldr r0, [r4, #0x8]
- cmp r0, #0x0
- beq _020AEAA8
- ldr r2, [r4, #0x4]
- ldr r0, [r4, #0x0]
- sub r0, r2, r0
- cmp r0, r7
- blo _020AEAA8
- ldr r2, [r4, #0x4]
- mov r0, #0x1
- sub r2, r2, r7
- str r2, [r4, #0x4]
- ldr r3, [r4, #0x4]
- ldr r2, [r4, #0x14]
- add r8, r3, r2
- b _020AEAB8
-_020AEAA8:
- add r5, r5, #0x1
- cmp r5, #0x5
- blt _020AEA64
- mov r0, #0x0
-_020AEAB8:
- cmp r0, #0x0
- moveq r0, #0x0
- ldmeqia sp!, {r4-r10,pc}
-_020AEAC4: ; 0x020AEAC4
- ldr r0, _020AEAF0 ; =0x0000FFFF
- mov r2, r7, lsr #0x4
- and r0, r0, r8, lsr #0x3
- orr r0, r0, r2, lsl #0x10
- orr r0, r0, r1, lsl #0x1f
- ldmia sp!, {r4-r10,pc}
- .balign 4
-_020AEADC: .word 0x0007FFF0
-_020AEAE0: .word 0x02106514
-_020AEAE4: .word 0x021064FC
-_020AEAE8: .word 0x021064C8
-_020AEAEC: .word 0x021064D0
-_020AEAF0: .word 0x0000FFFF
-
- arm_func_start FUN_020AEAF4
-FUN_020AEAF4:
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- ldr r0, _020AEB68 ; =0x021CCD48
- mov r6, #0x0
- ldrh r7, [r0, #0x0]
- ldr r5, _020AEB6C ; =0x021064E4
- mov lr, r6
- cmp r7, #0x1
- addhi r7, r7, #0x1
- mov r1, r6
- mov r3, r6
- mov r4, #0x1
- mov r0, #0x20000
- mov r2, #0x10000
-_020AEB2C:
- cmp r6, r7
- strlt r4, [r5, #0x8]
- strge lr, [r5, #0x8]
- ldr r12, [r5, #0xc]
- add r6, r6, #0x1
- cmp r12, #0x0
- strne r3, [r5, #0x0]
- strne r2, [r5, #0x4]
- streq r1, [r5, #0x0]
- streq r0, [r5, #0x4]
- cmp r6, #0x5
- add r5, r5, #0x18
- blt _020AEB2C
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,pc}
- .balign 4
-_020AEB68: .word 0x021CCD48
-_020AEB6C: .word 0x021064E4
-
- arm_func_start FUN_020AEB70
-FUN_020AEB70: ; 0x020AEB70
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r5, r0
- mov r4, r1
- cmp r5, #0x2
- bhi _020AEBA8
- mov r12, #0x1
- mov r0, #0x4
- mov r1, #0x3
- mov r2, #0x2
- mov r3, #0x0
- str r12, [sp, #0x0]
- bl FUN_020AEC10
- b _020AEBC4
-_020AEBA8:
- mov r12, #0x1
- mov r0, #0x4
- mov r1, #0x3
- mov r2, #0x0
- mov r3, #0x2
- str r12, [sp, #0x0]
- bl FUN_020AEC10
-_020AEBC4:
- ldr r0, _020AEBFC ; =0x021CCD48
- strh r5, [r0, #0x0]
- bl FUN_020AEAF4
-_020AEBD0: ; 0x020AEBD0
- cmp r4, #0x0
- addeq sp, sp, #0x4
- ldmeqia sp!, {r4-r5,pc}
-_020AEBDC: ; 0x020AEBDC
- ldr r3, _020AEC00 ; =FUN_020AE96C
- ldr r1, _020AEC04 ; =0x021064B8
- ldr r2, _020AEC08 ; =FUN_020AE964
- ldr r0, _020AEC0C ; =0x021064BC
- str r3, [r1, #0x0]
- str r2, [r0, #0x0]
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,pc}
- .balign 4
-_020AEBFC: .word 0x021CCD48
-_020AEC00: .word FUN_020AE96C
-_020AEC04: .word 0x021064B8
-_020AEC08: .word FUN_020AE964
-_020AEC0C: .word 0x021064BC
-
- arm_func_start FUN_020AEC10
-FUN_020AEC10: ; 0x020AEC10
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- ldr lr, [sp, #0x18]
- ldr r6, _020AEC58 ; =0x021064E4
- mov r12, #0x18
- mla r7, r0, r12, r6
- ldr r0, _020AEC5C ; =0x021064D0
- mla r5, r1, r12, r6
- mla r4, r2, r12, r6
- mla r2, r3, r12, r6
- mla r1, lr, r12, r6
- str r7, [r0, #0x0]
- str r5, [r0, #0x4]
- str r4, [r0, #0x8]
- str r2, [r0, #0xc]
- str r1, [r0, #0x10]
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,pc}
- .balign 4
-_020AEC58: .word 0x021064E4
-_020AEC5C: .word 0x021064D0
-
- arm_func_start FUN_020AEC60
-FUN_020AEC60:
- ldr r0, _020AEC78 ; =0x021CCD4C
- mov r2, #0x0
- ldr r1, [r0, #0x8]
- str r2, [r0, #0x0]
- str r1, [r0, #0x4]
- bx lr
- .balign 4
-_020AEC78: .word 0x021CCD4C
-
- arm_func_start FUN_020AEC7C
-FUN_020AEC7C: ; 0x020AEC7C
- ldr r2, [r0, #0x0]
- ldr r1, _020AEC94 ; =0x021CCD4C
- str r2, [r1, #0x0]
- ldr r0, [r0, #0x4]
- str r0, [r1, #0x4]
- bx lr
- .balign 4
-_020AEC94: .word 0x021CCD4C
-
- arm_func_start FUN_020AEC98
-FUN_020AEC98: ; 0x020AEC98
- ldr r1, _020AECB0 ; =0x021CCD4C
- ldr r2, [r1, #0x0]
- str r2, [r0, #0x0]
- ldr r1, [r1, #0x4]
- str r1, [r0, #0x4]
- bx lr
- .balign 4
-_020AECB0: .word 0x021CCD4C
-
- arm_func_start FUN_020AECB4
-FUN_020AECB4: ; 0x020AECB4
- mov r0, #0x0
- bx lr
-
- arm_func_start FUN_020AECBC
-FUN_020AECBC: ; 0x020AECBC
- stmdb sp!, {r4,lr}
- cmp r0, #0x0
- moveq r0, #0x8
- addne r0, r0, #0x7
- ldr ip, _020AEDE8 ; =0x0007FFF8
- bicne r0, r0, #0x7
- cmp r0, r12
- mov r3, #0x0
- movcs r0, #0x0
- ldmcsia sp!, {r4,pc}
-_020AECE4: ; 0x020AECE4
- cmp r2, #0x1
- bne _020AED64
- ldr r2, _020AEDEC ; =0x021CCD4C
- cmp r1, #0x0
- ldr r12, [r2, #0x0]
- andne r2, r12, #0x7
- rsbne r2, r2, #0x8
- andne r4, r2, #0x7
- andeq r2, r12, #0xf
- rsbeq r2, r2, #0x10
- andeq r4, r2, #0xf
- ldr r2, _020AEDEC ; =0x021CCD4C
- add lr, r0, r4
- ldr r2, [r2, #0x4]
- sub r2, r2, r12
- cmp r2, lr
- blo _020AED5C
- cmp r1, #0x0
- add r1, r12, lr
- beq _020AED40
- cmp r1, #0x10000
- movhi r12, #0x0
- bhi _020AEDCC
-_020AED40:
- ldr r1, _020AEDEC ; =0x021CCD4C
- add r3, r12, r4
- ldr r2, [r1, #0x0]
- mov r12, #0x1
- add r2, r2, lr
- str r2, [r1, #0x0]
- b _020AEDCC
-_020AED5C:
- mov r12, #0x0
- b _020AEDCC
-_020AED64:
- ldr r2, _020AEDEC ; =0x021CCD4C
- ldr r12, [r2, #0x4]
- cmp r12, r0
- blo _020AEDC8
- sub r2, r12, r0
- cmp r1, #0x0
- andne r4, r2, #0x7
- andeq r4, r2, #0xf
- ldr r2, _020AEDEC ; =0x021CCD4C
- add lr, r0, r4
- ldr r2, [r2, #0x0]
- sub r2, r12, r2
- cmp r2, lr
- blo _020AEDC8
- cmp r1, #0x0
- beq _020AEDB0
- cmp r12, #0x10000
- movhi r12, #0x0
- bhi _020AEDCC
-_020AEDB0:
- ldr r1, _020AEDEC ; =0x021CCD4C
- mov r12, #0x1
- ldr r2, [r1, #0x4]
- sub r3, r2, lr
- str r3, [r1, #0x4]
- b _020AEDCC
-_020AEDC8:
- mov r12, #0x0
-_020AEDCC:
- cmp r12, #0x0
- ldrne r1, _020AEDF0 ; =0x0000FFFF
- movne r2, r0, lsr #0x3
- andne r0, r1, r3, lsr #0x3
- orrne r0, r0, r2, lsl #0x10
- moveq r0, #0x0
- ldmia sp!, {r4,pc}
- .balign 4
-_020AEDE8: .word 0x0007FFF8
-_020AEDEC: .word 0x021CCD4C
-_020AEDF0: .word 0x0000FFFF
-
- arm_func_start FUN_020AEDF4
-FUN_020AEDF4: ; 0x020AEDF4
- stmdb sp!, {r4,lr}
- ldr r2, _020AEE2C ; =0x021CCD4C
- mov r4, r1
- str r0, [r2, #0x8]
- bl FUN_020AEC60
-_020AEE08: ; 0x020AEE08
- cmp r4, #0x0
- ldmeqia sp!, {r4,pc}
-_020AEE10: ; 0x020AEE10
- ldr r3, _020AEE30 ; =FUN_020AECBC
- ldr r1, _020AEE34 ; =0x021064C0
- ldr r2, _020AEE38 ; =FUN_020AECB4
- ldr r0, _020AEE3C ; =0x021064C4
- str r3, [r1, #0x0]
- str r2, [r0, #0x0]
- ldmia sp!, {r4,pc}
- .balign 4
-_020AEE2C: .word 0x021CCD4C
-_020AEE30: .word FUN_020AECBC
-_020AEE34: .word 0x021064C0
-_020AEE38: .word FUN_020AECB4
-_020AEE3C: .word 0x021064C4
-
- arm_func_start FUN_020AEE40
-FUN_020AEE40: ; 0x020AEE40
- stmdb sp!, {r4-r9,lr}
- sub sp, sp, #0x4
- ldr r5, _020AEEB4 ; =0x021CCD58
- mov r9, r0
- mov r0, r5
- mov r8, r1
- mov r7, r2
- mov r6, r3
- bl FUN_020AF2F4
-_020AEE64: ; 0x020AEE64
- cmp r0, #0x0
- addne sp, sp, #0x4
- movne r0, #0x0
- ldmneia sp!, {r4-r9,pc}
-_020AEE74: ; 0x020AEE74
- mov r0, r5
- bl FUN_020AEF78
- mov r4, r0
- str r9, [r4, #0x0]
- str r7, [r4, #0x4]
- str r8, [r4, #0x8]
- mov r0, r5
- str r6, [r4, #0xc]
- bl FUN_020AEF98
- ldr r2, [r5, #0x10]
- ldr r1, [r4, #0xc]
- mov r0, #0x1
- add r1, r2, r1
- str r1, [r5, #0x10]
- add sp, sp, #0x4
- ldmia sp!, {r4-r9,pc}
- .balign 4
-_020AEEB4: .word 0x021CCD58
-
- arm_func_start FUN_020AEEB8
-FUN_020AEEB8: ; 0x020AEEB8
- stmdb sp!, {r4-r6,lr}
- ldr r6, _020AEF18 ; =0x021CCD58
- mov r0, r6
- bl FUN_020AEF88
- mov r5, r0
- mov r0, r6
- bl FUN_020AEF3C
-_020AEED4: ; 0x020AEED4
- cmp r0, #0x0
- ldmeqia sp!, {r4-r6,pc}
-_020AEEDC: ; 0x020AEEDC
- add r4, r6, #0x10
-_020AEEE0:
- mov r0, r5
- bl FUN_020AEFF0
- ldr r2, [r4, #0x0]
- ldr r1, [r5, #0xc]
- mov r0, r6
- sub r1, r2, r1
- str r1, [r4, #0x0]
- bl FUN_020AEF88
- mov r5, r0
- mov r0, r6
- bl FUN_020AEF3C
-_020AEF0C: ; 0x020AEF0C
- cmp r0, #0x0
- bne _020AEEE0
- ldmia sp!, {r4-r6,pc}
- .balign 4
-_020AEF18: .word 0x021CCD58
-
- arm_func_start FUN_020AEF1C
-FUN_020AEF1C: ; 0x020AEF1C
- ldr r2, _020AEF34 ; =0x021CCD58
- ldr ip, _020AEF38 ; =FUN_020AEFD4
- str r0, [r2, #0x0]
- mov r0, r2
- str r1, [r2, #0x4]
- bx r12
- .balign 4
-_020AEF34: .word 0x021CCD58
-_020AEF38: .word FUN_020AEFD4
-
- arm_func_start FUN_020AEF3C
-FUN_020AEF3C:
- stmdb sp!, {r4,lr}
- mov r4, r0
- bl FUN_020AF2E0
-_020AEF48: ; 0x020AEF48
- cmp r0, #0x0
- movne r0, #0x0
- ldmneia sp!, {r4,pc}
-_020AEF54: ; 0x020AEF54
- ldrh r1, [r4, #0x8]
- mov r0, r4
- bl FUN_020AF30C
- strh r0, [r4, #0x8]
- ldrh r1, [r4, #0xc]
- mov r0, #0x1
- sub r1, r1, #0x1
- strh r1, [r4, #0xc]
- ldmia sp!, {r4,pc}
-
- arm_func_start FUN_020AEF78
-FUN_020AEF78: ; 0x020AEF78
- ldrh r1, [r0, #0xa]
- ldr r0, [r0, #0x0]
- add r0, r0, r1, lsl #0x4
- bx lr
-
- arm_func_start FUN_020AEF88
-FUN_020AEF88: ; 0x020AEF88
- ldrh r1, [r0, #0x8]
- ldr r0, [r0, #0x0]
- add r0, r0, r1, lsl #0x4
- bx lr
-
- arm_func_start FUN_020AEF98
-FUN_020AEF98: ; 0x020AEF98
- stmdb sp!, {r4,lr}
- mov r4, r0
- bl FUN_020AF2F4
-_020AEFA4: ; 0x020AEFA4
- cmp r0, #0x0
- movne r0, #0x0
- ldmneia sp!, {r4,pc}
-_020AEFB0: ; 0x020AEFB0
- ldrh r1, [r4, #0xa]
- mov r0, r4
- bl FUN_020AF30C
- strh r0, [r4, #0xa]
- ldrh r1, [r4, #0xc]
- mov r0, #0x1
- add r1, r1, #0x1
- strh r1, [r4, #0xc]
- ldmia sp!, {r4,pc}
-
- arm_func_start FUN_020AEFD4
-FUN_020AEFD4: ; 0x020AEFD4
- mov r2, #0x0
- strh r2, [r0, #0xa]
- ldrh r1, [r0, #0xa]
- strh r1, [r0, #0x8]
- strh r2, [r0, #0xc]
- str r2, [r0, #0x10]
- bx lr
-
- arm_func_start FUN_020AEFF0
-FUN_020AEFF0: ; 0x020AEFF0
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r5, r0
- ldr r3, [r5, #0x0]
- ldr r2, _020AF02C ; =0x020FF7D4
- ldr r0, [r5, #0x4]
- ldr r1, [r5, #0xc]
- ldr r4, [r2, r3, lsl #0x2]
- bl DC_FlushRange
- ldr r0, [r5, #0x4]
- ldr r1, [r5, #0x8]
- ldr r2, [r5, #0xc]
- blx r4
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,pc}
- .balign 4
-_020AF02C: .word 0x020FF7D4
diff --git a/asm/unk_020AF030.s b/asm/unk_020AF030.s
deleted file mode 100644
index 33faec27..00000000
--- a/asm/unk_020AF030.s
+++ /dev/null
@@ -1,26835 +0,0 @@
- .include "asm/macros.inc"
- .include "global.inc"
-
- .text
-
- arm_func_start GXS_LoadOBJ_2
-GXS_LoadOBJ_2:
- ldr ip, _020AF038 ; =GXS_LoadOBJ
- bx r12
- .balign 4
-_020AF038: .word GXS_LoadOBJ
-
- arm_func_start GXS_LoadOAM_2
-GXS_LoadOAM_2: ; 0x020AF03C
- ldr ip, _020AF044 ; =GXS_LoadOAM
- bx r12
- .balign 4
-_020AF044: .word GXS_LoadOAM
-
- arm_func_start FUN_020AF048
-FUN_020AF048: ; 0x020AF048
- stmdb sp!, {r4-r6,lr}
- mov r6, r0
- mov r5, r1
- mov r4, r2
- bl GXS_BeginLoadBGExtPltt
- mov r0, r6
- mov r1, r5
- mov r2, r4
- bl GXS_LoadBGExtPltt
- bl GXS_EndLoadBGExtPltt
- ldmia sp!, {r4-r6,pc}
-
- arm_func_start FUN_020AF074
-FUN_020AF074: ; 0x020AF074
- stmdb sp!, {r4-r6,lr}
- mov r6, r0
- mov r5, r1
- mov r4, r2
- bl GXS_BeginLoadOBJExtPltt
- mov r0, r6
- mov r1, r5
- mov r2, r4
- bl GXS_LoadOBJExtPltt
- bl GXS_EndLoadOBJExtPltt
- ldmia sp!, {r4-r6,pc}
-
- arm_func_start GXS_LoadBGPltt_2
-GXS_LoadBGPltt_2: ; 0x020AF0A0
- ldr ip, _020AF0A8 ; =GXS_LoadBGPltt
- bx r12
- .balign 4
-_020AF0A8: .word GXS_LoadBGPltt
-
- arm_func_start GXS_LoadOBJPltt_2
-GXS_LoadOBJPltt_2: ; 0x020AF0AC
- ldr ip, _020AF0B4 ; =GXS_LoadOBJPltt
- bx r12
- .balign 4
-_020AF0B4: .word GXS_LoadOBJPltt
-
- arm_func_start GXS_LoadBG3Scr_3
-GXS_LoadBG3Scr_3: ; 0x020AF0B8
- ldr ip, _020AF0C0 ; =GXS_LoadBG3Scr
- bx r12
- .balign 4
-_020AF0C0: .word GXS_LoadBG3Scr
-
- arm_func_start GXS_LoadBG2Scr_3
-GXS_LoadBG2Scr_3: ; 0x020AF0C4
- ldr ip, _020AF0CC ; =GXS_LoadBG2Scr
- bx r12
- .balign 4
-_020AF0CC: .word GXS_LoadBG2Scr
-
- arm_func_start GXS_LoadBG3Scr_2
-GXS_LoadBG3Scr_2: ; 0x020AF0D0
- ldr ip, _020AF0D8 ; =GXS_LoadBG3Scr
- bx r12
- .balign 4
-_020AF0D8: .word GXS_LoadBG3Scr
-
- arm_func_start GXS_LoadBG2Scr_2
-GXS_LoadBG2Scr_2: ; 0x020AF0DC
- ldr ip, _020AF0E4 ; =GXS_LoadBG2Scr
- bx r12
- .balign 4
-_020AF0E4: .word GXS_LoadBG2Scr
-
- arm_func_start GXS_LoadBG1Scr_2
-GXS_LoadBG1Scr_2: ; 0x020AF0E8
- ldr ip, _020AF0F0 ; =GXS_LoadBG1Scr
- bx r12
- .balign 4
-_020AF0F0: .word GXS_LoadBG1Scr
-
- arm_func_start GXS_LoadBG0Scr_2
-GXS_LoadBG0Scr_2: ; 0x020AF0F4
- ldr ip, _020AF0FC ; =GXS_LoadBG0Scr
- bx r12
- .balign 4
-_020AF0FC: .word GXS_LoadBG0Scr
-
- arm_func_start GXS_LoadBG3Char_2
-GXS_LoadBG3Char_2: ; 0x020AF100
- ldr ip, _020AF108 ; =GXS_LoadBG3Char
- bx r12
- .balign 4
-_020AF108: .word GXS_LoadBG3Char
-
- arm_func_start GXS_LoadBG2Char_2
-GXS_LoadBG2Char_2: ; 0x020AF10C
- ldr ip, _020AF114 ; =GXS_LoadBG2Char
- bx r12
- .balign 4
-_020AF114: .word GXS_LoadBG2Char
-
- arm_func_start GXS_LoadBG1Char_2
-GXS_LoadBG1Char_2: ; 0x020AF118
- ldr ip, _020AF120 ; =GXS_LoadBG1Char
- bx r12
- .balign 4
-_020AF120: .word GXS_LoadBG1Char
-
- arm_func_start GXS_LoadBG0Char_2
-GXS_LoadBG0Char_2: ; 0x020AF124
- ldr ip, _020AF12C ; =GXS_LoadBG0Char
- bx r12
- .balign 4
-_020AF12C: .word GXS_LoadBG0Char
-
- arm_func_start GX_LoadOBJ_2
-GX_LoadOBJ_2: ; 0x020AF130
- ldr ip, _020AF138 ; =GX_LoadOBJ
- bx r12
- .balign 4
-_020AF138: .word GX_LoadOBJ
-
- arm_func_start GX_LoadOAM_2
-GX_LoadOAM_2: ; 0x020AF13C
- ldr ip, _020AF144 ; =GX_LoadOAM
- bx r12
- .balign 4
-_020AF144: .word GX_LoadOAM
-
- arm_func_start FUN_020AF148
-FUN_020AF148: ; 0x020AF148
- stmdb sp!, {r4-r6,lr}
- mov r6, r0
- mov r5, r1
- mov r4, r2
- bl GX_BeginLoadBGExtPltt
- mov r0, r6
- mov r1, r5
- mov r2, r4
- bl GX_LoadBGExtPltt
- bl GX_EndLoadBGExtPltt
- ldmia sp!, {r4-r6,pc}
-
- arm_func_start FUN_020AF174
-FUN_020AF174: ; 0x020AF174
- stmdb sp!, {r4-r6,lr}
- mov r6, r0
- mov r5, r1
- mov r4, r2
- bl GX_BeginLoadOBJExtPltt
- mov r0, r6
- mov r1, r5
- mov r2, r4
- bl GX_LoadOBJExtPltt
- bl GX_EndLoadOBJExtPltt
- ldmia sp!, {r4-r6,pc}
-
- arm_func_start GX_LoadBGPltt_2
-GX_LoadBGPltt_2: ; 0x020AF1A0
- ldr ip, _020AF1A8 ; =GX_LoadBGPltt
- bx r12
- .balign 4
-_020AF1A8: .word GX_LoadBGPltt
-
- arm_func_start GX_LoadOBJPltt_2
-GX_LoadOBJPltt_2: ; 0x020AF1AC
- ldr ip, _020AF1B4 ; =GX_LoadOBJPltt
- bx r12
- .balign 4
-_020AF1B4: .word GX_LoadOBJPltt
-
- arm_func_start GX_LoadBG3Scr_3
-GX_LoadBG3Scr_3: ; 0x020AF1B8
- ldr ip, _020AF1C0 ; =GX_LoadBG3Scr
- bx r12
- .balign 4
-_020AF1C0: .word GX_LoadBG3Scr
-
- arm_func_start GX_LoadBG2Scr_3
-GX_LoadBG2Scr_3: ; 0x020AF1C4
- ldr ip, _020AF1CC ; =GX_LoadBG2Scr
- bx r12
- .balign 4
-_020AF1CC: .word GX_LoadBG2Scr
-
- arm_func_start GX_LoadBG3Scr_2
-GX_LoadBG3Scr_2: ; 0x020AF1D0
- ldr ip, _020AF1D8 ; =GX_LoadBG3Scr
- bx r12
- .balign 4
-_020AF1D8: .word GX_LoadBG3Scr
-
- arm_func_start GX_LoadBG2Scr_2
-GX_LoadBG2Scr_2: ; 0x020AF1DC
- ldr ip, _020AF1E4 ; =GX_LoadBG2Scr
- bx r12
- .balign 4
-_020AF1E4: .word GX_LoadBG2Scr
-
- arm_func_start GX_LoadBG1Scr_2
-GX_LoadBG1Scr_2: ; 0x020AF1E8
- ldr ip, _020AF1F0 ; =GX_LoadBG1Scr
- bx r12
- .balign 4
-_020AF1F0: .word GX_LoadBG1Scr
-
- arm_func_start GX_LoadBG0Scr_2
-GX_LoadBG0Scr_2: ; 0x020AF1F4
- ldr ip, _020AF1FC ; =GX_LoadBG0Scr
- bx r12
- .balign 4
-_020AF1FC: .word GX_LoadBG0Scr
-
- arm_func_start GX_LoadBG3Char_2
-GX_LoadBG3Char_2: ; 0x020AF200
- ldr ip, _020AF208 ; =GX_LoadBG3Char
- bx r12
- .balign 4
-_020AF208: .word GX_LoadBG3Char
-
- arm_func_start GX_LoadBG2Char_2
-GX_LoadBG2Char_2: ; 0x020AF20C
- ldr ip, _020AF214 ; =GX_LoadBG2Char
- bx r12
- .balign 4
-_020AF214: .word GX_LoadBG2Char
-
- arm_func_start GX_LoadBG1Char_2
-GX_LoadBG1Char_2: ; 0x020AF218
- ldr ip, _020AF220 ; =GX_LoadBG1Char
- bx r12
- .balign 4
-_020AF220: .word GX_LoadBG1Char
-
- arm_func_start GX_LoadBG0Char_2
-GX_LoadBG0Char_2: ; 0x020AF224
- ldr ip, _020AF22C ; =GX_LoadBG0Char
- bx r12
- .balign 4
-_020AF22C: .word GX_LoadBG0Char
-
- arm_func_start FUN_020AF230
-FUN_020AF230: ; 0x020AF230
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r5, r0
- mov r4, r2
- bl GX_BeginLoadClearImage
- mov r0, r5
- mov r1, r4
- bl GX_LoadClearImageDepth
- bl GX_EndLoadClearImage
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,pc}
-
- arm_func_start FUN_020AF25C
-FUN_020AF25C: ; 0x020AF25C
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r5, r0
- mov r4, r2
- bl GX_BeginLoadClearImage
- mov r0, r5
- mov r1, r4
- bl GX_LoadClearImageColor
- bl GX_EndLoadClearImage
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,pc}
-
- arm_func_start FUN_020AF288
-FUN_020AF288: ; 0x020AF288
- stmdb sp!, {r4-r6,lr}
- mov r6, r0
- mov r5, r1
- mov r4, r2
- bl GX_BeginLoadTexPltt
- mov r0, r6
- mov r1, r5
- mov r2, r4
- bl GX_LoadTexPltt
- bl GX_EndLoadTexPltt
- ldmia sp!, {r4-r6,pc}
-
- arm_func_start FUN_020AF2B4
-FUN_020AF2B4: ; 0x020AF2B4
- stmdb sp!, {r4-r6,lr}
- mov r6, r0
- mov r5, r1
- mov r4, r2
- bl GX_BeginLoadTex
- mov r0, r6
- mov r1, r5
- mov r2, r4
- bl GX_LoadTex
- bl GX_EndLoadTex
- ldmia sp!, {r4-r6,pc}
-
- arm_func_start FUN_020AF2E0
-FUN_020AF2E0: ; 0x020AF2E0
- ldrh r0, [r0, #0xc]
- cmp r0, #0x0
- moveq r0, #0x1
- movne r0, #0x0
- bx lr
-
- arm_func_start FUN_020AF2F4
-FUN_020AF2F4: ; 0x020AF2F4
- ldrh r1, [r0, #0xc]
- ldr r0, [r0, #0x4]
- cmp r1, r0
- moveq r0, #0x1
- movne r0, #0x0
- bx lr
-
- arm_func_start FUN_020AF30C
-FUN_020AF30C: ; 0x020AF30C
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- mov r2, r0
- add r0, r1, #0x1
- ldr r1, [r2, #0x4]
- bl _u32_div_f
- mov r0, r1, lsl #0x10
- mov r0, r0, lsr #0x10
- add sp, sp, #0x4
- ldmia sp!, {pc}
-
- arm_func_start FUN_020AF334
-FUN_020AF334:
- stmdb sp!, {r4-r6,lr}
- sub sp, sp, #0x10
- add r3, r2, r3
- str r2, [sp, #0x0]
- str r2, [sp, #0x8]
- str r3, [sp, #0x4]
- str r3, [sp, #0xc]
- ldr r3, [r0, #0x0]
- add r12, sp, #0x0
- cmp r3, #0x0
- beq _020AF418
- mov r6, #0x0
-_020AF364:
- ldr r5, [r3, #0x0]
- ldr r4, [r12, #0x4]
- ldr r2, [r3, #0xc]
- cmp r5, r4
- bne _020AF3B8
- ldr r4, [r3, #0x4]
- add r4, r5, r4
- str r4, [sp, #0xc]
- ldr r4, [r3, #0x8]
- cmp r4, #0x0
- strne r2, [r4, #0xc]
- streq r2, [r0, #0x0]
- cmp r2, #0x0
- strne r4, [r2, #0x8]
- ldr r4, [r1, #0x0]
- cmp r4, #0x0
- strne r3, [r4, #0x8]
- ldr r4, [r1, #0x0]
- str r4, [r3, #0xc]
- str r6, [r3, #0x8]
- str r3, [r1, #0x0]
-_020AF3B8:
- ldr r5, [r3, #0x0]
- ldr lr, [r3, #0x4]
- ldr r4, [r12, #0x0]
- add lr, r5, lr
- cmp r4, lr
- bne _020AF40C
- str r5, [sp, #0x8]
- ldr r5, [r3, #0x8]
- ldr r4, [r3, #0xc]
- cmp r5, #0x0
- strne r4, [r5, #0xc]
- streq r4, [r0, #0x0]
- cmp r4, #0x0
- strne r5, [r4, #0x8]
- ldr lr, [r1, #0x0]
- cmp lr, #0x0
- strne r3, [lr, #0x8]
- ldr lr, [r1, #0x0]
- str lr, [r3, #0xc]
- str r6, [r3, #0x8]
- str r3, [r1, #0x0]
-_020AF40C:
- mov r3, r2
- cmp r2, #0x0
- bne _020AF364
-_020AF418:
- ldr r4, [r1, #0x0]
- cmp r4, #0x0
- ldrne r2, [r4, #0xc]
- strne r2, [r1, #0x0]
- cmp r4, #0x0
- addeq sp, sp, #0x10
- moveq r0, #0x0
- ldmeqia sp!, {r4-r6,pc}
-_020AF438: ; 0x020AF438
- ldr r2, [sp, #0x8]
- mov r1, #0x0
- str r2, [r4, #0x0]
- ldr r3, [sp, #0xc]
- ldr r2, [sp, #0x8]
- sub r2, r3, r2
- str r2, [r4, #0x4]
- str r1, [r4, #0x8]
- str r1, [r4, #0xc]
- ldr r1, [r0, #0x0]
- cmp r1, #0x0
- strne r4, [r1, #0x8]
- ldr r2, [r0, #0x0]
- mov r1, #0x0
- str r2, [r4, #0xc]
- str r1, [r4, #0x8]
- str r4, [r0, #0x0]
- mov r0, #0x1
- add sp, sp, #0x10
- ldmia sp!, {r4-r6,pc}
-
- arm_func_start FUN_020AF488
-FUN_020AF488:
- stmdb sp!, {r4-r10,lr}
- ldr r4, [r0, #0x0]
- ldr r9, [sp, #0x20]
- cmp r4, #0x0
- mov r5, #0x0
- beq _020AF4EC
- sub r12, r9, #0x1
- mvn lr, r12
-_020AF4A8:
- cmp r9, #0x1
- ldrls r8, [r4, #0x0]
- movls r6, r5
- movls r7, r3
- bls _020AF4D0
- ldr r7, [r4, #0x0]
- add r6, r7, r12
- and r8, lr, r6
- sub r6, r8, r7
- add r7, r3, r6
-_020AF4D0:
- ldr r10, [r4, #0x4]
- cmp r10, r7
- movcs r5, r4
- bhs _020AF4EC
- ldr r4, [r4, #0xc]
- cmp r4, #0x0
- bne _020AF4A8
-_020AF4EC:
- cmp r5, #0x0
- beq _020AF5B8
- cmp r6, #0x0
- beq _020AF54C
- ldr r9, [r1, #0x0]
- cmp r9, #0x0
- ldrne r3, [r9, #0xc]
- strne r3, [r1, #0x0]
- cmp r9, #0x0
- beq _020AF5B8
- ldr r4, [r5, #0x0]
- mov r3, #0x0
- str r4, [r9, #0x0]
- str r6, [r9, #0x4]
- str r3, [r9, #0x8]
- str r3, [r9, #0xc]
- ldr r3, [r0, #0x0]
- cmp r3, #0x0
- strne r9, [r3, #0x8]
- ldr r4, [r0, #0x0]
- mov r3, #0x0
- str r4, [r9, #0xc]
- str r3, [r9, #0x8]
- str r9, [r0, #0x0]
-_020AF54C:
- ldr r3, [r5, #0x4]
- sub r3, r3, r7
- str r3, [r5, #0x4]
- ldr r3, [r5, #0x0]
- add r3, r3, r7
- str r3, [r5, #0x0]
- ldr r3, [r5, #0x4]
- cmp r3, #0x0
- bne _020AF5AC
- ldr r4, [r5, #0x8]
- ldr r3, [r5, #0xc]
- cmp r4, #0x0
- strne r3, [r4, #0xc]
- streq r3, [r0, #0x0]
- cmp r3, #0x0
- strne r4, [r3, #0x8]
- ldr r0, [r1, #0x0]
- cmp r0, #0x0
- strne r5, [r0, #0x8]
- ldr r3, [r1, #0x0]
- mov r0, #0x0
- str r3, [r5, #0xc]
- str r0, [r5, #0x8]
- str r5, [r1, #0x0]
-_020AF5AC:
- str r8, [r2, #0x0]
- mov r0, #0x1
- ldmia sp!, {r4-r10,pc}
-_020AF5B8:
- mov r0, #0x0
- str r0, [r2, #0x0]
- ldmia sp!, {r4-r10,pc}
-
- arm_func_start FUN_020AF5C4
-FUN_020AF5C4:
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- mov r12, #0x0
- str r12, [sp, #0x0]
- bl FUN_020AF488
- add sp, sp, #0x4
- ldmia sp!, {pc}
-
- arm_func_start FUN_020AF5E0
-FUN_020AF5E0: ; 0x020AF5E0
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr lr, [r1, #0x0]
- cmp lr, #0x0
- ldrne r12, [lr, #0xc]
- strne r12, [r1, #0x0]
- cmp lr, #0x0
- beq _020AF640
- str r2, [lr, #0x0]
- str r3, [lr, #0x4]
- mov r1, #0x0
- str r1, [lr, #0x8]
- str r1, [lr, #0xc]
- ldr r1, [r0, #0x0]
- add sp, sp, #0x4
- cmp r1, #0x0
- strne lr, [r1, #0x8]
- ldr r2, [r0, #0x0]
- mov r1, #0x0
- str r2, [lr, #0xc]
- str r1, [lr, #0x8]
- str lr, [r0, #0x0]
- mov r0, #0x1
- ldmia sp!, {pc}
-_020AF640:
- mov r0, #0x0
- add sp, sp, #0x4
- ldmia sp!, {pc}
-
- arm_func_start FUN_020AF64C
-FUN_020AF64C: ; 0x020AF64C
- stmdb sp!, {r4,lr}
- subs lr, r1, #0x1
- mov r2, #0x0
- beq _020AF684
- mov r4, r0
-_020AF660:
- add r12, r2, #0x1
- add r2, r0, r2, lsl #0x4
- add r3, r0, r12, lsl #0x4
- str r3, [r2, #0xc]
- str r4, [r3, #0x8]
- mov r2, r12
- cmp r12, lr
- add r4, r4, #0x10
- blo _020AF660
-_020AF684:
- mov r2, #0x0
- str r2, [r0, #0x8]
- add r1, r0, r1, lsl #0x4
- str r2, [r1, #-0x4]
- ldmia sp!, {r4,pc}
-
- arm_func_start FUN_020AF698
-FUN_020AF698: ; 0x020AF698
- mov r1, #0x0
- str r1, [r0, #0x0]
- bx lr
-
- arm_func_start FUN_020AF6A4
-FUN_020AF6A4: ; 0x020AF6A4
- stmdb sp!, {r4-r6,lr}
- sub sp, sp, #0x30
- ldr r6, _020AF884 ; =0x020FF864
- add r5, sp, #0x0
- ldmia r6!, {r0-r3}
- mov r12, r5
- stmia r5!, {r0-r3}
- ldmia r6!, {r0-r3}
- stmia r5!, {r0-r3}
- ldr r4, _020AF888 ; =0x021CCD6C
- ldmia r6, {r0-r3}
- stmia r5, {r0-r3}
- ldr lr, [r4, #0x10]
- ldr r1, [r4, #0xc]
- add r0, lr, lr, lsr #0x1
- mov r4, lr, lsr #0x1
- sub r0, r1, r0
- mov r3, #0x0
-_020AF6EC:
- cmp r3, #0x0
- beq _020AF6FC
- cmp r3, #0x2
- bne _020AF734
-_020AF6FC:
- ldr r2, [r12, #0x0]
- cmp r2, #0x0
- beq _020AF734
- cmp lr, #0x0
- beq _020AF734
- ldr r1, [r12, #0x8]
- cmp r2, lr
- movhi r2, lr
- add r1, r1, r2
- str r1, [r12, #0x8]
- ldr r1, [r12, #0x0]
- sub lr, lr, r2
- sub r1, r1, r2
- str r1, [r12, #0x0]
-_020AF734:
- add r3, r3, #0x1
- cmp r3, #0x4
- add r12, r12, #0xc
- blo _020AF6EC
- ldr r1, [sp, #0xc]
- add r5, sp, #0x0
- sub r1, r1, r4
- str r1, [sp, #0xc]
- mov r3, #0x0
-_020AF758:
- ldr r2, [r5, #0x0]
- cmp r2, #0x0
- beq _020AF790
- cmp r0, #0x0
- beq _020AF790
- ldr r1, [r5, #0x4]
- cmp r2, r0
- movhi r2, r0
- add r1, r1, r2
- str r1, [r5, #0x4]
- ldr r1, [r5, #0x0]
- sub r0, r0, r2
- sub r1, r1, r2
- str r1, [r5, #0x0]
-_020AF790:
- add r3, r3, #0x1
- cmp r3, #0x4
- add r5, r5, #0xc
- blo _020AF758
- ldr r0, _020AF888 ; =0x021CCD6C
- bl FUN_020AF698
- ldr r0, _020AF88C ; =0x021CCD70
- bl FUN_020AF698
- ldr r0, _020AF888 ; =0x021CCD6C
- ldr r1, [r0, #0x18]
- ldr r0, [r0, #0x14]
- mov r1, r1, lsr #0x4
- bl FUN_020AF64C
- ldr r3, [sp, #0x8]
- ldr r1, _020AF888 ; =0x021CCD6C
- cmp r3, #0x0
- str r0, [r1, #0x8]
- beq _020AF7E8
- ldr r0, _020AF88C ; =0x021CCD70
- ldr r1, _020AF890 ; =0x021CCD74
- mov r2, #0x0
- bl FUN_020AF5E0
-_020AF7E8:
- ldr r3, [sp, #0x4]
- ldr r2, [sp, #0x8]
- cmp r3, #0x0
- beq _020AF804
- ldr r0, _020AF888 ; =0x021CCD6C
- ldr r1, _020AF890 ; =0x021CCD74
- bl FUN_020AF5E0
-_020AF804:
- ldr r3, [sp, #0x20]
- cmp r3, #0x0
- beq _020AF820
- ldr r0, _020AF88C ; =0x021CCD70
- ldr r1, _020AF890 ; =0x021CCD74
- mov r2, #0x40000
- bl FUN_020AF5E0
-_020AF820:
- ldr r3, [sp, #0x1c]
- ldr r0, [sp, #0x20]
- cmp r3, #0x0
- add r2, r0, #0x40000
- beq _020AF840
- ldr r0, _020AF888 ; =0x021CCD6C
- ldr r1, _020AF890 ; =0x021CCD74
- bl FUN_020AF5E0
-_020AF840:
- ldr r3, [sp, #0x28]
- cmp r3, #0x0
- beq _020AF85C
- ldr r0, _020AF888 ; =0x021CCD6C
- ldr r1, _020AF890 ; =0x021CCD74
- mov r2, #0x60000
- bl FUN_020AF5E0
-_020AF85C:
- ldr r3, [sp, #0x10]
- cmp r3, #0x0
- addeq sp, sp, #0x30
- ldmeqia sp!, {r4-r6,pc}
-_020AF86C: ; 0x020AF86C
- ldr r0, _020AF888 ; =0x021CCD6C
- ldr r1, _020AF890 ; =0x021CCD74
- add r2, r4, #0x20000
- bl FUN_020AF5E0
- add sp, sp, #0x30
- ldmia sp!, {r4-r6,pc}
- .balign 4
-_020AF884: .word 0x020FF864
-_020AF888: .word 0x021CCD6C
-_020AF88C: .word 0x021CCD70
-_020AF890: .word 0x021CCD74
-
- arm_func_start FUN_020AF894
-FUN_020AF894: ; 0x020AF894
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r2, _020AF908 ; =0x7FFF0000
- ldr r1, _020AF90C ; =0x0000FFFF
- and r2, r0, r2
- and r3, r0, r1
- mov r1, r2, lsr #0x10
- and r0, r0, #0x80000000
- mov r2, r3, lsl #0x3
- movs r3, r1, lsl #0x4
- mov r0, r0, lsr #0x1f
- beq _020AF8FC
- cmp r0, #0x0
- beq _020AF8DC
- ldr r0, _020AF910 ; =0x021CCD70
- ldr r1, _020AF914 ; =0x021CCD74
- bl FUN_020AF334
- b _020AF8E8
-_020AF8DC:
- ldr r0, _020AF918 ; =0x021CCD6C
- ldr r1, _020AF914 ; =0x021CCD74
- bl FUN_020AF334
-_020AF8E8:
- cmp r0, #0x0
- movne r0, #0x0
- add sp, sp, #0x4
- moveq r0, #0x1
- ldmia sp!, {pc}
-_020AF8FC:
- mov r0, #0x2
- add sp, sp, #0x4
- ldmia sp!, {pc}
- .balign 4
-_020AF908: .word 0x7FFF0000
-_020AF90C: .word 0x0000FFFF
-_020AF910: .word 0x021CCD70
-_020AF914: .word 0x021CCD74
-_020AF918: .word 0x021CCD6C
-
- arm_func_start FUN_020AF91C
-FUN_020AF91C: ; 0x020AF91C
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- cmp r0, #0x0
- moveq r5, #0x10
- addne r0, r0, #0xf
- bicne r5, r0, #0xf
- ldr r0, _020AF9B0 ; =0x0007FFF0
- mov r4, r1
- cmp r5, r0
- addcs sp, sp, #0x4
- movcs r0, #0x0
- ldmcsia sp!, {r4-r5,pc}
-_020AF94C: ; 0x020AF94C
- cmp r4, #0x0
- beq _020AF96C
- ldr r0, _020AF9B4 ; =0x021CCD70
- ldr r1, _020AF9B8 ; =0x021CCD74
- add r2, sp, #0x0
- mov r3, r5
- bl FUN_020AF5C4
- b _020AF980
-_020AF96C:
- ldr r0, _020AF9BC ; =0x021CCD6C
- ldr r1, _020AF9B8 ; =0x021CCD74
- add r2, sp, #0x0
- mov r3, r5
- bl FUN_020AF5C4
-_020AF980:
- cmp r0, #0x0
- addeq sp, sp, #0x4
- moveq r0, #0x0
- ldmeqia sp!, {r4-r5,pc}
-_020AF990: ; 0x020AF990
- ldr r1, [sp, #0x0]
- ldr r0, _020AF9C0 ; =0x0000FFFF
- mov r2, r5, lsr #0x4
- and r0, r0, r1, lsr #0x3
- orr r0, r0, r2, lsl #0x10
- orr r0, r0, r4, lsl #0x1f
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,pc}
- .balign 4
-_020AF9B0: .word 0x0007FFF0
-_020AF9B4: .word 0x021CCD70
-_020AF9B8: .word 0x021CCD74
-_020AF9BC: .word 0x021CCD6C
-_020AF9C0: .word 0x0000FFFF
-
- arm_func_start FUN_020AF9C4
-FUN_020AF9C4: ; 0x020AF9C4
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr ip, _020AFA14 ; =0x021CCD6C
- str r0, [r12, #0xc]
- str r1, [r12, #0x10]
- str r2, [r12, #0x14]
- str r3, [r12, #0x18]
- bl FUN_020AF6A4
- ldr r0, [sp, #0x8]
- cmp r0, #0x0
- addeq sp, sp, #0x4
- ldmeqia sp!, {pc}
- ldr r3, _020AFA18 ; =FUN_020AF91C
- ldr r1, _020AFA1C ; =0x021064B8
- ldr r2, _020AFA20 ; =FUN_020AF894
- ldr r0, _020AFA24 ; =0x021064BC
- str r3, [r1, #0x0]
- str r2, [r0, #0x0]
- add sp, sp, #0x4
- ldmia sp!, {pc}
- .balign 4
-_020AFA14: .word 0x021CCD6C
-_020AFA18: .word FUN_020AF91C
-_020AFA1C: .word 0x021064B8
-_020AFA20: .word FUN_020AF894
-_020AFA24: .word 0x021064BC
-
- arm_func_start FUN_020AFA28
-FUN_020AFA28: ; 0x020AFA28
- mov r0, r0, lsl #0x4
- bx lr
-
- arm_func_start FUN_020AFA30
-FUN_020AFA30:
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r0, _020AFA78 ; =0x021CCD88
- ldr r1, [r0, #0x10]
- ldr r0, [r0, #0xc]
- mov r1, r1, lsr #0x4
- bl FUN_020AF64C
- ldr r1, _020AFA78 ; =0x021CCD88
- str r0, [r1, #0x4]
- mov r0, r1
- bl FUN_020AF698
- ldr r0, _020AFA78 ; =0x021CCD88
- ldr r1, _020AFA7C ; =0x021CCD8C
- ldr r3, [r0, #0x8]
- mov r2, #0x0
- bl FUN_020AF5E0
- add sp, sp, #0x4
- ldmia sp!, {pc}
- .balign 4
-_020AFA78: .word 0x021CCD88
-_020AFA7C: .word 0x021CCD8C
-
- arm_func_start FUN_020AFA80
-FUN_020AFA80: ; 0x020AFA80
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- mov r1, #0x10000
- rsb r2, r1, #0x0
- ldr r1, _020AFAC8 ; =0x0000FFFF
- and r2, r0, r2
- and r12, r0, r1
- mov r3, r2, lsr #0x10
- ldr r0, _020AFACC ; =0x021CCD88
- ldr r1, _020AFAD0 ; =0x021CCD8C
- mov r2, r12, lsl #0x3
- mov r3, r3, lsl #0x3
- bl FUN_020AF334
-_020AFAB4: ; 0x020AFAB4
- cmp r0, #0x0
- moveq r0, #0x1
- movne r0, #0x0
- add sp, sp, #0x4
- ldmia sp!, {pc}
- .balign 4
-_020AFAC8: .word 0x0000FFFF
-_020AFACC: .word 0x021CCD88
-_020AFAD0: .word 0x021CCD8C
-
- arm_func_start FUN_020AFAD4
-FUN_020AFAD4: ; 0x020AFAD4
- stmdb sp!, {r4,lr}
- sub sp, sp, #0x8
- cmp r0, #0x0
- moveq r4, #0x8
- addne r0, r0, #0x7
- bicne r4, r0, #0x7
- ldr r0, _020AFB98 ; =0x0007FFF8
- cmp r4, r0
- addcs sp, sp, #0x8
- movcs r0, #0x0
- ldmcsia sp!, {r4,pc}
-_020AFB00: ; 0x020AFB00
- cmp r1, #0x0
- beq _020AFB50
- mov r12, #0x8
- ldr r0, _020AFB9C ; =0x021CCD88
- ldr r1, _020AFBA0 ; =0x021CCD8C
- add r2, sp, #0x4
- mov r3, r4
- str r12, [sp, #0x0]
- bl FUN_020AF488
- ldr r2, [sp, #0x4]
- add r1, r2, r4
- cmp r1, #0x10000
- bls _020AFB6C
- ldr r0, _020AFB9C ; =0x021CCD88
- ldr r1, _020AFBA0 ; =0x021CCD8C
- mov r3, r4
- bl FUN_020AF334
- add sp, sp, #0x8
- mov r0, #0x0
- ldmia sp!, {r4,pc}
-_020AFB50:
- ldr r0, _020AFB9C ; =0x021CCD88
- mov r12, #0x10
- ldr r1, _020AFBA0 ; =0x021CCD8C
- add r2, sp, #0x4
- mov r3, r4
- str r12, [sp, #0x0]
- bl FUN_020AF488
-_020AFB6C:
- cmp r0, #0x0
- addeq sp, sp, #0x8
- moveq r0, #0x0
- ldmeqia sp!, {r4,pc}
-_020AFB7C: ; 0x020AFB7C
- ldr r1, [sp, #0x4]
- ldr r0, _020AFBA4 ; =0x0000FFFF
- mov r2, r4, lsr #0x3
- and r0, r0, r1, lsr #0x3
- orr r0, r0, r2, lsl #0x10
- add sp, sp, #0x8
- ldmia sp!, {r4,pc}
- .balign 4
-_020AFB98: .word 0x0007FFF8
-_020AFB9C: .word 0x021CCD88
-_020AFBA0: .word 0x021CCD8C
-_020AFBA4: .word 0x0000FFFF
-
- arm_func_start FUN_020AFBA8
-FUN_020AFBA8: ; 0x020AFBA8
- stmdb sp!, {r4,lr}
- ldr ip, _020AFBE8 ; =0x021CCD88
- mov r4, r3
- str r0, [r12, #0x8]
- str r1, [r12, #0xc]
- str r2, [r12, #0x10]
- bl FUN_020AFA30
-_020AFBC4: ; 0x020AFBC4
- cmp r4, #0x0
- ldmeqia sp!, {r4,pc}
-_020AFBCC: ; 0x020AFBCC
- ldr r3, _020AFBEC ; =FUN_020AFAD4
- ldr r1, _020AFBF0 ; =0x021064C0
- ldr r2, _020AFBF4 ; =FUN_020AFA80
- ldr r0, _020AFBF8 ; =0x021064C4
- str r3, [r1, #0x0]
- str r2, [r0, #0x0]
- ldmia sp!, {r4,pc}
- .balign 4
-_020AFBE8: .word 0x021CCD88
-_020AFBEC: .word FUN_020AFAD4
-_020AFBF0: .word 0x021064C0
-_020AFBF4: .word FUN_020AFA80
-_020AFBF8: .word 0x021064C4
-
- arm_func_start FUN_020AFBFC
-FUN_020AFBFC: ; 0x020AFBFC
- mov r0, r0, lsl #0x4
- bx lr
-
- arm_func_start FUN_020AFC04
-FUN_020AFC04: ; 0x020AFC04
- ldrh r2, [r0, #0x0]
- cmp r2, r1
- ldrhi r0, [r0, #0x4]
- addhi r0, r0, r1, lsl #0x4
- movls r0, #0x0
- bx lr
-
- arm_func_start FUN_020AFC1C
-FUN_020AFC1C: ; 0x020AFC1C
- stmdb sp!, {r4-r9,lr}
- sub sp, sp, #0x4
- ldr r1, [r0, #0x4]
- mov r6, #0x0
- add r1, r1, r0
- str r1, [r0, #0x4]
- ldr r1, [r0, #0x8]
- add r1, r1, r0
- str r1, [r0, #0x8]
- ldr r1, [r0, #0xc]
- add r1, r1, r0
- str r1, [r0, #0xc]
- ldrh r1, [r0, #0x0]
- ldr r4, [r0, #0x4]
- ldr lr, [r0, #0x8]
- cmp r1, #0x0
- ldr r12, [r0, #0xc]
- bls _020AFCCC
- mov r1, r6
-_020AFC68:
- add r2, r4, r6, lsl #0x4
- ldr r5, [r2, #0xc]
- mov r3, r6, lsl #0x4
- add r5, lr, r5
- str r5, [r2, #0xc]
- ldrh r7, [r4, r3]
- mov r5, r1
- cmp r7, #0x0
- bls _020AFCB4
-_020AFC8C:
- ldr r9, [r2, #0xc]
- add r7, r5, #0x1
- ldr r8, [r9, r5, lsl #0x3]
- mov r7, r7, lsl #0x10
- add r8, r12, r8
- str r8, [r9, r5, lsl #0x3]
- ldrh r8, [r4, r3]
- mov r5, r7, lsr #0x10
- cmp r5, r8
- blo _020AFC8C
-_020AFCB4:
- add r2, r6, #0x1
- mov r2, r2, lsl #0x10
- ldrh r3, [r0, #0x0]
- mov r6, r2, lsr #0x10
- cmp r6, r3
- blo _020AFC68
-_020AFCCC:
- ldr r1, [r0, #0x14]
- cmp r1, #0x0
- addeq sp, sp, #0x4
- ldmeqia sp!, {r4-r9,pc}
-_020AFCDC: ; 0x020AFCDC
- add r1, r1, r0
- str r1, [r0, #0x14]
- ldr r1, [r0, #0x14]
- mov r12, #0x0
- add r2, r1, #0x8
- ldr r0, [r2, #0x4]
- add r0, r0, r2
- str r0, [r2, #0x4]
- ldrh r0, [r1, #0x8]
- cmp r0, #0x0
- addls sp, sp, #0x4
- ldmlsia sp!, {r4-r9,pc}
-_020AFD0C: ; 0x020AFD0C
- mov r0, r12
- mov r6, r12
-_020AFD14:
- ldr r5, [r2, #0x4]
- mov r3, r6
- add r1, r5, r0
- ldr r4, [r1, #0x4]
- add r4, r4, r2
- str r4, [r1, #0x4]
- ldr r4, [r1, #0x8]
- add r4, r4, r2
- str r4, [r1, #0x8]
- ldrh r4, [r5, r0]
- cmp r4, #0x0
- bls _020AFD6C
- mov r7, r6
-_020AFD48:
- ldr r5, [r1, #0x8]
- add r3, r3, #0x1
- ldr r4, [r5, r7]
- add r4, r4, r2
- str r4, [r5, r7]
- ldrh r4, [r1, #0x0]
- add r7, r7, #0x4
- cmp r3, r4
- blo _020AFD48
-_020AFD6C:
- ldrh r1, [r2, #0x0]
- add r12, r12, #0x1
- add r0, r0, #0xc
- cmp r12, r1
- blo _020AFD14
- add sp, sp, #0x4
- ldmia sp!, {r4-r9,pc}
-
- arm_func_start thunk_FUN_020afda0
-thunk_FUN_020afda0: ; 0x020AFD88
- ldr ip, _020AFD90 ; =FUN_020AFDA0
- bx r12
- .balign 4
-_020AFD90: .word FUN_020AFDA0
-
- arm_func_start thunk_FUN_020afda0_2
-thunk_FUN_020afda0_2: ; 0x020AFD94
- ldr ip, _020AFD9C ; =FUN_020AFDA0
- bx r12
- .balign 4
-_020AFD9C: .word FUN_020AFDA0
-
- arm_func_start FUN_020AFDA0
-FUN_020AFDA0: ; 0x020AFDA0
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r5, r1
- ldr r1, _020AFDE4 ; =0x41424E4B
- bl FUN_020B01F8
- movs r4, r0
- moveq r0, #0x0
- addeq sp, sp, #0x4
- streq r0, [r5, #0x0]
- ldmeqia sp!, {r4-r5,pc}
-_020AFDC8: ; 0x020AFDC8
- add r0, r4, #0x8
- bl FUN_020AFC1C
- add r0, r4, #0x8
- str r0, [r5, #0x0]
- mov r0, #0x1
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,pc}
- .balign 4
-_020AFDE4: .word 0x41424E4B
-
- arm_func_start FUN_020AFDE8
-FUN_020AFDE8: ; 0x020AFDE8
- stmdb sp!, {r4-r6,lr}
- mov r5, r0
- ldr r1, [r5, #0x4]
- add r1, r1, r5
- str r1, [r5, #0x4]
- bl FUN_020AFF10
- ldrh r1, [r5, #0x0]
- mov r4, r0
- mov r6, #0x0
- cmp r1, #0x0
- bls _020AFE44
-_020AFE14:
- mov r0, r5
- mov r1, r6
- bl FUN_020AFE8C
- ldr r2, [r0, #0x4]
- add r1, r6, #0x1
- add r2, r2, r4
- str r2, [r0, #0x4]
- mov r0, r1, lsl #0x10
- ldrh r1, [r5, #0x0]
- mov r6, r0, lsr #0x10
- cmp r6, r1
- blo _020AFE14
-_020AFE44:
- ldr r0, [r5, #0xc]
- cmp r0, #0x0
- beq _020AFE6C
- add r0, r0, r5
- str r0, [r5, #0xc]
- ldr r1, [r5, #0xc]
- ldr r0, [r1, #0x4]
- add r0, r0, r1
- str r0, [r1, #0x4]
- str r1, [r5, #0xc]
-_020AFE6C:
- ldr r0, [r5, #0x14]
- cmp r0, #0x0
- ldmeqia sp!, {r4-r6,pc}
-_020AFE78: ; 0x020AFE78
- add r0, r0, r5
- str r0, [r5, #0x14]
- ldr r0, [r5, #0x14]
- bl FUN_020AFF00
- ldmia sp!, {r4-r6,pc}
-
- arm_func_start FUN_020AFE8C
-FUN_020AFE8C: ; 0x020AFE8C
- ldrh r2, [r0, #0x0]
- cmp r1, r2
- movcs r0, #0x0
- bxcs lr
- ldrh r2, [r0, #0x2]
- ands r2, r2, #0x1
- ldrne r0, [r0, #0x4]
- addne r0, r0, r1, lsl #0x4
- ldreq r0, [r0, #0x4]
- addeq r0, r0, r1, lsl #0x3
- bx lr
-
- arm_func_start FUN_020AFEB8
-FUN_020AFEB8: ; 0x020AFEB8
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r5, r1
- ldr r1, _020AFEFC ; =0x4345424B
- bl FUN_020B01F8
- movs r4, r0
- moveq r0, #0x0
- addeq sp, sp, #0x4
- streq r0, [r5, #0x0]
- ldmeqia sp!, {r4-r5,pc}
-_020AFEE0: ; 0x020AFEE0
- add r0, r4, #0x8
- bl FUN_020AFDE8
- add r0, r4, #0x8
- str r0, [r5, #0x0]
- mov r0, #0x1
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,pc}
- .balign 4
-_020AFEFC: .word 0x4345424B
-
- arm_func_start FUN_020AFF00
-FUN_020AFF00: ; 0x020AFF00
- ldr ip, _020AFF0C ; =FUN_020B01B0
- add r0, r0, #0x8
- bx r12
- .balign 4
-_020AFF0C: .word FUN_020B01B0
-
- arm_func_start FUN_020AFF10
-FUN_020AFF10: ; 0x020AFF10
- ldrh r1, [r0, #0x2]
- ands r1, r1, #0x1
- ldrneh r1, [r0, #0x0]
- ldrne r0, [r0, #0x4]
- addne r0, r0, r1, lsl #0x4
- ldreqh r1, [r0, #0x0]
- ldreq r0, [r0, #0x4]
- addeq r0, r0, r1, lsl #0x3
- bx lr
-
- arm_func_start FUN_020AFF34
-FUN_020AFF34: ; 0x020AFF34
- ldrh r2, [r0, #0x0]
- cmp r1, r2
- ldrcc r0, [r0, #0x4]
- addcc r0, r0, r1, lsl #0x3
- movcs r0, #0x0
- bx lr
-
- arm_func_start FUN_020AFF4C
-FUN_020AFF4C: ; 0x020AFF4C
- stmdb sp!, {r4,lr}
- ldr r1, [r0, #0x4]
- mov r4, #0x0
- add r1, r1, r0
- str r1, [r0, #0x4]
- ldr r1, [r0, #0x8]
- add r1, r1, r0
- str r1, [r0, #0x8]
- ldrh r1, [r0, #0x0]
- ldr lr, [r0, #0x4]
- cmp r1, #0x0
- bls _020AFFA8
-_020AFF7C:
- add r3, lr, r4, lsl #0x3
- ldr r12, [r0, #0x8]
- ldr r2, [r3, #0x4]
- add r1, r4, #0x1
- add r2, r12, r2
- str r2, [r3, #0x4]
- mov r1, r1, lsl #0x10
- ldrh r2, [r0, #0x0]
- mov r4, r1, lsr #0x10
- cmp r4, r2
- blo _020AFF7C
-_020AFFA8:
- ldr r1, [r0, #0x10]
- cmp r1, #0x0
- ldmeqia sp!, {r4,pc}
-_020AFFB4: ; 0x020AFFB4
- add r1, r1, r0
- str r1, [r0, #0x10]
- ldr r0, [r0, #0x10]
- bl FUN_020AFFC8
- ldmia sp!, {r4,pc}
-
- arm_func_start FUN_020AFFC8
-FUN_020AFFC8: ; 0x020AFFC8
- ldr ip, _020AFFD4 ; =FUN_020B01B0
- add r0, r0, #0x8
- bx r12
- .balign 4
-_020AFFD4: .word FUN_020B01B0
-
- arm_func_start FUN_020AFFD8
-FUN_020AFFD8: ; 0x020AFFD8
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r5, r1
- ldr r1, _020B001C ; =0x4D43424B
- bl FUN_020B01F8
- movs r4, r0
- moveq r0, #0x0
- addeq sp, sp, #0x4
- streq r0, [r5, #0x0]
- ldmeqia sp!, {r4-r5,pc}
-_020B0000: ; 0x020B0000
- add r0, r4, #0x8
- bl FUN_020AFF4C
- add r0, r4, #0x8
- str r0, [r5, #0x0]
- mov r0, #0x1
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,pc}
- .balign 4
-_020B001C: .word 0x4D43424B
-
- arm_func_start FUN_020B0020
-FUN_020B0020: ; 0x020B0020
- ldr r1, [r0, #0x14]
- add r1, r1, r0
- str r1, [r0, #0x14]
- bx lr
-
- arm_func_start FUN_020B0030
-FUN_020B0030: ; 0x020B0030
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r5, r1
- ldr r1, _020B0074 ; =0x43484152
- bl FUN_020B01F8
- movs r4, r0
- moveq r0, #0x0
- addeq sp, sp, #0x4
- streq r0, [r5, #0x0]
- ldmeqia sp!, {r4-r5,pc}
-_020B0058: ; 0x020B0058
- add r0, r4, #0x8
- bl FUN_020B0020
- add r0, r4, #0x8
- str r0, [r5, #0x0]
- mov r0, #0x1
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,pc}
- .balign 4
-_020B0074: .word 0x43484152
-
- arm_func_start FUN_020B0078
-FUN_020B0078: ; 0x020B0078
- ldr r1, [r0, #0x14]
- add r1, r1, r0
- str r1, [r0, #0x14]
- bx lr
-
- arm_func_start FUN_020B0088
-FUN_020B0088: ; 0x020B0088
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r5, r1
- ldr r1, _020B00CC ; =0x43484152
- bl FUN_020B01F8
- movs r4, r0
- moveq r0, #0x0
- addeq sp, sp, #0x4
- streq r0, [r5, #0x0]
- ldmeqia sp!, {r4-r5,pc}
-_020B00B0: ; 0x020B00B0
- add r0, r4, #0x8
- bl FUN_020B0078
- add r0, r4, #0x8
- str r0, [r5, #0x0]
- mov r0, #0x1
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,pc}
- .balign 4
-_020B00CC: .word 0x43484152
-
- arm_func_start FUN_020B00D0
-FUN_020B00D0: ; 0x020B00D0
- ldr r1, [r0, #0xc]
- add r1, r1, r0
- str r1, [r0, #0xc]
- bx lr
-
- arm_func_start FUN_020B00E0
-FUN_020B00E0: ; 0x020B00E0
- ldr r1, [r0, #0x4]
- add r1, r1, r0
- str r1, [r0, #0x4]
- bx lr
-
- arm_func_start FUN_020B00F0
-FUN_020B00F0: ; 0x020B00F0
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r5, r1
- ldr r1, _020B0134 ; =0x50434D50
- bl FUN_020B01F8
- movs r4, r0
- moveq r0, #0x0
- addeq sp, sp, #0x4
- streq r0, [r5, #0x0]
- ldmeqia sp!, {r4-r5,pc}
-_020B0118: ; 0x020B0118
- add r0, r4, #0x8
- bl FUN_020B00E0
- add r0, r4, #0x8
- str r0, [r5, #0x0]
- mov r0, #0x1
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,pc}
- .balign 4
-_020B0134: .word 0x50434D50
-
- arm_func_start FUN_020B0138
-FUN_020B0138: ; 0x020B0138
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r5, r1
- ldr r1, _020B017C ; =0x504C5454
- bl FUN_020B01F8
- movs r4, r0
- moveq r0, #0x0
- addeq sp, sp, #0x4
- streq r0, [r5, #0x0]
- ldmeqia sp!, {r4-r5,pc}
-_020B0160: ; 0x020B0160
- add r0, r4, #0x8
- bl FUN_020B00D0
- add r0, r4, #0x8
- str r0, [r5, #0x0]
- mov r0, #0x1
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,pc}
- .balign 4
-_020B017C: .word 0x504C5454
-
- arm_func_start FUN_020B0180
-FUN_020B0180: ; 0x020B0180
- stmdb sp!, {r4,lr}
- mov r4, r1
- ldr r1, _020B01AC ; =0x5343524E
- bl FUN_020B01F8
-_020B0190: ; 0x020B0190
- cmp r0, #0x0
- addne r0, r0, #0x8
- strne r0, [r4, #0x0]
- movne r0, #0x1
- moveq r0, #0x0
- streq r0, [r4, #0x0]
- ldmia sp!, {r4,pc}
- .balign 4
-_020B01AC: .word 0x5343524E
-
- arm_func_start FUN_020B01B0
-FUN_020B01B0: ; 0x020B01B0
- ldr r1, [r0, #0x4]
- mov r12, #0x0
- add r1, r1, r0
- str r1, [r0, #0x4]
- ldrh r1, [r0, #0x0]
- cmp r1, #0x0
- bxls lr
-_020B01CC:
- ldr r3, [r0, #0x4]
- add r1, r12, #0x1
- ldr r2, [r3, r12, lsl #0x2]
- mov r1, r1, lsl #0x10
- add r2, r0, r2
- str r2, [r3, r12, lsl #0x2]
- ldrh r2, [r0, #0x0]
- mov r12, r1, lsr #0x10
- cmp r12, r2
- blo _020B01CC
- bx lr
-
- arm_func_start FUN_020B01F8
-FUN_020B01F8:
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldrh r2, [r0, #0xc]
- ldrh r12, [r0, #0xe]
- mov lr, #0x0
- add r0, r0, r2
- cmp r12, #0x0
- bls _020B0244
-_020B0218:
- ldr r2, [r0, #0x0]
- cmp r2, r1
- addeq sp, sp, #0x4
- ldmeqia sp!, {pc}
- add r2, lr, #0x1
- mov r2, r2, lsl #0x10
- ldr r3, [r0, #0x4]
- mov lr, r2, lsr #0x10
- cmp lr, r12
- add r0, r0, r3
- blo _020B0218
-_020B0244:
- mov r0, #0x0
- add sp, sp, #0x4
- ldmia sp!, {pc}
-
- arm_func_start FUN_020B0250
-FUN_020B0250: ; 0x020B0250
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- ldr r5, _020B02C0 ; =0x04000470
- mov r0, r0, lsl #0xc
- str r0, [r5, #0x0]
- mov r4, r1, lsl #0xc
- ldr r12, [sp, #0x10]
- ldr r0, [sp, #0x14]
- ldr r1, [sp, #0x1c]
- str r4, [r5, #0x0]
- mov r4, r2, lsl #0xc
- ldr r2, [sp, #0x18]
- ldr lr, _020B02C4 ; =0x0400046C
- str r4, [r5, #0x0]
- mov r4, r3, lsl #0xc
- ldr r3, [sp, #0x20]
- str r4, [lr, #0x0]
- mov r12, r12, lsl #0xc
- str r12, [lr, #0x0]
- mov r12, #0x1000
- mov r0, r0, lsl #0xc
- mov r1, r1, lsl #0xc
- mov r2, r2, lsl #0xc
- mov r3, r3, lsl #0xc
- str r12, [lr, #0x0]
- bl FUN_020B0340
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,pc}
- .balign 4
-_020B02C0: .word 0x04000470
-_020B02C4: .word 0x0400046C
-
- arm_func_start FUN_020B02C8
-FUN_020B02C8: ; 0x020B02C8
- stmdb sp!, {lr}
- sub sp, sp, #0x14
- ldr r2, _020B0330 ; =0xBFFF0000
- ldr r0, _020B0334 ; =0x04000580
- mov r1, #0x400000
- str r2, [r0, #0x0]
- rsb r0, r1, #0x0
- str r0, [sp, #0x0]
- str r1, [sp, #0x4]
- mov r0, #0x0
- str r1, [sp, #0x8]
- mov r1, #0x1
- str r1, [sp, #0xc]
- mov r2, r0
- mov r1, #0xc0000
- mov r3, #0x100000
- str r0, [sp, #0x10]
- bl G3i_OrthoW_
- ldr r1, _020B0338 ; =0x0400044C
- mov r2, #0x0
- ldr r0, _020B033C ; =0x04000440
- str r2, [r1, #0x0]
- mov r1, #0x1
- str r1, [r0, #0x0]
- add sp, sp, #0x14
- ldmia sp!, {pc}
- .balign 4
-_020B0330: .word 0xBFFF0000
-_020B0334: .word 0x04000580
-_020B0338: .word 0x0400044C
-_020B033C: .word 0x04000440
-
- arm_func_start FUN_020B0340
-FUN_020B0340: ; 0x020B0340
- stmdb sp!, {r4-r6,lr}
- mov r3, r3, lsl #0x8
- mov r0, r0, lsl #0x8
- mov r4, r3, asr #0x10
- mov r3, r0, asr #0x10
- mov r0, r4, lsl #0x10
- mov r3, r3, lsl #0x10
- mov r1, r1, lsl #0x8
- mov r1, r1, asr #0x10
- mov r1, r1, lsl #0x10
- mov r2, r2, lsl #0x8
- mov r2, r2, asr #0x10
- mov r2, r2, lsl #0x10
- ldr ip, _020B03F4 ; =0x04000500
- mov lr, #0x1
- mov r6, r0, lsr #0x10
- mov r5, r3, lsr #0x10
- mov r3, r1, lsr #0x10
- mov r1, r2, lsr #0x10
- ldr r4, _020B03F8 ; =0x04000488
- str lr, [r12, #0x0]
- orr r0, r5, r6, lsl #0x10
- ldr lr, _020B03FC ; =0x0400048C
- str r0, [r4, #0x0]
- mov r0, #0x10000000
- str r0, [lr, #0x0]
- mov r12, #0x0
- str r12, [lr, #0x0]
- orr r2, r3, r6, lsl #0x10
- ldr r0, _020B0400 ; =0x10001000
- str r2, [r4, #0x0]
- str r0, [lr, #0x0]
- str r12, [lr, #0x0]
- orr r0, r3, r1, lsl #0x10
- str r0, [r4, #0x0]
- mov r0, #0x1000
- str r0, [lr, #0x0]
- str r12, [lr, #0x0]
- orr r0, r5, r1, lsl #0x10
- str r0, [r4, #0x0]
- str r12, [lr, #0x0]
- ldr r0, _020B0404 ; =0x04000504
- str r12, [lr, #0x0]
- str r12, [r0, #0x0]
- ldmia sp!, {r4-r6,pc}
- .balign 4
-_020B03F4: .word 0x04000500
-_020B03F8: .word 0x04000488
-_020B03FC: .word 0x0400048C
-_020B0400: .word 0x10001000
-_020B0404: .word 0x04000504
-
- arm_func_start FUN_020B0408
-FUN_020B0408:
- ldr r1, [r0, #0x14]
- cmp r1, #0x0
- ldreq r0, [r0, #0x18]
- ldreq r1, [r0, #0x8]
- cmp r1, #0x2
- beq _020B0428
- cmp r1, #0x4
- bne _020B0430
-_020B0428:
- mov r0, #0x1
- bx lr
-_020B0430:
- mov r0, #0x0
- bx lr
-
- arm_func_start FUN_020B0438
-FUN_020B0438: ; 0x020B0438
- ldr ip, _020B0444 ; =FUN_020B0448
- str r1, [r0, #0x18]
- bx r12
- .balign 4
-_020B0444: .word FUN_020B0448
-
- arm_func_start FUN_020B0448
-FUN_020B0448: ; 0x020B0448
- ldr r1, [r0, #0x10]
- cmp r1, #0x0
- movgt r2, #0x1
- ldr r1, [r0, #0x4]
- movle r2, #0x0
- eors r1, r2, r1
- beq _020B047C
- ldr r2, [r0, #0x18]
- ldrh r1, [r2, #0x2]
- ldr r2, [r2, #0xc]
- add r1, r2, r1, lsl #0x3
- str r1, [r0, #0x0]
- b _020B0494
-_020B047C:
- ldr r2, [r0, #0x18]
- ldrh r1, [r2, #0x0]
- ldr r2, [r2, #0xc]
- add r1, r2, r1, lsl #0x3
- sub r1, r1, #0x8
- str r1, [r0, #0x0]
-_020B0494:
- ldr ip, _020B04A4 ; =FUN_020B0534
- mov r1, #0x0
- str r1, [r0, #0xc]
- bx r12
- .balign 4
-_020B04A4: .word FUN_020B0534
-
- arm_func_start FUN_020B04A8
-FUN_020B04A8: ; 0x020B04A8
- mov r1, #0x0
- str r1, [r0, #0x0]
- str r1, [r0, #0x4]
- str r1, [r0, #0x8]
- strh r1, [r0, #0xc]
- bx lr
-
- arm_func_start FUN_020B04C0
-FUN_020B04C0:
- stmdb sp!, {r4,lr}
- mov r4, r0
- add r0, r4, #0x1c
- bl FUN_020B04A8
- mov r1, #0x0
- str r1, [r4, #0x0]
- str r1, [r4, #0x4]
- mov r0, #0x1
- str r0, [r4, #0x8]
- str r1, [r4, #0xc]
- mov r0, #0x1000
- str r0, [r4, #0x10]
- str r1, [r4, #0x14]
- str r1, [r4, #0x18]
- ldmia sp!, {r4,pc}
-_020B04FC: ; 0x020B04FC
- ldr r1, [r0, #0x18]
- ldr r2, [r0, #0x0]
- ldr r0, [r1, #0xc]
- sub r0, r2, r0
- mov r0, r0, lsl #0xd
- mov r0, r0, lsr #0x10
- bx lr
-
- arm_func_start FUN_020B0518
-FUN_020B0518:
- stmdb sp!, {r4,lr}
- mov r4, r0
- bl FUN_020B06EC
-_020B0524: ; 0x020B0524
- cmp r0, #0x0
- movne r1, #0x0
- strne r1, [r4, #0xc]
- ldmia sp!, {r4,pc}
-
- arm_func_start FUN_020B0534
-FUN_020B0534:
- stmdb sp!, {r4-r8,lr}
- mov r8, r0
- ldr r0, [r8, #0x8]
- mov r7, #0x0
- cmp r0, #0x1
- movne r0, r7
- ldmneia sp!, {r4-r8,pc}
-_020B0550: ; 0x020B0550
- ldr r2, [r8, #0x10]
- mov r0, #0x800
- smull r3, r1, r2, r1
- adds r0, r3, r0
- adc r1, r1, r7
- mov r0, r0, lsr #0xc
- orr r0, r0, r1, lsl #0x14
- bl abs
- ldr r1, [r8, #0xc]
- add r6, r8, #0xc
- add r0, r1, r0
- str r0, [r8, #0xc]
- mov r4, r7
- mov r5, #0x1
- b _020B06A8
-_020B058C:
- ldr r0, [r8, #0x0]
- ldr r1, [r6, #0x0]
- ldrh r0, [r0, #0x4]
- mov r7, r5
- sub r0, r1, r0, lsl #0xc
- str r0, [r6, #0x0]
- ldr r0, [r8, #0x10]
- cmp r0, #0x0
- movgt r1, r5
- ldr r0, [r8, #0x4]
- movle r1, r4
- eors r0, r1, r0
- ldrne r0, [r8, #0x0]
- addne r0, r0, #0x8
- strne r0, [r8, #0x0]
- ldreq r0, [r8, #0x0]
- subeq r0, r0, #0x8
- streq r0, [r8, #0x0]
- ldr r1, [r8, #0x10]
- ldr r0, [r8, #0x0]
- cmp r1, #0x0
- movgt r2, r5
- ldr r1, [r8, #0x4]
- movle r2, r4
- eors r1, r2, r1
- beq _020B0614
- ldr r2, [r8, #0x18]
- ldrh r1, [r2, #0x0]
- ldr r2, [r2, #0xc]
- add r1, r2, r1, lsl #0x3
- cmp r0, r1
- movcs r0, r5
- movcc r0, r4
- b _020B0634
-_020B0614:
- ldr r2, [r8, #0x18]
- ldrh r1, [r2, #0x2]
- ldr r2, [r2, #0xc]
- add r1, r2, r1, lsl #0x3
- sub r1, r1, #0x8
- cmp r0, r1
- movls r0, r5
- movhi r0, r4
-_020B0634:
- cmp r0, #0x0
- beq _020B0644
- mov r0, r8
- bl FUN_020B0710
-_020B0644:
- ldr r0, [r8, #0x1c]
- cmp r0, #0x0
- beq _020B06A8
- ldr r0, [r8, #0x18]
- ldr r2, [r8, #0x1c]
- ldr r1, [r8, #0x0]
- ldr r0, [r0, #0xc]
- cmp r2, #0x2
- sub r0, r1, r0
- mov r0, r0, lsl #0xd
- mov r1, r0, lsr #0x10
- beq _020B0680
- cmp r2, #0x3
- beq _020B069C
- b _020B06A8
-_020B0680:
- ldrh r0, [r8, #0x28]
- cmp r1, r0
- bne _020B06A8
- ldr r0, [r8, #0x20]
- ldr r2, [r8, #0x24]
- blx r2
- b _020B06A8
-_020B069C:
- ldr r0, [r8, #0x20]
- ldr r2, [r8, #0x24]
- blx r2
-_020B06A8:
- ldr r0, [r8, #0x8]
- cmp r0, #0x0
- beq _020B06CC
- ldr r0, [r8, #0x0]
- ldr r1, [r8, #0xc]
- ldrh r0, [r0, #0x4]
- cmp r1, r0, lsl #0xc
- movge r0, r5
- bge _020B06D0
-_020B06CC:
- mov r0, r4
-_020B06D0:
- cmp r0, #0x0
- bne _020B058C
- mov r0, r7
- ldmia sp!, {r4-r8,pc}
-
- arm_func_start FUN_020B06E0
-FUN_020B06E0: ; 0x020B06E0
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x0]
- bx lr
-
- arm_func_start FUN_020B06EC
-FUN_020B06EC:
- ldr r3, [r0, #0x18]
- ldrh r2, [r3, #0x0]
- cmp r1, r2
- ldrcc r2, [r3, #0xc]
- addcc r1, r2, r1, lsl #0x3
- strcc r1, [r0, #0x0]
- movcc r0, #0x1
- movcs r0, #0x0
- bx lr
-
- arm_func_start FUN_020B0710
-FUN_020B0710: ; 0x020B0710
- stmdb sp!, {r4,lr}
- mov r4, r0
- ldr r0, [r4, #0x14]
- cmp r0, #0x0
- ldreq r0, [r4, #0x18]
- ldreq r0, [r0, #0x8]
- cmp r0, #0x3
- beq _020B0738
- cmp r0, #0x4
- bne _020B07B4
-_020B0738:
- ldr r0, [r4, #0x4]
- eor r0, r0, #0x1
- str r0, [r4, #0x4]
- ldr r1, [r4, #0x18]
- ldr r2, [r4, #0x0]
- ldrh r0, [r1, #0x2]
- ldr r1, [r1, #0xc]
- add r0, r1, r0, lsl #0x3
- sub r0, r0, #0x8
- cmp r2, r0
- bhi _020B0800
- ldr r0, [r4, #0x1c]
- cmp r0, #0x1
- bne _020B0780
- ldr r0, [r4, #0x20]
- ldr r1, [r4, #0xc]
- ldr r2, [r4, #0x24]
- blx r2
-_020B0780:
- ldr r0, [r4, #0x14]
- cmp r0, #0x0
- ldreq r0, [r4, #0x18]
- ldreq r0, [r0, #0x8]
- cmp r0, #0x2
- beq _020B07A8
- cmp r0, #0x4
- movne r0, #0x0
- strne r0, [r4, #0x8]
- bne _020B0800
-_020B07A8:
- mov r0, r4
- bl FUN_020B0448
- b _020B0800
-_020B07B4:
- ldr r0, [r4, #0x1c]
- cmp r0, #0x1
- bne _020B07D0
- ldr r0, [r4, #0x20]
- ldr r1, [r4, #0xc]
- ldr r2, [r4, #0x24]
- blx r2
-_020B07D0:
- ldr r0, [r4, #0x14]
- cmp r0, #0x0
- ldreq r0, [r4, #0x18]
- ldreq r0, [r0, #0x8]
- cmp r0, #0x2
- beq _020B07F8
- cmp r0, #0x4
- movne r0, #0x0
- strne r0, [r4, #0x8]
- bne _020B0800
-_020B07F8:
- mov r0, r4
- bl FUN_020B0448
-_020B0800:
- ldr r1, [r4, #0x18]
- ldr r2, [r4, #0x0]
- ldrh r0, [r1, #0x0]
- ldr r1, [r1, #0xc]
- add r0, r1, r0, lsl #0x3
- sub r0, r0, #0x8
- cmp r2, r0
- strhi r0, [r4, #0x0]
- ldmhiia sp!, {r4,pc}
-_020B0824: ; 0x020B0824
- cmp r2, r1
- strcc r1, [r4, #0x0]
- ldmia sp!, {r4,pc}
-_020B0830: ; 0x020B0830
- ldrh r3, [r0, #0x6]
- ldrh r2, [r0, #0x8]
- mov r12, #0x0
- add r1, r3, #0x1
- cmp r2, r1
- bgt _020B0854
- ldrh r0, [r0, #0x4]
- cmp r0, r3
- movls r12, #0x1
-_020B0854:
- cmp r12, #0x0
- subne r0, r3, r2
- addne r0, r0, #0x1
- movne r0, r0, lsl #0x10
- movne r0, r0, lsr #0x10
- moveq r0, #0x0
- bx lr
-
- arm_func_start FUN_020B0870
-FUN_020B0870: ; 0x020B0870
- stmdb sp!, {r4,lr}
- mov r4, r0
- bl FUN_020B09B4
- mov r0, r4
- bl FUN_020B0888
- ldmia sp!, {r4,pc}
-
- arm_func_start FUN_020B0888
-FUN_020B0888: ; 0x020B0888
- stmdb sp!, {r4-r6,lr}
- mov r5, r0
- ldr r0, [r5, #0x14]
- cmp r0, #0x0
- beq _020B0944
- ldrh r2, [r5, #0x6]
- ldrh r1, [r5, #0x8]
- mov r3, #0x0
- add r0, r2, #0x1
- cmp r1, r0
- bgt _020B08C0
- ldrh r0, [r5, #0x4]
- cmp r0, r2
- movls r3, #0x1
-_020B08C0:
- cmp r3, #0x0
- moveq r4, #0x0
- beq _020B08E0
- ldrh r0, [r5, #0x4]
- sub r0, r2, r0
- add r0, r0, #0x1
- mov r0, r0, lsl #0x10
- mov r4, r0, lsr #0xd
-_020B08E0:
- ldr r2, [r5, #0x0]
- ldr r1, _020B09AC ; =0x021CCDA0
- mov r0, #0x540
- mla r1, r2, r0, r1
- ldrh r0, [r5, #0x4]
- add r2, r1, #0x100
- mov r1, r4
- add r6, r2, r0, lsl #0x3
- mov r0, r6
- bl DC_InvalidateRange
- ldr r0, _020B09B0 ; =0x02106814
- mvn r1, #0x0
- ldr r0, [r0, #0x0]
- cmp r0, r1
- beq _020B0930
- mov r1, r6
- mov r3, r4
- mov r2, #0xc0
- bl MI_DmaFill32
- b _020B0998
-_020B0930:
- mov r1, r6
- mov r2, r4
- mov r0, #0xc0
- bl MIi_CpuClear32
- b _020B0998
-_020B0944:
- ldr r2, [r5, #0x0]
- ldr r1, _020B09AC ; =0x021CCDA0
- mov r0, #0x540
- mla r1, r2, r0, r1
- ldrh r2, [r5, #0x4]
- ldrh r0, [r5, #0x6]
- add r1, r1, #0x100
- add r3, r1, r2, lsl #0x3
- sub r0, r0, r2
- add r0, r0, #0x1
- mov r0, r0, lsl #0x10
- movs r2, r0, lsr #0x10
- mov r0, #0x0
- beq _020B0998
- mov r1, #0xc0
-_020B0980:
- add r0, r0, #0x1
- mov r0, r0, lsl #0x10
- mov r0, r0, lsr #0x10
- cmp r0, r2
- strh r1, [r3], #0x8
- blo _020B0980
-_020B0998:
- ldrh r0, [r5, #0x4]
- strh r0, [r5, #0x8]
- ldrh r0, [r5, #0xa]
- strh r0, [r5, #0xe]
- ldmia sp!, {r4-r6,pc}
- .balign 4
-_020B09AC: .word 0x021CCDA0
-_020B09B0: .word 0x02106814
-
- arm_func_start FUN_020B09B4
-FUN_020B09B4: ; 0x020B09B4
- stmdb sp!, {r4-r10,lr}
- mov r7, r0
- ldr r0, [r7, #0x14]
- cmp r0, #0x0
- beq _020B0A48
- ldr r5, [r7, #0x0]
- ldr r1, _020B0BA8 ; =0x021CCDA0
- mov r0, #0x540
- mla r1, r5, r0, r1
- ldrh r2, [r7, #0x4]
- ldrh r0, [r7, #0x6]
- add r1, r1, #0x100
- add r4, r1, r2, lsl #0x3
- sub r0, r0, r2
- add r0, r0, #0x1
- mov r0, r0, lsl #0x13
- mov r6, r0, lsr #0x10
- mov r2, r2, lsl #0x13
- mov r0, r4
- mov r1, r6
- mov r7, r2, lsr #0x10
- bl DC_FlushRange
-_020B0A0C: ; 0x020B0A0C
- cmp r5, #0x0
- beq _020B0A20
- cmp r5, #0x1
- beq _020B0A34
- ldmia sp!, {r4-r10,pc}
-_020B0A20:
- mov r0, r4
- mov r1, r7
- mov r2, r6
- bl GX_LoadOAM
- ldmia sp!, {r4-r10,pc}
-_020B0A34:
- mov r0, r4
- mov r1, r7
- mov r2, r6
- bl GXS_LoadOAM
- ldmia sp!, {r4-r10,pc}
-_020B0A48:
- ldr r0, [r7, #0x0]
- ldr r2, _020B0BA8 ; =0x021CCDA0
- mov r1, #0x540
- mla r2, r0, r1, r2
- ldrh r5, [r7, #0x4]
- ldrh r1, [r7, #0x6]
- ldr r3, _020B0BAC ; =0x0210655C
- add r4, r2, #0x100
- sub r1, r1, r5
- add r1, r1, #0x1
- mov r1, r1, lsl #0x10
- mov r2, r5, lsl #0x13
- add r6, r4, r5, lsl #0x3
- movs r5, r1, lsr #0x10
- mov r4, r2, lsr #0x10
- ldr r9, [r3, r0, lsl #0x2]
- mov r10, #0x0
- beq _020B0AC8
- mov r8, #0x6
-_020B0A94:
- mov r0, r6
- mov r1, r4
- mov r2, r8
- blx r9
- add r0, r10, #0x1
- add r2, r4, #0x8
- mov r1, r0, lsl #0x10
- mov r0, r2, lsl #0x10
- mov r10, r1, lsr #0x10
- cmp r10, r5
- mov r4, r0, lsr #0x10
- add r6, r6, #0x8
- blo _020B0A94
-_020B0AC8:
- ldrh r2, [r7, #0xc]
- ldrh r1, [r7, #0xe]
- mov r3, #0x0
- add r0, r2, #0x1
- cmp r1, r0
- bgt _020B0AEC
- ldrh r0, [r7, #0xa]
- cmp r0, r2
- movls r3, #0x1
-_020B0AEC:
- cmp r3, #0x0
- ldmeqia sp!, {r4-r10,pc}
-_020B0AF4: ; 0x020B0AF4
- ldr r0, [r7, #0x0]
- ldr r2, _020B0BA8 ; =0x021CCDA0
- mov r1, #0x540
- mla r2, r0, r1, r2
- ldrh r5, [r7, #0xa]
- add r4, r2, #0x100
- ldrh r1, [r7, #0xc]
- mov r2, r5, lsl #0x15
- ldr r3, _020B0BAC ; =0x0210655C
- sub r1, r1, r5
- add r1, r1, #0x1
- mov r1, r1, lsl #0x10
- add r9, r4, r5, lsl #0x5
- ldr r5, [r3, r0, lsl #0x2]
- movs r8, r1, lsr #0x10
- mov r7, r2, lsr #0x10
- mov r6, #0x0
- ldmeqia sp!, {r4-r10,pc}
-_020B0B3C: ; 0x020B0B3C
- mov r4, #0x2
-_020B0B40:
- mov r2, r4
- add r0, r9, #0x6
- add r1, r7, #0x6
- blx r5
- mov r2, r4
- add r0, r9, #0xe
- add r1, r7, #0xe
- blx r5
- mov r2, r4
- add r0, r9, #0x16
- add r1, r7, #0x16
- blx r5
- add r0, r9, #0x1e
- add r1, r7, #0x1e
- mov r2, r4
- blx r5
- add r0, r7, #0x20
- mov r0, r0, lsl #0x10
- mov r7, r0, lsr #0x10
- add r9, r9, #0x20
- add r0, r6, #0x1
- mov r0, r0, lsl #0x10
- mov r6, r0, lsr #0x10
- cmp r6, r8
- blo _020B0B40
- ldmia sp!, {r4-r10,pc}
- .balign 4
-_020B0BA8: .word 0x021CCDA0
-_020B0BAC: .word 0x0210655C
-
- arm_func_start FUN_020B0BB0
-FUN_020B0BB0: ; 0x020B0BB0
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldrh r12, [r0, #0xc]
- ldrh r3, [r0, #0xe]
- mov lr, #0x0
- add r2, r12, #0x1
- cmp r3, r2
- bgt _020B0BDC
- ldrh r2, [r0, #0xa]
- cmp r2, r12
- movls lr, #0x1
-_020B0BDC:
- cmp lr, #0x0
- subne r2, r12, r3
- addne r2, r2, #0x1
- movne r2, r2, lsl #0x10
- movne r2, r2, lsr #0x10
- moveq r2, #0x0
- cmp r2, #0x1
- movcs r2, #0x1
- movcc r2, #0x0
- cmp r2, #0x0
- addeq sp, sp, #0x4
- ldreq r0, _020B0C74 ; =0x0000FFFE
- ldmeqia sp!, {pc}
- ldr lr, [r0, #0x0]
- ldr r3, _020B0C78 ; =0x021CCDA0
- mov r2, #0x540
- mla r12, lr, r2, r3
- ldr r3, [r1, #0x0]
- ldrh r2, [r0, #0xe]
- add r12, r12, #0x100
- mov r3, r3, asr #0x4
- add r12, r12, r2, lsl #0x5
- strh r3, [r12, #0x6]
- ldr r3, [r1, #0x4]
- mov r3, r3, asr #0x4
- strh r3, [r12, #0xe]
- ldr r3, [r1, #0x8]
- mov r3, r3, asr #0x4
- strh r3, [r12, #0x16]
- ldr r1, [r1, #0xc]
- mov r1, r1, asr #0x4
- strh r1, [r12, #0x1e]
- ldrh r1, [r0, #0xe]
- add r1, r1, #0x1
- strh r1, [r0, #0xe]
- mov r0, r2
- add sp, sp, #0x4
- ldmia sp!, {pc}
- .balign 4
-_020B0C74: .word 0x0000FFFE
-_020B0C78: .word 0x021CCDA0
-
- arm_func_start FUN_020B0C7C
-FUN_020B0C7C: ; 0x020B0C7C
- stmdb sp!, {r4,lr}
- ldrh r12, [r0, #0x6]
- ldrh r4, [r0, #0x8]
- mov lr, #0x0
- add r3, r12, #0x1
- cmp r4, r3
- bgt _020B0CA4
- ldrh r3, [r0, #0x4]
- cmp r3, r12
- movls lr, #0x1
-_020B0CA4:
- cmp lr, #0x0
- subne r3, r12, r4
- addne r3, r3, #0x1
- movne r3, r3, lsl #0x10
- movne r3, r3, lsr #0x10
- moveq r3, #0x0
- cmp r3, #0x1
- movcs r3, #0x1
- movcc r3, #0x0
- cmp r3, #0x0
- beq _020B0D48
- ldr r4, [r0, #0x0]
- ldr ip, _020B0D50 ; =0x021CCDA0
- mov r3, #0x540
- mla r12, r4, r3, r12
- ldrh r3, [r0, #0x8]
- add r4, r12, #0x100
- ldrh r12, [r1, #0x0]
- mov lr, r3, lsl #0x3
- add r3, r4, r3, lsl #0x3
- strh r12, [r4, lr]
- ldrh lr, [r1, #0x2]
- ldr ip, _020B0D54 ; =0x0000FFFE
- strh lr, [r3, #0x2]
- ldrh r1, [r1, #0x4]
- cmp r2, r12
- strh r1, [r3, #0x4]
- beq _020B0D34
- ldr r1, [r3, #0x0]
- mov r12, r1, lsl #0x16
- mov r12, r12, lsr #0x1e
- ands r12, r12, #0x1
- bicne r12, r1, #0x3e000000
- andne r1, r2, #0x1f
- orrne r1, r12, r1, lsl #0x19
- strne r1, [r3, #0x0]
-_020B0D34:
- ldrh r1, [r0, #0x8]
- add r1, r1, #0x1
- strh r1, [r0, #0x8]
- mov r0, #0x1
- ldmia sp!, {r4,pc}
-_020B0D48:
- mov r0, #0x0
- ldmia sp!, {r4,pc}
- .balign 4
-_020B0D50: .word 0x021CCDA0
-_020B0D54: .word 0x0000FFFE
-
- arm_func_start FUN_020B0D58
-FUN_020B0D58: ; 0x020B0D58
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- ldrh lr, [r0, #0x6]
- ldrh r12, [r0, #0x8]
- mov r4, #0x0
- add r3, lr, #0x1
- cmp r12, r3
- bgt _020B0D84
- ldrh r3, [r0, #0x4]
- cmp r3, lr
- movls r4, #0x1
-_020B0D84:
- cmp r4, #0x0
- subne r3, lr, r12
- addne r3, r3, #0x1
- movne r3, r3, lsl #0x10
- movne r3, r3, lsr #0x10
- moveq r3, #0x0
- cmp r3, r2
- movcs r3, #0x1
- movcc r3, #0x0
- cmp r3, #0x0
- beq _020B0E24
- ldr lr, [r0, #0x0]
- ldr ip, _020B0E30 ; =0x021CCDA0
- mov r3, #0x540
- mla r12, lr, r3, r12
- ldrh r3, [r0, #0x8]
- add r12, r12, #0x100
- cmp r2, #0x0
- add r4, r12, r3, lsl #0x3
- mov r5, #0x0
- ble _020B0E18
- add r3, r0, #0x8
-_020B0DDC:
- ldrh lr, [r1, #0x0]
- mov r0, r5, lsl #0x3
- add r12, r4, r5, lsl #0x3
- strh lr, [r4, r0]
- ldrh r0, [r1, #0x2]
- add r5, r5, #0x1
- cmp r5, r2
- strh r0, [r12, #0x2]
- ldrh r0, [r1, #0x4]
- add r1, r1, #0x8
- strh r0, [r12, #0x4]
- ldrh r0, [r3, #0x0]
- add r0, r0, #0x1
- strh r0, [r3, #0x0]
- blt _020B0DDC
-_020B0E18:
- add sp, sp, #0x4
- mov r0, #0x1
- ldmia sp!, {r4-r5,pc}
-_020B0E24:
- mov r0, #0x0
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,pc}
- .balign 4
-_020B0E30: .word 0x021CCDA0
-
- arm_func_start FUN_020B0E34
-FUN_020B0E34: ; 0x020B0E34
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- ldr r5, [sp, #0x1c]
- ldr r6, _020B0FB4 ; =0x021CCDA0
- mov r4, #0x540
- mla r4, r5, r4, r6
- mov lr, r1
- sub r1, r2, #0x1
- add r1, lr, r1
- mov r1, r1, lsl #0x10
- mov r12, r1, lsr #0x10
- add r7, r4, lr, lsl #0x1
- add r2, r4, r12, lsl #0x1
- mov r6, r0
- mov r5, r3
- cmp r7, r2
- mov r3, lr, lsl #0x1
- bhi _020B0E9C
- ldr r0, _020B0FB8 ; =0x0000FFFF
-_020B0E80:
- ldrh r1, [r7, #0x0]
- cmp r1, r0
- movne r0, #0x0
- bne _020B0EA0
- add r7, r7, #0x2
- cmp r7, r2
- bls _020B0E80
-_020B0E9C:
- mov r0, #0x1
-_020B0EA0:
- cmp r0, #0x0
- beq _020B0EE0
- ldr r0, _020B0FBC ; =0x021CCD9C
- sub r2, r12, lr
- ldrh r7, [r0, #0x0]
- add r1, r4, r3
- mov r2, r2, lsl #0x1
- add r3, r7, #0x1
- strh r3, [r0, #0x0]
- strh r7, [r6, #0x10]
- strh lr, [r6, #0x4]
- strh r12, [r6, #0x6]
- strh lr, [r6, #0x8]
- ldrh r0, [r6, #0x10]
- bl MIi_CpuClear16
- b _020B0EEC
-_020B0EE0:
- add sp, sp, #0x4
- mov r0, #0x0
- ldmia sp!, {r4-r7,pc}
-_020B0EEC:
- ldrh r0, [sp, #0x18]
- add r4, r4, #0x500
- cmp r0, #0x0
- bne _020B0F18
- mov r0, #0x20
- strh r0, [r6, #0xa]
- mov r0, #0x0
- strh r0, [r6, #0xc]
- ldrh r0, [r6, #0xa]
- strh r0, [r6, #0xe]
- b _020B0F98
-_020B0F18:
- sub r0, r0, #0x1
- add r0, r5, r0
- mov r0, r0, lsl #0x10
- mov r12, r0, lsr #0x10
- add r7, r4, r5, lsl #0x1
- add r2, r4, r12, lsl #0x1
- cmp r7, r2
- mov r3, r5, lsl #0x1
- bhi _020B0F5C
- ldr r0, _020B0FB8 ; =0x0000FFFF
-_020B0F40:
- ldrh r1, [r7, #0x0]
- cmp r1, r0
- movne r0, #0x0
- bne _020B0F60
- add r7, r7, #0x2
- cmp r7, r2
- bls _020B0F40
-_020B0F5C:
- mov r0, #0x1
-_020B0F60:
- cmp r0, #0x0
- beq _020B0F8C
- strh r5, [r6, #0xa]
- strh r12, [r6, #0xc]
- strh r5, [r6, #0xe]
- ldrh r0, [r6, #0x10]
- sub r2, r12, r5
- add r1, r4, r3
- mov r2, r2, lsl #0x1
- bl MIi_CpuClear16
- b _020B0F98
-_020B0F8C:
- add sp, sp, #0x4
- mov r0, #0x0
- ldmia sp!, {r4-r7,pc}
-_020B0F98:
- mov r1, #0x0
- ldr r0, [sp, #0x1c]
- str r1, [r6, #0x14]
- str r0, [r6, #0x0]
- mov r0, #0x1
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,pc}
- .balign 4
-_020B0FB4: .word 0x021CCDA0
-_020B0FB8: .word 0x0000FFFF
-_020B0FBC: .word 0x021CCD9C
-
- arm_func_start FUN_020B0FC0
-FUN_020B0FC0: ; 0x020B0FC0
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r1, _020B1060 ; =0x021CCEA0
- mov r0, #0xc0
- mov r2, #0x400
- bl MIi_CpuClear16
- ldr r1, _020B1064 ; =0x021CD3E0
- mov r0, #0xc0
- mov r2, #0x400
- bl MIi_CpuClear16
- ldr r1, _020B1068 ; =0x021CD920
- mov r0, #0xc0
- mov r2, #0x400
- bl MIi_CpuClear16
- ldr r0, _020B106C ; =0x0000FFFF
- ldr r1, _020B1070 ; =0x021CCDA0
- mov r2, #0x100
- bl MIi_CpuClear16
- ldr r0, _020B106C ; =0x0000FFFF
- ldr r1, _020B1074 ; =0x021CD2E0
- mov r2, #0x100
- bl MIi_CpuClear16
- ldr r0, _020B106C ; =0x0000FFFF
- ldr r1, _020B1078 ; =0x021CD820
- mov r2, #0x100
- bl MIi_CpuClear16
- ldr r0, _020B106C ; =0x0000FFFF
- ldr r1, _020B107C ; =0x021CD2A0
- mov r2, #0x40
- bl MIi_CpuClear16
- ldr r0, _020B106C ; =0x0000FFFF
- ldr r1, _020B1080 ; =0x021CD7E0
- mov r2, #0x40
- bl MIi_CpuClear16
- ldr r0, _020B106C ; =0x0000FFFF
- ldr r1, _020B1084 ; =0x021CDD20
- mov r2, #0x40
- bl MIi_CpuClear16
- add sp, sp, #0x4
- ldmia sp!, {pc}
- .balign 4
-_020B1060: .word 0x021CCEA0
-_020B1064: .word 0x021CD3E0
-_020B1068: .word 0x021CD920
-_020B106C: .word 0x0000FFFF
-_020B1070: .word 0x021CCDA0
-_020B1074: .word 0x021CD2E0
-_020B1078: .word 0x021CD820
-_020B107C: .word 0x021CD2A0
-_020B1080: .word 0x021CD7E0
-_020B1084: .word 0x021CDD20
-
- arm_func_start FUN_020B1088
-FUN_020B1088: ; 0x020B1088
- ldr ip, _020B1094 ; =MIi_CpuCopy16
- add r1, r1, #0x7000000
- bx r12
- .balign 4
-_020B1094: .word MIi_CpuCopy16
-
- arm_func_start FUN_020B1098
-FUN_020B1098: ; 0x020B1098
- ldr r3, _020B10A8 ; =0x07000400
- ldr ip, _020B10AC ; =MIi_CpuCopy16
- add r1, r1, r3
- bx r12
- .balign 4
-_020B10A8: .word 0x07000400
-_020B10AC: .word MIi_CpuCopy16
-
- arm_func_start FUN_020B10B0
-FUN_020B10B0: ; 0x020B10B0
- mov r1, r1, lsl #0x1
- ldrh r0, [r0, r1]
- bx lr
-
- arm_func_start FUN_020B10BC
-FUN_020B10BC: ; 0x020B10BC
- ldr r0, [r0, r1, lsl #0x2]
- bx lr
-
- arm_func_start FUN_020B10C4
-FUN_020B10C4:
- str r2, [r0, r1, lsl #0x2]
- bx lr
-
- arm_func_start FUN_020B10CC
-FUN_020B10CC:
- mov r2, #0x0
- mvn r1, #0x0
-_020B10D4:
- str r1, [r0, r2, lsl #0x2]
- add r2, r2, #0x1
- cmp r2, #0x3
- blt _020B10D4
- bx lr
-
- arm_func_start FUN_020B10E8
-FUN_020B10E8: ; 0x020B10E8
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0x4
- mov r10, r0
- ldr r0, [r10, #0x0]
- mov r9, r1
- cmp r0, #0x3
- ldr r0, [sp, #0x28]
- moveq r7, #0x20
- str r0, [sp, #0x28]
- ldrh r0, [r9, #0x0]
- movne r7, #0x200
- mov r11, r2
- mov r8, r3
- str r0, [sp, #0x0]
- mov r6, #0x0
- cmp r0, #0x0
- bls _020B1210
-_020B112C:
- ldr r1, [r9, #0x4]
- mov r0, r6, lsl #0x1
- ldrh r2, [r1, r0]
- ldr r0, [r10, #0xc]
- ldr r1, [r10, #0x8]
- mla r5, r7, r2, r11
- mla r4, r7, r6, r0
- bl DC_FlushRange
-_020B114C: ; 0x020B114C
- cmp r8, #0x0
- beq _020B11E0
- cmp r8, #0x1
- beq _020B1168
- cmp r8, #0x2
- beq _020B11A4
- b _020B11F8
-_020B1168:
- ldr r0, [r10, #0x4]
- cmp r0, #0x0
- beq _020B1190
- bl GX_BeginLoadOBJExtPltt
- mov r0, r4
- mov r1, r5
- mov r2, r7
- bl GX_LoadOBJExtPltt
- bl GX_EndLoadOBJExtPltt
- b _020B11F8
-_020B1190:
- mov r0, r4
- mov r1, r5
- mov r2, r7
- bl GX_LoadOBJPltt
- b _020B11F8
-_020B11A4:
- ldr r0, [r10, #0x4]
- cmp r0, #0x0
- beq _020B11CC
- bl GXS_BeginLoadOBJExtPltt
- mov r0, r4
- mov r1, r5
- mov r2, r7
- bl GXS_LoadOBJExtPltt
- bl GXS_EndLoadOBJExtPltt
- b _020B11F8
-_020B11CC:
- mov r0, r4
- mov r1, r5
- mov r2, r7
- bl GXS_LoadOBJPltt
- b _020B11F8
-_020B11E0:
- bl GX_BeginLoadTexPltt
- mov r0, r4
- mov r1, r5
- mov r2, r7
- bl GX_LoadTexPltt
- bl GX_EndLoadTexPltt
-_020B11F8:
- add r0, r6, #0x1
- mov r0, r0, lsl #0x10
- mov r6, r0, lsr #0x10
- ldr r0, [sp, #0x0]
- cmp r6, r0
- blo _020B112C
-_020B1210:
- ldr r0, [sp, #0x28]
- ldr r2, [r10, #0x0]
- mov r1, r0
- str r2, [r1, #0x0]
- ldr r4, [r10, #0x4]
- mov r3, r0
- mov r1, r8
- mov r2, r11
- str r4, [r3, #0x4]
- bl FUN_020B19D0
- add sp, sp, #0x4
- ldmia sp!, {r4-r11,pc}
-
- arm_func_start FUN_020B1240
-FUN_020B1240: ; 0x020B1240
- stmdb sp!, {r4-r9,lr}
- sub sp, sp, #0x4
- mov r9, r0
- ldr r5, [r9, #0xc]
- ldr r4, [r9, #0x8]
- mov r8, r1
- mov r7, r2
- mov r0, r5
- mov r1, r4
- mov r6, r3
- bl DC_FlushRange
-_020B126C: ; 0x020B126C
- cmp r7, #0x0
- beq _020B1300
- cmp r7, #0x1
- beq _020B1288
- cmp r7, #0x2
- beq _020B12C4
- b _020B1318
-_020B1288:
- ldr r0, [r9, #0x4]
- cmp r0, #0x0
- beq _020B12B0
- bl GX_BeginLoadOBJExtPltt
- mov r0, r5
- mov r1, r8
- mov r2, r4
- bl GX_LoadOBJExtPltt
- bl GX_EndLoadOBJExtPltt
- b _020B1318
-_020B12B0:
- mov r0, r5
- mov r1, r8
- mov r2, r4
- bl GX_LoadOBJPltt
- b _020B1318
-_020B12C4:
- ldr r0, [r9, #0x4]
- cmp r0, #0x0
- beq _020B12EC
- bl GXS_BeginLoadOBJExtPltt
- mov r0, r5
- mov r1, r8
- mov r2, r4
- bl GXS_LoadOBJExtPltt
- bl GXS_EndLoadOBJExtPltt
- b _020B1318
-_020B12EC:
- mov r0, r5
- mov r1, r8
- mov r2, r4
- bl GXS_LoadOBJPltt
- b _020B1318
-_020B1300:
- bl GX_BeginLoadTexPltt
- mov r0, r5
- mov r1, r8
- mov r2, r4
- bl GX_LoadTexPltt
- bl GX_EndLoadTexPltt
-_020B1318:
- ldr r1, [r9, #0x0]
- mov r0, r6
- str r1, [r6, #0x0]
- ldr r3, [r9, #0x4]
- mov r1, r7
- mov r2, r8
- str r3, [r6, #0x4]
- bl FUN_020B19D0
- add sp, sp, #0x4
- ldmia sp!, {r4-r9,pc}
-
- arm_func_start FUN_020B1340
-FUN_020B1340: ; 0x020B1340
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- mov r7, r0
- mov r6, r1
- ldr r0, [r7, #0x14]
- ldr r1, [r7, #0x10]
- mov r5, r2
- mov r4, r3
- bl DC_FlushRange
-_020B1364: ; 0x020B1364
- cmp r5, #0x0
- ldr r0, [r7, #0x8]
- beq _020B13B8
- cmp r5, #0x1
- beq _020B1384
- cmp r5, #0x2
- beq _020B13A0
- b _020B13B8
-_020B1384:
- mov r3, #0x4000000
- ldr r2, [r3, #0x0]
- ldr r1, _020B1520 ; =0xFFCFFFEF
- and r1, r2, r1
- orr r0, r1, r0
- str r0, [r3, #0x0]
- b _020B13B8
-_020B13A0:
- ldr r3, _020B1524 ; =0x04001000
- ldr r1, _020B1520 ; =0xFFCFFFEF
- ldr r2, [r3, #0x0]
- and r1, r2, r1
- orr r0, r1, r0
- str r0, [r3, #0x0]
-_020B13B8:
- ldr r0, [r7, #0x8]
- cmp r0, #0x0
- bne _020B14D8
- ldrh r0, [r7, #0x2]
- cmp r0, #0x10
- bgt _020B1408
- cmp r0, #0x10
- bge _020B1434
- cmp r0, #0x8
- addls pc, pc, r0, lsl #0x2
- b _020B1444
-_020B13E4:
- b _020B1444
-_020B13E8:
- b _020B1414
-_020B13EC:
- b _020B141C
-_020B13F0:
- b _020B1444
-_020B13F4:
- b _020B1424
-_020B13F8:
- b _020B1444
-_020B13FC:
- b _020B1444
-_020B1400:
- b _020B1444
-_020B1404:
- b _020B142C
-_020B1408:
- cmp r0, #0x20
- beq _020B143C
- b _020B1444
-_020B1414:
- mov r0, #0x0
- b _020B1448
-_020B141C:
- mov r0, #0x1
- b _020B1448
-_020B1424:
- mov r0, #0x2
- b _020B1448
-_020B142C:
- mov r0, #0x3
- b _020B1448
-_020B1434:
- mov r0, #0x4
- b _020B1448
-_020B143C:
- mov r0, #0x5
- b _020B1448
-_020B1444:
- mov r0, #0x0
-_020B1448:
- str r0, [r4, #0xc]
- ldrh r0, [r7, #0x0]
- cmp r0, #0x10
- bgt _020B1490
- cmp r0, #0x10
- bge _020B14BC
- cmp r0, #0x8
- addls pc, pc, r0, lsl #0x2
- b _020B14CC
-_020B146C:
- b _020B14CC
-_020B1470:
- b _020B149C
-_020B1474:
- b _020B14A4
-_020B1478:
- b _020B14CC
-_020B147C:
- b _020B14AC
-_020B1480:
- b _020B14CC
-_020B1484:
- b _020B14CC
-_020B1488:
- b _020B14CC
-_020B148C:
- b _020B14B4
-_020B1490:
- cmp r0, #0x20
- beq _020B14C4
- b _020B14CC
-_020B149C:
- mov r0, #0x0
- b _020B14D0
-_020B14A4:
- mov r0, #0x1
- b _020B14D0
-_020B14AC:
- mov r0, #0x2
- b _020B14D0
-_020B14B4:
- mov r0, #0x3
- b _020B14D0
-_020B14BC:
- mov r0, #0x4
- b _020B14D0
-_020B14C4:
- mov r0, #0x5
- b _020B14D0
-_020B14CC:
- mov r0, #0x0
-_020B14D0:
- str r0, [r4, #0x10]
- b _020B14E8
-_020B14D8:
- ldrh r0, [r7, #0x2]
- str r0, [r4, #0xc]
- ldrh r0, [r7, #0x0]
- str r0, [r4, #0x10]
-_020B14E8:
- ldr r1, [r7, #0x4]
- mov r0, #0x0
- str r1, [r4, #0x14]
- str r0, [r4, #0x18]
- mov r0, #0x1
- str r0, [r4, #0x1c]
- ldr r3, [r7, #0x8]
- mov r0, r4
- mov r1, r5
- mov r2, r6
- str r3, [r4, #0x20]
- bl FUN_020B1A1C
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,pc}
- .balign 4
-_020B1520: .word 0xFFCFFFEF
-_020B1524: .word 0x04001000
-
- arm_func_start FUN_020B1528
-FUN_020B1528: ; 0x020B1528
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- mov r7, r0
- movs r5, r2
- mov r6, r1
- mov r4, r3
- ldr r0, [r7, #0x8]
- beq _020B1590
- cmp r5, #0x1
- beq _020B155C
- cmp r5, #0x2
- beq _020B1578
- b _020B1590
-_020B155C:
- mov r3, #0x4000000
- ldr r2, [r3, #0x0]
- ldr r1, _020B1760 ; =0xFFCFFFEF
- and r1, r2, r1
- orr r0, r1, r0
- str r0, [r3, #0x0]
- b _020B1590
-_020B1578:
- ldr r3, _020B1764 ; =0x04001000
- ldr r1, _020B1760 ; =0xFFCFFFEF
- ldr r2, [r3, #0x0]
- and r1, r2, r1
- orr r0, r1, r0
- str r0, [r3, #0x0]
-_020B1590:
- ldr r0, [r7, #0x14]
- ldr r1, [r7, #0x10]
- bl DC_FlushRange
-_020B159C: ; 0x020B159C
- cmp r5, #0x0
- beq _020B15B8
- cmp r5, #0x1
- beq _020B15D4
- cmp r5, #0x2
- beq _020B15E8
- b _020B15F8
-_020B15B8:
- bl GX_BeginLoadTex
- ldr r0, [r7, #0x14]
- ldr r2, [r7, #0x10]
- mov r1, r6
- bl GX_LoadTex
- bl GX_EndLoadTex
- b _020B15F8
-_020B15D4:
- ldr r0, [r7, #0x14]
- ldr r2, [r7, #0x10]
- mov r1, r6
- bl GX_LoadOBJ
- b _020B15F8
-_020B15E8:
- ldr r0, [r7, #0x14]
- ldr r2, [r7, #0x10]
- mov r1, r6
- bl GXS_LoadOBJ
-_020B15F8:
- ldr r0, [r7, #0x8]
- cmp r0, #0x0
- bne _020B1718
- ldrh r0, [r7, #0x2]
- cmp r0, #0x10
- bgt _020B1648
- cmp r0, #0x10
- bge _020B1674
- cmp r0, #0x8
- addls pc, pc, r0, lsl #0x2
- b _020B1684
-_020B1624:
- b _020B1684
-_020B1628:
- b _020B1654
-_020B162C:
- b _020B165C
-_020B1630:
- b _020B1684
-_020B1634:
- b _020B1664
-_020B1638:
- b _020B1684
-_020B163C:
- b _020B1684
-_020B1640:
- b _020B1684
-_020B1644:
- b _020B166C
-_020B1648:
- cmp r0, #0x20
- beq _020B167C
- b _020B1684
-_020B1654:
- mov r0, #0x0
- b _020B1688
-_020B165C:
- mov r0, #0x1
- b _020B1688
-_020B1664:
- mov r0, #0x2
- b _020B1688
-_020B166C:
- mov r0, #0x3
- b _020B1688
-_020B1674:
- mov r0, #0x4
- b _020B1688
-_020B167C:
- mov r0, #0x5
- b _020B1688
-_020B1684:
- mov r0, #0x0
-_020B1688:
- str r0, [r4, #0xc]
- ldrh r0, [r7, #0x0]
- cmp r0, #0x10
- bgt _020B16D0
- cmp r0, #0x10
- bge _020B16FC
- cmp r0, #0x8
- addls pc, pc, r0, lsl #0x2
- b _020B170C
-_020B16AC:
- b _020B170C
-_020B16B0:
- b _020B16DC
-_020B16B4:
- b _020B16E4
-_020B16B8:
- b _020B170C
-_020B16BC:
- b _020B16EC
-_020B16C0:
- b _020B170C
-_020B16C4:
- b _020B170C
-_020B16C8:
- b _020B170C
-_020B16CC:
- b _020B16F4
-_020B16D0:
- cmp r0, #0x20
- beq _020B1704
- b _020B170C
-_020B16DC:
- mov r0, #0x0
- b _020B1710
-_020B16E4:
- mov r0, #0x1
- b _020B1710
-_020B16EC:
- mov r0, #0x2
- b _020B1710
-_020B16F4:
- mov r0, #0x3
- b _020B1710
-_020B16FC:
- mov r0, #0x4
- b _020B1710
-_020B1704:
- mov r0, #0x5
- b _020B1710
-_020B170C:
- mov r0, #0x0
-_020B1710:
- str r0, [r4, #0x10]
- b _020B1728
-_020B1718:
- ldrh r0, [r7, #0x2]
- str r0, [r4, #0xc]
- ldrh r0, [r7, #0x0]
- str r0, [r4, #0x10]
-_020B1728:
- ldr r1, [r7, #0x4]
- mov r0, #0x0
- str r1, [r4, #0x14]
- str r0, [r4, #0x18]
- mov r0, #0x1
- str r0, [r4, #0x1c]
- ldr r3, [r7, #0x8]
- mov r0, r4
- mov r1, r5
- mov r2, r6
- str r3, [r4, #0x20]
- bl FUN_020B1A1C
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,pc}
- .balign 4
-_020B1760: .word 0xFFCFFFEF
-_020B1764: .word 0x04001000
-
- arm_func_start FUN_020B1768
-FUN_020B1768: ; 0x020B1768
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- mov r7, r0
- movs r5, r2
- mov r6, r1
- mov r4, r3
- ldr r0, [r7, #0x8]
- beq _020B17D0
- cmp r5, #0x1
- beq _020B179C
- cmp r5, #0x2
- beq _020B17B8
- b _020B17D0
-_020B179C:
- mov r3, #0x4000000
- ldr r2, [r3, #0x0]
- ldr r1, _020B19A0 ; =0xFFCFFFEF
- and r1, r2, r1
- orr r0, r1, r0
- str r0, [r3, #0x0]
- b _020B17D0
-_020B17B8:
- ldr r3, _020B19A4 ; =0x04001000
- ldr r1, _020B19A0 ; =0xFFCFFFEF
- ldr r2, [r3, #0x0]
- and r1, r2, r1
- orr r0, r1, r0
- str r0, [r3, #0x0]
-_020B17D0:
- ldr r0, [r7, #0x14]
- ldr r1, [r7, #0x10]
- bl DC_FlushRange
-_020B17DC: ; 0x020B17DC
- cmp r5, #0x0
- beq _020B17F8
- cmp r5, #0x1
- beq _020B1814
- cmp r5, #0x2
- beq _020B1828
- b _020B1838
-_020B17F8:
- bl GX_BeginLoadTex
- ldr r0, [r7, #0x14]
- ldr r2, [r7, #0x10]
- mov r1, r6
- bl GX_LoadTex
- bl GX_EndLoadTex
- b _020B1838
-_020B1814:
- ldr r0, [r7, #0x14]
- ldr r2, [r7, #0x10]
- mov r1, r6
- bl GX_LoadOBJ
- b _020B1838
-_020B1828:
- ldr r0, [r7, #0x14]
- ldr r2, [r7, #0x10]
- mov r1, r6
- bl GXS_LoadOBJ
-_020B1838:
- ldr r0, [r7, #0x8]
- cmp r0, #0x0
- bne _020B1958
- ldrh r0, [r7, #0x2]
- cmp r0, #0x10
- bgt _020B1888
- cmp r0, #0x10
- bge _020B18B4
- cmp r0, #0x8
- addls pc, pc, r0, lsl #0x2
- b _020B18C4
-_020B1864:
- b _020B18C4
-_020B1868:
- b _020B1894
-_020B186C:
- b _020B189C
-_020B1870:
- b _020B18C4
-_020B1874:
- b _020B18A4
-_020B1878:
- b _020B18C4
-_020B187C:
- b _020B18C4
-_020B1880:
- b _020B18C4
-_020B1884:
- b _020B18AC
-_020B1888:
- cmp r0, #0x20
- beq _020B18BC
- b _020B18C4
-_020B1894:
- mov r0, #0x0
- b _020B18C8
-_020B189C:
- mov r0, #0x1
- b _020B18C8
-_020B18A4:
- mov r0, #0x2
- b _020B18C8
-_020B18AC:
- mov r0, #0x3
- b _020B18C8
-_020B18B4:
- mov r0, #0x4
- b _020B18C8
-_020B18BC:
- mov r0, #0x5
- b _020B18C8
-_020B18C4:
- mov r0, #0x0
-_020B18C8:
- str r0, [r4, #0xc]
- ldrh r0, [r7, #0x0]
- cmp r0, #0x10
- bgt _020B1910
- cmp r0, #0x10
- bge _020B193C
- cmp r0, #0x8
- addls pc, pc, r0, lsl #0x2
- b _020B194C
-_020B18EC:
- b _020B194C
-_020B18F0:
- b _020B191C
-_020B18F4:
- b _020B1924
-_020B18F8:
- b _020B194C
-_020B18FC:
- b _020B192C
-_020B1900:
- b _020B194C
-_020B1904:
- b _020B194C
-_020B1908:
- b _020B194C
-_020B190C:
- b _020B1934
-_020B1910:
- cmp r0, #0x20
- beq _020B1944
- b _020B194C
-_020B191C:
- mov r0, #0x0
- b _020B1950
-_020B1924:
- mov r0, #0x1
- b _020B1950
-_020B192C:
- mov r0, #0x2
- b _020B1950
-_020B1934:
- mov r0, #0x3
- b _020B1950
-_020B193C:
- mov r0, #0x4
- b _020B1950
-_020B1944:
- mov r0, #0x5
- b _020B1950
-_020B194C:
- mov r0, #0x0
-_020B1950:
- str r0, [r4, #0x10]
- b _020B1968
-_020B1958:
- ldrh r0, [r7, #0x2]
- str r0, [r4, #0xc]
- ldrh r0, [r7, #0x0]
- str r0, [r4, #0x10]
-_020B1968:
- ldr r1, [r7, #0x4]
- mov r0, #0x0
- str r1, [r4, #0x14]
- str r0, [r4, #0x18]
- mov r0, #0x1
- str r0, [r4, #0x1c]
- ldr r3, [r7, #0x8]
- mov r0, r4
- mov r1, r5
- mov r2, r6
- str r3, [r4, #0x20]
- bl FUN_020B1A1C
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,pc}
- .balign 4
-_020B19A0: .word 0xFFCFFFEF
-_020B19A4: .word 0x04001000
-
- arm_func_start FUN_020B19A8
-FUN_020B19A8:
- add r0, r0, r1, lsl #0x2
- ldr r1, [r0, #0x8]
- mvn r0, #0x0
- cmp r1, r0
- movne r0, #0x1
- moveq r0, #0x0
- bx lr
-
- arm_func_start FUN_020B19C4
-FUN_020B19C4: ; 0x020B19C4
- add r0, r0, r1, lsl #0x2
- ldr r0, [r0, #0x8]
- bx lr
-
- arm_func_start FUN_020B19D0
-FUN_020B19D0: ; 0x020B19D0
- add r0, r0, r1, lsl #0x2
- str r2, [r0, #0x8]
- bx lr
-
- arm_func_start FUN_020B19DC
-FUN_020B19DC: ; 0x020B19DC
- mov r3, #0x0
- mvn r2, #0x0
-_020B19E4:
- add r1, r0, r3, lsl #0x2
- add r3, r3, #0x1
- str r2, [r1, #0x8]
- cmp r3, #0x3
- blt _020B19E4
- bx lr
-
- arm_func_start FUN_020B19FC
-FUN_020B19FC:
- ldr r1, [r0, r1, lsl #0x2]
- mvn r0, #0x0
- cmp r1, r0
- movne r0, #0x1
- moveq r0, #0x0
- bx lr
-
- arm_func_start FUN_020B1A14
-FUN_020B1A14: ; 0x020B1A14
- ldr r0, [r0, r1, lsl #0x2]
- bx lr
-
- arm_func_start FUN_020B1A1C
-FUN_020B1A1C: ; 0x020B1A1C
- str r2, [r0, r1, lsl #0x2]
- bx lr
-
- arm_func_start FUN_020B1A24
-FUN_020B1A24: ; 0x020B1A24
- mov r2, #0x0
- mvn r1, #0x0
-_020B1A2C:
- str r1, [r0, r2, lsl #0x2]
- add r2, r2, #0x1
- cmp r2, #0x3
- blt _020B1A2C
- bx lr
-
- arm_func_start FUN_020B1A40
-FUN_020B1A40: ; 0x020B1A40
- stmdb sp!, {r4,lr}
- mov r4, r0
- add r1, r4, #0x4
- mov r0, #0x0
- mov r2, #0x18
- bl MIi_CpuClear16
- mov r0, #0x1000
- str r0, [r4, #0x4]
- str r0, [r4, #0x8]
- ldmia sp!, {r4,pc}
-
- arm_func_start FUN_020B1A68
-FUN_020B1A68:
- ldr ip, _020B1A74 ; =FUN_020B1A40
- str r1, [r0, #0x0]
- bx r12
- .balign 4
-_020B1A74: .word FUN_020B1A40
-
- arm_func_start FUN_020B1A78
-FUN_020B1A78: ; 0x020B1A78
- ldr r3, [r0, #0x0]
- cmp r3, #0x1
- ldreqh r3, [r0, #0x12]
- orreq r3, r3, #0x2
- streqh r3, [r0, #0x12]
- streq r1, [r0, #0x4]
- streq r2, [r0, #0x8]
- bx lr
-
- arm_func_start FUN_020B1A98
-FUN_020B1A98: ; 0x020B1A98
- ldr r2, [r0, #0x0]
- cmp r2, #0x1
- ldreqh r2, [r0, #0x12]
- orreq r2, r2, #0x4
- streqh r2, [r0, #0x12]
- streqh r1, [r0, #0x10]
- bx lr
-
- arm_func_start FUN_020B1AB4
-FUN_020B1AB4: ; 0x020B1AB4
- ldr r3, [r0, #0x0]
- cmp r3, #0x1
- ldreqh r3, [r0, #0x12]
- orreq r3, r3, #0x8
- streqh r3, [r0, #0x12]
- streqh r1, [r0, #0xc]
- streqh r2, [r0, #0xe]
- bx lr
-
- arm_func_start FUN_020B1AD4
-FUN_020B1AD4: ; 0x020B1AD4
- mov r2, #0x0
- str r2, [r0, #0x0]
- str r1, [r0, #0x4]
- mov r1, #0x1
- str r1, [r0, #0x8]
- ldr ip, _020B1AF4 ; =FUN_020B1A68
- add r0, r0, #0xc
- bx r12
- .balign 4
-_020B1AF4: .word FUN_020B1A68
-
- arm_func_start FUN_020B1AF8
-FUN_020B1AF8: ; 0x020B1AF8
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0x34
- ldrh r5, [r2, #0x0]
- ldr r4, [sp, #0x60]
- ldr r10, [sp, #0x58]
- str r4, [sp, #0x60]
- cmp r1, r5
- movcs r1, r5
- mov r4, #0x0
- cmp r1, #0x0
- str r4, [sp, #0x0]
- bls _020B1E7C
- ldrh r4, [sp, #0x5c]
- mov r4, r4, lsl #0x19
- str r4, [sp, #0x4]
- ldr r4, [sp, #0x0]
- str r4, [sp, #0x14]
- mov r4, #0x100
- str r4, [sp, #0xc]
- mov r4, #0x300
- str r4, [sp, #0x8]
- mov r4, #0x1
- str r4, [sp, #0x10]
-_020B1B54:
- ldr r5, [sp, #0x0]
- mov r6, #0x6
- mul r6, r5, r6
- ldr r8, [r2, #0x4]
- ldr r4, [sp, #0x0]
- add r7, r0, r5, lsl #0x3
- ldrh r5, [r8, r6]
- mov r4, r4, lsl #0x3
- add r9, r8, r6
- strh r5, [r0, r4]
- ldrh r4, [r9, #0x2]
- cmp r3, #0x0
- strh r4, [r7, #0x2]
- ldrh r4, [r9, #0x4]
- strh r4, [r7, #0x4]
- bne _020B1B9C
- cmp r10, #0x0
- beq _020B1E60
-_020B1B9C:
- ldr r5, [r7, #0x0]
- ldr r4, _020B1E88 ; =0x01FF0000
- and r4, r5, r4
- mov r4, r4, lsr #0x10
- mov r4, r4, lsl #0x10
- mov r4, r4, asr #0x10
- cmp r4, #0xff
- orrgt r4, r4, #0xff00
- movgt r4, r4, lsl #0x10
- movgt r4, r4, asr #0x10
- mov r4, r4, lsl #0xc
- str r4, [sp, #0x20]
- ldr r4, [r7, #0x0]
- and r4, r4, #0xff
- mov r4, r4, lsl #0x10
- mov r4, r4, asr #0x10
- cmp r4, #0x7f
- orrgt r4, r4, #0xff00
- movgt r4, r4, lsl #0x10
- movgt r4, r4, asr #0x10
- mov r4, r4, lsl #0xc
- str r4, [sp, #0x24]
- cmp r3, #0x0
- beq _020B1E00
- ldr r5, [r7, #0x0]
- and r6, r5, #0x300
- cmp r6, #0x100
- beq _020B1C1C
- cmp r6, #0x300
- beq _020B1C1C
- and r4, r5, #0x30000000
- orr r6, r6, r4
-_020B1C1C:
- cmp r6, #0x300
- bne _020B1C70
- ldr r4, _020B1E8C ; =0xC000C000
- ldr r8, _020B1E90 ; =0x020FF8AC
- and r5, r5, r4
- and r4, r5, #0xc000
- mov r6, r4, asr #0xe
- and r4, r5, #0xc0000000
- mov r4, r4, lsr #0x1e
- mov r4, r4, lsl #0x1
- add r8, r8, r6, lsl #0x3
- ldrh r9, [r4, r8]
- ldr r8, _020B1E94 ; =0x020FF894
- ldr r5, [sp, #0x20]
- add r6, r8, r6, lsl #0x3
- add r5, r5, r9, lsl #0xb
- str r5, [sp, #0x20]
- ldrh r4, [r4, r6]
- ldr r5, [sp, #0x24]
- add r4, r5, r4, lsl #0xb
- str r4, [sp, #0x24]
-_020B1C70:
- ldr r4, [sp, #0x60]
- ldr r5, [r3, #0x8]
- cmp r4, #0x0
- ldrne r8, [sp, #0x8]
- add r4, sp, #0x20
- ldreq r8, [sp, #0xc]
- mov r6, r4
- cmp r8, #0x300
- ldreq r9, [sp, #0x10]
- mov r12, #0x1000
- ldrne r9, [sp, #0x14]
- cmp r4, r4
- ldr r4, [sp, #0x24]
- addeq r6, sp, #0x28
- smull r11, r4, r5, r4
- adds r5, r11, r12
- adc r11, r4, #0x0
- ldr r4, [r3, #0x0]
- ldr lr, [sp, #0x20]
- smlal r5, r11, r4, lr
- mov r4, r5, lsr #0xc
- orr r4, r4, r11, lsl #0x14
- str r4, [r6, #0x0]
- ldr r4, [r3, #0xc]
- ldr r5, [sp, #0x24]
- ldr lr, [r3, #0x4]
- smull r11, r5, r4, r5
- adds r11, r11, r12
- adc r4, r5, #0x0
- add r5, sp, #0x28
- cmp r6, r5
- ldr r5, [sp, #0x20]
- smlal r11, r4, lr, r5
- mov r5, r11, lsr #0xc
- orr r5, r5, r4, lsl #0x14
- str r5, [r6, #0x4]
- ldreq r5, [sp, #0x28]
- ldreq r4, [sp, #0x2c]
- streq r5, [sp, #0x20]
- streq r4, [sp, #0x24]
- cmp r8, #0x100
- beq _020B1D38
- cmp r8, #0x300
- beq _020B1D38
- ldr r5, [r7, #0x0]
- ldr r4, _020B1E98 ; =0xC1FFFCFF
- and r4, r5, r4
- orr r4, r4, r8
- str r4, [r7, #0x0]
- b _020B1D54
-_020B1D38:
- ldr r5, [r7, #0x0]
- ldr r4, _020B1E98 ; =0xC1FFFCFF
- and r4, r5, r4
- orr r5, r4, r8
- ldr r4, [sp, #0x4]
- orr r4, r4, r5
- str r4, [r7, #0x0]
-_020B1D54:
- ldr r6, [r7, #0x0]
- ldr r5, _020B1E8C ; =0xC000C000
- cmp r9, #0x0
- and r8, r6, r5
- and r5, r8, #0xc000
- mov r6, r5, asr #0xe
- and r5, r8, #0xc0000000
- ldr r8, _020B1E90 ; =0x020FF8AC
- mov r5, r5, lsr #0x1e
- mov r5, r5, lsl #0x1
- add r8, r8, r6, lsl #0x3
- ldrh r9, [r5, r8]
- ldr r8, _020B1E94 ; =0x020FF894
- ldr r4, [sp, #0x20]
- add r6, r8, r6, lsl #0x3
- mov r11, r9, asr #0x1
- ldrh r5, [r5, r6]
- mov r8, r11, lsl #0xc
- ldr r6, [r3, #0x0]
- rsb r12, r8, #0x0
- mov r9, r5, asr #0x1
- mla r12, r6, r11, r12
- ldr r5, [r3, #0x8]
- mla r6, r5, r9, r12
- add r6, r4, r6
- str r6, [sp, #0x20]
- ldr r12, [r3, #0x4]
- mov r5, r9, lsl #0xc
- str r12, [sp, #0x1c]
- ldr r12, [r3, #0xc]
- rsb lr, r5, #0x0
- str r12, [sp, #0x18]
- ldr r12, [sp, #0x1c]
- ldr r4, [sp, #0x24]
- mla r11, r12, r11, lr
- ldr r12, [sp, #0x18]
- subne r6, r6, r8
- mla r9, r12, r9, r11
- add r4, r4, r9
- str r4, [sp, #0x24]
- subne r4, r4, r5
- strne r6, [sp, #0x20]
- strne r4, [sp, #0x24]
-_020B1E00:
- cmp r10, #0x0
- beq _020B1E28
- ldr r6, [sp, #0x20]
- ldr r4, [r10, #0x0]
- ldr r5, [sp, #0x24]
- add r4, r6, r4
- str r4, [sp, #0x20]
- ldr r4, [r10, #0x4]
- add r4, r5, r4
- str r4, [sp, #0x24]
-_020B1E28:
- ldr r4, [sp, #0x20]
- ldr r6, [r7, #0x0]
- add r5, r4, #0x800
- ldr r4, _020B1E9C ; =0x000001FF
- and r4, r4, r5, asr #0xc
- ldr r5, _020B1EA0 ; =0xFE00FF00
- and r6, r6, r5
- ldr r5, [sp, #0x24]
- add r5, r5, #0x800
- mov r5, r5, asr #0xc
- and r5, r5, #0xff
- orr r5, r6, r5
- orr r4, r5, r4, lsl #0x10
- str r4, [r7, #0x0]
-_020B1E60:
- ldr r4, [sp, #0x0]
- add r4, r4, #0x1
- mov r4, r4, lsl #0x10
- mov r4, r4, lsr #0x10
- str r4, [sp, #0x0]
- cmp r4, r1
- blo _020B1B54
-_020B1E7C:
- mov r0, r1
- add sp, sp, #0x34
- ldmia sp!, {r4-r11,pc}
- .balign 4
-_020B1E88: .word 0x01FF0000
-_020B1E8C: .word 0xC000C000
-_020B1E90: .word 0x020FF8AC
-_020B1E94: .word 0x020FF894
-_020B1E98: .word 0xC1FFFCFF
-_020B1E9C: .word 0x000001FF
-_020B1EA0: .word 0xFE00FF00
-
- arm_func_start FUN_020B1EA4
-FUN_020B1EA4: ; 0x020B1EA4
- stmdb sp!, {r4,lr}
- mov r4, r0
- bl FUN_020B0518
-_020B1EB0: ; 0x020B1EB0
- cmp r0, #0x0
- ldmeqia sp!, {r4,pc}
-_020B1EB8: ; 0x020B1EB8
- mov r0, r4
- bl FUN_020B1FC4
- ldmia sp!, {r4,pc}
-
- arm_func_start FUN_020B1EC4
-FUN_020B1EC4: ; 0x020B1EC4
- stmdb sp!, {r4,lr}
- mov r4, r0
- bl FUN_020B0534
-_020B1ED0: ; 0x020B1ED0
- cmp r0, #0x0
- ldmeqia sp!, {r4,pc}
-_020B1ED8: ; 0x020B1ED8
- mov r0, r4
- bl FUN_020B1FC4
- ldmia sp!, {r4,pc}
-
- arm_func_start FUN_020B1EE4
-FUN_020B1EE4: ; 0x020B1EE4
- stmdb sp!, {r4,lr}
- mov r4, r0
- bl FUN_020B0438
- mov r0, r4
- bl FUN_020B1FC4
- ldmia sp!, {r4,pc}
-
- arm_func_start FUN_020B1EFC
-FUN_020B1EFC: ; 0x020B1EFC
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x14
- mov r4, r2
- ldr r2, [r4, #0xc]
- mov r5, r1
- ldr r1, [r2, #0x0]
- ldr r2, [sp, #0x34]
- str r1, [sp, #0x0]
- ldr r1, [sp, #0x38]
- str r2, [sp, #0x4]
- mov r6, r3
- mov r7, r0
- ldr r12, [sp, #0x3c]
- str r1, [sp, #0x8]
- ldr r1, [sp, #0x28]
- ldr r2, [sp, #0x2c]
- ldr r3, [sp, #0x30]
- mov r0, r6
- str r12, [sp, #0xc]
- bl FUN_020B45F0
- str r6, [r7, #0x34]
- str r4, [r7, #0x30]
- add r0, r7, #0x38
- mov r1, #0x1
- str r6, [r7, #0x34]
- bl FUN_020B1A68
- mov r0, r7
- bl FUN_020B04C0
- mov r0, r7
- mov r1, r5
- bl FUN_020B1EE4
- add sp, sp, #0x14
- ldmia sp!, {r4-r7,pc}
-
- arm_func_start FUN_020B1F80
-FUN_020B1F80: ; 0x020B1F80
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r5, r0
- mov r4, r1
- str r2, [r5, #0x30]
- mvn r2, #0x0
- add r0, r5, #0x38
- mov r1, #0x1
- str r2, [r5, #0x34]
- bl FUN_020B1A68
- mov r0, r5
- bl FUN_020B04C0
- mov r0, r5
- mov r1, r4
- bl FUN_020B1EE4
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,pc}
-
- arm_func_start FUN_020B1FC4
-FUN_020B1FC4: ; 0x020B1FC4
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- mov r5, r0
- ldr r1, [r5, #0x0]
- ldrh r1, [r1, #0x4]
- cmp r1, #0x0
- addeq sp, sp, #0x4
- ldmeqia sp!, {r4-r7,pc}
-_020B1FE4: ; 0x020B1FE4
- bl FUN_020B06E0
- mov r4, r0
- ldr r7, [r5, #0x30]
- ldrh r1, [r4, #0x0]
- mov r0, r7
- bl FUN_020AFE8C
- str r0, [r5, #0x2c]
- ldr r1, [r5, #0x18]
- add r0, r5, #0x38
- ldr r2, [r1, #0x4]
- mov r1, #0x1
- and r6, r2, #0xff
- bl FUN_020B1A68
-_020B2018: ; 0x020B2018
- cmp r6, #0x0
- beq _020B2068
- cmp r6, #0x2
- bne _020B203C
- ldrsh r1, [r4, #0x4]
- ldrsh r2, [r4, #0x6]
- add r0, r5, #0x38
- bl FUN_020B1AB4
- b _020B2068
-_020B203C:
- ldr r1, [r4, #0x4]
- ldr r2, [r4, #0x8]
- add r0, r5, #0x38
- bl FUN_020B1A78
- ldrh r1, [r4, #0x2]
- add r0, r5, #0x38
- bl FUN_020B1A98
- ldrsh r1, [r4, #0xc]
- ldrsh r2, [r4, #0xe]
- add r0, r5, #0x38
- bl FUN_020B1AB4
-_020B2068:
- ldr r2, [r7, #0xc]
- cmp r2, #0x0
- movne r0, #0x1
- moveq r0, #0x0
- cmp r0, #0x0
- addeq sp, sp, #0x4
- ldmeqia sp!, {r4-r7,pc}
-_020B2084: ; 0x020B2084
- ldr r1, [r5, #0x34]
- mvn r0, #0x0
- cmp r1, r0
- movne r0, #0x1
- moveq r0, #0x0
- cmp r0, #0x0
- addeq sp, sp, #0x4
- ldmeqia sp!, {r4-r7,pc}
-_020B20A4: ; 0x020B20A4
- ldrh r1, [r4, #0x0]
- ldr r2, [r2, #0x4]
- ldr r0, [r5, #0x34]
- add r3, r2, r1, lsl #0x3
- ldr r1, [r2, r1, lsl #0x3]
- ldr r2, [r3, #0x4]
- bl FUN_020B4400
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,pc}
-
- arm_func_start FUN_020B20C8
-FUN_020B20C8: ; 0x020B20C8
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0xc
- mov r6, #0x0
- str r6, [r0, #0x38]
- ldr r7, [sp, #0x30]
- str r6, [r0, #0x30]
- mov r10, r1
- str r7, [r0, #0x34]
- str r0, [sp, #0x0]
- movs r8, r3
- mov r9, r2
- str r10, [r0, #0x3c]
- ldr r11, [sp, #0x34]
- beq _020B215C
- mov r0, #0x1
- str r6, [sp, #0x8]
- str r0, [sp, #0x4]
-_020B210C:
- mov r0, #0x28
- mul r4, r6, r0
- ldr r1, [sp, #0x4]
- add r0, r10, r4
- bl FUN_020B1AD4
- mov r0, #0x54
- mla r5, r6, r0, r9
- ldr r1, [sp, #0x8]
- mov r0, r7
- str r5, [r10, r4]
- bl FUN_020AFC04
- mov r1, r0
- mov r0, r5
- mov r2, r11
- bl FUN_020B1F80
- add r0, r6, #0x1
- mov r0, r0, lsl #0x10
- mov r6, r0, lsr #0x10
- cmp r6, r8
- blo _020B210C
-_020B215C:
- ldr r0, [sp, #0x0]
- bl FUN_020B04C0
-_020B2164: ; 0x020B2164
- ldr r0, [sp, #0x0]
- ldr r3, [sp, #0x38]
- ldr r2, [sp, #0x0]
- add r0, r0, #0x44
- mov r1, #0x1
- str r3, [r2, #0x40]
- bl FUN_020B1A68
-_020B2180: ; 0x020B2180
- ldr r0, [sp, #0x0]
- mov r1, #0x0
- strh r1, [r0, #0x2c]
- add sp, sp, #0xc
- ldmia sp!, {r4-r11,pc}
-
- arm_func_start FUN_020B2194
-FUN_020B2194: ; 0x020B2194
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- mov r7, r0
- bl FUN_020B0518
-_020B21A4: ; 0x020B21A4
- cmp r0, #0x0
- addeq sp, sp, #0x4
- ldmeqia sp!, {r4-r7,pc}
-_020B21B0: ; 0x020B21B0
- mov r0, r7
- bl FUN_020B06E0
- mov r4, r0
- ldrh r1, [r4, #0x0]
- ldr r0, [r7, #0x40]
- bl FUN_020AFF34
- ldr r1, [r7, #0x18]
- mov r6, r0
- ldr r1, [r1, #0x4]
- add r0, r7, #0x44
- and r5, r1, #0xff
- mov r1, #0x1
- bl FUN_020B1A68
-_020B21E4: ; 0x020B21E4
- cmp r5, #0x0
- beq _020B2234
- cmp r5, #0x2
- bne _020B2208
- ldrsh r1, [r4, #0x4]
- ldrsh r2, [r4, #0x6]
- add r0, r7, #0x44
- bl FUN_020B1AB4
- b _020B2234
-_020B2208:
- ldr r1, [r4, #0x4]
- ldr r2, [r4, #0x8]
- add r0, r7, #0x44
- bl FUN_020B1A78
- ldrh r1, [r4, #0x2]
- add r0, r7, #0x44
- bl FUN_020B1A98
- ldrsh r1, [r4, #0xc]
- ldrsh r2, [r4, #0xe]
- add r0, r7, #0x44
- bl FUN_020B1AB4
-_020B2234:
- ldrh r2, [r7, #0x2c]
- mov r1, r6
- add r0, r7, #0x30
- bl FUN_020B24E0
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,pc}
-
- arm_func_start FUN_020B224C
-FUN_020B224C: ; 0x020B224C
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- mov r4, r0
- ldr r2, [r4, #0x0]
- mov r6, r1
- ldrh r5, [r2, #0x4]
- bl FUN_020B0534
-_020B2268: ; 0x020B2268
- cmp r0, #0x0
- beq _020B2318
- ldrh r1, [r4, #0x2c]
- mov r0, r4
- add r1, r1, r5
- strh r1, [r4, #0x2c]
- bl FUN_020B06E0
- mov r5, r0
- ldrh r1, [r5, #0x0]
- ldr r0, [r4, #0x40]
- bl FUN_020AFF34
- ldr r1, [r4, #0x18]
- mov r7, r0
- ldr r1, [r1, #0x4]
- add r0, r4, #0x44
- and r6, r1, #0xff
- mov r1, #0x1
- bl FUN_020B1A68
-_020B22B0: ; 0x020B22B0
- cmp r6, #0x0
- beq _020B2300
- cmp r6, #0x2
- bne _020B22D4
- ldrsh r1, [r5, #0x4]
- ldrsh r2, [r5, #0x6]
- add r0, r4, #0x44
- bl FUN_020B1AB4
- b _020B2300
-_020B22D4:
- ldr r1, [r5, #0x4]
- ldr r2, [r5, #0x8]
- add r0, r4, #0x44
- bl FUN_020B1A78
- ldrh r1, [r5, #0x2]
- add r0, r4, #0x44
- bl FUN_020B1A98
- ldrsh r1, [r5, #0xc]
- ldrsh r2, [r5, #0xe]
- add r0, r4, #0x44
- bl FUN_020B1AB4
-_020B2300:
- ldrh r2, [r4, #0x2c]
- mov r1, r7
- add r0, r4, #0x30
- bl FUN_020B24E0
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,pc}
-_020B2318:
- mov r1, r6
- add r0, r4, #0x30
- bl FUN_020B232C
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,pc}
-
- arm_func_start FUN_020B232C
-FUN_020B232C: ; 0x020B232C
- stmdb sp!, {r4-r8,lr}
- mov r7, r0
- ldr r0, [r7, #0x8]
- mov r6, r1
- cmp r0, #0x1
- bne _020B238C
- ldr r0, [r7, #0x0]
- ldr r4, [r7, #0xc]
- ldrh r0, [r0, #0x2]
- mov r5, #0x0
- cmp r0, #0x0
- ldmlsia sp!, {r4-r8,pc}
-_020B235C: ; 0x020B235C
- mov r8, #0x58
-_020B2360:
- mla r0, r5, r8, r4
- mov r1, r6
- bl FUN_020B1EC4
- ldr r1, [r7, #0x0]
- add r0, r5, #0x1
- mov r0, r0, lsl #0x10
- ldrh r1, [r1, #0x2]
- mov r5, r0, lsr #0x10
- cmp r5, r1
- blo _020B2360
- ldmia sp!, {r4-r8,pc}
-_020B238C:
- ldr r0, [r7, #0x0]
- ldr r4, [r7, #0xc]
- ldrh r0, [r0, #0x0]
- mov r5, #0x0
- cmp r0, #0x0
- ldmlsia sp!, {r4-r8,pc}
-_020B23A4: ; 0x020B23A4
- mov r8, #0x28
-_020B23A8:
- mul r0, r5, r8
- ldr r0, [r4, r0]
- mov r1, r6
- bl FUN_020B1EC4
- ldr r1, [r7, #0x0]
- add r0, r5, #0x1
- mov r0, r0, lsl #0x10
- ldrh r1, [r1, #0x0]
- mov r5, r0, lsr #0x10
- cmp r5, r1
- blo _020B23A8
- ldmia sp!, {r4-r8,pc}
-
- arm_func_start FUN_020B23D8
-FUN_020B23D8: ; 0x020B23D8
- stmdb sp!, {r4-r6,lr}
- mov r5, r0
- ldrh r0, [r5, #0x0]
- mov r4, #0x0
- mov r6, r4
- cmp r0, #0x0
- bls _020B2424
-_020B23F4:
- mov r0, r5
- mov r1, r6
- bl FUN_020AFF34
- ldrh r0, [r0, #0x0]
- ldrh r1, [r5, #0x0]
- cmp r0, r4
- movhi r4, r0
- add r0, r6, #0x1
- mov r0, r0, lsl #0x10
- mov r6, r0, lsr #0x10
- cmp r6, r1
- blo _020B23F4
-_020B2424:
- mov r0, r4
- ldmia sp!, {r4-r6,pc}
-
- arm_func_start FUN_020B242C
-FUN_020B242C: ; 0x020B242C
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- mov r7, r0
- bl FUN_020B0438
- mov r1, #0x0
- mov r0, r7
- strh r1, [r7, #0x2c]
- bl FUN_020B06E0
- mov r4, r0
- ldrh r1, [r4, #0x0]
- ldr r0, [r7, #0x40]
- bl FUN_020AFF34
- ldr r1, [r7, #0x18]
- mov r6, r0
- ldr r1, [r1, #0x4]
- add r0, r7, #0x44
- and r5, r1, #0xff
- mov r1, #0x1
- bl FUN_020B1A68
-_020B2478: ; 0x020B2478
- cmp r5, #0x0
- beq _020B24C8
- cmp r5, #0x2
- bne _020B249C
- ldrsh r1, [r4, #0x4]
- ldrsh r2, [r4, #0x6]
- add r0, r7, #0x44
- bl FUN_020B1AB4
- b _020B24C8
-_020B249C:
- ldr r1, [r4, #0x4]
- ldr r2, [r4, #0x8]
- add r0, r7, #0x44
- bl FUN_020B1A78
- ldrh r1, [r4, #0x2]
- add r0, r7, #0x44
- bl FUN_020B1A98
- ldrsh r1, [r4, #0xc]
- ldrsh r2, [r4, #0xe]
- add r0, r7, #0x44
- bl FUN_020B1AB4
-_020B24C8:
- ldrh r2, [r7, #0x2c]
- mov r1, r6
- add r0, r7, #0x30
- bl FUN_020B24E0
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,pc}
-
- arm_func_start FUN_020B24E0
-FUN_020B24E0: ; 0x020B24E0
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0x14
- mov r10, r1
- str r0, [sp, #0x0]
- str r10, [r0, #0x0]
- ldr r0, [r0, #0x8]
- mov r9, r2
- cmp r0, #0x1
- bne _020B2654
- ldrh r1, [r10, #0x2]
- ldr r0, [sp, #0x0]
- mov r4, #0x0
- ldr r8, [r0, #0xc]
- cmp r1, #0x0
- bls _020B2544
- mov r3, r4
- mov r0, #0x58
-_020B2524:
- mla r1, r4, r0, r8
- str r3, [r1, #0x54]
- add r1, r4, #0x1
- mov r1, r1, lsl #0x10
- ldrh r2, [r10, #0x2]
- mov r4, r1, lsr #0x10
- cmp r4, r2
- blo _020B2524
-_020B2544:
- ldrh r0, [r10, #0x0]
- mov r5, #0x0
- cmp r0, #0x0
- addls sp, sp, #0x14
- ldmlsia sp!, {r4-r11,pc}
-_020B2558: ; 0x020B2558
- str r5, [sp, #0x4]
- mov r11, #0x1
-_020B2560:
- ldr r0, [r10, #0x4]
- mov r1, #0x58
- add r7, r0, r5, lsl #0x3
- ldrh r0, [r7, #0x6]
- and r0, r0, #0xff00
- mov r0, r0, lsl #0x8
- mov r0, r0, lsr #0x10
- mla r6, r0, r1, r8
- ldr r0, [r6, #0x54]
- cmp r0, #0x0
- bne _020B2634
- ldr r0, [sp, #0x0]
- ldrh r1, [r7, #0x0]
- ldr r0, [r0, #0x4]
- bl FUN_020AFC04
- mov r4, r0
- mov r0, r6
- mov r1, r4
- bl FUN_020B1EE4
- str r11, [r6, #0x8]
- ldrh r0, [r7, #0x6]
- and r0, r0, #0xf
- cmp r0, #0x1
- bne _020B2630
- ldrh r1, [r4, #0x0]
- ldr r7, [sp, #0x4]
- mov r3, r7
- cmp r1, #0x0
- bls _020B25F0
- ldr r2, [r4, #0xc]
-_020B25D8:
- add r0, r2, r3, lsl #0x3
- ldrh r0, [r0, #0x4]
- add r3, r3, #0x1
- cmp r3, r1
- add r7, r7, r0
- blo _020B25D8
-_020B25F0:
- mov r0, r6
- bl FUN_020B0408
-_020B25F8: ; 0x020B25F8
- cmp r0, #0x0
- beq _020B261C
- mov r0, r9
- mov r1, r7
- bl _u32_div_f
- mov r0, r6
- mov r1, r1, lsl #0xc
- bl FUN_020B1EC4
- b _020B2630
-_020B261C:
- cmp r9, r7
- movcc r7, r9
- mov r0, r6
- mov r1, r7, lsl #0xc
- bl FUN_020B1EC4
-_020B2630:
- str r11, [r6, #0x54]
-_020B2634:
- add r0, r5, #0x1
- mov r0, r0, lsl #0x10
- ldrh r1, [r10, #0x0]
- mov r5, r0, lsr #0x10
- cmp r5, r1
- blo _020B2560
- add sp, sp, #0x14
- ldmia sp!, {r4-r11,pc}
-_020B2654:
- ldrh r1, [r10, #0x0]
- ldr r0, [sp, #0x0]
- mov r4, #0x0
- cmp r1, #0x0
- ldr r11, [r0, #0xc]
- addls sp, sp, #0x14
- ldmlsia sp!, {r4-r11,pc}
-_020B2670: ; 0x020B2670
- mov r0, #0x1
- str r4, [sp, #0xc]
- str r0, [sp, #0x8]
-_020B267C:
- mov r0, #0x28
- mul r2, r4, r0
- ldr r3, [r10, #0x4]
- mov r0, r4, lsl #0x3
- ldrh r1, [r3, r0]
- ldr r0, [sp, #0x0]
- ldr r6, [r11, r2]
- ldr r0, [r0, #0x4]
- add r7, r3, r4, lsl #0x3
- bl FUN_020AFC04
- mov r5, r0
- mov r0, r6
- mov r1, r5
- bl FUN_020B1EE4
- ldr r0, [sp, #0x8]
- str r0, [r6, #0x8]
- ldrh r0, [r7, #0x6]
- and r0, r0, #0xf
- cmp r0, #0x1
- bne _020B2740
- ldrh r1, [r5, #0x0]
- ldr r8, [sp, #0xc]
- mov r0, r8
- cmp r1, #0x0
- bls _020B2700
- ldr r3, [r5, #0xc]
-_020B26E4:
- add r1, r3, r0, lsl #0x3
- ldrh r2, [r1, #0x4]
- add r0, r0, #0x1
- ldrh r1, [r5, #0x0]
- add r8, r8, r2
- cmp r0, r1
- blo _020B26E4
-_020B2700:
- mov r0, r6
- bl FUN_020B0408
-_020B2708: ; 0x020B2708
- cmp r0, #0x0
- beq _020B272C
- mov r0, r9
- mov r1, r8
- bl _u32_div_f
- mov r0, r6
- mov r1, r1, lsl #0xc
- bl FUN_020B1EC4
- b _020B2740
-_020B272C:
- cmp r9, r8
- movcc r8, r9
- mov r0, r6
- mov r1, r8, lsl #0xc
- bl FUN_020B1EC4
-_020B2740:
- mov r0, #0x28
- mla r3, r4, r0, r11
- ldr r0, [sp, #0x8]
- str r0, [r3, #0x8]
- ldrsh r1, [r7, #0x2]
- ldrsh r2, [r7, #0x4]
- add r0, r3, #0xc
- bl FUN_020B1AB4
- add r0, r4, #0x1
- mov r0, r0, lsl #0x10
- ldrh r1, [r10, #0x0]
- mov r4, r0, lsr #0x10
- cmp r4, r1
- blo _020B267C
- add sp, sp, #0x14
- ldmia sp!, {r4-r11,pc}
-
- arm_func_start thunk_FUN_020b5040
-thunk_FUN_020b5040: ; 0x020B2780
- ldr ip, _020B2788 ; =FUN_020B5040
- bx r12
- .balign 4
-_020B2788: .word FUN_020B5040
-
- arm_func_start FUN_020B278C
-FUN_020B278C:
- ldr r0, [r0, #0x78]
- bx lr
-
- arm_func_start FUN_020B2794
-FUN_020B2794: ; 0x020B2794
- stmdb sp!, {lr}
- sub sp, sp, #0x1c
- ldr r2, _020B2894 ; =0x021CDD70
- mov lr, #0x0
- ldr r12, [r2, #0x0]
- ldr r3, _020B2898 ; =0x021CDEF4
- mov r2, #0x18
- str r1, [sp, #0x0]
- str r1, [sp, #0xc]
- mla r1, r12, r2, r3
- rsb r3, r0, #0x0
- str r0, [sp, #0x4]
- add r0, sp, #0x0
- mov r2, r1
- str r3, [sp, #0x8]
- str lr, [sp, #0x10]
- str lr, [sp, #0x14]
- bl FUN_020B423C
- ldr r0, _020B2894 ; =0x021CDD70
- ldr r1, _020B289C ; =0x021CE1F4
- ldr r2, [r0, #0x0]
- mov r0, #0x18
- mla r1, r2, r0, r1
- add r0, sp, #0x0
- mov r2, r1
- bl FUN_020B423C
- ldr r0, _020B28A0 ; =0x021CDD68
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- bne _020B2824
- ldr r1, _020B28A4 ; =0x02106570
- ldr r0, _020B28A8 ; =0x0000FFFE
- ldrh r1, [r1, #0x0]
- cmp r1, r0
- movne r0, #0x1
- bne _020B2828
-_020B2824:
- mov r0, #0x0
-_020B2828:
- cmp r0, #0x0
- ldreq r1, _020B2894 ; =0x021CDD70
- ldreq r0, _020B28A4 ; =0x02106570
- ldreq r1, [r1, #0x0]
- streqh r1, [r0, #0x0]
- ldr r0, _020B2894 ; =0x021CDD70
- ldr r1, _020B28AC ; =0x021CDDF4
- ldr r0, [r0, #0x0]
- mov r0, r0, lsl #0x10
- add r12, r1, r0, lsr #0xd
- ldrh r0, [r12, #0x4]
- cmp r0, #0x3
- addls pc, pc, r0, lsl #0x2
- b _020B288C
-_020B2860:
- b _020B2870
-_020B2864:
- b _020B288C
-_020B2868:
- b _020B2870
-_020B286C:
- b _020B2870
-_020B2870:
- ldr r0, _020B28B0 ; =0x021CDD64
- mov r1, #0x1
- ldrh r3, [r0, #0x0]
- add r2, r3, #0x1
- strh r2, [r0, #0x0]
- strh r3, [r12, #0x2]
- strh r1, [r12, #0x4]
-_020B288C:
- add sp, sp, #0x1c
- ldmia sp!, {pc}
- .balign 4
-_020B2894: .word 0x021CDD70
-_020B2898: .word 0x021CDEF4
-_020B289C: .word 0x021CE1F4
-_020B28A0: .word 0x021CDD68
-_020B28A4: .word 0x02106570
-_020B28A8: .word 0x0000FFFE
-_020B28AC: .word 0x021CDDF4
-_020B28B0: .word 0x021CDD64
-
- arm_func_start FUN_020B28B4
-FUN_020B28B4: ; 0x020B28B4
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x1c
- ldr r2, _020B29E8 ; =0x021CDD70
- mov r12, #0x0
- ldr r3, [r2, #0x0]
- mov r4, r1
- ldr r2, _020B29EC ; =0x021CDEF4
- mov r1, #0x18
- mla r1, r3, r1, r2
- mov r5, r0
- add r0, sp, #0x0
- mov r2, r1
- str r5, [sp, #0x0]
- str r12, [sp, #0x4]
- str r12, [sp, #0x8]
- str r4, [sp, #0xc]
- str r12, [sp, #0x10]
- str r12, [sp, #0x14]
- bl FUN_020B423C
- mov r0, r5
- bl FX_Inv
- mov r1, #0x0
- str r0, [sp, #0x0]
- mov r0, r4
- str r1, [sp, #0x4]
- str r1, [sp, #0x8]
- bl FX_Inv
- mov r3, #0x0
- ldr r1, _020B29E8 ; =0x021CDD70
- str r0, [sp, #0xc]
- ldr r2, [r1, #0x0]
- ldr r1, _020B29F0 ; =0x021CE1F4
- mov r0, #0x18
- mla r1, r2, r0, r1
- add r0, sp, #0x0
- mov r2, r1
- str r3, [sp, #0x10]
- str r3, [sp, #0x14]
- bl FUN_020B423C
- ldr r0, _020B29F4 ; =0x021CDD68
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- bne _020B2978
- ldr r1, _020B29F8 ; =0x02106570
- ldr r0, _020B29FC ; =0x0000FFFE
- ldrh r1, [r1, #0x0]
- cmp r1, r0
- movne r0, #0x1
- bne _020B297C
-_020B2978:
- mov r0, #0x0
-_020B297C:
- cmp r0, #0x0
- ldreq r1, _020B29E8 ; =0x021CDD70
- ldreq r0, _020B29F8 ; =0x02106570
- ldreq r1, [r1, #0x0]
- streqh r1, [r0, #0x0]
- ldr r0, _020B29E8 ; =0x021CDD70
- ldr r1, _020B2A00 ; =0x021CDDF4
- ldr r0, [r0, #0x0]
- mov r0, r0, lsl #0x10
- add r12, r1, r0, lsr #0xd
- ldrh r0, [r12, #0x4]
- cmp r0, #0x3
- addls pc, pc, r0, lsl #0x2
- b _020B29E0
-_020B29B4:
- b _020B29C4
-_020B29B8:
- b _020B29E0
-_020B29BC:
- b _020B29C4
-_020B29C0:
- b _020B29C4
-_020B29C4:
- ldr r0, _020B2A04 ; =0x021CDD64
- mov r1, #0x1
- ldrh r3, [r0, #0x0]
- add r2, r3, #0x1
- strh r2, [r0, #0x0]
- strh r3, [r12, #0x2]
- strh r1, [r12, #0x4]
-_020B29E0:
- add sp, sp, #0x1c
- ldmia sp!, {r4-r5,pc}
- .balign 4
-_020B29E8: .word 0x021CDD70
-_020B29EC: .word 0x021CDEF4
-_020B29F0: .word 0x021CE1F4
-_020B29F4: .word 0x021CDD68
-_020B29F8: .word 0x02106570
-_020B29FC: .word 0x0000FFFE
-_020B2A00: .word 0x021CDDF4
-_020B2A04: .word 0x021CDD64
-
- arm_func_start FUN_020B2A08
-FUN_020B2A08: ; 0x020B2A08
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x1c
- ldr r3, _020B2AEC ; =0x021CDD68
- mov r4, r2
- ldr r2, [r3, #0x0]
- cmp r2, #0x0
- beq _020B2A6C
- ldr r2, _020B2AF0 ; =0x021CDD70
- mov r3, #0x18
- ldr r2, [r2, #0x0]
- ldr lr, _020B2AF4 ; =0x021CDF04
- mul r5, r2, r3
- ldr r3, [lr, r5]
- ldr ip, _020B2AF8 ; =0x021CDF08
- add r0, r3, r0
- str r0, [lr, r5]
- ldr r0, [r12, r5]
- ldr r3, _020B2AFC ; =0x021CDD74
- add r0, r0, r1
- str r0, [r12, r5]
- ldr r0, [r3, r2, lsl #0x2]
- add sp, sp, #0x1c
- add r0, r0, r4
- str r0, [r3, r2, lsl #0x2]
- ldmia sp!, {r4-r5,pc}
-_020B2A6C:
- ldr r2, _020B2AF0 ; =0x021CDD70
- mov lr, #0x1000
- ldr r12, [r2, #0x0]
- ldr r3, _020B2B00 ; =0x021CDEF4
- mov r2, #0x18
- str r1, [sp, #0x14]
- mla r1, r12, r2, r3
- mov r3, #0x0
- str r0, [sp, #0x10]
- add r0, sp, #0x0
- mov r2, r1
- str lr, [sp, #0x0]
- str r3, [sp, #0x4]
- str r3, [sp, #0x8]
- str lr, [sp, #0xc]
- bl FUN_020B423C
- ldr r0, _020B2AF0 ; =0x021CDD70
- ldr r1, _020B2B04 ; =0x021CE1F4
- ldr r2, [r0, #0x0]
- mov r0, #0x18
- mla r1, r2, r0, r1
- add r0, sp, #0x0
- mov r2, r1
- bl FUN_020B423C
- ldr r0, _020B2AF0 ; =0x021CDD70
- ldr r2, _020B2AFC ; =0x021CDD74
- ldr r1, [r0, #0x0]
- ldr r0, [r2, r1, lsl #0x2]
- add r0, r0, r4
- str r0, [r2, r1, lsl #0x2]
- add sp, sp, #0x1c
- ldmia sp!, {r4-r5,pc}
- .balign 4
-_020B2AEC: .word 0x021CDD68
-_020B2AF0: .word 0x021CDD70
-_020B2AF4: .word 0x021CDF04
-_020B2AF8: .word 0x021CDF08
-_020B2AFC: .word 0x021CDD74
-_020B2B00: .word 0x021CDEF4
-_020B2B04: .word 0x021CE1F4
-
- arm_func_start FUN_020B2B08
-FUN_020B2B08: ; 0x020B2B08
- ldr r0, _020B2B4C ; =0x021CDD70
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- movle r0, #0x1
- movgt r0, #0x0
- cmp r0, #0x0
- bxne lr
- ldr r1, _020B2B4C ; =0x021CDD70
- ldr r0, _020B2B50 ; =0x02106570
- ldr r3, [r1, #0x0]
- ldrh r2, [r0, #0x0]
- sub r3, r3, #0x1
- str r3, [r1, #0x0]
- cmp r2, r3
- ldrgt r1, _020B2B54 ; =0x0000FFFE
- strgth r1, [r0, #0x0]
- bx lr
- .balign 4
-_020B2B4C: .word 0x021CDD70
-_020B2B50: .word 0x02106570
-_020B2B54: .word 0x0000FFFE
-
- arm_func_start FUN_020B2B58
-FUN_020B2B58: ; 0x020B2B58
- stmdb sp!, {r4-r10,lr}
- ldr r0, _020B2D74 ; =0x021CDD6C
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x7c]
- ands r0, r0, #0x1
- bne _020B2CA4
- ldr r0, _020B2D78 ; =0x021CDD70
- ldr r1, [r0, #0x0]
- mov r0, r1, lsl #0x10
- add r5, r1, #0x1
- cmp r5, #0x20
- mov r4, r0, lsr #0x10
- movlt r0, #0x1
- movge r0, #0x0
- cmp r0, #0x0
- beq _020B2C44
- ldr r0, _020B2D7C ; =0x021CDD68
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- beq _020B2BE4
- ldr r1, _020B2D78 ; =0x021CDD70
- mov r0, #0x18
- ldr r3, [r1, #0x0]
- ldr r1, _020B2D80 ; =0x021CDD74
- mul r8, r3, r0
- ldr r6, _020B2D84 ; =0x021CDF04
- mul r7, r5, r0
- ldr r2, [r6, r8]
- ldr r0, [r1, r3, lsl #0x2]
- ldr r3, _020B2D88 ; =0x021CDF08
- str r2, [r6, r7]
- ldr r2, [r3, r8]
- str r0, [r1, r5, lsl #0x2]
- str r2, [r3, r7]
- b _020B2C3C
-_020B2BE4:
- ldr r1, _020B2D78 ; =0x021CDD70
- mov r0, #0x18
- ldr r2, [r1, #0x0]
- ldr r7, _020B2D80 ; =0x021CDD74
- mul lr, r2, r0
- ldr r1, _020B2D8C ; =0x021CDEF4
- mul r12, r5, r0
- ldr r8, _020B2D90 ; =0x021CE1F4
- add r10, r1, lr
- ldr r6, [r7, r2, lsl #0x2]
- add r9, r1, r12
- ldmia r10!, {r0-r3}
- stmia r9!, {r0-r3}
- ldmia r10, {r0-r1}
- str r6, [r7, r5, lsl #0x2]
- add r7, r8, lr
- stmia r9, {r0-r1}
- add r6, r8, r12
- ldmia r7!, {r0-r3}
- stmia r6!, {r0-r3}
- ldmia r7, {r0-r1}
- stmia r6, {r0-r1}
-_020B2C3C:
- ldr r0, _020B2D78 ; =0x021CDD70
- str r5, [r0, #0x0]
-_020B2C44:
- ldr r0, _020B2D78 ; =0x021CDD70
- ldr r2, _020B2D94 ; =0x021CDDF4
- ldr r0, [r0, #0x0]
- mov r5, r4, lsl #0x3
- mov r0, r0, lsl #0x10
- mov r3, r0, lsr #0x10
- add r4, r2, r4, lsl #0x3
- mov r6, r3, lsl #0x3
- ldrh r1, [r2, r5]
- ldrh r0, [r4, #0x2]
- add r3, r2, r3, lsl #0x3
- strh r1, [r2, r6]
- strh r0, [r3, #0x2]
- ldrh r2, [r4, #0x4]
- ldrh r0, [r4, #0x6]
- ldr r1, _020B2D98 ; =0x021CDDF8
- strh r2, [r3, #0x4]
- strh r0, [r3, #0x6]
- ldrh r0, [r1, r5]
- cmp r0, #0x1
- moveq r0, #0x2
- streqh r0, [r1, r6]
- strneh r0, [r1, r6]
- ldmia sp!, {r4-r10,pc}
-_020B2CA4:
- ldr r0, _020B2D78 ; =0x021CDD70
- ldr r0, [r0, #0x0]
- add r4, r0, #0x1
- cmp r4, #0x20
- movlt r0, #0x1
- movge r0, #0x0
- cmp r0, #0x0
- ldmeqia sp!, {r4-r10,pc}
-_020B2CC4: ; 0x020B2CC4
- ldr r0, _020B2D7C ; =0x021CDD68
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- beq _020B2D10
- ldr r1, _020B2D78 ; =0x021CDD70
- mov r0, #0x18
- ldr r3, [r1, #0x0]
- ldr r1, _020B2D80 ; =0x021CDD74
- mul r7, r3, r0
- ldr r5, _020B2D84 ; =0x021CDF04
- mul r6, r4, r0
- ldr r2, [r5, r7]
- ldr r0, [r1, r3, lsl #0x2]
- ldr r3, _020B2D88 ; =0x021CDF08
- str r2, [r5, r6]
- ldr r2, [r3, r7]
- str r0, [r1, r4, lsl #0x2]
- str r2, [r3, r6]
- b _020B2D68
-_020B2D10:
- ldr r1, _020B2D78 ; =0x021CDD70
- mov r0, #0x18
- ldr r2, [r1, #0x0]
- ldr ip, _020B2D80 ; =0x021CDD74
- mul r9, r2, r0
- ldr r1, _020B2D8C ; =0x021CDEF4
- mul r8, r4, r0
- ldr lr, _020B2D90 ; =0x021CE1F4
- add r6, r1, r9
- ldr r5, [r12, r2, lsl #0x2]
- add r7, r1, r8
- ldmia r6!, {r0-r3}
- stmia r7!, {r0-r3}
- ldmia r6, {r0-r1}
- add r6, lr, r9
- stmia r7, {r0-r1}
- add lr, lr, r8
- ldmia r6!, {r0-r3}
- stmia lr!, {r0-r3}
- ldmia r6, {r0-r1}
- stmia lr, {r0-r1}
- str r5, [r12, r4, lsl #0x2]
-_020B2D68:
- ldr r0, _020B2D78 ; =0x021CDD70
- str r4, [r0, #0x0]
- ldmia sp!, {r4-r10,pc}
- .balign 4
-_020B2D74: .word 0x021CDD6C
-_020B2D78: .word 0x021CDD70
-_020B2D7C: .word 0x021CDD68
-_020B2D80: .word 0x021CDD74
-_020B2D84: .word 0x021CDF04
-_020B2D88: .word 0x021CDF08
-_020B2D8C: .word 0x021CDEF4
-_020B2D90: .word 0x021CE1F4
-_020B2D94: .word 0x021CDDF4
-_020B2D98: .word 0x021CDDF8
-
- arm_func_start FUN_020B2D9C
-FUN_020B2D9C: ; 0x020B2D9C
- stmdb sp!, {r4-r6,lr}
- mov r4, r0
- ldrh r0, [r4, #0x56]
- cmp r0, #0x0
- bne _020B2DBC
- add r0, r4, #0x30
- bl FUN_020B2E78
- ldmia sp!, {r4-r6,pc}
-_020B2DBC:
- bl FUN_020B2B58
- ldrh r0, [r4, #0x56]
- ands r0, r0, #0x8
- beq _020B2E0C
- ldr r0, _020B2E70 ; =0x021CDD6C
- ldrsh r6, [r4, #0x52]
- ldr r0, [r0, #0x0]
- ldrsh r5, [r4, #0x50]
- bl FUN_020B4F88
-_020B2DE0: ; 0x020B2DE0
- cmp r0, #0x0
- ldr r0, _020B2E70 ; =0x021CDD6C
- rsbne r5, r5, #0x0
- ldr r0, [r0, #0x0]
- bl FUN_020B4F74
-_020B2DF4: ; 0x020B2DF4
- cmp r0, #0x0
- rsbne r6, r6, #0x0
- mov r0, r5, lsl #0xc
- mov r1, r6, lsl #0xc
- mov r2, #0x0
- bl FUN_020B2A08
-_020B2E0C:
- ldrh r0, [r4, #0x56]
- ands r0, r0, #0x4
- beq _020B2E40
- ldrh r0, [r4, #0x54]
- ldr r2, _020B2E74 ; =0x020FFA38
- mov r0, r0, asr #0x4
- mov r1, r0, lsl #0x1
- add r0, r1, #0x1
- mov r3, r1, lsl #0x1
- mov r1, r0, lsl #0x1
- ldrsh r0, [r2, r3]
- ldrsh r1, [r2, r1]
- bl FUN_020B2794
-_020B2E40:
- ldrh r0, [r4, #0x56]
- ands r0, r0, #0x2
- beq _020B2E5C
- ldr r0, [r4, #0x48]
- ldr r1, [r4, #0x4c]
- mov r2, #0x1000
- bl FUN_020B28B4
-_020B2E5C:
- add r0, r4, #0x30
- bl FUN_020B2E78
- mov r0, #0x1
- bl FUN_020B2B08
- ldmia sp!, {r4-r6,pc}
- .balign 4
-_020B2E70: .word 0x021CDD6C
-_020B2E74: .word 0x020FFA38
-
- arm_func_start FUN_020B2E78
-FUN_020B2E78: ; 0x020B2E78
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0xc
- mov r5, r0
- ldr r0, [r5, #0x8]
- cmp r0, #0x1
- bne _020B309C
- ldr r0, [r5, #0x0]
- mov r2, #0x0
- ldrh r0, [r0, #0x2]
- cmp r0, #0x0
- bls _020B2ED0
- ldr r3, _020B3174 ; =0x021CE8F4
- mov r4, r2
-_020B2EAC:
- add r0, r3, r2, lsl #0x2
- str r4, [r0, #0x4]
- ldr r0, [r5, #0x0]
- add r2, r2, #0x1
- ldrh r1, [r0, #0x2]
- mov r0, r2, lsl #0x10
- mov r2, r0, lsr #0x10
- cmp r2, r1
- blo _020B2EAC
-_020B2ED0:
- ldr r0, _020B3178 ; =0x021CDD6C
- mov r6, #0x1
- ldr r1, [r0, #0x0]
- ldr r0, _020B3174 ; =0x021CE8F4
- str r6, [r0, #0x404]
- ldr r0, [r1, #0x80]
- cmp r0, #0x0
- beq _020B2FD8
- bl FUN_020B4948
-_020B2EF4: ; 0x020B2EF4
- str r0, [sp, #0x0]
- mov r0, r6
- bl FUN_020B497C
- ldr r0, _020B3178 ; =0x021CDD6C
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x80]
- bl FUN_020B4958
- ldr r2, [r5, #0x0]
- mov r7, #0x0
- ldrh r0, [r2, #0x0]
- cmp r0, #0x0
- bls _020B2FC0
- mov r11, r7
-_020B2F28:
- ldr r0, [r2, #0x4]
- ldr r9, [r5, #0xc]
- add r10, r0, r7, lsl #0x3
- ldrh r0, [r10, #0x6]
- and r0, r0, #0xff00
- mov r0, r0, lsl #0x8
- mov r8, r0, lsr #0x10
- ldr r0, _020B3174 ; =0x021CE8F4
- strh r8, [r0, #0x0]
- bl FUN_020B2B58
- ldr r0, _020B3178 ; =0x021CDD6C
- ldrsh r4, [r10, #0x4]
- ldr r0, [r0, #0x0]
- ldrsh r10, [r10, #0x2]
- bl FUN_020B4F88
-_020B2F64: ; 0x020B2F64
- cmp r0, #0x0
- ldr r0, _020B3178 ; =0x021CDD6C
- rsbne r10, r10, #0x0
- ldr r0, [r0, #0x0]
- bl FUN_020B4F74
-_020B2F78: ; 0x020B2F78
- cmp r0, #0x0
- rsbne r4, r4, #0x0
- mov r2, r11
- mov r0, r10, lsl #0xc
- mov r1, r4, lsl #0xc
- bl FUN_020B2A08
- mov r0, #0x58
- mla r0, r8, r0, r9
- bl FUN_020B3554
- mov r0, r6
- bl FUN_020B2B08
- ldr r2, [r5, #0x0]
- add r0, r7, #0x1
- mov r0, r0, lsl #0x10
- ldrh r1, [r2, #0x0]
- mov r7, r0, lsr #0x10
- cmp r7, r1
- blo _020B2F28
-_020B2FC0:
- mov r0, #0x0
- bl FUN_020B497C
-_020B2FC8: ; 0x020B2FC8
- ldr r0, [sp, #0x0]
- bl FUN_020B4958
- bl FUN_020B4968
- b _020B3088
-_020B2FD8:
- ldr r2, [r5, #0x0]
- mov r7, #0x0
- ldrh r0, [r2, #0x0]
- cmp r0, #0x0
- bls _020B3088
- str r7, [sp, #0x4]
- mov r11, #0x58
-_020B2FF4:
- ldr r0, [r2, #0x4]
- ldr r9, [r5, #0xc]
- add r10, r0, r7, lsl #0x3
- ldrh r0, [r10, #0x6]
- and r0, r0, #0xff00
- mov r0, r0, lsl #0x8
- mov r8, r0, lsr #0x10
- ldr r0, _020B3174 ; =0x021CE8F4
- strh r8, [r0, #0x0]
- bl FUN_020B2B58
- ldr r0, _020B3178 ; =0x021CDD6C
- ldrsh r4, [r10, #0x4]
- ldr r0, [r0, #0x0]
- ldrsh r10, [r10, #0x2]
- bl FUN_020B4F88
-_020B3030: ; 0x020B3030
- cmp r0, #0x0
- ldr r0, _020B3178 ; =0x021CDD6C
- rsbne r10, r10, #0x0
- ldr r0, [r0, #0x0]
- bl FUN_020B4F74
-_020B3044: ; 0x020B3044
- cmp r0, #0x0
- rsbne r4, r4, #0x0
- ldr r2, [sp, #0x4]
- mov r0, r10, lsl #0xc
- mov r1, r4, lsl #0xc
- bl FUN_020B2A08
- mla r0, r8, r11, r9
- bl FUN_020B3554
- mov r0, r6
- bl FUN_020B2B08
- ldr r2, [r5, #0x0]
- add r0, r7, #0x1
- mov r0, r0, lsl #0x10
- ldrh r1, [r2, #0x0]
- mov r7, r0, lsr #0x10
- cmp r7, r1
- blo _020B2FF4
-_020B3088:
- ldr r0, _020B3174 ; =0x021CE8F4
- mov r1, #0x0
- str r1, [r0, #0x404]
- add sp, sp, #0xc
- ldmia sp!, {r4-r11,pc}
-_020B309C:
- ldr r0, _020B3178 ; =0x021CDD6C
- ldr r7, [r5, #0xc]
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x80]
- cmp r0, #0x0
- beq _020B312C
- bl FUN_020B4948
- mov r6, r0
- mov r0, #0x1
- bl FUN_020B497C
- ldr r0, _020B3178 ; =0x021CDD6C
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x80]
- bl FUN_020B4958
-_020B30D4: ; 0x020B30D4
- ldr r0, [r5, #0x0]
- mov r4, #0x0
- ldrh r0, [r0, #0x0]
- cmp r0, #0x0
- bls _020B3110
- mov r8, #0x28
-_020B30EC:
- mla r0, r4, r8, r7
- bl FUN_020B3474
- ldr r1, [r5, #0x0]
- add r0, r4, #0x1
- mov r0, r0, lsl #0x10
- ldrh r1, [r1, #0x0]
- mov r4, r0, lsr #0x10
- cmp r4, r1
- blo _020B30EC
-_020B3110:
- mov r0, #0x0
- bl FUN_020B497C
- mov r0, r6
- bl FUN_020B4958
- bl FUN_020B4968
- add sp, sp, #0xc
- ldmia sp!, {r4-r11,pc}
-_020B312C:
- ldr r0, [r5, #0x0]
- mov r4, #0x0
- ldrh r0, [r0, #0x0]
- cmp r0, #0x0
- addls sp, sp, #0xc
- ldmlsia sp!, {r4-r11,pc}
-_020B3144: ; 0x020B3144
- mov r6, #0x28
-_020B3148:
- mla r0, r4, r6, r7
- bl FUN_020B3474
- ldr r1, [r5, #0x0]
- add r0, r4, #0x1
- mov r0, r0, lsl #0x10
- ldrh r1, [r1, #0x0]
- mov r4, r0, lsr #0x10
- cmp r4, r1
- blo _020B3148
- add sp, sp, #0xc
- ldmia sp!, {r4-r11,pc}
- .balign 4
-_020B3174: .word 0x021CE8F4
-_020B3178: .word 0x021CDD6C
-
- arm_func_start FUN_020B317C
-FUN_020B317C: ; 0x020B317C
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- ldr r1, _020B31EC ; =0x021CDD6C
- mov r5, r0
- ldr r1, [r1, #0x0]
- ldr r1, [r1, #0x80]
- cmp r1, #0x0
- beq _020B31E0
- bl FUN_020B4948
- mov r4, r0
- mov r0, #0x1
- bl FUN_020B497C
- ldr r0, _020B31EC ; =0x021CDD6C
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x80]
- bl FUN_020B4958
- mov r0, r5
- bl FUN_020B3554
-_020B31C4: ; 0x020B31C4
- mov r0, #0x0
- bl FUN_020B497C
- mov r0, r4
- bl FUN_020B4958
- bl FUN_020B4968
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,pc}
-_020B31E0:
- bl FUN_020B3554
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,pc}
- .balign 4
-_020B31EC: .word 0x021CDD6C
-
- arm_func_start FUN_020B31F0
-FUN_020B31F0: ; 0x020B31F0
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r1, _020B3260 ; =0x04000448
- mov r2, #0x1
- ldr r0, _020B3264 ; =0x021CDD6C
- str r2, [r1, #0x0]
- ldr r2, [r0, #0x0]
- ldr r3, [r2, #0x7c]
- cmp r3, #0x0
- beq _020B324C
- ands r0, r3, #0x1
- ldrne r0, _020B3268 ; =0x021CDD68
- movne r1, #0x0
- strne r1, [r0, #0x0]
- ands r0, r3, #0x2
- beq _020B323C
- mov r0, #0x0
- str r0, [r2, #0x74]
- bl FUN_020B4DA0
-_020B323C:
- ldr r0, _020B3264 ; =0x021CDD6C
- mov r1, #0x0
- ldr r0, [r0, #0x0]
- str r1, [r0, #0x7c]
-_020B324C:
- ldr r0, _020B3264 ; =0x021CDD6C
- mov r1, #0x0
- str r1, [r0, #0x0]
- add sp, sp, #0x4
- ldmia sp!, {pc}
- .balign 4
-_020B3260: .word 0x04000448
-_020B3264: .word 0x021CDD6C
-_020B3268: .word 0x021CDD68
-
- arm_func_start FUN_020B326C
-FUN_020B326C: ; 0x020B326C
- stmdb sp!, {r4-r8,lr}
- ldr r5, _020B330C ; =0x021CDD60
- ldr r3, _020B3310 ; =0x021CDD6C
- ldrh r6, [r5, #0x0]
- ldr r2, _020B3314 ; =0x021CDD70
- mov r4, #0x0
- ldr r7, _020B3318 ; =0x0000FFFE
- ldr r1, _020B331C ; =0x02106570
- str r0, [r3, #0x0]
- str r4, [r2, #0x0]
- strh r7, [r1, #0x0]
- cmp r6, #0x0
- ble _020B32D0
- ldr r8, _020B3320 ; =0x021CE4F4
- mvn r7, #0x0
- mov r6, #0x10
-_020B32AC:
- mov r0, r7
- mov r2, r6
- add r1, r8, #0x10
- bl MIi_CpuClearFast
- ldrh r0, [r5, #0x0]
- add r4, r4, #0x1
- add r8, r8, #0x20
- cmp r4, r0
- blt _020B32AC
-_020B32D0:
- ldr r4, _020B330C ; =0x021CDD60
- mov r0, #0x0
- ldr r3, _020B3324 ; =0x021CDD64
- ldr r1, _020B3328 ; =0x021CDDF4
- mov r2, #0x100
- strh r0, [r4, #0x0]
- strh r0, [r3, #0x0]
- bl MIi_CpuClearFast
- ldr r1, _020B332C ; =0x04000444
- mov r2, #0x0
- ldr r0, _020B3330 ; =0x04000454
- str r2, [r1, #0x0]
- str r2, [r0, #0x0]
- bl FUN_020B4178
- ldmia sp!, {r4-r8,pc}
- .balign 4
-_020B330C: .word 0x021CDD60
-_020B3310: .word 0x021CDD6C
-_020B3314: .word 0x021CDD70
-_020B3318: .word 0x0000FFFE
-_020B331C: .word 0x02106570
-_020B3320: .word 0x021CE4F4
-_020B3324: .word 0x021CDD64
-_020B3328: .word 0x021CDDF4
-_020B332C: .word 0x04000444
-_020B3330: .word 0x04000454
-
- arm_func_start FUN_020B3334
-FUN_020B3334: ; 0x020B3334
- stmdb sp!, {r4,lr}
- mov r4, r0
- mov r1, r4
- mov r0, #0x0
- mov r2, #0x48
- bl MIi_CpuClear16
- mov r0, #0x1
- str r0, [r4, #0x10]
- mov r0, #0x3
- ldr r1, _020B3380 ; =FUN_020B3EE0
- str r0, [r4, #0x14]
- ldr r0, _020B3384 ; =FUN_020B3E48
- str r1, [r4, #0x18]
- ldr r1, _020B3388 ; =FUN_020B3C40
- str r0, [r4, #0x1c]
- ldr r0, _020B338C ; =FUN_020B3B90
- str r1, [r4, #0x20]
- str r0, [r4, #0x24]
- ldmia sp!, {r4,pc}
- .balign 4
-_020B3380: .word FUN_020B3EE0
-_020B3384: .word FUN_020B3E48
-_020B3388: .word FUN_020B3C40
-_020B338C: .word FUN_020B3B90
-
- arm_func_start FUN_020B3390
-FUN_020B3390: ; 0x020B3390
- ldr r2, [r0, #0x70]
- str r2, [r1, #0x30]
- str r1, [r0, #0x70]
- bx lr
-
- arm_func_start FUN_020B33A0
-FUN_020B33A0: ; 0x020B33A0
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- mov r4, r0
- bl FUN_020B504C
- mov r7, #0x0
- str r7, [r4, #0x70]
- str r7, [r4, #0x74]
- str r7, [r4, #0x78]
- str r7, [r4, #0x7c]
- str r7, [r4, #0x80]
- str r7, [r4, #0x84]
- strh r7, [r4, #0x88]
- strh r7, [r4, #0x8a]
- str r7, [r4, #0x8c]
- str r7, [r4, #0x90]
- ldr r1, _020B3454 ; =0x021CDD70
- strh r7, [r4, #0x94]
- ldr r2, _020B3458 ; =0x0000FFFE
- ldr r0, _020B345C ; =0x02106570
- ldr r6, _020B3460 ; =0x021CE4F4
- str r7, [r1, #0x0]
- strh r2, [r0, #0x0]
- mvn r5, #0x0
- mov r4, #0x10
-_020B3400:
- mov r0, r5
- mov r2, r4
- add r1, r6, #0x10
- bl MIi_CpuClearFast
- add r7, r7, #0x1
- cmp r7, #0x20
- add r6, r6, #0x20
- blt _020B3400
- ldr ip, _020B3464 ; =0x021CDD60
- mov r0, #0x0
- ldr r3, _020B3468 ; =0x021CDD64
- ldr r1, _020B346C ; =0x021CDDF4
- mov r2, #0x100
- strh r0, [r12, #0x0]
- strh r0, [r3, #0x0]
- bl MIi_CpuClearFast
- ldr r0, _020B3470 ; =0x021CDD68
- mov r1, #0x0
- str r1, [r0, #0x0]
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,pc}
- .balign 4
-_020B3454: .word 0x021CDD70
-_020B3458: .word 0x0000FFFE
-_020B345C: .word 0x02106570
-_020B3460: .word 0x021CE4F4
-_020B3464: .word 0x021CDD60
-_020B3468: .word 0x021CDD64
-_020B346C: .word 0x021CDDF4
-_020B3470: .word 0x021CDD68
-
- arm_func_start FUN_020B3474
-FUN_020B3474: ; 0x020B3474
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- mov r5, r0
- ldr r0, [r5, #0x8]
- cmp r0, #0x0
- addeq sp, sp, #0x4
- ldmeqia sp!, {r4-r7,pc}
-_020B3490: ; 0x020B3490
- ldr r4, [r5, #0x0]
- bl FUN_020B2B58
- ldrh r0, [r5, #0x1e]
- ands r0, r0, #0x8
- beq _020B34E4
- ldr r0, _020B354C ; =0x021CDD6C
- ldrsh r7, [r5, #0x1a]
- ldr r0, [r0, #0x0]
- ldrsh r6, [r5, #0x18]
- bl FUN_020B4F88
-_020B34B8: ; 0x020B34B8
- cmp r0, #0x0
- ldr r0, _020B354C ; =0x021CDD6C
- rsbne r6, r6, #0x0
- ldr r0, [r0, #0x0]
- bl FUN_020B4F74
-_020B34CC: ; 0x020B34CC
- cmp r0, #0x0
- rsbne r7, r7, #0x0
- mov r0, r6, lsl #0xc
- mov r1, r7, lsl #0xc
- mov r2, #0x0
- bl FUN_020B2A08
-_020B34E4:
- ldrh r0, [r5, #0x1e]
- ands r0, r0, #0x4
- beq _020B3518
- ldrh r0, [r5, #0x1c]
- ldr r2, _020B3550 ; =0x020FFA38
- mov r0, r0, asr #0x4
- mov r1, r0, lsl #0x1
- add r0, r1, #0x1
- mov r3, r1, lsl #0x1
- mov r1, r0, lsl #0x1
- ldrsh r0, [r2, r3]
- ldrsh r1, [r2, r1]
- bl FUN_020B2794
-_020B3518:
- ldrh r0, [r5, #0x1e]
- ands r0, r0, #0x2
- beq _020B3534
- ldr r0, [r5, #0x10]
- ldr r1, [r5, #0x14]
- mov r2, #0x1000
- bl FUN_020B28B4
-_020B3534:
- mov r0, r4
- bl FUN_020B3554
- mov r0, #0x1
- bl FUN_020B2B08
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,pc}
- .balign 4
-_020B354C: .word 0x021CDD6C
-_020B3550: .word 0x020FFA38
-
- arm_func_start FUN_020B3554
-FUN_020B3554:
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- mov r5, r0
- ldrh r0, [r5, #0x4a]
- ldr r4, [r5, #0x2c]
- cmp r0, #0x0
- bne _020B35C0
- ldr r2, [r5, #0x34]
- mvn r0, #0x0
- cmp r2, r0
- movne r0, #0x1
- moveq r0, #0x0
- cmp r0, #0x0
- beq _020B35B0
- ldr r1, _020B36B4 ; =0x02106574
- mov r0, r4
- str r2, [r1, #0x0]
- bl FUN_020B36C0
- ldr r0, _020B36B4 ; =0x02106574
- mvn r1, #0x0
- str r1, [r0, #0x0]
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,pc}
-_020B35B0:
- mov r0, r4
- bl FUN_020B36C0
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,pc}
-_020B35C0:
- bl FUN_020B2B58
- ldrh r0, [r5, #0x4a]
- ands r0, r0, #0x8
- beq _020B3610
- ldr r0, _020B36B8 ; =0x021CDD6C
- ldrsh r7, [r5, #0x46]
- ldr r0, [r0, #0x0]
- ldrsh r6, [r5, #0x44]
- bl FUN_020B4F88
-_020B35E4: ; 0x020B35E4
- cmp r0, #0x0
- ldr r0, _020B36B8 ; =0x021CDD6C
- rsbne r6, r6, #0x0
- ldr r0, [r0, #0x0]
- bl FUN_020B4F74
-_020B35F8: ; 0x020B35F8
- cmp r0, #0x0
- rsbne r7, r7, #0x0
- mov r0, r6, lsl #0xc
- mov r1, r7, lsl #0xc
- mov r2, #0x0
- bl FUN_020B2A08
-_020B3610:
- ldrh r0, [r5, #0x4a]
- ands r0, r0, #0x4
- beq _020B3644
- ldrh r0, [r5, #0x48]
- ldr r2, _020B36BC ; =0x020FFA38
- mov r0, r0, asr #0x4
- mov r1, r0, lsl #0x1
- add r0, r1, #0x1
- mov r3, r1, lsl #0x1
- mov r1, r0, lsl #0x1
- ldrsh r0, [r2, r3]
- ldrsh r1, [r2, r1]
- bl FUN_020B2794
-_020B3644:
- ldrh r0, [r5, #0x4a]
- ands r0, r0, #0x2
- beq _020B3660
- ldr r0, [r5, #0x3c]
- ldr r1, [r5, #0x40]
- mov r2, #0x1000
- bl FUN_020B28B4
-_020B3660:
- ldr r2, [r5, #0x34]
- mvn r0, #0x0
- cmp r2, r0
- movne r0, #0x1
- moveq r0, #0x0
- cmp r0, #0x0
- beq _020B369C
- ldr r1, _020B36B4 ; =0x02106574
- mov r0, r4
- str r2, [r1, #0x0]
- bl FUN_020B36C0
- ldr r0, _020B36B4 ; =0x02106574
- mvn r1, #0x0
- str r1, [r0, #0x0]
- b _020B36A4
-_020B369C:
- mov r0, r4
- bl FUN_020B36C0
-_020B36A4:
- mov r0, #0x1
- bl FUN_020B2B08
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,pc}
- .balign 4
-_020B36B4: .word 0x02106574
-_020B36B8: .word 0x021CDD6C
-_020B36BC: .word 0x020FFA38
-
- arm_func_start FUN_020B36C0
-FUN_020B36C0: ; 0x020B36C0
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0x4
- ldr r5, _020B3B54 ; =0x021CDD6C
- mov r10, r0
- ldr r0, [r5, #0x0]
- ldr r1, [r0, #0x7c]
- str r0, [sp, #0x0]
- ldr r9, [r0, #0x70]
- ands r0, r1, #0x2
- beq _020B38EC
- ldr r0, [r9, #0x14]
- cmp r0, #0x0
- beq _020B3840
- ldr r0, _020B3B58 ; =0x021CDD68
- mov r1, #0x0
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- bne _020B3720
- ldr r2, _020B3B5C ; =0x02106570
- ldr r0, _020B3B60 ; =0x0000FFFE
- ldrh r2, [r2, #0x0]
- cmp r2, r0
- movne r0, #0x1
- bne _020B3724
-_020B3720:
- mov r0, #0x0
-_020B3724:
- cmp r0, #0x0
- beq _020B37AC
- ldr r0, _020B3B64 ; =0x021CE8F4
- ldr r1, [r0, #0x404]
- cmp r1, #0x0
- beq _020B3788
- ldrh r1, [r0, #0x0]
- ldr r0, _020B3B68 ; =0x021CE8F8
- ldr r1, [r0, r1, lsl #0x2]
- cmp r1, #0x0
- bne _020B37AC
- bl FUN_020B4010
- ldr r0, _020B3B6C ; =0x021CDD70
- ldr r2, _020B3B70 ; =0x021CDDF4
- ldr r0, [r0, #0x0]
- ldr r1, _020B3B64 ; =0x021CE8F4
- mov r0, r0, lsl #0x10
- mov r0, r0, lsr #0xd
- ldrh r3, [r2, r0]
- ldr r4, _020B3B74 ; =0x021CE4F4
- ldrh r2, [r1, #0x0]
- ldr r0, _020B3B68 ; =0x021CE8F8
- add r1, r4, r3, lsl #0x5
- str r1, [r0, r2, lsl #0x2]
- b _020B37AC
-_020B3788:
- bl FUN_020B4010
- ldr r0, _020B3B6C ; =0x021CDD70
- ldr r1, _020B3B70 ; =0x021CDDF4
- ldr r0, [r0, #0x0]
- ldr r2, _020B3B74 ; =0x021CE4F4
- mov r0, r0, lsl #0x10
- mov r0, r0, lsr #0xd
- ldrh r0, [r1, r0]
- add r1, r2, r0, lsl #0x5
-_020B37AC:
- ldr r0, _020B3B58 ; =0x021CDD68
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- ldreq r0, _020B3B6C ; =0x021CDD70
- ldreq r3, _020B3B78 ; =0x021CDEF4
- ldreq r2, [r0, #0x0]
- moveq r0, #0x18
- mlaeq r0, r2, r0, r3
- beq _020B37FC
- ldr r2, _020B3B6C ; =0x021CDD70
- mov r0, #0x18
- ldr r2, [r2, #0x0]
- ldr r3, _020B3B7C ; =0x021CDF04
- mul r4, r2, r0
- ldr r2, _020B3B80 ; =0x021CDF08
- ldr r3, [r3, r4]
- ldr r0, _020B3B84 ; =0x02106578
- ldr r2, [r2, r4]
- str r3, [r0, #0x10]
- str r2, [r0, #0x14]
-_020B37FC:
- bl FUN_020B4FAC
- ldr r1, _020B3B88 ; =0x02106574
- mvn r0, #0x0
- ldr r1, [r1, #0x0]
- cmp r1, r0
- movne r0, #0x1
- moveq r0, #0x0
- cmp r0, #0x0
- beq _020B3830
- mov r0, r10
- bl FUN_020B4BF4
- add sp, sp, #0x4
- ldmia sp!, {r4-r11,pc}
-_020B3830:
- mov r0, r10
- bl FUN_020B4CDC
- add sp, sp, #0x4
- ldmia sp!, {r4-r11,pc}
-_020B3840:
- ldr r0, _020B3B6C ; =0x021CDD70
- ldr r1, _020B3B8C ; =0x021CDD74
- ldr r2, [r0, #0x0]
- ldr r0, [sp, #0x0]
- ldr r1, [r1, r2, lsl #0x2]
- bl FUN_020B4FA4
- ldr r0, _020B3B58 ; =0x021CDD68
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- ldreq r0, _020B3B6C ; =0x021CDD70
- ldreq r2, _020B3B78 ; =0x021CDEF4
- ldreq r1, [r0, #0x0]
- moveq r0, #0x18
- mlaeq r0, r1, r0, r2
- beq _020B38A8
- ldr r1, _020B3B6C ; =0x021CDD70
- mov r0, #0x18
- ldr r1, [r1, #0x0]
- ldr r2, _020B3B7C ; =0x021CDF04
- mul r3, r1, r0
- ldr r1, _020B3B80 ; =0x021CDF08
- ldr r2, [r2, r3]
- ldr r0, _020B3B84 ; =0x02106578
- ldr r1, [r1, r3]
- str r2, [r0, #0x10]
- str r1, [r0, #0x14]
-_020B38A8:
- bl FUN_020B4FC4
- ldr r1, _020B3B88 ; =0x02106574
- mvn r0, #0x0
- ldr r1, [r1, #0x0]
- cmp r1, r0
- movne r0, #0x1
- moveq r0, #0x0
- cmp r0, #0x0
- beq _020B38DC
- mov r0, r10
- bl FUN_020B4BF4
- add sp, sp, #0x4
- ldmia sp!, {r4-r11,pc}
-_020B38DC:
- mov r0, r10
- bl FUN_020B4CDC
- add sp, sp, #0x4
- ldmia sp!, {r4-r11,pc}
-_020B38EC:
- cmp r9, #0x0
- addeq sp, sp, #0x4
- ldmeqia sp!, {r4-r11,pc}
-_020B38F8: ; 0x020B38F8
- ldr r4, _020B3B6C ; =0x021CDD70
- ldr fp, _020B3B78 ; =0x021CDEF4
- mov r7, #0x0
- mov r6, #0x1
-_020B3908:
- ldr r0, [r9, #0x10]
- cmp r0, #0x0
- beq _020B3B40
- ldr r0, [r9, #0x14]
- cmp r0, #0x0
- beq _020B3A8C
- ldr r8, [r5, #0x0]
- mov r1, r9
- str r9, [r8, #0x74]
- mov r0, r8
- bl FUN_020B4F9C
- ldr r1, [r9, #0x28]
- ldr r2, [r9, #0x2c]
- mov r0, r8
- bl FUN_020B5034
- mov r0, r8
- bl FUN_020B4E0C
- ldr r0, _020B3B58 ; =0x021CDD68
- mov r1, r7
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- bne _020B3978
- ldr r0, _020B3B5C ; =0x02106570
- ldrh r2, [r0, #0x0]
- ldr r0, _020B3B60 ; =0x0000FFFE
- cmp r2, r0
- movne r0, r6
- bne _020B397C
-_020B3978:
- mov r0, r7
-_020B397C:
- cmp r0, #0x0
- beq _020B3A04
- ldr r0, _020B3B64 ; =0x021CE8F4
- ldr r0, [r0, #0x404]
- cmp r0, #0x0
- beq _020B39E4
- ldr r0, _020B3B64 ; =0x021CE8F4
- ldrh r1, [r0, #0x0]
- add r0, r0, r1, lsl #0x2
- ldr r1, [r0, #0x4]
- cmp r1, #0x0
- bne _020B3A04
- bl FUN_020B4010
- ldr r0, _020B3B64 ; =0x021CE8F4
- ldr r2, [r4, #0x0]
- ldrh r1, [r0, #0x0]
- mov r0, r2, lsl #0x10
- mov r2, r0, lsr #0xd
- ldr r0, _020B3B70 ; =0x021CDDF4
- ldrh r3, [r0, r2]
- ldr r0, _020B3B64 ; =0x021CE8F4
- add r2, r0, r1, lsl #0x2
- ldr r0, _020B3B74 ; =0x021CE4F4
- add r1, r0, r3, lsl #0x5
- str r1, [r2, #0x4]
- b _020B3A04
-_020B39E4:
- bl FUN_020B4010
-_020B39E8: ; 0x020B39E8
- ldr r0, [r4, #0x0]
- mov r0, r0, lsl #0x10
- mov r1, r0, lsr #0xd
- ldr r0, _020B3B70 ; =0x021CDDF4
- ldrh r1, [r0, r1]
- ldr r0, _020B3B74 ; =0x021CE4F4
- add r1, r0, r1, lsl #0x5
-_020B3A04:
- ldr r0, _020B3B58 ; =0x021CDD68
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- ldreq r2, [r4, #0x0]
- moveq r0, #0x18
- mlaeq r0, r2, r0, r11
- beq _020B3A44
- ldr r2, [r4, #0x0]
- mov r0, #0x18
- mla r8, r2, r0, r11
- ldr r0, _020B3B84 ; =0x02106578
- ldr r3, [r8, #0x10]
- mov r2, r0
- str r3, [r2, #0x10]
- ldr r3, [r8, #0x14]
- str r3, [r2, #0x14]
-_020B3A44:
- bl FUN_020B4FAC
- ldr r0, _020B3B88 ; =0x02106574
- ldr r1, [r0, #0x0]
- mvn r0, #0x0
- cmp r1, r0
- movne r0, r6
- moveq r0, r7
- cmp r0, #0x0
- beq _020B3A74
- mov r0, r10
- bl FUN_020B4BF4
- b _020B3A7C
-_020B3A74:
- mov r0, r10
- bl FUN_020B4CDC
-_020B3A7C:
- ldr r0, [r5, #0x0]
- str r7, [r0, #0x74]
- bl FUN_020B4DA0
- b _020B3B40
-_020B3A8C:
- ldr r8, [r5, #0x0]
- mov r1, r9
- mov r0, r8
- str r9, [r8, #0x74]
- bl FUN_020B4F9C
- mov r0, r8
- bl FUN_020B4E0C
- ldr r2, [r4, #0x0]
- ldr r1, _020B3B8C ; =0x021CDD74
- ldr r0, [sp, #0x0]
- ldr r1, [r1, r2, lsl #0x2]
- bl FUN_020B4FA4
- ldr r0, _020B3B58 ; =0x021CDD68
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- ldreq r1, [r4, #0x0]
- moveq r0, #0x18
- mlaeq r0, r1, r0, r11
- beq _020B3AFC
- ldr r1, [r4, #0x0]
- mov r0, #0x18
- mla r3, r1, r0, r11
- ldr r0, _020B3B84 ; =0x02106578
- ldr r2, [r3, #0x10]
- mov r1, r0
- str r2, [r1, #0x10]
- ldr r2, [r3, #0x14]
- str r2, [r1, #0x14]
-_020B3AFC:
- bl FUN_020B4FC4
- ldr r0, _020B3B88 ; =0x02106574
- ldr r1, [r0, #0x0]
- mvn r0, #0x0
- cmp r1, r0
- movne r0, r6
- moveq r0, r7
- cmp r0, #0x0
- beq _020B3B2C
- mov r0, r10
- bl FUN_020B4BF4
- b _020B3B34
-_020B3B2C:
- mov r0, r10
- bl FUN_020B4CDC
-_020B3B34:
- ldr r0, [r5, #0x0]
- str r7, [r0, #0x74]
- bl FUN_020B4DA0
-_020B3B40:
- ldr r9, [r9, #0x30]
- cmp r9, #0x0
- bne _020B3908
- add sp, sp, #0x4
- ldmia sp!, {r4-r11,pc}
- .balign 4
-_020B3B54: .word 0x021CDD6C
-_020B3B58: .word 0x021CDD68
-_020B3B5C: .word 0x02106570
-_020B3B60: .word 0x0000FFFE
-_020B3B64: .word 0x021CE8F4
-_020B3B68: .word 0x021CE8F8
-_020B3B6C: .word 0x021CDD70
-_020B3B70: .word 0x021CDDF4
-_020B3B74: .word 0x021CE4F4
-_020B3B78: .word 0x021CDEF4
-_020B3B7C: .word 0x021CDF04
-_020B3B80: .word 0x021CDF08
-_020B3B84: .word 0x02106578
-_020B3B88: .word 0x02106574
-_020B3B8C: .word 0x021CDD74
-
- arm_func_start FUN_020B3B90
-FUN_020B3B90: ; 0x020B3B90
- stmdb sp!, {r4-r6,lr}
- sub sp, sp, #0x8
- ldr r0, _020B3C24 ; =0x021CDD6C
- mov r12, r1
- ldr r0, [r0, #0x0]
- mov r3, r2
- ldr r1, [r0, #0x74]
- ldr r2, [r1, #0x44]
- cmp r2, #0x0
- addeq sp, sp, #0x8
- ldmeqia sp!, {r4-r6,pc}
-_020B3BBC: ; 0x020B3BBC
- ldr r2, _020B3C28 ; =0x021CDD68
- ldr r2, [r2, #0x0]
- cmp r2, #0x0
- ldreq r2, _020B3C2C ; =0x021CDD70
- ldreq r4, _020B3C30 ; =0x021CDEF4
- ldreq lr, [r2, #0x0]
- moveq r2, #0x18
- mlaeq r6, lr, r2, r4
- beq _020B3C0C
- ldr lr, _020B3C2C ; =0x021CDD70
- mov r2, #0x18
- ldr lr, [lr, #0x0]
- ldr r4, _020B3C34 ; =0x021CDF04
- mul r5, lr, r2
- ldr r2, _020B3C38 ; =0x021CDF08
- ldr r4, [r4, r5]
- ldr r6, _020B3C3C ; =0x02106578
- ldr r2, [r2, r5]
- str r4, [r6, #0x10]
- str r2, [r6, #0x14]
-_020B3C0C:
- str r6, [sp, #0x0]
- ldr lr, [r1, #0x44]
- mov r2, r12
- blx lr
- add sp, sp, #0x8
- ldmia sp!, {r4-r6,pc}
- .balign 4
-_020B3C24: .word 0x021CDD6C
-_020B3C28: .word 0x021CDD68
-_020B3C2C: .word 0x021CDD70
-_020B3C30: .word 0x021CDEF4
-_020B3C34: .word 0x021CDF04
-_020B3C38: .word 0x021CDF08
-_020B3C3C: .word 0x02106578
-
- arm_func_start FUN_020B3C40
-FUN_020B3C40: ; 0x020B3C40
- stmdb sp!, {r4-r6,lr}
- sub sp, sp, #0x8
- ldr r3, _020B3E2C ; =0x021CDD6C
- add r4, r0, #0x38
- ldr r0, [r3, #0x0]
- mov r6, r1
- mov r5, r2
- bl FUN_020B278C
-_020B3C60: ; 0x020B3C60
- cmp r0, #0x0
- beq _020B3C90
- ldrh r1, [r4, #0x4]
- and r1, r1, #0xf000
- mov r1, r1, lsl #0x4
- mov r1, r1, lsr #0x10
- bl FUN_020B10B0
- ldr r1, [r4, #0x4]
- and r0, r0, #0xf
- bic r1, r1, #0xf000
- orr r0, r1, r0, lsl #0xc
- str r0, [r4, #0x4]
-_020B3C90:
- ldr r0, _020B3E2C ; =0x021CDD6C
- ldr r1, [r0, #0x0]
- ldr r0, [r1, #0x84]
- cmp r0, #0x0
- beq _020B3DA4
- ldr r0, [r1, #0x84]
- ands r0, r0, #0x1
- beq _020B3CC8
- ldrh r0, [r1, #0x88]
- ldr r1, [r4, #0x4]
- bic r1, r1, #0xc00
- and r0, r0, #0x3
- orr r0, r1, r0, lsl #0xa
- str r0, [r4, #0x4]
-_020B3CC8:
- ldr r0, _020B3E2C ; =0x021CDD6C
- ldr r1, [r0, #0x0]
- ldr r0, [r1, #0x84]
- ands r0, r0, #0x2
- beq _020B3CF4
- ldrh r0, [r1, #0x8a]
- ldr r1, [r4, #0x4]
- bic r1, r1, #0xf000
- and r0, r0, #0xf
- orr r0, r1, r0, lsl #0xc
- str r0, [r4, #0x4]
-_020B3CF4:
- ldr r0, _020B3E2C ; =0x021CDD6C
- ldr r1, [r0, #0x0]
- ldr r0, [r1, #0x84]
- ands r0, r0, #0x10
- beq _020B3D2C
- ldr r2, [r4, #0x4]
- ldrh r0, [r1, #0x94]
- mov r1, r2, lsl #0x10
- bic r2, r2, #0xf000
- add r0, r0, r1, lsr #0x1c
- and r0, r0, #0xf
- and r0, r0, #0xf
- orr r0, r2, r0, lsl #0xc
- str r0, [r4, #0x4]
-_020B3D2C:
- ldr r0, _020B3E2C ; =0x021CDD6C
- ldr r1, [r0, #0x0]
- ldr r0, [r1, #0x84]
- ands r0, r0, #0x4
- beq _020B3D60
- ldr r0, [r1, #0x90]
- cmp r0, #0x0
- ldrne r0, [r4, #0x0]
- orrne r0, r0, #0x1000
- strne r0, [r4, #0x0]
- ldreq r0, [r4, #0x0]
- biceq r0, r0, #0x1000
- streq r0, [r4, #0x0]
-_020B3D60:
- ldr r0, _020B3E2C ; =0x021CDD6C
- ldr r1, [r0, #0x0]
- ldr r0, [r1, #0x84]
- ands r0, r0, #0x8
- beq _020B3DA4
- ldr r0, [r4, #0x0]
- ldrh r2, [r4, #0x4]
- ldr r1, [r1, #0x8c]
- bic r0, r0, #0xc00
- orr r0, r0, r1, lsl #0xa
- str r0, [r4, #0x0]
- ldrh r0, [r4, #0x4]
- and r1, r2, #0xf000
- mov r1, r1, asr #0xc
- bic r0, r0, #0xf000
- orr r0, r0, r1, lsl #0xc
- strh r0, [r4, #0x4]
-_020B3DA4:
- ldr r0, _020B3E2C ; =0x021CDD6C
- ldr r0, [r0, #0x0]
- ldr r1, [r0, #0x74]
- ldr r2, [r1, #0x40]
- cmp r2, #0x0
- addeq sp, sp, #0x8
- ldmeqia sp!, {r4-r6,pc}
-_020B3DC0: ; 0x020B3DC0
- ldr r2, _020B3E30 ; =0x021CDD68
- ldr r2, [r2, #0x0]
- cmp r2, #0x0
- ldreq r2, _020B3E34 ; =0x021CDD70
- ldreq r4, _020B3E38 ; =0x021CDEF4
- ldreq r3, [r2, #0x0]
- moveq r2, #0x18
- mlaeq r4, r3, r2, r4
- beq _020B3E10
- ldr r3, _020B3E34 ; =0x021CDD70
- mov r2, #0x18
- ldr r4, [r3, #0x0]
- ldr r3, _020B3E3C ; =0x021CDF04
- mul r12, r4, r2
- ldr r2, _020B3E40 ; =0x021CDF08
- ldr r3, [r3, r12]
- ldr r4, _020B3E44 ; =0x02106578
- ldr r2, [r2, r12]
- str r3, [r4, #0x10]
- str r2, [r4, #0x14]
-_020B3E10:
- str r4, [sp, #0x0]
- ldr r4, [r1, #0x40]
- mov r2, r6
- mov r3, r5
- blx r4
- add sp, sp, #0x8
- ldmia sp!, {r4-r6,pc}
- .balign 4
-_020B3E2C: .word 0x021CDD6C
-_020B3E30: .word 0x021CDD68
-_020B3E34: .word 0x021CDD70
-_020B3E38: .word 0x021CDEF4
-_020B3E3C: .word 0x021CDF04
-_020B3E40: .word 0x021CDF08
-_020B3E44: .word 0x02106578
-
- arm_func_start FUN_020B3E48
-FUN_020B3E48: ; 0x020B3E48
- stmdb sp!, {r4,lr}
- ldr r0, _020B3EC4 ; =0x021CDD6C
- mov r2, r1
- ldr r0, [r0, #0x0]
- ldr r1, [r0, #0x74]
- ldr r3, [r1, #0x3c]
- cmp r3, #0x0
- ldmeqia sp!, {r4,pc}
-_020B3E68: ; 0x020B3E68
- ldr r3, _020B3EC8 ; =0x021CDD68
- ldr r3, [r3, #0x0]
- cmp r3, #0x0
- ldreq r3, _020B3ECC ; =0x021CDD70
- ldreq lr, _020B3ED0 ; =0x021CDEF4
- ldreq r12, [r3, #0x0]
- moveq r3, #0x18
- mlaeq r3, r12, r3, lr
- beq _020B3EB8
- ldr ip, _020B3ECC ; =0x021CDD70
- mov r3, #0x18
- ldr r12, [r12, #0x0]
- ldr lr, _020B3ED4 ; =0x021CDF04
- mul r4, r12, r3
- ldr ip, _020B3ED8 ; =0x021CDF08
- ldr lr, [lr, r4]
- ldr r3, _020B3EDC ; =0x02106578
- ldr r12, [r12, r4]
- str lr, [r3, #0x10]
- str r12, [r3, #0x14]
-_020B3EB8:
- ldr r12, [r1, #0x3c]
- blx r12
- ldmia sp!, {r4,pc}
- .balign 4
-_020B3EC4: .word 0x021CDD6C
-_020B3EC8: .word 0x021CDD68
-_020B3ECC: .word 0x021CDD70
-_020B3ED0: .word 0x021CDEF4
-_020B3ED4: .word 0x021CDF04
-_020B3ED8: .word 0x021CDF08
-_020B3EDC: .word 0x02106578
-
- arm_func_start FUN_020B3EE0
-FUN_020B3EE0: ; 0x020B3EE0
- stmdb sp!, {r4-r6,lr}
- ldr r2, _020B3FF4 ; =0x021CDD6C
- mov r6, r0
- ldr r0, [r2, #0x0]
- mov r5, r1
- ldr r4, [r0, #0x74]
- ldr r0, [r4, #0x34]
- cmp r0, #0x0
- beq _020B3F7C
- ldr r0, _020B3FF8 ; =0x021CDD68
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- ldreq r0, _020B3FFC ; =0x021CDD70
- ldreq r1, _020B4000 ; =0x021CDEF4
- ldreq r2, [r0, #0x0]
- moveq r0, #0x18
- mlaeq r1, r2, r0, r1
- beq _020B3F54
- ldr r1, _020B3FFC ; =0x021CDD70
- mov r0, #0x18
- ldr r2, [r1, #0x0]
- ldr r1, _020B4004 ; =0x021CDF04
- mul r3, r2, r0
- ldr r0, _020B4008 ; =0x021CDF08
- ldr r2, [r1, r3]
- ldr r1, _020B400C ; =0x02106578
- ldr r0, [r0, r3]
- str r2, [r1, #0x10]
- str r0, [r1, #0x14]
-_020B3F54:
- ldr r3, [r4, #0x34]
- mov r0, r5
- mov r2, r4
- blx r3
- cmp r0, #0x0
- moveq r0, #0x0
- streq r0, [r6, #0x30]
- ldmeqia sp!, {r4-r6,pc}
-_020B3F74: ; 0x020B3F74
- mov r0, #0x1
- str r0, [r6, #0x30]
-_020B3F7C:
- ldr r0, [r4, #0x38]
- cmp r0, #0x0
- ldmeqia sp!, {r4-r6,pc}
-_020B3F88: ; 0x020B3F88
- ldr r0, _020B3FF8 ; =0x021CDD68
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- ldreq r0, _020B3FFC ; =0x021CDD70
- ldreq r2, _020B4000 ; =0x021CDEF4
- ldreq r1, [r0, #0x0]
- moveq r0, #0x18
- mlaeq r3, r1, r0, r2
- beq _020B3FD8
- ldr r1, _020B3FFC ; =0x021CDD70
- mov r0, #0x18
- ldr r2, [r1, #0x0]
- ldr r1, _020B4004 ; =0x021CDF04
- mul r6, r2, r0
- ldr r0, _020B4008 ; =0x021CDF08
- ldr r1, [r1, r6]
- ldr r3, _020B400C ; =0x02106578
- ldr r0, [r0, r6]
- str r1, [r3, #0x10]
- str r0, [r3, #0x14]
-_020B3FD8:
- ldr r0, _020B3FF4 ; =0x021CDD6C
- ldr r6, [r4, #0x38]
- ldr r0, [r0, #0x0]
- mov r1, r4
- mov r2, r5
- blx r6
- ldmia sp!, {r4-r6,pc}
- .balign 4
-_020B3FF4: .word 0x021CDD6C
-_020B3FF8: .word 0x021CDD68
-_020B3FFC: .word 0x021CDD70
-_020B4000: .word 0x021CDEF4
-_020B4004: .word 0x021CDF04
-_020B4008: .word 0x021CDF08
-_020B400C: .word 0x02106578
-
- arm_func_start FUN_020B4010
-FUN_020B4010:
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- ldr r0, _020B4154 ; =0x021CDD70
- ldr r1, _020B4158 ; =0x021CDDF4
- ldr r0, [r0, #0x0]
- mov r2, #0x1
- mov r0, r0, lsl #0x10
- add r3, r1, r0, lsr #0xd
- ldrh r0, [r3, #0x4]
- cmp r0, #0x1
- beq _020B4044
- cmp r0, #0x2
- movne r2, #0x0
-_020B4044:
- cmp r2, #0x0
- addeq sp, sp, #0x4
- ldmeqia sp!, {r4-r5,pc}
-_020B4050: ; 0x020B4050
- ldr r0, _020B415C ; =0x021CDD60
- mov r2, #0x10
- ldrh r4, [r0, #0x0]
- cmp r4, #0x1f
- addcc r1, r4, #0x1
- strcch r1, [r0, #0x0]
- ldr r0, _020B4160 ; =0x021CE4F4
- ldrh r5, [r3, #0x2]
- add r0, r0, r4, lsl #0x5
- add r1, r0, #0x10
- mvn r0, #0x0
- strh r4, [r3, #0x0]
- bl MIi_CpuClearFast
- ldr r0, _020B4154 ; =0x021CDD70
- ldr r1, _020B4164 ; =0x021CDD68
- ldr r0, [r0, #0x0]
- ldr r2, [r1, #0x0]
- mov r1, r0, lsl #0x10
- cmp r2, #0x0
- ldr r3, _020B4158 ; =0x021CDDF4
- mov r1, r1, lsr #0xd
- ldrh r1, [r3, r1]
- ldr r3, _020B4160 ; =0x021CE4F4
- moveq r2, #0x18
- add r1, r3, r1, lsl #0x5
- ldreq r3, _020B4168 ; =0x021CE1F4
- mlaeq r12, r0, r2, r3
- beq _020B40E4
- mov r2, #0x18
- mul r3, r0, r2
- ldr r2, _020B416C ; =0x021CDF04
- ldr r0, _020B4170 ; =0x021CDF08
- ldr r2, [r2, r3]
- ldr ip, _020B4174 ; =0x02106578
- ldr r0, [r0, r3]
- str r2, [r12, #0x10]
- str r0, [r12, #0x14]
-_020B40E4:
- ldr r2, [r12, #0x0]
- ldr r0, _020B4154 ; =0x021CDD70
- str r2, [r1, #0x0]
- ldr r2, [r12, #0x4]
- str r2, [r1, #0x4]
- ldr r2, [r12, #0x8]
- str r2, [r1, #0x8]
- ldr r2, [r12, #0xc]
- str r2, [r1, #0xc]
- ldr r0, [r0, #0x0]
- mov r0, r0, lsl #0x10
- movs lr, r0, lsr #0x10
- addmi sp, sp, #0x4
- ldmmiia sp!, {r4-r5,pc}
-_020B411C: ; 0x020B411C
- ldr r3, _020B4158 ; =0x021CDDF4
- mov r0, #0x3
-_020B4124:
- add r2, r3, lr, lsl #0x3
- ldrh r1, [r2, #0x2]
- mov r12, lr, lsl #0x3
- cmp r5, r1
- addne sp, sp, #0x4
- ldmneia sp!, {r4-r5,pc}
-_020B413C: ; 0x020B413C
- strh r0, [r2, #0x4]
- strh r4, [r3, r12]
- subs lr, lr, #0x1
- bpl _020B4124
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,pc}
- .balign 4
-_020B4154: .word 0x021CDD70
-_020B4158: .word 0x021CDDF4
-_020B415C: .word 0x021CDD60
-_020B4160: .word 0x021CE4F4
-_020B4164: .word 0x021CDD68
-_020B4168: .word 0x021CE1F4
-_020B416C: .word 0x021CDF04
-_020B4170: .word 0x021CDF08
-_020B4174: .word 0x02106578
-
- arm_func_start FUN_020B4178
-FUN_020B4178: ; 0x020B4178
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- ldr r0, _020B4220 ; =0x021CDD68
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- beq _020B41B8
- ldr r1, _020B4224 ; =0x021CDD70
- mov r0, #0x18
- ldr r12, [r1, #0x0]
- ldr r1, _020B4228 ; =0x021CDF04
- mul r3, r12, r0
- mov r2, #0x0
- ldr r0, _020B422C ; =0x021CDF08
- str r2, [r1, r3]
- str r2, [r0, r3]
- b _020B420C
-_020B41B8:
- ldr r0, _020B4224 ; =0x021CDD70
- mov lr, #0x18
- ldr r1, [r0, #0x0]
- ldr r4, _020B4230 ; =0x021CDEF4
- mul r3, r1, lr
- mov r2, #0x1000
- str r2, [r4, r3]
- add r5, r4, r3
- mov r1, #0x0
- str r1, [r5, #0x4]
- str r1, [r5, #0x8]
- str r2, [r5, #0xc]
- str r1, [r5, #0x10]
- str r1, [r5, #0x14]
- ldr r12, [r0, #0x0]
- ldr r4, _020B4234 ; =0x021CE1F4
- ldmia r5!, {r0-r3}
- mla lr, r12, lr, r4
- stmia lr!, {r0-r3}
- ldmia r5, {r0-r1}
- stmia lr, {r0-r1}
-_020B420C:
- ldr r0, _020B4238 ; =0x021CDD74
- mov r1, #0x0
- str r1, [r0, r12, lsl #0x2]
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,pc}
- .balign 4
-_020B4220: .word 0x021CDD68
-_020B4224: .word 0x021CDD70
-_020B4228: .word 0x021CDF04
-_020B422C: .word 0x021CDF08
-_020B4230: .word 0x021CDEF4
-_020B4234: .word 0x021CE1F4
-_020B4238: .word 0x021CDD74
-
- arm_func_start FUN_020B423C
-FUN_020B423C: ; 0x020B423C
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x1c
- ldr r4, [r0, #0x4]
- ldr r3, [r1, #0x8]
- mov r12, r2
- smull r6, r5, r4, r3
- ldr r4, [r0, #0x0]
- ldr r3, [r1, #0x0]
- cmp r12, r1
- smlal r6, r5, r4, r3
- mov r3, r6, lsr #0xc
- addeq r2, sp, #0x0
- orr r3, r3, r5, lsl #0x14
- str r3, [r2, #0x0]
- ldr r4, [r0, #0x4]
- ldr r3, [r1, #0xc]
- ldr r5, [r0, #0x0]
- smull r7, r6, r4, r3
- ldr r3, [r1, #0x4]
- add lr, sp, #0x0
- smlal r7, r6, r5, r3
- mov r3, r7, lsr #0xc
- orr r3, r3, r6, lsl #0x14
- str r3, [r2, #0x4]
- ldr r4, [r0, #0xc]
- ldr r3, [r1, #0x8]
- ldr r5, [r0, #0x8]
- smull r7, r6, r4, r3
- ldr r3, [r1, #0x0]
- cmp r2, lr
- smlal r7, r6, r5, r3
- mov r3, r7, lsr #0xc
- orr r3, r3, r6, lsl #0x14
- str r3, [r2, #0x8]
- ldr r4, [r0, #0xc]
- ldr r3, [r1, #0xc]
- ldr r5, [r0, #0x8]
- smull r7, r6, r4, r3
- ldr r3, [r1, #0x4]
- smlal r7, r6, r5, r3
- mov r3, r7, lsr #0xc
- orr r3, r3, r6, lsl #0x14
- str r3, [r2, #0xc]
- ldr r4, [r0, #0x14]
- ldr r3, [r1, #0x8]
- ldr r5, [r0, #0x10]
- smull r7, r6, r4, r3
- ldr r3, [r1, #0x0]
- ldr r4, [r1, #0x10]
- smlal r7, r6, r5, r3
- mov r3, r7, lsr #0xc
- orr r3, r3, r6, lsl #0x14
- add r3, r4, r3
- str r3, [r2, #0x10]
- ldr r4, [r0, #0x14]
- ldr r3, [r1, #0xc]
- ldr r5, [r0, #0x10]
- ldr r0, [r1, #0x4]
- smull r6, r3, r4, r3
- smlal r6, r3, r5, r0
- mov r0, r6, lsr #0xc
- ldr r1, [r1, #0x14]
- orr r0, r0, r3, lsl #0x14
- add r0, r1, r0
- str r0, [r2, #0x14]
- ldmeqia lr!, {r0-r3}
- stmeqia r12!, {r0-r3}
- ldmeqia lr, {r0-r1}
- stmeqia r12, {r0-r1}
- add sp, sp, #0x1c
- ldmia sp!, {r4-r7,pc}
-
- arm_func_start FUN_020B4358
-FUN_020B4358: ; 0x020B4358
- stmdb sp!, {r4,lr}
- ldr r2, _020B43A0 ; =0x021CED04
- mov r1, #0x30
- ldr r2, [r2, #0x0]
- mla r4, r0, r1, r2
- mov r0, r4
- bl FUN_020B10CC
-_020B4374: ; 0x020B4374
- mov r0, #0x0
- str r0, [r4, #0xc]
- str r0, [r4, #0x10]
- 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]
- ldmia sp!, {r4,pc}
- .balign 4
-_020B43A0: .word 0x021CED04
-
- arm_func_start FUN_020B43A4
-FUN_020B43A4: ; 0x020B43A4
- ldr r1, _020B43F8 ; =0x021CED00
- mov r0, #0x0
- ldr r3, [r1, #0x0]
- cmp r3, #0x0
- bls _020B43F0
- ldr r1, _020B43FC ; =0x021CED04
- ldr r2, [r1, #0x0]
- mov r12, r2
-_020B43C4:
- ldr r1, [r12, #0x1c]
- cmp r1, #0x1
- movne r1, #0x30
- mlane r1, r0, r1, r2
- movne r2, #0x1
- strne r2, [r1, #0x1c]
- bxne lr
- add r0, r0, #0x1
- cmp r0, r3
- add r12, r12, #0x30
- blo _020B43C4
-_020B43F0:
- mvn r0, #0x0
- bx lr
- .balign 4
-_020B43F8: .word 0x021CED00
-_020B43FC: .word 0x021CED04
-
- arm_func_start FUN_020B4400
-FUN_020B4400: ; 0x020B4400
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r5, r1
- mov r4, r2
- bl FUN_020B469C
- mvn r1, #0x0
- str r1, [r0, #0x24]
- str r5, [r0, #0x28]
- str r4, [r0, #0x2c]
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,pc}
-
- arm_func_start FUN_020B442C
-FUN_020B442C: ; 0x020B442C
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0x14
- mov r0, #0x0
- str r0, [sp, #0x0]
- ldr r0, _020B4558 ; =0x021CED00
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- addls sp, sp, #0x14
- ldmlsia sp!, {r4-r11,pc}
-_020B4450: ; 0x020B4450
- ldr r0, [sp, #0x0]
- mov r5, #0x1
- str r0, [sp, #0x4]
- mov r11, r0
- str r0, [sp, #0x8]
- str r0, [sp, #0xc]
-_020B4468:
- ldr r0, _020B455C ; =0x021CED04
- ldr r1, [r0, #0x0]
- ldr r0, [sp, #0x4]
- add r8, r1, r0
- ldr r0, [r8, #0x1c]
- cmp r0, #0x0
- beq _020B4528
- ldr r9, [sp, #0x8]
- mov r0, r9
- cmp r0, #0x3
- bge _020B4520
- add r4, r8, #0x24
-_020B4498:
- mov r6, r5, lsl r9
- mov r1, r11
- ldr r0, [r8, #0x24]
- ands r0, r0, r6
- beq _020B44B8
- ldr r0, [r8, #0x20]
- ands r0, r0, r6
- movne r1, r5
-_020B44B8:
- cmp r1, #0x0
- beq _020B4514
- ldr r0, _020B4560 ; =0x020FF8C4
- cmp r9, #0x0
- ldr r7, [r0, r9, lsl #0x2]
- ldreq r10, [r8, #0x14]
- mov r0, r8
- mov r1, r9
- ldrne r10, [r8, #0x10]
- bl FUN_020B10BC
- mov r1, r0
- mov r0, r7
- ldr r7, _020B4564 ; =0x021CECFC
- ldr r2, [r8, #0x28]
- ldr r3, [r8, #0x2c]
- ldr r7, [r7, #0x0]
- add r2, r10, r2
- blx r7
- cmp r0, #0x0
- ldrne r1, [r4, #0x0]
- mvnne r0, r6
- andne r0, r1, r0
- strne r0, [r4, #0x0]
-_020B4514:
- add r9, r9, #0x1
- cmp r9, #0x3
- blt _020B4498
-_020B4520:
- ldr r0, [sp, #0xc]
- str r0, [r8, #0x20]
-_020B4528:
- ldr r0, _020B4558 ; =0x021CED00
- ldr r1, [r0, #0x0]
- ldr r0, [sp, #0x0]
- add r0, r0, #0x1
- str r0, [sp, #0x0]
- cmp r0, r1
- ldr r0, [sp, #0x4]
- add r0, r0, #0x30
- str r0, [sp, #0x4]
- blo _020B4468
- add sp, sp, #0x14
- ldmia sp!, {r4-r11,pc}
- .balign 4
-_020B4558: .word 0x021CED00
-_020B455C: .word 0x021CED04
-_020B4560: .word 0x020FF8C4
-_020B4564: .word 0x021CECFC
-
- arm_func_start FUN_020B4568
-FUN_020B4568: ; 0x020B4568
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- ldr ip, _020B45E4 ; =0x021CECFC
- movs r6, r1
- ldr r1, _020B45E8 ; =0x021CED00
- ldr r3, _020B45EC ; =0x021CED04
- mov r7, r0
- str r2, [r12, #0x0]
- mov r5, #0x0
- addeq sp, sp, #0x4
- str r7, [r3, #0x0]
- str r6, [r1, #0x0]
- ldmeqia sp!, {r4-r7,pc}
-_020B459C: ; 0x020B459C
- mov r4, r5
-_020B45A0:
- mov r0, r7
- bl FUN_020B10CC
- str r4, [r7, #0xc]
- str r4, [r7, #0x10]
- str r4, [r7, #0x14]
- str r4, [r7, #0x18]
- str r4, [r7, #0x1c]
- str r4, [r7, #0x20]
- str r4, [r7, #0x24]
- str r4, [r7, #0x28]
- add r5, r5, #0x1
- str r4, [r7, #0x2c]
- cmp r5, r6
- add r7, r7, #0x30
- blo _020B45A0
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,pc}
- .balign 4
-_020B45E4: .word 0x021CECFC
-_020B45E8: .word 0x021CED00
-_020B45EC: .word 0x021CED04
-
- arm_func_start FUN_020B45F0
-FUN_020B45F0: ; 0x020B45F0
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- ldr ip, _020B4698 ; =0x021CED04
- mov r4, #0x30
- ldr r12, [r12, #0x0]
- mov r7, r1
- mla r4, r0, r4, r12
- mov r0, r4
- mov r6, r2
- mov r5, r3
- bl FUN_020B10CC
-_020B461C: ; 0x020B461C
- mvn r0, #0x0
- cmp r7, r0
- beq _020B4638
- mov r0, r4
- mov r2, r7
- mov r1, #0x0
- bl FUN_020B10C4
-_020B4638:
- mvn r0, #0x0
- cmp r6, r0
- beq _020B4654
- mov r0, r4
- mov r2, r6
- mov r1, #0x1
- bl FUN_020B10C4
-_020B4654:
- mvn r0, #0x0
- cmp r5, r0
- beq _020B4670
- mov r0, r4
- mov r2, r5
- mov r1, #0x2
- bl FUN_020B10C4
-_020B4670:
- ldr r1, [sp, #0x18]
- ldr r0, [sp, #0x1c]
- str r1, [r4, #0xc]
- ldr r1, [sp, #0x20]
- str r0, [r4, #0x10]
- ldr r0, [sp, #0x24]
- str r1, [r4, #0x14]
- str r0, [r4, #0x18]
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,pc}
- .balign 4
-_020B4698: .word 0x021CED04
-
- arm_func_start FUN_020B469C
-FUN_020B469C: ; 0x020B469C
- ldr r2, _020B46B0 ; =0x021CED04
- mov r1, #0x30
- ldr r2, [r2, #0x0]
- mla r0, r1, r0, r2
- bx lr
- .balign 4
-_020B46B0: .word 0x021CED04
-
- arm_func_start FUN_020B46B4
-FUN_020B46B4: ; 0x020B46B4
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x1c
- add r12, sp, #0x4
- mov r5, r1
- mov r4, r2
- mov r7, r3
- mov r6, r0
- ldr r1, [sp, #0x30]
- ldr r2, [sp, #0x34]
- ldr r3, [sp, #0x38]
- mov r0, r7
- str r12, [sp, #0x0]
- bl FUN_020B498C
- ldr r2, [r7, #0x0]
- and r1, r2, #0x300
- cmp r1, #0x100
- beq _020B4708
- cmp r1, #0x300
- beq _020B4708
- and r0, r2, #0x30000000
- orr r1, r1, r0
-_020B4708:
- cmp r1, #0x300
- bne _020B478C
- ldr r0, _020B4914 ; =0xC000C000
- ldr r1, _020B4918 ; =0x021CED08
- and r0, r2, r0
- and r2, r0, #0xc0000000
- mov r12, r2, lsr #0x1e
- and r0, r0, #0xc000
- mov lr, r0, asr #0xe
- ldr r3, _020B491C ; =0x020FF8AC
- ldr r0, [r1, #0x0]
- ldr r2, _020B4920 ; =0x020FF894
- cmp r0, #0x0
- ldrne r0, _020B4924 ; =0x021CED10
- mov r12, r12, lsl #0x1
- add r1, r2, lr, lsl #0x3
- add r3, r3, lr, lsl #0x3
- ldrh r2, [r12, r3]
- ldrh r1, [r12, r1]
- ldrne r0, [r0, #0x0]
- mov r2, r2, asr #0x1
- addne r3, r0, r4, lsl #0xc
- mov r1, r1, asr #0x1
- add r0, r5, r1
- add r2, r6, r2
- ldr r1, _020B4928 ; =0x04000470
- mov r2, r2, lsl #0xc
- str r2, [r1, #0x0]
- mov r0, r0, lsl #0xc
- moveq r3, r4, lsl #0xc
- str r0, [r1, #0x0]
- str r3, [r1, #0x0]
- b _020B47C0
-_020B478C:
- ldr r0, _020B4918 ; =0x021CED08
- ldr r1, _020B4928 ; =0x04000470
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- ldrne r0, _020B4924 ; =0x021CED10
- ldrne r0, [r0, #0x0]
- addne r2, r0, r4, lsl #0xc
- mov r0, r6, lsl #0xc
- str r0, [r1, #0x0]
- mov r0, r5, lsl #0xc
- moveq r2, r4, lsl #0xc
- str r0, [r1, #0x0]
- str r2, [r1, #0x0]
-_020B47C0:
- ldr r0, [sp, #0x14]
- ldr r1, [sp, #0x18]
- ldr r2, _020B492C ; =0x0400046C
- mov r0, r0, lsl #0xc
- str r0, [r2, #0x0]
- mov r0, r1, lsl #0xc
- str r0, [r2, #0x0]
- mov r1, #0x1000
- str r1, [r2, #0x0]
- ldr r0, _020B4930 ; =0x04000500
- mov r1, #0x1
- str r1, [r0, #0x0]
- ldr r0, [sp, #0x4]
- ldr r1, [sp, #0x10]
- mov r0, r0, lsl #0x8
- mov r1, r1, lsl #0x8
- mov r0, r0, asr #0x10
- mov r1, r1, asr #0x10
- mov r0, r0, lsl #0x10
- mov r1, r1, lsl #0x10
- mov r2, r0, lsr #0x10
- mov r0, r1, lsr #0x10
- orr r2, r2, r0, lsl #0x10
- ldr r1, _020B4934 ; =0x04000488
- ldr r0, _020B4938 ; =0x04000490
- str r2, [r1, #0x0]
- mov r2, #0x10000
- str r2, [r0, #0x0]
- ldr r2, [sp, #0xc]
- ldr r3, [sp, #0x10]
- mov r2, r2, lsl #0x8
- mov r3, r3, lsl #0x8
- mov r2, r2, asr #0x10
- mov r3, r3, asr #0x10
- mov r2, r2, lsl #0x10
- mov r3, r3, lsl #0x10
- mov r4, r2, lsr #0x10
- mov r2, r3, lsr #0x10
- orr r3, r4, r2, lsl #0x10
- ldr r2, _020B493C ; =0x00010040
- str r3, [r1, #0x0]
- str r2, [r0, #0x0]
- ldr r2, [sp, #0xc]
- ldr r3, [sp, #0x8]
- mov r2, r2, lsl #0x8
- mov r3, r3, lsl #0x8
- mov r2, r2, asr #0x10
- mov r3, r3, asr #0x10
- mov r2, r2, lsl #0x10
- mov r3, r3, lsl #0x10
- mov r4, r2, lsr #0x10
- mov r2, r3, lsr #0x10
- orr r2, r4, r2, lsl #0x10
- str r2, [r1, #0x0]
- mov r2, #0x40
- str r2, [r0, #0x0]
- ldr r2, [sp, #0x4]
- ldr r3, [sp, #0x8]
- mov r2, r2, lsl #0x8
- mov r3, r3, lsl #0x8
- mov r2, r2, asr #0x10
- mov r3, r3, asr #0x10
- mov r2, r2, lsl #0x10
- mov r3, r3, lsl #0x10
- mov r4, r2, lsr #0x10
- mov r2, r3, lsr #0x10
- orr r2, r4, r2, lsl #0x10
- str r2, [r1, #0x0]
- mov r2, #0x0
- str r2, [r0, #0x0]
- ldr r1, _020B4940 ; =0x04000504
- ldr r0, _020B4918 ; =0x021CED08
- str r2, [r1, #0x0]
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- addeq sp, sp, #0x1c
- ldmeqia sp!, {r4-r7,pc}
-_020B48F4: ; 0x020B48F4
- ldr r1, _020B4924 ; =0x021CED10
- ldr r0, _020B4944 ; =0x02106590
- ldr r2, [r1, #0x0]
- ldr r0, [r0, #0x0]
- add r0, r2, r0
- str r0, [r1, #0x0]
- add sp, sp, #0x1c
- ldmia sp!, {r4-r7,pc}
- .balign 4
-_020B4914: .word 0xC000C000
-_020B4918: .word 0x021CED08
-_020B491C: .word 0x020FF8AC
-_020B4920: .word 0x020FF894
-_020B4924: .word 0x021CED10
-_020B4928: .word 0x04000470
-_020B492C: .word 0x0400046C
-_020B4930: .word 0x04000500
-_020B4934: .word 0x04000488
-_020B4938: .word 0x04000490
-_020B493C: .word 0x00010040
-_020B4940: .word 0x04000504
-_020B4944: .word 0x02106590
-
- arm_func_start FUN_020B4948
-FUN_020B4948:
- ldr r0, _020B4954 ; =0x02106590
- ldr r0, [r0, #0x0]
- bx lr
- .balign 4
-_020B4954: .word 0x02106590
-
- arm_func_start FUN_020B4958
-FUN_020B4958:
- ldr r1, _020B4964 ; =0x02106590
- str r0, [r1, #0x0]
- bx lr
- .balign 4
-_020B4964: .word 0x02106590
-
- arm_func_start FUN_020B4968
-FUN_020B4968: ; 0x020B4968
- ldr r0, _020B4978 ; =0x021CED10
- mov r1, #0x0
- str r1, [r0, #0x0]
- bx lr
- .balign 4
-_020B4978: .word 0x021CED10
-
- arm_func_start FUN_020B497C
-FUN_020B497C:
- ldr r1, _020B4988 ; =0x021CED08
- str r0, [r1, #0x0]
- bx lr
- .balign 4
-_020B4988: .word 0x021CED08
-
- arm_func_start FUN_020B498C
-FUN_020B498C: ; 0x020B498C
- stmdb sp!, {r4-r9,lr}
- sub sp, sp, #0xc
- mov r6, r0
- ldr r4, [r6, #0x0]
- ldr r0, _020B4BCC ; =0xC000C000
- ldr r5, [r6, #0x4]
- and r4, r4, r0
- and r0, r4, #0xc0000000
- and r4, r4, #0xc000
- mov lr, r0, lsr #0x1e
- ldr r0, _020B4BD0 ; =0x020FF8AC
- mov r12, r4, asr #0xe
- ldr r8, _020B4BD4 ; =0x020FF894
- mov r4, lr, lsl #0x1
- add r0, r0, r12, lsl #0x3
- ldrh r9, [r4, r0]
- ldr r0, [sp, #0x28]
- mov r5, r5, lsl #0x16
- mov r5, r5, lsr #0x16
- mov r7, r5, lsl #0x10
- str r9, [r0, #0x10]
- add r5, r8, r12, lsl #0x3
- ldrh r8, [r4, r5]
- mov r5, r1
- mov r4, r3
- str r8, [r0, #0x14]
- ldr r1, [r5, #0x14]
- mov r7, r7, lsr #0x10
- cmp r1, #0x0
- bne _020B4A74
- ldr r1, [r5, #0x8]
- mov r2, r2, lsr #0x3
- orr r1, r2, r1, lsl #0x1a
- ldr r2, [r5, #0x0]
- orr r1, r1, #0x40000000
- ldr r3, [r5, #0x4]
- orr r1, r1, r2, lsl #0x14
- orr r2, r1, r3, lsl #0x17
- ldr r8, [r5, #0x10]
- ldr r1, _020B4BD8 ; =0x040004A8
- orr r2, r2, r8, lsl #0x1d
- str r2, [r1, #0x0]
- ldr r1, [r5, #0x8]
- ldr r2, [r5, #0x0]
- cmp r1, #0x4
- moveq r1, r7, lsl #0xf
- moveq r7, r1, lsr #0x10
- ldr r1, _020B4BDC ; =0x020FF8D8
- ldr r1, [r1, r2, lsl #0x2]
- sub r1, r1, #0x1
- and r1, r7, r1
- mov r1, r1, lsl #0xf
- str r1, [r0, #0x0]
- ldr r1, [r5, #0x0]
- mov r1, r7, asr r1
- mov r1, r1, lsl #0xf
- str r1, [r0, #0x4]
- b _020B4AE0
-_020B4A74:
- and r1, r1, #0x700000
- mov r1, r1, asr #0x14
- mov r12, r12, lsl #0x10
- add r1, r1, #0x5
- ldr r3, [r5, #0x8]
- mov lr, lr, lsl #0x10
- ldr sb, _020B4BE0 ; =0x020FF8F8
- mov r12, r12, lsr #0x10
- ldr r8, _020B4BE4 ; =0x020FF928
- add r1, r2, r7, lsl r1
- mov r2, r3, lsl #0x1a
- orr r3, r2, r1, lsr #0x3
- mov r7, lr, lsr #0x10
- add r2, r9, r12, lsl #0x4
- add r1, r8, r12, lsl #0x4
- ldr r2, [r2, r7, lsl #0x2]
- orr r3, r3, #0x40000000
- ldr r1, [r1, r7, lsl #0x2]
- orr r2, r3, r2, lsl #0x14
- ldr r3, [r5, #0x10]
- orr r2, r2, r1, lsl #0x17
- ldr r1, _020B4BD8 ; =0x040004A8
- orr r2, r2, r3, lsl #0x1d
- str r2, [r1, #0x0]
- mov r1, #0x0
- str r1, [r0, #0x0]
- str r1, [r0, #0x4]
-_020B4AE0:
- ldr r2, [r0, #0x0]
- ldr r1, [r0, #0x10]
- add r1, r2, r1, lsl #0xc
- str r1, [r0, #0x8]
- ldr r2, [r0, #0x4]
- ldr r1, [r0, #0x14]
- add r1, r2, r1, lsl #0xc
- str r1, [r0, #0xc]
- ldr r1, [r6, #0x0]
- mov r2, r1, lsl #0x2
- mov r1, r1, lsl #0x3
- movs r3, r1, lsr #0x1f
- mov r12, r2, lsr #0x1f
- ldrne r2, [r0, #0x0]
- ldrne r1, [r0, #0x8]
- strne r1, [r0, #0x0]
- strne r2, [r0, #0x8]
- cmp r12, #0x0
- ldrne r2, [r0, #0x4]
- ldrne r1, [r0, #0xc]
- strne r1, [r0, #0x4]
- ldr r1, _020B4BE8 ; =0x021CED0C
- strne r2, [r0, #0xc]
- ldr r7, [r1, #0x0]
- cmp r7, #0x0
- beq _020B4B60
- str r3, [sp, #0x0]
- add r1, r0, #0x4
- add r2, r0, #0x8
- add r3, r0, #0xc
- str r12, [sp, #0x4]
- blx r7
-_020B4B60:
- ldr r0, [r6, #0x4]
- ldr r1, [r6, #0x0]
- mov r0, r0, lsl #0x10
- mov r0, r0, lsr #0x1c
- mov r3, r1, lsl #0x12
- ldr r1, [r5, #0xc]
- mov r0, r0, lsl #0x10
- ldr r2, _020B4BEC ; =0x020FF8D0
- mov r3, r3, lsr #0x1f
- cmp r1, #0x0
- mov r0, r0, lsr #0x10
- ldr r1, [r2, r3, lsl #0x2]
- movne r0, r0, lsl #0x9
- bne _020B4BA4
- cmp r1, #0x4
- moveq r0, #0x0
- movne r0, r0, lsl #0x5
-_020B4BA4:
- cmp r1, #0x2
- moveq r2, #0x1
- movne r2, #0x0
- add r1, r4, r0
- rsb r0, r2, #0x4
- mov r1, r1, lsr r0
- ldr r0, _020B4BF0 ; =0x040004AC
- str r1, [r0, #0x0]
- add sp, sp, #0xc
- ldmia sp!, {r4-r9,pc}
- .balign 4
-_020B4BCC: .word 0xC000C000
-_020B4BD0: .word 0x020FF8AC
-_020B4BD4: .word 0x020FF894
-_020B4BD8: .word 0x040004A8
-_020B4BDC: .word 0x020FF8D8
-_020B4BE0: .word 0x020FF8F8
-_020B4BE4: .word 0x020FF928
-_020B4BE8: .word 0x021CED0C
-_020B4BEC: .word 0x020FF8D0
-_020B4BF0: .word 0x040004AC
-
- arm_func_start FUN_020B4BF4
-FUN_020B4BF4: ; 0x020B4BF4
- stmdb sp!, {r4-r6,lr}
- ldr r2, _020B4CD8 ; =0x021CED14
- mov r6, r0
- ldr r3, [r2, #0x0]
- mov r4, r1
- ldr r5, [r3, #0x0]
- ldr r0, [r5, #0x10]
- cmp r0, #0x0
- ldmeqia sp!, {r4-r6,pc}
-_020B4C18: ; 0x020B4C18
- mov r0, #0x1
- str r0, [r3, #0x30]
- ldr r3, [r5, #0x18]
- cmp r3, #0x0
- beq _020B4C38
- ldr r0, [r2, #0x0]
- mov r1, r6
- blx r3
-_020B4C38:
- ldr r0, _020B4CD8 ; =0x021CED14
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x30]
- cmp r0, #0x0
- beq _020B4CB8
- mvn r0, #0x0
- cmp r4, r0
- beq _020B4C7C
- mov r0, r4
- ldr r4, [r5, #0x14]
- bl FUN_020B469C
- mov r3, #0x1
- mvn r1, r3, lsl r4
- ldr r2, [r0, #0x20]
- and r1, r2, r1
- orr r1, r1, r3, lsl r4
- str r1, [r0, #0x20]
-_020B4C7C:
- ldr r0, [r5, #0x14]
- cmp r0, #0x3
- addls pc, pc, r0, lsl #0x2
- b _020B4CB8
-_020B4C8C:
- b _020B4C9C
-_020B4C90:
- b _020B4CAC
-_020B4C94:
- b _020B4CAC
-_020B4C98:
- b _020B4CB8
-_020B4C9C:
- mov r0, r5
- mov r1, r6
- bl FUN_020B5090
- b _020B4CB8
-_020B4CAC:
- mov r0, r5
- mov r1, r6
- bl FUN_020B53B4
-_020B4CB8:
- ldr r2, [r5, #0x1c]
- cmp r2, #0x0
- ldmeqia sp!, {r4-r6,pc}
-_020B4CC4: ; 0x020B4CC4
- ldr r0, _020B4CD8 ; =0x021CED14
- mov r1, r6
- ldr r0, [r0, #0x0]
- blx r2
- ldmia sp!, {r4-r6,pc}
- .balign 4
-_020B4CD8: .word 0x021CED14
-
- arm_func_start FUN_020B4CDC
-FUN_020B4CDC:
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- ldr r1, _020B4D9C ; =0x021CED14
- mov r5, r0
- ldr r2, [r1, #0x0]
- ldr r4, [r2, #0x0]
- ldr r0, [r4, #0x10]
- cmp r0, #0x0
- addeq sp, sp, #0x4
- ldmeqia sp!, {r4-r5,pc}
-_020B4D04: ; 0x020B4D04
- mov r0, #0x1
- str r0, [r2, #0x30]
- ldr r2, [r4, #0x18]
- cmp r2, #0x0
- beq _020B4D24
- ldr r0, [r1, #0x0]
- mov r1, r5
- blx r2
-_020B4D24:
- ldr r0, _020B4D9C ; =0x021CED14
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x30]
- cmp r0, #0x0
- beq _020B4D74
- ldr r0, [r4, #0x14]
- cmp r0, #0x3
- addls pc, pc, r0, lsl #0x2
- b _020B4D74
-_020B4D48:
- b _020B4D58
-_020B4D4C:
- b _020B4D68
-_020B4D50:
- b _020B4D68
-_020B4D54:
- b _020B4D74
-_020B4D58:
- mov r0, r4
- mov r1, r5
- bl FUN_020B5090
- b _020B4D74
-_020B4D68:
- mov r0, r4
- mov r1, r5
- bl FUN_020B53B4
-_020B4D74:
- ldr r2, [r4, #0x1c]
- cmp r2, #0x0
- addeq sp, sp, #0x4
- ldmeqia sp!, {r4-r5,pc}
-_020B4D84: ; 0x020B4D84
- ldr r0, _020B4D9C ; =0x021CED14
- mov r1, r5
- ldr r0, [r0, #0x0]
- blx r2
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,pc}
- .balign 4
-_020B4D9C: .word 0x021CED14
-
- arm_func_start FUN_020B4DA0
-FUN_020B4DA0: ; 0x020B4DA0
- ldr r0, _020B4E00 ; =0x021CED14
- ldr r3, [r0, #0x0]
- ldr r1, [r3, #0x0]
- ldr r1, [r1, #0x14]
- cmp r1, #0x0
- bne _020B4DD8
- ldr r2, _020B4E04 ; =0x04000440
- mov r1, #0x0
- ldr r0, _020B4E08 ; =0x04000448
- str r1, [r2, #0x0]
- mov r1, #0x1
- str r1, [r0, #0x0]
- str r1, [r2, #0x0]
- b _020B4DF0
-_020B4DD8:
- mov r2, #0x0
- str r2, [r3, #0x10]
- ldr r1, [r0, #0x0]
- str r2, [r1, #0x2c]
- ldr r0, [r0, #0x0]
- str r2, [r0, #0x28]
-_020B4DF0:
- ldr r0, _020B4E00 ; =0x021CED14
- mov r1, #0x0
- str r1, [r0, #0x0]
- bx lr
- .balign 4
-_020B4E00: .word 0x021CED14
-_020B4E04: .word 0x04000440
-_020B4E08: .word 0x04000448
-
- arm_func_start FUN_020B4E0C
-FUN_020B4E0C: ; 0x020B4E0C
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- ldr r2, _020B4F28 ; =0x021CED14
- mov r4, r0
- str r4, [r2, #0x0]
- ldr r0, [r4, #0x0]
- ldr r5, [r0, #0x14]
- cmp r5, #0x0
- bne _020B4ED8
- ldr lr, _020B4F2C ; =0x04000440
- mov r1, #0x0
- ldr r0, _020B4F30 ; =0x04000444
- str r1, [lr, #0x0]
- str r1, [r0, #0x0]
- ldr r12, [r4, #0x0]
- ldr r0, _020B4F34 ; =0x04000470
- ldr r3, [r12, #0x0]
- ldr r12, [r12, #0x4]
- rsb r3, r3, #0x0
- str r3, [r0, #0x0]
- rsb r3, r12, #0x0
- str r3, [r0, #0x0]
- str r1, [r0, #0x0]
- mov r0, #0x1
- str r0, [lr, #0x0]
- ldr r0, [r2, #0x0]
- ldr r5, [r0, #0x8]
- mov r0, r5
- bl FUN_020B19FC
-_020B4E80: ; 0x020B4E80
- cmp r0, #0x0
- moveq r0, #0x0
- beq _020B4E98
- mov r0, r5
- mov r1, #0x0
- bl FUN_020B1A14
-_020B4E98:
- ldr r1, _020B4F28 ; =0x021CED14
- str r0, [r4, #0x14]
- ldr r0, [r1, #0x0]
- mov r1, #0x0
- ldr r5, [r0, #0xc]
- mov r0, r5
- bl FUN_020B19A8
-_020B4EB4: ; 0x020B4EB4
- cmp r0, #0x0
- moveq r0, #0x0
- beq _020B4ECC
- mov r0, r5
- mov r1, #0x0
- bl FUN_020B19C4
-_020B4ECC:
- add sp, sp, #0x4
- str r0, [r4, #0x18]
- ldmia sp!, {r4-r5,pc}
-_020B4ED8:
- ldr r4, [r4, #0x8]
- mov r1, r5
- mov r0, r4
- bl FUN_020B19FC
-_020B4EE8: ; 0x020B4EE8
- cmp r0, #0x0
- moveq r1, #0x0
- beq _020B4F14
- mov r0, r4
- mov r1, r5
- bl FUN_020B1A14
- ldr r1, [r4, #0x20]
- and r1, r1, #0x700000
- mov r1, r1, asr #0x14
- add r1, r1, #0x5
- mov r1, r0, lsr r1
-_020B4F14:
- ldr r0, _020B4F28 ; =0x021CED14
- ldr r0, [r0, #0x0]
- str r1, [r0, #0x10]
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,pc}
- .balign 4
-_020B4F28: .word 0x021CED14
-_020B4F2C: .word 0x04000440
-_020B4F30: .word 0x04000444
-_020B4F34: .word 0x04000470
-
- arm_func_start FUN_020B4F38
-FUN_020B4F38: ; 0x020B4F38
- cmp r1, #0x0
- ldrne r1, [r0, #0x24]
- orrne r1, r1, #0x1
- strne r1, [r0, #0x24]
- ldreq r1, [r0, #0x24]
- biceq r1, r1, #0x1
- streq r1, [r0, #0x24]
- cmp r2, #0x0
- ldrne r1, [r0, #0x24]
- orrne r1, r1, #0x2
- strne r1, [r0, #0x24]
- ldreq r1, [r0, #0x24]
- biceq r1, r1, #0x2
- streq r1, [r0, #0x24]
- bx lr
-
- arm_func_start FUN_020B4F74
-FUN_020B4F74:
- ldr r0, [r0, #0x24]
- ands r0, r0, #0x2
- movne r0, #0x1
- moveq r0, #0x0
- bx lr
-
- arm_func_start FUN_020B4F88
-FUN_020B4F88:
- ldr r0, [r0, #0x24]
- ands r0, r0, #0x1
- movne r0, #0x1
- moveq r0, #0x0
- bx lr
-
- arm_func_start FUN_020B4F9C
-FUN_020B4F9C: ; 0x020B4F9C
- str r1, [r0, #0x0]
- bx lr
-
- arm_func_start FUN_020B4FA4
-FUN_020B4FA4: ; 0x020B4FA4
- str r1, [r0, #0x34]
- bx lr
-
- arm_func_start FUN_020B4FAC
-FUN_020B4FAC: ; 0x020B4FAC
- ldr r2, _020B4FC0 ; =0x021CED14
- ldr r2, [r2, #0x0]
- str r0, [r2, #0x2c]
- str r1, [r2, #0x28]
- bx lr
- .balign 4
-_020B4FC0: .word 0x021CED14
-
- arm_func_start FUN_020B4FC4
-FUN_020B4FC4: ; 0x020B4FC4
- ldr r1, _020B5028 ; =0x021CED14
- mov r3, #0x0
- ldr r12, [r1, #0x0]
- mov r1, #0x1000
- str r0, [r12, #0x2c]
- ldr r2, [r0, #0x0]
- str r2, [r12, #0x40]
- ldr r2, [r0, #0x4]
- str r2, [r12, #0x44]
- str r3, [r12, #0x48]
- ldr r2, [r0, #0x8]
- str r2, [r12, #0x4c]
- ldr r2, [r0, #0xc]
- str r2, [r12, #0x50]
- str r3, [r12, #0x54]
- str r3, [r12, #0x58]
- str r3, [r12, #0x5c]
- str r1, [r12, #0x60]
- ldr r1, [r0, #0x10]
- str r1, [r12, #0x64]
- ldr r0, [r0, #0x14]
- str r0, [r12, #0x68]
- ldr r0, [r12, #0x34]
- str r0, [r12, #0x6c]
- bx lr
- .balign 4
-_020B5028: .word 0x021CED14
-
- arm_func_start FUN_020B502C
-FUN_020B502C: ; 0x020B502C
- str r1, [r0, #0x4]
- bx lr
-
- arm_func_start FUN_020B5034
-FUN_020B5034: ; 0x020B5034
- str r1, [r0, #0x1c]
- str r2, [r0, #0x20]
- bx lr
-
- arm_func_start FUN_020B5040
-FUN_020B5040: ; 0x020B5040
- str r1, [r0, #0x8]
- str r2, [r0, #0xc]
- bx lr
-
- arm_func_start FUN_020B504C
-FUN_020B504C: ; 0x020B504C
- stmdb sp!, {r4,lr}
- mov r4, r0
- mov r1, r4
- mov r0, #0x0
- mov r2, #0x70
- bl MIi_CpuClear16
- mov r1, #0x0
- str r1, [r4, #0x0]
- mov r0, #0x2
- str r0, [r4, #0x4]
- str r1, [r4, #0x8]
- str r1, [r4, #0xc]
- str r1, [r4, #0x24]
- mov r0, #0x1
- str r0, [r4, #0x30]
- str r1, [r4, #0x28]
- ldmia sp!, {r4,pc}
-
- arm_func_start FUN_020B5090
-FUN_020B5090: ; 0x020B5090
- stmdb sp!, {r4-r10,lr}
- ldr r5, _020B5158 ; =0x021CED14
- mov r9, r1
- ldrh r1, [r9, #0x0]
- ldr r2, [r5, #0x0]
- mov r10, r0
- add r7, r2, #0x38
- mov r8, #0x0
- cmp r1, #0x0
- ldmlsia sp!, {r4-r10,pc}
-_020B50B8: ; 0x020B50B8
- mov r6, #0x1
- mov r4, #0x6
-_020B50C0:
- mul r1, r8, r4
- ldr r0, [r5, #0x0]
- str r6, [r0, #0x30]
- ldr r2, [r9, #0x4]
- ldrh r0, [r2, r1]
- add r1, r2, r1
- strh r0, [r7, #0x0]
- ldrh r0, [r1, #0x2]
- strh r0, [r7, #0x2]
- ldrh r0, [r1, #0x4]
- strh r0, [r7, #0x4]
- ldr r3, [r10, #0x20]
- cmp r3, #0x0
- beq _020B5108
- ldr r0, [r5, #0x0]
- mov r1, r9
- mov r2, r8
- blx r3
-_020B5108:
- ldr r0, [r5, #0x0]
- ldr r0, [r0, #0x30]
- cmp r0, #0x0
- beq _020B5120
- mov r0, r7
- bl FUN_020B515C
-_020B5120:
- ldr r3, [r10, #0x24]
- cmp r3, #0x0
- beq _020B513C
- ldr r0, [r5, #0x0]
- mov r1, r9
- mov r2, r8
- blx r3
-_020B513C:
- add r0, r8, #0x1
- mov r0, r0, lsl #0x10
- ldrh r1, [r9, #0x0]
- mov r8, r0, lsr #0x10
- cmp r8, r1
- blo _020B50C0
- ldmia sp!, {r4-r10,pc}
- .balign 4
-_020B5158: .word 0x021CED14
-
- arm_func_start FUN_020B515C
-FUN_020B515C: ; 0x020B515C
- stmdb sp!, {r4-r8,lr}
- sub sp, sp, #0x10
- ldr r1, _020B53A4 ; =0x021CED14
- mov r7, r0
- ldr r0, [r1, #0x0]
- add r0, r0, #0x40
- bl G3_LoadMtx43
- ldr r0, _020B53A4 ; =0x021CED14
- ldr r0, [r0, #0x0]
- ldr r1, [r0, #0x24]
- cmp r1, #0x0
- beq _020B533C
- ldr r2, [r7, #0x0]
- ldr r1, _020B53A8 ; =0xC000C000
- and r4, r2, r1
- bl FUN_020B4F88
-_020B519C: ; 0x020B519C
- cmp r0, #0x0
- beq _020B51F4
- ldr r0, [r7, #0x0]
- and r2, r4, #0xc000
- mov r0, r0, lsl #0x7
- mov r3, r0, lsr #0x17
- and r1, r4, #0xc0000000
- mov r1, r1, lsr #0x1e
- ldr r0, _020B53AC ; =0x020FF8AC
- mov r2, r2, asr #0xe
- mov r1, r1, lsl #0x1
- add r0, r0, r2, lsl #0x3
- cmp r3, #0xff
- ldrh r1, [r1, r0]
- orrgt r0, r3, #0xff00
- movgt r0, r0, lsl #0x10
- movgt r3, r0, asr #0x10
- add r0, r3, r1
- rsb r0, r0, #0x0
- mov r0, r0, lsl #0x10
- mov r1, r0, lsr #0x10
- b _020B5218
-_020B51F4:
- ldr r0, [r7, #0x0]
- mov r0, r0, lsl #0x7
- mov r0, r0, lsr #0x17
- cmp r0, #0xff
- orrgt r0, r0, #0xff00
- movgt r0, r0, lsl #0x10
- movgt r0, r0, asr #0x10
- mov r0, r0, lsl #0x10
- mov r1, r0, lsr #0x10
-_020B5218:
- ldr r0, _020B53A4 ; =0x021CED14
- mov r1, r1, lsl #0x10
- ldr r0, [r0, #0x0]
- mov r6, r1, asr #0x10
- bl FUN_020B4F74
-_020B522C: ; 0x020B522C
- cmp r0, #0x0
- beq _020B527C
- and r1, r4, #0xc000
- and r0, r4, #0xc0000000
- ldrb r4, [r7, #0x0]
- ldr r2, _020B53B0 ; =0x020FF894
- mov r0, r0, lsr #0x1e
- mov r3, r1, asr #0xe
- mov r1, r0, lsl #0x1
- add r0, r2, r3, lsl #0x3
- cmp r4, #0x7f
- ldrh r1, [r1, r0]
- orrgt r0, r4, #0xff00
- movgt r0, r0, lsl #0x10
- movgt r4, r0, asr #0x10
- add r0, r4, r1
- rsb r0, r0, #0x0
- mov r0, r0, lsl #0x10
- mov r4, r0, lsr #0x10
- b _020B5298
-_020B527C:
- ldrb r0, [r7, #0x0]
- cmp r0, #0x7f
- orrgt r0, r0, #0xff00
- movgt r0, r0, lsl #0x10
- movgt r0, r0, asr #0x10
- mov r0, r0, lsl #0x10
- mov r4, r0, lsr #0x10
-_020B5298:
- ldr r0, _020B53A4 ; =0x021CED14
- ldr r1, [r7, #0x0]
- ldr r0, [r0, #0x0]
- mov r5, r1, lsl #0x3
- bl FUN_020B4F88
- ldr r2, [r7, #0x0]
- ldr r1, _020B53A4 ; =0x021CED14
- eor r5, r0, r5, lsr #0x1f
- ldr r0, [r1, #0x0]
- mov r8, r2, lsl #0x2
- bl FUN_020B4F74
- ldr r2, [r7, #0x0]
- eor r1, r0, r8, lsr #0x1f
- bic r0, r2, #0x10000000
- str r0, [r7, #0x0]
- ldr r2, [r7, #0x0]
- ldr r3, _020B53A4 ; =0x021CED14
- orr r2, r2, r5, lsl #0x1c
- str r2, [r7, #0x0]
- ldr r2, [r7, #0x0]
- mov r0, r6
- bic r2, r2, #0x20000000
- str r2, [r7, #0x0]
- ldr r5, [r7, #0x0]
- mov r2, r4, lsl #0x10
- orr r1, r5, r1, lsl #0x1d
- str r1, [r7, #0x0]
- ldr r5, [r3, #0x0]
- mov r1, r2, asr #0x10
- ldr r4, [r5, #0x8]
- mov r3, r7
- add r2, r4, #0xc
- str r2, [sp, #0x0]
- ldr r4, [r5, #0x14]
- mvn r2, #0x0
- str r4, [sp, #0x4]
- ldr r4, [r5, #0x18]
- str r4, [sp, #0x8]
- bl FUN_020B46B4
- add sp, sp, #0x10
- ldmia sp!, {r4-r8,pc}
-_020B533C:
- ldr r2, _020B53A4 ; =0x021CED14
- ldr r0, [r7, #0x0]
- ldr r5, [r2, #0x0]
- mov r0, r0, lsl #0x7
- ldr r4, [r5, #0x8]
- mov r0, r0, lsr #0x17
- cmp r0, #0xff
- orrgt r0, r0, #0xff00
- movgt r0, r0, lsl #0x10
- ldrb r1, [r7, #0x0]
- add r4, r4, #0xc
- movgt r0, r0, asr #0x10
- str r4, [sp, #0x0]
- ldr r4, [r5, #0x14]
- cmp r1, #0x7f
- orrgt r1, r1, #0xff00
- movgt r1, r1, lsl #0x10
- str r4, [sp, #0x4]
- ldr r4, [r5, #0x18]
- movgt r1, r1, asr #0x10
- mov r3, r7
- mvn r2, #0x0
- str r4, [sp, #0x8]
- bl FUN_020B46B4
- add sp, sp, #0x10
- ldmia sp!, {r4-r8,pc}
- .balign 4
-_020B53A4: .word 0x021CED14
-_020B53A8: .word 0xC000C000
-_020B53AC: .word 0x020FF8AC
-_020B53B0: .word 0x020FF894
-
- arm_func_start FUN_020B53B4
-FUN_020B53B4: ; 0x020B53B4
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0x44
- ldr r2, _020B57B0 ; =0x021CED14
- mov r10, r0
- ldr r0, [r2, #0x0]
- mov r11, r1
- ldr r9, [r0, #0x2c]
- ldr r1, _020B57B0 ; =0x021CED14
- cmp r9, #0x0
- ldreq sb, _020B57B4 ; =0x020FF958
- ldr r3, [r1, #0x0]
- ldr r4, [r9, #0x10]
- str r4, [sp, #0x18]
- ldr r2, [r9, #0x14]
- str r2, [sp, #0x1c]
- ldr r1, [r10, #0x0]
- sub r1, r4, r1
- str r1, [sp, #0x18]
- ldr r1, [r10, #0x4]
- sub r1, r2, r1
- str r1, [sp, #0x1c]
- ldr r2, [r3, #0x24]
- ldr r1, [r3, #0x10]
- cmp r2, #0x0
- str r1, [sp, #0x4]
- bne _020B5430
- ldr r1, [r3, #0x28]
- cmp r1, #0x0
- movne r1, #0x1
- strne r1, [sp, #0x0]
- bne _020B5438
-_020B5430:
- mov r1, #0x0
- str r1, [sp, #0x0]
-_020B5438:
- ldrh r1, [r11, #0x0]
- add r7, r0, #0x38
- mov r8, #0x0
- cmp r1, #0x0
- addls sp, sp, #0x44
- ldmlsia sp!, {r4-r11,pc}
-_020B5450: ; 0x020B5450
- mov r0, #0x1
- ldr r4, _020B57B0 ; =0x021CED14
- str r8, [sp, #0x14]
- str r0, [sp, #0xc]
-_020B5460:
- ldr r2, [r4, #0x0]
- ldr r0, [sp, #0xc]
- mov r1, #0x6
- str r0, [r2, #0x30]
- mul r0, r8, r1
- ldr r1, [r11, #0x4]
- add r2, r1, r0
- ldrh r0, [r1, r0]
- strh r0, [r7, #0x0]
- ldrh r0, [r2, #0x2]
- strh r0, [r7, #0x2]
- ldrh r0, [r2, #0x4]
- strh r0, [r7, #0x4]
- ldr r3, [r10, #0x20]
- cmp r3, #0x0
- beq _020B54B0
- ldr r0, [r4, #0x0]
- mov r1, r11
- mov r2, r8
- blx r3
-_020B54B0:
- ldr r0, [r4, #0x0]
- ldr r0, [r0, #0x30]
- cmp r0, #0x0
- beq _020B5790
- ldr r0, [sp, #0x0]
- ldr r1, [r7, #0x4]
- cmp r0, #0x0
- mov r0, #0x400
- rsb r0, r0, #0x0
- and r2, r1, r0
- ldr r0, [sp, #0x4]
- mov r1, r1, lsl #0x16
- add r1, r0, r1, lsr #0x16
- ldr r0, _020B57B8 ; =0x000003FF
- and r0, r1, r0
- orr r0, r2, r0
- str r0, [r7, #0x4]
- beq _020B5600
- ldr r0, [r10, #0x14]
- ldr lr, [r4, #0x0]
- sub r1, r0, #0x1
- ldr r0, [r7, #0x0]
- ldr r6, [lr, #0x28]
- mov r2, r0, lsl #0x2
- mov r2, r2, lsr #0x1f
- mov r2, r2, lsl #0x1
- mov r0, r0, lsl #0x3
- orr r5, r2, r0, lsr #0x1f
- add r0, r6, r5, lsl #0x2
- add r0, r0, r1, lsl #0x1
- ldrh r1, [r0, #0x10]
- ldr r0, _020B57BC ; =0x0000FFFF
- str r1, [sp, #0x8]
- cmp r1, r0
- bne _020B55CC
- cmp r5, #0x0
- bne _020B5558
- ldr r1, [lr, #0x20]
- mov r0, r6
- blx r1
- str r0, [sp, #0x8]
- b _020B55B4
-_020B5558:
- ands r0, r5, #0x1
- add r12, sp, #0x30
- ldmia r6, {r0-r3}
- stmia r12, {r0-r3}
- beq _020B5584
- ldr r1, [sp, #0x30]
- ldr r0, [sp, #0x34]
- rsb r1, r1, #0x0
- str r1, [sp, #0x30]
- rsb r0, r0, #0x0
- str r0, [sp, #0x34]
-_020B5584:
- ands r0, r5, #0x2
- beq _020B55A4
- ldr r1, [sp, #0x38]
- ldr r0, [sp, #0x3c]
- rsb r1, r1, #0x0
- str r1, [sp, #0x38]
- rsb r0, r0, #0x0
- str r0, [sp, #0x3c]
-_020B55A4:
- ldr r1, [lr, #0x20]
- add r0, sp, #0x30
- blx r1
- str r0, [sp, #0x8]
-_020B55B4:
- ldr r1, [r10, #0x14]
- add r0, r6, r5, lsl #0x2
- sub r1, r1, #0x1
- add r1, r0, r1, lsl #0x1
- ldr r0, [sp, #0x8]
- strh r0, [r1, #0x10]
-_020B55CC:
- ldr r1, [r9, #0x0]
- add r0, sp, #0x20
- str r1, [sp, #0x20]
- ldr r2, [r9, #0x4]
- mov r1, r7
- str r2, [sp, #0x24]
- ldr r3, [r9, #0x8]
- add r2, sp, #0x18
- str r3, [sp, #0x28]
- ldr r3, [r9, #0xc]
- str r3, [sp, #0x2c]
- bl FUN_020B57D8
- b _020B5750
-_020B5600:
- ldr r0, _020B57C0 ; =0x0000FFFE
- str r0, [sp, #0x8]
- ldr r0, [r4, #0x0]
- ldr r1, [r0, #0x24]
- cmp r1, #0x0
- beq _020B5714
- ldr r2, [r7, #0x0]
- ldr r1, _020B57C4 ; =0xC000C000
- mov r6, r2, lsl #0x3
- and r5, r2, r1
- bl FUN_020B4F88
- ldr r1, [r7, #0x0]
- eor r6, r0, r6, lsr #0x1f
- mov r1, r1, lsl #0x2
- ldr r0, [r4, #0x0]
- str r1, [sp, #0x10]
- bl FUN_020B4F74
- ldr r1, [sp, #0x10]
- eor r0, r0, r1, lsr #0x1f
- ldr r1, [r7, #0x0]
- bic r1, r1, #0x10000000
- str r1, [r7, #0x0]
- ldr r1, [r7, #0x0]
- orr r1, r1, r6, lsl #0x1c
- str r1, [r7, #0x0]
- ldr r1, [r7, #0x0]
- bic r1, r1, #0x20000000
- str r1, [r7, #0x0]
- ldr r1, [r7, #0x0]
- orr r0, r1, r0, lsl #0x1d
- str r0, [r7, #0x0]
- ldr r0, [r4, #0x0]
- bl FUN_020B4F88
-_020B5684: ; 0x020B5684
- cmp r0, #0x0
- beq _020B56D4
- and r1, r5, #0xc000
- mov r2, r1, asr #0xe
- ldr r1, _020B57C8 ; =0x020FF8AC
- and r3, r5, #0xc0000000
- mov r3, r3, lsr #0x1e
- add r2, r1, r2, lsl #0x3
- mov r3, r3, lsl #0x1
- ldr r0, [r7, #0x0]
- ldr r1, _020B57CC ; =0xFE00FFFF
- ldrh r2, [r3, r2]
- and r1, r0, r1
- mov r0, r0, lsl #0x7
- add r0, r2, r0, lsr #0x17
- rsb r2, r0, #0x0
- ldr r0, _020B57D0 ; =0x000001FF
- and r0, r2, r0
- orr r0, r1, r0, lsl #0x10
- str r0, [r7, #0x0]
-_020B56D4:
- ldr r0, [r4, #0x0]
- bl FUN_020B4F74
-_020B56DC: ; 0x020B56DC
- cmp r0, #0x0
- beq _020B5714
- and r1, r5, #0xc000
- mov r3, r1, asr #0xe
- and r1, r5, #0xc0000000
- mov r1, r1, lsr #0x1e
- mov r2, r1, lsl #0x1
- ldr r1, _020B57D4 ; =0x020FF894
- ldrb r0, [r7, #0x0]
- add r1, r1, r3, lsl #0x3
- ldrh r1, [r2, r1]
- add r0, r0, r1
- rsb r0, r0, #0x0
- strb r0, [r7, #0x0]
-_020B5714:
- ldr r2, [r7, #0x0]
- ldr r0, _020B57CC ; =0xFE00FFFF
- ldr r1, [sp, #0x18]
- and r0, r2, r0
- mov r2, r2, lsl #0x7
- mov r2, r2, lsr #0x17
- add r2, r2, r1, asr #0xc
- ldr r1, _020B57D0 ; =0x000001FF
- and r1, r2, r1
- orr r0, r0, r1, lsl #0x10
- str r0, [r7, #0x0]
- ldrb r1, [r7, #0x0]
- ldr r0, [sp, #0x1c]
- add r0, r1, r0, asr #0xc
- strb r0, [r7, #0x0]
-_020B5750:
- ldr r3, [r4, #0x0]
- ldr r1, [sp, #0x8]
- ldr r2, [sp, #0x14]
- ldr r3, [r3, #0x1c]
- mov r0, r7
- blx r3
- cmp r0, #0x1
- addne sp, sp, #0x44
- ldmneia sp!, {r4-r11,pc}
-_020B5774: ; 0x020B5774
- ldr r3, [r10, #0x24]
- cmp r3, #0x0
- beq _020B5790
- ldr r0, [r4, #0x0]
- mov r1, r11
- mov r2, r8
- blx r3
-_020B5790:
- add r0, r8, #0x1
- mov r0, r0, lsl #0x10
- mov r8, r0, lsr #0x10
- ldrh r0, [r11, #0x0]
- cmp r8, r0
- blo _020B5460
- add sp, sp, #0x44
- ldmia sp!, {r4-r11,pc}
- .balign 4
-_020B57B0: .word 0x021CED14
-_020B57B4: .word 0x020FF958
-_020B57B8: .word 0x000003FF
-_020B57BC: .word 0x0000FFFF
-_020B57C0: .word 0x0000FFFE
-_020B57C4: .word 0xC000C000
-_020B57C8: .word 0x020FF8AC
-_020B57CC: .word 0xFE00FFFF
-_020B57D0: .word 0x000001FF
-_020B57D4: .word 0x020FF894
-
- arm_func_start FUN_020B57D8
-FUN_020B57D8: ; 0x020B57D8
- stmdb sp!, {r4-r8,lr}
- sub sp, sp, #0x10
- ldr r4, [r1, #0x0]
- ldr r3, _020B5A9C ; =0x01FF0000
- and r3, r4, r3
- mov r3, r3, lsr #0x10
- mov r3, r3, lsl #0x10
- mov r3, r3, asr #0x10
- cmp r3, #0xff
- orrgt r3, r3, #0xff00
- movgt r3, r3, lsl #0x10
- movgt r3, r3, asr #0x10
- mov r3, r3, lsl #0xc
- str r3, [sp, #0x0]
- ldr r3, [r1, #0x0]
- and r3, r3, #0xff
- mov r3, r3, lsl #0x10
- mov r3, r3, asr #0x10
- cmp r3, #0x7f
- orrgt r3, r3, #0xff00
- movgt r3, r3, lsl #0x10
- movgt r3, r3, asr #0x10
- mov r3, r3, lsl #0xc
- str r3, [sp, #0x4]
- ldr r5, [r1, #0x0]
- and r4, r5, #0x300
- cmp r4, #0x100
- beq _020B5858
- cmp r4, #0x300
- beq _020B5858
- and r3, r5, #0x30000000
- orr r4, r4, r3
-_020B5858:
- cmp r4, #0x300
- bne _020B58AC
- ldr r3, _020B5AA0 ; =0xC000C000
- ldr r4, _020B5AA4 ; =0x020FF8AC
- and r3, r5, r3
- and r5, r3, #0xc0000000
- and r3, r3, #0xc000
- mov r6, r5, lsr #0x1e
- mov r5, r3, asr #0xe
- ldr r3, _020B5AA8 ; =0x020FF894
- mov r6, r6, lsl #0x1
- add r4, r4, r5, lsl #0x3
- add r3, r3, r5, lsl #0x3
- ldrh r5, [r6, r4]
- ldr r7, [sp, #0x0]
- ldrh r3, [r6, r3]
- ldr r4, [sp, #0x4]
- add r5, r7, r5, lsl #0xb
- add r3, r4, r3, lsl #0xb
- str r5, [sp, #0x0]
- str r3, [sp, #0x4]
-_020B58AC:
- ldr r5, [r0, #0x8]
- ldr r4, [sp, #0x4]
- add r3, sp, #0x0
- smull r8, r7, r5, r4
- cmp r3, r3
- ldr r6, [r0, #0x0]
- mov r4, #0x1000
- addeq r3, sp, #0x8
- adds r8, r8, r4
- ldr r5, [sp, #0x0]
- adc r7, r7, #0x0
- smlal r8, r7, r6, r5
- mov r5, r8, lsr #0xc
- orr r5, r5, r7, lsl #0x14
- str r5, [r3, #0x0]
- ldr r7, [r0, #0xc]
- ldr r6, [sp, #0x4]
- ldr r5, [r0, #0x4]
- smull r8, r6, r7, r6
- adds r7, r8, r4
- ldr r4, [sp, #0x0]
- adc r6, r6, #0x0
- smlal r7, r6, r5, r4
- mov r5, r7, lsr #0xc
- add r4, sp, #0x8
- orr r5, r5, r6, lsl #0x14
- str r5, [r3, #0x4]
- cmp r3, r4
- ldreq r3, [sp, #0xc]
- ldreq r4, [sp, #0x8]
- streq r3, [sp, #0x4]
- ldr r3, _020B5AAC ; =0x021CED14
- streq r4, [sp, #0x0]
- ldr r3, [r3, #0x0]
- ldr r3, [r3, #0x4]
- cmp r3, #0x0
- beq _020B597C
- cmp r3, #0x2
- moveq r5, #0x300
- movne r5, #0x100
- cmp r5, #0x100
- ldreq r4, [r1, #0x0]
- ldreq r3, _020B5AB0 ; =0xC1FFFCFF
- andeq r3, r4, r3
- orreq r3, r3, r5
- streq r3, [r1, #0x0]
- beq _020B597C
- ldr r4, [r1, #0x0]
- ldr r3, _020B5AB0 ; =0xC1FFFCFF
- and r3, r4, r3
- orr r3, r3, r5
- str r3, [r1, #0x0]
-_020B597C:
- ldr r6, [r1, #0x0]
- and r5, r6, #0x300
- cmp r5, #0x100
- beq _020B599C
- cmp r5, #0x300
- beq _020B599C
- and r3, r6, #0x30000000
- orr r5, r5, r3
-_020B599C:
- ldr r3, _020B5AA0 ; =0xC000C000
- ldr r4, _020B5AA4 ; =0x020FF8AC
- and r3, r6, r3
- and r6, r3, #0xc0000000
- and r3, r3, #0xc000
- mov lr, r3, asr #0xe
- mov r6, r6, lsr #0x1e
- mov r3, r6, lsl #0x1
- add r4, r4, lr, lsl #0x3
- ldrh r4, [r3, r4]
- ldr r6, [r0, #0x0]
- ldr r8, _020B5AA8 ; =0x020FF894
- mov r12, r4, asr #0x1
- mov r4, r12, lsl #0xc
- rsb r7, r4, #0x0
- mla r7, r6, r12, r7
- add lr, r8, lr, lsl #0x3
- ldrh r3, [r3, lr]
- ldr r6, [r0, #0x8]
- ldr lr, [sp, #0x0]
- mov r3, r3, asr #0x1
- mla r7, r6, r3, r7
- add r6, lr, r7
- str r6, [sp, #0x0]
- mov lr, r3, lsl #0xc
- ldr r6, [r0, #0x4]
- rsb r7, lr, #0x0
- mla r7, r6, r12, r7
- ldr r0, [r0, #0xc]
- ldr r6, [sp, #0x4]
- mla r3, r0, r3, r7
- add r0, r6, r3
- str r0, [sp, #0x4]
- cmp r5, #0x300
- moveq r0, #0x1
- movne r0, #0x0
- cmp r0, #0x0
- beq _020B5A4C
- ldr r3, [sp, #0x0]
- ldr r0, [sp, #0x4]
- sub r3, r3, r4
- sub r0, r0, lr
- str r3, [sp, #0x0]
- str r0, [sp, #0x4]
-_020B5A4C:
- ldr r4, [sp, #0x0]
- ldr r0, [r2, #0x0]
- ldr r3, [sp, #0x4]
- add r5, r4, r0
- str r5, [sp, #0x0]
- ldr r2, [r2, #0x4]
- ldr r0, _020B5AB4 ; =0x000001FF
- add r2, r3, r2
- str r2, [sp, #0x4]
- mov r3, r2, asr #0xc
- ldr r4, [r1, #0x0]
- ldr r2, _020B5AB8 ; =0xFE00FF00
- and r3, r3, #0xff
- and r2, r4, r2
- and r4, r0, r5, asr #0xc
- orr r0, r2, r3
- orr r0, r0, r4, lsl #0x10
- str r0, [r1, #0x0]
- add sp, sp, #0x10
- ldmia sp!, {r4-r8,pc}
- .balign 4
-_020B5A9C: .word 0x01FF0000
-_020B5AA0: .word 0xC000C000
-_020B5AA4: .word 0x020FF8AC
-_020B5AA8: .word 0x020FF894
-_020B5AAC: .word 0x021CED14
-_020B5AB0: .word 0xC1FFFCFF
-_020B5AB4: .word 0x000001FF
-_020B5AB8: .word 0xFE00FF00
-
- arm_func_start FUN_020B5ABC
-FUN_020B5ABC: ; 0x020B5ABC
- stmdb sp!, {r4-r9,lr}
- sub sp, sp, #0xc
- add r5, sp, #0x0
- mov r4, #0x0
- str r4, [r5, #0x0]
- str r4, [r5, #0x4]
- mov r8, r2
- ldr r2, [sp, #0x28]
- mov r5, r0
- mov r9, r1
- mov r4, r3
- cmp r2, #0x0
- mov r7, #0x1
- beq _020B5B24
- add r6, sp, #0x28
-_020B5AF8:
- mov r0, r9
- mov r1, r8
- mov r3, r6
- bl FUN_020B5BC8
- ldr r1, [sp, #0x0]
- ldr r2, [sp, #0x28]
- cmp r0, r1
- strgt r0, [sp, #0x0]
- add r7, r7, #0x1
- cmp r2, #0x0
- bne _020B5AF8
-_020B5B24:
- ldr r0, [r9, #0x0]
- sub r2, r7, #0x1
- ldrsb r1, [r0, #0x1]
- ldr r0, [sp, #0x0]
- add r1, r4, r1
- mul r1, r2, r1
- sub r1, r1, r4
- str r1, [sp, #0x4]
- str r0, [r5, #0x0]
- str r1, [r5, #0x4]
- add sp, sp, #0xc
- ldmia sp!, {r4-r9,pc}
-
- arm_func_start FUN_020B5B54
-FUN_020B5B54: ; 0x020B5B54
- stmdb sp!, {r4-r8,lr}
- sub sp, sp, #0x10
- str r2, [sp, #0x0]
- add r3, sp, #0x4
- mov r2, #0x0
- str r2, [r3, #0x0]
- mov r8, r0
- str r2, [r3, #0x4]
- ldr r7, [r8, #0x4]
- add r0, sp, #0x0
- mov r5, r1
- mov r4, #0x1
- blx r7
- cmp r0, #0x0
- beq _020B5BAC
- add r6, sp, #0x0
-_020B5B94:
- cmp r0, #0xa
- mov r0, r6
- addeq r4, r4, #0x1
- blx r7
- cmp r0, #0x0
- bne _020B5B94
-_020B5BAC:
- ldr r0, [r8, #0x0]
- ldrsb r0, [r0, #0x1]
- add r0, r5, r0
- mul r0, r4, r0
- sub r0, r0, r5
- add sp, sp, #0x10
- ldmia sp!, {r4-r8,pc}
-
- arm_func_start FUN_020B5BC8
-FUN_020B5BC8:
- stmdb sp!, {r4-r10,lr}
- sub sp, sp, #0x8
- mov r8, r0
- str r2, [sp, #0x0]
- ldr r4, [r8, #0x4]
- add r0, sp, #0x0
- mov r7, r1
- mov r6, r3
- mov r5, #0x0
- blx r4
- movs r1, r0
- beq _020B5C58
- ldr sb, _020B5C84 ; =0x0000FFFF
- add r10, sp, #0x0
-_020B5C00:
- cmp r1, #0xa
- beq _020B5C58
- mov r0, r8
- bl FUN_020B5CE4
- mov r1, r0
- cmp r1, r9
- ldreq r0, [r8, #0x0]
- ldreqh r1, [r0, #0x2]
- mov r0, r8
- bl FUN_020B5C88
- ldrh r1, [r8, #0x8]
- cmp r1, #0x0
- ldrnesb r1, [r0, #0x0]
- ldrneb r0, [r0, #0x1]
- addne r0, r1, r0
- ldreqsb r0, [r0, #0x2]
- add r1, r7, r0
- mov r0, r10
- add r5, r5, r1
- blx r4
- movs r1, r0
- bne _020B5C00
-_020B5C58:
- cmp r6, #0x0
- beq _020B5C70
- cmp r1, #0xa
- ldreq r0, [sp, #0x0]
- movne r0, #0x0
- str r0, [r6, #0x0]
-_020B5C70:
- cmp r5, #0x0
- subgt r5, r5, r7
- mov r0, r5
- add sp, sp, #0x8
- ldmia sp!, {r4-r10,pc}
- .balign 4
-_020B5C84: .word 0x0000FFFF
-
- arm_func_start FUN_020B5C88
-FUN_020B5C88: ; 0x020B5C88
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r3, [r0, #0x0]
- ldr lr, [r3, #0xc]
- cmp lr, #0x0
- beq _020B5CD8
-_020B5CA0:
- ldrh r12, [lr, #0x0]
- cmp r12, r1
- bhi _020B5CCC
- ldrh r2, [lr, #0x2]
- cmp r1, r2
- ldrlsh r2, [r0, #0xa]
- addls r3, lr, #0x8
- subls r0, r1, r12
- mlals r0, r2, r0, r3
- addls sp, sp, #0x4
- ldmlsia sp!, {pc}
-_020B5CCC:
- ldr lr, [lr, #0x4]
- cmp lr, #0x0
- bne _020B5CA0
-_020B5CD8:
- add r0, r3, #0x4
- add sp, sp, #0x4
- ldmia sp!, {pc}
-
- arm_func_start FUN_020B5CE4
-FUN_020B5CE4: ; 0x020B5CE4
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r0, [r0, #0x0]
- ldr r0, [r0, #0x10]
- cmp r0, #0x0
- beq _020B5D2C
-_020B5CFC:
- ldrh r2, [r0, #0x0]
- cmp r2, r1
- bhi _020B5D20
- ldrh r2, [r0, #0x2]
- cmp r1, r2
- bhi _020B5D20
- bl FUN_020B5D7C
- add sp, sp, #0x4
- ldmia sp!, {pc}
-_020B5D20:
- ldr r0, [r0, #0x8]
- cmp r0, #0x0
- bne _020B5CFC
-_020B5D2C:
- ldr r0, _020B5D38 ; =0x0000FFFF
- add sp, sp, #0x4
- ldmia sp!, {pc}
- .balign 4
-_020B5D38: .word 0x0000FFFF
-
- arm_func_start FUN_020B5D3C
-FUN_020B5D3C: ; 0x020B5D3C
- stmdb sp!, {r4,lr}
- mov r4, r0
- mov r0, r1
- mov r1, r4
- bl FUN_020B7558
- sub r0, r0, #0x1
- strh r0, [r4, #0x8]
- ldrh r0, [r4, #0x8]
- cmp r0, #0x0
- movne r1, #0x2
- moveq r1, #0x3
- ldr r0, _020B5D78 ; =FUN_020B7718
- strh r1, [r4, #0xa]
- str r0, [r4, #0x4]
- ldmia sp!, {r4,pc}
- .balign 4
-_020B5D78: .word FUN_020B7718
-
- arm_func_start FUN_020B5D7C
-FUN_020B5D7C: ; 0x020B5D7C
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldrh r3, [r0, #0x4]
- ldr r2, _020B5E4C ; =0x0000FFFF
- cmp r3, #0x0
- beq _020B5DA8
- cmp r3, #0x1
- beq _020B5DC4
- cmp r3, #0x2
- beq _020B5DD8
- b _020B5E40
-_020B5DA8:
- ldrh r2, [r0, #0x0]
- ldrh r3, [r0, #0xc]
- sub r0, r1, r2
- add r0, r3, r0
- mov r0, r0, lsl #0x10
- mov r2, r0, lsr #0x10
- b _020B5E40
-_020B5DC4:
- ldrh r2, [r0, #0x0]
- sub r1, r1, r2
- add r0, r0, r1, lsl #0x1
- ldrh r2, [r0, #0xc]
- b _020B5E40
-_020B5DD8:
- ldrh r3, [r0, #0xc]
- add r0, r0, #0xc
- add r0, r0, #0x2
- sub r3, r3, #0x1
- add lr, r0, r3, lsl #0x2
- cmp r0, lr
- bhi _020B5E40
-_020B5DF4:
- sub r12, lr, r0
- mov r3, r12, asr #0x1
- add r3, r12, r3, lsr #0x1e
- mov r3, r3, asr #0x2
- add r3, r3, r3, lsr #0x1f
- mov r12, r3, asr #0x1
- mov r3, r12, lsl #0x2
- ldrh r3, [r0, r3]
- add r12, r0, r12, lsl #0x2
- cmp r3, r1
- addcc r0, r12, #0x4
- blo _020B5E38
- cmp r1, r3
- subcc lr, r12, #0x4
- blo _020B5E38
- ldrh r2, [r12, #0x2]
- b _020B5E40
-_020B5E38:
- cmp r0, lr
- bls _020B5DF4
-_020B5E40:
- mov r0, r2
- add sp, sp, #0x4
- ldmia sp!, {pc}
- .balign 4
-_020B5E4C: .word 0x0000FFFF
-
- arm_func_start FUN_020B5E50
-FUN_020B5E50: ; 0x020B5E50
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0x3c
- mov r7, r0
- mov r0, r1
- cmp r0, #0x8
- ldr r0, [sp, #0x60]
- str r1, [sp, #0x10]
- str r0, [sp, #0x60]
- ldr r0, [sp, #0x6c]
- str r2, [sp, #0x14]
- str r0, [sp, #0x6c]
- ldrlt r0, [sp, #0x10]
- mov r11, r3
- ldr r6, [sp, #0x64]
- ldr r5, [sp, #0x68]
- movge r2, #0x3
- clzlt r0, r0
- rsblt r2, r0, #0x1f
- ldr r0, [sp, #0x14]
- cmp r0, #0x8
- ldrlt r0, [sp, #0x14]
- movge r1, #0x3
- clzlt r0, r0
- rsblt r1, r0, #0x1f
- ldr r0, _020B6170 ; =0x020FF970
- mvn r3, #0x0
- add r1, r0, r1, lsl #0x3
- add r0, r1, r2, lsl #0x1
- ldrb r4, [r1, r2, lsl #0x1]
- ldrb r1, [r0, #0x1]
- ldr r2, [sp, #0x14]
- cmp r6, #0x0
- str r1, [sp, #0x18]
- ldr r1, [sp, #0x10]
- and r1, r1, r3, lsl r4
- str r1, [sp, #0x1c]
- ldr r1, [sp, #0x18]
- and r1, r2, r3, lsl r1
- str r1, [sp, #0x20]
- moveq r1, #0x1
- streq r1, [sp, #0x24]
- movne r1, #0x2
- strne r1, [sp, #0x24]
- mov r1, #0x0
- str r1, [sp, #0x28]
- bl FUN_020B704C
- ldr r1, [sp, #0x10]
- ldr r2, [sp, #0x14]
- mov r10, r1, asr r4
- ldr r1, [sp, #0x18]
- mov r1, r2, asr r1
- str r1, [sp, #0x2c]
- ldr r1, [sp, #0x24]
- mov r2, r1, lsl r4
- ldr r1, [sp, #0x18]
- mov r2, r2, lsl r1
- ldr r1, [sp, #0x6c]
- mov r9, r2, asr r1
- mov r1, #0x0
- str r1, [sp, #0x30]
- str r1, [sp, #0x34]
- b _020B5FE8
-_020B5F48:
- ldr r2, [sp, #0x30]
- ldr r1, [sp, #0x18]
- ldr r8, [sp, #0x34]
- mov r2, r2, lsl r1
- ldr r1, [sp, #0x60]
- add lr, r1, r2, lsl #0x3
- b _020B5FD4
-_020B5F64:
- mov r1, r8, lsl r4
- add r2, r11, r1, lsl #0x3
- ldr r1, _020B6174 ; =0x000001FF
- ldr r3, [r7, #0x0]
- and r12, r2, r1
- ldr r1, _020B6178 ; =0xFE00FF00
- and r2, lr, #0xff
- and r1, r3, r1
- orr r1, r1, r2
- orr r1, r1, r12, lsl #0x10
- str r1, [r7, #0x0]
- ldr r3, [r7, #0x0]
- ldr r1, _020B617C ; =0x3FFF3FFF
- mov r2, #0x400
- and r1, r3, r1
- orr r1, r1, r0
- str r1, [r7, #0x0]
- rsb r1, r2, #0x0
- ldrh r2, [r7, #0x4]
- add r8, r8, #0x1
- and r1, r2, r1
- orr r1, r1, r5
- strh r1, [r7, #0x4]
- ldr r1, [r7, #0x0]
- add r5, r5, r9
- bic r1, r1, #0x2000
- orr r1, r1, r6, lsl #0xd
- str r1, [r7], #0x8
-_020B5FD4:
- cmp r8, r10
- blt _020B5F64
- ldr r1, [sp, #0x30]
- add r1, r1, #0x1
- str r1, [sp, #0x30]
-_020B5FE8:
- ldr r2, [sp, #0x30]
- ldr r1, [sp, #0x2c]
- cmp r2, r1
- blt _020B5F48
- ldr r0, [sp, #0x28]
- mla r0, r10, r1, r0
- str r0, [sp, #0x28]
- ldr r1, [sp, #0x1c]
- ldr r0, [sp, #0x10]
- cmp r1, r0
- bhs _020B6078
- ldr r0, [sp, #0x60]
- ldr r1, [sp, #0x10]
- str r0, [sp, #0x0]
- ldr r0, [sp, #0x1c]
- str r6, [sp, #0x4]
- sub r4, r1, r0
- ldr r1, [sp, #0x6c]
- str r5, [sp, #0x8]
- str r1, [sp, #0xc]
- ldr r1, [sp, #0x1c]
- ldr r2, [sp, #0x20]
- add r3, r11, r1, lsl #0x3
- mov r0, r7
- mov r1, r4
- bl FUN_020B5E50
- ldr r1, [sp, #0x24]
- add r7, r7, r0, lsl #0x3
- mul r2, r1, r4
- ldr r1, [sp, #0x20]
- mul r2, r1, r2
- ldr r1, [sp, #0x6c]
- add r5, r5, r2, lsr r1
- ldr r1, [sp, #0x28]
- add r0, r1, r0
- str r0, [sp, #0x28]
-_020B6078:
- ldr r1, [sp, #0x20]
- ldr r0, [sp, #0x14]
- cmp r1, r0
- bhs _020B60F0
- ldr r1, [sp, #0x60]
- ldr r0, [sp, #0x20]
- mov r3, r11
- add r0, r1, r0, lsl #0x3
- str r0, [sp, #0x0]
- str r6, [sp, #0x4]
- ldr r1, [sp, #0x14]
- ldr r0, [sp, #0x20]
- str r5, [sp, #0x8]
- sub r4, r1, r0
- ldr r1, [sp, #0x6c]
- mov r0, r7
- str r1, [sp, #0xc]
- ldr r1, [sp, #0x1c]
- mov r2, r4
- bl FUN_020B5E50
- ldr r2, [sp, #0x24]
- ldr r1, [sp, #0x1c]
- add r7, r7, r0, lsl #0x3
- mul r1, r2, r1
- mul r2, r4, r1
- ldr r1, [sp, #0x6c]
- add r5, r5, r2, lsr r1
- ldr r1, [sp, #0x28]
- add r0, r1, r0
- str r0, [sp, #0x28]
-_020B60F0:
- ldr r1, [sp, #0x1c]
- ldr r0, [sp, #0x10]
- cmp r1, r0
- bhs _020B6164
- ldr r1, [sp, #0x20]
- ldr r0, [sp, #0x14]
- cmp r1, r0
- bhs _020B6164
- ldr r1, [sp, #0x60]
- ldr r0, [sp, #0x20]
- ldr r2, [sp, #0x10]
- add r0, r1, r0, lsl #0x3
- ldr r1, [sp, #0x1c]
- ldr r3, [sp, #0x14]
- str r0, [sp, #0x0]
- sub r1, r2, r1
- ldr r2, [sp, #0x20]
- str r6, [sp, #0x4]
- sub r2, r3, r2
- ldr r3, [sp, #0x1c]
- ldr r4, [sp, #0x6c]
- str r5, [sp, #0x8]
- mov r0, r7
- add r3, r11, r3, lsl #0x3
- str r4, [sp, #0xc]
- bl FUN_020B5E50
- ldr r1, [sp, #0x28]
- add r0, r1, r0
- str r0, [sp, #0x28]
-_020B6164:
- ldr r0, [sp, #0x28]
- add sp, sp, #0x3c
- ldmia sp!, {r4-r11,pc}
- .balign 4
-_020B6170: .word 0x020FF970
-_020B6174: .word 0x000001FF
-_020B6178: .word 0xFE00FF00
-_020B617C: .word 0x3FFF3FFF
-
- arm_func_start FUN_020B6180
-FUN_020B6180: ; 0x020B6180
- stmdb sp!, {r4-r6,lr}
- mov r3, r0, lsr #0x3
- mov r6, r1, lsr #0x3
- mul r12, r3, r6
- and r2, r0, #0x4
- and lr, r0, #0x2
- and r0, r0, #0x1
- add r4, r0, lr, lsr #0x1
- mov r5, r2, lsr #0x2
- and r0, r1, #0x4
- add lr, r12, #0x0
- add r12, r5, r4, lsl #0x1
- mla r12, r6, r12, lr
- and lr, r1, #0x2
- and r1, r1, #0x1
- add lr, r1, lr, lsr #0x1
- mov r1, r0, lsr #0x2
- add r1, r1, lr, lsl #0x1
- mla r12, r3, r1, r12
- add r1, r4, r2, lsr #0x2
- add r0, lr, r0, lsr #0x2
- mla r0, r1, r0, r12
- ldmia sp!, {r4-r6,pc}
-
- arm_func_start FUN_020B61DC
-FUN_020B61DC: ; 0x020B61DC
- stmdb sp!, {r4-r8,lr}
- ldr r12, [sp, #0x1c]
- ldr r8, [sp, #0x18]
- mov r12, r12, lsl #0x1c
- mov r4, r12, lsr #0x10
- mov r6, #0x0
- cmp r2, #0x0
- ldmleia sp!, {r4-r8,pc}
-_020B61FC: ; 0x020B61FC
- mov lr, r3, lsl #0x1
- mov r12, r6
-_020B6204:
- mov r5, r0
- mov r7, r12
- cmp r1, #0x0
- ble _020B622C
-_020B6214:
- orr r3, r4, r8
- add r7, r7, #0x1
- cmp r7, r1
- add r8, r8, #0x1
- strh r3, [r5], #0x2
- blt _020B6214
-_020B622C:
- add r6, r6, #0x1
- cmp r6, r2
- add r0, r0, lr
- blt _020B6204
- ldmia sp!, {r4-r8,pc}
-
- arm_func_start FUN_020B6240
-FUN_020B6240: ; 0x020B6240
- stmdb sp!, {r4-r8,lr}
- sub sp, sp, #0x8
- ldr r5, [sp, #0x24]
- ldr lr, [sp, #0x20]
- cmp r5, #0x20
- ldr r12, [sp, #0x28]
- bgt _020B6280
- mla r4, r5, lr, r3
- ldr lr, [sp, #0x2c]
- str r12, [sp, #0x0]
- mov r3, r5
- add r0, r0, r4, lsl #0x1
- str lr, [sp, #0x4]
- bl FUN_020B61DC
- add sp, sp, #0x8
- ldmia sp!, {r4-r8,pc}
-_020B6280:
- ldr r4, [sp, #0x2c]
- add r7, lr, r2
- mov r2, r4, lsl #0x1c
- cmp lr, r7
- add r8, r3, r1
- mov r4, r2, lsr #0x10
- addge sp, sp, #0x8
- ldmgeia sp!, {r4-r8,pc}
-_020B62A0:
- cmp lr, #0x20
- movlt r1, lr
- addge r1, lr, #0x20
- mov r6, r3
- cmp r3, r8
- add r5, r0, r1, lsl #0x6
- bge _020B62E4
-_020B62BC:
- cmp r6, #0x20
- movlt r1, r6
- addge r1, r6, #0x3e0
- orr r2, r4, r12
- mov r1, r1, lsl #0x1
- add r6, r6, #0x1
- strh r2, [r5, r1]
- cmp r6, r8
- add r12, r12, #0x1
- blt _020B62BC
-_020B62E4:
- add lr, lr, #0x1
- cmp lr, r7
- blt _020B62A0
- add sp, sp, #0x8
- ldmia sp!, {r4-r8,pc}
-
- arm_func_start FUN_020B62F8
-FUN_020B62F8: ; 0x020B62F8
- stmdb sp!, {r4-r6,lr}
- sub sp, sp, #0x18
- cmp r2, #0x8
- movlt r4, r2
- movge r12, #0x3
- clzlt r4, r4
- rsblt r12, r4, #0x1f
- cmp r3, #0x8
- movlt r4, r3
- movge r6, #0x3
- clzlt r4, r4
- rsblt r6, r4, #0x1f
- ldr r4, _020B6378 ; =0x020FF970
- ldr r5, [sp, #0x28]
- add r4, r4, r6, lsl #0x3
- ldrb r6, [r4, r12, lsl #0x1]
- add r12, r4, r12, lsl #0x1
- ldr r4, _020B637C ; =FUN_020B6908
- strb r6, [sp, #0x14]
- ldrb r6, [r12, #0x1]
- ldr lr, _020B6380 ; =FUN_020B68AC
- ldr ip, _020B6384 ; =FUN_020B64C0
- strb r6, [sp, #0x15]
- str r5, [sp, #0x0]
- str r4, [sp, #0x4]
- str lr, [sp, #0x8]
- str r12, [sp, #0xc]
- ldr r12, [sp, #0x14]
- str r12, [sp, #0x10]
- bl FUN_020B6488
- add sp, sp, #0x18
- ldmia sp!, {r4-r6,pc}
- .balign 4
-_020B6378: .word 0x020FF970
-_020B637C: .word FUN_020B6908
-_020B6380: .word FUN_020B68AC
-_020B6384: .word FUN_020B64C0
-
- arm_func_start FUN_020B6388
-FUN_020B6388: ; 0x020B6388
- stmdb sp!, {lr}
- sub sp, sp, #0x14
- ldr lr, [sp, #0x18]
- ldr ip, _020B63C0 ; =FUN_020B6B10
- str lr, [sp, #0x0]
- ldr lr, _020B63C4 ; =FUN_020B68AC
- str r12, [sp, #0x4]
- ldr ip, _020B63C8 ; =FUN_020B66D4
- str lr, [sp, #0x8]
- str r12, [sp, #0xc]
- str r2, [sp, #0x10]
- bl FUN_020B6488
- add sp, sp, #0x14
- ldmia sp!, {pc}
- .balign 4
-_020B63C0: .word FUN_020B6B10
-_020B63C4: .word FUN_020B68AC
-_020B63C8: .word FUN_020B66D4
-
- arm_func_start FUN_020B63CC
-FUN_020B63CC: ; 0x020B63CC
- stmdb sp!, {r4-r8,lr}
- sub sp, sp, #0x10
- mov r7, r1
- ldrh r1, [sp, #0x2c]
- mov r8, r0
- mov r0, r7
- mov r6, r2
- mov r5, r3
- bl FUN_020B5CE4
- ldr r1, _020B6484 ; =0x0000FFFF
- mov r4, r0
- cmp r4, r1
- ldreq r0, [r7, #0x0]
- ldreqh r4, [r0, #0x2]
- mov r0, r7
- mov r1, r4
- bl FUN_020B5C88
- str r0, [sp, #0x8]
- ldr r0, [r7, #0x0]
- ldr r2, [sp, #0x28]
- ldr r0, [r0, #0x8]
- add r1, sp, #0x8
- ldrh r3, [r0, #0x2]
- add r12, r0, #0x8
- mov r0, r8
- mla r3, r4, r3, r12
- str r3, [sp, #0xc]
- str r2, [sp, #0x0]
- str r1, [sp, #0x4]
- ldr r1, [sp, #0x8]
- ldr r4, [r8, #0x14]
- ldrsb r2, [r1, #0x0]
- mov r1, r7
- mov r3, r5
- add r2, r6, r2
- blx r4
- ldrh r0, [r7, #0x8]
- cmp r0, #0x0
- ldrne r0, [sp, #0x8]
- ldrnesb r1, [r0, #0x0]
- ldrneb r0, [r0, #0x1]
- addne r0, r1, r0
- ldreq r0, [sp, #0x8]
- ldreqsb r0, [r0, #0x2]
- add sp, sp, #0x10
- ldmia sp!, {r4-r8,pc}
- .balign 4
-_020B6484: .word 0x0000FFFF
-
- arm_func_start FUN_020B6488
-FUN_020B6488: ; 0x020B6488
- str r2, [r0, #0x4]
- ldr r2, [sp, #0x0]
- str r3, [r0, #0x8]
- strb r2, [r0, #0xc]
- ldr r2, [sp, #0x4]
- str r1, [r0, #0x0]
- ldr r1, [sp, #0x8]
- str r2, [r0, #0x14]
- ldr r2, [sp, #0xc]
- str r1, [r0, #0x18]
- ldr r1, [sp, #0x10]
- str r2, [r0, #0x1c]
- str r1, [r0, #0x10]
- bx lr
-
- arm_func_start FUN_020B64C0
-FUN_020B64C0: ; 0x020B64C0
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0x54
- ldrb r4, [r0, #0xc]
- mov r10, r2
- str r1, [sp, #0xc]
- str r4, [sp, #0x44]
- ldr r1, [sp, #0x44]
- ldr r4, [sp, #0x78]
- cmp r1, #0x4
- add r1, r10, r4
- str r1, [sp, #0x1c]
- ldr r2, [sp, #0x7c]
- mov r1, r3
- add r1, r1, r2
- str r1, [sp, #0x20]
- ldrne r1, [sp, #0xc]
- str r3, [sp, #0x10]
- orrne r1, r1, r1, lsl #0x8
- orrne r1, r1, r1, lsl #0x10
- strne r1, [sp, #0xc]
- bne _020B6528
- ldr r1, [sp, #0xc]
- orr r1, r1, r1, lsl #0x4
- orr r1, r1, r1, lsl #0x8
- orr r1, r1, r1, lsl #0x10
- str r1, [sp, #0xc]
-_020B6528:
- bic r1, r10, #0x7
- str r1, [sp, #0x30]
- ldr r1, [sp, #0x10]
- ldr r2, [r0, #0x10]
- bic r1, r1, #0x7
- str r1, [sp, #0x14]
- ldr r1, [sp, #0x44]
- str r2, [sp, #0x4c]
- mov r3, r1, lsl #0x6
- mov r2, r3, asr #0x2
- ldr r1, [sp, #0x20]
- add r3, r3, r2, lsr #0x1d
- ldr r2, [sp, #0x1c]
- add r6, r1, #0x7
- add r2, r2, #0x7
- bic r5, r2, #0x7
- bic r2, r6, #0x7
- ldr r1, [sp, #0x30]
- str r2, [sp, #0x24]
- mov r2, r3, asr #0x3
- str r2, [sp, #0x48]
- mov r4, r1, asr #0x2
- ldr r2, [sp, #0x30]
- ldr r1, [sp, #0x14]
- add r2, r2, r4, lsr #0x1d
- mov r2, r2, asr #0x3
- str r2, [sp, #0x2c]
- ldr r2, [sp, #0x14]
- mov r1, r1, asr #0x2
- add r1, r2, r1, lsr #0x1d
- mov r6, r1, asr #0x3
- ldr r1, [sp, #0x24]
- cmp r2, r1
- ldr r1, [r0, #0x4]
- str r1, [sp, #0x40]
- ldr r1, [r0, #0x8]
- ldr r0, [r0, #0x0]
- str r1, [sp, #0x3c]
- str r0, [sp, #0x28]
- ldrb r0, [sp, #0x4c]
- str r0, [sp, #0x38]
- ldrb r0, [sp, #0x4d]
- str r0, [sp, #0x34]
- addge sp, sp, #0x54
- ldmgeia sp!, {r4-r11,pc}
-_020B65DC: ; 0x020B65DC
- mov r4, #0x0
- mov r11, #0x8
-_020B65E4:
- ldr r1, [sp, #0x14]
- ldr r0, [sp, #0x10]
- ldr r7, [sp, #0x2c]
- cmp r1, r0
- movlt r1, r0
- ldrlt r0, [sp, #0x14]
- sublt r9, r1, r0
- ldr r1, [sp, #0x20]
- ldr r0, [sp, #0x14]
- movge r9, r4
- sub r0, r1, r0
- cmp r0, #0x8
- movgt r0, r11
- sub r0, r0, r9
- str r0, [sp, #0x18]
- ldr r0, [sp, #0x30]
- cmp r0, r5
- mov r8, r0
- bge _020B66B0
-_020B6630:
- ldr r0, [sp, #0x38]
- ldr r2, [sp, #0x40]
- str r0, [sp, #0x0]
- ldr r0, [sp, #0x34]
- ldr r3, [sp, #0x3c]
- str r0, [sp, #0x4]
- mov r0, r7
- mov r1, r6
- bl FUN_020B7068
- ldr r2, [sp, #0x1c]
- cmp r8, r10
- sublt r1, r10, r8
- sub r2, r2, r8
- movge r1, r4
- cmp r2, #0x8
- movgt r2, r11
- sub r3, r2, r1
- ldr r2, [sp, #0x18]
- ldr r12, [sp, #0x48]
- str r2, [sp, #0x0]
- ldr r2, [sp, #0xc]
- str r2, [sp, #0x4]
- ldr r2, [sp, #0x44]
- str r2, [sp, #0x8]
- ldr r2, [sp, #0x28]
- mla r0, r12, r0, r2
- mov r2, r9
- bl FUN_020B6F18
- add r8, r8, #0x8
- add r7, r7, #0x1
- cmp r8, r5
- blt _020B6630
-_020B66B0:
- ldr r0, [sp, #0x14]
- add r6, r6, #0x1
- add r1, r0, #0x8
- ldr r0, [sp, #0x24]
- str r1, [sp, #0x14]
- cmp r1, r0
- blt _020B65E4
- add sp, sp, #0x54
- ldmia sp!, {r4-r11,pc}
-
- arm_func_start FUN_020B66D4
-FUN_020B66D4: ; 0x020B66D4
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0x3c
- ldrb r4, [r0, #0xc]
- mov r10, r2
- str r1, [sp, #0xc]
- str r4, [sp, #0x2c]
- ldr r1, [sp, #0x2c]
- ldr r4, [sp, #0x60]
- cmp r1, #0x4
- add r1, r10, r4
- str r1, [sp, #0x18]
- ldr r2, [sp, #0x64]
- mov r1, r3
- add r1, r1, r2
- str r1, [sp, #0x1c]
- ldrne r1, [sp, #0xc]
- str r3, [sp, #0x10]
- orrne r1, r1, r1, lsl #0x8
- orrne r1, r1, r1, lsl #0x10
- strne r1, [sp, #0xc]
- bne _020B673C
- ldr r1, [sp, #0xc]
- orr r1, r1, r1, lsl #0x4
- orr r1, r1, r1, lsl #0x8
- orr r1, r1, r1, lsl #0x10
- str r1, [sp, #0xc]
-_020B673C:
- ldr r1, [sp, #0x10]
- bic r1, r1, #0x7
- mov r2, r1, asr #0x2
- str r1, [sp, #0x14]
- add r1, r1, r2, lsr #0x1d
- ldr r2, [r0, #0x10]
- mov r3, r1, asr #0x3
- mul r1, r3, r2
- bic r3, r10, #0x7
- str r3, [sp, #0x28]
- ldr r3, [sp, #0x2c]
- mov r6, r3, lsl #0x6
- ldr r3, [sp, #0x28]
- mov r4, r6, asr #0x2
- mov r5, r3, asr #0x2
- add r5, r3, r5, lsr #0x1d
- add r4, r6, r4, lsr #0x1d
- mov r3, r4, asr #0x3
- str r3, [sp, #0x30]
- ldr r3, [sp, #0x1c]
- add r1, r1, r5, asr #0x3
- add r4, r3, #0x7
- ldr r3, [r0, #0x0]
- ldr r0, [sp, #0x18]
- add r5, r0, #0x7
- ldr r0, [sp, #0x30]
- bic r7, r5, #0x7
- mla r1, r0, r1, r3
- bic r0, r4, #0x7
- str r0, [sp, #0x20]
- ldr r0, [sp, #0x30]
- str r1, [sp, #0x24]
- mul r0, r2, r0
- str r0, [sp, #0x34]
- ldr r1, [sp, #0x14]
- ldr r0, [sp, #0x20]
- cmp r1, r0
- addge sp, sp, #0x3c
- ldmgeia sp!, {r4-r11,pc}
-_020B67D8: ; 0x020B67D8
- mov r5, #0x0
- mov r4, #0x8
-_020B67E0:
- ldr r1, [sp, #0x14]
- ldr r0, [sp, #0x10]
- ldr r6, [sp, #0x24]
- cmp r1, r0
- movlt r1, r0
- ldrlt r0, [sp, #0x14]
- sublt r9, r1, r0
- ldr r1, [sp, #0x1c]
- ldr r0, [sp, #0x14]
- movge r9, r5
- sub r0, r1, r0
- cmp r0, #0x8
- movgt r0, r4
- sub r11, r0, r9
- ldr r0, [sp, #0x28]
- cmp r0, r7
- mov r8, r0
- bge _020B687C
-_020B6828:
- ldr r0, [sp, #0x18]
- cmp r8, r10
- sublt r1, r10, r8
- sub r0, r0, r8
- movge r1, r5
- cmp r0, #0x8
- movgt r0, r4
- sub r3, r0, r1
- ldr r0, [sp, #0xc]
- str r11, [sp, #0x0]
- str r0, [sp, #0x4]
- ldr r0, [sp, #0x2c]
- mov r2, r9
- str r0, [sp, #0x8]
- mov r0, r6
- bl FUN_020B6F18
- ldr r0, [sp, #0x30]
- add r8, r8, #0x8
- add r6, r6, r0
- cmp r8, r7
- blt _020B6828
-_020B687C:
- ldr r1, [sp, #0x24]
- ldr r0, [sp, #0x34]
- add r0, r1, r0
- str r0, [sp, #0x24]
- ldr r0, [sp, #0x14]
- add r1, r0, #0x8
- ldr r0, [sp, #0x20]
- str r1, [sp, #0x14]
- cmp r1, r0
- blt _020B67E0
- add sp, sp, #0x3c
- ldmia sp!, {r4-r11,pc}
-
- arm_func_start FUN_020B68AC
-FUN_020B68AC: ; 0x020B68AC
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- mov r3, r0
- ldrb r2, [r3, #0xc]
- ldr r12, [r3, #0x4]
- cmp r2, #0x4
- orreq r0, r1, r1, lsl #0x4
- orreq r0, r0, r0, lsl #0x8
- orreq r1, r0, r0, lsl #0x10
- orrne r0, r1, r1, lsl #0x8
- orrne r1, r0, r0, lsl #0x10
- ldr r0, [r3, #0x8]
- mov r2, r2, lsl #0x6
- mul lr, r12, r0
- mov r0, r2, asr #0x2
- add r0, r2, r0, lsr #0x1d
- mov r2, r0, asr #0x3
- mov r0, r1
- mul r2, lr, r2
- ldr r1, [r3, #0x0]
- bl MIi_CpuClearFast
- add sp, sp, #0x4
- ldmia sp!, {pc}
-
- arm_func_start FUN_020B6908
-FUN_020B6908: ; 0x020B6908
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0x4c
- ldr r7, [sp, #0x74]
- ldrb r5, [r0, #0xc]
- ldr r6, [r1, #0x0]
- ldr r4, [r7, #0x0]
- ldr r9, [r6, #0x8]
- mov r8, r5, lsl #0x6
- ldrb r4, [r4, #0x1]
- mov r5, r8, asr #0x2
- add r5, r8, r5, lsr #0x1d
- ldrb r9, [r9, #0x1]
- ldr r8, [r0, #0x4]
- ldr r6, [r0, #0x8]
- str r2, [sp, #0x8]
- str r3, [sp, #0xc]
- cmp r4, #0x0
- mov r5, r5, asr #0x3
- addeq sp, sp, #0x4c
- ldmeqia sp!, {r4-r11,pc}
-_020B6958: ; 0x020B6958
- adds r3, r2, r4
- addmi sp, sp, #0x4c
- ldmmiia sp!, {r4-r11,pc}
-_020B6964: ; 0x020B6964
- ldr r2, [sp, #0xc]
- adds r2, r2, r9
- addmi sp, sp, #0x4c
- ldmmiia sp!, {r4-r11,pc}
-_020B6974: ; 0x020B6974
- ldr r10, [sp, #0x8]
- add r3, r3, #0x7
- cmp r10, #0x0
- movle r10, #0x0
- strle r10, [sp, #0x10]
- movgt r10, r10, lsr #0x3
- strgt r10, [sp, #0x10]
- ldr r10, [sp, #0xc]
- add r2, r2, #0x7
- cmp r10, #0x0
- movle r10, #0x0
- mov r11, r2, lsr #0x3
- mov r3, r3, lsr #0x3
- movgt r10, r10, lsr #0x3
- cmp r3, r8
- movcs r3, r8
- cmp r11, r6
- ldr r2, [sp, #0x10]
- movcs r11, r6
- subs r8, r3, r2
- addmi sp, sp, #0x4c
- sub r3, r11, r10
- ldmmiia sp!, {r4-r11,pc}
-_020B69D0: ; 0x020B69D0
- cmp r3, #0x0
- addlt sp, sp, #0x4c
- ldmltia sp!, {r4-r11,pc}
-_020B69DC: ; 0x020B69DC
- ldr r2, [sp, #0x8]
- ldr r6, [r0, #0x0]
- cmp r2, #0x0
- andge r2, r2, #0x7
- strge r2, [sp, #0x8]
- ldr r2, [sp, #0xc]
- ldr r11, [sp, #0x8]
- cmp r2, #0x0
- andge r2, r2, #0x7
- strge r2, [sp, #0xc]
- sub r8, r11, r8, lsl #0x3
- ldr r11, [sp, #0xc]
- ldr r2, [sp, #0x70]
- sub r3, r11, r3, lsl #0x3
- str r3, [sp, #0x14]
- ldr r3, [r7, #0x4]
- sub r2, r2, #0x1
- str r3, [sp, #0x28]
- str r2, [sp, #0x48]
- str r9, [sp, #0x38]
- str r4, [sp, #0x34]
- ldr r4, [r1, #0x0]
- ldr r2, [sp, #0x14]
- mov r3, r11
- cmp r3, r2
- ldr r2, [r4, #0x8]
- ldrb r3, [r2, #0x6]
- str r3, [sp, #0x40]
- ldrb r2, [r0, #0xc]
- str r2, [sp, #0x44]
- ldr r1, [r1, #0x0]
- ldr r1, [r1, #0x8]
- ldrb r1, [r1, #0x0]
- mul r1, r3, r1
- str r1, [sp, #0x3c]
- ldr r1, [r0, #0x10]
- str r1, [sp, #0x20]
- ldr r1, [r0, #0x4]
- ldr r0, [r0, #0x8]
- ldrb r11, [sp, #0x20]
- ldrb r4, [sp, #0x21]
- str r1, [sp, #0x1c]
- str r0, [sp, #0x18]
- addle sp, sp, #0x4c
- ldmleia sp!, {r4-r11,pc}
-_020B6A90:
- ldr r0, [sp, #0xc]
- ldr r7, [sp, #0x10]
- str r0, [sp, #0x30]
- ldr r0, [sp, #0x8]
- cmp r0, r8
- mov r9, r0
- ble _020B6AEC
-_020B6AAC:
- ldr r2, [sp, #0x1c]
- str r11, [sp, #0x0]
- ldr r3, [sp, #0x18]
- mov r0, r7
- mov r1, r10
- str r4, [sp, #0x4]
- bl FUN_020B7068
- mla r1, r0, r5, r6
- add r0, sp, #0x24
- str r9, [sp, #0x2c]
- str r1, [sp, #0x24]
- bl FUN_020B6CAC
- sub r9, r9, #0x8
- add r7, r7, #0x1
- cmp r9, r8
- bgt _020B6AAC
-_020B6AEC:
- ldr r0, [sp, #0xc]
- add r10, r10, #0x1
- sub r1, r0, #0x8
- ldr r0, [sp, #0x14]
- str r1, [sp, #0xc]
- cmp r1, r0
- bgt _020B6A90
- add sp, sp, #0x4c
- ldmia sp!, {r4-r11,pc}
-
- arm_func_start FUN_020B6B10
-FUN_020B6B10: ; 0x020B6B10
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0x2c
- ldr r4, [sp, #0x54]
- ldrb r5, [r0, #0xc]
- str r4, [sp, #0x54]
- ldr r4, [r4, #0x0]
- ldr r6, [r1, #0x0]
- mov r7, r5, lsl #0x6
- ldrb r4, [r4, #0x1]
- mov r5, r7, asr #0x2
- add r5, r7, r5, lsr #0x1d
- cmp r4, #0x0
- ldr r6, [r6, #0x8]
- mov r9, r3
- ldr r8, [r0, #0x4]
- ldr r7, [r0, #0x8]
- mov r10, r2
- mov r5, r5, asr #0x3
- addeq sp, sp, #0x2c
- ldr lr, [r0, #0x0]
- ldrb r3, [r6, #0x1]
- ldmeqia sp!, {r4-r11,pc}
-_020B6B68: ; 0x020B6B68
- adds r6, r10, r4
- addmi sp, sp, #0x2c
- ldmmiia sp!, {r4-r11,pc}
-_020B6B74: ; 0x020B6B74
- adds r2, r9, r3
- addmi sp, sp, #0x2c
- ldmmiia sp!, {r4-r11,pc}
-_020B6B80: ; 0x020B6B80
- cmp r10, #0x0
- movle r11, #0x0
- add r6, r6, #0x7
- movgt r11, r10, lsr #0x3
- cmp r9, #0x0
- movle r12, #0x0
- add r2, r2, #0x7
- mov r6, r6, lsr #0x3
- movgt r12, r9, lsr #0x3
- cmp r6, r8
- movcs r6, r8
- mov r2, r2, lsr #0x3
- cmp r2, r7
- movcs r2, r7
- subs r7, r6, r11
- addmi sp, sp, #0x2c
- sub r2, r2, r12
- ldmmiia sp!, {r4-r11,pc}
-_020B6BC8: ; 0x020B6BC8
- cmp r2, #0x0
- addlt sp, sp, #0x2c
- ldmltia sp!, {r4-r11,pc}
-_020B6BD4: ; 0x020B6BD4
- ldr r6, [r0, #0x10]
- cmp r10, #0x0
- sub r8, r6, r7
- mul r8, r5, r8
- mla r11, r6, r12, r11
- andge r10, r10, #0x7
- str r8, [sp, #0x0]
- ldr r8, [sp, #0x54]
- mla r6, r5, r11, lr
- ldr r12, [r8, #0x4]
- ldr r11, [sp, #0x50]
- cmp r9, #0x0
- sub r8, r11, #0x1
- andge r9, r9, #0x7
- sub r11, r9, r2, lsl #0x3
- str r12, [sp, #0x8]
- str r4, [sp, #0x14]
- str r8, [sp, #0x28]
- str r3, [sp, #0x18]
- ldr r3, [r1, #0x0]
- cmp r9, r11
- ldr r2, [r3, #0x8]
- sub r7, r10, r7, lsl #0x3
- ldrb r2, [r2, #0x6]
- str r2, [sp, #0x20]
- ldrb r0, [r0, #0xc]
- str r0, [sp, #0x24]
- ldr r0, [r1, #0x0]
- ldr r0, [r0, #0x8]
- ldrb r0, [r0, #0x0]
- mul r0, r2, r0
- str r0, [sp, #0x1c]
- addle sp, sp, #0x2c
- ldmleia sp!, {r4-r11,pc}
-_020B6C5C: ; 0x020B6C5C
- add r4, sp, #0x4
-_020B6C60:
- mov r8, r10
- str r9, [sp, #0x10]
- cmp r10, r7
- ble _020B6C90
-_020B6C70:
- mov r0, r4
- str r6, [sp, #0x4]
- str r8, [sp, #0xc]
- bl FUN_020B6CAC
- sub r8, r8, #0x8
- cmp r8, r7
- add r6, r6, r5
- bgt _020B6C70
-_020B6C90:
- ldr r0, [sp, #0x0]
- sub r9, r9, #0x8
- cmp r9, r11
- add r6, r6, r0
- bgt _020B6C60
- add sp, sp, #0x2c
- ldmia sp!, {r4-r11,pc}
-
- arm_func_start FUN_020B6CAC
-FUN_020B6CAC: ; 0x020B6CAC
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0x34
- ldr r5, [r0, #0x8]
- ldr r4, [r0, #0xc]
- cmp r5, #0x0
- strge r5, [sp, #0x0]
- movlt r1, #0x0
- strlt r1, [sp, #0x0]
- ldr r1, [r0, #0x10]
- cmp r4, #0x0
- add r10, r5, r1
- ldr r1, [r0, #0x14]
- movge r2, r4
- movlt r2, #0x0
- cmp r10, #0x8
- add r3, r4, r1
- movge r10, #0x8
- cmp r3, #0x8
- movge r3, #0x8
- cmp r4, #0x0
- movgt r4, #0x0
- cmp r5, #0x0
- ldr r8, [r0, #0x20]
- movgt r5, #0x0
- rsb r1, r4, #0x0
- mul r7, r10, r8
- ldr r6, [r0, #0x1c]
- rsb r4, r5, #0x0
- mul r9, r6, r4
- ldr r4, [r0, #0x18]
- mov r10, r7
- str r4, [sp, #0x8]
- ldr r4, [sp, #0x0]
- cmp r8, #0x4
- mul r5, r4, r8
- ldr r4, [sp, #0x8]
- str r5, [sp, #0x0]
- mla r11, r1, r4, r9
- ldr r1, [r0, #0x4]
- str r1, [sp, #0x4]
- bne _020B6E24
- ldr r1, [r0, #0x0]
- ldr r7, [r0, #0x24]
- add r0, r1, r2, lsl #0x2
- str r0, [sp, #0xc]
- add r0, r1, r3, lsl #0x2
- ldr r1, [sp, #0xc]
- str r0, [sp, #0x10]
- cmp r1, r0
- addcs sp, sp, #0x34
- ldmcsia sp!, {r4-r11,pc}
-_020B6D78: ; 0x020B6D78
- mov r0, #0x0
- add r9, sp, #0x24
- mov r4, #0xf
- str r0, [sp, #0x1c]
-_020B6D88:
- ldr r0, [sp, #0xc]
- mov r1, r11, lsr #0x1f
- ldr r5, [r0, #0x0]
- ldr r0, [sp, #0x4]
- rsb r2, r1, r11, lsl #0x1d
- add r0, r0, r11, lsr #0x3
- str r0, [sp, #0x24]
- ldr r0, [sp, #0x1c]
- add r1, r1, r2, ror #0x1d
- strb r0, [sp, #0x28]
- strb r0, [sp, #0x29]
- mov r0, r9
- bl FUN_020B76B0
- ldr r8, [sp, #0x0]
- mov r0, r8
- cmp r0, r10
- bhs _020B6DF8
-_020B6DCC:
- mov r0, r9
- mov r1, r6
- bl FUN_020B76B0
-_020B6DD8: ; 0x020B6DD8
- cmp r0, #0x0
- mvnne r1, r4, lsl r8
- addne r0, r7, r0
- andne r1, r5, r1
- orrne r5, r1, r0, lsl r8
- add r8, r8, #0x4
- cmp r8, r10
- blo _020B6DCC
-_020B6DF8:
- ldr r0, [sp, #0xc]
- add r1, r0, #0x4
- str r5, [r0, #0x0]
- ldr r0, [sp, #0x10]
- str r1, [sp, #0xc]
- cmp r1, r0
- ldr r0, [sp, #0x8]
- add r11, r11, r0
- blo _020B6D88
- add sp, sp, #0x34
- ldmia sp!, {r4-r11,pc}
-_020B6E24:
- ldr r1, [r0, #0x0]
- ldr r9, [r0, #0x24]
- add r0, r1, r2, lsl #0x3
- str r0, [sp, #0x14]
- add r0, r1, r3, lsl #0x3
- ldr r1, [sp, #0x14]
- str r0, [sp, #0x18]
- cmp r1, r0
- addcs sp, sp, #0x34
- ldmcsia sp!, {r4-r11,pc}
-_020B6E4C: ; 0x020B6E4C
- mov r0, #0x0
- mov r4, #0xff
- str r0, [sp, #0x20]
-_020B6E58:
- mov r1, r11, lsr #0x1f
- rsb r0, r1, r11, lsl #0x1d
- add r1, r1, r0, ror #0x1d
- ldr r0, [sp, #0x14]
- ldr r8, [r0, #0x0]
- ldr r7, [r0, #0x4]
- ldr r0, [sp, #0x4]
- add r0, r0, r11, lsr #0x3
- str r0, [sp, #0x2c]
- ldr r0, [sp, #0x20]
- strb r0, [sp, #0x30]
- strb r0, [sp, #0x31]
- add r0, sp, #0x2c
- bl FUN_020B76B0
-_020B6E90: ; 0x020B6E90
- ldr r0, [sp, #0x0]
- cmp r0, r10
- mov r5, r0
- bhs _020B6EE8
-_020B6EA0:
- add r0, sp, #0x2c
- mov r1, r6
- bl FUN_020B76B0
-_020B6EAC: ; 0x020B6EAC
- cmp r0, #0x0
- beq _020B6EDC
- cmp r5, #0x20
- mvncc r1, r4, lsl r5
- addcc r0, r9, r0
- andcc r1, r8, r1
- orrcc r8, r1, r0, lsl r5
- subcs r2, r5, #0x20
- mvncs r1, r4, lsl r2
- addcs r0, r9, r0
- andcs r1, r7, r1
- orrcs r7, r1, r0, lsl r2
-_020B6EDC:
- add r5, r5, #0x8
- cmp r5, r10
- blo _020B6EA0
-_020B6EE8:
- ldr r0, [sp, #0x14]
- str r8, [r0, #0x0]
- add r1, r0, #0x8
- str r7, [r0, #0x4]
- ldr r0, [sp, #0x18]
- str r1, [sp, #0x14]
- cmp r1, r0
- ldr r0, [sp, #0x8]
- add r11, r11, r0
- blo _020B6E58
- add sp, sp, #0x34
- ldmia sp!, {r4-r11,pc}
-
- arm_func_start FUN_020B6F18
-FUN_020B6F18: ; 0x020B6F18
- stmdb sp!, {r4-r6,lr}
- mov lr, r0
- cmp r3, #0x8
- ldr r0, [sp, #0x14]
- bne _020B6F4C
- ldr r4, [sp, #0x10]
- cmp r4, #0x8
- bne _020B6F4C
- ldr r2, [sp, #0x18]
- mov r1, lr
- mov r2, r2, lsl #0x3
- bl MIi_CpuClearFast
- ldmia sp!, {r4-r6,pc}
-_020B6F4C:
- ldr r4, [sp, #0x18]
- cmp r4, #0x4
- bne _020B6FAC
- mov r5, r1, lsl #0x2
- add r4, r5, r3, lsl #0x2
- mvn r3, #0x0
- rsb r4, r4, #0x20
- mov r3, r3, lsr r5
- add r1, r4, r1, lsl #0x2
- mov r3, r3, lsl r1
- ldr r1, [sp, #0x10]
- add r5, lr, r2, lsl #0x2
- add r2, r5, r1, lsl #0x2
- and r6, r0, r3, lsr r4
- cmp r5, r2
- mvn r1, r3, lsr r4
- ldmcsia sp!, {r4-r6,pc}
-_020B6F90:
- ldr r0, [r5, #0x0]
- and r0, r0, r1
- orr r0, r6, r0
- str r0, [r5], #0x4
- cmp r5, r2
- blo _020B6F90
- ldmia sp!, {r4-r6,pc}
-_020B6FAC:
- mov r12, r1, lsl #0x3
- add r1, r12, r3, lsl #0x3
- rsb r1, r1, #0x40
- mvn r3, #0x0
- cmp r1, #0x20
- mov r5, r3, lsr r12
- subcs r4, r1, #0x20
- addcs r3, r12, r4
- movcs r3, r5, lsl r3
- movcs r3, r3, lsr r4
- movcc r3, r5, lsl r12
- mvn r4, #0x0
- add r5, lr, r2, lsl #0x3
- cmp r12, #0x20
- mov r4, r4, lsl r1
- subcs r12, r12, #0x20
- addcs r1, r12, r1
- movcs r1, r4, lsr r1
- movcs r6, r1, lsl r12
- movcc r6, r4, lsr r1
- ldr r1, [sp, #0x10]
- and lr, r0, r3
- add r4, r5, r1, lsl #0x3
- cmp r5, r4
- and r12, r0, r6
- mvn r2, r3
- mvn r1, r6
- ldmcsia sp!, {r4-r6,pc}
-_020B701C:
- ldr r0, [r5, #0x0]
- and r0, r0, r2
- orr r0, lr, r0
- str r0, [r5, #0x0]
- ldr r0, [r5, #0x4]
- and r0, r0, r1
- orr r0, r12, r0
- str r0, [r5, #0x4]
- add r5, r5, #0x8
- cmp r5, r4
- blo _020B701C
- ldmia sp!, {r4-r6,pc}
-
- arm_func_start FUN_020B704C
-FUN_020B704C: ; 0x020B704C
- ldrb r3, [r0, #0x1]
- ldr r2, _020B7064 ; =0x020FF990
- ldrb r1, [r0, #0x0]
- add r0, r2, r3, lsl #0x4
- ldr r0, [r0, r1, lsl #0x2]
- bx lr
- .balign 4
-_020B7064: .word 0x020FF990
-
- arm_func_start FUN_020B7068
-FUN_020B7068: ; 0x020B7068
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0x4
- ldr fp, _020B7164 ; =0x020FF970
- mov r9, #0x0
- mov r10, #0x3
- mvn r7, #0x0
-_020B7080:
- ldr r4, [sp, #0x2c]
- ldr r6, [sp, #0x28]
- and r12, r3, r7, lsl r4
- cmp r12, r1
- mov r8, r7, lsl r6
- mov r5, r7, lsl r4
- and lr, r2, r7, lsl r6
- bhi _020B70D0
- mla r9, r2, r12, r9
- cmp lr, r0
- movhi r2, lr
- subhi r1, r1, r12
- subhi r3, r3, r12
- bhi _020B7118
- sub r3, r3, r12
- mla r9, lr, r3, r9
- sub r0, r0, lr
- sub r1, r1, r12
- sub r2, r2, lr
- b _020B7118
-_020B70D0:
- cmp lr, r0
- mlals r9, lr, r12, r9
- mvn r3, r5
- movls r3, r12
- subls r0, r0, lr
- subls r2, r2, lr
- bls _020B7118
- and r2, r1, r5
- mla r5, lr, r2, r9
- and r2, r0, r8
- and r1, r1, r3
- add r2, r5, r2, lsl r4
- mvn r3, r8
- add r1, r2, r1, lsl r6
- and r0, r0, r3
- add sp, sp, #0x4
- add r0, r1, r0
- ldmia sp!, {r4-r11,pc}
-_020B7118:
- cmp r2, #0x8
- movlt r4, r2
- movge r5, r10
- clzlt r4, r4
- rsblt r5, r4, #0x1f
- cmp r3, #0x8
- movge r4, r10
- movlt r4, r3
- clzlt r4, r4
- rsblt r4, r4, #0x1f
- add r4, r11, r4, lsl #0x3
- add r6, r4, r5, lsl #0x1
- ldrb r5, [r4, r5, lsl #0x1]
- ldrb r4, [r6, #0x1]
- str r5, [sp, #0x28]
- str r4, [sp, #0x2c]
- b _020B7080
-_020B715C: ; 0x020B715C
- add sp, sp, #0x4
- ldmia sp!, {r4-r11,pc}
- .balign 4
-_020B7164: .word 0x020FF970
-
- arm_func_start FUN_020B7168
-FUN_020B7168: ; 0x020B7168
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0xc
- ldr r12, [sp, #0x28]
- mov r7, r0
- mov r6, r1
- mov r5, r2
- mov r4, r3
- ands r0, r12, #0x100
- beq _020B71AC
- ldr r0, [r7, #0x4]
- ldr r1, [r7, #0xc]
- ldr r2, [sp, #0x2c]
- bl FUN_020B5B54
- ldr r1, [sp, #0x20]
- sub r0, r1, r0
- add r5, r5, r0
- b _020B71E4
-_020B71AC:
- ands r0, r12, #0x80
- beq _020B71E4
- ldr r0, [r7, #0x4]
- ldr r1, [r7, #0xc]
- ldr r2, [sp, #0x2c]
- bl FUN_020B5B54
- ldr r2, [sp, #0x20]
- add r1, r0, #0x1
- add r0, r2, #0x1
- add r0, r0, r0, lsr #0x1f
- mov r2, r0, asr #0x1
- add r0, r1, r1, lsr #0x1f
- sub r0, r2, r0, asr #0x1
- add r5, r5, r0
-_020B71E4:
- ldr r1, [sp, #0x24]
- ldr r0, [sp, #0x28]
- str r1, [sp, #0x0]
- ldr r12, [sp, #0x2c]
- str r0, [sp, #0x4]
- mov r0, r7
- mov r1, r6
- mov r2, r5
- mov r3, r4
- str r12, [sp, #0x8]
- bl FUN_020B72C4
- add sp, sp, #0xc
- ldmia sp!, {r4-r7,pc}
-
- arm_func_start FUN_020B7218
-FUN_020B7218: ; 0x020B7218
- stmdb sp!, {r4-r8,lr}
- sub sp, sp, #0x18
- ldr r4, [sp, #0x34]
- mov r8, r0
- str r4, [sp, #0x0]
- mov r7, r1
- mov r6, r2
- mov r5, r3
- ldr r4, [sp, #0x30]
- ldr r1, [r8, #0x4]
- ldr r2, [r8, #0x8]
- ldr r3, [r8, #0xc]
- add r0, sp, #0xc
- bl FUN_020B5ABC
- ands r0, r4, #0x10
- ldrne r0, [sp, #0xc]
- addne r0, r0, #0x1
- addne r0, r0, r0, lsr #0x1f
- subne r7, r7, r0, asr #0x1
- bne _020B7274
- ands r0, r4, #0x20
- ldrne r0, [sp, #0xc]
- subne r7, r7, r0
-_020B7274:
- ands r0, r4, #0x2
- ldrne r0, [sp, #0x10]
- addne r0, r0, #0x1
- addne r0, r0, r0, lsr #0x1f
- subne r6, r6, r0, asr #0x1
- bne _020B7298
- ands r0, r4, #0x4
- ldrne r0, [sp, #0x10]
- subne r6, r6, r0
-_020B7298:
- str r5, [sp, #0x0]
- ldr r0, [sp, #0x34]
- str r4, [sp, #0x4]
- str r0, [sp, #0x8]
- ldr r3, [sp, #0xc]
- mov r0, r8
- mov r1, r7
- mov r2, r6
- bl FUN_020B72C4
- add sp, sp, #0x18
- ldmia sp!, {r4-r8,pc}
-
- arm_func_start FUN_020B72C4
-FUN_020B72C4: ; 0x020B72C4
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0x14
- mov r10, r0
- ldr r4, [r10, #0x4]
- ldr r0, [sp, #0x40]
- ldr r4, [r4, #0x0]
- ldr r5, [r10, #0xc]
- ldrsb r4, [r4, #0x1]
- cmp r0, #0x0
- mov r9, r1
- str r0, [sp, #0xc]
- ldr r0, [sp, #0x38]
- mov r8, r2
- str r0, [sp, #0x38]
- mov r7, r3
- add r6, r5, r4
- addeq sp, sp, #0x14
- ldmeqia sp!, {r4-r11,pc}
-_020B730C: ; 0x020B730C
- add r0, r7, #0x1
- ldr r1, [sp, #0x3c]
- add r0, r0, r0, lsr #0x1f
- mov r0, r0, asr #0x1
- and r5, r1, #0x800
- and r11, r1, #0x400
- str r0, [sp, #0x8]
- mov r4, #0x0
-_020B732C:
- mov r1, r9
- cmp r5, #0x0
- beq _020B7358
- ldr r0, [r10, #0x4]
- ldr r1, [r10, #0x8]
- ldr r2, [sp, #0xc]
- mov r3, r4
- bl FUN_020B5BC8
-_020B734C: ; 0x020B734C
- sub r0, r7, r0
- add r1, r9, r0
- b _020B7388
-_020B7358:
- cmp r11, #0x0
- beq _020B7388
- ldr r0, [r10, #0x4]
- ldr r1, [r10, #0x8]
- ldr r2, [sp, #0xc]
- mov r3, r4
- bl FUN_020B5BC8
- add r0, r0, #0x1
- add r1, r0, r0, lsr #0x1f
- ldr r0, [sp, #0x8]
- sub r0, r0, r1, asr #0x1
- add r1, r9, r0
-_020B7388:
- ldr r2, [sp, #0xc]
- add r3, sp, #0xc
- str r2, [sp, #0x0]
- str r3, [sp, #0x4]
- ldr r3, [sp, #0x38]
- mov r0, r10
- mov r2, r8
- bl FUN_020B73C0
- ldr r0, [sp, #0xc]
- add r8, r8, r6
- cmp r0, #0x0
- bne _020B732C
- add sp, sp, #0x14
- ldmia sp!, {r4-r11,pc}
-
- arm_func_start FUN_020B73C0
-FUN_020B73C0: ; 0x020B73C0
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0xc
- mov r10, r0
- ldr r6, [r10, #0x8]
- ldr r5, [r10, #0x4]
- ldr r4, [sp, #0x30]
- add r0, sp, #0x8
- str r4, [sp, #0x8]
- ldr r4, [r5, #0x4]
- mov r9, r1
- mov r8, r2
- mov r7, r3
- blx r4
- cmp r0, #0x0
- beq _020B743C
- add r11, sp, #0x8
-_020B7400:
- cmp r0, #0xa
- beq _020B743C
- str r7, [sp, #0x0]
- str r0, [sp, #0x4]
- ldr r0, [r10, #0x0]
- mov r1, r5
- mov r2, r9
- mov r3, r8
- bl FUN_020B63CC
- add r1, r9, r0
- mov r0, r11
- add r9, r1, r6
- blx r4
- cmp r0, #0x0
- bne _020B7400
-_020B743C:
- ldr r1, [sp, #0x34]
- cmp r1, #0x0
- addeq sp, sp, #0xc
- ldmeqia sp!, {r4-r11,pc}
-_020B744C: ; 0x020B744C
- cmp r0, #0xa
- ldreq r1, [sp, #0x8]
- ldr r0, [sp, #0x34]
- movne r1, #0x0
- str r1, [r0, #0x0]
- add sp, sp, #0xc
- ldmia sp!, {r4-r11,pc}
-
- arm_func_start FUN_020B7468
-FUN_020B7468: ; 0x020B7468
- stmdb sp!, {r4-r6,lr}
- ldrh r2, [r0, #0xc]
- ldrh r3, [r0, #0xe]
- mov r1, #0x0
- add r2, r0, r2
- cmp r3, #0x0
- ldmleia sp!, {r4-r6,pc}
-_020B7484: ; 0x020B7484
- ldr r3, _020B7548 ; =0x46494E46
- ldr ip, _020B754C ; =0x43574448
- ldr r4, _020B7550 ; =0x434D4150
- ldr lr, _020B7554 ; =0x43474C50
-_020B7494:
- ldr r5, [r2, #0x0]
- cmp r5, r4
- bhi _020B74B0
- cmp r5, r4
- bhs _020B7518
- cmp r5, lr
- b _020B752C
-_020B74B0:
- cmp r5, r12
- bhi _020B74C4
- cmp r5, r12
- beq _020B7500
- b _020B752C
-_020B74C4:
- cmp r5, r3
- bne _020B752C
- add r6, r2, #0x8
- ldr r5, [r6, #0x8]
- add r5, r5, r0
- str r5, [r6, #0x8]
- ldr r5, [r6, #0xc]
- cmp r5, #0x0
- addne r5, r5, r0
- strne r5, [r6, #0xc]
- ldr r5, [r6, #0x10]
- cmp r5, #0x0
- addne r5, r5, r0
- strne r5, [r6, #0x10]
- b _020B752C
-_020B7500:
- add r6, r2, #0x8
- ldr r5, [r6, #0x4]
- cmp r5, #0x0
- addne r5, r5, r0
- strne r5, [r6, #0x4]
- b _020B752C
-_020B7518:
- add r6, r2, #0x8
- ldr r5, [r6, #0x8]
- cmp r5, #0x0
- addne r5, r5, r0
- strne r5, [r6, #0x8]
-_020B752C:
- ldrh r5, [r0, #0xe]
- ldr r6, [r2, #0x4]
- add r1, r1, #0x1
- cmp r1, r5
- add r2, r2, r6
- blt _020B7494
- ldmia sp!, {r4-r6,pc}
- .balign 4
-_020B7548: .word 0x46494E46
-_020B754C: .word 0x43574448
-_020B7550: .word 0x434D4150
-_020B7554: .word 0x43474C50
-
- arm_func_start FUN_020B7558
-FUN_020B7558: ; 0x020B7558
- stmdb sp!, {r4-r6,lr}
- movs r6, r0
- mov r5, r1
- beq _020B75C8
- cmp r6, #0x0
- beq _020B7584
- ldr r1, [r6, #0x0]
- ldr r0, _020B76A8 ; =0x4E465452
- cmp r1, r0
- moveq r0, #0x1
- beq _020B7588
-_020B7584:
- mov r0, #0x0
-_020B7588:
- cmp r0, #0x0
- movne r0, #0x1
- moveq r0, #0x0
- cmp r0, #0x0
- beq _020B75CC
- cmp r6, #0x0
- beq _020B75B4
- ldrh r0, [r6, #0x6]
- cmp r0, #0x100
- movcs r0, #0x1
- bhs _020B75B8
-_020B75B4:
- mov r0, #0x0
-_020B75B8:
- cmp r0, #0x0
- movne r0, #0x1
- moveq r0, #0x0
- b _020B75CC
-_020B75C8:
- mov r0, #0x0
-_020B75CC:
- cmp r0, #0x0
- movne r4, #0x0
- bne _020B7654
- cmp r6, #0x0
- beq _020B7640
- cmp r6, #0x0
- beq _020B75FC
- ldr r1, [r6, #0x0]
- ldr r0, _020B76A8 ; =0x4E465452
- cmp r1, r0
- moveq r0, #0x1
- beq _020B7600
-_020B75FC:
- mov r0, #0x0
-_020B7600:
- cmp r0, #0x0
- movne r0, #0x1
- moveq r0, #0x0
- cmp r0, #0x0
- beq _020B7644
- cmp r6, #0x0
- beq _020B762C
- ldrh r0, [r6, #0x6]
- cmp r0, #0x1
- movcs r0, #0x1
- bhs _020B7630
-_020B762C:
- mov r0, #0x0
-_020B7630:
- cmp r0, #0x0
- movne r0, #0x1
- moveq r0, #0x0
- b _020B7644
-_020B7640:
- mov r0, #0x0
-_020B7644:
- cmp r0, #0x0
- movne r4, #0x1
- bne _020B7654
- bl OS_Terminate
-_020B7654:
- mov r0, r6
- bl FUN_020B7468
- ldr r1, _020B76AC ; =0x46494E46
- mov r0, r6
- bl FUN_020B01F8
-_020B7668: ; 0x020B7668
- cmp r0, #0x0
- moveq r0, #0x0
- streq r0, [r5, #0x0]
- ldmeqia sp!, {r4-r6,pc}
-_020B7678: ; 0x020B7678
- add r0, r0, #0x8
- str r0, [r5, #0x0]
- cmp r4, #0x0
- beq _020B76A0
- ldr r2, [r5, #0x0]
- mov r1, #0x0
- ldrsb r0, [r2, #0x6]
- strb r0, [r2, #0x7]
- ldr r0, [r5, #0x0]
- strb r1, [r0, #0x6]
-_020B76A0:
- add r0, r4, #0x1
- ldmia sp!, {r4-r6,pc}
- .balign 4
-_020B76A8: .word 0x4E465452
-_020B76AC: .word 0x46494E46
-
- arm_func_start FUN_020B76B0
-FUN_020B76B0:
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- ldrsb r2, [r0, #0x4]
- ldrb r12, [r0, #0x5]
- mov r4, r1
- cmp r2, r4
- subge r1, r2, r4
- movge r5, r12, lsr r1
- strgeb r1, [r0, #0x4]
- bge _020B7704
- ldr r3, [r0, #0x0]
- sub r1, r4, r2
- add r2, r3, #0x1
- str r2, [r0, #0x0]
- ldrb r2, [r3, #0x0]
- mov r5, r12, lsl r1
- strb r2, [r0, #0x5]
- mov r2, #0x8
- strb r2, [r0, #0x4]
- bl FUN_020B76B0
- orr r5, r0, r5
-_020B7704:
- rsb r0, r4, #0x8
- mov r1, #0xff
- and r0, r5, r1, asr r0
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,pc}
-
- arm_func_start FUN_020B7718
-FUN_020B7718: ; 0x020B7718
- ldr r1, [r0, #0x0]
- ldrh r2, [r1], #0x2
- str r1, [r0, #0x0]
- mov r0, r2
- bx lr
-
- arm_func_start FUN_020B772C
-FUN_020B772C: ; 0x020B772C
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- mov r6, r0
- ldrb r0, [r6, #0x9]
- mov r5, #0x0
- cmp r0, #0x0
- addls sp, sp, #0x4
- ldmlsia sp!, {r4-r7,pc}
-_020B774C: ; 0x020B774C
- add r4, r6, #0x8
-_020B7750:
- ldrh r0, [r6, #0xe]
- ldrh r1, [r4, r0]
- add r0, r4, r0
- mla r0, r1, r5, r0
- ldr r0, [r0, #0x4]
- add r7, r6, r0
- mov r0, r7
- bl FUN_020B79A4
- mov r0, r7
- bl FUN_020B780C
- ldrb r0, [r6, #0x9]
- add r5, r5, #0x1
- cmp r5, r0
- blo _020B7750
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,pc}
-
- arm_func_start FUN_020B7790
-FUN_020B7790: ; 0x020B7790
- stmdb sp!, {r4-r9,lr}
- sub sp, sp, #0x4
- mov r8, r0
- ldrb r0, [r8, #0x9]
- mov r7, r1
- mov r5, #0x1
- cmp r0, #0x0
- mov r6, #0x0
- bls _020B7800
- add r4, r8, #0x8
-_020B77B8:
- ldrh r0, [r8, #0xe]
- mov r1, r7
- ldrh r2, [r4, r0]
- add r0, r4, r0
- mla r0, r2, r6, r0
- ldr r0, [r0, #0x4]
- add r9, r8, r0
- mov r0, r9
- bl FUN_020B7A04
- and r5, r5, r0
- mov r0, r9
- mov r1, r7
- bl FUN_020B7864
- ldrb r1, [r8, #0x9]
- add r6, r6, #0x1
- and r5, r5, r0
- cmp r6, r1
- blo _020B77B8
-_020B7800:
- mov r0, r5
- add sp, sp, #0x4
- ldmia sp!, {r4-r9,pc}
-
- arm_func_start FUN_020B780C
-FUN_020B780C: ; 0x020B780C
- ldr r2, [r0, #0x8]
- mov r1, #0x0
- add r2, r0, r2
- ldrh r0, [r2, #0x2]
- add r12, r2, r0
- ldrb r0, [r12, #0x1]
- cmp r0, #0x0
- bxls lr
-_020B782C:
- ldrh r2, [r12, #0x6]
- ldrh r0, [r12, r2]
- add r2, r12, r2
- add r2, r2, #0x4
- mla r3, r0, r1, r2
- ldrb r0, [r3, #0x3]
- add r1, r1, #0x1
- ands r2, r0, #0x1
- bicne r0, r0, #0x1
- strneb r0, [r3, #0x3]
- ldrb r0, [r12, #0x1]
- cmp r1, r0
- blo _020B782C
- bx lr
-
- arm_func_start FUN_020B7864
-FUN_020B7864: ; 0x020B7864
- stmdb sp!, {r4-r10,lr}
- ldr r2, [r0, #0x8]
- mov r10, r1
- add r9, r0, r2
- ldrh r0, [r9, #0x2]
- mov r6, #0x1
- mov r7, #0x0
- add r8, r9, r0
- ldrb r0, [r8, #0x1]
- cmp r0, #0x0
- bls _020B7908
- mov r5, r7
- mov r4, r7
-_020B7898:
- ldrh r1, [r8, #0x6]
- ldrh r0, [r10, #0x34]
- add r2, r8, r1
- ldrh r1, [r2, #0x2]
- add r0, r10, r0
- add r1, r2, r1
- add r1, r1, r5
- bl FUN_020BC2A0
- movs r3, r0
- beq _020B78F0
- ldrh r1, [r8, #0x6]
- ldrh r0, [r8, r1]
- add r1, r8, r1
- add r1, r1, #0x4
- mla r1, r0, r7, r1
- ldrb r0, [r1, #0x3]
- ands r0, r0, #0x1
- bne _020B78F4
- mov r0, r9
- mov r2, r10
- bl FUN_020B7910
-_020B78EC: ; 0x020B78EC
- b _020B78F4
-_020B78F0:
- mov r6, r4
-_020B78F4:
- ldrb r0, [r8, #0x1]
- add r7, r7, #0x1
- add r5, r5, #0x10
- cmp r7, r0
- blo _020B7898
-_020B7908:
- mov r0, r6
- ldmia sp!, {r4-r10,pc}
-
- arm_func_start FUN_020B7910
-FUN_020B7910:
- stmdb sp!, {r4-r6,lr}
- ldrh r5, [r1, #0x0]
- ldr r2, [r2, #0x2c]
- ldrh r4, [r3, #0x2]
- mov r2, r2, lsl #0x10
- add r12, r0, r5
- mov r5, r2, lsr #0x10
- ands r2, r4, #0x1
- ldrh r4, [r3, #0x0]
- moveq r3, r5, lsl #0xf
- moveq r5, r3, lsr #0x10
- moveq r2, r4, lsl #0xf
- moveq r4, r2, lsr #0x10
- ldrb r3, [r1, #0x2]
- mov r2, #0x0
- cmp r3, #0x0
- bls _020B7994
- add r3, r4, r5
- mov r3, r3, lsl #0x10
- add r6, r0, #0x4
- mov r4, r3, lsr #0x10
-_020B7964:
- ldrh r5, [r0, #0xa]
- ldrb r3, [r12, r2]
- add r2, r2, #0x1
- ldrh lr, [r6, r5]
- add r5, r6, r5
- mla r3, lr, r3, r5
- ldr r3, [r3, #0x4]
- add r3, r0, r3
- strh r4, [r3, #0x1c]
- ldrb r3, [r1, #0x2]
- cmp r2, r3
- blo _020B7964
-_020B7994:
- ldrb r0, [r1, #0x3]
- orr r0, r0, #0x1
- strb r0, [r1, #0x3]
- ldmia sp!, {r4-r6,pc}
-
- arm_func_start FUN_020B79A4
-FUN_020B79A4: ; 0x020B79A4
- stmdb sp!, {r4-r6,lr}
- ldr r2, [r0, #0x8]
- mov r4, #0x0
- ldrh r1, [r0, r2]
- add r6, r0, r2
- add r5, r6, r1
- ldrb r0, [r5, #0x1]
- cmp r0, #0x0
- ldmlsia sp!, {r4-r6,pc}
-_020B79C8:
- ldrh r1, [r5, #0x6]
- ldrh r0, [r5, r1]
- add r1, r5, r1
- add r1, r1, #0x4
- mla r1, r0, r4, r1
- ldrb r0, [r1, #0x3]
- ands r0, r0, #0x1
- beq _020B79F0
- mov r0, r6
- bl FUN_020B7AB8
-_020B79F0:
- ldrb r0, [r5, #0x1]
- add r4, r4, #0x1
- cmp r4, r0
- blo _020B79C8
- ldmia sp!, {r4-r6,pc}
-
- arm_func_start FUN_020B7A04
-FUN_020B7A04: ; 0x020B7A04
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0x4
- ldr r2, [r0, #0x8]
- mov r10, r1
- ldrh r1, [r0, r2]
- add r9, r0, r2
- mov r11, #0x1
- add r8, r9, r1
- ldrb r0, [r8, #0x1]
- mov r7, #0x0
- cmp r0, #0x0
- bls _020B7AAC
- mov r6, r7
- mov r4, r7
- add r5, r10, #0x3c
-_020B7A40:
- ldrh r1, [r8, #0x6]
- mov r0, r5
- add r2, r8, r1
- ldrh r1, [r2, #0x2]
- add r1, r2, r1
- add r1, r1, r6
- bl FUN_020BC2A0
- movs r3, r0
- beq _020B7A94
- ldrh r1, [r8, #0x6]
- ldrh r0, [r8, r1]
- add r1, r8, r1
- add r1, r1, #0x4
- mla r1, r0, r7, r1
- ldrb r0, [r1, #0x3]
- ands r0, r0, #0x1
- bne _020B7A98
- mov r0, r9
- mov r2, r10
- bl FUN_020B7B40
-_020B7A90: ; 0x020B7A90
- b _020B7A98
-_020B7A94:
- mov r11, r4
-_020B7A98:
- ldrb r0, [r8, #0x1]
- add r7, r7, #0x1
- add r6, r6, #0x10
- cmp r7, r0
- blo _020B7A40
-_020B7AAC:
- mov r0, r11
- add sp, sp, #0x4
- ldmia sp!, {r4-r11,pc}
-
- arm_func_start FUN_020B7AB8
-FUN_020B7AB8: ; 0x020B7AB8
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- ldrh r4, [r1, #0x0]
- ldrb r2, [r1, #0x2]
- mov r3, #0x0
- add r12, r0, r4
- cmp r2, #0x0
- bls _020B7B28
- add r2, r0, #0x4
- mov r5, #0x1000
- ldr lr, _020B7B3C ; =0xC00F0000
-_020B7AE4:
- ldrh r7, [r0, #0xa]
- ldrb r4, [r12, r3]
- add r3, r3, #0x1
- ldrh r6, [r2, r7]
- add r7, r2, r7
- mla r4, r6, r4, r7
- ldr r4, [r4, #0x4]
- add r6, r0, r4
- ldr r4, [r6, #0x14]
- and r4, r4, lr
- str r4, [r6, #0x14]
- str r5, [r6, #0x24]
- ldr r4, [r6, #0x24]
- str r4, [r6, #0x28]
- ldrb r4, [r1, #0x2]
- cmp r3, r4
- blo _020B7AE4
-_020B7B28:
- ldrb r0, [r1, #0x3]
- bic r0, r0, #0x1
- strb r0, [r1, #0x3]
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,pc}
- .balign 4
-_020B7B3C: .word 0xC00F0000
-
- arm_func_start FUN_020B7B40
-FUN_020B7B40:
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0xc
- mov r11, r1
- mov r9, r3
- ldr r1, [r9, #0x0]
- mov r10, r0
- and r0, r1, #0x1c000000
- cmp r0, #0x14000000
- ldrh r3, [r11, #0x0]
- ldrne r1, [r2, #0x8]
- mov r8, #0x0
- add r0, r10, r3
- str r0, [sp, #0x4]
- ldrne r0, _020B7C50 ; =0x0000FFFF
- andne r0, r1, r0
- strne r0, [sp, #0x0]
- ldreq r1, [r2, #0x18]
- ldreq r0, _020B7C50 ; =0x0000FFFF
- andeq r0, r1, r0
- streq r0, [sp, #0x0]
- ldrb r0, [r11, #0x2]
- cmp r0, #0x0
- bls _020B7C3C
- mov r4, #0x1000
- add r5, r10, #0x4
-_020B7BA4:
- ldrh r6, [r10, #0xa]
- ldr r0, [sp, #0x4]
- ldr r1, [r9, #0x0]
- ldrb r2, [r0, r8]
- ldrh r3, [r5, r6]
- ldr r0, [sp, #0x0]
- add r6, r5, r6
- add r0, r1, r0
- mla r1, r3, r2, r6
- ldr r1, [r1, #0x4]
- add r6, r10, r1
- ldr r1, [r6, #0x14]
- orr r0, r1, r0
- str r0, [r6, #0x14]
- ldr r3, [r9, #0x4]
- ldr r0, _020B7C54 ; =0x000007FF
- ldrh r1, [r6, #0x20]
- and r2, r3, r0
- and r7, r0, r3, lsr #0xb
- cmp r2, r1
- moveq r0, r4
- beq _020B7C08
- mov r0, r2, lsl #0xc
- mov r1, r1, lsl #0xc
- bl FX_Div
-_020B7C08:
- str r0, [r6, #0x24]
- ldrh r1, [r6, #0x22]
- cmp r7, r1
- moveq r0, r4
- beq _020B7C28
- mov r0, r7, lsl #0xc
- mov r1, r1, lsl #0xc
- bl FX_Div
-_020B7C28:
- str r0, [r6, #0x28]
- ldrb r0, [r11, #0x2]
- add r8, r8, #0x1
- cmp r8, r0
- blo _020B7BA4
-_020B7C3C:
- ldrb r0, [r11, #0x3]
- orr r0, r0, #0x1
- strb r0, [r11, #0x3]
- add sp, sp, #0xc
- ldmia sp!, {r4-r11,pc}
- .balign 4
-_020B7C50: .word 0x0000FFFF
-_020B7C54: .word 0x000007FF
-
- arm_func_start FUN_020B7C58
-FUN_020B7C58: ; 0x020B7C58
- ldrh r2, [r0, #0x32]
- mov r1, #0x0
- bic r2, r2, #0x1
- strh r2, [r0, #0x32]
- ldr r2, [r0, #0x2c]
- str r1, [r0, #0x2c]
- mov r0, r2
- bx lr
-
- arm_func_start FUN_020B7C78
-FUN_020B7C78: ; 0x020B7C78
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- movs r4, r1
- mov r5, r0
- beq _020B7C90
- bl GX_BeginLoadTexPltt
-_020B7C90:
- ldrh r2, [r5, #0x30]
- ldr r0, [r5, #0x38]
- ldr r3, [r5, #0x2c]
- ldr r1, _020B7CD8 ; =0x0000FFFF
- add r0, r5, r0
- and r1, r3, r1
- mov r1, r1, lsl #0x3
- mov r2, r2, lsl #0x3
- bl GX_LoadTexPltt
- ldrh r0, [r5, #0x32]
- cmp r4, #0x0
- addeq sp, sp, #0x4
- orr r0, r0, #0x1
- strh r0, [r5, #0x32]
- ldmeqia sp!, {r4-r5,pc}
-_020B7CCC: ; 0x020B7CCC
- bl GX_EndLoadTexPltt
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,pc}
- .balign 4
-_020B7CD8: .word 0x0000FFFF
-
- arm_func_start FUN_020B7CDC
-FUN_020B7CDC: ; 0x020B7CDC
- str r1, [r0, #0x2c]
- bx lr
-
- arm_func_start FUN_020B7CE4
-FUN_020B7CE4: ; 0x020B7CE4
- ldrh r0, [r0, #0x30]
- mov r0, r0, lsl #0x3
- bx lr
-
- arm_func_start FUN_020B7CF0
-FUN_020B7CF0: ; 0x020B7CF0
- ldrh r12, [r0, #0x10]
- mov r3, #0x0
- bic r12, r12, #0x1
- strh r12, [r0, #0x10]
- ldrh r12, [r0, #0x20]
- bic r12, r12, #0x1
- strh r12, [r0, #0x20]
- ldr r12, [r0, #0x8]
- str r12, [r1, #0x0]
- str r3, [r0, #0x8]
- ldr r1, [r0, #0x18]
- str r1, [r2, #0x0]
- str r3, [r0, #0x18]
- bx lr
-
- arm_func_start FUN_020B7D28
-FUN_020B7D28: ; 0x020B7D28
- stmdb sp!, {r4-r9,lr}
- sub sp, sp, #0x4
- movs r8, r1
- mov r9, r0
- beq _020B7D40
- bl GX_BeginLoadTex
-_020B7D40:
- ldrh r0, [r9, #0xc]
- movs r2, r0, lsl #0x3
- beq _020B7D74
- ldr r1, [r9, #0x8]
- ldr r0, _020B7DF4 ; =0x0000FFFF
- ldr r3, [r9, #0x14]
- and r1, r1, r0
- add r0, r9, r3
- mov r1, r1, lsl #0x3
- bl GX_LoadTex
- ldrh r0, [r9, #0x10]
- orr r0, r0, #0x1
- strh r0, [r9, #0x10]
-_020B7D74:
- ldrh r0, [r9, #0x1c]
- movs r7, r0, lsl #0x3
- beq _020B7DDC
- ldr r1, [r9, #0x18]
- ldr r0, _020B7DF4 ; =0x0000FFFF
- ldr r3, [r9, #0x24]
- and r4, r1, r0
- mov r5, r4, lsl #0x3
- ldr r6, [r9, #0x28]
- mov r1, r5
- mov r2, r7
- add r0, r9, r3
- add r6, r9, r6
- bl GX_LoadTex
- ldr r0, _020B7DF8 ; =0x0001FFFF
- and r1, r5, #0x40000
- and r0, r0, r4, lsl #0x3
- mov r0, r0, lsr #0x1
- add r2, r0, #0x20000
- mov r0, r6
- add r1, r2, r1, lsr #0x2
- mov r2, r7, lsr #0x1
- bl GX_LoadTex
- ldrh r0, [r9, #0x20]
- orr r0, r0, #0x1
- strh r0, [r9, #0x20]
-_020B7DDC:
- cmp r8, #0x0
- addeq sp, sp, #0x4
- ldmeqia sp!, {r4-r9,pc}
-_020B7DE8: ; 0x020B7DE8
- bl GX_EndLoadTex
- add sp, sp, #0x4
- ldmia sp!, {r4-r9,pc}
- .balign 4
-_020B7DF4: .word 0x0000FFFF
-_020B7DF8: .word 0x0001FFFF
-
- arm_func_start FUN_020B7DFC
-FUN_020B7DFC: ; 0x020B7DFC
- cmp r1, #0x0
- strne r1, [r0, #0x8]
- cmp r2, #0x0
- strne r2, [r0, #0x18]
- bx lr
-
- arm_func_start FUN_020B7E10
-FUN_020B7E10: ; 0x020B7E10
- ldrh r0, [r0, #0x1c]
- mov r0, r0, lsl #0x3
- bx lr
-
- arm_func_start FUN_020B7E1C
-FUN_020B7E1C: ; 0x020B7E1C
- ldrh r0, [r0, #0xc]
- mov r0, r0, lsl #0x3
- bx lr
-
- arm_func_start FUN_020B7E28
-FUN_020B7E28: ; 0x020B7E28
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r5, r0
- add r0, r5, #0x8
- mov r4, r1
- bl FUN_020B7E88
-_020B7E40: ; 0x020B7E40
- cmp r0, #0x0
- bne _020B7E74
- mov r1, r4
- add r0, r5, #0x10
- bl FUN_020B7E88
-_020B7E54: ; 0x020B7E54
- cmp r0, #0x0
- bne _020B7E74
- mov r1, r4
- add r0, r5, #0x18
- bl FUN_020B7E88
-_020B7E68: ; 0x020B7E68
- cmp r0, #0x0
- addeq sp, sp, #0x4
- ldmeqia sp!, {r4-r5,pc}
-_020B7E74:
- ldr r0, [r5, #0x0]
- orr r0, r0, #0x10
- str r0, [r5, #0x0]
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,pc}
-
- arm_func_start FUN_020B7E88
-FUN_020B7E88:
- ldr r2, [r0, #0x0]
- cmp r2, #0x0
- moveq r0, #0x0
- bxeq lr
- cmp r2, r1
- bne _020B7EB8
- ldr r3, [r2, #0x10]
- mov r2, #0x0
- str r3, [r0, #0x0]
- str r2, [r1, #0x10]
- mov r0, #0x1
- bx lr
-_020B7EB8:
- ldr r3, [r2, #0x10]
- cmp r3, #0x0
- beq _020B7EF4
-_020B7EC4:
- cmp r3, r1
- bne _020B7EE4
- ldr r1, [r3, #0x10]
- mov r0, #0x0
- str r1, [r2, #0x10]
- str r0, [r3, #0x10]
- mov r0, #0x1
- bx lr
-_020B7EE4:
- mov r2, r3
- ldr r3, [r3, #0x10]
- cmp r3, #0x0
- bne _020B7EC4
-_020B7EF4:
- mov r0, #0x0
- bx lr
-
- arm_func_start FUN_020B7EFC
-FUN_020B7EFC: ; 0x020B7EFC
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r4, r1
- ldr r2, [r4, #0x8]
- mov r5, r0
- ldrb r0, [r2, #0x0]
- cmp r0, #0x4a
- beq _020B7F50
- cmp r0, #0x4d
- beq _020B7F34
- cmp r0, #0x56
- beq _020B7F6C
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,pc}
-_020B7F34:
- add r0, r5, #0x3c
- bl FUN_020B7F88
- mov r1, r4
- add r0, r5, #0x8
- bl FUN_020B7FF8
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,pc}
-_020B7F50:
- add r0, r5, #0x44
- bl FUN_020B7F88
- mov r1, r4
- add r0, r5, #0x10
- bl FUN_020B7FF8
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,pc}
-_020B7F6C:
- add r0, r5, #0x4c
- bl FUN_020B7F88
- mov r1, r4
- add r0, r5, #0x18
- bl FUN_020B7FF8
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,pc}
-
- arm_func_start FUN_020B7F88
-FUN_020B7F88: ; 0x020B7F88
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- cmp r1, #0x0
- addeq sp, sp, #0x4
- ldmeqia sp!, {r4-r5,pc}
-_020B7F9C: ; 0x020B7F9C
- mov r3, #0x1
- mov r4, #0x0
-_020B7FA4:
- ldrb r2, [r1, #0x19]
- mov r5, r4
- cmp r2, #0x0
- ble _020B7FE4
-_020B7FB4:
- add r2, r1, r5, lsl #0x1
- ldrh r2, [r2, #0x1a]
- ands r2, r2, #0x100
- movne lr, r5, asr #0x5
- andne r2, r5, #0x1f
- ldrne r12, [r0, lr, lsl #0x2]
- add r5, r5, #0x1
- orrne r2, r12, r3, lsl r2
- strne r2, [r0, lr, lsl #0x2]
- ldrb r2, [r1, #0x19]
- cmp r5, r2
- blt _020B7FB4
-_020B7FE4:
- ldr r1, [r1, #0x10]
- cmp r1, #0x0
- bne _020B7FA4
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,pc}
-
- arm_func_start FUN_020B7FF8
-FUN_020B7FF8: ; 0x020B7FF8
- ldr r12, [r0, #0x0]
- cmp r12, #0x0
- streq r1, [r0, #0x0]
- bxeq lr
- ldr r3, [r12, #0x10]
- cmp r3, #0x0
- bne _020B8058
- ldrb r3, [r12, #0x18]
- ldrb r2, [r1, #0x18]
- cmp r3, r2
- bls _020B8050
- ldr r2, [r1, #0x10]
- mov r3, r1
- cmp r2, #0x0
- beq _020B8044
-_020B8034:
- ldr r3, [r3, #0x10]
- ldr r2, [r3, #0x10]
- cmp r2, #0x0
- bne _020B8034
-_020B8044:
- str r12, [r3, #0x10]
- str r1, [r0, #0x0]
- bx lr
-_020B8050:
- str r1, [r12, #0x10]
- bx lr
-_020B8058:
- cmp r3, #0x0
- beq _020B80AC
- ldrb r2, [r1, #0x18]
-_020B8064:
- ldrb r0, [r3, #0x18]
- cmp r0, r2
- blo _020B809C
- ldr r0, [r1, #0x10]
- mov r2, r1
- cmp r0, #0x0
- beq _020B8090
-_020B8080:
- ldr r2, [r2, #0x10]
- ldr r0, [r2, #0x10]
- cmp r0, #0x0
- bne _020B8080
-_020B8090:
- str r1, [r12, #0x10]
- str r3, [r2, #0x10]
- bx lr
-_020B809C:
- mov r12, r3
- ldr r3, [r3, #0x10]
- cmp r3, #0x0
- bne _020B8064
-_020B80AC:
- str r1, [r12, #0x10]
- bx lr
-
- arm_func_start FUN_020B80B4
-FUN_020B80B4: ; 0x020B80B4
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r5, r0
- mov r4, r1
- mov r1, r5
- mov r0, #0x0
- mov r2, #0x54
- bl MIi_CpuClear32
- ldr r0, _020B8104 ; =0x021065B4
- ldr r1, _020B8108 ; =0x021065B0
- ldr r2, [r0, #0x0]
- ldr r0, _020B810C ; =0x021065AC
- str r2, [r5, #0xc]
- ldr r1, [r1, #0x0]
- str r1, [r5, #0x14]
- ldr r0, [r0, #0x0]
- str r0, [r5, #0x1c]
- str r4, [r5, #0x4]
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,pc}
- .balign 4
-_020B8104: .word 0x021065B4
-_020B8108: .word 0x021065B0
-_020B810C: .word 0x021065AC
-
- arm_func_start FUN_020B8110
-FUN_020B8110: ; 0x020B8110
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- mov r12, #0x0
- str r12, [r0, #0x0]
- str r1, [r0, #0x8]
- str r12, [r0, #0x10]
- mov r4, #0x7f
- strb r4, [r0, #0x18]
- mov r4, #0x1000
- str r4, [r0, #0x4]
- ldr lr, _020B81A4 ; =0x02106594
- str r3, [r0, #0x14]
- ldr r6, [lr, #0x0]
- cmp r6, #0x0
- addls sp, sp, #0x4
- ldmlsia sp!, {r4-r7,pc}
-_020B8150: ; 0x020B8150
- ldrb r7, [r1, #0x0]
- ldr r4, _020B81A8 ; =0x021065B8
-_020B8158:
- ldrb r3, [r4, r12, lsl #0x3]
- mov r5, r12, lsl #0x3
- cmp r7, r3
- bne _020B8190
- add r3, r4, r5
- ldrh lr, [r1, #0x2]
- ldrh r3, [r3, #0x2]
- cmp lr, r3
- bne _020B8190
- ldr r3, _020B81AC ; =0x021065BC
- ldr r3, [r3, r5]
- blx r3
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,pc}
-_020B8190:
- add r12, r12, #0x1
- cmp r12, r6
- blo _020B8158
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,pc}
- .balign 4
-_020B81A4: .word 0x02106594
-_020B81A8: .word 0x021065B8
-_020B81AC: .word 0x021065BC
-
- arm_func_start FUN_020B81B0
-FUN_020B81B0: ; 0x020B81B0
- ldrb r0, [r0, #0x0]
- cmp r0, #0x4a
- beq _020B81E4
- cmp r0, #0x4d
- beq _020B81D0
- cmp r0, #0x56
- beq _020B81E4
- b _020B81F8
-_020B81D0:
- ldrb r0, [r1, #0x18]
- mov r0, r0, lsl #0x1
- add r0, r0, #0x1c
- bic r0, r0, #0x3
- bx lr
-_020B81E4:
- ldrb r0, [r1, #0x17]
- mov r0, r0, lsl #0x1
- add r0, r0, #0x1c
- bic r0, r0, #0x3
- bx lr
-_020B81F8:
- mov r0, #0x0
- bx lr
-
- arm_func_start FUN_020B8200
-FUN_020B8200: ; 0x020B8200
- cmp r0, #0x0
- ldrne ip, _020B8260 ; =0x021CED18
- ldrne r12, [r12, #0xa0]
- andne r12, r12, #0xff
- strne r12, [r0, #0x0]
- cmp r1, #0x0
- ldrne r0, _020B8260 ; =0x021CED18
- ldrne r0, [r0, #0xa0]
- movne r0, r0, lsr #0x8
- andne r0, r0, #0xff
- strne r0, [r1, #0x0]
- cmp r2, #0x0
- ldrne r0, _020B8260 ; =0x021CED18
- ldrne r0, [r0, #0xa0]
- movne r0, r0, lsr #0x10
- andne r0, r0, #0xff
- strne r0, [r2, #0x0]
- cmp r3, #0x0
- ldrne r0, _020B8260 ; =0x021CED18
- ldrne r0, [r0, #0xa0]
- movne r0, r0, lsr #0x18
- andne r0, r0, #0xff
- strne r0, [r3, #0x0]
- bx lr
- .balign 4
-_020B8260: .word 0x021CED18
-
- arm_func_start FUN_020B8264
-FUN_020B8264: ; 0x020B8264
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r0, _020B829C ; =0x021CED18
- ldr r0, [r0, #0xfc]
- ands r0, r0, #0x80
- bne _020B8290
- bl FUN_020B82E4
- ldr r0, _020B829C ; =0x021CED18
- ldr r1, [r0, #0xfc]
- orr r1, r1, #0x80
- str r1, [r0, #0xfc]
-_020B8290:
- ldr r0, _020B82A0 ; =0x021CEE78
- add sp, sp, #0x4
- ldmia sp!, {pc}
- .balign 4
-_020B829C: .word 0x021CED18
-_020B82A0: .word 0x021CEE78
-
- arm_func_start FUN_020B82A4
-FUN_020B82A4: ; 0x020B82A4
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r0, _020B82DC ; =0x021CED18
- ldr r0, [r0, #0xfc]
- ands r0, r0, #0x80
- bne _020B82D0
- bl FUN_020B82E4
- ldr r0, _020B82DC ; =0x021CED18
- ldr r1, [r0, #0xfc]
- orr r1, r1, #0x80
- str r1, [r0, #0xfc]
-_020B82D0:
- ldr r0, _020B82E0 ; =0x021CEE48
- add sp, sp, #0x4
- ldmia sp!, {pc}
- .balign 4
-_020B82DC: .word 0x021CED18
-_020B82E0: .word 0x021CEE48
-
- arm_func_start FUN_020B82E4
-FUN_020B82E4: ; 0x020B82E4
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r0, _020B8330 ; =0x021CEDD4
- ldr r1, _020B8334 ; =0x021CED64
- ldr r2, _020B8338 ; =0x021CEE48
- bl MTX_Concat43
- ldr r3, _020B833C ; =0x021CED18
- ldr r0, _020B8338 ; =0x021CEE48
- ldr r2, [r3, #0xf4]
- mov r1, r0
- str r2, [sp, #0x0]
- ldr r2, [r3, #0xec]
- ldr r3, [r3, #0xf0]
- bl MTX_ScaleApply43
- ldr r0, _020B8338 ; =0x021CEE48
- ldr r1, _020B8340 ; =0x021CEE78
- bl MTX_Inverse43
- add sp, sp, #0x4
- ldmia sp!, {pc}
- .balign 4
-_020B8330: .word 0x021CEDD4
-_020B8334: .word 0x021CED64
-_020B8338: .word 0x021CEE48
-_020B833C: .word 0x021CED18
-_020B8340: .word 0x021CEE78
-
- arm_func_start FUN_020B8344
-FUN_020B8344: ; 0x020B8344
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r0, _020B8384 ; =0x021CED18
- ldr r0, [r0, #0xfc]
- ands r0, r0, #0x8
- bne _020B8378
- ldr r0, _020B8388 ; =0x021CED64
- ldr r1, _020B838C ; =0x021CEE18
- bl MTX_Inverse43
- ldr r0, _020B8384 ; =0x021CED18
- ldr r1, [r0, #0xfc]
- orr r1, r1, #0x8
- str r1, [r0, #0xfc]
-_020B8378:
- ldr r0, _020B838C ; =0x021CEE18
- add sp, sp, #0x4
- ldmia sp!, {pc}
- .balign 4
-_020B8384: .word 0x021CED18
-_020B8388: .word 0x021CED64
-_020B838C: .word 0x021CEE18
-
- arm_func_start FUN_020B8390
-FUN_020B8390: ; 0x020B8390
- orr r0, r0, r1, lsl #0x4
-
- arm_func_start FUN_020B8394
-FUN_020B8394: ; 0x020B8394
- ldr r1, [sp, #0x4]
- orr r0, r0, r2, lsl #0x6
- orr r0, r1, r0
- ldr r2, [sp, #0x0]
- orr r1, r0, r3, lsl #0x18
- ldr r0, _020B83B8 ; =0x021CED18
- orr r1, r1, r2, lsl #0x10
- str r1, [r0, #0x9c]
- bx lr
- .balign 4
-_020B83B8: .word 0x021CED18
-
- arm_func_start FUN_020B83BC
-FUN_020B83BC: ; 0x020B83BC
- cmp r2, #0x0
- movne r2, #0x1
- orr r1, r0, r1, lsl #0x10
- moveq r2, #0x0
- ldr r0, _020B83DC ; =0x021CED18
- orr r1, r1, r2, lsl #0xf
- str r1, [r0, #0x98]
- bx lr
- .balign 4
-_020B83DC: .word 0x021CED18
-
- arm_func_start FUN_020B83E0
-FUN_020B83E0: ; 0x020B83E0
- cmp r2, #0x0
- movne r2, #0x1
- orr r1, r0, r1, lsl #0x10
- moveq r2, #0x0
- ldr r0, _020B8400 ; =0x021CED18
- orr r1, r1, r2, lsl #0xf
- str r1, [r0, #0x94]
- bx lr
- .balign 4
-_020B8400: .word 0x021CED18
-
- arm_func_start FUN_020B8404
-FUN_020B8404: ; 0x020B8404
- ldr r2, _020B8414 ; =0x021CEDC0
- orr r1, r1, r0, lsl #0x1e
- str r1, [r2, r0, lsl #0x2]
- bx lr
- .balign 4
-_020B8414: .word 0x021CEDC0
-
- arm_func_start FUN_020B8418
-FUN_020B8418: ; 0x020B8418
- stmdb sp!, {r4,lr}
- ldr ip, _020B8444 ; =0x000003FF
- ldr lr, _020B8448 ; =0x021CED98
- and r4, r12, r1, asr #0x3
- and r1, r12, r2, asr #0x3
- and r2, r12, r3, asr #0x3
- orr r1, r4, r1, lsl #0xa
- orr r1, r1, r2, lsl #0x14
- orr r1, r1, r0, lsl #0x1e
- str r1, [lr, r0, lsl #0x2]
- ldmia sp!, {r4,pc}
- .balign 4
-_020B8444: .word 0x000003FF
-_020B8448: .word 0x021CED98
-
- arm_func_start FUN_020B844C
-FUN_020B844C: ; 0x020B844C
- ldr r3, _020B846C ; =0x021CEE04
- ldmia r0, {r0-r2}
- stmia r3, {r0-r2}
- ldr r0, _020B8470 ; =0x021CED18
- ldr r1, [r0, #0xfc]
- bic r1, r1, #0xa4
- str r1, [r0, #0xfc]
- bx lr
- .balign 4
-_020B846C: .word 0x021CEE04
-_020B8470: .word 0x021CED18
-
- arm_func_start FUN_020B8474
-FUN_020B8474: ; 0x020B8474
- ldr r3, _020B8494 ; =0x021CEDF8
- ldmia r0, {r0-r2}
- stmia r3, {r0-r2}
- ldr r0, _020B8498 ; =0x021CED18
- ldr r1, [r0, #0xfc]
- bic r1, r1, #0xa4
- str r1, [r0, #0xfc]
- bx lr
- .balign 4
-_020B8494: .word 0x021CEDF8
-_020B8498: .word 0x021CED18
-
- arm_func_start FUN_020B849C
-FUN_020B849C: ; 0x020B849C
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r1, _020B84D4 ; =0x021CED18
- mov r2, #0x3e
- ldr r0, [r1], #0x4
- bl FUN_020BB1C0
- ldr r0, _020B84D4 ; =0x021CED18
- ldr r1, [r0, #0xfc]
- bic r1, r1, #0x1
- str r1, [r0, #0xfc]
- bic r1, r1, #0x2
- str r1, [r0, #0xfc]
- add sp, sp, #0x4
- ldmia sp!, {pc}
- .balign 4
-_020B84D4: .word 0x021CED18
-
- arm_func_start FUN_020B84D8
-FUN_020B84D8: ; 0x020B84D8
- stmdb sp!, {r4-r9,lr}
- sub sp, sp, #0x4
- ldr r8, _020B85F4 ; =0x17101610
- ldr r1, _020B85F8 ; =0x021CED18
- ldr r5, _020B85FC ; =0x32323232
- ldr r4, _020B8600 ; =0x60293130
- ldr r3, _020B8604 ; =0x33333333
- ldr r2, _020B8608 ; =0x002A1B19
- mov r7, #0x0
- mov r6, #0x2
- ldr r0, _020B860C ; =0x021CED64
- str r8, [r1, #0x0]
- str r7, [r1, #0x4]
- str r6, [r1, #0x48]
- str r5, [r1, #0x7c]
- str r4, [r1, #0x90]
- str r3, [r1, #0xa4]
- str r2, [r1, #0xb8]
- bl MTX_Identity43_
- ldr r0, _020B8610 ; =0x021CED20
- bl MTX_Identity44_
- mov r2, r7
- ldr r1, _020B85F8 ; =0x021CED18
- ldr r7, _020B8614 ; =0x4210C210
- ldr r0, _020B8618 ; =0x40000200
- ldr lr, _020B861C ; =0x2D8B62D8
- ldr sb, _020B8620 ; =0x800001FF
- ldr r8, _020B8624 ; =0xC0080000
- ldr r6, _020B8628 ; =0x001F008F
- ldr r5, _020B862C ; =0xBFFF0000
- ldr r4, _020B8630 ; =0x00007FFF
- ldr ip, _020B8634 ; =0x800003E0
- ldr r3, _020B8638 ; =0xC0007C00
- str r0, [r1, #0x84]
- str lr, [r1, #0x80]
- mov lr, #0x4000001f
- ldr r0, _020B863C ; =0x021CEDD4
- str r9, [r1, #0x88]
- str r8, [r1, #0x8c]
- str r7, [r1, #0x94]
- str r7, [r1, #0x98]
- str r6, [r1, #0x9c]
- str r5, [r1, #0xa0]
- str r4, [r1, #0xa8]
- str lr, [r1, #0xac]
- str r12, [r1, #0xb0]
- str r3, [r1, #0xb4]
- str r2, [r1, #0xe0]
- str r2, [r1, #0xe4]
- str r2, [r1, #0xe8]
- bl MTX_Identity33_
- mov r3, #0x1000
- ldr r0, _020B85F8 ; =0x021CED18
- mov r2, #0x0
- rsb r1, r3, #0x0
- str r3, [r0, #0xec]
- str r3, [r0, #0xf0]
- str r3, [r0, #0xf4]
- str r2, [r0, #0xf8]
- str r2, [r0, #0xfc]
- str r2, [r0, #0x248]
- str r2, [r0, #0x244]
- str r2, [r0, #0x240]
- str r2, [r0, #0x254]
- str r2, [r0, #0x24c]
- str r3, [r0, #0x250]
- str r2, [r0, #0x25c]
- str r2, [r0, #0x258]
- str r1, [r0, #0x260]
- add sp, sp, #0x4
- ldmia sp!, {r4-r9,pc}
- .balign 4
-_020B85F4: .word 0x17101610
-_020B85F8: .word 0x021CED18
-_020B85FC: .word 0x32323232
-_020B8600: .word 0x60293130
-_020B8604: .word 0x33333333
-_020B8608: .word 0x002A1B19
-_020B860C: .word 0x021CED64
-_020B8610: .word 0x021CED20
-_020B8614: .word 0x4210C210
-_020B8618: .word 0x40000200
-_020B861C: .word 0x2D8B62D8
-_020B8620: .word 0x800001FF
-_020B8624: .word 0xC0080000
-_020B8628: .word 0x001F008F
-_020B862C: .word 0xBFFF0000
-_020B8630: .word 0x00007FFF
-_020B8634: .word 0x800003E0
-_020B8638: .word 0xC0007C00
-_020B863C: .word 0x021CEDD4
-
- arm_func_start FUN_020B8640
-FUN_020B8640: ; 0x020B8640
- stmdb sp!, {r4-r8,lr}
- sub sp, sp, #0x8
- mov r7, r0
- mov r0, #0x0
- mov r6, r1
- str r0, [r7, #0x0]
- add r4, sp, #0x0
- mov r5, r2, lsl #0x1
- mov r8, #0x1
-_020B8664:
- add r1, r5, r6
- ldrh r2, [r1, #0x1a]
- ands r1, r2, #0x100
- beq _020B869C
- ldr r3, [r6, #0xc]
- mov r0, r4
- mov r1, r6
- and r2, r2, #0xff
- blx r3
- ldr r2, [r7, #0x0]
- ldr r1, [sp, #0x0]
- mov r0, r8
- orr r1, r2, r1
- str r1, [r7, #0x0]
-_020B869C:
- ldr r6, [r6, #0x10]
- cmp r6, #0x0
- bne _020B8664
- add sp, sp, #0x8
- ldmia sp!, {r4-r8,pc}
-
- arm_func_start FUN_020B86B0
-FUN_020B86B0: ; 0x020B86B0
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0x5c
- mov r9, r1
- ldr r3, [r9, #0x10]
- mov r10, r0
- mov r8, r2
- cmp r3, #0x0
- bne _020B8704
- add r2, r9, r8, lsl #0x1
- ldrh r4, [r2, #0x1a]
- and r2, r4, #0x300
- cmp r2, #0x100
- addne sp, sp, #0x5c
- movne r0, #0x0
- ldmneia sp!, {r4-r11,pc}
-_020B86EC: ; 0x020B86EC
- ldr r3, [r9, #0xc]
- and r2, r4, #0xff
- blx r3
- add sp, sp, #0x5c
- mov r0, #0x1
- ldmia sp!, {r4-r11,pc}
-_020B8704:
- mov r7, #0x0
- mov r3, r7
- mov r4, r9
- mov r2, r8, lsl #0x1
-_020B8714:
- add r0, r2, r4
- ldrh r0, [r0, #0x1a]
- and r0, r0, #0x300
- cmp r0, #0x100
- ldreq r0, [r4, #0x4]
- moveq r1, r4
- ldr r4, [r4, #0x10]
- addeq r7, r7, r0
- addeq r3, r3, #0x1
- cmp r4, #0x0
- bne _020B8714
- cmp r7, #0x0
- addeq sp, sp, #0x5c
- moveq r0, #0x0
- ldmeqia sp!, {r4-r11,pc}
-_020B8750: ; 0x020B8750
- cmp r3, #0x1
- bne _020B877C
- add r0, r1, r8, lsl #0x1
- ldrh r2, [r0, #0x1a]
- ldr r3, [r1, #0xc]
- mov r0, r10
- and r2, r2, #0xff
- blx r3
- add sp, sp, #0x5c
- mov r0, #0x1
- ldmia sp!, {r4-r11,pc}
-_020B877C:
- mov r1, r10
- mov r0, #0x0
- mov r2, #0x58
- bl MIi_CpuClearFast
-_020B878C: ; 0x020B878C
- mvn r0, #0x0
- str r0, [r10, #0x0]
- add r5, sp, #0x0
- add r4, sp, #0x4
- add r11, sp, #0x10
-_020B87A0:
- add r0, r9, r8, lsl #0x1
- ldrh r2, [r0, #0x1a]
- and r0, r2, #0x300
- cmp r0, #0x100
- bne _020B8948
- ldr r0, [r9, #0x4]
- cmp r0, #0x0
- ble _020B8948
- ldr r3, [r9, #0xc]
- mov r0, r5
- mov r1, r9
- and r2, r2, #0xff
- blx r3
- cmp r7, #0x1000
- ldreq r6, [r9, #0x4]
- beq _020B87F0
- ldr r0, [r9, #0x4]
- mov r1, r7
- bl FX_Div
- mov r6, r0
-_020B87F0:
- ldr r3, [sp, #0x0]
- mov r1, r4
- mov r2, r6
- add r0, r10, #0x4
- and r3, r3, #0x1
- bl FUN_020B8998
- ldr r1, [sp, #0x0]
- add r0, r10, #0x10
- and r3, r1, #0x8
- mov r1, r11
- mov r2, r6
- bl FUN_020B8998
- ldr r3, [sp, #0x0]
- add r0, r10, #0x1c
- add r1, sp, #0x1c
- mov r2, r6
- and r3, r3, #0x10
- bl FUN_020B8998
-_020B8838: ; 0x020B8838
- ldr r0, [sp, #0x0]
- ands r0, r0, #0x4
- bne _020B8898
- ldr r0, [sp, #0x4c]
- ldr r2, [r10, #0x4c]
- smull r1, r0, r6, r0
- mov r1, r1, lsr #0xc
- orr r1, r1, r0, lsl #0x14
- add r0, r2, r1
- str r0, [r10, #0x4c]
- ldr r0, [sp, #0x50]
- ldr r2, [r10, #0x50]
- smull r1, r0, r6, r0
- mov r1, r1, lsr #0xc
- orr r1, r1, r0, lsl #0x14
- add r0, r2, r1
- str r0, [r10, #0x50]
- ldr r0, [sp, #0x54]
- ldr r2, [r10, #0x54]
- smull r1, r0, r6, r0
- mov r1, r1, lsr #0xc
- orr r1, r1, r0, lsl #0x14
- add r0, r2, r1
- str r0, [r10, #0x54]
-_020B8898:
- ldr r0, [sp, #0x0]
- ands r0, r0, #0x2
- bne _020B8920
- ldr r0, [sp, #0x28]
- ldr r1, [r10, #0x28]
- mul r0, r6, r0
- add r0, r1, r0, asr #0xc
- str r0, [r10, #0x28]
- ldr r0, [sp, #0x2c]
- ldr r1, [r10, #0x2c]
- mul r0, r6, r0
- add r0, r1, r0, asr #0xc
- str r0, [r10, #0x2c]
- ldr r0, [sp, #0x30]
- ldr r1, [r10, #0x30]
- mul r0, r6, r0
- add r0, r1, r0, asr #0xc
- str r0, [r10, #0x30]
- ldr r0, [sp, #0x34]
- ldr r1, [r10, #0x34]
- mul r0, r6, r0
- add r0, r1, r0, asr #0xc
- str r0, [r10, #0x34]
- ldr r0, [sp, #0x38]
- ldr r1, [r10, #0x38]
- mul r0, r6, r0
- add r0, r1, r0, asr #0xc
- str r0, [r10, #0x38]
- ldr r0, [sp, #0x3c]
- ldr r1, [r10, #0x3c]
- mul r0, r6, r0
- add r0, r1, r0, asr #0xc
- str r0, [r10, #0x3c]
- b _020B8938
-_020B8920:
- ldr r0, [r10, #0x28]
- add r0, r0, r6
- str r0, [r10, #0x28]
- ldr r0, [r10, #0x38]
- add r0, r0, r6
- str r0, [r10, #0x38]
-_020B8938:
- ldr r1, [r10, #0x0]
- ldr r0, [sp, #0x0]
- and r0, r1, r0
- str r0, [r10, #0x0]
-_020B8948:
- ldr r9, [r9, #0x10]
- cmp r9, #0x0
- bne _020B87A0
- add r0, r10, #0x28
- add r1, r10, #0x34
- add r2, r10, #0x40
- bl VEC_CrossProduct
- add r0, r10, #0x28
- mov r1, r0
- bl VEC_Normalize
- add r0, r10, #0x40
- mov r1, r0
- bl VEC_Normalize
- add r0, r10, #0x40
- add r1, r10, #0x28
- add r2, r10, #0x34
- bl VEC_CrossProduct
- mov r0, #0x1
- add sp, sp, #0x5c
- ldmia sp!, {r4-r11,pc}
-
- arm_func_start FUN_020B8998
-FUN_020B8998:
- cmp r3, #0x0
- beq _020B89C8
- ldr r1, [r0, #0x0]
- add r1, r1, r2
- str r1, [r0, #0x0]
- ldr r1, [r0, #0x4]
- add r1, r1, r2
- str r1, [r0, #0x4]
- ldr r1, [r0, #0x8]
- add r1, r1, r2
- str r1, [r0, #0x8]
- bx lr
-_020B89C8:
- ldr r3, [r1, #0x0]
- ldr r12, [r0, #0x0]
- mul r3, r2, r3
- add r3, r12, r3, asr #0xc
- str r3, [r0, #0x0]
- ldr r3, [r1, #0x4]
- ldr r12, [r0, #0x4]
- mul r3, r2, r3
- add r3, r12, r3, asr #0xc
- str r3, [r0, #0x4]
- ldr r1, [r1, #0x8]
- ldr r3, [r0, #0x8]
- mul r1, r2, r1
- add r1, r3, r1, asr #0xc
- str r1, [r0, #0x8]
- bx lr
-
- arm_func_start FUN_020B8A08
-FUN_020B8A08: ; 0x020B8A08
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- mov r6, r0
- mov r5, r1
- mov r0, #0x0
- mov r4, r2, lsl #0x1
- mov r7, #0x1
-_020B8A24:
- add r1, r4, r5
- ldrh r2, [r1, #0x1a]
- ands r1, r2, #0x100
- beq _020B8A4C
- ldr r3, [r5, #0xc]
- mov r0, r6
- mov r1, r5
- and r2, r2, #0xff
- blx r3
- mov r0, r7
-_020B8A4C:
- ldr r5, [r5, #0x10]
- cmp r5, #0x0
- bne _020B8A24
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,pc}
-
- arm_func_start FUN_020B8A60
-FUN_020B8A60: ; 0x020B8A60
- stmdb sp!, {r4-r6,lr}
- sub sp, sp, #0x80
- mov r5, r0
- ldr r1, [r5, #0x8]
- ands r0, r1, #0x200
- bne _020B8DB4
- ands r0, r1, #0x1
- beq _020B8DB4
- add r0, sp, #0x10
- mov r1, #0x0
- bl FUN_020BB824
- mov r0, #0x1e
- str r0, [sp, #0x0]
- add r1, sp, #0x0
- mov r0, #0x13
- mov r2, #0x1
- bl FUN_020BB1C0
- ldr r2, [r5, #0xb0]
- ldr r0, [r2, #0x10]
- and r1, r0, #0xc0000000
- cmp r1, #0xc0000000
- beq _020B8AF0
- bic r0, r0, #0xc0000000
- str r0, [r2, #0x10]
- ldr r2, [r5, #0xb0]
- ldr r3, _020B8DC8 ; =0x02106630
- ldr r0, [r2, #0x10]
- ldr r1, _020B8DCC ; =0x02106634
- orr r0, r0, #0xc0000000
- str r0, [r2, #0x10]
- ldr r2, [r5, #0xb0]
- ldr r0, [r3, #0x0]
- ldr r4, [r2, #0x10]
- mov r2, #0x1
- str r4, [r3, #0x4]
- bl FUN_020BB1C0
-_020B8AF0:
- ldr r0, [r5, #0x40]
- cmp r0, #0x0
- ldrneb r4, [r5, #0x99]
- moveq r4, #0x0
- cmp r4, #0x1
- bne _020B8B3C
- ldr r1, [r5, #0x8]
- mov r0, r5
- bic r1, r1, #0x40
- str r1, [r5, #0x8]
- ldr r1, [r5, #0x40]
- blx r1
- ldr r0, [r5, #0x40]
- cmp r0, #0x0
- ldrneb r4, [r5, #0x99]
- ldr r0, [r5, #0x8]
- moveq r4, #0x0
- and r0, r0, #0x40
- b _020B8B40
-_020B8B3C:
- mov r0, #0x0
-_020B8B40:
- cmp r0, #0x0
- bne _020B8B84
- ldr r0, [r5, #0xb0]
- ldr r1, _020B8DD0 ; =0x02106660
- ldrh r6, [r0, #0x2e]
- ldrh r3, [r0, #0x2c]
- mov r0, #0x16
- rsb r2, r6, #0x0
- mov lr, r3, lsl #0xf
- mov r12, r2, lsl #0xf
- mov r3, r6, lsl #0xf
- mov r2, #0x10
- str lr, [r1, #0x0]
- str r12, [r1, #0x14]
- str lr, [r1, #0x30]
- str r3, [r1, #0x34]
- bl FUN_020BB1C0
-_020B8B84:
- cmp r4, #0x2
- bne _020B8BC0
- ldr r1, [r5, #0x8]
- mov r0, r5
- bic r1, r1, #0x40
- str r1, [r5, #0x8]
- ldr r1, [r5, #0x40]
- blx r1
- ldr r0, [r5, #0x40]
- cmp r0, #0x0
- ldrneb r4, [r5, #0x99]
- ldr r0, [r5, #0x8]
- moveq r4, #0x0
- and r0, r0, #0x40
- b _020B8BC4
-_020B8BC0:
- mov r0, #0x0
-_020B8BC4:
- cmp r0, #0x0
- bne _020B8C28
- ldr r12, [r5, #0xd8]
- ldr r0, [r5, #0x0]
- ldrh r2, [r12, #0xa]
- add r3, r12, #0x4
- ldrb r0, [r0, #0x1]
- ldrh r1, [r3, r2]
- add r2, r3, r2
- mla r0, r1, r0, r2
- ldr r0, [r0, #0x4]
- add r1, r12, r0
- ldrh r2, [r1, #0x1e]
- ands r0, r2, #0x2000
- beq _020B8C28
- add r1, r1, #0x2c
- ands r0, r2, #0x2
- addeq r1, r1, #0x8
- ands r0, r2, #0x4
- addeq r1, r1, #0x4
- ands r0, r2, #0x8
- addeq r1, r1, #0x8
- mov r0, #0x18
- mov r2, #0x10
- bl FUN_020BB1C0
-_020B8C28:
- cmp r4, #0x3
- movne r0, #0x0
- bne _020B8C54
- ldr r1, [r5, #0x8]
- mov r0, r5
- bic r1, r1, #0x40
- str r1, [r5, #0x8]
- ldr r1, [r5, #0x40]
- blx r1
- ldr r0, [r5, #0x8]
- and r0, r0, #0x40
-_020B8C54:
- cmp r0, #0x0
- bne _020B8D84
- ldr r0, _020B8DD4 ; =0x021CED18
- ldr r1, [r0, #0xfc]
- ands r0, r1, #0x1
- beq _020B8CA0
- ldr r1, _020B8DD8 ; =0x021CEDF8
- mov r0, #0x1c
- mov r2, #0x3
- bl FUN_020BB1C0
- ldr r1, _020B8DDC ; =0x021CEDD4
- mov r0, #0x1a
- mov r2, #0x9
- bl FUN_020BB1C0
- add r1, sp, #0x10
- mov r0, #0x19
- mov r2, #0xc
- bl FUN_020BB1C0
- b _020B8CE0
-_020B8CA0:
- ands r0, r1, #0x2
- beq _020B8CBC
- add r1, sp, #0x10
- mov r0, #0x19
- mov r2, #0xc
- bl FUN_020BB1C0
- b _020B8CE0
-_020B8CBC:
- bl FUN_020B8344
- mov r1, r0
- mov r0, #0x19
- mov r2, #0xc
- bl FUN_020BB1C0
- add r1, sp, #0x10
- mov r0, #0x19
- mov r2, #0xc
- bl FUN_020BB1C0
-_020B8CE0:
- bl FUN_020BB394
- ldr r0, _020B8DE0 ; =0x04000440
- mov r2, #0x0
- ldr r1, _020B8DE4 ; =0x04000444
- str r2, [r0, #0x0]
- ldr r0, _020B8DE8 ; =0x04000454
- str r2, [r1, #0x0]
- str r2, [r0, #0x0]
- add r4, sp, #0x40
-_020B8D04:
- mov r0, r4
- bl G3X_GetClipMtx
-_020B8D0C: ; 0x020B8D0C
- cmp r0, #0x0
- bne _020B8D04
- ldr r1, _020B8DEC ; =0x04000448
- mov r2, #0x1
- str r2, [r1, #0x0]
- ldr r0, _020B8DE0 ; =0x04000440
- mov r2, #0x3
- str r2, [r0, #0x0]
- add r1, sp, #0x40
- mov r0, #0x16
- mov r2, #0x10
- bl FUN_020BB1C0
- ldr r1, [sp, #0x70]
- ldr r0, [sp, #0x74]
- mov r2, r1, asr #0x4
- mov r1, r0, asr #0x4
- mov r0, r2, lsl #0x8
- mov r1, r1, lsl #0x8
- mov r0, r0, asr #0x10
- mov r1, r1, asr #0x10
- mov r0, r0, lsl #0x10
- mov r1, r1, lsl #0x10
- mov r2, r0, lsr #0x10
- mov r0, r1, lsr #0x10
- orr r3, r2, r0, lsl #0x10
- add r1, sp, #0x4
- mov r0, #0x22
- mov r2, #0x1
- str r3, [sp, #0x4]
- bl FUN_020BB1C0
-_020B8D84:
- mov r3, #0x2
- add r1, sp, #0x8
- mov r0, #0x10
- mov r2, #0x1
- str r3, [sp, #0x8]
- bl FUN_020BB1C0
- mov r3, #0x1e
- add r1, sp, #0xc
- mov r0, #0x14
- mov r2, #0x1
- str r3, [sp, #0xc]
- bl FUN_020BB1C0
-_020B8DB4:
- ldr r0, [r5, #0x0]
- add r0, r0, #0x3
- str r0, [r5, #0x0]
- add sp, sp, #0x80
- ldmia sp!, {r4-r6,pc}
- .balign 4
-_020B8DC8: .word 0x02106630
-_020B8DCC: .word 0x02106634
-_020B8DD0: .word 0x02106660
-_020B8DD4: .word 0x021CED18
-_020B8DD8: .word 0x021CEDF8
-_020B8DDC: .word 0x021CEDD4
-_020B8DE0: .word 0x04000440
-_020B8DE4: .word 0x04000444
-_020B8DE8: .word 0x04000454
-_020B8DEC: .word 0x04000448
-
- arm_func_start FUN_020B8DF0
-FUN_020B8DF0: ; 0x020B8DF0
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x44
- mov r7, r0
- ldr r1, [r7, #0x8]
- ands r0, r1, #0x200
- bne _020B90E8
- ands r0, r1, #0x1
- beq _020B90E8
- ldr r2, [r7, #0xb0]
- ldr r0, [r2, #0x10]
- and r1, r0, #0xc0000000
- cmp r1, #0x80000000
- beq _020B8E5C
- bic r0, r0, #0xc0000000
- str r0, [r2, #0x10]
- ldr r2, [r7, #0xb0]
- ldr r3, _020B90FC ; =0x02106638
- ldr r0, [r2, #0x10]
- ldr r1, _020B9100 ; =0x0210663C
- orr r0, r0, #0x80000000
- str r0, [r2, #0x10]
- ldr r2, [r7, #0xb0]
- ldr r0, [r3, #0x0]
- ldr r4, [r2, #0x10]
- mov r2, #0x1
- str r4, [r3, #0x4]
- bl FUN_020BB1C0
-_020B8E5C:
- mov r0, #0x3
- str r0, [sp, #0x0]
- add r1, sp, #0x0
- mov r0, #0x10
- mov r2, #0x1
- bl FUN_020BB1C0
- ldr r0, [r7, #0x3c]
- cmp r0, #0x0
- ldrneb r6, [r7, #0x98]
- moveq r6, #0x0
- cmp r6, #0x1
- bne _020B8EC0
- ldr r1, [r7, #0x8]
- mov r0, r7
- bic r1, r1, #0x40
- str r1, [r7, #0x8]
- ldr r1, [r7, #0x3c]
- blx r1
- ldr r0, [r7, #0x3c]
- cmp r0, #0x0
- ldrneb r6, [r7, #0x98]
- ldr r0, [r7, #0x8]
- moveq r6, #0x0
- and r0, r0, #0x40
- b _020B8EC4
-_020B8EC0:
- mov r0, #0x0
-_020B8EC4:
- cmp r0, #0x0
- bne _020B8F3C
- ldr r0, [r7, #0xb0]
- add r1, sp, #0x38
- ldrh r4, [r0, #0x2e]
- ldrh r5, [r0, #0x2c]
- mov r3, #0x10000
- rsb r0, r4, #0x0
- mov r12, r0, lsl #0xf
- mov lr, r5, lsl #0xf
- mov r0, #0x1b
- mov r2, #0x3
- str lr, [sp, #0x38]
- str r12, [sp, #0x3c]
- str r3, [sp, #0x40]
- bl FUN_020BB1C0
- mov r0, r5, lsl #0x13
- mov r1, r4, lsl #0x13
- mov r0, r0, asr #0x10
- mov r1, r1, asr #0x10
- mov r0, r0, lsl #0x10
- mov r1, r1, lsl #0x10
- mov r2, r0, lsr #0x10
- mov r0, r1, lsr #0x10
- orr r3, r2, r0, lsl #0x10
- add r1, sp, #0x4
- mov r0, #0x22
- mov r2, #0x1
- str r3, [sp, #0x4]
- bl FUN_020BB1C0
-_020B8F3C:
- cmp r6, #0x2
- bne _020B8F78
- ldr r1, [r7, #0x8]
- mov r0, r7
- bic r1, r1, #0x40
- str r1, [r7, #0x8]
- ldr r1, [r7, #0x3c]
- blx r1
- ldr r0, [r7, #0x3c]
- cmp r0, #0x0
- ldrneb r6, [r7, #0x98]
- ldr r0, [r7, #0x8]
- moveq r6, #0x0
- and r0, r0, #0x40
- b _020B8F7C
-_020B8F78:
- mov r0, #0x0
-_020B8F7C:
- cmp r0, #0x0
- bne _020B8FE0
- ldr r4, [r7, #0xd8]
- ldr r0, [r7, #0x0]
- ldrh r2, [r4, #0xa]
- add r3, r4, #0x4
- ldrb r0, [r0, #0x1]
- ldrh r1, [r3, r2]
- add r2, r3, r2
- mla r0, r1, r0, r2
- ldr r0, [r0, #0x4]
- add r1, r4, r0
- ldrh r2, [r1, #0x1e]
- ands r0, r2, #0x2000
- beq _020B8FE0
- add r1, r1, #0x2c
- ands r0, r2, #0x2
- addeq r1, r1, #0x8
- ands r0, r2, #0x4
- addeq r1, r1, #0x4
- ands r0, r2, #0x8
- addeq r1, r1, #0x8
- mov r0, #0x18
- mov r2, #0x10
- bl FUN_020BB1C0
-_020B8FE0:
- cmp r6, #0x3
- movne r0, #0x0
- bne _020B900C
- ldr r1, [r7, #0x8]
- mov r0, r7
- bic r1, r1, #0x40
- str r1, [r7, #0x8]
- ldr r1, [r7, #0x3c]
- blx r1
- ldr r0, [r7, #0x8]
- and r0, r0, #0x40
-_020B900C:
- cmp r0, #0x0
- bne _020B90D0
- mov r3, #0x2
- add r1, sp, #0x8
- mov r0, #0x10
- mov r2, #0x1
- str r3, [sp, #0x8]
- bl FUN_020BB1C0
- add r1, sp, #0x14
- mov r0, #0x0
- bl FUN_020BB824
- mov r3, #0x3
- add r1, sp, #0xc
- mov r0, #0x10
- mov r2, #0x1
- str r3, [sp, #0xc]
- bl FUN_020BB1C0
- ldr r0, _020B9104 ; =0x021CED18
- ldr r1, [r0, #0xfc]
- ands r0, r1, #0x1
- beq _020B9094
- ldr r1, _020B9108 ; =0x021CED64
- mov r0, #0x1a
- mov r2, #0x9
- bl FUN_020BB1C0
- ldr r1, _020B910C ; =0x021CEDD4
- mov r0, #0x1a
- mov r2, #0x9
- bl FUN_020BB1C0
- add r1, sp, #0x14
- mov r0, #0x1a
- mov r2, #0x9
- bl FUN_020BB1C0
- b _020B90D0
-_020B9094:
- ands r0, r1, #0x2
- beq _020B90C0
- ldr r1, _020B9108 ; =0x021CED64
- mov r0, #0x1a
- mov r2, #0x9
- bl FUN_020BB1C0
- add r1, sp, #0x14
- mov r0, #0x1a
- mov r2, #0x9
- bl FUN_020BB1C0
- b _020B90D0
-_020B90C0:
- add r1, sp, #0x14
- mov r0, #0x1a
- mov r2, #0x9
- bl FUN_020BB1C0
-_020B90D0:
- mov r3, #0x2
- add r1, sp, #0x10
- mov r0, #0x10
- mov r2, #0x1
- str r3, [sp, #0x10]
- bl FUN_020BB1C0
-_020B90E8:
- ldr r0, [r7, #0x0]
- add r0, r0, #0x3
- str r0, [r7, #0x0]
- add sp, sp, #0x44
- ldmia sp!, {r4-r7,pc}
- .balign 4
-_020B90FC: .word 0x02106638
-_020B9100: .word 0x0210663C
-_020B9104: .word 0x021CED18
-_020B9108: .word 0x021CED64
-_020B910C: .word 0x021CEDD4
-
- arm_func_start FUN_020B9110
-FUN_020B9110: ; 0x020B9110
- stmdb sp!, {r4,lr}
- sub sp, sp, #0x10
- mov r4, r0
- ldr r2, [r4, #0x8]
- ands r0, r2, #0x100
- bne _020B9164
- ands r0, r2, #0x200
- bne _020B9164
- cmp r1, #0x0
- ldreq r0, [r4, #0xe0]
- add r1, sp, #0x0
- streq r0, [sp, #0x8]
- streq r0, [sp, #0x4]
- streq r0, [sp, #0x0]
- ldrne r0, [r4, #0xe4]
- mov r2, #0x3
- strne r0, [sp, #0x8]
- strne r0, [sp, #0x4]
- strne r0, [sp, #0x0]
- mov r0, #0x1b
- bl FUN_020BB1C0
-_020B9164:
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- add sp, sp, #0x10
- ldmia sp!, {r4,pc}
-
- arm_func_start FUN_020B9178
-FUN_020B9178: ; 0x020B9178
- stmdb sp!, {r4-r6,lr}
- mov r5, r0
- ldr r0, [r5, #0x34]
- cmp r0, #0x0
- ldrneb r4, [r5, #0x96]
- moveq r4, #0x0
- cmp r4, #0x1
- bne _020B91CC
- ldr r1, [r5, #0x8]
- mov r0, r5
- bic r1, r1, #0x40
- str r1, [r5, #0x8]
- ldr r1, [r5, #0x34]
- blx r1
- ldr r0, [r5, #0x34]
- cmp r0, #0x0
- ldrneb r4, [r5, #0x96]
- ldr r0, [r5, #0x8]
- moveq r4, #0x0
- and r1, r0, #0x40
- b _020B91D0
-_020B91CC:
- mov r1, #0x0
-_020B91D0:
- ldr r0, [r5, #0x8]
- ands r0, r0, #0x100
- bne _020B9228
- cmp r1, #0x0
- bne _020B9228
- ldr r0, [r5, #0x0]
- ldrb r12, [r0, #0x1]
- ldrb r3, [r0, #0x2]
- ldrb lr, [r0, #0x3]
- ldrb r2, [r0, #0x5]
- ldrb r1, [r0, #0x6]
- orr r3, r12, r3, lsl #0x8
- ldrb r6, [r0, #0x4]
- orr r12, r3, lr, lsl #0x10
- ldrb r3, [r0, #0x7]
- orr r1, r2, r1, lsl #0x8
- orr r6, r12, r6, lsl #0x18
- ldrb r2, [r0, #0x8]
- orr r1, r1, r3, lsl #0x10
- add r0, r0, r6
- orr r1, r1, r2, lsl #0x18
- bl FUN_020BB2B0
-_020B9228:
- cmp r4, #0x3
- bne _020B9248
- ldr r1, [r5, #0x8]
- mov r0, r5
- bic r1, r1, #0x40
- str r1, [r5, #0x8]
- ldr r1, [r5, #0x34]
- blx r1
-_020B9248:
- ldr r0, [r5, #0x0]
- add r0, r0, #0x9
- str r0, [r5, #0x0]
- ldmia sp!, {r4-r6,pc}
-
- arm_func_start FUN_020B9258
-FUN_020B9258: ; 0x020B9258
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0x8c
- ldr r1, [r0, #0x4]
- ldr r4, [r0, #0x0]
- ldr r6, [r1, #0x4]
- ldrb r2, [r4, #0x2]
- ldr r3, [r6, #0x10]
- mov r10, #0x0
- str r0, [sp, #0x0]
- str r2, [sp, #0x8]
- add r3, r6, r3
- add r1, sp, #0x34
- mov r0, r10
- mov r2, #0x54
- mov r9, r10
- str r3, [sp, #0x4]
- add r8, r4, #0x3
- bl MIi_CpuClearFast
- bl FUN_020BB394
- ldr r0, _020B98AC ; =0x04000440
- mov r7, r10
- str r7, [r0, #0x0]
- mov r0, #0x1
- ldr r2, _020B98B0 ; =0x0400044C
- ldr r1, _020B98B4 ; =0x04000454
- str r0, [r2, #0x0]
- str r0, [sp, #0x10]
- str r7, [r1, #0x0]
- mov r1, #0x2
- ldr r0, _020B98AC ; =0x04000440
- str r1, [sp, #0x14]
- str r1, [r0, #0x0]
- ldr r0, [sp, #0x8]
- cmp r0, #0x0
- bls _020B96CC
-_020B92E4:
- ldrb r4, [r8, #0x1]
- mov r0, #0x64
- ldr r3, _020B98B8 ; =0x021D0380
- mul r0, r4, r0
- str r0, [sp, #0xc]
- ldr r0, [sp, #0x0]
- mov r1, r4, lsr #0x5
- add r0, r0, r1, lsl #0x2
- ldr r1, [sp, #0x10]
- and r2, r4, #0x1f
- mov r1, r1, lsl r2
- ldr r11, [r0, #0xcc]
- ldr r2, [sp, #0xc]
- ands r11, r1, r11
- add r6, r3, r2
- bne _020B9358
- ldr r3, [r0, #0xcc]
- mov r2, #0x54
- orr r1, r3, r1
- str r1, [r0, #0xcc]
- ldr r0, [sp, #0x4]
- ldr r1, _020B98BC ; =0x04000450
- mla r0, r4, r2, r0
- ldrb r2, [r8, #0x0]
- str r2, [r1, #0x0]
- ldr r2, [sp, #0x10]
- ldr r1, _020B98AC ; =0x04000440
- str r2, [r1, #0x0]
- bl G3_MultMtx43
-_020B9358:
- cmp r7, #0x0
- beq _020B9500
- ldr r2, [sp, #0x6c]
- ldr r1, [r5, #0x0]
- str r2, [sp, #0x18]
- ldr r2, [sp, #0x70]
- mov r0, r1, asr #0x1f
- str r2, [sp, #0x1c]
- ldr r2, [sp, #0x74]
- ldr r12, [sp, #0x64]
- str r2, [sp, #0x20]
- ldr r2, [sp, #0x78]
- ldr lr, [sp, #0x68]
- str r2, [sp, #0x24]
- ldr r2, [sp, #0x7c]
- str r2, [sp, #0x28]
- ldr r2, [sp, #0x80]
- str r2, [sp, #0x2c]
- ldr r2, [sp, #0x84]
- str r2, [sp, #0x30]
- umull r3, r2, r10, r1
- mla r2, r10, r0, r2
- mla r2, r9, r1, r2
- mov r0, r3, lsr #0xc
- orr r0, r0, r2, lsl #0x14
- adds r0, r12, r0
- str r0, [sp, #0x64]
- ldr r1, [r5, #0x4]
- mov r0, r1, asr #0x1f
- umull r3, r2, r10, r1
- mla r2, r10, r0, r2
- mla r2, r9, r1, r2
- mov r0, r3, lsr #0xc
- orr r0, r0, r2, lsl #0x14
- adds r0, lr, r0
- str r0, [sp, #0x68]
- ldr r1, [r5, #0x8]
- mov r0, r1, asr #0x1f
- umull r3, r2, r10, r1
- mla r2, r10, r0, r2
- mla r2, r9, r1, r2
- mov r1, r3, lsr #0xc
- ldr r0, [sp, #0x18]
- orr r1, r1, r2, lsl #0x14
- adds r0, r0, r1
- str r0, [sp, #0x6c]
- ldr r1, [r5, #0xc]
- mov r0, r1, asr #0x1f
- umull r3, r2, r10, r1
- mla r2, r10, r0, r2
- mla r2, r9, r1, r2
- mov r1, r3, lsr #0xc
- ldr r0, [sp, #0x1c]
- orr r1, r1, r2, lsl #0x14
- adds r0, r0, r1
- str r0, [sp, #0x70]
- ldr r1, [r5, #0x10]
- mov r0, r1, asr #0x1f
- umull r3, r2, r10, r1
- mla r2, r10, r0, r2
- mla r2, r9, r1, r2
- mov r1, r3, lsr #0xc
- ldr r0, [sp, #0x20]
- orr r1, r1, r2, lsl #0x14
- adds r0, r0, r1
- str r0, [sp, #0x74]
- ldr r1, [r5, #0x14]
- mov r0, r1, asr #0x1f
- umull r3, r2, r10, r1
- mla r2, r10, r0, r2
- mla r2, r9, r1, r2
- mov r1, r3, lsr #0xc
- ldr r0, [sp, #0x24]
- orr r1, r1, r2, lsl #0x14
- adds r0, r0, r1
- str r0, [sp, #0x78]
- ldr r1, [r5, #0x18]
- mov r0, r1, asr #0x1f
- umull r3, r2, r10, r1
- mla r2, r10, r0, r2
- mla r2, r9, r1, r2
- mov r1, r3, lsr #0xc
- ldr r0, [sp, #0x28]
- orr r1, r1, r2, lsl #0x14
- adds r0, r0, r1
- str r0, [sp, #0x7c]
- ldr r1, [r5, #0x1c]
- mov r0, r1, asr #0x1f
- umull r3, r2, r10, r1
- mla r2, r10, r0, r2
- mla r2, r9, r1, r2
- mov r1, r3, lsr #0xc
- ldr r0, [sp, #0x2c]
- orr r1, r1, r2, lsl #0x14
- adds r0, r0, r1
- str r0, [sp, #0x80]
- ldr r1, [r5, #0x20]
- mov r0, r1, asr #0x1f
- umull r3, r2, r10, r1
- mla r2, r10, r0, r2
- mla r2, r9, r1, r2
- mov r1, r3, lsr #0xc
- ldr r0, [sp, #0x30]
- orr r1, r1, r2, lsl #0x14
- adds r0, r0, r1
- str r0, [sp, #0x84]
-_020B9500:
- cmp r11, #0x0
- bne _020B9538
-_020B9508:
- mov r0, r6
- bl G3X_GetClipMtx
-_020B9510: ; 0x020B9510
- cmp r0, #0x0
- bne _020B9508
- ldr r1, [sp, #0x14]
- ldr r0, _020B98AC ; =0x04000440
- str r1, [r0, #0x0]
- ldr r0, [sp, #0x4]
- mov r1, #0x54
- mla r0, r4, r1, r0
- add r0, r0, #0x30
- bl G3_MultMtx33
-_020B9538:
- ldrb r1, [r8, #0x2]
- ldr r2, [sp, #0x34]
- ldr r0, [r6, #0x0]
- mov r10, r1, lsl #0x4
- smull r1, r0, r10, r0
- mov r1, r1, lsr #0xc
- orr r1, r1, r0, lsl #0x14
- adds r0, r2, r1
- str r0, [sp, #0x34]
- mov r9, r10, asr #0x1f
- ldr r2, [sp, #0x38]
- ldr r0, [r6, #0x4]
- ldr r3, [sp, #0x3c]
- smull r1, r0, r10, r0
- mov r1, r1, lsr #0xc
- orr r1, r1, r0, lsl #0x14
- adds r0, r2, r1
- str r0, [sp, #0x38]
- ldr r0, [r6, #0x8]
- ldr r2, [sp, #0x40]
- smull r1, r0, r10, r0
- mov r1, r1, lsr #0xc
- orr r1, r1, r0, lsl #0x14
- adds r0, r3, r1
- str r0, [sp, #0x3c]
- ldr r0, [r6, #0x10]
- ldr r3, [sp, #0x44]
- smull r1, r0, r10, r0
- mov r1, r1, lsr #0xc
- orr r1, r1, r0, lsl #0x14
- adds r0, r2, r1
- str r0, [sp, #0x40]
- ldr r0, [r6, #0x14]
- ldr r2, [sp, #0x48]
- smull r1, r0, r10, r0
- mov r1, r1, lsr #0xc
- orr r1, r1, r0, lsl #0x14
- adds r0, r3, r1
- str r0, [sp, #0x44]
- ldr r0, [r6, #0x18]
- ldr r3, [sp, #0x4c]
- smull r1, r0, r10, r0
- mov r1, r1, lsr #0xc
- orr r1, r1, r0, lsl #0x14
- adds r0, r2, r1
- str r0, [sp, #0x48]
- ldr r0, [r6, #0x20]
- ldr r2, [sp, #0x50]
- smull r1, r0, r10, r0
- mov r1, r1, lsr #0xc
- orr r1, r1, r0, lsl #0x14
- adds r0, r3, r1
- str r0, [sp, #0x4c]
- ldr r0, [r6, #0x24]
- ldr r3, [sp, #0x54]
- smull r1, r0, r10, r0
- mov r1, r1, lsr #0xc
- orr r1, r1, r0, lsl #0x14
- adds r0, r2, r1
- str r0, [sp, #0x50]
- ldr r0, [r6, #0x28]
- ldr r2, [sp, #0x58]
- smull r1, r0, r10, r0
- mov r1, r1, lsr #0xc
- orr r1, r1, r0, lsl #0x14
- adds r0, r3, r1
- str r0, [sp, #0x54]
- ldr r0, [r6, #0x30]
- ldr r3, [sp, #0x5c]
- smull r1, r0, r10, r0
- mov r1, r1, lsr #0xc
- orr r1, r1, r0, lsl #0x14
- adds r0, r2, r1
- str r0, [sp, #0x58]
- ldr r0, [r6, #0x34]
- ldr r2, [sp, #0x60]
- smull r1, r0, r10, r0
- mov r1, r1, lsr #0xc
- orr r1, r1, r0, lsl #0x14
- adds r0, r3, r1
- str r0, [sp, #0x5c]
- ldr r0, [r6, #0x38]
- smull r1, r0, r10, r0
- mov r1, r1, lsr #0xc
- orr r1, r1, r0, lsl #0x14
- adds r0, r2, r1
- str r0, [sp, #0x60]
- cmp r11, #0x0
- ldr r1, _020B98C0 ; =0x021D03C0
- ldr r0, [sp, #0xc]
- add r5, r1, r0
- add r8, r8, #0x3
- bne _020B96BC
-_020B96AC:
- mov r0, r5
- bl G3X_GetVectorMtx
-_020B96B4: ; 0x020B96B4
- cmp r0, #0x0
- bne _020B96AC
-_020B96BC:
- ldr r0, [sp, #0x8]
- add r7, r7, #0x1
- cmp r7, r0
- blo _020B92E4
-_020B96CC:
- ldr r1, [r5, #0x0]
- ldr r4, [sp, #0x64]
- mov r0, r1, asr #0x1f
- umull r3, r2, r10, r1
- mla r2, r10, r0, r2
- mla r2, r9, r1, r2
- mov r0, r3, lsr #0xc
- orr r0, r0, r2, lsl #0x14
- adds r0, r4, r0
- str r0, [sp, #0x64]
- ldr r1, [r5, #0x4]
- ldr r4, [sp, #0x68]
- mov r0, r1, asr #0x1f
- umull r3, r2, r10, r1
- mla r2, r10, r0, r2
- mla r2, r9, r1, r2
- mov r0, r3, lsr #0xc
- orr r0, r0, r2, lsl #0x14
- adds r0, r4, r0
- str r0, [sp, #0x68]
- ldr r1, [r5, #0x8]
- ldr r4, [sp, #0x6c]
- umull r0, r2, r10, r1
- mov r3, r0, lsr #0xc
- mov r0, r1, asr #0x1f
- mla r2, r10, r0, r2
- mla r2, r9, r1, r2
- orr r3, r3, r2, lsl #0x14
- adds r0, r4, r3
- str r0, [sp, #0x6c]
- ldr r7, [r5, #0xc]
- ldr r12, [sp, #0x70]
- mov r6, r7, asr #0x1f
- umull r11, r8, r10, r7
- mla r8, r10, r6, r8
- mla r8, r9, r7, r8
- mov r6, r11, lsr #0xc
- orr r6, r6, r8, lsl #0x14
- adds r6, r12, r6
- str r6, [sp, #0x70]
- ldr r7, [r5, #0x10]
- ldr r4, [sp, #0x74]
- mov r6, r7, asr #0x1f
- umull r11, r8, r10, r7
- mla r8, r10, r6, r8
- mla r8, r9, r7, r8
- mov r6, r11, lsr #0xc
- orr r6, r6, r8, lsl #0x14
- adds r4, r4, r6
- str r4, [sp, #0x74]
- ldr r6, [r5, #0x14]
- ldr r3, [sp, #0x78]
- mov r4, r6, asr #0x1f
- umull r8, r7, r10, r6
- mla r7, r10, r4, r7
- mla r7, r9, r6, r7
- mov r4, r8, lsr #0xc
- orr r4, r4, r7, lsl #0x14
- adds r3, r3, r4
- str r3, [sp, #0x78]
- ldr r4, [r5, #0x18]
- ldr r2, [sp, #0x7c]
- mov r3, r4, asr #0x1f
- umull r7, r6, r10, r4
- mla r6, r10, r3, r6
- mla r6, r9, r4, r6
- mov r3, r7, lsr #0xc
- orr r3, r3, r6, lsl #0x14
- adds r2, r2, r3
- str r2, [sp, #0x7c]
- ldr r3, [r5, #0x1c]
- ldr r1, [sp, #0x80]
- mov r2, r3, asr #0x1f
- umull r6, r4, r10, r3
- mla r4, r10, r2, r4
- mla r4, r9, r3, r4
- mov r2, r6, lsr #0xc
- orr r2, r2, r4, lsl #0x14
- adds r1, r1, r2
- str r1, [sp, #0x80]
- ldr r2, [r5, #0x20]
- ldr lr, [sp, #0x84]
- mov r1, r2, asr #0x1f
- umull r4, r3, r10, r2
- mla r3, r10, r1, r3
- mla r3, r9, r2, r3
- mov r1, r4, lsr #0xc
- orr r1, r1, r3, lsl #0x14
- adds r1, lr, r1
- add r0, sp, #0x64
- str r1, [sp, #0x84]
- bl G3_LoadMtx43
- ldr r1, _020B98AC ; =0x04000440
- mov r2, #0x1
- add r0, sp, #0x34
- str r2, [r1, #0x0]
- bl G3_LoadMtx43
- ldr r3, _020B98AC ; =0x04000440
- mov r0, #0x0
- str r0, [r3, #0x0]
- ldr r1, _020B98BC ; =0x04000450
- mov r2, #0x1
- mov r0, #0x2
- str r2, [r1, #0x0]
- str r0, [r3, #0x0]
- ldr r0, [sp, #0x0]
- ldr r1, [r0, #0x0]
- ldr r0, _020B98B0 ; =0x0400044C
- ldrb r2, [r1, #0x1]
- mov r1, #0x3
- str r2, [r0, #0x0]
- ldr r0, [sp, #0x0]
- ldr r2, [r0, #0x0]
- ldrb r0, [r2, #0x2]
- add r0, r0, #0x1
- mla r1, r0, r1, r2
- ldr r0, [sp, #0x0]
- str r1, [r0, #0x0]
- add sp, sp, #0x8c
- ldmia sp!, {r4-r11,pc}
- .balign 4
-_020B98AC: .word 0x04000440
-_020B98B0: .word 0x0400044C
-_020B98B4: .word 0x04000454
-_020B98B8: .word 0x021D0380
-_020B98BC: .word 0x04000450
-_020B98C0: .word 0x021D03C0
-
- arm_func_start FUN_020B98C4
-FUN_020B98C4: ; 0x020B98C4
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0xcc
- mov r10, r0
- ldr r2, [r10, #0x8]
- mov r9, r1
- ands r0, r2, #0x200
- mov r7, #0x2
- ldr r6, _020B9C28 ; =0x02106718
- ldr fp, _020B9C2C ; =0x02106724
- ldr r5, _020B9C30 ; =0x021066F4
- beq _020B992C
- cmp r9, #0x40
- beq _020B9900
- cmp r9, #0x60
- bne _020B9904
-_020B9900:
- add r7, r7, #0x1
-_020B9904:
- cmp r9, #0x20
- beq _020B9914
- cmp r9, #0x60
- bne _020B9918
-_020B9914:
- add r7, r7, #0x1
-_020B9918:
- ldr r0, [r10, #0x0]
- add sp, sp, #0xcc
- add r0, r0, r7
- str r0, [r10, #0x0]
- ldmia sp!, {r4-r11,pc}
-_020B992C:
- cmp r9, #0x40
- beq _020B993C
- cmp r9, #0x60
- bne _020B9974
-_020B993C:
- add r7, r7, #0x1
- ands r0, r2, #0x100
- bne _020B9974
- cmp r9, #0x40
- ldreq r0, [r10, #0x0]
- add r1, sp, #0x0
- ldreqb r0, [r0, #0x2]
- mov r2, #0x1
- streq r0, [sp, #0x0]
- ldrne r0, [r10, #0x0]
- ldrneb r0, [r0, #0x3]
- strne r0, [sp, #0x0]
- mov r0, #0x14
- bl FUN_020BB1C0
-_020B9974:
- ldr r0, [r10, #0x2c]
- cmp r0, #0x0
- ldrneb r8, [r10, #0x94]
- moveq r8, #0x0
- cmp r8, #0x1
- bne _020B99C0
- ldr r1, [r10, #0x8]
- mov r0, r10
- bic r1, r1, #0x40
- str r1, [r10, #0x8]
- ldr r1, [r10, #0x2c]
- blx r1
- ldr r0, [r10, #0x2c]
- cmp r0, #0x0
- ldrneb r8, [r10, #0x94]
- ldr r0, [r10, #0x8]
- moveq r8, #0x0
- and r1, r0, #0x40
- b _020B99C4
-_020B99C0:
- mov r1, #0x0
-_020B99C4:
- ldr r0, [r10, #0x8]
- ands r0, r0, #0x100
- bne _020B9BA4
- cmp r1, #0x0
- bne _020B9BA4
- bl FUN_020BB394
- ldr r2, _020B9C34 ; =0x00151110
- ldr r1, _020B9C38 ; =0x04000400
- mov r0, #0x0
- str r2, [r1, #0x0]
- str r0, [r1, #0x0]
- str r0, [r1, #0x0]
- add r4, sp, #0x8
-_020B99F8:
- mov r0, r4
- bl G3X_GetClipMtx
-_020B9A00: ; 0x020B9A00
- cmp r0, #0x0
- bne _020B99F8
- ldr r0, _020B9C3C ; =0x021CED18
- ldr r1, [r0, #0xfc]
- ands r0, r1, #0x1
- beq _020B9A38
- bl FUN_020B82A4
- add r1, sp, #0x48
- bl MTX_Copy43To44_
- add r0, sp, #0x8
- add r1, sp, #0x48
- mov r2, r0
- bl MTX_Concat44
- b _020B9A5C
-_020B9A38:
- ands r0, r1, #0x2
- beq _020B9A5C
- ldr r0, _020B9C40 ; =0x021CED64
- add r1, sp, #0x88
- bl MTX_Copy43To44_
- add r0, sp, #0x8
- add r1, sp, #0x88
- mov r2, r0
- bl MTX_Concat44
-_020B9A5C:
- ldr r1, [sp, #0x38]
- add r0, sp, #0x8
- str r1, [r6, #0x0]
- ldr r1, [sp, #0x3c]
- str r1, [r6, #0x4]
- ldr r1, [sp, #0x40]
- str r1, [r6, #0x8]
- bl VEC_Mag
-_020B9A7C: ; 0x020B9A7C
- str r0, [r11, #0x0]
- add r0, sp, #0x18
- bl VEC_Mag
- str r0, [r11, #0x4]
- add r0, sp, #0x28
- bl VEC_Mag
- str r0, [r11, #0x8]
- ldr r0, [sp, #0x1c]
- cmp r0, #0x0
- bne _020B9AB0
- ldr r0, [sp, #0x20]
- cmp r0, #0x0
- beq _020B9AD4
-_020B9AB0:
- add r0, sp, #0x18
- add r1, r5, #0xc
- bl VEC_Normalize
- ldr r0, [r5, #0x14]
- rsb r0, r0, #0x0
- str r0, [r5, #0x1c]
- ldr r0, [r5, #0x10]
- str r0, [r5, #0x20]
- b _020B9AF4
-_020B9AD4:
- add r0, sp, #0x28
- add r1, r5, #0x18
- bl VEC_Normalize
- ldr r0, [r5, #0x1c]
- rsb r0, r0, #0x0
- str r0, [r5, #0x14]
- ldr r0, [r5, #0x20]
- str r0, [r5, #0x10]
-_020B9AF4:
- ldr r0, _020B9C3C ; =0x021CED18
- ldr r1, [r0, #0xfc]
- ands r0, r1, #0x1
- beq _020B9B48
- ldr r3, _020B9C44 ; =0x00171012
- ldr r1, _020B9C38 ; =0x04000400
- ldr r0, _020B9C48 ; =0x021066EC
- mov r2, #0x8
- str r3, [r1, #0x0]
- bl MIi_CpuSend32
- bl FUN_020B8264
- ldr r1, _020B9C38 ; =0x04000400
- mov r2, #0x30
- bl MIi_CpuSend32
- ldr r2, _020B9C4C ; =0x00001B19
- ldr r1, _020B9C38 ; =0x04000400
- ldr r0, _020B9C30 ; =0x021066F4
- str r2, [r1, #0x0]
- mov r2, #0x3c
- bl MIi_CpuSend32
- b _020B9BA4
-_020B9B48:
- ands r0, r1, #0x2
- beq _020B9B94
- ldr r3, _020B9C44 ; =0x00171012
- ldr r1, _020B9C38 ; =0x04000400
- ldr r0, _020B9C48 ; =0x021066EC
- mov r2, #0x8
- str r3, [r1, #0x0]
- bl MIi_CpuSend32
- bl FUN_020B8344
- ldr r1, _020B9C38 ; =0x04000400
- mov r2, #0x30
- bl MIi_CpuSend32
- ldr r2, _020B9C4C ; =0x00001B19
- ldr r1, _020B9C38 ; =0x04000400
- ldr r0, _020B9C30 ; =0x021066F4
- str r2, [r1, #0x0]
- mov r2, #0x3c
- bl MIi_CpuSend32
- b _020B9BA4
-_020B9B94:
- ldr r0, _020B9C50 ; =0x021066E8
- ldr r1, _020B9C38 ; =0x04000400
- mov r2, #0x48
- bl MIi_CpuSend32
-_020B9BA4:
- cmp r8, #0x3
- movne r0, #0x0
- bne _020B9BD0
- ldr r1, [r10, #0x8]
- mov r0, r10
- bic r1, r1, #0x40
- str r1, [r10, #0x8]
- ldr r1, [r10, #0x2c]
- blx r1
- ldr r0, [r10, #0x8]
- and r0, r0, #0x40
-_020B9BD0:
- cmp r9, #0x20
- beq _020B9BE0
- cmp r9, #0x60
- bne _020B9C14
-_020B9BE0:
- cmp r0, #0x0
- add r7, r7, #0x1
- bne _020B9C14
- ldr r0, [r10, #0x8]
- ands r0, r0, #0x100
- bne _020B9C14
- ldr r0, [r10, #0x0]
- add r1, sp, #0x4
- ldrb r3, [r0, #0x2]
- mov r0, #0x13
- mov r2, #0x1
- str r3, [sp, #0x4]
- bl FUN_020BB1C0
-_020B9C14:
- ldr r0, [r10, #0x0]
- add r0, r0, r7
- str r0, [r10, #0x0]
- add sp, sp, #0xcc
- ldmia sp!, {r4-r11,pc}
- .balign 4
-_020B9C28: .word 0x02106718
-_020B9C2C: .word 0x02106724
-_020B9C30: .word 0x021066F4
-_020B9C34: .word 0x00151110
-_020B9C38: .word 0x04000400
-_020B9C3C: .word 0x021CED18
-_020B9C40: .word 0x021CED64
-_020B9C44: .word 0x00171012
-_020B9C48: .word 0x021066EC
-_020B9C4C: .word 0x00001B19
-_020B9C50: .word 0x021066E8
-
- arm_func_start FUN_020B9C54
-FUN_020B9C54: ; 0x020B9C54
- stmdb sp!, {r4-r10,lr}
- sub sp, sp, #0xc8
- mov r9, r0
- ldr r2, [r9, #0x8]
- mov r8, r1
- ands r0, r2, #0x200
- mov r6, #0x2
- ldr r5, _020B9F58 ; =0x021066D0
- ldr r4, _020B9F5C ; =0x021066DC
- beq _020B9CB8
- cmp r8, #0x40
- beq _020B9C8C
- cmp r8, #0x60
- bne _020B9C90
-_020B9C8C:
- add r6, r6, #0x1
-_020B9C90:
- cmp r8, #0x20
- beq _020B9CA0
- cmp r8, #0x60
- bne _020B9CA4
-_020B9CA0:
- add r6, r6, #0x1
-_020B9CA4:
- ldr r0, [r9, #0x0]
- add sp, sp, #0xc8
- add r0, r0, r6
- str r0, [r9, #0x0]
- ldmia sp!, {r4-r10,pc}
-_020B9CB8:
- cmp r8, #0x40
- beq _020B9CC8
- cmp r8, #0x60
- bne _020B9D00
-_020B9CC8:
- add r6, r6, #0x1
- ands r0, r2, #0x100
- bne _020B9D00
- cmp r8, #0x40
- ldreq r0, [r9, #0x0]
- add r1, sp, #0x0
- ldreqb r0, [r0, #0x2]
- mov r2, #0x1
- streq r0, [sp, #0x0]
- ldrne r0, [r9, #0x0]
- ldrneb r0, [r0, #0x3]
- strne r0, [sp, #0x0]
- mov r0, #0x14
- bl FUN_020BB1C0
-_020B9D00:
- ldr r0, [r9, #0x28]
- cmp r0, #0x0
- ldrneb r7, [r9, #0x93]
- moveq r7, #0x0
- cmp r7, #0x1
- bne _020B9D4C
- ldr r1, [r9, #0x8]
- mov r0, r9
- bic r1, r1, #0x40
- str r1, [r9, #0x8]
- ldr r1, [r9, #0x28]
- blx r1
- ldr r0, [r9, #0x28]
- cmp r0, #0x0
- ldrneb r7, [r9, #0x93]
- ldr r0, [r9, #0x8]
- moveq r7, #0x0
- and r1, r0, #0x40
- b _020B9D50
-_020B9D4C:
- mov r1, #0x0
-_020B9D50:
- ldr r0, [r9, #0x8]
- ands r0, r0, #0x100
- bne _020B9ED4
- cmp r1, #0x0
- bne _020B9ED4
- bl FUN_020BB394
- ldr r2, _020B9F60 ; =0x00151110
- ldr r1, _020B9F64 ; =0x04000400
- mov r0, #0x0
- str r2, [r1, #0x0]
- str r0, [r1, #0x0]
- str r0, [r1, #0x0]
- add r10, sp, #0x8
-_020B9D84:
- mov r0, r10
- bl G3X_GetClipMtx
-_020B9D8C: ; 0x020B9D8C
- cmp r0, #0x0
- bne _020B9D84
- ldr r0, _020B9F68 ; =0x021CED18
- ldr r1, [r0, #0xfc]
- ands r0, r1, #0x1
- beq _020B9DC4
- bl FUN_020B82A4
- add r1, sp, #0x48
- bl MTX_Copy43To44_
- add r0, sp, #0x8
- add r1, sp, #0x48
- mov r2, r0
- bl MTX_Concat44
- b _020B9DE8
-_020B9DC4:
- ands r0, r1, #0x2
- beq _020B9DE8
- ldr r0, _020B9F6C ; =0x021CED64
- add r1, sp, #0x88
- bl MTX_Copy43To44_
- add r0, sp, #0x8
- add r1, sp, #0x88
- mov r2, r0
- bl MTX_Concat44
-_020B9DE8:
- ldr r1, [sp, #0x38]
- add r0, sp, #0x8
- str r1, [r5, #0x0]
- ldr r1, [sp, #0x3c]
- str r1, [r5, #0x4]
- ldr r1, [sp, #0x40]
- str r1, [r5, #0x8]
- bl VEC_Mag
-_020B9E08: ; 0x020B9E08
- str r0, [r4, #0x0]
- add r0, sp, #0x18
- bl VEC_Mag
- str r0, [r4, #0x4]
- add r0, sp, #0x28
- bl VEC_Mag
- ldr r1, _020B9F68 ; =0x021CED18
- str r0, [r4, #0x8]
- ldr r1, [r1, #0xfc]
- ands r0, r1, #0x1
- beq _020B9E78
- ldr r3, _020B9F70 ; =0x00171012
- ldr r1, _020B9F64 ; =0x04000400
- ldr r0, _020B9F74 ; =0x021066A4
- mov r2, #0x8
- str r3, [r1, #0x0]
- bl MIi_CpuSend32
- bl FUN_020B8264
- ldr r1, _020B9F64 ; =0x04000400
- mov r2, #0x30
- bl MIi_CpuSend32
- ldr r2, _020B9F78 ; =0x00001B19
- ldr r1, _020B9F64 ; =0x04000400
- ldr r0, _020B9F7C ; =0x021066AC
- str r2, [r1, #0x0]
- mov r2, #0x3c
- bl MIi_CpuSend32
- b _020B9ED4
-_020B9E78:
- ands r0, r1, #0x2
- beq _020B9EC4
- ldr r3, _020B9F70 ; =0x00171012
- ldr r1, _020B9F64 ; =0x04000400
- ldr r0, _020B9F74 ; =0x021066A4
- mov r2, #0x8
- str r3, [r1, #0x0]
- bl MIi_CpuSend32
- bl FUN_020B8344
- ldr r1, _020B9F64 ; =0x04000400
- mov r2, #0x30
- bl MIi_CpuSend32
- ldr r2, _020B9F78 ; =0x00001B19
- ldr r1, _020B9F64 ; =0x04000400
- ldr r0, _020B9F7C ; =0x021066AC
- str r2, [r1, #0x0]
- mov r2, #0x3c
- bl MIi_CpuSend32
- b _020B9ED4
-_020B9EC4:
- ldr r0, _020B9F80 ; =0x021066A0
- ldr r1, _020B9F64 ; =0x04000400
- mov r2, #0x48
- bl MIi_CpuSend32
-_020B9ED4:
- cmp r7, #0x3
- movne r0, #0x0
- bne _020B9F00
- ldr r1, [r9, #0x8]
- mov r0, r9
- bic r1, r1, #0x40
- str r1, [r9, #0x8]
- ldr r1, [r9, #0x28]
- blx r1
- ldr r0, [r9, #0x8]
- and r0, r0, #0x40
-_020B9F00:
- cmp r8, #0x20
- beq _020B9F10
- cmp r8, #0x60
- bne _020B9F44
-_020B9F10:
- cmp r0, #0x0
- add r6, r6, #0x1
- bne _020B9F44
- ldr r0, [r9, #0x8]
- ands r0, r0, #0x100
- bne _020B9F44
- ldr r0, [r9, #0x0]
- add r1, sp, #0x4
- ldrb r3, [r0, #0x2]
- mov r0, #0x13
- mov r2, #0x1
- str r3, [sp, #0x4]
- bl FUN_020BB1C0
-_020B9F44:
- ldr r0, [r9, #0x0]
- add r0, r0, r6
- str r0, [r9, #0x0]
- add sp, sp, #0xc8
- ldmia sp!, {r4-r10,pc}
- .balign 4
-_020B9F58: .word 0x021066D0
-_020B9F5C: .word 0x021066DC
-_020B9F60: .word 0x00151110
-_020B9F64: .word 0x04000400
-_020B9F68: .word 0x021CED18
-_020B9F6C: .word 0x021CED64
-_020B9F70: .word 0x00171012
-_020B9F74: .word 0x021066A4
-_020B9F78: .word 0x00001B19
-_020B9F7C: .word 0x021066AC
-_020B9F80: .word 0x021066A0
-
- arm_func_start FUN_020B9F84
-FUN_020B9F84: ; 0x020B9F84
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0x14
- mov r10, r0
- ldr r0, [r10, #0x0]
- mov r9, r1
- ldrb r4, [r0, #0x1]
- mov r7, #0x4
- strb r4, [r10, #0xae]
- ldr r0, [r10, #0x8]
- orr r0, r0, #0x10
- str r0, [r10, #0x8]
- ldr r1, [r10, #0x8]
- ands r0, r1, #0x400
- beq _020BA01C
- cmp r9, #0x40
- beq _020B9FCC
- cmp r9, #0x60
- bne _020B9FD0
-_020B9FCC:
- add r7, r7, #0x1
-_020B9FD0:
- cmp r9, #0x20
- beq _020B9FE0
- cmp r9, #0x60
- bne _020BA008
-_020B9FE0:
- add r7, r7, #0x1
- ands r0, r1, #0x100
- bne _020BA008
- ldr r0, [r10, #0x0]
- add r1, sp, #0x8
- ldrb r3, [r0, #0x4]
- mov r0, #0x14
- mov r2, #0x1
- str r3, [sp, #0x8]
- bl FUN_020BB1C0
-_020BA008:
- ldr r0, [r10, #0x0]
- add sp, sp, #0x14
- add r0, r0, r7
- str r0, [r10, #0x0]
- ldmia sp!, {r4-r11,pc}
-_020BA01C:
- cmp r9, #0x40
- beq _020BA02C
- cmp r9, #0x60
- bne _020BA068
-_020BA02C:
- cmp r9, #0x40
- ldreq r0, [r10, #0x0]
- add r7, r7, #0x1
- ldreqb r0, [r0, #0x4]
- streq r0, [sp, #0xc]
- ldrne r0, [r10, #0x0]
- ldrneb r0, [r0, #0x5]
- strne r0, [sp, #0xc]
- ldr r0, [r10, #0x8]
- ands r0, r0, #0x100
- bne _020BA068
- add r1, sp, #0xc
- mov r0, #0x14
- mov r2, #0x1
- bl FUN_020BB1C0
-_020BA068:
- add r0, r10, #0x12c
- str r0, [r10, #0xb4]
- ldr r0, [r10, #0x24]
- cmp r0, #0x0
- ldrneb r8, [r10, #0x92]
- moveq r8, #0x0
- cmp r8, #0x1
- bne _020BA0BC
- ldr r1, [r10, #0x8]
- mov r0, r10
- bic r1, r1, #0x40
- str r1, [r10, #0x8]
- ldr r1, [r10, #0x24]
- blx r1
- ldr r0, [r10, #0x24]
- cmp r0, #0x0
- ldrneb r8, [r10, #0x92]
- ldr r0, [r10, #0x8]
- moveq r8, #0x0
- and r0, r0, #0x40
- b _020BA0C0
-_020BA0BC:
- mov r0, #0x0
-_020BA0C0:
- cmp r0, #0x0
- bne _020BA2CC
- ldr r0, [r10, #0x4]
- ldr r1, [r0, #0x34]
- cmp r1, #0x0
- beq _020BA0F4
- mov r0, #0x58
- mla r6, r4, r0, r1
- ldr r0, [r10, #0x8]
- ands r0, r0, #0x80
- moveq r0, #0x1
- movne r0, #0x0
- b _020BA0FC
-_020BA0F4:
- add r6, r10, #0x12c
- mov r0, #0x0
-_020BA0FC:
- cmp r0, #0x0
- bne _020BA2C8
- mov r0, #0x0
- str r0, [r6, #0x0]
- ldr r0, [r10, #0x4]
- ldr r1, [r0, #0x10]
- cmp r1, #0x0
- beq _020BA134
- ldr r3, [r0, #0x14]
- mov r0, r6
- mov r2, r4
- blx r3
- cmp r0, #0x0
- bne _020BA2C8
-_020BA134:
- ldr r2, [r10, #0xd4]
- ldrh r0, [r2, #0x6]
- ldrh r1, [r2, r0]
- add r0, r2, r0
- mla r0, r1, r4, r0
- ldr r1, [r0, #0x4]
- ldrh r0, [r2, r1]
- add r4, r2, r1
- add r5, r4, #0x4
- ands r0, r0, #0x1
- ldrne r0, [r6, #0x0]
- orrne r0, r0, #0x4
- strne r0, [r6, #0x0]
- bne _020BA188
- ldr r0, [r5, #0x0]
- str r0, [r6, #0x4c]
- ldr r0, [r5, #0x4]
- str r0, [r6, #0x50]
- ldr r0, [r5, #0x8]
- add r5, r5, #0xc
- str r0, [r6, #0x54]
-_020BA188:
- ldrh r1, [r4, #0x0]
- ands r0, r1, #0x2
- ldrne r0, [r6, #0x0]
- orrne r0, r0, #0x2
- strne r0, [r6, #0x0]
- bne _020BA2B0
- ands r0, r1, #0x8
- beq _020BA264
- and r1, r1, #0xf0
- mov r11, r1, asr #0x4
- ldrsh r1, [r5, #0x0]
- add r0, r6, #0x28
- str r1, [sp, #0x0]
- ldrsh r1, [r5, #0x2]
- str r1, [sp, #0x4]
- blx MI_Zero36B
- ldrh r0, [r4, #0x0]
- add r1, r6, r11, lsl #0x2
- add r5, r5, #0x4
- ands r0, r0, #0x100
- movne r0, #0x1000
- rsbne r2, r0, #0x0
- moveq r2, #0x1000
- str r2, [r1, #0x28]
- ldr r0, _020BA3B4 ; =0x020FF9F0
- ldr r1, _020BA3B8 ; =0x020FF9F1
- ldrb r0, [r0, r11, lsl #0x2]
- add r2, r6, r0, lsl #0x2
- ldr r0, [sp, #0x0]
- str r0, [r2, #0x28]
- ldrb r0, [r1, r11, lsl #0x2]
- add r1, r6, r0, lsl #0x2
- ldr r0, [sp, #0x4]
- str r0, [r1, #0x28]
- ldrh r0, [r4, #0x0]
- ands r0, r0, #0x200
- ldrne r0, [sp, #0x4]
- rsbne r0, r0, #0x0
- strne r0, [sp, #0x4]
- ldr r0, _020BA3BC ; =0x020FF9F2
- ldrb r0, [r0, r11, lsl #0x2]
- add r1, r6, r0, lsl #0x2
- ldr r0, [sp, #0x4]
- str r0, [r1, #0x28]
- ldrh r0, [r4, #0x0]
- ands r0, r0, #0x400
- ldrne r0, [sp, #0x0]
- rsbne r0, r0, #0x0
- strne r0, [sp, #0x0]
- ldr r0, _020BA3C0 ; =0x020FF9F3
- ldrb r0, [r0, r11, lsl #0x2]
- add r1, r6, r0, lsl #0x2
- ldr r0, [sp, #0x0]
- str r0, [r1, #0x28]
- b _020BA2B0
-_020BA264:
- ldrsh r0, [r4, #0x2]
- str r0, [r6, #0x28]
- ldrsh r0, [r5, #0x0]
- str r0, [r6, #0x2c]
- ldrsh r0, [r5, #0x2]
- str r0, [r6, #0x30]
- ldrsh r0, [r5, #0x4]
- str r0, [r6, #0x34]
- ldrsh r0, [r5, #0x6]
- str r0, [r6, #0x38]
- ldrsh r0, [r5, #0x8]
- str r0, [r6, #0x3c]
- ldrsh r0, [r5, #0xa]
- str r0, [r6, #0x40]
- ldrsh r0, [r5, #0xc]
- str r0, [r6, #0x44]
- ldrsh r0, [r5, #0xe]
- add r5, r5, #0x10
- str r0, [r6, #0x48]
-_020BA2B0:
- ldrh r3, [r4, #0x0]
- ldr r2, [r10, #0x0]
- ldr r4, [r10, #0xe8]
- mov r0, r6
- mov r1, r5
- blx r4
-_020BA2C8:
- str r6, [r10, #0xb4]
-_020BA2CC:
- cmp r8, #0x2
- bne _020BA308
- ldr r1, [r10, #0x8]
- mov r0, r10
- bic r1, r1, #0x40
- str r1, [r10, #0x8]
- ldr r1, [r10, #0x24]
- blx r1
- ldr r0, [r10, #0x24]
- cmp r0, #0x0
- ldrneb r8, [r10, #0x92]
- ldr r0, [r10, #0x8]
- moveq r8, #0x0
- and r0, r0, #0x40
- b _020BA30C
-_020BA308:
- mov r0, #0x0
-_020BA30C:
- cmp r0, #0x0
- bne _020BA32C
- ldr r0, [r10, #0x8]
- ands r0, r0, #0x100
- bne _020BA32C
- ldr r0, [r10, #0xb4]
- ldr r1, [r10, #0xec]
- blx r1
-_020BA32C:
- mov r0, #0x0
- str r0, [r10, #0xb4]
- cmp r8, #0x3
- bne _020BA35C
- ldr r1, [r10, #0x8]
- mov r0, r10
- bic r1, r1, #0x40
- str r1, [r10, #0x8]
- ldr r1, [r10, #0x24]
- blx r1
- ldr r0, [r10, #0x8]
- and r0, r0, #0x40
-_020BA35C:
- cmp r9, #0x20
- beq _020BA36C
- cmp r9, #0x60
- bne _020BA3A0
-_020BA36C:
- cmp r0, #0x0
- add r7, r7, #0x1
- bne _020BA3A0
- ldr r0, [r10, #0x8]
- ands r0, r0, #0x100
- bne _020BA3A0
- ldr r0, [r10, #0x0]
- add r1, sp, #0x10
- ldrb r3, [r0, #0x4]
- mov r0, #0x13
- mov r2, #0x1
- str r3, [sp, #0x10]
- bl FUN_020BB1C0
-_020BA3A0:
- ldr r0, [r10, #0x0]
- add r0, r0, r7
- str r0, [r10, #0x0]
- add sp, sp, #0x14
- ldmia sp!, {r4-r11,pc}
- .balign 4
-_020BA3B4: .word 0x020FF9F0
-_020BA3B8: .word 0x020FF9F1
-_020BA3BC: .word 0x020FF9F2
-_020BA3C0: .word 0x020FF9F3
-
- arm_func_start FUN_020BA3C4
-FUN_020BA3C4: ; 0x020BA3C4
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r4, r0
- ldr r3, [r4, #0x8]
- ands r2, r3, #0x200
- bne _020BA420
- ands r2, r3, #0x1
- beq _020BA420
- ands r2, r3, #0x2
- bne _020BA420
- ldr r5, [r4, #0xdc]
- ldr r3, [r4, #0x0]
- ldrh r2, [r5, #0x6]
- ldrb r3, [r3, #0x1]
- ldr ip, _020BA434 ; =0x02106650
- ldrh lr, [r5, r2]
- add r2, r5, r2
- mla r2, lr, r3, r2
- ldr r2, [r2, #0x4]
- ldrh lr, [r5, r2]
- add r2, r5, r2
- ldr r12, [r12, lr, lsl #0x2]
- blx r12
-_020BA420:
- ldr r0, [r4, #0x0]
- add r0, r0, #0x2
- str r0, [r4, #0x0]
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,pc}
- .balign 4
-_020BA434: .word 0x02106650
-
- arm_func_start FUN_020BA438
-FUN_020BA438: ; 0x020BA438
- stmdb sp!, {r4-r6,lr}
- mov r6, r0
- ldr r0, [r6, #0x20]
- mov r5, r2
- cmp r0, #0x0
- ldrneb r4, [r6, #0x91]
- moveq r4, #0x0
- cmp r4, #0x1
- bne _020BA490
- ldr r1, [r6, #0x8]
- mov r0, r6
- bic r1, r1, #0x40
- str r1, [r6, #0x8]
- ldr r1, [r6, #0x20]
- blx r1
- ldr r0, [r6, #0x20]
- cmp r0, #0x0
- ldrneb r4, [r6, #0x91]
- ldr r0, [r6, #0x8]
- moveq r4, #0x0
- and r0, r0, #0x40
- b _020BA494
-_020BA490:
- mov r0, #0x0
-_020BA494:
- cmp r0, #0x0
- bne _020BA4B8
- ldr r0, [r6, #0x8]
- ands r0, r0, #0x100
- bne _020BA4B8
- ldr r0, [r5, #0x8]
- ldr r1, [r5, #0xc]
- add r0, r5, r0
- bl FUN_020BB2B0
-_020BA4B8:
- cmp r4, #0x2
- bne _020BA4E8
- ldr r1, [r6, #0x8]
- mov r0, r6
- bic r1, r1, #0x40
- str r1, [r6, #0x8]
- ldr r1, [r6, #0x20]
- blx r1
- ldr r0, [r6, #0x20]
- cmp r0, #0x0
- ldrneb r4, [r6, #0x91]
- moveq r4, #0x0
-_020BA4E8:
- cmp r4, #0x3
- ldmneia sp!, {r4-r6,pc}
-_020BA4F0: ; 0x020BA4F0
- ldr r1, [r6, #0x8]
- mov r0, r6
- bic r1, r1, #0x40
- str r1, [r6, #0x8]
- ldr r1, [r6, #0x20]
- blx r1
- ldmia sp!, {r4-r6,pc}
-
- arm_func_start FUN_020BA50C
-FUN_020BA50C: ; 0x020BA50C
- stmdb sp!, {r4-r6,lr}
- mov r4, r0
- ldr r5, [r4, #0x8]
- ands r0, r5, #0x200
- bne _020BA578
- ldr r2, [r4, #0x0]
- ands r0, r5, #0x1
- ldrb r3, [r2, #0x1]
- bne _020BA544
- ands r0, r5, #0x8
- beq _020BA544
- ldrb r0, [r4, #0xad]
- cmp r3, r0
- beq _020BA578
-_020BA544:
- ldr r6, [r4, #0xd8]
- ldr ip, _020BA588 ; =0x02106640
- ldrh r2, [r6, #0xa]
- add r5, r6, #0x4
- mov r0, r4
- ldrh lr, [r5, r2]
- add r2, r5, r2
- mla r2, lr, r3, r2
- ldr r2, [r2, #0x4]
- ldrh lr, [r6, r2]
- add r2, r6, r2
- ldr r12, [r12, lr, lsl #0x2]
- blx r12
-_020BA578:
- ldr r0, [r4, #0x0]
- add r0, r0, #0x2
- str r0, [r4, #0x0]
- ldmia sp!, {r4-r6,pc}
- .balign 4
-_020BA588: .word 0x02106640
-
- arm_func_start FUN_020BA58C
-FUN_020BA58C: ; 0x020BA58C
- stmdb sp!, {r4-r8,lr}
- sub sp, sp, #0x20
- mov r8, r0
- mov r6, r3
- strb r6, [r8, #0xad]
- ldr r3, [r8, #0x8]
- add r0, r8, #0xf4
- orr r3, r3, #0x8
- str r3, [r8, #0x8]
- str r0, [r8, #0xb0]
- ldr r0, [r8, #0x1c]
- mov r4, r1
- cmp r0, #0x0
- ldrneb r5, [r8, #0x90]
- mov r7, r2
- moveq r5, #0x0
- cmp r5, #0x1
- bne _020BA608
- ldr r1, [r8, #0x8]
- mov r0, r8
- bic r1, r1, #0x40
- str r1, [r8, #0x8]
- ldr r1, [r8, #0x1c]
- blx r1
- ldr r0, [r8, #0x1c]
- cmp r0, #0x0
- ldrneb r5, [r8, #0x90]
- ldr r0, [r8, #0x8]
- moveq r5, #0x0
- and r0, r0, #0x40
- b _020BA60C
-_020BA608:
- mov r0, #0x0
-_020BA60C:
- cmp r0, #0x0
- bne _020BA8C0
- ldr r0, [r8, #0x4]
- ldr r0, [r0, #0x38]
- cmp r0, #0x0
- beq _020BA638
- ldr r1, [r8, #0x8]
- ands r1, r1, #0x80
- moveq r1, #0x38
- mlaeq r4, r6, r1, r0
- beq _020BA8BC
-_020BA638:
- cmp r4, #0x20
- beq _020BA648
- cmp r4, #0x40
- bne _020BA684
-_020BA648:
- mov r1, r6, lsr #0x5
- add r1, r8, r1, lsl #0x2
- and r2, r6, #0x1f
- mov r3, #0x1
- mov r2, r3, lsl r2
- ldr r1, [r1, #0xbc]
- ands r1, r2, r1
- beq _020BA684
- cmp r0, #0x0
- movne r1, #0x38
- mlane r4, r6, r1, r0
- ldreq r1, _020BA9D8 ; =0x021CEF80
- moveq r0, #0x38
- mlaeq r4, r6, r0, r1
- b _020BA8BC
-_020BA684:
- cmp r0, #0x0
- beq _020BA6BC
- add r4, r8, #0xbc
- mov r3, r6, lsr #0x5
- ldr r2, [r4, r3, lsl #0x2]
- and r0, r6, #0x1f
- mov r1, #0x1
- orr r0, r2, r1, lsl r0
- str r0, [r4, r3, lsl #0x2]
- ldr r1, [r8, #0x4]
- mov r0, #0x38
- ldr r1, [r1, #0x38]
- mla r4, r6, r0, r1
- b _020BA6F0
-_020BA6BC:
- cmp r4, #0x40
- addne r4, r8, #0xf4
- bne _020BA6F0
- add lr, r8, #0xbc
- mov r12, r6, lsr #0x5
- ldr r1, _020BA9D8 ; =0x021CEF80
- ldr r4, [lr, r12, lsl #0x2]
- mov r0, #0x38
- and r2, r6, #0x1f
- mov r3, #0x1
- orr r2, r4, r3, lsl r2
- mla r4, r6, r0, r1
- str r2, [lr, r12, lsl #0x2]
-_020BA6F0:
- mov r0, #0x0
- str r0, [r4, #0x0]
- ldr r3, [r8, #0xd8]
- ldrh r0, [r3, #0xa]
- add r2, r3, #0x4
- ldrh r1, [r2, r0]
- add r0, r2, r0
- mla r0, r1, r6, r0
- ldr r0, [r0, #0x4]
- ldr r1, _020BA9DC ; =0x021CED18
- add r0, r3, r0
- ldrh r0, [r0, #0x1e]
- ands r0, r0, #0x20
- ldrne r0, [r4, #0x0]
- orrne r0, r0, #0x20
- strne r0, [r4, #0x0]
- ldrh r2, [r7, #0x1e]
- ldr r0, _020BA9E0 ; =0x020FF9D0
- ldr r12, [r1, #0x94]
- mov r2, r2, asr #0x6
- and r2, r2, #0x7
- ldr lr, [r0, r2, lsl #0x2]
- ldr r2, [r7, #0x4]
- mvn r3, lr
- and r3, r12, r3
- and r2, r2, lr
- orr r2, r3, r2
- str r2, [r4, #0x4]
- ldrh r12, [r7, #0x1e]
- ldr r3, [r1, #0x98]
- ldr r2, [r7, #0x8]
- mov r12, r12, asr #0x9
- and r12, r12, #0x7
- ldr r12, [r0, r12, lsl #0x2]
- mvn r0, r12
- and r3, r3, r0
- and r0, r2, r12
- orr r0, r3, r0
- str r0, [r4, #0x8]
- ldr r3, [r7, #0x10]
- ldr r0, [r7, #0xc]
- ldr r2, [r1, #0x9c]
- mvn r1, r3
- and r1, r2, r1
- and r0, r0, r3
- orr r0, r1, r0
- str r0, [r4, #0xc]
- ldr r0, [r7, #0x14]
- str r0, [r4, #0x10]
- ldrh r0, [r7, #0x1c]
- str r0, [r4, #0x14]
- ldrh r1, [r7, #0x1e]
- ands r0, r1, #0x1
- beq _020BA850
- ands r1, r1, #0x2
- ldrne r1, [r4, #0x0]
- add r0, r7, #0x2c
- orrne r1, r1, #0x1
- strne r1, [r4, #0x0]
- bne _020BA7F4
- ldr r1, [r0, #0x0]
- str r1, [r4, #0x18]
- ldr r1, [r0, #0x4]
- add r0, r0, #0x8
- str r1, [r4, #0x1c]
-_020BA7F4:
- ldrh r1, [r7, #0x1e]
- ands r1, r1, #0x4
- ldrne r1, [r4, #0x0]
- orrne r1, r1, #0x2
- strne r1, [r4, #0x0]
- bne _020BA820
- ldrsh r1, [r0, #0x0]
- strh r1, [r4, #0x20]
- ldrsh r1, [r0, #0x2]
- add r0, r0, #0x4
- strh r1, [r4, #0x22]
-_020BA820:
- ldrh r1, [r7, #0x1e]
- ands r1, r1, #0x8
- ldreq r1, [r0, #0x0]
- streq r1, [r4, #0x24]
- ldreq r0, [r0, #0x4]
- streq r0, [r4, #0x28]
- ldrne r0, [r4, #0x0]
- orrne r0, r0, #0x4
- strne r0, [r4, #0x0]
- ldr r0, [r4, #0x0]
- orr r0, r0, #0x8
- str r0, [r4, #0x0]
-_020BA850:
- ldr r0, [r8, #0x4]
- ldr r1, [r0, #0x8]
- cmp r1, #0x0
- beq _020BA890
- mov r2, r6, lsr #0x5
- add r2, r0, r2, lsl #0x2
- and r3, r6, #0x1f
- mov r12, #0x1
- mov r3, r12, lsl r3
- ldr r2, [r2, #0x3c]
- ands r2, r3, r2
- beq _020BA890
- ldr r3, [r0, #0xc]
- mov r0, r4
- mov r2, r6
- blx r3
-_020BA890:
- ldr r0, [r4, #0x0]
- ands r0, r0, #0x18
- beq _020BA8BC
- ldrh r0, [r7, #0x20]
- strh r0, [r4, #0x2c]
- ldrh r0, [r7, #0x22]
- strh r0, [r4, #0x2e]
- ldr r0, [r7, #0x24]
- str r0, [r4, #0x30]
- ldr r0, [r7, #0x28]
- str r0, [r4, #0x34]
-_020BA8BC:
- str r4, [r8, #0xb0]
-_020BA8C0:
- cmp r5, #0x2
- bne _020BA8FC
- ldr r1, [r8, #0x8]
- mov r0, r8
- bic r1, r1, #0x40
- str r1, [r8, #0x8]
- ldr r1, [r8, #0x1c]
- blx r1
- ldr r0, [r8, #0x1c]
- cmp r0, #0x0
- ldrneb r5, [r8, #0x90]
- ldr r0, [r8, #0x8]
- moveq r5, #0x0
- and r0, r0, #0x40
- b _020BA900
-_020BA8FC:
- mov r0, #0x0
-_020BA900:
- cmp r0, #0x0
- bne _020BA9AC
- ldr r4, [r8, #0xb0]
- ldr r1, [r4, #0xc]
- ands r0, r1, #0x1f0000
- beq _020BA9A0
- ldr r0, [r4, #0x0]
- ands r0, r0, #0x20
- bicne r0, r1, #0x1f0000
- strne r0, [r4, #0xc]
- ldr r0, [r8, #0x8]
- bic r0, r0, #0x2
- str r0, [r8, #0x8]
- ldr r0, [r8, #0x8]
- ands r0, r0, #0x100
- bne _020BA9AC
- ldr r0, _020BA9E4 ; =0x00293130
- ldr r3, _020BA9E8 ; =0x00002B2A
- str r0, [sp, #0x0]
- ldr r2, [r4, #0x4]
- add r1, sp, #0x4
- str r2, [sp, #0x4]
- ldr r6, [r4, #0x8]
- mov r2, #0x6
- str r6, [sp, #0x8]
- ldr r6, [r4, #0xc]
- str r6, [sp, #0xc]
- str r3, [sp, #0x10]
- ldr r3, [r4, #0x10]
- str r3, [sp, #0x14]
- ldr r3, [r4, #0x14]
- str r3, [sp, #0x18]
- bl FUN_020BB1C0
-_020BA984: ; 0x020BA984
- ldr r0, [r4, #0x0]
- ands r0, r0, #0x18
- beq _020BA9AC
- ldr r1, [r8, #0xf0]
- mov r0, r4
- blx r1
- b _020BA9AC
-_020BA9A0:
- ldr r0, [r8, #0x8]
- orr r0, r0, #0x2
- str r0, [r8, #0x8]
-_020BA9AC:
- cmp r5, #0x3
- addne sp, sp, #0x20
- ldmneia sp!, {r4-r8,pc}
-_020BA9B8: ; 0x020BA9B8
- ldr r1, [r8, #0x8]
- mov r0, r8
- bic r1, r1, #0x40
- str r1, [r8, #0x8]
- ldr r1, [r8, #0x1c]
- blx r1
- add sp, sp, #0x20
- ldmia sp!, {r4-r8,pc}
- .balign 4
-_020BA9D8: .word 0x021CEF80
-_020BA9DC: .word 0x021CED18
-_020BA9E0: .word 0x020FF9D0
-_020BA9E4: .word 0x00293130
-_020BA9E8: .word 0x00002B2A
-
- arm_func_start FUN_020BA9EC
-FUN_020BA9EC: ; 0x020BA9EC
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r5, r0
- ldr r1, [r5, #0x8]
- ands r0, r1, #0x200
- bne _020BAAAC
- ands r0, r1, #0x1
- beq _020BAAAC
- ldr r0, [r5, #0x18]
- cmp r0, #0x0
- ldrneb r4, [r5, #0x8f]
- moveq r4, #0x0
- cmp r4, #0x1
- bne _020BAA58
- ldr r1, [r5, #0x8]
- mov r0, r5
- bic r1, r1, #0x40
- str r1, [r5, #0x8]
- ldr r1, [r5, #0x18]
- blx r1
- ldr r0, [r5, #0x18]
- cmp r0, #0x0
- ldrneb r4, [r5, #0x8f]
- ldr r0, [r5, #0x8]
- moveq r4, #0x0
- and r0, r0, #0x40
- b _020BAA5C
-_020BAA58:
- mov r0, #0x0
-_020BAA5C:
- cmp r0, #0x0
- bne _020BAA8C
- ldr r0, [r5, #0x0]
- ldrb r0, [r0, #0x1]
- str r0, [sp, #0x0]
- ldr r0, [r5, #0x8]
- ands r0, r0, #0x100
- bne _020BAA8C
- add r1, sp, #0x0
- mov r0, #0x14
- mov r2, #0x1
- bl FUN_020BB1C0
-_020BAA8C:
- cmp r4, #0x3
- bne _020BAAAC
- ldr r1, [r5, #0x8]
- mov r0, r5
- bic r1, r1, #0x40
- str r1, [r5, #0x8]
- ldr r1, [r5, #0x18]
- blx r1
-_020BAAAC:
- ldr r0, [r5, #0x0]
- add r0, r0, #0x2
- str r0, [r5, #0x0]
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,pc}
-
- arm_func_start FUN_020BAAC0
-FUN_020BAAC0: ; 0x020BAAC0
- stmdb sp!, {r4-r6,lr}
- mov r6, r0
- ldr r0, [r6, #0x8]
- ands r0, r0, #0x200
- bne _020BAC38
- ldr r1, [r6, #0x0]
- add r0, r6, #0x184
- ldrb r1, [r1, #0x1]
- strb r1, [r6, #0xac]
- ldr r1, [r6, #0x8]
- ldrb r4, [r6, #0xac]
- orr r1, r1, #0x4
- str r1, [r6, #0x8]
- str r0, [r6, #0xb8]
- ldr r0, [r6, #0x14]
- cmp r0, #0x0
- ldrneb r5, [r6, #0x8e]
- moveq r5, #0x0
- cmp r5, #0x1
- bne _020BAB44
- ldr r1, [r6, #0x8]
- mov r0, r6
- bic r1, r1, #0x40
- str r1, [r6, #0x8]
- ldr r1, [r6, #0x14]
- blx r1
- ldr r0, [r6, #0x14]
- cmp r0, #0x0
- ldrneb r5, [r6, #0x8e]
- ldr r0, [r6, #0x8]
- moveq r5, #0x0
- and r0, r0, #0x40
- b _020BAB48
-_020BAB44:
- mov r0, #0x0
-_020BAB48:
- cmp r0, #0x0
- bne _020BABAC
- ldr r12, [r6, #0x4]
- ldr r1, [r12, #0x18]
- cmp r1, #0x0
- beq _020BAB98
- mov r0, r4, lsr #0x5
- add r0, r12, r0, lsl #0x2
- and r2, r4, #0x1f
- mov r3, #0x1
- mov r2, r3, lsl r2
- ldr r0, [r0, #0x4c]
- ands r0, r2, r0
- beq _020BAB98
- ldr r0, [r6, #0xb8]
- ldr r3, [r12, #0x1c]
- mov r2, r4
- blx r3
- cmp r0, #0x0
- bne _020BABAC
-_020BAB98:
- ldr r1, [r6, #0x0]
- ldr r0, [r6, #0xb8]
- ldrb r1, [r1, #0x2]
- and r1, r1, #0x1
- str r1, [r0, #0x0]
-_020BABAC:
- cmp r5, #0x2
- bne _020BABE8
- ldr r1, [r6, #0x8]
- mov r0, r6
- bic r1, r1, #0x40
- str r1, [r6, #0x8]
- ldr r1, [r6, #0x14]
- blx r1
- ldr r0, [r6, #0x14]
- cmp r0, #0x0
- ldrneb r5, [r6, #0x8e]
- ldr r0, [r6, #0x8]
- moveq r5, #0x0
- and r0, r0, #0x40
- b _020BABEC
-_020BABE8:
- mov r0, #0x0
-_020BABEC:
- cmp r0, #0x0
- bne _020BAC18
- ldr r0, [r6, #0xb8]
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- ldrne r0, [r6, #0x8]
- orrne r0, r0, #0x1
- strne r0, [r6, #0x8]
- ldreq r0, [r6, #0x8]
- biceq r0, r0, #0x1
- streq r0, [r6, #0x8]
-_020BAC18:
- cmp r5, #0x3
- bne _020BAC38
- ldr r1, [r6, #0x8]
- mov r0, r6
- bic r1, r1, #0x40
- str r1, [r6, #0x8]
- ldr r1, [r6, #0x14]
- blx r1
-_020BAC38:
- ldr r0, [r6, #0x0]
- add r0, r0, #0x3
- str r0, [r6, #0x0]
- ldmia sp!, {r4-r6,pc}
-
- arm_func_start FUN_020BAC48
-FUN_020BAC48: ; 0x020BAC48
- stmdb sp!, {r4,lr}
- mov r4, r0
- ldr r1, [r4, #0x10]
- cmp r1, #0x0
- beq _020BAC60
- blx r1
-_020BAC60:
- ldr r0, [r4, #0x8]
- orr r0, r0, #0x20
- str r0, [r4, #0x8]
- ldmia sp!, {r4,pc}
-
- arm_func_start FUN_020BAC70
-FUN_020BAC70: ; 0x020BAC70
- stmdb sp!, {r4,lr}
- mov r4, r0
- ldr r1, [r4, #0xc]
- cmp r1, #0x0
- beq _020BAC88
- blx r1
-_020BAC88:
- ldr r0, [r4, #0x0]
- add r0, r0, #0x1
- str r0, [r4, #0x0]
- ldmia sp!, {r4,pc}
-
- arm_func_start FUN_020BAC98
-FUN_020BAC98: ; 0x020BAC98
- stmdb sp!, {r4,lr}
- sub sp, sp, #0x188
- mov r4, r0
- ldr r0, [r4, #0x0]
- and r0, r0, #0x10
- cmp r0, #0x10
- bne _020BAD2C
- add r1, r4, #0x3c
- mov r0, #0x0
- mov r2, #0x8
- bl MIi_CpuClear32
- add r1, r4, #0x44
- mov r0, #0x0
- mov r2, #0x8
- bl MIi_CpuClear32
- add r1, r4, #0x4c
- mov r0, #0x0
- mov r2, #0x8
- bl MIi_CpuClear32
- ldr r1, [r4, #0x8]
- cmp r1, #0x0
- beq _020BACF8
- add r0, r4, #0x3c
- bl FUN_020BAD74
-_020BACF8:
- ldr r1, [r4, #0x10]
- cmp r1, #0x0
- beq _020BAD0C
- add r0, r4, #0x44
- bl FUN_020BAD74
-_020BAD0C:
- ldr r1, [r4, #0x18]
- cmp r1, #0x0
- beq _020BAD20
- add r0, r4, #0x4c
- bl FUN_020BAD74
-_020BAD20:
- ldr r0, [r4, #0x0]
- bic r0, r0, #0x10
- str r0, [r4, #0x0]
-_020BAD2C:
- ldr r2, _020BAD70 ; =0x021CEF7C
- ldr r0, [r2, #0x0]
- cmp r0, #0x0
- beq _020BAD4C
- mov r1, r4
- bl FUN_020BADE4
- add sp, sp, #0x188
- ldmia sp!, {r4,pc}
-_020BAD4C:
- add r0, sp, #0x0
- mov r1, r4
- str r0, [r2, #0x0]
- bl FUN_020BADE4
- ldr r0, _020BAD70 ; =0x021CEF7C
- mov r1, #0x0
- str r1, [r0, #0x0]
- add sp, sp, #0x188
- ldmia sp!, {r4,pc}
- .balign 4
-_020BAD70: .word 0x021CEF7C
-
- arm_func_start FUN_020BAD74
-FUN_020BAD74:
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- cmp r1, #0x0
- addeq sp, sp, #0x4
- ldmeqia sp!, {r4-r5,pc}
-_020BAD88: ; 0x020BAD88
- mov r3, #0x1
- mov r4, #0x0
-_020BAD90:
- ldrb r2, [r1, #0x19]
- mov r5, r4
- cmp r2, #0x0
- ble _020BADD0
-_020BADA0:
- add r2, r1, r5, lsl #0x1
- ldrh r2, [r2, #0x1a]
- ands r2, r2, #0x100
- movne lr, r5, asr #0x5
- andne r2, r5, #0x1f
- ldrne r12, [r0, lr, lsl #0x2]
- add r5, r5, #0x1
- orrne r2, r12, r3, lsl r2
- strne r2, [r0, lr, lsl #0x2]
- ldrb r2, [r1, #0x19]
- cmp r5, r2
- blt _020BADA0
-_020BADD0:
- ldr r1, [r1, #0x10]
- cmp r1, #0x0
- bne _020BAD90
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,pc}
-
- arm_func_start FUN_020BADE4
-FUN_020BADE4: ; 0x020BADE4
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r5, r0
- mov r4, r1
- mov r1, r5
- mov r0, #0x0
- mov r2, #0x188
- bl MIi_CpuClearFast
- mov r0, #0x1
- str r0, [r5, #0xc4]
- str r0, [r5, #0x8]
- ldr r0, [r4, #0x30]
- ldr r2, _020BAF60 ; =0x02106614
- cmp r0, #0x0
- strne r0, [r5, #0x0]
- ldreq r1, [r4, #0x4]
- ldreq r0, [r1, #0x4]
- addeq r0, r1, r0
- streq r0, [r5, #0x0]
- str r4, [r5, #0x4]
- ldr r0, [r4, #0x4]
- ldr r1, _020BAF64 ; =0x02106608
- add r0, r0, #0x40
- str r0, [r5, #0xd4]
- ldr r12, [r4, #0x4]
- ldr r0, _020BAF68 ; =0x02106620
- ldr r3, [r12, #0x8]
- add r3, r12, r3
- str r3, [r5, #0xd8]
- ldr r12, [r4, #0x4]
- ldr r3, [r12, #0xc]
- add r3, r12, r3
- str r3, [r5, #0xdc]
- ldr r3, [r4, #0x4]
- ldrb r3, [r3, #0x15]
- ldr r2, [r2, r3, lsl #0x2]
- str r2, [r5, #0xe8]
- ldr r2, [r4, #0x4]
- ldrb r2, [r2, #0x15]
- ldr r1, [r1, r2, lsl #0x2]
- str r1, [r5, #0xec]
- ldr r1, [r4, #0x4]
- ldrb r1, [r1, #0x16]
- ldr r0, [r0, r1, lsl #0x2]
- str r0, [r5, #0xf0]
- ldr r0, [r4, #0x4]
- ldr r0, [r0, #0x1c]
- str r0, [r5, #0xe0]
- ldr r0, [r4, #0x4]
- ldr r0, [r0, #0x20]
- str r0, [r5, #0xe4]
- ldr r1, [r4, #0x20]
- cmp r1, #0x0
- beq _020BAEE0
- ldrb r0, [r4, #0x24]
- cmp r0, #0x20
- bhs _020BAEE0
- add r0, r5, r0, lsl #0x2
- str r1, [r0, #0xc]
- ldrb r0, [r4, #0x24]
- ldrb r1, [r4, #0x25]
- add r0, r5, r0
- strb r1, [r0, #0x8c]
-_020BAEE0:
- ldr r0, [r4, #0x0]
- ands r0, r0, #0x1
- ldrne r0, [r5, #0x8]
- orrne r0, r0, #0x80
- strne r0, [r5, #0x8]
- ldr r0, [r4, #0x0]
- ands r0, r0, #0x2
- ldrne r0, [r5, #0x8]
- orrne r0, r0, #0x100
- strne r0, [r5, #0x8]
- ldr r0, [r4, #0x0]
- ands r0, r0, #0x4
- ldrne r0, [r5, #0x8]
- orrne r0, r0, #0x200
- strne r0, [r5, #0x8]
- ldr r0, [r4, #0x0]
- ands r0, r0, #0x8
- ldrne r0, [r5, #0x8]
- orrne r0, r0, #0x400
- strne r0, [r5, #0x8]
- ldr r1, [r4, #0x28]
- cmp r1, #0x0
- beq _020BAF44
- mov r0, r5
- blx r1
-_020BAF44:
- mov r0, r5
- bl FUN_020BAF6C
-_020BAF4C: ; 0x020BAF4C
- ldr r0, [r4, #0x0]
- bic r0, r0, #0x1
- str r0, [r4, #0x0]
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,pc}
- .balign 4
-_020BAF60: .word 0x02106614
-_020BAF64: .word 0x02106608
-_020BAF68: .word 0x02106620
-
- arm_func_start FUN_020BAF6C
-FUN_020BAF6C:
- stmdb sp!, {r4-r6,lr}
- mov r5, r0
- ldr r6, _020BAFB4 ; =0x02106730
- add r4, r5, #0x8
-_020BAF7C:
- ldr r1, [r4, #0x0]
- mov r0, r5
- bic r1, r1, #0x40
- str r1, [r4, #0x0]
- ldr r1, [r5, #0x0]
- ldrb r3, [r1, #0x0]
- and r1, r3, #0x1f
- ldr r2, [r6, r1, lsl #0x2]
- and r1, r3, #0xe0
- blx r2
- ldr r0, [r5, #0x8]
- ands r0, r0, #0x20
- beq _020BAF7C
- ldmia sp!, {r4-r6,pc}
- .balign 4
-_020BAFB4: .word 0x02106730
-
- arm_func_start FUN_020BAFB8
-FUN_020BAFB8: ; 0x020BAFB8
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x6c
- mov r6, r0
- ldr r12, [r6, #0x1c]
- mov r4, r1
- mov r5, r2
- mov r7, r3
- cmp r12, #0x1000
- beq _020BAFF8
- add r1, sp, #0x54
- mov r0, #0x1b
- mov r2, #0x3
- str r12, [sp, #0x54]
- str r12, [sp, #0x58]
- str r12, [sp, #0x5c]
- bl FUN_020BB1C0
-_020BAFF8:
- cmp r7, #0x0
- beq _020BB150
- ldr r0, [r6, #0x8]
- add r3, r6, r0
- ldrh r0, [r3, #0xa]
- add r2, r3, #0x4
- ldrh r1, [r2, r0]
- add r0, r2, r0
- mla r0, r1, r4, r0
- ldr r0, [r0, #0x4]
- add r4, r3, r0
- ldr r0, [r4, #0xc]
- ands r0, r0, #0x1f0000
- addeq sp, sp, #0x6c
- ldmeqia sp!, {r4-r7,pc}
-_020BB034: ; 0x020BB034
- ldr r0, _020BB1B4 ; =0x00293130
- str r0, [sp, #0x0]
- ldr r0, [r4, #0x4]
- str r0, [sp, #0x4]
- ldr r0, [r4, #0x8]
- str r0, [sp, #0x8]
- ldr r1, [r4, #0xc]
- str r1, [sp, #0xc]
- ldrh r0, [r4, #0x1e]
- ands r0, r0, #0x20
- bicne r0, r1, #0x1f0000
- ldr r1, _020BB1B8 ; =0x00002B2A
- strne r0, [sp, #0xc]
- str r1, [sp, #0x10]
- ldr r2, [r4, #0x14]
- ldr r0, [sp, #0x0]
- str r2, [sp, #0x14]
- ldrh r3, [r4, #0x1c]
- add r1, sp, #0x4
- mov r2, #0x6
- str r3, [sp, #0x18]
- bl FUN_020BB1C0
- ldrh r0, [r4, #0x1e]
- ands r0, r0, #0x1
- beq _020BB150
- ldrb r12, [r6, #0x16]
- mov r3, #0x8
- ldr r1, _020BB1BC ; =0x02106620
- str r3, [sp, #0x1c]
- ldrh r2, [r4, #0x20]
- add r0, r4, #0x2c
- ldr r1, [r1, r12, lsl #0x2]
- strh r2, [sp, #0x48]
- ldrh r2, [r4, #0x22]
- strh r2, [sp, #0x4a]
- ldr r2, [r4, #0x24]
- str r2, [sp, #0x4c]
- ldr r2, [r4, #0x28]
- str r2, [sp, #0x50]
- ldrh r2, [r4, #0x1e]
- ands r2, r2, #0x2
- orrne r2, r3, #0x1
- strne r2, [sp, #0x1c]
- bne _020BB0F8
- ldr r2, [r0, #0x0]
- str r2, [sp, #0x34]
- ldr r2, [r0, #0x4]
- add r0, r0, #0x8
- str r2, [sp, #0x38]
-_020BB0F8:
- ldrh r2, [r4, #0x1e]
- ands r2, r2, #0x4
- ldrne r2, [sp, #0x1c]
- orrne r2, r2, #0x2
- strne r2, [sp, #0x1c]
- bne _020BB124
- ldrsh r2, [r0, #0x0]
- strh r2, [sp, #0x3c]
- ldrsh r2, [r0, #0x2]
- add r0, r0, #0x4
- strh r2, [sp, #0x3e]
-_020BB124:
- ldrh r2, [r4, #0x1e]
- ands r2, r2, #0x8
- ldreq r2, [r0, #0x0]
- streq r2, [sp, #0x40]
- ldreq r0, [r0, #0x4]
- streq r0, [sp, #0x44]
- ldrne r0, [sp, #0x1c]
- orrne r0, r0, #0x4
- strne r0, [sp, #0x1c]
- add r0, sp, #0x1c
- blx r1
-_020BB150:
- ldr r0, [r6, #0xc]
- add r2, r6, r0
- ldrh r0, [r2, #0x6]
- ldrh r1, [r2, r0]
- add r0, r2, r0
- mla r0, r1, r5, r0
- ldr r0, [r0, #0x4]
- add r2, r2, r0
- ldr r0, [r2, #0x8]
- ldr r1, [r2, #0xc]
- add r0, r2, r0
- bl FUN_020BB2B0
- ldr r3, [r6, #0x20]
- cmp r3, #0x1000
- addeq sp, sp, #0x6c
- ldmeqia sp!, {r4-r7,pc}
-_020BB190: ; 0x020BB190
- add r1, sp, #0x60
- mov r0, #0x1b
- mov r2, #0x3
- str r3, [sp, #0x60]
- str r3, [sp, #0x64]
- str r3, [sp, #0x68]
- bl FUN_020BB1C0
- add sp, sp, #0x6c
- ldmia sp!, {r4-r7,pc}
- .balign 4
-_020BB1B4: .word 0x00293130
-_020BB1B8: .word 0x00002B2A
-_020BB1BC: .word 0x02106620
-
- arm_func_start FUN_020BB1C0
-FUN_020BB1C0:
- stmdb sp!, {r4-r6,lr}
- ldr r3, _020BB2A4 ; =0x021D1C80
- mov r6, r0
- ldr r12, [r3, #0x0]
- mov r5, r1
- mov r4, r2
- cmp r12, #0x0
- beq _020BB278
- ldr r0, _020BB2A8 ; =0x021D1C84
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- beq _020BB24C
- ldr r2, [r12, #0x0]
- add r0, r2, #0x1
- add r1, r0, r4
- cmp r1, #0xc0
- bhi _020BB24C
- str r0, [r12, #0x0]
- ldr r0, [r3, #0x0]
- cmp r4, #0x0
- add r0, r0, r2, lsl #0x2
- str r6, [r0, #0x4]
- ldmeqia sp!, {r4-r6,pc}
-_020BB21C: ; 0x020BB21C
- ldr r2, [r3, #0x0]
- mov r0, r5
- ldr r1, [r2], #0x4
- add r1, r2, r1, lsl #0x2
- mov r2, r4, lsl #0x2
- bl MIi_CpuCopyFast
- ldr r0, _020BB2A4 ; =0x021D1C80
- ldr r1, [r0, #0x0]
- ldr r0, [r1, #0x0]
- add r0, r0, r4
- str r0, [r1, #0x0]
- ldmia sp!, {r4-r6,pc}
-_020BB24C:
- ldr r0, [r12, #0x0]
- cmp r0, #0x0
- beq _020BB260
- bl FUN_020BB394
- b _020BB28C
-_020BB260:
- ldr r0, _020BB2A8 ; =0x021D1C84
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- beq _020BB28C
- bl FUN_020BB37C
- b _020BB28C
-_020BB278:
- ldr r0, _020BB2A8 ; =0x021D1C84
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- beq _020BB28C
- bl FUN_020BB37C
-_020BB28C:
- ldr r1, _020BB2AC ; =0x04000400
- mov r0, r5
- mov r2, r4, lsl #0x2
- str r6, [r1, #0x0]
- bl MIi_CpuSend32
- ldmia sp!, {r4-r6,pc}
- .balign 4
-_020BB2A4: .word 0x021D1C80
-_020BB2A8: .word 0x021D1C84
-_020BB2AC: .word 0x04000400
-
- arm_func_start FUN_020BB2B0
-FUN_020BB2B0: ; 0x020BB2B0
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r4, r1
- mov r5, r0
- cmp r4, #0x100
- blo _020BB2DC
- ldr r1, _020BB360 ; =0x02106814
- mvn r0, #0x0
- ldr r1, [r1, #0x0]
- cmp r1, r0
- bne _020BB2F8
-_020BB2DC:
- mov r2, r4, lsr #0x2
- ldr r0, [r5, #0x0]
- add r1, r5, #0x4
- sub r2, r2, #0x1
- bl FUN_020BB1C0
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,pc}
-_020BB2F8:
- bl FUN_020BB394
- ldr r0, _020BB364 ; =0x021D1C88
- ldr r1, _020BB368 ; =0x021D1C84
- ldr r0, [r0, #0x0]
- mov r2, #0x1
- str r2, [r1, #0x0]
- cmp r0, #0x0
- beq _020BB33C
- ldr r0, _020BB360 ; =0x02106814
- str r1, [sp, #0x0]
- ldr r0, [r0, #0x0]
- ldr r3, _020BB36C ; =FUN_020BB370
- mov r1, r5
- mov r2, r4
- bl MI_SendGXCommandAsyncFast
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,pc}
-_020BB33C:
- ldr r0, _020BB360 ; =0x02106814
- str r1, [sp, #0x0]
- ldr r0, [r0, #0x0]
- ldr r3, _020BB36C ; =FUN_020BB370
- mov r1, r5
- mov r2, r4
- bl MI_SendGXCommandAsync
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,pc}
- .balign 4
-_020BB360: .word 0x02106814
-_020BB364: .word 0x021D1C88
-_020BB368: .word 0x021D1C84
-_020BB36C: .word FUN_020BB370
-
- arm_func_start FUN_020BB370
-FUN_020BB370: ; 0x020BB370
- mov r1, #0x0
- str r1, [r0, #0x0]
- bx lr
-
- arm_func_start FUN_020BB37C
-FUN_020BB37C: ; 0x020BB37C
- ldr r0, _020BB390 ; =0x021D1C84
-_020BB380:
- ldr r1, [r0, #0x0]
- cmp r1, #0x0
- bne _020BB380
- bx lr
- .balign 4
-_020BB390: .word 0x021D1C84
-
- arm_func_start FUN_020BB394
-FUN_020BB394: ; 0x020BB394
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r0, _020BB3FC ; =0x021D1C84
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- beq _020BB3B0
- bl FUN_020BB37C
-_020BB3B0:
- ldr r0, _020BB400 ; =0x021D1C80
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- addeq sp, sp, #0x4
- ldmeqia sp!, {pc}
- ldr r2, [r0, #0x0]
- cmp r2, #0x0
- addeq sp, sp, #0x4
- ldmeqia sp!, {pc}
- ldr r1, _020BB404 ; =0x04000400
- add r0, r0, #0x4
- mov r2, r2, lsl #0x2
- bl MIi_CpuSend32
- ldr r0, _020BB400 ; =0x021D1C80
- mov r1, #0x0
- ldr r0, [r0, #0x0]
- str r1, [r0, #0x0]
- add sp, sp, #0x4
- ldmia sp!, {pc}
- .balign 4
-_020BB3FC: .word 0x021D1C84
-_020BB400: .word 0x021D1C80
-_020BB404: .word 0x04000400
-
- arm_func_start FUN_020BB408
-FUN_020BB408: ; 0x020BB408
- stmdb sp!, {r4-r9,lr}
- sub sp, sp, #0x1c
- mov r5, r1
- mov r4, r2
- ldr r6, _020BB594 ; =0x021CED20
- ldr r1, _020BB598 ; =0x021CED64
- add r2, sp, #0x10
- bl MTX_MultVec43
- ldr r1, [sp, #0x14]
- ldr r0, [r6, #0x1c]
- ldr r2, [sp, #0x10]
- smull r8, r7, r1, r0
- ldr r0, [r6, #0xc]
- ldr r3, [sp, #0x18]
- smlal r8, r7, r2, r0
- ldr r1, [r6, #0x2c]
- ldr r0, [r6, #0x3c]
- smlal r8, r7, r3, r1
- mov r1, r8, lsr #0xc
- orr r1, r1, r7, lsl #0x14
- add r0, r1, r0
- bl FX_InvAsync
- ldr r2, [sp, #0x14]
- ldr r1, [r6, #0x10]
- ldr r0, [r6, #0x14]
- smull lr, r8, r2, r1
- smull r12, r9, r2, r0
- ldr r1, [sp, #0x10]
- ldr r3, [r6, #0x0]
- ldr r0, [sp, #0x18]
- smlal lr, r8, r1, r3
- ldr r7, [r6, #0x20]
- ldr r2, [r6, #0x30]
- smlal lr, r8, r0, r7
- mov r3, lr, lsr #0xc
- orr r3, r3, r8, lsl #0x14
- add r7, r3, r2
- ldr r3, [r6, #0x4]
- ldr r8, [r6, #0x24]
- smlal r12, r9, r1, r3
- smlal r12, r9, r0, r8
- mov r0, r12, lsr #0xc
- ldr r2, [r6, #0x34]
- orr r0, r0, r9, lsl #0x14
- add r6, r0, r2
- bl FX_GetDivResultFx64c
- mov r2, r7, asr #0x1f
- umull r9, lr, r0, r7
- mla lr, r0, r2, lr
- mov r3, #0x80000000
- mla lr, r1, r7, lr
- adds r9, r9, r3
- adc r2, lr, #0x0
- add r2, r2, #0x1000
- add r2, r2, r2, lsr #0x1f
- mov r7, r2, asr #0x1
- umull lr, r2, r0, r6
- mov r12, r6, asr #0x1f
- mla r2, r0, r12, r2
- mla r2, r1, r6, r2
- adds r3, lr, r3
- adc r0, r2, #0x0
- add r0, r0, #0x1000
- add r0, r0, r0, lsr #0x1f
- mov r8, #0x0
- mov r6, r0, asr #0x1
- cmp r7, #0x0
- blt _020BB530
- cmp r6, #0x0
- blt _020BB530
- cmp r7, #0x1000
- bgt _020BB530
- cmp r6, #0x1000
- ble _020BB534
-_020BB530:
- mvn r8, #0x0
-_020BB534:
- add r0, sp, #0x0
- add r1, sp, #0x4
- add r2, sp, #0x8
- add r3, sp, #0xc
- bl FUN_020B8200
- ldr r2, [sp, #0x0]
- ldr r0, [sp, #0x8]
- ldr r12, [sp, #0xc]
- sub r0, r0, r2
- mul r0, r7, r0
- add r1, r0, #0x800
- ldr r3, [sp, #0x4]
- add r1, r2, r1, asr #0xc
- sub r0, r12, r3
- mul r0, r6, r0
- str r1, [r5, #0x0]
- ldr r1, [sp, #0x4]
- add r0, r0, #0x800
- rsb r1, r1, #0xbf
- sub r1, r1, r0, asr #0xc
- mov r0, r8
- str r1, [r4, #0x0]
- add sp, sp, #0x1c
- ldmia sp!, {r4-r9,pc}
- .balign 4
-_020BB594: .word 0x021CED20
-_020BB598: .word 0x021CED64
-
- arm_func_start FUN_020BB59C
-FUN_020BB59C: ; 0x020BB59C
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0x4
- mov r5, r0
- ldr r1, [r5, #0x0]
- ldr r0, _020BB7C8 ; =0x30415642
- cmp r1, r0
- bhi _020BB5F4
- cmp r1, r0
- bhs _020BB7B0
- ldr r0, _020BB7CC ; =0x30414D42
- cmp r1, r0
- bhi _020BB5E4
- cmp r1, r0
- bhs _020BB7B0
- ldr r0, _020BB7D0 ; =0x30414342
- cmp r1, r0
- beq _020BB7B0
- b _020BB7BC
-_020BB5E4:
- ldr r0, _020BB7D4 ; =0x30415442
- cmp r1, r0
- beq _020BB7B0
- b _020BB7BC
-_020BB5F4:
- ldr r0, _020BB7D8 ; =0x30505442
- cmp r1, r0
- bhi _020BB618
- cmp r1, r0
- bhs _020BB7B0
- ldr r0, _020BB7DC ; =0x30444D42
- cmp r1, r0
- beq _020BB624
- b _020BB7BC
-_020BB618:
- ldr r0, _020BB7E0 ; =0x30585442
- cmp r1, r0
- bne _020BB7BC
-_020BB624:
- mov r11, #0x1
- mov r0, r5
- mov r9, r11
- mov r8, r11
- bl FUN_020BC0FC
- movs r4, r0
- beq _020BB77C
- bl FUN_020B7E1C
- mov r7, r0
- mov r0, r4
- bl FUN_020B7E10
- mov r6, r0
- mov r0, r4
- bl FUN_020B7CE4
- mov r10, r0
- cmp r7, #0x0
- beq _020BB68C
- ldr r0, _020BB7E4 ; =0x021064B8
- mov r1, #0x0
- ldr r3, [r0, #0x0]
- mov r0, r7
- mov r2, r1
- blx r3
- movs r7, r0
- moveq r11, #0x0
- b _020BB690
-_020BB68C:
- mov r7, #0x0
-_020BB690:
- cmp r6, #0x0
- beq _020BB6BC
- ldr r1, _020BB7E4 ; =0x021064B8
- mov r0, r6
- ldr r3, [r1, #0x0]
- mov r1, #0x1
- mov r2, #0x0
- blx r3
- movs r6, r0
- moveq r9, #0x0
- b _020BB6C0
-_020BB6BC:
- mov r6, #0x0
-_020BB6C0:
- cmp r10, #0x0
- beq _020BB6F0
- ldr r1, _020BB7E8 ; =0x021064C0
- ldrh r2, [r4, #0x20]
- ldr r3, [r1, #0x0]
- mov r0, r10
- and r1, r2, #0x8000
- mov r2, #0x0
- blx r3
- movs r10, r0
- moveq r8, #0x0
- b _020BB6F4
-_020BB6F0:
- mov r10, #0x0
-_020BB6F4:
- cmp r11, #0x0
- beq _020BB70C
- cmp r9, #0x0
- beq _020BB70C
- cmp r8, #0x0
- bne _020BB748
-_020BB70C:
- ldr r1, _020BB7EC ; =0x021064C4
- mov r0, r10
- ldr r1, [r1, #0x0]
- blx r1
- ldr r1, _020BB7F0 ; =0x021064BC
- mov r0, r6
- ldr r1, [r1, #0x0]
- blx r1
- ldr r1, _020BB7F0 ; =0x021064BC
- mov r0, r7
- ldr r1, [r1, #0x0]
- blx r1
- add sp, sp, #0x4
- mov r0, #0x0
- ldmia sp!, {r4-r11,pc}
-_020BB748:
- mov r0, r4
- mov r1, r7
- mov r2, r6
- bl FUN_020B7DFC
- mov r0, r4
- mov r1, r10
- bl FUN_020B7CDC
- mov r0, r4
- mov r1, #0x1
- bl FUN_020B7D28
- mov r0, r4
- mov r1, #0x1
- bl FUN_020B7C78
-_020BB77C:
- ldr r1, [r5, #0x0]
- ldr r0, _020BB7DC ; =0x30444D42
- cmp r1, r0
- bne _020BB7A4
- mov r0, r5
- bl FUN_020BC13C
-_020BB794: ; 0x020BB794
- cmp r4, #0x0
- beq _020BB7A4
- mov r1, r4
- bl FUN_020B7790
-_020BB7A4:
- add sp, sp, #0x4
- mov r0, #0x1
- ldmia sp!, {r4-r11,pc}
-_020BB7B0:
- add sp, sp, #0x4
- mov r0, #0x1
- ldmia sp!, {r4-r11,pc}
-_020BB7BC:
- mov r0, #0x0
- add sp, sp, #0x4
- ldmia sp!, {r4-r11,pc}
- .balign 4
-_020BB7C8: .word 0x30415642
-_020BB7CC: .word 0x30414D42
-_020BB7D0: .word 0x30414342
-_020BB7D4: .word 0x30415442
-_020BB7D8: .word 0x30505442
-_020BB7DC: .word 0x30444D42
-_020BB7E0: .word 0x30585442
-_020BB7E4: .word 0x021064B8
-_020BB7E8: .word 0x021064C0
-_020BB7EC: .word 0x021064C4
-_020BB7F0: .word 0x021064BC
-
- arm_func_start FUN_020BB7F4
-FUN_020BB7F4: ; 0x020BB7F4
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- bl G3X_Init
- bl FUN_020B84D8
- ldr r1, _020BB820 ; =0x04000600
- ldr r0, [r1, #0x0]
- bic r0, r0, #0xc0000000
- orr r0, r0, #0x80000000
- str r0, [r1, #0x0]
- add sp, sp, #0x4
- ldmia sp!, {pc}
- .balign 4
-_020BB820: .word 0x04000600
-
- arm_func_start FUN_020BB824
-FUN_020BB824: ; 0x020BB824
- stmdb sp!, {r4-r6,lr}
- sub sp, sp, #0x40
- mov r6, r0
- mov r5, r1
- bl FUN_020BB394
- ldr r0, _020BB8B4 ; =0x04000440
- mov r2, #0x0
- ldr r1, _020BB8B8 ; =0x04000444
- str r2, [r0, #0x0]
- ldr r0, _020BB8BC ; =0x04000454
- str r2, [r1, #0x0]
- str r2, [r0, #0x0]
- cmp r6, #0x0
- beq _020BB87C
- add r4, sp, #0x0
-_020BB860:
- mov r0, r4
- bl G3X_GetClipMtx
-_020BB868: ; 0x020BB868
- cmp r0, #0x0
- bne _020BB860
- add r0, sp, #0x0
- mov r1, r6
- bl MTX_Copy44To43_
-_020BB87C:
- cmp r5, #0x0
- beq _020BB894
-_020BB884:
- mov r0, r5
- bl G3X_GetVectorMtx
-_020BB88C: ; 0x020BB88C
- cmp r0, #0x0
- bne _020BB884
-_020BB894:
- ldr r1, _020BB8C0 ; =0x04000448
- mov r2, #0x1
- ldr r0, _020BB8B4 ; =0x04000440
- str r2, [r1, #0x0]
- mov r1, #0x2
- str r1, [r0, #0x0]
- add sp, sp, #0x40
- ldmia sp!, {r4-r6,pc}
- .balign 4
-_020BB8B4: .word 0x04000440
-_020BB8B8: .word 0x04000444
-_020BB8BC: .word 0x04000454
-_020BB8C0: .word 0x04000448
-
- arm_func_start thunk_FUN_020ae84c
-thunk_FUN_020ae84c: ; 0x020BB8C4
- ldr ip, _020BB8CC ; =FUN_020AE84C
- bx r12
- .balign 4
-_020BB8CC: .word FUN_020AE84C
-
- arm_func_start FUN_020BB8D0
-FUN_020BB8D0: ; 0x020BB8D0
- stmdb sp!, {r4,lr}
- mov r4, r0
- mov r0, r1
- mov r1, r2
- bl FUN_020B81B0
- mov r1, r0
- mov r0, r4
- bl FUN_020AE868
- ldmia sp!, {r4,pc}
-
- arm_func_start FUN_020BB8F4
-FUN_020BB8F4: ; 0x020BB8F4
- stmdb sp!, {r4-r6,lr}
- mov r6, r0
- ldrb r0, [r6, #0x18]
- mov r5, r1
- mov r4, #0x0
- cmp r0, #0x0
- ldmlsia sp!, {r4-r6,pc}
-_020BB910:
- mov r0, r6
- mov r1, r4
- mov r2, r5
- bl FUN_020BBC74
- ldrb r0, [r6, #0x18]
- add r4, r4, #0x1
- cmp r4, r0
- blo _020BB910
- ldmia sp!, {r4-r6,pc}
-
- arm_func_start FUN_020BB934
-FUN_020BB934: ; 0x020BB934
- stmdb sp!, {r4-r6,lr}
- mov r6, r0
- ldrb r0, [r6, #0x18]
- mov r5, r1
- mov r4, #0x0
- cmp r0, #0x0
- ldmlsia sp!, {r4-r6,pc}
-_020BB950:
- mov r0, r6
- mov r1, r4
- mov r2, r5
- bl FUN_020BBCB8
- ldrb r0, [r6, #0x18]
- add r4, r4, #0x1
- cmp r4, r0
- blo _020BB950
- ldmia sp!, {r4-r6,pc}
-
- arm_func_start FUN_020BB974
-FUN_020BB974: ; 0x020BB974
- stmdb sp!, {r4-r6,lr}
- mov r6, r0
- ldrb r0, [r6, #0x18]
- mov r5, r1
- mov r4, #0x0
- cmp r0, #0x0
- ldmlsia sp!, {r4-r6,pc}
-_020BB990:
- mov r0, r6
- mov r1, r4
- mov r2, r5
- bl FUN_020BBCFC
- ldrb r0, [r6, #0x18]
- add r4, r4, #0x1
- cmp r4, r0
- blo _020BB990
- ldmia sp!, {r4-r6,pc}
-
- arm_func_start FUN_020BB9B4
-FUN_020BB9B4: ; 0x020BB9B4
- stmdb sp!, {r4-r6,lr}
- mov r6, r0
- ldrb r0, [r6, #0x18]
- mov r5, r1
- mov r4, #0x0
- cmp r0, #0x0
- ldmlsia sp!, {r4-r6,pc}
-_020BB9D0:
- mov r0, r6
- mov r1, r4
- mov r2, r5
- bl FUN_020BBD40
- ldrb r0, [r6, #0x18]
- add r4, r4, #0x1
- cmp r4, r0
- blo _020BB9D0
- ldmia sp!, {r4-r6,pc}
-
- arm_func_start FUN_020BB9F4
-FUN_020BB9F4: ; 0x020BB9F4
- stmdb sp!, {r4-r6,lr}
- mov r6, r0
- ldrb r0, [r6, #0x18]
- mov r5, r1
- mov r4, #0x0
- cmp r0, #0x0
- ldmlsia sp!, {r4-r6,pc}
-_020BBA10:
- mov r0, r6
- mov r1, r4
- mov r2, r5
- bl FUN_020BBD84
- ldrb r0, [r6, #0x18]
- add r4, r4, #0x1
- cmp r4, r0
- blo _020BBA10
- ldmia sp!, {r4-r6,pc}
-
- arm_func_start FUN_020BBA34
-FUN_020BBA34: ; 0x020BBA34
- stmdb sp!, {r4-r6,lr}
- mov r6, r0
- ldrb r0, [r6, #0x18]
- mov r5, r1
- mov r4, #0x0
- cmp r0, #0x0
- ldmlsia sp!, {r4-r6,pc}
-_020BBA50:
- mov r0, r6
- mov r1, r4
- mov r2, r5
- bl FUN_020BBDC8
- ldrb r0, [r6, #0x18]
- add r4, r4, #0x1
- cmp r4, r0
- blo _020BBA50
- ldmia sp!, {r4-r6,pc}
-
- arm_func_start FUN_020BBA74
-FUN_020BBA74: ; 0x020BBA74
- stmdb sp!, {r4-r6,lr}
- mov r6, r0
- ldrb r0, [r6, #0x18]
- mov r5, r1
- mov r4, #0x0
- cmp r0, #0x0
- ldmlsia sp!, {r4-r6,pc}
-_020BBA90:
- mov r0, r6
- mov r1, r4
- mov r2, r5
- bl FUN_020BBE0C
- ldrb r0, [r6, #0x18]
- add r4, r4, #0x1
- cmp r4, r0
- blo _020BBA90
- ldmia sp!, {r4-r6,pc}
-
- arm_func_start FUN_020BBAB4
-FUN_020BBAB4: ; 0x020BBAB4
- stmdb sp!, {r4-r6,lr}
- mov r6, r0
- ldrb r0, [r6, #0x18]
- mov r5, r1
- mov r4, #0x0
- cmp r0, #0x0
- ldmlsia sp!, {r4-r6,pc}
-_020BBAD0:
- mov r0, r6
- mov r1, r4
- mov r2, r5
- bl FUN_020BBE50
- ldrb r0, [r6, #0x18]
- add r4, r4, #0x1
- cmp r4, r0
- blo _020BBAD0
- ldmia sp!, {r4-r6,pc}
-
- arm_func_start FUN_020BBAF4
-FUN_020BBAF4: ; 0x020BBAF4
- stmdb sp!, {r4-r6,lr}
- mov r6, r0
- ldrb r0, [r6, #0x18]
- mov r5, r1
- mov r4, #0x0
- cmp r0, #0x0
- ldmlsia sp!, {r4-r6,pc}
-_020BBB10:
- mov r0, r6
- mov r1, r4
- mov r2, r5
- bl FUN_020BBE94
- ldrb r0, [r6, #0x18]
- add r4, r4, #0x1
- cmp r4, r0
- blo _020BBB10
- ldmia sp!, {r4-r6,pc}
-
- arm_func_start FUN_020BBB34
-FUN_020BBB34: ; 0x020BBB34
- stmdb sp!, {r4-r6,lr}
- mov r6, r0
- ldrb r0, [r6, #0x18]
- mov r5, r1
- mov r4, #0x0
- cmp r0, #0x0
- ldmlsia sp!, {r4-r6,pc}
-_020BBB50:
- mov r0, r6
- mov r1, r4
- mov r2, r5
- bl FUN_020BBED8
- ldrb r0, [r6, #0x18]
- add r4, r4, #0x1
- cmp r4, r0
- blo _020BBB50
- ldmia sp!, {r4-r6,pc}
-
- arm_func_start FUN_020BBB74
-FUN_020BBB74: ; 0x020BBB74
- stmdb sp!, {r4-r6,lr}
- mov r6, r0
- ldrb r0, [r6, #0x18]
- mov r5, r1
- mov r4, #0x0
- cmp r0, #0x0
- ldmlsia sp!, {r4-r6,pc}
-_020BBB90:
- mov r0, r6
- mov r1, r4
- mov r2, r5
- bl FUN_020BBF1C
- ldrb r0, [r6, #0x18]
- add r4, r4, #0x1
- cmp r4, r0
- blo _020BBB90
- ldmia sp!, {r4-r6,pc}
-
- arm_func_start FUN_020BBBB4
-FUN_020BBBB4: ; 0x020BBBB4
- stmdb sp!, {r4-r6,lr}
- mov r6, r0
- ldrb r0, [r6, #0x18]
- mov r5, r1
- mov r4, #0x0
- cmp r0, #0x0
- ldmlsia sp!, {r4-r6,pc}
-_020BBBD0:
- mov r0, r6
- mov r1, r4
- mov r2, r5
- bl FUN_020BBF60
- ldrb r0, [r6, #0x18]
- add r4, r4, #0x1
- cmp r4, r0
- blo _020BBBD0
- ldmia sp!, {r4-r6,pc}
-
- arm_func_start FUN_020BBBF4
-FUN_020BBBF4: ; 0x020BBBF4
- stmdb sp!, {r4-r6,lr}
- mov r6, r0
- ldrb r0, [r6, #0x18]
- mov r5, r1
- mov r4, #0x0
- cmp r0, #0x0
- ldmlsia sp!, {r4-r6,pc}
-_020BBC10:
- mov r0, r6
- mov r1, r4
- mov r2, r5
- bl FUN_020BBFA4
- ldrb r0, [r6, #0x18]
- add r4, r4, #0x1
- cmp r4, r0
- blo _020BBC10
- ldmia sp!, {r4-r6,pc}
-
- arm_func_start FUN_020BBC34
-FUN_020BBC34: ; 0x020BBC34
- stmdb sp!, {r4-r6,lr}
- mov r6, r0
- ldrb r0, [r6, #0x18]
- mov r5, r1
- mov r4, #0x0
- cmp r0, #0x0
- ldmlsia sp!, {r4-r6,pc}
-_020BBC50:
- mov r0, r6
- mov r1, r4
- mov r2, r5
- bl FUN_020BBFE8
- ldrb r0, [r6, #0x18]
- add r4, r4, #0x1
- cmp r4, r0
- blo _020BBC50
- ldmia sp!, {r4-r6,pc}
-
- arm_func_start FUN_020BBC74
-FUN_020BBC74: ; 0x020BBC74
- ldr r3, [r0, #0x8]
- cmp r2, #0x0
- add r12, r0, r3
- ldrh r0, [r12, #0xa]
- add r3, r12, #0x4
- ldrh r2, [r3, r0]
- add r0, r3, r0
- mla r0, r2, r1, r0
- ldr r0, [r0, #0x4]
- add r1, r12, r0
- ldrne r0, [r1, #0xc]
- orrne r0, r0, #0x800
- strne r0, [r1, #0xc]
- ldreq r0, [r1, #0xc]
- biceq r0, r0, #0x800
- streq r0, [r1, #0xc]
- bx lr
-
- arm_func_start FUN_020BBCB8
-FUN_020BBCB8: ; 0x020BBCB8
- ldr r3, [r0, #0x8]
- cmp r2, #0x0
- add r12, r0, r3
- ldrh r0, [r12, #0xa]
- add r3, r12, #0x4
- ldrh r2, [r3, r0]
- add r0, r3, r0
- mla r0, r2, r1, r0
- ldr r0, [r0, #0x4]
- add r1, r12, r0
- ldrne r0, [r1, #0xc]
- orrne r0, r0, #0x1000
- strne r0, [r1, #0xc]
- ldreq r0, [r1, #0xc]
- biceq r0, r0, #0x1000
- streq r0, [r1, #0xc]
- bx lr
-
- arm_func_start FUN_020BBCFC
-FUN_020BBCFC: ; 0x020BBCFC
- ldr r3, [r0, #0x8]
- cmp r2, #0x0
- add r12, r0, r3
- ldrh r0, [r12, #0xa]
- add r3, r12, #0x4
- ldrh r2, [r3, r0]
- add r0, r3, r0
- mla r0, r2, r1, r0
- ldr r0, [r0, #0x4]
- add r1, r12, r0
- ldrne r0, [r1, #0xc]
- orrne r0, r0, #0x2000
- strne r0, [r1, #0xc]
- ldreq r0, [r1, #0xc]
- biceq r0, r0, #0x2000
- streq r0, [r1, #0xc]
- bx lr
-
- arm_func_start FUN_020BBD40
-FUN_020BBD40: ; 0x020BBD40
- ldr r3, [r0, #0x8]
- cmp r2, #0x0
- add r12, r0, r3
- ldrh r0, [r12, #0xa]
- add r3, r12, #0x4
- ldrh r2, [r3, r0]
- add r0, r3, r0
- mla r0, r2, r1, r0
- ldr r0, [r0, #0x4]
- add r1, r12, r0
- ldrne r0, [r1, #0xc]
- orrne r0, r0, #0x4000
- strne r0, [r1, #0xc]
- ldreq r0, [r1, #0xc]
- biceq r0, r0, #0x4000
- streq r0, [r1, #0xc]
- bx lr
-
- arm_func_start FUN_020BBD84
-FUN_020BBD84: ; 0x020BBD84
- ldr r3, [r0, #0x8]
- cmp r2, #0x0
- add r12, r0, r3
- ldrh r0, [r12, #0xa]
- add r3, r12, #0x4
- ldrh r2, [r3, r0]
- add r0, r3, r0
- mla r0, r2, r1, r0
- ldr r0, [r0, #0x4]
- add r1, r12, r0
- ldrne r0, [r1, #0xc]
- orrne r0, r0, #0x8000
- strne r0, [r1, #0xc]
- ldreq r0, [r1, #0xc]
- biceq r0, r0, #0x8000
- streq r0, [r1, #0xc]
- bx lr
-
- arm_func_start FUN_020BBDC8
-FUN_020BBDC8: ; 0x020BBDC8
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r3, [r0, #0x8]
- add lr, r0, r3
- ldrh r0, [lr, #0xa]
- add r12, lr, #0x4
- ldrh r3, [r12, r0]
- add r0, r12, r0
- mla r0, r3, r1, r0
- ldr r0, [r0, #0x4]
- add r1, lr, r0
- ldr r0, [r1, #0xc]
- bic r0, r0, #0x1f0000
- orr r0, r0, r2, lsl #0x10
- str r0, [r1, #0xc]
- add sp, sp, #0x4
- ldmia sp!, {pc}
-
- arm_func_start FUN_020BBE0C
-FUN_020BBE0C: ; 0x020BBE0C
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r3, [r0, #0x8]
- add lr, r0, r3
- ldrh r0, [lr, #0xa]
- add r12, lr, #0x4
- ldrh r3, [r12, r0]
- add r0, r12, r0
- mla r0, r3, r1, r0
- ldr r0, [r0, #0x4]
- add r1, lr, r0
- ldr r0, [r1, #0xc]
- bic r0, r0, #0x3f000000
- orr r0, r0, r2, lsl #0x18
- str r0, [r1, #0xc]
- add sp, sp, #0x4
- ldmia sp!, {pc}
-
- arm_func_start FUN_020BBE50
-FUN_020BBE50: ; 0x020BBE50
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r3, [r0, #0x8]
- add lr, r0, r3
- ldrh r0, [lr, #0xa]
- add r12, lr, #0x4
- ldrh r3, [r12, r0]
- add r0, r12, r0
- mla r0, r3, r1, r0
- ldr r0, [r0, #0x4]
- add r1, lr, r0
- ldr r0, [r1, #0xc]
- bic r0, r0, #0xc0
- orr r0, r0, r2, lsl #0x6
- str r0, [r1, #0xc]
- add sp, sp, #0x4
- ldmia sp!, {pc}
-
- arm_func_start FUN_020BBE94
-FUN_020BBE94: ; 0x020BBE94
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r3, [r0, #0x8]
- add lr, r0, r3
- ldrh r0, [lr, #0xa]
- add r12, lr, #0x4
- ldrh r3, [r12, r0]
- add r0, r12, r0
- mla r0, r3, r1, r0
- ldr r0, [r0, #0x4]
- add r1, lr, r0
- ldr r0, [r1, #0xc]
- bic r0, r0, #0x30
- orr r0, r0, r2, lsl #0x4
- str r0, [r1, #0xc]
- add sp, sp, #0x4
- ldmia sp!, {pc}
-
- arm_func_start FUN_020BBED8
-FUN_020BBED8: ; 0x020BBED8
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r3, [r0, #0x8]
- add lr, r0, r3
- ldrh r0, [lr, #0xa]
- add r12, lr, #0x4
- ldrh r3, [r12, r0]
- add r0, r12, r0
- mla r0, r3, r1, r0
- ldr r0, [r0, #0x4]
- add r1, lr, r0
- ldr r0, [r1, #0xc]
- bic r0, r0, #0xf
- orr r0, r0, r2
- str r0, [r1, #0xc]
- add sp, sp, #0x4
- ldmia sp!, {pc}
-
- arm_func_start FUN_020BBF1C
-FUN_020BBF1C: ; 0x020BBF1C
- stmdb sp!, {r4,lr}
- ldr r12, [r0, #0x8]
- ldr r3, _020BBF5C ; =0x8000FFFF
- add r4, r0, r12
- ldrh r0, [r4, #0xa]
- add lr, r4, #0x4
- ldrh r12, [lr, r0]
- add r0, lr, r0
- mla r0, r12, r1, r0
- ldr r0, [r0, #0x4]
- add r1, r4, r0
- ldr r0, [r1, #0x8]
- and r0, r0, r3
- orr r0, r0, r2, lsl #0x10
- str r0, [r1, #0x8]
- ldmia sp!, {r4,pc}
- .balign 4
-_020BBF5C: .word 0x8000FFFF
-
- arm_func_start FUN_020BBF60
-FUN_020BBF60: ; 0x020BBF60
- stmdb sp!, {r4,lr}
- ldr r12, [r0, #0x8]
- mov r3, #0x8000
- add r4, r0, r12
- ldrh r12, [r4, #0xa]
- add lr, r4, #0x4
- rsb r0, r3, #0x0
- ldrh r3, [lr, r12]
- add r12, lr, r12
- mla r1, r3, r1, r12
- ldr r1, [r1, #0x4]
- add r3, r4, r1
- ldr r1, [r3, #0x8]
- and r0, r1, r0
- orr r0, r0, r2
- str r0, [r3, #0x8]
- ldmia sp!, {r4,pc}
-
- arm_func_start FUN_020BBFA4
-FUN_020BBFA4: ; 0x020BBFA4
- stmdb sp!, {r4,lr}
- ldr r12, [r0, #0x8]
- ldr r3, _020BBFE4 ; =0x8000FFFF
- add r4, r0, r12
- ldrh r0, [r4, #0xa]
- add lr, r4, #0x4
- ldrh r12, [lr, r0]
- add r0, lr, r0
- mla r0, r12, r1, r0
- ldr r0, [r0, #0x4]
- add r1, r4, r0
- ldr r0, [r1, #0x4]
- and r0, r0, r3
- orr r0, r0, r2, lsl #0x10
- str r0, [r1, #0x4]
- ldmia sp!, {r4,pc}
- .balign 4
-_020BBFE4: .word 0x8000FFFF
-
- arm_func_start FUN_020BBFE8
-FUN_020BBFE8: ; 0x020BBFE8
- stmdb sp!, {r4,lr}
- ldr r12, [r0, #0x8]
- mov r3, #0x8000
- add r4, r0, r12
- ldrh r12, [r4, #0xa]
- add lr, r4, #0x4
- rsb r0, r3, #0x0
- ldrh r3, [lr, r12]
- add r12, lr, r12
- mla r1, r3, r1, r12
- ldr r1, [r1, #0x4]
- add r3, r4, r1
- ldr r1, [r3, #0x4]
- and r0, r1, r0
- orr r0, r0, r2
- str r0, [r3, #0x4]
- ldmia sp!, {r4,pc}
-
- arm_func_start FUN_020BC02C
-FUN_020BC02C: ; 0x020BC02C
- stmdb sp!, {r4-r6,lr}
- ldrb r4, [r0, #0x18]
- ldr r3, [r0, #0x8]
- mov lr, #0x0
- cmp r4, #0x0
- add r12, r0, r3
- ldmlsia sp!, {r4-r6,pc}
-_020BC048: ; 0x020BC048
- mvn r3, r2
- add r0, r12, #0x4
-_020BC050:
- ldrh r5, [r12, #0xa]
- cmp r1, #0x0
- ldrh r6, [r0, r5]
- add r5, r0, r5
- mla r5, r6, lr, r5
- ldr r5, [r5, #0x4]
- add lr, lr, #0x1
- add r6, r12, r5
- ldrne r5, [r6, #0x10]
- orrne r5, r5, r2
- strne r5, [r6, #0x10]
- ldreq r5, [r6, #0x10]
- andeq r5, r5, r3
- streq r5, [r6, #0x10]
- cmp lr, r4
- blo _020BC050
- ldmia sp!, {r4-r6,pc}
-
- arm_func_start FUN_020BC094
-FUN_020BC094: ; 0x020BC094
- stmdb sp!, {r4-r6,lr}
- ldrb r4, [r0, #0x18]
- ldr r3, [r0, #0x8]
- mov lr, #0x0
- cmp r4, #0x0
- add r12, r0, r3
- ldmlsia sp!, {r4-r6,pc}
-_020BC0B0: ; 0x020BC0B0
- mvn r3, r2
- add r0, r12, #0x4
-_020BC0B8:
- ldrh r5, [r12, #0xa]
- cmp r1, #0x0
- ldrh r6, [r0, r5]
- add r5, r0, r5
- mla r5, r6, lr, r5
- ldr r5, [r5, #0x4]
- add lr, lr, #0x1
- add r6, r12, r5
- ldrneh r5, [r6, #0x1e]
- orrne r5, r5, r2
- strneh r5, [r6, #0x1e]
- ldreqh r5, [r6, #0x1e]
- andeq r5, r5, r3
- streqh r5, [r6, #0x1e]
- cmp lr, r4
- blo _020BC0B8
- ldmia sp!, {r4-r6,pc}
-
- arm_func_start FUN_020BC0FC
-FUN_020BC0FC: ; 0x020BC0FC
- ldrh r2, [r0, #0xc]
- ldrh r1, [r0, #0xe]
- add r3, r0, r2
- cmp r1, #0x1
- bne _020BC12C
- ldr r2, [r0, #0x0]
- ldr r1, _020BC138 ; =0x30585442
- cmp r2, r1
- ldreq r1, [r3, #0x0]
- addeq r0, r0, r1
- movne r0, #0x0
- bx lr
-_020BC12C:
- ldr r1, [r3, #0x4]
- add r0, r0, r1
- bx lr
- .balign 4
-_020BC138: .word 0x30585442
-
- arm_func_start FUN_020BC13C
-FUN_020BC13C:
- ldrh r1, [r0, #0xc]
- ldr r1, [r0, r1]
- add r0, r0, r1
- bx lr
-
- arm_func_start FUN_020BC14C
-FUN_020BC14C:
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- ldrb r2, [r0, #0x1]
- cmp r2, #0x10
- bhs _020BC1E4
- cmp r2, #0x0
- ldr lr, [r1, #0x0]
- ldr r12, [r1, #0x4]
- ldr r3, [r1, #0x8]
- ldr r2, [r1, #0xc]
- mov r4, #0x0
- bls _020BC294
- ldrh r5, [r0, #0x6]
- mov r1, r4
- add r6, r0, r5
- ldrh r5, [r6, #0x2]
- add r6, r6, r5
-_020BC190:
- ldr r5, [r6, r1]
- add r7, r6, r1
- cmp r5, lr
- bne _020BC1CC
- ldr r5, [r7, #0x4]
- cmp r5, r12
- bne _020BC1CC
- ldr r5, [r7, #0x8]
- cmp r5, r3
- bne _020BC1CC
- ldr r5, [r7, #0xc]
- cmp r5, r2
- addeq sp, sp, #0x4
- moveq r0, r4
- ldmeqia sp!, {r4-r7,pc}
-_020BC1CC:
- ldrb r5, [r0, #0x1]
- add r4, r4, #0x1
- add r1, r1, #0x10
- cmp r4, r5
- blo _020BC190
- b _020BC294
-_020BC1E4:
- add r3, r0, #0x8
- ldrb r2, [r3, #0x1]
- cmp r2, #0x0
- beq _020BC294
- ldrb r5, [r3, r2, lsl #0x2]
- ldrb r4, [r3, #0x0]
- add r2, r3, r2, lsl #0x2
- cmp r4, r5
- bls _020BC238
-_020BC208:
- mov r4, r5, asr #0x5
- ldr r12, [r1, r4, lsl #0x2]
- and r4, r5, #0x1f
- mov r4, r12, lsr r4
- and r4, r4, #0x1
- add r4, r2, r4
- ldrb r12, [r4, #0x1]
- ldrb r4, [r2, #0x0]
- ldrb r5, [r3, r12, lsl #0x2]
- add r2, r3, r12, lsl #0x2
- cmp r4, r5
- bhi _020BC208
-_020BC238:
- ldrh r4, [r0, #0x6]
- ldr r3, [r1, #0x0]
- add r12, r0, r4
- ldrh r4, [r12, #0x2]
- ldrb r0, [r2, #0x3]
- add r4, r12, r4
- ldr r2, [r4, r0, lsl #0x4]
- add r4, r4, r0, lsl #0x4
- cmp r2, r3
- bne _020BC294
- ldr r3, [r4, #0x4]
- ldr r2, [r1, #0x4]
- cmp r3, r2
- bne _020BC294
- ldr r3, [r4, #0x8]
- ldr r2, [r1, #0x8]
- cmp r3, r2
- bne _020BC294
- ldr r2, [r4, #0xc]
- ldr r1, [r1, #0xc]
- cmp r2, r1
- addeq sp, sp, #0x4
- ldmeqia sp!, {r4-r7,pc}
-_020BC294:
- mvn r0, #0x0
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,pc}
-
- arm_func_start FUN_020BC2A0
-FUN_020BC2A0: ; 0x020BC2A0
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- ldrb r2, [r0, #0x1]
- cmp r2, #0x10
- bhs _020BC34C
- cmp r2, #0x0
- ldr lr, [r1, #0x0]
- ldr r12, [r1, #0x4]
- ldr r3, [r1, #0x8]
- ldr r2, [r1, #0xc]
- mov r4, #0x0
- bls _020BC404
- ldrh r5, [r0, #0x6]
- mov r1, r4
- add r6, r0, r5
- ldrh r5, [r6, #0x2]
- add r6, r6, r5
-_020BC2E4:
- ldr r5, [r6, r1]
- add r7, r6, r1
- cmp r5, lr
- bne _020BC334
- ldr r5, [r7, #0x4]
- cmp r5, r12
- bne _020BC334
- ldr r5, [r7, #0x8]
- cmp r5, r3
- bne _020BC334
- ldr r5, [r7, #0xc]
- cmp r5, r2
- bne _020BC334
- ldrh r2, [r0, #0x6]
- add sp, sp, #0x4
- ldrh r1, [r0, r2]
- add r0, r0, r2
- add r0, r0, #0x4
- mla r0, r1, r4, r0
- ldmia sp!, {r4-r7,pc}
-_020BC334:
- ldrb r5, [r0, #0x1]
- add r4, r4, #0x1
- add r1, r1, #0x10
- cmp r4, r5
- blo _020BC2E4
- b _020BC404
-_020BC34C:
- add r3, r0, #0x8
- ldrb r2, [r3, #0x1]
- cmp r2, #0x0
- beq _020BC404
- ldrb r5, [r3, r2, lsl #0x2]
- ldrb r4, [r3, #0x0]
- add r2, r3, r2, lsl #0x2
- cmp r4, r5
- bls _020BC3A0
-_020BC370:
- mov r4, r5, asr #0x5
- ldr r12, [r1, r4, lsl #0x2]
- and r4, r5, #0x1f
- mov r4, r12, lsr r4
- and r4, r4, #0x1
- add r4, r2, r4
- ldrb r12, [r4, #0x1]
- ldrb r4, [r2, #0x0]
- ldrb r5, [r3, r12, lsl #0x2]
- add r2, r3, r12, lsl #0x2
- cmp r4, r5
- bhi _020BC370
-_020BC3A0:
- ldrh r4, [r0, #0x6]
- ldrb r2, [r2, #0x3]
- ldr r3, [r1, #0x0]
- add r0, r0, r4
- ldrh r4, [r0, #0x2]
- add r12, r0, r4
- ldr r4, [r12, r2, lsl #0x4]
- add r12, r12, r2, lsl #0x4
- cmp r4, r3
- bne _020BC404
- ldr r4, [r12, #0x4]
- ldr r3, [r1, #0x4]
- cmp r4, r3
- bne _020BC404
- ldr r4, [r12, #0x8]
- ldr r3, [r1, #0x8]
- cmp r4, r3
- bne _020BC404
- ldr r3, [r12, #0xc]
- ldr r1, [r1, #0xc]
- cmp r3, r1
- ldreqh r1, [r0], #0x4
- addeq sp, sp, #0x4
- mlaeq r0, r1, r2, r0
- ldmeqia sp!, {r4-r7,pc}
-_020BC404:
- mov r0, #0x0
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,pc}
-
- arm_func_start FUN_020BC410
-FUN_020BC410: ; 0x020BC410
- ldrh r3, [r0, #0x12]
- add r0, r0, #0xc
- ldrh r2, [r0, r3]
- add r0, r0, r3
- add r0, r0, #0x4
- mla r0, r2, r1, r0
- bx lr
-
- arm_func_start FUN_020BC42C
-FUN_020BC42C: ; 0x020BC42C
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r5, r0
- mov r4, r2
- bl FUN_020BC410
- ldrsh r1, [r0, #0x4]
- ldrh r3, [r0, #0x6]
- mul r2, r1, r4
- add r3, r5, r3
- mov r2, r2, lsr #0xc
- b _020BC45C
-_020BC458:
- sub r2, r2, #0x1
-_020BC45C:
- cmp r2, #0x0
- beq _020BC474
- mov r1, r2, lsl #0x2
- ldrh r1, [r3, r1]
- cmp r1, r4
- bhs _020BC458
-_020BC474:
- ldrh r1, [r0, #0x0]
- b _020BC480
-_020BC47C:
- add r2, r2, #0x1
-_020BC480:
- add r0, r2, #0x1
- cmp r0, r1
- bhs _020BC49C
- add r0, r3, r2, lsl #0x2
- ldrh r0, [r0, #0x4]
- cmp r0, r4
- bls _020BC47C
-_020BC49C:
- add r0, r3, r2, lsl #0x2
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,pc}
-
- arm_func_start FUN_020BC4A8
-FUN_020BC4A8: ; 0x020BC4A8
- ldrh r2, [r0, #0xa]
- add r0, r0, r2
- add r0, r0, r1, lsl #0x4
- bx lr
-
- arm_func_start FUN_020BC4B8
-FUN_020BC4B8: ; 0x020BC4B8
- ldrh r2, [r0, #0x8]
- add r0, r0, r2
- add r0, r0, r1, lsl #0x4
- bx lr
-
- arm_func_start FUN_020BC4C8
-FUN_020BC4C8: ; 0x020BC4C8
- ldrh r2, [r0, #0xc]
- ldr r2, [r0, r2]
- add r12, r0, r2
- ldrh r2, [r12, #0xe]
- add r3, r12, #0x8
- ldrh r0, [r3, r2]
- add r2, r3, r2
- add r2, r2, #0x4
- mul r1, r0, r1
- adds r0, r2, r1
- ldrne r0, [r0, #0x0]
- addne r0, r12, r0
- moveq r0, #0x0
- bx lr
-
- arm_func_start FUN_020BC500
-FUN_020BC500:
- stmdb sp!, {r4,lr}
- ands r4, r3, #0x8000
- beq _020BC5E0
- mov r2, #0x0
- str r2, [r0, #0x20]
- ldr r4, [r0, #0x20]
- ldr r2, _020BC684 ; =0x00007FFF
- str r4, [r0, #0x1c]
- ldr r4, [r0, #0x1c]
- and r3, r3, r2
- str r4, [r0, #0x18]
- ldr r4, [r0, #0x18]
- mov r2, #0x3
- str r4, [r0, #0x14]
- ldr r4, [r0, #0x14]
- mul r2, r3, r2
- str r4, [r0, #0x10]
- ldr r4, [r0, #0x10]
- mov r3, r2, lsl #0x1
- str r4, [r0, #0xc]
- ldr r4, [r0, #0xc]
- add r2, r1, r2, lsl #0x1
- str r4, [r0, #0x8]
- ldr r4, [r0, #0x8]
- str r4, [r0, #0x4]
- ldr r4, [r0, #0x4]
- str r4, [r0, #0x0]
- ldrsh r4, [r1, r3]
- ldrsh r12, [r2, #0x2]
- ldrsh r3, [r2, #0x4]
- and r1, r4, #0xf
- ands r4, r4, #0x10
- movne lr, #0x1000
- rsbne lr, lr, #0x0
- moveq lr, #0x1000
- str lr, [r0, r1, lsl #0x2]
- ldr r4, _020BC688 ; =0x020FFA14
- ldr lr, _020BC68C ; =0x020FFA15
- ldrb r4, [r4, r1, lsl #0x2]
- str r12, [r0, r4, lsl #0x2]
- ldrb lr, [lr, r1, lsl #0x2]
- str r3, [r0, lr, lsl #0x2]
- ldrsh lr, [r2, #0x0]
- ands lr, lr, #0x20
- ldr lr, _020BC690 ; =0x020FFA16
- rsbne r3, r3, #0x0
- ldrb lr, [lr, r1, lsl #0x2]
- str r3, [r0, lr, lsl #0x2]
- ldrsh r2, [r2, #0x0]
- ands r2, r2, #0x40
- ldr r2, _020BC694 ; =0x020FFA17
- rsbne r12, r12, #0x0
- ldrb r1, [r2, r1, lsl #0x2]
- str r12, [r0, r1, lsl #0x2]
- mov r0, #0x0
- ldmia sp!, {r4,pc}
-_020BC5E0:
- ldr r1, _020BC684 ; =0x00007FFF
- mov r12, #0x5
- and r1, r3, r1
- mul r3, r1, r12
- add r1, r2, r3, lsl #0x1
- ldrsh lr, [r1, #0x8]
- mov r12, r3, lsl #0x1
- mov r3, lr, asr #0x3
- str r3, [r0, #0x10]
- ldrsh r12, [r2, r12]
- and r2, lr, #0x7
- mov r2, r2, lsl #0x10
- mov r3, r12, asr #0x3
- str r3, [r0, #0x0]
- ldrsh r3, [r1, #0x2]
- and r12, r12, #0x7
- orr lr, r12, r2, asr #0xd
- mov r2, r3, asr #0x3
- str r2, [r0, #0x4]
- ldrsh r12, [r1, #0x4]
- mov r2, lr, lsl #0x10
- and lr, r3, #0x7
- mov r3, r12, asr #0x3
- str r3, [r0, #0x8]
- ldrsh r3, [r1, #0x6]
- orr r1, lr, r2, asr #0xd
- mov r1, r1, lsl #0x10
- and r2, r12, #0x7
- orr r1, r2, r1, asr #0xd
- mov r1, r1, lsl #0x10
- and r2, r3, #0x7
- orr r1, r2, r1, asr #0xd
- mov r1, r1, lsl #0x10
- mov r1, r1, asr #0x10
- mov r2, r3, asr #0x3
- mov r1, r1, lsl #0x13
- str r2, [r0, #0xc]
- mov r1, r1, asr #0x13
- str r1, [r0, #0x14]
- mov r0, #0x1
- ldmia sp!, {r4,pc}
- .balign 4
-_020BC684: .word 0x00007FFF
-_020BC688: .word 0x020FFA14
-_020BC68C: .word 0x020FFA15
-_020BC690: .word 0x020FFA16
-_020BC694: .word 0x020FFA17
-
- arm_func_start FUN_020BC698
-FUN_020BC698: ; 0x020BC698
- stmdb sp!, {r4-r10,lr}
- sub sp, sp, #0x48
- ldrh r4, [r3, #0x4]
- ldr r5, [r3, #0xc]
- ldr r8, [r3, #0x10]
- ldr r7, [r2, #0x4]
- mov r12, r1, asr #0xc
- sub r4, r4, #0x1
- mov r6, r0
- cmp r12, r4
- add r5, r3, r5
- add r4, r3, r8
- add r8, r3, r7
- ldr r7, [r2, #0x0]
- bne _020BC780
- ands r0, r7, #0xc0000000
- beq _020BC6F0
- ands r0, r7, #0x40000000
- andne r0, r12, #0x1
- addne r12, r0, r12, lsr #0x1
- andeq r0, r12, #0x3
- addeq r12, r0, r12, lsr #0x2
-_020BC6F0:
- ldr r0, [r3, #0x8]
- ands r0, r0, #0x2
- movne r7, #0x0
- bne _020BC7F4
- mov r0, r12, lsl #0x1
- ldrh r3, [r8, r0]
- mov r0, r6
- mov r1, r5
- mov r2, r4
- bl FUN_020BC500
-_020BC718: ; 0x020BC718
- cmp r0, #0x0
- addeq sp, sp, #0x48
- ldmeqia sp!, {r4-r10,pc}
-_020BC724: ; 0x020BC724
- ldr r9, [r6, #0x14]
- ldr r5, [r6, #0x4]
- ldr r4, [r6, #0x10]
- ldr r2, [r6, #0x8]
- mul r1, r5, r9
- mul r0, r2, r4
- sub r0, r1, r0
- ldr r7, [r6, #0xc]
- ldr r8, [r6, #0x0]
- mov r3, r0, asr #0xc
- mul r1, r2, r7
- mul r0, r8, r9
- sub r2, r1, r0
- mul r1, r8, r4
- mul r0, r5, r7
- sub r0, r1, r0
- str r3, [r6, #0x18]
- mov r1, r2, asr #0xc
- str r1, [r6, #0x1c]
- mov r0, r0, asr #0xc
- add sp, sp, #0x48
- str r0, [r6, #0x20]
- ldmia sp!, {r4-r10,pc}
-_020BC780:
- ands r0, r7, #0xc0000000
- beq _020BC7F0
- ldr r0, _020BC9C4 ; =0x1FFF0000
- ands r2, r7, #0x40000000
- and r0, r7, r0
- mov r0, r0, lsr #0x10
- beq _020BC7C4
- cmp r12, r0
- movcs r12, r0, lsr #0x1
- addcs r7, r12, #0x1
- bhs _020BC7F4
- ldr r0, _020BC9C8 ; =0x00001FFF
- mov r12, r12, lsr #0x1
- add r7, r12, #0x1
- and r10, r1, r0
- mov r9, #0x2
- b _020BC800
-_020BC7C4:
- cmp r12, r0
- andcs r0, r12, #0x3
- addcs r12, r0, r12, lsr #0x2
- addcs r7, r12, #0x1
- bhs _020BC7F4
- ldr r0, _020BC9CC ; =0x00003FFF
- mov r12, r12, lsr #0x2
- add r7, r12, #0x1
- and r10, r1, r0
- mov r9, #0x4
- b _020BC800
-_020BC7F0:
- add r7, r12, #0x1
-_020BC7F4:
- ldr r0, _020BC9D0 ; =0x00000FFF
- mov r9, #0x1
- and r10, r1, r0
-_020BC800:
- mov r0, r12, lsl #0x1
- ldrh r3, [r8, r0]
- add r0, sp, #0x0
- mov r1, r5
- mov r2, r4
- bl FUN_020BC500
- mov r1, r7, lsl #0x1
- ldrh r3, [r8, r1]
- orr r7, r0, #0x0
- add r0, sp, #0x24
- mov r1, r5
- mov r2, r4
- bl FUN_020BC500
- ldr r3, [sp, #0x0]
- ldr r1, [sp, #0x24]
- mul r2, r3, r9
- sub r1, r1, r3
- mul r1, r10, r1
- add r1, r2, r1, asr #0xc
- str r1, [r6, #0x0]
- ldr r3, [sp, #0x4]
- ldr r1, [sp, #0x28]
- mul r2, r3, r9
- sub r1, r1, r3
- mul r1, r10, r1
- add r1, r2, r1, asr #0xc
- str r1, [r6, #0x4]
- ldr r3, [sp, #0x8]
- ldr r1, [sp, #0x2c]
- mul r2, r3, r9
- sub r1, r1, r3
- mul r1, r10, r1
- add r1, r2, r1, asr #0xc
- str r1, [r6, #0x8]
- ldr r3, [sp, #0xc]
- ldr r1, [sp, #0x30]
- mul r2, r3, r9
- sub r1, r1, r3
- mul r1, r10, r1
- add r1, r2, r1, asr #0xc
- str r1, [r6, #0xc]
- ldr r2, [sp, #0x10]
- ldr r1, [sp, #0x34]
- orr r7, r7, r0
- sub r0, r1, r2
- mul r1, r2, r9
- mul r0, r10, r0
- add r0, r1, r0, asr #0xc
- str r0, [r6, #0x10]
- ldr r2, [sp, #0x14]
- ldr r0, [sp, #0x38]
- mul r1, r2, r9
- sub r0, r0, r2
- mul r0, r10, r0
- add r2, r1, r0, asr #0xc
- mov r0, r6
- mov r1, r6
- str r2, [r6, #0x14]
- bl VEC_Normalize
- add r0, r6, #0xc
- mov r1, r0
- bl VEC_Normalize
-_020BC8F8: ; 0x020BC8F8
- cmp r7, #0x0
- bne _020BC968
- ldr r3, [sp, #0x18]
- ldr r1, [sp, #0x3c]
- mul r2, r3, r9
- sub r1, r1, r3
- mul r1, r10, r1
- add r1, r2, r1, asr #0xc
- str r1, [r6, #0x18]
- ldr r3, [sp, #0x1c]
- ldr r1, [sp, #0x40]
- mul r2, r3, r9
- sub r1, r1, r3
- mul r1, r10, r1
- add r1, r2, r1, asr #0xc
- str r1, [r6, #0x1c]
- ldr r3, [sp, #0x20]
- ldr r1, [sp, #0x44]
- mul r2, r3, r9
- sub r1, r1, r3
- mul r1, r10, r1
- add r2, r2, r1, asr #0xc
- add r0, r6, #0x18
- mov r1, r0
- str r2, [r6, #0x20]
- bl VEC_Normalize
- add sp, sp, #0x48
- ldmia sp!, {r4-r10,pc}
-_020BC968:
- ldr r9, [r6, #0x14]
- ldr r5, [r6, #0x4]
- ldr r8, [r6, #0x0]
- ldr r4, [r6, #0x10]
- ldr r2, [r6, #0x8]
- ldr r7, [r6, #0xc]
- mul r1, r5, r9
- mul r0, r2, r4
- sub r0, r1, r0
- mov r3, r0, asr #0xc
- mul r1, r2, r7
- mul r0, r8, r9
- sub r2, r1, r0
- mul r1, r8, r4
- mul r0, r5, r7
- sub r0, r1, r0
- str r3, [r6, #0x18]
- mov r1, r2, asr #0xc
- str r1, [r6, #0x1c]
- mov r0, r0, asr #0xc
- str r0, [r6, #0x20]
- add sp, sp, #0x48
- ldmia sp!, {r4-r10,pc}
- .balign 4
-_020BC9C4: .word 0x1FFF0000
-_020BC9C8: .word 0x00001FFF
-_020BC9CC: .word 0x00003FFF
-_020BC9D0: .word 0x00000FFF
-
- arm_func_start FUN_020BC9D4
-FUN_020BC9D4: ; 0x020BC9D4
- stmdb sp!, {r4-r9,lr}
- sub sp, sp, #0x4c
- ldr r5, [r3, #0xc]
- ldr r4, [r3, #0x10]
- ldr r12, [r2, #0x0]
- ldr r2, [r2, #0x4]
- mov r6, r0
- mov r0, r1, asr #0xc
- add r5, r3, r5
- add r4, r3, r4
- add r8, r3, r2
- ands r1, r12, #0xc0000000
- beq _020BCD40
- ldr r1, _020BCDC0 ; =0x1FFF0000
- ands r2, r12, #0x40000000
- and r1, r12, r1
- mov r2, r1, lsr #0x10
- beq _020BCA44
- ands r1, r0, #0x1
- beq _020BCA3C
- cmp r0, r2
- movhi r0, r2, lsr #0x1
- addhi r0, r0, #0x1
- bhi _020BCD40
- mov r7, r0, lsr #0x1
- b _020BCBE8
-_020BCA3C:
- mov r0, r0, lsr #0x1
- b _020BCD40
-_020BCA44:
- ands r1, r0, #0x3
- beq _020BCBE0
- cmp r0, r2
- addhi r0, r1, r2, lsr #0x2
- bhi _020BCD40
- ands r1, r0, #0x1
- beq _020BCBD8
- ands r1, r0, #0x2
- movne r9, r0, lsr #0x2
- addne r0, r9, #0x1
- moveq r0, r0, lsr #0x2
- addeq r9, r0, #0x1
- mov r0, r0, lsl #0x1
- ldrh r3, [r8, r0]
- mov r0, r6
- mov r1, r5
- mov r2, r4
- mov r7, #0x0
- bl FUN_020BC500
- mov r1, r9, lsl #0x1
- ldrh r3, [r8, r1]
- orr r7, r7, r0
- add r0, sp, #0x0
- mov r1, r5
- mov r2, r4
- bl FUN_020BC500
- ldr r3, [sp, #0x0]
- ldr r1, [r6, #0x0]
- mov r2, #0x3
- mla r3, r1, r2, r3
- str r3, [r6, #0x0]
- ldr r3, [sp, #0x4]
- ldr r1, [r6, #0x4]
- orr r7, r7, r0
- mla r0, r1, r2, r3
- str r0, [r6, #0x4]
- ldr r3, [sp, #0x8]
- ldr r1, [r6, #0x8]
- mov r0, r6
- mla r3, r1, r2, r3
- str r3, [r6, #0x8]
- ldr r4, [sp, #0xc]
- ldr r3, [r6, #0xc]
- mov r1, r6
- mla r4, r3, r2, r4
- str r4, [r6, #0xc]
- ldr r4, [sp, #0x10]
- ldr r3, [r6, #0x10]
- mla r4, r3, r2, r4
- str r4, [r6, #0x10]
- ldr r4, [sp, #0x14]
- ldr r3, [r6, #0x14]
- mla r2, r3, r2, r4
- str r2, [r6, #0x14]
- bl VEC_Normalize
- add r0, r6, #0xc
- mov r1, r0
- bl VEC_Normalize
-_020BCB2C: ; 0x020BCB2C
- cmp r7, #0x0
- bne _020BCB7C
- ldr r1, [sp, #0x18]
- ldr r0, [r6, #0x18]
- mov r2, #0x3
- mla r1, r0, r2, r1
- str r1, [r6, #0x18]
- ldr r3, [sp, #0x1c]
- ldr r1, [r6, #0x1c]
- add r0, r6, #0x18
- mla r3, r1, r2, r3
- str r3, [r6, #0x1c]
- ldr r4, [sp, #0x20]
- ldr r3, [r6, #0x20]
- mov r1, r0
- mla r2, r3, r2, r4
- str r2, [r6, #0x20]
- bl VEC_Normalize
- add sp, sp, #0x4c
- ldmia sp!, {r4-r9,pc}
-_020BCB7C:
- ldr r12, [r6, #0x14]
- ldr r5, [r6, #0x4]
- ldr r4, [r6, #0x10]
- ldr r2, [r6, #0x8]
- mul r1, r5, r12
- mul r0, r2, r4
- sub r0, r1, r0
- ldr r7, [r6, #0xc]
- ldr r8, [r6, #0x0]
- mov r3, r0, asr #0xc
- mul r1, r2, r7
- mul r0, r8, r12
- sub r2, r1, r0
- mul r1, r8, r4
- mul r0, r5, r7
- sub r0, r1, r0
- str r3, [r6, #0x18]
- mov r1, r2, asr #0xc
- str r1, [r6, #0x1c]
- mov r0, r0, asr #0xc
- add sp, sp, #0x4c
- str r0, [r6, #0x20]
- ldmia sp!, {r4-r9,pc}
-_020BCBD8:
- mov r7, r0, lsr #0x2
- b _020BCBE8
-_020BCBE0:
- mov r0, r0, lsr #0x2
- b _020BCD40
-_020BCBE8:
- mov r0, r7, lsl #0x1
- ldrh r3, [r8, r0]
- mov r0, r6
- mov r1, r5
- mov r2, r4
- bl FUN_020BC500
- add r1, r8, r7, lsl #0x1
- ldrh r3, [r1, #0x2]
- orr r7, r0, #0x0
- add r0, sp, #0x24
- mov r1, r5
- mov r2, r4
- bl FUN_020BC500
- ldr r2, [r6, #0x0]
- ldr r1, [sp, #0x24]
- orr r7, r7, r0
- add r0, r2, r1
- str r0, [r6, #0x0]
- ldr r2, [r6, #0x4]
- ldr r1, [sp, #0x28]
- mov r0, r6
- add r1, r2, r1
- str r1, [r6, #0x4]
- ldr r3, [r6, #0x8]
- ldr r2, [sp, #0x2c]
- mov r1, r6
- add r2, r3, r2
- str r2, [r6, #0x8]
- ldr r3, [r6, #0xc]
- ldr r2, [sp, #0x30]
- add r2, r3, r2
- str r2, [r6, #0xc]
- ldr r3, [r6, #0x10]
- ldr r2, [sp, #0x34]
- add r2, r3, r2
- str r2, [r6, #0x10]
- ldr r3, [r6, #0x14]
- ldr r2, [sp, #0x38]
- add r2, r3, r2
- str r2, [r6, #0x14]
- bl VEC_Normalize
- add r0, r6, #0xc
- mov r1, r0
- bl VEC_Normalize
-_020BCC98: ; 0x020BCC98
- cmp r7, #0x0
- bne _020BCCE4
- ldr r2, [r6, #0x18]
- ldr r1, [sp, #0x3c]
- add r0, r6, #0x18
- add r1, r2, r1
- str r1, [r6, #0x18]
- ldr r3, [r6, #0x1c]
- ldr r2, [sp, #0x40]
- mov r1, r0
- add r2, r3, r2
- str r2, [r6, #0x1c]
- ldr r3, [r6, #0x20]
- ldr r2, [sp, #0x44]
- add r2, r3, r2
- str r2, [r6, #0x20]
- bl VEC_Normalize
- add sp, sp, #0x4c
- ldmia sp!, {r4-r9,pc}
-_020BCCE4:
- ldr r12, [r6, #0x14]
- ldr r5, [r6, #0x4]
- ldr r4, [r6, #0x10]
- ldr r2, [r6, #0x8]
- mul r1, r5, r12
- mul r0, r2, r4
- sub r0, r1, r0
- ldr r7, [r6, #0xc]
- ldr r8, [r6, #0x0]
- mov r3, r0, asr #0xc
- mul r1, r2, r7
- mul r0, r8, r12
- sub r2, r1, r0
- mul r1, r8, r4
- mul r0, r5, r7
- sub r0, r1, r0
- str r3, [r6, #0x18]
- mov r1, r2, asr #0xc
- str r1, [r6, #0x1c]
- mov r0, r0, asr #0xc
- add sp, sp, #0x4c
- str r0, [r6, #0x20]
- ldmia sp!, {r4-r9,pc}
-_020BCD40:
- mov r0, r0, lsl #0x1
- ldrh r3, [r8, r0]
- mov r0, r6
- mov r1, r5
- mov r2, r4
- bl FUN_020BC500
-_020BCD58: ; 0x020BCD58
- cmp r0, #0x0
- addeq sp, sp, #0x4c
- ldmeqia sp!, {r4-r9,pc}
-_020BCD64: ; 0x020BCD64
- ldr r12, [r6, #0x14]
- ldr r5, [r6, #0x4]
- ldr r8, [r6, #0x0]
- ldr r4, [r6, #0x10]
- ldr r2, [r6, #0x8]
- ldr r7, [r6, #0xc]
- mul r1, r5, r12
- mul r0, r2, r4
- sub r0, r1, r0
- mov r3, r0, asr #0xc
- mul r1, r2, r7
- mul r0, r8, r12
- sub r2, r1, r0
- mul r1, r8, r4
- mul r0, r5, r7
- sub r0, r1, r0
- str r3, [r6, #0x18]
- mov r1, r2, asr #0xc
- str r1, [r6, #0x1c]
- mov r0, r0, asr #0xc
- str r0, [r6, #0x20]
- add sp, sp, #0x4c
- ldmia sp!, {r4-r9,pc}
- .balign 4
-_020BCDC0: .word 0x1FFF0000
-
- arm_func_start FUN_020BCDC4
-FUN_020BCDC4: ; 0x020BCDC4
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- ldrh r4, [r3, #0x4]
- ldr r6, [r2, #0x4]
- mov r5, r1, asr #0xc
- sub r4, r4, #0x1
- cmp r5, r4
- add r6, r3, r6
- ldr r2, [r2, #0x0]
- bne _020BCE58
- ands r4, r2, #0xc0000000
- beq _020BCE08
- ands r4, r2, #0x40000000
- andne r4, r5, #0x1
- addne r5, r4, r5, lsr #0x1
- andeq r4, r5, #0x3
- addeq r5, r4, r5, lsr #0x2
-_020BCE08:
- ldr r3, [r3, #0x8]
- ands r3, r3, #0x2
- movne r4, #0x0
- bne _020BCED4
- ands r1, r2, #0x20000000
- ldreq r2, [r6, r5, lsl #0x3]
- addeq r1, r6, r5, lsl #0x3
- streq r2, [r0, #0x0]
- ldreq r1, [r1, #0x4]
- addeq sp, sp, #0x4
- streq r1, [r0, #0x4]
- ldmeqia sp!, {r4-r7,pc}
-_020BCE38: ; 0x020BCE38
- mov r1, r5, lsl #0x2
- ldrsh r2, [r6, r1]
- add r1, r6, r5, lsl #0x2
- add sp, sp, #0x4
- str r2, [r0, #0x0]
- ldrsh r1, [r1, #0x2]
- str r1, [r0, #0x4]
- ldmia sp!, {r4-r7,pc}
-_020BCE58:
- ands r3, r2, #0xc0000000
- beq _020BCED0
- ldr r3, _020BCF60 ; =0x1FFF0000
- ands r4, r2, #0x40000000
- and r3, r2, r3
- mov r3, r3, lsr #0x10
- beq _020BCEA0
- cmp r5, r3
- movcs r5, r3, lsr #0x1
- addcs r4, r5, #0x1
- bhs _020BCED4
- ldr r3, _020BCF64 ; =0x00001FFF
- mov r5, r5, lsr #0x1
- add r4, r5, #0x1
- and lr, r1, r3
- mov r12, #0x2
- mov r3, #0x1
- b _020BCEE4
-_020BCEA0:
- cmp r5, r3
- andcs r3, r5, #0x3
- addcs r5, r3, r5, lsr #0x2
- addcs r4, r5, #0x1
- bhs _020BCED4
- ldr r3, _020BCF68 ; =0x00003FFF
- mov r5, r5, lsr #0x2
- add r4, r5, #0x1
- and lr, r1, r3
- mov r12, #0x4
- mov r3, #0x2
- b _020BCEE4
-_020BCED0:
- add r4, r5, #0x1
-_020BCED4:
- ldr r3, _020BCF6C ; =0x00000FFF
- mov r12, #0x1
- and lr, r1, r3
- mov r3, #0x0
-_020BCEE4:
- ands r1, r2, #0x20000000
- beq _020BCF10
- mov r2, r5, lsl #0x2
- add r1, r6, r5, lsl #0x2
- mov r5, r4, lsl #0x2
- add r4, r6, r4, lsl #0x2
- ldrsh r2, [r6, r2]
- ldrsh r1, [r1, #0x2]
- ldrsh r5, [r6, r5]
- ldrsh r4, [r4, #0x2]
- b _020BCF28
-_020BCF10:
- add r1, r6, r5, lsl #0x3
- add r7, r6, r4, lsl #0x3
- ldr r2, [r6, r5, lsl #0x3]
- ldr r1, [r1, #0x4]
- ldr r5, [r6, r4, lsl #0x3]
- ldr r4, [r7, #0x4]
-_020BCF28:
- sub r5, r5, r2
- sub r4, r4, r1
- mul r6, r2, r12
- mul r2, lr, r5
- add r2, r6, r2, asr #0xc
- mov r5, r2, asr r3
- mul r2, r1, r12
- mul r1, lr, r4
- add r1, r2, r1, asr #0xc
- mov r1, r1, asr r3
- str r5, [r0, #0x0]
- str r1, [r0, #0x4]
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,pc}
- .balign 4
-_020BCF60: .word 0x1FFF0000
-_020BCF64: .word 0x00001FFF
-_020BCF68: .word 0x00003FFF
-_020BCF6C: .word 0x00000FFF
-
- arm_func_start FUN_020BCF70
-FUN_020BCF70: ; 0x020BCF70
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- ldr r4, [r2, #0x4]
- ldr r12, [r2, #0x0]
- mov r1, r1, asr #0xc
- add r3, r3, r4
- ands r2, r12, #0xc0000000
- beq _020BD0D0
- ldr r2, _020BD184 ; =0x1FFF0000
- ands r4, r12, #0x40000000
- and r2, r12, r2
- mov r4, r2, lsr #0x10
- beq _020BCFCC
- ands r2, r1, #0x1
- beq _020BCFC4
- cmp r1, r4
- movhi r1, r4, lsr #0x1
- addhi r1, r1, #0x1
- bhi _020BD0D0
- mov r2, r1, lsr #0x1
- b _020BD110
-_020BCFC4:
- mov r1, r1, lsr #0x1
- b _020BD0D0
-_020BCFCC:
- ands r2, r1, #0x3
- beq _020BD0CC
- cmp r1, r4
- addhi r1, r2, r4, lsr #0x2
- bhi _020BD0D0
- ands r2, r1, #0x1
- beq _020BD0C4
- ands r2, r1, #0x2
- movne r1, r1, lsr #0x2
- addne r2, r1, #0x1
- moveq r2, r1, lsr #0x2
- addeq r1, r2, #0x1
- ands r4, r12, #0x20000000
- beq _020BD04C
- mov r5, r2, lsl #0x2
- mov r4, r1, lsl #0x2
- ldrsh r12, [r3, r5]
- ldrsh r5, [r3, r4]
- add r2, r3, r2, lsl #0x2
- add r4, r12, r12, lsl #0x1
- add r4, r5, r4
- mov r4, r4, asr #0x2
- str r4, [r0, #0x0]
- add r1, r3, r1, lsl #0x2
- ldrsh r3, [r2, #0x2]
- ldrsh r2, [r1, #0x2]
- add sp, sp, #0x4
- add r1, r3, r3, lsl #0x1
- add r1, r2, r1
- mov r1, r1, asr #0x2
- str r1, [r0, #0x4]
- ldmia sp!, {r4-r5,pc}
-_020BD04C:
- ldr r5, [r3, r2, lsl #0x3]
- ldr r4, [r3, r1, lsl #0x3]
- mov r12, r5, asr #0x1f
- mov r12, r12, lsl #0x1
- mov lr, r5, lsl #0x1
- orr r12, r12, r5, lsr #0x1f
- adds lr, lr, r5
- adc r12, r12, r5, asr #0x1f
- adds lr, lr, r4
- adc r12, r12, r4, asr #0x1f
- mov lr, lr, lsr #0x2
- orr lr, lr, r12, lsl #0x1e
- str lr, [r0, #0x0]
- add r2, r3, r2, lsl #0x3
- ldr r12, [r2, #0x4]
- add r1, r3, r1, lsl #0x3
- mov r2, r12, asr #0x1f
- mov r2, r2, lsl #0x1
- mov r3, r12, lsl #0x1
- ldr r1, [r1, #0x4]
- orr r2, r2, r12, lsr #0x1f
- adds r3, r3, r12
- adc r2, r2, r12, asr #0x1f
- adds r3, r3, r1
- adc r1, r2, r1, asr #0x1f
- mov r2, r3, lsr #0x2
- orr r2, r2, r1, lsl #0x1e
- str r2, [r0, #0x4]
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,pc}
-_020BD0C4:
- mov r2, r1, lsr #0x2
- b _020BD110
-_020BD0CC:
- mov r1, r1, lsr #0x2
-_020BD0D0:
- ands r2, r12, #0x20000000
- ldreq r2, [r3, r1, lsl #0x3]
- addeq r1, r3, r1, lsl #0x3
- streq r2, [r0, #0x0]
- ldreq r1, [r1, #0x4]
- addeq sp, sp, #0x4
- streq r1, [r0, #0x4]
- ldmeqia sp!, {r4-r5,pc}
-_020BD0F0: ; 0x020BD0F0
- mov r2, r1, lsl #0x2
- ldrsh r2, [r3, r2]
- add r1, r3, r1, lsl #0x2
- add sp, sp, #0x4
- str r2, [r0, #0x0]
- ldrsh r1, [r1, #0x2]
- str r1, [r0, #0x4]
- ldmia sp!, {r4-r5,pc}
-_020BD110:
- ands r1, r12, #0x20000000
- beq _020BD150
- mov r1, r2, lsl #0x2
- add r12, r3, r2, lsl #0x2
- ldrsh r2, [r3, r1]
- ldrsh r1, [r12, #0x4]
- add sp, sp, #0x4
- add r1, r2, r1
- mov r1, r1, asr #0x1
- str r1, [r0, #0x0]
- ldrsh r2, [r12, #0x2]
- ldrsh r1, [r12, #0x6]
- add r1, r2, r1
- mov r1, r1, asr #0x1
- str r1, [r0, #0x4]
- ldmia sp!, {r4-r5,pc}
-_020BD150:
- add r12, r3, r2, lsl #0x3
- ldr r2, [r3, r2, lsl #0x3]
- ldr r1, [r12, #0x8]
- add r1, r2, r1
- mov r1, r1, asr #0x1
- str r1, [r0, #0x0]
- ldr r2, [r12, #0x4]
- ldr r1, [r12, #0xc]
- add r1, r2, r1
- mov r1, r1, asr #0x1
- str r1, [r0, #0x4]
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,pc}
- .balign 4
-_020BD184: .word 0x1FFF0000
-
- arm_func_start FUN_020BD188
-FUN_020BD188: ; 0x020BD188
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- ldrh r4, [r3, #0x4]
- ldr lr, [r2, #0x4]
- mov r12, r1, asr #0xc
- sub r4, r4, #0x1
- cmp r12, r4
- add r4, r3, lr
- ldr lr, [r2, #0x0]
- bne _020BD230
- ands r2, lr, #0xc0000000
- beq _020BD1CC
- ands r2, lr, #0x40000000
- andne r2, r12, #0x1
- addne r12, r2, r12, lsr #0x1
- andeq r2, r12, #0x3
- addeq r12, r2, r12, lsr #0x2
-_020BD1CC:
- ldr r2, [r3, #0x8]
- ands r2, r2, #0x2
- beq _020BD210
- ldr r2, _020BD2E8 ; =0x00000FFF
- ands r3, lr, #0x20000000
- and r3, r1, r2
- movne r1, r12, lsl #0x1
- ldrnesh r2, [r4, r1]
- ldrnesh r1, [r4, #0x0]
- add sp, sp, #0x4
- ldreq r2, [r4, r12, lsl #0x2]
- ldreq r1, [r4, #0x0]
- sub r1, r1, r2
- mul r1, r3, r1
- add r1, r2, r1, asr #0xc
- str r1, [r0, #0x0]
- ldmia sp!, {r4-r5,pc}
-_020BD210:
- ands r1, lr, #0x20000000
- movne r1, r12, lsl #0x1
- ldrnesh r1, [r4, r1]
- add sp, sp, #0x4
- strne r1, [r0, #0x0]
- ldreq r1, [r4, r12, lsl #0x2]
- streq r1, [r0, #0x0]
- ldmia sp!, {r4-r5,pc}
-_020BD230:
- ands r2, lr, #0xc0000000
- beq _020BD298
- ldr r2, _020BD2EC ; =0x1FFF0000
- ands r3, lr, #0x40000000
- and r2, lr, r2
- mov r2, r2, lsr #0x10
- beq _020BD270
- cmp r12, r2
- movcs r12, r2, lsr #0x1
- bhs _020BD298
- ldr r2, _020BD2F0 ; =0x00001FFF
- mov r12, r12, lsr #0x1
- and r5, r1, r2
- mov r2, #0x2
- mov r1, #0x1
- b _020BD2A8
-_020BD270:
- cmp r12, r2
- andcs r2, r12, #0x3
- addcs r12, r2, r12, lsr #0x2
- bhs _020BD298
- ldr r2, _020BD2F4 ; =0x00003FFF
- mov r12, r12, lsr #0x2
- and r5, r1, r2
- mov r2, #0x4
- mov r1, #0x2
- b _020BD2A8
-_020BD298:
- ldr r3, _020BD2E8 ; =0x00000FFF
- mov r2, #0x1
- and r5, r1, r3
- mov r1, #0x0
-_020BD2A8:
- ands r3, lr, #0x20000000
- addne r3, r4, r12, lsl #0x1
- movne lr, r12, lsl #0x1
- ldrnesh r12, [r4, lr]
- ldrnesh r3, [r3, #0x2]
- addeq r3, r4, r12, lsl #0x2
- ldreq r12, [r4, r12, lsl #0x2]
- ldreq r3, [r3, #0x4]
- mul r4, r12, r2
- sub r3, r3, r12
- mul r2, r5, r3
- add r2, r4, r2, asr #0xc
- mov r1, r2, asr r1
- str r1, [r0, #0x0]
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,pc}
- .balign 4
-_020BD2E8: .word 0x00000FFF
-_020BD2EC: .word 0x1FFF0000
-_020BD2F0: .word 0x00001FFF
-_020BD2F4: .word 0x00003FFF
-
- arm_func_start FUN_020BD2F8
-FUN_020BD2F8: ; 0x020BD2F8
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r12, [r2, #0x4]
- ldr r2, [r2, #0x0]
- mov r1, r1, asr #0xc
- add r3, r3, r12
- ands r12, r2, #0xc0000000
- beq _020BD44C
- ldr ip, _020BD46C ; =0x1FFF0000
- ands lr, r2, #0x40000000
- and r12, r2, r12
- mov lr, r12, lsr #0x10
- beq _020BD354
- ands r12, r1, #0x1
- beq _020BD34C
- cmp r1, lr
- movhi r1, lr, lsr #0x1
- addhi r1, r1, #0x1
- bhi _020BD44C
- mov r12, r1, lsr #0x1
- b _020BD400
-_020BD34C:
- mov r1, r1, lsr #0x1
- b _020BD44C
-_020BD354:
- ands r12, r1, #0x3
- beq _020BD3F8
- cmp r1, lr
- addhi r1, r12, lr, lsr #0x2
- bhi _020BD44C
- ands r12, r1, #0x1
- beq _020BD3F0
- ands r12, r1, #0x2
- movne lr, r1, lsr #0x2
- addne r12, lr, #0x1
- moveq r12, r1, lsr #0x2
- addeq lr, r12, #0x1
- ands r1, r2, #0x20000000
- beq _020BD3B4
- mov r2, r12, lsl #0x1
- mov r1, lr, lsl #0x1
- ldrsh r12, [r3, r2]
- ldrsh r2, [r3, r1]
- mov r1, #0x3
- add sp, sp, #0x4
- smlabb r1, r12, r1, r2
- mov r1, r1, asr #0x2
- str r1, [r0, #0x0]
- ldmia sp!, {pc}
-_020BD3B4:
- ldr r12, [r3, r12, lsl #0x2]
- ldr r1, [r3, lr, lsl #0x2]
- mov r2, r12, asr #0x1f
- mov r2, r2, lsl #0x1
- mov r3, r12, lsl #0x1
- orr r2, r2, r12, lsr #0x1f
- adds r3, r3, r12
- adc r2, r2, r12, asr #0x1f
- adds r3, r3, r1
- adc r1, r2, r1, asr #0x1f
- mov r2, r3, lsr #0x2
- orr r2, r2, r1, lsl #0x1e
- str r2, [r0, #0x0]
- add sp, sp, #0x4
- ldmia sp!, {pc}
-_020BD3F0:
- mov r12, r1, lsr #0x2
- b _020BD400
-_020BD3F8:
- mov r1, r1, lsr #0x2
- b _020BD44C
-_020BD400:
- ands r1, r2, #0x20000000
- beq _020BD42C
- mov r2, r12, lsl #0x1
- add r1, r3, r12, lsl #0x1
- ldrsh r2, [r3, r2]
- ldrsh r1, [r1, #0x2]
- add sp, sp, #0x4
- add r1, r2, r1
- mov r1, r1, asr #0x1
- str r1, [r0, #0x0]
- ldmia sp!, {pc}
-_020BD42C:
- add r1, r3, r12, lsl #0x2
- ldr r2, [r3, r12, lsl #0x2]
- ldr r1, [r1, #0x4]
- mov r2, r2, asr #0x1
- add r1, r2, r1, asr #0x1
- str r1, [r0, #0x0]
- add sp, sp, #0x4
- ldmia sp!, {pc}
-_020BD44C:
- ands r2, r2, #0x20000000
- movne r1, r1, lsl #0x1
- ldrnesh r1, [r3, r1]
- strne r1, [r0, #0x0]
- ldreq r1, [r3, r1, lsl #0x2]
- streq r1, [r0, #0x0]
- add sp, sp, #0x4
- ldmia sp!, {pc}
- .balign 4
-_020BD46C: .word 0x1FFF0000
-
- arm_func_start FUN_020BD470
-FUN_020BD470: ; 0x020BD470
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0x34
- mov r9, r0
- add r0, r9, r1, lsl #0x1
- ldrh r0, [r0, #0x14]
- mov r7, r3
- mov r8, r2
- ldr r5, [r9, r0]
- add r1, r9, r0
- ands r0, r5, #0x1
- movne r0, #0x7
- strne r0, [r7, #0x0]
- bne _020BD814
- ldr r0, _020BD848 ; =0x00000FFF
- add r4, r1, #0x4
- ands r0, r8, r0
- beq _020BD4C4
- ldr r0, [r9, #0x8]
- ands r0, r0, #0x1
- movne r6, #0x1
- bne _020BD4C8
-_020BD4C4:
- mov r6, #0x0
-_020BD4C8:
- mov r0, #0x0
- str r0, [r7, #0x0]
- ands r0, r5, #0x6
- bne _020BD5C0
- ands r0, r5, #0x8
- bne _020BD51C
- cmp r6, #0x0
- beq _020BD500
- mov r1, r8
- mov r2, r4
- mov r3, r9
- add r0, r7, #0x4c
- bl FUN_020BD188
- b _020BD514
-_020BD500:
- mov r1, r8
- mov r2, r4
- mov r3, r9
- add r0, r7, #0x4c
- bl FUN_020BD2F8
-_020BD514:
- add r4, r4, #0x8
- b _020BD524
-_020BD51C:
- ldr r0, [r4], #0x4
- str r0, [r7, #0x4c]
-_020BD524:
- ands r0, r5, #0x10
- bne _020BD568
- cmp r6, #0x0
- beq _020BD54C
- mov r1, r8
- mov r2, r4
- mov r3, r9
- add r0, r7, #0x50
- bl FUN_020BD188
- b _020BD560
-_020BD54C:
- mov r1, r8
- mov r2, r4
- mov r3, r9
- add r0, r7, #0x50
- bl FUN_020BD2F8
-_020BD560:
- add r4, r4, #0x8
- b _020BD570
-_020BD568:
- ldr r0, [r4], #0x4
- str r0, [r7, #0x50]
-_020BD570:
- ands r0, r5, #0x20
- bne _020BD5B4
- cmp r6, #0x0
- beq _020BD598
- mov r1, r8
- mov r2, r4
- mov r3, r9
- add r0, r7, #0x54
- bl FUN_020BD188
- b _020BD5AC
-_020BD598:
- mov r1, r8
- mov r2, r4
- mov r3, r9
- add r0, r7, #0x54
- bl FUN_020BD2F8
-_020BD5AC:
- add r4, r4, #0x8
- b _020BD5DC
-_020BD5B4:
- ldr r0, [r4], #0x4
- str r0, [r7, #0x54]
- b _020BD5DC
-_020BD5C0:
- ands r0, r5, #0x2
- ldrne r0, [r7, #0x0]
- orrne r0, r0, #0x4
- strne r0, [r7, #0x0]
- bne _020BD5DC
- mov r0, r7
- bl FUN_020BDA08
-_020BD5DC:
- ands r0, r5, #0xc0
- bne _020BD6A8
- ands r0, r5, #0x100
- bne _020BD628
- cmp r6, #0x0
- beq _020BD60C
- mov r1, r8
- mov r2, r4
- mov r3, r9
- add r0, r7, #0x28
- bl FUN_020BC698
- b _020BD620
-_020BD60C:
- mov r1, r8
- mov r2, r4
- mov r3, r9
- add r0, r7, #0x28
- bl FUN_020BC9D4
-_020BD620:
- add r4, r4, #0x8
- b _020BD6C4
-_020BD628:
- ldr r1, [r9, #0xc]
- ldr r2, [r9, #0x10]
- ldr r3, [r4, #0x0]
- add r0, r7, #0x28
- add r1, r9, r1
- add r2, r9, r2
- bl FUN_020BC500
-_020BD644: ; 0x020BD644
- cmp r0, #0x0
- beq _020BD6A0
- ldr r12, [r7, #0x3c]
- ldr r0, [r7, #0x2c]
- ldr r3, [r7, #0x28]
- ldr r11, [r7, #0x38]
- ldr r1, [r7, #0x30]
- ldr r2, [r7, #0x34]
- mul r10, r0, r12
- mul lr, r1, r11
- sub r10, r10, lr
- mov r10, r10, asr #0xc
- mul lr, r1, r2
- mul r1, r3, r12
- sub r1, lr, r1
- mul r11, r3, r11
- mul r2, r0, r2
- sub r0, r11, r2
- str r10, [r7, #0x40]
- mov r1, r1, asr #0xc
- str r1, [r7, #0x44]
- mov r0, r0, asr #0xc
- str r0, [r7, #0x48]
-_020BD6A0:
- add r4, r4, #0x4
- b _020BD6C4
-_020BD6A8:
- ands r0, r5, #0x40
- ldrne r0, [r7, #0x0]
- orrne r0, r0, #0x2
- strne r0, [r7, #0x0]
- bne _020BD6C4
- mov r0, r7
- bl FUN_020BD850
-_020BD6C4:
- ands r0, r5, #0x600
- bne _020BD7F0
- ands r0, r5, #0x800
- bne _020BD71C
- cmp r6, #0x0
- beq _020BD6F4
- add r0, sp, #0x0
- mov r1, r8
- mov r2, r4
- mov r3, r9
- bl FUN_020BCDC4
- b _020BD708
-_020BD6F4:
- add r0, sp, #0x0
- mov r1, r8
- mov r2, r4
- mov r3, r9
- bl FUN_020BCF70
-_020BD708:
- ldr r1, [sp, #0x0]
- ldr r0, [sp, #0x4]
- str r1, [sp, #0x18]
- str r0, [sp, #0x24]
- b _020BD72C
-_020BD71C:
- ldr r0, [r4, #0x0]
- str r0, [sp, #0x18]
- ldr r0, [r4, #0x4]
- str r0, [sp, #0x24]
-_020BD72C:
- ands r0, r5, #0x1000
- bne _020BD77C
- cmp r6, #0x0
- beq _020BD754
- add r0, sp, #0x8
- mov r1, r8
- mov r3, r9
- add r2, r4, #0x8
- bl FUN_020BCDC4
- b _020BD768
-_020BD754:
- add r0, sp, #0x8
- mov r1, r8
- mov r3, r9
- add r2, r4, #0x8
- bl FUN_020BCF70
-_020BD768:
- ldr r1, [sp, #0x8]
- ldr r0, [sp, #0xc]
- str r1, [sp, #0x1c]
- str r0, [sp, #0x28]
- b _020BD78C
-_020BD77C:
- ldr r0, [r4, #0x8]
- str r0, [sp, #0x1c]
- ldr r0, [r4, #0xc]
- str r0, [sp, #0x28]
-_020BD78C:
- ands r0, r5, #0x2000
- bne _020BD7DC
- cmp r6, #0x0
- beq _020BD7B4
- add r0, sp, #0x10
- mov r1, r8
- mov r3, r9
- add r2, r4, #0x10
- bl FUN_020BCDC4
- b _020BD7C8
-_020BD7B4:
- add r0, sp, #0x10
- mov r1, r8
- mov r3, r9
- add r2, r4, #0x10
- bl FUN_020BCF70
-_020BD7C8:
- ldr r1, [sp, #0x10]
- ldr r0, [sp, #0x14]
- str r1, [sp, #0x20]
- str r0, [sp, #0x2c]
- b _020BD814
-_020BD7DC:
- ldr r0, [r4, #0x10]
- str r0, [sp, #0x20]
- ldr r0, [r4, #0x14]
- str r0, [sp, #0x2c]
- b _020BD814
-_020BD7F0:
- ands r0, r5, #0x200
- ldrne r0, [r7, #0x0]
- orrne r0, r0, #0x1
- strne r0, [r7, #0x0]
- bne _020BD814
- mov r0, r7
- bl FUN_020BD9A4
- add sp, sp, #0x34
- ldmia sp!, {r4-r11,pc}
-_020BD814:
- ldr r0, [r7, #0x0]
- add r1, sp, #0x18
- ands r0, r0, #0x1
- ldr r0, _020BD84C ; =0x021CEF7C
- movne r3, #0x4
- ldr r4, [r0, #0x0]
- moveq r3, #0x0
- ldr r2, [r4, #0x0]
- ldr r4, [r4, #0xe8]
- mov r0, r7
- blx r4
- add sp, sp, #0x34
- ldmia sp!, {r4-r11,pc}
- .balign 4
-_020BD848: .word 0x00000FFF
-_020BD84C: .word 0x021CEF7C
-
- arm_func_start FUN_020BD850
-FUN_020BD850: ; 0x020BD850
- stmdb sp!, {r4-r8,lr}
- ldr r1, _020BD990 ; =0x021CEF7C
- mov r8, r0
- ldr r0, [r1, #0x0]
- ldr r3, [r0, #0xd4]
- ldr r0, [r0, #0x0]
- ldrh r2, [r3, #0x6]
- ldrb r0, [r0, #0x1]
- ldrh r1, [r3, r2]
- add r2, r3, r2
- mla r0, r1, r0, r2
- ldr r0, [r0, #0x4]
- ldrh r2, [r3, r0]
- add r4, r3, r0
- add r1, r4, #0x4
- ands r0, r2, #0x1
- addeq r1, r1, #0xc
- ands r0, r2, #0x2
- bne _020BD980
- ands r0, r2, #0x8
- beq _020BD934
- and r2, r2, #0xf0
- add r0, r8, #0x28
- mov r5, r2, asr #0x4
- ldrsh r7, [r1, #0x0]
- ldrsh r6, [r1, #0x2]
- blx MI_Zero36B
- ldrh r0, [r4, #0x0]
- add r1, r8, r5, lsl #0x2
- ands r0, r0, #0x100
- movne r0, #0x1000
- rsbne r2, r0, #0x0
- moveq r2, #0x1000
- ldr r0, _020BD994 ; =0x020FFA14
- str r2, [r1, #0x28]
- ldrb r1, [r0, r5, lsl #0x2]
- ldr r0, _020BD998 ; =0x020FFA15
- add r1, r8, r1, lsl #0x2
- str r7, [r1, #0x28]
- ldrb r0, [r0, r5, lsl #0x2]
- add r0, r8, r0, lsl #0x2
- str r6, [r0, #0x28]
- ldrh r0, [r4, #0x0]
- ands r0, r0, #0x200
- ldr r0, _020BD99C ; =0x020FFA16
- rsbne r6, r6, #0x0
- ldrb r0, [r0, r5, lsl #0x2]
- add r0, r8, r0, lsl #0x2
- str r6, [r0, #0x28]
- ldrh r0, [r4, #0x0]
- ands r0, r0, #0x400
- ldr r0, _020BD9A0 ; =0x020FFA17
- rsbne r7, r7, #0x0
- ldrb r0, [r0, r5, lsl #0x2]
- add r0, r8, r0, lsl #0x2
- str r7, [r0, #0x28]
- ldmia sp!, {r4-r8,pc}
-_020BD934:
- ldrsh r0, [r4, #0x2]
- str r0, [r8, #0x28]
- ldrsh r0, [r1, #0x0]
- str r0, [r8, #0x2c]
- ldrsh r0, [r1, #0x2]
- str r0, [r8, #0x30]
- ldrsh r0, [r1, #0x4]
- str r0, [r8, #0x34]
- ldrsh r0, [r1, #0x6]
- str r0, [r8, #0x38]
- ldrsh r0, [r1, #0x8]
- str r0, [r8, #0x3c]
- ldrsh r0, [r1, #0xa]
- str r0, [r8, #0x40]
- ldrsh r0, [r1, #0xc]
- str r0, [r8, #0x44]
- ldrsh r0, [r1, #0xe]
- str r0, [r8, #0x48]
- ldmia sp!, {r4-r8,pc}
-_020BD980:
- ldr r0, [r8, #0x0]
- orr r0, r0, #0x2
- str r0, [r8, #0x0]
- ldmia sp!, {r4-r8,pc}
- .balign 4
-_020BD990: .word 0x021CEF7C
-_020BD994: .word 0x020FFA14
-_020BD998: .word 0x020FFA15
-_020BD99C: .word 0x020FFA16
-_020BD9A0: .word 0x020FFA17
-
- arm_func_start FUN_020BD9A4
-FUN_020BD9A4: ; 0x020BD9A4
- stmdb sp!, {r4,lr}
- ldr r1, _020BDA04 ; =0x021CEF7C
- ldr r12, [r1, #0x0]
- ldr r4, [r12, #0xd4]
- ldr r2, [r12, #0x0]
- ldrh lr, [r4, #0x6]
- ldrb r1, [r2, #0x1]
- ldrh r3, [r4, lr]
- add lr, r4, lr
- mla r1, r3, r1, lr
- ldr r1, [r1, #0x4]
- ldrh r3, [r4, r1]
- add r1, r4, r1
- add r1, r1, #0x4
- ands lr, r3, #0x1
- addeq r1, r1, #0xc
- ands lr, r3, #0x2
- bne _020BD9F8
- ands lr, r3, #0x8
- addne r1, r1, #0x4
- addeq r1, r1, #0x10
-_020BD9F8:
- ldr r12, [r12, #0xe8]
- blx r12
- ldmia sp!, {r4,pc}
- .balign 4
-_020BDA04: .word 0x021CEF7C
-
- arm_func_start FUN_020BDA08
-FUN_020BDA08: ; 0x020BDA08
- ldr r1, _020BDA6C ; =0x021CEF7C
- ldr r1, [r1, #0x0]
- ldr r12, [r1, #0xd4]
- ldr r1, [r1, #0x0]
- ldrh r3, [r12, #0x6]
- ldrb r1, [r1, #0x1]
- ldrh r2, [r12, r3]
- add r3, r12, r3
- mla r1, r2, r1, r3
- ldr r2, [r1, #0x4]
- ldrh r1, [r12, r2]
- add r2, r12, r2
- ands r1, r1, #0x1
- ldrne r1, [r0, #0x0]
- orrne r1, r1, #0x4
- strne r1, [r0, #0x0]
- bxne lr
- ldr r1, [r2, #0x4]
- add r2, r2, #0x4
- str r1, [r0, #0x4c]
- ldr r1, [r2, #0x4]
- str r1, [r0, #0x50]
- ldr r1, [r2, #0x8]
- str r1, [r0, #0x54]
- bx lr
- .balign 4
-_020BDA6C: .word 0x021CEF7C
-
- arm_func_start FUN_020BDA70
-FUN_020BDA70: ; 0x020BDA70
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- mov r3, r0
- ldr r0, [r1, #0x8]
- ldr r12, [r1, #0x0]
- ldrh r1, [r0, #0x4]
- mov r1, r1, lsl #0xc
- cmp r12, r1
- subge r12, r1, #0x1
- bge _020BDAA0
- cmp r12, #0x0
- movlt r12, #0x0
-_020BDAA0:
- mov r1, r2
- mov r2, r12
- bl FUN_020BD470
- add sp, sp, #0x4
- ldmia sp!, {pc}
-
- arm_func_start FUN_020BDAB4
-FUN_020BDAB4: ; 0x020BDAB4
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r5, r0
- mov r4, r1
- ldr r0, _020BDB3C ; =0x0210659C
- str r4, [r5, #0x8]
- ldr r0, [r0, #0x0]
- add r1, r5, #0x1a
- str r0, [r5, #0xc]
- ldrb r2, [r2, #0x17]
- mov r0, #0x0
- strb r2, [r5, #0x19]
- ldrb r2, [r5, #0x19]
- mov r2, r2, lsl #0x1
- bl MIi_CpuClear16
- ldrh r0, [r4, #0x6]
- add r2, r4, #0x14
- mov r3, #0x0
- cmp r0, #0x0
- addls sp, sp, #0x4
- ldmlsia sp!, {r4-r5,pc}
-_020BDB08:
- mov r0, r3, lsl #0x1
- ldrh r1, [r2, r0]
- add r0, r5, r3, lsl #0x1
- add r3, r3, #0x1
- ldr r1, [r4, r1]
- mov r1, r1, lsr #0x18
- orr r1, r1, #0x100
- strh r1, [r0, #0x1a]
- ldrh r0, [r4, #0x6]
- cmp r3, r0
- blo _020BDB08
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,pc}
- .balign 4
-_020BDB3C: .word 0x0210659C
-
- arm_func_start FUN_020BDB40
-FUN_020BDB40: ; 0x020BDB40
- stmdb sp!, {r4-r8,lr}
- ldr r7, [r1, #0x8]
- mov r2, r2, lsl #0x10
- ldrh r4, [r7, #0xe]
- add r5, r7, #0x8
- ldr r6, [r1, #0x0]
- ldrh r3, [r5, r4]
- mov r1, r2, lsr #0x10
- add r2, r5, r4
- mul r4, r3, r1
- add r3, r2, #0x4
- mov r6, r6, asr #0xc
- mov r8, r0
- ldr r1, [r3, r4]
- mov r0, r7
- mov r2, r6
- add r5, r3, r4
- bl FUN_020BDDAC
- mov r4, r0
- ldr r1, [r5, #0x4]
- mov r0, r7
- mov r2, r6
- bl FUN_020BDDAC
- ldr r1, [r8, #0x4]
- mov r2, r6
- and r1, r1, #0x8000
- orr r1, r1, r4
- orr r0, r1, r0, lsl #0x10
- str r0, [r8, #0x4]
- mov r0, r7
- ldr r1, [r5, #0xc]
- bl FUN_020BDDAC
- mov r4, r0
- mov r0, r7
- ldr r1, [r5, #0x8]
- mov r2, r6
- bl FUN_020BDDAC
- mov r2, r6
- ldr r1, [r8, #0x8]
- and r1, r1, #0x8000
- orr r0, r1, r0
- orr r0, r0, r4, lsl #0x10
- str r0, [r8, #0x8]
- mov r0, r7
- ldr r1, [r5, #0x10]
- bl FUN_020BDCB8
- ldr r1, [r8, #0xc]
- bic r1, r1, #0x1f0000
- orr r0, r1, r0, lsl #0x10
- str r0, [r8, #0xc]
- ldmia sp!, {r4-r8,pc}
-
- arm_func_start FUN_020BDC0C
-FUN_020BDC0C: ; 0x020BDC0C
- stmdb sp!, {r4-r9,lr}
- sub sp, sp, #0x4
- ldr r3, _020BDCB4 ; =0x021065A8
- ldr r4, [r2, #0x8]
- ldr r3, [r3, #0x0]
- mov r9, r0
- str r3, [r9, #0xc]
- ldrb r0, [r2, #0x18]
- mov r8, r1
- add r4, r2, r4
- strb r0, [r9, #0x19]
- ldrb r2, [r9, #0x19]
- add r1, r9, #0x1a
- mov r0, #0x0
- mov r2, r2, lsl #0x1
- bl MIi_CpuClear16
- ldrb r0, [r8, #0x9]
- mov r7, #0x0
- cmp r0, #0x0
- addls sp, sp, #0x4
- ldmlsia sp!, {r4-r9,pc}
-_020BDC60: ; 0x020BDC60
- mov r6, r7
- add r5, r8, #0x8
- add r4, r4, #0x4
-_020BDC6C:
- ldrh r1, [r8, #0xe]
- mov r0, r4
- add r2, r5, r1
- ldrh r1, [r2, #0x2]
- add r1, r2, r1
- add r1, r1, r6
- bl FUN_020BC14C
-_020BDC88: ; 0x020BDC88
- cmp r0, #0x0
- orrge r1, r7, #0x100
- addge r0, r9, r0, lsl #0x1
- strgeh r1, [r0, #0x1a]
- ldrb r0, [r8, #0x9]
- add r7, r7, #0x1
- add r6, r6, #0x10
- cmp r7, r0
- blo _020BDC6C
- add sp, sp, #0x4
- ldmia sp!, {r4-r9,pc}
- .balign 4
-_020BDCB4: .word 0x021065A8
-
- arm_func_start FUN_020BDCB8
-FUN_020BDCB8: ; 0x020BDCB8
- ands r3, r1, #0x20000000
- movne r0, r1, lsl #0x10
- movne r0, r0, lsr #0x10
- bxne lr
- ldr r3, _020BDDA4 ; =0x0000FFFF
- ands r12, r1, #0xc0000000
- and r3, r1, r3
- add r0, r0, r3
- ldreqb r0, [r0, r2]
- bxeq lr
- ldr r3, _020BDDA8 ; =0x1FFF0000
- ands r12, r1, #0x40000000
- and r1, r1, r3
- mov r3, r1, lsr #0x10
- beq _020BDD30
- ands r1, r2, #0x1
- beq _020BDD28
- cmp r2, r3
- addhi r0, r0, r3, lsr #0x1
- ldrhib r0, [r0, #0x1]
- bxhi lr
- add r1, r0, r2, lsr #0x1
- ldrb r2, [r0, r2, lsr #0x1]
- ldrb r0, [r1, #0x1]
- add r0, r2, r0
- mov r0, r0, lsl #0xf
- mov r0, r0, lsr #0x10
- bx lr
-_020BDD28:
- ldrb r0, [r0, r2, lsr #0x1]
- bx lr
-_020BDD30:
- ands r1, r2, #0x3
- beq _020BDD9C
- cmp r2, r3
- addhi r0, r0, r3, lsr #0x2
- ldrhib r0, [r1, r0]
- bxhi lr
- ands r1, r2, #0x1
- beq _020BDD80
- ands r1, r2, #0x2
- movne r1, r2, lsr #0x2
- addne r2, r1, #0x1
- moveq r2, r2, lsr #0x2
- addeq r1, r2, #0x1
- ldrb r2, [r0, r2]
- ldrb r1, [r0, r1]
- mov r0, #0x3
- mla r0, r2, r0, r1
- mov r0, r0, lsl #0xe
- mov r0, r0, lsr #0x10
- bx lr
-_020BDD80:
- add r1, r0, r2, lsr #0x2
- ldrb r2, [r0, r2, lsr #0x2]
- ldrb r0, [r1, #0x1]
- add r0, r2, r0
- mov r0, r0, lsl #0xf
- mov r0, r0, lsr #0x10
- bx lr
-_020BDD9C:
- ldrb r0, [r0, r2, lsr #0x2]
- bx lr
- .balign 4
-_020BDDA4: .word 0x0000FFFF
-_020BDDA8: .word 0x1FFF0000
-
- arm_func_start FUN_020BDDAC
-FUN_020BDDAC: ; 0x020BDDAC
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ands r3, r1, #0x20000000
- movne r0, r1, lsl #0x10
- addne sp, sp, #0x4
- movne r0, r0, lsr #0x10
- ldmneia sp!, {pc}
- ldr r3, _020BDF2C ; =0x0000FFFF
- ands r12, r1, #0xc0000000
- and r3, r1, r3
- add r0, r0, r3
- moveq r1, r2, lsl #0x1
- addeq sp, sp, #0x4
- ldreqh r0, [r0, r1]
- ldmeqia sp!, {pc}
- ldr r3, _020BDF30 ; =0x1FFF0000
- ands r12, r1, #0x40000000
- and r1, r1, r3
- mov r3, r1, lsr #0x10
- beq _020BDE34
- ands r1, r2, #0x1
- beq _020BDE24
- cmp r2, r3
- bichi r1, r3, #0x1
- addhi r0, r0, r1
- addhi sp, sp, #0x4
- ldrhih r0, [r0, #0x2]
- ldmhiia sp!, {pc}
- mov r1, r2, lsr #0x1
- b _020BDEE0
-_020BDE24:
- bic r1, r2, #0x1
- add sp, sp, #0x4
- ldrh r0, [r0, r1]
- ldmia sp!, {pc}
-_020BDE34:
- ands r1, r2, #0x3
- beq _020BDECC
- cmp r2, r3
- movhi r2, r3, lsr #0x2
- movhi r1, r1, lsl #0x1
- addhi r0, r0, r2, lsl #0x1
- addhi sp, sp, #0x4
- ldrhih r0, [r1, r0]
- ldmhiia sp!, {pc}
- ands r1, r2, #0x1
- beq _020BDEC4
- ands r1, r2, #0x2
- movne r1, r2, lsr #0x2
- addne r2, r1, #0x1
- moveq r2, r2, lsr #0x2
- addeq r1, r2, #0x1
- mov r2, r2, lsl #0x1
- mov r1, r1, lsl #0x1
- ldrh r12, [r0, r2]
- ldrh lr, [r0, r1]
- ldr r0, _020BDF34 ; =0x00007C1F
- and r3, r12, #0x3e0
- and r2, lr, #0x3e0
- mov r1, #0x3
- mla r2, r3, r1, r2
- and r12, r12, r0
- and r3, lr, r0
- mla r1, r12, r1, r3
- mov r2, r2, lsr #0x2
- and r1, r0, r1, lsr #0x2
- and r0, r2, #0x3e0
- orr r0, r1, r0
- mov r0, r0, lsl #0x10
- add sp, sp, #0x4
- mov r0, r0, lsr #0x10
- ldmia sp!, {pc}
-_020BDEC4:
- mov r1, r2, lsr #0x2
- b _020BDEE0
-_020BDECC:
- mov r1, r2, lsr #0x2
- mov r1, r1, lsl #0x1
- add sp, sp, #0x4
- ldrh r0, [r0, r1]
- ldmia sp!, {pc}
-_020BDEE0:
- mov r2, r1, lsl #0x1
- add r1, r0, r1, lsl #0x1
- ldrh r3, [r0, r2]
- ldrh r12, [r1, #0x2]
- ldr r0, _020BDF34 ; =0x00007C1F
- and r2, r3, #0x3e0
- and r1, r12, #0x3e0
- add r1, r2, r1
- mov r1, r1, lsr #0x1
- and r3, r3, r0
- and r2, r12, r0
- add r2, r3, r2
- and r2, r0, r2, lsr #0x1
- and r0, r1, #0x3e0
- orr r0, r2, r0
- mov r0, r0, lsl #0x10
- mov r0, r0, lsr #0x10
- add sp, sp, #0x4
- ldmia sp!, {pc}
- .balign 4
-_020BDF2C: .word 0x0000FFFF
-_020BDF30: .word 0x1FFF0000
-_020BDF34: .word 0x00007C1F
-
- arm_func_start FUN_020BDF38
-FUN_020BDF38: ; 0x020BDF38
- stmdb sp!, {r4,lr}
- ldr r12, [r1, #0x0]
- mov r4, r0
- mov r2, r2, lsl #0x10
- ldr r0, [r1, #0x8]
- mov r1, r2, lsr #0x10
- mov r3, r4
- mov r2, r12, asr #0xc
- bl FUN_020BE030
- ldr r0, [r4, #0x10]
- bic r0, r0, #0xc0000000
- str r0, [r4, #0x10]
- ldr r0, [r4, #0x10]
- orr r0, r0, #0x40000000
- str r0, [r4, #0x10]
- ldr r0, [r4, #0x0]
- orr r0, r0, #0x8
- str r0, [r4, #0x0]
- ldmia sp!, {r4,pc}
-
- arm_func_start FUN_020BDF84
-FUN_020BDF84: ; 0x020BDF84
- stmdb sp!, {r4-r9,lr}
- sub sp, sp, #0x4
- ldr r3, _020BE02C ; =0x021065A0
- ldr r4, [r2, #0x8]
- ldr r3, [r3, #0x0]
- mov r9, r0
- str r3, [r9, #0xc]
- ldrb r0, [r2, #0x18]
- mov r8, r1
- add r4, r2, r4
- strb r0, [r9, #0x19]
- ldrb r2, [r9, #0x19]
- add r1, r9, #0x1a
- mov r0, #0x0
- mov r2, r2, lsl #0x1
- bl MIi_CpuClear16
- ldrb r0, [r8, #0x9]
- mov r7, #0x0
- cmp r0, #0x0
- addls sp, sp, #0x4
- ldmlsia sp!, {r4-r9,pc}
-_020BDFD8: ; 0x020BDFD8
- mov r6, r7
- add r5, r8, #0x8
- add r4, r4, #0x4
-_020BDFE4:
- ldrh r1, [r8, #0xe]
- mov r0, r4
- add r2, r5, r1
- ldrh r1, [r2, #0x2]
- add r1, r2, r1
- add r1, r1, r6
- bl FUN_020BC14C
-_020BE000: ; 0x020BE000
- cmp r0, #0x0
- orrge r1, r7, #0x100
- addge r0, r9, r0, lsl #0x1
- strgeh r1, [r0, #0x1a]
- ldrb r0, [r8, #0x9]
- add r7, r7, #0x1
- add r6, r6, #0x10
- cmp r7, r0
- blo _020BDFE4
- add sp, sp, #0x4
- ldmia sp!, {r4-r9,pc}
- .balign 4
-_020BE02C: .word 0x021065A0
-
- arm_func_start FUN_020BE030
-FUN_020BE030: ; 0x020BE030
- stmdb sp!, {r4-r9,lr}
- sub sp, sp, #0x4
- mov r8, r0
- ldrh r4, [r8, #0xe]
- add r5, r8, #0x8
- mov r6, r3
- ldrh r3, [r5, r4]
- add r4, r5, r4
- add r4, r4, #0x4
- mla r5, r3, r1, r4
- mov r7, r2
- ldr r1, [r5, #0x18]
- ldr r2, [r5, #0x1c]
- mov r3, r7
- ldr r4, [r6, #0x0]
- bl FUN_020BE238
- mov r9, r0
- ldr r1, [r5, #0x20]
- mov r0, r8
- ldr r2, [r5, #0x24]
- mov r3, r7
- bl FUN_020BE238
-_020BE088: ; 0x020BE088
- cmp r9, #0x0
- bne _020BE09C
- cmp r0, #0x0
- orreq r4, r4, #0x4
- beq _020BE0A8
-_020BE09C:
- str r9, [r6, #0x24]
- str r0, [r6, #0x28]
- bic r4, r4, #0x4
-_020BE0A8:
- ldr r1, [r5, #0x10]
- ldr r2, [r5, #0x14]
- mov r0, r8
- mov r3, r7
- bl FUN_020BE12C
- cmp r0, #0x10000000
- strneh r0, [r6, #0x20]
- movne r0, r0, lsr #0x10
- strneh r0, [r6, #0x22]
- orreq r4, r4, #0x2
- ldr r1, [r5, #0x0]
- ldr r2, [r5, #0x4]
- mov r0, r8
- mov r3, r7
- bicne r4, r4, #0x2
- bl FUN_020BE238
- mov r9, r0
- ldr r1, [r5, #0x8]
- ldr r2, [r5, #0xc]
- mov r0, r8
- mov r3, r7
- bl FUN_020BE238
- cmp r9, #0x1000
- bne _020BE114
- cmp r0, #0x1000
- orreq r4, r4, #0x1
- beq _020BE120
-_020BE114:
- str r9, [r6, #0x18]
- str r0, [r6, #0x1c]
- bic r4, r4, #0x1
-_020BE120:
- str r4, [r6, #0x0]
- add sp, sp, #0x4
- ldmia sp!, {r4-r9,pc}
-
- arm_func_start FUN_020BE12C
-FUN_020BE12C: ; 0x020BE12C
- ands r12, r1, #0x20000000
- movne r0, r2
- bxne lr
- add r0, r0, r2
- ands r2, r1, #0xc0000000
- beq _020BE1F8
- ldr r2, _020BE234 ; =0x0000FFFF
- ands r12, r1, #0x40000000
- and r2, r1, r2
- beq _020BE17C
- ands r1, r3, #0x1
- beq _020BE174
- cmp r3, r2
- movhi r1, r2, lsr #0x1
- addhi r3, r1, #0x1
- bhi _020BE1F8
- mov r2, r3, lsr #0x1
- b _020BE200
-_020BE174:
- mov r3, r3, lsr #0x1
- b _020BE1F8
-_020BE17C:
- ands r1, r3, #0x3
- beq _020BE1F4
- cmp r3, r2
- addhi r3, r1, r2, lsr #0x2
- bhi _020BE1F8
- ands r1, r3, #0x1
- beq _020BE1EC
- ands r1, r3, #0x2
- movne r1, r3, lsr #0x2
- addne r2, r1, #0x1
- moveq r2, r3, lsr #0x2
- addeq r1, r2, #0x1
- mov r12, r2, lsl #0x2
- add r3, r0, r2, lsl #0x2
- mov r2, r1, lsl #0x2
- add r1, r0, r1, lsl #0x2
- ldrsh r12, [r0, r12]
- ldrsh r2, [r0, r2]
- mov r0, #0x3
- ldrsh r3, [r3, #0x2]
- ldrsh r1, [r1, #0x2]
- mla r2, r12, r0, r2
- mla r1, r3, r0, r1
- ldr r0, _020BE234 ; =0x0000FFFF
- mov r1, r1, asr #0x2
- and r0, r0, r2, asr #0x2
- orr r0, r0, r1, lsl #0x10
- bx lr
-_020BE1EC:
- mov r2, r3, lsr #0x2
- b _020BE200
-_020BE1F4:
- mov r3, r3, lsr #0x2
-_020BE1F8:
- ldr r0, [r0, r3, lsl #0x2]
- bx lr
-_020BE200:
- add r1, r0, r2, lsl #0x2
- mov r2, r2, lsl #0x2
- ldrsh r12, [r0, r2]
- ldrsh r3, [r1, #0x4]
- ldrsh r2, [r1, #0x2]
- ldrsh r1, [r1, #0x6]
- ldr r0, _020BE234 ; =0x0000FFFF
- add r3, r12, r3
- add r1, r2, r1
- and r2, r0, r3, asr #0x1
- mov r0, r1, asr #0x1
- orr r0, r2, r0, lsl #0x10
- bx lr
- .balign 4
-_020BE234: .word 0x0000FFFF
-
- arm_func_start FUN_020BE238
-FUN_020BE238:
- ands r12, r1, #0x20000000
- movne r0, r2
- bxne lr
- add r0, r0, r2
- ands r2, r1, #0xc0000000
- beq _020BE2F0
- ldr r2, _020BE330 ; =0x0000FFFF
- ands r12, r1, #0x40000000
- and r12, r1, r2
- beq _020BE288
- ands r2, r3, #0x1
- beq _020BE280
- cmp r3, r12
- movhi r2, r12, lsr #0x1
- addhi r3, r2, #0x1
- bhi _020BE2F0
- mov r3, r3, lsr #0x1
- b _020BE304
-_020BE280:
- mov r3, r3, lsr #0x1
- b _020BE2F0
-_020BE288:
- ands r2, r3, #0x3
- beq _020BE2EC
- cmp r3, r12
- addhi r3, r2, r12, lsr #0x2
- bhi _020BE2F0
- ands r2, r3, #0x1
- beq _020BE2E4
- ands r2, r3, #0x2
- movne r3, r3, lsr #0x2
- addne r2, r3, #0x1
- moveq r2, r3, lsr #0x2
- addeq r3, r2, #0x1
- ands r1, r1, #0x10000000
- movne r2, r2, lsl #0x1
- movne r1, r3, lsl #0x1
- ldrnesh r2, [r0, r2]
- ldrnesh r1, [r0, r1]
- ldreq r2, [r0, r2, lsl #0x2]
- ldreq r1, [r0, r3, lsl #0x2]
- mov r0, #0x3
- mla r0, r2, r0, r1
- mov r0, r0, asr #0x2
- bx lr
-_020BE2E4:
- mov r3, r3, lsr #0x2
- b _020BE304
-_020BE2EC:
- mov r3, r3, lsr #0x2
-_020BE2F0:
- ands r1, r1, #0x10000000
- movne r1, r3, lsl #0x1
- ldrnesh r0, [r0, r1]
- ldreq r0, [r0, r3, lsl #0x2]
- bx lr
-_020BE304:
- ands r1, r1, #0x10000000
- movne r2, r3, lsl #0x1
- addne r1, r0, r3, lsl #0x1
- ldrnesh r2, [r0, r2]
- ldrnesh r0, [r1, #0x2]
- addeq r1, r0, r3, lsl #0x2
- ldreq r2, [r0, r3, lsl #0x2]
- ldreq r0, [r1, #0x4]
- add r0, r2, r0
- mov r0, r0, asr #0x1
- bx lr
- .balign 4
-_020BE330: .word 0x0000FFFF
-
- arm_func_start FUN_020BE334
-FUN_020BE334: ; 0x020BE334
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- mov r6, r1
- ldr r3, [r6, #0x0]
- ldr r5, [r6, #0x8]
- mov r1, r2, lsl #0x10
- mov r2, r3, lsl #0x4
- mov r7, r0
- mov r0, r5
- mov r1, r1, lsr #0x10
- mov r2, r2, lsr #0x10
- bl FUN_020BC42C
- mov r4, r0
- ldrb r1, [r4, #0x2]
- mov r0, r5
- bl FUN_020BC4B8
- mov r1, r0
- ldr r0, [r6, #0x14]
- mov r2, r7
- bl FUN_020BE408
- ldrb r1, [r4, #0x3]
- cmp r1, #0xff
- addeq sp, sp, #0x4
- ldmeqia sp!, {r4-r7,pc}
-_020BE394: ; 0x020BE394
- mov r0, r5
- bl FUN_020BC4A8
- mov r1, r0
- ldr r0, [r6, #0x14]
- mov r2, r7
- bl FUN_020BE3B4
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,pc}
-
- arm_func_start FUN_020BE3B4
-FUN_020BE3B4: ; 0x020BE3B4
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r5, r0
- ldrh r0, [r5, #0x34]
- mov r4, r2
- add r0, r5, r0
- bl FUN_020BC2A0
- ldr r1, [r5, #0x2c]
- ldrh r2, [r0, #0x2]
- mov r1, r1, lsl #0x10
- mov r3, r1, lsr #0x10
- ands r1, r2, #0x1
- ldrh r0, [r0, #0x0]
- moveq r1, r3, lsl #0xf
- moveq r3, r1, lsr #0x10
- moveq r0, r0, lsl #0xf
- moveq r0, r0, lsr #0x10
- add r0, r0, r3
- str r0, [r4, #0x14]
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,pc}
-
- arm_func_start FUN_020BE408
-FUN_020BE408: ; 0x020BE408
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r5, r0
- add r0, r5, #0x3c
- mov r4, r2
- bl FUN_020BC2A0
- ldr r1, [r0, #0x0]
- ldr r3, [r4, #0x10]
- and r1, r1, #0x1c000000
- cmp r1, #0x14000000
- ldrne r2, [r5, #0x8]
- ldrne r1, _020BE4E0 ; =0x0000FFFF
- andne r5, r2, r1
- ldreq r2, [r5, #0x18]
- ldreq r1, _020BE4E0 ; =0x0000FFFF
- andeq r5, r2, r1
- ldr r1, _020BE4E4 ; =0xC00F0000
- ldr r2, _020BE4E8 ; =0x000007FF
- and r1, r3, r1
- str r1, [r4, #0x10]
- ldr r1, [r0, #0x0]
- ldr r3, [r4, #0x10]
- add r1, r1, r5
- orr r1, r3, r1
- str r1, [r4, #0x10]
- ldr r3, [r0, #0x4]
- ldr r1, _020BE4EC ; =0x003FF800
- and r3, r3, r2
- strh r3, [r4, #0x2c]
- ldr r3, [r0, #0x4]
- and r1, r3, r1
- mov r1, r1, lsr #0xb
- strh r1, [r4, #0x2e]
- ldr r3, [r0, #0x4]
- ldrh r1, [r4, #0x2c]
- and r0, r3, r2
- and r5, r2, r3, lsr #0xb
- cmp r0, r1
- moveq r0, #0x1000
- beq _020BE4B4
- mov r0, r0, lsl #0xc
- mov r1, r1, lsl #0xc
- bl FX_Div
-_020BE4B4:
- str r0, [r4, #0x30]
- ldrh r1, [r4, #0x2e]
- cmp r5, r1
- moveq r0, #0x1000
- beq _020BE4D4
- mov r0, r5, lsl #0xc
- mov r1, r1, lsl #0xc
- bl FX_Div
-_020BE4D4:
- str r0, [r4, #0x34]
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,pc}
- .balign 4
-_020BE4E0: .word 0x0000FFFF
-_020BE4E4: .word 0xC00F0000
-_020BE4E8: .word 0x000007FF
-_020BE4EC: .word 0x003FF800
-
- arm_func_start FUN_020BE4F0
-FUN_020BE4F0: ; 0x020BE4F0
- stmdb sp!, {r4-r9,lr}
- sub sp, sp, #0x4
- ldr r3, _020BE59C ; =0x021065A4
- ldr r4, [r2, #0x8]
- ldr r3, [r3, #0x0]
- mov r9, r0
- str r3, [r9, #0xc]
- ldrb r0, [r2, #0x18]
- mov r8, r1
- add r4, r2, r4
- strb r0, [r9, #0x19]
- str r8, [r9, #0x8]
- ldrb r2, [r9, #0x19]
- add r1, r9, #0x1a
- mov r0, #0x0
- mov r2, r2, lsl #0x1
- bl MIi_CpuClear16
- ldrb r0, [r8, #0xd]
- mov r7, #0x0
- cmp r0, #0x0
- addls sp, sp, #0x4
- ldmlsia sp!, {r4-r9,pc}
-_020BE548: ; 0x020BE548
- mov r6, r7
- add r5, r8, #0xc
- add r4, r4, #0x4
-_020BE554:
- ldrh r1, [r8, #0x12]
- mov r0, r4
- add r2, r5, r1
- ldrh r1, [r2, #0x2]
- add r1, r2, r1
- add r1, r1, r6
- bl FUN_020BC14C
-_020BE570: ; 0x020BE570
- cmp r0, #0x0
- orrge r1, r7, #0x100
- addge r0, r9, r0, lsl #0x1
- strgeh r1, [r0, #0x1a]
- ldrb r0, [r8, #0xd]
- add r7, r7, #0x1
- add r6, r6, #0x10
- cmp r7, r0
- blo _020BE554
- add sp, sp, #0x4
- ldmia sp!, {r4-r9,pc}
- .balign 4
-_020BE59C: .word 0x021065A4
-
- arm_func_start FUN_020BE5A0
-FUN_020BE5A0: ; 0x020BE5A0
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr lr, [r1, #0x8]
- ldr r3, [r1, #0x0]
- ldrh r1, [lr, #0x6]
- mov r12, r3, asr #0xc
- mov r3, #0x1
- mla r2, r12, r1, r2
- mov r1, r2, lsr #0x5
- add r1, lr, r1, lsl #0x2
- ldr r1, [r1, #0xc]
- and r2, r2, #0x1f
- and r1, r1, r3, lsl r2
- str r1, [r0, #0x0]
- add sp, sp, #0x4
- ldmia sp!, {pc}
-
- arm_func_start FUN_020BE5E0
-FUN_020BE5E0: ; 0x020BE5E0
- ldr r3, _020BE628 ; =0x02106598
- mov r12, #0x0
- ldr r3, [r3, #0x0]
- str r3, [r0, #0xc]
- ldrb r2, [r2, #0x17]
- strb r2, [r0, #0x19]
- str r1, [r0, #0x8]
- ldrb r1, [r0, #0x19]
- cmp r1, #0x0
- bxls lr
-_020BE608:
- orr r2, r12, #0x100
- add r1, r0, r12, lsl #0x1
- strh r2, [r1, #0x1a]
- ldrb r1, [r0, #0x19]
- add r12, r12, #0x1
- cmp r12, r1
- blo _020BE608
- bx lr
- .balign 4
-_020BE628: .word 0x02106598
-
- arm_func_start FUN_020BE62C
-FUN_020BE62C: ; 0x020BE62C
- ands r2, r3, #0x4
- ldrne r1, [r0, #0x0]
- orrne r1, r1, #0x1
- strne r1, [r0, #0x0]
- bne _020BE658
-
- arm_func_start FUN_020BE640
-FUN_020BE640: ; 0x020BE640
- ldr r2, [r1, #0x0]
- str r2, [r0, #0x4]
- ldr r2, [r1, #0x4]
- str r2, [r0, #0x8]
- ldr r1, [r1, #0x8]
- str r1, [r0, #0xc]
-_020BE658:
- ldr r1, [r0, #0x0]
- orr r1, r1, #0x18
- str r1, [r0, #0x0]
- bx lr
-
- arm_func_start FUN_020BE668
-FUN_020BE668: ; 0x020BE668
- stmdb sp!, {r4,lr}
- mov r4, r0
- ldr r1, [r4, #0x0]
- ands r0, r1, #0x4
- bne _020BE6AC
- ands r0, r1, #0x2
- bne _020BE698
- add r1, r4, #0x28
- mov r0, #0x19
- mov r2, #0xc
- bl FUN_020BB1C0
- b _020BE6C4
-_020BE698:
- add r1, r4, #0x4c
- mov r0, #0x1c
- mov r2, #0x3
- bl FUN_020BB1C0
- b _020BE6C4
-_020BE6AC:
- ands r0, r1, #0x2
- bne _020BE6C4
- add r1, r4, #0x28
- mov r0, #0x1a
- mov r2, #0x9
- bl FUN_020BB1C0
-_020BE6C4:
- ldr r0, [r4, #0x0]
- ands r0, r0, #0x1
- ldmneia sp!, {r4,pc}
-_020BE6D0: ; 0x020BE6D0
- add r1, r4, #0x4
- mov r0, #0x1b
- mov r2, #0x3
- bl FUN_020BB1C0
- ldmia sp!, {r4,pc}
-
- arm_func_start FUN_020BE6E4
-FUN_020BE6E4: ; 0x020BE6E4
- stmdb sp!, {r4,lr}
- sub sp, sp, #0x50
- mov r4, r0
- ldr r0, [r4, #0x0]
- mov r1, #0x0
- ands r0, r0, #0x8
- ldrne r0, _020BE820 ; =0x00101610
- mov r3, #0x3
- strne r0, [sp, #0x0]
- ldreq r0, _020BE824 ; =0x00101810
- mov r2, #0x2
- streq r0, [sp, #0x0]
- mov r0, #0x1000
- str r0, [sp, #0x44]
- str r3, [sp, #0x4]
- str r2, [sp, #0x48]
- str r1, [sp, #0x40]
- str r1, [sp, #0x34]
- str r1, [sp, #0x30]
- str r1, [sp, #0x2c]
- str r1, [sp, #0x28]
- str r1, [sp, #0x24]
- str r1, [sp, #0x20]
- str r1, [sp, #0x14]
- str r1, [sp, #0x10]
- ldr r1, [r4, #0x0]
- ldr r0, _020BE828 ; =0x021067B0
- and r1, r1, #0x7
- ldr r2, [r0, r1, lsl #0x2]
- add r0, sp, #0x8
- mov r1, r4
- blx r2
- ldr r3, [r4, #0x30]
- cmp r3, #0x1000
- beq _020BE7B4
- ldr r0, [sp, #0x8]
- ldr r1, [sp, #0xc]
- smull r2, r0, r3, r0
- mov r2, r2, lsr #0xc
- orr r2, r2, r0, lsl #0x14
- str r2, [sp, #0x8]
- ldr r2, [r4, #0x30]
- ldr r0, [sp, #0x38]
- smull r3, r1, r2, r1
- mov r2, r3, lsr #0xc
- orr r2, r2, r1, lsl #0x14
- str r2, [sp, #0xc]
- ldr r1, [r4, #0x30]
- smull r2, r0, r1, r0
- mov r1, r2, lsr #0xc
- orr r1, r1, r0, lsl #0x14
- str r1, [sp, #0x38]
-_020BE7B4:
- ldr r3, [r4, #0x34]
- cmp r3, #0x1000
- beq _020BE804
- ldr r0, [sp, #0x18]
- ldr r1, [sp, #0x1c]
- smull r2, r0, r3, r0
- mov r2, r2, lsr #0xc
- orr r2, r2, r0, lsl #0x14
- str r2, [sp, #0x18]
- ldr r2, [r4, #0x34]
- ldr r0, [sp, #0x3c]
- smull r3, r1, r2, r1
- mov r2, r3, lsr #0xc
- orr r2, r2, r1, lsl #0x14
- str r2, [sp, #0x1c]
- ldr r1, [r4, #0x34]
- smull r2, r0, r1, r0
- mov r1, r2, lsr #0xc
- orr r1, r1, r0, lsl #0x14
- str r1, [sp, #0x3c]
-_020BE804:
- add r1, sp, #0x0
- ldr r0, [sp, #0x0]
- add r1, r1, #0x4
- mov r2, #0x12
- bl FUN_020BB1C0
- add sp, sp, #0x50
- ldmia sp!, {r4,pc}
- .balign 4
-_020BE820: .word 0x00101610
-_020BE824: .word 0x00101810
-_020BE828: .word 0x021067B0
-
- arm_func_start FUN_020BE82C
-FUN_020BE82C: ; 0x020BE82C
- mov r2, #0x1000
- str r2, [r0, #0x0]
- mov r1, #0x0
- str r1, [r0, #0x4]
- str r1, [r0, #0x10]
- str r2, [r0, #0x14]
- str r1, [r0, #0x30]
- str r1, [r0, #0x34]
- bx lr
-
- arm_func_start FUN_020BE850
-FUN_020BE850: ; 0x020BE850
- ldr r2, [r1, #0x18]
- mov r12, #0x0
- str r2, [r0, #0x0]
- ldr r2, [r1, #0x1c]
- str r2, [r0, #0x14]
- str r12, [r0, #0x4]
- str r12, [r0, #0x30]
- ldr r2, [r1, #0x1c]
- ldrh r3, [r1, #0x2e]
- mov r1, r2, lsl #0x1
- rsb r1, r1, #0x0
- add r1, r1, #0x2000
- mul r1, r3, r1
- mov r1, r1, lsl #0x3
- str r1, [r0, #0x34]
- str r12, [r0, #0x10]
- bx lr
-
- arm_func_start FUN_020BE894
-FUN_020BE894: ; 0x020BE894
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- mov r5, r1
- ldrh r2, [r5, #0x2c]
- ldrh r1, [r5, #0x2e]
- mov r6, r0
- mov r4, r2, lsl #0xc
- mov r7, r1, lsl #0xc
- mov r0, r7
- mov r1, r4
- bl FX_DivAsync
- ldrsh r0, [r5, #0x22]
- str r0, [r6, #0x0]
- ldrsh r0, [r5, #0x22]
- str r0, [r6, #0x14]
- bl FX_GetDivResult
- ldrsh r2, [r5, #0x20]
- mov r1, r7
- rsb r2, r2, #0x0
- mul r0, r2, r0
- mov r2, r0, asr #0xc
- mov r0, r4
- str r2, [r6, #0x4]
- bl FX_DivAsync
- ldrsh r1, [r5, #0x20]
- ldrsh r0, [r5, #0x22]
- ldrh r2, [r5, #0x2c]
- add r0, r1, r0
- rsb r0, r0, #0x0
- add r0, r0, #0x1000
- mul r0, r2, r0
- mov r0, r0, lsl #0x3
- str r0, [r6, #0x30]
- ldrsh r1, [r5, #0x20]
- ldrsh r0, [r5, #0x22]
- ldrh r2, [r5, #0x2e]
- sub r0, r1, r0
- add r0, r0, #0x1000
- mul r0, r2, r0
- mov r0, r0, lsl #0x3
- str r0, [r6, #0x34]
- bl FX_GetDivResult
- ldrsh r1, [r5, #0x20]
- mul r0, r1, r0
- mov r0, r0, asr #0xc
- str r0, [r6, #0x10]
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,pc}
-
- arm_func_start FUN_020BE954
-FUN_020BE954: ; 0x020BE954
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0x4
- mov r9, r1
- ldrh r2, [r9, #0x2c]
- ldrh r1, [r9, #0x2e]
- mov r10, r0
- mov r8, r2, lsl #0xc
- mov r11, r1, lsl #0xc
- mov r0, r11
- mov r1, r8
- bl FX_DivAsync
- ldrsh r5, [r9, #0x22]
- ldr r3, [r9, #0x18]
- ldrsh r0, [r9, #0x20]
- ldr r4, [r9, #0x1c]
- smull r2, r1, r3, r5
- mov r6, r2, lsr #0xc
- orr r6, r6, r1, lsl #0x14
- smull r2, r1, r3, r0
- mov r7, r2, lsr #0xc
- orr r7, r7, r1, lsl #0x14
- smull r3, r2, r4, r0
- smull r1, r0, r4, r5
- mov r5, r3, lsr #0xc
- orr r5, r5, r2, lsl #0x14
- mov r4, r1, lsr #0xc
- orr r4, r4, r0, lsl #0x14
- str r6, [r10, #0x0]
- str r4, [r10, #0x14]
- bl FX_GetDivResult
- mov r1, r11
- rsb r2, r5, #0x0
- mul r0, r2, r0
- mov r0, r0, asr #0xc
- str r0, [r10, #0x4]
- mov r0, r8
- bl FX_DivAsync
- sub r1, r5, r4
- add r0, r7, r6
- ldrh r3, [r9, #0x2c]
- ldr r2, [r9, #0x18]
- sub r0, r2, r0
- mul r0, r3, r0
- mov r0, r0, lsl #0x3
- str r0, [r10, #0x30]
- ldrh r2, [r9, #0x2e]
- ldr r0, [r9, #0x1c]
- sub r0, r1, r0
- add r0, r0, #0x2000
- mul r0, r2, r0
- mov r0, r0, lsl #0x3
- str r0, [r10, #0x34]
- bl FX_GetDivResult
- mul r0, r7, r0
- mov r0, r0, asr #0xc
- str r0, [r10, #0x10]
- add sp, sp, #0x4
- ldmia sp!, {r4-r11,pc}
-
- arm_func_start FUN_020BEA3C
-FUN_020BEA3C: ; 0x020BEA3C
- mov r2, #0x1000
- str r2, [r0, #0x0]
- str r2, [r0, #0x14]
- mov r12, #0x0
- str r12, [r0, #0x4]
- ldrh r2, [r1, #0x2c]
- ldr r3, [r1, #0x24]
- mul r2, r3, r2
- rsb r2, r2, #0x0
- mov r2, r2, lsl #0x4
- str r2, [r0, #0x30]
- ldrh r2, [r1, #0x2e]
- ldr r1, [r1, #0x28]
- mul r2, r1, r2
- mov r1, r2, lsl #0x4
- str r1, [r0, #0x34]
- str r12, [r0, #0x10]
- bx lr
-
- arm_func_start FUN_020BEA84
-FUN_020BEA84: ; 0x020BEA84
- stmdb sp!, {r4,lr}
- ldr r3, [r1, #0x18]
- mov r2, #0x0
- str r3, [r0, #0x0]
- ldr r3, [r1, #0x1c]
- str r3, [r0, #0x14]
- str r2, [r0, #0x4]
- ldr r4, [r1, #0x18]
- ldr r3, [r1, #0x24]
- ldrh lr, [r1, #0x2c]
- smull r12, r3, r4, r3
- mov r4, r12, lsr #0x8
- orr r4, r4, r3, lsl #0x18
- rsb r3, r4, #0x0
- mul r3, lr, r3
- str r3, [r0, #0x30]
- ldr r4, [r1, #0x1c]
- ldr r12, [r1, #0x28]
- mov r3, r4, lsl #0x1
- smull lr, r12, r4, r12
- rsb r4, r3, #0x0
- mov r3, lr, lsr #0x8
- ldrh lr, [r1, #0x2e]
- add r1, r4, #0x2000
- orr r3, r3, r12, lsl #0x18
- mul r4, lr, r1
- mul r1, lr, r3
- add r1, r1, r4, lsl #0x3
- str r1, [r0, #0x34]
- str r2, [r0, #0x10]
- ldmia sp!, {r4,pc}
-
- arm_func_start FUN_020BEB00
-FUN_020BEB00: ; 0x020BEB00
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- mov r5, r1
- ldrh r2, [r5, #0x2c]
- ldrh r1, [r5, #0x2e]
- mov r6, r0
- mov r4, r2, lsl #0xc
- mov r7, r1, lsl #0xc
- mov r0, r7
- mov r1, r4
- bl FX_DivAsync
- ldrsh r0, [r5, #0x22]
- str r0, [r6, #0x0]
- ldrsh r0, [r5, #0x22]
- str r0, [r6, #0x14]
- bl FX_GetDivResult
- ldrsh r2, [r5, #0x20]
- mov r1, r7
- rsb r2, r2, #0x0
- mul r0, r2, r0
- mov r2, r0, asr #0xc
- mov r0, r4
- str r2, [r6, #0x4]
- bl FX_DivAsync
- ldrsh r2, [r5, #0x20]
- ldrsh r1, [r5, #0x22]
- ldrh r3, [r5, #0x2c]
- ldr r0, [r5, #0x24]
- add r1, r2, r1
- rsb r1, r1, #0x0
- add r1, r1, #0x1000
- mul r2, r3, r1
- mul r1, r0, r3
- mov r0, r2, lsl #0x3
- sub r0, r0, r1, lsl #0x4
- str r0, [r6, #0x30]
- ldrsh r2, [r5, #0x20]
- ldrsh r1, [r5, #0x22]
- ldrh r3, [r5, #0x2e]
- ldr r0, [r5, #0x28]
- sub r1, r2, r1
- add r1, r1, #0x1000
- mul r2, r3, r1
- mul r1, r0, r3
- mov r0, r2, lsl #0x3
- add r0, r0, r1, lsl #0x4
- str r0, [r6, #0x34]
- bl FX_GetDivResult
- ldrsh r1, [r5, #0x20]
- mul r0, r1, r0
- mov r0, r0, asr #0xc
- str r0, [r6, #0x10]
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,pc}
-
- arm_func_start FUN_020BEBD8
-FUN_020BEBD8: ; 0x020BEBD8
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0x4
- mov r9, r1
- ldrh r2, [r9, #0x2c]
- ldrh r1, [r9, #0x2e]
- mov r10, r0
- mov r8, r2, lsl #0xc
- mov r11, r1, lsl #0xc
- mov r0, r11
- mov r1, r8
- bl FX_DivAsync
- ldrsh r5, [r9, #0x22]
- ldr r3, [r9, #0x18]
- ldrsh r0, [r9, #0x20]
- ldr r4, [r9, #0x1c]
- smull r2, r1, r3, r5
- mov r6, r2, lsr #0xc
- orr r6, r6, r1, lsl #0x14
- smull r2, r1, r3, r0
- mov r7, r2, lsr #0xc
- orr r7, r7, r1, lsl #0x14
- smull r3, r2, r4, r0
- smull r1, r0, r4, r5
- mov r5, r3, lsr #0xc
- orr r5, r5, r2, lsl #0x14
- mov r4, r1, lsr #0xc
- orr r4, r4, r0, lsl #0x14
- str r6, [r10, #0x0]
- str r4, [r10, #0x14]
- bl FX_GetDivResult
- mov r1, r11
- rsb r2, r5, #0x0
- mul r0, r2, r0
- mov r0, r0, asr #0xc
- str r0, [r10, #0x4]
- mov r0, r8
- bl FX_DivAsync
- sub r1, r5, r4
- add r2, r7, r6
- ldr r5, [r9, #0x18]
- ldrh r0, [r9, #0x2c]
- sub r3, r5, r2
- ldr r2, [r9, #0x24]
- mul r4, r0, r3
- smull r3, r2, r5, r2
- mov r4, r4, lsl #0x3
- mov r3, r3, lsr #0x8
- orr r3, r3, r2, lsl #0x18
- mul r2, r0, r3
- sub r0, r4, r2
- str r0, [r10, #0x30]
- ldr r4, [r9, #0x1c]
- ldrh r3, [r9, #0x2e]
- sub r0, r1, r4
- add r0, r0, #0x2000
- mul r2, r3, r0
- ldr r0, [r9, #0x28]
- smull r1, r0, r4, r0
- mov r1, r1, lsr #0x8
- orr r1, r1, r0, lsl #0x18
- mul r0, r3, r1
- add r0, r0, r2, lsl #0x3
- str r0, [r10, #0x34]
- bl FX_GetDivResult
- mul r0, r7, r0
- mov r0, r0, asr #0xc
- str r0, [r10, #0x10]
- add sp, sp, #0x4
- ldmia sp!, {r4-r11,pc}
-
- arm_func_start FUN_020BECEC
-FUN_020BECEC: ; 0x020BECEC
- stmdb sp!, {r4-r8,lr}
- mov r12, r0
- ands r0, r3, #0x4
- ldrb r3, [r2, #0x3]
- beq _020BED40
- ldr r1, [r12, #0x0]
- ands r0, r3, #0x2
- orr r0, r1, #0x1
- str r0, [r12, #0x0]
- beq _020BEDB8
- ldr r0, _020BEE2C ; =0x021CEF7C
- ldrb r7, [r2, #0x1]
- ldr r0, [r0, #0x0]
- mov r1, #0x1
- add r6, r0, #0xc4
- mov r5, r7, lsr #0x5
- ldr r4, [r6, r5, lsl #0x2]
- and r0, r7, #0x1f
- orr r0, r4, r1, lsl r0
- str r0, [r6, r5, lsl #0x2]
- b _020BEDB8
-_020BED40:
- ldr r4, [r1, #0x0]
- ands r0, r3, #0x2
- str r4, [r12, #0x4]
- ldr r0, [r1, #0x4]
- str r0, [r12, #0x8]
- ldr r0, [r1, #0x8]
- str r0, [r12, #0xc]
- beq _020BEDB8
- ldr lr, _020BEE2C ; =0x021CEF7C
- ldrb r0, [r2, #0x1]
- ldr r4, [lr, #0x0]
- mov lr, #0x18
- add r8, r4, #0xc4
- mov r7, r0, lsr #0x5
- and r4, r0, #0x1f
- mov r5, #0x1
- mvn r4, r5, lsl r4
- ldr r6, [r8, r7, lsl #0x2]
- mul r5, r0, lr
- and r0, r6, r4
- str r0, [r8, r7, lsl #0x2]
- ldr r4, [r1, #0xc]
- ldr r0, _020BEE30 ; =0x021CFD8C
- ldr lr, _020BEE34 ; =0x021CFD90
- str r4, [r0, r5]
- ldr r4, [r1, #0x10]
- ldr r0, _020BEE38 ; =0x021CFD94
- str r4, [lr, r5]
- ldr r1, [r1, #0x14]
- str r1, [r0, r5]
-_020BEDB8:
- ands r0, r3, #0x1
- beq _020BEE1C
- ldrb r0, [r2, #0x2]
- ldr r2, [r12, #0x0]
- ldr r1, _020BEE2C ; =0x021CEF7C
- orr r2, r2, #0x20
- str r2, [r12, #0x0]
- ldr r2, [r1, #0x0]
- mov r1, r0, lsr #0x5
- add r1, r2, r1, lsl #0x2
- and r2, r0, #0x1f
- mov r3, #0x1
- mov r2, r3, lsl r2
- ldr r1, [r1, #0xc4]
- ands r1, r2, r1
- ldrne r0, [r12, #0x0]
- orrne r0, r0, #0x8
- strne r0, [r12, #0x0]
- bne _020BEE1C
- ldr r2, _020BEE30 ; =0x021CFD8C
- mov r1, #0x18
- mla r1, r0, r1, r2
- add r3, r12, #0x10
- ldmia r1, {r0-r2}
- stmia r3, {r0-r2}
-_020BEE1C:
- ldr r0, [r12, #0x0]
- orr r0, r0, #0x10
- str r0, [r12, #0x0]
- ldmia sp!, {r4-r8,pc}
- .balign 4
-_020BEE2C: .word 0x021CEF7C
-_020BEE30: .word 0x021CFD8C
-_020BEE34: .word 0x021CFD90
-_020BEE38: .word 0x021CFD94
-
- arm_func_start FUN_020BEE3C
-FUN_020BEE3C: ; 0x020BEE3C
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r5, r0
- ldr r1, [r5, #0x0]
- mov r4, #0x0
- ands r0, r1, #0x4
- moveq r4, #0x1
- ands r0, r1, #0x20
- beq _020BEE94
- ands r0, r1, #0x8
- bne _020BEE94
- cmp r4, #0x0
- beq _020BEE84
- add r1, r5, #0x4c
- mov r0, #0x1c
- mov r2, #0x3
- bl FUN_020BB1C0
- mov r4, #0x0
-_020BEE84:
- add r1, r5, #0x10
- mov r0, #0x1b
- mov r2, #0x3
- bl FUN_020BB1C0
-_020BEE94:
- ldr r0, [r5, #0x0]
- ands r0, r0, #0x2
- bne _020BEED0
- cmp r4, #0x0
- beq _020BEEBC
- add r1, r5, #0x28
- mov r0, #0x19
- mov r2, #0xc
- bl FUN_020BB1C0
- b _020BEEE8
-_020BEEBC:
- add r1, r5, #0x28
- mov r0, #0x1a
- mov r2, #0x9
- bl FUN_020BB1C0
- b _020BEEE8
-_020BEED0:
- cmp r4, #0x0
- beq _020BEEE8
- add r1, r5, #0x4c
- mov r0, #0x1c
- mov r2, #0x3
- bl FUN_020BB1C0
-_020BEEE8:
- ldr r0, [r5, #0x0]
- ands r0, r0, #0x1
- addne sp, sp, #0x4
- ldmneia sp!, {r4-r5,pc}
-_020BEEF8: ; 0x020BEEF8
- add r1, r5, #0x4
- mov r0, #0x1b
- mov r2, #0x3
- bl FUN_020BB1C0
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,pc}
-
- arm_func_start FUN_020BEF10
-FUN_020BEF10: ; 0x020BEF10
- stmdb sp!, {lr}
- sub sp, sp, #0x3c
- ldr r1, [r0, #0x0]
- mov r3, #0x0
- ands r1, r1, #0x8
- ldrne r1, _020BF0CC ; =0x00101710
- mov r2, #0x3
- strne r1, [sp, #0x0]
- ldreq r1, _020BF0D0 ; =0x00101910
- str r3, [sp, #0x34]
- streq r1, [sp, #0x0]
- mov r1, #0x2
- str r1, [sp, #0x38]
- str r3, [sp, #0x28]
- str r3, [sp, #0x24]
- str r3, [sp, #0x20]
- str r3, [sp, #0x1c]
- str r3, [sp, #0x14]
- str r3, [sp, #0x10]
- str r3, [sp, #0xc]
- str r2, [sp, #0x4]
- ldr r2, [r0, #0x0]
- ands r1, r2, #0x4
- beq _020BEFA0
- str r3, [sp, #0x2c]
- str r3, [sp, #0x30]
- ldr r1, [r0, #0x0]
- ands r1, r1, #0x1
- movne r1, #0x1000
- strne r1, [sp, #0x8]
- strne r1, [sp, #0x18]
- ldreq r1, [r0, #0x18]
- streq r1, [sp, #0x8]
- ldreq r1, [r0, #0x1c]
- streq r1, [sp, #0x18]
- b _020BF040
-_020BEFA0:
- ands r1, r2, #0x1
- beq _020BEFE8
- ldr r2, [r0, #0x24]
- ldrh r1, [r0, #0x2c]
- mov r2, r2, lsl #0x4
- rsb r2, r2, #0x0
- mul r1, r2, r1
- str r1, [sp, #0x2c]
- ldr r2, [r0, #0x28]
- ldrh r1, [r0, #0x2e]
- mov r2, r2, lsl #0x4
- rsb r2, r2, #0x0
- mul r3, r2, r1
- mov r1, #0x1000
- str r3, [sp, #0x30]
- str r1, [sp, #0x8]
- str r1, [sp, #0x18]
- b _020BF040
-_020BEFE8:
- ldr r2, [r0, #0x18]
- ldr r1, [r0, #0x24]
- ldrh r12, [r0, #0x2c]
- smull r3, r1, r2, r1
- mov r2, r3, lsr #0x8
- orr r2, r2, r1, lsl #0x18
- rsb r1, r2, #0x0
- mul r1, r12, r1
- str r1, [sp, #0x2c]
- ldr r2, [r0, #0x1c]
- ldr r1, [r0, #0x28]
- ldrh r12, [r0, #0x2e]
- smull r3, r1, r2, r1
- mov r2, r3, lsr #0x8
- orr r2, r2, r1, lsl #0x18
- rsb r1, r2, #0x0
- mul r1, r12, r1
- str r1, [sp, #0x30]
- ldr r1, [r0, #0x18]
- str r1, [sp, #0x8]
- ldr r1, [r0, #0x1c]
- str r1, [sp, #0x18]
-_020BF040:
- ldr r12, [r0, #0x30]
- cmp r12, #0x1000
- beq _020BF078
- ldr r2, [sp, #0x8]
- ldr r1, [sp, #0x2c]
- smull r3, r2, r12, r2
- mov r3, r3, lsr #0xc
- orr r3, r3, r2, lsl #0x14
- str r3, [sp, #0x8]
- ldr r2, [r0, #0x30]
- smull r3, r1, r2, r1
- mov r2, r3, lsr #0xc
- orr r2, r2, r1, lsl #0x14
- str r2, [sp, #0x2c]
-_020BF078:
- ldr r12, [r0, #0x34]
- cmp r12, #0x1000
- beq _020BF0B0
- ldr r2, [sp, #0x18]
- ldr r1, [sp, #0x30]
- smull r3, r2, r12, r2
- mov r3, r3, lsr #0xc
- orr r3, r3, r2, lsl #0x14
- str r3, [sp, #0x18]
- ldr r0, [r0, #0x34]
- smull r2, r1, r0, r1
- mov r0, r2, lsr #0xc
- orr r0, r0, r1, lsl #0x14
- str r0, [sp, #0x30]
-_020BF0B0:
- add r1, sp, #0x0
- ldr r0, [sp, #0x0]
- add r1, r1, #0x4
- mov r2, #0xe
- bl FUN_020BB1C0
- add sp, sp, #0x3c
- ldmia sp!, {pc}
- .balign 4
-_020BF0CC: .word 0x00101710
-_020BF0D0: .word 0x00101910
-
- arm_func_start FUN_020BF0D4
-FUN_020BF0D4: ; 0x020BF0D4
- stmdb sp!, {r4-r8,lr}
- mov r5, r0
- ands r0, r3, #0x4
- ldrb r4, [r2, #0x1]
- ldrb r0, [r2, #0x2]
- beq _020BF174
- ldr r2, [r5, #0x0]
- ldr r1, _020BF2E0 ; =0x021CEF7C
- orr r2, r2, #0x1
- str r2, [r5, #0x0]
- ldr r3, [r1, #0x0]
- mov r1, r0, lsr #0x5
- add r1, r3, r1, lsl #0x2
- and r2, r0, #0x1f
- mov r6, #0x1
- mov r2, r6, lsl r2
- ldr r1, [r1, #0xc4]
- ands r1, r2, r1
- beq _020BF148
- add r3, r3, #0xc4
- mov r2, r4, lsr #0x5
- ldr r1, [r3, r2, lsl #0x2]
- and r0, r4, #0x1f
- orr r0, r1, r6, lsl r0
- str r0, [r3, r2, lsl #0x2]
- ldr r0, [r5, #0x0]
- orr r0, r0, #0x18
- str r0, [r5, #0x0]
- ldmia sp!, {r4-r8,pc}
-_020BF148:
- ldr r1, _020BF2E4 ; =0x021CFD80
- mov r2, #0x18
- mla r6, r0, r2, r1
- mla r1, r4, r2, r1
- mov r0, r6
- bl MIi_CpuCopy32
- mov r0, r6
- add r1, r5, #0x10
- mov r2, #0x18
- bl MIi_CpuCopy32
- ldmia sp!, {r4-r8,pc}
-_020BF174:
- ldr r3, [r1, #0x0]
- ldr r2, _020BF2E0 ; =0x021CEF7C
- str r3, [r5, #0x4]
- ldr r3, [r1, #0x4]
- mov r7, r0, lsr #0x5
- str r3, [r5, #0x8]
- ldr r3, [r1, #0x8]
- and r8, r0, #0x1f
- str r3, [r5, #0xc]
- ldr r6, [r2, #0x0]
- mov r3, #0x1
- add r2, r6, r7, lsl #0x2
- mov r7, r3, lsl r8
- ldr r2, [r2, #0xc4]
- ands r2, r7, r2
- beq _020BF200
- ldr r3, _020BF2E4 ; =0x021CFD80
- mov r2, #0x18
- mov r0, r1
- mla r1, r4, r2, r3
- bl MIi_CpuCopy32
- ldr r0, _020BF2E0 ; =0x021CEF7C
- mov r2, r4, lsr #0x5
- ldr r1, [r0, #0x0]
- and r0, r4, #0x1f
- add r3, r1, #0xc4
- mov r1, #0x1
- mvn r0, r1, lsl r0
- ldr r1, [r3, r2, lsl #0x2]
- and r0, r1, r0
- str r0, [r3, r2, lsl #0x2]
- ldr r0, [r5, #0x0]
- orr r0, r0, #0x18
- str r0, [r5, #0x0]
- ldmia sp!, {r4-r8,pc}
-_020BF200:
- mov r2, #0x18
- mul r12, r0, r2
- and r7, r4, #0x1f
- ldr r0, _020BF2E4 ; =0x021CFD80
- add r6, r6, #0xc4
- mov lr, r4, lsr #0x5
- mvn r7, r3, lsl r7
- ldr r8, [r6, lr, lsl #0x2]
- mul r3, r4, r2
- and r4, r8, r7
- str r4, [r6, lr, lsl #0x2]
- ldr r7, [r1, #0x0]
- ldr r4, [r0, r12]
- ldr r6, _020BF2E8 ; =0x021CFD84
- smull r8, r4, r7, r4
- mov r7, r8, lsr #0xc
- orr r7, r7, r4, lsl #0x14
- str r7, [r0, r3]
- ldr r8, [r1, #0x4]
- ldr r4, [r6, r12]
- ldr r7, _020BF2EC ; =0x021CFD88
- smull lr, r4, r8, r4
- mov r8, lr, lsr #0xc
- orr r8, r8, r4, lsl #0x14
- str r8, [r6, r3]
- ldr r8, [r1, #0x8]
- ldr r4, [r7, r12]
- ldr r6, _020BF2F0 ; =0x021CFD8C
- smull lr, r4, r8, r4
- mov r8, lr, lsr #0xc
- orr r8, r8, r4, lsl #0x14
- str r8, [r7, r3]
- ldr r7, [r1, #0xc]
- ldr r4, [r6, r12]
- ldr lr, _020BF2F4 ; =0x021CFD90
- smull r8, r4, r7, r4
- mov r7, r8, lsr #0xc
- orr r7, r7, r4, lsl #0x14
- str r7, [r6, r3]
- ldr r7, [r1, #0x10]
- ldr r4, [lr, r12]
- ldr r6, _020BF2F8 ; =0x021CFD94
- smull r8, r4, r7, r4
- add r0, r0, r12
- mov r7, r8, lsr #0xc
- orr r7, r7, r4, lsl #0x14
- str r7, [lr, r3]
- ldr lr, [r1, #0x14]
- ldr r4, [r6, r12]
- add r1, r5, #0x10
- smull r5, r4, lr, r4
- mov r5, r5, lsr #0xc
- orr r5, r5, r4, lsl #0x14
- str r5, [r6, r3]
- bl MIi_CpuCopy32
- ldmia sp!, {r4-r8,pc}
- .balign 4
-_020BF2E0: .word 0x021CEF7C
-_020BF2E4: .word 0x021CFD80
-_020BF2E8: .word 0x021CFD84
-_020BF2EC: .word 0x021CFD88
-_020BF2F0: .word 0x021CFD8C
-_020BF2F4: .word 0x021CFD90
-_020BF2F8: .word 0x021CFD94
-
- arm_func_start FUN_020BF2FC
-FUN_020BF2FC: ; 0x020BF2FC
- stmdb sp!, {r4-r6,lr}
- sub sp, sp, #0x10
- mov r6, r0
- ldr r0, [r6, #0x0]
- mov r5, #0x0
- ands r4, r0, #0x18
- bne _020BF328
- add r1, r6, #0x1c
- mov r0, #0x1b
- mov r2, #0x3
- bl FUN_020BB1C0
-_020BF328:
- ldr r0, [r6, #0x0]
- ands r0, r0, #0x4
- bne _020BF398
- cmp r4, #0x0
- movne r5, #0x1
- bne _020BF398
- ldr r2, [r6, #0x4c]
- ldr r0, [r6, #0x10]
- add r1, sp, #0x0
- smull r3, r0, r2, r0
- mov r2, r3, lsr #0xc
- orr r2, r2, r0, lsl #0x14
- str r2, [sp, #0x0]
- ldr r3, [r6, #0x50]
- ldr r2, [r6, #0x14]
- mov r0, #0x1c
- smull r12, r2, r3, r2
- mov r3, r12, lsr #0xc
- orr r3, r3, r2, lsl #0x14
- str r3, [sp, #0x4]
- ldr r12, [r6, #0x54]
- ldr r3, [r6, #0x18]
- mov r2, #0x3
- smull lr, r3, r12, r3
- mov r12, lr, lsr #0xc
- orr r12, r12, r3, lsl #0x14
- str r12, [sp, #0x8]
- bl FUN_020BB1C0
-_020BF398:
- ldr r0, [r6, #0x0]
- ands r0, r0, #0x2
- bne _020BF3D4
- cmp r5, #0x0
- beq _020BF3C0
- add r1, r6, #0x28
- mov r0, #0x19
- mov r2, #0xc
- bl FUN_020BB1C0
- b _020BF3EC
-_020BF3C0:
- add r1, r6, #0x28
- mov r0, #0x1a
- mov r2, #0x9
- bl FUN_020BB1C0
- b _020BF3EC
-_020BF3D4:
- cmp r5, #0x0
- beq _020BF3EC
- add r1, r6, #0x4c
- mov r0, #0x1c
- mov r2, #0x3
- bl FUN_020BB1C0
-_020BF3EC:
- cmp r4, #0x0
- bne _020BF404
- add r1, r6, #0x10
- mov r0, #0x1b
- mov r2, #0x3
- bl FUN_020BB1C0
-_020BF404:
- ldr r0, [r6, #0x0]
- ands r0, r0, #0x1
- addne sp, sp, #0x10
- ldmneia sp!, {r4-r6,pc}
-_020BF414: ; 0x020BF414
- add r1, r6, #0x4
- mov r0, #0x1b
- mov r2, #0x3
- bl FUN_020BB1C0
- add sp, sp, #0x10
- ldmia sp!, {r4-r6,pc}
-
- arm_func_start FUN_020BF42C
-FUN_020BF42C: ; 0x020BF42C
- stmdb sp!, {r4,lr}
- sub sp, sp, #0x50
- mov r4, r0
- ldr r0, [r4, #0x0]
- mov r1, #0x0
- ands r0, r0, #0x8
- ldrne r0, _020BF568 ; =0x00101610
- mov r3, #0x3
- strne r0, [sp, #0x0]
- ldreq r0, _020BF56C ; =0x00101810
- mov r2, #0x2
- streq r0, [sp, #0x0]
- mov r0, #0x1000
- str r0, [sp, #0x44]
- str r3, [sp, #0x4]
- str r2, [sp, #0x48]
- str r1, [sp, #0x40]
- str r1, [sp, #0x34]
- str r1, [sp, #0x30]
- str r1, [sp, #0x2c]
- str r1, [sp, #0x28]
- str r1, [sp, #0x24]
- str r1, [sp, #0x20]
- str r1, [sp, #0x14]
- str r1, [sp, #0x10]
- ldr r1, [r4, #0x0]
- ldr r0, _020BF570 ; =0x021067D0
- and r1, r1, #0x7
- ldr r2, [r0, r1, lsl #0x2]
- add r0, sp, #0x8
- mov r1, r4
- blx r2
- ldr r3, [r4, #0x30]
- cmp r3, #0x1000
- beq _020BF4FC
- ldr r0, [sp, #0x8]
- ldr r1, [sp, #0xc]
- smull r2, r0, r3, r0
- mov r2, r2, lsr #0xc
- orr r2, r2, r0, lsl #0x14
- str r2, [sp, #0x8]
- ldr r2, [r4, #0x30]
- ldr r0, [sp, #0x38]
- smull r3, r1, r2, r1
- mov r2, r3, lsr #0xc
- orr r2, r2, r1, lsl #0x14
- str r2, [sp, #0xc]
- ldr r1, [r4, #0x30]
- smull r2, r0, r1, r0
- mov r1, r2, lsr #0xc
- orr r1, r1, r0, lsl #0x14
- str r1, [sp, #0x38]
-_020BF4FC:
- ldr r3, [r4, #0x34]
- cmp r3, #0x1000
- beq _020BF54C
- ldr r0, [sp, #0x18]
- ldr r1, [sp, #0x1c]
- smull r2, r0, r3, r0
- mov r2, r2, lsr #0xc
- orr r2, r2, r0, lsl #0x14
- str r2, [sp, #0x18]
- ldr r2, [r4, #0x34]
- ldr r0, [sp, #0x3c]
- smull r3, r1, r2, r1
- mov r2, r3, lsr #0xc
- orr r2, r2, r1, lsl #0x14
- str r2, [sp, #0x1c]
- ldr r1, [r4, #0x34]
- smull r2, r0, r1, r0
- mov r1, r2, lsr #0xc
- orr r1, r1, r0, lsl #0x14
- str r1, [sp, #0x3c]
-_020BF54C:
- add r1, sp, #0x0
- ldr r0, [sp, #0x0]
- add r1, r1, #0x4
- mov r2, #0x12
- bl FUN_020BB1C0
- add sp, sp, #0x50
- ldmia sp!, {r4,pc}
- .balign 4
-_020BF568: .word 0x00101610
-_020BF56C: .word 0x00101810
-_020BF570: .word 0x021067D0
-
- arm_func_start FUN_020BF574
-FUN_020BF574: ; 0x020BF574
- mov r2, #0x1000
- str r2, [r0, #0x0]
- mov r1, #0x0
- str r1, [r0, #0x4]
- str r1, [r0, #0x10]
- str r2, [r0, #0x14]
- str r1, [r0, #0x30]
- str r1, [r0, #0x34]
- bx lr
-
- arm_func_start FUN_020BF598
-FUN_020BF598: ; 0x020BF598
- ldr r2, [r1, #0x18]
- mov r12, #0x0
- str r2, [r0, #0x0]
- ldr r2, [r1, #0x1c]
- str r2, [r0, #0x14]
- str r12, [r0, #0x4]
- ldr r3, [r1, #0x18]
- ldrh r2, [r1, #0x2c]
- rsb r3, r3, #0x1000
- mul r2, r3, r2
- mov r2, r2, lsl #0x3
- str r2, [r0, #0x30]
- ldr r2, [r1, #0x1c]
- ldrh r1, [r1, #0x2e]
- rsb r2, r2, #0x1000
- mul r1, r2, r1
- mov r1, r1, lsl #0x3
- str r1, [r0, #0x34]
- str r12, [r0, #0x10]
- bx lr
-
- arm_func_start FUN_020BF5E8
-FUN_020BF5E8: ; 0x020BF5E8
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- mov r5, r1
- ldrh r2, [r5, #0x2c]
- ldrh r1, [r5, #0x2e]
- mov r6, r0
- mov r4, r2, lsl #0xc
- mov r7, r1, lsl #0xc
- mov r0, r7
- mov r1, r4
- bl FX_DivAsync
- ldrsh r0, [r5, #0x22]
- str r0, [r6, #0x0]
- ldrsh r0, [r5, #0x22]
- str r0, [r6, #0x14]
- bl FX_GetDivResult
- ldrsh r2, [r5, #0x20]
- mov r1, r7
- mul r0, r2, r0
- mov r2, r0, asr #0xc
- mov r0, r4
- str r2, [r6, #0x4]
- bl FX_DivAsync
- ldrh r2, [r5, #0x2c]
- ldrh r1, [r5, #0x2e]
- ldrsh r4, [r5, #0x22]
- rsb r0, r2, #0x0
- rsb r1, r1, #0x0
- mov r0, r0, lsl #0xb
- ldrsh r3, [r5, #0x20]
- mov r1, r1, lsl #0xb
- smull r7, lr, r4, r0
- smull r12, r4, r3, r1
- subs r7, r7, r12
- sbc r3, lr, r4
- mov r4, r7, lsr #0x8
- orr r4, r4, r3, lsl #0x18
- add r2, r4, r2, lsl #0xf
- str r2, [r6, #0x30]
- ldrsh r2, [r5, #0x22]
- ldrsh r3, [r5, #0x20]
- ldrh r12, [r5, #0x2e]
- smull r4, r1, r2, r1
- smlal r4, r1, r3, r0
- mov r0, r4, lsr #0x8
- orr r0, r0, r1, lsl #0x18
- add r0, r0, r12, lsl #0xf
- str r0, [r6, #0x34]
- bl FX_GetDivResult
- ldrsh r1, [r5, #0x20]
- rsb r1, r1, #0x0
- mul r0, r1, r0
- mov r0, r0, asr #0xc
- str r0, [r6, #0x10]
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,pc}
-
- arm_func_start FUN_020BF6C8
-FUN_020BF6C8: ; 0x020BF6C8
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0x4
- mov r9, r1
- ldrh r2, [r9, #0x2c]
- ldrh r1, [r9, #0x2e]
- mov r10, r0
- mov r8, r2, lsl #0xc
- mov r11, r1, lsl #0xc
- mov r0, r11
- mov r1, r8
- bl FX_DivAsync
- ldrsh r0, [r9, #0x22]
- ldr r3, [r9, #0x18]
- ldrsh r5, [r9, #0x20]
- ldr r4, [r9, #0x1c]
- smull r2, r1, r3, r0
- mov r7, r2, lsr #0xc
- orr r7, r7, r1, lsl #0x14
- smull r2, r1, r3, r5
- mov r6, r2, lsr #0xc
- orr r6, r6, r1, lsl #0x14
- smull r3, r2, r4, r0
- smull r1, r0, r4, r5
- mov r5, r3, lsr #0xc
- orr r5, r5, r2, lsl #0x14
- mov r4, r1, lsr #0xc
- orr r4, r4, r0, lsl #0x14
- str r7, [r10, #0x0]
- str r5, [r10, #0x14]
- bl FX_GetDivResult
- mov r1, r11
- mul r0, r4, r0
- mov r0, r0, asr #0xc
- str r0, [r10, #0x4]
- mov r0, r8
- bl FX_DivAsync
- ldrh r3, [r9, #0x2c]
- ldrh r1, [r9, #0x2e]
- rsb r0, r3, #0x0
- rsb r1, r1, #0x0
- mov r2, r1, lsl #0xb
- mov r11, r0, lsl #0xb
- smull r1, r0, r7, r11
- smull r8, r7, r5, r2
- smlal r8, r7, r4, r11
- mov r4, r8, lsr #0x8
- orr r4, r4, r7, lsl #0x18
- smull r5, r2, r6, r2
- subs r1, r1, r5
- sbc r0, r0, r2
- mov r1, r1, lsr #0x8
- orr r1, r1, r0, lsl #0x18
- add r0, r1, r3, lsl #0xf
- str r0, [r10, #0x30]
- ldrh r0, [r9, #0x2e]
- add r0, r4, r0, lsl #0xf
- str r0, [r10, #0x34]
- bl FX_GetDivResult
- rsb r1, r6, #0x0
- mul r0, r1, r0
- mov r0, r0, asr #0xc
- str r0, [r10, #0x10]
- add sp, sp, #0x4
- ldmia sp!, {r4-r11,pc}
-
- arm_func_start FUN_020BF7C8
-FUN_020BF7C8: ; 0x020BF7C8
- mov r2, #0x1000
- str r2, [r0, #0x0]
- str r2, [r0, #0x14]
- mov r12, #0x0
- str r12, [r0, #0x4]
- ldr r3, [r1, #0x24]
- ldrh r2, [r1, #0x2c]
- rsb r3, r3, #0x0
- mul r2, r3, r2
- mov r2, r2, lsl #0x4
- str r2, [r0, #0x30]
- ldrh r2, [r1, #0x2e]
- ldr r1, [r1, #0x28]
- mul r2, r1, r2
- mov r1, r2, lsl #0x4
- str r1, [r0, #0x34]
- str r12, [r0, #0x10]
- bx lr
-
- arm_func_start FUN_020BF810
-FUN_020BF810: ; 0x020BF810
- stmdb sp!, {r4-r6,lr}
- ldr r2, [r1, #0x18]
- mov r3, #0x0
- str r2, [r0, #0x0]
- ldr r2, [r1, #0x1c]
- str r2, [r0, #0x14]
- str r3, [r0, #0x4]
- ldrh r5, [r1, #0x2c]
- ldr r12, [r1, #0x24]
- ldrh r2, [r1, #0x2e]
- mul lr, r12, r5
- rsb r12, r5, #0x0
- mov r12, r12, lsl #0xb
- ldr r4, [r1, #0x18]
- sub r12, r12, lr
- smull lr, r12, r4, r12
- ldr r6, [r1, #0x28]
- mov r4, lr, lsr #0x8
- orr r4, r4, r12, lsl #0x18
- add r4, r4, r5, lsl #0xf
- str r4, [r0, #0x30]
- mul r4, r6, r2
- rsb r5, r2, #0x0
- ldr r2, [r1, #0x1c]
- add r4, r4, r5, lsl #0xb
- smull lr, r12, r2, r4
- mov r2, lr, lsr #0x8
- ldrh r1, [r1, #0x2e]
- orr r2, r2, r12, lsl #0x18
- add r1, r2, r1, lsl #0xf
- str r1, [r0, #0x34]
- str r3, [r0, #0x10]
- ldmia sp!, {r4-r6,pc}
-
- arm_func_start FUN_020BF894
-FUN_020BF894: ; 0x020BF894
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- mov r5, r1
- ldrh r2, [r5, #0x2c]
- ldrh r1, [r5, #0x2e]
- mov r6, r0
- mov r4, r2, lsl #0xc
- mov r7, r1, lsl #0xc
- mov r0, r7
- mov r1, r4
- bl FX_DivAsync
- ldrsh r0, [r5, #0x22]
- str r0, [r6, #0x0]
- ldrsh r0, [r5, #0x22]
- str r0, [r6, #0x14]
- bl FX_GetDivResult
- ldrsh r2, [r5, #0x20]
- mov r1, r7
- mul r0, r2, r0
- mov r2, r0, asr #0xc
- mov r0, r4
- str r2, [r6, #0x4]
- bl FX_DivAsync
- ldrh r2, [r5, #0x2c]
- ldrh r7, [r5, #0x2e]
- ldr r1, [r5, #0x28]
- ldr r0, [r5, #0x24]
- rsb r4, r2, #0x0
- mul r3, r1, r7
- rsb r1, r7, #0x0
- add r1, r3, r1, lsl #0xb
- ldrsh r3, [r5, #0x20]
- mov r7, r4, lsl #0xb
- mul r4, r0, r2
- sub r0, r7, r4
- ldrsh lr, [r5, #0x22]
- smull r12, r4, r3, r1
- smull r7, r3, lr, r0
- subs r7, r7, r12
- sbc r3, r3, r4
- mov r4, r7, lsr #0x8
- orr r4, r4, r3, lsl #0x18
- add r2, r4, r2, lsl #0xf
- str r2, [r6, #0x30]
- ldrsh r2, [r5, #0x22]
- ldrsh r3, [r5, #0x20]
- ldrh r12, [r5, #0x2e]
- smull r4, r1, r2, r1
- smlal r4, r1, r3, r0
- mov r0, r4, lsr #0x8
- orr r0, r0, r1, lsl #0x18
- add r0, r0, r12, lsl #0xf
- str r0, [r6, #0x34]
- bl FX_GetDivResult
- ldrsh r1, [r5, #0x20]
- rsb r1, r1, #0x0
- mul r0, r1, r0
- mov r0, r0, asr #0xc
- str r0, [r6, #0x10]
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,pc}
-
- arm_func_start FUN_020BF988
-FUN_020BF988: ; 0x020BF988
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0x4
- mov r9, r1
- ldrh r2, [r9, #0x2c]
- ldrh r1, [r9, #0x2e]
- mov r10, r0
- mov r8, r2, lsl #0xc
- mov r11, r1, lsl #0xc
- mov r0, r11
- mov r1, r8
- bl FX_DivAsync
- ldrsh r0, [r9, #0x22]
- ldr r3, [r9, #0x18]
- ldrsh r5, [r9, #0x20]
- ldr r4, [r9, #0x1c]
- smull r2, r1, r3, r0
- mov r7, r2, lsr #0xc
- orr r7, r7, r1, lsl #0x14
- smull r2, r1, r3, r5
- mov r6, r2, lsr #0xc
- orr r6, r6, r1, lsl #0x14
- smull r3, r2, r4, r0
- smull r1, r0, r4, r5
- mov r5, r3, lsr #0xc
- orr r5, r5, r2, lsl #0x14
- mov r4, r1, lsr #0xc
- orr r4, r4, r0, lsl #0x14
- str r7, [r10, #0x0]
- str r5, [r10, #0x14]
- bl FX_GetDivResult
- mov r1, r11
- mul r0, r4, r0
- mov r0, r0, asr #0xc
- str r0, [r10, #0x4]
- mov r0, r8
- bl FX_DivAsync
- ldrh r1, [r9, #0x2c]
- ldrh r8, [r9, #0x2e]
- ldr r2, [r9, #0x28]
- rsb r0, r1, #0x0
- mul r3, r2, r8
- rsb r2, r8, #0x0
- add r8, r3, r2, lsl #0xb
- mov r0, r0, lsl #0xb
- smull r3, r2, r5, r8
- smull r8, r5, r6, r8
- ldr r11, [r9, #0x24]
- mul r12, r11, r1
- sub r0, r0, r12
- smlal r3, r2, r4, r0
- smull r4, r0, r7, r0
- subs r4, r4, r8
- sbc r0, r0, r5
- mov r4, r4, lsr #0x8
- orr r4, r4, r0, lsl #0x18
- add r0, r4, r1, lsl #0xf
- str r0, [r10, #0x30]
- ldrh r1, [r9, #0x2e]
- mov r0, r3, lsr #0x8
- orr r0, r0, r2, lsl #0x18
- add r0, r0, r1, lsl #0xf
- str r0, [r10, #0x34]
- bl FX_GetDivResult
- rsb r1, r6, #0x0
- mul r0, r1, r0
- mov r0, r0, asr #0xc
- str r0, [r10, #0x10]
- add sp, sp, #0x4
- ldmia sp!, {r4-r11,pc}
-
- arm_func_start FUN_020BFA9C
-FUN_020BFA9C: ; 0x020BFA9C
- stmdb sp!, {r4,lr}
- sub sp, sp, #0x50
- mov r4, r0
- ldr r0, [r4, #0x0]
- mov r3, #0x3
- ands r0, r0, #0x8
- ldrne r0, _020BFC1C ; =0x00101610
- mov r2, #0x2
- strne r0, [sp, #0x0]
- ldreq r0, _020BFC20 ; =0x00101810
- mov r1, #0x1000
- streq r0, [sp, #0x0]
- mov r0, #0x0
- str r3, [sp, #0x4]
- str r2, [sp, #0x48]
- str r1, [sp, #0x44]
- str r0, [sp, #0x40]
- str r0, [sp, #0x34]
- str r0, [sp, #0x30]
- str r0, [sp, #0x2c]
- str r0, [sp, #0x28]
- str r0, [sp, #0x24]
- str r0, [sp, #0x20]
- str r0, [sp, #0x14]
- str r0, [sp, #0x10]
- ldr r0, [r4, #0x0]
- ands r0, r0, #0x1
- strne r1, [r4, #0x1c]
- ldrne r0, [r4, #0x1c]
- strne r0, [r4, #0x18]
- ldr r0, [r4, #0x0]
- ands r0, r0, #0x2
- movne r0, #0x1000
- strneh r0, [r4, #0x22]
- movne r0, #0x0
- strneh r0, [r4, #0x20]
- ldr r0, [r4, #0x0]
- ands r0, r0, #0x4
- movne r0, #0x0
- strne r0, [r4, #0x28]
- ldrne r0, [r4, #0x28]
- strne r0, [r4, #0x24]
- ldr r1, [r4, #0x0]
- ldr r0, _020BFC24 ; =0x021067F0
- and r1, r1, #0x7
- ldr r2, [r0, r1, lsl #0x2]
- add r0, sp, #0x8
- mov r1, r4
- blx r2
- ldr r3, [r4, #0x30]
- cmp r3, #0x1000
- beq _020BFBB0
- ldr r0, [sp, #0x8]
- ldr r1, [sp, #0xc]
- smull r2, r0, r3, r0
- mov r2, r2, lsr #0xc
- orr r2, r2, r0, lsl #0x14
- str r2, [sp, #0x8]
- ldr r2, [r4, #0x30]
- ldr r0, [sp, #0x38]
- smull r3, r1, r2, r1
- mov r2, r3, lsr #0xc
- orr r2, r2, r1, lsl #0x14
- str r2, [sp, #0xc]
- ldr r1, [r4, #0x30]
- smull r2, r0, r1, r0
- mov r1, r2, lsr #0xc
- orr r1, r1, r0, lsl #0x14
- str r1, [sp, #0x38]
-_020BFBB0:
- ldr r3, [r4, #0x34]
- cmp r3, #0x1000
- beq _020BFC00
- ldr r0, [sp, #0x18]
- ldr r1, [sp, #0x1c]
- smull r2, r0, r3, r0
- mov r2, r2, lsr #0xc
- orr r2, r2, r0, lsl #0x14
- str r2, [sp, #0x18]
- ldr r2, [r4, #0x34]
- ldr r0, [sp, #0x3c]
- smull r3, r1, r2, r1
- mov r2, r3, lsr #0xc
- orr r2, r2, r1, lsl #0x14
- str r2, [sp, #0x1c]
- ldr r1, [r4, #0x34]
- smull r2, r0, r1, r0
- mov r1, r2, lsr #0xc
- orr r1, r1, r0, lsl #0x14
- str r1, [sp, #0x3c]
-_020BFC00:
- add r1, sp, #0x0
- ldr r0, [sp, #0x0]
- add r1, r1, #0x4
- mov r2, #0x12
- bl FUN_020BB1C0
- add sp, sp, #0x50
- ldmia sp!, {r4,pc}
- .balign 4
-_020BFC1C: .word 0x00101610
-_020BFC20: .word 0x00101810
-_020BFC24: .word 0x021067F0
-
- arm_func_start FUN_020BFC28
-FUN_020BFC28: ; 0x020BFC28
- mov r2, #0x1000
- str r2, [r0, #0x0]
- mov r1, #0x0
- str r1, [r0, #0x4]
- str r1, [r0, #0x10]
- str r2, [r0, #0x14]
- str r1, [r0, #0x30]
- str r1, [r0, #0x34]
- bx lr
-
- arm_func_start FUN_020BFC4C
-FUN_020BFC4C: ; 0x020BFC4C
- ldr r2, [r1, #0x18]
- mov r3, #0x0
- str r2, [r0, #0x0]
- ldr r2, [r1, #0x1c]
- str r2, [r0, #0x14]
- str r3, [r0, #0x4]
- str r3, [r0, #0x30]
- ldrh r2, [r1, #0x2e]
- ldr r1, [r1, #0x1c]
- rsb r2, r2, #0x0
- sub r1, r1, #0x1000
- mul r1, r2, r1
- mov r1, r1, lsl #0x4
- str r1, [r0, #0x34]
- str r3, [r0, #0x10]
- bx lr
-
- arm_func_start FUN_020BFC8C
-FUN_020BFC8C: ; 0x020BFC8C
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- mov r5, r1
- ldrh r2, [r5, #0x2c]
- ldrh r1, [r5, #0x2e]
- mov r6, r0
- mov r4, r2, lsl #0xc
- mov r7, r1, lsl #0xc
- mov r0, r7
- mov r1, r4
- bl FX_DivAsync
- ldrsh r0, [r5, #0x22]
- str r0, [r6, #0x0]
- ldrsh r0, [r5, #0x22]
- str r0, [r6, #0x14]
- bl FX_GetDivResult
- ldrsh r2, [r5, #0x20]
- mov r1, r7
- mul r0, r2, r0
- mov r2, r0, asr #0xc
- mov r0, r4
- str r2, [r6, #0x4]
- bl FX_DivAsync
- ldrh r1, [r5, #0x2c]
- ldrsh r0, [r5, #0x20]
- mul r0, r1, r0
- mov r0, r0, lsl #0x4
- str r0, [r6, #0x30]
- ldrh r1, [r5, #0x2e]
- ldrsh r0, [r5, #0x22]
- rsb r1, r1, #0x0
- sub r0, r0, #0x1000
- mul r0, r1, r0
- mov r0, r0, lsl #0x4
- str r0, [r6, #0x34]
- bl FX_GetDivResult
- ldrsh r1, [r5, #0x20]
- rsb r1, r1, #0x0
- mul r0, r1, r0
- mov r0, r0, asr #0xc
- str r0, [r6, #0x10]
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,pc}
-
- arm_func_start FUN_020BFD38
-FUN_020BFD38: ; 0x020BFD38
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0x4
- mov r9, r1
- ldrh r2, [r9, #0x2c]
- ldrh r1, [r9, #0x2e]
- mov r10, r0
- mov r8, r2, lsl #0xc
- mov r11, r1, lsl #0xc
- mov r0, r11
- mov r1, r8
- bl FX_DivAsync
- ldrsh r3, [r9, #0x22]
- ldr r0, [r9, #0x18]
- ldrsh r7, [r9, #0x20]
- ldr r5, [r9, #0x1c]
- smull r2, r1, r0, r3
- mov r2, r2, lsr #0xc
- orr r2, r2, r1, lsl #0x14
- str r2, [r10, #0x0]
- smull r2, r1, r5, r3
- mov r4, r2, lsr #0xc
- orr r4, r4, r1, lsl #0x14
- smull r2, r1, r0, r7
- mov r6, r2, lsr #0xc
- orr r6, r6, r1, lsl #0x14
- str r4, [r10, #0x14]
- bl FX_GetDivResult
- smull r2, r1, r5, r7
- mov r2, r2, lsr #0xc
- orr r2, r2, r1, lsl #0x14
- mul r0, r2, r0
- mov r0, r0, asr #0xc
- str r0, [r10, #0x4]
- mov r0, r8
- mov r1, r11
- bl FX_DivAsync
- sub r0, r4, #0x1000
- ldrh r1, [r9, #0x2c]
- mul r2, r1, r6
- mov r1, r2, lsl #0x4
- str r1, [r10, #0x30]
- ldrh r1, [r9, #0x2e]
- rsb r1, r1, #0x0
- mul r0, r1, r0
- mov r0, r0, lsl #0x4
- str r0, [r10, #0x34]
- bl FX_GetDivResult
- rsb r1, r6, #0x0
- mul r0, r1, r0
- mov r0, r0, asr #0xc
- str r0, [r10, #0x10]
- add sp, sp, #0x4
- ldmia sp!, {r4-r11,pc}
-
- arm_func_start FUN_020BFE0C
-FUN_020BFE0C: ; 0x020BFE0C
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- mov r2, #0x1000
- str r2, [r0, #0x0]
- str r2, [r0, #0x14]
- mov lr, #0x0
- str lr, [r0, #0x4]
- ldr r2, [r1, #0x24]
- ldrh r3, [r1, #0x2c]
- rsb r2, r2, #0x0
- ldr r12, [r1, #0x28]
- mul r2, r3, r2
- mov r2, r2, lsl #0x4
- str r2, [r0, #0x30]
- ldrh r1, [r1, #0x2e]
- rsb r2, r12, #0x0
- rsb r1, r1, #0x0
- mul r2, r1, r2
- mov r1, r2, lsl #0x4
- str r1, [r0, #0x34]
- str lr, [r0, #0x10]
- add sp, sp, #0x4
- ldmia sp!, {pc}
-
- arm_func_start FUN_020BFE68
-FUN_020BFE68: ; 0x020BFE68
- stmdb sp!, {r4,lr}
- ldr r3, [r1, #0x18]
- mov r2, #0x0
- str r3, [r0, #0x0]
- ldr r3, [r1, #0x1c]
- str r3, [r0, #0x14]
- str r2, [r0, #0x4]
- ldr r12, [r1, #0x24]
- ldr r3, [r1, #0x18]
- ldr r4, [r1, #0x28]
- smull lr, r3, r12, r3
- mov r12, lr, lsr #0xc
- orr r12, r12, r3, lsl #0x14
- ldrh lr, [r1, #0x2c]
- rsb r3, r12, #0x0
- ldr r12, [r1, #0x1c]
- rsb r4, r4, #0x0
- mul r3, lr, r3
- smull lr, r12, r4, r12
- mov r3, r3, lsl #0x4
- str r3, [r0, #0x30]
- mov r4, lr, lsr #0xc
- ldrh r3, [r1, #0x2e]
- ldr r1, [r1, #0x1c]
- orr r4, r4, r12, lsl #0x14
- add r1, r1, r4
- rsb r3, r3, #0x0
- sub r1, r1, #0x1000
- mul r1, r3, r1
- mov r1, r1, lsl #0x4
- str r1, [r0, #0x34]
- str r2, [r0, #0x10]
- ldmia sp!, {r4,pc}
-
- arm_func_start FUN_020BFEEC
-FUN_020BFEEC: ; 0x020BFEEC
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- mov r5, r1
- ldrh r2, [r5, #0x2c]
- ldrh r1, [r5, #0x2e]
- mov r6, r0
- mov r4, r2, lsl #0xc
- mov r7, r1, lsl #0xc
- mov r0, r7
- mov r1, r4
- bl FX_DivAsync
- ldrsh r0, [r5, #0x22]
- str r0, [r6, #0x0]
- ldrsh r0, [r5, #0x22]
- str r0, [r6, #0x14]
- bl FX_GetDivResult
- ldrsh r2, [r5, #0x20]
- mov r1, r7
- mul r0, r2, r0
- mov r2, r0, asr #0xc
- mov r0, r4
- str r2, [r6, #0x4]
- bl FX_DivAsync
- ldrsh lr, [r5, #0x20]
- ldr r4, [r5, #0x28]
- ldrsh r0, [r5, #0x22]
- ldr r12, [r5, #0x24]
- smull r3, r2, r4, lr
- smlal r3, r2, r12, r0
- smull r1, r0, r4, r0
- mov r3, r3, lsr #0xc
- orr r3, r3, r2, lsl #0x14
- sub r4, lr, r3
- smull r3, r2, r12, lr
- subs r1, r3, r1
- sbc r0, r2, r0
- ldrh r2, [r5, #0x2c]
- mov r1, r1, lsr #0xc
- orr r1, r1, r0, lsl #0x14
- mul r0, r2, r4
- mov r0, r0, lsl #0x4
- str r0, [r6, #0x30]
- ldrsh r0, [r5, #0x22]
- ldrh r2, [r5, #0x2e]
- add r0, r0, r1
- rsb r1, r2, #0x0
- sub r0, r0, #0x1000
- mul r0, r1, r0
- mov r0, r0, lsl #0x4
- str r0, [r6, #0x34]
- bl FX_GetDivResult
- ldrsh r1, [r5, #0x20]
- rsb r1, r1, #0x0
- mul r0, r1, r0
- mov r0, r0, asr #0xc
- str r0, [r6, #0x10]
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,pc}
-
- arm_func_start FUN_020BFFD4
-FUN_020BFFD4: ; 0x020BFFD4
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0x4
- mov r6, r1
- ldrh r2, [r6, #0x2c]
- ldrh r1, [r6, #0x2e]
- mov r7, r0
- mov r10, r2, lsl #0xc
- mov r11, r1, lsl #0xc
- mov r0, r11
- mov r1, r10
- bl FX_DivAsync
- ldrsh r3, [r6, #0x22]
- ldr r0, [r6, #0x18]
- ldrsh r9, [r6, #0x20]
- smull r2, r1, r0, r3
- mov r2, r2, lsr #0xc
- ldr r8, [r6, #0x1c]
- orr r2, r2, r1, lsl #0x14
- str r2, [r7, #0x0]
- smull r2, r1, r8, r3
- mov r4, r2, lsr #0xc
- orr r4, r4, r1, lsl #0x14
- smull r2, r1, r0, r9
- mov r5, r2, lsr #0xc
- orr r5, r5, r1, lsl #0x14
- str r4, [r7, #0x14]
- bl FX_GetDivResult
- smull r2, r1, r8, r9
- mov r2, r2, lsr #0xc
- orr r2, r2, r1, lsl #0x14
- mul r0, r2, r0
- mov r0, r0, asr #0xc
- str r0, [r7, #0x4]
- mov r0, r10
- mov r1, r11
- bl FX_DivAsync
- ldr lr, [r6, #0x1c]
- ldrsh r2, [r6, #0x20]
- ldr r8, [r6, #0x24]
- ldr r0, [r6, #0x28]
- smull r10, r9, r8, r2
- ldrh r1, [r6, #0x2c]
- smull r3, r2, r0, r2
- ldrsh r12, [r6, #0x22]
- str r1, [sp, #0x0]
- mov r11, lr, asr #0x1f
- smlal r3, r2, r8, r12
- smull r8, r12, r0, r12
- subs r8, r10, r8
- sbc r0, r9, r12
- mov r9, r8, lsr #0xc
- mov r12, r3, lsr #0xc
- orr r9, r9, r0, lsl #0x14
- mov r3, r2, asr #0xc
- orr r12, r12, r2, lsl #0x14
- umull r10, r2, r9, lr
- mla r2, r9, r11, r2
- mov r8, r0, asr #0xc
- mla r2, r8, lr, r2
- ldr r1, [r6, #0x18]
- mov r8, r10, lsr #0xc
- orr r8, r8, r2, lsl #0x14
- add r2, r4, r8
- mov r0, r1, asr #0x1f
- umull r8, r4, r12, r1
- mla r4, r12, r0, r4
- mla r4, r3, r1, r4
- mov r0, r8, lsr #0xc
- orr r0, r0, r4, lsl #0x14
- sub r1, r5, r0
- ldr r0, [sp, #0x0]
- sub r2, r2, #0x1000
- mul r1, r0, r1
- mov r0, r1, lsl #0x4
- str r0, [r7, #0x30]
- ldrh r0, [r6, #0x2e]
- rsb r0, r0, #0x0
- mul r1, r0, r2
- mov r0, r1, lsl #0x4
- str r0, [r7, #0x34]
- bl FX_GetDivResult
- rsb r1, r5, #0x0
- mul r0, r1, r0
- mov r0, r0, asr #0xc
- str r0, [r7, #0x10]
- add sp, sp, #0x4
- ldmia sp!, {r4-r11,pc}
-
- arm_func_start FUN_020C0130
-FUN_020C0130: ; 0x020C0130
- ldr ip, _020C0138 ; =FUN_020C187C
- bx r12
- .balign 4
-_020C0138: .word FUN_020C187C
-
- arm_func_start FUN_020C013C
-FUN_020C013C: ; 0x020C013C
- stmdb sp!, {r4,lr}
- bl FUN_020C18F8
-_020C0144: ; 0x020C0144
- mov r0, #0x0
- mov r1, r0
- mov r2, r0
- mov r3, r0
- bl SND_StopTimer
- bl SND_GetCurrentCommandTag
- mov r4, r0
- mov r0, #0x1
- bl SND_FlushCommand
- mov r0, r4
- bl SND_WaitForCommandProc
- ldmia sp!, {r4,pc}
-
- arm_func_start FUN_020C0174
-FUN_020C0174: ; 0x020C0174
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- cmp r0, #0x0
- beq _020C0194
- mov r0, #0x40
- bl SND_SetMasterPan
- add sp, sp, #0x4
- ldmia sp!, {pc}
-_020C0194:
- bl SND_ResetMasterPan
- add sp, sp, #0x4
- ldmia sp!, {pc}
-
- arm_func_start FUN_020C01A0
-FUN_020C01A0: ; 0x020C01A0
- stmdb sp!, {r4,lr}
- mov r4, #0x0
-_020C01A8:
- mov r0, r4
- bl SND_RecvCommandReply
-_020C01B0: ; 0x020C01B0
- cmp r0, #0x0
- bne _020C01A8
- bl FUN_020C0BA0
- bl FUN_020C1D9C
- bl FUN_020C3C88
-_020C01C4: ; 0x020C01C4
- mov r0, #0x0
- bl SND_FlushCommand
- ldmia sp!, {r4,pc}
-
- arm_func_start FUN_020C01D0
-FUN_020C01D0: ; 0x020C01D0
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r0, _020C0254 ; =0x021D1C94
- ldr r1, [r0, #0x0]
- cmp r1, #0x0
- addne sp, sp, #0x4
- ldmneia sp!, {pc}
- mov r1, #0x1
- str r1, [r0, #0x0]
- bl SND_Init
- ldr ip, _020C0258 ; =FUN_020C013C
- ldr r0, _020C025C ; =0x021D1C98
- mov r3, #0x0
- ldr r1, _020C0260 ; =0x021D1CA4
- ldr r2, _020C0264 ; =FUN_020C0130
- str r12, [r0, #0x0]
- str r3, [r0, #0x4]
- str r2, [r1, #0x0]
- str r3, [r1, #0x4]
- bl PM_PrependPreSleepCallback
- ldr r0, _020C0260 ; =0x021D1CA4
- bl PM_AppendPostSleepCallback
- bl FUN_020C0270
- bl FUN_020C1E38
- bl FUN_020C0D20
- ldr r1, _020C0268 ; =0x021D1C8C
- mvn r3, #0x0
- ldr r0, _020C026C ; =0x021D1C90
- mov r2, #0x1
- strb r3, [r1, #0x0]
- str r2, [r0, #0x0]
- add sp, sp, #0x4
- ldmia sp!, {pc}
- .balign 4
-_020C0254: .word 0x021D1C94
-_020C0258: .word FUN_020C013C
-_020C025C: .word 0x021D1C98
-_020C0260: .word 0x021D1CA4
-_020C0264: .word FUN_020C0130
-_020C0268: .word 0x021D1C8C
-_020C026C: .word 0x021D1C90
-
- arm_func_start FUN_020C0270
-FUN_020C0270: ; 0x020C0270
- ldr r2, _020C0290 ; =0x021D1CB8
- mov r3, #0x0
- ldr r1, _020C0294 ; =0x021D1CB0
- ldr r0, _020C0298 ; =0x021D1CB4
- str r3, [r2, #0x0]
- str r3, [r1, #0x0]
- str r3, [r0, #0x0]
- bx lr
- .balign 4
-_020C0290: .word 0x021D1CB8
-_020C0294: .word 0x021D1CB0
-_020C0298: .word 0x021D1CB4
-
- arm_func_start FUN_020C029C
-FUN_020C029C: ; 0x020C029C
- ldr r1, _020C02B8 ; =0x021D1CB4
- mov r2, #0x1
- mvn r0, r2, lsl r0
- ldr r2, [r1, #0x0]
- and r0, r2, r0
- str r0, [r1, #0x0]
- bx lr
- .balign 4
-_020C02B8: .word 0x021D1CB4
-
- arm_func_start FUN_020C02BC
-FUN_020C02BC: ; 0x020C02BC
- ldr r0, _020C02FC ; =0x021D1CB4
- mov r3, #0x1
- ldr r2, [r0, #0x0]
- mov r0, #0x0
-_020C02CC:
- ands r1, r2, r3
- ldreq r1, _020C02FC ; =0x021D1CB4
- ldreq r2, [r1, #0x0]
- orreq r2, r2, r3
- streq r2, [r1, #0x0]
- bxeq lr
- add r0, r0, #0x1
- cmp r0, #0x8
- mov r3, r3, lsl #0x1
- blt _020C02CC
- mvn r0, #0x0
- bx lr
- .balign 4
-_020C02FC: .word 0x021D1CB4
-
- arm_func_start FUN_020C0300
-FUN_020C0300: ; 0x020C0300
- ldr r1, _020C0318 ; =0x021D1CB0
- mvn r0, r0
- ldr r2, [r1, #0x0]
- and r0, r2, r0
- str r0, [r1, #0x0]
- bx lr
- .balign 4
-_020C0318: .word 0x021D1CB0
-
- arm_func_start FUN_020C031C
-FUN_020C031C:
- ldr r1, _020C033C ; =0x021D1CB0
- ldr r2, [r1, #0x0]
- ands r3, r0, r2
- movne r0, #0x0
- orreq r0, r2, r0
- streq r0, [r1, #0x0]
- moveq r0, #0x1
- bx lr
- .balign 4
-_020C033C: .word 0x021D1CB0
-
- arm_func_start FUN_020C0340
-FUN_020C0340:
- stmdb sp!, {r4,lr}
- movs r4, r0
- ldmeqia sp!, {r4,pc}
-_020C034C: ; 0x020C034C
- mov r1, #0x0
- bl SND_UnlockChannel
- ldr r0, _020C036C ; =0x021D1CB8
- mvn r1, r4
- ldr r2, [r0, #0x0]
- and r1, r2, r1
- str r1, [r0, #0x0]
- ldmia sp!, {r4,pc}
- .balign 4
-_020C036C: .word 0x021D1CB8
-
- arm_func_start FUN_020C0370
-FUN_020C0370:
- stmdb sp!, {r4,lr}
- movs r4, r0
- moveq r0, #0x1
- ldmeqia sp!, {r4,pc}
-_020C0380: ; 0x020C0380
- ldr r1, _020C03B4 ; =0x021D1CB8
- ldr r1, [r1, #0x0]
- ands r1, r4, r1
- movne r0, #0x0
- ldmneia sp!, {r4,pc}
-_020C0394: ; 0x020C0394
- mov r1, #0x0
- bl SND_LockChannel
- ldr r1, _020C03B4 ; =0x021D1CB8
- mov r0, #0x1
- ldr r2, [r1, #0x0]
- orr r2, r2, r4
- str r2, [r1, #0x0]
- ldmia sp!, {r4,pc}
- .balign 4
-_020C03B4: .word 0x021D1CB8
-
- arm_func_start FUN_020C03B8
-FUN_020C03B8: ; 0x020C03B8
- stmdb sp!, {r4,lr}
- mov r4, r0
- ldr r0, [r4, #0x8]
- cmp r0, #0x0
- moveq r0, #0x0
- ldmeqia sp!, {r4,pc}
-_020C03D0: ; 0x020C03D0
- ldr r0, [r4, #0xc]
- cmp r0, #0x0
- bne _020C03F8
- ldr r0, [r4, #0x10]
- bl SND_IsFinishedCommandTag
-_020C03E4: ; 0x020C03E4
- cmp r0, #0x0
- moveq r0, #0x1
- ldmeqia sp!, {r4,pc}
-_020C03F0: ; 0x020C03F0
- mov r0, #0x1
- str r0, [r4, #0xc]
-_020C03F8:
- bl SND_GetChannelStatus
- ldr r1, [r4, #0x0]
- mov r2, #0x1
- mov r1, r2, lsl r1
- ands r0, r1, r0
- movne r0, r2
- moveq r0, #0x0
- streq r0, [r4, #0x8]
- ldmia sp!, {r4,pc}
-
- arm_func_start FUN_020C041C
-FUN_020C041C: ; 0x020C041C
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r2, [r0, #0x8]
- cmp r2, #0x0
- addeq sp, sp, #0x4
- ldmeqia sp!, {pc}
- ldr r0, [r0, #0x0]
- mov r2, #0x1
- mov r0, r2, lsl r0
- bl SND_SetChannelPan
- add sp, sp, #0x4
- ldmia sp!, {pc}
-
- arm_func_start FUN_020C044C
-FUN_020C044C: ; 0x020C044C
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r5, r0
- ldr r0, [r5, #0x8]
- mov r4, r1
- cmp r0, #0x0
- addeq sp, sp, #0x4
- ldmeqia sp!, {r4-r5,pc}
-_020C046C: ; 0x020C046C
- ldr r2, [r5, #0x4]
- ldr r0, _020C04D4 ; =0xD87F8000
- mov r3, r2, asr #0x1f
- mov r1, #0x7f
- bl _ll_udiv
- mov r2, r4
- mov r3, r4, asr #0x1f
- bl _ll_udiv
- mov r2, #0x0
- mov r3, r0
- mov r0, #0x10
- cmp r1, r2
- cmpeq r3, r0
- movcc r3, r0
- blo _020C04B8
- ldr r0, _020C04D8 ; =0x0000FFFF
- cmp r1, r2
- cmpeq r3, r0
- movhi r3, r0
-_020C04B8:
- ldr r0, [r5, #0x0]
- mov r1, #0x1
- mov r0, r1, lsl r0
- mov r1, r3
- bl SND_SetChannelTimer
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,pc}
- .balign 4
-_020C04D4: .word 0xD87F8000
-_020C04D8: .word 0x0000FFFF
-
- arm_func_start FUN_020C04DC
-FUN_020C04DC: ; 0x020C04DC
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r2, [r0, #0x8]
- cmp r2, #0x0
- addeq sp, sp, #0x4
- ldmeqia sp!, {pc}
- ldr r0, [r0, #0x0]
- mov r2, #0x1
- mov r0, r2, lsl r0
- mov r2, #0x0
- bl SND_SetChannelVolume
- add sp, sp, #0x4
- ldmia sp!, {pc}
-
- arm_func_start FUN_020C0510
-FUN_020C0510: ; 0x020C0510
- stmdb sp!, {r4,lr}
- mov r4, r0
- ldr r0, [r4, #0x8]
- cmp r0, #0x0
- ldmeqia sp!, {r4,pc}
-_020C0524: ; 0x020C0524
- ldr r0, [r4, #0x0]
- mov r2, #0x1
- mov r1, #0x0
- mov r0, r2, lsl r0
- mov r2, r1
- mov r3, r1
- bl SND_StopTimer
-_020C0540: ; 0x020C0540
- mov r0, #0x0
- str r0, [r4, #0x8]
- ldmia sp!, {r4,pc}
-
- arm_func_start FUN_020C054C
-FUN_020C054C: ; 0x020C054C
- stmdb sp!, {r4-r9,lr}
- sub sp, sp, #0x1c
- movs r8, r1
- mov r9, r0
- mov r7, r2
- mov r6, r3
- beq _020C0584
- cmp r8, #0x1
- ldreq r0, [sp, #0x3c]
- ldreq r1, [sp, #0x38]
- moveq r0, r0, asr #0x1
- moveq r5, r1, asr #0x1
- subeq r4, r0, r1, asr #0x1
- b _020C0598
-_020C0584:
- ldr r0, [sp, #0x3c]
- ldr r1, [sp, #0x38]
- mov r0, r0, asr #0x2
- mov r5, r1, asr #0x2
- sub r4, r0, r1, asr #0x2
-_020C0598:
- ldr r2, [sp, #0x40]
- ldr r0, _020C0668 ; =0xD87F8000
- mov r3, r2, asr #0x1f
- mov r1, #0x7f
- bl _ll_udiv
- ldr r2, [sp, #0x48]
- mov r3, r2, asr #0x1f
- bl _ll_udiv
- mov r3, #0x0
- mov r2, #0x10
- cmp r1, r3
- cmpeq r0, r2
- movcc r0, r2
- blo _020C05E0
- ldr r2, _020C066C ; =0x0000FFFF
- cmp r1, r3
- cmpeq r0, r2
- movhi r0, r2
-_020C05E0:
- str r5, [sp, #0x0]
- ldr r1, [sp, #0x44]
- str r4, [sp, #0x4]
- str r1, [sp, #0x8]
- mov r1, #0x0
- str r1, [sp, #0xc]
- cmp r6, #0x0
- movne r3, #0x1
- ldr r1, [sp, #0x4c]
- str r0, [sp, #0x10]
- str r1, [sp, #0x14]
- ldr r0, [r9, #0x0]
- moveq r3, #0x2
- mov r1, r8
- mov r2, r7
- bl SND_SetupChannelPcm
- mov r1, #0x0
- ldr r0, [r9, #0x0]
- mov r2, #0x1
- mov r0, r2, lsl r0
- mov r2, r1
- mov r3, r1
- bl SND_StartTimer
- mov r0, #0x1
- str r0, [r9, #0x8]
- mov r0, #0x0
- str r0, [r9, #0xc]
- bl SND_GetCurrentCommandTag
- str r0, [r9, #0x10]
- ldr r1, [sp, #0x40]
- mov r0, #0x1
- str r1, [r9, #0x4]
- add sp, sp, #0x1c
- ldmia sp!, {r4-r9,pc}
- .balign 4
-_020C0668: .word 0xD87F8000
-_020C066C: .word 0x0000FFFF
-
- arm_func_start FUN_020C0670
-FUN_020C0670: ; 0x020C0670
- ldr r0, [r0, #0x0]
- mov r1, #0x1
- ldr ip, _020C0684 ; =FUN_020C0340
- mov r0, r1, lsl r0
- bx r12
- .balign 4
-_020C0684: .word FUN_020C0340
-
- arm_func_start FUN_020C0688
-FUN_020C0688: ; 0x020C0688
- stmdb sp!, {r4,lr}
- mov r4, r0
- mov r0, #0x1
- mov r0, r0, lsl r4
- bl FUN_020C0370
-_020C069C: ; 0x020C069C
- cmp r0, #0x0
- moveq r0, #0x0
- ldmeqia sp!, {r4,pc}
-_020C06A8: ; 0x020C06A8
- mov r0, #0x14
- mul r0, r4, r0
- ldr r2, _020C06C8 ; =0x021D1CBC
- mov r1, #0x0
- str r4, [r2, r0]
- add r0, r2, r0
- str r1, [r0, #0x8]
- ldmia sp!, {r4,pc}
- .balign 4
-_020C06C8: .word 0x021D1CBC
-
- arm_func_start FUN_020C06CC
-FUN_020C06CC: ; 0x020C06CC
- stmdb sp!, {r4-r6,lr}
- mov r6, r0
- ldr r4, [r6, #0x4]
- mov r5, r1
- cmp r4, #0x0
- beq _020C06F8
- mov r0, r4
- mov r1, r6
- bl FUN_020ADAB0
-_020C06F0: ; 0x020C06F0
- mov r0, #0x0
- str r0, [r6, #0x4]
-_020C06F8:
- ldr r0, _020C0728 ; =0x021D1E08
- mov r1, r6
- bl FUN_020ADAB0
- strb r5, [r6, #0x3d]
- cmp r4, #0x0
- beq _020C071C
- mov r0, r4
- mov r1, r6
- bl FUN_020C0910
-_020C071C:
- mov r0, r6
- bl FUN_020C08B4
- ldmia sp!, {r4-r6,pc}
- .balign 4
-_020C0728: .word 0x021D1E08
-
- arm_func_start FUN_020C072C
-FUN_020C072C: ; 0x020C072C
- stmdb sp!, {r4,lr}
- mov r4, r0
- ldr r0, [r4, #0x8]
- cmp r0, #0x0
- ldmeqia sp!, {r4,pc}
-_020C0740: ; 0x020C0740
- bl FUN_020C2A7C
- ldr r1, [r4, #0xc]
- cmp r1, #0x0
- movne r0, #0x0
- strne r0, [r1, #0x8]
- ldmneia sp!, {r4,pc}
-_020C0758: ; 0x020C0758
- ldr r1, [r4, #0x10]
- ldr r2, _020C0778 ; =0x021D2254
- mov r0, #0x24
- mla r0, r1, r0, r2
- mov r1, r4
- add r0, r0, #0xc
- bl FUN_020ADAB0
- ldmia sp!, {r4,pc}
- .balign 4
-_020C0778: .word 0x021D2254
-
- arm_func_start FUN_020C077C
-FUN_020C077C: ; 0x020C077C
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r4, r0
- ldr r1, [r4, #0x0]
- cmp r1, #0x0
- movne r0, #0x0
- strne r0, [r1, #0x0]
- strne r0, [r4, #0x0]
- ldr r5, [r4, #0x4]
- mov r1, r4
- mov r0, r5
- bl FUN_020ADAB0
-_020C07AC: ; 0x020C07AC
- mov r0, #0x0
- str r0, [r4, #0x4]
- ldr r1, [r4, #0x8]
- cmp r1, #0x0
- beq _020C07D8
- add r0, r5, #0xc
- bl FUN_020ADBE8
- ldr r0, [r4, #0x8]
- mov r1, #0x0
- str r1, [r0, #0xc]
- str r1, [r4, #0x8]
-_020C07D8:
- ldr r0, _020C0800 ; =0x021D1E08
- mov r1, r4
- bl FUN_020ADAB0
- ldr r0, _020C0804 ; =0x021D1DFC
- mov r1, r4
- bl FUN_020ADBE8
-_020C07F0: ; 0x020C07F0
- mov r0, #0x0
- strb r0, [r4, #0x2c]
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,pc}
- .balign 4
-_020C0800: .word 0x021D1E08
-_020C0804: .word 0x021D1DFC
-
- arm_func_start FUN_020C0808
-FUN_020C0808: ; 0x020C0808
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r5, r0
- ldr r0, _020C0874 ; =0x021D1DFC
- mov r1, #0x0
- bl FUN_020ADA98
- movs r4, r0
- bne _020C0850
- ldr r0, _020C0878 ; =0x021D1E08
- mov r1, #0x0
- bl FUN_020ADA98
- mov r4, r0
- ldrb r1, [r4, #0x3d]
- cmp r5, r1
- addlt sp, sp, #0x4
- movlt r0, #0x0
- ldmltia sp!, {r4-r5,pc}
-_020C084C: ; 0x020C084C
- bl FUN_020C087C
-_020C0850:
- ldr r0, _020C0874 ; =0x021D1DFC
- mov r1, r4
- bl FUN_020ADAB0
- mov r0, r4
- strb r5, [r4, #0x3d]
- bl FUN_020C08B4
- mov r0, r4
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,pc}
- .balign 4
-_020C0874: .word 0x021D1DFC
-_020C0878: .word 0x021D1E08
-
- arm_func_start FUN_020C087C
-FUN_020C087C: ; 0x020C087C
- stmdb sp!, {r4,lr}
- mov r4, r0
- ldrb r0, [r4, #0x2c]
- cmp r0, #0x2
- bne _020C089C
- ldrb r0, [r4, #0x3c]
- ldr r1, _020C08B0 ; =0xFFFFFD2D
- bl SND_SetPlayerVolume
-_020C089C:
- ldrb r0, [r4, #0x3c]
- bl SND_StopSeq
- mov r0, r4
- bl FUN_020C077C
- ldmia sp!, {r4,pc}
- .balign 4
-_020C08B0: .word 0xFFFFFD2D
-
- arm_func_start FUN_020C08B4
-FUN_020C08B4: ; 0x020C08B4
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r5, r0
- ldr r0, _020C090C ; =0x021D1E08
- mov r1, #0x0
- bl FUN_020ADA98
- movs r1, r0
- beq _020C08F8
- ldr r4, _020C090C ; =0x021D1E08
-_020C08D8:
- ldrb r2, [r5, #0x3d]
- ldrb r0, [r1, #0x3d]
- cmp r2, r0
- blo _020C08F8
- mov r0, r4
- bl FUN_020ADA98
- movs r1, r0
- bne _020C08D8
-_020C08F8:
- ldr r0, _020C090C ; =0x021D1E08
- mov r2, r5
- bl FUN_020ADB18
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,pc}
- .balign 4
-_020C090C: .word 0x021D1E08
-
- arm_func_start FUN_020C0910
-FUN_020C0910: ; 0x020C0910
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r4, r1
- mov r1, #0x0
- mov r5, r0
- bl FUN_020ADA98
- movs r1, r0
- beq _020C0950
-_020C0930:
- ldrb r2, [r4, #0x3d]
- ldrb r0, [r1, #0x3d]
- cmp r2, r0
- blo _020C0950
- mov r0, r5
- bl FUN_020ADA98
- movs r1, r0
- bne _020C0930
-_020C0950:
- mov r0, r5
- mov r2, r4
- bl FUN_020ADB18
- str r5, [r4, #0x4]
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,pc}
-
- arm_func_start FUN_020C0968
-FUN_020C0968: ; 0x020C0968
- stmdb sp!, {r4,lr}
- mov r4, r0
- mov r0, #0x0
- strb r0, [r4, #0x2e]
- strb r0, [r4, #0x2d]
- strb r0, [r4, #0x2f]
- strh r0, [r4, #0x34]
- strh r0, [r4, #0x3e]
- mov r1, #0x7f
- strb r1, [r4, #0x40]
- add r0, r4, #0x1c
- strb r1, [r4, #0x41]
- bl FUN_020C3E6C
- add r0, r4, #0x1c
- mov r1, #0x7f00
- mov r2, #0x1
- bl FUN_020C3E40
- ldmia sp!, {r4,pc}
-
- arm_func_start FUN_020C09B0
-FUN_020C09B0: ; 0x020C09B0
- stmdb sp!, {r4-r6,lr}
- ldr r3, _020C0A00 ; =0x021D2254
- mov r2, #0x24
- mla r5, r0, r2, r3
- mov r6, r1
- add r0, r5, #0xc
- mov r1, #0x0
- bl FUN_020ADA98
- movs r4, r0
- moveq r0, #0x0
- ldmeqia sp!, {r4-r6,pc}
-_020C09DC: ; 0x020C09DC
- mov r1, r4
- add r0, r5, #0xc
- bl FUN_020ADAB0
- str r6, [r4, #0xc]
- str r4, [r6, #0x8]
- ldr r0, [r4, #0x8]
- bl FUN_020C29C0
- ldr r0, [r4, #0x8]
- ldmia sp!, {r4-r6,pc}
- .balign 4
-_020C0A00: .word 0x021D2254
-
- arm_func_start FUN_020C0A04
-FUN_020C0A04: ; 0x020C0A04
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- movs r5, r0
- mov r4, r1
- addeq sp, sp, #0x4
- ldmeqia sp!, {r4-r5,pc}
-_020C0A1C: ; 0x020C0A1C
- ldrb r0, [r5, #0x2e]
- cmp r4, r0
- addeq sp, sp, #0x4
- ldmeqia sp!, {r4-r5,pc}
-_020C0A2C: ; 0x020C0A2C
- ldrb r0, [r5, #0x3c]
- bl SND_PauseSeq
- strb r4, [r5, #0x2e]
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,pc}
-
- arm_func_start FUN_020C0A40
-FUN_020C0A40: ; 0x020C0A40
- stmdb sp!, {r4,lr}
- movs r4, r0
- mov r2, r1
- ldmeqia sp!, {r4,pc}
-_020C0A50: ; 0x020C0A50
- ldrb r1, [r4, #0x2c]
- cmp r1, #0x0
- ldmeqia sp!, {r4,pc}
-_020C0A5C: ; 0x020C0A5C
- cmp r2, #0x0
- bne _020C0A6C
- bl FUN_020C087C
- ldmia sp!, {r4,pc}
-_020C0A6C:
- add r0, r4, #0x1c
- mov r1, #0x0
- bl FUN_020C3E40
- mov r0, r4
- mov r1, #0x0
- bl FUN_020C06CC
- mov r0, #0x2
- strb r0, [r4, #0x2c]
- ldmia sp!, {r4,pc}
-
- arm_func_start FUN_020C0A90
-FUN_020C0A90: ; 0x020C0A90
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r5, r0
- ldrb r0, [r5, #0x3c]
- ldr r4, [r5, #0x4]
- bl SND_PrepareSeq
- ldr r2, [r4, #0x1c]
- cmp r2, #0x0
- beq _020C0AC0
- ldrb r0, [r5, #0x3c]
- ldr r1, _020C0AE4 ; =0x0000FFFF
- bl SND_SetTrackAllocatableChannel
-_020C0AC0:
- mov r0, r5
- bl FUN_020C0968
- bl SND_GetCurrentCommandTag
- str r0, [r5, #0x30]
- mov r0, #0x1
- strb r0, [r5, #0x2f]
- strb r0, [r5, #0x2c]
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,pc}
- .balign 4
-_020C0AE4: .word 0x0000FFFF
-
- arm_func_start thunk_FUN_020c077c
-thunk_FUN_020c077c: ; 0x020C0AE8
- ldr ip, _020C0AF0 ; =FUN_020C077C
- bx r12
- .balign 4
-_020C0AF0: .word FUN_020C077C
-
- arm_func_start FUN_020C0AF4
-FUN_020C0AF4: ; 0x020C0AF4
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- ldr ip, _020C0B9C ; =0x021D2254
- mov r3, #0x24
- mov r4, r0
- ldr r5, [r4, #0x0]
- mla r6, r1, r3, r12
- mov r7, r2
- cmp r5, #0x0
- beq _020C0B20
- bl FUN_020C0F68
-_020C0B20:
- ldrh r1, [r6, #0x8]
- ldr r0, [r6, #0x18]
- cmp r1, r0
- blo _020C0B64
- mov r0, r6
- mov r1, #0x0
- bl FUN_020ADA98
-_020C0B3C: ; 0x020C0B3C
- cmp r0, #0x0
- addeq sp, sp, #0x4
- moveq r0, #0x0
- ldmeqia sp!, {r4-r7,pc}
-_020C0B4C: ; 0x020C0B4C
- ldrb r1, [r0, #0x3d]
- cmp r7, r1
- addlt sp, sp, #0x4
- movlt r0, #0x0
- ldmltia sp!, {r4-r7,pc}
-_020C0B60: ; 0x020C0B60
- bl FUN_020C087C
-_020C0B64:
- mov r0, r7
- bl FUN_020C0808
- movs r5, r0
- addeq sp, sp, #0x4
- moveq r0, #0x0
- ldmeqia sp!, {r4-r7,pc}
-_020C0B7C: ; 0x020C0B7C
- mov r0, r6
- mov r1, r5
- bl FUN_020C0910
- str r4, [r5, #0x0]
- mov r0, r5
- str r5, [r4, #0x0]
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,pc}
- .balign 4
-_020C0B9C: .word 0x021D2254
-
- arm_func_start FUN_020C0BA0
-FUN_020C0BA0: ; 0x020C0BA0
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0xc
- bl SND_GetPlayerStatus
-_020C0BAC: ; 0x020C0BAC
- str r0, [sp, #0x0]
- ldr r0, _020C0D14 ; =0x021D1E08
- mov r1, #0x0
- bl FUN_020ADA98
- movs r10, r0
- addeq sp, sp, #0xc
- ldmeqia sp!, {r4-r11,pc}
-_020C0BC8: ; 0x020C0BC8
- mov r0, #0x8000
- rsb r0, r0, #0x0
- ldr r4, _020C0D18 ; =0x02103BAC
- str r0, [sp, #0x4]
- mov r5, #0x1
- mov r11, #0x0
-_020C0BE0:
- ldr r0, _020C0D14 ; =0x021D1E08
- mov r1, r10
- bl FUN_020ADA98
- ldrb r1, [r10, #0x2d]
- mov r9, r0
- cmp r1, #0x0
- bne _020C0C0C
- ldr r0, [r10, #0x30]
- bl SND_IsFinishedCommandTag
-_020C0C04: ; 0x020C0C04
- cmp r0, #0x0
- strneb r5, [r10, #0x2d]
-_020C0C0C:
- ldrb r0, [r10, #0x2d]
- cmp r0, #0x0
- beq _020C0C38
- ldrb r0, [r10, #0x3c]
- mov r1, r5, lsl r0
- ldr r0, [sp, #0x0]
- ands r0, r0, r1
- bne _020C0C38
- mov r0, r10
- bl FUN_020C077C
- b _020C0D00
-_020C0C38:
- add r0, r10, #0x1c
- bl FUN_020C3DF4
- ldr r0, [r10, #0x4]
- ldrb r2, [r10, #0x41]
- ldrb r1, [r10, #0x40]
- ldrb r0, [r0, #0x20]
- mov r3, r2, lsl #0x1
- mov r2, r1, lsl #0x1
- mov r1, r0, lsl #0x1
- add r0, r10, #0x1c
- ldrsh r8, [r4, r3]
- ldrsh r7, [r4, r2]
- ldrsh r6, [r4, r1]
- bl FUN_020C3E0C
- mov r0, r0, asr #0x8
- mov r2, r0, lsl #0x1
- add r1, r7, r8
- mov r0, #0x8000
- ldrsh r2, [r4, r2]
- add r1, r6, r1
- rsb r0, r0, #0x0
- add r6, r2, r1
- cmp r6, r0
- ldrlt r6, [sp, #0x4]
- blt _020C0CA8
- ldr r0, _020C0D1C ; =0x00007FFF
- cmp r6, r0
- movgt r6, r0
-_020C0CA8:
- ldrsh r0, [r10, #0x3e]
- cmp r6, r0
- beq _020C0CC4
- ldrb r0, [r10, #0x3c]
- mov r1, r6
- bl SND_SetPlayerVolume
- strh r6, [r10, #0x3e]
-_020C0CC4:
- ldrb r0, [r10, #0x2c]
- cmp r0, #0x2
- bne _020C0CE8
- add r0, r10, #0x1c
- bl FUN_020C3DDC
-_020C0CD8: ; 0x020C0CD8
- cmp r0, #0x0
- beq _020C0CE8
- mov r0, r10
- bl FUN_020C087C
-_020C0CE8:
- ldrb r0, [r10, #0x2f]
- cmp r0, #0x0
- beq _020C0D00
- ldrb r0, [r10, #0x3c]
- bl SND_StartPreparedSeq
- strb r11, [r10, #0x2f]
-_020C0D00:
- mov r10, r9
- cmp r9, #0x0
- bne _020C0BE0
- add sp, sp, #0xc
- ldmia sp!, {r4-r11,pc}
- .balign 4
-_020C0D14: .word 0x021D1E08
-_020C0D18: .word 0x02103BAC
-_020C0D1C: .word 0x00007FFF
-
- arm_func_start FUN_020C0D20
-FUN_020C0D20: ; 0x020C0D20
- stmdb sp!, {r4-r10,lr}
- ldr r0, _020C0DC4 ; =0x021D1E08
- mov r1, #0x14
- bl FUN_020ADC74
- ldr r0, _020C0DC8 ; =0x021D1DFC
- mov r1, #0x14
- bl FUN_020ADC74
- ldr r6, _020C0DCC ; =0x021D1E14
- mov r7, #0x0
- ldr r4, _020C0DC8 ; =0x021D1DFC
- mov r5, r7
-_020C0D4C:
- strb r5, [r6, #0x2c]
- mov r0, r4
- mov r1, r6
- strb r7, [r6, #0x3c]
- bl FUN_020ADBE8
- add r7, r7, #0x1
- cmp r7, #0x10
- add r6, r6, #0x44
- blt _020C0D4C
- ldr sl, _020C0DD0 ; =0x021D2254
- mov r9, #0x0
- mov r7, r9
- mov r4, r9
- mov r8, #0xc
- mov r6, #0x7f
- mov r5, #0x1
-_020C0D8C:
- mov r0, r10
- mov r1, r8
- bl FUN_020ADC74
- mov r1, r7
- add r0, r10, #0xc
- bl FUN_020ADC74
- strb r6, [r10, #0x20]
- str r5, [r10, #0x18]
- add r9, r9, #0x1
- str r4, [r10, #0x1c]
- cmp r9, #0x20
- add r10, r10, #0x24
- blt _020C0D8C
- ldmia sp!, {r4-r10,pc}
- .balign 4
-_020C0DC4: .word 0x021D1E08
-_020C0DC8: .word 0x021D1DFC
-_020C0DCC: .word 0x021D1E14
-_020C0DD0: .word 0x021D2254
-
- arm_func_start FUN_020C0DD4
-FUN_020C0DD4: ; 0x020C0DD4
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r1, [r0, #0x0]
- cmp r1, #0x0
- addeq sp, sp, #0x4
- moveq r0, #0x0
- ldmeqia sp!, {pc}
- ldrb r0, [r1, #0x2d]
- cmp r0, #0x0
- addeq sp, sp, #0x4
- moveq r0, #0x0
- ldmeqia sp!, {pc}
- ldrb r0, [r1, #0x3c]
- bl SND_GetPlayerTickCounter
- add sp, sp, #0x4
- ldmia sp!, {pc}
-
- arm_func_start FUN_020C0E14
-FUN_020C0E14: ; 0x020C0E14
- ldr r1, [r0, #0x0]
- cmp r1, #0x0
- mvneq r0, #0x0
- bxeq lr
- ldrh r0, [r1, #0x34]
- cmp r0, #0x1
- mvnne r0, #0x0
- ldreqh r0, [r1, #0x38]
- bx lr
-
- arm_func_start FUN_020C0E38
-FUN_020C0E38: ; 0x020C0E38
- ldr r12, [r0, #0x0]
- cmp r12, #0x0
- bxeq lr
- mov r3, #0x2
- strh r3, [r12, #0x34]
- ldr r3, [r0, #0x0]
- strh r1, [r3, #0x38]
- ldr r0, [r0, #0x0]
- strh r2, [r0, #0x3a]
- bx lr
-
- arm_func_start FUN_020C0E60
-FUN_020C0E60: ; 0x020C0E60
- ldr r3, [r0, #0x0]
- cmp r3, #0x0
- movne r2, #0x1
- strneh r2, [r3, #0x34]
- ldrne r0, [r0, #0x0]
- strneh r1, [r0, #0x38]
- bx lr
-
- arm_func_start FUN_020C0E7C
-FUN_020C0E7C: ; 0x020C0E7C
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- addeq sp, sp, #0x4
- ldmeqia sp!, {pc}
- ldrb r0, [r0, #0x3c]
- bl SND_SetTrackPan
- add sp, sp, #0x4
- ldmia sp!, {pc}
-
- arm_func_start FUN_020C0EA4
-FUN_020C0EA4: ; 0x020C0EA4
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- addeq sp, sp, #0x4
- ldmeqia sp!, {pc}
- ldrb r0, [r0, #0x3c]
- bl SND_SetTrackPitch
- add sp, sp, #0x4
- ldmia sp!, {pc}
-
- arm_func_start FUN_020C0ECC
-FUN_020C0ECC: ; 0x020C0ECC
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- addeq sp, sp, #0x4
- ldmeqia sp!, {pc}
- ldrb r0, [r0, #0x3c]
- bl SND_SetPlayerChannelPriority
- add sp, sp, #0x4
- ldmia sp!, {pc}
-
- arm_func_start FUN_020C0EF4
-FUN_020C0EF4: ; 0x020C0EF4
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r3, [r0, #0x0]
- cmp r3, #0x0
- addeq sp, sp, #0x4
- ldmeqia sp!, {pc}
- ldrb r0, [r3, #0x2c]
- cmp r0, #0x2
- addeq sp, sp, #0x4
- ldmeqia sp!, {pc}
- add r0, r3, #0x1c
- mov r1, r1, lsl #0x8
- bl FUN_020C3E40
- add sp, sp, #0x4
- ldmia sp!, {pc}
-
- arm_func_start FUN_020C0F30
-FUN_020C0F30: ; 0x020C0F30
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- strneb r1, [r0, #0x40]
- bx lr
-
- arm_func_start FUN_020C0F40
-FUN_020C0F40: ; 0x020C0F40
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- strneb r1, [r0, #0x41]
- bx lr
-
- arm_func_start FUN_020C0F50
-FUN_020C0F50: ; 0x020C0F50
- mov r1, #0x24
- mul r1, r0, r1
- ldr r0, _020C0F64 ; =0x021D225C
- ldrh r0, [r0, r1]
- bx lr
- .balign 4
-_020C0F64: .word 0x021D225C
-
- arm_func_start FUN_020C0F68
-FUN_020C0F68: ; 0x020C0F68
- ldr r2, [r0, #0x0]
- cmp r2, #0x0
- movne r1, #0x0
- strne r1, [r2, #0x0]
- strne r1, [r0, #0x0]
- bx lr
-
- arm_func_start FUN_020C0F80
-FUN_020C0F80: ; 0x020C0F80
- mov r1, #0x0
- str r1, [r0, #0x0]
- bx lr
-
- arm_func_start FUN_020C0F8C
-FUN_020C0F8C: ; 0x020C0F8C
- ldr ip, _020C0F98 ; =FUN_020C0A04
- ldr r0, [r0, #0x0]
- bx r12
- .balign 4
-_020C0F98: .word FUN_020C0A04
-
- arm_func_start FUN_020C0F9C
-FUN_020C0F9C: ; 0x020C0F9C
- stmdb sp!, {r4-r6,lr}
- ldr r4, _020C0FD8 ; =0x021D1E14
- mov r6, r0
- mov r5, #0x0
-_020C0FAC:
- ldrb r0, [r4, #0x2c]
- cmp r0, #0x0
- beq _020C0FC4
- mov r0, r4
- mov r1, r6
- bl FUN_020C0A40
-_020C0FC4:
- add r5, r5, #0x1
- cmp r5, #0x10
- add r4, r4, #0x44
- blt _020C0FAC
- ldmia sp!, {r4-r6,pc}
- .balign 4
-_020C0FD8: .word 0x021D1E14
-
- arm_func_start FUN_020C0FDC
-FUN_020C0FDC: ; 0x020C0FDC
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- ldr r4, _020C103C ; =0x021D1E14
- mov r7, r0
- mov r6, r1
- mov r5, #0x0
-_020C0FF4:
- ldrb r0, [r4, #0x2c]
- cmp r0, #0x0
- beq _020C1024
- ldrh r0, [r4, #0x34]
- cmp r0, #0x1
- bne _020C1024
- ldrh r0, [r4, #0x38]
- cmp r0, r7
- bne _020C1024
- mov r0, r4
- mov r1, r6
- bl FUN_020C0A40
-_020C1024:
- add r5, r5, #0x1
- cmp r5, #0x10
- add r4, r4, #0x44
- blt _020C0FF4
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,pc}
- .balign 4
-_020C103C: .word 0x021D1E14
-
- arm_func_start FUN_020C1040
-FUN_020C1040: ; 0x020C1040
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- ldr r3, _020C109C ; =0x021D2254
- mov r2, #0x24
- mla r4, r0, r2, r3
- ldr r5, _020C10A0 ; =0x021D1E14
- mov r7, r1
- mov r6, #0x0
-_020C1060:
- ldrb r0, [r5, #0x2c]
- cmp r0, #0x0
- beq _020C1084
- ldr r0, [r5, #0x4]
- cmp r0, r4
- bne _020C1084
- mov r0, r5
- mov r1, r7
- bl FUN_020C0A40
-_020C1084:
- add r6, r6, #0x1
- cmp r6, #0x10
- add r5, r5, #0x44
- blt _020C1060
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,pc}
- .balign 4
-_020C109C: .word 0x021D2254
-_020C10A0: .word 0x021D1E14
-
- arm_func_start FUN_020C10A4
-FUN_020C10A4: ; 0x020C10A4
- ldr ip, _020C10B0 ; =FUN_020C0A40
- ldr r0, [r0, #0x0]
- bx r12
- .balign 4
-_020C10B0: .word FUN_020C0A40
-
- arm_func_start FUN_020C10B4
-FUN_020C10B4:
- stmdb sp!, {r4-r6,lr}
- sub sp, sp, #0x8
- mov r5, r2
- mov r6, r0
- mov r0, r1
- mov r3, #0x0
- ldr r2, _020C1140 ; =FUN_020C072C
- add r1, r5, #0x14
- str r3, [sp, #0x0]
- bl FUN_020C2958
- movs r4, r0
- addeq sp, sp, #0x8
- moveq r0, #0x0
- ldmeqia sp!, {r4-r6,pc}
-_020C10EC: ; 0x020C10EC
- mov r2, #0x0
- str r2, [r4, #0xc]
- str r6, [r4, #0x10]
- mov r1, r5
- add r0, r4, #0x14
- str r2, [r4, #0x8]
- bl FUN_020C2A94
-_020C1108: ; 0x020C1108
- cmp r0, #0x0
- addeq sp, sp, #0x8
- moveq r0, #0x0
- ldmeqia sp!, {r4-r6,pc}
-_020C1118: ; 0x020C1118
- ldr r2, _020C1144 ; =0x021D2254
- mov r1, #0x24
- mla r2, r6, r1, r2
- str r0, [r4, #0x8]
- mov r1, r4
- add r0, r2, #0xc
- bl FUN_020ADBE8
- mov r0, #0x1
- add sp, sp, #0x8
- ldmia sp!, {r4-r6,pc}
- .balign 4
-_020C1140: .word FUN_020C072C
-_020C1144: .word 0x021D2254
-
- arm_func_start FUN_020C1148
-FUN_020C1148: ; 0x020C1148
- mov r2, #0x24
- mul r2, r0, r2
- ldr r0, _020C115C ; =0x021D2270
- str r1, [r0, r2]
- bx lr
- .balign 4
-_020C115C: .word 0x021D2270
-
- arm_func_start FUN_020C1160
-FUN_020C1160: ; 0x020C1160
- mov r2, #0x24
- mul r2, r0, r2
- mov r0, r1, lsl #0x10
- ldr r1, _020C117C ; =0x021D226C
- mov r0, r0, lsr #0x10
- str r0, [r1, r2]
- bx lr
- .balign 4
-_020C117C: .word 0x021D226C
-
- arm_func_start FUN_020C1180
-FUN_020C1180: ; 0x020C1180
- mov r2, #0x24
- mul r2, r0, r2
- ldr r0, _020C1194 ; =0x021D2274
- strb r1, [r0, r2]
- bx lr
- .balign 4
-_020C1194: .word 0x021D2274
-
- arm_func_start FUN_020C1198
-FUN_020C1198: ; 0x020C1198
- stmdb sp!, {r4-r6,lr}
- mov r4, r0
- ldr r0, [r4, #0x24]
- mov r0, r0, lsl #0x1e
- movs r0, r0, asr #0x1f
- ldmeqia sp!, {r4-r6,pc}
-_020C11B0: ; 0x020C11B0
- ldr r0, [r4, #0x38]
- cmp r0, #0x0
- beq _020C11E8
- mov r5, #0x1
-_020C11C0:
- bl OS_DisableInterrupts
- mov r6, r0
- mov r0, r4
- mov r1, r5
- bl FUN_020C1254
- mov r0, r6
- bl OS_RestoreInterrupts
- ldr r0, [r4, #0x38]
- cmp r0, #0x0
- bne _020C11C0
-_020C11E8:
- ldr r0, [r4, #0x40]
- mov r2, #0x1
- mov r1, #0x0
- mov r2, r2, lsl r0
- ldr r0, [r4, #0x44]
- mov r3, r1
- bl SND_StartTimer
- ldmia sp!, {r4-r6,pc}
-
- arm_func_start FUN_020C1208
-FUN_020C1208: ; 0x020C1208
- stmdb sp!, {r4,lr}
- ldr r1, [r0, #0x24]
- mov r1, r1, lsl #0x1e
- movs r1, r1, asr #0x1f
- ldmeqia sp!, {r4,pc}
-_020C121C: ; 0x020C121C
- ldr r2, [r0, #0x40]
- mov r3, #0x1
- mov r1, #0x0
- mov r2, r3, lsl r2
- ldr r0, [r0, #0x44]
- mov r3, r1
- bl SND_StopTimer
- bl SND_GetCurrentCommandTag
- mov r4, r0
- mov r0, #0x1
- bl SND_FlushCommand
- mov r0, r4
- bl SND_WaitForCommandProc
- ldmia sp!, {r4,pc}
-
- arm_func_start FUN_020C1254
-FUN_020C1254: ; 0x020C1254
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0xc
- mov r5, r0
- mov r4, r1
- ldr r0, [r5, #0x28]
- ldr r1, [r5, #0x2c]
- bl _u32_div_f
- ldr r1, [r5, #0x48]
- ldr r2, [r5, #0x38]
- mov r3, r0
- mul lr, r3, r2
- cmp r1, #0x0
- mov r12, #0x0
- ble _020C12B8
- ldr r2, _020C1300 ; =0x021D2724
- ldr r0, _020C1304 ; =0x021D26E4
-_020C1294:
- add r1, r5, r12
- ldrb r1, [r1, #0x4c]
- ldr r1, [r2, r1, lsl #0x3]
- add r1, r1, lr
- str r1, [r0, r12, lsl #0x2]
- ldr r1, [r5, #0x48]
- add r12, r12, #0x1
- cmp r12, r1
- blt _020C1294
-_020C12B8:
- ldr r0, [r5, #0x20]
- ldr r2, _020C1304 ; =0x021D26E4
- str r0, [sp, #0x0]
- ldr r12, [r5, #0x34]
- mov r0, r4
- str r12, [sp, #0x4]
- ldr r4, [r5, #0x30]
- blx r4
- ldr r0, [r5, #0x38]
- add r0, r0, #0x1
- str r0, [r5, #0x38]
- ldr r1, [r5, #0x38]
- ldr r0, [r5, #0x2c]
- cmp r1, r0
- movge r0, #0x0
- strge r0, [r5, #0x38]
- add sp, sp, #0xc
- ldmia sp!, {r4-r5,pc}
- .balign 4
-_020C1300: .word 0x021D2724
-_020C1304: .word 0x021D26E4
-
- arm_func_start FUN_020C1308
-FUN_020C1308: ; 0x020C1308
- ldr ip, _020C1314 ; =FUN_020C1254
- mov r1, #0x1
- bx r12
- .balign 4
-_020C1314: .word FUN_020C1254
-
- arm_func_start FUN_020C1318
-FUN_020C1318: ; 0x020C1318
- stmdb sp!, {r4,lr}
- mov r4, r0
- ldr r0, [r4, #0x40]
- bl FUN_020C029C
- ldr r0, _020C1344 ; =0x021D26D8
- mov r1, r4
- bl FUN_020ADAB0
- ldr r0, [r4, #0x24]
- bic r0, r0, #0x1
- str r0, [r4, #0x24]
- ldmia sp!, {r4,pc}
- .balign 4
-_020C1344: .word 0x021D26D8
-
- arm_func_start FUN_020C1348
-FUN_020C1348: ; 0x020C1348
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r4, r0
- ldr r0, [r4, #0x24]
- mov r0, r0, lsl #0x1e
- movs r0, r0, asr #0x1f
- beq _020C13B4
- ldr r0, [r4, #0x40]
- mov r2, #0x1
- mov r1, #0x0
- mov r2, r2, lsl r0
- ldr r0, [r4, #0x44]
- mov r3, r1
- bl SND_StopTimer
- add r0, r4, #0x8
- bl PM_DeletePreSleepCallback
- add r0, r4, #0x14
- bl PM_DeletePostSleepCallback
- ldr r0, [r4, #0x24]
- bic r0, r0, #0x2
- str r0, [r4, #0x24]
- bl SND_GetCurrentCommandTag
- mov r5, r0
- mov r0, #0x1
- bl SND_FlushCommand
- mov r0, r5
- bl SND_WaitForCommandProc
-_020C13B4:
- mov r0, r4
- bl FUN_020C1318
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,pc}
-
- arm_func_start FUN_020C13C4
-FUN_020C13C4: ; 0x020C13C4
- stmdb sp!, {r4-r8,lr}
- mov r7, r0
- str r1, [r7, #0x3c]
- ldr r0, [r7, #0x48]
- mov r5, #0x0
- cmp r0, #0x0
- ldmleia sp!, {r4-r8,pc}
-_020C13E0: ; 0x020C13E0
- ldr r4, _020C142C ; =0x021D2724
- mov r8, #0x1
-_020C13E8:
- add r0, r7, r5
- ldrb r6, [r0, #0x4c]
- ldr r1, [r7, #0x3c]
- add r0, r4, r6, lsl #0x3
- ldr r0, [r0, #0x4]
- add r0, r1, r0
- bl SND_CalcChannelVolume
- mov r2, r0
- mov r0, r8, lsl r6
- and r1, r2, #0xff
- mov r2, r2, asr #0x8
- bl SND_SetChannelVolume
- ldr r0, [r7, #0x48]
- add r5, r5, #0x1
- cmp r5, r0
- blt _020C13E8
- ldmia sp!, {r4-r8,pc}
- .balign 4
-_020C142C: .word 0x021D2724
-
- arm_func_start FUN_020C1430
-FUN_020C1430: ; 0x020C1430
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r1, [r0, #0x24]
- mov r1, r1, lsl #0x1f
- movs r1, r1, asr #0x1f
- addeq sp, sp, #0x4
- ldmeqia sp!, {pc}
- bl FUN_020C1348
- add sp, sp, #0x4
- ldmia sp!, {pc}
-
- arm_func_start FUN_020C1458
-FUN_020C1458: ; 0x020C1458
- stmdb sp!, {r4,lr}
- mov r4, r0
- ldr r0, [r4, #0x40]
- mov r2, #0x1
- mov r1, #0x0
- mov r2, r2, lsl r0
- ldr r0, [r4, #0x44]
- mov r3, r1
- bl SND_StartTimer
- ldr r0, [r4, #0x24]
- mov r0, r0, lsl #0x1e
- movs r0, r0, asr #0x1f
- ldmneia sp!, {r4,pc}
-_020C148C: ; 0x020C148C
- add r0, r4, #0x8
- bl PM_PrependPreSleepCallback
- add r0, r4, #0x14
- bl PM_AppendPostSleepCallback
- ldr r0, [r4, #0x24]
- orr r0, r0, #0x2
- str r0, [r4, #0x24]
- ldmia sp!, {r4,pc}
-
- arm_func_start FUN_020C14AC
-FUN_020C14AC: ; 0x020C14AC
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0x24
- mov r10, r0
- ldr r4, [r10, #0x24]
- mov r9, r1
- mov r1, r4, lsl #0x1f
- movs r1, r1, asr #0x1f
- ldr r1, [sp, #0x4c]
- str r2, [sp, #0x18]
- mov r4, r3
- str r1, [sp, #0x4c]
- beq _020C14E0
- bl FUN_020C1430
-_020C14E0:
- ldr r0, [sp, #0x4c]
- ldr r2, [r10, #0x48]
- mov r0, r0, lsl #0x5
- mul r1, r2, r0
- mov r0, r4
- bl _u32_div_f
- ldr r1, [sp, #0x4c]
- ldr r2, [sp, #0x48]
- mul r1, r0, r1
- mov r0, r1, lsl #0x5
- str r0, [r10, #0x28]
- ldr r0, [r10, #0x28]
- cmp r9, #0x1
- moveq r0, r0, lsr #0x1
- mul r0, r2, r0
- ldr r1, [sp, #0x4c]
- bl _u32_div_f
- str r0, [sp, #0x1c]
- bl FUN_020C02BC
- str r0, [r10, #0x40]
- ldr r0, [r10, #0x40]
- cmp r0, #0x0
- addlt sp, sp, #0x24
- movlt r0, #0x0
- ldmltia sp!, {r4-r11,pc}
-_020C1544: ; 0x020C1544
- ldr r0, [r10, #0x48]
- mov r8, #0x0
- cmp r0, #0x0
- ble _020C15D4
- ldr r0, [sp, #0x48]
- mov r7, r0, lsl #0x5
- ldr r6, _020C1668 ; =0x021D2724
- mov r5, r8
- mov r4, #0x7f
- mov r11, #0x40
- mov r0, #0x1
- str r0, [sp, #0x20]
-_020C1574:
- ldr r2, [r10, #0x28]
- ldr r1, [sp, #0x18]
- add r0, r10, r8
- mla r1, r2, r8, r1
- ldrb r0, [r0, #0x4c]
- ldr r3, [sp, #0x20]
- str r1, [r6, r0, lsl #0x3]
- add r1, r6, r0, lsl #0x3
- str r5, [r1, #0x4]
- str r5, [sp, #0x0]
- ldr r2, [r10, #0x28]
- mov r1, r9
- mov r2, r2, lsr #0x2
- str r2, [sp, #0x4]
- str r4, [sp, #0x8]
- str r5, [sp, #0xc]
- str r7, [sp, #0x10]
- str r11, [sp, #0x14]
- ldr r2, [r6, r0, lsl #0x3]
- bl SND_SetupChannelPcm
- ldr r0, [r10, #0x48]
- add r8, r8, #0x1
- cmp r8, r0
- blt _020C1574
-_020C15D4:
- str r10, [sp, #0x0]
- ldr r1, [sp, #0x1c]
- ldr r0, [r10, #0x40]
- ldr r3, _020C166C ; =FUN_020C1308
- mov r2, r1
- bl SND_SetupAlarm
- ldr r0, _020C1670 ; =0x021D26D8
- mov r1, r10
- bl FUN_020ADBE8
- ldr r0, [sp, #0x4c]
- str r9, [r10, #0x20]
- str r0, [r10, #0x2c]
- ldr r1, [sp, #0x50]
- ldr r0, [sp, #0x54]
- str r1, [r10, #0x30]
- str r0, [r10, #0x34]
- mov r0, #0x0
- str r0, [r10, #0x38]
- str r0, [r10, #0x3c]
- ldr r0, [r10, #0x24]
- bic r0, r0, #0x1
- orr r0, r0, #0x1
- str r0, [r10, #0x24]
- bl OS_DisableInterrupts
- mov r4, r0
- mov r2, #0x1
- mov r0, r10
- mov r1, #0x0
- str r2, [r10, #0x2c]
- bl FUN_020C1254
- ldr r1, [sp, #0x4c]
- mov r0, r4
- str r1, [r10, #0x2c]
- bl OS_RestoreInterrupts
- mov r0, #0x1
- add sp, sp, #0x24
- ldmia sp!, {r4-r11,pc}
- .balign 4
-_020C1668: .word 0x021D2724
-_020C166C: .word FUN_020C1308
-_020C1670: .word 0x021D26D8
-
- arm_func_start FUN_020C1674
-FUN_020C1674: ; 0x020C1674
- stmdb sp!, {r4,lr}
- mov r4, r0
- ldr r0, [r4, #0x44]
- cmp r0, #0x0
- ldmeqia sp!, {r4,pc}
-_020C1688: ; 0x020C1688
- bl FUN_020C0340
-_020C168C: ; 0x020C168C
- mov r0, #0x0
- str r0, [r4, #0x44]
- str r0, [r4, #0x48]
- ldmia sp!, {r4,pc}
-
- arm_func_start FUN_020C169C
-FUN_020C169C: ; 0x020C169C
- stmdb sp!, {r4-r6,lr}
- mov r5, r1
- mov r4, #0x0
- mov r6, r0
- mov r12, r4
- cmp r5, #0x0
- ble _020C16DC
- mov r1, #0x1
-_020C16BC:
- ldrb r3, [r2, r12]
- add r0, r6, r12
- strb r3, [r0, #0x4c]
- ldrb r0, [r2, r12]
- add r12, r12, #0x1
- cmp r12, r5
- orr r4, r4, r1, lsl r0
- blt _020C16BC
-_020C16DC:
- mov r0, r4
- bl FUN_020C0370
-_020C16E4: ; 0x020C16E4
- cmp r0, #0x0
- moveq r0, #0x0
- strne r5, [r6, #0x48]
- strne r4, [r6, #0x44]
- movne r0, #0x1
- ldmia sp!, {r4-r6,pc}
-
- arm_func_start FUN_020C16FC
-FUN_020C16FC: ; 0x020C16FC
- stmdb sp!, {r4,lr}
- ldr r1, _020C176C ; =0x021D26D4
- mov r4, r0
- ldr r0, [r1, #0x0]
- cmp r0, #0x0
- bne _020C172C
- ldr r0, _020C1770 ; =0x021D26D8
- mov r1, #0x0
- bl FUN_020ADC74
- ldr r0, _020C176C ; =0x021D26D4
- mov r1, #0x1
- str r1, [r0, #0x0]
-_020C172C:
- ldr r1, _020C1774 ; =FUN_020C1208
- ldr r0, _020C1778 ; =FUN_020C1198
- str r1, [r4, #0x8]
- str r4, [r4, #0xc]
- str r0, [r4, #0x14]
- str r4, [r4, #0x18]
- mov r0, #0x0
- str r0, [r4, #0x44]
- str r0, [r4, #0x48]
- ldr r0, [r4, #0x24]
- bic r0, r0, #0x1
- str r0, [r4, #0x24]
- ldr r0, [r4, #0x24]
- bic r0, r0, #0x2
- str r0, [r4, #0x24]
- ldmia sp!, {r4,pc}
- .balign 4
-_020C176C: .word 0x021D26D4
-_020C1770: .word 0x021D26D8
-_020C1774: .word FUN_020C1208
-_020C1778: .word FUN_020C1198
-
- arm_func_start FUN_020C177C
-FUN_020C177C: ; 0x020C177C
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- mov r7, r0
- ldr r4, [r7, #0x18]
- ldr r0, [r7, #0x1c]
- ldr r1, _020C186C ; =0x021D27A4
- mul r0, r4, r0
- ldr r3, [r7, #0xc]
- ldr r2, [r7, #0x10]
- ldr r1, [r1, #0x0]
- add r6, r3, r0
- cmp r1, #0x0
- add r5, r2, r0
- beq _020C180C
- ldr r2, _020C1870 ; =0x021D27A8
- mov r1, #0x14
- ldr r2, [r2, #0x0]
- ldr r3, _020C1874 ; =0x021D2820
- mul r1, r2, r1
- str r7, [r3, r1]
- add r1, r3, r1
- str r4, [r1, #0x4]
- str r0, [r1, #0x8]
- str r6, [r1, #0xc]
- ldr r0, _020C1878 ; =0x021D27AC
- mov r2, #0x0
- str r5, [r1, #0x10]
- bl OS_SendMessage
- ldr r0, _020C1870 ; =0x021D27A8
- ldr r1, [r0, #0x0]
- add r1, r1, #0x1
- str r1, [r0, #0x0]
- cmp r1, #0x8
- movge r1, #0x0
- strge r1, [r0, #0x0]
- b _020C1844
-_020C180C:
- mov r0, r6
- mov r1, r4
- bl DC_InvalidateRange
- mov r0, r5
- mov r1, r4
- bl DC_InvalidateRange
- ldr r1, [r7, #0x38]
- mov r0, r6
- str r1, [sp, #0x0]
- ldr r3, [r7, #0x8]
- ldr r6, [r7, #0x34]
- mov r1, r5
- mov r2, r4
- blx r6
-_020C1844:
- ldr r0, [r7, #0x1c]
- add r0, r0, #0x1
- str r0, [r7, #0x1c]
- ldr r1, [r7, #0x1c]
- ldr r0, [r7, #0x30]
- cmp r1, r0
- movge r0, #0x0
- strge r0, [r7, #0x1c]
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,pc}
- .balign 4
-_020C186C: .word 0x021D27A4
-_020C1870: .word 0x021D27A8
-_020C1874: .word 0x021D2820
-_020C1878: .word 0x021D27AC
-
- arm_func_start FUN_020C187C
-FUN_020C187C: ; 0x020C187C
- stmdb sp!, {r4,lr}
- ldr r4, _020C18F4 ; =0x021D27CC
- ldr r0, [r4, #0x0]
- cmp r0, #0x0
- ldmeqia sp!, {r4,pc}
-_020C1890: ; 0x020C1890
- mov r0, #0x0
- str r0, [r4, #0x1c]
- ldr r1, [r4, #0xc]
- ldr r2, [r4, #0x14]
- bl MIi_CpuClear32
- ldr r1, [r4, #0x10]
- ldr r2, [r4, #0x14]
- mov r0, #0x0
- bl MIi_CpuClear32
- ldr r0, [r4, #0xc]
- ldr r1, [r4, #0x14]
- bl DC_FlushRange
- ldr r0, [r4, #0x10]
- ldr r1, [r4, #0x14]
- bl DC_FlushRange
- ldr r1, [r4, #0x2c]
- mov r3, #0x0
- cmp r1, #0x0
- movge r0, #0x1
- movge r2, r0, lsl r1
- ldr r0, [r4, #0x24]
- ldr r1, [r4, #0x28]
- movlt r2, #0x0
- bl SND_StartTimer
- ldmia sp!, {r4,pc}
- .balign 4
-_020C18F4: .word 0x021D27CC
-
- arm_func_start FUN_020C18F8
-FUN_020C18F8:
- stmdb sp!, {r4,lr}
- ldr r3, _020C194C ; =0x021D27CC
- ldr r0, [r3, #0x0]
- cmp r0, #0x0
- ldmeqia sp!, {r4,pc}
-_020C190C: ; 0x020C190C
- ldr r1, [r3, #0x2c]
- cmp r1, #0x0
- movge r0, #0x1
- movge r2, r0, lsl r1
- ldr r0, [r3, #0x24]
- ldr r1, [r3, #0x28]
- movlt r2, #0x0
- mov r3, #0x0
- bl SND_StopTimer
- bl SND_GetCurrentCommandTag
- mov r4, r0
- mov r0, #0x1
- bl SND_FlushCommand
- mov r0, r4
- bl SND_WaitForCommandProc
- ldmia sp!, {r4,pc}
- .balign 4
-_020C194C: .word 0x021D27CC
-
- arm_func_start FUN_020C1950
-FUN_020C1950: ; 0x020C1950
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- ldr r4, _020C1A3C ; =0x021D27CC
- ldr r0, [r4, #0x0]
- cmp r0, #0x0
- addeq sp, sp, #0x4
- ldmeqia sp!, {r4-r7,pc}
-_020C196C: ; 0x020C196C
- ldr r1, [r4, #0x2c]
- mov r3, #0x0
- cmp r1, #0x0
- movge r7, #0x1
- movlt r7, #0x0
- cmp r7, #0x0
- movne r0, #0x1
- movne r2, r0, lsl r1
- ldr r0, [r4, #0x24]
- ldr r1, [r4, #0x28]
- moveq r2, #0x0
- bl SND_StopTimer
-_020C199C: ; 0x020C199C
- cmp r7, #0x0
- beq _020C19DC
- bl SND_GetCurrentCommandTag
- mov r5, r0
- mov r0, #0x1
- bl SND_FlushCommand
- mov r0, r5
- bl SND_WaitForCommandProc
- ldr r6, _020C1A40 ; =0x021D27AC
- mov r5, #0x0
-_020C19C4:
- mov r0, r6
- mov r1, r5
- mov r2, r5
- bl OS_ReceiveMessage
-_020C19D4: ; 0x020C19D4
- cmp r0, #0x0
- bne _020C19C4
-_020C19DC:
- ldr r0, [r4, #0x28]
- cmp r0, #0x0
- beq _020C19EC
- bl FUN_020C0300
-_020C19EC:
- ldr r0, [r4, #0x20]
- cmp r0, #0x0
- beq _020C19FC
- bl FUN_020C0340
-_020C19FC:
- cmp r7, #0x0
- beq _020C1A0C
- ldr r0, [r4, #0x2c]
- bl FUN_020C029C
-_020C1A0C:
- ldr r0, [r4, #0x4]
- cmp r0, #0x1
- bne _020C1A2C
- mov r0, #0x0
- mov r1, r0
- mov r2, r0
- mov r3, r0
- bl SND_SetOutputSelector
-_020C1A2C:
- mov r0, #0x0
- str r0, [r4, #0x0]
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,pc}
- .balign 4
-_020C1A3C: .word 0x021D27CC
-_020C1A40: .word 0x021D27AC
-
- arm_func_start FUN_020C1A44
-FUN_020C1A44: ; 0x020C1A44
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0x3c
- mov r10, r3
- str r0, [sp, #0x18]
- str r2, [sp, #0x20]
- mov r2, #0x0
- str r1, [sp, #0x1c]
- mov r0, r1
- mov r1, r10
- ldr r9, [sp, #0x6c]
- ldr r8, [sp, #0x74]
- str r2, [sp, #0x2c]
- mvn r6, #0x0
- ldr r4, _020C1D90 ; =0x021D27CC
- bl DC_FlushRange
- ldr r0, [sp, #0x20]
- mov r1, r10
- bl DC_FlushRange
- ldr r0, [sp, #0x60]
- ldr r1, [sp, #0x70]
- cmp r0, #0x1
- moveq r7, #0x1
- ldr r0, _020C1D94 ; =0x00FFB0FF
- movne r7, #0x0
- bl _s32_div_f
- ldr r1, [sp, #0x84]
- mov r11, r0
- cmp r1, #0x0
- beq _020C1B00
- add r1, r11, #0x10
- bic r11, r1, #0x1f
- mov r2, r11, asr #0x5
- mov r0, r10
- cmp r7, #0x0
- ldr r1, [sp, #0x80]
- moveq r0, r10, lsr #0x1
- str r2, [sp, #0x34]
- bl _u32_div_f
- ldr r1, [sp, #0x34]
- mov r5, #0x20
- mul r0, r1, r0
- str r0, [sp, #0x30]
- cmp r7, #0x0
- ldr r0, [sp, #0x34]
- moveq r5, r5, lsr #0x1
- mul r0, r5, r0
- mov r5, r0
-_020C1B00:
- cmp r7, #0x0
- movne r0, #0x0
- strne r0, [sp, #0x28]
- moveq r0, #0x1
- streq r0, [sp, #0x28]
- cmp r7, #0x0
- movne r0, #0x1
- strne r0, [sp, #0x24]
- moveq r0, #0x0
- streq r0, [sp, #0x24]
- ldr r0, [sp, #0x18]
- cmp r0, #0x2
- movne r0, #0xa
- strne r0, [sp, #0x2c]
- ldr r0, [sp, #0x84]
- cmp r0, #0x0
- beq _020C1B58
- bl FUN_020C02BC
- movs r6, r0
- addmi sp, sp, #0x3c
- movmi r0, #0x0
- ldmmiia sp!, {r4-r11,pc}
-_020C1B58:
- mov r0, #0x3
- bl FUN_020C031C
-_020C1B60: ; 0x020C1B60
- cmp r0, #0x0
- bne _020C1B84
- cmp r6, #0x0
- blt _020C1B78
- mov r0, r6
- bl FUN_020C029C
-_020C1B78:
- add sp, sp, #0x3c
- mov r0, #0x0
- ldmia sp!, {r4-r11,pc}
-_020C1B84:
- mov r0, #0xa
- bl FUN_020C0370
-_020C1B8C: ; 0x020C1B8C
- cmp r0, #0x0
- bne _020C1BB8
- cmp r6, #0x0
- blt _020C1BA4
- mov r0, r6
- bl FUN_020C029C
-_020C1BA4:
- mov r0, #0x3
- bl FUN_020C0300
- add sp, sp, #0x3c
- mov r0, #0x0
- ldmia sp!, {r4-r11,pc}
-_020C1BB8:
- mov r0, #0x0
- mov r7, r10, lsr #0x2
- str r0, [sp, #0x0]
- str r7, [sp, #0x4]
- str r8, [sp, #0x8]
- str r0, [sp, #0xc]
- cmp r9, #0x0
- movne r3, #0x1
- ldr r1, [sp, #0x78]
- str r11, [sp, #0x10]
- str r1, [sp, #0x14]
- ldr r1, [sp, #0x28]
- ldr r2, [sp, #0x1c]
- moveq r3, #0x2
- mov r0, #0x1
- bl SND_SetupChannelPcm
- ldr r1, [sp, #0x64]
- str r9, [sp, #0x0]
- str r1, [sp, #0x4]
- ldr r0, [sp, #0x68]
- ldr r1, [sp, #0x24]
- str r0, [sp, #0x8]
- ldr r2, [sp, #0x1c]
- mov r0, #0x0
- mov r3, r7
- bl SND_SetupCapture
-_020C1C20: ; 0x020C1C20
- mov r0, #0x0
- str r0, [sp, #0x0]
- str r7, [sp, #0x4]
- str r8, [sp, #0x8]
- str r0, [sp, #0xc]
- cmp r9, #0x0
- movne r3, #0x1
- ldr r2, [sp, #0x7c]
- str r11, [sp, #0x10]
- str r2, [sp, #0x14]
- ldr r1, [sp, #0x28]
- ldr r2, [sp, #0x20]
- moveq r3, #0x2
- mov r0, #0x3
- bl SND_SetupChannelPcm
- ldr r2, [sp, #0x64]
- str r9, [sp, #0x0]
- str r2, [sp, #0x4]
- ldr r0, [sp, #0x68]
- ldr r1, [sp, #0x24]
- str r0, [sp, #0x8]
- ldr r2, [sp, #0x20]
- mov r3, r7
- mov r0, #0x1
- bl SND_SetupCapture
-_020C1C84: ; 0x020C1C84
- cmp r6, #0x0
- blt _020C1CA8
- ldr r2, [sp, #0x30]
- ldr r3, _020C1D98 ; =FUN_020C177C
- mov r1, r2
- mov r0, r6
- add r1, r1, r5
- str r4, [sp, #0x0]
- bl SND_SetupAlarm
-_020C1CA8:
- ldr r0, [sp, #0x18]
- cmp r0, #0x1
- bne _020C1CC8
- mov r0, #0x1
- mov r2, r0
- mov r3, r0
- mov r1, #0x2
- bl SND_SetOutputSelector
-_020C1CC8:
- cmp r6, #0x0
- movge r0, #0x1
- movge r2, r0, lsl r6
- ldr r0, [sp, #0x2c]
- movlt r2, #0x0
- mov r1, #0x3
- mov r3, #0x0
- bl SND_StartTimer
- mov r0, #0x1
- str r0, [r4, #0x0]
- ldr r0, [sp, #0x18]
- ldr r1, [sp, #0x80]
- str r0, [r4, #0x4]
- mov r0, #0xa
- str r0, [r4, #0x20]
- ldr r0, [sp, #0x2c]
- str r0, [r4, #0x24]
- mov r0, #0x3
- str r0, [r4, #0x28]
- ldr r0, [sp, #0x60]
- str r6, [r4, #0x2c]
- str r0, [r4, #0x8]
- ldr r0, [sp, #0x1c]
- str r0, [r4, #0xc]
- ldr r0, [sp, #0x20]
- str r0, [r4, #0x10]
- mov r0, r10
- str r10, [r4, #0x14]
- bl _u32_div_f
- str r0, [r4, #0x18]
- mov r1, #0x0
- str r1, [r4, #0x1c]
- ldr r0, [sp, #0x80]
- ldr r1, [sp, #0x84]
- str r0, [r4, #0x30]
- ldr r0, [sp, #0x88]
- str r1, [r4, #0x34]
- str r0, [r4, #0x38]
- add r0, r4, #0x3c
- str r8, [r4, #0x50]
- bl FUN_020C3E6C
- add r0, r4, #0x3c
- mov r1, r8, lsl #0x8
- mov r2, #0x1
- bl FUN_020C3E40
-_020C1D7C: ; 0x020C1D7C
- mov r0, #0x0
- str r0, [r4, #0x4c]
- mov r0, #0x1
- add sp, sp, #0x3c
- ldmia sp!, {r4-r11,pc}
- .balign 4
-_020C1D90: .word 0x021D27CC
-_020C1D94: .word 0x00FFB0FF
-_020C1D98: .word FUN_020C177C
-
- arm_func_start FUN_020C1D9C
-FUN_020C1D9C: ; 0x020C1D9C
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- ldr r5, _020C1E34 ; =0x021D27CC
- ldr r0, [r5, #0x0]
- cmp r0, #0x0
- addeq sp, sp, #0x4
- ldmeqia sp!, {r4-r5,pc}
-_020C1DB8: ; 0x020C1DB8
- ldr r0, [r5, #0x4]
- cmp r0, #0x0
- addne sp, sp, #0x4
- ldmneia sp!, {r4-r5,pc}
-_020C1DC8: ; 0x020C1DC8
- add r4, r5, #0x3c
- mov r0, r4
- bl FUN_020C3DF4
- ldr r0, [r5, #0x4c]
- cmp r0, #0x0
- beq _020C1DFC
- mov r0, r4
- bl FUN_020C3DDC
-_020C1DE8: ; 0x020C1DE8
- cmp r0, #0x0
- beq _020C1DFC
- bl FUN_020C1950
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,pc}
-_020C1DFC:
- mov r0, r4
- bl FUN_020C3E0C
- ldr r1, [r5, #0x50]
- mov r4, r0, asr #0x8
- cmp r4, r1
- addeq sp, sp, #0x4
- ldmeqia sp!, {r4-r5,pc}
-_020C1E18: ; 0x020C1E18
- ldr r0, [r5, #0x24]
- mov r1, r4
- mov r2, #0x0
- bl SND_SetChannelVolume
- str r4, [r5, #0x50]
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,pc}
- .balign 4
-_020C1E34: .word 0x021D27CC
-
- arm_func_start FUN_020C1E38
-FUN_020C1E38: ; 0x020C1E38
- ldr r1, _020C1E50 ; =0x021D27A4
- mov r2, #0x0
- ldr r0, _020C1E54 ; =0x021D27CC
- str r2, [r1, #0x0]
- str r2, [r0, #0x0]
- bx lr
- .balign 4
-_020C1E50: .word 0x021D27A4
-_020C1E54: .word 0x021D27CC
-
- arm_func_start FUN_020C1E58
-FUN_020C1E58: ; 0x020C1E58
- ldr r0, _020C1E64 ; =0x021D27CC
- ldr r0, [r0, #0x0]
- bx lr
- .balign 4
-_020C1E64: .word 0x021D27CC
-
- arm_func_start FUN_020C1E68
-FUN_020C1E68: ; 0x020C1E68
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r0, _020C1EA0 ; =0x021D27CC
- ldr r1, [r0, #0x0]
- cmp r1, #0x0
- addeq sp, sp, #0x4
- ldmeqia sp!, {pc}
- ldr r0, [r0, #0x4]
- cmp r0, #0x1
- addne sp, sp, #0x4
- ldmneia sp!, {pc}
- bl FUN_020C1950
- add sp, sp, #0x4
- ldmia sp!, {pc}
- .balign 4
-_020C1EA0: .word 0x021D27CC
-
- arm_func_start FUN_020C1EA4
-FUN_020C1EA4: ; 0x020C1EA4
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x2c
- mov r5, r0
- mov r4, r1
- mov r7, r2
- mov r6, r3
- bl FUN_020C1E68
- ldr r0, _020C1F50 ; =0x021D27CC
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- addne sp, sp, #0x2c
- movne r0, #0x0
- ldmneia sp!, {r4-r7,pc}
-_020C1ED8: ; 0x020C1ED8
- mov r1, r5
- mov r2, r4
- mov r0, #0x0
- bl MIi_CpuClear32
- mov r0, r5
- mov r1, r4
- bl DC_FlushRange
- str r7, [sp, #0x0]
- mov r2, #0x0
- str r2, [sp, #0x4]
- str r2, [sp, #0x8]
- mov r0, #0x1
- str r0, [sp, #0xc]
- str r6, [sp, #0x10]
- mov r1, #0x7f
- str r1, [sp, #0x14]
- str r2, [sp, #0x18]
- ldr r2, [sp, #0x40]
- str r1, [sp, #0x1c]
- ldr r1, [sp, #0x44]
- str r2, [sp, #0x20]
- ldr r12, [sp, #0x48]
- str r1, [sp, #0x24]
- mov r1, r5
- mov r3, r4, lsr #0x1
- add r2, r5, r4, lsr #0x1
- str r12, [sp, #0x28]
- bl FUN_020C1A44
- add sp, sp, #0x2c
- ldmia sp!, {r4-r7,pc}
- .balign 4
-_020C1F50: .word 0x021D27CC
-
- arm_func_start FUN_020C1F54
-FUN_020C1F54: ; 0x020C1F54
- stmdb sp!, {r4,lr}
- ldr r4, _020C1FA0 ; =0x021D27CC
- mov r2, r0
- ldr r0, [r4, #0x0]
- cmp r0, #0x0
- ldmeqia sp!, {r4,pc}
-_020C1F6C: ; 0x020C1F6C
- ldr r0, [r4, #0x4]
- cmp r0, #0x0
- ldmneia sp!, {r4,pc}
-_020C1F78: ; 0x020C1F78
- cmp r2, #0x0
- bne _020C1F88
- bl FUN_020C1950
- ldmia sp!, {r4,pc}
-_020C1F88:
- add r0, r4, #0x3c
- mov r1, #0x0
- bl FUN_020C3E40
- mov r0, #0x1
- str r0, [r4, #0x4c]
- ldmia sp!, {r4,pc}
- .balign 4
-_020C1FA0: .word 0x021D27CC
-
- arm_func_start FUN_020C1FA4
-FUN_020C1FA4: ; 0x020C1FA4
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r3, _020C1FEC ; =0x021D27CC
- mov r12, r0
- ldr r0, [r3, #0x0]
- mov r2, r1
- cmp r0, #0x0
- addeq sp, sp, #0x4
- ldmeqia sp!, {pc}
- ldr r0, [r3, #0x4]
- cmp r0, #0x0
- addne sp, sp, #0x4
- ldmneia sp!, {pc}
- add r0, r3, #0x3c
- mov r1, r12, lsl #0x8
- bl FUN_020C3E40
- add sp, sp, #0x4
- ldmia sp!, {pc}
- .balign 4
-_020C1FEC: .word 0x021D27CC
-
- arm_func_start FUN_020C1FF0
-FUN_020C1FF0: ; 0x020C1FF0
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x2c
- mov r5, r0
- mov r0, #0x0
- mov r4, r1
- mov r7, r2
- mov r6, r3
- bl FUN_020C1F54
- ldr r0, _020C2098 ; =0x021D27CC
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- addne sp, sp, #0x2c
- movne r0, #0x0
- ldmneia sp!, {r4-r7,pc}
-_020C2028: ; 0x020C2028
- mov r1, r5
- mov r2, r4
- mov r0, #0x0
- bl MIi_CpuClear32
- mov r0, r5
- mov r1, r4
- bl DC_FlushRange
- str r7, [sp, #0x0]
- mov r0, #0x0
- str r0, [sp, #0x4]
- str r0, [sp, #0x8]
- mov r1, #0x1
- str r1, [sp, #0xc]
- ldr r1, [sp, #0x40]
- str r6, [sp, #0x10]
- str r1, [sp, #0x14]
- str r0, [sp, #0x18]
- mov r1, #0x7f
- str r1, [sp, #0x1c]
- str r0, [sp, #0x20]
- str r0, [sp, #0x24]
- mov r1, r5
- mov r3, r4, lsr #0x1
- add r2, r5, r4, lsr #0x1
- str r0, [sp, #0x28]
- bl FUN_020C1A44
- add sp, sp, #0x2c
- ldmia sp!, {r4-r7,pc}
- .balign 4
-_020C2098: .word 0x021D27CC
-
- arm_func_start FUN_020C209C
-FUN_020C209C: ; 0x020C209C
- mov r0, #0x0
- str r0, [r2, #0x88]
- bx lr
-
- arm_func_start FUN_020C20A8
-FUN_020C20A8: ; 0x020C20A8
- mov r0, #0x0
- str r0, [r2, #0x84]
- bx lr
-
- arm_func_start FUN_020C20B4
-FUN_020C20B4: ; 0x020C20B4
- mov r0, #0x0
- str r0, [r2, #0x8c]
- bx lr
-
- arm_func_start FUN_020C20C0
-FUN_020C20C0: ; 0x020C20C0
- ldr r2, _020C20D8 ; =0x021D28C0
- ldr r2, [r2, #0x0]
- ldr r2, [r2, #0x84]
- add r0, r2, r0, lsl #0x4
- str r1, [r0, #0x14]
- bx lr
- .balign 4
-_020C20D8: .word 0x021D28C0
-
- arm_func_start FUN_020C20DC
-FUN_020C20DC:
- ldr r1, _020C2100 ; =0x021D28C0
- ldr r1, [r1, #0x0]
- ldr r2, [r1, #0x84]
- ldr r1, [r2, #0x8]
- cmp r0, r1
- movcs r0, #0x0
- addcc r0, r2, r0, lsl #0x4
- ldrcc r0, [r0, #0x14]
- bx lr
- .balign 4
-_020C2100: .word 0x021D28C0
-
- arm_func_start FUN_020C2104
-FUN_020C2104:
- stmdb sp!, {r4-r6,lr}
- ldr r4, _020C2178 ; =0x021D28C0
- mov r5, r2
- ldr r4, [r4, #0x0]
- mov r6, r1
- ldr r2, [r4, #0x84]
- ldr r1, [r2, #0x8]
- cmp r0, r1
- mvncs r0, #0x0
- ldmcsia sp!, {r4-r6,pc}
-_020C212C: ; 0x020C212C
- add r1, r2, #0xc
- add r1, r1, r0, lsl #0x4
- ldr r0, [r1, #0x4]
- ldr r1, [r1, #0x0]
- sub r0, r0, r3
- cmp r5, r0
- movhi r5, r0
- add r0, r4, #0x34
- add r1, r1, r3
- mov r2, #0x0
- bl FS_SeekFile
-_020C2158: ; 0x020C2158
- cmp r0, #0x0
- mvneq r0, #0x0
- ldmeqia sp!, {r4-r6,pc}
-_020C2164: ; 0x020C2164
- mov r1, r6
- mov r2, r5
- add r0, r4, #0x34
- bl FS_ReadFile
- ldmia sp!, {r4-r6,pc}
- .balign 4
-_020C2178: .word 0x021D28C0
-
- arm_func_start FUN_020C217C
-FUN_020C217C: ; 0x020C217C
- ldr r1, _020C21A0 ; =0x021D28C0
- ldr r1, [r1, #0x0]
- ldr r2, [r1, #0x84]
- ldr r1, [r2, #0x8]
- cmp r0, r1
- movcs r0, #0x0
- addcc r0, r2, r0, lsl #0x4
- ldrcc r0, [r0, #0x10]
- bx lr
- .balign 4
-_020C21A0: .word 0x021D28C0
-
- arm_func_start FUN_020C21A4
-FUN_020C21A4: ; 0x020C21A4
- ldr r1, _020C2204 ; =0x021D28C0
- ldr r3, [r1, #0x0]
- ldr r2, [r3, #0x8c]
- ldr r1, [r2, #0x1c]
- cmp r1, #0x0
- moveq r2, #0x0
- addne r2, r2, r1
- cmp r2, #0x0
- moveq r0, #0x0
- bxeq lr
- cmp r0, #0x0
- movlt r0, #0x0
- bxlt lr
- ldr r1, [r2, #0x0]
- cmp r0, r1
- movcs r0, #0x0
- bxcs lr
- add r0, r2, r0, lsl #0x2
- ldr r1, [r0, #0x4]
- ldr r0, [r3, #0x8c]
- cmp r1, #0x0
- moveq r0, #0x0
- addne r0, r0, r1
- bx lr
- .balign 4
-_020C2204: .word 0x021D28C0
-
- arm_func_start FUN_020C2208
-FUN_020C2208: ; 0x020C2208
- ldr r1, _020C2268 ; =0x021D28C0
- ldr r3, [r1, #0x0]
- ldr r2, [r3, #0x8c]
- ldr r1, [r2, #0x18]
- cmp r1, #0x0
- moveq r2, #0x0
- addne r2, r2, r1
- cmp r2, #0x0
- moveq r0, #0x0
- bxeq lr
- cmp r0, #0x0
- movlt r0, #0x0
- bxlt lr
- ldr r1, [r2, #0x0]
- cmp r0, r1
- movcs r0, #0x0
- bxcs lr
- add r0, r2, r0, lsl #0x2
- ldr r1, [r0, #0x4]
- ldr r0, [r3, #0x8c]
- cmp r1, #0x0
- moveq r0, #0x0
- addne r0, r0, r1
- bx lr
- .balign 4
-_020C2268: .word 0x021D28C0
-
- arm_func_start FUN_020C226C
-FUN_020C226C:
- ldr r1, _020C22CC ; =0x021D28C0
- ldr r3, [r1, #0x0]
- ldr r2, [r3, #0x8c]
- ldr r1, [r2, #0x14]
- cmp r1, #0x0
- moveq r2, #0x0
- addne r2, r2, r1
- cmp r2, #0x0
- moveq r0, #0x0
- bxeq lr
- cmp r0, #0x0
- movlt r0, #0x0
- bxlt lr
- ldr r1, [r2, #0x0]
- cmp r0, r1
- movcs r0, #0x0
- bxcs lr
- add r0, r2, r0, lsl #0x2
- ldr r1, [r0, #0x4]
- ldr r0, [r3, #0x8c]
- cmp r1, #0x0
- moveq r0, #0x0
- addne r0, r0, r1
- bx lr
- .balign 4
-_020C22CC: .word 0x021D28C0
-
- arm_func_start FUN_020C22D0
-FUN_020C22D0: ; 0x020C22D0
- ldr r1, _020C2330 ; =0x021D28C0
- ldr r3, [r1, #0x0]
- ldr r2, [r3, #0x8c]
- ldr r1, [r2, #0x10]
- cmp r1, #0x0
- moveq r2, #0x0
- addne r2, r2, r1
- cmp r2, #0x0
- moveq r0, #0x0
- bxeq lr
- cmp r0, #0x0
- movlt r0, #0x0
- bxlt lr
- ldr r1, [r2, #0x0]
- cmp r0, r1
- movcs r0, #0x0
- bxcs lr
- add r0, r2, r0, lsl #0x2
- ldr r1, [r0, #0x4]
- ldr r0, [r3, #0x8c]
- cmp r1, #0x0
- moveq r0, #0x0
- addne r0, r0, r1
- bx lr
- .balign 4
-_020C2330: .word 0x021D28C0
-
- arm_func_start FUN_020C2334
-FUN_020C2334:
- ldr r1, _020C2394 ; =0x021D28C0
- ldr r3, [r1, #0x0]
- ldr r2, [r3, #0x8c]
- ldr r1, [r2, #0xc]
- cmp r1, #0x0
- moveq r2, #0x0
- addne r2, r2, r1
- cmp r2, #0x0
- moveq r0, #0x0
- bxeq lr
- cmp r0, #0x0
- movlt r0, #0x0
- bxlt lr
- ldr r1, [r2, #0x0]
- cmp r0, r1
- movcs r0, #0x0
- bxcs lr
- add r0, r2, r0, lsl #0x2
- ldr r1, [r0, #0x4]
- ldr r0, [r3, #0x8c]
- cmp r1, #0x0
- moveq r0, #0x0
- addne r0, r0, r1
- bx lr
- .balign 4
-_020C2394: .word 0x021D28C0
-
- arm_func_start FUN_020C2398
-FUN_020C2398:
- ldr r1, _020C23F8 ; =0x021D28C0
- ldr r3, [r1, #0x0]
- ldr r2, [r3, #0x8c]
- ldr r1, [r2, #0x8]
- cmp r1, #0x0
- moveq r2, #0x0
- addne r2, r2, r1
- cmp r2, #0x0
- moveq r0, #0x0
- bxeq lr
- cmp r0, #0x0
- movlt r0, #0x0
- bxlt lr
- ldr r1, [r2, #0x0]
- cmp r0, r1
- movcs r0, #0x0
- bxcs lr
- add r0, r2, r0, lsl #0x2
- ldr r1, [r0, #0x4]
- ldr r0, [r3, #0x8c]
- cmp r1, #0x0
- moveq r0, #0x0
- addne r0, r0, r1
- bx lr
- .balign 4
-_020C23F8: .word 0x021D28C0
-
- arm_func_start FUN_020C23FC
-FUN_020C23FC: ; 0x020C23FC
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- bl FUN_020C2398
-_020C2408: ; 0x020C2408
- cmp r0, #0x0
- moveq r0, #0x0
- addne r0, r0, #0x4
- add sp, sp, #0x4
- ldmia sp!, {pc}
-
- arm_func_start FUN_020C241C
-FUN_020C241C: ; 0x020C241C
- ldr r0, _020C2428 ; =0x021D28C0
- ldr r0, [r0, #0x0]
- bx lr
- .balign 4
-_020C2428: .word 0x021D28C0
-
- arm_func_start FUN_020C242C
-FUN_020C242C: ; 0x020C242C
- ldr r1, _020C2440 ; =0x021D28C0
- ldr r2, [r1, #0x0]
- str r0, [r1, #0x0]
- mov r0, r2
- bx lr
- .balign 4
-_020C2440: .word 0x021D28C0
-
- arm_func_start FUN_020C2444
-FUN_020C2444: ; 0x020C2444
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r5, r0
- mov r4, r1
- mov r0, r4
- mov r1, r5
- mov r2, #0x30
- bl MIi_CpuCopy32
- ldr r0, [r5, #0x18]
- mov r12, #0x0
- cmp r0, #0x0
- moveq r0, #0x0
- addne r0, r4, r0
- str r0, [r5, #0x8c]
- ldr r0, [r5, #0x20]
- cmp r0, #0x0
- moveq r0, #0x0
- addne r0, r4, r0
- str r0, [r5, #0x84]
- ldr r0, [r5, #0x10]
- cmp r0, #0x0
- moveq r0, #0x0
- addne r0, r4, r0
- str r0, [r5, #0x88]
- ldr r2, [r5, #0x84]
- ldr r0, [r2, #0x8]
- cmp r0, #0x0
- bls _020C24F0
- mov r3, r12
- mov r1, r12
-_020C24BC:
- add r2, r2, #0xc
- ldr r0, [r2, r3]
- add r2, r2, r3
- cmp r0, #0x0
- moveq r0, r1
- addne r0, r4, r0
- str r0, [r2, #0x8]
- ldr r2, [r5, #0x84]
- add r12, r12, #0x1
- ldr r0, [r2, #0x8]
- add r3, r3, #0x10
- cmp r12, r0
- blo _020C24BC
-_020C24F0:
- mov r1, #0x0
- ldr r0, _020C2508 ; =0x021D28C0
- str r1, [r5, #0x30]
- str r5, [r0, #0x0]
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,pc}
- .balign 4
-_020C2508: .word 0x021D28C0
-
- arm_func_start FUN_020C250C
-FUN_020C250C:
- stmdb sp!, {r4-r6,lr}
- sub sp, sp, #0x8
- mov r6, r0
- mov r5, r1
- mov r1, #0x0
- mov r4, r2
- mov r2, r1
- add r0, r6, #0x34
- bl FS_SeekFile
-_020C2530: ; 0x020C2530
- cmp r0, #0x0
- addeq sp, sp, #0x8
- moveq r0, #0x0
- ldmeqia sp!, {r4-r6,pc}
-_020C2540: ; 0x020C2540
- mov r1, r6
- add r0, r6, #0x34
- mov r2, #0x30
- bl FS_ReadFile
- cmp r0, #0x30
- addne sp, sp, #0x8
- movne r0, #0x0
- ldmneia sp!, {r4-r6,pc}
-_020C2560: ; 0x020C2560
- cmp r5, #0x0
- beq _020C26E0
- mov r0, #0x0
- str r0, [sp, #0x0]
- ldr r1, [r6, #0x1c]
- ldr r2, _020C26EC ; =FUN_020C20B4
- mov r0, r5
- mov r3, r6
- bl FUN_020C2958
- str r0, [r6, #0x8c]
- ldr r0, [r6, #0x8c]
- cmp r0, #0x0
- addeq sp, sp, #0x8
- moveq r0, #0x0
- ldmeqia sp!, {r4-r6,pc}
-_020C259C: ; 0x020C259C
- ldr r1, [r6, #0x18]
- add r0, r6, #0x34
- mov r2, #0x0
- bl FS_SeekFile
-_020C25AC: ; 0x020C25AC
- cmp r0, #0x0
- addeq sp, sp, #0x8
- moveq r0, #0x0
- ldmeqia sp!, {r4-r6,pc}
-_020C25BC: ; 0x020C25BC
- ldr r1, [r6, #0x8c]
- ldr r2, [r6, #0x1c]
- add r0, r6, #0x34
- bl FS_ReadFile
- ldr r1, [r6, #0x1c]
- cmp r0, r1
- addne sp, sp, #0x8
- movne r0, #0x0
- ldmneia sp!, {r4-r6,pc}
-_020C25E0: ; 0x020C25E0
- mov r0, #0x0
- str r0, [sp, #0x0]
- ldr r1, [r6, #0x24]
- ldr r2, _020C26F0 ; =FUN_020C20A8
- mov r0, r5
- mov r3, r6
- bl FUN_020C2958
- str r0, [r6, #0x84]
- ldr r0, [r6, #0x84]
- cmp r0, #0x0
- addeq sp, sp, #0x8
- moveq r0, #0x0
- ldmeqia sp!, {r4-r6,pc}
-_020C2614: ; 0x020C2614
- ldr r1, [r6, #0x20]
- add r0, r6, #0x34
- mov r2, #0x0
- bl FS_SeekFile
-_020C2624: ; 0x020C2624
- cmp r0, #0x0
- addeq sp, sp, #0x8
- moveq r0, #0x0
- ldmeqia sp!, {r4-r6,pc}
-_020C2634: ; 0x020C2634
- ldr r1, [r6, #0x84]
- ldr r2, [r6, #0x24]
- add r0, r6, #0x34
- bl FS_ReadFile
- ldr r1, [r6, #0x24]
- cmp r0, r1
- addne sp, sp, #0x8
- movne r0, #0x0
- ldmneia sp!, {r4-r6,pc}
-_020C2658: ; 0x020C2658
- cmp r4, #0x0
- beq _020C26E0
- ldr r1, [r6, #0x14]
- cmp r1, #0x0
- beq _020C26E0
- mov r4, #0x0
- ldr r2, _020C26F4 ; =FUN_020C209C
- mov r0, r5
- mov r3, r6
- str r4, [sp, #0x0]
- bl FUN_020C2958
- str r0, [r6, #0x88]
- ldr r0, [r6, #0x88]
- cmp r0, #0x0
- addeq sp, sp, #0x8
- moveq r0, r4
- ldmeqia sp!, {r4-r6,pc}
-_020C269C: ; 0x020C269C
- ldr r1, [r6, #0x10]
- add r0, r6, #0x34
- mov r2, r4
- bl FS_SeekFile
-_020C26AC: ; 0x020C26AC
- cmp r0, #0x0
- addeq sp, sp, #0x8
- moveq r0, r4
- ldmeqia sp!, {r4-r6,pc}
-_020C26BC: ; 0x020C26BC
- ldr r1, [r6, #0x88]
- ldr r2, [r6, #0x14]
- add r0, r6, #0x34
- bl FS_ReadFile
- ldr r1, [r6, #0x14]
- cmp r0, r1
- addne sp, sp, #0x8
- movne r0, r4
- ldmneia sp!, {r4-r6,pc}
-_020C26E0:
- mov r0, #0x1
- add sp, sp, #0x8
- ldmia sp!, {r4-r6,pc}
- .balign 4
-_020C26EC: .word FUN_020C20B4
-_020C26F0: .word FUN_020C20A8
-_020C26F4: .word FUN_020C209C
-
- arm_func_start FUN_020C26F8
-FUN_020C26F8: ; 0x020C26F8
- stmdb sp!, {r4-r6,lr}
- mov r6, r0
- mov r12, #0x0
- str r12, [r6, #0x8c]
- str r12, [r6, #0x84]
- add r0, r6, #0x7c
- mov r5, r2
- mov r4, r3
- str r12, [r6, #0x88]
- bl FS_ConvertPathToFileID
-_020C2720: ; 0x020C2720
- cmp r0, #0x0
- ldmeqia sp!, {r4-r6,pc}
-_020C2728: ; 0x020C2728
- add r0, r6, #0x34
- bl FS_InitFile
- add r1, r6, #0x7c
- add r0, r6, #0x34
- ldmia r1, {r1-r2}
- bl FS_OpenFileFast
-_020C2740: ; 0x020C2740
- cmp r0, #0x0
- ldmeqia sp!, {r4-r6,pc}
-_020C2748: ; 0x020C2748
- mov r3, #0x1
- mov r0, r6
- mov r1, r5
- mov r2, r4
- str r3, [r6, #0x30]
- bl FUN_020C250C
-_020C2760: ; 0x020C2760
- cmp r0, #0x0
- ldrne r0, _020C2770 ; =0x021D28C0
- strne r6, [r0, #0x0]
- ldmia sp!, {r4-r6,pc}
- .balign 4
-_020C2770: .word 0x021D28C0
-
- arm_func_start FUN_020C2774
-FUN_020C2774: ; 0x020C2774
- stmdb sp!, {r4,lr}
- bl SND_GetCurrentCommandTag
- mov r4, r0
- mov r0, #0x1
- bl SND_FlushCommand
- mov r0, r4
- bl SND_WaitForCommandProc
- ldmia sp!, {r4,pc}
-
- arm_func_start FUN_020C2794
-FUN_020C2794:
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r5, r0
- ldr r0, [r5, #0x0]
- mov r1, #0x14
- mov r2, #0x4
- bl FUN_020AE638
- movs r4, r0
- addeq sp, sp, #0x4
- moveq r0, #0x0
- ldmeqia sp!, {r4-r5,pc}
-_020C27C0: ; 0x020C27C0
- bl FUN_020C2818
- mov r1, r4
- add r0, r5, #0x4
- bl FUN_020ADBE8
- mov r0, #0x1
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,pc}
-
- arm_func_start FUN_020C27DC
-FUN_020C27DC:
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r5, r0
- mov r4, r1
- add r0, r5, #0x4
- mov r1, #0xc
- bl FUN_020ADC74
- mov r0, r5
- str r4, [r5, #0x0]
- bl FUN_020C2794
-_020C2804: ; 0x020C2804
- cmp r0, #0x0
- movne r0, #0x1
- moveq r0, #0x0
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,pc}
-
- arm_func_start FUN_020C2818
-FUN_020C2818: ; 0x020C2818
- ldr ip, _020C2824 ; =FUN_020ADC74
- mov r1, #0x0
- bx r12
- .balign 4
-_020C2824: .word FUN_020ADC74
-
- arm_func_start FUN_020C2828
-FUN_020C2828: ; 0x020C2828
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0x4
- mov r7, #0x0
- movs r9, r1
- mov r10, r0
- mov r6, r7
- bne _020C2850
- bl FUN_020C29C0
- add sp, sp, #0x4
- ldmia sp!, {r4-r11,pc}
-_020C2850:
- ldrh r0, [r10, #0xc]
- cmp r9, r0
- bge _020C28D8
- mov r11, r7
- add r5, r10, #0x4
- mov r4, #0x1
-_020C2868:
- mov r0, r5
- mov r1, r11
- bl FUN_020ADA84
- mov r1, r7
- mov r8, r0
- bl FUN_020ADA84
- movs r7, r0
- beq _020C28C0
-_020C2888:
- ldr r12, [r7, #0xc]
- cmp r12, #0x0
- beq _020C28AC
- ldr r1, [r7, #0x8]
- ldr r2, [r7, #0x10]
- ldr r3, [r7, #0x14]
- add r0, r7, #0x20
- blx r12
- mov r6, r4
-_020C28AC:
- mov r0, r8
- mov r1, r7
- bl FUN_020ADA84
- movs r7, r0
- bne _020C2888
-_020C28C0:
- mov r0, r5
- mov r1, r8
- bl FUN_020ADAB0
- ldrh r0, [r10, #0xc]
- cmp r9, r0
- blt _020C2868
-_020C28D8:
- ldr r0, [r10, #0x0]
- mov r1, r9
- bl FUN_020AE554
-_020C28E4: ; 0x020C28E4
- cmp r6, #0x0
- beq _020C28F0
- bl FUN_020C2774
-_020C28F0:
- ldrh r1, [r10, #0xc]
- ldr r0, [r10, #0x0]
- bl FUN_020AE5B0
- mov r0, r10
- bl FUN_020C2794
- add sp, sp, #0x4
- ldmia sp!, {r4-r11,pc}
-
- arm_func_start FUN_020C290C
-FUN_020C290C: ; 0x020C290C
- stmdb sp!, {r4,lr}
- mov r4, r0
- ldrh r1, [r4, #0xc]
- ldr r0, [r4, #0x0]
- bl FUN_020AE5B0
-_020C2920: ; 0x020C2920
- cmp r0, #0x0
- mvneq r0, #0x0
- ldmeqia sp!, {r4,pc}
-_020C292C: ; 0x020C292C
- mov r0, r4
- bl FUN_020C2794
-_020C2934: ; 0x020C2934
- cmp r0, #0x0
- ldrneh r0, [r4, #0xc]
- subne r0, r0, #0x1
- ldmneia sp!, {r4,pc}
-_020C2944: ; 0x020C2944
- ldr r0, [r4, #0x0]
- mov r1, #0x0
- bl FUN_020AE554
-_020C2950: ; 0x020C2950
- mvn r0, #0x0
- ldmia sp!, {r4,pc}
-
- arm_func_start FUN_020C2958
-FUN_020C2958: ; 0x020C2958
- stmdb sp!, {r4-r8,lr}
- mov r7, r1
- mov r8, r0
- add r0, r7, #0x1f
- bic r1, r0, #0x1f
- mov r6, r2
- ldr r0, [r8, #0x0]
- add r1, r1, #0x20
- mov r2, #0x20
- mov r5, r3
- bl FUN_020AE638
- movs r4, r0
- moveq r0, #0x0
- ldmeqia sp!, {r4-r8,pc}
-_020C2990: ; 0x020C2990
- add r0, r8, #0x4
- mov r1, #0x0
- bl FUN_020ADA84
- str r7, [r4, #0x8]
- str r6, [r4, #0xc]
- ldr r2, [sp, #0x18]
- str r5, [r4, #0x10]
- mov r1, r4
- str r2, [r4, #0x14]
- bl FUN_020ADBE8
- add r0, r4, #0x20
- ldmia sp!, {r4-r8,pc}
-
- arm_func_start FUN_020C29C0
-FUN_020C29C0:
- stmdb sp!, {r4-r10,lr}
- mov r8, r0
- mov r5, #0x0
- mov r1, r5
- add r0, r8, #0x4
- bl FUN_020ADA84
- movs r7, r0
- beq _020C2A58
- add r9, r8, #0x4
- mov r10, #0x1
- mov r4, r5
-_020C29EC:
- mov r0, r7
- mov r1, r4
- bl FUN_020ADA84
- movs r6, r0
- beq _020C2A38
-_020C2A00:
- ldr r12, [r6, #0xc]
- cmp r12, #0x0
- beq _020C2A24
- ldr r1, [r6, #0x8]
- ldr r2, [r6, #0x10]
- ldr r3, [r6, #0x14]
- add r0, r6, #0x20
- blx r12
- mov r5, r10
-_020C2A24:
- mov r0, r7
- mov r1, r6
- bl FUN_020ADA84
- movs r6, r0
- bne _020C2A00
-_020C2A38:
- mov r0, r9
- mov r1, r7
- bl FUN_020ADAB0
- mov r0, r9
- mov r1, r4
- bl FUN_020ADA84
- movs r7, r0
- bne _020C29EC
-_020C2A58:
- ldr r0, [r8, #0x0]
- mov r1, #0x3
- bl FUN_020AE600
-_020C2A64: ; 0x020C2A64
- cmp r5, #0x0
- beq _020C2A70
- bl FUN_020C2774
-_020C2A70:
- mov r0, r8
- bl FUN_020C2794
- ldmia sp!, {r4-r10,pc}
-
- arm_func_start FUN_020C2A7C
-FUN_020C2A7C: ; 0x020C2A7C
- stmdb sp!, {r4,lr}
- mov r4, r0
- bl FUN_020C29C0
-_020C2A88: ; 0x020C2A88
- ldr r0, [r4, #0x0]
- bl thunk_FUN_020adc8c_2
- ldmia sp!, {r4,pc}
-
- arm_func_start FUN_020C2A94
-FUN_020C2A94:
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- add r2, r0, #0x3
- add r0, r0, r1
- bic r5, r2, #0x3
- cmp r5, r0
- addhi sp, sp, #0x4
- movhi r0, #0x0
- ldmhiia sp!, {r4-r5,pc}
-_020C2AB8: ; 0x020C2AB8
- sub r1, r0, r5
- cmp r1, #0x10
- addcc sp, sp, #0x4
- movcc r0, #0x0
- ldmccia sp!, {r4-r5,pc}
-_020C2ACC: ; 0x020C2ACC
- add r0, r5, #0x10
- sub r1, r1, #0x10
- mov r2, #0x0
- bl FUN_020AE684
- movs r4, r0
- addeq sp, sp, #0x4
- moveq r0, #0x0
- ldmeqia sp!, {r4-r5,pc}
-_020C2AEC: ; 0x020C2AEC
- mov r0, r5
- mov r1, r4
- bl FUN_020C27DC
-_020C2AF8: ; 0x020C2AF8
- cmp r0, #0x0
- addne sp, sp, #0x4
- movne r0, r5
- ldmneia sp!, {r4-r5,pc}
-_020C2B08: ; 0x020C2B08
- mov r0, r4
- bl thunk_FUN_020adc8c_2
-_020C2B10: ; 0x020C2B10
- mov r0, #0x0
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,pc}
-
- arm_func_start FUN_020C2B1C
-FUN_020C2B1C:
- stmdb sp!, {r4-r10,lr}
- sub sp, sp, #0x20
- mov r8, r0
- add r0, sp, #0x8
- mov r7, r1
- mov r6, r2
- mov r5, r3
- ldr r4, [sp, #0x40]
- bl SND_GetFirstInstDataPos
- ldr r1, [sp, #0x8]
- ldr r0, [sp, #0xc]
- str r1, [sp, #0x0]
- str r0, [sp, #0x4]
- cmp r7, #0x0
- add r2, sp, #0x0
- addeq sp, sp, #0x20
- moveq r0, #0x0
- ldmeqia sp!, {r4-r10,pc}
-_020C2B64: ; 0x020C2B64
- add r1, sp, #0x10
- mov r0, r7
- bl SND_GetNextInstData
-_020C2B70: ; 0x020C2B70
- cmp r0, #0x0
- beq _020C2BD4
- add r10, sp, #0x10
- add r9, sp, #0x0
-_020C2B80:
- ldrb r0, [sp, #0x10]
- cmp r0, #0x1
- bne _020C2BBC
- ldrh r0, [sp, #0x14]
- cmp r6, r0
- bne _020C2BBC
- ldrh r1, [sp, #0x12]
- mov r0, r8
- mov r2, r5
- mov r3, r4
- bl FUN_020C2BE0
-_020C2BAC: ; 0x020C2BAC
- cmp r0, #0x0
- addeq sp, sp, #0x20
- moveq r0, #0x0
- ldmeqia sp!, {r4-r10,pc}
-_020C2BBC:
- mov r0, r7
- mov r1, r10
- mov r2, r9
- bl SND_GetNextInstData
-_020C2BCC: ; 0x020C2BCC
- cmp r0, #0x0
- bne _020C2B80
-_020C2BD4:
- mov r0, #0x1
- add sp, sp, #0x20
- ldmia sp!, {r4-r10,pc}
-
- arm_func_start FUN_020C2BE0
-FUN_020C2BE0:
- stmdb sp!, {r4-r9,lr}
- sub sp, sp, #0x4
- mov r7, r0
- mov r6, r1
- mov r5, r2
- mov r4, r3
- bl SND_GetWaveDataAddress
-_020C2BFC: ; 0x020C2BFC
- cmp r0, #0x0
- addne sp, sp, #0x4
- movne r0, #0x1
- ldmneia sp!, {r4-r9,pc}
-_020C2C0C: ; 0x020C2C0C
- mov r0, r7
- bl SND_GetWaveDataCount
- ldr r1, [r7, #0x38]
- sub r0, r0, #0x1
- add r1, r1, r6
- add r1, r7, r1, lsl #0x2
- cmp r6, r0
- ldrcc r0, [r1, #0x40]
- ldr r8, [r1, #0x3c]
- ldrcs r0, [r7, #0x8]
- cmp r4, #0x0
- sub r9, r0, r8
- addeq sp, sp, #0x4
- moveq r0, #0x0
- ldmeqia sp!, {r4-r9,pc}
-_020C2C48: ; 0x020C2C48
- ldr r2, _020C2CBC ; =FUN_020C2CC0
- mov r0, r4
- mov r3, r7
- add r1, r9, #0x20
- str r6, [sp, #0x0]
- bl FUN_020C2958
- movs r4, r0
- addeq sp, sp, #0x4
- moveq r0, #0x0
- ldmeqia sp!, {r4-r9,pc}
-_020C2C70: ; 0x020C2C70
- mov r0, r5
- mov r1, r4
- mov r2, r9
- mov r3, r8
- bl FUN_020C2104
-_020C2C84: ; 0x020C2C84
- cmp r9, r0
- addne sp, sp, #0x4
- movne r0, #0x0
- ldmneia sp!, {r4-r9,pc}
-_020C2C94: ; 0x020C2C94
- mov r0, r4
- mov r1, r9
- bl DC_StoreRange
- mov r0, r7
- mov r1, r6
- mov r2, r4
- bl SND_SetWaveDataAddress
- mov r0, #0x1
- add sp, sp, #0x4
- ldmia sp!, {r4-r9,pc}
- .balign 4
-_020C2CBC: .word FUN_020C2CC0
-
- arm_func_start FUN_020C2CC0
-FUN_020C2CC0: ; 0x020C2CC0
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- mov r5, r2
- mov r7, r0
- mov r4, r3
- mov r6, r1
- mov r0, r5
- mov r1, r4
- bl SND_GetWaveDataAddress
-_020C2CE4: ; 0x020C2CE4
- cmp r7, r0
- bne _020C2CFC
- mov r0, r5
- mov r1, r4
- mov r2, #0x0
- bl SND_SetWaveDataAddress
-_020C2CFC:
- mov r0, r7
- add r1, r7, r6
- bl SND_InvalidateWaveData
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,pc}
-
- arm_func_start FUN_020C2D10
-FUN_020C2D10: ; 0x020C2D10
- stmdb sp!, {r4,lr}
- mov r1, r2
- mov r4, r0
- mov r2, r3
- bl FUN_020C2DD0
- mov r0, r4
- bl SND_DestroyWaveArc
- ldmia sp!, {r4,pc}
-
- arm_func_start FUN_020C2D30
-FUN_020C2D30: ; 0x020C2D30
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r4, r1
- mov r1, r2
- mov r5, r0
- mov r2, r3
- bl FUN_020C2DD0
- mov r0, r5
- add r1, r5, r4
- bl SND_InvalidateWaveData
- mov r0, r5
- bl SND_DestroyWaveArc
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,pc}
-
- arm_func_start FUN_020C2D68
-FUN_020C2D68: ; 0x020C2D68
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r4, r1
- mov r1, r2
- mov r5, r0
- mov r2, r3
- bl FUN_020C2DD0
- mov r0, r5
- add r1, r5, r4
- bl SND_InvalidateBankData
- mov r0, r5
- bl SND_DestroyBank
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,pc}
-
- arm_func_start FUN_020C2DA0
-FUN_020C2DA0: ; 0x020C2DA0
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r4, r1
- mov r1, r2
- mov r5, r0
- mov r2, r3
- bl FUN_020C2DD0
- mov r0, r5
- add r1, r5, r4
- bl SND_InvalidateSeqData
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,pc}
-
- arm_func_start FUN_020C2DD0
-FUN_020C2DD0: ; 0x020C2DD0
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- movs r5, r1
- mov r7, r0
- mov r6, r2
- addeq sp, sp, #0x4
- ldmeqia sp!, {r4-r7,pc}
-_020C2DEC: ; 0x020C2DEC
- bl OS_DisableInterrupts
- mov r4, r0
- mov r0, r5
- bl FUN_020C242C
- mov r5, r0
- mov r0, r6
- bl FUN_020C20DC
-_020C2E08: ; 0x020C2E08
- cmp r7, r0
- bne _020C2E1C
- mov r0, r6
- mov r1, #0x0
- bl FUN_020C20C0
-_020C2E1C:
- mov r0, r5
- bl FUN_020C242C
- mov r0, r4
- bl OS_RestoreInterrupts
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,pc}
-
- arm_func_start FUN_020C2E34
-FUN_020C2E34: ; 0x020C2E34
- stmdb sp!, {r4-r9,lr}
- sub sp, sp, #0x4
- mov r9, r0
- mov r8, r1
- mov r7, r2
- bl FUN_020C20DC
- movs r6, r0
- bne _020C2F40
- ldr r1, _020C2F4C ; =0x021D28C4
- mov r0, r9
- mov r2, #0x3c
- mov r3, #0x0
- bl FUN_020C2104
- cmp r0, #0x3c
- addne sp, sp, #0x4
- movne r0, #0x0
- ldmneia sp!, {r4-r9,pc}
-_020C2E78: ; 0x020C2E78
- ldr r0, _020C2F4C ; =0x021D28C4
- cmp r8, #0x0
- ldr r0, [r0, #0x38]
- addeq sp, sp, #0x4
- mov r4, r0, lsl #0x2
- mov r0, r4, lsl #0x1
- add r5, r0, #0x3c
- moveq r0, #0x0
- ldmeqia sp!, {r4-r9,pc}
-_020C2E9C: ; 0x020C2E9C
- cmp r7, #0x0
- moveq r3, #0x0
- beq _020C2EB0
- bl FUN_020C241C
- mov r3, r0
-_020C2EB0:
- ldr r2, _020C2F50 ; =FUN_020C2D10
- mov r0, r8
- add r1, r5, #0x20
- str r9, [sp, #0x0]
- bl FUN_020C2958
- movs r6, r0
- addeq sp, sp, #0x4
- moveq r0, #0x0
- ldmeqia sp!, {r4-r9,pc}
-_020C2ED4: ; 0x020C2ED4
- mov r0, r9
- mov r1, r6
- add r2, r4, #0x3c
- mov r3, #0x0
- bl FUN_020C2104
- add r1, r4, #0x3c
- cmp r0, r1
- addne sp, sp, #0x4
- movne r0, #0x0
- ldmneia sp!, {r4-r9,pc}
-_020C2EFC: ; 0x020C2EFC
- ldr r1, [r6, #0x38]
- add r0, r6, #0x3c
- mov r2, r4
- add r1, r0, r1, lsl #0x2
- bl MI_CpuCopy8
- mov r2, r4
- add r0, r6, #0x3c
- mov r1, #0x0
- bl MI_CpuFill8
- mov r0, r6
- mov r1, r5
- bl DC_StoreRange
-_020C2F2C: ; 0x020C2F2C
- cmp r7, #0x0
- beq _020C2F40
- mov r0, r9
- mov r1, r6
- bl FUN_020C20C0
-_020C2F40:
- mov r0, r6
- add sp, sp, #0x4
- ldmia sp!, {r4-r9,pc}
- .balign 4
-_020C2F4C: .word 0x021D28C4
-_020C2F50: .word FUN_020C2D10
-
- arm_func_start FUN_020C2F54
-FUN_020C2F54:
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- mov r7, r0
- mov r6, r1
- mov r5, r2
- bl FUN_020C20DC
- movs r4, r0
- bne _020C2FBC
- cmp r5, #0x0
- moveq r2, #0x0
- beq _020C2F88
- bl FUN_020C241C
- mov r2, r0
-_020C2F88:
- ldr r1, _020C2FC8 ; =FUN_020C2D30
- mov r0, r7
- mov r3, r7
- str r6, [sp, #0x0]
- bl FUN_020C3134
- mov r4, r0
- cmp r5, #0x0
- beq _020C2FBC
- cmp r4, #0x0
- beq _020C2FBC
- mov r0, r7
- mov r1, r4
- bl FUN_020C20C0
-_020C2FBC:
- mov r0, r4
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,pc}
- .balign 4
-_020C2FC8: .word FUN_020C2D30
-
- arm_func_start FUN_020C2FCC
-FUN_020C2FCC: ; 0x020C2FCC
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- mov r7, r0
- mov r6, r1
- mov r5, r2
- bl FUN_020C20DC
- movs r4, r0
- bne _020C3034
- cmp r5, #0x0
- moveq r2, #0x0
- beq _020C3000
- bl FUN_020C241C
- mov r2, r0
-_020C3000:
- ldr r1, _020C3040 ; =FUN_020C2D68
- mov r0, r7
- mov r3, r7
- str r6, [sp, #0x0]
- bl FUN_020C3134
- mov r4, r0
- cmp r5, #0x0
- beq _020C3034
- cmp r4, #0x0
- beq _020C3034
- mov r0, r7
- mov r1, r4
- bl FUN_020C20C0
-_020C3034:
- mov r0, r4
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,pc}
- .balign 4
-_020C3040: .word FUN_020C2D68
-
- arm_func_start FUN_020C3044
-FUN_020C3044:
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- mov r7, r0
- mov r6, r1
- mov r5, r2
- bl FUN_020C20DC
- movs r4, r0
- bne _020C30AC
- cmp r5, #0x0
- moveq r2, #0x0
- beq _020C3078
- bl FUN_020C241C
- mov r2, r0
-_020C3078:
- ldr r1, _020C30B8 ; =FUN_020C2DA0
- mov r0, r7
- mov r3, r7
- str r6, [sp, #0x0]
- bl FUN_020C3134
- mov r4, r0
- cmp r5, #0x0
- beq _020C30AC
- cmp r4, #0x0
- beq _020C30AC
- mov r0, r7
- mov r1, r4
- bl FUN_020C20C0
-_020C30AC:
- mov r0, r4
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,pc}
- .balign 4
-_020C30B8: .word FUN_020C2DA0
-
- arm_func_start FUN_020C30BC
-FUN_020C30BC:
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- mov r7, r0
- mov r6, r1
- mov r5, r2
- bl FUN_020C20DC
- movs r4, r0
- bne _020C3124
- cmp r5, #0x0
- moveq r2, #0x0
- beq _020C30F0
- bl FUN_020C241C
- mov r2, r0
-_020C30F0:
- ldr r1, _020C3130 ; =FUN_020C2DA0
- mov r0, r7
- mov r3, r7
- str r6, [sp, #0x0]
- bl FUN_020C3134
- mov r4, r0
- cmp r5, #0x0
- beq _020C3124
- cmp r4, #0x0
- beq _020C3124
- mov r0, r7
- mov r1, r4
- bl FUN_020C20C0
-_020C3124:
- mov r0, r4
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,pc}
- .balign 4
-_020C3130: .word FUN_020C2DA0
-
- arm_func_start FUN_020C3134
-FUN_020C3134: ; 0x020C3134
- stmdb sp!, {r4-r8,lr}
- sub sp, sp, #0x8
- mov r8, r0
- mov r7, r1
- mov r6, r2
- mov r4, r3
- bl FUN_020C217C
- movs r5, r0
- addeq sp, sp, #0x8
- moveq r0, #0x0
- ldmeqia sp!, {r4-r8,pc}
-_020C3160: ; 0x020C3160
- ldr r0, [sp, #0x20]
- cmp r0, #0x0
- addeq sp, sp, #0x8
- moveq r0, #0x0
- ldmeqia sp!, {r4-r8,pc}
-_020C3174: ; 0x020C3174
- mov r2, r7
- mov r3, r6
- add r1, r5, #0x20
- str r4, [sp, #0x0]
- bl FUN_020C2958
- movs r4, r0
- addeq sp, sp, #0x8
- moveq r0, #0x0
- ldmeqia sp!, {r4-r8,pc}
-_020C3198: ; 0x020C3198
- mov r0, r8
- mov r1, r4
- mov r2, r5
- mov r3, #0x0
- bl FUN_020C2104
-_020C31AC: ; 0x020C31AC
- cmp r5, r0
- addne sp, sp, #0x8
- movne r0, #0x0
- ldmneia sp!, {r4-r8,pc}
-_020C31BC: ; 0x020C31BC
- mov r0, r4
- mov r1, r5
- bl DC_StoreRange
- mov r0, r4
- add sp, sp, #0x8
- ldmia sp!, {r4-r8,pc}
-
- arm_func_start FUN_020C31D4
-FUN_020C31D4:
- stmdb sp!, {r4-r6,lr}
- mov r6, r1
- mov r5, r2
- mov r4, r3
- bl FUN_020C226C
-_020C31E8: ; 0x020C31E8
- cmp r0, #0x0
- moveq r0, #0x5
- ldmeqia sp!, {r4-r6,pc}
-_020C31F4: ; 0x020C31F4
- ands r1, r6, #0x4
- beq _020C324C
- ldrb r1, [r0, #0x3]
- ands r1, r1, #0x1
- beq _020C3224
- ldr r0, [r0, #0x0]
- mov r1, r5
- mov r0, r0, lsl #0x8
- mov r2, r4
- mov r0, r0, lsr #0x8
- bl FUN_020C2E34
- b _020C323C
-_020C3224:
- ldr r0, [r0, #0x0]
- mov r1, r5
- mov r0, r0, lsl #0x8
- mov r2, r4
- mov r0, r0, lsr #0x8
- bl FUN_020C2F54
-_020C323C:
- cmp r0, #0x0
- bne _020C325C
- mov r0, #0x9
- ldmia sp!, {r4-r6,pc}
-_020C324C:
- ldr r0, [r0, #0x0]
- mov r0, r0, lsl #0x8
- mov r0, r0, lsr #0x8
- bl FUN_020C20DC
-_020C325C:
- ldr r1, [sp, #0x10]
- cmp r1, #0x0
- strne r0, [r1, #0x0]
- mov r0, #0x0
- ldmia sp!, {r4-r6,pc}
-
- arm_func_start FUN_020C3270
-FUN_020C3270:
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0xc
- mov r10, r1
- mov r9, r2
- mov r11, r3
- bl FUN_020C22D0
- movs r8, r0
- addeq sp, sp, #0xc
- moveq r0, #0x4
- ldmeqia sp!, {r4-r11,pc}
-_020C3298: ; 0x020C3298
- ands r0, r10, #0x2
- beq _020C32C4
- ldr r0, [r8, #0x0]
- mov r1, r9
- mov r2, r11
- bl FUN_020C2FCC
- movs r7, r0
- bne _020C32D0
- add sp, sp, #0xc
- mov r0, #0x8
- ldmia sp!, {r4-r11,pc}
-_020C32C4:
- ldr r0, [r8, #0x0]
- bl FUN_020C20DC
- mov r7, r0
-_020C32D0:
- and r5, r10, #0x4
- mov r6, #0x0
-_020C32D8:
- add r0, r8, r6, lsl #0x1
- ldrh r0, [r0, #0x4]
- ldr r1, _020C33B4 ; =0x0000FFFF
- cmp r0, r1
- beq _020C3390
- bl FUN_020C226C
- movs r4, r0
- addeq sp, sp, #0xc
- moveq r0, #0x5
- ldmeqia sp!, {r4-r11,pc}
-_020C3300: ; 0x020C3300
- add r0, sp, #0x4
- str r0, [sp, #0x0]
- add r0, r8, r6, lsl #0x1
- ldrh r0, [r0, #0x4]
- mov r1, r10
- mov r2, r9
- mov r3, r11
- bl FUN_020C31D4
-_020C3320: ; 0x020C3320
- cmp r0, #0x0
- addne sp, sp, #0xc
- ldmneia sp!, {r4-r11,pc}
-_020C332C: ; 0x020C332C
- ldrb r0, [r4, #0x3]
- ands r0, r0, #0x1
- beq _020C3370
- cmp r5, #0x0
- beq _020C3370
- str r9, [sp, #0x0]
- ldr r1, [r4, #0x0]
- ldr r0, [sp, #0x4]
- mov r3, r1, lsl #0x8
- mov r1, r7
- mov r2, r6
- mov r3, r3, lsr #0x8
- bl FUN_020C2B1C
-_020C3360: ; 0x020C3360
- cmp r0, #0x0
- addeq sp, sp, #0xc
- moveq r0, #0x9
- ldmeqia sp!, {r4-r11,pc}
-_020C3370:
- cmp r7, #0x0
- beq _020C3390
- ldr r2, [sp, #0x4]
- cmp r2, #0x0
- beq _020C3390
- mov r0, r7
- mov r1, r6
- bl SND_AssignWaveArc
-_020C3390:
- add r6, r6, #0x1
- cmp r6, #0x4
- blt _020C32D8
- ldr r0, [sp, #0x30]
- cmp r0, #0x0
- strne r7, [r0, #0x0]
- mov r0, #0x0
- add sp, sp, #0xc
- ldmia sp!, {r4-r11,pc}
- .balign 4
-_020C33B4: .word 0x0000FFFF
-
- arm_func_start FUN_020C33B8
-FUN_020C33B8:
- stmdb sp!, {r4-r6,lr}
- mov r6, r1
- mov r5, r2
- mov r4, r3
- bl FUN_020C2334
-_020C33CC: ; 0x020C33CC
- cmp r0, #0x0
- moveq r0, #0x3
- ldmeqia sp!, {r4-r6,pc}
-_020C33D8: ; 0x020C33D8
- ands r1, r6, #0x8
- beq _020C3400
- ldr r0, [r0, #0x0]
- mov r1, r5
- mov r2, r4
- bl FUN_020C3044
-_020C33F0: ; 0x020C33F0
- cmp r0, #0x0
- bne _020C3408
- mov r0, #0x7
- ldmia sp!, {r4-r6,pc}
-_020C3400:
- ldr r0, [r0, #0x0]
- bl FUN_020C20DC
-_020C3408:
- ldr r1, [sp, #0x10]
- cmp r1, #0x0
- strne r0, [r1, #0x0]
- mov r0, #0x0
- ldmia sp!, {r4-r6,pc}
-
- arm_func_start FUN_020C341C
-FUN_020C341C:
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- mov r7, r1
- mov r6, r2
- mov r5, r3
- bl FUN_020C2398
- movs r4, r0
- addeq sp, sp, #0x4
- moveq r0, #0x2
- ldmeqia sp!, {r4-r7,pc}
-_020C3444: ; 0x020C3444
- mov r0, #0x0
- str r0, [sp, #0x0]
- ldrh r0, [r4, #0x4]
- mov r1, r7
- mov r2, r6
- mov r3, r5
- bl FUN_020C3270
-_020C3460: ; 0x020C3460
- cmp r0, #0x0
- addne sp, sp, #0x4
- ldmneia sp!, {r4-r7,pc}
-_020C346C: ; 0x020C346C
- ands r0, r7, #0x1
- beq _020C3498
- ldr r0, [r4, #0x0]
- mov r1, r6
- mov r2, r5
- bl FUN_020C30BC
-_020C3484: ; 0x020C3484
- cmp r0, #0x0
- bne _020C34A0
- add sp, sp, #0x4
- mov r0, #0x6
- ldmia sp!, {r4-r7,pc}
-_020C3498:
- ldr r0, [r4, #0x0]
- bl FUN_020C20DC
-_020C34A0:
- ldr r1, [sp, #0x18]
- cmp r1, #0x0
- strne r0, [r1, #0x0]
- mov r0, #0x0
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,pc}
-
- arm_func_start FUN_020C34B8
-FUN_020C34B8:
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0xc
- mov r9, r1
- bl FUN_020C21A4
- movs r8, r0
- addeq sp, sp, #0xc
- moveq r0, #0x1
- ldmeqia sp!, {r4-r11,pc}
-_020C34D8: ; 0x020C34D8
- ldr r0, [r8, #0x0]
- mov r7, #0x0
- cmp r0, #0x0
- bls _020C35D4
- add r6, r8, #0x4
- str r7, [sp, #0x4]
- mov r11, r7
- mov r10, r7
- mov r5, r7
- mov r4, #0x1
-_020C3500:
- ldrb r0, [r6, #0x0]
- cmp r0, #0x3
- addls pc, pc, r0, lsl #0x2
- b _020C35C0
-_020C3510:
- b _020C3520
-_020C3514:
- b _020C3570
-_020C3518:
- b _020C3598
-_020C351C:
- b _020C3548
-_020C3520:
- str r5, [sp, #0x0]
- ldrb r1, [r6, #0x1]
- ldr r0, [r6, #0x4]
- mov r2, r9
- mov r3, r4
- bl FUN_020C341C
-_020C3538: ; 0x020C3538
- cmp r0, #0x0
- beq _020C35C0
- add sp, sp, #0xc
- ldmia sp!, {r4-r11,pc}
-_020C3548:
- str r10, [sp, #0x0]
- ldrb r1, [r6, #0x1]
- ldr r0, [r6, #0x4]
- mov r2, r9
- mov r3, r4
- bl FUN_020C33B8
-_020C3560: ; 0x020C3560
- cmp r0, #0x0
- beq _020C35C0
- add sp, sp, #0xc
- ldmia sp!, {r4-r11,pc}
-_020C3570:
- str r11, [sp, #0x0]
- ldrb r1, [r6, #0x1]
- ldr r0, [r6, #0x4]
- mov r2, r9
- mov r3, r4
- bl FUN_020C3270
-_020C3588: ; 0x020C3588
- cmp r0, #0x0
- beq _020C35C0
- add sp, sp, #0xc
- ldmia sp!, {r4-r11,pc}
-_020C3598:
- ldr r0, [sp, #0x4]
- mov r2, r9
- str r0, [sp, #0x0]
- ldrb r1, [r6, #0x1]
- ldr r0, [r6, #0x4]
- mov r3, r4
- bl FUN_020C31D4
-_020C35B4: ; 0x020C35B4
- cmp r0, #0x0
- addne sp, sp, #0xc
- ldmneia sp!, {r4-r11,pc}
-_020C35C0:
- ldr r0, [r8, #0x0]
- add r7, r7, #0x1
- cmp r7, r0
- add r6, r6, #0x8
- blo _020C3500
-_020C35D4:
- mov r0, #0x0
- add sp, sp, #0xc
- ldmia sp!, {r4-r11,pc}
-
- arm_func_start FUN_020C35E0
-FUN_020C35E0: ; 0x020C35E0
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- mov r12, #0x0
- mov r3, #0x1
- str r12, [sp, #0x0]
- bl FUN_020C341C
-_020C35F8: ; 0x020C35F8
- cmp r0, #0x0
- moveq r0, #0x1
- movne r0, #0x0
- add sp, sp, #0x4
- ldmia sp!, {pc}
-
- arm_func_start FUN_020C360C
-FUN_020C360C: ; 0x020C360C
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- mov r2, r1
- mov r12, #0x0
- mov r1, #0xff
- mov r3, #0x1
- str r12, [sp, #0x0]
- bl FUN_020C31D4
-_020C362C: ; 0x020C362C
- cmp r0, #0x0
- moveq r0, #0x1
- movne r0, #0x0
- add sp, sp, #0x4
- ldmia sp!, {pc}
-
- arm_func_start FUN_020C3640
-FUN_020C3640: ; 0x020C3640
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- mov r2, r1
- mov r12, #0x0
- mov r1, #0xff
- mov r3, #0x1
- str r12, [sp, #0x0]
- bl FUN_020C3270
-_020C3660: ; 0x020C3660
- cmp r0, #0x0
- moveq r0, #0x1
- movne r0, #0x0
- add sp, sp, #0x4
- ldmia sp!, {pc}
-
- arm_func_start FUN_020C3674
-FUN_020C3674: ; 0x020C3674
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- mov r2, r1
- mov r12, #0x0
- mov r1, #0xff
- mov r3, #0x1
- str r12, [sp, #0x0]
- bl FUN_020C341C
-_020C3694: ; 0x020C3694
- cmp r0, #0x0
- moveq r0, #0x1
- movne r0, #0x0
- add sp, sp, #0x4
- ldmia sp!, {pc}
-
- arm_func_start FUN_020C36A8
-FUN_020C36A8: ; 0x020C36A8
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- bl FUN_020C34B8
-_020C36B4: ; 0x020C36B4
- cmp r0, #0x0
- moveq r0, #0x1
- movne r0, #0x0
- add sp, sp, #0x4
- ldmia sp!, {pc}
-
- arm_func_start FUN_020C36C8
-FUN_020C36C8: ; 0x020C36C8
- stmdb sp!, {r4-r8,lr}
- sub sp, sp, #0x8
- mov r7, r2
- mov r2, r3
- ldr r6, [sp, #0x20]
- mov r4, r0
- mov r8, r1
- bl FUN_020C0AF4
- movs r5, r0
- addeq sp, sp, #0x8
- moveq r0, #0x0
- ldmeqia sp!, {r4-r8,pc}
-_020C36F8: ; 0x020C36F8
- mov r0, r8
- mov r1, r5
- bl FUN_020C09B0
- add r12, sp, #0x4
- mov r2, r0
- mov r0, r7
- mov r1, #0x6
- mov r3, #0x0
- str r12, [sp, #0x0]
- bl FUN_020C3270
-_020C3720: ; 0x020C3720
- cmp r0, #0x0
- beq _020C373C
- mov r0, r5
- bl thunk_FUN_020c077c
- add sp, sp, #0x8
- mov r0, #0x0
- ldmia sp!, {r4-r8,pc}
-_020C373C:
- ldr r12, [sp, #0x24]
- ldr r2, [r6, #0x0]
- ldr r1, [r12, #0x18]
- ldr r3, [sp, #0x4]
- mov r0, r5
- add r1, r12, r1
- bl FUN_020C0A90
- ldrb r1, [r6, #0x6]
- mov r0, r4
- bl FUN_020C0F30
- ldrb r1, [r6, #0x7]
- mov r0, r4
- bl FUN_020C0ECC
- ldr r1, [sp, #0x28]
- ldr r2, [sp, #0x2c]
- mov r0, r4
- bl FUN_020C0E38
- mov r0, #0x1
- add sp, sp, #0x8
- ldmia sp!, {r4-r8,pc}
-
- arm_func_start FUN_020C378C
-FUN_020C378C: ; 0x020C378C
- stmdb sp!, {r4-r8,lr}
- sub sp, sp, #0x10
- mov r8, r2
- mov r2, r3
- ldr r5, [sp, #0x28]
- mov r6, r0
- mov r7, r1
- bl FUN_020C0AF4
- movs r4, r0
- addeq sp, sp, #0x10
- moveq r0, #0x0
- ldmeqia sp!, {r4-r8,pc}
-_020C37BC: ; 0x020C37BC
- mov r0, r7
- mov r1, r4
- bl FUN_020C09B0
- mov r7, r0
- add r12, sp, #0x8
- mov r0, r8
- mov r2, r7
- mov r1, #0x6
- mov r3, #0x0
- str r12, [sp, #0x0]
- bl FUN_020C3270
-_020C37E8: ; 0x020C37E8
- cmp r0, #0x0
- beq _020C3804
- mov r0, r4
- bl thunk_FUN_020c077c
- add sp, sp, #0x10
- mov r0, #0x0
- ldmia sp!, {r4-r8,pc}
-_020C3804:
- ldr r0, [sp, #0x2c]
- add r12, sp, #0x4
- mov r2, r7
- mov r1, #0x1
- mov r3, #0x0
- str r12, [sp, #0x0]
- bl FUN_020C341C
-_020C3820: ; 0x020C3820
- cmp r0, #0x0
- beq _020C383C
- mov r0, r4
- bl thunk_FUN_020c077c
- add sp, sp, #0x10
- mov r0, #0x0
- ldmia sp!, {r4-r8,pc}
-_020C383C:
- ldr r2, [sp, #0x4]
- ldr r3, [sp, #0x8]
- ldr r1, [r2, #0x18]
- mov r0, r4
- add r1, r2, r1
- mov r2, #0x0
- bl FUN_020C0A90
- ldrb r1, [r5, #0x6]
- mov r0, r6
- bl FUN_020C0F30
- ldrb r1, [r5, #0x7]
- mov r0, r6
- bl FUN_020C0ECC
- ldr r1, [sp, #0x2c]
- mov r0, r6
- bl FUN_020C0E60
- mov r0, #0x1
- add sp, sp, #0x10
- ldmia sp!, {r4-r8,pc}
-
- arm_func_start FUN_020C3888
-FUN_020C3888: ; 0x020C3888
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x14
- mov r6, r1
- mov r7, r0
- mov r0, r6
- mov r5, r2
- bl FUN_020C2334
-_020C38A4: ; 0x020C38A4
- cmp r0, #0x0
- addeq sp, sp, #0x14
- moveq r0, #0x0
- ldmeqia sp!, {r4-r7,pc}
-_020C38B4: ; 0x020C38B4
- ldr r0, [r0, #0x0]
- bl FUN_020C20DC
- movs r4, r0
- addeq sp, sp, #0x14
- moveq r0, #0x0
- ldmeqia sp!, {r4-r7,pc}
-_020C38CC: ; 0x020C38CC
- mov r1, r5
- bl FUN_020C3D9C
-_020C38D4: ; 0x020C38D4
- cmp r0, #0x0
- addeq sp, sp, #0x14
- moveq r0, #0x0
- ldmeqia sp!, {r4-r7,pc}
-_020C38E4: ; 0x020C38E4
- str r0, [sp, #0x0]
- str r4, [sp, #0x4]
- str r6, [sp, #0x8]
- str r5, [sp, #0xc]
- ldrb r1, [r0, #0x9]
- ldrh r2, [r0, #0x4]
- ldrb r3, [r0, #0x8]
- mov r0, r7
- bl FUN_020C36C8
- add sp, sp, #0x14
- ldmia sp!, {r4-r7,pc}
-
- arm_func_start FUN_020C3910
-FUN_020C3910: ; 0x020C3910
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0xc
- mov r7, r0
- ldr r0, [sp, #0x20]
- mov r6, r1
- mov r5, r2
- mov r4, r3
- bl FUN_020C2398
-_020C3930: ; 0x020C3930
- cmp r0, #0x0
- addeq sp, sp, #0xc
- moveq r0, #0x0
- ldmeqia sp!, {r4-r7,pc}
-_020C3940: ; 0x020C3940
- cmp r4, #0x0
- ldrltb r4, [r0, #0x8]
- cmp r5, #0x0
- ldrlth r5, [r0, #0x4]
- cmp r6, #0x0
- ldrltb r6, [r0, #0x9]
- ldr r12, [sp, #0x20]
- mov r2, r5
- str r0, [sp, #0x0]
- mov r0, r7
- mov r1, r6
- mov r3, r4
- str r12, [sp, #0x4]
- bl FUN_020C378C
- add sp, sp, #0xc
- ldmia sp!, {r4-r7,pc}
-
- arm_func_start FUN_020C3980
-FUN_020C3980: ; 0x020C3980
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0xc
- mov r4, r1
- mov r5, r0
- mov r0, r4
- bl FUN_020C2398
-_020C3998: ; 0x020C3998
- cmp r0, #0x0
- addeq sp, sp, #0xc
- moveq r0, #0x0
- ldmeqia sp!, {r4-r5,pc}
-_020C39A8: ; 0x020C39A8
- str r0, [sp, #0x0]
- str r4, [sp, #0x4]
- ldrb r1, [r0, #0x9]
- ldrh r2, [r0, #0x4]
- ldrb r3, [r0, #0x8]
- mov r0, r5
- bl FUN_020C378C
- add sp, sp, #0xc
- ldmia sp!, {r4-r5,pc}
-
- arm_func_start FUN_020C39CC
-FUN_020C39CC: ; 0x020C39CC
- stmdb sp!, {r4-r8,lr}
- mov r6, r0
- bl FUN_020C241C
- mov r5, #0x0
- mov r7, r5
-_020C39E0:
- mov r0, r5
- bl FUN_020C2208
- movs r4, r0
- beq _020C3A58
- ldrb r1, [r4, #0x0]
- mov r0, r5
- bl FUN_020C1160
- ldrh r1, [r4, #0x2]
- mov r0, r5
- bl FUN_020C1148
- ldr r0, [r4, #0x4]
- cmp r0, #0x0
- beq _020C3A58
- cmp r6, #0x0
- beq _020C3A58
- ldrb r0, [r4, #0x0]
- mov r8, r7
- cmp r0, #0x0
- ble _020C3A58
-_020C3A2C:
- ldr r2, [r4, #0x4]
- mov r0, r5
- mov r1, r6
- bl FUN_020C10B4
-_020C3A3C: ; 0x020C3A3C
- cmp r0, #0x0
- moveq r0, #0x0
- ldmeqia sp!, {r4-r8,pc}
-_020C3A48: ; 0x020C3A48
- ldrb r0, [r4, #0x0]
- add r8, r8, #0x1
- cmp r8, r0
- blt _020C3A2C
-_020C3A58:
- add r5, r5, #0x1
- cmp r5, #0x20
- blt _020C39E0
- mov r0, #0x1
- ldmia sp!, {r4-r8,pc}
-
- arm_func_start FUN_020C3A6C
-FUN_020C3A6C: ; 0x020C3A6C
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- mov r5, r0
- bl OS_DisableInterrupts
- mov r4, r0
- ldr r0, _020C3A9C ; =0x021D2904
- mov r1, r5
- bl FUN_020ADBE8
- mov r0, r4
- bl OS_RestoreInterrupts
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,pc}
- .balign 4
-_020C3A9C: .word 0x021D2904
-
- arm_func_start FUN_020C3AA0
-FUN_020C3AA0: ; 0x020C3AA0
- stmdb sp!, {r4-r8,lr}
- mov r8, r0
- mov r7, r1
- bl OS_DisableInterrupts
- mov r6, r0
- mov r0, r8
- mov r1, #0x0
- bl FUN_020ADA98
- movs r5, r0
- beq _020C3B04
-_020C3AC8:
- mov r0, r8
- mov r1, r5
- bl FUN_020ADA98
- ldr r1, [r5, #0x8]
- mov r4, r0
- cmp r1, r7
- bne _020C3AF8
- mov r0, r8
- mov r1, r5
- bl FUN_020ADAB0
- mov r0, r5
- bl FUN_020C3A6C
-_020C3AF8:
- mov r5, r4
- cmp r4, #0x0
- bne _020C3AC8
-_020C3B04:
- mov r0, r6
- bl OS_RestoreInterrupts
- ldmia sp!, {r4-r8,pc}
-
- arm_func_start FUN_020C3B10
-FUN_020C3B10: ; 0x020C3B10
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r1, [r0, #0x120]
- cmp r1, #0x0
- addeq sp, sp, #0x4
- ldmeqia sp!, {pc}
- sub r1, r1, #0x1
- str r1, [r0, #0x120]
- ldr r1, [r0, #0x120]
- cmp r1, #0x0
- addne sp, sp, #0x4
- ldmneia sp!, {pc}
- bl FUN_020C1674
- add sp, sp, #0x4
- ldmia sp!, {pc}
-
- arm_func_start FUN_020C3B4C
-FUN_020C3B4C: ; 0x020C3B4C
- stmdb sp!, {r4,lr}
- mov r4, r0
- ldr r1, [r4, #0x110]
- mov r1, r1, lsl #0x1f
- movs r1, r1, asr #0x1f
- ldmeqia sp!, {r4,pc}
-_020C3B64: ; 0x020C3B64
- bl FUN_020C3B10
- ldr r1, [r4, #0x164]
- mov r0, r4
- blx r1
- ldr r0, _020C3BA8 ; =0x021D2DF0
- mov r1, r4
- bl FUN_020C3AA0
- ldr r0, _020C3BAC ; =0x021D2900
- ldr r0, [r0, #0x0]
- cmp r0, #0x0
- beq _020C3B9C
- mov r1, r4
- add r0, r0, #0x4e0
- bl FUN_020C3AA0
-_020C3B9C:
- mov r0, r4
- bl FUN_020C3C4C
- ldmia sp!, {r4,pc}
- .balign 4
-_020C3BA8: .word 0x021D2DF0
-_020C3BAC: .word 0x021D2900
-
- arm_func_start FUN_020C3BB0
-FUN_020C3BB0: ; 0x020C3BB0
- stmdb sp!, {r4,lr}
- mov r4, r0
- ldr r0, _020C3C40 ; =0x021D2DD8
- bl OS_LockMutex
- ldr r0, _020C3C44 ; =0x021D2900
- ldr r1, [r0, #0x0]
- cmp r1, #0x0
- beq _020C3BDC
- ldr r0, _020C3C48 ; =0x000004C8
- add r0, r1, r0
- bl OS_LockMutex
-_020C3BDC:
- ldr r0, [r4, #0x110]
- mov r0, r0, lsl #0x1e
- movs r0, r0, asr #0x1f
- beq _020C3BF4
- mov r0, r4
- bl FUN_020C1430
-_020C3BF4:
- ldr r0, [r4, #0x110]
- mov r0, r0, lsl #0x1f
- movs r0, r0, asr #0x1f
- beq _020C3C10
- ldr r1, [r4, #0x16c]
- mov r0, r4
- blx r1
-_020C3C10:
- mov r0, r4
- bl FUN_020C3B4C
- ldr r0, _020C3C40 ; =0x021D2DD8
- bl OS_UnlockMutex
- ldr r0, _020C3C44 ; =0x021D2900
- ldr r1, [r0, #0x0]
- cmp r1, #0x0
- ldmeqia sp!, {r4,pc}
-_020C3C30: ; 0x020C3C30
- ldr r0, _020C3C48 ; =0x000004C8
- add r0, r1, r0
- bl OS_UnlockMutex
- ldmia sp!, {r4,pc}
- .balign 4
-_020C3C40: .word 0x021D2DD8
-_020C3C44: .word 0x021D2900
-_020C3C48: .word 0x000004C8
-
- arm_func_start FUN_020C3C4C
-FUN_020C3C4C: ; 0x020C3C4C
- ldr r2, [r0, #0x14c]
- cmp r2, #0x0
- movne r1, #0x0
- strne r1, [r2, #0x0]
- strne r1, [r0, #0x14c]
- ldr r1, [r0, #0x110]
- bic r1, r1, #0x1
- str r1, [r0, #0x110]
- ldr r1, [r0, #0x110]
- bic r1, r1, #0x4
- str r1, [r0, #0x110]
- ldr r1, [r0, #0x110]
- bic r1, r1, #0x2
- str r1, [r0, #0x110]
- bx lr
-
- arm_func_start FUN_020C3C88
-FUN_020C3C88:
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- ldr r5, _020C3D94 ; =0x021D2DFC
- mov r7, #0x0
- ldr r4, _020C3D98 ; =0x02103BAC
-_020C3C9C:
- ldr r1, [r5, #0x110]
- mov r0, r1, lsl #0x1f
- movs r0, r0, asr #0x1f
- beq _020C3D7C
- ldr r0, [r5, #0x114]
- cmp r0, #0x0
- bne _020C3CC4
- mov r0, r5
- bl FUN_020C3BB0
- b _020C3D7C
-_020C3CC4:
- mov r0, r1, lsl #0x1d
- movs r0, r0, asr #0x1f
- beq _020C3CFC
- ldr r0, [r5, #0x118]
- cmp r0, #0x0
- beq _020C3CFC
- mov r0, r5
- bl FUN_020C1458
- ldr r0, [r5, #0x110]
- orr r0, r0, #0x2
- str r0, [r5, #0x110]
- ldr r0, [r5, #0x110]
- bic r0, r0, #0x4
- str r0, [r5, #0x110]
-_020C3CFC:
- ldr r0, [r5, #0x110]
- mov r0, r0, lsl #0x1e
- movs r0, r0, asr #0x1f
- beq _020C3D7C
- add r0, r5, #0xe8
- bl FUN_020C3DF4
- ldr r1, [r5, #0x154]
- add r0, r5, #0xe8
- mov r1, r1, lsl #0x1
- ldrsh r6, [r4, r1]
- bl FUN_020C3E0C
- mov r0, r0, asr #0x8
- mov r0, r0, lsl #0x1
- ldrsh r1, [r4, r0]
- ldr r0, [r5, #0x158]
- add r6, r1, r6
- cmp r6, r0
- beq _020C3D54
- mov r0, r5
- mov r1, r6
- bl FUN_020C13C4
- str r6, [r5, #0x158]
-_020C3D54:
- ldr r0, [r5, #0x110]
- mov r0, r0, lsl #0x1c
- movs r0, r0, asr #0x1f
- beq _020C3D7C
- add r0, r5, #0xe8
- bl FUN_020C3DDC
-_020C3D6C: ; 0x020C3D6C
- cmp r0, #0x0
- beq _020C3D7C
- mov r0, r5
- bl FUN_020C3BB0
-_020C3D7C:
- add r7, r7, #0x1
- cmp r7, #0x4
- add r5, r5, #0x170
- blt _020C3C9C
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,pc}
- .balign 4
-_020C3D94: .word 0x021D2DFC
-_020C3D98: .word 0x02103BAC
-
- arm_func_start FUN_020C3D9C
-FUN_020C3D9C:
- cmp r1, #0x0
- movlt r0, #0x0
- bxlt lr
- ldr r2, [r0, #0x1c]
- cmp r1, r2
- movcs r0, #0x0
- bxcs lr
- mov r2, #0xc
- mul r2, r1, r2
- add r3, r0, #0x20
- ldr r1, [r3, r2]
- mvn r0, #0x0
- cmp r1, r0
- add r0, r3, r2
- moveq r0, #0x0
- bx lr
-
- arm_func_start FUN_020C3DDC
-FUN_020C3DDC:
- ldr r1, [r0, #0x8]
- ldr r0, [r0, #0xc]
- cmp r1, r0
- movge r0, #0x1
- movlt r0, #0x0
- bx lr
-
- arm_func_start FUN_020C3DF4
-FUN_020C3DF4: ; 0x020C3DF4
- ldr r2, [r0, #0x8]
- ldr r1, [r0, #0xc]
- cmp r2, r1
- addlt r1, r2, #0x1
- strlt r1, [r0, #0x8]
- bx lr
-
- arm_func_start FUN_020C3E0C
-FUN_020C3E0C:
- stmdb sp!, {r4,lr}
- ldr r1, [r0, #0xc]
- ldr r2, [r0, #0x8]
- cmp r2, r1
- ldrge r0, [r0, #0x4]
- ldmgeia sp!, {r4,pc}
-_020C3E24: ; 0x020C3E24
- ldr r4, [r0, #0x0]
- ldr r0, [r0, #0x4]
- sub r0, r0, r4
- mul r0, r2, r0
- bl _s32_div_f
-_020C3E38: ; 0x020C3E38
- add r0, r4, r0
- ldmia sp!, {r4,pc}
-
- arm_func_start FUN_020C3E40
-FUN_020C3E40:
- stmdb sp!, {r4-r6,lr}
- mov r6, r0
- mov r5, r1
- mov r4, r2
- bl FUN_020C3E0C
-_020C3E54: ; 0x020C3E54
- str r0, [r6, #0x0]
- str r5, [r6, #0x4]
- str r4, [r6, #0xc]
- mov r0, #0x0
- str r0, [r6, #0x8]
- ldmia sp!, {r4-r6,pc}
-
- arm_func_start FUN_020C3E6C
-FUN_020C3E6C: ; 0x020C3E6C
- mov r2, #0x0
- str r2, [r0, #0x4]
- ldr r1, [r0, #0x4]
- str r1, [r0, #0x0]
- str r2, [r0, #0xc]
- ldr r1, [r0, #0xc]
- str r1, [r0, #0x8]
- bx lr
-
- arm_func_start FUN_020C3E8C
-FUN_020C3E8C: ; 0x020C3E8C
- mov r1, #0x0
- mov r2, #0x1000
- mov r3, #0x0
- stmia r0!, {r2-r3}
- stmia r0!, {r1-r2}
- bx lr
-
- thumb_func_start FUN_020C3EA4
-FUN_020C3EA4: ; 0x020C3EA4
- str r2, [r0, #0x0]
- str r1, [r0, #0x4]
- neg r1, r1
- str r1, [r0, #0x8]
- str r2, [r0, #0xc]
- bx lr
-
- arm_func_start FUN_020C3EB0
-FUN_020C3EB0: ; 0x020C3EB0
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r12, [r0, #0x0]
- smull lr, r12, r2, r12
- mov lr, lr, lsr #0xc
- orr lr, lr, r12, lsl #0x14
- str lr, [r1, #0x0]
- ldr r12, [r0, #0x4]
- smull lr, r12, r2, r12
- mov r2, lr, lsr #0xc
- orr r2, r2, r12, lsl #0x14
- str r2, [r1, #0x4]
- ldr r2, [r0, #0x8]
- smull r12, r2, r3, r2
- mov r12, r12, lsr #0xc
- orr r12, r12, r2, lsl #0x14
- str r12, [r1, #0x8]
- ldr r0, [r0, #0xc]
- smull r2, r0, r3, r0
- mov r2, r2, lsr #0xc
- orr r2, r2, r0, lsl #0x14
- str r2, [r1, #0xc]
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-
- arm_func_start MTX_Identity33_
-MTX_Identity33_: ; 0x020C3F14
- mov r2, #0x1000
- str r2, [r0, #0x20]
- mov r3, #0x0
- stmia r0!, {r2-r3}
- mov r1, #0x0
- stmia r0!, {r1,r3}
- stmia r0!, {r2-r3}
- stmia r0!, {r1,r3}
- bx lr
-
- thumb_func_start MTX_RotX33_
-MTX_RotX33_: ; 0x020C3F38
- mov r3, #0x1
- lsl r3, r3, #0xc
- str r3, [r0, #0x0]
- mov r3, #0x0
- str r3, [r0, #0x4]
- str r3, [r0, #0x8]
- str r3, [r0, #0xc]
- str r2, [r0, #0x10]
- str r1, [r0, #0x14]
- str r3, [r0, #0x18]
- neg r1, r1
- str r1, [r0, #0x1c]
- str r2, [r0, #0x20]
- bx lr
-
- thumb_func_start MTX_RotY33_
-MTX_RotY33_: ; 0x020C3F54
- str r2, [r0, #0x0]
- str r2, [r0, #0x20]
- mov r3, #0x0
- str r3, [r0, #0x4]
- str r3, [r0, #0xc]
- str r3, [r0, #0x14]
- str r3, [r0, #0x1c]
- neg r2, r1
- mov r3, #0x1
- lsl r3, r3, #0xc
- str r1, [r0, #0x18]
- str r2, [r0, #0x8]
- str r3, [r0, #0x10]
- bx lr
-
- thumb_func_start MTX_RotZ33_
-MTX_RotZ33_: ; 0x020C3F70
- stmia r0!, {r2}
- mov r3, #0x0
- stmia r0!, {r1,r3}
- neg r1, r1
- stmia r0!, {r1-r2}
- mov r1, #0x1
- lsl r1, r1, #0xc
- str r3, [r0, #0x0]
- str r3, [r0, #0x4]
- str r3, [r0, #0x8]
- str r1, [r0, #0xc]
- bx lr
-
- arm_func_start MTX_MultVec33
-MTX_MultVec33: ; 0x020C3F88
- stmdb sp!, {r4-r6,lr}
- ldr r12, [r0, #0x4]
- ldr r4, [r1, #0xc]
- ldr r3, [r0, #0x0]
- smull r6, r5, r12, r4
- ldr r4, [r1, #0x0]
- ldr r0, [r0, #0x8]
- smlal r6, r5, r3, r4
- ldr r4, [r1, #0x18]
- smlal r6, r5, r0, r4
- mov r4, r6, lsr #0xc
- orr r4, r4, r5, lsl #0x14
- str r4, [r2, #0x0]
- ldr r4, [r1, #0x10]
- ldr r5, [r1, #0x4]
- smull r6, lr, r12, r4
- smlal r6, lr, r3, r5
- ldr r4, [r1, #0x1c]
- smlal r6, lr, r0, r4
- mov r4, r6, lsr #0xc
- orr r4, r4, lr, lsl #0x14
- str r4, [r2, #0x4]
- ldr lr, [r1, #0x14]
- ldr r4, [r1, #0x8]
- smull r5, lr, r12, lr
- smlal r5, lr, r3, r4
- ldr r1, [r1, #0x20]
- smlal r5, lr, r0, r1
- mov r0, r5, lsr #0xc
- orr r0, r0, lr, lsl #0x14
- str r0, [r2, #0x8]
- ldmia sp!, {r4-r6,lr}
- bx lr
-
- arm_func_start MTX_Concat33
-MTX_Concat33: ; 0x020C400C
- stmdb sp!, {r4-r9,lr}
- sub sp, sp, #0x24
- ldr r5, [r0, #0x4]
- ldr r3, [r1, #0xc]
- mov r12, r2
- smull r8, r7, r5, r3
- ldr r6, [r0, #0x0]
- ldr r3, [r1, #0x0]
- cmp r12, r1
- smlal r8, r7, r6, r3
- ldr r4, [r0, #0x8]
- ldr r3, [r1, #0x18]
- addeq r2, sp, #0x0
- smlal r8, r7, r4, r3
- mov r3, r8, lsr #0xc
- orr r3, r3, r7, lsl #0x14
- str r3, [r2, #0x0]
- ldr r3, [r1, #0x10]
- ldr r7, [r1, #0x4]
- smull r9, r8, r5, r3
- smlal r9, r8, r6, r7
- ldr r3, [r1, #0x1c]
- add lr, sp, #0x0
- smlal r9, r8, r4, r3
- mov r3, r9, lsr #0xc
- orr r3, r3, r8, lsl #0x14
- str r3, [r2, #0x4]
- ldr r3, [r1, #0x14]
- ldr r7, [r1, #0x8]
- smull r9, r8, r5, r3
- smlal r9, r8, r6, r7
- ldr r6, [r1, #0x20]
- cmp r2, lr
- smlal r9, r8, r4, r6
- mov r4, r9, lsr #0xc
- orr r4, r4, r8, lsl #0x14
- str r4, [r2, #0x8]
- ldr r4, [r0, #0x10]
- ldr r5, [r0, #0xc]
- smull r9, r8, r4, r3
- smlal r9, r8, r5, r7
- ldr r3, [r0, #0x14]
- addne sp, sp, #0x24
- smlal r9, r8, r3, r6
- mov r6, r9, lsr #0xc
- orr r6, r6, r8, lsl #0x14
- str r6, [r2, #0x14]
- ldr r6, [r1, #0x10]
- ldr r7, [r1, #0x4]
- smull r9, r8, r4, r6
- smlal r9, r8, r5, r7
- ldr r6, [r1, #0x1c]
- smlal r9, r8, r3, r6
- mov r6, r9, lsr #0xc
- orr r6, r6, r8, lsl #0x14
- str r6, [r2, #0x10]
- ldr r7, [r1, #0xc]
- ldr r6, [r1, #0x0]
- smull r9, r8, r4, r7
- smlal r9, r8, r5, r6
- ldr r5, [r1, #0x18]
- smlal r9, r8, r3, r5
- mov r3, r9, lsr #0xc
- orr r3, r3, r8, lsl #0x14
- str r3, [r2, #0xc]
- ldr r4, [r0, #0x1c]
- ldr r3, [r0, #0x18]
- smull r8, r7, r4, r7
- smlal r8, r7, r3, r6
- ldr r0, [r0, #0x20]
- smlal r8, r7, r0, r5
- mov r5, r8, lsr #0xc
- orr r5, r5, r7, lsl #0x14
- str r5, [r2, #0x18]
- ldr r5, [r1, #0x10]
- ldr r6, [r1, #0x4]
- smull r8, r5, r4, r5
- smlal r8, r5, r3, r6
- ldr r7, [r1, #0x1c]
- smlal r8, r5, r0, r7
- mov r6, r8, lsr #0xc
- orr r6, r6, r5, lsl #0x14
- str r6, [r2, #0x1c]
- ldr r6, [r1, #0x20]
- ldr r5, [r1, #0x8]
- ldr r1, [r1, #0x14]
- smull r7, r1, r4, r1
- smlal r7, r1, r3, r5
- smlal r7, r1, r0, r6
- mov r0, r7, lsr #0xc
- orr r0, r0, r1, lsl #0x14
- str r0, [r2, #0x20]
- ldmneia sp!, {r4-r9,lr}
- bxne lr
- ldmia lr!, {r0-r3}
- stmia r12!, {r0-r3}
- ldmia lr!, {r0-r3}
- stmia r12!, {r0-r3}
- ldr r0, [lr, #0x0]
- str r0, [r12, #0x0]
- add sp, sp, #0x24
- ldmia sp!, {r4-r9,lr}
- bx lr
-
- arm_func_start MTX_ScaleApply33
-MTX_ScaleApply33: ; 0x020C41A8
- stmdb sp!, {r4,lr}
- ldr r4, [r0, #0x0]
- ldr r12, [sp, #0x8]
- smull lr, r4, r2, r4
- mov lr, lr, lsr #0xc
- orr lr, lr, r4, lsl #0x14
- str lr, [r1, #0x0]
- ldr r4, [r0, #0x4]
- smull lr, r4, r2, r4
- mov lr, lr, lsr #0xc
- orr lr, lr, r4, lsl #0x14
- str lr, [r1, #0x4]
- ldr lr, [r0, #0x8]
- smull r4, lr, r2, lr
- mov r2, r4, lsr #0xc
- orr r2, r2, lr, lsl #0x14
- str r2, [r1, #0x8]
- ldr r2, [r0, #0xc]
- smull lr, r2, r3, r2
- mov lr, lr, lsr #0xc
- orr lr, lr, r2, lsl #0x14
- str lr, [r1, #0xc]
- ldr r2, [r0, #0x10]
- smull lr, r2, r3, r2
- mov lr, lr, lsr #0xc
- orr lr, lr, r2, lsl #0x14
- str lr, [r1, #0x10]
- ldr r2, [r0, #0x14]
- smull lr, r2, r3, r2
- mov r3, lr, lsr #0xc
- orr r3, r3, r2, lsl #0x14
- str r3, [r1, #0x14]
- ldr r2, [r0, #0x18]
- smull r3, r2, r12, r2
- mov r3, r3, lsr #0xc
- orr r3, r3, r2, lsl #0x14
- str r3, [r1, #0x18]
- ldr r2, [r0, #0x1c]
- smull r3, r2, r12, r2
- mov r3, r3, lsr #0xc
- orr r3, r3, r2, lsl #0x14
- str r3, [r1, #0x1c]
- ldr r0, [r0, #0x20]
- smull r2, r0, r12, r0
- mov r2, r2, lsr #0xc
- orr r2, r2, r0, lsl #0x14
- str r2, [r1, #0x20]
- ldmia sp!, {r4,lr}
- bx lr
-
- arm_func_start MTX_Identity43_
-MTX_Identity43_: ; 0x020C426C
- mov r2, #0x1000
- mov r3, #0x0
- stmia r0!, {r2-r3}
- mov r1, #0x0
- stmia r0!, {r1,r3}
- stmia r0!, {r2-r3}
- stmia r0!, {r1,r3}
- stmia r0!, {r2-r3}
- stmia r0!, {r1,r3}
- bx lr
-
- arm_func_start MTX_Copy43To44_
-MTX_Copy43To44_: ; 0x020C4294
- stmdb sp!, {r4}
- mov r12, #0x0
- ldmia r0!, {r2-r4}
- stmia r1!, {r2-r4,r12}
- ldmia r0!, {r2-r4}
- stmia r1!, {r2-r4,r12}
- ldmia r0!, {r2-r4}
- stmia r1!, {r2-r4,r12}
- mov r12, #0x1000
- ldmia r0!, {r2-r4}
- stmia r1!, {r2-r4,r12}
- ldmia sp!, {r4}
- bx lr
-
- thumb_func_start MTX_Scale43_
-MTX_Scale43_: ; 0x020C42C8
- stmia r0!, {r1}
- mov r1, #0x0
- str r3, [r0, #0x1c]
- mov r3, #0x0
- stmia r0!, {r1,r3}
- stmia r0!, {r1-r3}
- mov r2, #0x0
- stmia r0!, {r1,r3}
- add r0, #0x4
- stmia r0!, {r1-r3}
- bx lr
- .balign 4
-
- thumb_func_start MTX_RotX43_
-MTX_RotX43_: ; 0x020C42E0
- str r1, [r0, #0x14]
- neg r1, r1
- str r1, [r0, #0x1c]
- mov r1, #0x1
- lsl r1, r1, #0xc
- stmia r0!, {r1}
- mov r3, #0x0
- mov r1, #0x0
- stmia r0!, {r1,r3}
- stmia r0!, {r1-r2}
- str r1, [r0, #0x4]
- add r0, #0xc
- stmia r0!, {r2-r3}
- stmia r0!, {r1,r3}
- bx lr
- .balign 4
-
- thumb_func_start MTX_RotY43_
-MTX_RotY43_: ; 0x020C4300
- str r1, [r0, #0x18]
- mov r3, #0x0
- stmia r0!, {r2-r3}
- neg r1, r1
- stmia r0!, {r1,r3}
- mov r1, #0x1
- lsl r1, r1, #0xc
- stmia r0!, {r1,r3}
- add r0, #0x4
- mov r1, #0x0
- stmia r0!, {r1-r3}
- stmia r0!, {r1,r3}
- bx lr
- .balign 4
-
- arm_func_start MTX_MultVec43
-MTX_MultVec43: ; 0x020C431C
- stmdb sp!, {r4-r6,lr}
- ldr r12, [r0, #0x4]
- ldr r4, [r1, #0xc]
- ldr r3, [r0, #0x0]
- smull r6, r5, r12, r4
- ldr r4, [r1, #0x0]
- ldr r0, [r0, #0x8]
- smlal r6, r5, r3, r4
- ldr r4, [r1, #0x18]
- smlal r6, r5, r0, r4
- mov r4, r6, lsr #0xc
- orr r4, r4, r5, lsl #0x14
- str r4, [r2, #0x0]
- ldr r5, [r2, #0x0]
- ldr r4, [r1, #0x24]
- add r4, r5, r4
- str r4, [r2, #0x0]
- ldr r4, [r1, #0x10]
- ldr r5, [r1, #0x4]
- smull r6, lr, r12, r4
- smlal r6, lr, r3, r5
- ldr r4, [r1, #0x1c]
- smlal r6, lr, r0, r4
- mov r4, r6, lsr #0xc
- orr r4, r4, lr, lsl #0x14
- str r4, [r2, #0x4]
- ldr r5, [r2, #0x4]
- ldr r4, [r1, #0x28]
- add r4, r5, r4
- str r4, [r2, #0x4]
- ldr lr, [r1, #0x14]
- ldr r4, [r1, #0x8]
- smull r5, lr, r12, lr
- smlal r5, lr, r3, r4
- ldr r3, [r1, #0x20]
- smlal r5, lr, r0, r3
- mov r0, r5, lsr #0xc
- orr r0, r0, lr, lsl #0x14
- str r0, [r2, #0x8]
- ldr r3, [r2, #0x8]
- ldr r0, [r1, #0x2c]
- add r0, r3, r0
- str r0, [r2, #0x8]
- ldmia sp!, {r4-r6,lr}
- bx lr
-
- arm_func_start MTX_Concat43
-MTX_Concat43: ; 0x020C43D0
- stmdb sp!, {r4-r10,lr}
- sub sp, sp, #0x30
- ldr r5, [r0, #0x4]
- ldr r3, [r1, #0xc]
- mov r12, r2
- smull r8, r7, r5, r3
- ldr r6, [r0, #0x0]
- ldr r3, [r1, #0x0]
- cmp r12, r1
- smlal r8, r7, r6, r3
- ldr r4, [r0, #0x8]
- ldr r3, [r1, #0x18]
- addeq r2, sp, #0x0
- smlal r8, r7, r4, r3
- mov r3, r8, lsr #0xc
- orr r3, r3, r7, lsl #0x14
- str r3, [r2, #0x0]
- ldr r3, [r1, #0x10]
- ldr r7, [r1, #0x4]
- smull r9, r8, r5, r3
- smlal r9, r8, r6, r7
- ldr r3, [r1, #0x1c]
- add lr, sp, #0x0
- smlal r9, r8, r4, r3
- mov r3, r9, lsr #0xc
- orr r3, r3, r8, lsl #0x14
- str r3, [r2, #0x4]
- ldr r3, [r1, #0x14]
- ldr r7, [r1, #0x8]
- smull r9, r8, r5, r3
- smlal r9, r8, r6, r7
- ldr r6, [r1, #0x20]
- smlal r9, r8, r4, r6
- mov r4, r9, lsr #0xc
- orr r4, r4, r8, lsl #0x14
- str r4, [r2, #0x8]
- ldr r4, [r0, #0x10]
- ldr r5, [r0, #0xc]
- smull r9, r8, r4, r3
- smlal r9, r8, r5, r7
- ldr r3, [r0, #0x14]
- smlal r9, r8, r3, r6
- mov r6, r9, lsr #0xc
- orr r6, r6, r8, lsl #0x14
- str r6, [r2, #0x14]
- ldr r6, [r1, #0x10]
- ldr r7, [r1, #0x4]
- smull r9, r8, r4, r6
- smlal r9, r8, r5, r7
- ldr r6, [r1, #0x1c]
- smlal r9, r8, r3, r6
- mov r6, r9, lsr #0xc
- orr r6, r6, r8, lsl #0x14
- str r6, [r2, #0x10]
- ldr r7, [r1, #0xc]
- ldr r8, [r1, #0x0]
- smull r10, r9, r4, r7
- smlal r10, r9, r5, r8
- ldr r6, [r1, #0x18]
- smlal r10, r9, r3, r6
- mov r3, r10, lsr #0xc
- orr r3, r3, r9, lsl #0x14
- str r3, [r2, #0xc]
- ldr r4, [r0, #0x1c]
- ldr r5, [r0, #0x18]
- smull r9, r7, r4, r7
- smlal r9, r7, r5, r8
- ldr r3, [r0, #0x20]
- smlal r9, r7, r3, r6
- mov r6, r9, lsr #0xc
- orr r6, r6, r7, lsl #0x14
- str r6, [r2, #0x18]
- ldr r6, [r1, #0x10]
- ldr r7, [r1, #0x4]
- smull r9, r6, r4, r6
- smlal r9, r6, r5, r7
- ldr r8, [r1, #0x1c]
- smlal r9, r6, r3, r8
- mov r7, r9, lsr #0xc
- orr r7, r7, r6, lsl #0x14
- str r7, [r2, #0x1c]
- ldr r7, [r1, #0x14]
- ldr r6, [r1, #0x8]
- smull r9, r8, r4, r7
- smlal r9, r8, r5, r6
- ldr r5, [r1, #0x20]
- smlal r9, r8, r3, r5
- mov r3, r9, lsr #0xc
- orr r3, r3, r8, lsl #0x14
- str r3, [r2, #0x20]
- ldr r4, [r0, #0x28]
- ldr r3, [r0, #0x24]
- smull r8, r7, r4, r7
- smlal r8, r7, r3, r6
- ldr r0, [r0, #0x2c]
- ldr r6, [r1, #0x2c]
- smlal r8, r7, r0, r5
- mov r5, r8, lsr #0xc
- orr r5, r5, r7, lsl #0x14
- adds r5, r6, r5
- str r5, [r2, #0x2c]
- ldr r5, [r1, #0x10]
- ldr r6, [r1, #0x4]
- smull r8, r5, r4, r5
- smlal r8, r5, r3, r6
- ldr r7, [r1, #0x1c]
- ldr r9, [r1, #0x28]
- smlal r8, r5, r0, r7
- mov r6, r8, lsr #0xc
- orr r6, r6, r5, lsl #0x14
- adds r5, r9, r6
- str r5, [r2, #0x28]
- ldr r8, [r1, #0x24]
- ldr r6, [r1, #0x18]
- ldr r5, [r1, #0x0]
- ldr r1, [r1, #0xc]
- smull r7, r1, r4, r1
- smlal r7, r1, r3, r5
- smlal r7, r1, r0, r6
- mov r0, r7, lsr #0xc
- orr r0, r0, r1, lsl #0x14
- adds r0, r8, r0
- cmp r2, lr
- str r0, [r2, #0x24]
- addne sp, sp, #0x30
- ldmneia sp!, {r4-r10,lr}
- bxne lr
- ldmia lr!, {r0-r3}
- stmia r12!, {r0-r3}
- ldmia lr!, {r0-r3}
- stmia r12!, {r0-r3}
- ldmia lr, {r0-r3}
- stmia r12, {r0-r3}
- add sp, sp, #0x30
- ldmia sp!, {r4-r10,lr}
- bx lr
-
- arm_func_start MTX_Inverse43
-MTX_Inverse43: ; 0x020C45F0
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0x5c
- mov r10, r0
- ldr r11, [r10, #0x14]
- cmp r10, r1
- addeq r9, sp, #0x2c
- ldr r3, [r10, #0x18]
- ldr r2, [r10, #0xc]
- ldr r8, [r10, #0x20]
- str r1, [sp, #0x0]
- movne r9, r1
- smull r7, r5, r2, r8
- smull r6, r1, r11, r3
- ldr r4, [r10, #0x1c]
- subs r12, r7, r6
- ldr r0, [r10, #0x10]
- smull r6, lr, r11, r4
- sbc r11, r5, r1
- smull r5, r4, r2, r4
- mov r1, #0x800
- smull r8, r7, r0, r8
- smull r3, r2, r0, r3
- adds r12, r12, r1
- adc r0, r11, #0x0
- subs r8, r8, r6
- sbc r6, r7, lr
- adds r7, r8, r1
- adc r11, r6, #0x0
- mov r7, r7, lsr #0xc
- mov r8, r12, lsr #0xc
- orr r7, r7, r11, lsl #0x14
- orr r8, r8, r0, lsl #0x14
- subs r0, r5, r3
- sbc r12, r4, r2
- ldr r6, [r10, #0x4]
- ldr r11, [r10, #0x0]
- smull r3, r2, r6, r8
- adds r0, r0, r1
- smull r5, r4, r11, r7
- adc r11, r12, #0x0
- mov r6, r0, lsr #0xc
- subs r3, r5, r3
- ldr r0, [r10, #0x8]
- orr r6, r6, r11, lsl #0x14
- sbc r2, r4, r2
- smlal r3, r2, r0, r6
- adds r0, r3, r1
- mov r1, r8, asr #0x1f
- str r1, [sp, #0x4]
- mov r1, r7, asr #0x1f
- str r1, [sp, #0x8]
- mov r1, r6, asr #0x1f
- adc r2, r2, #0x0
- mov r0, r0, lsr #0xc
- orrs r0, r0, r2, lsl #0x14
- str r1, [sp, #0xc]
- addeq sp, sp, #0x5c
- mvneq r0, #0x0
- ldmeqia sp!, {r4-r11,lr}
- bxeq lr
- bl FX_InvAsync
- ldr r1, [r10, #0x8]
- ldr r2, [r10, #0x1c]
- ldr r11, [r10, #0x10]
- smull r0, r4, r2, r1
- smull r3, r2, r11, r1
- ldr r5, [r10, #0x18]
- str r2, [sp, #0x18]
- str r3, [sp, #0x14]
- smull r3, r2, r5, r1
- str r2, [sp, #0x20]
- ldr r2, [r10, #0x20]
- ldr lr, [r10, #0x4]
- str r2, [sp, #0x10]
- ldr r5, [sp, #0x10]
- str r3, [sp, #0x1c]
- smull r12, r5, lr, r5
- subs r0, r12, r0
- ldr r2, [r10, #0xc]
- sbc r4, r5, r4
- smull r1, r5, r2, r1
- str r5, [sp, #0x28]
- mov r5, r0, lsr #0xc
- ldr r11, [r10, #0x14]
- orr r5, r5, r4, lsl #0x14
- smull r4, r2, lr, r11
- ldr r0, [sp, #0x14]
- ldr r3, [r10, #0x0]
- subs r4, r4, r0
- ldr r0, [sp, #0x18]
- mov r4, r4, lsr #0xc
- sbc r0, r2, r0
- orr r4, r4, r0, lsl #0x14
- ldr r0, [sp, #0x10]
- ldr r2, [sp, #0x1c]
- smull r12, r0, r3, r0
- subs r2, r12, r2
- ldr r12, [sp, #0x20]
- sbc r0, r0, r12
- smull r12, r11, r3, r11
- ldr r3, [sp, #0x28]
- subs r1, r12, r1
- sbc r3, r11, r3
- mov r11, r2, lsr #0xc
- orr r11, r11, r0, lsl #0x14
- mov r0, r1, lsr #0xc
- str r0, [sp, #0x24]
- orr r0, r0, r3, lsl #0x14
- str r0, [sp, #0x24]
- bl FX_GetDivResult
- smull r2, r1, r0, r5
- mov r2, r2, lsr #0xc
- orr r2, r2, r1, lsl #0x14
- rsb lr, r2, #0x0
- smull r2, r1, r0, r4
- mov r4, r2, lsr #0xc
- orr r4, r4, r1, lsl #0x14
- smull r2, r1, r0, r11
- mov r3, r2, lsr #0xc
- orr r3, r3, r1, lsl #0x14
- ldr r1, [sp, #0x24]
- umull r11, r5, r0, r7
- smull r2, r1, r0, r1
- mov r2, r2, lsr #0xc
- orr r2, r2, r1, lsl #0x14
- ldr r1, [sp, #0x8]
- mov r12, r0, asr #0x1f
- mla r5, r0, r1, r5
- mla r5, r12, r7, r5
- mov r1, r11, lsr #0xc
- orr r1, r1, r5, lsl #0x14
- str r1, [r9, #0x0]
- str lr, [r9, #0x4]
- str r4, [r9, #0x8]
- ldr r1, [sp, #0x4]
- umull r5, r4, r0, r8
- mla r4, r0, r1, r4
- mla r4, r12, r8, r4
- mov r1, r5, lsr #0xc
- orr r1, r1, r4, lsl #0x14
- rsb r1, r1, #0x0
- str r1, [r9, #0xc]
- ldr r1, [sp, #0xc]
- rsb r2, r2, #0x0
- str r3, [r9, #0x10]
- str r2, [r9, #0x14]
- umull r3, r2, r0, r6
- mla r2, r0, r1, r2
- mla r2, r12, r6, r2
- mov r1, r3, lsr #0xc
- orr r1, r1, r2, lsl #0x14
- str r1, [r9, #0x18]
- ldr r3, [r10, #0x0]
- ldr r1, [r10, #0x1c]
- ldr r2, [r10, #0x18]
- smull r5, r4, r3, r1
- ldr r1, [r10, #0x4]
- smull r3, r1, r2, r1
- subs r2, r5, r3
- sbc r1, r4, r1
- mov r2, r2, lsr #0xc
- orr r2, r2, r1, lsl #0x14
- smull r2, r1, r0, r2
- mov r2, r2, lsr #0xc
- orr r2, r2, r1, lsl #0x14
- rsb r1, r2, #0x0
- str r1, [r9, #0x1c]
- ldr r3, [r10, #0x0]
- ldr r1, [r10, #0x10]
- ldr r2, [r10, #0xc]
- smull r5, r4, r3, r1
- ldr r1, [r10, #0x4]
- smull r3, r1, r2, r1
- subs r2, r5, r3
- sbc r1, r4, r1
- mov r2, r2, lsr #0xc
- orr r2, r2, r1, lsl #0x14
- smull r2, r1, r0, r2
- mov r0, r2, lsr #0xc
- orr r0, r0, r1, lsl #0x14
- str r0, [r9, #0x20]
- add r0, sp, #0x2c
- ldr r2, [r9, #0xc]
- ldr r1, [r10, #0x28]
- ldr r4, [r9, #0x0]
- smull r7, r1, r2, r1
- ldr r3, [r10, #0x24]
- ldr r6, [r9, #0x18]
- smlal r7, r1, r4, r3
- ldr r5, [r10, #0x2c]
- cmp r9, r0
- smlal r7, r1, r6, r5
- mov r2, r7, lsr #0xc
- orr r2, r2, r1, lsl #0x14
- rsb r1, r2, #0x0
- str r1, [r9, #0x24]
- ldr r2, [r9, #0x10]
- ldr r1, [r10, #0x28]
- ldr r4, [r9, #0x4]
- smull r7, r1, r2, r1
- ldr r3, [r10, #0x24]
- ldr r6, [r9, #0x1c]
- smlal r7, r1, r4, r3
- ldr r5, [r10, #0x2c]
- smlal r7, r1, r6, r5
- mov r2, r7, lsr #0xc
- orr r2, r2, r1, lsl #0x14
- rsb r1, r2, #0x0
- str r1, [r9, #0x28]
- ldr r1, [r10, #0x28]
- ldr r2, [r9, #0x14]
- ldr r4, [r9, #0x8]
- smull r7, r1, r2, r1
- ldr r3, [r10, #0x24]
- ldr r6, [r9, #0x20]
- smlal r7, r1, r4, r3
- ldr r5, [r10, #0x2c]
- smlal r7, r1, r6, r5
- mov r2, r7, lsr #0xc
- orr r2, r2, r1, lsl #0x14
- rsb r1, r2, #0x0
- str r1, [r9, #0x2c]
- bne _020C4974
- ldr r1, [sp, #0x0]
- bl MI_Copy48B
-_020C4974:
- mov r0, #0x0
- add sp, sp, #0x5c
- ldmia sp!, {r4-r11,lr}
- bx lr
-
- arm_func_start MTX_ScaleApply43
-MTX_ScaleApply43: ; 0x020C4984
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- ldr r12, [sp, #0x10]
- mov r5, r0
- str r12, [sp, #0x0]
- mov r4, r1
- bl MTX_ScaleApply33
- ldr r0, [r5, #0x24]
- str r0, [r4, #0x24]
- ldr r0, [r5, #0x28]
- str r0, [r4, #0x28]
- ldr r0, [r5, #0x2c]
- str r0, [r4, #0x2c]
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
-
- arm_func_start MTX_Identity44_
-MTX_Identity44_: ; 0x020C49C4
- mov r2, #0x1000
- mov r3, #0x0
- stmia r0!, {r2-r3}
- mov r1, #0x0
- stmia r0!, {r1,r3}
- stmia r0!, {r1-r3}
- stmia r0!, {r1,r3}
- stmia r0!, {r1-r3}
- stmia r0!, {r1,r3}
- stmia r0!, {r1-r2}
- bx lr
-
- arm_func_start MTX_Copy44To43_
-MTX_Copy44To43_:
- ldmia r0!, {r2-r3,r12}
- add r0, r0, #0x4
- stmia r1!, {r2-r3,r12}
- ldmia r0!, {r2-r3,r12}
- add r0, r0, #0x4
- stmia r1!, {r2-r3,r12}
- ldmia r0!, {r2-r3,r12}
- add r0, r0, #0x4
- stmia r1!, {r2-r3,r12}
- ldmia r0!, {r2-r3,r12}
- add r0, r0, #0x4
- stmia r1!, {r2-r3,r12}
- bx lr
-
- thumb_func_start MTX_RotX44_
-MTX_RotX44_: ; 0x020C4A24
- str r2, [r0, #0x14]
- str r2, [r0, #0x28]
- str r1, [r0, #0x18]
- neg r1, r1
- str r1, [r0, #0x24]
- mov r1, #0x1
- mov r2, #0x0
- lsl r1, r1, #0xc
- mov r3, #0x0
- stmia r0!, {r1-r3}
- stmia r0!, {r2-r3}
- add r0, #0x8
- stmia r0!, {r2-r3}
- add r0, #0x8
- stmia r0!, {r2-r3}
- stmia r0!, {r2-r3}
- str r1, [r0, #0x0]
- bx lr
-
- thumb_func_start MTX_RotY44_
-MTX_RotY44_: ; 0x020C4A48
- str r2, [r0, #0x0]
- str r2, [r0, #0x28]
- str r1, [r0, #0x20]
- neg r1, r1
- str r1, [r0, #0x8]
- mov r3, #0x1
- mov r1, #0x0
- lsl r3, r3, #0xc
- mov r2, #0x0
- str r2, [r0, #0x4]
- add r0, #0xc
- stmia r0!, {r1-r3}
- stmia r0!, {r1-r2}
- str r2, [r0, #0x4]
- add r0, #0xc
- stmia r0!, {r1-r2}
- stmia r0!, {r1-r3}
- bx lr
-
- thumb_func_start MTX_RotZ44_
-MTX_RotZ44_: ; 0x020C4A6C
- str r2, [r0, #0x0]
- str r2, [r0, #0x14]
- str r1, [r0, #0x4]
- neg r1, r1
- str r1, [r0, #0x10]
- mov r3, #0x1
- mov r1, #0x0
- lsl r3, r3, #0xc
- mov r2, #0x0
- add r0, #0x8
- stmia r0!, {r1-r2}
- add r0, #0x8
- stmia r0!, {r1-r2}
- stmia r0!, {r1-r3}
- stmia r0!, {r1-r2}
- stmia r0!, {r1-r3}
- bx lr
- .balign 4
-
- arm_func_start MTX_Concat44
-MTX_Concat44: ; 0x020C4A90
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0x44
- ldr r5, [r0, #0x4]
- ldr r3, [r1, #0x10]
- mov r12, r2
- smull r6, r4, r5, r3
- ldr r9, [r0, #0x0]
- ldr r3, [r1, #0x0]
- cmp r12, r1
- smlal r6, r4, r9, r3
- ldr r10, [r0, #0x8]
- ldr r3, [r1, #0x20]
- ldr r8, [r0, #0xc]
- smlal r6, r4, r10, r3
- ldr r3, [r1, #0x30]
- addeq r2, sp, #0x0
- smlal r6, r4, r8, r3
- mov r3, r6, lsr #0xc
- orr r3, r3, r4, lsl #0x14
- str r3, [r2, #0x0]
- ldr r3, [r1, #0x14]
- ldr r4, [r1, #0x4]
- smull r7, r6, r5, r3
- smlal r7, r6, r9, r4
- ldr r3, [r1, #0x24]
- ldr r4, [r1, #0x34]
- smlal r7, r6, r10, r3
- smlal r7, r6, r8, r4
- mov r3, r7, lsr #0xc
- orr r3, r3, r6, lsl #0x14
- str r3, [r2, #0x4]
- ldr r3, [r1, #0x1c]
- ldr r4, [r1, #0xc]
- smull r7, r6, r5, r3
- smlal r7, r6, r9, r4
- ldr r3, [r1, #0x2c]
- ldr r4, [r1, #0x3c]
- smlal r7, r6, r10, r3
- smlal r7, r6, r8, r4
- mov r3, r7, lsr #0xc
- orr r3, r3, r6, lsl #0x14
- str r3, [r2, #0xc]
- ldr r6, [r1, #0x18]
- ldr r7, [r1, #0x8]
- smull r4, r3, r5, r6
- smlal r4, r3, r9, r7
- ldr r9, [r1, #0x28]
- ldr r5, [r1, #0x38]
- smlal r4, r3, r10, r9
- smlal r4, r3, r8, r5
- mov r4, r4, lsr #0xc
- orr r4, r4, r3, lsl #0x14
- str r4, [r2, #0x8]
- ldr r8, [r0, #0x14]
- ldr r10, [r0, #0x10]
- smull r4, r3, r8, r6
- smlal r4, r3, r10, r7
- ldr r7, [r0, #0x18]
- ldr r6, [r0, #0x1c]
- smlal r4, r3, r7, r9
- smlal r4, r3, r6, r5
- mov r4, r4, lsr #0xc
- orr r4, r4, r3, lsl #0x14
- str r4, [r2, #0x18]
- ldr r3, [r1, #0x14]
- ldr r4, [r1, #0x4]
- smull r11, r3, r8, r3
- smlal r11, r3, r10, r4
- ldr r5, [r1, #0x24]
- ldr r9, [r1, #0x34]
- smlal r11, r3, r7, r5
- smlal r11, r3, r6, r9
- mov r4, r11, lsr #0xc
- orr r4, r4, r3, lsl #0x14
- str r4, [r2, #0x14]
- ldr r3, [r1, #0x1c]
- ldr r4, [r1, #0xc]
- smull r11, r3, r8, r3
- smlal r11, r3, r10, r4
- ldr r5, [r1, #0x2c]
- ldr r9, [r1, #0x3c]
- smlal r11, r3, r7, r5
- smlal r11, r3, r6, r9
- mov r4, r11, lsr #0xc
- orr r4, r4, r3, lsl #0x14
- str r4, [r2, #0x1c]
- ldr r9, [r1, #0x10]
- ldr r11, [r1, #0x0]
- smull r4, r3, r8, r9
- smlal r4, r3, r10, r11
- ldr r5, [r1, #0x20]
- ldr r8, [r1, #0x30]
- smlal r4, r3, r7, r5
- smlal r4, r3, r6, r8
- mov r4, r4, lsr #0xc
- orr r4, r4, r3, lsl #0x14
- str r4, [r2, #0x10]
- ldr r6, [r0, #0x24]
- ldr r7, [r0, #0x20]
- smull r4, r3, r6, r9
- smlal r4, r3, r7, r11
- ldr r10, [r0, #0x28]
- add lr, sp, #0x0
- smlal r4, r3, r10, r5
- ldr r5, [r0, #0x2c]
- cmp r2, lr
- smlal r4, r3, r5, r8
- mov r4, r4, lsr #0xc
- orr r4, r4, r3, lsl #0x14
- str r4, [r2, #0x20]
- ldr r3, [r1, #0x14]
- ldr r4, [r1, #0x4]
- smull r11, r3, r6, r3
- smlal r11, r3, r7, r4
- ldr r8, [r1, #0x24]
- ldr r9, [r1, #0x34]
- smlal r11, r3, r10, r8
- smlal r11, r3, r5, r9
- mov r4, r11, lsr #0xc
- orr r4, r4, r3, lsl #0x14
- str r4, [r2, #0x24]
- ldr r3, [r1, #0x1c]
- ldr r4, [r1, #0xc]
- smull r11, r3, r6, r3
- smlal r11, r3, r7, r4
- ldr r8, [r1, #0x2c]
- ldr r9, [r1, #0x3c]
- smlal r11, r3, r10, r8
- smlal r11, r3, r5, r9
- mov r4, r11, lsr #0xc
- orr r4, r4, r3, lsl #0x14
- str r4, [r2, #0x2c]
- ldr r9, [r1, #0x18]
- ldr r8, [r1, #0x8]
- smull r4, r3, r6, r9
- smlal r4, r3, r7, r8
- ldr r7, [r1, #0x28]
- ldr r6, [r1, #0x38]
- smlal r4, r3, r10, r7
- smlal r4, r3, r5, r6
- mov r4, r4, lsr #0xc
- orr r4, r4, r3, lsl #0x14
- str r4, [r2, #0x28]
- ldr r5, [r0, #0x34]
- ldr r4, [r0, #0x30]
- smull r10, r9, r5, r9
- ldr r3, [r0, #0x38]
- smlal r10, r9, r4, r8
- smlal r10, r9, r3, r7
- ldr r0, [r0, #0x3c]
- addne sp, sp, #0x44
- smlal r10, r9, r0, r6
- mov r6, r10, lsr #0xc
- orr r6, r6, r9, lsl #0x14
- str r6, [r2, #0x38]
- ldr r6, [r1, #0x14]
- ldr r7, [r1, #0x4]
- smull r10, r6, r5, r6
- smlal r10, r6, r4, r7
- ldr r8, [r1, #0x24]
- ldr r9, [r1, #0x34]
- smlal r10, r6, r3, r8
- smlal r10, r6, r0, r9
- mov r7, r10, lsr #0xc
- orr r7, r7, r6, lsl #0x14
- str r7, [r2, #0x34]
- ldr r6, [r1, #0x10]
- ldr r7, [r1, #0x0]
- smull r10, r6, r5, r6
- smlal r10, r6, r4, r7
- ldr r8, [r1, #0x20]
- ldr r9, [r1, #0x30]
- smlal r10, r6, r3, r8
- smlal r10, r6, r0, r9
- mov r7, r10, lsr #0xc
- orr r7, r7, r6, lsl #0x14
- str r7, [r2, #0x30]
- ldr r8, [r1, #0x3c]
- ldr r7, [r1, #0x2c]
- ldr r6, [r1, #0xc]
- ldr r1, [r1, #0x1c]
- smull r9, r1, r5, r1
- smlal r9, r1, r4, r6
- smlal r9, r1, r3, r7
- smlal r9, r1, r0, r8
- mov r0, r9, lsr #0xc
- orr r0, r0, r1, lsl #0x14
- str r0, [r2, #0x3c]
- ldmneia sp!, {r4-r11,lr}
- bxne lr
- ldmia lr!, {r0-r3}
- stmia r12!, {r0-r3}
- ldmia lr!, {r0-r3}
- stmia r12!, {r0-r3}
- ldmia lr!, {r0-r3}
- stmia r12!, {r0-r3}
- ldmia lr, {r0-r3}
- stmia r12, {r0-r3}
- add sp, sp, #0x44
- ldmia sp!, {r4-r11,lr}
- bx lr
-
- arm_func_start MTX_TransApply44
-MTX_TransApply44: ; 0x020C4DB4
- stmdb sp!, {r4-r7,lr}
- sub sp, sp, #0x4
- mov r7, r0
- mov r6, r1
- mov r5, r2
- mov r4, r3
- cmp r7, r6
- beq _020C4DD8
- bl MI_Copy48B
-_020C4DD8:
- ldr r0, [r7, #0x10]
- ldr r1, [r7, #0x0]
- smull r3, r2, r4, r0
- smlal r3, r2, r5, r1
- ldr r0, [sp, #0x18]
- ldr r1, [r7, #0x20]
- ldr r12, [r7, #0x30]
- smlal r3, r2, r0, r1
- mov r1, r3, lsr #0xc
- orr r1, r1, r2, lsl #0x14
- add r1, r12, r1
- str r1, [r6, #0x30]
- ldr r1, [r7, #0x14]
- ldr r2, [r7, #0x4]
- smull r12, r3, r4, r1
- smlal r12, r3, r5, r2
- ldr r1, [r7, #0x24]
- ldr r2, [r7, #0x34]
- smlal r12, r3, r0, r1
- mov r1, r12, lsr #0xc
- orr r1, r1, r3, lsl #0x14
- add r1, r2, r1
- str r1, [r6, #0x34]
- ldr r1, [r7, #0x18]
- ldr r2, [r7, #0x8]
- smull r12, r3, r4, r1
- smlal r12, r3, r5, r2
- ldr r1, [r7, #0x28]
- ldr r2, [r7, #0x38]
- smlal r12, r3, r0, r1
- mov r1, r12, lsr #0xc
- orr r1, r1, r3, lsl #0x14
- add r1, r2, r1
- str r1, [r6, #0x38]
- ldr r1, [r7, #0x1c]
- ldr r2, [r7, #0xc]
- smull r12, r3, r4, r1
- smlal r12, r3, r5, r2
- ldr r1, [r7, #0x2c]
- ldr r2, [r7, #0x3c]
- smlal r12, r3, r0, r1
- mov r0, r12, lsr #0xc
- orr r0, r0, r3, lsl #0x14
- add r0, r2, r0
- str r0, [r6, #0x3c]
- add sp, sp, #0x4
- ldmia sp!, {r4-r7,lr}
- bx lr
-
- arm_func_start FX_ModS32
-FX_ModS32: ; 0x020C4E98
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr ip, _020C4EE0 ; =0x04000280
- mov lr, #0x0
- ldr r3, _020C4EE4 ; =0x04000290
- strh lr, [r12, #0x0]
- ldr r2, _020C4EE8 ; =0x04000298
- str r0, [r3, #0x0]
- str r1, [r2, #0x0]
- str lr, [r2, #0x4]
-_020C4EC0:
- ldrh r0, [r12, #0x0]
- ands r0, r0, #0x8000
- bne _020C4EC0
- ldr r0, _020C4EEC ; =0x040002A8
- ldr r0, [r0, #0x0]
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020C4EE0: .word 0x04000280
-_020C4EE4: .word 0x04000290
-_020C4EE8: .word 0x04000298
-_020C4EEC: .word 0x040002A8
-
- arm_func_start FX_DivS32
-FX_DivS32: ; 0x020C4EF0
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr ip, _020C4F38 ; =0x04000280
- mov lr, #0x0
- ldr r3, _020C4F3C ; =0x04000290
- strh lr, [r12, #0x0]
- ldr r2, _020C4F40 ; =0x04000298
- str r0, [r3, #0x0]
- str r1, [r2, #0x0]
- str lr, [r2, #0x4]
-_020C4F18:
- ldrh r0, [r12, #0x0]
- ands r0, r0, #0x8000
- bne _020C4F18
- ldr r0, _020C4F44 ; =0x040002A0
- ldr r0, [r0, #0x0]
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020C4F38: .word 0x04000280
-_020C4F3C: .word 0x04000290
-_020C4F40: .word 0x04000298
-_020C4F44: .word 0x040002A0
-
- arm_func_start FX_DivAsync
-FX_DivAsync: ; 0x020C4F48
- ldr r2, _020C4F74 ; =0x04000280
- mov r12, #0x1
- ldr r3, _020C4F78 ; =0x04000290
- strh r12, [r2, #0x0]
- mov r12, #0x0
- str r12, [r3, #0x0]
- ldr r2, _020C4F7C ; =0x04000298
- str r0, [r3, #0x4]
- str r1, [r2, #0x0]
- str r12, [r2, #0x4]
- bx lr
- .balign 4
-_020C4F74: .word 0x04000280
-_020C4F78: .word 0x04000290
-_020C4F7C: .word 0x04000298
-
- arm_func_start FX_GetSqerResult
-FX_GetSqerResult: ; 0x020C4F80
- ldr r1, _020C4FA4 ; =0x040002B0
-_020C4F84:
- ldrh r0, [r1, #0x0]
- ands r0, r0, #0x8000
- bne _020C4F84
- ldr r0, _020C4FA8 ; =0x040002B4
- ldr r0, [r0, #0x0]
- add r0, r0, #0x200
- mov r0, r0, lsr #0xa
- bx lr
- .balign 4
-_020C4FA4: .word 0x040002B0
-_020C4FA8: .word 0x040002B4
-
- arm_func_start FX_InvAsync
-FX_InvAsync:
- ldr r1, _020C4FDC ; =0x04000280
- mov r3, #0x1
- ldr r2, _020C4FE0 ; =0x04000290
- strh r3, [r1, #0x0]
- mov r12, #0x0
- str r12, [r2, #0x0]
- mov r3, #0x1000
- ldr r1, _020C4FE4 ; =0x04000298
- str r3, [r2, #0x4]
- str r0, [r1, #0x0]
- str r12, [r1, #0x4]
- bx lr
- .balign 4
-_020C4FDC: .word 0x04000280
-_020C4FE0: .word 0x04000290
-_020C4FE4: .word 0x04000298
-
- arm_func_start FX_GetDivResult
-FX_GetDivResult: ; 0x020C4FE8
- ldr r1, _020C501C ; =0x04000280
-_020C4FEC:
- ldrh r0, [r1, #0x0]
- ands r0, r0, #0x8000
- bne _020C4FEC
- ldr r1, _020C5020 ; =0x040002A0
- mov r0, #0x80000
- ldr r2, [r1, #0x0]
- ldr r1, [r1, #0x4]
- adds r0, r2, r0
- adc r1, r1, #0x0
- mov r0, r0, lsr #0x14
- orr r0, r0, r1, lsl #0xc
- bx lr
- .balign 4
-_020C501C: .word 0x04000280
-_020C5020: .word 0x040002A0
-
- arm_func_start FX_GetDivResultFx64c
-FX_GetDivResultFx64c: ; 0x020C5024
- ldr r1, _020C5044 ; =0x04000280
-_020C5028:
- ldrh r0, [r1, #0x0]
- ands r0, r0, #0x8000
- bne _020C5028
- ldr r1, _020C5048 ; =0x040002A0
- ldr r0, [r1, #0x0]
- ldr r1, [r1, #0x4]
- bx lr
- .balign 4
-_020C5044: .word 0x04000280
-_020C5048: .word 0x040002A0
-
- arm_func_start FX_Sqrt
-FX_Sqrt: ; 0x020C504C
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- cmp r0, #0x0
- addle sp, sp, #0x4
- movle r0, #0x0
- ldmleia sp!, {lr}
- bxle lr
- ldr r2, _020C5094 ; =0x040002B0
- mov r3, #0x1
- strh r3, [r2, #0x0]
- ldr r1, _020C5098 ; =0x040002B8
- mov r2, #0x0
- str r2, [r1, #0x0]
- str r0, [r1, #0x4]
- bl FX_GetSqerResult
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020C5094: .word 0x040002B0
-_020C5098: .word 0x040002B8
-
- arm_func_start FX_Inv
-FX_Inv: ; 0x020C509C
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- bl FX_InvAsync
- bl FX_GetDivResult
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-
- arm_func_start FX_Div
-FX_Div: ; 0x020C50B8
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- bl FX_DivAsync
- bl FX_GetDivResult
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-
- arm_func_start VEC_MultAdd
-VEC_MultAdd: ; 0x020C50D4
- stmdb sp!, {r4,lr}
- ldr r4, [r1, #0x0]
- ldr lr, [r2, #0x0]
- smull r12, r4, r0, r4
- mov r12, r12, lsr #0xc
- orr r12, r12, r4, lsl #0x14
- add r4, lr, r12
- str r4, [r3, #0x0]
- ldr r12, [r1, #0x4]
- ldr r4, [r2, #0x4]
- smull lr, r12, r0, r12
- mov lr, lr, lsr #0xc
- orr lr, lr, r12, lsl #0x14
- add r4, r4, lr
- str r4, [r3, #0x4]
- ldr r1, [r1, #0x8]
- ldr r12, [r2, #0x8]
- smull r2, r1, r0, r1
- mov r0, r2, lsr #0xc
- orr r0, r0, r1, lsl #0x14
- add r0, r12, r0
- str r0, [r3, #0x8]
- ldmia sp!, {r4,lr}
- bx lr
-
- arm_func_start VEC_Fx16Normalize
-VEC_Fx16Normalize: ; 0x020C5134
- stmdb sp!, {r4-r8,lr}
- ldrsh r4, [r0, #0x0]
- ldrsh r3, [r0, #0x2]
- ldrsh r2, [r0, #0x4]
- mul r8, r4, r4
- mul r7, r3, r3
- mul r6, r2, r2
- ldr r2, _020C526C ; =0x04000280
- mov r3, #0x2
- ldr r4, _020C5270 ; =0x04000290
- strh r3, [r2, #0x0]
- mov r2, #0x0
- str r2, [r4, #0x0]
- mov r5, #0x1000000
- mov r2, r8, asr #0x1f
- adds r3, r8, r7
- adc r2, r2, r7, asr #0x1f
- adds r7, r3, r6
- adc r6, r2, r6, asr #0x1f
- mov r3, r6, lsl #0x2
- ldr r2, _020C5274 ; =0x04000298
- str r5, [r4, #0x4]
- str r7, [r2, #0x0]
- ldr r5, _020C5278 ; =0x040002B0
- str r6, [r2, #0x4]
- mov r4, #0x1
- ldr r2, _020C527C ; =0x040002B8
- strh r4, [r5, #0x0]
- mov r4, r7, lsl #0x2
- str r4, [r2, #0x0]
- orr r3, r3, r7, lsr #0x1e
- str r3, [r2, #0x4]
-_020C51B4:
- ldrh r2, [r5, #0x0]
- ands r2, r2, #0x8000
- bne _020C51B4
- ldr r2, _020C5280 ; =0x040002B4
- ldr r12, [r2, #0x0]
- ldr r3, _020C526C ; =0x04000280
-_020C51CC:
- ldrh r2, [r3, #0x0]
- ands r2, r2, #0x8000
- bne _020C51CC
- ldr r7, _020C5284 ; =0x040002A0
- ldrsh r5, [r0, #0x0]
- ldr r6, [r7, #0x0]
- mov r4, r12, asr #0x1f
- umull r3, r2, r6, r12
- mla r2, r6, r4, r2
- ldr r8, [r7, #0x4]
- mov r4, r5, asr #0x1f
- umull r7, r6, r3, r5
- mov lr, #0x0
- mla r2, r8, r12, r2
- mla r6, r3, r4, r6
- mla r6, r2, r5, r6
- adds r4, r7, lr
- adc r4, r6, #0x1000
- mov r4, r4, asr #0xd
- strh r4, [r1, #0x0]
- ldrsh r5, [r0, #0x2]
- umull r6, r12, r3, r5
- mov r4, r5, asr #0x1f
- mla r12, r3, r4, r12
- mla r12, r2, r5, r12
- adds r4, r6, lr
- adc r4, r12, #0x1000
- mov r4, r4, asr #0xd
- strh r4, [r1, #0x2]
- ldrsh r12, [r0, #0x4]
- umull r5, r4, r3, r12
- mov r0, r12, asr #0x1f
- adds r5, r5, lr
- mla r4, r3, r0, r4
- mla r4, r2, r12, r4
- adc r0, r4, #0x1000
- mov r0, r0, asr #0xd
- strh r0, [r1, #0x4]
- ldmia sp!, {r4-r8,lr}
- bx lr
- .balign 4
-_020C526C: .word 0x04000280
-_020C5270: .word 0x04000290
-_020C5274: .word 0x04000298
-_020C5278: .word 0x040002B0
-_020C527C: .word 0x040002B8
-_020C5280: .word 0x040002B4
-_020C5284: .word 0x040002A0
-
- arm_func_start VEC_Normalize
-VEC_Normalize:
- stmdb sp!, {r4-r8,lr}
- ldr r3, [r0, #0x4]
- ldr r4, [r0, #0x0]
- smull r2, r7, r3, r3
- smlal r2, r7, r4, r4
- ldr r4, [r0, #0x8]
- ldr r3, _020C53AC ; =0x04000280
- smlal r2, r7, r4, r4
- mov r6, #0x2
- mov r4, r7, lsl #0x2
- ldr r5, _020C53B0 ; =0x04000290
- strh r6, [r3, #0x0]
- mov r3, #0x0
- str r3, [r5, #0x0]
- mov r6, #0x1000000
- ldr r3, _020C53B4 ; =0x04000298
- str r6, [r5, #0x4]
- str r2, [r3, #0x0]
- ldr r6, _020C53B8 ; =0x040002B0
- str r7, [r3, #0x4]
- mov r5, #0x1
- ldr r3, _020C53BC ; =0x040002B8
- strh r5, [r6, #0x0]
- mov r5, r2, lsl #0x2
- str r5, [r3, #0x0]
- orr r4, r4, r2, lsr #0x1e
- str r4, [r3, #0x4]
-_020C52F4:
- ldrh r2, [r6, #0x0]
- ands r2, r2, #0x8000
- bne _020C52F4
- ldr r2, _020C53C0 ; =0x040002B4
- ldr r12, [r2, #0x0]
- ldr r3, _020C53AC ; =0x04000280
-_020C530C:
- ldrh r2, [r3, #0x0]
- ands r2, r2, #0x8000
- bne _020C530C
- ldr r7, _020C53C4 ; =0x040002A0
- ldr r5, [r0, #0x0]
- ldr r6, [r7, #0x0]
- mov r4, r12, asr #0x1f
- umull r3, r2, r6, r12
- mla r2, r6, r4, r2
- ldr r8, [r7, #0x4]
- mov r4, r5, asr #0x1f
- umull r7, r6, r3, r5
- mov lr, #0x0
- mla r2, r8, r12, r2
- mla r6, r3, r4, r6
- mla r6, r2, r5, r6
- adds r4, r7, lr
- adc r4, r6, #0x1000
- mov r4, r4, asr #0xd
- str r4, [r1, #0x0]
- ldr r5, [r0, #0x4]
- umull r6, r12, r3, r5
- mov r4, r5, asr #0x1f
- mla r12, r3, r4, r12
- mla r12, r2, r5, r12
- adds r4, r6, lr
- adc r4, r12, #0x1000
- mov r4, r4, asr #0xd
- str r4, [r1, #0x4]
- ldr r12, [r0, #0x8]
- umull r5, r4, r3, r12
- mov r0, r12, asr #0x1f
- adds r5, r5, lr
- mla r4, r3, r0, r4
- mla r4, r2, r12, r4
- adc r0, r4, #0x1000
- mov r0, r0, asr #0xd
- str r0, [r1, #0x8]
- ldmia sp!, {r4-r8,lr}
- bx lr
- .balign 4
-_020C53AC: .word 0x04000280
-_020C53B0: .word 0x04000290
-_020C53B4: .word 0x04000298
-_020C53B8: .word 0x040002B0
-_020C53BC: .word 0x040002B8
-_020C53C0: .word 0x040002B4
-_020C53C4: .word 0x040002A0
-
- arm_func_start VEC_Mag
-VEC_Mag:
- ldr r2, [r0, #0x4]
- ldr r3, [r0, #0x0]
- smull r12, r1, r2, r2
- smlal r12, r1, r3, r3
- ldr r0, [r0, #0x8]
- ldr r3, _020C5424 ; =0x040002B0
- smlal r12, r1, r0, r0
- mov r2, #0x1
- mov r1, r1, lsl #0x2
- ldr r0, _020C5428 ; =0x040002B8
- strh r2, [r3, #0x0]
- mov r2, r12, lsl #0x2
- str r2, [r0, #0x0]
- orr r1, r1, r12, lsr #0x1e
- str r1, [r0, #0x4]
-_020C5404:
- ldrh r0, [r3, #0x0]
- ands r0, r0, #0x8000
- bne _020C5404
- ldr r0, _020C542C ; =0x040002B4
- ldr r0, [r0, #0x0]
- add r0, r0, #0x1
- mov r0, r0, asr #0x1
- bx lr
- .balign 4
-_020C5424: .word 0x040002B0
-_020C5428: .word 0x040002B8
-_020C542C: .word 0x040002B4
-
- arm_func_start VEC_Fx16CrossProduct
-VEC_Fx16CrossProduct: ; 0x020C5430
- stmdb sp!, {r4-r6,lr}
- ldrsh r4, [r1, #0x4]
- ldrsh r12, [r0, #0x2]
- ldrsh lr, [r0, #0x0]
- ldrsh r3, [r1, #0x2]
- ldrsh r6, [r0, #0x4]
- ldrsh r1, [r1, #0x0]
- mul r5, r12, r4
- mul r0, r6, r3
- sub r0, r5, r0
- add r0, r0, #0x800
- mov r0, r0, asr #0xc
- mul r5, r6, r1
- mul r4, lr, r4
- sub r4, r5, r4
- add r4, r4, #0x800
- mul r3, lr, r3
- mul r1, r12, r1
- sub r1, r3, r1
- add r1, r1, #0x800
- strh r0, [r2, #0x0]
- mov r0, r4, asr #0xc
- strh r0, [r2, #0x2]
- mov r0, r1, asr #0xc
- strh r0, [r2, #0x4]
- ldmia sp!, {r4-r6,lr}
- bx lr
-
- arm_func_start VEC_CrossProduct
-VEC_CrossProduct:
- stmdb sp!, {r4-r11,lr}
- sub sp, sp, #0x4
- ldr r12, [r1, #0x8]
- ldr r9, [r0, #0x4]
- ldr r3, [r0, #0x0]
- ldr r11, [r1, #0x4]
- ldr r0, [r0, #0x8]
- ldr r10, [r1, #0x0]
- smull r4, r7, r9, r12
- smull r1, r6, r0, r11
- subs r8, r4, r1
- smull r5, r4, r0, r10
- smull lr, r12, r3, r12
- smull r1, r0, r3, r11
- smull r10, r3, r9, r10
- sbc r6, r7, r6
- mov r9, #0x800
- adds r7, r8, r9
- adc r6, r6, #0x0
- subs r8, r5, lr
- sbc r5, r4, r12
- adds r8, r8, r9
- mov r4, r7, lsr #0xc
- adc r5, r5, #0x0
- subs r1, r1, r10
- orr r4, r4, r6, lsl #0x14
- mov r6, r8, lsr #0xc
- sbc r0, r0, r3
- adds r1, r1, r9
- str r4, [r2, #0x0]
- orr r6, r6, r5, lsl #0x14
- adc r0, r0, #0x0
- mov r1, r1, lsr #0xc
- str r6, [r2, #0x4]
- orr r1, r1, r0, lsl #0x14
- str r1, [r2, #0x8]
- add sp, sp, #0x4
- ldmia sp!, {r4-r11,lr}
- bx lr
-
- arm_func_start VEC_Fx16DotProduct
-VEC_Fx16DotProduct: ; 0x020C5538
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0x4
- ldrsh lr, [r0, #0x2]
- ldrsh r12, [r1, #0x2]
- ldrsh r3, [r0, #0x4]
- ldrsh r2, [r1, #0x4]
- ldrsh r5, [r0, #0x0]
- ldrsh r4, [r1, #0x0]
- smulbb r1, lr, r12
- smulbb r0, r3, r2
- smlabb r1, r5, r4, r1
- add r0, r0, #0x800
- adds r2, r1, r0
- mov r1, r1, asr #0x1f
- adc r1, r1, r0, asr #0x1f
- mov r0, r2, lsr #0xc
- orr r0, r0, r1, lsl #0x14
- add sp, sp, #0x4
- ldmia sp!, {r4-r5,lr}
- bx lr
-
- arm_func_start VEC_DotProduct
-VEC_DotProduct:
- stmdb sp!, {r4,lr}
- ldr r3, [r0, #0x4]
- ldr r2, [r1, #0x4]
- ldr r12, [r0, #0x0]
- smull r4, lr, r3, r2
- ldr r2, [r1, #0x0]
- ldr r3, [r0, #0x8]
- smlal r4, lr, r12, r2
- ldr r1, [r1, #0x8]
- mov r0, #0x800
- smlal r4, lr, r3, r1
- adds r0, r4, r0
- adc r1, lr, #0x0
- mov r0, r0, lsr #0xc
- orr r0, r0, r1, lsl #0x14
- ldmia sp!, {r4,lr}
- bx lr
-
- arm_func_start VEC_Fx16Add
-VEC_Fx16Add: ; 0x020C55CC
- ldrsh r12, [r0, #0x0]
- ldrsh r3, [r1, #0x0]
- add r3, r12, r3
- strh r3, [r2, #0x0]
- ldrsh r12, [r0, #0x2]
- ldrsh r3, [r1, #0x2]
- add r3, r12, r3
- strh r3, [r2, #0x2]
- ldrsh r3, [r0, #0x4]
- ldrsh r0, [r1, #0x4]
- add r0, r3, r0
- strh r0, [r2, #0x4]
- bx lr
-
- arm_func_start VEC_Subtract
-VEC_Subtract: ; 0x020C5600
- ldr r12, [r0, #0x0]
- ldr r3, [r1, #0x0]
- sub r3, r12, r3
- str r3, [r2, #0x0]
- ldr r12, [r0, #0x4]
- ldr r3, [r1, #0x4]
- sub r3, r12, r3
- str r3, [r2, #0x4]
- ldr r3, [r0, #0x8]
- ldr r0, [r1, #0x8]
- sub r0, r3, r0
- str r0, [r2, #0x8]
- bx lr
-
- arm_func_start VEC_Add
-VEC_Add: ; 0x020C5634
- ldr r12, [r0, #0x0]
- ldr r3, [r1, #0x0]
- add r3, r12, r3
- str r3, [r2, #0x0]
- ldr r12, [r0, #0x4]
- ldr r3, [r1, #0x4]
- add r3, r12, r3
- str r3, [r2, #0x4]
- ldr r3, [r0, #0x8]
- ldr r0, [r1, #0x8]
- add r0, r3, r0
- str r0, [r2, #0x8]
- bx lr
-
- arm_func_start FX_Modf
-FX_Modf: ; 0x020C5668
- stmdb sp!, {r4,lr}
- cmp r0, #0x0
- ble _020C5704
- cmp r1, #0x0
- ble _020C56B4
- cmp r1, r0
- movgt r3, r0
- movgt r4, #0x0
- movgt r0, #0x1
- bgt _020C57C8
- cmp r1, r0
- movlt r3, r1
- movlt r1, r0
- movlt r4, #0x4000
- movlt r0, #0x0
- blt _020C57C8
- mov r0, #0x2000
- ldmia sp!, {r4,lr}
- bx lr
-_020C56B4:
- cmp r1, #0x0
- bge _020C56F8
- rsb r1, r1, #0x0
- cmp r1, r0
- movlt r3, r1
- movlt r1, r0
- movlt r4, #0x4000
- movlt r0, #0x1
- blt _020C57C8
- cmp r1, r0
- movgt r3, r0
- movgt r4, #0x8000
- movgt r0, #0x0
- bgt _020C57C8
- mov r0, #0x6000
- ldmia sp!, {r4,lr}
- bx lr
-_020C56F8:
- mov r0, #0x4000
- ldmia sp!, {r4,lr}
- bx lr
-_020C5704:
- cmp r0, #0x0
- bge _020C57B4
- cmp r1, #0x0
- rsb r2, r0, #0x0
- bge _020C5760
- rsb r1, r1, #0x0
- cmp r1, r2
- movgt r0, #0x8000
- rsbgt r4, r0, #0x0
- movgt r3, r2
- movgt r0, #0x1
- bgt _020C57C8
- cmp r1, r2
- bge _020C5754
- mov r0, #0x4000
- mov r3, r1
- mov r1, r2
- rsb r4, r0, #0x0
- mov r0, #0x0
- b _020C57C8
-_020C5754:
- mov r0, #0xa000
- ldmia sp!, {r4,lr}
- bx lr
-_020C5760:
- cmp r1, #0x0
- ble _020C57A8
- cmp r1, r2
- bge _020C5788
- mov r0, #0x4000
- mov r3, r1
- mov r1, r2
- rsb r4, r0, #0x0
- mov r0, #0x1
- b _020C57C8
-_020C5788:
- cmp r1, r2
- movgt r4, #0x0
- movgt r3, r2
- movgt r0, r4
- bgt _020C57C8
- mov r0, #0xe000
- ldmia sp!, {r4,lr}
- bx lr
-_020C57A8:
- mov r0, #0xc000
- ldmia sp!, {r4,lr}
- bx lr
-_020C57B4:
- cmp r1, #0x0
- movge r0, #0x0
- movlt r0, #0x8000
- ldmia sp!, {r4,lr}
- bx lr
-_020C57C8:
- cmp r1, #0x0
- moveq r0, #0x0
- ldmeqia sp!, {r4,lr}
- bxeq lr
- cmp r0, #0x0
- beq _020C580C
- mov r0, r3
- bl FX_Div
- mov r1, r0, asr #0x5
- ldr r0, _020C5838 ; =0x02103A38
- mov r1, r1, lsl #0x1
- ldrsh r0, [r0, r1]
- add r0, r4, r0
- mov r0, r0, lsl #0x10
- mov r0, r0, lsr #0x10
- ldmia sp!, {r4,lr}
- bx lr
-_020C580C:
- mov r0, r3
- bl FX_Div
- mov r1, r0, asr #0x5
- ldr r0, _020C5838 ; =0x02103A38
- mov r1, r1, lsl #0x1
- ldrsh r0, [r0, r1]
- sub r0, r4, r0
- mov r0, r0, lsl #0x10
- mov r0, r0, lsr #0x10
- ldmia sp!, {r4,lr}
- bx lr
- .balign 4
-_020C5838: .word 0x02103A38
-
- arm_func_start FUN_020C583C
-FUN_020C583C: ; 0x020C583C
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- cmp r0, #0x0
- blt _020C58A4
- cmp r0, #0x1000
- ble _020C5880
- bl FX_Inv
- mov r1, r0, asr #0x5
- ldr r0, _020C5924 ; =0x02103A38
- mov r1, r1, lsl #0x1
- ldrsh r0, [r0, r1]
- add sp, sp, #0x4
- rsb r0, r0, #0x4000
- mov r0, r0, lsl #0x10
- mov r0, r0, lsr #0x10
- ldmia sp!, {lr}
- bx lr
-_020C5880:
- cmp r0, #0x1000
- movlt r1, r0, asr #0x5
- ldrlt r0, _020C5924 ; =0x02103A38
- movlt r1, r1, lsl #0x1
- ldrlth r0, [r0, r1]
- add sp, sp, #0x4
- movge r0, #0x2000
- ldmia sp!, {lr}
- bx lr
-_020C58A4:
- mov r1, #0x1000
- rsb r1, r1, #0x0
- cmp r0, r1
- bge _020C58E4
- rsb r0, r0, #0x0
- bl FX_Inv
- mov r1, r0, asr #0x5
- ldr r0, _020C5924 ; =0x02103A38
-
- arm_func_start FUN_020C58C4
-FUN_020C58C4: ; 0x020C58C4
- mov r1, r1, lsl #0x1
- ldrsh r0, [r0, r1]
- add sp, sp, #0x4
- sub r0, r0, #0x4000
- mov r0, r0, lsl #0x10
- mov r0, r0, lsr #0x10
- ldmia sp!, {lr}
- bx lr
-_020C58E4:
- cmp r0, r1
- addle sp, sp, #0x4
- movle r0, #0xe000
- ldmleia sp!, {lr}
- bxle lr
- rsb r0, r0, #0x0
- mov r1, r0, asr #0x5
- ldr r0, _020C5924 ; =0x02103A38
- mov r1, r1, lsl #0x1
- ldrsh r0, [r0, r1]
- rsb r0, r0, #0x0
- mov r0, r0, lsl #0x10
- mov r0, r0, lsr #0x10
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020C5924: .word 0x02103A38
-
- arm_func_start FUN_020C5928
-FUN_020C5928: ; 0x020C5928
- cmp r0, #0x0
- blt _020C5948
- ldr r2, _020C596C ; =0x7FFFF000
- ldr r3, _020C5970 ; =0x00000FFF
- and r2, r0, r2
- str r2, [r1, #0x0]
- and r0, r0, r3
- bx lr
-_020C5948:
- ldr r2, _020C596C ; =0x7FFFF000
- rsb r3, r0, #0x0
- ldr r0, _020C5970 ; =0x00000FFF
- and r2, r3, r2
- rsb r2, r2, #0x0
- and r0, r3, r0
- str r2, [r1, #0x0]
- rsb r0, r0, #0x0
- bx lr
- .balign 4
-_020C596C: .word 0x7FFFF000
-_020C5970: .word 0x00000FFF
-
- arm_func_start FX_Init
-FX_Init: ; 0x020C5974
- bx lr
diff --git a/asm/unk_10b724.s b/asm/unk_10b724.s
deleted file mode 100644
index cfa5f27a..00000000
--- a/asm/unk_10b724.s
+++ /dev/null
@@ -1,4 +0,0 @@
- .text
- .word 0xdec00621
- .word 0x00000b68
- .word 0x00000000